summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
Diffstat (limited to 'dev-python')
-rw-r--r--dev-python/Arpeggio/Arpeggio-2.0.2.ebuild4
-rw-r--r--dev-python/Babel/Babel-2.13.1.ebuild69
-rw-r--r--dev-python/Babel/Babel-2.15.0.ebuild55
-rw-r--r--dev-python/Babel/Manifest4
-rw-r--r--dev-python/ConfigArgParse/ConfigArgParse-1.7.ebuild9
-rw-r--r--dev-python/ConfigArgParse/files/ConfigArgParse-1.7-py313.patch112
-rw-r--r--dev-python/CppHeaderParser/CppHeaderParser-2.7.4-r1.ebuild4
-rw-r--r--dev-python/DBUtils/DBUtils-3.0.3.ebuild30
-rw-r--r--dev-python/DBUtils/Manifest1
-rw-r--r--dev-python/DBUtils/metadata.xml26
-rw-r--r--dev-python/Faker/Faker-20.1.0.ebuild40
-rw-r--r--dev-python/Faker/Faker-26.0.0.ebuild42
-rw-r--r--dev-python/Faker/Manifest2
-rw-r--r--dev-python/Frozen-Flask/Frozen-Flask-0.18-r1.ebuild28
-rw-r--r--dev-python/Frozen-Flask/Frozen-Flask-1.0.1.ebuild27
-rw-r--r--dev-python/Frozen-Flask/Frozen-Flask-1.0.2.ebuild27
-rw-r--r--dev-python/Frozen-Flask/Manifest3
-rw-r--r--dev-python/GitPython/GitPython-3.1.40.ebuild78
-rw-r--r--dev-python/GitPython/GitPython-3.1.43.ebuild82
-rw-r--r--dev-python/GitPython/Manifest8
-rw-r--r--dev-python/IPy/IPy-1.01-r1.ebuild5
-rw-r--r--dev-python/Levenshtein/Levenshtein-0.23.0.ebuild47
-rw-r--r--dev-python/Levenshtein/Levenshtein-0.25.1.ebuild48
-rw-r--r--dev-python/Levenshtein/Manifest2
-rw-r--r--dev-python/Levenshtein/metadata.xml2
-rw-r--r--dev-python/MechanicalSoup/MechanicalSoup-1.3.0.ebuild4
-rw-r--r--dev-python/Nuitka/Manifest6
-rw-r--r--dev-python/Nuitka/Nuitka-1.9.1.ebuild52
-rw-r--r--dev-python/Nuitka/Nuitka-1.9.2.ebuild52
-rw-r--r--dev-python/Nuitka/Nuitka-1.9.3.ebuild52
-rw-r--r--dev-python/Nuitka/Nuitka-2.4.1.ebuild52
-rw-r--r--dev-python/Nuitka/Nuitka-2.4.2.ebuild52
-rw-r--r--dev-python/Nuitka/Nuitka-2.4.ebuild52
-rw-r--r--dev-python/Opcodes/Opcodes-0.3.14-r1.ebuild30
-rw-r--r--dev-python/Opcodes/Opcodes-0.3.14.ebuild25
-rw-r--r--dev-python/OutputCheck/OutputCheck-0.4.2-r1.ebuild39
-rw-r--r--dev-python/OutputCheck/OutputCheck-0.4.2-r2.ebuild38
-rw-r--r--dev-python/PeachPy/PeachPy-2022.11.13-r2.ebuild33
-rw-r--r--dev-python/PeachPy/PeachPy-2022.11.13.ebuild29
-rw-r--r--dev-python/PyGithub/Manifest2
-rw-r--r--dev-python/PyGithub/PyGithub-2.1.1.ebuild41
-rw-r--r--dev-python/PyGithub/PyGithub-2.3.0.ebuild39
-rw-r--r--dev-python/PyQt-builder/Manifest4
-rw-r--r--dev-python/PyQt-builder/PyQt-builder-1.15.3.ebuild30
-rw-r--r--dev-python/PyQt-builder/PyQt-builder-1.15.4.ebuild30
-rw-r--r--dev-python/PyQt-builder/PyQt-builder-1.16.3.ebuild30
-rw-r--r--dev-python/PyQt-builder/PyQt-builder-1.16.4.ebuild30
-rw-r--r--dev-python/PyQt-builder/metadata.xml9
-rw-r--r--dev-python/PyQt5-sip/Manifest1
-rw-r--r--dev-python/PyQt5-sip/PyQt5-sip-12.13.0-r1.ebuild23
-rw-r--r--dev-python/PyQt5-sip/PyQt5-sip-12.13.0.ebuild18
-rw-r--r--dev-python/PyQt5-sip/PyQt5-sip-12.15.0.ebuild21
-rw-r--r--dev-python/PyQt5-sip/files/PyQt5-sip-12.13.0-c99.patch16
-rw-r--r--dev-python/PyQt5-sip/metadata.xml8
-rw-r--r--dev-python/PyQt5/Manifest1
-rw-r--r--dev-python/PyQt5/PyQt5-5.15.10-r1.ebuild4
-rw-r--r--dev-python/PyQt5/PyQt5-5.15.11.ebuild171
-rw-r--r--dev-python/PyQt6-WebEngine/Manifest3
-rw-r--r--dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.5.0-r1.ebuild68
-rw-r--r--dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.6.0.ebuild68
-rw-r--r--dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.7.0.ebuild69
-rw-r--r--dev-python/PyQt6-sip/Manifest1
-rw-r--r--dev-python/PyQt6-sip/PyQt6-sip-13.6.0.ebuild7
-rw-r--r--dev-python/PyQt6-sip/PyQt6-sip-13.8.0.ebuild21
-rw-r--r--dev-python/PyQt6-sip/metadata.xml2
-rw-r--r--dev-python/PyQt6/Manifest4
-rw-r--r--dev-python/PyQt6/PyQt6-6.5.3.ebuild179
-rw-r--r--dev-python/PyQt6/PyQt6-6.6.0-r1.ebuild175
-rw-r--r--dev-python/PyQt6/PyQt6-6.7.0.ebuild180
-rw-r--r--dev-python/PyQt6/PyQt6-6.7.1-r1.ebuild180
-rw-r--r--dev-python/PyQt6/files/PyQt6-6.5.2-qt660.patch23
-rw-r--r--dev-python/PyQtWebEngine/Manifest1
-rw-r--r--dev-python/PyQtWebEngine/PyQtWebEngine-5.15.6-r1.ebuild12
-rw-r--r--dev-python/PyQtWebEngine/PyQtWebEngine-5.15.7.ebuild48
-rw-r--r--dev-python/PyRSS2Gen/PyRSS2Gen-1.1-r2.ebuild4
-rw-r--r--dev-python/PySDL2/Manifest1
-rw-r--r--dev-python/PySDL2/PySDL2-0.9.13.ebuild66
-rw-r--r--dev-python/PySDL2/PySDL2-0.9.16.ebuild4
-rw-r--r--dev-python/PySensors/Manifest1
-rw-r--r--dev-python/PySensors/PySensors-0.0.4-r1.ebuild19
-rw-r--r--dev-python/PySensors/metadata.xml15
-rw-r--r--dev-python/PySocks/PySocks-1.7.1-r2.ebuild4
-rw-r--r--dev-python/Pyro5/Pyro5-5.15-r1.ebuild4
-rw-r--r--dev-python/QtPy/Manifest2
-rw-r--r--dev-python/QtPy/QtPy-2.3.1-r1.ebuild216
-rw-r--r--dev-python/QtPy/QtPy-2.3.1.ebuild205
-rw-r--r--dev-python/QtPy/QtPy-2.4.0-r1.ebuild217
-rw-r--r--dev-python/QtPy/QtPy-2.4.0.ebuild217
-rw-r--r--dev-python/QtPy/QtPy-2.4.1-r1.ebuild15
-rw-r--r--dev-python/a2wsgi/Manifest3
-rw-r--r--dev-python/a2wsgi/a2wsgi-1.10.4.ebuild36
-rw-r--r--dev-python/a2wsgi/a2wsgi-1.10.6.ebuild49
-rw-r--r--dev-python/a2wsgi/a2wsgi-1.8.0.ebuild30
-rw-r--r--dev-python/absl-py/Manifest2
-rw-r--r--dev-python/absl-py/absl-py-2.0.0.ebuild80
-rw-r--r--dev-python/absl-py/absl-py-2.1.0.ebuild81
-rw-r--r--dev-python/accessible-pygments/Manifest2
-rw-r--r--dev-python/accessible-pygments/accessible-pygments-0.0.4.ebuild34
-rw-r--r--dev-python/accessible-pygments/accessible-pygments-0.0.5.ebuild39
-rw-r--r--dev-python/adblock/adblock-0.6.0.ebuild7
-rw-r--r--dev-python/aesara/Manifest1
-rw-r--r--dev-python/aesara/aesara-2.9.3.ebuild108
-rw-r--r--dev-python/aesara/files/aesara-2.6.5-compiledir-tid.patch46
-rw-r--r--dev-python/aesara/files/aesara-2.8.10-fix-tuple.patch19
-rw-r--r--dev-python/aesara/metadata.xml17
-rw-r--r--dev-python/agate-dbf/Manifest2
-rw-r--r--dev-python/agate-dbf/agate-dbf-0.2.2-r2.ebuild35
-rw-r--r--dev-python/agate-dbf/agate-dbf-0.2.3.ebuild32
-rw-r--r--dev-python/agate-excel/Manifest3
-rw-r--r--dev-python/agate-excel/agate-excel-0.2.5-r2.ebuild35
-rw-r--r--dev-python/agate-excel/agate-excel-0.3.0.ebuild34
-rw-r--r--dev-python/agate-excel/agate-excel-0.4.0.ebuild34
-rw-r--r--dev-python/agate-excel/agate-excel-0.4.1.ebuild4
-rw-r--r--dev-python/agate-sql/Manifest2
-rw-r--r--dev-python/agate-sql/agate-sql-0.7.0.ebuild38
-rw-r--r--dev-python/agate-sql/agate-sql-0.7.2.ebuild32
-rw-r--r--dev-python/agate/Manifest2
-rw-r--r--dev-python/agate/agate-1.11.0.ebuild45
-rw-r--r--dev-python/agate/agate-1.9.0.ebuild44
-rw-r--r--dev-python/aiocache/Manifest1
-rw-r--r--dev-python/aiocache/aiocache-0.12.0.ebuild34
-rw-r--r--dev-python/aiocache/aiocache-0.12.2.ebuild10
-rw-r--r--dev-python/aiocache/files/aiocache-0.12.0-fix-test-installation.patch12
-rw-r--r--dev-python/aiodns/Manifest2
-rw-r--r--dev-python/aiodns/aiodns-3.1.1.ebuild34
-rw-r--r--dev-python/aiodns/aiodns-3.2.0.ebuild37
-rw-r--r--dev-python/aiofiles/Manifest4
-rw-r--r--dev-python/aiofiles/aiofiles-22.1.0.ebuild31
-rw-r--r--dev-python/aiofiles/aiofiles-23.1.0.ebuild31
-rw-r--r--dev-python/aiofiles/aiofiles-23.2.1.ebuild27
-rw-r--r--dev-python/aiofiles/aiofiles-24.1.0.ebuild27
-rw-r--r--dev-python/aiohappyeyeballs/Manifest1
-rw-r--r--dev-python/aiohappyeyeballs/aiohappyeyeballs-2.3.2.ebuild36
-rw-r--r--dev-python/aiohappyeyeballs/metadata.xml12
-rw-r--r--dev-python/aiohttp-cors/aiohttp-cors-0.7.0-r2.ebuild25
-rw-r--r--dev-python/aiohttp-oauthlib/aiohttp-oauthlib-0.1.0.ebuild14
-rw-r--r--dev-python/aiohttp-socks/aiohttp-socks-0.8.4.ebuild4
-rw-r--r--dev-python/aiohttp/Manifest5
-rw-r--r--dev-python/aiohttp/aiohttp-3.10.0_beta1.ebuild110
-rw-r--r--dev-python/aiohttp/aiohttp-3.8.6-r1.ebuild111
-rw-r--r--dev-python/aiohttp/aiohttp-3.9.0.ebuild117
-rw-r--r--dev-python/aiohttp/aiohttp-3.9.1.ebuild117
-rw-r--r--dev-python/aiohttp/aiohttp-3.9.5.ebuild111
-rw-r--r--dev-python/aiohttp/files/aiohttp-3.8.6-brotlicffi.patch46
-rw-r--r--dev-python/aioitertools/Manifest1
-rw-r--r--dev-python/aioitertools/aioitertools-0.11.0.ebuild24
-rw-r--r--dev-python/aioitertools/metadata.xml12
-rw-r--r--dev-python/aiopylgtv/aiopylgtv-0.4.1-r1.ebuild28
-rw-r--r--dev-python/aiopylgtv/aiopylgtv-0.4.1.ebuild23
-rw-r--r--dev-python/aiopylgtv/files/aiopylgtv-0.4.1-ssl.patch124
-rw-r--r--dev-python/aioresponses/aioresponses-0.7.6.ebuild4
-rw-r--r--dev-python/aiorpcX/Manifest1
-rw-r--r--dev-python/aiorpcX/aiorpcX-0.22.1-r1.ebuild38
-rw-r--r--dev-python/aiorpcx/Manifest2
-rw-r--r--dev-python/aiorpcx/aiorpcx-0.22.1-r1.ebuild40
-rw-r--r--dev-python/aiorpcx/aiorpcx-0.23.1.ebuild40
-rw-r--r--dev-python/aiorpcx/metadata.xml (renamed from dev-python/aiorpcX/metadata.xml)0
-rw-r--r--dev-python/aiosignal/aiosignal-1.3.1.ebuild12
-rw-r--r--dev-python/aiosmtpd/Manifest1
-rw-r--r--dev-python/aiosmtpd/aiosmtpd-1.4.6.ebuild56
-rw-r--r--dev-python/aiosmtpd/metadata.xml13
-rw-r--r--dev-python/aiosqlite/Manifest2
-rw-r--r--dev-python/aiosqlite/aiosqlite-0.19.0.ebuild26
-rw-r--r--dev-python/aiosqlite/aiosqlite-0.20.0.ebuild30
-rw-r--r--dev-python/aiostream/Manifest3
-rw-r--r--dev-python/aiostream/aiostream-0.5.2.ebuild40
-rw-r--r--dev-python/aiostream/aiostream-0.6.1.ebuild40
-rw-r--r--dev-python/aiostream/aiostream-0.6.2.ebuild40
-rw-r--r--dev-python/aiounittest/aiounittest-1.4.2.ebuild6
-rw-r--r--dev-python/ajsonrpc/ajsonrpc-1.2.0.ebuild4
-rw-r--r--dev-python/alabaster/Manifest2
-rw-r--r--dev-python/alabaster/alabaster-0.7.13.ebuild19
-rw-r--r--dev-python/alabaster/alabaster-0.7.16.ebuild19
-rw-r--r--dev-python/alabaster/metadata.xml2
-rw-r--r--dev-python/alembic/Manifest3
-rw-r--r--dev-python/alembic/alembic-1.12.1.ebuild41
-rw-r--r--dev-python/alembic/alembic-1.13.0.ebuild42
-rw-r--r--dev-python/alembic/alembic-1.13.2.ebuild47
-rw-r--r--dev-python/allpairspy/allpairspy-2.5.1.ebuild4
-rw-r--r--dev-python/amodem/amodem-1.15.4.ebuild4
-rw-r--r--dev-python/amqp/amqp-5.2.0.ebuild4
-rw-r--r--dev-python/aniso8601/aniso8601-9.0.1-r1.ebuild4
-rw-r--r--dev-python/annotated-types/Manifest2
-rw-r--r--dev-python/annotated-types/annotated-types-0.6.0.ebuild27
-rw-r--r--dev-python/annotated-types/annotated-types-0.7.0.ebuild42
-rw-r--r--dev-python/ansi/Manifest2
-rw-r--r--dev-python/ansi/ansi-0.3.6.ebuild20
-rw-r--r--dev-python/ansi/ansi-0.3.7.ebuild27
-rw-r--r--dev-python/ansi2html/Manifest2
-rw-r--r--dev-python/ansi2html/ansi2html-1.8.0-r2.ebuild33
-rw-r--r--dev-python/ansi2html/ansi2html-1.9.2.ebuild25
-rw-r--r--dev-python/ansible-compat/Manifest3
-rw-r--r--dev-python/ansible-compat/ansible-compat-24.6.1.ebuild57
-rw-r--r--dev-python/ansible-compat/ansible-compat-24.7.0.ebuild57
-rw-r--r--dev-python/ansible-compat/ansible-compat-4.1.10.ebuild54
-rw-r--r--dev-python/ansible-compat/metadata.xml4
-rw-r--r--dev-python/ansible-pygments/ansible-pygments-0.1.1-r1.ebuild18
-rw-r--r--dev-python/ansible-pygments/files/ansible-pygments-0.1.1-make_lexer_test_compare_tokens.patch324
-rw-r--r--dev-python/ansible-pygments/files/ansible-pygments-0.1.1-tests_pygments2_14.patch75
-rw-r--r--dev-python/ansible-pygments/metadata.xml6
-rw-r--r--dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild4
-rw-r--r--dev-python/ansicolor/ansicolor-9999.ebuild4
-rw-r--r--dev-python/antlr4-python3-runtime/Manifest1
-rw-r--r--dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.13.0.ebuild30
-rw-r--r--dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.13.1.ebuild11
-rw-r--r--dev-python/antlr4-python3-runtime/metadata.xml4
-rw-r--r--dev-python/anyascii/anyascii-0.3.2.ebuild4
-rw-r--r--dev-python/anyio/Manifest4
-rw-r--r--dev-python/anyio/anyio-3.7.1.ebuild71
-rw-r--r--dev-python/anyio/anyio-4.0.0.ebuild60
-rw-r--r--dev-python/anyio/anyio-4.1.0.ebuild58
-rw-r--r--dev-python/anyio/anyio-4.4.0-r1.ebuild87
-rw-r--r--dev-python/anyio/files/anyio-4.4.0-py313.patch90
-rw-r--r--dev-python/anyqt/Manifest1
-rw-r--r--dev-python/anyqt/anyqt-0.2.0.ebuild58
-rw-r--r--dev-python/anyqt/metadata.xml10
-rw-r--r--dev-python/apache-libcloud/apache-libcloud-3.8.0-r1.ebuild28
-rw-r--r--dev-python/apache-libcloud/files/apache-libcloud-3.8.0-pytest-8.2.patch25
-rw-r--r--dev-python/apipkg/apipkg-3.0.2.ebuild4
-rw-r--r--dev-python/apispec/Manifest2
-rw-r--r--dev-python/apispec/apispec-6.3.0.ebuild46
-rw-r--r--dev-python/apispec/apispec-6.6.1.ebuild46
-rw-r--r--dev-python/appdirs/appdirs-1.4.4-r3.ebuild4
-rw-r--r--dev-python/apprise/Manifest2
-rw-r--r--dev-python/apprise/apprise-1.8.0.ebuild38
-rw-r--r--dev-python/apprise/apprise-1.8.1.ebuild38
-rw-r--r--dev-python/apprise/metadata.xml17
-rw-r--r--dev-python/apsw/Manifest8
-rw-r--r--dev-python/apsw/apsw-3.42.0.1.ebuild51
-rw-r--r--dev-python/apsw/apsw-3.43.0.0.ebuild51
-rw-r--r--dev-python/apsw/apsw-3.43.1.0.ebuild51
-rw-r--r--dev-python/apsw/apsw-3.43.1.1.ebuild51
-rw-r--r--dev-python/apsw/apsw-3.43.2.0.ebuild51
-rw-r--r--dev-python/apsw/apsw-3.44.0.0.ebuild51
-rw-r--r--dev-python/apsw/apsw-3.44.2.0.ebuild51
-rw-r--r--dev-python/apsw/apsw-3.46.0.1.ebuild51
-rw-r--r--dev-python/argcomplete/Manifest2
-rw-r--r--dev-python/argcomplete/argcomplete-3.1.6.ebuild43
-rw-r--r--dev-python/argcomplete/argcomplete-3.4.0.ebuild43
-rw-r--r--dev-python/argcomplete/files/argcomplete-3.1.6-timeout.patch5
-rw-r--r--dev-python/argh/Manifest3
-rw-r--r--dev-python/argh/argh-0.30.4.ebuild28
-rw-r--r--dev-python/argh/argh-0.31.2.ebuild33
-rw-r--r--dev-python/argh/argh-0.31.3.ebuild28
-rw-r--r--dev-python/argh/files/argh-0.31.2-py313.patch164
-rw-r--r--dev-python/argon2-cffi-bindings/argon2-cffi-bindings-21.2.0-r1.ebuild4
-rw-r--r--dev-python/argon2-cffi/argon2-cffi-23.1.0.ebuild4
-rw-r--r--dev-python/argparse-addons/Manifest1
-rw-r--r--dev-python/argparse-addons/argparse-addons-0.12.0.ebuild21
-rw-r--r--dev-python/argparse-addons/metadata.xml13
-rw-r--r--dev-python/argparse-manpage/Manifest3
-rw-r--r--dev-python/argparse-manpage/argparse-manpage-4.3.ebuild41
-rw-r--r--dev-python/argparse-manpage/argparse-manpage-4.4.ebuild41
-rw-r--r--dev-python/argparse-manpage/argparse-manpage-4.5.ebuild4
-rw-r--r--dev-python/argparse-manpage/argparse-manpage-4.6.ebuild41
-rw-r--r--dev-python/arrow/arrow-1.3.0.ebuild4
-rw-r--r--dev-python/arsenic/arsenic-21.8.ebuild4
-rw-r--r--dev-python/asgiref/Manifest2
-rw-r--r--dev-python/asgiref/asgiref-3.7.2.ebuild33
-rw-r--r--dev-python/asgiref/asgiref-3.8.1.ebuild33
-rw-r--r--dev-python/asn1crypto/asn1crypto-1.5.1_p20231012.ebuild4
-rw-r--r--dev-python/asteval/Manifest4
-rw-r--r--dev-python/asteval/asteval-0.9.31.ebuild36
-rw-r--r--dev-python/asteval/asteval-0.9.33.ebuild36
-rw-r--r--dev-python/asteval/asteval-1.0.0.ebuild36
-rw-r--r--dev-python/asteval/asteval-1.0.1.ebuild36
-rw-r--r--dev-python/asteval/metadata.xml5
-rw-r--r--dev-python/astor/astor-0.8.1-r1.ebuild8
-rw-r--r--dev-python/astroid/Manifest4
-rw-r--r--dev-python/astroid/astroid-3.0.1.ebuild58
-rw-r--r--dev-python/astroid/astroid-3.2.2-r1.ebuild86
-rw-r--r--dev-python/astroid/astroid-3.2.2.ebuild82
-rw-r--r--dev-python/astroid/astroid-3.2.3.ebuild86
-rw-r--r--dev-python/astroid/astroid-3.2.4.ebuild94
-rw-r--r--dev-python/astroid/files/astroid-3.2.2-py313.patch177
-rw-r--r--dev-python/asttokens/asttokens-2.4.1.ebuild4
-rw-r--r--dev-python/astunparse/Manifest1
-rw-r--r--dev-python/astunparse/astunparse-1.6.3-r1.ebuild39
-rw-r--r--dev-python/astunparse/files/astunparse-1.6.2-tests.patch23
-rw-r--r--dev-python/astunparse/files/astunparse-1.6.3-py39.patch74
-rw-r--r--dev-python/astunparse/files/astunparse-1.6.3-test-py311.patch26
-rw-r--r--dev-python/astunparse/metadata.xml16
-rw-r--r--dev-python/async-lru/async-lru-2.0.4.ebuild4
-rw-r--r--dev-python/async-timeout/async-timeout-4.0.3.ebuild4
-rw-r--r--dev-python/async_generator/Manifest1
-rw-r--r--dev-python/async_generator/async_generator-1.10-r2.ebuild24
-rw-r--r--dev-python/async_generator/metadata.xml15
-rw-r--r--dev-python/asyncssh/Manifest2
-rw-r--r--dev-python/asyncssh/asyncssh-2.14.2.ebuild53
-rw-r--r--dev-python/asyncssh/asyncssh-2.15.0.ebuild54
-rw-r--r--dev-python/asyncssh/files/asyncssh-2.14.2-py313.patch151
-rw-r--r--dev-python/asyncssh/metadata.xml13
-rw-r--r--dev-python/asyncstdlib/Manifest4
-rw-r--r--dev-python/asyncstdlib/asyncstdlib-3.10.8.ebuild21
-rw-r--r--dev-python/asyncstdlib/asyncstdlib-3.10.9.ebuild21
-rw-r--r--dev-python/asyncstdlib/asyncstdlib-3.12.3.ebuild45
-rw-r--r--dev-python/asyncstdlib/asyncstdlib-3.12.4.ebuild32
-rw-r--r--dev-python/atomicwrites/atomicwrites-1.4.1.ebuild4
-rw-r--r--dev-python/atpublic/Manifest3
-rw-r--r--dev-python/atpublic/atpublic-4.0.ebuild32
-rw-r--r--dev-python/atpublic/atpublic-4.1.0.ebuild32
-rw-r--r--dev-python/atpublic/atpublic-5.0.ebuild27
-rw-r--r--dev-python/attrs/Manifest2
-rw-r--r--dev-python/attrs/attrs-23.1.0.ebuild35
-rw-r--r--dev-python/attrs/attrs-23.2.0.ebuild40
-rw-r--r--dev-python/attrs/files/attrs-23.2.0-py313.patch93
-rw-r--r--dev-python/attrs/files/attrs-23.2.0-pytest-8.patch44
-rw-r--r--dev-python/audioread/audioread-3.0.1.ebuild3
-rw-r--r--dev-python/authres/authres-1.2.0-r1.ebuild6
-rw-r--r--dev-python/autobahn/autobahn-23.6.2.ebuild17
-rw-r--r--dev-python/autobahn/files/autobahn-23.6.2-pytest-asyncio.patch42
-rw-r--r--dev-python/autobahn/metadata.xml4
-rw-r--r--dev-python/autocommand/autocommand-2.2.2.ebuild8
-rw-r--r--dev-python/autocommand/files/autocommand-2.2.2-setuptools-license.patch26
-rw-r--r--dev-python/automat/automat-22.10.0.ebuild4
-rw-r--r--dev-python/autopage/autopage-0.5.2.ebuild4
-rw-r--r--dev-python/autopep8/Manifest2
-rw-r--r--dev-python/autopep8/autopep8-2.0.4_p20231027.ebuild51
-rw-r--r--dev-python/autopep8/autopep8-2.3.1.ebuild29
-rw-r--r--dev-python/autopep8/autopep8-9999.ebuild35
-rw-r--r--dev-python/autoprop/autoprop-4.1.0.ebuild6
-rw-r--r--dev-python/aws-sam-translator/Manifest3
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.80.0.ebuild62
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.81.0.ebuild62
-rw-r--r--dev-python/aws-sam-translator/aws-sam-translator-1.89.0.ebuild62
-rw-r--r--dev-python/aws-xray-sdk/Manifest2
-rw-r--r--dev-python/aws-xray-sdk/aws-xray-sdk-2.12.1.ebuild84
-rw-r--r--dev-python/aws-xray-sdk/aws-xray-sdk-2.14.0.ebuild91
-rw-r--r--dev-python/awxkit/Manifest2
-rw-r--r--dev-python/awxkit/awxkit-23.4.0.ebuild50
-rw-r--r--dev-python/awxkit/awxkit-23.5.0.ebuild50
-rw-r--r--dev-python/awxkit/metadata.xml17
-rw-r--r--dev-python/babelfish/Manifest2
-rw-r--r--dev-python/babelfish/babelfish-0.6.0-r2.ebuild25
-rw-r--r--dev-python/babelfish/babelfish-0.6.1.ebuild25
-rw-r--r--dev-python/babelfish/babelfish-9999.ebuild2
-rw-r--r--dev-python/backcall/Manifest1
-rw-r--r--dev-python/backcall/backcall-0.2.0-r1.ebuild18
-rw-r--r--dev-python/backcall/metadata.xml12
-rw-r--r--dev-python/backoff/backoff-2.2.1.ebuild4
-rw-r--r--dev-python/backports-strenum/Manifest1
-rw-r--r--dev-python/backports-strenum/backports-strenum-1.3.1.ebuild28
-rw-r--r--dev-python/backports-strenum/metadata.xml12
-rw-r--r--dev-python/backports-tarfile/Manifest1
-rw-r--r--dev-python/backports-tarfile/backports-tarfile-1.2.0.ebuild46
-rw-r--r--dev-python/backports-tarfile/metadata.xml12
-rw-r--r--dev-python/backrefs/Manifest2
-rw-r--r--dev-python/backrefs/backrefs-5.6_p1.ebuild29
-rw-r--r--dev-python/backrefs/backrefs-5.7_p1.ebuild29
-rw-r--r--dev-python/backrefs/metadata.xml8
-rw-r--r--dev-python/bandit/Manifest2
-rw-r--r--dev-python/bandit/bandit-1.7.5-r1.ebuild42
-rw-r--r--dev-python/bandit/bandit-1.7.9.ebuild44
-rw-r--r--dev-python/bareos/Manifest5
-rw-r--r--dev-python/bareos/bareos-22.1.0.ebuild18
-rw-r--r--dev-python/bareos/bareos-22.1.4.ebuild18
-rw-r--r--dev-python/bareos/bareos-22.1.5.ebuild18
-rw-r--r--dev-python/bareos/bareos-23.0.2.ebuild18
-rw-r--r--dev-python/bareos/bareos-23.0.3.ebuild18
-rw-r--r--dev-python/bashate/bashate-2.1.1.ebuild4
-rw-r--r--dev-python/basho-erlastic/basho-erlastic-2.1.1-r1.ebuild4
-rw-r--r--dev-python/bcrypt/Manifest126
-rw-r--r--dev-python/bcrypt/bcrypt-4.0.1.ebuild86
-rw-r--r--dev-python/bcrypt/bcrypt-4.1.0.ebuild90
-rw-r--r--dev-python/bcrypt/bcrypt-4.1.1.ebuild90
-rw-r--r--dev-python/bcrypt/bcrypt-4.1.3.ebuild99
-rw-r--r--dev-python/bcrypt/bcrypt-4.2.0.ebuild83
-rw-r--r--dev-python/beagle/beagle-0.3.0-r1.ebuild4
-rw-r--r--dev-python/beartype/Manifest6
-rw-r--r--dev-python/beartype/beartype-0.15.0.ebuild35
-rw-r--r--dev-python/beartype/beartype-0.16.1.ebuild35
-rw-r--r--dev-python/beartype/beartype-0.16.2.ebuild35
-rw-r--r--dev-python/beartype/beartype-0.16.3.ebuild35
-rw-r--r--dev-python/beartype/beartype-0.16.4.ebuild35
-rw-r--r--dev-python/beartype/beartype-0.18.5.ebuild40
-rw-r--r--dev-python/beautifulsoup4/Manifest2
-rw-r--r--dev-python/beautifulsoup4/beautifulsoup4-4.12.2.ebuild36
-rw-r--r--dev-python/beautifulsoup4/beautifulsoup4-4.12.3.ebuild39
-rw-r--r--dev-python/beniget/Manifest2
-rw-r--r--dev-python/beniget/beniget-0.4.1-r1.ebuild33
-rw-r--r--dev-python/beniget/beniget-0.4.2_p1.ebuild25
-rw-r--r--dev-python/betamax-matchers/betamax-matchers-0.4.0-r1.ebuild4
-rw-r--r--dev-python/betamax/Manifest2
-rw-r--r--dev-python/betamax/betamax-0.8.1-r2.ebuild45
-rw-r--r--dev-python/betamax/betamax-0.9.0.ebuild39
-rw-r--r--dev-python/betamax/files/betamax-0.8.1-pytest.patch38
-rw-r--r--dev-python/bibtexparser/Manifest1
-rw-r--r--dev-python/bibtexparser/bibtexparser-1.4.0.ebuild30
-rw-r--r--dev-python/bibtexparser/bibtexparser-1.4.1.ebuild4
-rw-r--r--dev-python/binaryornot/binaryornot-0.4.4-r3.ebuild4
-rw-r--r--dev-python/bincopy/Manifest1
-rw-r--r--dev-python/bincopy/bincopy-20.0.0.ebuild27
-rw-r--r--dev-python/bincopy/metadata.xml13
-rw-r--r--dev-python/bitarray/Manifest2
-rw-r--r--dev-python/bitarray/bitarray-2.8.3.ebuild24
-rw-r--r--dev-python/bitarray/bitarray-2.9.2.ebuild24
-rw-r--r--dev-python/bitstring/Manifest3
-rw-r--r--dev-python/bitstring/bitstring-4.1.2.ebuild31
-rw-r--r--dev-python/bitstring/bitstring-4.1.4.ebuild26
-rw-r--r--dev-python/bitstring/bitstring-4.2.3.ebuild36
-rw-r--r--dev-python/black/Manifest2
-rw-r--r--dev-python/black/black-23.11.0.ebuild49
-rw-r--r--dev-python/black/black-24.4.2-r1.ebuild49
-rw-r--r--dev-python/blake3-py-c/Manifest1
-rw-r--r--dev-python/blake3-py-c/blake3-py-c-0.3.3.ebuild39
-rw-r--r--dev-python/blake3-py-c/metadata.xml11
-rw-r--r--dev-python/blake3-py/Manifest56
-rw-r--r--dev-python/blake3-py/blake3-py-0.3.3-r1.ebuild98
-rw-r--r--dev-python/blake3-py/metadata.xml12
-rw-r--r--dev-python/blake3/Manifest47
-rw-r--r--dev-python/blake3/blake3-0.4.1.ebuild139
-rw-r--r--dev-python/blake3/files/blake3-0.4.1-gcc14.patch37
-rw-r--r--dev-python/blake3/metadata.xml18
-rw-r--r--dev-python/bleach/bleach-6.1.0.ebuild4
-rw-r--r--dev-python/blessed/blessed-1.20.0.ebuild7
-rw-r--r--dev-python/blinker/Manifest2
-rw-r--r--dev-python/blinker/blinker-1.7.0.ebuild21
-rw-r--r--dev-python/blinker/blinker-1.8.2.ebuild32
-rw-r--r--dev-python/blosc/Manifest2
-rw-r--r--dev-python/blosc/blosc-1.11.1.ebuild55
-rw-r--r--dev-python/blosc/blosc-1.11.2.ebuild63
-rw-r--r--dev-python/bluelet/Manifest2
-rw-r--r--dev-python/bluelet/bluelet-0.2.0-r1.ebuild6
-rw-r--r--dev-python/blurb/Manifest2
-rw-r--r--dev-python/blurb/blurb-1.1.0.ebuild4
-rw-r--r--dev-python/blurb/blurb-1.2.0.ebuild27
-rw-r--r--dev-python/blurb/blurb-1.2.1.ebuild27
-rw-r--r--dev-python/blurb/metadata.xml1
-rw-r--r--dev-python/boltons/Manifest2
-rw-r--r--dev-python/boltons/boltons-23.1.1.ebuild28
-rw-r--r--dev-python/boltons/boltons-24.0.0.ebuild34
-rw-r--r--dev-python/boolean-py/boolean-py-4.0.ebuild6
-rw-r--r--dev-python/boto/Manifest1
-rw-r--r--dev-python/boto/boto-2.49.0-r6.ebuild63
-rw-r--r--dev-python/boto/files/boto-2.49.0-mock-spec.patch12
-rw-r--r--dev-python/boto/files/boto-2.49.0-py3-httplib-strict.patch35
-rw-r--r--dev-python/boto/files/boto-2.49.0-py3-server-port.patch42
-rw-r--r--dev-python/boto/files/boto-2.49.0-py3-socket-binary.patch59
-rw-r--r--dev-python/boto/files/boto-2.49.0-py310.patch44
-rw-r--r--dev-python/boto/files/boto-2.49.0-py38.patch54
-rw-r--r--dev-python/boto/files/boto-2.49.0-try-to-add-SNI-support-v3.patch104
-rw-r--r--dev-python/boto/files/boto-2.49.0-unbundle-six.patch28
-rw-r--r--dev-python/boto/metadata.xml14
-rw-r--r--dev-python/boto3/Manifest10
-rw-r--r--dev-python/boto3/boto3-1.29.3.ebuild67
-rw-r--r--dev-python/boto3/boto3-1.29.6.ebuild67
-rw-r--r--dev-python/boto3/boto3-1.33.6.ebuild64
-rw-r--r--dev-python/boto3/boto3-1.34.140.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.34.144.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.34.145.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.34.146.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.34.147.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.34.148.ebuild53
-rw-r--r--dev-python/boto3/boto3-1.34.149.ebuild53
-rw-r--r--dev-python/boto3/boto3-9999.ebuild68
-rw-r--r--dev-python/botocore/Manifest10
-rw-r--r--dev-python/botocore/botocore-1.32.3.ebuild68
-rw-r--r--dev-python/botocore/botocore-1.32.6.ebuild68
-rw-r--r--dev-python/botocore/botocore-1.33.6.ebuild68
-rw-r--r--dev-python/botocore/botocore-1.34.140.ebuild77
-rw-r--r--dev-python/botocore/botocore-1.34.144.ebuild76
-rw-r--r--dev-python/botocore/botocore-1.34.145.ebuild76
-rw-r--r--dev-python/botocore/botocore-1.34.146.ebuild76
-rw-r--r--dev-python/botocore/botocore-1.34.147.ebuild76
-rw-r--r--dev-python/botocore/botocore-1.34.148.ebuild76
-rw-r--r--dev-python/botocore/botocore-1.34.149.ebuild76
-rw-r--r--dev-python/botocore/botocore-9999.ebuild68
-rw-r--r--dev-python/bottle/bottle-0.12.25-r1.ebuild9
-rw-r--r--dev-python/bottleneck/Manifest2
-rw-r--r--dev-python/bottleneck/bottleneck-1.3.7.ebuild43
-rw-r--r--dev-python/bottleneck/bottleneck-1.4.0.ebuild52
-rw-r--r--dev-python/bpython/bpython-0.24.ebuild5
-rw-r--r--dev-python/bracex/bracex-2.4.ebuild4
-rw-r--r--dev-python/bracex/metadata.xml8
-rw-r--r--dev-python/braintree/Manifest4
-rw-r--r--dev-python/braintree/braintree-4.23.0.ebuild44
-rw-r--r--dev-python/braintree/braintree-4.24.0.ebuild39
-rw-r--r--dev-python/braintree/braintree-4.28.0.ebuild39
-rw-r--r--dev-python/braintree/braintree-4.29.0.ebuild39
-rw-r--r--dev-python/braintree/files/braintree-4.23.0-py312.patch81
-rw-r--r--dev-python/breathe/breathe-4.35.0-r1.ebuild42
-rw-r--r--dev-python/breathe/breathe-4.35.0.ebuild37
-rw-r--r--dev-python/breathe/files/breathe-4.35.0-sphinx-7.2.patch40
-rw-r--r--dev-python/brotlicffi/brotlicffi-1.1.0.0.ebuild4
-rw-r--r--dev-python/browser-cookie3/Manifest1
-rw-r--r--dev-python/browser-cookie3/browser-cookie3-0.19.1.ebuild37
-rw-r--r--dev-python/brython/metadata.xml5
-rw-r--r--dev-python/bsddb3/Manifest2
-rw-r--r--dev-python/bsddb3/bsddb3-6.2.9-r1.ebuild64
-rw-r--r--dev-python/bsddb3/metadata.xml11
-rw-r--r--dev-python/btrfs/Manifest2
-rw-r--r--dev-python/btrfs/btrfs-13.ebuild39
-rw-r--r--dev-python/btrfs/btrfs-14.1.ebuild36
-rw-r--r--dev-python/btrfs/files/13-001-docs-do-not-monkey-patch-for-sphinx-4.patch146
-rw-r--r--dev-python/btrfs/files/13-002-show_file_csum-fix-vaddr-computation.patch27
-rw-r--r--dev-python/btrfs/files/13-003-ioctl-fix-documentation-error-in-FeatureFlags.patch21
-rw-r--r--dev-python/btrfs/files/13-004-add-Block-Group-Tree.patch110
-rw-r--r--dev-python/btrfs/files/13-005-ctree-FileSystem-add-block_groups-function.patch58
-rw-r--r--dev-python/btrfs/files/13-006-btrfs-search-metadata-use-FileSystem-block_groups.patch30
-rw-r--r--dev-python/btrfsutil/Manifest6
-rw-r--r--dev-python/btrfsutil/btrfsutil-6.8.1.ebuild44
-rw-r--r--dev-python/btrfsutil/btrfsutil-6.9.2.ebuild47
-rw-r--r--dev-python/btrfsutil/btrfsutil-6.9.ebuild47
-rw-r--r--dev-python/btrfsutil/metadata.xml10
-rw-r--r--dev-python/build/Manifest2
-rw-r--r--dev-python/build/build-1.0.3.ebuild59
-rw-r--r--dev-python/build/build-1.2.1.ebuild85
-rw-r--r--dev-python/cachecontrol/Manifest2
-rw-r--r--dev-python/cachecontrol/cachecontrol-0.13.1.ebuild32
-rw-r--r--dev-python/cachecontrol/cachecontrol-0.14.0.ebuild33
-rw-r--r--dev-python/cached-property/Manifest1
-rw-r--r--dev-python/cached-property/cached-property-1.5.2-r1.ebuild30
-rw-r--r--dev-python/cached-property/files/cached-property-1.5.1-test-failure.patch10
-rw-r--r--dev-python/cached-property/files/cached-property-1.5.2-python311.patch142
-rw-r--r--dev-python/cached-property/metadata.xml13
-rw-r--r--dev-python/cachelib/Manifest2
-rw-r--r--dev-python/cachelib/cachelib-0.10.2-r1.ebuild44
-rw-r--r--dev-python/cachelib/cachelib-0.13.0.ebuild48
-rw-r--r--dev-python/cachelib/metadata.xml4
-rw-r--r--dev-python/cachetools/Manifest3
-rw-r--r--dev-python/cachetools/cachetools-5.3.2.ebuild21
-rw-r--r--dev-python/cachetools/cachetools-5.3.3.ebuild21
-rw-r--r--dev-python/cachetools/cachetools-5.4.0.ebuild21
-rw-r--r--dev-python/cairocffi/Manifest3
-rw-r--r--dev-python/cairocffi/cairocffi-1.5.1.ebuild53
-rw-r--r--dev-python/cairocffi/cairocffi-1.6.1.ebuild51
-rw-r--r--dev-python/cairocffi/cairocffi-1.7.1.ebuild51
-rw-r--r--dev-python/caldav/Manifest2
-rw-r--r--dev-python/caldav/caldav-1.3.6.ebuild34
-rw-r--r--dev-python/caldav/caldav-1.3.9.ebuild34
-rw-r--r--dev-python/calver/calver-2022.06.26.ebuild4
-rw-r--r--dev-python/canonicaljson/canonicaljson-2.0.0.ebuild6
-rw-r--r--dev-python/capturer/capturer-3.0-r1.ebuild8
-rw-r--r--dev-python/carbon/Manifest1
-rw-r--r--dev-python/carbon/carbon-1.1.10.ebuild61
-rw-r--r--dev-python/carbon/files/carbon.confd5
-rw-r--r--dev-python/carbon/files/carbon.initd253
-rw-r--r--dev-python/carbon/metadata.xml15
-rw-r--r--dev-python/casttube/casttube-0.2.1-r1.ebuild4
-rw-r--r--dev-python/cattrs/Manifest4
-rw-r--r--dev-python/cattrs/cattrs-23.1.2.ebuild76
-rw-r--r--dev-python/cattrs/cattrs-23.2.1.ebuild69
-rw-r--r--dev-python/cattrs/cattrs-23.2.2.ebuild69
-rw-r--r--dev-python/cattrs/cattrs-23.2.3-r1.ebuild69
-rw-r--r--dev-python/cattrs/cattrs-23.2.3.ebuild69
-rw-r--r--dev-python/cattrs/cattrs-23.2.4_pre20240627.ebuild101
-rw-r--r--dev-python/cattrs/files/cattrs-23.1.2-32bit-time_t.patch38
-rw-r--r--dev-python/cattrs/files/cattrs-23.2.4_pre20240627-py313.patch74
-rw-r--r--dev-python/cbor2/Manifest2
-rw-r--r--dev-python/cbor2/cbor2-5.5.1.ebuild46
-rw-r--r--dev-python/cbor2/cbor2-5.6.4.ebuild46
-rw-r--r--dev-python/cbor2/metadata.xml4
-rw-r--r--dev-python/cchardet/cchardet-2.1.19.ebuild4
-rw-r--r--dev-python/cerberus/cerberus-1.3.5.ebuild6
-rw-r--r--dev-python/cerberus/metadata.xml6
-rw-r--r--dev-python/certifi/Manifest1
-rw-r--r--dev-python/certifi/certifi-3021.3.16-r4.ebuild4
-rw-r--r--dev-python/certifi/certifi-3024.7.22.ebuild43
-rw-r--r--dev-python/certifi/metadata.xml1
-rw-r--r--dev-python/cffi/Manifest2
-rw-r--r--dev-python/cffi/cffi-1.17.0_pre20240424.ebuild79
-rw-r--r--dev-python/cffi/cffi-1.17.0_rc1.ebuild71
-rw-r--r--dev-python/cfgv/cfgv-3.4.0.ebuild4
-rw-r--r--dev-python/cfgv/metadata.xml4
-rw-r--r--dev-python/cfn-lint/Manifest9
-rw-r--r--dev-python/cfn-lint/cfn-lint-0.83.3.ebuild65
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.4.2.ebuild70
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.5.3.ebuild70
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.6.1.ebuild70
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.7.1.ebuild70
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.7.2.ebuild70
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.8.0.ebuild70
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.8.1.ebuild70
-rw-r--r--dev-python/cfn-lint/cfn-lint-1.8.2.ebuild70
-rw-r--r--dev-python/cftime/Manifest3
-rw-r--r--dev-python/cftime/cftime-1.6.2-r1.ebuild43
-rw-r--r--dev-python/cftime/cftime-1.6.3.ebuild39
-rw-r--r--dev-python/cftime/cftime-1.6.4.ebuild39
-rw-r--r--dev-python/cftime/files/cftime-1.6.2-cython-3.patch34
-rw-r--r--dev-python/cgroup-utils/Manifest1
-rw-r--r--dev-python/cgroup-utils/cgroup-utils-0.8-r1.ebuild27
-rw-r--r--dev-python/cgroup-utils/files/cgroup-utils-0.8-tests-builddir.patch25
-rw-r--r--dev-python/cgroup-utils/files/cgroup-utils-0.8-tests-mountpoint.patch25
-rw-r--r--dev-python/cgroup-utils/metadata.xml12
-rw-r--r--dev-python/chainstream/Manifest1
-rw-r--r--dev-python/chainstream/chainstream-1.0.1.ebuild25
-rw-r--r--dev-python/chainstream/metadata.xml11
-rw-r--r--dev-python/chameleon/Manifest2
-rw-r--r--dev-python/chameleon/chameleon-4.2.0.ebuild28
-rw-r--r--dev-python/chameleon/chameleon-4.5.4.ebuild23
-rw-r--r--dev-python/characteristic/characteristic-14.3.0-r4.ebuild4
-rw-r--r--dev-python/chardet/chardet-5.2.0.ebuild4
-rw-r--r--dev-python/charset-normalizer/charset-normalizer-3.3.2.ebuild4
-rw-r--r--dev-python/chart-studio/chart-studio-1.1.0-r2.ebuild6
-rw-r--r--dev-python/check-manifest/Manifest1
-rw-r--r--dev-python/check-manifest/check-manifest-0.49.ebuild42
-rw-r--r--dev-python/check-manifest/metadata.xml15
-rw-r--r--dev-python/cheetah3/Manifest2
-rw-r--r--dev-python/cheetah3/cheetah3-3.3.1.ebuild44
-rw-r--r--dev-python/cheetah3/cheetah3-3.3.3.ebuild49
-rw-r--r--dev-python/cheetah3/files/cheetah3-3.3.3-py313.patch63
-rw-r--r--dev-python/cheroot/Manifest2
-rw-r--r--dev-python/cheroot/cheroot-10.0.0.ebuild77
-rw-r--r--dev-python/cheroot/cheroot-10.0.1.ebuild90
-rw-r--r--dev-python/cherrypy/Manifest2
-rw-r--r--dev-python/cherrypy/cherrypy-18.10.0.ebuild66
-rw-r--r--dev-python/cherrypy/cherrypy-18.8.0.ebuild72
-rw-r--r--dev-python/cherrypy/files/cherrypy-18.8.0-py312.patch30
-rw-r--r--dev-python/cherrypy/metadata.xml1
-rw-r--r--dev-python/chump/chump-1.6.0-r2.ebuild4
-rw-r--r--dev-python/cjkwrap/cjkwrap-2.2-r2.ebuild4
-rw-r--r--dev-python/clang-python/Manifest11
-rw-r--r--dev-python/clang-python/clang-python-14.0.6.ebuild47
-rw-r--r--dev-python/clang-python/clang-python-17.0.5.ebuild54
-rw-r--r--dev-python/clang-python/clang-python-17.0.6.ebuild4
-rw-r--r--dev-python/clang-python/clang-python-18.0.0.9999.ebuild53
-rw-r--r--dev-python/clang-python/clang-python-18.0.0_pre20231119.ebuild53
-rw-r--r--dev-python/clang-python/clang-python-18.0.0_pre20231129.ebuild53
-rw-r--r--dev-python/clang-python/clang-python-18.1.8.ebuild54
-rw-r--r--dev-python/clang-python/clang-python-19.0.0.9999.ebuild53
-rw-r--r--dev-python/clang-python/clang-python-19.0.0_pre20240706.ebuild53
-rw-r--r--dev-python/clang-python/clang-python-19.0.0_pre20240712.ebuild53
-rw-r--r--dev-python/clang-python/clang-python-19.0.0_pre20240720.ebuild53
-rw-r--r--dev-python/clang-python/clang-python-20.0.0.9999.ebuild53
-rw-r--r--dev-python/cleo/Manifest1
-rw-r--r--dev-python/cleo/cleo-2.0.1-r1.ebuild47
-rw-r--r--dev-python/cleo/cleo-2.1.0.ebuild6
-rw-r--r--dev-python/cleo/metadata.xml4
-rw-r--r--dev-python/cli-helpers/Manifest2
-rw-r--r--dev-python/cli-helpers/cli-helpers-2.3.0.ebuild35
-rw-r--r--dev-python/cli-helpers/cli-helpers-2.3.1.ebuild35
-rw-r--r--dev-python/cli-helpers/cli-helpers-9999.ebuild4
-rw-r--r--dev-python/cli-helpers/metadata.xml1
-rw-r--r--dev-python/click-default-group/click-default-group-1.2.4.ebuild4
-rw-r--r--dev-python/click-didyoumean/Manifest2
-rw-r--r--dev-python/click-didyoumean/click-didyoumean-0.3.0.ebuild29
-rw-r--r--dev-python/click-didyoumean/click-didyoumean-0.3.1.ebuild29
-rw-r--r--dev-python/click-help-colors/click-help-colors-0.9.4.ebuild4
-rw-r--r--dev-python/click-help-colors/metadata.xml4
-rw-r--r--dev-python/click-log/click-log-0.4.0.ebuild4
-rw-r--r--dev-python/click-option-group/Manifest1
-rw-r--r--dev-python/click-option-group/click-option-group-0.5.6.ebuild26
-rw-r--r--dev-python/click-option-group/metadata.xml17
-rw-r--r--dev-python/click-plugins/click-plugins-1.1.1-r1.ebuild6
-rw-r--r--dev-python/click-threading/click-threading-0.5.0-r1.ebuild4
-rw-r--r--dev-python/click/click-8.1.7.ebuild4
-rw-r--r--dev-python/cliff/Manifest2
-rw-r--r--dev-python/cliff/cliff-4.4.0.ebuild40
-rw-r--r--dev-python/cliff/cliff-4.7.0.ebuild40
-rw-r--r--dev-python/clikit/clikit-0.6.2-r1.ebuild4
-rw-r--r--dev-python/clikit/metadata.xml4
-rw-r--r--dev-python/clint/clint-0.5.1-r4.ebuild13
-rw-r--r--dev-python/clint/metadata.xml2
-rw-r--r--dev-python/cloudpickle/cloudpickle-3.0.0.ebuild10
-rw-r--r--dev-python/cloudpickle/files/cloudpickle-3.0.0-py313.patch32
-rw-r--r--dev-python/clr-loader/Manifest7
-rw-r--r--dev-python/clr-loader/clr-loader-0.2.6.ebuild91
-rw-r--r--dev-python/clr-loader/metadata.xml19
-rw-r--r--dev-python/cmd2/cmd2-2.4.3.ebuild4
-rw-r--r--dev-python/colorama/colorama-0.4.6.ebuild4
-rw-r--r--dev-python/colorclass/colorclass-2.2.2-r1.ebuild6
-rw-r--r--dev-python/colored-traceback/Manifest3
-rw-r--r--dev-python/colored-traceback/colored-traceback-0.4.0.ebuild24
-rw-r--r--dev-python/colored-traceback/colored-traceback-0.4.1.ebuild24
-rw-r--r--dev-python/colored-traceback/colored-traceback-0.4.2.ebuild24
-rw-r--r--dev-python/colored-traceback/metadata.xml2
-rw-r--r--dev-python/coloredlogs/coloredlogs-15.0.1-r1.ebuild44
-rw-r--r--dev-python/coloredlogs/coloredlogs-15.0.1-r2.ebuild47
-rw-r--r--dev-python/coloredlogs/files/coloredlogs-15.0.1-py3.13.patch43
-rw-r--r--dev-python/colorful/Manifest1
-rw-r--r--dev-python/colorful/colorful-0.5.6.ebuild30
-rw-r--r--dev-python/colorful/metadata.xml25
-rw-r--r--dev-python/colorlog/Manifest3
-rw-r--r--dev-python/colorlog/colorlog-6.7.0.ebuild25
-rw-r--r--dev-python/colorlog/colorlog-6.8.0.ebuild21
-rw-r--r--dev-python/colorlog/colorlog-6.8.2.ebuild26
-rw-r--r--dev-python/colorlog/files/colorlog-6.7.0-nocolor.patch31
-rw-r--r--dev-python/colorlog/files/colorlog-6.8.2-py313.patch51
-rw-r--r--dev-python/colour/colour-0.1.5-r1.ebuild41
-rw-r--r--dev-python/colour/colour-0.1.5.ebuild30
-rw-r--r--dev-python/colour/files/colour-setup.patch8
-rw-r--r--dev-python/comm/Manifest2
-rw-r--r--dev-python/comm/comm-0.2.0.ebuild30
-rw-r--r--dev-python/comm/comm-0.2.2.ebuild30
-rw-r--r--dev-python/commentjson/commentjson-0.9.0-r2.ebuild14
-rw-r--r--dev-python/commentjson/files/commentjson-0.9.0-py312.patch24
-rw-r--r--dev-python/commonmark/commonmark-0.9.1-r1.ebuild4
-rw-r--r--dev-python/configclass/configclass-0.2.0-r1.ebuild4
-rw-r--r--dev-python/configobj/configobj-5.0.8.ebuild4
-rw-r--r--dev-python/configshell-fb/configshell-fb-1.1.30.ebuild4
-rw-r--r--dev-python/configupdater/Manifest1
-rw-r--r--dev-python/configupdater/configupdater-3.1.1.ebuild36
-rw-r--r--dev-python/configupdater/configupdater-3.2.ebuild6
-rw-r--r--dev-python/confusable-homoglyphs/Manifest1
-rw-r--r--dev-python/confusable-homoglyphs/confusable-homoglyphs-3.3.1.ebuild34
-rw-r--r--dev-python/confusable-homoglyphs/metadata.xml17
-rw-r--r--dev-python/confusable_homoglyphs/Manifest1
-rw-r--r--dev-python/confusable_homoglyphs/confusable_homoglyphs-3.2.0-r2.ebuild34
-rw-r--r--dev-python/confusable_homoglyphs/metadata.xml12
-rw-r--r--dev-python/confuse/confuse-2.0.1.ebuild4
-rw-r--r--dev-python/cons/cons-0.4.6.ebuild4
-rw-r--r--dev-python/consonance/consonance-0.1.5-r1.ebuild4
-rw-r--r--dev-python/constantly/Manifest2
-rw-r--r--dev-python/constantly/constantly-23.10.4.ebuild4
-rw-r--r--dev-python/construct/Manifest1
-rw-r--r--dev-python/construct/construct-2.10.69.ebuild48
-rw-r--r--dev-python/construct/construct-2.10.70.ebuild6
-rw-r--r--dev-python/contourpy/Manifest2
-rw-r--r--dev-python/contourpy/contourpy-1.2.0.ebuild57
-rw-r--r--dev-python/contourpy/contourpy-1.2.1.ebuild52
-rw-r--r--dev-python/contourpy/files/contourpy-1.2.0-unicore.patch83
-rw-r--r--dev-python/conway-polynomials/Manifest2
-rw-r--r--dev-python/conway-polynomials/conway-polynomials-0.10.ebuild21
-rw-r--r--dev-python/conway-polynomials/conway-polynomials-0.8.ebuild25
-rw-r--r--dev-python/cookies/cookies-2.2.1-r2.ebuild5
-rw-r--r--dev-python/coverage/Manifest4
-rw-r--r--dev-python/coverage/coverage-7.3.2.ebuild82
-rw-r--r--dev-python/coverage/coverage-7.5.3.ebuild98
-rw-r--r--dev-python/coverage/coverage-7.5.4.ebuild98
-rw-r--r--dev-python/coverage/coverage-7.6.0.ebuild98
-rw-r--r--dev-python/cppy/cppy-1.2.1-r1.ebuild4
-rw-r--r--dev-python/cramjam/Manifest143
-rw-r--r--dev-python/cramjam/cramjam-2.8.3.ebuild215
-rw-r--r--dev-python/cramjam/metadata.xml11
-rw-r--r--dev-python/crashtest/crashtest-0.4.1.ebuild8
-rw-r--r--dev-python/crashtest/metadata.xml2
-rw-r--r--dev-python/crc32c/Manifest2
-rw-r--r--dev-python/crc32c/crc32c-2.4.1.ebuild46
-rw-r--r--dev-python/crc32c/crc32c-2.4.ebuild51
-rw-r--r--dev-python/crc32c/files/crc32c-2.4-sparc.patch34
-rw-r--r--dev-python/crc32c/metadata.xml11
-rw-r--r--dev-python/crcmod/crcmod-1.7-r5.ebuild6
-rw-r--r--dev-python/crispy-bootstrap3/Manifest2
-rw-r--r--dev-python/crispy-bootstrap3/crispy-bootstrap3-2022.1.ebuild34
-rw-r--r--dev-python/crispy-bootstrap3/crispy-bootstrap3-2024.1.ebuild34
-rw-r--r--dev-python/crispy-bootstrap4/Manifest3
-rw-r--r--dev-python/crispy-bootstrap4/crispy-bootstrap4-2022.1.ebuild38
-rw-r--r--dev-python/crispy-bootstrap4/crispy-bootstrap4-2023.1.ebuild35
-rw-r--r--dev-python/crispy-bootstrap4/crispy-bootstrap4-2024.1.ebuild35
-rw-r--r--dev-python/crispy-bootstrap4/files/crispy-bootstrap4-2022.1-test.patch17
-rw-r--r--dev-python/crispy-bootstrap5/Manifest3
-rw-r--r--dev-python/crispy-bootstrap5/crispy-bootstrap5-0.7.ebuild38
-rw-r--r--dev-python/crispy-bootstrap5/crispy-bootstrap5-2023.10.ebuild35
-rw-r--r--dev-python/crispy-bootstrap5/crispy-bootstrap5-2024.2.ebuild35
-rw-r--r--dev-python/crispy-bootstrap5/files/crispy-bootstrap5-0.7-test.patch172
-rw-r--r--dev-python/croniter/Manifest5
-rw-r--r--dev-python/croniter/croniter-2.0.1.ebuild31
-rw-r--r--dev-python/croniter/croniter-2.0.5.ebuild31
-rw-r--r--dev-python/croniter/croniter-2.0.7.ebuild31
-rw-r--r--dev-python/croniter/croniter-3.0.0.ebuild31
-rw-r--r--dev-python/croniter/croniter-3.0.1.ebuild31
-rw-r--r--dev-python/cryptography/Manifest117
-rw-r--r--dev-python/cryptography/cryptography-41.0.7.ebuild153
-rw-r--r--dev-python/cryptography/cryptography-42.0.8.ebuild154
-rw-r--r--dev-python/cryptography/cryptography-43.0.0.ebuild139
-rw-r--r--dev-python/cryptography/files/cryptography-42.0.7-32bit.patch64
-rw-r--r--dev-python/cryptography/files/cryptography-43.0.0-rust-openssl-crash.patch79
-rw-r--r--dev-python/cson/Manifest1
-rw-r--r--dev-python/cson/cson-0.8-r4.ebuild31
-rw-r--r--dev-python/cson/metadata.xml (renamed from dev-python/pycson/metadata.xml)0
-rw-r--r--dev-python/css-parser/css-parser-1.0.10.ebuild4
-rw-r--r--dev-python/csscompressor/csscompressor-0.9.5-r2.ebuild4
-rw-r--r--dev-python/cssselect/cssselect-1.2.0.ebuild4
-rw-r--r--dev-python/cssselect2/cssselect2-0.7.0.ebuild4
-rw-r--r--dev-python/cssutils/Manifest2
-rw-r--r--dev-python/cssutils/cssutils-2.11.1.ebuild50
-rw-r--r--dev-python/cssutils/cssutils-2.9.0.ebuild46
-rw-r--r--dev-python/cstruct/Manifest2
-rw-r--r--dev-python/cstruct/cstruct-5.2.ebuild29
-rw-r--r--dev-python/cstruct/cstruct-5.3.ebuild29
-rw-r--r--dev-python/csvkit/Manifest5
-rw-r--r--dev-python/csvkit/csvkit-1.1.1.ebuild41
-rw-r--r--dev-python/csvkit/csvkit-1.2.0.ebuild44
-rw-r--r--dev-python/csvkit/csvkit-1.3.0.ebuild44
-rw-r--r--dev-python/csvkit/csvkit-2.0.0.ebuild45
-rw-r--r--dev-python/csvkit/csvkit-2.0.1.ebuild45
-rw-r--r--dev-python/curtsies/curtsies-0.4.2.ebuild6
-rw-r--r--dev-python/cvxopt/cvxopt-1.3.2.ebuild2
-rw-r--r--dev-python/cwcwidth/cwcwidth-0.1.9.ebuild4
-rw-r--r--dev-python/cycler/cycler-0.12.1.ebuild6
-rw-r--r--dev-python/cysignals/cysignals-1.11.4-r1.ebuild41
-rw-r--r--dev-python/cysignals/cysignals-1.11.4.ebuild30
-rw-r--r--dev-python/cysignals/files/cysignals-1.11.4-helper.patch85
-rw-r--r--dev-python/cysignals/metadata.xml5
-rw-r--r--dev-python/cython-test-exception-raiser/cython-test-exception-raiser-1.0.2-r1.ebuild4
-rw-r--r--dev-python/cython/Manifest7
-rw-r--r--dev-python/cython/cython-0.29.36.ebuild94
-rw-r--r--dev-python/cython/cython-3.0.10.ebuild84
-rw-r--r--dev-python/cython/cython-3.0.2-r1.ebuild86
-rw-r--r--dev-python/cython/cython-3.0.3.ebuild84
-rw-r--r--dev-python/cython/cython-3.0.4.ebuild84
-rw-r--r--dev-python/cython/cython-3.0.5.ebuild84
-rw-r--r--dev-python/cython/cython-3.0.6.ebuild84
-rw-r--r--dev-python/cython/files/50cython-gentoo.el11
-rw-r--r--dev-python/cython/files/cython-3.0.2-enummeta.patch69
-rw-r--r--dev-python/daemonize/daemonize-2.5.0-r1.ebuild4
-rw-r--r--dev-python/dask/Manifest2
-rw-r--r--dev-python/dask/dask-2023.11.0.ebuild89
-rw-r--r--dev-python/dask/dask-2023.12.0.ebuild89
-rw-r--r--dev-python/dask/metadata.xml22
-rw-r--r--dev-python/dbfread/dbfread-2.0.7-r1.ebuild4
-rw-r--r--dev-python/dbus-next/dbus-next-0.2.3-r1.ebuild11
-rw-r--r--dev-python/dbus-python/dbus-python-1.3.2.ebuild4
-rw-r--r--dev-python/dbutils/Manifest1
-rw-r--r--dev-python/dbutils/dbutils-3.1.0.ebuild29
-rw-r--r--dev-python/dbutils/metadata.xml18
-rw-r--r--dev-python/ddt/Manifest3
-rw-r--r--dev-python/ddt/ddt-1.6.0.ebuild32
-rw-r--r--dev-python/ddt/ddt-1.7.0.ebuild33
-rw-r--r--dev-python/ddt/ddt-1.7.2.ebuild33
-rw-r--r--dev-python/debtcollector/Manifest2
-rw-r--r--dev-python/debtcollector/debtcollector-2.5.0.ebuild33
-rw-r--r--dev-python/debtcollector/debtcollector-3.0.0.ebuild33
-rw-r--r--dev-python/debugpy/Manifest2
-rw-r--r--dev-python/debugpy/debugpy-1.6.6.ebuild43
-rw-r--r--dev-python/debugpy/debugpy-1.8.0.ebuild75
-rw-r--r--dev-python/debugpy/files/debugpy-1.6.6-unbundle-pydevd.patch77
-rw-r--r--dev-python/debugpy/files/debugpy-1.8.0-unbundle-pydevd.patch46
-rw-r--r--dev-python/debugpy/metadata.xml16
-rw-r--r--dev-python/decorator/decorator-5.1.1-r1.ebuild4
-rw-r--r--dev-python/deepdiff/Manifest4
-rw-r--r--dev-python/deepdiff/deepdiff-6.6.1.ebuild39
-rw-r--r--dev-python/deepdiff/deepdiff-6.7.0.ebuild39
-rw-r--r--dev-python/deepdiff/deepdiff-6.7.1.ebuild39
-rw-r--r--dev-python/deepdiff/deepdiff-7.0.1.ebuild55
-rw-r--r--dev-python/deepmerge/Manifest2
-rw-r--r--dev-python/deepmerge/deepmerge-1.1.0.ebuild32
-rw-r--r--dev-python/deepmerge/deepmerge-1.1.1.ebuild32
-rw-r--r--dev-python/defusedxml/Manifest1
-rw-r--r--dev-python/defusedxml/defusedxml-0.8.0_rc2.ebuild42
-rw-r--r--dev-python/denonavr/Manifest3
-rw-r--r--dev-python/denonavr/denonavr-0.11.3.ebuild40
-rw-r--r--dev-python/denonavr/denonavr-0.11.4.ebuild40
-rw-r--r--dev-python/denonavr/denonavr-0.11.6.ebuild41
-rw-r--r--dev-python/dep-logic/Manifest3
-rw-r--r--dev-python/dep-logic/dep-logic-0.4.2.ebuild25
-rw-r--r--dev-python/dep-logic/dep-logic-0.4.3.ebuild25
-rw-r--r--dev-python/dep-logic/dep-logic-0.4.4.ebuild25
-rw-r--r--dev-python/dep-logic/metadata.xml12
-rw-r--r--dev-python/deprecated/deprecated-1.2.14.ebuild10
-rw-r--r--dev-python/deprecated/files/deprecated-1.2.14-py313.patch34
-rw-r--r--dev-python/deprecation/deprecation-2.1.0-r1.ebuild4
-rw-r--r--dev-python/dict2xml/Manifest2
-rw-r--r--dev-python/dict2xml/dict2xml-1.7.3.ebuild23
-rw-r--r--dev-python/dict2xml/dict2xml-1.7.5-r1.ebuild25
-rw-r--r--dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild6
-rw-r--r--dev-python/dictpath/Manifest1
-rw-r--r--dev-python/dictpath/dictpath-0.1.3.ebuild39
-rw-r--r--dev-python/dictpath/metadata.xml10
-rw-r--r--dev-python/diff-match-patch/diff-match-patch-20230430.ebuild4
-rw-r--r--dev-python/dill/Manifest2
-rw-r--r--dev-python/dill/dill-0.3.7.ebuild28
-rw-r--r--dev-python/dill/dill-0.3.8-r2.ebuild33
-rw-r--r--dev-python/dirty-equals/dirty-equals-0.7.1.ebuild10
-rw-r--r--dev-python/discid/discid-1.2.0-r1.ebuild4
-rw-r--r--dev-python/diskcache/diskcache-5.6.3.ebuild6
-rw-r--r--dev-python/dissononce/dissononce-0.34.3-r3.ebuild23
-rw-r--r--dev-python/distlib/Manifest2
-rw-r--r--dev-python/distlib/distlib-0.3.7.ebuild59
-rw-r--r--dev-python/distlib/distlib-0.3.8.ebuild58
-rw-r--r--dev-python/distlib/files/distlib-0.3.7-pypy3.patch13
-rw-r--r--dev-python/distlib/files/distlib-0.3.8-py313.patch22
-rw-r--r--dev-python/distro/Manifest2
-rw-r--r--dev-python/distro/distro-1.8.0.ebuild22
-rw-r--r--dev-python/distro/distro-1.9.0.ebuild22
-rw-r--r--dev-python/dj-database-url/Manifest2
-rw-r--r--dev-python/dj-database-url/dj-database-url-2.1.0.ebuild31
-rw-r--r--dev-python/dj-database-url/dj-database-url-2.2.0.ebuild30
-rw-r--r--dev-python/dj-email-url/dj-email-url-1.0.6.ebuild6
-rw-r--r--dev-python/dj-search-url/dj-search-url-0.1-r1.ebuild6
-rw-r--r--dev-python/django-auth-ldap/Manifest4
-rw-r--r--dev-python/django-auth-ldap/django-auth-ldap-4.4.0.ebuild44
-rw-r--r--dev-python/django-auth-ldap/django-auth-ldap-4.5.0.ebuild44
-rw-r--r--dev-python/django-auth-ldap/django-auth-ldap-4.6.0.ebuild9
-rw-r--r--dev-python/django-auth-ldap/django-auth-ldap-4.7.0.ebuild43
-rw-r--r--dev-python/django-auth-ldap/django-auth-ldap-4.8.0.ebuild43
-rw-r--r--dev-python/django-cache-url/Manifest2
-rw-r--r--dev-python/django-cache-url/django-cache-url-3.4.4.ebuild36
-rw-r--r--dev-python/django-cache-url/django-cache-url-3.4.5.ebuild36
-rw-r--r--dev-python/django-cacheops/Manifest1
-rw-r--r--dev-python/django-cacheops/django-cacheops-7.0.1.ebuild71
-rw-r--r--dev-python/django-cacheops/django-cacheops-7.0.2.ebuild4
-rw-r--r--dev-python/django-configurations/Manifest2
-rw-r--r--dev-python/django-configurations/django-configurations-2.5.1.ebuild50
-rw-r--r--dev-python/django-configurations/django-configurations-2.5.ebuild44
-rw-r--r--dev-python/django-configurations/files/django-configurations-2.5.1-test.patch12
-rw-r--r--dev-python/django-cors-headers/Manifest4
-rw-r--r--dev-python/django-cors-headers/django-cors-headers-4.2.0.ebuild34
-rw-r--r--dev-python/django-cors-headers/django-cors-headers-4.3.0.ebuild34
-rw-r--r--dev-python/django-cors-headers/django-cors-headers-4.3.1.ebuild35
-rw-r--r--dev-python/django-cors-headers/django-cors-headers-4.4.0.ebuild35
-rw-r--r--dev-python/django-crispy-forms/Manifest4
-rw-r--r--dev-python/django-crispy-forms/django-crispy-forms-2.0-r1.ebuild28
-rw-r--r--dev-python/django-crispy-forms/django-crispy-forms-2.1.ebuild36
-rw-r--r--dev-python/django-crispy-forms/django-crispy-forms-2.2.ebuild36
-rw-r--r--dev-python/django-crispy-forms/django-crispy-forms-2.3.ebuild36
-rw-r--r--dev-python/django-debug-toolbar/Manifest4
-rw-r--r--dev-python/django-debug-toolbar/django-debug-toolbar-4.1.ebuild41
-rw-r--r--dev-python/django-debug-toolbar/django-debug-toolbar-4.2.0.ebuild36
-rw-r--r--dev-python/django-debug-toolbar/django-debug-toolbar-4.4.5.ebuild36
-rw-r--r--dev-python/django-debug-toolbar/django-debug-toolbar-4.4.6.ebuild36
-rw-r--r--dev-python/django-filter/Manifest5
-rw-r--r--dev-python/django-filter/django-filter-23.3.ebuild42
-rw-r--r--dev-python/django-filter/django-filter-23.5.ebuild (renamed from dev-python/django-filter/django-filter-23.4.ebuild)0
-rw-r--r--dev-python/django-filter/django-filter-24.1.ebuild42
-rw-r--r--dev-python/django-filter/django-filter-24.2.ebuild42
-rw-r--r--dev-python/django-js-asset/Manifest2
-rw-r--r--dev-python/django-js-asset/django-js-asset-2.1.0.ebuild36
-rw-r--r--dev-python/django-js-asset/django-js-asset-2.2.0.ebuild36
-rw-r--r--dev-python/django-otp/Manifest6
-rw-r--r--dev-python/django-otp/django-otp-1.2.2.ebuild43
-rw-r--r--dev-python/django-otp/django-otp-1.2.3.ebuild43
-rw-r--r--dev-python/django-otp/django-otp-1.2.4.ebuild43
-rw-r--r--dev-python/django-otp/django-otp-1.3.0.ebuild43
-rw-r--r--dev-python/django-otp/django-otp-1.5.0.ebuild46
-rw-r--r--dev-python/django-otp/django-otp-1.5.1.ebuild46
-rw-r--r--dev-python/django-polymorphic/Manifest1
-rw-r--r--dev-python/django-polymorphic/django-polymorphic-3.1-r1.ebuild41
-rw-r--r--dev-python/django-polymorphic/metadata.xml13
-rw-r--r--dev-python/django-prometheus/django-prometheus-2.3.1.ebuild4
-rw-r--r--dev-python/django-redis/Manifest1
-rw-r--r--dev-python/django-redis/django-redis-5.3.0.ebuild83
-rw-r--r--dev-python/django-redis/django-redis-5.4.0.ebuild4
-rw-r--r--dev-python/django-registration/Manifest1
-rw-r--r--dev-python/django-registration/django-registration-3.3-r1.ebuild32
-rw-r--r--dev-python/django-registration/django-registration-3.4-r1.ebuild32
-rw-r--r--dev-python/django-registration/django-registration-3.4.ebuild32
-rw-r--r--dev-python/django-sortedm2m/django-sortedm2m-3.1.1-r1.ebuild43
-rw-r--r--dev-python/django-sortedm2m/django-sortedm2m-3.1.1-r2.ebuild43
-rw-r--r--dev-python/django-tables2/Manifest2
-rw-r--r--dev-python/django-tables2/django-tables2-2.6.0.ebuild52
-rw-r--r--dev-python/django-tables2/django-tables2-2.7.0.ebuild55
-rw-r--r--dev-python/django-taggit/Manifest1
-rw-r--r--dev-python/django-taggit/django-taggit-5.0.1.ebuild37
-rw-r--r--dev-python/django-timezone-field/Manifest2
-rw-r--r--dev-python/django-timezone-field/django-timezone-field-6.0.1.ebuild42
-rw-r--r--dev-python/django-timezone-field/django-timezone-field-7.0.ebuild51
-rw-r--r--dev-python/django/Manifest13
-rw-r--r--dev-python/django/django-3.2.22.ebuild109
-rw-r--r--dev-python/django/django-4.1.12.ebuild97
-rw-r--r--dev-python/django/django-4.2.14.ebuild101
-rw-r--r--dev-python/django/django-4.2.6.ebuild98
-rw-r--r--dev-python/django/django-5.0.7.ebuild103
-rw-r--r--dev-python/django/django-5.1_rc1.ebuild83
-rw-r--r--dev-python/django/files/django-3.1-bashcomp.patch56
-rw-r--r--dev-python/django/files/django-3.2.19-py311.patch183
-rw-r--r--dev-python/django/files/django-3.2.20-urlsplit.patch111
-rw-r--r--dev-python/django/files/django-4.2.3-py312.patch25
-rw-r--r--dev-python/django/files/django-5.0.6-py313.patch58
-rw-r--r--dev-python/django_polymorphic/Manifest1
-rw-r--r--dev-python/django_polymorphic/django_polymorphic-3.1-r1.ebuild37
-rw-r--r--dev-python/django_polymorphic/metadata.xml13
-rw-r--r--dev-python/djangorestframework/Manifest2
-rw-r--r--dev-python/djangorestframework/djangorestframework-3.14.0.ebuild48
-rw-r--r--dev-python/djangorestframework/djangorestframework-3.15.2.ebuild47
-rw-r--r--dev-python/dkimpy/Manifest3
-rw-r--r--dev-python/dkimpy/dkimpy-1.1.5.ebuild37
-rw-r--r--dev-python/dkimpy/dkimpy-1.1.7.ebuild37
-rw-r--r--dev-python/dkimpy/dkimpy-1.1.8.ebuild37
-rw-r--r--dev-python/dns-lexicon/Manifest1
-rw-r--r--dev-python/dns-lexicon/dns-lexicon-3.16.1.ebuild71
-rw-r--r--dev-python/dns-lexicon/dns-lexicon-3.17.0.ebuild4
-rw-r--r--dev-python/dnspython/Manifest2
-rw-r--r--dev-python/dnspython/dnspython-2.4.2.ebuild51
-rw-r--r--dev-python/dnspython/dnspython-2.6.1.ebuild47
-rw-r--r--dev-python/doc8/doc8-1.1.1-r1.ebuild35
-rw-r--r--dev-python/doc8/doc8-1.1.1.ebuild33
-rw-r--r--dev-python/docker/Manifest2
-rw-r--r--dev-python/docker/docker-7.0.0.ebuild56
-rw-r--r--dev-python/docker/docker-7.1.0.ebuild56
-rw-r--r--dev-python/dockerpty/dockerpty-0.4.1-r2.ebuild19
-rw-r--r--dev-python/dockerpty/metadata.xml6
-rw-r--r--dev-python/docopt/docopt-0.6.2-r5.ebuild6
-rw-r--r--dev-python/docstring-to-markdown/Manifest2
-rw-r--r--dev-python/docstring-to-markdown/docstring-to-markdown-0.13.ebuild32
-rw-r--r--dev-python/docstring-to-markdown/docstring-to-markdown-0.15.ebuild32
-rw-r--r--dev-python/docutils-glep/docutils-glep-1.5.ebuild4
-rw-r--r--dev-python/docutils/Manifest2
-rw-r--r--dev-python/docutils/docutils-0.19.ebuild76
-rw-r--r--dev-python/docutils/docutils-0.20.1-r1.ebuild12
-rw-r--r--dev-python/docutils/docutils-0.21.2.ebuild80
-rw-r--r--dev-python/docutils/files/docutils-0.19-pygments-2.14.patch672
-rw-r--r--dev-python/dogpile-cache/Manifest2
-rw-r--r--dev-python/dogpile-cache/dogpile-cache-1.2.2.ebuild36
-rw-r--r--dev-python/dogpile-cache/dogpile-cache-1.3.3.ebuild36
-rw-r--r--dev-python/doit-py/doit-py-0.5.0-r1.ebuild4
-rw-r--r--dev-python/doit/doit-0.36.0-r2.ebuild70
-rw-r--r--dev-python/dominate/Manifest3
-rw-r--r--dev-python/dominate/dominate-2.8.0.ebuild26
-rw-r--r--dev-python/dominate/dominate-2.9.0.ebuild21
-rw-r--r--dev-python/dominate/dominate-2.9.1.ebuild22
-rw-r--r--dev-python/dominate/files/dominate-2.8.0-py312.patch20
-rw-r--r--dev-python/doublex-expects/doublex-expects-0.7.1-r1.ebuild4
-rw-r--r--dev-python/doublex/doublex-1.9.6.1.ebuild4
-rw-r--r--dev-python/dparse/Manifest2
-rw-r--r--dev-python/dparse/dparse-0.6.3-r1.ebuild31
-rw-r--r--dev-python/dparse/dparse-0.6.4_beta0.ebuild31
-rw-r--r--dev-python/dulwich/Manifest2
-rw-r--r--dev-python/dulwich/dulwich-0.21.6.ebuild55
-rw-r--r--dev-python/dulwich/dulwich-0.21.7-r1.ebuild64
-rw-r--r--dev-python/easyprocess/easyprocess-1.1-r1.ebuild4
-rw-r--r--dev-python/ecdsa/Manifest2
-rw-r--r--dev-python/ecdsa/ecdsa-0.18.0.ebuild33
-rw-r--r--dev-python/ecdsa/ecdsa-0.19.0.ebuild33
-rw-r--r--dev-python/editables/editables-0.5.ebuild4
-rw-r--r--dev-python/editorconfig-core-py/Manifest2
-rw-r--r--dev-python/editorconfig-core-py/editorconfig-core-py-0.12.3-r1.ebuild46
-rw-r--r--dev-python/editorconfig/Manifest2
-rw-r--r--dev-python/editorconfig/editorconfig-0.12.4-r1.ebuild55
-rw-r--r--dev-python/editorconfig/metadata.xml (renamed from dev-python/editorconfig-core-py/metadata.xml)0
-rw-r--r--dev-python/elastic-transport/Manifest2
-rw-r--r--dev-python/elastic-transport/elastic-transport-8.10.0.ebuild64
-rw-r--r--dev-python/elastic-transport/elastic-transport-8.13.1.ebuild67
-rw-r--r--dev-python/elastic-transport/metadata.xml2
-rw-r--r--dev-python/elasticsearch/Manifest2
-rw-r--r--dev-python/elasticsearch/elasticsearch-8.11.0.ebuild71
-rw-r--r--dev-python/elasticsearch/elasticsearch-8.14.0.ebuild83
-rw-r--r--dev-python/elasticsearch/metadata.xml1
-rw-r--r--dev-python/elementpath/Manifest2
-rw-r--r--dev-python/elementpath/elementpath-4.1.5.ebuild34
-rw-r--r--dev-python/elementpath/elementpath-4.4.0.ebuild33
-rw-r--r--dev-python/email-validator/Manifest2
-rw-r--r--dev-python/email-validator/email-validator-2.1.0_p1.ebuild31
-rw-r--r--dev-python/email-validator/email-validator-2.2.0.ebuild31
-rw-r--r--dev-python/emcee/Manifest2
-rw-r--r--dev-python/emcee/emcee-3.1.5.ebuild50
-rw-r--r--dev-python/emcee/emcee-3.1.6.ebuild50
-rw-r--r--dev-python/emoji/Manifest6
-rw-r--r--dev-python/emoji/emoji-2.11.0.ebuild25
-rw-r--r--dev-python/emoji/emoji-2.11.1.ebuild25
-rw-r--r--dev-python/emoji/emoji-2.12.1.ebuild29
-rw-r--r--dev-python/emoji/emoji-2.6.0.ebuild25
-rw-r--r--dev-python/emoji/emoji-2.7.0.ebuild25
-rw-r--r--dev-python/emoji/emoji-2.8.0.ebuild25
-rw-r--r--dev-python/empy/Manifest1
-rw-r--r--dev-python/empy/empy-3.3.4-r1.ebuild37
-rw-r--r--dev-python/empy/metadata.xml12
-rw-r--r--dev-python/enrich/enrich-1.2.7-r1.ebuild4
-rw-r--r--dev-python/ensurepip-pip/Manifest5
-rw-r--r--dev-python/ensurepip-pip/ensurepip-pip-23.3.1.ebuild24
-rw-r--r--dev-python/ensurepip-pip/ensurepip-pip-24.0.ebuild24
-rw-r--r--dev-python/ensurepip-pip/ensurepip-pip-24.1.1.ebuild24
-rw-r--r--dev-python/ensurepip-pip/ensurepip-pip-24.1.2.ebuild24
-rw-r--r--dev-python/ensurepip-pip/ensurepip-pip-24.1.ebuild24
-rw-r--r--dev-python/ensurepip-setuptools/Manifest8
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-68.2.2.ebuild24
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.0.ebuild24
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.1.ebuild24
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.2.ebuild24
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-70.2.0.ebuild24
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-70.3.0.ebuild24
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-71.0.4.ebuild24
-rw-r--r--dev-python/ensurepip-setuptools/ensurepip-setuptools-71.1.0.ebuild24
-rw-r--r--dev-python/ensurepip-wheel/Manifest3
-rw-r--r--dev-python/ensurepip-wheel/ensurepip-wheel-0.41.3.ebuild20
-rw-r--r--dev-python/ensurepip-wheel/ensurepip-wheel-0.42.0.ebuild20
-rw-r--r--dev-python/ensurepip-wheel/ensurepip-wheel-0.43.0.ebuild20
-rw-r--r--dev-python/entrypoint2/entrypoint2-1.1.ebuild4
-rw-r--r--dev-python/entrypoints/entrypoints-0.4.ebuild9
-rw-r--r--dev-python/environs/Manifest2
-rw-r--r--dev-python/environs/environs-11.0.0.ebuild39
-rw-r--r--dev-python/environs/environs-9.5.0-r1.ebuild39
-rw-r--r--dev-python/enzyme/Manifest2
-rw-r--r--dev-python/enzyme/enzyme-0.4.1-r3.ebuild45
-rw-r--r--dev-python/enzyme/enzyme-0.5.2.ebuild45
-rw-r--r--dev-python/enzyme/metadata.xml5
-rw-r--r--dev-python/ephemeral-port-reserve/ephemeral-port-reserve-1.1.4.ebuild4
-rw-r--r--dev-python/et-xmlfile/Manifest (renamed from dev-python/et_xmlfile/Manifest)0
-rw-r--r--dev-python/et-xmlfile/et-xmlfile-1.1.0-r1.ebuild33
-rw-r--r--dev-python/et-xmlfile/metadata.xml (renamed from dev-python/et_xmlfile/metadata.xml)0
-rw-r--r--dev-python/et_xmlfile/et_xmlfile-1.1.0-r1.ebuild33
-rw-r--r--dev-python/etuples/etuples-0.3.9.ebuild4
-rw-r--r--dev-python/evdev/Manifest1
-rw-r--r--dev-python/evdev/evdev-1.7.1.ebuild44
-rw-r--r--dev-python/evdev/metadata.xml (renamed from dev-python/python-evdev/metadata.xml)0
-rw-r--r--dev-python/ewmh/ewmh-0.1.6.ebuild4
-rw-r--r--dev-python/exam/Manifest1
-rw-r--r--dev-python/exam/exam-0.10.6.ebuild21
-rw-r--r--dev-python/exam/metadata.xml29
-rw-r--r--dev-python/exceptiongroup/Manifest4
-rw-r--r--dev-python/exceptiongroup/exceptiongroup-1.1.3.ebuild36
-rw-r--r--dev-python/exceptiongroup/exceptiongroup-1.2.0.ebuild36
-rw-r--r--dev-python/exceptiongroup/exceptiongroup-1.2.1.ebuild36
-rw-r--r--dev-python/exceptiongroup/exceptiongroup-1.2.2.ebuild26
-rw-r--r--dev-python/execnet/Manifest2
-rw-r--r--dev-python/execnet/execnet-2.0.2.ebuild32
-rw-r--r--dev-python/execnet/execnet-2.1.1.ebuild37
-rw-r--r--dev-python/executing/Manifest1
-rw-r--r--dev-python/executing/executing-2.0.2_pre20240626.ebuild65
-rw-r--r--dev-python/expandvars/Manifest2
-rw-r--r--dev-python/expandvars/expandvars-0.11.0.ebuild41
-rw-r--r--dev-python/expandvars/expandvars-0.12.0.ebuild21
-rw-r--r--dev-python/expects/expects-0.9.0-r1.ebuild4
-rw-r--r--dev-python/extras/extras-1.0.0-r2.ebuild4
-rw-r--r--dev-python/eyeD3/eyeD3-0.9.7-r1.ebuild4
-rw-r--r--dev-python/fakeredis/Manifest2
-rw-r--r--dev-python/fakeredis/fakeredis-2.20.0.ebuild84
-rw-r--r--dev-python/fakeredis/fakeredis-2.23.3.ebuild89
-rw-r--r--dev-python/fasteners/fasteners-0.19.ebuild4
-rw-r--r--dev-python/fastimport/fastimport-0.9.14.ebuild6
-rw-r--r--dev-python/fastjsonschema/Manifest2
-rw-r--r--dev-python/fastjsonschema/fastjsonschema-2.19.0.ebuild25
-rw-r--r--dev-python/fastjsonschema/fastjsonschema-2.20.0.ebuild25
-rw-r--r--dev-python/fb-re2/Manifest1
-rw-r--r--dev-python/fb-re2/fb-re2-1.0.7-r1.ebuild43
-rw-r--r--dev-python/fb-re2/metadata.xml16
-rw-r--r--dev-python/feedgenerator/feedgenerator-2.1.0.ebuild6
-rw-r--r--dev-python/feedparser/Manifest2
-rw-r--r--dev-python/feedparser/feedparser-6.0.10.ebuild46
-rw-r--r--dev-python/feedparser/feedparser-6.0.11.ebuild46
-rw-r--r--dev-python/ffmpeg-python/Manifest2
-rw-r--r--dev-python/ffmpeg-python/ffmpeg-python-0.2.0.ebuild38
-rw-r--r--dev-python/ffmpeg-python/ffmpeg-python-0.2.0_p20220711-r1.ebuild52
-rw-r--r--dev-python/ffmpeg-python/files/ffmpeg-python-0.2.0-_run.py-collections.patch12
-rw-r--r--dev-python/ffmpeg-python/files/ffmpeg-python-0.2.0-collections.patch14
-rw-r--r--dev-python/ffmpeg-python/files/ffmpeg-python-0.2.0-no-future-795.patch189
-rw-r--r--dev-python/ffmpeg-python/files/ffmpeg-python-0.2.0-setup.py-pytest-runner.patch11
-rw-r--r--dev-python/fido2/Manifest2
-rw-r--r--dev-python/fido2/fido2-0.9.3-r1.ebuild4
-rw-r--r--dev-python/fido2/fido2-1.1.2.ebuild44
-rw-r--r--dev-python/fido2/fido2-1.1.3.ebuild44
-rw-r--r--dev-python/fido2/metadata.xml6
-rw-r--r--dev-python/fields/fields-5.0.0-r3.ebuild4
-rw-r--r--dev-python/filelock/Manifest2
-rw-r--r--dev-python/filelock/filelock-3.13.1.ebuild29
-rw-r--r--dev-python/filelock/filelock-3.15.4.ebuild31
-rw-r--r--dev-python/filetype/filetype-1.2.0.ebuild4
-rw-r--r--dev-python/findimports/Manifest3
-rw-r--r--dev-python/findimports/findimports-2.3.0.ebuild27
-rw-r--r--dev-python/findimports/findimports-2.4.0.ebuild27
-rw-r--r--dev-python/findimports/findimports-2.5.0.ebuild27
-rw-r--r--dev-python/findpython/Manifest3
-rw-r--r--dev-python/findpython/findpython-0.3.1.ebuild20
-rw-r--r--dev-python/findpython/findpython-0.4.0.ebuild21
-rw-r--r--dev-python/findpython/findpython-0.6.1.ebuild21
-rw-r--r--dev-python/fitsio/Manifest4
-rw-r--r--dev-python/fitsio/fitsio-1.2.0.ebuild41
-rw-r--r--dev-python/fitsio/fitsio-1.2.1.ebuild41
-rw-r--r--dev-python/fitsio/fitsio-1.2.3.ebuild41
-rw-r--r--dev-python/fitsio/fitsio-1.2.4.ebuild41
-rw-r--r--dev-python/fixtures/fixtures-4.1.0.ebuild4
-rw-r--r--dev-python/flake8-polyfill/Manifest1
-rw-r--r--dev-python/flake8-polyfill/flake8-polyfill-1.0.2-r1.ebuild42
-rw-r--r--dev-python/flake8-polyfill/metadata.xml12
-rw-r--r--dev-python/flake8/Manifest2
-rw-r--r--dev-python/flake8/flake8-6.1.0.ebuild63
-rw-r--r--dev-python/flake8/flake8-7.1.0.ebuild60
-rw-r--r--dev-python/flaky/Manifest2
-rw-r--r--dev-python/flaky/flaky-3.7.0-r4.ebuild41
-rw-r--r--dev-python/flaky/flaky-3.8.1.ebuild37
-rw-r--r--dev-python/flasgger/flasgger-0.9.7.1.ebuild6
-rw-r--r--dev-python/flask-api/files/flask-api-3.1-flask-3.patch84
-rw-r--r--dev-python/flask-api/flask-api-3.1-r2.ebuild42
-rw-r--r--dev-python/flask-api/flask-api-3.1.ebuild36
-rw-r--r--dev-python/flask-babel/flask-babel-4.0.0.ebuild4
-rw-r--r--dev-python/flask-compress/Manifest2
-rw-r--r--dev-python/flask-compress/flask-compress-1.14.ebuild29
-rw-r--r--dev-python/flask-compress/flask-compress-1.15.ebuild29
-rw-r--r--dev-python/flask-cors/Manifest2
-rw-r--r--dev-python/flask-cors/flask-cors-4.0.0.ebuild43
-rw-r--r--dev-python/flask-cors/flask-cors-4.0.1.ebuild43
-rw-r--r--dev-python/flask-debug/flask-debug-0.4.3-r2.ebuild4
-rw-r--r--dev-python/flask-gravatar/Manifest1
-rw-r--r--dev-python/flask-gravatar/flask-gravatar-0.5.0-r2.ebuild40
-rw-r--r--dev-python/flask-gravatar/metadata.xml17
-rw-r--r--dev-python/flask-htmlmin/flask-htmlmin-2.2.1-r1.ebuild4
-rw-r--r--dev-python/flask-login/flask-login-0.6.3.ebuild4
-rw-r--r--dev-python/flask-migrate/Manifest2
-rw-r--r--dev-python/flask-migrate/flask-migrate-4.0.5.ebuild46
-rw-r--r--dev-python/flask-migrate/flask-migrate-4.0.7.ebuild46
-rw-r--r--dev-python/flask-paginate/Manifest4
-rw-r--r--dev-python/flask-paginate/flask-paginate-2022.1.8-r1.ebuild34
-rw-r--r--dev-python/flask-paginate/flask-paginate-2023.10.24.ebuild34
-rw-r--r--dev-python/flask-paginate/flask-paginate-2023.10.8.ebuild34
-rw-r--r--dev-python/flask-paginate/flask-paginate-2024.4.12.ebuild34
-rw-r--r--dev-python/flask-paranoid/flask-paranoid-0.3.0.ebuild4
-rw-r--r--dev-python/flask-sqlalchemy/flask-sqlalchemy-3.1.1.ebuild4
-rw-r--r--dev-python/flask/Manifest3
-rw-r--r--dev-python/flask/flask-2.3.3.ebuild57
-rw-r--r--dev-python/flask/flask-3.0.0.ebuild58
-rw-r--r--dev-python/flask/flask-3.0.3.ebuild58
-rw-r--r--dev-python/flatbuffers/Manifest2
-rw-r--r--dev-python/flatbuffers/files/flatbuffers-24.3.25-numpy-2.patch72
-rw-r--r--dev-python/flatbuffers/flatbuffers-23.5.26.ebuild39
-rw-r--r--dev-python/flatbuffers/flatbuffers-24.3.25-r1.ebuild46
-rw-r--r--dev-python/flatbuffers/metadata.xml4
-rw-r--r--dev-python/flatdict/flatdict-4.0.1.ebuild4
-rw-r--r--dev-python/fleep/fleep-1.0.1-r1.ebuild14
-rw-r--r--dev-python/fleep/fleep-9999.ebuild14
-rw-r--r--dev-python/fleep/metadata.xml2
-rw-r--r--dev-python/flexmock/Manifest2
-rw-r--r--dev-python/flexmock/flexmock-0.11.3.ebuild32
-rw-r--r--dev-python/flexmock/flexmock-0.12.1.ebuild36
-rw-r--r--dev-python/flexmock/metadata.xml4
-rw-r--r--dev-python/flit-core/flit-core-3.9.0.ebuild4
-rw-r--r--dev-python/flit/Manifest2
-rw-r--r--dev-python/flit/flit-3.8.0.ebuild54
-rw-r--r--dev-python/flit/flit-3.9.0-r1.ebuild52
-rw-r--r--dev-python/flit_scm/flit_scm-1.7.0.ebuild7
-rw-r--r--dev-python/flufl-lock/Manifest2
-rw-r--r--dev-python/flufl-lock/flufl-lock-8.0.2.ebuild36
-rw-r--r--dev-python/flufl-lock/flufl-lock-8.1.0.ebuild36
-rw-r--r--dev-python/fonttools/Manifest9
-rw-r--r--dev-python/fonttools/fonttools-4.43.1.ebuild68
-rw-r--r--dev-python/fonttools/fonttools-4.44.0.ebuild73
-rw-r--r--dev-python/fonttools/fonttools-4.44.1.ebuild73
-rw-r--r--dev-python/fonttools/fonttools-4.44.3.ebuild87
-rw-r--r--dev-python/fonttools/fonttools-4.45.0.ebuild91
-rw-r--r--dev-python/fonttools/fonttools-4.45.1.ebuild91
-rw-r--r--dev-python/fonttools/fonttools-4.46.0.ebuild94
-rw-r--r--dev-python/fonttools/fonttools-4.53.0.ebuild99
-rw-r--r--dev-python/fonttools/fonttools-4.53.1.ebuild99
-rw-r--r--dev-python/fpylll/Manifest2
-rw-r--r--dev-python/fpylll/files/fpylll-0.6.1-testfix.patch24
-rw-r--r--dev-python/fpylll/fpylll-0.6.0-r1.ebuild32
-rw-r--r--dev-python/fpylll/fpylll-0.6.1.ebuild43
-rw-r--r--dev-python/fqdn/Manifest2
-rw-r--r--dev-python/fqdn/fqdn-1.5.1-r2.ebuild8
-rw-r--r--dev-python/fqdn/metadata.xml4
-rw-r--r--dev-python/freetype-py/freetype-py-2.4.0-r1.ebuild4
-rw-r--r--dev-python/freezegun/Manifest2
-rw-r--r--dev-python/freezegun/files/freezegun-1.1.0-py310.patch30
-rw-r--r--dev-python/freezegun/freezegun-1.2.2.ebuild36
-rw-r--r--dev-python/freezegun/freezegun-1.5.1.ebuild47
-rw-r--r--dev-python/fritzconnection/Manifest3
-rw-r--r--dev-python/fritzconnection/fritzconnection-1.12.2.ebuild45
-rw-r--r--dev-python/fritzconnection/fritzconnection-1.13.0.ebuild50
-rw-r--r--dev-python/fritzconnection/fritzconnection-1.13.1.ebuild50
-rw-r--r--dev-python/fritzconnection/fritzconnection-1.13.2-r1.ebuild4
-rw-r--r--dev-python/fritzconnection/fritzconnection-1.13.2.ebuild50
-rw-r--r--dev-python/frozendict/Manifest2
-rw-r--r--dev-python/frozendict/frozendict-2.3.8.ebuild39
-rw-r--r--dev-python/frozendict/frozendict-2.3.9.ebuild35
-rw-r--r--dev-python/frozendict/metadata.xml16
-rw-r--r--dev-python/frozenlist/Manifest3
-rw-r--r--dev-python/frozenlist/files/frozenlist-1.4.1-py313.patch13
-rw-r--r--dev-python/frozenlist/frozenlist-1.3.3.ebuild45
-rw-r--r--dev-python/frozenlist/frozenlist-1.4.0.ebuild58
-rw-r--r--dev-python/frozenlist/frozenlist-1.4.1.ebuild58
-rw-r--r--dev-python/fs/fs-2.4.16.ebuild6
-rw-r--r--dev-python/fsspec/Manifest3
-rw-r--r--dev-python/fsspec/fsspec-2023.10.0.ebuild65
-rw-r--r--dev-python/fsspec/fsspec-2023.12.0.ebuild65
-rw-r--r--dev-python/fsspec/fsspec-2024.6.1.ebuild56
-rw-r--r--dev-python/ftfy/Manifest1
-rw-r--r--dev-python/ftfy/files/ftfy-6.2.0-poetry.patch36
-rw-r--r--dev-python/ftfy/ftfy-6.2.0.ebuild39
-rw-r--r--dev-python/ftfy/metadata.xml12
-rw-r--r--dev-python/funcparserlib/funcparserlib-1.0.1.ebuild4
-rw-r--r--dev-python/funcy/funcy-2.0.ebuild4
-rw-r--r--dev-python/furo/Manifest3
-rw-r--r--dev-python/furo/furo-2023.9.10.ebuild36
-rw-r--r--dev-python/furo/furo-2024.5.6.ebuild42
-rw-r--r--dev-python/furo/furo-2024.7.18.ebuild42
-rw-r--r--dev-python/fuse-python/Manifest1
-rw-r--r--dev-python/fuse-python/fuse-python-1.0.5.ebuild27
-rw-r--r--dev-python/fuse-python/metadata.xml13
-rw-r--r--dev-python/future/Manifest2
-rw-r--r--dev-python/future/files/future-0.18.2-py3.10.patch29
-rw-r--r--dev-python/future/files/future-0.18.2-py39-fileurl.patch22
-rw-r--r--dev-python/future/files/future-0.18.2-py39.patch65
-rw-r--r--dev-python/future/future-0.18.3.ebuild46
-rw-r--r--dev-python/future/metadata.xml13
-rw-r--r--dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0-r1.ebuild6
-rw-r--r--dev-python/gast/Manifest3
-rw-r--r--dev-python/gast/gast-0.5.3-r1.ebuild18
-rw-r--r--dev-python/gast/gast-0.5.5.ebuild21
-rw-r--r--dev-python/gast/gast-0.6.0.ebuild21
-rw-r--r--dev-python/gdb-pt-dump/Manifest1
-rw-r--r--dev-python/gdb-pt-dump/gdb-pt-dump-0.0.0_p20231111.ebuild31
-rw-r--r--dev-python/gdb-pt-dump/gdb-pt-dump-9999.ebuild31
-rw-r--r--dev-python/gdb-pt-dump/metadata.xml15
-rw-r--r--dev-python/genshi/Manifest2
-rw-r--r--dev-python/genshi/genshi-0.7.7.ebuild42
-rw-r--r--dev-python/genshi/genshi-0.7.9.ebuild49
-rw-r--r--dev-python/genson/Manifest1
-rw-r--r--dev-python/genson/genson-1.3.0.ebuild34
-rw-r--r--dev-python/genty/genty-1.3.2-r2.ebuild30
-rw-r--r--dev-python/genty/genty-1.3.2-r3.ebuild30
-rw-r--r--dev-python/geographiclib/Manifest1
-rw-r--r--dev-python/geographiclib/geographiclib-2.0.ebuild18
-rw-r--r--dev-python/geographiclib/metadata.xml13
-rw-r--r--dev-python/gfloat/Manifest1
-rw-r--r--dev-python/gfloat/gfloat-0.3.ebuild35
-rw-r--r--dev-python/gfloat/metadata.xml11
-rw-r--r--dev-python/ghp-import/ghp-import-2.1.0-r1.ebuild9
-rw-r--r--dev-python/git-review/Manifest2
-rw-r--r--dev-python/git-review/git-review-2.3.1-r1.ebuild41
-rw-r--r--dev-python/git-review/git-review-2.4.0.ebuild41
-rw-r--r--dev-python/git-review/git-review-9999.ebuild4
-rw-r--r--dev-python/git-review/metadata.xml1
-rw-r--r--dev-python/gitdb/gitdb-4.0.11.ebuild4
-rw-r--r--dev-python/github3-py/github3-py-4.0.1.ebuild12
-rw-r--r--dev-python/gmpy/Manifest2
-rw-r--r--dev-python/gmpy/gmpy-2.1.5-r2.ebuild6
-rw-r--r--dev-python/gmpy/gmpy-2.1.5.ebuild37
-rw-r--r--dev-python/gmpy/gmpy-2.2.0.ebuild45
-rw-r--r--dev-python/gmpy/gmpy-2.2.1.ebuild45
-rw-r--r--dev-python/google-api-core/Manifest2
-rw-r--r--dev-python/google-api-core/google-api-core-2.14.0.ebuild74
-rw-r--r--dev-python/google-api-core/google-api-core-2.19.1.ebuild65
-rw-r--r--dev-python/google-api-python-client/Manifest5
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.108.0.ebuild49
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.109.0.ebuild49
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.136.0.ebuild51
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.137.0.ebuild50
-rw-r--r--dev-python/google-api-python-client/google-api-python-client-2.138.0.ebuild50
-rw-r--r--dev-python/google-auth-httplib2/Manifest2
-rw-r--r--dev-python/google-auth-httplib2/google-auth-httplib2-0.1.1.ebuild39
-rw-r--r--dev-python/google-auth-httplib2/google-auth-httplib2-0.2.0.ebuild38
-rw-r--r--dev-python/google-auth-oauthlib/Manifest3
-rw-r--r--dev-python/google-auth-oauthlib/files/google-auth-oauthlib-1.2.0-setup-exclude.patch25
-rw-r--r--dev-python/google-auth-oauthlib/google-auth-oauthlib-1.0.0.ebuild39
-rw-r--r--dev-python/google-auth-oauthlib/google-auth-oauthlib-1.1.0.ebuild39
-rw-r--r--dev-python/google-auth-oauthlib/google-auth-oauthlib-1.2.1.ebuild44
-rw-r--r--dev-python/google-auth/Manifest4
-rw-r--r--dev-python/google-auth/google-auth-2.23.4.ebuild60
-rw-r--r--dev-python/google-auth/google-auth-2.24.0.ebuild60
-rw-r--r--dev-python/google-auth/google-auth-2.31.0.ebuild59
-rw-r--r--dev-python/google-auth/google-auth-2.32.0.ebuild58
-rw-r--r--dev-python/google-i18n-address/google-i18n-address-3.1.0-r1.ebuild30
-rw-r--r--dev-python/google-i18n-address/google-i18n-address-3.1.0.ebuild26
-rw-r--r--dev-python/google-pasta/google-pasta-0.2.0-r2.ebuild4
-rw-r--r--dev-python/googleapis-common-protos/Manifest2
-rw-r--r--dev-python/googleapis-common-protos/googleapis-common-protos-1.61.0.ebuild33
-rw-r--r--dev-python/googleapis-common-protos/googleapis-common-protos-1.63.2-r1.ebuild33
-rw-r--r--dev-python/gpep517/Manifest2
-rw-r--r--dev-python/gpep517/gpep517-15.ebuild43
-rw-r--r--dev-python/gpep517/gpep517-16.ebuild48
-rw-r--r--dev-python/graph-tool/Manifest2
-rw-r--r--dev-python/graph-tool/files/0001-Fix-compilation-with-boost-1.83-and-boost-1.76.patch28
-rw-r--r--dev-python/graph-tool/graph-tool-2.58.ebuild88
-rw-r--r--dev-python/graph-tool/graph-tool-2.71.ebuild84
-rw-r--r--dev-python/graph-tool/graph-tool-9999.ebuild4
-rw-r--r--dev-python/graphviz/Manifest2
-rw-r--r--dev-python/graphviz/files/graphviz-0.20.1_fix_python3_12_test_deprecated_escape.patch30
-rw-r--r--dev-python/graphviz/graphviz-0.20.1-r1.ebuild53
-rw-r--r--dev-python/graphviz/graphviz-0.20.1.ebuild48
-rw-r--r--dev-python/graphviz/graphviz-0.20.3.ebuild54
-rw-r--r--dev-python/greenlet/Manifest4
-rw-r--r--dev-python/greenlet/files/greenlet-3.0.3-py313.patch225
-rw-r--r--dev-python/greenlet/greenlet-2.0.2.ebuild42
-rw-r--r--dev-python/greenlet/greenlet-3.0.0.ebuild42
-rw-r--r--dev-python/greenlet/greenlet-3.0.1.ebuild43
-rw-r--r--dev-python/greenlet/greenlet-3.0.3-r1.ebuild53
-rw-r--r--dev-python/greenlet/greenlet-3.0.3.ebuild43
-rw-r--r--dev-python/greenstalk/greenstalk-2.0.2.ebuild4
-rw-r--r--dev-python/griffe/Manifest5
-rw-r--r--dev-python/griffe/griffe-0.36.9.ebuild45
-rw-r--r--dev-python/griffe/griffe-0.37.0.ebuild45
-rw-r--r--dev-python/griffe/griffe-0.38.0.ebuild45
-rw-r--r--dev-python/griffe/griffe-0.47.0.ebuild45
-rw-r--r--dev-python/griffe/griffe-0.48.0.ebuild49
-rw-r--r--dev-python/griffe/metadata.xml6
-rw-r--r--dev-python/grpcio-testing/Manifest1
-rw-r--r--dev-python/grpcio-testing/grpcio-testing-1.51.0.ebuild24
-rw-r--r--dev-python/grpcio-testing/metadata.xml12
-rw-r--r--dev-python/grpcio-tools/Manifest1
-rw-r--r--dev-python/grpcio-tools/grpcio-tools-1.51.0.ebuild36
-rw-r--r--dev-python/grpcio-tools/metadata.xml12
-rw-r--r--dev-python/grpcio/Manifest1
-rw-r--r--dev-python/grpcio/files/1.51.0-cython3.patch150
-rw-r--r--dev-python/grpcio/files/1.51.0-respect-cc.patch28
-rw-r--r--dev-python/grpcio/grpcio-1.51.0-r1.ebuild50
-rw-r--r--dev-python/grpcio/grpcio-1.51.0.ebuild49
-rw-r--r--dev-python/grpcio/metadata.xml12
-rw-r--r--dev-python/gsd/Manifest6
-rw-r--r--dev-python/gsd/gsd-3.0.1.ebuild40
-rw-r--r--dev-python/gsd/gsd-3.1.0.ebuild40
-rw-r--r--dev-python/gsd/gsd-3.1.1.ebuild40
-rw-r--r--dev-python/gsd/gsd-3.2.0.ebuild40
-rw-r--r--dev-python/gsd/gsd-3.2.1.ebuild40
-rw-r--r--dev-python/gsd/gsd-3.3.0.ebuild40
-rw-r--r--dev-python/gssapi/gssapi-1.8.3-r1.ebuild9
-rw-r--r--dev-python/gst-python/Manifest4
-rw-r--r--dev-python/gst-python/gst-python-1.20.5.ebuild63
-rw-r--r--dev-python/gst-python/gst-python-1.20.6.ebuild63
-rw-r--r--dev-python/gst-python/gst-python-1.22.11.ebuild63
-rw-r--r--dev-python/gst-python/gst-python-1.22.3.ebuild63
-rw-r--r--dev-python/guessit/Manifest2
-rw-r--r--dev-python/guessit/guessit-3.7.1.ebuild38
-rw-r--r--dev-python/guessit/guessit-3.8.0.ebuild38
-rw-r--r--dev-python/guzzle_sphinx_theme/Manifest1
-rw-r--r--dev-python/guzzle_sphinx_theme/guzzle_sphinx_theme-0.7.11-r2.ebuild18
-rw-r--r--dev-python/guzzle_sphinx_theme/metadata.xml10
-rw-r--r--dev-python/h11/h11-0.14.0.ebuild4
-rw-r--r--dev-python/h2/Manifest2
-rw-r--r--dev-python/h2/h2-4.1.0-r1.ebuild21
-rw-r--r--dev-python/h5py/Manifest3
-rw-r--r--dev-python/h5py/h5py-3.10.0.ebuild70
-rw-r--r--dev-python/h5py/h5py-3.11.0-r1.ebuild62
-rw-r--r--dev-python/hatch-fancy-pypi-readme/Manifest2
-rw-r--r--dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-23.1.0.ebuild37
-rw-r--r--dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-24.1.0.ebuild37
-rw-r--r--dev-python/hatch-jupyter-builder/Manifest2
-rw-r--r--dev-python/hatch-jupyter-builder/hatch-jupyter-builder-0.8.3.ebuild38
-rw-r--r--dev-python/hatch-jupyter-builder/hatch-jupyter-builder-0.9.1.ebuild40
-rw-r--r--dev-python/hatch-nodejs-version/Manifest1
-rw-r--r--dev-python/hatch-nodejs-version/hatch-nodejs-version-0.3.2.ebuild25
-rw-r--r--dev-python/hatch-nodejs-version/metadata.xml12
-rw-r--r--dev-python/hatch-vcs/Manifest1
-rw-r--r--dev-python/hatch-vcs/files/hatch-vcs-0.3.0-Work-with-setuptools_scm-7.1-fix-25-26.patch32
-rw-r--r--dev-python/hatch-vcs/hatch-vcs-0.3.0.ebuild38
-rw-r--r--dev-python/hatch-vcs/hatch-vcs-0.4.0.ebuild6
-rw-r--r--dev-python/hatchling/Manifest2
-rw-r--r--dev-python/hatchling/hatchling-1.18.0.ebuild86
-rw-r--r--dev-python/hatchling/hatchling-1.25.0.ebuild105
-rw-r--r--dev-python/hcloud/Manifest3
-rw-r--r--dev-python/hcloud/hcloud-1.32.0.ebuild49
-rw-r--r--dev-python/hcloud/hcloud-2.0.1.ebuild49
-rw-r--r--dev-python/hcloud/hcloud-2.1.0.ebuild49
-rw-r--r--dev-python/helpdev/helpdev-0.7.1-r1.ebuild4
-rw-r--r--dev-python/hidapi/Manifest2
-rw-r--r--dev-python/hidapi/hidapi-0.13.1.ebuild29
-rw-r--r--dev-python/hidapi/hidapi-0.14.0.ebuild4
-rw-r--r--dev-python/hidapi/hidapi-0.14.0_p2.ebuild43
-rw-r--r--dev-python/hiredis/Manifest4
-rw-r--r--dev-python/hiredis/files/hiredis-2.4.0-system-libs.patch33
-rw-r--r--dev-python/hiredis/hiredis-2.3.0.ebuild45
-rw-r--r--dev-python/hiredis/hiredis-2.3.2.ebuild45
-rw-r--r--dev-python/hiredis/hiredis-2.4.0.ebuild45
-rw-r--r--dev-python/hiredis/hiredis-3.0.0.ebuild45
-rw-r--r--dev-python/hishel/Manifest2
-rw-r--r--dev-python/hishel/hishel-0.0.29.ebuild74
-rw-r--r--dev-python/hishel/hishel-0.0.30.ebuild74
-rw-r--r--dev-python/hishel/metadata.xml12
-rw-r--r--dev-python/housekeeping/Manifest1
-rw-r--r--dev-python/housekeeping/housekeeping-1.1.ebuild31
-rw-r--r--dev-python/housekeeping/metadata.xml17
-rw-r--r--dev-python/hpack/Manifest2
-rw-r--r--dev-python/hpack/hpack-4.0.0-r1.ebuild10
-rw-r--r--dev-python/hpack/metadata.xml1
-rw-r--r--dev-python/html2text/Manifest2
-rw-r--r--dev-python/html2text/html2text-2020.1.16-r2.ebuild26
-rw-r--r--dev-python/html2text/html2text-2024.2.26.ebuild29
-rw-r--r--dev-python/html5-parser/Manifest1
-rw-r--r--dev-python/html5-parser/html5-parser-0.4.11.ebuild53
-rw-r--r--dev-python/html5-parser/html5-parser-0.4.12.ebuild6
-rw-r--r--dev-python/html5lib/files/html5lib-1.1-pytest6.patch66
-rw-r--r--dev-python/html5lib/html5lib-1.1-r1.ebuild38
-rw-r--r--dev-python/html5lib/html5lib-1.1-r2.ebuild49
-rw-r--r--dev-python/httmock/httmock-1.4.0-r1.ebuild4
-rw-r--r--dev-python/httpauth/Manifest2
-rw-r--r--dev-python/httpauth/httpauth-0.3-r1.ebuild4
-rw-r--r--dev-python/httpauth/httpauth-0.4.1.ebuild21
-rw-r--r--dev-python/httpauth/httpauth-0.4.ebuild27
-rw-r--r--dev-python/httpbin/Manifest2
-rw-r--r--dev-python/httpbin/files/httpbin-0.10.1-optional-flasgger.patch65
-rw-r--r--dev-python/httpbin/files/httpbin-0.10.1-werkzeug-3.patch78
-rw-r--r--dev-python/httpbin/httpbin-0.10.1-r3.ebuild42
-rw-r--r--dev-python/httpbin/httpbin-0.10.2.ebuild54
-rw-r--r--dev-python/httpcore/Manifest2
-rw-r--r--dev-python/httpcore/httpcore-1.0.2.ebuild49
-rw-r--r--dev-python/httpcore/httpcore-1.0.5.ebuild69
-rw-r--r--dev-python/httplib2/httplib2-0.22.0.ebuild4
-rw-r--r--dev-python/httpretty/httpretty-1.1.4-r1.ebuild17
-rw-r--r--dev-python/httpx-socks/Manifest2
-rw-r--r--dev-python/httpx-socks/httpx-socks-0.8.0.ebuild44
-rw-r--r--dev-python/httpx-socks/httpx-socks-0.9.1.ebuild52
-rw-r--r--dev-python/httpx/Manifest3
-rw-r--r--dev-python/httpx/files/httpx-0.27.0-opt-trio.patch17
-rw-r--r--dev-python/httpx/httpx-0.25.1.ebuild87
-rw-r--r--dev-python/httpx/httpx-0.25.2.ebuild87
-rw-r--r--dev-python/httpx/httpx-0.27.0.ebuild94
-rw-r--r--dev-python/huawei-lte-api/Manifest2
-rw-r--r--dev-python/huawei-lte-api/huawei-lte-api-1.7.3.ebuild40
-rw-r--r--dev-python/huawei-lte-api/huawei-lte-api-1.9.3.ebuild40
-rw-r--r--dev-python/humanfriendly/files/humanfriendly-10.0-py3.13.patch74
-rw-r--r--dev-python/humanfriendly/humanfriendly-10.0-r1.ebuild38
-rw-r--r--dev-python/humanfriendly/humanfriendly-10.0-r2.ebuild38
-rw-r--r--dev-python/humanize/Manifest2
-rw-r--r--dev-python/humanize/humanize-4.10.0.ebuild33
-rw-r--r--dev-python/humanize/humanize-4.8.0.ebuild28
-rw-r--r--dev-python/humanize/humanize-4.9.0.ebuild6
-rw-r--r--dev-python/hvac/Manifest5
-rw-r--r--dev-python/hvac/hvac-1.1.1.ebuild48
-rw-r--r--dev-python/hvac/hvac-1.2.0.ebuild44
-rw-r--r--dev-python/hvac/hvac-1.2.1.ebuild44
-rw-r--r--dev-python/hvac/hvac-2.0.0.ebuild44
-rw-r--r--dev-python/hvac/hvac-2.3.0.ebuild43
-rw-r--r--dev-python/hypercorn/Manifest3
-rw-r--r--dev-python/hypercorn/hypercorn-0.14.4.ebuild48
-rw-r--r--dev-python/hypercorn/hypercorn-0.15.0.ebuild49
-rw-r--r--dev-python/hypercorn/hypercorn-0.17.3.ebuild51
-rw-r--r--dev-python/hyperframe/hyperframe-6.0.1-r1.ebuild4
-rw-r--r--dev-python/hyperlink/hyperlink-21.0.0-r1.ebuild4
-rw-r--r--dev-python/hypothesis/Manifest7
-rw-r--r--dev-python/hypothesis/hypothesis-6.104.1.ebuild103
-rw-r--r--dev-python/hypothesis/hypothesis-6.107.0.ebuild103
-rw-r--r--dev-python/hypothesis/hypothesis-6.108.0.ebuild103
-rw-r--r--dev-python/hypothesis/hypothesis-6.108.2.ebuild103
-rw-r--r--dev-python/hypothesis/hypothesis-6.108.4.ebuild103
-rw-r--r--dev-python/hypothesis/hypothesis-6.90.0.ebuild90
-rw-r--r--dev-python/hypothesis/hypothesis-6.91.0.ebuild90
-rw-r--r--dev-python/icalendar/Manifest3
-rw-r--r--dev-python/icalendar/icalendar-5.0.11.ebuild39
-rw-r--r--dev-python/icalendar/icalendar-5.0.13.ebuild39
-rw-r--r--dev-python/icalendar/icalendar-6.0.0_alpha0.ebuild42
-rw-r--r--dev-python/identify/Manifest4
-rw-r--r--dev-python/identify/identify-2.5.31.ebuild29
-rw-r--r--dev-python/identify/identify-2.5.32.ebuild29
-rw-r--r--dev-python/identify/identify-2.5.36.ebuild29
-rw-r--r--dev-python/identify/identify-2.6.0.ebuild29
-rw-r--r--dev-python/identify/metadata.xml4
-rw-r--r--dev-python/idna/Manifest4
-rw-r--r--dev-python/idna/idna-3.4.ebuild22
-rw-r--r--dev-python/idna/idna-3.5.ebuild25
-rw-r--r--dev-python/idna/idna-3.6.ebuild22
-rw-r--r--dev-python/idna/idna-3.7.ebuild22
-rw-r--r--dev-python/ifaddr/ifaddr-0.2.0.ebuild8
-rw-r--r--dev-python/ifaddr/metadata.xml2
-rw-r--r--dev-python/ijson/Manifest2
-rw-r--r--dev-python/ijson/ijson-3.2.3.ebuild36
-rw-r--r--dev-python/ijson/ijson-3.3.0.ebuild36
-rw-r--r--dev-python/imageio-ffmpeg/Manifest3
-rw-r--r--dev-python/imageio-ffmpeg/files/imageio-ffmpeg-0.4.9-ffmpeg-6.patch25
-rw-r--r--dev-python/imageio-ffmpeg/imageio-ffmpeg-0.4.8.ebuild38
-rw-r--r--dev-python/imageio-ffmpeg/imageio-ffmpeg-0.4.9-r1.ebuild37
-rw-r--r--dev-python/imageio-ffmpeg/imageio-ffmpeg-0.4.9.ebuild32
-rw-r--r--dev-python/imageio-ffmpeg/imageio-ffmpeg-0.5.0.ebuild32
-rw-r--r--dev-python/imageio-ffmpeg/imageio-ffmpeg-0.5.1.ebuild32
-rw-r--r--dev-python/imageio/Manifest8
-rw-r--r--dev-python/imageio/files/imageio-2.34.1-numpy-2.patch36
-rw-r--r--dev-python/imageio/imageio-2.31.6.ebuild83
-rw-r--r--dev-python/imageio/imageio-2.32.0.ebuild85
-rw-r--r--dev-python/imageio/imageio-2.33.0.ebuild85
-rw-r--r--dev-python/imageio/imageio-2.34.1-r1.ebuild104
-rw-r--r--dev-python/imageio/imageio-2.34.1.ebuild103
-rw-r--r--dev-python/imageio/imageio-2.34.2.ebuild103
-rw-r--r--dev-python/imagesize/imagesize-1.4.1.ebuild4
-rw-r--r--dev-python/imapclient/Manifest2
-rw-r--r--dev-python/imapclient/imapclient-2.3.1.ebuild34
-rw-r--r--dev-python/imapclient/imapclient-3.0.0.ebuild32
-rw-r--r--dev-python/imapclient/imapclient-3.0.1.ebuild6
-rw-r--r--dev-python/iminuit/Manifest3
-rw-r--r--dev-python/iminuit/files/iminuit-2.21.3-gcc-13.patch21
-rw-r--r--dev-python/iminuit/iminuit-2.21.3.ebuild44
-rw-r--r--dev-python/iminuit/iminuit-2.24.0-r1.ebuild60
-rw-r--r--dev-python/iminuit/iminuit-2.24.0.ebuild60
-rw-r--r--dev-python/iminuit/iminuit-2.26.0.ebuild58
-rw-r--r--dev-python/immutabledict/Manifest3
-rw-r--r--dev-python/immutabledict/immutabledict-3.0.0.ebuild21
-rw-r--r--dev-python/immutabledict/immutabledict-4.0.0.ebuild21
-rw-r--r--dev-python/immutabledict/immutabledict-4.2.0.ebuild27
-rw-r--r--dev-python/immutables/files/immutables-0.20-opt-ext.patch28
-rw-r--r--dev-python/immutables/immutables-0.20.ebuild22
-rw-r--r--dev-python/importlib-metadata/Manifest6
-rw-r--r--dev-python/importlib-metadata/importlib-metadata-6.8.0.ebuild50
-rw-r--r--dev-python/importlib-metadata/importlib-metadata-6.9.0.ebuild50
-rw-r--r--dev-python/importlib-metadata/importlib-metadata-7.1.0.ebuild51
-rw-r--r--dev-python/importlib-metadata/importlib-metadata-8.0.0.ebuild51
-rw-r--r--dev-python/importlib-metadata/importlib-metadata-8.1.0.ebuild51
-rw-r--r--dev-python/importlib-metadata/importlib-metadata-8.2.0.ebuild51
-rw-r--r--dev-python/importlib-resources/Manifest1
-rw-r--r--dev-python/importlib-resources/files/importlib-resources-6.4.0-be.patch40
-rw-r--r--dev-python/importlib-resources/importlib-resources-6.4.0.ebuild35
-rw-r--r--dev-python/importlib-resources/metadata.xml15
-rw-r--r--dev-python/incremental/incremental-22.10.0-r1.ebuild4
-rw-r--r--dev-python/indexed-gzip/Manifest1
-rw-r--r--dev-python/indexed-gzip/indexed-gzip-1.8.5-r1.ebuild60
-rw-r--r--dev-python/indexed-gzip/indexed-gzip-1.8.7.ebuild4
-rw-r--r--dev-python/inflect/Manifest2
-rw-r--r--dev-python/inflect/inflect-7.0.0.ebuild29
-rw-r--r--dev-python/inflect/inflect-7.3.1.ebuild29
-rw-r--r--dev-python/inflection/inflection-0.5.1-r1.ebuild4
-rw-r--r--dev-python/ini2toml/Manifest2
-rw-r--r--dev-python/ini2toml/ini2toml-0.13.ebuild46
-rw-r--r--dev-python/ini2toml/ini2toml-0.15.ebuild59
-rw-r--r--dev-python/iniconfig/iniconfig-2.0.0.ebuild4
-rw-r--r--dev-python/iniparse/files/iniparse-0.5_p20221102-py3.11.7.patch27
-rw-r--r--dev-python/iniparse/iniparse-0.5_p20221102.ebuild19
-rw-r--r--dev-python/insipid-sphinx-theme/Manifest1
-rw-r--r--dev-python/insipid-sphinx-theme/insipid-sphinx-theme-0.4.1.ebuild30
-rw-r--r--dev-python/installer/installer-0.7.0.ebuild4
-rw-r--r--dev-python/intelhex/intelhex-2.3.0-r1.ebuild6
-rw-r--r--dev-python/intervaltree/intervaltree-3.1.0-r1.ebuild14
-rw-r--r--dev-python/iocapture/Manifest2
-rw-r--r--dev-python/iocapture/iocapture-0.1.2-r3.ebuild20
-rw-r--r--dev-python/ipykernel/Manifest5
-rw-r--r--dev-python/ipykernel/ipykernel-6.26.0.ebuild78
-rw-r--r--dev-python/ipykernel/ipykernel-6.27.0.ebuild78
-rw-r--r--dev-python/ipykernel/ipykernel-6.27.1.ebuild78
-rw-r--r--dev-python/ipykernel/ipykernel-6.29.4.ebuild80
-rw-r--r--dev-python/ipykernel/ipykernel-6.29.5.ebuild84
-rw-r--r--dev-python/ipyparallel/Manifest2
-rw-r--r--dev-python/ipyparallel/files/ipyparallel-8.6.1-pypy310.patch32
-rw-r--r--dev-python/ipyparallel/ipyparallel-8.6.1.ebuild89
-rw-r--r--dev-python/ipyparallel/ipyparallel-8.8.0.ebuild86
-rw-r--r--dev-python/ipython/Manifest5
-rw-r--r--dev-python/ipython/files/ipython-8.24.0-mpl-3.9.patch72
-rw-r--r--dev-python/ipython/files/ipython-8.24.0-pytest-8.patch125
-rw-r--r--dev-python/ipython/ipython-8.17.2.ebuild172
-rw-r--r--dev-python/ipython/ipython-8.18.1.ebuild172
-rw-r--r--dev-python/ipython/ipython-8.24.0-r1.ebuild182
-rw-r--r--dev-python/ipython/ipython-8.24.0.ebuild179
-rw-r--r--dev-python/ipython/ipython-8.25.0.ebuild152
-rw-r--r--dev-python/ipython/ipython-8.26.0.ebuild161
-rw-r--r--dev-python/ipython_genutils/ipython_genutils-0.2.0-r4.ebuild4
-rw-r--r--dev-python/ipywidgets/Manifest2
-rw-r--r--dev-python/ipywidgets/files/ipywidgets-8.1.3-py313.patch30
-rw-r--r--dev-python/ipywidgets/files/ipywidgets-8.1.3-pytest-8.patch91
-rw-r--r--dev-python/ipywidgets/ipywidgets-8.1.1-r1.ebuild45
-rw-r--r--dev-python/ipywidgets/ipywidgets-8.1.3.ebuild64
-rw-r--r--dev-python/irc/Manifest5
-rw-r--r--dev-python/irc/irc-20.3.0.ebuild45
-rw-r--r--dev-python/irc/irc-20.4.1.ebuild50
-rw-r--r--dev-python/irc/irc-20.4.2.ebuild44
-rw-r--r--dev-python/irc/irc-20.4.3.ebuild44
-rw-r--r--dev-python/irc/irc-20.5.0.ebuild47
-rw-r--r--dev-python/irctokens/irctokens-2.0.2.ebuild4
-rw-r--r--dev-python/iso8601/iso8601-2.1.0.ebuild4
-rw-r--r--dev-python/isodate/isodate-0.6.1-r1.ebuild4
-rw-r--r--dev-python/isoduration/isoduration-20.11.0-r1.ebuild4
-rw-r--r--dev-python/isort/Manifest2
-rw-r--r--dev-python/isort/files/isort-5.12.0-py312.patch40
-rw-r--r--dev-python/isort/isort-5.12.0.ebuild79
-rw-r--r--dev-python/isort/isort-5.13.2.ebuild82
-rw-r--r--dev-python/itsdangerous/Manifest2
-rw-r--r--dev-python/itsdangerous/itsdangerous-2.1.2.ebuild28
-rw-r--r--dev-python/itsdangerous/itsdangerous-2.2.0.ebuild28
-rw-r--r--dev-python/itunespy/Manifest1
-rw-r--r--dev-python/itunespy/itunespy-1.6-r1.ebuild30
-rw-r--r--dev-python/itunespy/itunespy-1.6-r2.ebuild30
-rw-r--r--dev-python/itunespy/itunespy-1.6.1.ebuild37
-rw-r--r--dev-python/jack-client/jack-client-0.5.4.ebuild4
-rw-r--r--dev-python/jack-client/metadata.xml6
-rw-r--r--dev-python/jaraco-classes/Manifest2
-rw-r--r--dev-python/jaraco-classes/jaraco-classes-3.3.0.ebuild27
-rw-r--r--dev-python/jaraco-classes/jaraco-classes-3.4.0.ebuild27
-rw-r--r--dev-python/jaraco-collections/Manifest2
-rw-r--r--dev-python/jaraco-collections/jaraco-collections-4.3.0.ebuild30
-rw-r--r--dev-python/jaraco-collections/jaraco-collections-5.0.1.ebuild35
-rw-r--r--dev-python/jaraco-context/Manifest2
-rw-r--r--dev-python/jaraco-context/jaraco-context-4.3.0.ebuild47
-rw-r--r--dev-python/jaraco-context/jaraco-context-5.3.0.ebuild58
-rw-r--r--dev-python/jaraco-env/jaraco-env-1.0.0.ebuild6
-rw-r--r--dev-python/jaraco-envs/jaraco-envs-2.6.0.ebuild6
-rw-r--r--dev-python/jaraco-functools/Manifest2
-rw-r--r--dev-python/jaraco-functools/jaraco-functools-4.0.0.ebuild56
-rw-r--r--dev-python/jaraco-functools/jaraco-functools-4.0.1.ebuild55
-rw-r--r--dev-python/jaraco-itertools/jaraco-itertools-6.4.1.ebuild6
-rw-r--r--dev-python/jaraco-logging/Manifest2
-rw-r--r--dev-python/jaraco-logging/jaraco-logging-3.2.0.ebuild39
-rw-r--r--dev-python/jaraco-logging/jaraco-logging-3.3.0.ebuild39
-rw-r--r--dev-python/jaraco-path/jaraco-path-3.7.0.ebuild4
-rw-r--r--dev-python/jaraco-stream/jaraco-stream-3.0.3-r1.ebuild4
-rw-r--r--dev-python/jaraco-test/Manifest2
-rw-r--r--dev-python/jaraco-test/jaraco-test-5.3.0.ebuild38
-rw-r--r--dev-python/jaraco-test/jaraco-test-5.4.0.ebuild47
-rw-r--r--dev-python/jaraco-text/Manifest4
-rw-r--r--dev-python/jaraco-text/jaraco-text-3.11.1-r1.ebuild57
-rw-r--r--dev-python/jaraco-text/jaraco-text-3.12.0.ebuild57
-rw-r--r--dev-python/jaraco-text/jaraco-text-3.12.1.ebuild56
-rw-r--r--dev-python/jaraco-text/jaraco-text-3.14.0.ebuild56
-rw-r--r--dev-python/jaraco-vcs/Manifest1
-rw-r--r--dev-python/jaraco-vcs/jaraco-vcs-2.2.0.ebuild41
-rw-r--r--dev-python/jaraco-vcs/metadata.xml12
-rw-r--r--dev-python/jaraco-versioning/Manifest1
-rw-r--r--dev-python/jaraco-versioning/jaraco-versioning-1.1.0.ebuild27
-rw-r--r--dev-python/jaraco-versioning/metadata.xml12
-rw-r--r--dev-python/jc/Manifest4
-rw-r--r--dev-python/jc/jc-1.23.4.ebuild32
-rw-r--r--dev-python/jc/jc-1.23.5.ebuild32
-rw-r--r--dev-python/jc/jc-1.23.6.ebuild32
-rw-r--r--dev-python/jc/jc-1.25.2.ebuild32
-rw-r--r--dev-python/jdcal/jdcal-1.4.1-r1.ebuild11
-rw-r--r--dev-python/jedi/Manifest1
-rw-r--r--dev-python/jedi/jedi-0.19.1_p20240706.ebuild86
-rw-r--r--dev-python/jeepney/jeepney-0.8.0.ebuild4
-rw-r--r--dev-python/jellyfish/Manifest107
-rw-r--r--dev-python/jellyfish/jellyfish-1.0.1.ebuild82
-rw-r--r--dev-python/jellyfish/jellyfish-1.0.3.ebuild85
-rw-r--r--dev-python/jellyfish/jellyfish-1.0.4.ebuild93
-rw-r--r--dev-python/jinja/Manifest2
-rw-r--r--dev-python/jinja/files/jinja-3.1.4-py313.patch67
-rw-r--r--dev-python/jinja/jinja-3.1.2.ebuild59
-rw-r--r--dev-python/jinja/jinja-3.1.4.ebuild51
-rw-r--r--dev-python/jinja2-time/jinja2-time-0.2.0-r1.ebuild4
-rw-r--r--dev-python/jmespath/jmespath-1.0.1.ebuild4
-rw-r--r--dev-python/joblib/Manifest2
-rw-r--r--dev-python/joblib/files/joblib-1.3.2-py3.12-avoid-ast.num-and-node.n.patch15
-rw-r--r--dev-python/joblib/files/joblib-1.3.2-py3.12-no-depr-warn.patch15
-rw-r--r--dev-python/joblib/joblib-1.3.2.ebuild60
-rw-r--r--dev-python/joblib/joblib-1.4.2.ebuild58
-rw-r--r--dev-python/josepy/josepy-1.14.0.ebuild4
-rw-r--r--dev-python/jq/Manifest2
-rw-r--r--dev-python/jq/jq-1.6.0-r1.ebuild46
-rw-r--r--dev-python/jq/jq-1.7.0.ebuild49
-rw-r--r--dev-python/js2py/files/js2py-0.74-CVE-2024-28397.patch21
-rw-r--r--dev-python/js2py/files/js2py-0.74-py312-load_attr.patch57
-rw-r--r--dev-python/js2py/js2py-0.74-r2.ebuild47
-rw-r--r--dev-python/js2py/js2py-0.74.ebuild40
-rw-r--r--dev-python/jschema-to-python/jschema-to-python-1.2.3-r1.ebuild6
-rw-r--r--dev-python/jsmin/jsmin-3.0.1.ebuild6
-rw-r--r--dev-python/json-rpc/json-rpc-1.15.0.ebuild4
-rw-r--r--dev-python/json-rpc/metadata.xml4
-rw-r--r--dev-python/json5/Manifest2
-rw-r--r--dev-python/json5/json5-0.9.11.ebuild27
-rw-r--r--dev-python/json5/json5-0.9.25.ebuild21
-rw-r--r--dev-python/jsondiff/Manifest3
-rw-r--r--dev-python/jsondiff/jsondiff-2.0.0-r1.ebuild4
-rw-r--r--dev-python/jsondiff/jsondiff-2.1.1.ebuild41
-rw-r--r--dev-python/jsondiff/jsondiff-2.1.2.ebuild41
-rw-r--r--dev-python/jsondiff/jsondiff-2.2.0.ebuild41
-rw-r--r--dev-python/jsonext/jsonext-0.4.2-r1.ebuild4
-rw-r--r--dev-python/jsonmerge/jsonmerge-1.9.2.ebuild4
-rw-r--r--dev-python/jsonpatch/jsonpatch-1.33.ebuild12
-rw-r--r--dev-python/jsonpath-ng/Manifest2
-rw-r--r--dev-python/jsonpath-ng/jsonpath-ng-1.6.0.ebuild31
-rw-r--r--dev-python/jsonpath-ng/jsonpath-ng-1.6.1.ebuild31
-rw-r--r--dev-python/jsonpickle/Manifest2
-rw-r--r--dev-python/jsonpickle/jsonpickle-3.0.2.ebuild74
-rw-r--r--dev-python/jsonpickle/jsonpickle-3.2.2.ebuild70
-rw-r--r--dev-python/jsonpointer/Manifest1
-rw-r--r--dev-python/jsonpointer/jsonpointer-2.4.ebuild4
-rw-r--r--dev-python/jsonpointer/jsonpointer-3.0.0.ebuild23
-rw-r--r--dev-python/jsonref/jsonref-1.1.0.ebuild6
-rw-r--r--dev-python/jsonschema-path/Manifest2
-rw-r--r--dev-python/jsonschema-path/jsonschema-path-0.3.2.ebuild44
-rw-r--r--dev-python/jsonschema-path/jsonschema-path-0.3.3.ebuild47
-rw-r--r--dev-python/jsonschema-spec/jsonschema-spec-0.2.4-r1.ebuild47
-rw-r--r--dev-python/jsonschema-spec/jsonschema-spec-0.2.4.ebuild44
-rw-r--r--dev-python/jsonschema-specifications/Manifest3
-rw-r--r--dev-python/jsonschema-specifications/jsonschema-specifications-2023.11.1.ebuild28
-rw-r--r--dev-python/jsonschema-specifications/jsonschema-specifications-2023.11.2.ebuild28
-rw-r--r--dev-python/jsonschema-specifications/jsonschema-specifications-2023.12.1.ebuild28
-rw-r--r--dev-python/jsonschema/Manifest4
-rw-r--r--dev-python/jsonschema/jsonschema-4.17.3.ebuild52
-rw-r--r--dev-python/jsonschema/jsonschema-4.20.0.ebuild57
-rw-r--r--dev-python/jsonschema/jsonschema-4.22.0.ebuild57
-rw-r--r--dev-python/jsonschema/jsonschema-4.23.0.ebuild57
-rw-r--r--dev-python/jsonxs/jsonxs-0.6-r1.ebuild9
-rw-r--r--dev-python/junit-xml/junit-xml-1.9-r1.ebuild4
-rw-r--r--dev-python/jupyter-client/Manifest2
-rw-r--r--dev-python/jupyter-client/jupyter-client-8.6.0.ebuild49
-rw-r--r--dev-python/jupyter-client/jupyter-client-8.6.2.ebuild56
-rw-r--r--dev-python/jupyter-console/jupyter-console-6.6.3.ebuild4
-rw-r--r--dev-python/jupyter-core/Manifest2
-rw-r--r--dev-python/jupyter-core/jupyter-core-5.5.0.ebuild40
-rw-r--r--dev-python/jupyter-core/jupyter-core-5.7.2.ebuild39
-rw-r--r--dev-python/jupyter-events/Manifest2
-rw-r--r--dev-python/jupyter-events/files/jupyter-events-0.10.0-test.patch93
-rw-r--r--dev-python/jupyter-events/jupyter-events-0.10.0.ebuild47
-rw-r--r--dev-python/jupyter-events/jupyter-events-0.9.0.ebuild41
-rw-r--r--dev-python/jupyter-kernel-test/Manifest2
-rw-r--r--dev-python/jupyter-kernel-test/jupyter-kernel-test-0.6.0.ebuild31
-rw-r--r--dev-python/jupyter-kernel-test/jupyter-kernel-test-0.7.0.ebuild31
-rw-r--r--dev-python/jupyter-lsp/Manifest3
-rw-r--r--dev-python/jupyter-lsp/jupyter-lsp-2.2.0.ebuild80
-rw-r--r--dev-python/jupyter-lsp/jupyter-lsp-2.2.1.ebuild80
-rw-r--r--dev-python/jupyter-lsp/jupyter-lsp-2.2.5.ebuild86
-rw-r--r--dev-python/jupyter-packaging/jupyter-packaging-0.12.3.ebuild19
-rw-r--r--dev-python/jupyter-server-fileid/Manifest1
-rw-r--r--dev-python/jupyter-server-fileid/jupyter-server-fileid-0.9.0.ebuild45
-rw-r--r--dev-python/jupyter-server-fileid/metadata.xml13
-rw-r--r--dev-python/jupyter-server-proxy/Manifest2
-rw-r--r--dev-python/jupyter-server-proxy/jupyter-server-proxy-3.2.2.ebuild29
-rw-r--r--dev-python/jupyter-server-proxy/jupyter-server-proxy-4.1.2.ebuild50
-rw-r--r--dev-python/jupyter-server-terminals/Manifest2
-rw-r--r--dev-python/jupyter-server-terminals/jupyter-server-terminals-0.4.4.ebuild45
-rw-r--r--dev-python/jupyter-server-terminals/jupyter-server-terminals-0.5.3.ebuild45
-rw-r--r--dev-python/jupyter-server-ydoc/Manifest1
-rw-r--r--dev-python/jupyter-server-ydoc/jupyter-server-ydoc-0.8.0.ebuild41
-rw-r--r--dev-python/jupyter-server-ydoc/metadata.xml13
-rw-r--r--dev-python/jupyter-server/Manifest6
-rw-r--r--dev-python/jupyter-server/files/jupyter-server-2.0.1-skip-npm.patch22
-rw-r--r--dev-python/jupyter-server/jupyter-server-2.10.1.ebuild75
-rw-r--r--dev-python/jupyter-server/jupyter-server-2.11.0.ebuild75
-rw-r--r--dev-python/jupyter-server/jupyter-server-2.11.1.ebuild75
-rw-r--r--dev-python/jupyter-server/jupyter-server-2.14.1.ebuild75
-rw-r--r--dev-python/jupyter-server/jupyter-server-2.14.2.ebuild75
-rw-r--r--dev-python/jupyter-server/jupyter-server-2.9.1.ebuild78
-rw-r--r--dev-python/jupyter-ydoc/Manifest1
-rw-r--r--dev-python/jupyter-ydoc/files/jupyter-ydoc-1.0.2-no-node-for-version.patch30
-rw-r--r--dev-python/jupyter-ydoc/jupyter-ydoc-1.0.2.ebuild49
-rw-r--r--dev-python/jupyter-ydoc/metadata.xml13
-rw-r--r--dev-python/jupyter/jupyter-1.0.0-r4.ebuild4
-rw-r--r--dev-python/jupyterlab-lsp/Manifest4
-rw-r--r--dev-python/jupyterlab-lsp/jupyterlab-lsp-5.0.0.ebuild26
-rw-r--r--dev-python/jupyterlab-lsp/jupyterlab-lsp-5.0.1.ebuild26
-rw-r--r--dev-python/jupyterlab-lsp/jupyterlab-lsp-5.0.3.ebuild26
-rw-r--r--dev-python/jupyterlab-lsp/jupyterlab-lsp-5.1.0.ebuild26
-rw-r--r--dev-python/jupyterlab-pygments/Manifest1
-rw-r--r--dev-python/jupyterlab-pygments/jupyterlab-pygments-0.2.2.ebuild23
-rw-r--r--dev-python/jupyterlab-pygments/jupyterlab-pygments-0.3.0.ebuild12
-rw-r--r--dev-python/jupyterlab-server/Manifest4
-rw-r--r--dev-python/jupyterlab-server/jupyterlab-server-2.25.1.ebuild66
-rw-r--r--dev-python/jupyterlab-server/jupyterlab-server-2.25.2.ebuild66
-rw-r--r--dev-python/jupyterlab-server/jupyterlab-server-2.27.2.ebuild64
-rw-r--r--dev-python/jupyterlab-server/jupyterlab-server-2.27.3.ebuild64
-rw-r--r--dev-python/jupyterlab-widgets/Manifest1
-rw-r--r--dev-python/jupyterlab-widgets/jupyterlab-widgets-3.0.11.ebuild24
-rw-r--r--dev-python/jupyterlab-widgets/metadata.xml17
-rw-r--r--dev-python/jupyterlab/Manifest3
-rw-r--r--dev-python/jupyterlab/jupyterlab-4.0.9.ebuild77
-rw-r--r--dev-python/jupyterlab/jupyterlab-4.2.3.ebuild81
-rw-r--r--dev-python/jupyterlab/jupyterlab-4.2.4.ebuild81
-rw-r--r--dev-python/jwcrypto/Manifest2
-rw-r--r--dev-python/jwcrypto/jwcrypto-1.5.0.ebuild37
-rw-r--r--dev-python/jwcrypto/jwcrypto-1.5.6.ebuild37
-rw-r--r--dev-python/k5test/Manifest2
-rw-r--r--dev-python/k5test/k5test-0.10.3.ebuild19
-rw-r--r--dev-python/k5test/k5test-0.10.4.ebuild19
-rw-r--r--dev-python/kafka-python/Manifest1
-rw-r--r--dev-python/kafka-python/files/kafka-python-2.0.2-py311-test-fixes.patch26
-rw-r--r--dev-python/kafka-python/kafka-python-2.0.2-r1.ebuild55
-rw-r--r--dev-python/kafka-python/metadata.xml9
-rw-r--r--dev-python/kaitaistruct/kaitaistruct-0.10.ebuild4
-rw-r--r--dev-python/kaitaistruct/metadata.xml5
-rw-r--r--dev-python/kaptan/kaptan-0.6.0.ebuild4
-rw-r--r--dev-python/kconfiglib/kconfiglib-14.1.0-r1.ebuild4
-rw-r--r--dev-python/keep/metadata.xml5
-rw-r--r--dev-python/kerberos/kerberos-1.3.1-r2.ebuild6
-rw-r--r--dev-python/keyring/Manifest3
-rw-r--r--dev-python/keyring/keyring-24.3.0.ebuild46
-rw-r--r--dev-python/keyring/keyring-24.3.1.ebuild46
-rw-r--r--dev-python/keyring/keyring-25.2.1.ebuild52
-rw-r--r--dev-python/keyrings-alt/Manifest1
-rw-r--r--dev-python/keyrings-alt/keyrings-alt-5.0.1.ebuild44
-rw-r--r--dev-python/keystoneauth1/Manifest3
-rw-r--r--dev-python/keystoneauth1/keystoneauth1-5.3.0.ebuild58
-rw-r--r--dev-python/keystoneauth1/keystoneauth1-5.4.0.ebuild58
-rw-r--r--dev-python/keystoneauth1/keystoneauth1-5.7.0.ebuild60
-rw-r--r--dev-python/keyutils/keyutils-0.6-r2.ebuild4
-rw-r--r--dev-python/kgb/kgb-7.1.1.ebuild4
-rw-r--r--dev-python/kiwisolver/Manifest1
-rw-r--r--dev-python/kiwisolver/files/kiwisolver-1.4.4-pypy3-tests.patch30
-rw-r--r--dev-python/kiwisolver/kiwisolver-1.4.4-r1.ebuild45
-rw-r--r--dev-python/kiwisolver/kiwisolver-1.4.5.ebuild6
-rw-r--r--dev-python/klein/Manifest2
-rw-r--r--dev-python/klein/klein-23.12.0.ebuild41
-rw-r--r--dev-python/klein/klein-23.5.0.ebuild47
-rw-r--r--dev-python/klein/metadata.xml4
-rw-r--r--dev-python/kombu/Manifest4
-rw-r--r--dev-python/kombu/files/kombu-5.3.7-py313.patch28
-rw-r--r--dev-python/kombu/kombu-5.3.2.ebuild82
-rw-r--r--dev-python/kombu/kombu-5.3.3.ebuild83
-rw-r--r--dev-python/kombu/kombu-5.3.4.ebuild83
-rw-r--r--dev-python/kombu/kombu-5.3.7.ebuild88
-rw-r--r--dev-python/krb5/Manifest1
-rw-r--r--dev-python/krb5/krb5-0.5.1.ebuild4
-rw-r--r--dev-python/krb5/krb5-0.6.0.ebuild32
-rw-r--r--dev-python/lark/Manifest2
-rw-r--r--dev-python/lark/lark-1.1.8.ebuild44
-rw-r--r--dev-python/lark/lark-1.1.9.ebuild40
-rw-r--r--dev-python/latexcodec/Manifest2
-rw-r--r--dev-python/latexcodec/latexcodec-2.0.1-r1.ebuild25
-rw-r--r--dev-python/latexcodec/latexcodec-3.0.0.ebuild21
-rw-r--r--dev-python/latexcodec/metadata.xml4
-rw-r--r--dev-python/lazy-loader/Manifest2
-rw-r--r--dev-python/lazy-loader/lazy-loader-0.3.ebuild21
-rw-r--r--dev-python/lazy-loader/lazy-loader-0.4.ebuild25
-rw-r--r--dev-python/lazy-loader/metadata.xml12
-rw-r--r--dev-python/lazy-object-proxy/Manifest2
-rw-r--r--dev-python/lazy-object-proxy/files/lazy-object-proxy-1.10.0-pure-tests.patch29
-rw-r--r--dev-python/lazy-object-proxy/lazy-object-proxy-1.10.0.ebuild50
-rw-r--r--dev-python/lazy-object-proxy/lazy-object-proxy-1.9.0.ebuild37
-rw-r--r--dev-python/lazy_loader/Manifest1
-rw-r--r--dev-python/lazy_loader/lazy_loader-0.3.ebuild22
-rw-r--r--dev-python/lazy_loader/metadata.xml12
-rw-r--r--dev-python/ldap3/ldap3-2.9.1.ebuild4
-rw-r--r--dev-python/leather/Manifest2
-rw-r--r--dev-python/leather/leather-0.3.4-r1.ebuild37
-rw-r--r--dev-python/leather/leather-0.4.0.ebuild34
-rw-r--r--dev-python/leechcorepyc/Manifest3
-rw-r--r--dev-python/leechcorepyc/files/leechcorepyc-2.16.0-respect-CC.patch30
-rw-r--r--dev-python/leechcorepyc/files/leechcorepyc-2.16.9-respect-CC.patch30
-rw-r--r--dev-python/leechcorepyc/leechcorepyc-2.16.5.ebuild41
-rw-r--r--dev-python/leechcorepyc/leechcorepyc-2.17.4.ebuild41
-rw-r--r--dev-python/leechcorepyc/leechcorepyc-2.18.0.ebuild41
-rw-r--r--dev-python/legacy-cgi/Manifest1
-rw-r--r--dev-python/legacy-cgi/legacy-cgi-2.6.1.ebuild21
-rw-r--r--dev-python/legacy-cgi/metadata.xml12
-rw-r--r--dev-python/lesscpy/lesscpy-0.15.1.ebuild4
-rw-r--r--dev-python/libarchive-c/Manifest2
-rw-r--r--dev-python/libarchive-c/libarchive-c-5.0.ebuild31
-rw-r--r--dev-python/libarchive-c/libarchive-c-5.1.ebuild31
-rw-r--r--dev-python/libcst/Manifest115
-rw-r--r--dev-python/libcst/libcst-1.3.1.ebuild187
-rw-r--r--dev-python/libcst/libcst-1.4.0.ebuild187
-rw-r--r--dev-python/libcst/metadata.xml11
-rw-r--r--dev-python/libevdev/libevdev-0.11.ebuild4
-rw-r--r--dev-python/liblarch/Manifest1
-rw-r--r--dev-python/liblarch/liblarch-3.1.0-r1.ebuild34
-rw-r--r--dev-python/liblarch/liblarch-3.2.0.ebuild4
-rw-r--r--dev-python/libnacl/libnacl-2.1.0.ebuild4
-rw-r--r--dev-python/libpillowfight/libpillowfight-0.3.0_p20210816-r1.ebuild4
-rw-r--r--dev-python/libsass/Manifest2
-rw-r--r--dev-python/libsass/libsass-0.22.0-r1.ebuild63
-rw-r--r--dev-python/libsass/libsass-0.23.0.ebuild62
-rw-r--r--dev-python/libtmux/Manifest15
-rw-r--r--dev-python/libtmux/libtmux-0.22.1.ebuild56
-rw-r--r--dev-python/libtmux/libtmux-0.23.0.ebuild55
-rw-r--r--dev-python/libtmux/libtmux-0.23.2.ebuild56
-rw-r--r--dev-python/libtmux/libtmux-0.24.1.ebuild55
-rw-r--r--dev-python/libtmux/libtmux-0.25.0.ebuild55
-rw-r--r--dev-python/libtmux/libtmux-0.27.0.ebuild59
-rw-r--r--dev-python/libtmux/libtmux-0.28.0.ebuild59
-rw-r--r--dev-python/libtmux/libtmux-0.30.1.ebuild57
-rw-r--r--dev-python/libtmux/libtmux-0.30.2.ebuild60
-rw-r--r--dev-python/libtmux/libtmux-0.32.0.ebuild62
-rw-r--r--dev-python/libtmux/libtmux-0.33.0.ebuild55
-rw-r--r--dev-python/libtmux/libtmux-0.35.0.ebuild62
-rw-r--r--dev-python/libtmux/libtmux-0.35.1.ebuild62
-rw-r--r--dev-python/libtmux/libtmux-0.36.0.ebuild62
-rw-r--r--dev-python/libtmux/libtmux-0.37.0.ebuild62
-rw-r--r--dev-python/libvirt-python/Manifest18
-rw-r--r--dev-python/libvirt-python/libvirt-python-10.0.0.ebuild63
-rw-r--r--dev-python/libvirt-python/libvirt-python-10.1.0.ebuild63
-rw-r--r--dev-python/libvirt-python/libvirt-python-10.2.0.ebuild63
-rw-r--r--dev-python/libvirt-python/libvirt-python-10.3.0.ebuild63
-rw-r--r--dev-python/libvirt-python/libvirt-python-10.5.0.ebuild63
-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/libvirt-python/libvirt-python-9.8.0.ebuild4
-rw-r--r--dev-python/libvirt-python/libvirt-python-9999.ebuild4
-rw-r--r--dev-python/libvirt-python/metadata.xml4
-rw-r--r--dev-python/license-expression/Manifest3
-rw-r--r--dev-python/license-expression/license-expression-30.1.1.ebuild34
-rw-r--r--dev-python/license-expression/license-expression-30.2.0.ebuild34
-rw-r--r--dev-python/license-expression/license-expression-30.3.0.ebuild34
-rw-r--r--dev-python/line-profiler/Manifest4
-rw-r--r--dev-python/line-profiler/line-profiler-4.1.0.ebuild47
-rw-r--r--dev-python/line-profiler/line-profiler-4.1.1.ebuild47
-rw-r--r--dev-python/line-profiler/line-profiler-4.1.2.ebuild46
-rw-r--r--dev-python/line-profiler/line-profiler-4.1.3.ebuild46
-rw-r--r--dev-python/linkify-it-py/Manifest2
-rw-r--r--dev-python/linkify-it-py/linkify-it-py-2.0.2.ebuild30
-rw-r--r--dev-python/linkify-it-py/linkify-it-py-2.0.3.ebuild30
-rw-r--r--dev-python/linode-metadata/Manifest1
-rw-r--r--dev-python/linode-metadata/linode-metadata-0.3.0.ebuild22
-rw-r--r--dev-python/linode-metadata/metadata.xml16
-rw-r--r--dev-python/lit/Manifest11
-rw-r--r--dev-python/lit/lit-14.0.6.ebuild42
-rw-r--r--dev-python/lit/lit-17.0.5.ebuild46
-rw-r--r--dev-python/lit/lit-17.0.6.ebuild4
-rw-r--r--dev-python/lit/lit-18.0.0.9999.ebuild45
-rw-r--r--dev-python/lit/lit-18.0.0_pre20231119.ebuild45
-rw-r--r--dev-python/lit/lit-18.0.0_pre20231129.ebuild45
-rw-r--r--dev-python/lit/lit-18.1.8.ebuild46
-rw-r--r--dev-python/lit/lit-19.0.0.9999.ebuild45
-rw-r--r--dev-python/lit/lit-19.0.0_pre20240706.ebuild45
-rw-r--r--dev-python/lit/lit-19.0.0_pre20240712.ebuild45
-rw-r--r--dev-python/lit/lit-19.0.0_pre20240720.ebuild45
-rw-r--r--dev-python/lit/lit-20.0.0.9999.ebuild45
-rw-r--r--dev-python/littleutils/Manifest1
-rw-r--r--dev-python/littleutils/littleutils-0.2.2-r1.ebuild4
-rw-r--r--dev-python/littleutils/littleutils-0.2.4.ebuild24
-rw-r--r--dev-python/livereload/Manifest3
-rw-r--r--dev-python/livereload/livereload-2.6.3-r1.ebuild49
-rw-r--r--dev-python/livereload/livereload-2.6.3.ebuild44
-rw-r--r--dev-python/livereload/livereload-2.7.0.ebuild46
-rw-r--r--dev-python/livereload/metadata.xml5
-rw-r--r--dev-python/llfuse/llfuse-1.5.0.ebuild4
-rw-r--r--dev-python/lmdb/Manifest2
-rw-r--r--dev-python/lmdb/lmdb-1.4.1.ebuild41
-rw-r--r--dev-python/lmdb/lmdb-1.5.1.ebuild40
-rw-r--r--dev-python/lmfit/Manifest3
-rw-r--r--dev-python/lmfit/files/lmfit-1.3.1-np2.patch39
-rw-r--r--dev-python/lmfit/lmfit-1.2.2.ebuild36
-rw-r--r--dev-python/lmfit/lmfit-1.3.1-r1.ebuild42
-rw-r--r--dev-python/lmfit/lmfit-1.3.1.ebuild37
-rw-r--r--dev-python/lmfit/lmfit-1.3.2.ebuild37
-rw-r--r--dev-python/locket/locket-1.0.0.ebuild4
-rw-r--r--dev-python/lockfile/lockfile-0.12.2-r3.ebuild4
-rw-r--r--dev-python/logbook/logbook-1.7.0.ebuild4
-rw-r--r--dev-python/logical-unification/logical-unification-0.4.6.ebuild4
-rw-r--r--dev-python/loguru/Manifest2
-rw-r--r--dev-python/loguru/loguru-0.7.0.ebuild35
-rw-r--r--dev-python/loguru/loguru-0.7.2.ebuild35
-rw-r--r--dev-python/loguru/metadata.xml13
-rw-r--r--dev-python/logutils/logutils-0.3.5-r1.ebuild6
-rw-r--r--dev-python/loky/loky-3.4.1.ebuild4
-rw-r--r--dev-python/looseversion/looseversion-1.3.0.ebuild8
-rw-r--r--dev-python/lxml-html-clean/Manifest1
-rw-r--r--dev-python/lxml-html-clean/lxml-html-clean-0.1.1.ebuild24
-rw-r--r--dev-python/lxml-html-clean/metadata.xml16
-rw-r--r--dev-python/lxml/Manifest3
-rw-r--r--dev-python/lxml/files/lxml-5.1.1-pypy.patch162
-rw-r--r--dev-python/lxml/lxml-4.9.3-r2.ebuild118
-rw-r--r--dev-python/lxml/lxml-5.2.2.ebuild119
-rw-r--r--dev-python/lz4/Manifest2
-rw-r--r--dev-python/lz4/lz4-4.3.2.ebuild42
-rw-r--r--dev-python/lz4/lz4-4.3.3.ebuild49
-rw-r--r--dev-python/m2crypto/Manifest2
-rw-r--r--dev-python/m2crypto/m2crypto-0.40.1.ebuild75
-rw-r--r--dev-python/m2crypto/m2crypto-0.41.0.ebuild71
-rw-r--r--dev-python/magic-wormhole-mailbox-server/Manifest1
-rw-r--r--dev-python/magic-wormhole-mailbox-server/magic-wormhole-mailbox-server-0.4.1_p20231111.ebuild31
-rw-r--r--dev-python/magic-wormhole-transit-relay/Manifest1
-rw-r--r--dev-python/magic-wormhole-transit-relay/magic-wormhole-transit-relay-0.2.1_p20230525.ebuild6
-rw-r--r--dev-python/magic-wormhole-transit-relay/magic-wormhole-transit-relay-0.2.1_p20231025.ebuild37
-rw-r--r--dev-python/magic-wormhole/Manifest1
-rw-r--r--dev-python/magic-wormhole/magic-wormhole-0.12.0_p20230525.ebuild51
-rw-r--r--dev-python/makefun/Manifest3
-rw-r--r--dev-python/makefun/files/makefun-1.15.3-test.patch80
-rw-r--r--dev-python/makefun/makefun-1.15.2.ebuild30
-rw-r--r--dev-python/makefun/makefun-1.15.3.ebuild34
-rw-r--r--dev-python/makefun/makefun-1.15.4.ebuild25
-rw-r--r--dev-python/makefun/metadata.xml6
-rw-r--r--dev-python/mako/Manifest2
-rw-r--r--dev-python/mako/mako-1.3.0.ebuild49
-rw-r--r--dev-python/mako/mako-1.3.5.ebuild55
-rw-r--r--dev-python/mamba/mamba-0.11.3.ebuild4
-rw-r--r--dev-python/mando/mando-0.7.1.ebuild4
-rw-r--r--dev-python/manuel/Manifest2
-rw-r--r--dev-python/manuel/files/manuel-1.12.4-tests-python311.patch22
-rw-r--r--dev-python/manuel/manuel-1.12.4.ebuild40
-rw-r--r--dev-python/manuel/manuel-1.12.4_p20231129.ebuild48
-rw-r--r--dev-python/mapbox-earcut/Manifest (renamed from dev-python/mapbox_earcut/Manifest)0
-rw-r--r--dev-python/mapbox-earcut/mapbox-earcut-1.0.1-r1.ebuild37
-rw-r--r--dev-python/mapbox-earcut/metadata.xml12
-rw-r--r--dev-python/mapbox-vector-tile/Manifest2
-rw-r--r--dev-python/mapbox-vector-tile/mapbox-vector-tile-2.0.1.ebuild35
-rw-r--r--dev-python/mapbox-vector-tile/mapbox-vector-tile-2.1.0.ebuild37
-rw-r--r--dev-python/mapbox_earcut/mapbox_earcut-1.0.1.ebuild34
-rw-r--r--dev-python/mapbox_earcut/metadata.xml12
-rw-r--r--dev-python/markdown-exec/Manifest5
-rw-r--r--dev-python/markdown-exec/markdown-exec-1.6.0.ebuild28
-rw-r--r--dev-python/markdown-exec/markdown-exec-1.7.0.ebuild34
-rw-r--r--dev-python/markdown-exec/markdown-exec-1.9.1.ebuild35
-rw-r--r--dev-python/markdown-exec/markdown-exec-1.9.2.ebuild35
-rw-r--r--dev-python/markdown-exec/markdown-exec-1.9.3.ebuild34
-rw-r--r--dev-python/markdown-exec/metadata.xml6
-rw-r--r--dev-python/markdown-include/markdown-include-0.8.1.ebuild12
-rw-r--r--dev-python/markdown-include/metadata.xml4
-rw-r--r--dev-python/markdown-it-py/markdown-it-py-3.0.0.ebuild4
-rw-r--r--dev-python/markdown/Manifest2
-rw-r--r--dev-python/markdown/markdown-3.5.1.ebuild39
-rw-r--r--dev-python/markdown/markdown-3.6.ebuild39
-rw-r--r--dev-python/markdown2/Manifest3
-rw-r--r--dev-python/markdown2/markdown2-2.4.10.ebuild31
-rw-r--r--dev-python/markdown2/markdown2-2.4.13.ebuild31
-rw-r--r--dev-python/markdown2/markdown2-2.5.0.ebuild31
-rw-r--r--dev-python/markups/markups-4.0.0.ebuild4
-rw-r--r--dev-python/markupsafe/Manifest2
-rw-r--r--dev-python/markupsafe/markupsafe-2.1.3.ebuild25
-rw-r--r--dev-python/markupsafe/markupsafe-2.1.5.ebuild41
-rw-r--r--dev-python/marshmallow/Manifest3
-rw-r--r--dev-python/marshmallow/marshmallow-3.20.1.ebuild36
-rw-r--r--dev-python/marshmallow/marshmallow-3.21.2.ebuild36
-rw-r--r--dev-python/marshmallow/marshmallow-3.21.3.ebuild36
-rw-r--r--dev-python/matplotlib-inline/Manifest2
-rw-r--r--dev-python/matplotlib-inline/matplotlib-inline-0.1.6-r1.ebuild35
-rw-r--r--dev-python/matplotlib-inline/matplotlib-inline-0.1.7.ebuild35
-rw-r--r--dev-python/matplotlib/Manifest8
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.3.3-disable-lto.patch25
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.7.1-test.patch244
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.7.2-macOS_no-Cocoa.patch21
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.7.2-pyparsing-3.1.patch274
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.8.0-test.patch263
-rw-r--r--dev-python/matplotlib/files/matplotlib-3.9.0-test.patch249
-rw-r--r--dev-python/matplotlib/matplotlib-3.7.1.ebuild331
-rw-r--r--dev-python/matplotlib/matplotlib-3.7.2-r1.ebuild334
-rw-r--r--dev-python/matplotlib/matplotlib-3.7.2.ebuild336
-rw-r--r--dev-python/matplotlib/matplotlib-3.7.3.ebuild328
-rw-r--r--dev-python/matplotlib/matplotlib-3.8.0.ebuild332
-rw-r--r--dev-python/matplotlib/matplotlib-3.8.1.ebuild332
-rw-r--r--dev-python/matplotlib/matplotlib-3.8.2.ebuild365
-rw-r--r--dev-python/matplotlib/matplotlib-3.9.0-r1.ebuild300
-rw-r--r--dev-python/matplotlib/matplotlib-3.9.1.ebuild301
-rw-r--r--dev-python/matrix-common/matrix-common-1.3.0-r1.ebuild6
-rw-r--r--dev-python/mcbootflash/Manifest2
-rw-r--r--dev-python/mcbootflash/mcbootflash-9.0.1.ebuild45
-rw-r--r--dev-python/mcbootflash/metadata.xml13
-rw-r--r--dev-python/mccabe/mccabe-0.7.0.ebuild24
-rw-r--r--dev-python/mdit-py-plugins/Manifest2
-rw-r--r--dev-python/mdit-py-plugins/mdit-py-plugins-0.4.0.ebuild34
-rw-r--r--dev-python/mdit-py-plugins/mdit-py-plugins-0.4.1.ebuild34
-rw-r--r--dev-python/mdurl/mdurl-0.1.2.ebuild4
-rw-r--r--dev-python/mdx-gh-links/Manifest2
-rw-r--r--dev-python/mdx-gh-links/mdx-gh-links-0.3.1.ebuild31
-rw-r--r--dev-python/mdx-gh-links/mdx-gh-links-0.4.ebuild31
-rw-r--r--dev-python/mechanize/Manifest2
-rw-r--r--dev-python/mechanize/mechanize-0.4.10.ebuild34
-rw-r--r--dev-python/mechanize/mechanize-0.4.9.ebuild34
-rw-r--r--dev-python/memory-allocator/Manifest2
-rw-r--r--dev-python/memory-allocator/memory-allocator-0.1.3.ebuild31
-rw-r--r--dev-python/memory-allocator/memory-allocator-0.1.4.ebuild35
-rw-r--r--dev-python/merge3/Manifest3
-rw-r--r--dev-python/merge3/merge3-0.0.13.ebuild22
-rw-r--r--dev-python/merge3/merge3-0.0.14.ebuild25
-rw-r--r--dev-python/merge3/merge3-0.0.15.ebuild25
-rw-r--r--dev-python/mergedeep/mergedeep-1.3.4-r1.ebuild9
-rw-r--r--dev-python/mergedict/mergedict-1.0.0-r1.ebuild4
-rw-r--r--dev-python/meshio/Manifest2
-rw-r--r--dev-python/meshio/meshio-5.3.4.ebuild32
-rw-r--r--dev-python/meshio/meshio-5.3.5.ebuild32
-rw-r--r--dev-python/meshio/metadata.xml4
-rw-r--r--dev-python/meson-python/Manifest2
-rw-r--r--dev-python/meson-python/files/meson-python-0.16.0-pyproject-metadata-0.8.patch68
-rw-r--r--dev-python/meson-python/meson-python-0.15.0.ebuild67
-rw-r--r--dev-python/meson-python/meson-python-0.16.0-r1.ebuild53
-rw-r--r--dev-python/metakernel/Manifest1
-rw-r--r--dev-python/metakernel/metakernel-0.30.2.ebuild47
-rw-r--r--dev-python/micawber/micawber-0.5.5.ebuild4
-rw-r--r--dev-python/mido/Manifest2
-rw-r--r--dev-python/mido/metadata.xml6
-rw-r--r--dev-python/mido/mido-1.3.0.ebuild30
-rw-r--r--dev-python/mido/mido-1.3.2.ebuild40
-rw-r--r--dev-python/mimerender/mimerender-0.6.0-r1.ebuild4
-rw-r--r--dev-python/minidb/Manifest2
-rw-r--r--dev-python/minidb/minidb-2.0.7.ebuild22
-rw-r--r--dev-python/minidb/minidb-2.0.8.ebuild22
-rw-r--r--dev-python/minify-html/Manifest51
-rw-r--r--dev-python/minify-html/minify-html-0.11.1.ebuild80
-rw-r--r--dev-python/minify-html/minify-html-0.15.0.ebuild49
-rw-r--r--dev-python/minikanren/minikanren-1.0.3-r1.ebuild4
-rw-r--r--dev-python/minimock/minimock-1.3.0-r1.ebuild4
-rw-r--r--dev-python/miniupnpc/Manifest6
-rw-r--r--dev-python/miniupnpc/files/miniupnpc-2.2.3-shared-lib.patch5
-rw-r--r--dev-python/miniupnpc/miniupnpc-2.2.4.ebuild52
-rw-r--r--dev-python/miniupnpc/miniupnpc-2.2.5.ebuild52
-rw-r--r--dev-python/miniupnpc/miniupnpc-2.2.8-r1.ebuild52
-rw-r--r--dev-python/miniupnpc/miniupnpc-2.2.8.ebuild51
-rw-r--r--dev-python/mistletoe/Manifest3
-rw-r--r--dev-python/mistletoe/mistletoe-1.2.1.ebuild36
-rw-r--r--dev-python/mistletoe/mistletoe-1.3.0.ebuild36
-rw-r--r--dev-python/mistletoe/mistletoe-1.4.0.ebuild36
-rw-r--r--dev-python/mistune/mistune-3.0.2.ebuild6
-rw-r--r--dev-python/mitmproxy_wireguard/metadata.xml5
-rw-r--r--dev-python/mkautodoc/mkautodoc-0.2.0.ebuild22
-rw-r--r--dev-python/mkdocs-ansible/Manifest3
-rw-r--r--dev-python/mkdocs-ansible/files/mkdocs-ansible-0.1.6-prune_deps.patch20
-rw-r--r--dev-python/mkdocs-ansible/files/mkdocs-ansible-0.2.0-prune_deps.patch20
-rw-r--r--dev-python/mkdocs-ansible/files/mkdocs-ansible-24.2.1-prune_deps.patch10
-rw-r--r--dev-python/mkdocs-ansible/metadata.xml5
-rw-r--r--dev-python/mkdocs-ansible/mkdocs-ansible-0.1.6-r1.ebuild41
-rw-r--r--dev-python/mkdocs-ansible/mkdocs-ansible-0.2.0.ebuild41
-rw-r--r--dev-python/mkdocs-ansible/mkdocs-ansible-24.3.0.ebuild42
-rw-r--r--dev-python/mkdocs-autorefs/Manifest2
-rw-r--r--dev-python/mkdocs-autorefs/metadata.xml6
-rw-r--r--dev-python/mkdocs-autorefs/mkdocs-autorefs-0.5.0.ebuild27
-rw-r--r--dev-python/mkdocs-autorefs/mkdocs-autorefs-1.0.1.ebuild34
-rw-r--r--dev-python/mkdocs-gen-files/metadata.xml6
-rw-r--r--dev-python/mkdocs-gen-files/mkdocs-gen-files-0.5.0.ebuild14
-rw-r--r--dev-python/mkdocs-get-deps/Manifest1
-rw-r--r--dev-python/mkdocs-get-deps/metadata.xml13
-rw-r--r--dev-python/mkdocs-get-deps/mkdocs-get-deps-0.2.0.ebuild27
-rw-r--r--dev-python/mkdocs-git-authors-plugin/Manifest2
-rw-r--r--dev-python/mkdocs-git-authors-plugin/mkdocs-git-authors-plugin-0.7.2.ebuild55
-rw-r--r--dev-python/mkdocs-git-authors-plugin/mkdocs-git-authors-plugin-0.9.0.ebuild55
-rw-r--r--dev-python/mkdocs-git-revision-date-localized-plugin/Manifest3
-rw-r--r--dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.2.0.ebuild63
-rw-r--r--dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.2.1.ebuild63
-rw-r--r--dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.2.6.ebuild63
-rw-r--r--dev-python/mkdocs-htmlproofer-plugin/Manifest2
-rw-r--r--dev-python/mkdocs-htmlproofer-plugin/metadata.xml6
-rw-r--r--dev-python/mkdocs-htmlproofer-plugin/mkdocs-htmlproofer-plugin-1.0.0.ebuild33
-rw-r--r--dev-python/mkdocs-htmlproofer-plugin/mkdocs-htmlproofer-plugin-1.2.1.ebuild33
-rw-r--r--dev-python/mkdocs-i18n/mkdocs-i18n-0.4.6.ebuild2
-rw-r--r--dev-python/mkdocs-macros-plugin/Manifest1
-rw-r--r--dev-python/mkdocs-macros-plugin/metadata.xml10
-rw-r--r--dev-python/mkdocs-macros-plugin/mkdocs-macros-plugin-1.0.5.ebuild34
-rw-r--r--dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.3.1.ebuild6
-rw-r--r--dev-python/mkdocs-material/Manifest4
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.4.14.ebuild67
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.5.28.ebuild67
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.5.29.ebuild67
-rw-r--r--dev-python/mkdocs-material/mkdocs-material-9.5.30.ebuild67
-rw-r--r--dev-python/mkdocs-minify-plugin/Manifest2
-rw-r--r--dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.7.1.ebuild53
-rw-r--r--dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.8.0.ebuild51
-rw-r--r--dev-python/mkdocs-monorepo-plugin/Manifest2
-rw-r--r--dev-python/mkdocs-monorepo-plugin/metadata.xml6
-rw-r--r--dev-python/mkdocs-monorepo-plugin/mkdocs-monorepo-plugin-1.0.5.ebuild33
-rw-r--r--dev-python/mkdocs-monorepo-plugin/mkdocs-monorepo-plugin-1.1.0.ebuild33
-rw-r--r--dev-python/mkdocs-pymdownx-material-extras/Manifest1
-rw-r--r--dev-python/mkdocs-pymdownx-material-extras/metadata.xml8
-rw-r--r--dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.5.5.ebuild23
-rw-r--r--dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.5.6.ebuild6
-rw-r--r--dev-python/mkdocs-redirects/mkdocs-redirects-1.2.1-r1.ebuild31
-rw-r--r--dev-python/mkdocs-redirects/mkdocs-redirects-1.2.1.ebuild31
-rw-r--r--dev-python/mkdocs-static-i18n/Manifest1
-rw-r--r--dev-python/mkdocs-static-i18n/metadata.xml13
-rw-r--r--dev-python/mkdocs-static-i18n/mkdocs-static-i18n-1.2.3.ebuild32
-rw-r--r--dev-python/mkdocs/Manifest2
-rw-r--r--dev-python/mkdocs/mkdocs-1.5.3-r1.ebuild85
-rw-r--r--dev-python/mkdocs/mkdocs-1.5.3.ebuild86
-rw-r--r--dev-python/mkdocs/mkdocs-1.6.0.ebuild86
-rw-r--r--dev-python/mkdocstrings-python/Manifest5
-rw-r--r--dev-python/mkdocstrings-python/metadata.xml6
-rw-r--r--dev-python/mkdocstrings-python/mkdocstrings-python-1.10.5.ebuild40
-rw-r--r--dev-python/mkdocstrings-python/mkdocstrings-python-1.10.7.ebuild34
-rw-r--r--dev-python/mkdocstrings-python/mkdocstrings-python-1.7.3.ebuild40
-rw-r--r--dev-python/mkdocstrings-python/mkdocstrings-python-1.7.4.ebuild40
-rw-r--r--dev-python/mkdocstrings-python/mkdocstrings-python-1.7.5.ebuild40
-rw-r--r--dev-python/mkdocstrings/Manifest5
-rw-r--r--dev-python/mkdocstrings/metadata.xml6
-rw-r--r--dev-python/mkdocstrings/mkdocstrings-0.22.0.ebuild57
-rw-r--r--dev-python/mkdocstrings/mkdocstrings-0.23.0.ebuild60
-rw-r--r--dev-python/mkdocstrings/mkdocstrings-0.24.0.ebuild62
-rw-r--r--dev-python/mkdocstrings/mkdocstrings-0.25.1.ebuild61
-rw-r--r--dev-python/mkdocstrings/mkdocstrings-0.25.2.ebuild56
-rw-r--r--dev-python/ml-dtypes/Manifest2
-rw-r--r--dev-python/ml-dtypes/metadata.xml16
-rw-r--r--dev-python/ml-dtypes/ml-dtypes-0.4.0.ebuild62
-rw-r--r--dev-python/mock/mock-5.1.0.ebuild4
-rw-r--r--dev-python/moddb/Manifest4
-rw-r--r--dev-python/moddb/moddb-0.10.0.ebuild54
-rw-r--r--dev-python/moddb/moddb-0.11.0.ebuild52
-rw-r--r--dev-python/moddb/moddb-0.8.1.ebuild54
-rw-r--r--dev-python/moddb/moddb-0.9.0.ebuild54
-rw-r--r--dev-python/more-itertools/Manifest2
-rw-r--r--dev-python/more-itertools/more-itertools-10.1.0.ebuild24
-rw-r--r--dev-python/more-itertools/more-itertools-10.3.0.ebuild24
-rw-r--r--dev-python/moto/Manifest9
-rw-r--r--dev-python/moto/moto-4.2.10.ebuild131
-rw-r--r--dev-python/moto/moto-4.2.11.ebuild132
-rw-r--r--dev-python/moto/moto-4.2.14.ebuild139
-rw-r--r--dev-python/moto/moto-4.2.6.ebuild123
-rw-r--r--dev-python/moto/moto-4.2.7.ebuild126
-rw-r--r--dev-python/moto/moto-4.2.8.ebuild126
-rw-r--r--dev-python/moto/moto-4.2.9.ebuild128
-rw-r--r--dev-python/moto/moto-5.0.10.ebuild184
-rw-r--r--dev-python/moto/moto-5.0.11.ebuild197
-rw-r--r--dev-python/mpdlcd/mpdlcd-0.5.2-r2.ebuild14
-rw-r--r--dev-python/mpi4py/Manifest2
-rw-r--r--dev-python/mpi4py/files/mpi4py-3.1.5-test_memory.testReadOnly.patch33
-rw-r--r--dev-python/mpi4py/mpi4py-3.1.4.ebuild61
-rw-r--r--dev-python/mpi4py/mpi4py-3.1.5.ebuild70
-rw-r--r--dev-python/mpmath/Manifest1
-rw-r--r--dev-python/mpmath/files/mpmath-1.4.0_alpha1-numpy-2.patch32
-rw-r--r--dev-python/mpmath/mpmath-1.3.0-r1.ebuild4
-rw-r--r--dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild63
-rw-r--r--dev-python/mrcfile/Manifest4
-rw-r--r--dev-python/mrcfile/files/mrcfile-1.4.3-test-assertion-error.patch25
-rw-r--r--dev-python/mrcfile/mrcfile-1.4.3.ebuild34
-rw-r--r--dev-python/mrcfile/mrcfile-1.5.1.ebuild29
-rw-r--r--dev-python/mrcfile/mrcfile-1.5.2.ebuild29
-rw-r--r--dev-python/mrcfile/mrcfile-1.5.3.ebuild29
-rw-r--r--dev-python/msgpack/Manifest2
-rw-r--r--dev-python/msgpack/msgpack-1.0.5-r1.ebuild51
-rw-r--r--dev-python/msgpack/msgpack-1.0.8.ebuild51
-rw-r--r--dev-python/mss/mss-9.0.1.ebuild31
-rw-r--r--dev-python/multidict/Manifest2
-rw-r--r--dev-python/multidict/multidict-6.0.4-r1.ebuild50
-rw-r--r--dev-python/multidict/multidict-6.0.5.ebuild51
-rw-r--r--dev-python/multipledispatch/multipledispatch-1.0.0.ebuild4
-rw-r--r--dev-python/multiprocess/Manifest2
-rw-r--r--dev-python/multiprocess/multiprocess-0.70.15.ebuild27
-rw-r--r--dev-python/multiprocess/multiprocess-0.70.16.ebuild27
-rw-r--r--dev-python/munch/files/munch-4.0.0-py313.patch29
-rw-r--r--dev-python/munch/munch-4.0.0.ebuild11
-rw-r--r--dev-python/munkres/files/munkres-1.1.4-test-32bit.patch34
-rw-r--r--dev-python/munkres/munkres-1.1.4-r1.ebuild11
-rw-r--r--dev-python/mypy/Manifest4
-rw-r--r--dev-python/mypy/files/mypy-1.10.1-py313.patch153
-rw-r--r--dev-python/mypy/mypy-1.10.1.ebuild133
-rw-r--r--dev-python/mypy/mypy-1.11.0.ebuild126
-rw-r--r--dev-python/mypy/mypy-1.7.0.ebuild105
-rw-r--r--dev-python/mypy/mypy-1.7.1.ebuild105
-rw-r--r--dev-python/mypy_extensions/mypy_extensions-1.0.0.ebuild4
-rw-r--r--dev-python/mysqlclient/Manifest2
-rw-r--r--dev-python/mysqlclient/mysqlclient-2.2.0.ebuild91
-rw-r--r--dev-python/mysqlclient/mysqlclient-2.2.4.ebuild93
-rw-r--r--dev-python/myst-parser/Manifest2
-rw-r--r--dev-python/myst-parser/myst-parser-2.0.0.ebuild60
-rw-r--r--dev-python/myst-parser/myst-parser-3.0.1.ebuild58
-rw-r--r--dev-python/nagiosplugin/nagiosplugin-1.3.3.ebuild6
-rw-r--r--dev-python/nanobind/Manifest1
-rw-r--r--dev-python/nanobind/metadata.xml12
-rw-r--r--dev-python/nanobind/nanobind-2.0.0-r1.ebuild71
-rw-r--r--dev-python/natsort/natsort-8.4.0.ebuild4
-rw-r--r--dev-python/nautilus-python/Manifest2
-rw-r--r--dev-python/nautilus-python/nautilus-python-4.0.1.ebuild52
-rw-r--r--dev-python/nautilus-python/nautilus-python-4.0.ebuild51
-rw-r--r--dev-python/nbclassic/Manifest2
-rw-r--r--dev-python/nbclassic/nbclassic-1.0.0-r1.ebuild82
-rw-r--r--dev-python/nbclassic/nbclassic-1.1.0-r1.ebuild74
-rw-r--r--dev-python/nbclient/Manifest2
-rw-r--r--dev-python/nbclient/files/nbclient-0.10.0-py313.patch35
-rw-r--r--dev-python/nbclient/nbclient-0.10.0.ebuild57
-rw-r--r--dev-python/nbclient/nbclient-0.9.0.ebuild47
-rw-r--r--dev-python/nbconvert/Manifest2
-rw-r--r--dev-python/nbconvert/nbconvert-7.11.0.ebuild82
-rw-r--r--dev-python/nbconvert/nbconvert-7.16.4.ebuild74
-rw-r--r--dev-python/nbdime/Manifest1
-rw-r--r--dev-python/nbdime/nbdime-3.2.1.ebuild78
-rw-r--r--dev-python/nbdime/nbdime-4.0.1.ebuild2
-rw-r--r--dev-python/nbformat/Manifest3
-rw-r--r--dev-python/nbformat/files/nbformat-5.7.1-no-node.patch2
-rw-r--r--dev-python/nbformat/nbformat-5.10.3-r1.ebuild49
-rw-r--r--dev-python/nbformat/nbformat-5.10.3-r2.ebuild46
-rw-r--r--dev-python/nbformat/nbformat-5.10.4.ebuild46
-rw-r--r--dev-python/nbformat/nbformat-5.9.2.ebuild48
-rw-r--r--dev-python/nbsphinx/Manifest2
-rw-r--r--dev-python/nbsphinx/nbsphinx-0.9.3.ebuild28
-rw-r--r--dev-python/nbsphinx/nbsphinx-0.9.4.ebuild28
-rw-r--r--dev-python/nbval/Manifest2
-rw-r--r--dev-python/nbval/nbval-0.10.0-r1.ebuild62
-rw-r--r--dev-python/nbval/nbval-0.11.0.ebuild62
-rw-r--r--dev-python/nbxmpp/Manifest5
-rw-r--r--dev-python/nbxmpp/metadata.xml3
-rw-r--r--dev-python/nbxmpp/nbxmpp-4.5.2.ebuild35
-rw-r--r--dev-python/nbxmpp/nbxmpp-4.5.3.ebuild35
-rw-r--r--dev-python/nbxmpp/nbxmpp-4.5.4.ebuild35
-rw-r--r--dev-python/nbxmpp/nbxmpp-5.0.1.ebuild35
-rw-r--r--dev-python/nbxmpp/nbxmpp-5.0.2.ebuild35
-rw-r--r--dev-python/nest-asyncio/Manifest2
-rw-r--r--dev-python/nest-asyncio/nest-asyncio-1.5.8.ebuild21
-rw-r--r--dev-python/nest-asyncio/nest-asyncio-1.6.0.ebuild21
-rw-r--r--dev-python/netaddr/Manifest3
-rw-r--r--dev-python/netaddr/metadata.xml1
-rw-r--r--dev-python/netaddr/netaddr-0.10.1.ebuild28
-rw-r--r--dev-python/netaddr/netaddr-0.9.0.ebuild27
-rw-r--r--dev-python/netaddr/netaddr-1.3.0.ebuild31
-rw-r--r--dev-python/netcdf4/Manifest3
-rw-r--r--dev-python/netcdf4/metadata.xml5
-rw-r--r--dev-python/netcdf4/netcdf4-1.6.4.ebuild55
-rw-r--r--dev-python/netcdf4/netcdf4-1.6.5.ebuild56
-rw-r--r--dev-python/netcdf4/netcdf4-1.7.1-r1.ebuild54
-rw-r--r--dev-python/netifaces/files/netifaces-0.11.0-musl-clang16-null.patch21
-rw-r--r--dev-python/netifaces/netifaces-0.11.0-r1.ebuild27
-rw-r--r--dev-python/netifaces/netifaces-0.11.0-r2.ebuild30
-rw-r--r--dev-python/networkx/Manifest4
-rw-r--r--dev-python/networkx/networkx-3.1.ebuild64
-rw-r--r--dev-python/networkx/networkx-3.2.1.ebuild60
-rw-r--r--dev-python/networkx/networkx-3.2.ebuild60
-rw-r--r--dev-python/networkx/networkx-3.3.ebuild66
-rw-r--r--dev-python/nh3/Manifest129
-rw-r--r--dev-python/nh3/nh3-0.2.14.ebuild100
-rw-r--r--dev-python/nh3/nh3-0.2.17-r1.ebuild112
-rw-r--r--dev-python/nh3/nh3-0.2.17.ebuild104
-rw-r--r--dev-python/nh3/nh3-0.2.18.ebuild113
-rw-r--r--dev-python/node-semver/node-semver-0.9.0.ebuild4
-rw-r--r--dev-python/nodeenv/Manifest2
-rw-r--r--dev-python/nodeenv/files/nodeenv-1.9.0-which-hunt.patch39
-rw-r--r--dev-python/nodeenv/metadata.xml5
-rw-r--r--dev-python/nodeenv/nodeenv-1.8.0.ebuild34
-rw-r--r--dev-python/nodeenv/nodeenv-1.9.1.ebuild34
-rw-r--r--dev-python/noiseprotocol/noiseprotocol-0.3.1.ebuild4
-rw-r--r--dev-python/nose/Manifest1
-rw-r--r--dev-python/nose/metadata.xml13
-rw-r--r--dev-python/nose/nose-1.3.7_p20221026.ebuild58
-rw-r--r--dev-python/nose2/Manifest2
-rw-r--r--dev-python/nose2/nose2-0.14.0.ebuild35
-rw-r--r--dev-python/nose2/nose2-0.15.1.ebuild31
-rw-r--r--dev-python/noseofyeti/Manifest1
-rw-r--r--dev-python/noseofyeti/metadata.xml12
-rw-r--r--dev-python/noseofyeti/noseofyeti-2.4.9-r1.ebuild39
-rw-r--r--dev-python/notebook-shim/Manifest2
-rw-r--r--dev-python/notebook-shim/notebook-shim-0.2.3.ebuild44
-rw-r--r--dev-python/notebook-shim/notebook-shim-0.2.4.ebuild44
-rw-r--r--dev-python/notebook/Manifest2
-rw-r--r--dev-python/notebook/notebook-7.0.6.ebuild62
-rw-r--r--dev-python/notebook/notebook-7.2.1.ebuild64
-rw-r--r--dev-python/notify2/notify2-0.3.1-r3.ebuild4
-rw-r--r--dev-python/nox/Manifest2
-rw-r--r--dev-python/nox/nox-2023.04.22.ebuild47
-rw-r--r--dev-python/nox/nox-2024.04.15.ebuild67
-rw-r--r--dev-python/nspektr/Manifest1
-rw-r--r--dev-python/nspektr/metadata.xml12
-rw-r--r--dev-python/nspektr/nspektr-0.5.0.ebuild54
-rw-r--r--dev-python/ntplib/ntplib-0.4.0-r1.ebuild4
-rw-r--r--dev-python/numexpr/Manifest4
-rw-r--r--dev-python/numexpr/numexpr-2.10.0-r1.ebuild49
-rw-r--r--dev-python/numexpr/numexpr-2.10.1.ebuild48
-rw-r--r--dev-python/numexpr/numexpr-2.8.7.ebuild39
-rw-r--r--dev-python/numexpr/numexpr-2.9.0.ebuild40
-rw-r--r--dev-python/numpy/Manifest5
-rw-r--r--dev-python/numpy/files/numpy-1.26.1-alpha.patch25
-rw-r--r--dev-python/numpy/numpy-1.26.1.ebuild160
-rw-r--r--dev-python/numpy/numpy-1.26.2.ebuild169
-rw-r--r--dev-python/numpy/numpy-1.26.4.ebuild180
-rw-r--r--dev-python/numpy/numpy-2.0.0.ebuild132
-rw-r--r--dev-python/numpy/numpy-2.0.1.ebuild132
-rw-r--r--dev-python/numpydoc/Manifest3
-rw-r--r--dev-python/numpydoc/numpydoc-1.6.0.ebuild49
-rw-r--r--dev-python/numpydoc/numpydoc-1.7.0.ebuild50
-rw-r--r--dev-python/numpydoc/numpydoc-1.8.0_rc2.ebuild52
-rw-r--r--dev-python/oauthlib/files/oauthlib-3.2.2-py313.patch37
-rw-r--r--dev-python/oauthlib/oauthlib-3.2.2.ebuild9
-rw-r--r--dev-python/objgraph/Manifest2
-rw-r--r--dev-python/objgraph/files/objgraph-3.4.1-tests.patch57
-rw-r--r--dev-python/objgraph/objgraph-3.5.0-r1.ebuild46
-rw-r--r--dev-python/objgraph/objgraph-3.6.1.ebuild66
-rw-r--r--dev-python/oct2py/Manifest3
-rw-r--r--dev-python/oct2py/oct2py-5.5.1.ebuild51
-rw-r--r--dev-python/oct2py/oct2py-5.6.0.ebuild4
-rw-r--r--dev-python/oct2py/oct2py-5.6.1.ebuild52
-rw-r--r--dev-python/oct2py/oct2py-5.7.0.ebuild52
-rw-r--r--dev-python/octave-kernel/Manifest1
-rw-r--r--dev-python/octave-kernel/metadata.xml (renamed from dev-python/octave_kernel/metadata.xml)0
-rw-r--r--dev-python/octave-kernel/octave-kernel-0.35.1.ebuild37
-rw-r--r--dev-python/octave_kernel/Manifest2
-rw-r--r--dev-python/octave_kernel/octave_kernel-0.34.2.ebuild40
-rw-r--r--dev-python/octave_kernel/octave_kernel-0.35.1.ebuild37
-rw-r--r--dev-python/odfpy/odfpy-1.4.2.ebuild4
-rw-r--r--dev-python/olefile/Manifest2
-rw-r--r--dev-python/olefile/olefile-0.46-r2.ebuild28
-rw-r--r--dev-python/olefile/olefile-0.47.ebuild28
-rw-r--r--dev-python/omemo-dr/Manifest1
-rw-r--r--dev-python/omemo-dr/omemo-dr-1.0.0.ebuild28
-rw-r--r--dev-python/omemo-dr/omemo-dr-1.0.1.ebuild4
-rw-r--r--dev-python/openapi-core/Manifest2
-rw-r--r--dev-python/openapi-core/openapi-core-0.18.2.ebuild69
-rw-r--r--dev-python/openapi-core/openapi-core-0.19.2.ebuild71
-rw-r--r--dev-python/openapi-schema-validator/files/openapi-schema-validator-0.6.2-test.patch24
-rw-r--r--dev-python/openapi-schema-validator/openapi-schema-validator-0.6.2.ebuild8
-rw-r--r--dev-python/openapi-spec-validator/openapi-spec-validator-0.7.1.ebuild4
-rw-r--r--dev-python/openapi3/openapi3-1.8.2.ebuild11
-rw-r--r--dev-python/openpyxl/Manifest2
-rw-r--r--dev-python/openpyxl/openpyxl-3.1.2.ebuild54
-rw-r--r--dev-python/openpyxl/openpyxl-3.1.5.ebuild46
-rw-r--r--dev-python/opensearch-py/Manifest1
-rw-r--r--dev-python/opensearch-py/opensearch-py-1.1.0.ebuild41
-rw-r--r--dev-python/openstackdocstheme/openstackdocstheme-3.2.0.ebuild4
-rw-r--r--dev-python/openstacksdk/Manifest4
-rw-r--r--dev-python/openstacksdk/openstacksdk-2.0.0-r1.ebuild89
-rw-r--r--dev-python/openstacksdk/openstacksdk-3.1.0.ebuild91
-rw-r--r--dev-python/openstacksdk/openstacksdk-3.2.0.ebuild91
-rw-r--r--dev-python/openstacksdk/openstacksdk-3.3.0.ebuild91
-rw-r--r--dev-python/opentelemetry-api/Manifest1
-rw-r--r--dev-python/opentelemetry-api/metadata.xml20
-rw-r--r--dev-python/opentelemetry-api/opentelemetry-api-1.24.0.ebuild71
-rw-r--r--dev-python/opentelemetry-sdk/Manifest1
-rw-r--r--dev-python/opentelemetry-sdk/metadata.xml20
-rw-r--r--dev-python/opentelemetry-sdk/opentelemetry-sdk-1.24.0.ebuild81
-rw-r--r--dev-python/opentelemetry-semantic-conventions/Manifest1
-rw-r--r--dev-python/opentelemetry-semantic-conventions/metadata.xml20
-rw-r--r--dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.24.0.ebuild69
-rw-r--r--dev-python/ordered-set/ordered-set-4.1.0.ebuild4
-rw-r--r--dev-python/orjson/Manifest56
-rw-r--r--dev-python/orjson/orjson-3.10.6.ebuild91
-rw-r--r--dev-python/orjson/orjson-3.9.10.ebuild90
-rw-r--r--dev-python/os-client-config/metadata.xml1
-rw-r--r--dev-python/os-client-config/os-client-config-2.1.0-r2.ebuild11
-rw-r--r--dev-python/os-service-types/os-service-types-1.7.0-r2.ebuild10
-rw-r--r--dev-python/osc-lib/Manifest3
-rw-r--r--dev-python/osc-lib/osc-lib-2.9.0.ebuild51
-rw-r--r--dev-python/osc-lib/osc-lib-3.0.1.ebuild51
-rw-r--r--dev-python/osc-lib/osc-lib-3.1.0.ebuild51
-rw-r--r--dev-python/oslo-concurrency/Manifest2
-rw-r--r--dev-python/oslo-concurrency/oslo-concurrency-5.2.0.ebuild50
-rw-r--r--dev-python/oslo-concurrency/oslo-concurrency-6.0.0.ebuild50
-rw-r--r--dev-python/oslo-config/Manifest2
-rw-r--r--dev-python/oslo-config/oslo-config-9.2.0-r1.ebuild58
-rw-r--r--dev-python/oslo-config/oslo-config-9.2.0.ebuild59
-rw-r--r--dev-python/oslo-config/oslo-config-9.5.0.ebuild58
-rw-r--r--dev-python/oslo-context/Manifest2
-rw-r--r--dev-python/oslo-context/oslo-context-5.3.0.ebuild38
-rw-r--r--dev-python/oslo-context/oslo-context-5.5.0.ebuild38
-rw-r--r--dev-python/oslo-i18n/Manifest2
-rw-r--r--dev-python/oslo-i18n/files/oslo-i18n-6.2.0-test.patch34
-rw-r--r--dev-python/oslo-i18n/oslo-i18n-6.2.0.ebuild40
-rw-r--r--dev-python/oslo-i18n/oslo-i18n-6.3.0.ebuild35
-rw-r--r--dev-python/oslo-log/Manifest4
-rw-r--r--dev-python/oslo-log/files/oslo-log-6.0.0-py313.patch80
-rw-r--r--dev-python/oslo-log/files/oslo-log-6.1.0-py313.patch25
-rw-r--r--dev-python/oslo-log/oslo-log-5.4.0.ebuild69
-rw-r--r--dev-python/oslo-log/oslo-log-6.0.0.ebuild58
-rw-r--r--dev-python/oslo-log/oslo-log-6.1.0.ebuild57
-rw-r--r--dev-python/oslo-log/oslo-log-6.1.1.ebuild57
-rw-r--r--dev-python/oslo-serialization/Manifest2
-rw-r--r--dev-python/oslo-serialization/oslo-serialization-5.2.0-r1.ebuild47
-rw-r--r--dev-python/oslo-serialization/oslo-serialization-5.4.0.ebuild46
-rw-r--r--dev-python/oslo-utils/Manifest2
-rw-r--r--dev-python/oslo-utils/oslo-utils-6.3.0.ebuild57
-rw-r--r--dev-python/oslo-utils/oslo-utils-7.2.0.ebuild54
-rw-r--r--dev-python/oslotest/Manifest2
-rw-r--r--dev-python/oslotest/files/oslotest-4.5.0-py3.12-fix.patch23
-rw-r--r--dev-python/oslotest/oslotest-4.5.0-r3.ebuild40
-rw-r--r--dev-python/oslotest/oslotest-5.0.0.ebuild35
-rw-r--r--dev-python/outcome/outcome-1.3.0_p0.ebuild4
-rw-r--r--dev-python/overrides/Manifest2
-rw-r--r--dev-python/overrides/overrides-7.4.0.ebuild42
-rw-r--r--dev-python/overrides/overrides-7.7.0.ebuild21
-rw-r--r--dev-python/ovs/Manifest1
-rw-r--r--dev-python/ovs/ovs-2.17.1_p1.ebuild4
-rw-r--r--dev-python/ovs/ovs-2.17.9.ebuild17
-rw-r--r--dev-python/owslib/Manifest2
-rw-r--r--dev-python/owslib/owslib-0.29.3.ebuild65
-rw-r--r--dev-python/owslib/owslib-0.31.0.ebuild45
-rw-r--r--dev-python/packaging/Manifest2
-rw-r--r--dev-python/packaging/packaging-23.2-r1.ebuild35
-rw-r--r--dev-python/packaging/packaging-23.2.ebuild36
-rw-r--r--dev-python/packaging/packaging-24.0.ebuild35
-rw-r--r--dev-python/packaging/packaging-24.1.ebuild35
-rw-r--r--dev-python/paginate/paginate-0.5.6.ebuild6
-rw-r--r--dev-python/paho-mqtt/Manifest1
-rw-r--r--dev-python/paho-mqtt/paho-mqtt-1.6.1-r1.ebuild6
-rw-r--r--dev-python/paho-mqtt/paho-mqtt-2.1.0.ebuild28
-rw-r--r--dev-python/pallets-sphinx-themes/Manifest2
-rw-r--r--dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.1.1.ebuild27
-rw-r--r--dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.1.3.ebuild26
-rw-r--r--dev-python/pandas/Manifest5
-rw-r--r--dev-python/pandas/files/pandas-2.1.1-which.patch12
-rw-r--r--dev-python/pandas/files/pandas-2.2.2-py313.patch117
-rw-r--r--dev-python/pandas/pandas-1.5.3.ebuild222
-rw-r--r--dev-python/pandas/pandas-2.1.1-r1.ebuild217
-rw-r--r--dev-python/pandas/pandas-2.1.1.ebuild203
-rw-r--r--dev-python/pandas/pandas-2.1.2.ebuild217
-rw-r--r--dev-python/pandas/pandas-2.1.3.ebuild216
-rw-r--r--dev-python/pandas/pandas-2.2.2-r1.ebuild235
-rw-r--r--dev-python/pandas/pandas-2.2.2.ebuild219
-rw-r--r--dev-python/pandocfilters/Manifest2
-rw-r--r--dev-python/pandocfilters/pandocfilters-1.5.0.ebuild19
-rw-r--r--dev-python/pandocfilters/pandocfilters-1.5.1.ebuild19
-rw-r--r--dev-python/parameterized/files/parameterized-0.9.0-py313-test.patch26
-rw-r--r--dev-python/parameterized/parameterized-0.9.0.ebuild6
-rw-r--r--dev-python/paramiko/Manifest2
-rw-r--r--dev-python/paramiko/files/paramiko-3.4.0-pytest-fixes.patch34
-rw-r--r--dev-python/paramiko/paramiko-3.3.1.ebuild62
-rw-r--r--dev-python/paramiko/paramiko-3.4.0.ebuild63
-rw-r--r--dev-python/parse/Manifest3
-rw-r--r--dev-python/parse/parse-1.19.1.ebuild25
-rw-r--r--dev-python/parse/parse-1.20.0.ebuild17
-rw-r--r--dev-python/parse/parse-1.20.2.ebuild17
-rw-r--r--dev-python/parse_type/parse_type-0.6.2.ebuild7
-rw-r--r--dev-python/parsedatetime/parsedatetime-2.6-r1.ebuild4
-rw-r--r--dev-python/parso/Manifest2
-rw-r--r--dev-python/parso/parso-0.8.3-r1.ebuild34
-rw-r--r--dev-python/parso/parso-0.8.4.ebuild34
-rw-r--r--dev-python/partd/Manifest2
-rw-r--r--dev-python/partd/partd-1.4.1.ebuild35
-rw-r--r--dev-python/partd/partd-1.4.2.ebuild35
-rw-r--r--dev-python/parver/parver-0.5.ebuild4
-rw-r--r--dev-python/passlib/passlib-1.7.4-r2.ebuild53
-rw-r--r--dev-python/passlib/passlib-1.7.4-r3.ebuild71
-rw-r--r--dev-python/paste/Manifest2
-rw-r--r--dev-python/paste/metadata.xml2
-rw-r--r--dev-python/paste/paste-3.10.1.ebuild39
-rw-r--r--dev-python/paste/paste-3.7.1.ebuild49
-rw-r--r--dev-python/pastedeploy/Manifest1
-rw-r--r--dev-python/pastedeploy/pastedeploy-3.0.1.ebuild41
-rw-r--r--dev-python/pastedeploy/pastedeploy-3.1.ebuild6
-rw-r--r--dev-python/pastel/metadata.xml4
-rw-r--r--dev-python/pastel/pastel-0.2.1-r1.ebuild4
-rw-r--r--dev-python/patatt/Manifest1
-rw-r--r--dev-python/patatt/patatt-0.6.2.ebuild2
-rw-r--r--dev-python/patatt/patatt-0.6.3.ebuild18
-rw-r--r--dev-python/path-and-address/path-and-address-2.0.1-r1.ebuild4
-rw-r--r--dev-python/path/Manifest2
-rw-r--r--dev-python/path/path-16.14.0.ebuild37
-rw-r--r--dev-python/path/path-16.7.1.ebuild36
-rw-r--r--dev-python/pathable/pathable-0.4.3.ebuild4
-rw-r--r--dev-python/pathspec/Manifest2
-rw-r--r--dev-python/pathspec/pathspec-0.11.2.ebuild21
-rw-r--r--dev-python/pathspec/pathspec-0.12.1.ebuild21
-rw-r--r--dev-python/pathvalidate/Manifest1
-rw-r--r--dev-python/pathvalidate/pathvalidate-3.1.0.ebuild31
-rw-r--r--dev-python/patiencediff/Manifest3
-rw-r--r--dev-python/patiencediff/patiencediff-0.2.13.ebuild27
-rw-r--r--dev-python/patiencediff/patiencediff-0.2.14.ebuild27
-rw-r--r--dev-python/patiencediff/patiencediff-0.2.15.ebuild27
-rw-r--r--dev-python/patsy/Manifest3
-rw-r--r--dev-python/patsy/files/patsy-0.5.6-np2.patch51
-rw-r--r--dev-python/patsy/patsy-0.5.3-r1.ebuild31
-rw-r--r--dev-python/patsy/patsy-0.5.4.ebuild30
-rw-r--r--dev-python/patsy/patsy-0.5.6-r1.ebuild30
-rw-r--r--dev-python/patsy/patsy-0.5.6-r2.ebuild51
-rw-r--r--dev-python/pbkdf2/pbkdf2-1.3-r2.ebuild4
-rw-r--r--dev-python/pbr/pbr-6.0.0.ebuild4
-rw-r--r--dev-python/pbs-installer/Manifest1
-rw-r--r--dev-python/pbs-installer/metadata.xml12
-rw-r--r--dev-python/pbs-installer/pbs-installer-2024.4.24.ebuild35
-rw-r--r--dev-python/pdfrw/pdfrw-0.4_p1-r1.ebuild4
-rw-r--r--dev-python/pdm-backend/Manifest3
-rw-r--r--dev-python/pdm-backend/pdm-backend-2.1.7.ebuild68
-rw-r--r--dev-python/pdm-backend/pdm-backend-2.3.2.ebuild75
-rw-r--r--dev-python/pdm-backend/pdm-backend-2.3.3.ebuild75
-rw-r--r--dev-python/pdm-pep517/Manifest1
-rw-r--r--dev-python/pdm-pep517/metadata.xml13
-rw-r--r--dev-python/pdm-pep517/pdm-pep517-1.1.4.ebuild63
-rw-r--r--dev-python/pdm/Manifest4
-rw-r--r--dev-python/pdm/pdm-2.10.4.ebuild79
-rw-r--r--dev-python/pdm/pdm-2.16.1.ebuild117
-rw-r--r--dev-python/pdm/pdm-2.17.0.ebuild119
-rw-r--r--dev-python/pdm/pdm-2.17.1.ebuild119
-rw-r--r--dev-python/pdoc3/Manifest1
-rw-r--r--dev-python/pdoc3/pdoc3-0.10.0-r1.ebuild37
-rw-r--r--dev-python/pdoc3/pdoc3-0.10.0-r2.ebuild42
-rw-r--r--dev-python/pebble/Manifest3
-rw-r--r--dev-python/pebble/files/pebble-5.0.3-backport-pr112.patch28
-rw-r--r--dev-python/pebble/pebble-5.0.3.ebuild25
-rw-r--r--dev-python/pebble/pebble-5.0.4.ebuild24
-rw-r--r--dev-python/pebble/pebble-5.0.7.ebuild24
-rw-r--r--dev-python/pecan/pecan-1.5.1.ebuild6
-rw-r--r--dev-python/peewee/Manifest3
-rw-r--r--dev-python/peewee/peewee-3.17.0.ebuild57
-rw-r--r--dev-python/peewee/peewee-3.17.5.ebuild72
-rw-r--r--dev-python/peewee/peewee-3.17.6.ebuild81
-rw-r--r--dev-python/pelican-minify/Manifest1
-rw-r--r--dev-python/pelican-minify/files/pelican-minify-2.0.0-hatchling.patch24
-rw-r--r--dev-python/pelican-minify/pelican-minify-0.9-r2.ebuild25
-rw-r--r--dev-python/pelican-minify/pelican-minify-2.0.0.ebuild7
-rw-r--r--dev-python/pendulum/Manifest1
-rw-r--r--dev-python/pendulum/metadata.xml12
-rw-r--r--dev-python/pendulum/pendulum-2.1.2-r2.ebuild48
-rw-r--r--dev-python/pexpect/Manifest1
-rw-r--r--dev-python/pexpect/pexpect-4.8.0_p20230402.ebuild52
-rw-r--r--dev-python/pexpect/pexpect-4.9.0.ebuild27
-rw-r--r--dev-python/pgspecial/Manifest2
-rw-r--r--dev-python/pgspecial/pgspecial-2.1.1.ebuild59
-rw-r--r--dev-python/pgspecial/pgspecial-2.1.2.ebuild60
-rw-r--r--dev-python/pgzero/pgzero-1.2.1-r2.ebuild17
-rw-r--r--dev-python/phonenumbers/Manifest2
-rw-r--r--dev-python/phonenumbers/phonenumbers-8.13.26.ebuild39
-rw-r--r--dev-python/phonenumbers/phonenumbers-8.13.40.ebuild39
-rw-r--r--dev-python/phply/phply-1.2.6.ebuild4
-rw-r--r--dev-python/pickleshare/pickleshare-0.7.5-r1.ebuild4
-rw-r--r--dev-python/picobox/Manifest1
-rw-r--r--dev-python/picobox/picobox-3.0.0.ebuild28
-rw-r--r--dev-python/picobox/picobox-4.0.0.ebuild6
-rw-r--r--dev-python/pid/pid-3.0.4-r1.ebuild9
-rw-r--r--dev-python/pikepdf/Manifest12
-rw-r--r--dev-python/pikepdf/files/pikepdf-9.0.0-py313.patch26
-rw-r--r--dev-python/pikepdf/pikepdf-8.11.2-r1.ebuild67
-rw-r--r--dev-python/pikepdf/pikepdf-8.14.0-r1.ebuild67
-rw-r--r--dev-python/pikepdf/pikepdf-8.15.1-r1.ebuild71
-rw-r--r--dev-python/pikepdf/pikepdf-8.4.1-r1.ebuild61
-rw-r--r--dev-python/pikepdf/pikepdf-8.4.1.ebuild62
-rw-r--r--dev-python/pikepdf/pikepdf-8.5.1.ebuild62
-rw-r--r--dev-python/pikepdf/pikepdf-8.5.2.ebuild62
-rw-r--r--dev-python/pikepdf/pikepdf-8.5.3.ebuild62
-rw-r--r--dev-python/pikepdf/pikepdf-8.6.0.ebuild62
-rw-r--r--dev-python/pikepdf/pikepdf-8.7.0.ebuild62
-rw-r--r--dev-python/pikepdf/pikepdf-8.7.1.ebuild62
-rw-r--r--dev-python/pikepdf/pikepdf-8.8.0.ebuild62
-rw-r--r--dev-python/pikepdf/pikepdf-9.0.0.ebuild79
-rw-r--r--dev-python/pikepdf/pikepdf-9.1.0.ebuild74
-rw-r--r--dev-python/pillow/Manifest5
-rw-r--r--dev-python/pillow/files/pillow-10.2.0-cross.patch62
-rw-r--r--dev-python/pillow/files/pillow-10.3.0-py313.patch23
-rw-r--r--dev-python/pillow/metadata.xml2
-rw-r--r--dev-python/pillow/pillow-10.0.1.ebuild134
-rw-r--r--dev-python/pillow/pillow-10.1.0.ebuild134
-rw-r--r--dev-python/pillow/pillow-10.2.0-r1.ebuild131
-rw-r--r--dev-python/pillow/pillow-10.3.0.ebuild139
-rw-r--r--dev-python/pillow/pillow-10.4.0.ebuild137
-rw-r--r--dev-python/pip-run/Manifest4
-rw-r--r--dev-python/pip-run/pip-run-12.4.0.ebuild58
-rw-r--r--dev-python/pip-run/pip-run-12.6.1.ebuild51
-rw-r--r--dev-python/pip-run/pip-run-12.7.0.ebuild50
-rw-r--r--dev-python/pip-run/pip-run-13.0.0.ebuild50
-rw-r--r--dev-python/pip/Manifest5
-rw-r--r--dev-python/pip/files/pip-24.1-test-offline.patch65
-rw-r--r--dev-python/pip/files/pip-24.1-unbundle.patch193
-rw-r--r--dev-python/pip/pip-23.3.1.ebuild131
-rw-r--r--dev-python/pip/pip-24.0.ebuild145
-rw-r--r--dev-python/pip/pip-24.1-r1.ebuild176
-rw-r--r--dev-python/pip/pip-24.1.1.ebuild176
-rw-r--r--dev-python/pip/pip-24.1.2.ebuild171
-rw-r--r--dev-python/pip/pip-24.1.ebuild137
-rw-r--r--dev-python/pipdeptree/Manifest9
-rw-r--r--dev-python/pipdeptree/files/pipdeptree-2.13.2-fix-pypy-7.3.14.patch37
-rw-r--r--dev-python/pipdeptree/files/pipdeptree-2.17.0-expect-hpy-in-pypy-7.3.3.patch28
-rw-r--r--dev-python/pipdeptree/files/pipdeptree-2.18.1-fix-pypy-7.3.14.patch16
-rw-r--r--dev-python/pipdeptree/files/pipdeptree-2.21.0-pypy.patch134
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.13.0.ebuild21
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.13.1.ebuild41
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.16.2-r1.ebuild58
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.17.0-r1.ebuild58
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.18.1.ebuild51
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.21.0-r1.ebuild58
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.22.0-r1.ebuild53
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.23.0-r1.ebuild53
-rw-r--r--dev-python/pipdeptree/pipdeptree-2.23.1.ebuild53
-rw-r--r--dev-python/pipenv/Manifest4
-rw-r--r--dev-python/pipenv/files/pipenv-2022.9.24-inject-site-packages.patch34
-rw-r--r--dev-python/pipenv/files/pipenv-2023.4.29-append-always-install.patch19
-rw-r--r--dev-python/pipenv/files/pipenv-2023.7.11-fix-imports-utils.patch15
-rw-r--r--dev-python/pipenv/files/pipenv-2023.7.11-fix-imports.patch39
-rw-r--r--dev-python/pipenv/pipenv-2023.12.1-r1.ebuild123
-rw-r--r--dev-python/pipenv/pipenv-2023.7.11-r1.ebuild115
-rw-r--r--dev-python/pipenv/pipenv-2023.7.11.ebuild108
-rw-r--r--dev-python/pipenv/pipenv-2023.9.8.ebuild123
-rw-r--r--dev-python/pipenv/pipenv-2024.0.1.ebuild124
-rw-r--r--dev-python/pipx/Manifest5
-rw-r--r--dev-python/pipx/pipx-1.2.1.ebuild34
-rw-r--r--dev-python/pipx/pipx-1.3.1.ebuild42
-rw-r--r--dev-python/pipx/pipx-1.6.0.ebuild98
-rw-r--r--dev-python/pivy/pivy-0.6.8.ebuild4
-rw-r--r--dev-python/pkgconfig/pkgconfig-1.5.5-r1.ebuild6
-rw-r--r--dev-python/pkgcraft/Manifest5
-rw-r--r--dev-python/pkgcraft/pkgcraft-0.0.10.ebuild81
-rw-r--r--dev-python/pkgcraft/pkgcraft-0.0.6.ebuild81
-rw-r--r--dev-python/pkgcraft/pkgcraft-0.0.7.ebuild81
-rw-r--r--dev-python/pkgcraft/pkgcraft-0.0.8.ebuild81
-rw-r--r--dev-python/pkgcraft/pkgcraft-0.0.9.ebuild81
-rw-r--r--dev-python/pkgcraft/pkgcraft-9999.ebuild6
-rw-r--r--dev-python/pkginfo/Manifest2
-rw-r--r--dev-python/pkginfo/pkginfo-1.11.1.ebuild28
-rw-r--r--dev-python/pkginfo/pkginfo-1.9.6.ebuild28
-rw-r--r--dev-python/platformdirs/Manifest2
-rw-r--r--dev-python/platformdirs/platformdirs-4.0.0.ebuild49
-rw-r--r--dev-python/platformdirs/platformdirs-4.2.2.ebuild54
-rw-r--r--dev-python/plette/Manifest3
-rw-r--r--dev-python/plette/plette-0.4.4-r1.ebuild27
-rw-r--r--dev-python/plette/plette-0.4.4.ebuild31
-rw-r--r--dev-python/plette/plette-1.0.0.ebuild31
-rw-r--r--dev-python/plette/plette-2.0.2.ebuild26
-rw-r--r--dev-python/plette/plette-2.1.0.ebuild26
-rw-r--r--dev-python/plotly-geo/plotly-geo-1.0.0-r2.ebuild6
-rw-r--r--dev-python/plotly/Manifest7
-rw-r--r--dev-python/plotly/files/plotly-5.23.0-numpy-2.patch87
-rw-r--r--dev-python/plotly/plotly-5.15.0.ebuild109
-rw-r--r--dev-python/plotly/plotly-5.16.0.ebuild115
-rw-r--r--dev-python/plotly/plotly-5.16.1.ebuild116
-rw-r--r--dev-python/plotly/plotly-5.17.0.ebuild116
-rw-r--r--dev-python/plotly/plotly-5.18.0.ebuild116
-rw-r--r--dev-python/plotly/plotly-5.22.0.ebuild116
-rw-r--r--dev-python/plotly/plotly-5.23.0.ebuild116
-rw-r--r--dev-python/pluggy/Manifest2
-rw-r--r--dev-python/pluggy/pluggy-1.3.0.ebuild26
-rw-r--r--dev-python/pluggy/pluggy-1.5.0.ebuild26
-rw-r--r--dev-python/pluginbase/pluginbase-1.0.1-r1.ebuild6
-rw-r--r--dev-python/plumbum/Manifest2
-rw-r--r--dev-python/plumbum/plumbum-1.8.2.ebuild57
-rw-r--r--dev-python/plumbum/plumbum-1.8.3.ebuild57
-rw-r--r--dev-python/ply/metadata.xml1
-rw-r--r--dev-python/ply/ply-3.11-r2.ebuild4
-rw-r--r--dev-python/plyr/Manifest1
-rw-r--r--dev-python/plyr/metadata.xml12
-rw-r--r--dev-python/plyr/plyr-1.0.6-r1.ebuild48
-rw-r--r--dev-python/plyvel/Manifest2
-rw-r--r--dev-python/plyvel/plyvel-1.5.0.ebuild44
-rw-r--r--dev-python/plyvel/plyvel-1.5.1.ebuild44
-rw-r--r--dev-python/pmw/Manifest2
-rw-r--r--dev-python/pmw/pmw-2.0.1-r3.ebuild43
-rw-r--r--dev-python/pmw/pmw-2.1.1.ebuild43
-rw-r--r--dev-python/pockets/pockets-0.9.1-r3.ebuild4
-rw-r--r--dev-python/podcastparser/podcastparser-0.6.10.ebuild4
-rw-r--r--dev-python/podman/Manifest5
-rw-r--r--dev-python/podman/podman-4.5.0.ebuild52
-rw-r--r--dev-python/podman/podman-4.6.0.ebuild52
-rw-r--r--dev-python/podman/podman-4.7.0.ebuild52
-rw-r--r--dev-python/podman/podman-4.8.0_p1.ebuild53
-rw-r--r--dev-python/podman/podman-5.0.0.ebuild53
-rw-r--r--dev-python/poetry-core/Manifest2
-rw-r--r--dev-python/poetry-core/poetry-core-1.8.1.ebuild73
-rw-r--r--dev-python/poetry-core/poetry-core-1.9.0.ebuild74
-rw-r--r--dev-python/poetry-plugin-export/Manifest5
-rw-r--r--dev-python/poetry-plugin-export/poetry-plugin-export-1.4.0.ebuild33
-rw-r--r--dev-python/poetry-plugin-export/poetry-plugin-export-1.5.0.ebuild33
-rw-r--r--dev-python/poetry-plugin-export/poetry-plugin-export-1.6.0.ebuild33
-rw-r--r--dev-python/poetry-plugin-export/poetry-plugin-export-1.7.1.ebuild33
-rw-r--r--dev-python/poetry-plugin-export/poetry-plugin-export-1.8.0.ebuild33
-rw-r--r--dev-python/poetry/Manifest4
-rw-r--r--dev-python/poetry/poetry-1.7.0.ebuild88
-rw-r--r--dev-python/poetry/poetry-1.7.1.ebuild88
-rw-r--r--dev-python/poetry/poetry-1.8.2.ebuild96
-rw-r--r--dev-python/poetry/poetry-1.8.3.ebuild94
-rw-r--r--dev-python/polib/polib-1.2.0.ebuild13
-rw-r--r--dev-python/pooch/Manifest2
-rw-r--r--dev-python/pooch/pooch-1.8.0.ebuild59
-rw-r--r--dev-python/pooch/pooch-1.8.2.ebuild58
-rw-r--r--dev-python/portalocker/Manifest4
-rw-r--r--dev-python/portalocker/metadata.xml1
-rw-r--r--dev-python/portalocker/portalocker-2.10.0.ebuild45
-rw-r--r--dev-python/portalocker/portalocker-2.10.1.ebuild45
-rw-r--r--dev-python/portalocker/portalocker-2.7.0.ebuild45
-rw-r--r--dev-python/portalocker/portalocker-2.8.2.ebuild45
-rw-r--r--dev-python/portend/portend-3.2.0.ebuild6
-rw-r--r--dev-python/poyo/poyo-0.5.0-r1.ebuild4
-rw-r--r--dev-python/pplpy/Manifest2
-rw-r--r--dev-python/pplpy/pplpy-0.8.10.ebuild50
-rw-r--r--dev-python/pplpy/pplpy-0.8.9.ebuild49
-rw-r--r--dev-python/precis-i18n/precis-i18n-1.1.0.ebuild4
-rw-r--r--dev-python/pretend/pretend-1.0.9-r2.ebuild4
-rw-r--r--dev-python/prettytable/Manifest2
-rw-r--r--dev-python/prettytable/prettytable-3.10.0.ebuild32
-rw-r--r--dev-python/prettytable/prettytable-3.10.2.ebuild32
-rw-r--r--dev-python/priority/priority-1.3.0-r1.ebuild20
-rw-r--r--dev-python/priority/priority-2.0.0-r1.ebuild18
-rw-r--r--dev-python/process-tests/process-tests-3.0.0.ebuild6
-rw-r--r--dev-python/progress/progress-1.6-r1.ebuild6
-rw-r--r--dev-python/progressbar2/Manifest2
-rw-r--r--dev-python/progressbar2/progressbar2-4.2.0.ebuild41
-rw-r--r--dev-python/progressbar2/progressbar2-4.4.2.ebuild44
-rw-r--r--dev-python/prometheus-client/Manifest2
-rw-r--r--dev-python/prometheus-client/prometheus-client-0.19.0.ebuild25
-rw-r--r--dev-python/prometheus-client/prometheus-client-0.20.0.ebuild35
-rw-r--r--dev-python/prompt-toolkit/Manifest2
-rw-r--r--dev-python/prompt-toolkit/prompt-toolkit-3.0.41.ebuild25
-rw-r--r--dev-python/prompt-toolkit/prompt-toolkit-3.0.47.ebuild30
-rw-r--r--dev-python/proto-plus/Manifest2
-rw-r--r--dev-python/proto-plus/proto-plus-1.22.3.ebuild41
-rw-r--r--dev-python/proto-plus/proto-plus-1.24.0-r1.ebuild45
-rw-r--r--dev-python/protobuf-python/Manifest3
-rw-r--r--dev-python/protobuf-python/files/protobuf-python-4.22.5-c++-17.patch13
-rw-r--r--dev-python/protobuf-python/files/protobuf-python-4.22.5-python.patch21
-rw-r--r--dev-python/protobuf-python/metadata.xml9
-rw-r--r--dev-python/protobuf-python/protobuf-python-4.21.12.ebuild78
-rw-r--r--dev-python/protobuf-python/protobuf-python-4.22.5.ebuild86
-rw-r--r--dev-python/protobuf-python/protobuf-python-4.23.3.ebuild4
-rw-r--r--dev-python/protobuf-python/protobuf-python-5.27.2.ebuild30
-rw-r--r--dev-python/protobuf-python/protobuf-python-9999.ebuild79
-rw-r--r--dev-python/prov/Manifest1
-rw-r--r--dev-python/prov/metadata.xml14
-rw-r--r--dev-python/prov/prov-2.0.0.ebuild29
-rw-r--r--dev-python/pslab/Manifest2
-rw-r--r--dev-python/pslab/files/pslab-3.0.0-pytest_record.patch36
-rw-r--r--dev-python/pslab/metadata.xml6
-rw-r--r--dev-python/pslab/pslab-2.5.0.ebuild49
-rw-r--r--dev-python/pslab/pslab-3.0.0.ebuild51
-rw-r--r--dev-python/psutil/Manifest8
-rw-r--r--dev-python/psutil/psutil-5.9.5.ebuild47
-rw-r--r--dev-python/psutil/psutil-5.9.6.ebuild47
-rw-r--r--dev-python/psutil/psutil-5.9.8.ebuild47
-rw-r--r--dev-python/psutil/psutil-6.0.0.ebuild47
-rw-r--r--dev-python/psycopg/Manifest7
-rw-r--r--dev-python/psycopg/psycopg-2.9.9-r1.ebuild65
-rw-r--r--dev-python/psycopg/psycopg-2.9.9.ebuild2
-rw-r--r--dev-python/psycopg/psycopg-3.1.10.ebuild77
-rw-r--r--dev-python/psycopg/psycopg-3.1.12.ebuild78
-rw-r--r--dev-python/psycopg/psycopg-3.1.13.ebuild76
-rw-r--r--dev-python/psycopg/psycopg-3.1.14.ebuild76
-rw-r--r--dev-python/psycopg/psycopg-3.1.19.ebuild117
-rw-r--r--dev-python/psycopg/psycopg-3.2.0.ebuild119
-rw-r--r--dev-python/psycopg/psycopg-3.2.1.ebuild119
-rw-r--r--dev-python/ptyprocess/ptyprocess-0.7.0-r1.ebuild13
-rw-r--r--dev-python/publicsuffix/publicsuffix-2.20191221-r2.ebuild5
-rw-r--r--dev-python/pudb/Manifest4
-rw-r--r--dev-python/pudb/pudb-2022.1.3.ebuild29
-rw-r--r--dev-python/pudb/pudb-2023.1.ebuild34
-rw-r--r--dev-python/pudb/pudb-2024.1.1.ebuild38
-rw-r--r--dev-python/pudb/pudb-2024.1.2.ebuild38
-rw-r--r--dev-python/pulsectl-asyncio/Manifest2
-rw-r--r--dev-python/pulsectl-asyncio/pulsectl-asyncio-1.1.1.ebuild41
-rw-r--r--dev-python/pulsectl-asyncio/pulsectl-asyncio-1.2.0.ebuild41
-rw-r--r--dev-python/pulsectl/Manifest2
-rw-r--r--dev-python/pulsectl/pulsectl-23.5.2-r1.ebuild30
-rw-r--r--dev-python/pulsectl/pulsectl-24.4.0.ebuild30
-rw-r--r--dev-python/pure-eval/Manifest1
-rw-r--r--dev-python/pure-eval/files/pure-eval-0.2.2-py313.patch63
-rw-r--r--dev-python/pure-eval/pure-eval-0.2.2-r1.ebuild43
-rw-r--r--dev-python/pure-eval/pure-eval-0.2.3.ebuild37
-rw-r--r--dev-python/puremagic/Manifest3
-rw-r--r--dev-python/puremagic/puremagic-1.15.ebuild27
-rw-r--r--dev-python/puremagic/puremagic-1.25.ebuild32
-rw-r--r--dev-python/puremagic/puremagic-1.26.ebuild32
-rw-r--r--dev-python/pushbullet-py/Manifest1
-rw-r--r--dev-python/pushbullet-py/metadata.xml13
-rw-r--r--dev-python/pushbullet-py/pushbullet-py-0.12.0-r1.ebuild50
-rw-r--r--dev-python/py-cpuinfo/py-cpuinfo-9.0.0.ebuild6
-rw-r--r--dev-python/py-ubjson/py-ubjson-0.16.1-r1.ebuild15
-rw-r--r--dev-python/py/py-1.11.0-r1.ebuild7
-rw-r--r--dev-python/pyClamd/pyClamd-0.4.0-r4.ebuild27
-rw-r--r--dev-python/pyClamd/pyClamd-0.4.0-r5.ebuild26
-rw-r--r--dev-python/pyDes/pyDes-2.0.1-r1.ebuild17
-rw-r--r--dev-python/pyDes/pyDes-2.0.1.ebuild17
-rw-r--r--dev-python/pyacoustid/pyacoustid-1.3.0.ebuild4
-rw-r--r--dev-python/pyaes/pyaes-1.6.1-r3.ebuild4
-rw-r--r--dev-python/pyalsa/Manifest2
-rw-r--r--dev-python/pyalsa/files/pyalsa-1.1.6-no-build-symlinks.patch27
-rw-r--r--dev-python/pyalsa/metadata.xml9
-rw-r--r--dev-python/pyalsa/pyalsa-1.2.12.ebuild50
-rw-r--r--dev-python/pyalsa/pyalsa-1.2.7.ebuild44
-rw-r--r--dev-python/pyamg/Manifest3
-rw-r--r--dev-python/pyamg/pyamg-5.1.0.ebuild50
-rw-r--r--dev-python/pyamg/pyamg-5.2.0.ebuild50
-rw-r--r--dev-python/pyamg/pyamg-5.2.1.ebuild50
-rw-r--r--dev-python/pyaml/Manifest3
-rw-r--r--dev-python/pyaml/pyaml-23.9.7.ebuild30
-rw-r--r--dev-python/pyaml/pyaml-24.4.0.ebuild30
-rw-r--r--dev-python/pyaml/pyaml-24.7.0.ebuild30
-rw-r--r--dev-python/pyannotate/Manifest1
-rw-r--r--dev-python/pyannotate/metadata.xml21
-rw-r--r--dev-python/pyannotate/pyannotate-1.2.0-r1.ebuild23
-rw-r--r--dev-python/pyarrow/Manifest3
-rw-r--r--dev-python/pyarrow/files/pyarrow-16.1.0-numpy-2.patch65
-rw-r--r--dev-python/pyarrow/files/pyarrow-16.1.0-py313.patch60
-rw-r--r--dev-python/pyarrow/metadata.xml4
-rw-r--r--dev-python/pyarrow/pyarrow-14.0.1.ebuild72
-rw-r--r--dev-python/pyarrow/pyarrow-16.1.0.ebuild97
-rw-r--r--dev-python/pyarrow/pyarrow-17.0.0.ebuild102
-rw-r--r--dev-python/pyasn1-modules/Manifest2
-rw-r--r--dev-python/pyasn1-modules/pyasn1-modules-0.3.0.ebuild32
-rw-r--r--dev-python/pyasn1-modules/pyasn1-modules-0.4.0.ebuild32
-rw-r--r--dev-python/pyasn1/Manifest3
-rw-r--r--dev-python/pyasn1/pyasn1-0.5.0.ebuild22
-rw-r--r--dev-python/pyasn1/pyasn1-0.5.1.ebuild22
-rw-r--r--dev-python/pyasn1/pyasn1-0.6.0.ebuild22
-rw-r--r--dev-python/pyasynchat/Manifest1
-rw-r--r--dev-python/pyasynchat/metadata.xml13
-rw-r--r--dev-python/pyasynchat/pyasynchat-1.0.4.ebuild29
-rw-r--r--dev-python/pyasyncore/Manifest1
-rw-r--r--dev-python/pyasyncore/metadata.xml13
-rw-r--r--dev-python/pyasyncore/pyasyncore-1.0.4.ebuild24
-rw-r--r--dev-python/pyatspi/Manifest2
-rw-r--r--dev-python/pyatspi/pyatspi-2.46.0.ebuild61
-rw-r--r--dev-python/pyatspi/pyatspi-2.46.1.ebuild63
-rw-r--r--dev-python/pyaudio/pyaudio-0.2.13-r1.ebuild38
-rw-r--r--dev-python/pyaudio/pyaudio-0.2.13-r2.ebuild38
-rw-r--r--dev-python/pybind11/Manifest2
-rw-r--r--dev-python/pybind11/files/pybind11-2.13.1-gcc14-fix.patch23
-rw-r--r--dev-python/pybind11/pybind11-2.12.0.ebuild74
-rw-r--r--dev-python/pybind11/pybind11-2.13.1-r1.ebuild76
-rw-r--r--dev-python/pybind11/pybind11-2.13.1.ebuild74
-rw-r--r--dev-python/pybtex-docutils/Manifest1
-rw-r--r--dev-python/pybtex-docutils/pybtex-docutils-1.0.2.ebuild25
-rw-r--r--dev-python/pybtex-docutils/pybtex-docutils-1.0.3.ebuild4
-rw-r--r--dev-python/pybtex/pybtex-0.24.0-r1.ebuild8
-rw-r--r--dev-python/pycairo/Manifest3
-rw-r--r--dev-python/pycairo/files/pycairo-1.26.0-py313.patch30
-rw-r--r--dev-python/pycairo/pycairo-1.25.1.ebuild73
-rw-r--r--dev-python/pycairo/pycairo-1.26.0-r1.ebuild77
-rw-r--r--dev-python/pycairo/pycairo-1.26.0.ebuild73
-rw-r--r--dev-python/pycairo/pycairo-1.26.1.ebuild73
-rw-r--r--dev-python/pycares/pycares-4.4.0.ebuild8
-rw-r--r--dev-python/pycdio/pycdio-2.1.1-r1.ebuild4
-rw-r--r--dev-python/pychm/pychm-0.8.6-r1.ebuild4
-rw-r--r--dev-python/pychromecast/Manifest2
-rw-r--r--dev-python/pychromecast/pychromecast-13.1.0.ebuild27
-rw-r--r--dev-python/pychromecast/pychromecast-14.0.1.ebuild27
-rw-r--r--dev-python/pychroot/Manifest1
-rw-r--r--dev-python/pychroot/metadata.xml9
-rw-r--r--dev-python/pychroot/pychroot-0.10.4.ebuild45
-rw-r--r--dev-python/pychroot/pychroot-9999.ebuild45
-rw-r--r--dev-python/pyclipper/pyclipper-1.3.0_p5.ebuild4
-rw-r--r--dev-python/pycodestyle/Manifest2
-rw-r--r--dev-python/pycodestyle/pycodestyle-2.11.1.ebuild29
-rw-r--r--dev-python/pycodestyle/pycodestyle-2.12.0.ebuild29
-rw-r--r--dev-python/pycollada/Manifest2
-rw-r--r--dev-python/pycollada/files/pycollada-0.8-numpy-2.patch76
-rw-r--r--dev-python/pycollada/pycollada-0.7.2-r1.ebuild53
-rw-r--r--dev-python/pycollada/pycollada-0.8-r1.ebuild58
-rw-r--r--dev-python/pycountry/Manifest2
-rw-r--r--dev-python/pycountry/files/pycountry-22.3.5-fix-tests-for-pypy3.patch21
-rw-r--r--dev-python/pycountry/metadata.xml4
-rw-r--r--dev-python/pycountry/pycountry-22.3.5.ebuild29
-rw-r--r--dev-python/pycountry/pycountry-24.6.1.ebuild32
-rw-r--r--dev-python/pycparser/Manifest2
-rw-r--r--dev-python/pycparser/files/pycparser-2.21-lextab-cache.patch66
-rw-r--r--dev-python/pycparser/pycparser-2.21-r2.ebuild74
-rw-r--r--dev-python/pycparser/pycparser-2.22.ebuild69
-rw-r--r--dev-python/pycpio/Manifest1
-rw-r--r--dev-python/pycpio/metadata.xml15
-rw-r--r--dev-python/pycpio/pycpio-1.2.1.ebuild18
-rw-r--r--dev-python/pycpio/pycpio-9999.ebuild17
-rw-r--r--dev-python/pycryptodome/Manifest2
-rw-r--r--dev-python/pycryptodome/files/pycryptodome-3.19.0-fix-verbosity-in-tests.patch120
-rw-r--r--dev-python/pycryptodome/pycryptodome-3.19.0.ebuild61
-rw-r--r--dev-python/pycryptodome/pycryptodome-3.20.0.ebuild60
-rw-r--r--dev-python/pycson/Manifest1
-rw-r--r--dev-python/pycson/pycson-0.8-r3.ebuild20
-rw-r--r--dev-python/pycson/pycson-0.8-r4.ebuild20
-rw-r--r--dev-python/pycuda/Manifest2
-rw-r--r--dev-python/pycuda/pycuda-2022.2.2.ebuild93
-rw-r--r--dev-python/pycuda/pycuda-2024.1.ebuild90
-rw-r--r--dev-python/pycups/pycups-2.0.1-r1.ebuild4
-rw-r--r--dev-python/pycurl-requests/pycurl-requests-0.5.0-r1.ebuild4
-rw-r--r--dev-python/pycurl/Manifest2
-rw-r--r--dev-python/pycurl/files/pycurl-7.45.2-skip-http3-test.patch28
-rw-r--r--dev-python/pycurl/pycurl-7.45.2-r1.ebuild93
-rw-r--r--dev-python/pycurl/pycurl-7.45.3.ebuild97
-rw-r--r--dev-python/pycxx/Manifest2
-rw-r--r--dev-python/pycxx/pycxx-7.1.7.ebuild37
-rw-r--r--dev-python/pycxx/pycxx-7.1.8-r1.ebuild52
-rw-r--r--dev-python/pydantic-core/Manifest144
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.10.1.ebuild136
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.14.3.ebuild150
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.14.4.ebuild150
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.14.5.ebuild150
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.18.4.ebuild155
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.19.0.ebuild155
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.20.0.ebuild142
-rw-r--r--dev-python/pydantic-core/pydantic-core-2.20.1.ebuild140
-rw-r--r--dev-python/pydantic/Manifest8
-rw-r--r--dev-python/pydantic/metadata.xml3
-rw-r--r--dev-python/pydantic/pydantic-1.10.13.ebuild91
-rw-r--r--dev-python/pydantic/pydantic-2.4.2.ebuild54
-rw-r--r--dev-python/pydantic/pydantic-2.5.1.ebuild55
-rw-r--r--dev-python/pydantic/pydantic-2.5.2.ebuild55
-rw-r--r--dev-python/pydantic/pydantic-2.7.4.ebuild55
-rw-r--r--dev-python/pydantic/pydantic-2.8.0.ebuild63
-rw-r--r--dev-python/pydantic/pydantic-2.8.0_beta1.ebuild63
-rw-r--r--dev-python/pydantic/pydantic-2.8.2.ebuild61
-rw-r--r--dev-python/pydata-sphinx-theme/Manifest6
-rw-r--r--dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.14.3.ebuild48
-rw-r--r--dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.14.4.ebuild48
-rw-r--r--dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.15.4.ebuild56
-rw-r--r--dev-python/pydecomp/pydecomp-0.3-r3.ebuild4
-rw-r--r--dev-python/pydecomp/pydecomp-9999.ebuild4
-rw-r--r--dev-python/pydevd/Manifest3
-rw-r--r--dev-python/pydevd/pydevd-2.10.0.ebuild132
-rw-r--r--dev-python/pydevd/pydevd-2.9.5.ebuild90
-rw-r--r--dev-python/pydevd/pydevd-3.1.0-r1.ebuild141
-rw-r--r--dev-python/pydiffx/pydiffx-1.1.ebuild4
-rw-r--r--dev-python/pydocstyle/Manifest1
-rw-r--r--dev-python/pydocstyle/files/pydocstyle-6.1.1-disarm-pip-install.patch31
-rw-r--r--dev-python/pydocstyle/metadata.xml21
-rw-r--r--dev-python/pydocstyle/pydocstyle-6.3.0.ebuild48
-rw-r--r--dev-python/pydot/Manifest5
-rw-r--r--dev-python/pydot/files/pydot-1.4.2-pyparsing-3.patch22
-rw-r--r--dev-python/pydot/pydot-1.4.2-r3.ebuild36
-rw-r--r--dev-python/pydot/pydot-1.4.2-r4.ebuild52
-rw-r--r--dev-python/pydot/pydot-2.0.0.ebuild42
-rw-r--r--dev-python/pydot/pydot-3.0.0.ebuild38
-rw-r--r--dev-python/pydot/pydot-3.0.1.ebuild38
-rw-r--r--dev-python/pydotplus/Manifest1
-rw-r--r--dev-python/pydotplus/files/pydotplus-2.0.2-tests.patch17
-rw-r--r--dev-python/pydotplus/metadata.xml12
-rw-r--r--dev-python/pydotplus/pydotplus-2.0.2-r1.ebuild32
-rw-r--r--dev-python/pydyf/Manifest3
-rw-r--r--dev-python/pydyf/pydyf-0.10.0.ebuild28
-rw-r--r--dev-python/pydyf/pydyf-0.11.0.ebuild28
-rw-r--r--dev-python/pydyf/pydyf-0.8.0.ebuild28
-rw-r--r--dev-python/pyeclib/pyeclib-1.6.1.ebuild4
-rw-r--r--dev-python/pyelftools/Manifest2
-rw-r--r--dev-python/pyelftools/pyelftools-0.30.ebuild30
-rw-r--r--dev-python/pyelftools/pyelftools-0.31.ebuild30
-rw-r--r--dev-python/pyenchant/pyenchant-3.2.2-r1.ebuild6
-rw-r--r--dev-python/pyfakefs/Manifest7
-rw-r--r--dev-python/pyfakefs/pyfakefs-5.3.0.ebuild46
-rw-r--r--dev-python/pyfakefs/pyfakefs-5.3.1.ebuild46
-rw-r--r--dev-python/pyfakefs/pyfakefs-5.3.2.ebuild36
-rw-r--r--dev-python/pyfakefs/pyfakefs-5.3.5.ebuild44
-rw-r--r--dev-python/pyfakefs/pyfakefs-5.5.0.ebuild44
-rw-r--r--dev-python/pyfakefs/pyfakefs-5.6.0.ebuild44
-rw-r--r--dev-python/pyfakefs/pyfakefs-5.6_pre20240703.ebuild47
-rw-r--r--dev-python/pyflakes/Manifest2
-rw-r--r--dev-python/pyflakes/pyflakes-3.1.0.ebuild36
-rw-r--r--dev-python/pyflakes/pyflakes-3.2.0.ebuild47
-rw-r--r--dev-python/pyformance/pyformance-0.4-r2.ebuild6
-rw-r--r--dev-python/pyftpdlib/Manifest2
-rw-r--r--dev-python/pyftpdlib/pyftpdlib-1.5.10.ebuild61
-rw-r--r--dev-python/pyftpdlib/pyftpdlib-1.5.9.ebuild61
-rw-r--r--dev-python/pyfuse3/pyfuse3-3.3.0.ebuild6
-rw-r--r--dev-python/pygal/Manifest2
-rw-r--r--dev-python/pygal/pygal-3.0.0-r4.ebuild50
-rw-r--r--dev-python/pygal/pygal-3.0.3.ebuild51
-rw-r--r--dev-python/pygal/pygal-3.0.4-r1.ebuild54
-rw-r--r--dev-python/pygal/pygal-3.0.4.ebuild51
-rw-r--r--dev-python/pygame/Manifest3
-rw-r--r--dev-python/pygame/files/pygame-2.5.2-error.patch121
-rw-r--r--dev-python/pygame/pygame-2.5.1.ebuild88
-rw-r--r--dev-python/pygame/pygame-2.5.2.ebuild101
-rw-r--r--dev-python/pygame/pygame-2.6.0.ebuild96
-rw-r--r--dev-python/pygame_sdl2/Manifest1
-rw-r--r--dev-python/pygame_sdl2/metadata.xml12
-rw-r--r--dev-python/pygame_sdl2/pygame_sdl2-8.0.3.ebuild47
-rw-r--r--dev-python/pygccxml/Manifest4
-rw-r--r--dev-python/pygccxml/files/pygccxml-2.4.0-doc.patch21
-rw-r--r--dev-python/pygccxml/files/pygccxml-2.4.0-pyproject.patch10
-rw-r--r--dev-python/pygccxml/files/pygccxml-2.5.0-which.patch68
-rw-r--r--dev-python/pygccxml/metadata.xml3
-rw-r--r--dev-python/pygccxml/pygccxml-2.2.1-r1.ebuild33
-rw-r--r--dev-python/pygccxml/pygccxml-2.3.0.ebuild29
-rw-r--r--dev-python/pygccxml/pygccxml-2.4.0.ebuild32
-rw-r--r--dev-python/pygccxml/pygccxml-2.5.0.ebuild49
-rw-r--r--dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild8
-rw-r--r--dev-python/pyghmi/Manifest3
-rw-r--r--dev-python/pyghmi/pyghmi-1.5.65.ebuild38
-rw-r--r--dev-python/pyghmi/pyghmi-1.5.69.ebuild38
-rw-r--r--dev-python/pyghmi/pyghmi-1.5.70.ebuild33
-rw-r--r--dev-python/pygit2/Manifest7
-rw-r--r--dev-python/pygit2/pygit2-1.12.2.ebuild45
-rw-r--r--dev-python/pygit2/pygit2-1.13.1.ebuild45
-rw-r--r--dev-python/pygit2/pygit2-1.13.2.ebuild45
-rw-r--r--dev-python/pygit2/pygit2-1.13.3.ebuild45
-rw-r--r--dev-python/pygit2/pygit2-1.14.1.ebuild45
-rw-r--r--dev-python/pygit2/pygit2-1.15.0.ebuild46
-rw-r--r--dev-python/pygit2/pygit2-1.15.1.ebuild46
-rw-r--r--dev-python/pyglet/Manifest4
-rw-r--r--dev-python/pyglet/pyglet-2.0.10.ebuild88
-rw-r--r--dev-python/pyglet/pyglet-2.0.14.ebuild79
-rw-r--r--dev-python/pyglet/pyglet-2.0.15.ebuild79
-rw-r--r--dev-python/pyglet/pyglet-2.0.16.ebuild79
-rw-r--r--dev-python/pygments-ansi-color/metadata.xml6
-rw-r--r--dev-python/pygments-ansi-color/pygments-ansi-color-0.3.0.ebuild18
-rw-r--r--dev-python/pygments-github-lexers/files/pygments-github-lexers-0.0.5-escape-sequences.patch22
-rw-r--r--dev-python/pygments-github-lexers/metadata.xml2
-rw-r--r--dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5-r1.ebuild26
-rw-r--r--dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5-r2.ebuild36
-rw-r--r--dev-python/pygments/Manifest5
-rw-r--r--dev-python/pygments/pygments-2.16.1.ebuild46
-rw-r--r--dev-python/pygments/pygments-2.17.0.ebuild46
-rw-r--r--dev-python/pygments/pygments-2.17.1.ebuild46
-rw-r--r--dev-python/pygments/pygments-2.17.2.ebuild46
-rw-r--r--dev-python/pygments/pygments-2.18.0.ebuild46
-rw-r--r--dev-python/pygobject/Manifest2
-rw-r--r--dev-python/pygobject/files/pygobject-3.44.1-py312.patch48
-rw-r--r--dev-python/pygobject/files/pygobject-3.48.2-egg-info.patch39
-rw-r--r--dev-python/pygobject/pygobject-3.44.1.ebuild86
-rw-r--r--dev-python/pygobject/pygobject-3.46.0-r1.ebuild80
-rw-r--r--dev-python/pygobject/pygobject-3.46.0.ebuild4
-rw-r--r--dev-python/pygobject/pygobject-3.48.2-r1.ebuild82
-rw-r--r--dev-python/pygraphviz/Manifest2
-rw-r--r--dev-python/pygraphviz/pygraphviz-1.11.ebuild52
-rw-r--r--dev-python/pygraphviz/pygraphviz-1.13.ebuild50
-rw-r--r--dev-python/pygresql/Manifest2
-rw-r--r--dev-python/pygresql/pygresql-6.0.1.ebuild68
-rw-r--r--dev-python/pygresql/pygresql-6.0.ebuild69
-rw-r--r--dev-python/pyh2o/pyh2o-1-r1.ebuild4
-rw-r--r--dev-python/pyhamcrest/pyhamcrest-2.1.0.ebuild4
-rw-r--r--dev-python/pyhcl/Manifest1
-rw-r--r--dev-python/pyhcl/pyhcl-0.4.4-r1.ebuild29
-rw-r--r--dev-python/pyhcl/pyhcl-0.4.5.ebuild4
-rw-r--r--dev-python/pyicu/Manifest2
-rw-r--r--dev-python/pyicu/metadata.xml4
-rw-r--r--dev-python/pyicu/pyicu-2.12.ebuild45
-rw-r--r--dev-python/pyicu/pyicu-2.13.1.ebuild45
-rw-r--r--dev-python/pyinotify/pyinotify-0.9.6-r1.ebuild4
-rw-r--r--dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r2.ebuild35
-rw-r--r--dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r3.ebuild35
-rw-r--r--dev-python/pyjwt/pyjwt-2.8.0.ebuild4
-rw-r--r--dev-python/pykka/Manifest3
-rw-r--r--dev-python/pykka/pykka-4.0.0.ebuild32
-rw-r--r--dev-python/pykka/pykka-4.0.1.ebuild32
-rw-r--r--dev-python/pykka/pykka-4.0.2.ebuild32
-rw-r--r--dev-python/pykwalify/files/pykwalify-1.8.0-ruamel-yaml-1.18.patch90
-rw-r--r--dev-python/pykwalify/pykwalify-1.8.0-r3.ebuild8
-rw-r--r--dev-python/pylama/Manifest1
-rw-r--r--dev-python/pylama/files/pylama-8.4.1-dummy-elif.patch32
-rw-r--r--dev-python/pylama/files/pylama-8.4.1-tomli.patch69
-rw-r--r--dev-python/pylama/metadata.xml17
-rw-r--r--dev-python/pylama/pylama-8.4.1-r1.ebuild55
-rw-r--r--dev-python/pylast/Manifest2
-rw-r--r--dev-python/pylast/pylast-5.2.0.ebuild31
-rw-r--r--dev-python/pylast/pylast-5.3.0.ebuild31
-rw-r--r--dev-python/pylatexenc/pylatexenc-2.10.ebuild4
-rw-r--r--dev-python/pylev/metadata.xml4
-rw-r--r--dev-python/pylev/pylev-1.4.0-r1.ebuild4
-rw-r--r--dev-python/pylibacl/pylibacl-0.7.0.ebuild6
-rw-r--r--dev-python/pylibmc/pylibmc-1.6.3.ebuild6
-rw-r--r--dev-python/pylint-venv/Manifest1
-rw-r--r--dev-python/pylint-venv/pylint-venv-3.0.2.ebuild41
-rw-r--r--dev-python/pylint/Manifest3
-rw-r--r--dev-python/pylint/pylint-3.0.2.ebuild94
-rw-r--r--dev-python/pylint/pylint-3.2.5.ebuild93
-rw-r--r--dev-python/pylint/pylint-3.2.6.ebuild93
-rw-r--r--dev-python/pylru/pylru-1.2.1.ebuild10
-rw-r--r--dev-python/pyls-spyder/pyls-spyder-0.4.0-r2.ebuild4
-rw-r--r--dev-python/pymacaroons/pymacaroons-0.13.0-r1.ebuild6
-rw-r--r--dev-python/pymad/pymad-0.11.3.ebuild4
-rw-r--r--dev-python/pymdown-extensions/Manifest3
-rw-r--r--dev-python/pymdown-extensions/files/pymdown-extensions-10.8.1-test.patch66
-rw-r--r--dev-python/pymdown-extensions/pymdown-extensions-10.4.ebuild32
-rw-r--r--dev-python/pymdown-extensions/pymdown-extensions-10.5.ebuild32
-rw-r--r--dev-python/pymdown-extensions/pymdown-extensions-10.8.1.ebuild42
-rw-r--r--dev-python/pymdown-lexers/metadata.xml8
-rw-r--r--dev-python/pymdstat/pymdstat-0.4.3.ebuild4
-rw-r--r--dev-python/pymetar/pymetar-1.4-r2.ebuild10
-rw-r--r--dev-python/pymilter/Manifest1
-rw-r--r--dev-python/pymilter/metadata.xml15
-rw-r--r--dev-python/pymilter/pymilter-1.0.5.ebuild36
-rw-r--r--dev-python/pymongo/Manifest5
-rw-r--r--dev-python/pymongo/pymongo-4.5.0.ebuild152
-rw-r--r--dev-python/pymongo/pymongo-4.6.0.ebuild154
-rw-r--r--dev-python/pymongo/pymongo-4.6.1.ebuild154
-rw-r--r--dev-python/pymongo/pymongo-4.7.2.ebuild180
-rw-r--r--dev-python/pymongo/pymongo-4.8.0.ebuild205
-rw-r--r--dev-python/pymountboot/pymountboot-0.2.3-r1.ebuild6
-rw-r--r--dev-python/pymountboot/pymountboot-0.2.3-r2.ebuild33
-rw-r--r--dev-python/pymysql/Manifest2
-rw-r--r--dev-python/pymysql/metadata.xml2
-rw-r--r--dev-python/pymysql/pymysql-1.1.0.ebuild118
-rw-r--r--dev-python/pymysql/pymysql-1.1.1.ebuild118
-rw-r--r--dev-python/pynacl/pynacl-1.5.0-r3.ebuild6
-rw-r--r--dev-python/pynvim/Manifest2
-rw-r--r--dev-python/pynvim/pynvim-0.4.3-r1.ebuild27
-rw-r--r--dev-python/pynvim/pynvim-0.5.0.ebuild35
-rw-r--r--dev-python/pyocr/pyocr-0.8.5.ebuild4
-rw-r--r--dev-python/pyopencl/Manifest3
-rw-r--r--dev-python/pyopencl/files/pyopencl-2024.2.7-nanobind-flags.patch13
-rw-r--r--dev-python/pyopencl/metadata.xml5
-rw-r--r--dev-python/pyopencl/pyopencl-2023.1.4.ebuild72
-rw-r--r--dev-python/pyopencl/pyopencl-2024.1.ebuild72
-rw-r--r--dev-python/pyopencl/pyopencl-2024.2.7.ebuild78
-rw-r--r--dev-python/pyopengl/Manifest2
-rw-r--r--dev-python/pyopengl/pyopengl-3.1.6-r2.ebuild62
-rw-r--r--dev-python/pyopengl/pyopengl-3.1.7-r1.ebuild19
-rw-r--r--dev-python/pyopengl_accelerate/metadata.xml3
-rw-r--r--dev-python/pyopengl_accelerate/pyopengl_accelerate-3.1.7.ebuild25
-rw-r--r--dev-python/pyopenssl/Manifest4
-rw-r--r--dev-python/pyopenssl/pyopenssl-23.2.0.ebuild66
-rw-r--r--dev-python/pyopenssl/pyopenssl-23.3.0.ebuild66
-rw-r--r--dev-python/pyopenssl/pyopenssl-24.1.0.ebuild71
-rw-r--r--dev-python/pyopenssl/pyopenssl-24.2.1.ebuild69
-rw-r--r--dev-python/pyotherside/Manifest2
-rw-r--r--dev-python/pyotherside/metadata.xml6
-rw-r--r--dev-python/pyotherside/pyotherside-1.6.0.ebuild63
-rw-r--r--dev-python/pyotherside/pyotherside-1.6.1.ebuild103
-rw-r--r--dev-python/pyotp/Manifest1
-rw-r--r--dev-python/pyotp/pyotp-2.8.0.ebuild21
-rw-r--r--dev-python/pyotp/pyotp-2.9.0.ebuild4
-rw-r--r--dev-python/pyparsing/Manifest3
-rw-r--r--dev-python/pyparsing/pyparsing-3.0.9.ebuild52
-rw-r--r--dev-python/pyparsing/pyparsing-3.1.1.ebuild47
-rw-r--r--dev-python/pyparsing/pyparsing-3.1.2.ebuild47
-rw-r--r--dev-python/pypax/pypax-0.9.5-r1.ebuild47
-rw-r--r--dev-python/pypax/pypax-0.9.5-r2.ebuild47
-rw-r--r--dev-python/pypax/pypax-9999.ebuild5
-rw-r--r--dev-python/pypdf/Manifest6
-rw-r--r--dev-python/pypdf/pypdf-3.17.1.ebuild59
-rw-r--r--dev-python/pypdf/pypdf-4.2.0.ebuild67
-rw-r--r--dev-python/pypdf/pypdf-4.3.0.ebuild67
-rw-r--r--dev-python/pypdf/pypdf-4.3.1.ebuild67
-rw-r--r--dev-python/pyperclip/pyperclip-1.8.2-r1.ebuild4
-rw-r--r--dev-python/pyphen/Manifest2
-rw-r--r--dev-python/pyphen/pyphen-0.14.0.ebuild25
-rw-r--r--dev-python/pyphen/pyphen-0.15.0.ebuild25
-rw-r--r--dev-python/pypiserver/Manifest2
-rw-r--r--dev-python/pypiserver/files/pypiserver-2.1.1-test-offline.patch33
-rw-r--r--dev-python/pypiserver/pypiserver-2.0.1.ebuild76
-rw-r--r--dev-python/pypiserver/pypiserver-2.1.1.ebuild79
-rw-r--r--dev-python/pypng/pypng-0.20220715.0.ebuild4
-rw-r--r--dev-python/pyproj/Manifest1
-rw-r--r--dev-python/pyproj/pyproj-3.6.0.ebuild56
-rw-r--r--dev-python/pyproj/pyproj-3.6.1.ebuild4
-rw-r--r--dev-python/pyproject-api/Manifest2
-rw-r--r--dev-python/pyproject-api/pyproject-api-1.6.1.ebuild42
-rw-r--r--dev-python/pyproject-api/pyproject-api-1.7.1.ebuild41
-rw-r--r--dev-python/pyproject-fmt-rust/Manifest117
-rw-r--r--dev-python/pyproject-fmt-rust/metadata.xml11
-rw-r--r--dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.3.ebuild159
-rw-r--r--dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.4.ebuild159
-rw-r--r--dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.5.ebuild159
-rw-r--r--dev-python/pyproject-fmt/Manifest5
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-1.5.1.ebuild42
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-1.5.2.ebuild42
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-1.5.3.ebuild42
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-2.1.3.ebuild36
-rw-r--r--dev-python/pyproject-fmt/pyproject-fmt-2.1.4.ebuild36
-rw-r--r--dev-python/pyproject-hooks/Manifest2
-rw-r--r--dev-python/pyproject-hooks/metadata.xml2
-rw-r--r--dev-python/pyproject-hooks/pyproject-hooks-1.0.0.ebuild37
-rw-r--r--dev-python/pyproject-hooks/pyproject-hooks-1.1.0.ebuild42
-rw-r--r--dev-python/pyproject-metadata/Manifest2
-rw-r--r--dev-python/pyproject-metadata/metadata.xml3
-rw-r--r--dev-python/pyproject-metadata/pyproject-metadata-0.7.1.ebuild37
-rw-r--r--dev-python/pyproject-metadata/pyproject-metadata-0.8.0.ebuild32
-rw-r--r--dev-python/pypugjs/Manifest3
-rw-r--r--dev-python/pypugjs/metadata.xml4
-rw-r--r--dev-python/pypugjs/pypugjs-5.11.0.ebuild53
-rw-r--r--dev-python/pypugjs/pypugjs-5.9.12-r1.ebuild53
-rw-r--r--dev-python/pypugjs/pypugjs-5.9.12.ebuild48
-rw-r--r--dev-python/pypy-exe-bin/Manifest16
-rw-r--r--dev-python/pypy-exe-bin/metadata.xml3
-rw-r--r--dev-python/pypy-exe-bin/pypy-exe-bin-7.3.13.ebuild79
-rw-r--r--dev-python/pypy-exe-bin/pypy-exe-bin-7.3.16.ebuild82
-rw-r--r--dev-python/pypy-exe/Manifest4
-rw-r--r--dev-python/pypy-exe/metadata.xml3
-rw-r--r--dev-python/pypy-exe/pypy-exe-7.3.13.ebuild177
-rw-r--r--dev-python/pypy-exe/pypy-exe-7.3.16.ebuild181
-rw-r--r--dev-python/pypy/Manifest4
-rw-r--r--dev-python/pypy/metadata.xml8
-rw-r--r--dev-python/pypy/pypy-7.3.13.ebuild301
-rw-r--r--dev-python/pypy/pypy-7.3.16.ebuild306
-rw-r--r--dev-python/pypy3-exe-bin/Manifest8
-rw-r--r--dev-python/pypy3-exe-bin/metadata.xml8
-rw-r--r--dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.11.ebuild80
-rw-r--r--dev-python/pypy3-exe/Manifest2
-rw-r--r--dev-python/pypy3-exe/metadata.xml13
-rw-r--r--dev-python/pypy3-exe/pypy3-exe-7.3.11.ebuild126
-rw-r--r--dev-python/pypy3/pypy3-7.3.13.ebuild26
-rw-r--r--dev-python/pypy3/pypy3-7.3.16.ebuild26
-rw-r--r--dev-python/pypy3_10-exe-bin/Manifest24
-rw-r--r--dev-python/pypy3_10-exe-bin/metadata.xml3
-rw-r--r--dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.13.ebuild82
-rw-r--r--dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.13_p2.ebuild82
-rw-r--r--dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.16.ebuild85
-rw-r--r--dev-python/pypy3_10-exe/Manifest5
-rw-r--r--dev-python/pypy3_10-exe/metadata.xml3
-rw-r--r--dev-python/pypy3_10-exe/pypy3_10-exe-7.3.13.ebuild127
-rw-r--r--dev-python/pypy3_10-exe/pypy3_10-exe-7.3.13_p2.ebuild128
-rw-r--r--dev-python/pypy3_10-exe/pypy3_10-exe-7.3.16.ebuild136
-rw-r--r--dev-python/pypy3_10/Manifest4
-rw-r--r--dev-python/pypy3_10/metadata.xml6
-rw-r--r--dev-python/pypy3_10/pypy3_10-7.3.13_p1.ebuild211
-rw-r--r--dev-python/pypy3_10/pypy3_10-7.3.16.ebuild212
-rw-r--r--dev-python/pypy3_9-exe-bin/Manifest16
-rw-r--r--dev-python/pypy3_9-exe-bin/metadata.xml3
-rw-r--r--dev-python/pypy3_9-exe-bin/pypy3_9-exe-bin-7.3.13.ebuild82
-rw-r--r--dev-python/pypy3_9-exe-bin/pypy3_9-exe-bin-7.3.16.ebuild85
-rw-r--r--dev-python/pypy3_9-exe/Manifest4
-rw-r--r--dev-python/pypy3_9-exe/metadata.xml3
-rw-r--r--dev-python/pypy3_9-exe/pypy3_9-exe-7.3.13.ebuild128
-rw-r--r--dev-python/pypy3_9-exe/pypy3_9-exe-7.3.16.ebuild132
-rw-r--r--dev-python/pypy3_9/Manifest4
-rw-r--r--dev-python/pypy3_9/metadata.xml6
-rw-r--r--dev-python/pypy3_9/pypy3_9-7.3.13-r1.ebuild211
-rw-r--r--dev-python/pypy3_9/pypy3_9-7.3.16.ebuild211
-rw-r--r--dev-python/pyqt-distutils/Manifest1
-rw-r--r--dev-python/pyqt-distutils/metadata.xml9
-rw-r--r--dev-python/pyqt-distutils/pyqt-distutils-0.7.3-r1.ebuild31
-rw-r--r--dev-python/pyqtgraph/Manifest2
-rw-r--r--dev-python/pyqtgraph/pyqtgraph-0.13.3.ebuild72
-rw-r--r--dev-python/pyqtgraph/pyqtgraph-0.13.7.ebuild74
-rw-r--r--dev-python/pyquery/pyquery-2.0.0.ebuild22
-rw-r--r--dev-python/pyrate-limiter/Manifest4
-rw-r--r--dev-python/pyrate-limiter/pyrate-limiter-3.0.1.ebuild73
-rw-r--r--dev-python/pyrate-limiter/pyrate-limiter-3.1.0.ebuild69
-rw-r--r--dev-python/pyrate-limiter/pyrate-limiter-3.6.0.ebuild75
-rw-r--r--dev-python/pyrate-limiter/pyrate-limiter-3.6.1.ebuild75
-rw-r--r--dev-python/pyrfc3339/pyrfc3339-1.1-r1.ebuild4
-rw-r--r--dev-python/pyroute2/Manifest2
-rw-r--r--dev-python/pyroute2/pyroute2-0.7.12-r1.ebuild26
-rw-r--r--dev-python/pyroute2/pyroute2-0.7.9.ebuild29
-rw-r--r--dev-python/pyrqlite/Manifest3
-rw-r--r--dev-python/pyrqlite/pyrqlite-2.2.0.ebuild30
-rw-r--r--dev-python/pyrqlite/pyrqlite-2.2.2.ebuild30
-rw-r--r--dev-python/pyrqlite/pyrqlite-2.2.3.ebuild30
-rw-r--r--dev-python/pyrsistent/pyrsistent-0.20.0.ebuild4
-rw-r--r--dev-python/pyscard/Manifest2
-rw-r--r--dev-python/pyscard/pyscard-2.0.10.ebuild46
-rw-r--r--dev-python/pyscard/pyscard-2.0.7.ebuild46
-rw-r--r--dev-python/pyscreenshot/pyscreenshot-3.1.ebuild4
-rw-r--r--dev-python/pyserial/files/pyserial-3.5-unittest-fix.patch28
-rw-r--r--dev-python/pyserial/pyserial-3.5-r2.ebuild8
-rw-r--r--dev-python/pyside2-tools/Manifest2
-rw-r--r--dev-python/pyside2-tools/pyside2-tools-5.15.11-r1.ebuild72
-rw-r--r--dev-python/pyside2-tools/pyside2-tools-5.15.14.ebuild84
-rw-r--r--dev-python/pyside2/Manifest2
-rw-r--r--dev-python/pyside2/pyside2-5.15.11-r1.ebuild222
-rw-r--r--dev-python/pyside2/pyside2-5.15.14.ebuild229
-rw-r--r--dev-python/pyside6-tools/Manifest2
-rw-r--r--dev-python/pyside6-tools/pyside6-tools-6.6.0-r1.ebuild68
-rw-r--r--dev-python/pyside6-tools/pyside6-tools-6.7.2.ebuild80
-rw-r--r--dev-python/pyside6/Manifest3
-rw-r--r--dev-python/pyside6/files/pyside6-6.3.1-fix-designer-plugin-install-location.patch16
-rw-r--r--dev-python/pyside6/files/pyside6-6.6.0-fix-qtasyncio-install-dir.patch10
-rw-r--r--dev-python/pyside6/pyside6-6.5.3.ebuild227
-rw-r--r--dev-python/pyside6/pyside6-6.6.0-r1.ebuild245
-rw-r--r--dev-python/pyside6/pyside6-6.7.2.ebuild248
-rw-r--r--dev-python/pysimdjson/Manifest2
-rw-r--r--dev-python/pysimdjson/files/pysimdjson-5.0.2-system-lib.patch72
-rw-r--r--dev-python/pysimdjson/files/pysimdjson-5.0.2-tests.patch13
-rw-r--r--dev-python/pysimdjson/files/pysimdjson-6.0.2-system-lib.patch17
-rw-r--r--dev-python/pysimdjson/pysimdjson-5.0.2-r1.ebuild59
-rw-r--r--dev-python/pysimdjson/pysimdjson-6.0.2.ebuild57
-rw-r--r--dev-python/pysol-cards/Manifest1
-rw-r--r--dev-python/pysol-cards/metadata.xml (renamed from dev-python/pysol_cards/metadata.xml)0
-rw-r--r--dev-python/pysol-cards/pysol-cards-0.16.0.ebuild26
-rw-r--r--dev-python/pysol_cards/Manifest1
-rw-r--r--dev-python/pysol_cards/pysol_cards-0.14.3.ebuild26
-rw-r--r--dev-python/pyspectrum2/pyspectrum2-0.2.0-r2.ebuild4
-rw-r--r--dev-python/pyspelling/Manifest2
-rw-r--r--dev-python/pyspelling/metadata.xml8
-rw-r--r--dev-python/pyspelling/pyspelling-2.10.ebuild67
-rw-r--r--dev-python/pyspelling/pyspelling-2.9.ebuild63
-rw-r--r--dev-python/pyspnego/Manifest3
-rw-r--r--dev-python/pyspnego/pyspnego-0.10.2.ebuild38
-rw-r--r--dev-python/pyspnego/pyspnego-0.11.0.ebuild38
-rw-r--r--dev-python/pyspnego/pyspnego-0.11.1.ebuild38
-rw-r--r--dev-python/pysrt/pysrt-1.1.2-r1.ebuild4
-rw-r--r--dev-python/pysrt/pysrt-9999.ebuild4
-rw-r--r--dev-python/pystache/Manifest1
-rw-r--r--dev-python/pystache/metadata.xml4
-rw-r--r--dev-python/pystache/pystache-0.6.1.ebuild42
-rw-r--r--dev-python/pystache/pystache-0.6.5.ebuild4
-rw-r--r--dev-python/pysubs2/Manifest1
-rw-r--r--dev-python/pysubs2/metadata.xml17
-rw-r--r--dev-python/pysubs2/pysubs2-1.7.2.ebuild21
-rw-r--r--dev-python/pysvn/Manifest2
-rw-r--r--dev-python/pysvn/files/pysvn-1.9.18-tests-3.11.patch33
-rw-r--r--dev-python/pysvn/pysvn-1.9.18.ebuild66
-rw-r--r--dev-python/pysvn/pysvn-1.9.22.ebuild62
-rw-r--r--dev-python/pyte/pyte-0.8.2.ebuild6
-rw-r--r--dev-python/pytesseract/Manifest2
-rw-r--r--dev-python/pytesseract/pytesseract-0.3.10-r1.ebuild31
-rw-r--r--dev-python/pytesseract/pytesseract-0.3.11.ebuild38
-rw-r--r--dev-python/pytesseract/pytesseract-0.3.12.ebuild6
-rw-r--r--dev-python/pytest-aiohttp/pytest-aiohttp-1.0.5.ebuild4
-rw-r--r--dev-python/pytest-asyncio/Manifest5
-rw-r--r--dev-python/pytest-asyncio/pytest-asyncio-0.21.1.ebuild51
-rw-r--r--dev-python/pytest-asyncio/pytest-asyncio-0.22.0.ebuild48
-rw-r--r--dev-python/pytest-asyncio/pytest-asyncio-0.23.0.ebuild49
-rw-r--r--dev-python/pytest-asyncio/pytest-asyncio-0.23.7.ebuild51
-rw-r--r--dev-python/pytest-asyncio/pytest-asyncio-0.23.8.ebuild51
-rw-r--r--dev-python/pytest-bdd/Manifest3
-rw-r--r--dev-python/pytest-bdd/pytest-bdd-7.0.0.ebuild48
-rw-r--r--dev-python/pytest-bdd/pytest-bdd-7.0.1.ebuild48
-rw-r--r--dev-python/pytest-bdd/pytest-bdd-7.2.0.ebuild43
-rw-r--r--dev-python/pytest-check/Manifest2
-rw-r--r--dev-python/pytest-check/pytest-check-2.2.2.ebuild26
-rw-r--r--dev-python/pytest-check/pytest-check-2.3.1.ebuild26
-rw-r--r--dev-python/pytest-codeblocks/Manifest1
-rw-r--r--dev-python/pytest-codeblocks/pytest-codeblocks-0.16.1.ebuild33
-rw-r--r--dev-python/pytest-codeblocks/pytest-codeblocks-0.17.0.ebuild4
-rw-r--r--dev-python/pytest-console-scripts/pytest-console-scripts-1.4.1.ebuild6
-rw-r--r--dev-python/pytest-cov/Manifest2
-rw-r--r--dev-python/pytest-cov/pytest-cov-4.1.0.ebuild63
-rw-r--r--dev-python/pytest-cov/pytest-cov-5.0.0.ebuild63
-rw-r--r--dev-python/pytest-custom-exit-code/pytest-custom-exit-code-0.3.0.ebuild6
-rw-r--r--dev-python/pytest-datadir/pytest-datadir-1.5.0.ebuild4
-rw-r--r--dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild6
-rw-r--r--dev-python/pytest-describe/Manifest2
-rw-r--r--dev-python/pytest-describe/pytest-describe-2.1.0.ebuild33
-rw-r--r--dev-python/pytest-describe/pytest-describe-2.2.0.ebuild33
-rw-r--r--dev-python/pytest-django/Manifest2
-rw-r--r--dev-python/pytest-django/pytest-django-4.7.0.ebuild51
-rw-r--r--dev-python/pytest-django/pytest-django-4.8.0.ebuild51
-rw-r--r--dev-python/pytest-env/Manifest1
-rw-r--r--dev-python/pytest-env/metadata.xml4
-rw-r--r--dev-python/pytest-env/pytest-env-1.1.1.ebuild39
-rw-r--r--dev-python/pytest-env/pytest-env-1.1.3.ebuild6
-rw-r--r--dev-python/pytest-expect/pytest-expect-1.1.0-r2.ebuild4
-rw-r--r--dev-python/pytest-faulthandler/Manifest1
-rw-r--r--dev-python/pytest-faulthandler/metadata.xml9
-rw-r--r--dev-python/pytest-faulthandler/pytest-faulthandler-2.0.1-r1.ebuild23
-rw-r--r--dev-python/pytest-fixture-config/Manifest1
-rw-r--r--dev-python/pytest-fixture-config/metadata.xml21
-rw-r--r--dev-python/pytest-fixture-config/pytest-fixture-config-1.7.0-r2.ebuild33
-rw-r--r--dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-8.patch48
-rw-r--r--dev-python/pytest-forked/pytest-forked-1.6.0.ebuild32
-rw-r--r--dev-python/pytest-freezegun/pytest-freezegun-0.4.2-r1.ebuild4
-rw-r--r--dev-python/pytest-freezer/pytest-freezer-0.4.8.ebuild6
-rw-r--r--dev-python/pytest-golden/metadata.xml6
-rw-r--r--dev-python/pytest-golden/pytest-golden-0.2.2-r1.ebuild4
-rw-r--r--dev-python/pytest-helpers-namespace/pytest-helpers-namespace-2021.12.29-r1.ebuild4
-rw-r--r--dev-python/pytest-home/Manifest1
-rw-r--r--dev-python/pytest-home/metadata.xml13
-rw-r--r--dev-python/pytest-home/pytest-home-0.5.1.ebuild31
-rw-r--r--dev-python/pytest-httpbin/pytest-httpbin-2.0.0.ebuild4
-rw-r--r--dev-python/pytest-httpserver/Manifest4
-rw-r--r--dev-python/pytest-httpserver/metadata.xml2
-rw-r--r--dev-python/pytest-httpserver/pytest-httpserver-1.0.10.ebuild39
-rw-r--r--dev-python/pytest-httpserver/pytest-httpserver-1.0.11.ebuild43
-rw-r--r--dev-python/pytest-httpserver/pytest-httpserver-1.0.12.ebuild39
-rw-r--r--dev-python/pytest-httpserver/pytest-httpserver-1.0.8.ebuild39
-rw-r--r--dev-python/pytest-httpx/Manifest3
-rw-r--r--dev-python/pytest-httpx/pytest-httpx-0.26.0.ebuild32
-rw-r--r--dev-python/pytest-httpx/pytest-httpx-0.27.0.ebuild32
-rw-r--r--dev-python/pytest-httpx/pytest-httpx-0.30.0.ebuild34
-rw-r--r--dev-python/pytest-import-check/Manifest2
-rw-r--r--dev-python/pytest-import-check/metadata.xml13
-rw-r--r--dev-python/pytest-import-check/pytest-import-check-0.0.3.ebuild37
-rw-r--r--dev-python/pytest-import-check/pytest-import-check-0.0.4.ebuild37
-rw-r--r--dev-python/pytest-jupyter/Manifest2
-rw-r--r--dev-python/pytest-jupyter/pytest-jupyter-0.10.1.ebuild36
-rw-r--r--dev-python/pytest-jupyter/pytest-jupyter-0.7.0.ebuild34
-rw-r--r--dev-python/pytest-lazy-fixture/pytest-lazy-fixture-0.6.3-r1.ebuild26
-rw-r--r--dev-python/pytest-lazy-fixture/pytest-lazy-fixture-0.6.3.ebuild20
-rw-r--r--dev-python/pytest-lazy-fixtures/Manifest3
-rw-r--r--dev-python/pytest-lazy-fixtures/metadata.xml12
-rw-r--r--dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.0.7.ebuild31
-rw-r--r--dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.1.0.ebuild31
-rw-r--r--dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.1.1.ebuild31
-rw-r--r--dev-python/pytest-localftpserver/Manifest2
-rw-r--r--dev-python/pytest-localftpserver/pytest-localftpserver-1.2.0.ebuild37
-rw-r--r--dev-python/pytest-localftpserver/pytest-localftpserver-1.3.2.ebuild37
-rw-r--r--dev-python/pytest-localserver/pytest-localserver-0.8.1.ebuild4
-rw-r--r--dev-python/pytest-markdown/metadata.xml5
-rw-r--r--dev-python/pytest-markdown/pytest-markdown-1.0.2-r1.ebuild4
-rw-r--r--dev-python/pytest-metadata/Manifest2
-rw-r--r--dev-python/pytest-metadata/pytest-metadata-3.0.0.ebuild28
-rw-r--r--dev-python/pytest-metadata/pytest-metadata-3.1.1.ebuild28
-rw-r--r--dev-python/pytest-mock/Manifest2
-rw-r--r--dev-python/pytest-mock/pytest-mock-3.12.0.ebuild54
-rw-r--r--dev-python/pytest-mock/pytest-mock-3.14.0.ebuild54
-rw-r--r--dev-python/pytest-mpl/Manifest1
-rw-r--r--dev-python/pytest-mpl/pytest-mpl-0.17.0.ebuild39
-rw-r--r--dev-python/pytest-order/Manifest2
-rw-r--r--dev-python/pytest-order/pytest-order-1.1.0.ebuild40
-rw-r--r--dev-python/pytest-order/pytest-order-1.2.0.ebuild3
-rw-r--r--dev-python/pytest-order/pytest-order-1.2.1.ebuild48
-rw-r--r--dev-python/pytest-ordering/pytest-ordering-0.6-r1.ebuild4
-rw-r--r--dev-python/pytest-param-files/Manifest2
-rw-r--r--dev-python/pytest-param-files/pytest-param-files-0.3.5.ebuild29
-rw-r--r--dev-python/pytest-param-files/pytest-param-files-0.5.0.ebuild30
-rw-r--r--dev-python/pytest-param-files/pytest-param-files-0.6.0.ebuild6
-rw-r--r--dev-python/pytest-plus/Manifest2
-rw-r--r--dev-python/pytest-plus/metadata.xml6
-rw-r--r--dev-python/pytest-plus/pytest-plus-0.6.0.ebuild29
-rw-r--r--dev-python/pytest-plus/pytest-plus-0.7.0.ebuild29
-rw-r--r--dev-python/pytest-qt/Manifest2
-rw-r--r--dev-python/pytest-qt/pytest-qt-4.2.0.ebuild75
-rw-r--r--dev-python/pytest-qt/pytest-qt-4.4.0.ebuild78
-rw-r--r--dev-python/pytest-recording/Manifest3
-rw-r--r--dev-python/pytest-recording/pytest-recording-0.13.0.ebuild46
-rw-r--r--dev-python/pytest-recording/pytest-recording-0.13.1.ebuild46
-rw-r--r--dev-python/pytest-recording/pytest-recording-0.13.2.ebuild46
-rw-r--r--dev-python/pytest-regressions/pytest-regressions-2.5.0.ebuild4
-rw-r--r--dev-python/pytest-repeat/Manifest1
-rw-r--r--dev-python/pytest-repeat/metadata.xml12
-rw-r--r--dev-python/pytest-repeat/pytest-repeat-0.9.3.ebuild34
-rw-r--r--dev-python/pytest-reraise/Manifest1
-rw-r--r--dev-python/pytest-reraise/metadata.xml12
-rw-r--r--dev-python/pytest-reraise/pytest-reraise-2.1.2.ebuild30
-rw-r--r--dev-python/pytest-rerunfailures/Manifest3
-rw-r--r--dev-python/pytest-rerunfailures/pytest-rerunfailures-12.0.ebuild32
-rw-r--r--dev-python/pytest-rerunfailures/pytest-rerunfailures-13.0.ebuild32
-rw-r--r--dev-python/pytest-rerunfailures/pytest-rerunfailures-14.0.ebuild44
-rw-r--r--dev-python/pytest-reserial/Manifest2
-rw-r--r--dev-python/pytest-reserial/metadata.xml13
-rw-r--r--dev-python/pytest-reserial/pytest-reserial-0.4.1.ebuild26
-rw-r--r--dev-python/pytest-reserial/pytest-reserial-0.4.2.ebuild26
-rw-r--r--dev-python/pytest-salt-factories/Manifest3
-rw-r--r--dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc20-r1.ebuild4
-rw-r--r--dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc23.ebuild4
-rw-r--r--dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc25.ebuild86
-rw-r--r--dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc28.ebuild4
-rw-r--r--dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc29.ebuild88
-rw-r--r--dev-python/pytest-salt-factories/pytest-salt-factories-1.0.1.ebuild88
-rw-r--r--dev-python/pytest-services/pytest-services-2.2.1-r1.ebuild6
-rw-r--r--dev-python/pytest-shell-utilities/Manifest2
-rw-r--r--dev-python/pytest-shell-utilities/metadata.xml1
-rw-r--r--dev-python/pytest-shell-utilities/pytest-shell-utilities-1.8.0.ebuild42
-rw-r--r--dev-python/pytest-shell-utilities/pytest-shell-utilities-1.9.0-r1.ebuild41
-rw-r--r--dev-python/pytest-shutil/Manifest1
-rw-r--r--dev-python/pytest-shutil/files/pytest-shutil-1.7.0-py312.patch39
-rw-r--r--dev-python/pytest-shutil/metadata.xml22
-rw-r--r--dev-python/pytest-shutil/pytest-shutil-1.7.0-r4.ebuild54
-rw-r--r--dev-python/pytest-skip-markers/Manifest2
-rw-r--r--dev-python/pytest-skip-markers/pytest-skip-markers-1.5.0.ebuild47
-rw-r--r--dev-python/pytest-skip-markers/pytest-skip-markers-1.5.1.ebuild47
-rw-r--r--dev-python/pytest-subprocess/Manifest2
-rw-r--r--dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild6
-rw-r--r--dev-python/pytest-subprocess/pytest-subprocess-1.5.1.ebuild51
-rw-r--r--dev-python/pytest-subprocess/pytest-subprocess-1.5.2.ebuild44
-rw-r--r--dev-python/pytest-subtesthack/Manifest1
-rw-r--r--dev-python/pytest-subtesthack/metadata.xml13
-rw-r--r--dev-python/pytest-subtesthack/pytest-subtesthack-0.2.0.ebuild34
-rw-r--r--dev-python/pytest-subtests/Manifest4
-rw-r--r--dev-python/pytest-subtests/pytest-subtests-0.11.0.ebuild40
-rw-r--r--dev-python/pytest-subtests/pytest-subtests-0.12.1.ebuild40
-rw-r--r--dev-python/pytest-subtests/pytest-subtests-0.13.0.ebuild39
-rw-r--r--dev-python/pytest-subtests/pytest-subtests-0.13.1.ebuild39
-rw-r--r--dev-python/pytest-sugar/Manifest2
-rw-r--r--dev-python/pytest-sugar/pytest-sugar-0.9.7.ebuild34
-rw-r--r--dev-python/pytest-sugar/pytest-sugar-1.0.0.ebuild34
-rw-r--r--dev-python/pytest-system-statistics/pytest-system-statistics-1.0.2-r2.ebuild4
-rw-r--r--dev-python/pytest-tempdir/metadata.xml2
-rw-r--r--dev-python/pytest-tempdir/pytest-tempdir-2019.10.12-r1.ebuild15
-rw-r--r--dev-python/pytest-testinfra/Manifest3
-rw-r--r--dev-python/pytest-testinfra/metadata.xml4
-rw-r--r--dev-python/pytest-testinfra/pytest-testinfra-10.0.0.ebuild57
-rw-r--r--dev-python/pytest-testinfra/pytest-testinfra-10.1.1.ebuild54
-rw-r--r--dev-python/pytest-testinfra/pytest-testinfra-9.0.0.ebuild57
-rw-r--r--dev-python/pytest-timeout/Manifest2
-rw-r--r--dev-python/pytest-timeout/pytest-timeout-2.2.0.ebuild44
-rw-r--r--dev-python/pytest-timeout/pytest-timeout-2.3.1.ebuild51
-rw-r--r--dev-python/pytest-tornado/pytest-tornado-0.8.1-r1.ebuild6
-rw-r--r--dev-python/pytest-tornasync/pytest-tornasync-0.6.0_p2-r1.ebuild4
-rw-r--r--dev-python/pytest-trio/files/pytest-trio-0.8.0-test.patch52
-rw-r--r--dev-python/pytest-trio/metadata.xml4
-rw-r--r--dev-python/pytest-trio/pytest-trio-0.8.0-r1.ebuild56
-rw-r--r--dev-python/pytest-trio/pytest-trio-0.8.0.ebuild51
-rw-r--r--dev-python/pytest-twisted/Manifest3
-rw-r--r--dev-python/pytest-twisted/metadata.xml7
-rw-r--r--dev-python/pytest-twisted/pytest-twisted-1.14.0.ebuild51
-rw-r--r--dev-python/pytest-twisted/pytest-twisted-1.14.1.ebuild62
-rw-r--r--dev-python/pytest-twisted/pytest-twisted-1.14.2.ebuild56
-rw-r--r--dev-python/pytest-verbose-parametrize/Manifest1
-rw-r--r--dev-python/pytest-verbose-parametrize/files/pytest-verbose-parametrize-1.7.0_collections-abc.patch8
-rw-r--r--dev-python/pytest-verbose-parametrize/metadata.xml13
-rw-r--r--dev-python/pytest-verbose-parametrize/pytest-verbose-parametrize-1.7.0-r1.ebuild37
-rw-r--r--dev-python/pytest-virtualenv/Manifest1
-rw-r--r--dev-python/pytest-virtualenv/metadata.xml22
-rw-r--r--dev-python/pytest-virtualenv/pytest-virtualenv-1.7.0-r2.ebuild49
-rw-r--r--dev-python/pytest-xdist/Manifest4
-rw-r--r--dev-python/pytest-xdist/pytest-xdist-3.3.1-r1.ebuild44
-rw-r--r--dev-python/pytest-xdist/pytest-xdist-3.4.0.ebuild44
-rw-r--r--dev-python/pytest-xdist/pytest-xdist-3.5.0.ebuild44
-rw-r--r--dev-python/pytest-xdist/pytest-xdist-3.6.1.ebuild43
-rw-r--r--dev-python/pytest-xprocess/Manifest1
-rw-r--r--dev-python/pytest-xprocess/pytest-xprocess-1.0.2.ebuild27
-rw-r--r--dev-python/pytest/Manifest8
-rw-r--r--dev-python/pytest/pytest-7.4.2.ebuild107
-rw-r--r--dev-python/pytest/pytest-7.4.3.ebuild112
-rw-r--r--dev-python/pytest/pytest-7.4.4.ebuild115
-rw-r--r--dev-python/pytest/pytest-8.0.2.ebuild111
-rw-r--r--dev-python/pytest/pytest-8.1.2.ebuild113
-rw-r--r--dev-python/pytest/pytest-8.2.2.ebuild116
-rw-r--r--dev-python/pytest/pytest-8.3.1.ebuild116
-rw-r--r--dev-python/pytest/pytest-8.3.2.ebuild116
-rw-r--r--dev-python/python-augeas/python-augeas-1.1.0-r1.ebuild23
-rw-r--r--dev-python/python-axolotl-curve25519/metadata.xml3
-rw-r--r--dev-python/python-axolotl/metadata.xml3
-rw-r--r--dev-python/python-box/Manifest2
-rw-r--r--dev-python/python-box/metadata.xml8
-rw-r--r--dev-python/python-box/python-box-7.1.1.ebuild58
-rw-r--r--dev-python/python-box/python-box-7.2.0.ebuild58
-rw-r--r--dev-python/python-bugzilla/python-bugzilla-3.2.0-r1.ebuild6
-rw-r--r--dev-python/python-caja/Manifest1
-rw-r--r--dev-python/python-caja/python-caja-1.26.0.ebuild6
-rw-r--r--dev-python/python-caja/python-caja-1.28.0.ebuild55
-rw-r--r--dev-python/python-cinderclient/Manifest2
-rw-r--r--dev-python/python-cinderclient/python-cinderclient-9.4.0.ebuild48
-rw-r--r--dev-python/python-cinderclient/python-cinderclient-9.5.0.ebuild48
-rw-r--r--dev-python/python-constraint/python-constraint-1.4.0.ebuild4
-rw-r--r--dev-python/python-ctags3/python-ctags3-1.6.0.ebuild4
-rw-r--r--dev-python/python-dateutil/Manifest2
-rw-r--r--dev-python/python-dateutil/files/python-dateutil-2.8.1-no-pytest-cov.patch18
-rw-r--r--dev-python/python-dateutil/files/python-dateutil-2.8.2-system-tzdata.patch104
-rw-r--r--dev-python/python-dateutil/files/python-dateutil-2.9.0-no-pytest-cov.patch18
-rw-r--r--dev-python/python-dateutil/files/python-dateutil-2.9.0-system-tzdata.patch91
-rw-r--r--dev-python/python-dateutil/python-dateutil-2.8.2-r1.ebuild47
-rw-r--r--dev-python/python-dateutil/python-dateutil-2.9.0_p0.ebuild47
-rw-r--r--dev-python/python-dbusmock/Manifest4
-rw-r--r--dev-python/python-dbusmock/python-dbusmock-0.29.1.ebuild40
-rw-r--r--dev-python/python-dbusmock/python-dbusmock-0.30.0.ebuild40
-rw-r--r--dev-python/python-dbusmock/python-dbusmock-0.31.1-r1.ebuild54
-rw-r--r--dev-python/python-dbusmock/python-dbusmock-0.32.1.ebuild54
-rw-r--r--dev-python/python-debian/python-debian-0.1.49.ebuild9
-rw-r--r--dev-python/python-distutils-extra/metadata.xml1
-rw-r--r--dev-python/python-distutils-extra/python-distutils-extra-2.47.ebuild6
-rw-r--r--dev-python/python-dotenv/Manifest2
-rw-r--r--dev-python/python-dotenv/python-dotenv-1.0.0.ebuild46
-rw-r--r--dev-python/python-dotenv/python-dotenv-1.0.1.ebuild44
-rw-r--r--dev-python/python-editor/python-editor-1.0.4-r2.ebuild4
-rw-r--r--dev-python/python-efl/Manifest1
-rw-r--r--dev-python/python-efl/files/python-efl-1.25-clang-crosscompile.patch14
-rw-r--r--dev-python/python-efl/metadata.xml20
-rw-r--r--dev-python/python-efl/python-efl-1.26.1.ebuild80
-rw-r--r--dev-python/python-engineio/Manifest7
-rw-r--r--dev-python/python-engineio/python-engineio-4.5.1.ebuild53
-rw-r--r--dev-python/python-engineio/python-engineio-4.6.0.ebuild53
-rw-r--r--dev-python/python-engineio/python-engineio-4.6.1.ebuild53
-rw-r--r--dev-python/python-engineio/python-engineio-4.7.0.ebuild58
-rw-r--r--dev-python/python-engineio/python-engineio-4.7.1.ebuild59
-rw-r--r--dev-python/python-engineio/python-engineio-4.8.0.ebuild59
-rw-r--r--dev-python/python-engineio/python-engineio-4.9.1.ebuild59
-rw-r--r--dev-python/python-evdev/Manifest1
-rw-r--r--dev-python/python-evdev/python-evdev-1.6.0.ebuild42
-rw-r--r--dev-python/python-gammu/python-gammu-3.2.4-r1.ebuild4
-rw-r--r--dev-python/python-gflags/python-gflags-3.1.2-r2.ebuild9
-rw-r--r--dev-python/python-glanceclient/Manifest2
-rw-r--r--dev-python/python-glanceclient/files/python-glanceclient-4.6.0-test-py3.13.patch66
-rw-r--r--dev-python/python-glanceclient/files/python-glanceclient-4.6.0-test.patch92
-rw-r--r--dev-python/python-glanceclient/python-glanceclient-4.4.0-r1.ebuild51
-rw-r--r--dev-python/python-glanceclient/python-glanceclient-4.6.0.ebuild62
-rw-r--r--dev-python/python-gnupg/Manifest4
-rw-r--r--dev-python/python-gnupg/python-gnupg-0.5.1.ebuild36
-rw-r--r--dev-python/python-gnupg/python-gnupg-0.5.2.ebuild48
-rw-r--r--dev-python/python-ironicclient/Manifest3
-rw-r--r--dev-python/python-ironicclient/python-ironicclient-5.4.0.ebuild50
-rw-r--r--dev-python/python-ironicclient/python-ironicclient-5.6.0.ebuild49
-rw-r--r--dev-python/python-ironicclient/python-ironicclient-5.7.0.ebuild49
-rw-r--r--dev-python/python-jose/files/python-jose-3.3.0-test.patch119
-rw-r--r--dev-python/python-jose/python-jose-3.3.0-r1.ebuild14
-rw-r--r--dev-python/python-json-logger/files/python-json-logger-2.0.7-py312.patch38
-rw-r--r--dev-python/python-json-logger/files/python-json-logger-2.0.7-py313.patch25
-rw-r--r--dev-python/python-json-logger/python-json-logger-2.0.7-r1.ebuild34
-rw-r--r--dev-python/python-keystoneclient/Manifest2
-rw-r--r--dev-python/python-keystoneclient/python-keystoneclient-5.2.0.ebuild56
-rw-r--r--dev-python/python-keystoneclient/python-keystoneclient-5.4.0.ebuild56
-rw-r--r--dev-python/python-ldap/Manifest1
-rw-r--r--dev-python/python-ldap/python-ldap-3.4.3.ebuild80
-rw-r--r--dev-python/python-ldap/python-ldap-3.4.4.ebuild4
-rw-r--r--dev-python/python-linux-procfs/Manifest2
-rw-r--r--dev-python/python-linux-procfs/metadata.xml5
-rw-r--r--dev-python/python-linux-procfs/python-linux-procfs-0.7.1.ebuild26
-rw-r--r--dev-python/python-linux-procfs/python-linux-procfs-0.7.3.ebuild27
-rw-r--r--dev-python/python-lsp-black/Manifest2
-rw-r--r--dev-python/python-lsp-black/python-lsp-black-1.3.0.ebuild38
-rw-r--r--dev-python/python-lsp-black/python-lsp-black-2.0.0.ebuild44
-rw-r--r--dev-python/python-lsp-jsonrpc/python-lsp-jsonrpc-1.1.2.ebuild4
-rw-r--r--dev-python/python-lsp-server/Manifest2
-rw-r--r--dev-python/python-lsp-server/python-lsp-server-1.11.0.ebuild94
-rw-r--r--dev-python/python-lsp-server/python-lsp-server-1.9.0.ebuild107
-rw-r--r--dev-python/python-lzo/python-lzo-1.15.ebuild6
-rw-r--r--dev-python/python-magic/python-magic-0.4.27.ebuild4
-rw-r--r--dev-python/python-markdown-math/python-markdown-math-0.8-r1.ebuild4
-rw-r--r--dev-python/python-memcached/Manifest2
-rw-r--r--dev-python/python-memcached/python-memcached-1.59-r2.ebuild54
-rw-r--r--dev-python/python-memcached/python-memcached-1.62.ebuild50
-rw-r--r--dev-python/python-mimeparse/files/python-mimeparse-1.6.0-py3.13.patch79
-rw-r--r--dev-python/python-mimeparse/python-mimeparse-1.6.0-r4.ebuild24
-rw-r--r--dev-python/python-mimeparse/python-mimeparse-1.6.0-r5.ebuild28
-rw-r--r--dev-python/python-mpd2/Manifest2
-rw-r--r--dev-python/python-mpd2/python-mpd2-3.1.0.ebuild51
-rw-r--r--dev-python/python-mpd2/python-mpd2-3.1.1.ebuild49
-rw-r--r--dev-python/python-mpv/Manifest3
-rw-r--r--dev-python/python-mpv/python-mpv-1.0.4.ebuild45
-rw-r--r--dev-python/python-mpv/python-mpv-1.0.5.ebuild46
-rw-r--r--dev-python/python-mpv/python-mpv-1.0.7.ebuild46
-rw-r--r--dev-python/python-multipart/Manifest2
-rw-r--r--dev-python/python-multipart/metadata.xml2
-rw-r--r--dev-python/python-multipart/python-multipart-0.0.6.ebuild31
-rw-r--r--dev-python/python-multipart/python-multipart-0.0.9.ebuild31
-rw-r--r--dev-python/python-netlink/python-netlink-0.1.ebuild6
-rw-r--r--dev-python/python-neutronclient/Manifest4
-rw-r--r--dev-python/python-neutronclient/python-neutronclient-11.0.0.ebuild79
-rw-r--r--dev-python/python-neutronclient/python-neutronclient-11.1.0.ebuild78
-rw-r--r--dev-python/python-neutronclient/python-neutronclient-11.3.0.ebuild78
-rw-r--r--dev-python/python-neutronclient/python-neutronclient-11.3.1.ebuild78
-rw-r--r--dev-python/python-novaclient/Manifest2
-rw-r--r--dev-python/python-novaclient/python-novaclient-18.4.0.ebuild63
-rw-r--r--dev-python/python-novaclient/python-novaclient-18.6.0.ebuild62
-rw-r--r--dev-python/python-openstackclient/Manifest2
-rw-r--r--dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild62
-rw-r--r--dev-python/python-openstackclient/python-openstackclient-6.6.0.ebuild62
-rw-r--r--dev-python/python-pam/python-pam-2.0.2-r2.ebuild4
-rw-r--r--dev-python/python-poppler-qt5/Manifest2
-rw-r--r--dev-python/python-poppler-qt5/python-poppler-qt5-21.3.0.ebuild21
-rw-r--r--dev-python/python-ptrace/Manifest2
-rw-r--r--dev-python/python-ptrace/files/python-ptrace-0.9.8-python3_12.patch30
-rw-r--r--dev-python/python-ptrace/python-ptrace-0.9.8-r1.ebuild36
-rw-r--r--dev-python/python-ptrace/python-ptrace-0.9.9.ebuild35
-rw-r--r--dev-python/python-ptrace/python-ptrace-9999.ebuild21
-rw-r--r--dev-python/python-redmine/Manifest2
-rw-r--r--dev-python/python-redmine/python-redmine-2.4.0.ebuild36
-rw-r--r--dev-python/python-redmine/python-redmine-2.5.0.ebuild30
-rw-r--r--dev-python/python-rtmidi/Manifest2
-rw-r--r--dev-python/python-rtmidi/metadata.xml5
-rw-r--r--dev-python/python-rtmidi/python-rtmidi-1.5.8.ebuild (renamed from dev-python/python-rtmidi/python-rtmidi-1.5.7.ebuild)0
-rw-r--r--dev-python/python-sense-hat/Manifest1
-rw-r--r--dev-python/python-sense-hat/python-sense-hat-2.4.0.ebuild25
-rw-r--r--dev-python/python-slugify/Manifest2
-rw-r--r--dev-python/python-slugify/python-slugify-8.0.1.ebuild29
-rw-r--r--dev-python/python-slugify/python-slugify-8.0.4.ebuild29
-rw-r--r--dev-python/python-snappy/Manifest2
-rw-r--r--dev-python/python-snappy/metadata.xml2
-rw-r--r--dev-python/python-snappy/python-snappy-0.6.1.ebuild34
-rw-r--r--dev-python/python-snappy/python-snappy-0.7.2.ebuild25
-rw-r--r--dev-python/python-socks/Manifest2
-rw-r--r--dev-python/python-socks/python-socks-2.4.3.ebuild46
-rw-r--r--dev-python/python-socks/python-socks-2.5.0.ebuild46
-rw-r--r--dev-python/python-stdnum/Manifest2
-rw-r--r--dev-python/python-stdnum/python-stdnum-1.19.ebuild38
-rw-r--r--dev-python/python-stdnum/python-stdnum-1.20.ebuild38
-rw-r--r--dev-python/python-swiftclient/Manifest2
-rw-r--r--dev-python/python-swiftclient/python-swiftclient-4.4.0.ebuild44
-rw-r--r--dev-python/python-swiftclient/python-swiftclient-4.6.0.ebuild40
-rw-r--r--dev-python/python-systemd/python-systemd-235.ebuild4
-rw-r--r--dev-python/python-utils/Manifest2
-rw-r--r--dev-python/python-utils/python-utils-3.8.1.ebuild42
-rw-r--r--dev-python/python-utils/python-utils-3.8.2.ebuild47
-rw-r--r--dev-python/python-vlc/Manifest1
-rw-r--r--dev-python/python-vlc/python-vlc-3.0.18122.ebuild21
-rw-r--r--dev-python/python-xlib/python-xlib-0.33.ebuild6
-rw-r--r--dev-python/python-xmp-toolkit/Manifest2
-rw-r--r--dev-python/python-xmp-toolkit/python-xmp-toolkit-2.0.1-r2.ebuild37
-rw-r--r--dev-python/python-xmp-toolkit/python-xmp-toolkit-2.0.2-r1.ebuild35
-rw-r--r--dev-python/python3-discogs-client/python3-discogs-client-2.7.ebuild3
-rw-r--r--dev-python/python3-discogs-client/python3-discogs-client-9999.ebuild3
-rw-r--r--dev-python/python3-saml/Manifest1
-rw-r--r--dev-python/python3-saml/python3-saml-1.15.0.ebuild43
-rw-r--r--dev-python/python3-xapp/files/python3-xapp-configurable-python-target.patch31
-rw-r--r--dev-python/python3-xapp/python3-xapp-2.4.1-r2.ebuild58
-rw-r--r--dev-python/python3-xapp/python3-xapp-2.4.1.ebuild57
-rw-r--r--dev-python/pythondialog/pythondialog-3.5.3.ebuild6
-rw-r--r--dev-python/pythonfinder/Manifest3
-rw-r--r--dev-python/pythonfinder/files/2.0.5-fix-import-cached-property.patch13
-rw-r--r--dev-python/pythonfinder/files/pythonfinder-2.0.6-pydantic-2.patch38
-rw-r--r--dev-python/pythonfinder/pythonfinder-2.0.5.ebuild29
-rw-r--r--dev-python/pythonfinder/pythonfinder-2.0.6.ebuild35
-rw-r--r--dev-python/pythonfinder/pythonfinder-2.1.0.ebuild31
-rw-r--r--dev-python/pythonnet/Manifest188
-rw-r--r--dev-python/pythonnet/files/pythonnet-3.0.3-no-sourcelink.patch10
-rw-r--r--dev-python/pythonnet/metadata.xml21
-rw-r--r--dev-python/pythonnet/pythonnet-3.0.3.ebuild282
-rw-r--r--dev-python/pythran/Manifest3
-rw-r--r--dev-python/pythran/pythran-0.13.1.ebuild70
-rw-r--r--dev-python/pythran/pythran-0.14.0.ebuild91
-rw-r--r--dev-python/pythran/pythran-0.16.1.ebuild107
-rw-r--r--dev-python/pytidylib/pytidylib-0.3.2-r2.ebuild11
-rw-r--r--dev-python/pytimeparse/pytimeparse-1.1.8-r1.ebuild4
-rw-r--r--dev-python/pytoolconfig/Manifest2
-rw-r--r--dev-python/pytoolconfig/pytoolconfig-1.2.6.ebuild35
-rw-r--r--dev-python/pytoolconfig/pytoolconfig-1.3.1.ebuild35
-rw-r--r--dev-python/pytools/Manifest6
-rw-r--r--dev-python/pytools/metadata.xml4
-rw-r--r--dev-python/pytools/pytools-2023.1.1.ebuild33
-rw-r--r--dev-python/pytools/pytools-2024.1.10.ebuild34
-rw-r--r--dev-python/pytools/pytools-2024.1.11.ebuild33
-rw-r--r--dev-python/pytools/pytools-2024.1.6.ebuild33
-rw-r--r--dev-python/pytools/pytools-2024.1.8.ebuild34
-rw-r--r--dev-python/pytools/pytools-2024.1.9.ebuild34
-rw-r--r--dev-python/pytrie/pytrie-0.4.0-r1.ebuild4
-rw-r--r--dev-python/pytz/Manifest2
-rw-r--r--dev-python/pytz/pytz-2023.3_p1.ebuild51
-rw-r--r--dev-python/pytz/pytz-2024.1.ebuild51
-rw-r--r--dev-python/pytzdata/Manifest1
-rw-r--r--dev-python/pytzdata/files/pytzdata-2020.1-system-zoneinfo.patch115
-rw-r--r--dev-python/pytzdata/metadata.xml13
-rw-r--r--dev-python/pytzdata/pytzdata-2020.1-r2.ebuild33
-rw-r--r--dev-python/pyu2f/Manifest2
-rw-r--r--dev-python/pyu2f/pyu2f-0.1.5-r1.ebuild23
-rw-r--r--dev-python/pyuca/pyuca-1.2.ebuild4
-rw-r--r--dev-python/pyudev/pyudev-0.24.1.ebuild4
-rw-r--r--dev-python/pyupgrade/Manifest7
-rw-r--r--dev-python/pyupgrade/pyupgrade-3.12.0.ebuild30
-rw-r--r--dev-python/pyupgrade/pyupgrade-3.13.0.ebuild30
-rw-r--r--dev-python/pyupgrade/pyupgrade-3.14.0.ebuild30
-rw-r--r--dev-python/pyupgrade/pyupgrade-3.15.0.ebuild30
-rw-r--r--dev-python/pyupgrade/pyupgrade-3.15.1.ebuild30
-rw-r--r--dev-python/pyupgrade/pyupgrade-3.15.2.ebuild30
-rw-r--r--dev-python/pyupgrade/pyupgrade-3.16.0.ebuild30
-rw-r--r--dev-python/pyusb/pyusb-1.2.1-r1.ebuild4
-rw-r--r--dev-python/pyvirtualdisplay/pyvirtualdisplay-3.0.ebuild4
-rw-r--r--dev-python/pywavelets/Manifest3
-rw-r--r--dev-python/pywavelets/pywavelets-1.4.1.ebuild47
-rw-r--r--dev-python/pywavelets/pywavelets-1.5.0.ebuild48
-rw-r--r--dev-python/pywavelets/pywavelets-1.6.0.ebuild49
-rw-r--r--dev-python/pywayland/pywayland-0.4.17.ebuild4
-rw-r--r--dev-python/pywinrm/Manifest1
-rw-r--r--dev-python/pywinrm/metadata.xml6
-rw-r--r--dev-python/pywinrm/pywinrm-0.4.3-r1.ebuild47
-rw-r--r--dev-python/pywinrm/pywinrm-0.4.3.ebuild4
-rw-r--r--dev-python/pywinrm/pywinrm-0.5.0.ebuild46
-rw-r--r--dev-python/pywlroots/Manifest2
-rw-r--r--dev-python/pywlroots/pywlroots-0.16.6-r1.ebuild43
-rw-r--r--dev-python/pywlroots/pywlroots-0.17.0.ebuild55
-rw-r--r--dev-python/pyx/pyx-0.16.ebuild68
-rw-r--r--dev-python/pyxDamerauLevenshtein/Manifest2
-rw-r--r--dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.7.1.ebuild40
-rw-r--r--dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.8.0.ebuild41
-rw-r--r--dev-python/pyxdg/pyxdg-0.28-r1.ebuild4
-rw-r--r--dev-python/pyyaml-env-tag/Manifest (renamed from dev-python/pyyaml_env_tag/Manifest)0
-rw-r--r--dev-python/pyyaml-env-tag/metadata.xml (renamed from dev-python/pyyaml_env_tag/metadata.xml)0
-rw-r--r--dev-python/pyyaml-env-tag/pyyaml-env-tag-0.1-r1.ebuild25
-rw-r--r--dev-python/pyyaml/Manifest1
-rw-r--r--dev-python/pyyaml/pyyaml-6.0.1-r1.ebuild4
-rw-r--r--dev-python/pyyaml/pyyaml-6.0.2_rc1.ebuild63
-rw-r--r--dev-python/pyyaml_env_tag/pyyaml_env_tag-0.1-r1.ebuild22
-rw-r--r--dev-python/pyzbar/pyzbar-0.1.9.ebuild4
-rw-r--r--dev-python/pyzmq/Manifest4
-rw-r--r--dev-python/pyzmq/files/pyzmq-26.0.3-gcc14.patch53
-rw-r--r--dev-python/pyzmq/pyzmq-25.1.2.ebuild (renamed from dev-python/pyzmq/pyzmq-25.1.1.ebuild)0
-rw-r--r--dev-python/pyzmq/pyzmq-26.0.2.ebuild87
-rw-r--r--dev-python/pyzmq/pyzmq-26.0.3.ebuild92
-rw-r--r--dev-python/pyzotero/Manifest7
-rw-r--r--dev-python/pyzotero/pyzotero-1.5.10.ebuild37
-rw-r--r--dev-python/pyzotero/pyzotero-1.5.15.ebuild37
-rw-r--r--dev-python/pyzotero/pyzotero-1.5.16.ebuild37
-rw-r--r--dev-python/pyzotero/pyzotero-1.5.17.ebuild37
-rw-r--r--dev-python/pyzotero/pyzotero-1.5.19.ebuild37
-rw-r--r--dev-python/pyzotero/pyzotero-1.5.20.ebuild38
-rw-r--r--dev-python/pyzotero/pyzotero-1.5.9.ebuild37
-rw-r--r--dev-python/qdarkstyle/Manifest3
-rw-r--r--dev-python/qdarkstyle/qdarkstyle-3.1.ebuild44
-rw-r--r--dev-python/qdarkstyle/qdarkstyle-3.2.1.ebuild44
-rw-r--r--dev-python/qdarkstyle/qdarkstyle-3.2.2.ebuild44
-rw-r--r--dev-python/qdarkstyle/qdarkstyle-3.2.3.ebuild6
-rw-r--r--dev-python/qiskit-aer/Manifest5
-rw-r--r--dev-python/qiskit-aer/files/qiskit-aer-0.10.3-remove-cmake-dependency.patch10
-rw-r--r--dev-python/qiskit-aer/files/qiskit-aer-0.11.2-terra-test.patch45
-rw-r--r--dev-python/qiskit-aer/files/qiskit-aer-0.12.0-remove-cmake-dependency.patch13
-rw-r--r--dev-python/qiskit-aer/qiskit-aer-0.11.2-r1.ebuild111
-rw-r--r--dev-python/qiskit-aer/qiskit-aer-0.12.2.ebuild128
-rw-r--r--dev-python/qiskit-aer/qiskit-aer-0.13.0-r1.ebuild125
-rw-r--r--dev-python/qiskit-aer/qiskit-aer-0.13.1.ebuild126
-rw-r--r--dev-python/qiskit-aer/qiskit-aer-0.14.2.ebuild119
-rw-r--r--dev-python/qiskit-terra/Manifest118
-rw-r--r--dev-python/qiskit-terra/metadata.xml28
-rw-r--r--dev-python/qiskit-terra/qiskit-terra-0.25.0.ebuild181
-rw-r--r--dev-python/qiskit-terra/qiskit-terra-0.25.1-r1.ebuild188
-rw-r--r--dev-python/qiskit-terra/qiskit-terra-0.25.2.ebuild188
-rw-r--r--dev-python/qiskit-terra/qiskit-terra-0.25.3.ebuild188
-rw-r--r--dev-python/qiskit-terra/qiskit-terra-0.45.0.ebuild187
-rw-r--r--dev-python/qiskit-terra/qiskit-terra-0.45.1.ebuild187
-rw-r--r--dev-python/qiskit/Manifest184
-rw-r--r--dev-python/qiskit/metadata.xml28
-rw-r--r--dev-python/qiskit/qiskit-1.1.0.ebuild287
-rw-r--r--dev-python/qiskit/qiskit-1.1.1-r1.ebuild304
-rw-r--r--dev-python/qiskit/qiskit-1.1.1.ebuild287
-rw-r--r--dev-python/qrcode/qrcode-7.4.2.ebuild8
-rw-r--r--dev-python/qscintilla-python/Manifest1
-rw-r--r--dev-python/qscintilla-python/metadata.xml9
-rw-r--r--dev-python/qscintilla-python/qscintilla-python-2.13.3.ebuild80
-rw-r--r--dev-python/qscintilla-python/qscintilla-python-2.14.1-r2.ebuild112
-rw-r--r--dev-python/qscintilla-python/qscintilla-python-2.14.1.ebuild80
-rw-r--r--dev-python/qstylizer/Manifest2
-rw-r--r--dev-python/qstylizer/qstylizer-0.2.2.ebuild54
-rw-r--r--dev-python/qstylizer/qstylizer-0.2.3.ebuild45
-rw-r--r--dev-python/qtawesome/Manifest2
-rw-r--r--dev-python/qtawesome/qtawesome-1.2.3-r1.ebuild49
-rw-r--r--dev-python/qtawesome/qtawesome-1.3.1.ebuild50
-rw-r--r--dev-python/qtconsole/Manifest5
-rw-r--r--dev-python/qtconsole/qtconsole-5.4.3-r1.ebuild67
-rw-r--r--dev-python/qtconsole/qtconsole-5.4.3.ebuild65
-rw-r--r--dev-python/qtconsole/qtconsole-5.4.4.ebuild67
-rw-r--r--dev-python/qtconsole/qtconsole-5.5.0.ebuild66
-rw-r--r--dev-python/qtconsole/qtconsole-5.5.1.ebuild66
-rw-r--r--dev-python/qtconsole/qtconsole-5.5.2.ebuild66
-rw-r--r--dev-python/qtsass/qtsass-0.4.0.ebuild6
-rw-r--r--dev-python/quantities/Manifest2
-rw-r--r--dev-python/quantities/quantities-0.14.1.ebuild36
-rw-r--r--dev-python/quantities/quantities-0.15.0-r1.ebuild43
-rw-r--r--dev-python/quart-trio/Manifest1
-rw-r--r--dev-python/quart-trio/files/quart-trio-0.11.1-trio-0.25.patch73
-rw-r--r--dev-python/quart-trio/metadata.xml13
-rw-r--r--dev-python/quart-trio/quart-trio-0.11.1.ebuild48
-rw-r--r--dev-python/quart/Manifest1
-rw-r--r--dev-python/quart/metadata.xml12
-rw-r--r--dev-python/quart/quart-0.19.6.ebuild50
-rw-r--r--dev-python/radon/radon-6.0.1.ebuild4
-rw-r--r--dev-python/raet/raet-0.6.8-r5.ebuild47
-rw-r--r--dev-python/raet/raet-0.6.8-r6.ebuild48
-rw-r--r--dev-python/random2/Manifest2
-rw-r--r--dev-python/random2/files/random2-1.0.1-py39-tests.patch32
-rw-r--r--dev-python/random2/random2-1.0.1-r2.ebuild27
-rw-r--r--dev-python/random2/random2-1.0.2.ebuild21
-rw-r--r--dev-python/rapidfuzz-capi/Manifest1
-rw-r--r--dev-python/rapidfuzz-capi/metadata.xml13
-rw-r--r--dev-python/rapidfuzz-capi/rapidfuzz-capi-1.0.5.ebuild25
-rw-r--r--dev-python/rapidfuzz/Manifest2
-rw-r--r--dev-python/rapidfuzz/metadata.xml2
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-3.5.2.ebuild58
-rw-r--r--dev-python/rapidfuzz/rapidfuzz-3.9.4.ebuild67
-rw-r--r--dev-python/rarfile/Manifest2
-rw-r--r--dev-python/rarfile/rarfile-4.1.ebuild27
-rw-r--r--dev-python/rarfile/rarfile-4.2.ebuild27
-rw-r--r--dev-python/ratelimit/ratelimit-2.2.1-r1.ebuild4
-rw-r--r--dev-python/re-assert/files/re-assert-1.1.0-re-fallback.patch42
-rw-r--r--dev-python/re-assert/re-assert-1.1.0-r1.ebuild29
-rw-r--r--dev-python/re-assert/re-assert-1.1.0-r3.ebuild59
-rw-r--r--dev-python/readme-renderer/Manifest5
-rw-r--r--dev-python/readme-renderer/files/readme-renderer-43.0-docutils-0.21.patch70
-rw-r--r--dev-python/readme-renderer/readme-renderer-40.0.ebuild34
-rw-r--r--dev-python/readme-renderer/readme-renderer-41.0.ebuild34
-rw-r--r--dev-python/readme-renderer/readme-renderer-42.0.ebuild34
-rw-r--r--dev-python/readme-renderer/readme-renderer-43.0-r1.ebuild39
-rw-r--r--dev-python/readme-renderer/readme-renderer-43.0.ebuild34
-rw-r--r--dev-python/readme-renderer/readme-renderer-44.0.ebuild29
-rw-r--r--dev-python/readthedocs-sphinx-ext/Manifest2
-rw-r--r--dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.2.3.ebuild30
-rw-r--r--dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.2.5.ebuild30
-rw-r--r--dev-python/readtime/readtime-3.0.0.ebuild4
-rw-r--r--dev-python/rebulk/rebulk-3.2.0.ebuild4
-rw-r--r--dev-python/recommonmark/recommonmark-0.7.1-r1.ebuild4
-rw-r--r--dev-python/recurring-ical-events/Manifest6
-rw-r--r--dev-python/recurring-ical-events/recurring-ical-events-2.0.2.ebuild45
-rw-r--r--dev-python/recurring-ical-events/recurring-ical-events-2.1.0.ebuild46
-rw-r--r--dev-python/recurring-ical-events/recurring-ical-events-2.1.1.ebuild46
-rw-r--r--dev-python/recurring-ical-events/recurring-ical-events-2.2.1.ebuild46
-rw-r--r--dev-python/recurring-ical-events/recurring-ical-events-2.2.2.ebuild45
-rw-r--r--dev-python/recurring-ical-events/recurring-ical-events-2.2.3.ebuild45
-rw-r--r--dev-python/redis/Manifest2
-rw-r--r--dev-python/redis/redis-5.0.1.ebuild105
-rw-r--r--dev-python/redis/redis-5.0.7.ebuild97
-rw-r--r--dev-python/reedsolo/reedsolo-2.1.1_beta1-r2.ebuild4
-rw-r--r--dev-python/referencing/Manifest3
-rw-r--r--dev-python/referencing/referencing-0.31.0.ebuild33
-rw-r--r--dev-python/referencing/referencing-0.31.1.ebuild33
-rw-r--r--dev-python/referencing/referencing-0.35.1.ebuild33
-rw-r--r--dev-python/reflink/Manifest2
-rw-r--r--dev-python/reflink/metadata.xml6
-rw-r--r--dev-python/reflink/reflink-0.2.1-r3.ebuild56
-rw-r--r--dev-python/reflink/reflink-0.2.2.ebuild56
-rw-r--r--dev-python/regex/Manifest3
-rw-r--r--dev-python/regex/files/regex-2021.4.4-pypy3-fix-test_empty_array.patch35
-rw-r--r--dev-python/regex/files/regex-2021.4.4-pypy3-fix-test_issue_18468.patch31
-rw-r--r--dev-python/regex/regex-2023.10.3.ebuild35
-rw-r--r--dev-python/regex/regex-2024.5.15.ebuild32
-rw-r--r--dev-python/regex/regex-2024.7.24.ebuild32
-rw-r--r--dev-python/regress/Manifest40
-rw-r--r--dev-python/regress/metadata.xml12
-rw-r--r--dev-python/regress/regress-0.4.5.ebuild72
-rw-r--r--dev-python/rencode/rencode-1.0.6-r3.ebuild4
-rw-r--r--dev-python/reno/Manifest2
-rw-r--r--dev-python/reno/reno-4.0.0.ebuild44
-rw-r--r--dev-python/reno/reno-4.1.0.ebuild45
-rw-r--r--dev-python/reportlab/Manifest2
-rw-r--r--dev-python/reportlab/reportlab-4.0.7.ebuild52
-rw-r--r--dev-python/reportlab/reportlab-4.2.2.ebuild53
-rw-r--r--dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild10
-rw-r--r--dev-python/requests-cache/Manifest3
-rw-r--r--dev-python/requests-cache/requests-cache-1.1.0.ebuild85
-rw-r--r--dev-python/requests-cache/requests-cache-1.1.1.ebuild92
-rw-r--r--dev-python/requests-cache/requests-cache-1.2.1.ebuild92
-rw-r--r--dev-python/requests-credssp/Manifest2
-rw-r--r--dev-python/requests-credssp/metadata.xml4
-rw-r--r--dev-python/requests-credssp/requests-credssp-2.0.0.ebuild6
-rw-r--r--dev-python/requests-file/Manifest2
-rw-r--r--dev-python/requests-file/requests-file-1.5.1-r2.ebuild24
-rw-r--r--dev-python/requests-file/requests-file-2.1.0.ebuild28
-rw-r--r--dev-python/requests-futures/requests-futures-1.0.1.ebuild4
-rw-r--r--dev-python/requests-kerberos/Manifest2
-rw-r--r--dev-python/requests-kerberos/requests-kerberos-0.14.0-r1.ebuild38
-rw-r--r--dev-python/requests-kerberos/requests-kerberos-0.15.0.ebuild38
-rw-r--r--dev-python/requests-mock/Manifest2
-rw-r--r--dev-python/requests-mock/files/requests-mock-1.12.0-no-pbr.patch22
-rw-r--r--dev-python/requests-mock/requests-mock-1.11.0.ebuild49
-rw-r--r--dev-python/requests-mock/requests-mock-1.12.1.ebuild53
-rw-r--r--dev-python/requests-ntlm/Manifest2
-rw-r--r--dev-python/requests-ntlm/requests-ntlm-1.2.0.ebuild50
-rw-r--r--dev-python/requests-ntlm/requests-ntlm-1.3.0.ebuild50
-rw-r--r--dev-python/requests-oauthlib/Manifest2
-rw-r--r--dev-python/requests-oauthlib/metadata.xml1
-rw-r--r--dev-python/requests-oauthlib/requests-oauthlib-1.3.1.ebuild34
-rw-r--r--dev-python/requests-oauthlib/requests-oauthlib-2.0.0.ebuild50
-rw-r--r--dev-python/requests-toolbelt/requests-toolbelt-1.0.0.ebuild6
-rw-r--r--dev-python/requests-unixsocket/files/requests-unixsocket-0.3.0-requests-2.32.2.patch25
-rw-r--r--dev-python/requests-unixsocket/requests-unixsocket-0.3.0-r4.ebuild7
-rw-r--r--dev-python/requests-wsgi-adapter/requests-wsgi-adapter-0.4.1.ebuild5
-rw-r--r--dev-python/requests/Manifest2
-rw-r--r--dev-python/requests/files/requests-2.28.0-drop-dependency-warnings.patch21
-rw-r--r--dev-python/requests/requests-2.31.0.ebuild81
-rw-r--r--dev-python/requests/requests-2.32.3.ebuild82
-rw-r--r--dev-python/requests_download/Manifest2
-rw-r--r--dev-python/requests_download/requests_download-0.1.2-r1.ebuild25
-rw-r--r--dev-python/requests_download/requests_download-0.1.2-r2.ebuild35
-rw-r--r--dev-python/requestsexceptions/requestsexceptions-1.4.0-r1.ebuild4
-rw-r--r--dev-python/resolvelib/resolvelib-1.0.1.ebuild6
-rw-r--r--dev-python/responses/Manifest2
-rw-r--r--dev-python/responses/responses-0.24.1.ebuild46
-rw-r--r--dev-python/responses/responses-0.25.3.ebuild47
-rw-r--r--dev-python/respx/Manifest1
-rw-r--r--dev-python/respx/metadata.xml20
-rw-r--r--dev-python/respx/respx-0.21.1.ebuild44
-rw-r--r--dev-python/restructuredtext-lint/restructuredtext-lint-1.4.0.ebuild4
-rw-r--r--dev-python/retry-decorator/Manifest2
-rw-r--r--dev-python/retry-decorator/retry-decorator-1.1.1-r1.ebuild15
-rw-r--r--dev-python/retrying/retrying-1.3.4.ebuild4
-rw-r--r--dev-python/rfc3339-validator/Manifest2
-rw-r--r--dev-python/rfc3339-validator/rfc3339-validator-0.1.4-r1.ebuild6
-rw-r--r--dev-python/rfc3986-validator/rfc3986-validator-0.1.1-r1.ebuild36
-rw-r--r--dev-python/rfc3986-validator/rfc3986-validator-0.1.1-r2.ebuild35
-rw-r--r--dev-python/rfc3986/rfc3986-2.0.0-r1.ebuild6
-rw-r--r--dev-python/rfc3987/rfc3987-1.3.8-r2.ebuild30
-rw-r--r--dev-python/rfc3987/rfc3987-1.3.8-r3.ebuild34
-rw-r--r--dev-python/rich/Manifest5
-rw-r--r--dev-python/rich/rich-13.5.2.ebuild65
-rw-r--r--dev-python/rich/rich-13.5.3.ebuild74
-rw-r--r--dev-python/rich/rich-13.6.0.ebuild55
-rw-r--r--dev-python/rich/rich-13.7.0.ebuild57
-rw-r--r--dev-python/rich/rich-13.7.1.ebuild74
-rw-r--r--dev-python/roman/Manifest2
-rw-r--r--dev-python/roman/roman-4.1.ebuild26
-rw-r--r--dev-python/roman/roman-4.2.ebuild26
-rw-r--r--dev-python/rope/Manifest2
-rw-r--r--dev-python/rope/rope-1.11.0.ebuild39
-rw-r--r--dev-python/rope/rope-1.13.0.ebuild43
-rw-r--r--dev-python/routes/routes-2.5.1-r2.ebuild6
-rw-r--r--dev-python/rpds-py/Manifest53
-rw-r--r--dev-python/rpds-py/rpds-py-0.10.6.ebuild70
-rw-r--r--dev-python/rpds-py/rpds-py-0.13.1.ebuild69
-rw-r--r--dev-python/rpds-py/rpds-py-0.13.2.ebuild69
-rw-r--r--dev-python/rpds-py/rpds-py-0.18.1.ebuild72
-rw-r--r--dev-python/rpds-py/rpds-py-0.19.0.ebuild57
-rw-r--r--dev-python/rpds-py/rpds-py-0.19.1.ebuild59
-rw-r--r--dev-python/rply/rply-0.7.8-r1.ebuild4
-rw-r--r--dev-python/rpy/Manifest1
-rw-r--r--dev-python/rpy/rpy-3.5.8.ebuild45
-rw-r--r--dev-python/rpyc/Manifest2
-rw-r--r--dev-python/rpyc/metadata.xml2
-rw-r--r--dev-python/rpyc/rpyc-5.3.1-r1.ebuild69
-rw-r--r--dev-python/rpyc/rpyc-6.0.0.ebuild69
-rw-r--r--dev-python/rq/Manifest2
-rw-r--r--dev-python/rq/rq-1.15.1.ebuild61
-rw-r--r--dev-python/rq/rq-1.16.2.ebuild57
-rw-r--r--dev-python/rsa/rsa-4.9.ebuild4
-rw-r--r--dev-python/rst-linker/Manifest2
-rw-r--r--dev-python/rst-linker/rst-linker-2.4.0.ebuild33
-rw-r--r--dev-python/rst-linker/rst-linker-2.6.0.ebuild33
-rw-r--r--dev-python/rtree/Manifest2
-rw-r--r--dev-python/rtree/metadata.xml25
-rw-r--r--dev-python/rtree/rtree-1.0.0.ebuild30
-rw-r--r--dev-python/rtree/rtree-1.3.0.ebuild36
-rw-r--r--dev-python/rtslib-fb/rtslib-fb-2.1.76.ebuild4
-rw-r--r--dev-python/ruamel-std-pathlib/Manifest1
-rw-r--r--dev-python/ruamel-std-pathlib/metadata.xml25
-rw-r--r--dev-python/ruamel-std-pathlib/ruamel-std-pathlib-0.12.0.ebuild54
-rw-r--r--dev-python/ruamel-yaml-clib/metadata.xml4
-rw-r--r--dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.8.ebuild8
-rw-r--r--dev-python/ruamel-yaml/Manifest2
-rw-r--r--dev-python/ruamel-yaml/metadata.xml4
-rw-r--r--dev-python/ruamel-yaml/ruamel-yaml-0.17.40.ebuild9
-rw-r--r--dev-python/ruamel-yaml/ruamel-yaml-0.18.5.ebuild58
-rw-r--r--dev-python/ruamel-yaml/ruamel-yaml-0.18.6.ebuild53
-rw-r--r--dev-python/rustworkx/Manifest189
-rw-r--r--dev-python/rustworkx/files/rustworkx-0.14.2-numpy-2.patch134
-rw-r--r--dev-python/rustworkx/rustworkx-0.13.2.ebuild148
-rw-r--r--dev-python/rustworkx/rustworkx-0.14.2-r1.ebuild159
-rw-r--r--dev-python/rustworkx/rustworkx-0.15.0.ebuild154
-rw-r--r--dev-python/rustworkx/rustworkx-0.15.1-r2.ebuild164
-rw-r--r--dev-python/rustworkx/rustworkx-0.15.1.ebuild155
-rw-r--r--dev-python/s3transfer/Manifest6
-rw-r--r--dev-python/s3transfer/s3transfer-0.10.1.ebuild43
-rw-r--r--dev-python/s3transfer/s3transfer-0.10.2.ebuild43
-rw-r--r--dev-python/s3transfer/s3transfer-0.7.0.ebuild43
-rw-r--r--dev-python/s3transfer/s3transfer-0.8.0.ebuild43
-rw-r--r--dev-python/s3transfer/s3transfer-0.8.1.ebuild43
-rw-r--r--dev-python/s3transfer/s3transfer-0.8.2.ebuild43
-rw-r--r--dev-python/sabctools/Manifest7
-rw-r--r--dev-python/sabctools/metadata.xml8
-rw-r--r--dev-python/sabctools/sabctools-7.0.2.ebuild39
-rw-r--r--dev-python/sabctools/sabctools-7.1.1.ebuild39
-rw-r--r--dev-python/sabctools/sabctools-7.1.2.ebuild39
-rw-r--r--dev-python/sabctools/sabctools-8.0.0.ebuild39
-rw-r--r--dev-python/sabctools/sabctools-8.1.0.ebuild39
-rw-r--r--dev-python/sabctools/sabctools-8.2.3.ebuild39
-rw-r--r--dev-python/sabctools/sabctools-8.2.4.ebuild39
-rw-r--r--dev-python/sarge/sarge-0.1.7_p1.ebuild4
-rw-r--r--dev-python/sarif-om/sarif-om-1.0.4-r1.ebuild14
-rw-r--r--dev-python/schema/Manifest1
-rw-r--r--dev-python/schema/metadata.xml12
-rw-r--r--dev-python/schema/schema-0.7.7.ebuild21
-rw-r--r--dev-python/scikit-build-core/Manifest3
-rw-r--r--dev-python/scikit-build-core/metadata.xml2
-rw-r--r--dev-python/scikit-build-core/scikit-build-core-0.6.1.ebuild53
-rw-r--r--dev-python/scikit-build-core/scikit-build-core-0.7.0.ebuild53
-rw-r--r--dev-python/scikit-build-core/scikit-build-core-0.9.8.ebuild63
-rw-r--r--dev-python/scikit-build/Manifest1
-rw-r--r--dev-python/scikit-build/files/scikit-build-0.17.6-setuptools-69.3.patch164
-rw-r--r--dev-python/scikit-build/scikit-build-0.17.6.ebuild19
-rw-r--r--dev-python/scikit-build/scikit-build-0.18.0.ebuild73
-rw-r--r--dev-python/scikit-image/Manifest3
-rw-r--r--dev-python/scikit-image/metadata.xml18
-rw-r--r--dev-python/scikit-image/scikit-image-0.23.2.ebuild96
-rw-r--r--dev-python/scikit-image/scikit-image-0.24.0.ebuild96
-rw-r--r--dev-python/scikit-learn/Manifest2
-rw-r--r--dev-python/scikit-learn/metadata.xml17
-rw-r--r--dev-python/scikit-learn/scikit-learn-1.5.0.ebuild69
-rw-r--r--dev-python/scikit-learn/scikit-learn-1.5.1.ebuild69
-rw-r--r--dev-python/scipy/Manifest11
-rw-r--r--dev-python/scipy/files/scipy-1.11.0-determinant-1x1-matrix.patch69
-rw-r--r--dev-python/scipy/files/scipy-1.11.1-cython-3.patch45
-rw-r--r--dev-python/scipy/scipy-1.10.1.ebuild121
-rw-r--r--dev-python/scipy/scipy-1.11.0-r1.ebuild128
-rw-r--r--dev-python/scipy/scipy-1.11.1.ebuild130
-rw-r--r--dev-python/scipy/scipy-1.11.2.ebuild125
-rw-r--r--dev-python/scipy/scipy-1.11.3-r1.ebuild147
-rw-r--r--dev-python/scipy/scipy-1.11.3.ebuild129
-rw-r--r--dev-python/scipy/scipy-1.11.4.ebuild147
-rw-r--r--dev-python/scipy/scipy-1.14.0.ebuild179
-rw-r--r--dev-python/scripttest/scripttest-1.3.0-r2.ebuild4
-rw-r--r--dev-python/scrypt/Manifest2
-rw-r--r--dev-python/scrypt/scrypt-0.8.20.ebuild25
-rw-r--r--dev-python/scrypt/scrypt-0.8.24.ebuild29
-rw-r--r--dev-python/seaborn/Manifest2
-rw-r--r--dev-python/seaborn/seaborn-0.13.0.ebuild42
-rw-r--r--dev-python/seaborn/seaborn-0.13.2.ebuild46
-rw-r--r--dev-python/secretstorage/secretstorage-3.3.3.ebuild4
-rw-r--r--dev-python/seedir/Manifest2
-rw-r--r--dev-python/seedir/seedir-0.4.2.ebuild29
-rw-r--r--dev-python/seedir/seedir-0.5.0.ebuild29
-rw-r--r--dev-python/segno/Manifest3
-rw-r--r--dev-python/segno/segno-1.5.3.ebuild33
-rw-r--r--dev-python/segno/segno-1.6.0.ebuild38
-rw-r--r--dev-python/segno/segno-1.6.1.ebuild38
-rw-r--r--dev-python/selenium/Manifest6
-rw-r--r--dev-python/selenium/selenium-4.15.2.ebuild63
-rw-r--r--dev-python/selenium/selenium-4.22.0-r1.ebuild78
-rw-r--r--dev-python/selenium/selenium-4.23.1-r1.ebuild135
-rw-r--r--dev-python/selenium/selenium-4.23.1.ebuild83
-rw-r--r--dev-python/semantic-version/semantic-version-2.10.0.ebuild7
-rw-r--r--dev-python/semver/Manifest1
-rw-r--r--dev-python/semver/metadata.xml7
-rw-r--r--dev-python/semver/semver-3.0.1.ebuild25
-rw-r--r--dev-python/semver/semver-3.0.2.ebuild6
-rw-r--r--dev-python/send2trash/Manifest2
-rw-r--r--dev-python/send2trash/send2trash-1.8.2.ebuild23
-rw-r--r--dev-python/send2trash/send2trash-1.8.3.ebuild23
-rw-r--r--dev-python/sense-hat/Manifest1
-rw-r--r--dev-python/sense-hat/metadata.xml (renamed from dev-python/python-sense-hat/metadata.xml)0
-rw-r--r--dev-python/sense-hat/sense-hat-2.6.0.ebuild27
-rw-r--r--dev-python/sentry-sdk/Manifest9
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.35.0.ebuild128
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.37.0.ebuild131
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.37.1.ebuild131
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.38.0.ebuild131
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-1.45.0.ebuild155
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-2.10.0.ebuild128
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-2.11.0.ebuild128
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-2.7.1.ebuild127
-rw-r--r--dev-python/sentry-sdk/sentry-sdk-2.9.0.ebuild127
-rw-r--r--dev-python/serpent/serpent-1.41.ebuild4
-rw-r--r--dev-python/serverfiles/metadata.xml1
-rw-r--r--dev-python/serverfiles/serverfiles-0.3.1-r1.ebuild4
-rw-r--r--dev-python/service-identity/Manifest2
-rw-r--r--dev-python/service-identity/service-identity-23.1.0.ebuild35
-rw-r--r--dev-python/service-identity/service-identity-24.1.0.ebuild35
-rw-r--r--dev-python/setproctitle/setproctitle-1.3.3.ebuild4
-rw-r--r--dev-python/setuptools-gettext/Manifest3
-rw-r--r--dev-python/setuptools-gettext/setuptools-gettext-0.1.11.ebuild37
-rw-r--r--dev-python/setuptools-gettext/setuptools-gettext-0.1.14.ebuild36
-rw-r--r--dev-python/setuptools-gettext/setuptools-gettext-0.1.3.ebuild24
-rw-r--r--dev-python/setuptools-git/setuptools-git-1.2-r3.ebuild8
-rw-r--r--dev-python/setuptools-rust/Manifest32
-rw-r--r--dev-python/setuptools-rust/files/setuptools-rust-1.9.0-delay-non-stdlib-imports.patch156
-rw-r--r--dev-python/setuptools-rust/setuptools-rust-1.6.0.ebuild160
-rw-r--r--dev-python/setuptools-rust/setuptools-rust-1.8.1.ebuild199
-rw-r--r--dev-python/setuptools-rust/setuptools-rust-1.9.0-r1.ebuild198
-rw-r--r--dev-python/setuptools-scm/Manifest3
-rw-r--r--dev-python/setuptools-scm/setuptools-scm-7.1.0.ebuild58
-rw-r--r--dev-python/setuptools-scm/setuptools-scm-8.0.4.ebuild64
-rw-r--r--dev-python/setuptools-scm/setuptools-scm-8.1.0.ebuild61
-rw-r--r--dev-python/setuptools/Manifest8
-rw-r--r--dev-python/setuptools/setuptools-68.2.2.ebuild125
-rw-r--r--dev-python/setuptools/setuptools-69.0.0.ebuild126
-rw-r--r--dev-python/setuptools/setuptools-69.0.1.ebuild126
-rw-r--r--dev-python/setuptools/setuptools-69.0.2.ebuild116
-rw-r--r--dev-python/setuptools/setuptools-70.2.0-r1.ebuild144
-rw-r--r--dev-python/setuptools/setuptools-70.3.0.ebuild135
-rw-r--r--dev-python/setuptools/setuptools-71.0.4.ebuild124
-rw-r--r--dev-python/setuptools/setuptools-71.1.0.ebuild124
-rw-r--r--dev-python/setuptools_scm_git_archive/Manifest1
-rw-r--r--dev-python/setuptools_scm_git_archive/metadata.xml12
-rw-r--r--dev-python/setuptools_scm_git_archive/setuptools_scm_git_archive-1.4-r1.ebuild38
-rw-r--r--dev-python/sexpdata/Manifest2
-rw-r--r--dev-python/sexpdata/files/sexpdata-1.0.1-setup.patch16
-rw-r--r--dev-python/sexpdata/sexpdata-1.0.1.ebuild27
-rw-r--r--dev-python/sexpdata/sexpdata-1.0.2.ebuild25
-rw-r--r--dev-python/sgmllib3k/sgmllib3k-1.0.0-r1.ebuild4
-rw-r--r--dev-python/sh/Manifest2
-rw-r--r--dev-python/sh/sh-2.0.6.ebuild26
-rw-r--r--dev-python/sh/sh-2.0.7.ebuild26
-rw-r--r--dev-python/shapely/Manifest3
-rw-r--r--dev-python/shapely/files/shapely-2.0.2-c99.patch19
-rw-r--r--dev-python/shapely/shapely-2.0.2.ebuild46
-rw-r--r--dev-python/shapely/shapely-2.0.4-r1.ebuild50
-rw-r--r--dev-python/shapely/shapely-2.0.5.ebuild50
-rw-r--r--dev-python/shellingham/Manifest1
-rw-r--r--dev-python/shellingham/shellingham-1.5.1.ebuild32
-rw-r--r--dev-python/shellingham/shellingham-1.5.4.ebuild4
-rw-r--r--dev-python/shiboken2/Manifest2
-rw-r--r--dev-python/shiboken2/shiboken2-5.15.11.ebuild173
-rw-r--r--dev-python/shiboken2/shiboken2-5.15.14.ebuild173
-rw-r--r--dev-python/shiboken6/Manifest3
-rw-r--r--dev-python/shiboken6/shiboken6-6.5.3.ebuild176
-rw-r--r--dev-python/shiboken6/shiboken6-6.6.0.ebuild176
-rw-r--r--dev-python/shiboken6/shiboken6-6.7.2.ebuild175
-rw-r--r--dev-python/shtab/Manifest1
-rw-r--r--dev-python/shtab/metadata.xml31
-rw-r--r--dev-python/shtab/shtab-1.7.1.ebuild28
-rw-r--r--dev-python/signature-dispatch/signature-dispatch-1.0.1-r1.ebuild4
-rw-r--r--dev-python/signedjson/signedjson-1.1.4.ebuild6
-rw-r--r--dev-python/simber/simber-0.2.6.ebuild4
-rw-r--r--dev-python/simpervisor/files/simpervisor-1.0.0-yarl.patch28
-rw-r--r--dev-python/simpervisor/simpervisor-1.0.0-r1.ebuild34
-rw-r--r--dev-python/simpervisor/simpervisor-1.0.0.ebuild29
-rw-r--r--dev-python/simple-websocket/Manifest1
-rw-r--r--dev-python/simple-websocket/simple-websocket-0.10.1.ebuild26
-rw-r--r--dev-python/simple-websocket/simple-websocket-1.0.0.ebuild4
-rw-r--r--dev-python/simplegeneric/Manifest1
-rw-r--r--dev-python/simplegeneric/metadata.xml20
-rw-r--r--dev-python/simplegeneric/simplegeneric-0.8.1-r2.ebuild23
-rw-r--r--dev-python/simplejson/simplejson-3.19.2.ebuild4
-rw-r--r--dev-python/simpy/Manifest2
-rw-r--r--dev-python/simpy/simpy-4.0.2.ebuild37
-rw-r--r--dev-python/simpy/simpy-4.1.0.ebuild37
-rw-r--r--dev-python/simpy/simpy-4.1.1.ebuild9
-rw-r--r--dev-python/simsimd/Manifest1
-rw-r--r--dev-python/simsimd/metadata.xml11
-rw-r--r--dev-python/simsimd/simsimd-4.3.1.ebuild64
-rw-r--r--dev-python/sip/Manifest5
-rw-r--r--dev-python/sip/files/sip-6.8.0-typo-fix.patch11
-rw-r--r--dev-python/sip/metadata.xml10
-rw-r--r--dev-python/sip/sip-6.7.12.ebuild27
-rw-r--r--dev-python/sip/sip-6.8.0.ebuild27
-rw-r--r--dev-python/sip/sip-6.8.5.ebuild42
-rw-r--r--dev-python/sip/sip-6.8.6.ebuild33
-rw-r--r--dev-python/siphash24/Manifest1
-rw-r--r--dev-python/siphash24/metadata.xml11
-rw-r--r--dev-python/siphash24/siphash24-1.6.ebuild29
-rw-r--r--dev-python/six/six-1.16.0-r1.ebuild22
-rw-r--r--dev-python/slixmpp/Manifest2
-rw-r--r--dev-python/slixmpp/slixmpp-1.8.4.ebuild49
-rw-r--r--dev-python/slixmpp/slixmpp-1.8.5.ebuild52
-rw-r--r--dev-python/slixmpp/slixmpp-9999.ebuild9
-rw-r--r--dev-python/smartypants/smartypants-2.0.1-r1.ebuild4
-rw-r--r--dev-python/smbus2/Manifest1
-rw-r--r--dev-python/smbus2/smbus2-0.4.2.ebuild29
-rw-r--r--dev-python/smbus2/smbus2-0.4.3.ebuild4
-rw-r--r--dev-python/smmap/smmap-6.0.0.ebuild6
-rw-r--r--dev-python/snakeoil/Manifest2
-rw-r--r--dev-python/snakeoil/snakeoil-0.10.5.ebuild33
-rw-r--r--dev-python/snakeoil/snakeoil-0.10.8.ebuild33
-rw-r--r--dev-python/snakeoil/snakeoil-9999.ebuild4
-rw-r--r--dev-python/snapshottest/snapshottest-0.6.0.ebuild4
-rw-r--r--dev-python/sniffio/Manifest2
-rw-r--r--dev-python/sniffio/sniffio-1.3.0.ebuild30
-rw-r--r--dev-python/sniffio/sniffio-1.3.1.ebuild34
-rw-r--r--dev-python/snowballstemmer/snowballstemmer-2.2.0-r1.ebuild4
-rw-r--r--dev-python/socketio-client-nexus/socketio-client-nexus-0.7.6.ebuild8
-rw-r--r--dev-python/socksio/socksio-1.0.0.ebuild4
-rw-r--r--dev-python/sortedcontainers/sortedcontainers-2.4.0-r1.ebuild4
-rw-r--r--dev-python/soupsieve/soupsieve-2.5.ebuild4
-rw-r--r--dev-python/spake2/spake2-0.8-r1.ebuild4
-rw-r--r--dev-python/spdx-tools/Manifest2
-rw-r--r--dev-python/spdx-tools/metadata.xml6
-rw-r--r--dev-python/spdx-tools/spdx-tools-0.7.1.ebuild31
-rw-r--r--dev-python/spdx-tools/spdx-tools-0.8.1.ebuild39
-rw-r--r--dev-python/spdx-tools/spdx-tools-0.8.2.ebuild6
-rw-r--r--dev-python/speg/speg-0.3_p20180819-r1.ebuild25
-rw-r--r--dev-python/speg/speg-0.3_p20180819-r2.ebuild13
-rw-r--r--dev-python/sphinx-aiohttp-theme/sphinx-aiohttp-theme-0.1.6-r1.ebuild4
-rw-r--r--dev-python/sphinx-argparse/Manifest1
-rw-r--r--dev-python/sphinx-argparse/metadata.xml2
-rw-r--r--dev-python/sphinx-argparse/sphinx-argparse-0.4.0.ebuild12
-rw-r--r--dev-python/sphinx-argparse/sphinx-argparse-0.5.2.ebuild32
-rw-r--r--dev-python/sphinx-autoapi/Manifest4
-rw-r--r--dev-python/sphinx-autoapi/sphinx-autoapi-3.0.0.ebuild50
-rw-r--r--dev-python/sphinx-autoapi/sphinx-autoapi-3.1.2.ebuild50
-rw-r--r--dev-python/sphinx-autoapi/sphinx-autoapi-3.2.0.ebuild50
-rw-r--r--dev-python/sphinx-autoapi/sphinx-autoapi-3.2.1.ebuild50
-rw-r--r--dev-python/sphinx-autodoc-typehints/Manifest3
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.25.2.ebuild39
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.2.2.ebuild44
-rw-r--r--dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.2.3.ebuild44
-rw-r--r--dev-python/sphinx-basic-ng/sphinx-basic-ng-1.0.0_beta2.ebuild4
-rw-r--r--dev-python/sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.8.1.ebuild12
-rw-r--r--dev-python/sphinx-celery/Manifest2
-rw-r--r--dev-python/sphinx-celery/files/sphinx-celery-2.0.0-extlinks.patch30
-rw-r--r--dev-python/sphinx-celery/sphinx-celery-2.0.0-r4.ebuild27
-rw-r--r--dev-python/sphinx-celery/sphinx-celery-2.1.3.ebuild23
-rw-r--r--dev-python/sphinx-copybutton/sphinx-copybutton-0.5.2.ebuild4
-rw-r--r--dev-python/sphinx-epytext/sphinx-epytext-0.0.4-r1.ebuild4
-rw-r--r--dev-python/sphinx-gallery/Manifest4
-rw-r--r--dev-python/sphinx-gallery/sphinx-gallery-0.14.0.ebuild51
-rw-r--r--dev-python/sphinx-gallery/sphinx-gallery-0.15.0.ebuild51
-rw-r--r--dev-python/sphinx-gallery/sphinx-gallery-0.16.0.ebuild51
-rw-r--r--dev-python/sphinx-gallery/sphinx-gallery-0.17.0.ebuild51
-rw-r--r--dev-python/sphinx-inline-tabs/sphinx-inline-tabs-2023.4.21.ebuild4
-rw-r--r--dev-python/sphinx-issues/Manifest2
-rw-r--r--dev-python/sphinx-issues/sphinx-issues-3.0.1-r1.ebuild34
-rw-r--r--dev-python/sphinx-issues/sphinx-issues-4.1.0.ebuild30
-rw-r--r--dev-python/sphinx-multiversion/sphinx-multiversion-0.2.4-r1.ebuild15
-rw-r--r--dev-python/sphinx-notfound-page/Manifest2
-rw-r--r--dev-python/sphinx-notfound-page/sphinx-notfound-page-1.0.0.ebuild35
-rw-r--r--dev-python/sphinx-notfound-page/sphinx-notfound-page-1.0.2.ebuild35
-rw-r--r--dev-python/sphinx-panels/files/sphinx-panels-0.6.0-sphinx-7.patch65
-rw-r--r--dev-python/sphinx-panels/sphinx-panels-0.6.0-r1.ebuild33
-rw-r--r--dev-python/sphinx-press-theme/Manifest2
-rw-r--r--dev-python/sphinx-press-theme/sphinx-press-theme-0.8.0.ebuild20
-rw-r--r--dev-python/sphinx-press-theme/sphinx-press-theme-0.9.1.ebuild20
-rw-r--r--dev-python/sphinx-prompt/sphinx-prompt-1.8.0.ebuild4
-rw-r--r--dev-python/sphinx-py3doc-enhanced-theme/Manifest1
-rw-r--r--dev-python/sphinx-py3doc-enhanced-theme/metadata.xml17
-rw-r--r--dev-python/sphinx-py3doc-enhanced-theme/sphinx-py3doc-enhanced-theme-2.4.0.ebuild20
-rw-r--r--dev-python/sphinx-pytest/sphinx-pytest-0.2.0.ebuild6
-rw-r--r--dev-python/sphinx-rtd-theme/Manifest1
-rw-r--r--dev-python/sphinx-rtd-theme/sphinx-rtd-theme-1.3.0.ebuild42
-rw-r--r--dev-python/sphinx-rtd-theme/sphinx-rtd-theme-2.0.0-r1.ebuild42
-rw-r--r--dev-python/sphinx-rtd-theme/sphinx-rtd-theme-2.0.0.ebuild42
-rw-r--r--dev-python/sphinx-tabs/Manifest2
-rw-r--r--dev-python/sphinx-tabs/sphinx-tabs-3.4.4.ebuild52
-rw-r--r--dev-python/sphinx-tabs/sphinx-tabs-3.4.5.ebuild45
-rw-r--r--dev-python/sphinx-testing/Manifest1
-rw-r--r--dev-python/sphinx-testing/metadata.xml12
-rw-r--r--dev-python/sphinx-testing/sphinx-testing-1.0.1-r2.ebuild24
-rw-r--r--dev-python/sphinx/Manifest4
-rw-r--r--dev-python/sphinx/files/sphinx-7.3.7-opt-defusedxml.patch34
-rw-r--r--dev-python/sphinx/sphinx-7.3.7-r2.ebuild144
-rw-r--r--dev-python/sphinx/sphinx-7.4.6.ebuild142
-rw-r--r--dev-python/sphinx/sphinx-7.4.7.ebuild142
-rw-r--r--dev-python/sphinx/sphinx-8.0.0_rc1.ebuild144
-rw-r--r--dev-python/sphinxcontrib-apidoc/Manifest2
-rw-r--r--dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.3.0-r1.ebuild41
-rw-r--r--dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.5.0.ebuild41
-rw-r--r--dev-python/sphinxcontrib-applehelp/Manifest2
-rw-r--r--dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.7.ebuild29
-rw-r--r--dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.8.ebuild29
-rw-r--r--dev-python/sphinxcontrib-asyncio/Manifest1
-rw-r--r--dev-python/sphinxcontrib-asyncio/metadata.xml12
-rw-r--r--dev-python/sphinxcontrib-asyncio/sphinxcontrib-asyncio-0.3.0-r1.ebuild31
-rw-r--r--dev-python/sphinxcontrib-autoprogram/Manifest2
-rw-r--r--dev-python/sphinxcontrib-autoprogram/sphinxcontrib-autoprogram-0.1.8.ebuild30
-rw-r--r--dev-python/sphinxcontrib-autoprogram/sphinxcontrib-autoprogram-0.1.9.ebuild29
-rw-r--r--dev-python/sphinxcontrib-bibtex/Manifest4
-rw-r--r--dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.5.0.ebuild49
-rw-r--r--dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.0.ebuild52
-rw-r--r--dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.1-r1.ebuild51
-rw-r--r--dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.1.ebuild52
-rw-r--r--dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.2.ebuild52
-rw-r--r--dev-python/sphinxcontrib-devhelp/Manifest2
-rw-r--r--dev-python/sphinxcontrib-devhelp/sphinxcontrib-devhelp-1.0.5.ebuild29
-rw-r--r--dev-python/sphinxcontrib-devhelp/sphinxcontrib-devhelp-1.0.6.ebuild29
-rw-r--r--dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.3.ebuild6
-rw-r--r--dev-python/sphinxcontrib-github-alt/sphinxcontrib-github-alt-1.2-r2.ebuild4
-rw-r--r--dev-python/sphinxcontrib-htmlhelp/Manifest3
-rw-r--r--dev-python/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.4.ebuild32
-rw-r--r--dev-python/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.5.ebuild32
-rw-r--r--dev-python/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.6.ebuild32
-rw-r--r--dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.8.1.ebuild4
-rw-r--r--dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-4.1.ebuild4
-rw-r--r--dev-python/sphinxcontrib-jsmath/sphinxcontrib-jsmath-1.0.1-r3.ebuild4
-rw-r--r--dev-python/sphinxcontrib-log-cabinet/sphinxcontrib-log-cabinet-1.0.1-r1.ebuild4
-rw-r--r--dev-python/sphinxcontrib-newsfeed/Manifest1
-rw-r--r--dev-python/sphinxcontrib-newsfeed/metadata.xml10
-rw-r--r--dev-python/sphinxcontrib-newsfeed/sphinxcontrib-newsfeed-0.1.4-r1.ebuild39
-rw-r--r--dev-python/sphinxcontrib-plantuml/Manifest4
-rw-r--r--dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.25.ebuild42
-rw-r--r--dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.26.ebuild45
-rw-r--r--dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.27.ebuild45
-rw-r--r--dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.30.ebuild45
-rw-r--r--dev-python/sphinxcontrib-programoutput/metadata.xml8
-rw-r--r--dev-python/sphinxcontrib-qthelp/Manifest3
-rw-r--r--dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.6.ebuild29
-rw-r--r--dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.7.ebuild32
-rw-r--r--dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.8.ebuild32
-rw-r--r--dev-python/sphinxcontrib-serializinghtml/Manifest2
-rw-r--r--dev-python/sphinxcontrib-serializinghtml/sphinxcontrib-serializinghtml-1.1.10.ebuild29
-rw-r--r--dev-python/sphinxcontrib-serializinghtml/sphinxcontrib-serializinghtml-1.1.9.ebuild29
-rw-r--r--dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.0.ebuild6
-rw-r--r--dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2-r1.ebuild6
-rw-r--r--dev-python/sphinxcontrib-websupport/Manifest2
-rw-r--r--dev-python/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.6.ebuild39
-rw-r--r--dev-python/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.7.ebuild42
-rw-r--r--dev-python/sphinxemoji/Manifest2
-rw-r--r--dev-python/sphinxemoji/sphinxemoji-0.2.0.ebuild18
-rw-r--r--dev-python/sphinxemoji/sphinxemoji-0.3.1.ebuild35
-rw-r--r--dev-python/sphinxygen/Manifest2
-rw-r--r--dev-python/sphinxygen/sphinxygen-1.0.4-r1.ebuild35
-rw-r--r--dev-python/sphinxygen/sphinxygen-1.0.4.ebuild21
-rw-r--r--dev-python/sphobjinv/Manifest2
-rw-r--r--dev-python/sphobjinv/sphobjinv-2.3.1.1.ebuild59
-rw-r--r--dev-python/sphobjinv/sphobjinv-2.3.1.ebuild59
-rw-r--r--dev-python/spotipy/Manifest2
-rw-r--r--dev-python/spotipy/spotipy-2.23.0.ebuild51
-rw-r--r--dev-python/spotipy/spotipy-2.24.0.ebuild47
-rw-r--r--dev-python/spur/spur-0.3.23.ebuild4
-rw-r--r--dev-python/spyder-kernels/Manifest5
-rw-r--r--dev-python/spyder-kernels/spyder-kernels-2.4.4.ebuild64
-rw-r--r--dev-python/spyder-kernels/spyder-kernels-2.5.0.ebuild55
-rw-r--r--dev-python/spyder-kernels/spyder-kernels-2.5.2.ebuild72
-rw-r--r--dev-python/spyder-kernels/spyder-kernels-3.0.0_beta2.ebuild70
-rw-r--r--dev-python/spyder-kernels/spyder-kernels-3.0.0_beta7.ebuild86
-rw-r--r--dev-python/spyder-line-profiler/spyder-line-profiler-0.3.2.ebuild6
-rw-r--r--dev-python/spyder-notebook/Manifest1
-rw-r--r--dev-python/spyder-notebook/spyder-notebook-0.4.1.ebuild46
-rw-r--r--dev-python/spyder-notebook/spyder-notebook-0.5.1.ebuild6
-rw-r--r--dev-python/spyder-terminal/spyder-terminal-1.2.2.ebuild4
-rw-r--r--dev-python/spyder-unittest/spyder-unittest-0.6.0.ebuild6
-rw-r--r--dev-python/spyder-vim/spyder-vim-0.1.0.ebuild4
-rw-r--r--dev-python/spyder/Manifest9
-rw-r--r--dev-python/spyder/spyder-5.4.4.ebuild192
-rw-r--r--dev-python/spyder/spyder-5.4.5.ebuild192
-rw-r--r--dev-python/spyder/spyder-5.5.0.ebuild192
-rw-r--r--dev-python/spyder/spyder-5.5.5.ebuild193
-rw-r--r--dev-python/spyder/spyder-6.0.0_alpha2.ebuild192
-rw-r--r--dev-python/spyder/spyder-6.0.0_beta3.ebuild198
-rw-r--r--dev-python/sqlalchemy-rqlite/Manifest1
-rw-r--r--dev-python/sqlalchemy-rqlite/sqlalchemy-rqlite-2.0.ebuild35
-rw-r--r--dev-python/sqlalchemy/Manifest8
-rw-r--r--dev-python/sqlalchemy/files/sqlalchemy-2.0.30-py313.patch13
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.4.49.ebuild97
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.4.50.ebuild107
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-1.4.52.ebuild107
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.22.ebuild111
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.23.ebuild111
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.29.ebuild111
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.30-r1.ebuild124
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.30.ebuild111
-rw-r--r--dev-python/sqlalchemy/sqlalchemy-2.0.31.ebuild117
-rw-r--r--dev-python/sqlglot/Manifest41
-rw-r--r--dev-python/sqlglot/metadata.xml1
-rw-r--r--dev-python/sqlglot/sqlglot-19.4.0.ebuild36
-rw-r--r--dev-python/sqlglot/sqlglot-19.5.0.ebuild36
-rw-r--r--dev-python/sqlglot/sqlglot-19.5.1.ebuild36
-rw-r--r--dev-python/sqlglot/sqlglot-19.6.0.ebuild36
-rw-r--r--dev-python/sqlglot/sqlglot-19.7.0.ebuild36
-rw-r--r--dev-python/sqlglot/sqlglot-19.8.2.ebuild42
-rw-r--r--dev-python/sqlglot/sqlglot-25.6.1.ebuild121
-rw-r--r--dev-python/sqlglot/sqlglot-25.7.1.ebuild121
-rw-r--r--dev-python/sqlitedict/metadata.xml2
-rw-r--r--dev-python/sqlitedict/sqlitedict-2.1.0.ebuild6
-rw-r--r--dev-python/sqlparse/Manifest3
-rw-r--r--dev-python/sqlparse/sqlparse-0.4.4.ebuild22
-rw-r--r--dev-python/sqlparse/sqlparse-0.5.0.ebuild22
-rw-r--r--dev-python/sqlparse/sqlparse-0.5.1.ebuild22
-rw-r--r--dev-python/srt/Manifest1
-rw-r--r--dev-python/srt/metadata.xml17
-rw-r--r--dev-python/srt/srt-3.5.3.ebuild27
-rw-r--r--dev-python/sshpubkeys/sshpubkeys-3.3.1-r1.ebuild4
-rw-r--r--dev-python/ssl-fetch/ssl-fetch-0.4-r1.ebuild4
-rw-r--r--dev-python/ssl-fetch/ssl-fetch-9999.ebuild4
-rw-r--r--dev-python/stack-data/stack-data-0.6.3.ebuild4
-rw-r--r--dev-python/stapler/files/stapler-1.0.0_p20220330-PyPDF2-to-pypdf.patch39
-rw-r--r--dev-python/stapler/stapler-1.0.0_p20220330-r3.ebuild39
-rw-r--r--dev-python/starlette/Manifest5
-rw-r--r--dev-python/starlette/files/starlette-0.38.0-py313.patch35
-rw-r--r--dev-python/starlette/starlette-0.32.0.ebuild49
-rw-r--r--dev-python/starlette/starlette-0.33.0.ebuild49
-rw-r--r--dev-python/starlette/starlette-0.37.2.ebuild54
-rw-r--r--dev-python/starlette/starlette-0.38.0.ebuild55
-rw-r--r--dev-python/starlette/starlette-0.38.1.ebuild61
-rw-r--r--dev-python/statsd/statsd-4.0.1.ebuild4
-rw-r--r--dev-python/statsmodels/Manifest4
-rw-r--r--dev-python/statsmodels/files/statsmodels-0.14.0-test.patch30
-rw-r--r--dev-python/statsmodels/statsmodels-0.13.2.ebuild85
-rw-r--r--dev-python/statsmodels/statsmodels-0.13.5.ebuild88
-rw-r--r--dev-python/statsmodels/statsmodels-0.14.0.ebuild92
-rw-r--r--dev-python/statsmodels/statsmodels-0.14.2.ebuild86
-rw-r--r--dev-python/stdio-mgr/stdio-mgr-1.0.1-r1.ebuild6
-rw-r--r--dev-python/stestr/stestr-4.1.0.ebuild4
-rw-r--r--dev-python/stevedore/Manifest2
-rw-r--r--dev-python/stevedore/stevedore-5.1.0.ebuild45
-rw-r--r--dev-python/stevedore/stevedore-5.2.0.ebuild45
-rw-r--r--dev-python/stomp-py/Manifest2
-rw-r--r--dev-python/stomp-py/metadata.xml7
-rw-r--r--dev-python/stomp-py/stomp-py-8.1.0.ebuild29
-rw-r--r--dev-python/stomp-py/stomp-py-8.1.2.ebuild30
-rw-r--r--dev-python/strict-rfc3339/Manifest2
-rw-r--r--dev-python/strict-rfc3339/strict-rfc3339-0.7-r2.ebuild8
-rw-r--r--dev-python/stripe/Manifest7
-rw-r--r--dev-python/stripe/metadata.xml8
-rw-r--r--dev-python/stripe/stripe-10.1.0.ebuild88
-rw-r--r--dev-python/stripe/stripe-10.3.0.ebuild88
-rw-r--r--dev-python/stripe/stripe-10.4.0.ebuild88
-rw-r--r--dev-python/stripe/stripe-10.5.0.ebuild92
-rw-r--r--dev-python/stripe/stripe-7.4.0.ebuild73
-rw-r--r--dev-python/stripe/stripe-7.6.0.ebuild73
-rw-r--r--dev-python/stripe/stripe-7.7.0.ebuild73
-rw-r--r--dev-python/structlog/Manifest3
-rw-r--r--dev-python/structlog/structlog-23.2.0.ebuild31
-rw-r--r--dev-python/structlog/structlog-24.2.0.ebuild31
-rw-r--r--dev-python/structlog/structlog-24.4.0.ebuild31
-rw-r--r--dev-python/subprocess-tee/Manifest2
-rw-r--r--dev-python/subprocess-tee/metadata.xml4
-rw-r--r--dev-python/subprocess-tee/subprocess-tee-0.4.1.ebuild45
-rw-r--r--dev-python/subprocess-tee/subprocess-tee-0.4.2.ebuild44
-rw-r--r--dev-python/subunit/Manifest1
-rw-r--r--dev-python/subunit/subunit-1.4.3.ebuild91
-rw-r--r--dev-python/subunit/subunit-1.4.4.ebuild6
-rw-r--r--dev-python/suds-community/suds-community-1.1.2.ebuild4
-rw-r--r--dev-python/superqt/Manifest3
-rw-r--r--dev-python/superqt/metadata.xml17
-rw-r--r--dev-python/superqt/superqt-0.6.4.ebuild49
-rw-r--r--dev-python/superqt/superqt-0.6.6.ebuild49
-rw-r--r--dev-python/superqt/superqt-0.6.7.ebuild49
-rw-r--r--dev-python/sure/sure-2.0.1.ebuild4
-rw-r--r--dev-python/svg-path/svg-path-6.3.ebuild4
-rw-r--r--dev-python/svgwrite/svgwrite-1.4.3.ebuild4
-rw-r--r--dev-python/swagger-spec-validator/Manifest1
-rw-r--r--dev-python/swagger-spec-validator/files/swagger-spec-validator-3.0.4-fix-importlib.patch22
-rw-r--r--dev-python/swagger-spec-validator/swagger-spec-validator-3.0.4.ebuild46
-rw-r--r--dev-python/sybil/Manifest5
-rw-r--r--dev-python/sybil/sybil-5.0.3.ebuild34
-rw-r--r--dev-python/sybil/sybil-6.0.0.ebuild34
-rw-r--r--dev-python/sybil/sybil-6.0.1.ebuild34
-rw-r--r--dev-python/sybil/sybil-6.0.2.ebuild34
-rw-r--r--dev-python/sybil/sybil-6.1.1.ebuild39
-rw-r--r--dev-python/symengine/Manifest2
-rw-r--r--dev-python/symengine/files/symengine-0.9.2-cmake-setuptools.patch84
-rw-r--r--dev-python/symengine/files/symengine-0.9.2-setuptools-61.patch17
-rw-r--r--dev-python/symengine/symengine-0.10.0.ebuild53
-rw-r--r--dev-python/symengine/symengine-0.11.0.ebuild8
-rw-r--r--dev-python/symengine/symengine-0.9.2-r3.ebuild57
-rw-r--r--dev-python/sympy/Manifest4
-rw-r--r--dev-python/sympy/files/sympy-1.12-py312.patch42
-rw-r--r--dev-python/sympy/metadata.xml5
-rw-r--r--dev-python/sympy/sympy-1.12.1.ebuild108
-rw-r--r--dev-python/sympy/sympy-1.12.ebuild115
-rw-r--r--dev-python/sympy/sympy-1.13.0.ebuild106
-rw-r--r--dev-python/sympy/sympy-1.13.1.ebuild106
-rw-r--r--dev-python/tables/Manifest3
-rw-r--r--dev-python/tables/files/tables-3.8.0-blosc2.patch30
-rw-r--r--dev-python/tables/files/tables-3.8.0-cython3.patch40
-rw-r--r--dev-python/tables/files/tables-3.8.0-optional-cpuinfo.patch69
-rw-r--r--dev-python/tables/files/tables-3.9.2-numpy-2.patch264
-rw-r--r--dev-python/tables/files/tables-3.9.2-py313.patch73
-rw-r--r--dev-python/tables/tables-3.8.0-r3.ebuild84
-rw-r--r--dev-python/tables/tables-3.9.0.ebuild73
-rw-r--r--dev-python/tables/tables-3.9.1-r1.ebuild73
-rw-r--r--dev-python/tables/tables-3.9.2-r1.ebuild89
-rw-r--r--dev-python/tables/tables-3.9.2.ebuild9
-rw-r--r--dev-python/tabulate/tabulate-0.9.0-r1.ebuild8
-rw-r--r--dev-python/tappy/tappy-3.1-r1.ebuild4
-rw-r--r--dev-python/taskgroup/taskgroup-0.0.0_alpha4.ebuild4
-rw-r--r--dev-python/tavalidate/metadata.xml8
-rw-r--r--dev-python/tavalidate/tavalidate-0.0.6-r1.ebuild4
-rw-r--r--dev-python/tavern/Manifest3
-rw-r--r--dev-python/tavern/files/tavern-2.6.0-py312.patch38
-rw-r--r--dev-python/tavern/metadata.xml8
-rw-r--r--dev-python/tavern/tavern-2.11.0.ebuild66
-rw-r--r--dev-python/tavern/tavern-2.5.0.ebuild54
-rw-r--r--dev-python/tavern/tavern-2.6.0.ebuild59
-rw-r--r--dev-python/tblib/Manifest1
-rw-r--r--dev-python/tblib/tblib-2.0.0.ebuild35
-rw-r--r--dev-python/tblib/tblib-3.0.0.ebuild6
-rw-r--r--dev-python/tcolorpy/Manifest3
-rw-r--r--dev-python/tcolorpy/tcolorpy-0.1.3.ebuild18
-rw-r--r--dev-python/tcolorpy/tcolorpy-0.1.4.ebuild21
-rw-r--r--dev-python/tcolorpy/tcolorpy-0.1.6.ebuild25
-rw-r--r--dev-python/tekore/Manifest5
-rw-r--r--dev-python/tekore/tekore-5.2.0.ebuild55
-rw-r--r--dev-python/tekore/tekore-5.2.1.ebuild51
-rw-r--r--dev-python/tekore/tekore-5.3.1.ebuild52
-rw-r--r--dev-python/tekore/tekore-5.4.0.ebuild52
-rw-r--r--dev-python/tekore/tekore-5.5.0.ebuild52
-rw-r--r--dev-python/tempest/Manifest2
-rw-r--r--dev-python/tempest/tempest-36.0.0.ebuild75
-rw-r--r--dev-python/tempest/tempest-39.0.0.ebuild74
-rw-r--r--dev-python/tempora/Manifest3
-rw-r--r--dev-python/tempora/tempora-5.5.0.ebuild33
-rw-r--r--dev-python/tempora/tempora-5.6.0.ebuild45
-rw-r--r--dev-python/tempora/tempora-5.7.0.ebuild45
-rw-r--r--dev-python/tenacity/Manifest2
-rw-r--r--dev-python/tenacity/tenacity-8.2.3.ebuild40
-rw-r--r--dev-python/tenacity/tenacity-8.5.0.ebuild39
-rw-r--r--dev-python/termcolor/Manifest1
-rw-r--r--dev-python/termcolor/termcolor-2.3.0.ebuild27
-rw-r--r--dev-python/termcolor/termcolor-2.4.0.ebuild6
-rw-r--r--dev-python/terminado/Manifest2
-rw-r--r--dev-python/terminado/terminado-0.18.0.ebuild33
-rw-r--r--dev-python/terminado/terminado-0.18.1.ebuild44
-rw-r--r--dev-python/terminaltables/terminaltables-3.1.10-r1.ebuild4
-rw-r--r--dev-python/terminaltables/terminaltables-9999.ebuild4
-rw-r--r--dev-python/testfixtures/Manifest2
-rw-r--r--dev-python/testfixtures/testfixtures-7.2.2.ebuild59
-rw-r--r--dev-python/testfixtures/testfixtures-8.3.0.ebuild61
-rw-r--r--dev-python/testpath/testpath-0.6.0.ebuild4
-rw-r--r--dev-python/testresources/testresources-2.0.1-r3.ebuild4
-rw-r--r--dev-python/testscenarios/testscenarios-0.5.0-r3.ebuild4
-rw-r--r--dev-python/testtools/Manifest2
-rw-r--r--dev-python/testtools/files/testtools-2.7.2-twisted-fix.patch45
-rw-r--r--dev-python/testtools/testtools-2.7.1.ebuild38
-rw-r--r--dev-python/testtools/testtools-2.7.2.ebuild48
-rw-r--r--dev-python/text-unidecode/text-unidecode-1.3-r1.ebuild4
-rw-r--r--dev-python/textX/textX-4.0.1.ebuild4
-rw-r--r--dev-python/textdistance/Manifest3
-rw-r--r--dev-python/textdistance/textdistance-4.6.0.ebuild36
-rw-r--r--dev-python/textdistance/textdistance-4.6.2.ebuild36
-rw-r--r--dev-python/textdistance/textdistance-4.6.3.ebuild36
-rw-r--r--dev-python/textile/textile-4.0.2-r1.ebuild42
-rw-r--r--dev-python/textile/textile-4.0.2.ebuild43
-rw-r--r--dev-python/texttable/texttable-1.7.0.ebuild4
-rw-r--r--dev-python/threadpoolctl/Manifest2
-rw-r--r--dev-python/threadpoolctl/threadpoolctl-3.2.0.ebuild41
-rw-r--r--dev-python/threadpoolctl/threadpoolctl-3.5.0.ebuild41
-rw-r--r--dev-python/three-merge/three-merge-0.1.1-r1.ebuild4
-rw-r--r--dev-python/thrift/Manifest2
-rw-r--r--dev-python/thrift/metadata.xml6
-rw-r--r--dev-python/thrift/thrift-0.16.0.ebuild18
-rw-r--r--dev-python/thrift/thrift-0.20.0.ebuild35
-rw-r--r--dev-python/thriftpy2/Manifest4
-rw-r--r--dev-python/thriftpy2/files/thriftpy2-0.4.16-cython3.patch25
-rw-r--r--dev-python/thriftpy2/metadata.xml4
-rw-r--r--dev-python/thriftpy2/thriftpy2-0.4.16-r1.ebuild52
-rw-r--r--dev-python/thriftpy2/thriftpy2-0.4.16.ebuild49
-rw-r--r--dev-python/thriftpy2/thriftpy2-0.4.17.ebuild44
-rw-r--r--dev-python/thriftpy2/thriftpy2-0.5.0.ebuild44
-rw-r--r--dev-python/thriftpy2/thriftpy2-0.5.2.ebuild45
-rw-r--r--dev-python/tifffile/Manifest4
-rw-r--r--dev-python/tifffile/tifffile-2023.9.26.ebuild62
-rw-r--r--dev-python/tifffile/tifffile-2024.7.2.ebuild47
-rw-r--r--dev-python/tifffile/tifffile-2024.7.21.ebuild47
-rw-r--r--dev-python/tifffile/tifffile-2024.7.24.ebuild47
-rw-r--r--dev-python/time-machine/Manifest3
-rw-r--r--dev-python/time-machine/files/time-machine-2.13.0-backport-pr400.patch252
-rw-r--r--dev-python/time-machine/time-machine-2.13.0.ebuild32
-rw-r--r--dev-python/time-machine/time-machine-2.14.1.ebuild30
-rw-r--r--dev-python/time-machine/time-machine-2.14.2.ebuild30
-rw-r--r--dev-python/timeout-decorator/timeout-decorator-0.5.0-r1.ebuild4
-rw-r--r--dev-python/tiny-proxy/tiny-proxy-0.2.1.ebuild4
-rw-r--r--dev-python/tinycss/Manifest1
-rw-r--r--dev-python/tinycss/metadata.xml12
-rw-r--r--dev-python/tinycss/tinycss-0.4-r1.ebuild43
-rw-r--r--dev-python/tinycss2/Manifest4
-rw-r--r--dev-python/tinycss2/tinycss2-1.2.1.ebuild43
-rw-r--r--dev-python/tinycss2/tinycss2-1.3.0.ebuild42
-rw-r--r--dev-python/tld/tld-0.13.ebuild4
-rw-r--r--dev-python/tldextract/Manifest2
-rw-r--r--dev-python/tldextract/metadata.xml1
-rw-r--r--dev-python/tldextract/tldextract-5.1.1.ebuild35
-rw-r--r--dev-python/tldextract/tldextract-5.1.2.ebuild40
-rw-r--r--dev-python/tlsh/Manifest2
-rw-r--r--dev-python/tlsh/files/tlsh-4.8.2-r1-py312.patch25
-rw-r--r--dev-python/tlsh/tlsh-4.8.2-r1.ebuild30
-rw-r--r--dev-python/tlsh/tlsh-4.8.2.ebuild34
-rw-r--r--dev-python/tokenize-rt/Manifest1
-rw-r--r--dev-python/tokenize-rt/tokenize-rt-5.1.0.ebuild25
-rw-r--r--dev-python/tokenize-rt/tokenize-rt-5.2.0.ebuild6
-rw-r--r--dev-python/tomli-w/tomli-w-1.0.0-r1.ebuild4
-rw-r--r--dev-python/tomli/tomli-2.0.1-r1.ebuild4
-rw-r--r--dev-python/tomlkit/Manifest3
-rw-r--r--dev-python/tomlkit/files/tomlkit-0.12.5-py313.patch71
-rw-r--r--dev-python/tomlkit/metadata.xml2
-rw-r--r--dev-python/tomlkit/tomlkit-0.12.3.ebuild43
-rw-r--r--dev-python/tomlkit/tomlkit-0.12.5-r1.ebuild53
-rw-r--r--dev-python/tomlkit/tomlkit-0.13.0.ebuild48
-rw-r--r--dev-python/toolz/Manifest2
-rw-r--r--dev-python/toolz/files/toolz-0.12.1-test.patch88
-rw-r--r--dev-python/toolz/metadata.xml1
-rw-r--r--dev-python/toolz/toolz-0.12.0.ebuild26
-rw-r--r--dev-python/toolz/toolz-0.12.1.ebuild31
-rw-r--r--dev-python/toposort/toposort-1.10.ebuild4
-rw-r--r--dev-python/tornado/Manifest3
-rw-r--r--dev-python/tornado/tornado-6.3.3.ebuild75
-rw-r--r--dev-python/tornado/tornado-6.4.1.ebuild61
-rw-r--r--dev-python/tornado/tornado-6.4.ebuild61
-rw-r--r--dev-python/towncrier/towncrier-23.11.0.ebuild5
-rw-r--r--dev-python/tox/Manifest4
-rw-r--r--dev-python/tox/tox-3.28.0.ebuild71
-rw-r--r--dev-python/tox/tox-4.11.3.ebuild90
-rw-r--r--dev-python/tox/tox-4.11.4.ebuild90
-rw-r--r--dev-python/tox/tox-4.16.0.ebuild97
-rw-r--r--dev-python/tpm2-pytss/Manifest3
-rw-r--r--dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-test-add-check-for-renamed-cryptography-types.patch45
-rw-r--r--dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-Revert-test-skip-some-FAPI-tests-if-testing-agains-t.patch83
-rw-r--r--dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-cryptography-fixes-for-newer-version-of-cryptography.patch53
-rw-r--r--dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-scripts-update-regex-for-defines.patch28
-rw-r--r--dev-python/tpm2-pytss/tpm2-pytss-2.1.0-r1.ebuild44
-rw-r--r--dev-python/tpm2-pytss/tpm2-pytss-2.2.1.ebuild50
-rw-r--r--dev-python/tpm2-pytss/tpm2-pytss-2.3.0.ebuild43
-rw-r--r--dev-python/tqdm/Manifest2
-rw-r--r--dev-python/tqdm/files/tqdm-4.66.4-py313.patch43
-rw-r--r--dev-python/tqdm/tqdm-4.66.1.ebuild45
-rw-r--r--dev-python/tqdm/tqdm-4.66.4.ebuild50
-rw-r--r--dev-python/traitlets/Manifest3
-rw-r--r--dev-python/traitlets/traitlets-5.13.0.ebuild40
-rw-r--r--dev-python/traitlets/traitlets-5.14.0.ebuild40
-rw-r--r--dev-python/traitlets/traitlets-5.14.3.ebuild40
-rw-r--r--dev-python/transitions/Manifest2
-rw-r--r--dev-python/transitions/transitions-0.9.0.ebuild43
-rw-r--r--dev-python/transitions/transitions-0.9.1.ebuild60
-rw-r--r--dev-python/translate-toolkit/Manifest5
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.11.1.ebuild118
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.12.2.ebuild118
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.13.0.ebuild118
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.13.1.ebuild118
-rw-r--r--dev-python/translate-toolkit/translate-toolkit-3.13.2.ebuild119
-rw-r--r--dev-python/tree-sitter/Manifest11
-rw-r--r--dev-python/tree-sitter/files/tree-sitter-0.19.0_p20210506-unbundle.patch18
-rw-r--r--dev-python/tree-sitter/files/tree-sitter-0.21.0-unbundle.patch17
-rw-r--r--dev-python/tree-sitter/files/tree-sitter-0.22.2-unbundle.patch23
-rw-r--r--dev-python/tree-sitter/metadata.xml4
-rw-r--r--dev-python/tree-sitter/tree-sitter-0.20.1-r1.ebuild64
-rw-r--r--dev-python/tree-sitter/tree-sitter-0.21.3.ebuild75
-rw-r--r--dev-python/tree-sitter/tree-sitter-0.22.3.ebuild58
-rw-r--r--dev-python/treq/metadata.xml4
-rw-r--r--dev-python/treq/treq-23.11.0.ebuild9
-rw-r--r--dev-python/trimesh/Manifest5
-rw-r--r--dev-python/trimesh/metadata.xml4
-rw-r--r--dev-python/trimesh/trimesh-4.0.4.ebuild61
-rw-r--r--dev-python/trimesh/trimesh-4.0.5.ebuild62
-rw-r--r--dev-python/trimesh/trimesh-4.4.0.ebuild74
-rw-r--r--dev-python/trimesh/trimesh-4.4.2.ebuild74
-rw-r--r--dev-python/trimesh/trimesh-4.4.3.ebuild74
-rw-r--r--dev-python/trio-websocket/trio-websocket-0.11.1.ebuild16
-rw-r--r--dev-python/trio/Manifest2
-rw-r--r--dev-python/trio/trio-0.23.1.ebuild77
-rw-r--r--dev-python/trio/trio-0.26.0.ebuild67
-rw-r--r--dev-python/trove-classifiers/Manifest4
-rw-r--r--dev-python/trove-classifiers/trove-classifiers-2023.11.14.ebuild31
-rw-r--r--dev-python/trove-classifiers/trove-classifiers-2023.11.22.ebuild31
-rw-r--r--dev-python/trove-classifiers/trove-classifiers-2023.11.29.ebuild31
-rw-r--r--dev-python/trove-classifiers/trove-classifiers-2024.7.2.ebuild42
-rw-r--r--dev-python/trustme/files/trustme-1.1.0-aki.patch96
-rw-r--r--dev-python/trustme/trustme-1.1.0-r1.ebuild43
-rw-r--r--dev-python/trustme/trustme-1.1.0.ebuild32
-rw-r--r--dev-python/truststore/Manifest3
-rw-r--r--dev-python/truststore/truststore-0.7.0.ebuild46
-rw-r--r--dev-python/truststore/truststore-0.8.0.ebuild46
-rw-r--r--dev-python/truststore/truststore-0.9.1.ebuild47
-rw-r--r--dev-python/tubes/metadata.xml4
-rw-r--r--dev-python/tubes/tubes-0.2.1.ebuild6
-rw-r--r--dev-python/twine/Manifest2
-rw-r--r--dev-python/twine/twine-4.0.2.ebuild78
-rw-r--r--dev-python/twine/twine-5.1.1.ebuild80
-rw-r--r--dev-python/twisted/Manifest5
-rw-r--r--dev-python/twisted/files/twisted-22.10.0-time.patch113
-rw-r--r--dev-python/twisted/files/twisted-24.3.0_p20240628-skip-py313-test.patch35
-rw-r--r--dev-python/twisted/metadata.xml1
-rw-r--r--dev-python/twisted/twisted-23.10.0.ebuild149
-rw-r--r--dev-python/twisted/twisted-23.10.0_rc1.ebuild149
-rw-r--r--dev-python/twisted/twisted-23.8.0.ebuild154
-rw-r--r--dev-python/twisted/twisted-24.3.0.ebuild152
-rw-r--r--dev-python/twisted/twisted-24.3.0_p20240628.ebuild162
-rw-r--r--dev-python/twython/twython-3.9.1-r1.ebuild6
-rw-r--r--dev-python/txAMQP/Manifest2
-rw-r--r--dev-python/txAMQP/txAMQP-0.8.2-r1.ebuild9
-rw-r--r--dev-python/txaio/metadata.xml4
-rw-r--r--dev-python/txaio/txaio-23.1.1.ebuild4
-rw-r--r--dev-python/txredisapi/txredisapi-1.4.10.ebuild6
-rw-r--r--dev-python/txrequests/metadata.xml13
-rw-r--r--dev-python/txrequests/txrequests-0.9.6-r1.ebuild12
-rw-r--r--dev-python/txtorcon/Manifest1
-rw-r--r--dev-python/txtorcon/txtorcon-23.11.0.ebuild4
-rw-r--r--dev-python/txtorcon/txtorcon-23.5.0.ebuild42
-rw-r--r--dev-python/typeguard/Manifest2
-rw-r--r--dev-python/typeguard/metadata.xml1
-rw-r--r--dev-python/typeguard/typeguard-4.1.5.ebuild42
-rw-r--r--dev-python/typeguard/typeguard-4.3.0.ebuild39
-rw-r--r--dev-python/types-docutils/Manifest6
-rw-r--r--dev-python/types-docutils/types-docutils-0.20.0.1.ebuild17
-rw-r--r--dev-python/types-docutils/types-docutils-0.20.0.2.ebuild17
-rw-r--r--dev-python/types-docutils/types-docutils-0.20.0.3.ebuild17
-rw-r--r--dev-python/types-docutils/types-docutils-0.21.0.20240710.ebuild17
-rw-r--r--dev-python/types-docutils/types-docutils-0.21.0.20240711.ebuild17
-rw-r--r--dev-python/types-docutils/types-docutils-0.21.0.20240724.ebuild17
-rw-r--r--dev-python/types-gdb/Manifest4
-rw-r--r--dev-python/types-gdb/types-gdb-12.1.4.20240408.ebuild17
-rw-r--r--dev-python/types-gdb/types-gdb-12.1.4.20240704.ebuild17
-rw-r--r--dev-python/types-gdb/types-gdb-12.1.4.4.ebuild17
-rw-r--r--dev-python/types-gdb/types-gdb-12.1.4.5.ebuild17
-rw-r--r--dev-python/types-psutil/Manifest3
-rw-r--r--dev-python/types-psutil/types-psutil-5.9.5.17.ebuild17
-rw-r--r--dev-python/types-psutil/types-psutil-5.9.5.20240516.ebuild17
-rw-r--r--dev-python/types-psutil/types-psutil-6.0.0.20240621.ebuild17
-rw-r--r--dev-python/types-setuptools/Manifest7
-rw-r--r--dev-python/types-setuptools/types-setuptools-68.2.0.1.ebuild17
-rw-r--r--dev-python/types-setuptools/types-setuptools-68.2.0.2.ebuild17
-rw-r--r--dev-python/types-setuptools/types-setuptools-69.0.0.0.ebuild17
-rw-r--r--dev-python/types-setuptools/types-setuptools-70.2.0.20240704.ebuild17
-rw-r--r--dev-python/types-setuptools/types-setuptools-70.3.0.20240710.ebuild17
-rw-r--r--dev-python/types-setuptools/types-setuptools-71.1.0.20240723.ebuild17
-rw-r--r--dev-python/types-setuptools/types-setuptools-71.1.0.20240724.ebuild17
-rw-r--r--dev-python/typing-extensions/Manifest2
-rw-r--r--dev-python/typing-extensions/typing-extensions-4.12.2.ebuild26
-rw-r--r--dev-python/typing-extensions/typing-extensions-4.8.0.ebuild32
-rw-r--r--dev-python/typogrify/typogrify-2.0.7-r1.ebuild4
-rw-r--r--dev-python/tzdata/tzdata-10001.ebuild37
-rw-r--r--dev-python/tzdata/tzdata-9999.ebuild34
-rw-r--r--dev-python/tzlocal/tzlocal-5.2.ebuild4
-rw-r--r--dev-python/u-msgpack-python/u-msgpack-python-2.8.0.ebuild4
-rw-r--r--dev-python/ubelt/Manifest3
-rw-r--r--dev-python/ubelt/ubelt-1.3.3.ebuild42
-rw-r--r--dev-python/ubelt/ubelt-1.3.4.ebuild42
-rw-r--r--dev-python/ubelt/ubelt-1.3.6.ebuild47
-rw-r--r--dev-python/uc-micro-py/Manifest2
-rw-r--r--dev-python/uc-micro-py/uc-micro-py-1.0.2.ebuild22
-rw-r--r--dev-python/uc-micro-py/uc-micro-py-1.0.3.ebuild22
-rw-r--r--dev-python/ujson/Manifest2
-rw-r--r--dev-python/ujson/ujson-5.10.0.ebuild41
-rw-r--r--dev-python/ujson/ujson-5.8.0.ebuild41
-rw-r--r--dev-python/ukkonen/ukkonen-1.0.1-r1.ebuild4
-rw-r--r--dev-python/unasync/Manifest2
-rw-r--r--dev-python/unasync/unasync-0.5.0-r1.ebuild25
-rw-r--r--dev-python/unasync/unasync-0.6.0-r1.ebuild34
-rw-r--r--dev-python/uncertainties/Manifest3
-rw-r--r--dev-python/uncertainties/metadata.xml2
-rw-r--r--dev-python/uncertainties/uncertainties-3.1.7-r1.ebuild39
-rw-r--r--dev-python/uncertainties/uncertainties-3.2.1.ebuild32
-rw-r--r--dev-python/uncertainties/uncertainties-3.2.2.ebuild32
-rw-r--r--dev-python/unearth/Manifest4
-rw-r--r--dev-python/unearth/unearth-0.12.1.ebuild39
-rw-r--r--dev-python/unearth/unearth-0.15.5.ebuild42
-rw-r--r--dev-python/unearth/unearth-0.16.0.ebuild42
-rw-r--r--dev-python/unearth/unearth-0.16.1.ebuild42
-rw-r--r--dev-python/unidecode/Manifest2
-rw-r--r--dev-python/unidecode/unidecode-1.3.7.ebuild20
-rw-r--r--dev-python/unidecode/unidecode-1.3.8.ebuild20
-rw-r--r--dev-python/unidiff/metadata.xml4
-rw-r--r--dev-python/unidiff/unidiff-0.7.5.ebuild6
-rw-r--r--dev-python/unittest-mixins/unittest-mixins-1.6-r2.ebuild4
-rw-r--r--dev-python/unittest-or-fail/unittest-or-fail-2-r1.ebuild45
-rw-r--r--dev-python/unpaddedbase64/unpaddedbase64-2.1.0.ebuild4
-rw-r--r--dev-python/unrardll/metadata.xml4
-rw-r--r--dev-python/unrardll/unrardll-0.1.7.ebuild4
-rw-r--r--dev-python/untangle/untangle-1.2.1-r1.ebuild29
-rw-r--r--dev-python/untangle/untangle-1.2.1-r2.ebuild35
-rw-r--r--dev-python/uri-template/uri-template-1.3.0.ebuild4
-rw-r--r--dev-python/uritemplate/uritemplate-4.1.1.ebuild6
-rw-r--r--dev-python/uritools/Manifest3
-rw-r--r--dev-python/uritools/metadata.xml8
-rw-r--r--dev-python/uritools/uritools-4.0.1.ebuild24
-rw-r--r--dev-python/uritools/uritools-4.0.2.ebuild24
-rw-r--r--dev-python/uritools/uritools-4.0.3.ebuild24
-rw-r--r--dev-python/url-normalize/url-normalize-1.4.3-r1.ebuild4
-rw-r--r--dev-python/urllib3/Manifest5
-rw-r--r--dev-python/urllib3/urllib3-1.26.18.ebuild78
-rw-r--r--dev-python/urllib3/urllib3-2.0.7.ebuild87
-rw-r--r--dev-python/urllib3/urllib3-2.1.0.ebuild87
-rw-r--r--dev-python/urllib3/urllib3-2.2.2.ebuild94
-rw-r--r--dev-python/urwid-readline/Manifest1
-rw-r--r--dev-python/urwid-readline/metadata.xml (renamed from dev-python/urwid_readline/metadata.xml)0
-rw-r--r--dev-python/urwid-readline/urwid-readline-0.14.ebuild31
-rw-r--r--dev-python/urwid/Manifest2
-rw-r--r--dev-python/urwid/metadata.xml1
-rw-r--r--dev-python/urwid/urwid-2.2.3.ebuild39
-rw-r--r--dev-python/urwid/urwid-2.6.15.ebuild41
-rw-r--r--dev-python/urwid_readline/Manifest1
-rw-r--r--dev-python/urwid_readline/urwid_readline-0.13-r1.ebuild24
-rw-r--r--dev-python/urwidtrees/urwidtrees-1.0.3-r1.ebuild40
-rw-r--r--dev-python/urwidtrees/urwidtrees-1.0.3-r2.ebuild40
-rw-r--r--dev-python/userpath/Manifest2
-rw-r--r--dev-python/userpath/userpath-1.9.0.ebuild29
-rw-r--r--dev-python/userpath/userpath-1.9.1.ebuild2
-rw-r--r--dev-python/userpath/userpath-1.9.2.ebuild29
-rw-r--r--dev-python/utidylib/Manifest2
-rw-r--r--dev-python/utidylib/utidylib-0.10.ebuild32
-rw-r--r--dev-python/utidylib/utidylib-0.9.ebuild36
-rw-r--r--dev-python/uv/Manifest14
-rw-r--r--dev-python/uv/files/tokio-tar-0.3.1-ppc.patch35
-rw-r--r--dev-python/uv/metadata.xml11
-rw-r--r--dev-python/uv/uv-0.2.23.ebuild108
-rw-r--r--dev-python/uv/uv-0.2.25.ebuild109
-rw-r--r--dev-python/uv/uv-0.2.26.ebuild109
-rw-r--r--dev-python/uv/uv-0.2.27.ebuild109
-rw-r--r--dev-python/uv/uv-0.2.28.ebuild109
-rw-r--r--dev-python/uv/uv-0.2.29.ebuild109
-rw-r--r--dev-python/uvicorn/Manifest3
-rw-r--r--dev-python/uvicorn/uvicorn-0.24.0.ebuild78
-rw-r--r--dev-python/uvicorn/uvicorn-0.30.1.ebuild75
-rw-r--r--dev-python/uvicorn/uvicorn-0.30.3.ebuild75
-rw-r--r--dev-python/uvloop/Manifest1
-rw-r--r--dev-python/uvloop/uvloop-0.19.0-r1.ebuild86
-rw-r--r--dev-python/uvloop/uvloop-0.19.0.ebuild86
-rw-r--r--dev-python/validators/Manifest5
-rw-r--r--dev-python/validators/metadata.xml1
-rw-r--r--dev-python/validators/validators-0.22.0.ebuild21
-rw-r--r--dev-python/validators/validators-0.30.0.ebuild26
-rw-r--r--dev-python/validators/validators-0.31.0.ebuild26
-rw-r--r--dev-python/validators/validators-0.32.0.ebuild26
-rw-r--r--dev-python/validators/validators-0.33.0.ebuild26
-rw-r--r--dev-python/vcrpy/Manifest2
-rw-r--r--dev-python/vcrpy/files/vcrpy-5.1.0-py312.patch35
-rw-r--r--dev-python/vcrpy/files/vcrpy-6.0.1-httpbin-compat.patch40
-rw-r--r--dev-python/vcrpy/vcrpy-5.1.0.ebuild67
-rw-r--r--dev-python/vcrpy/vcrpy-6.0.1.ebuild84
-rw-r--r--dev-python/vdf/metadata.xml4
-rw-r--r--dev-python/vdf/vdf-3.4-r1.ebuild4
-rw-r--r--dev-python/vdirsyncer/vdirsyncer-0.19.2-r2.ebuild4
-rw-r--r--dev-python/vecrec/vecrec-0.3.1-r1.ebuild6
-rw-r--r--dev-python/verboselogs/verboselogs-1.7-r1.ebuild8
-rw-r--r--dev-python/versioneer/versioneer-0.29-r1.ebuild6
-rw-r--r--dev-python/versioningit/Manifest4
-rw-r--r--dev-python/versioningit/versioningit-2.2.1.ebuild48
-rw-r--r--dev-python/versioningit/versioningit-2.3.0.ebuild43
-rw-r--r--dev-python/versioningit/versioningit-3.1.1.ebuild43
-rw-r--r--dev-python/versioningit/versioningit-3.1.2.ebuild43
-rw-r--r--dev-python/vine/files/vine-5.1.0-pytest-8.patch29
-rw-r--r--dev-python/vine/vine-5.1.0.ebuild9
-rw-r--r--dev-python/virtualenv-clone/files/virtualenv-clone-0.5.7-backport-pr79.patch28
-rw-r--r--dev-python/virtualenv-clone/virtualenv-clone-0.5.7.ebuild8
-rw-r--r--dev-python/virtualenv/Manifest3
-rw-r--r--dev-python/virtualenv/files/virtualenv-20.26.3-ensurepip.patch37
-rw-r--r--dev-python/virtualenv/virtualenv-20.24.7.ebuild122
-rw-r--r--dev-python/virtualenv/virtualenv-20.25.0.ebuild122
-rw-r--r--dev-python/virtualenv/virtualenv-20.26.3-r2.ebuild118
-rw-r--r--dev-python/virtualenvwrapper/Manifest2
-rw-r--r--dev-python/virtualenvwrapper/files/virtualenvwrapper-4.8.4_p20230121-remove-use-of-which.patch116
-rw-r--r--dev-python/virtualenvwrapper/files/virtualenvwrapper-6.0.0-remove-use-of-which.patch106
-rw-r--r--dev-python/virtualenvwrapper/virtualenvwrapper-4.8.4_p20230121-r2.ebuild73
-rw-r--r--dev-python/virtualenvwrapper/virtualenvwrapper-6.1.0.ebuild71
-rw-r--r--dev-python/visitor/Manifest2
-rw-r--r--dev-python/visitor/visitor-0.1.3-r2.ebuild14
-rw-r--r--dev-python/vobject/Manifest2
-rw-r--r--dev-python/vobject/metadata.xml2
-rw-r--r--dev-python/vobject/vobject-0.9.6.1-r3.ebuild23
-rw-r--r--dev-python/vobject/vobject-0.9.7.ebuild27
-rw-r--r--dev-python/voluptuous/Manifest2
-rw-r--r--dev-python/voluptuous/voluptuous-0.14.1.ebuild25
-rw-r--r--dev-python/voluptuous/voluptuous-0.15.2.ebuild25
-rw-r--r--dev-python/vpython/Manifest1
-rw-r--r--dev-python/vpython/vpython-7.6.5.ebuild29
-rw-r--r--dev-python/waitress/Manifest2
-rw-r--r--dev-python/waitress/waitress-2.1.2.ebuild32
-rw-r--r--dev-python/waitress/waitress-3.0.0.ebuild32
-rw-r--r--dev-python/wand/Manifest1
-rw-r--r--dev-python/wand/files/wand-0.6.11-sphinx-6.patch29
-rw-r--r--dev-python/wand/wand-0.6.11.ebuild43
-rw-r--r--dev-python/wand/wand-0.6.13.ebuild4
-rw-r--r--dev-python/warlock/warlock-2.0.1.ebuild4
-rw-r--r--dev-python/watchdog/Manifest2
-rw-r--r--dev-python/watchdog/watchdog-3.0.0.ebuild50
-rw-r--r--dev-python/watchdog/watchdog-4.0.1.ebuild50
-rw-r--r--dev-python/watchfiles/Manifest117
-rw-r--r--dev-python/watchfiles/watchfiles-0.19.0.ebuild114
-rw-r--r--dev-python/watchfiles/watchfiles-0.20.0.ebuild114
-rw-r--r--dev-python/watchfiles/watchfiles-0.21.0-r1.ebuild117
-rw-r--r--dev-python/watchfiles/watchfiles-0.22.0.ebuild133
-rw-r--r--dev-python/wcag-contrast-ratio/wcag-contrast-ratio-0.9-r1.ebuild4
-rw-r--r--dev-python/wcmatch/Manifest2
-rw-r--r--dev-python/wcmatch/metadata.xml8
-rw-r--r--dev-python/wcmatch/wcmatch-8.5.2.ebuild61
-rw-r--r--dev-python/wcmatch/wcmatch-8.5.ebuild61
-rw-r--r--dev-python/wcwidth/Manifest2
-rw-r--r--dev-python/wcwidth/wcwidth-0.2.12.ebuild31
-rw-r--r--dev-python/wcwidth/wcwidth-0.2.13.ebuild31
-rw-r--r--dev-python/weasyprint/Manifest2
-rw-r--r--dev-python/weasyprint/weasyprint-60.1.ebuild42
-rw-r--r--dev-python/weasyprint/weasyprint-62.3.ebuild47
-rw-r--r--dev-python/webcolors/Manifest2
-rw-r--r--dev-python/webcolors/webcolors-1.13.ebuild21
-rw-r--r--dev-python/webcolors/webcolors-24.6.0.ebuild21
-rw-r--r--dev-python/webencodings/webencodings-0.5.1-r2.ebuild13
-rw-r--r--dev-python/webob/webob-1.8.7-r1.ebuild12
-rw-r--r--dev-python/websocket-client/Manifest2
-rw-r--r--dev-python/websocket-client/websocket-client-1.6.4.ebuild37
-rw-r--r--dev-python/websocket-client/websocket-client-1.8.0.ebuild36
-rw-r--r--dev-python/websockets/websockets-12.0.ebuild4
-rw-r--r--dev-python/websockify/Manifest2
-rw-r--r--dev-python/websockify/websockify-0.11.0.ebuild43
-rw-r--r--dev-python/websockify/websockify-0.12.0.ebuild37
-rw-r--r--dev-python/webtest/webtest-3.0.0-r1.ebuild9
-rw-r--r--dev-python/werkzeug/Manifest3
-rw-r--r--dev-python/werkzeug/files/werkzeug-3.0.2-pytest-xprocess-1.patch21
-rw-r--r--dev-python/werkzeug/metadata.xml1
-rw-r--r--dev-python/werkzeug/werkzeug-2.3.8.ebuild64
-rw-r--r--dev-python/werkzeug/werkzeug-3.0.1.ebuild64
-rw-r--r--dev-python/werkzeug/werkzeug-3.0.3.ebuild64
-rw-r--r--dev-python/whatever/whatever-0.7.ebuild4
-rw-r--r--dev-python/whatthepatch/Manifest1
-rw-r--r--dev-python/whatthepatch/whatthepatch-1.0.5.ebuild10
-rw-r--r--dev-python/whatthepatch/whatthepatch-1.0.6.ebuild27
-rw-r--r--dev-python/wheel/Manifest3
-rw-r--r--dev-python/wheel/wheel-0.41.3.ebuild40
-rw-r--r--dev-python/wheel/wheel-0.42.0.ebuild40
-rw-r--r--dev-python/wheel/wheel-0.43.0.ebuild40
-rw-r--r--dev-python/whichcraft/Manifest1
-rw-r--r--dev-python/whichcraft/metadata.xml12
-rw-r--r--dev-python/whichcraft/whichcraft-0.6.1-r1.ebuild21
-rw-r--r--dev-python/whisper/whisper-1.1.10.ebuild6
-rw-r--r--dev-python/whoosh/whoosh-2.7.4-r2.ebuild11
-rw-r--r--dev-python/widgetsnbextension/Manifest2
-rw-r--r--dev-python/widgetsnbextension/widgetsnbextension-4.0.11.ebuild30
-rw-r--r--dev-python/widgetsnbextension/widgetsnbextension-4.0.9.ebuild30
-rw-r--r--dev-python/wrapt/files/wrapt-1.16.0-py313.patch113
-rw-r--r--dev-python/wrapt/wrapt-1.16.0.ebuild9
-rw-r--r--dev-python/wsaccel/wsaccel-0.6.6.ebuild6
-rw-r--r--dev-python/wsgiproxy2/wsgiproxy2-0.5.1-r1.ebuild6
-rw-r--r--dev-python/wsproto/wsproto-1.2.0.ebuild4
-rw-r--r--dev-python/wstools/Manifest1
-rw-r--r--dev-python/wstools/files/wstools-0.4.8-fix-py3.10.patch29
-rw-r--r--dev-python/wstools/metadata.xml13
-rw-r--r--dev-python/wstools/wstools-0.4.10-r1.ebuild50
-rw-r--r--dev-python/wtforms/Manifest2
-rw-r--r--dev-python/wtforms/wtforms-3.1.1.ebuild36
-rw-r--r--dev-python/wtforms/wtforms-3.1.2.ebuild36
-rw-r--r--dev-python/wurlitzer/Manifest2
-rw-r--r--dev-python/wurlitzer/wurlitzer-3.0.3.ebuild25
-rw-r--r--dev-python/wurlitzer/wurlitzer-3.1.1.ebuild25
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.1-doxygen-1.9.7.patch46
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.1-integer-division-for-randint.patch26
-rw-r--r--dev-python/wxpython/files/wxpython-4.2.1-x86-time.patch34
-rw-r--r--dev-python/wxpython/wxpython-4.2.0.ebuild6
-rw-r--r--dev-python/wxpython/wxpython-4.2.1-r2.ebuild136
-rw-r--r--dev-python/wxpython/wxpython-4.2.1.ebuild124
-rw-r--r--dev-python/x-wr-timezone/Manifest3
-rw-r--r--dev-python/x-wr-timezone/x-wr-timezone-0.0.5.ebuild34
-rw-r--r--dev-python/x-wr-timezone/x-wr-timezone-0.0.6.ebuild34
-rw-r--r--dev-python/x-wr-timezone/x-wr-timezone-0.0.7.ebuild34
-rw-r--r--dev-python/xarray/Manifest4
-rw-r--r--dev-python/xarray/xarray-2023.10.1-r1.ebuild83
-rw-r--r--dev-python/xarray/xarray-2023.10.1.ebuild62
-rw-r--r--dev-python/xarray/xarray-2023.11.0.ebuild83
-rw-r--r--dev-python/xarray/xarray-2023.9.0.ebuild62
-rw-r--r--dev-python/xarray/xarray-2024.6.0-r1.ebuild108
-rw-r--r--dev-python/xarray/xarray-2024.6.0.ebuild95
-rw-r--r--dev-python/xcffib/Manifest2
-rw-r--r--dev-python/xcffib/xcffib-1.3.0-r1.ebuild42
-rw-r--r--dev-python/xcffib/xcffib-1.4.0.ebuild42
-rw-r--r--dev-python/xcffib/xcffib-1.5.0.ebuild14
-rw-r--r--dev-python/xdoctest/Manifest5
-rw-r--r--dev-python/xdoctest/xdoctest-1.1.1.ebuild49
-rw-r--r--dev-python/xdoctest/xdoctest-1.1.2.ebuild46
-rw-r--r--dev-python/xdoctest/xdoctest-1.1.3.ebuild49
-rw-r--r--dev-python/xdoctest/xdoctest-1.1.4.ebuild49
-rw-r--r--dev-python/xdoctest/xdoctest-1.1.5.ebuild49
-rw-r--r--dev-python/xkbcommon/Manifest5
-rw-r--r--dev-python/xkbcommon/xkbcommon-0.8.ebuild43
-rw-r--r--dev-python/xkbcommon/xkbcommon-1.0.1.ebuild44
-rw-r--r--dev-python/xkbcommon/xkbcommon-1.0.ebuild43
-rw-r--r--dev-python/xkbcommon/xkbcommon-1.5.1.ebuild38
-rw-r--r--dev-python/xkbcommon/xkbcommon-1.5.ebuild38
-rw-r--r--dev-python/xlrd/xlrd-2.0.1-r1.ebuild6
-rw-r--r--dev-python/xlsxwriter/Manifest2
-rw-r--r--dev-python/xlsxwriter/xlsxwriter-3.1.9.ebuild33
-rw-r--r--dev-python/xlsxwriter/xlsxwriter-3.2.0.ebuild33
-rw-r--r--dev-python/xlwt/xlwt-1.3.0-r2.ebuild4
-rw-r--r--dev-python/xmlschema/Manifest2
-rw-r--r--dev-python/xmlschema/xmlschema-2.5.0.ebuild37
-rw-r--r--dev-python/xmlschema/xmlschema-3.3.1.ebuild37
-rw-r--r--dev-python/xmlsec/Manifest2
-rw-r--r--dev-python/xmlsec/files/xmlsec-1.3.11-fix-xml-testfail.patch23
-rw-r--r--dev-python/xmlsec/xmlsec-1.3.12-r2.ebuild58
-rw-r--r--dev-python/xmlsec/xmlsec-1.3.14.ebuild61
-rw-r--r--dev-python/xmltodict/xmltodict-0.13.0-r1.ebuild10
-rw-r--r--dev-python/xxhash/xxhash-3.4.1.ebuild4
-rw-r--r--dev-python/y-py/Manifest91
-rw-r--r--dev-python/y-py/metadata.xml12
-rw-r--r--dev-python/y-py/y-py-0.6.0.ebuild101
-rw-r--r--dev-python/y-py/y-py-0.6.2.ebuild102
-rw-r--r--dev-python/yamlpath/Manifest1
-rw-r--r--dev-python/yamlpath/metadata.xml18
-rw-r--r--dev-python/yamlpath/yamlpath-3.8.0.ebuild54
-rw-r--r--dev-python/yappi/Manifest2
-rw-r--r--dev-python/yappi/yappi-1.4.0.ebuild42
-rw-r--r--dev-python/yappi/yappi-1.6.0.ebuild35
-rw-r--r--dev-python/yapsy/yapsy-1.12.2-r2.ebuild6
-rw-r--r--dev-python/yara-python/Manifest2
-rw-r--r--dev-python/yara-python/files/yara-python-4.4.0-python3_12.patch17
-rw-r--r--dev-python/yara-python/yara-python-4.4.0.ebuild45
-rw-r--r--dev-python/yara-python/yara-python-4.5.0.ebuild41
-rw-r--r--dev-python/yarl/Manifest3
-rw-r--r--dev-python/yarl/yarl-1.9.2.ebuild57
-rw-r--r--dev-python/yarl/yarl-1.9.3.ebuild37
-rw-r--r--dev-python/yarl/yarl-1.9.4.ebuild37
-rw-r--r--dev-python/yaswfp/yaswfp-0.9.3-r2.ebuild4
-rw-r--r--dev-python/yattag/metadata.xml6
-rw-r--r--dev-python/yattag/yattag-1.15.2.ebuild4
-rw-r--r--dev-python/yaxmldiff/yaxmldiff-0.1.0.ebuild4
-rw-r--r--dev-python/youtube-search-python/youtube-search-python-1.6.6-r1.ebuild22
-rw-r--r--dev-python/youtube-search-python/youtube-search-python-1.6.6.ebuild22
-rw-r--r--dev-python/ypy-websocket/Manifest5
-rw-r--r--dev-python/ypy-websocket/metadata.xml13
-rw-r--r--dev-python/ypy-websocket/ypy-websocket-0.12.1.ebuild46
-rw-r--r--dev-python/ypy-websocket/ypy-websocket-0.12.2.ebuild46
-rw-r--r--dev-python/ypy-websocket/ypy-websocket-0.12.3.ebuild46
-rw-r--r--dev-python/ypy-websocket/ypy-websocket-0.12.4.ebuild46
-rw-r--r--dev-python/ypy-websocket/ypy-websocket-0.8.4.ebuild43
-rw-r--r--dev-python/ytmusicapi/Manifest4
-rw-r--r--dev-python/ytmusicapi/ytmusicapi-1.3.2.ebuild22
-rw-r--r--dev-python/ytmusicapi/ytmusicapi-1.7.4.ebuild24
-rw-r--r--dev-python/ytmusicapi/ytmusicapi-1.7.5.ebuild24
-rw-r--r--dev-python/ytmusicapi/ytmusicapi-1.8.0.ebuild24
-rw-r--r--dev-python/zc-lockfile/zc-lockfile-3.0_p1.ebuild6
-rw-r--r--dev-python/zconfig/Manifest2
-rw-r--r--dev-python/zconfig/files/zconfig-4.0-py312.patch37
-rw-r--r--dev-python/zconfig/zconfig-4.0.ebuild45
-rw-r--r--dev-python/zconfig/zconfig-4.1.ebuild39
-rw-r--r--dev-python/zeep/zeep-4.2.1.ebuild4
-rw-r--r--dev-python/zenlib/Manifest2
-rw-r--r--dev-python/zenlib/metadata.xml15
-rw-r--r--dev-python/zenlib/zenlib-2.1.2.ebuild16
-rw-r--r--dev-python/zenlib/zenlib-2.2.0.ebuild16
-rw-r--r--dev-python/zenlib/zenlib-9999.ebuild15
-rw-r--r--dev-python/zeroconf/Manifest3
-rw-r--r--dev-python/zeroconf/zeroconf-0.127.0.ebuild56
-rw-r--r--dev-python/zeroconf/zeroconf-0.128.0.ebuild56
-rw-r--r--dev-python/zeroconf/zeroconf-0.132.2.ebuild56
-rw-r--r--dev-python/zipp/Manifest2
-rw-r--r--dev-python/zipp/zipp-3.17.0.ebuild52
-rw-r--r--dev-python/zipp/zipp-3.19.2.ebuild53
-rw-r--r--dev-python/zope-component/zope-component-6.0.ebuild4
-rw-r--r--dev-python/zope-configuration/Manifest2
-rw-r--r--dev-python/zope-configuration/zope-configuration-5.0.1.ebuild54
-rw-r--r--dev-python/zope-configuration/zope-configuration-5.0.ebuild54
-rw-r--r--dev-python/zope-deprecation/zope-deprecation-5.0.ebuild4
-rw-r--r--dev-python/zope-event/zope-event-5.0.ebuild4
-rw-r--r--dev-python/zope-exceptions/Manifest2
-rw-r--r--dev-python/zope-exceptions/files/zope-exceptions-5.1-py313.patch24
-rw-r--r--dev-python/zope-exceptions/zope-exceptions-5.0.1.ebuild45
-rw-r--r--dev-python/zope-exceptions/zope-exceptions-5.1.ebuild50
-rw-r--r--dev-python/zope-hookable/zope-hookable-6.0.ebuild4
-rw-r--r--dev-python/zope-i18nmessageid/zope-i18nmessageid-6.1.0.ebuild4
-rw-r--r--dev-python/zope-interface/Manifest2
-rw-r--r--dev-python/zope-interface/zope-interface-6.1.ebuild51
-rw-r--r--dev-python/zope-interface/zope-interface-6.4_p2.ebuild51
-rw-r--r--dev-python/zope-schema/zope-schema-7.0.1.ebuild4
-rw-r--r--dev-python/zope-testing/zope-testing-5.0.1.ebuild4
-rw-r--r--dev-python/zstandard/Manifest1
-rw-r--r--dev-python/zstandard/zstandard-0.22.0-r1.ebuild80
-rw-r--r--dev-python/zstandard/zstandard-0.22.0.ebuild8
-rw-r--r--dev-python/zstandard/zstandard-0.23.0.ebuild76
-rw-r--r--dev-python/zstd/zstd-1.5.5.1.ebuild4
5119 files changed, 92995 insertions, 90565 deletions
diff --git a/dev-python/Arpeggio/Arpeggio-2.0.2.ebuild b/dev-python/Arpeggio/Arpeggio-2.0.2.ebuild
index 3c010430db1b..105fc6588e1f 100644
--- a/dev-python/Arpeggio/Arpeggio-2.0.2.ebuild
+++ b/dev-python/Arpeggio/Arpeggio-2.0.2.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/Babel/Babel-2.13.1.ebuild b/dev-python/Babel/Babel-2.13.1.ebuild
deleted file mode 100644
index 7c3b6a84f66d..000000000000
--- a/dev-python/Babel/Babel-2.13.1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi
-
-# see scripts/download_import_cldr.py
-CLDR_PV=42.0
-DESCRIPTION="Collection of tools for internationalizing Python applications"
-HOMEPAGE="
- https://babel.pocoo.org/
- https://pypi.org/project/Babel/
- https://github.com/python-babel/babel/
-"
-SRC_URI+="
- https://unicode.org/Public/cldr/${CLDR_PV%.*}/cldr-common-${CLDR_PV}.zip
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-# RDEPEND in BDEPEND for import_cldr.py usage, bug #852158
-BDEPEND="
- app-arch/unzip
- ${RDEPEND}
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-src_prepare() {
- rm babel/locale-data/*.dat || die
- rm babel/global.dat || die
- distutils-r1_src_prepare
-}
-
-python_configure() {
- if [[ ! -f babel/global.dat ]]; then
- "${EPYTHON}" scripts/import_cldr.py "${WORKDIR}"/common || die
- fi
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- if [[ ${EPYTHON} == python3.12 ]]; then
- EPYTEST_DESELECT+=(
- # seems to be a corner case, might be a regression in cpython
- # https://github.com/python-babel/babel/issues/1005
- tests/messages/test_extract.py::ExtractPythonTestCase::test_utf8_message_with_utf8_bom
- tests/messages/test_extract.py::ExtractPythonTestCase::test_utf8_message_with_utf8_bom_and_magic_comment
- tests/messages/test_extract.py::ExtractPythonTestCase::test_utf8_raw_strings_match_unicode_strings
- tests/messages/test_extract.py::ExtractTestCase::test_f_strings
- tests/messages/test_extract.py::ExtractTestCase::test_f_strings_non_utf8
- )
- fi
-
- local -x TZ=UTC
- epytest
-}
diff --git a/dev-python/Babel/Babel-2.15.0.ebuild b/dev-python/Babel/Babel-2.15.0.ebuild
new file mode 100644
index 000000000000..bc931d617229
--- /dev/null
+++ b/dev-python/Babel/Babel-2.15.0.ebuild
@@ -0,0 +1,55 @@
+# 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..13} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+# see scripts/download_import_cldr.py
+CLDR_PV=44.0
+DESCRIPTION="Collection of tools for internationalizing Python applications"
+HOMEPAGE="
+ https://babel.pocoo.org/
+ https://pypi.org/project/Babel/
+ https://github.com/python-babel/babel/
+"
+SRC_URI+="
+ https://unicode.org/Public/cldr/${CLDR_PV%.*}/cldr-common-${CLDR_PV}.zip
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+# RDEPEND in BDEPEND for import_cldr.py usage, bug #852158
+BDEPEND="
+ app-arch/unzip
+ ${RDEPEND}
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
+
+src_prepare() {
+ rm babel/locale-data/*.dat || die
+ rm babel/global.dat || die
+ distutils-r1_src_prepare
+}
+
+python_configure() {
+ if [[ ! -f babel/global.dat ]]; then
+ "${EPYTHON}" scripts/import_cldr.py "${WORKDIR}"/common || die
+ fi
+}
+
+python_test() {
+ local -x TZ=UTC
+ epytest
+}
diff --git a/dev-python/Babel/Manifest b/dev-python/Babel/Manifest
index 60d8dc53c94a..2116b05e9557 100644
--- a/dev-python/Babel/Manifest
+++ b/dev-python/Babel/Manifest
@@ -1,2 +1,2 @@
-DIST Babel-2.13.1.tar.gz 9909844 BLAKE2B f4e0cb6d19c2ecd24a8e67e7d77531248cb5a8d100a5da2a9fe147aef3c15339728c82d4fe9095563c0a0b83dede7c5e27f29281bc3bf0cac5deff7cce409335 SHA512 c27c76456094927bd43ae46cd3e08fcc729dd810a6092da6c86e863523c10746bb3759e7fc9f5396504ab914743ef013904b63b3aa63338602f23aaf83d42cba
-DIST cldr-common-42.0.zip 30178050 BLAKE2B 076e3eca12534feff8e0e54bdc1fa38fc0db0f78cac8b4e35b343763a8ac6787745aa36be165684f4d6dda423409c4431a8e4941c53ae7d340ead0b35edbca30 SHA512 315448fe6a9ac2d5a6a7fd1a27b38c5db30fed053654a803d50e3a8d06aa08ad153e8e57089fa094c561f41a54f37eecda0701b47a1813879902be71945aa38a
+DIST babel-2.15.0.tar.gz 9390000 BLAKE2B 9cd99524dbb191b5b8835452118b57b23abc89123e358a29de2375263a0264a1ea4c71324632eff8711cab7dbb40a20e97acd8e0faa448872353852b064ca524 SHA512 8cff4dbbe84047f7e8b625772036d2a23b6f7dfc36aa15332e581d4331fdac1d0308341294741afc43f3180368a7cc7675f68f28bbf94a621c693a822d4a2028
+DIST cldr-common-44.0.zip 31750682 BLAKE2B a6f708d6c5bd02efc1e0672250b181542fb0f91d48bbaabddfc3b6b9e21201e3c9e6d09222cbc929b4ae654d2a0804a90f77f384df93577af188a907ce20bd61 SHA512 f2cd8733948caf308d6e39eae21724da7f29f528f8969d456514e1e84ecd5f1e6936d0460414a968888bb1b597bc1ee723950ea47df5cba21a02bb14f96d18b6
diff --git a/dev-python/ConfigArgParse/ConfigArgParse-1.7.ebuild b/dev-python/ConfigArgParse/ConfigArgParse-1.7.ebuild
index fbb3e1fb90be..a7a4fe4258d7 100644
--- a/dev-python/ConfigArgParse/ConfigArgParse-1.7.ebuild
+++ b/dev-python/ConfigArgParse/ConfigArgParse-1.7.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -29,6 +29,11 @@ BDEPEND="
distutils_enable_tests unittest
+PATCHES=(
+ # https://github.com/bw2/ConfigArgParse/pull/295
+ "${FILESDIR}/${P}-py313.patch"
+)
+
src_test() {
local -x COLUMNS=80
distutils-r1_src_test
diff --git a/dev-python/ConfigArgParse/files/ConfigArgParse-1.7-py313.patch b/dev-python/ConfigArgParse/files/ConfigArgParse-1.7-py313.patch
new file mode 100644
index 000000000000..a079f37a18e6
--- /dev/null
+++ b/dev-python/ConfigArgParse/files/ConfigArgParse-1.7-py313.patch
@@ -0,0 +1,112 @@
+From c6a974211f1a13d492bb807ff6d07cefcc948a87 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Fri, 12 Jul 2024 08:15:40 +0200
+Subject: [PATCH 1/2] update test expectations for Python 3.13
+
+Python 3.13 no longer repeats the placeholder for options with multiple
+aliases in the help message. For example, rather than:
+
+ -c CONFIG_FILE, --config CONFIG_FILE
+
+it now outputs:
+
+ -c, --config CONFIG_FILE
+
+Update the regular expressions to account for both possibilities.
+
+Fixes #294
+---
+ tests/test_configargparse.py | 24 ++++++++++++------------
+ 1 file changed, 12 insertions(+), 12 deletions(-)
+
+diff --git a/tests/test_configargparse.py b/tests/test_configargparse.py
+index 288e082..e325afd 100644
+--- a/tests/test_configargparse.py
++++ b/tests/test_configargparse.py
+@@ -271,9 +271,9 @@ def testBasicCase2(self, use_groups=False):
+ ' -h, --help \\s+ show this help message and exit\n'
+ ' --genome GENOME \\s+ Path to genome file\n'
+ ' -v\n'
+- ' -g MY_CFG_FILE, --my-cfg-file MY_CFG_FILE\n'
+- ' -d DBSNP, --dbsnp DBSNP\\s+\\[env var: DBSNP_PATH\\]\n'
+- ' -f FRMT, --format FRMT\\s+\\[env var: OUTPUT_FORMAT\\]\n\n'%OPTIONAL_ARGS_STRING +
++ ' -g( MY_CFG_FILE)?, --my-cfg-file MY_CFG_FILE\n'
++ ' -d( DBSNP)?, --dbsnp DBSNP\\s+\\[env var: DBSNP_PATH\\]\n'
++ ' -f( FRMT)?, --format FRMT\\s+\\[env var: OUTPUT_FORMAT\\]\n\n'%OPTIONAL_ARGS_STRING +
+ 7*r'(.+\s*)')
+ else:
+ self.assertRegex(self.format_help(),
+@@ -286,10 +286,10 @@ def testBasicCase2(self, use_groups=False):
+ 'g1:\n'
+ ' --genome GENOME \\s+ Path to genome file\n'
+ ' -v\n'
+- ' -g MY_CFG_FILE, --my-cfg-file MY_CFG_FILE\n\n'
++ ' -g( MY_CFG_FILE)?, --my-cfg-file MY_CFG_FILE\n\n'
+ 'g2:\n'
+- ' -d DBSNP, --dbsnp DBSNP\\s+\\[env var: DBSNP_PATH\\]\n'
+- ' -f FRMT, --format FRMT\\s+\\[env var: OUTPUT_FORMAT\\]\n\n'%OPTIONAL_ARGS_STRING +
++ ' -d( DBSNP)?, --dbsnp DBSNP\\s+\\[env var: DBSNP_PATH\\]\n'
++ ' -f( FRMT)?, --format FRMT\\s+\\[env var: OUTPUT_FORMAT\\]\n\n'%OPTIONAL_ARGS_STRING +
+ 7*r'(.+\s*)')
+
+ self.assertParseArgsRaises("invalid choice: 'ZZZ'",
+@@ -387,9 +387,9 @@ def testMutuallyExclusiveArgs(self):
+ ' \\s*-f2 TYPE2_CFG_FILE\\)\\s+\\(-f FRMT \\| -b\\)\n\n'
+ '%s:\n'
+ ' -h, --help show this help message and exit\n'
+- ' -f1 TYPE1_CFG_FILE, --type1-cfg-file TYPE1_CFG_FILE\n'
+- ' -f2 TYPE2_CFG_FILE, --type2-cfg-file TYPE2_CFG_FILE\n'
+- ' -f FRMT, --format FRMT\\s+\\[env var: OUTPUT_FORMAT\\]\n'
++ ' -f1( TYPE1_CFG_FILE)?, --type1-cfg-file TYPE1_CFG_FILE\n'
++ ' -f2( TYPE2_CFG_FILE)?, --type2-cfg-file TYPE2_CFG_FILE\n'
++ ' -f( FRMT)?, --format FRMT\\s+\\[env var: OUTPUT_FORMAT\\]\n'
+ ' -b, --bam\\s+\\[env var: BAM_FORMAT\\]\n\n'
+ 'group1:\n'
+ ' --genome GENOME Path to genome file\n'
+@@ -875,7 +875,7 @@ def testConstructor_ConfigFileArgs(self):
+ 'usage: .* \\[-h\\] -c CONFIG_FILE --genome GENOME\n\n'
+ '%s:\n'
+ ' -h, --help\\s+ show this help message and exit\n'
+- ' -c CONFIG_FILE, --config CONFIG_FILE\\s+ my config file\n'
++ ' -c( CONFIG_FILE)?, --config CONFIG_FILE\\s+ my config file\n'
+ ' --genome GENOME\\s+ Path to genome file\n\n'%OPTIONAL_ARGS_STRING +
+ 5*r'(.+\s*)')
+
+@@ -935,8 +935,8 @@ def test_FormatHelp(self):
+ r'\[-w CONFIG_OUTPUT_PATH\]\s* --arg1\s+ARG1\s*\[--flag\]\s*'
+ '%s:\\s*'
+ '-h, --help \\s* show this help message and exit '
+- r'-c CONFIG_FILE, --config CONFIG_FILE\s+my config file '
+- r'-w CONFIG_OUTPUT_PATH, --write-config CONFIG_OUTPUT_PATH takes '
++ r'-c( CONFIG_FILE)?, --config CONFIG_FILE\s+my config file '
++ r'-w( CONFIG_OUTPUT_PATH)?, --write-config CONFIG_OUTPUT_PATH takes '
+ r'the current command line args and writes them '
+ r'out to a config file at the given path, then exits '
+ r'--arg1 ARG1 Arg1 help text '
+
+From 5e9f442374bc6d9707a43df13aaff684dff6b535 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Fri, 12 Jul 2024 08:25:30 +0200
+Subject: [PATCH 2/2] skip exit_on_error* tests to fix 3.13 test failures
+
+Skip `exit_on_error*` tests from `test.test_argparse` to avoid test
+failures on Python 3.13. The `exit_on_error=False` semantics
+is not supported by ConfigArgParse at the moment.
+---
+ tests/test_configargparse.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tests/test_configargparse.py b/tests/test_configargparse.py
+index e325afd..9718d86 100644
+--- a/tests/test_configargparse.py
++++ b/tests/test_configargparse.py
+@@ -1533,7 +1533,8 @@ def testYAMLConfigFileParser_w_ArgumentParser_parsed_values(self):
+ test_argparse_source_code = test_argparse_source_code.replace(
+ 'argparse.ArgumentParser', 'configargparse.ArgumentParser').replace(
+ 'TestHelpFormattingMetaclass', '_TestHelpFormattingMetaclass').replace(
+- 'test_main', '_test_main')
++ 'test_main', '_test_main').replace(
++ 'test_exit_on_error', '_test_exit_on_error')
+
+ # pytest tries to collect tests from TestHelpFormattingMetaclass, and
+ # test_main, and raises a warning when it finds it's not a test class
diff --git a/dev-python/CppHeaderParser/CppHeaderParser-2.7.4-r1.ebuild b/dev-python/CppHeaderParser/CppHeaderParser-2.7.4-r1.ebuild
index 1b313949b2d3..9e51bb83942b 100644
--- a/dev-python/CppHeaderParser/CppHeaderParser-2.7.4-r1.ebuild
+++ b/dev-python/CppHeaderParser/CppHeaderParser-2.7.4-r1.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/DBUtils/DBUtils-3.0.3.ebuild b/dev-python/DBUtils/DBUtils-3.0.3.ebuild
deleted file mode 100644
index de22d20e4317..000000000000
--- a/dev-python/DBUtils/DBUtils-3.0.3.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Database connections for multi-threaded environments"
-HOMEPAGE="
- https://webwareforpython.github.io/DBUtils/
- https://github.com/WebwareForPython/DBUtils/
- https://pypi.org/project/DBUtils/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-distutils_enable_tests unittest
-
-python_install_all() {
- dodoc docs/*.rst
- rm docs/*.rst || die
- local HTML_DOCS=( docs/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/DBUtils/Manifest b/dev-python/DBUtils/Manifest
deleted file mode 100644
index 85555a8b3fd1..000000000000
--- a/dev-python/DBUtils/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST DBUtils-3.0.3.tar.gz 94039 BLAKE2B 3b936f42945deb69bd96bd088529f4839452afcd3a9cae66c4d8ff6a16fc3dd2a17e905debdbea3f0122199d8a6e0c664b222a5fa3b358a9fd54b2f8b5bba6ff SHA512 bca7939e2f9f736861b76f60356ea877f346129f66263363fe5dc0201412258653fb45af2a5caad0f0f0b9ebd19f5415113a75168cc28a664418af5475eb0096
diff --git a/dev-python/DBUtils/metadata.xml b/dev-python/DBUtils/metadata.xml
deleted file mode 100644
index 5890a14a76bf..000000000000
--- a/dev-python/DBUtils/metadata.xml
+++ /dev/null
@@ -1,26 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>lssndrbarbieri@gmail.com</email>
- <name>Alessandro Barbieri</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <longdescription lang="en">
- DBUtils is a suite of tools providing solid, persistent and pooled connections
- to a database that can be used in all kinds of multi-threaded environments
- like Webware for Python or other web application servers. The suite supports
- DB-API 2 compliant database interfaces and the classic PyGreSQL interface.
- </longdescription>
- <upstream>
- <remote-id type="github">WebwareForPython/DBUtils</remote-id>
- <remote-id type="pypi">DBUtils</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/Faker/Faker-20.1.0.ebuild b/dev-python/Faker/Faker-20.1.0.ebuild
deleted file mode 100644
index daffba46231c..000000000000
--- a/dev-python/Faker/Faker-20.1.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022-2023 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=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A Python package that generates fake data for you"
-HOMEPAGE="
- https://github.com/joke2k/faker/
- https://pypi.org/project/Faker/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/python-dateutil-2.4.2[${PYTHON_USEDEP}]
- !dev-ruby/faker
-"
-BDEPEND="
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP},tiff]
- dev-python/validators[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=faker.contrib.pytest.plugin
- epytest
-}
diff --git a/dev-python/Faker/Faker-26.0.0.ebuild b/dev-python/Faker/Faker-26.0.0.ebuild
new file mode 100644
index 000000000000..630ce3773f17
--- /dev/null
+++ b/dev-python/Faker/Faker-26.0.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022-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=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python package that generates fake data for you"
+HOMEPAGE="
+ https://github.com/joke2k/faker/
+ https://pypi.org/project/Faker/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.4.2[${PYTHON_USEDEP}]
+ !dev-ruby/faker
+"
+BDEPEND="
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP},tiff]
+ dev-python/validators[${PYTHON_USEDEP}]
+ )
+"
+
+# note: tests are flaky with xdist
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=faker.contrib.pytest.plugin
+ epytest
+ epytest --exclusive-faker-session tests/pytest/session_overrides
+}
diff --git a/dev-python/Faker/Manifest b/dev-python/Faker/Manifest
index de7ad9b46246..ce3255bf6b90 100644
--- a/dev-python/Faker/Manifest
+++ b/dev-python/Faker/Manifest
@@ -1 +1 @@
-DIST Faker-20.1.0.tar.gz 1701717 BLAKE2B c213aa69326c80adf2b68b093fb7aa9e9d7aaee06f235d9d8dc3d3b24d9e7b4ad15c7412a9c3539749c58ad47bb63d5f4a0c94dd6318a8539a225450b65ab6b3 SHA512 6241c90d6233e58e763d5de3d6550b9fd9bb33af0f736209edcd60b8d6e0e57eebe3e86fd86c141816ad1817cea949b2a6d16f212413d8748b82370c2bae57b0
+DIST Faker-26.0.0.tar.gz 1763318 BLAKE2B 63cf76993c3e4fc229d5d80f3cd03d964f5f7f6fc7f9cb1aa272c075360ebec57289139d09d11d181436b30cdb5abc7fe7d7e5cc11d63e12b0e8746605f85d6a SHA512 ea09d4222b258f52e9d9b2c315ee46f42beb624c038f63d4a82baadafbf4a9cc382b92076bb7c421026c1761cadb246364bfc71a05177458a8e23d2eca2fd6e6
diff --git a/dev-python/Frozen-Flask/Frozen-Flask-0.18-r1.ebuild b/dev-python/Frozen-Flask/Frozen-Flask-0.18-r1.ebuild
deleted file mode 100644
index c8efbcc5e629..000000000000
--- a/dev-python/Frozen-Flask/Frozen-Flask-0.18-r1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Freezes a Flask application into a set of static files"
-HOMEPAGE="
- https://github.com/Frozen-Flask/Frozen-Flask/
- https://pypi.org/project/Frozen-Flask/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- dev-python/flask[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs \
- dev-python/flask-sphinx-themes
-distutils_enable_tests unittest
diff --git a/dev-python/Frozen-Flask/Frozen-Flask-1.0.1.ebuild b/dev-python/Frozen-Flask/Frozen-Flask-1.0.1.ebuild
deleted file mode 100644
index fc4433b3c074..000000000000
--- a/dev-python/Frozen-Flask/Frozen-Flask-1.0.1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Freezes a Flask application into a set of static files"
-HOMEPAGE="
- https://github.com/Frozen-Flask/Frozen-Flask/
- https://pypi.org/project/Frozen-Flask/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/flask-2.0.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs \
- dev-python/flask-sphinx-themes
-distutils_enable_tests pytest
diff --git a/dev-python/Frozen-Flask/Frozen-Flask-1.0.2.ebuild b/dev-python/Frozen-Flask/Frozen-Flask-1.0.2.ebuild
new file mode 100644
index 000000000000..509a09f20738
--- /dev/null
+++ b/dev-python/Frozen-Flask/Frozen-Flask-1.0.2.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Freezes a Flask application into a set of static files"
+HOMEPAGE="
+ https://github.com/Frozen-Flask/Frozen-Flask/
+ https://pypi.org/project/Frozen-Flask/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ >=dev-python/flask-2.0.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/pallets-sphinx-themes
+distutils_enable_tests pytest
diff --git a/dev-python/Frozen-Flask/Manifest b/dev-python/Frozen-Flask/Manifest
index 0986a0ffc549..1519248b5066 100644
--- a/dev-python/Frozen-Flask/Manifest
+++ b/dev-python/Frozen-Flask/Manifest
@@ -1,2 +1 @@
-DIST Frozen-Flask-0.18.tar.gz 179245 BLAKE2B a82695892aef9b6b4e3aeb91f12f78d7d661f2f2b0efc57c11f64524ed467b85d8d9e0e7b147cb78c3d0a641dfef0f683e0f77cfda560aada79e1b435424c0ce SHA512 6c2e4d900547cc5c0de4af23b96c5b9e1925101fb40f710bedc67ac52c303282aa223f6972f5b9cc813878bb15eb90cb0a007619dd5a9db2dec762f04dcc7ba0
-DIST frozen_flask-1.0.1.tar.gz 101449 BLAKE2B 5127e7d6485b5a23025dd31ccad6346c77bcbdb0c537806f014bf9b499c0aaf13e56a406594d86f457b290fad25e938beb4db473ba7c8f1afefd6d2471a8b03c SHA512 b4e1cfebbb374fa8e863436e0ed637e1a57432fb2a2e719536161fea359320384b51238dae1cf3fca0e10d41c9bc7cd84fba4c6978de45c5cfcdba1a494aaea2
+DIST frozen_flask-1.0.2.tar.gz 101832 BLAKE2B e07bc483ed9a927fff526b3b3009ef9c42b2a21bca33207c0cfad3b252c80eaf3d874e2a5ee888342136d3294767ce296b2a61d1e093d020cdb4a92e996c4772 SHA512 f708346bcbfefaab234f095212aea4df6b942ffd3226ed3419299b11f7757eccc6c4235426d488cfa693b8b927a23705788bc2aa44a798d289cc116360f14337
diff --git a/dev-python/GitPython/GitPython-3.1.40.ebuild b/dev-python/GitPython/GitPython-3.1.40.ebuild
deleted file mode 100644
index 65c7929430b6..000000000000
--- a/dev-python/GitPython/GitPython-3.1.40.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi
-
-TEST_P=GitPython-${PV}
-GITDB_P=gitdb-4.0.10_p1
-SMMAP_P=smmap-5.0.0_p1
-
-DESCRIPTION="Library used to interact with Git repositories"
-HOMEPAGE="
- https://github.com/gitpython-developers/GitPython/
- https://pypi.org/project/GitPython/
-"
-SRC_URI+="
- test? (
- https://dev.gentoo.org/~mgorny/dist/${TEST_P}.gitbundle
- https://dev.gentoo.org/~mgorny/dist/${GITDB_P}.gitbundle
- https://dev.gentoo.org/~mgorny/dist/${SMMAP_P}.gitbundle
- )
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-vcs/git
- >=dev-python/gitdb-4.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/ddt-1.1.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- git config --global user.email "travis@ci.com" || die
- git config --global user.name "Travis Runner" || die
-
- git clone "${DISTDIR}/${TEST_P}.gitbundle" "${T}"/test || die
- git clone "${DISTDIR}/${GITDB_P}.gitbundle" \
- "${T}"/test/git/ext/gitdb || die
- git clone "${DISTDIR}/${SMMAP_P}.gitbundle" \
- "${T}"/test/git/ext/gitdb/gitdb/ext/smmap || die
-
- cd "${T}"/test || die
- git rev-parse HEAD > .git/refs/remotes/origin/master || die
- TRAVIS=1 ./init-tests-after-clone.sh || die
- cat test/fixtures/.gitconfig >> ~/.gitconfig || die
-
- distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # performance tests are unreliable by design
- test/performance
- # unimportant and problematic
- test/test_installation.py
- # Internet
- test/test_quick_doc.py::QuickDoc::test_cloned_repo_object
- # TODO
- test/test_submodule.py::TestSubmodule::test_base_rw
- test/test_submodule.py::TestSubmodule::test_root_module
- )
-
- epytest -o addopts= test
-}
diff --git a/dev-python/GitPython/GitPython-3.1.43.ebuild b/dev-python/GitPython/GitPython-3.1.43.ebuild
new file mode 100644
index 000000000000..ab17a602e224
--- /dev/null
+++ b/dev-python/GitPython/GitPython-3.1.43.ebuild
@@ -0,0 +1,82 @@
+# 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..13} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+TEST_P=GitPython-${PV}
+GITDB_P=gitdb-4.0.11
+SMMAP_P=smmap-5.0.1
+
+DESCRIPTION="Library used to interact with Git repositories"
+HOMEPAGE="
+ https://github.com/gitpython-developers/GitPython/
+ https://pypi.org/project/GitPython/
+"
+SRC_URI+="
+ test? (
+ https://dev.gentoo.org/~mgorny/dist/${TEST_P}.gitbundle
+ https://dev.gentoo.org/~mgorny/dist/${GITDB_P}.gitbundle
+ https://dev.gentoo.org/~mgorny/dist/${SMMAP_P}.gitbundle
+ )
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-vcs/git
+ >=dev-python/gitdb-4.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/ddt-1.1.1[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10)
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ git config --global user.email "travis@ci.com" || die
+ git config --global user.name "Travis Runner" || die
+
+ git clone "${DISTDIR}/${TEST_P}.gitbundle" "${T}"/test || die
+ git clone "${DISTDIR}/${GITDB_P}.gitbundle" \
+ "${T}"/test/git/ext/gitdb || die
+ git clone "${DISTDIR}/${SMMAP_P}.gitbundle" \
+ "${T}"/test/git/ext/gitdb/gitdb/ext/smmap || die
+
+ cd "${T}"/test || die
+ git rev-parse HEAD > .git/refs/remotes/origin/master || die
+ TRAVIS=1 ./init-tests-after-clone.sh || die
+ cat test/fixtures/.gitconfig >> ~/.gitconfig || die
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # performance tests are unreliable by design
+ test/performance
+ # unimportant and problematic
+ test/test_installation.py
+ # Internet
+ test/test_quick_doc.py::QuickDoc::test_cloned_repo_object
+ # TODO
+ test/test_submodule.py::TestSubmodule::test_base_rw
+ test/test_submodule.py::TestSubmodule::test_root_module
+ )
+
+ epytest -o addopts= test
+}
diff --git a/dev-python/GitPython/Manifest b/dev-python/GitPython/Manifest
index ed2a7ebff3e9..7e514497ee52 100644
--- a/dev-python/GitPython/Manifest
+++ b/dev-python/GitPython/Manifest
@@ -1,4 +1,4 @@
-DIST GitPython-3.1.40.gitbundle 9832215 BLAKE2B 2aa1dac889267bd0b81f9451bc347b842cc5ad542a490fcc6f951cc1ee40f807c7cb5a178772c8abf43893fd9815aa570d2e53a561a0c8bf431dc5fa6429cdfd SHA512 25ca1f1b620e72a1c58a7b609dc6e761afdb1502d35ad26411fde47d5d2099b6bf6160ce85288bf280e28b3c8f30471c9f791cfb66878bc1ef7d46f58f880e81
-DIST GitPython-3.1.40.tar.gz 200655 BLAKE2B c95cd864bfc664eb704ac3702f5a6c78fc0f2288af945001622cb78c2e855fdf3af068736c569392a29b201dc3952d0574c7f7c39c0531269b6efb55f5506344 SHA512 e8ade266002aa6fcd4b12e3828e7ec45b4dd894c897f31946dc29461b7e81b380ea832a9ea270533e7491e006c92948c62bbc21ab960467cf6287d0bac5228cf
-DIST gitdb-4.0.10_p1.gitbundle 1612782 BLAKE2B 9a424df0afd174da722c4721a5a52db83dccc5a2d69dd186622e5e21c48a6fdb6f20d84ad959f2070d8ff4cfa1e9be8f99b97e2a6ce5aab1696737858429e018 SHA512 b52a978ffbda8fb048fa0920cc2cc597b077b468dd77ce1a8e784ca7c724760eee75b168ac98f1051b03d364ba88812e8cacd5a7f6fa658cf312e626d0b2ad0a
-DIST smmap-5.0.0_p1.gitbundle 324544 BLAKE2B 69098c7644abaec7f32226cad7ff3008e49d94c9f7349d0b815223249c20bfd2b51a50474e51864821f30c98f5982e5c35ce9217145a1e5d11326492c41faecc SHA512 4f36ca2c94ddfeb949c880fb52c3b1905d144dd59b95f2f05c93ed7b694dcb128218a2800ca23b721fbeff9a1920e8c3326675098e2ef0361ff6e90c8c2850ba
+DIST GitPython-3.1.43.gitbundle 10674326 BLAKE2B c430e6fec138077502dce16a1a100459c30134af7865a2e228646791465a7176ee3ef4db5cc83081f56b5e9877aeb4ba7e54b0526d6c2f594520335db4b48e9e SHA512 8c4b2fdf2e382393420bee1cb19929171d72e72669ac3ef96ff112119d803775aae92a14908b9bd51873f102ab85dfadd940b0789da6179b0f99354ae4b6d469
+DIST GitPython-3.1.43.tar.gz 214149 BLAKE2B bc95520b839a43b88571678d7dadd3998a613a4e4f5b0e59f8740add7794767db2820e2d68a98940976ed27fa57b6e487895b1f3d2894b55f1d7f4e06757a461 SHA512 c193418bbb6ebb4f202c4f6aa95b731acf319d6560db176aa7126cf848a1f11eea9f432c4ff6812e8ddb5f8386b1fa5e10335fbf170f3ec3ac5fd2dcde783415
+DIST gitdb-4.0.11.gitbundle 1620355 BLAKE2B 8095193318d4262b8ebb04f35a0500eda8757057ed472dbaaece53e6afa6227e2b2c02a2be5daa5e4c0cc43dcbb5046555407d3d7c8dbed0bc5c415515032b8d SHA512 17e404b335a3c081f4058aeba5c57e5697a580f8ad7a280fde868968cf48f5a0852bfa45019eab730279582c0c536f8204e973d93af09da05908477329d73360
+DIST smmap-5.0.1.gitbundle 362567 BLAKE2B 72c8b48ad3250a33b94218c145c02033dee84c1da5f1eea57983a58699262d51844be675330d95c7d64924b6aeaacd4b0a57e9a5acad3be184aaad62102202e7 SHA512 9ca8386bfec25d1562cdf1c2ee85f7edb15fd3f44ecd1abbef738979f12b82f0b0f39a06589203a39f89518d981d7129e35f64f2d855cd162cd964bdd87c8d18
diff --git a/dev-python/IPy/IPy-1.01-r1.ebuild b/dev-python/IPy/IPy-1.01-r1.ebuild
index f03cdaf62f4a..c2987fa5b72a 100644
--- a/dev-python/IPy/IPy-1.01-r1.ebuild
+++ b/dev-python/IPy/IPy-1.01-r1.ebuild
@@ -1,11 +1,12 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 pypi
diff --git a/dev-python/Levenshtein/Levenshtein-0.23.0.ebuild b/dev-python/Levenshtein/Levenshtein-0.23.0.ebuild
deleted file mode 100644
index 1083c9daa5e3..000000000000
--- a/dev-python/Levenshtein/Levenshtein-0.23.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-# custom wrapper over setuptools
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Functions for fast computation of Levenshtein distance, and edit operations"
-HOMEPAGE="
- https://pypi.org/project/Levenshtein/
- https://github.com/maxbachmann/Levenshtein/
-"
-SRC_URI="
- https://github.com/maxbachmann/Levenshtein/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-DEPEND="
- >=dev-cpp/rapidfuzz-cpp-2.0.0
-"
-RDEPEND="
- <dev-python/rapidfuzz-4.0.0[${PYTHON_USEDEP}]
- >=dev-python/rapidfuzz-3.1.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/cython-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/scikit-build-0.13.0[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # sterilize build flags
- sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/Levenshtein/Levenshtein-0.25.1.ebuild b/dev-python/Levenshtein/Levenshtein-0.25.1.ebuild
new file mode 100644
index 000000000000..6f1fe5d748d2
--- /dev/null
+++ b/dev-python/Levenshtein/Levenshtein-0.25.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+# custom wrapper over setuptools
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Functions for fast computation of Levenshtein distance, and edit operations"
+HOMEPAGE="
+ https://pypi.org/project/Levenshtein/
+ https://github.com/rapidfuzz/Levenshtein/
+"
+SRC_URI="
+ https://github.com/rapidfuzz/Levenshtein/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
+
+DEPEND="
+ <dev-cpp/rapidfuzz-cpp-4
+ >=dev-cpp/rapidfuzz-cpp-3.0.0
+"
+RDEPEND="
+ <dev-python/rapidfuzz-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/rapidfuzz-3.8.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/cython-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/scikit-build-0.13.0[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # sterilize build flags
+ sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/Levenshtein/Manifest b/dev-python/Levenshtein/Manifest
index f888dfc497ac..b44f1f581efe 100644
--- a/dev-python/Levenshtein/Manifest
+++ b/dev-python/Levenshtein/Manifest
@@ -1 +1 @@
-DIST Levenshtein-0.23.0.gh.tar.gz 36891 BLAKE2B 847772ee88a76881c0974a1a9c1ef252320308f17b30b227f8251b0a8b8454c2289e02a24b2a9cb225d34183c5b6e4dbf574b22a5d37a1b453596ff0cb6e0aa0 SHA512 137116f337f576534bf2c12dc49d35f81a3b267eb613e5e6cca6cb80e5701dd0adbfd97c1cec4ea8f1bb4dee2bc67deeb19553474348ea78af4e05b79ce01fdf
+DIST Levenshtein-0.25.1.gh.tar.gz 39060 BLAKE2B 9d058d910be7c6c3e668cca631a7da5bed678e219c96e4255dbf69c46cb3c55002928fcd90f39916b6c1a57845e9cf1a2327701ae21c662b81f909b9ea1f4bff SHA512 936dab36b15df6f2ee5425efb1fdb1490fb8f618ba453f464a6dd615bcc427e55ceee7474f06b34392871d9f38470b853602a11d8f9776eee66ec34156511ca4
diff --git a/dev-python/Levenshtein/metadata.xml b/dev-python/Levenshtein/metadata.xml
index 43ccee7cbff2..f189f8aba322 100644
--- a/dev-python/Levenshtein/metadata.xml
+++ b/dev-python/Levenshtein/metadata.xml
@@ -7,6 +7,6 @@
</maintainer>
<upstream>
<remote-id type="pypi">Levenshtein</remote-id>
- <remote-id type="github">maxbachmann/Levenshtein</remote-id>
+ <remote-id type="github">rapidfuzz/Levenshtein</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/MechanicalSoup/MechanicalSoup-1.3.0.ebuild b/dev-python/MechanicalSoup/MechanicalSoup-1.3.0.ebuild
index a17bf69731c3..3c7f1d3ca288 100644
--- a/dev-python/MechanicalSoup/MechanicalSoup-1.3.0.ebuild
+++ b/dev-python/MechanicalSoup/MechanicalSoup-1.3.0.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/Nuitka/Manifest b/dev-python/Nuitka/Manifest
index e8ae8bf19976..2fdd15af7305 100644
--- a/dev-python/Nuitka/Manifest
+++ b/dev-python/Nuitka/Manifest
@@ -1,3 +1,3 @@
-DIST Nuitka-1.9.1.tar.gz 3909492 BLAKE2B 87d658083ce21d720126c61a8f8ec0df7608d365737475b194c739314d1bab4bcdb647646c1bc64a0371e0fd69c22dab512814d968db3bf02c13741ff34b4f15 SHA512 17a44fa076d4812f56f3fe4aa6b6e4ef38dea328fbc1f6d0c8aa31748b303b8cf057891d4749a43064a12d2c836e03f4ad58830ee56c713cffbae6c8bec50d92
-DIST Nuitka-1.9.2.tar.gz 3910444 BLAKE2B a16577c9cb17e1cd99f00dd1974d8154ea2a299c82d3eca06dc60bd526d0ec2d4c0d70d8655d9cfe8178c8fa074bb2a90c3bc28b8869f329e1f0ae04fa63cf4c SHA512 abf4f772512af84d937e2618e3419a53b3ab445505a6aa156810606a23c3dc0252cf9938730987fbc8ed9ccd63afc87d243c909953593ead53d60a0a8a3cd7f8
-DIST Nuitka-1.9.3.tar.gz 3911401 BLAKE2B 83e88d75984074e09be79be5b1ecbe456b304222aad371c92beac109f2a8642ecfbaf39676be9ad26d081defeb63f0022a928ee4d858fa7844e738dafbba95dd SHA512 23ffb85267b219dee3120369f97e74e3e818c58df4928d41ddf14ccab77bac7485c48c2d69c5669038129f2b4b7ccf3ec68b619fc608140609c0003619c36ba9
+DIST Nuitka-2.4.1.tar.gz 3717378 BLAKE2B bcbfb41bd2fad4a72a7d6aa8122b28ab3f35cdb815f92a5cb9037443533f1689c1efdbb84feba7f63441fc86e9f4432fdff8167008d916fb18c8206dff5f7013 SHA512 48f8ae2701ccdf5353c4c15c1bbc99166427515a90518eb99d2063d39705d11ed37eaa4238a77054a42ee45a1408a39fb008b58ac9817821e2ec2c00f4cc7916
+DIST Nuitka-2.4.2.tar.gz 3718310 BLAKE2B 266b26d8882f189ac5ec28a921a1ac8a30bc42d1ea870c3ebfba59c9c259ff246035143a13c204cb7ca4c59a457b1ece5e74bc3e7aab02546705d502cce35902 SHA512 23d2f8cea7765d8f6b5d785d2381d36c9f9b7a158d25680339f93667104af680ed0a186450c0697153e19b44e1dc77f338cb6f42db33fbc71815d675b0be75a8
+DIST Nuitka-2.4.tar.gz 3718936 BLAKE2B 385a2bb2bbaa971277d7812f53d5a141a9643b0886e46e90fc3f5f8e3cb991801414ce6215a075ffe7998a99a65d534d2af16f9c4adc6c48fd8dee428461563a SHA512 c622434f48bea3d651c4720f8d22f23ec1ba680f9b58c66772a229ca1dc671a6c702d34503d4f16588008300e8e7e32a73dd51b56da1de8edbb33fde62be6053
diff --git a/dev-python/Nuitka/Nuitka-1.9.1.ebuild b/dev-python/Nuitka/Nuitka-1.9.1.ebuild
deleted file mode 100644
index f511685d5ce1..000000000000
--- a/dev-python/Nuitka/Nuitka-1.9.1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 flag-o-matic optfeature pypi
-
-DESCRIPTION="Python to native compiler"
-HOMEPAGE="
- https://www.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-util/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/nuitka3.1 doc/nuitka3-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" app-admin/chrpath
-}
diff --git a/dev-python/Nuitka/Nuitka-1.9.2.ebuild b/dev-python/Nuitka/Nuitka-1.9.2.ebuild
deleted file mode 100644
index f511685d5ce1..000000000000
--- a/dev-python/Nuitka/Nuitka-1.9.2.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 flag-o-matic optfeature pypi
-
-DESCRIPTION="Python to native compiler"
-HOMEPAGE="
- https://www.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-util/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/nuitka3.1 doc/nuitka3-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" app-admin/chrpath
-}
diff --git a/dev-python/Nuitka/Nuitka-1.9.3.ebuild b/dev-python/Nuitka/Nuitka-1.9.3.ebuild
deleted file mode 100644
index f511685d5ce1..000000000000
--- a/dev-python/Nuitka/Nuitka-1.9.3.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 flag-o-matic optfeature pypi
-
-DESCRIPTION="Python to native compiler"
-HOMEPAGE="
- https://www.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-util/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/nuitka3.1 doc/nuitka3-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" app-admin/chrpath
-}
diff --git a/dev-python/Nuitka/Nuitka-2.4.1.ebuild b/dev-python/Nuitka/Nuitka-2.4.1.ebuild
new file mode 100644
index 000000000000..274aff9ae3b5
--- /dev/null
+++ b/dev-python/Nuitka/Nuitka-2.4.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 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.4.2.ebuild b/dev-python/Nuitka/Nuitka-2.4.2.ebuild
new file mode 100644
index 000000000000..274aff9ae3b5
--- /dev/null
+++ b/dev-python/Nuitka/Nuitka-2.4.2.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 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.4.ebuild b/dev-python/Nuitka/Nuitka-2.4.ebuild
new file mode 100644
index 000000000000..274aff9ae3b5
--- /dev/null
+++ b/dev-python/Nuitka/Nuitka-2.4.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 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/Opcodes/Opcodes-0.3.14-r1.ebuild b/dev-python/Opcodes/Opcodes-0.3.14-r1.ebuild
new file mode 100644
index 000000000000..b4257018de20
--- /dev/null
+++ b/dev-python/Opcodes/Opcodes-0.3.14-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..12} )
+inherit distutils-r1
+
+CommitId=0f7c7d63f5e13ce5a89d9acc3934f1b6e247ec1f
+
+DESCRIPTION="Opcodes Project"
+HOMEPAGE="
+ https://pypi.org/project/Opcodes/
+"
+SRC_URI="https://github.com/Maratyszcza/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.gh.tar.gz"
+S="${WORKDIR}"/${PN}-${CommitId}
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test" # depends on an old version of werkzeug
+
+RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+
+DOCS=readme.rst
+
+distutils_enable_sphinx sphinx \
+ dev-python/sphinx-bootstrap-theme
diff --git a/dev-python/Opcodes/Opcodes-0.3.14.ebuild b/dev-python/Opcodes/Opcodes-0.3.14.ebuild
deleted file mode 100644
index 78cd24fd1430..000000000000
--- a/dev-python/Opcodes/Opcodes-0.3.14.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-CommitId=0f7c7d63f5e13ce5a89d9acc3934f1b6e247ec1f
-
-DESCRIPTION="Opcodes Project"
-HOMEPAGE="
- https://pypi.org/project/Opcodes/
-"
-SRC_URI="https://github.com/Maratyszcza/${PN}/archive/${CommitId}.tar.gz
- -> ${P}.gh.tar.gz"
-S="${WORKDIR}"/${PN}-${CommitId}
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64"
-RESTRICT="test" # depends on an old version of werkzeug
-
-RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
diff --git a/dev-python/OutputCheck/OutputCheck-0.4.2-r1.ebuild b/dev-python/OutputCheck/OutputCheck-0.4.2-r1.ebuild
deleted file mode 100644
index 814333b341ff..000000000000
--- a/dev-python/OutputCheck/OutputCheck-0.4.2-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A tool for checking the output of console programs inspired by LLVM's FileCheck"
-HOMEPAGE="https://github.com/stp/OutputCheck/"
-SRC_URI="https://github.com/stp/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="test? ( dev-python/lit[${PYTHON_USEDEP}] )"
-
-PATCHES=( "${FILESDIR}"/${P}-Driver.patch )
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # Remove bad tests.
- rm "${S}"/tests/invalid-regex-syntax.smt2 ||
- die "failed to remove bad tests"
-
- # Create RELEASE-VERSION file.
- echo ${PV} > "${S}"/RELEASE-VERSION ||
- die "failed to write RELEASE-VERSION"
-}
-
-python_test() {
- lit --verbose "${S}"/tests || die "running test with ${EPYTHON} failed"
-}
diff --git a/dev-python/OutputCheck/OutputCheck-0.4.2-r2.ebuild b/dev-python/OutputCheck/OutputCheck-0.4.2-r2.ebuild
new file mode 100644
index 000000000000..01ac4eea4db6
--- /dev/null
+++ b/dev-python/OutputCheck/OutputCheck-0.4.2-r2.ebuild
@@ -0,0 +1,38 @@
+# 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_{9..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="A tool for checking the output of console programs inspired by LLVM's FileCheck"
+HOMEPAGE="https://github.com/stp/OutputCheck/"
+SRC_URI="https://github.com/stp/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="test? ( dev-python/lit[${PYTHON_USEDEP}] )"
+
+PATCHES=( "${FILESDIR}/${PN}-0.4.2-Driver.patch" )
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # Remove bad tests.
+ rm "${S}/tests/invalid-regex-syntax.smt2" || die "failed to remove bad tests"
+
+ # Create RELEASE-VERSION file.
+ echo "${PV}" > "${S}/RELEASE-VERSION" || die "failed to write RELEASE-VERSION"
+}
+
+python_test() {
+ lit --verbose "${S}/tests" || die "running test with ${EPYTHON} failed"
+}
diff --git a/dev-python/PeachPy/PeachPy-2022.11.13-r2.ebuild b/dev-python/PeachPy/PeachPy-2022.11.13-r2.ebuild
new file mode 100644
index 000000000000..395c7459ef5f
--- /dev/null
+++ b/dev-python/PeachPy/PeachPy-2022.11.13-r2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{9..12} )
+inherit distutils-r1
+
+CommitId=349e8f836142b2ed0efeb6bb99b1b715d87202e9
+
+DESCRIPTION="Portable Efficient Assembly Code-generator in Higher-level Python"
+HOMEPAGE="https://pypi.org/project/PeachPy/"
+SRC_URI="https://github.com/Maratyszcza/${PN}/archive/${CommitId}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64"
+RESTRICT="test" # depends on an old version of werkzeug
+
+RDEPEND="
+ dev-python/Opcodes[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+S="${WORKDIR}"/${PN}-${CommitId}
+
+DOCS=README.rst
+
+distutils_enable_sphinx sphinx \
+ dev-python/sphinx-bootstrap-theme
diff --git a/dev-python/PeachPy/PeachPy-2022.11.13.ebuild b/dev-python/PeachPy/PeachPy-2022.11.13.ebuild
deleted file mode 100644
index 493cd83fb3e1..000000000000
--- a/dev-python/PeachPy/PeachPy-2022.11.13.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-CommitId=349e8f836142b2ed0efeb6bb99b1b715d87202e9
-
-DESCRIPTION="Portable Efficient Assembly Code-generator in Higher-level Python"
-HOMEPAGE="https://pypi.org/project/PeachPy/"
-SRC_URI="https://github.com/Maratyszcza/${PN}/archive/${CommitId}.tar.gz
- -> ${P}.gh.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64"
-RESTRICT="test" # depends on an old version of werkzeug
-
-RDEPEND="
- dev-python/Opcodes[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-BDEPEND=""
-
-S="${WORKDIR}"/${PN}-${CommitId}
diff --git a/dev-python/PyGithub/Manifest b/dev-python/PyGithub/Manifest
index 6d9bf229258e..c597c0851392 100644
--- a/dev-python/PyGithub/Manifest
+++ b/dev-python/PyGithub/Manifest
@@ -1 +1 @@
-DIST PyGithub-2.1.1.tar.gz 3330531 BLAKE2B 9b288266379d7b1d85be91a7261596f9c98b97bdb5f17c4f8bb43b4765f07e2088f1130c802a623c875c8ddd7d31bdf3cad2a7fc6672ca50bb9a69c80bf4c907 SHA512 f5a0186c1a206cef070c6c19ae0cca5ab19993dd16b9df9997ba01a3fa02baee3425cef51588f7ac38636a165e36d9a5a2c4014e59482b583001c75efa7afc40
+DIST PyGithub-2.3.0.tar.gz 3455482 BLAKE2B 3638d5a101dcc41196a54f1a1e36dbc2dd53ab21fc2edd1945a036527979939da53dbf1cdd462622e851e891eae1264231b42c9f8a561740087d602a966d11b2 SHA512 7964b8ab1ad989e48b7d4cda42e7690cdd99c7f8d199e0eaa5ff5b2986592cef135e252253bef4f425cf04946ea18d8c83bcce4253914113fc9a21e83dc31166
diff --git a/dev-python/PyGithub/PyGithub-2.1.1.ebuild b/dev-python/PyGithub/PyGithub-2.1.1.ebuild
deleted file mode 100644
index 0ba6d20de241..000000000000
--- a/dev-python/PyGithub/PyGithub-2.1.1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to access the Github API v3"
-HOMEPAGE="
- https://github.com/PyGithub/PyGithub/
- https://pypi.org/project/PyGithub/
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-# cryptography via pyjwt[crypto]
-RDEPEND="
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/deprecated[${PYTHON_USEDEP}]
- >=dev-python/pyjwt-2.4.0[${PYTHON_USEDEP}]
- >=dev-python/pynacl-1.4.0[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/requests-2.14.0[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.26.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- >=dev-python/httpretty-1.0.3[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/PyGithub/PyGithub-2.3.0.ebuild b/dev-python/PyGithub/PyGithub-2.3.0.ebuild
new file mode 100644
index 000000000000..831cab7e7c76
--- /dev/null
+++ b/dev-python/PyGithub/PyGithub-2.3.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library to access the Github API v3"
+HOMEPAGE="
+ https://github.com/PyGithub/PyGithub/
+ https://pypi.org/project/PyGithub/
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+# cryptography via pyjwt[crypto]
+RDEPEND="
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/deprecated[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pynacl-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/httpretty-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-subtests-0.11.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/PyQt-builder/Manifest b/dev-python/PyQt-builder/Manifest
index e7e219282f6b..baa3fb64a8e9 100644
--- a/dev-python/PyQt-builder/Manifest
+++ b/dev-python/PyQt-builder/Manifest
@@ -1,2 +1,2 @@
-DIST PyQt-builder-1.15.3.tar.gz 3909851 BLAKE2B 27680dbbee2fb1f549f7d98fa0b422dfe88933aedcb907bfa74dbdbce7324a5f003b62f7fd03ef4ec5c4f8ff5151fb23b73a3111b1e03bf04daba6faa00cf13e SHA512 58bd082d339cedd34c5bd8dc58f690a8a801b04c334e24c9843be0f0c24f2d4548ff69374bc0cf0aa96f8dea526f5a73c688f00cd72d29deb86fedaab5987f49
-DIST PyQt-builder-1.15.4.tar.gz 3766458 BLAKE2B d0bff31ee1c25172c621defdf0a9e4c297b6b4e692142a44018338be8f037b9d286096c642b8efb8ae6df79f5900ee7be9732efbb32142f6b58752c7409a0026 SHA512 ec0b9f7784a32af744111615b93f98d73f284bb752fd71359c798d3b093a01925823effea72c866a5f49f77e3dfc5dee4125bbb289f647d84000bf34b5db6931
+DIST pyqt_builder-1.16.3.tar.gz 3671995 BLAKE2B ba3fb0ee1988106d1f4d4e822030b3848a5c3d42f79ac06d1dd4a4084c1e526d0c54c1720614f9005dec120b5395e9358ad75c52c74199d7413100bff82e8414 SHA512 f3820fd5714c88da69bc696abcfde74f0cebaff543de5cf93bd37f4aad22a6bc91627ff22a0f665850ca9c968b4350383784f65cf1b6bf76f3ebfe71a4a5f3b4
+DIST pyqt_builder-1.16.4.tar.gz 3672095 BLAKE2B ba81086b5c7d35a8e899c65e58b9aab12772f2845af099590e48dfaf597f3ab16a26985416f65711d60519878f148d4469a1c8cb1ca5e7b9d2f359ad571b0164 SHA512 8f92feeed1112e47845dd716de68dab2d0620e53bccdb7eb35d57e737110ef9f5e0fe338f064db21e052870b5c0a0c459ebe7d2933cd4854eebf63a1bc517652
diff --git a/dev-python/PyQt-builder/PyQt-builder-1.15.3.ebuild b/dev-python/PyQt-builder/PyQt-builder-1.15.3.ebuild
deleted file mode 100644
index bccaecfc4fee..000000000000
--- a/dev-python/PyQt-builder/PyQt-builder-1.15.3.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1 pypi
-
-DESCRIPTION="The PEP 517 compliant PyQt build system"
-HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt-builder/"
-
-LICENSE="|| ( GPL-2 GPL-3 SIP )"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/sip-6.7.1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx doc --no-autodoc
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
-
- # don't install prebuilt DLLs
- sed -i "s:'dlls/\*/\*',::" setup.py || die
-}
diff --git a/dev-python/PyQt-builder/PyQt-builder-1.15.4.ebuild b/dev-python/PyQt-builder/PyQt-builder-1.15.4.ebuild
deleted file mode 100644
index 5ef4f3ffc44d..000000000000
--- a/dev-python/PyQt-builder/PyQt-builder-1.15.4.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1 pypi
-
-DESCRIPTION="The PEP 517 compliant PyQt build system"
-HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt-builder/"
-
-LICENSE="|| ( GPL-2 GPL-3 SIP )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/sip-6.7.1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx doc --no-autodoc
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
-
- # don't install prebuilt DLLs
- sed -i "s:'dlls/\*/\*',::" setup.py || die
-}
diff --git a/dev-python/PyQt-builder/PyQt-builder-1.16.3.ebuild b/dev-python/PyQt-builder/PyQt-builder-1.16.3.ebuild
new file mode 100644
index 000000000000..e64938b2efde
--- /dev/null
+++ b/dev-python/PyQt-builder/PyQt-builder-1.16.3.ebuild
@@ -0,0 +1,30 @@
+# 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..13} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="The PEP 517 compliant PyQt build system"
+HOMEPAGE="https://github.com/Python-PyQt/PyQt-builder/"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.7[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # skip installing DLLs
+ rm -r pyqtbuild/bundle/dlls || die
+}
diff --git a/dev-python/PyQt-builder/PyQt-builder-1.16.4.ebuild b/dev-python/PyQt-builder/PyQt-builder-1.16.4.ebuild
new file mode 100644
index 000000000000..d60c304af339
--- /dev/null
+++ b/dev-python/PyQt-builder/PyQt-builder-1.16.4.ebuild
@@ -0,0 +1,30 @@
+# 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..13} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="The PEP 517 compliant PyQt build system"
+HOMEPAGE="https://github.com/Python-PyQt/PyQt-builder/"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.7[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # skip installing DLLs
+ rm -r pyqtbuild/bundle/dlls || die
+}
diff --git a/dev-python/PyQt-builder/metadata.xml b/dev-python/PyQt-builder/metadata.xml
index 673b2c7c855d..097eeda6b6f5 100644
--- a/dev-python/PyQt-builder/metadata.xml
+++ b/dev-python/PyQt-builder/metadata.xml
@@ -5,14 +5,11 @@
<email>qt@gentoo.org</email>
<name>Gentoo Qt Project</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
- <maintainer status="active">
- <email>phil@riverbankcomputing.com</email>
- <name>Phil Thompson</name>
- </maintainer>
- <changelog>https://www.riverbankcomputing.com/hg/PyQt-builder/file/tip/NEWS</changelog>
+ <changelog>https://github.com/Python-PyQt/PyQt-builder/blob/main/docs/releases.md</changelog>
<doc>https://www.riverbankcomputing.com/static/Docs/PyQt-builder/</doc>
- <bugs-to>mailto:pyqt@riverbankcomputing.com</bugs-to>
+ <remote-id type="github">Python-PyQt/PyQt-builder</remote-id>
<remote-id type="pypi">PyQt-builder</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/PyQt5-sip/Manifest b/dev-python/PyQt5-sip/Manifest
index 2a010f9ef214..1b748b810be4 100644
--- a/dev-python/PyQt5-sip/Manifest
+++ b/dev-python/PyQt5-sip/Manifest
@@ -1 +1,2 @@
DIST PyQt5_sip-12.13.0.tar.gz 123225 BLAKE2B e3b7233e5405f7b24de157e1f0ed0f2ff47a9c331a76672892d8a7adc8aba8c7b738354d9f1c2fe9c29501b5bfe8c6302307c6731273b980a04dd327048a3a94 SHA512 ef363b21899f6d089fbc6d5adf700dc6c8838501343070ed1cf0826e05dd860343eba608d5aee5d8bece39b8ddca1f37866bb56aa07db18384ac0a372ca3532f
+DIST PyQt5_sip-12.15.0.tar.gz 104024 BLAKE2B 40fdf25bfb8ca321f50926d7041e33edee9fbebafaded50d283ea95b04ea050e368d2b8470110d758f68f3ac08ada68b65b2f6ebcb9d7dd43707636e26701854 SHA512 1a009b53e80fc8231478f741839d8a88ab26f531c4ab0d41ccc00c8b0650c13c95c3c89cc949858a99bd1d817d736507df519384dff029530edc554f4b35b4cc
diff --git a/dev-python/PyQt5-sip/PyQt5-sip-12.13.0-r1.ebuild b/dev-python/PyQt5-sip/PyQt5-sip-12.13.0-r1.ebuild
new file mode 100644
index 000000000000..02a93b200df6
--- /dev/null
+++ b/dev-python/PyQt5-sip/PyQt5-sip-12.13.0-r1.ebuild
@@ -0,0 +1,23 @@
+# 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
+PYPI_PN=${PN/-/_}
+# keep compat in sync with PyQt5 or else it confuses some revdeps
+PYTHON_COMPAT=( python3_{10..13} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="sip extension module for PyQt5"
+HOMEPAGE="https://www.riverbankcomputing.com/software/sip/"
+
+LICENSE="|| ( GPL-2 GPL-3 SIP )"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
+
+PATCHES=(
+ "${FILESDIR}/PyQt5-sip-12.13.0-c99.patch"
+)
diff --git a/dev-python/PyQt5-sip/PyQt5-sip-12.13.0.ebuild b/dev-python/PyQt5-sip/PyQt5-sip-12.13.0.ebuild
deleted file mode 100644
index b9f4dbc83482..000000000000
--- a/dev-python/PyQt5-sip/PyQt5-sip-12.13.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2023 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
-PYPI_PN=${PN/-/_}
-PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1 pypi
-
-DESCRIPTION="sip extension module for PyQt5"
-HOMEPAGE="https://www.riverbankcomputing.com/software/sip/"
-
-LICENSE="|| ( GPL-2 GPL-3 SIP )"
-SLOT="0/$(ver_cut 1)"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv x86"
diff --git a/dev-python/PyQt5-sip/PyQt5-sip-12.15.0.ebuild b/dev-python/PyQt5-sip/PyQt5-sip-12.15.0.ebuild
new file mode 100644
index 000000000000..a85f804144fa
--- /dev/null
+++ b/dev-python/PyQt5-sip/PyQt5-sip-12.15.0.ebuild
@@ -0,0 +1,21 @@
+# 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
+PYPI_PN=${PN/-/_}
+# keep compat in sync with PyQt5 or else it confuses some revdeps
+PYTHON_COMPAT=( python3_{10..13} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="sip extension module for PyQt5"
+# note that PyQt5-sip is currently not on github, but this is the
+# homepage listed upstream as of the writing of this
+HOMEPAGE="https://github.com/Python-SIP/sip/"
+
+LICENSE="BSD-2"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
diff --git a/dev-python/PyQt5-sip/files/PyQt5-sip-12.13.0-c99.patch b/dev-python/PyQt5-sip/files/PyQt5-sip-12.13.0-c99.patch
new file mode 100644
index 000000000000..b1fd2470758c
--- /dev/null
+++ b/dev-python/PyQt5-sip/files/PyQt5-sip-12.13.0-c99.patch
@@ -0,0 +1,16 @@
+https://bugs.gentoo.org/919000
+https://www.riverbankcomputing.com/hg/sip/rev/afc99fa84d0d
+
+diff --git a/siplib.c b/siplib.c
+index 8b0a6d5..d996a9c 100644
+--- a/siplib.c
++++ b/siplib.c
+@@ -3902,7 +3902,7 @@ static int parsePass1(PyObject **parseErrp, sipSimpleWrapper **selfp,
+ {
+ case '#':
+ /* A ctor has an argument with the /Transfer/ annotation. */
+- *selfp = va_arg(va, PyObject *);
++ *selfp = (sipSimpleWrapper *) va_arg(va, PyObject *);
+ break;
+
+ case 'B':
diff --git a/dev-python/PyQt5-sip/metadata.xml b/dev-python/PyQt5-sip/metadata.xml
index 249066785741..37c680d9291a 100644
--- a/dev-python/PyQt5-sip/metadata.xml
+++ b/dev-python/PyQt5-sip/metadata.xml
@@ -6,13 +6,7 @@
<name>Gentoo Qt Project</name>
</maintainer>
<upstream>
- <maintainer status="active">
- <email>phil@riverbankcomputing.com</email>
- <name>Phil Thompson</name>
- </maintainer>
- <changelog>https://www.riverbankcomputing.com/hg/sip/raw-file/tip/NEWS</changelog>
- <doc>https://www.riverbankcomputing.com/static/Docs/sip/</doc>
- <bugs-to>mailto:pyqt@riverbankcomputing.com</bugs-to>
+ <bugs-to>https://github.com/Python-SIP/sip/issues</bugs-to>
<remote-id type="pypi">PyQt5-sip</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/PyQt5/Manifest b/dev-python/PyQt5/Manifest
index 75a7e4df030b..c706635f817c 100644
--- a/dev-python/PyQt5/Manifest
+++ b/dev-python/PyQt5/Manifest
@@ -1 +1,2 @@
DIST PyQt5-5.15.10.tar.gz 3242654 BLAKE2B 55a4cedf1ac3fd0f2968ca07544d2248d1798f134b7490eb1d07663af9f1606543564a42d5478871f5dbfc0b249b73965fd0505261fd2872c724da6d28e5b61a SHA512 e62debe112210b68993377264448199b66a43fc5db13c583a25e210759f5cd945bd1056c1c19fb86bcf005c6904358dfb89e005d27167a349f1d55987a63013e
+DIST PyQt5-5.15.11.tar.gz 3216775 BLAKE2B 5bc6cb12b8189ec0767be891971a9fd35109236eb4753eb77940104b71bbf78db4ed2354c54adf5d45655a8ded1cb10033afc037d8a3604c5db3ea073d394e0c SHA512 e52ca215f65dbb035deff042112e26be38b77405a45caebdae3e626ffe6487c88c97c54bfa33cc83d96537daa82b67b7a1c621696538e154e5996714fc063a92
diff --git a/dev-python/PyQt5/PyQt5-5.15.10-r1.ebuild b/dev-python/PyQt5/PyQt5-5.15.10-r1.ebuild
index 4d54807b7c24..af6a5164da92 100644
--- a/dev-python/PyQt5/PyQt5-5.15.10-r1.ebuild
+++ b/dev-python/PyQt5/PyQt5-5.15.10-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=sip
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
DESCRIPTION="Python bindings for the Qt framework"
diff --git a/dev-python/PyQt5/PyQt5-5.15.11.ebuild b/dev-python/PyQt5/PyQt5-5.15.11.ebuild
new file mode 100644
index 000000000000..45dd2af8a8f1
--- /dev/null
+++ b/dev-python/PyQt5/PyQt5-5.15.11.ebuild
@@ -0,0 +1,171 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=sip
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..13} )
+inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+
+IUSE="
+ bluetooth dbus debug declarative designer examples gles2-only gui help location
+ multimedia network opengl positioning printsupport sensors serialport speech
+ sql +ssl svg testlib webchannel websockets widgets x11extras xmlpatterns
+"
+
+# The requirements below were extracted from the qmake_QT declarations
+# in project.py and from the output of 'grep -r "%Import " ${S}/sip'
+REQUIRED_USE="
+ bluetooth? ( gui )
+ declarative? ( gui network )
+ designer? ( widgets )
+ help? ( gui widgets )
+ location? ( positioning )
+ multimedia? ( gui network )
+ opengl? ( gui widgets )
+ positioning? ( gui )
+ printsupport? ( gui widgets )
+ sensors? ( gui )
+ serialport? ( gui )
+ sql? ( widgets )
+ svg? ( gui widgets )
+ testlib? ( widgets )
+ webchannel? ( network )
+ websockets? ( network )
+ widgets? ( gui )
+ xmlpatterns? ( network )
+"
+
+# Minimal supported version of Qt.
+QT_PV="5.15:5"
+
+DEPEND="
+ >=dev-qt/qtcore-${QT_PV}
+ >=dev-qt/qtxml-${QT_PV}
+ bluetooth? ( >=dev-qt/qtbluetooth-${QT_PV} )
+ dbus? (
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ >=dev-qt/qtdbus-${QT_PV}
+ sys-apps/dbus
+ )
+ declarative? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] )
+ designer? ( >=dev-qt/designer-${QT_PV} )
+ gui? ( >=dev-qt/qtgui-${QT_PV}[gles2-only=] )
+ help? ( >=dev-qt/qthelp-${QT_PV} )
+ location? ( >=dev-qt/qtlocation-${QT_PV} )
+ multimedia? ( >=dev-qt/qtmultimedia-${QT_PV}[widgets?] )
+ network? ( >=dev-qt/qtnetwork-${QT_PV}[ssl=] )
+ opengl? ( >=dev-qt/qtopengl-${QT_PV} )
+ positioning? ( >=dev-qt/qtpositioning-${QT_PV} )
+ printsupport? ( >=dev-qt/qtprintsupport-${QT_PV} )
+ sensors? ( >=dev-qt/qtsensors-${QT_PV} )
+ serialport? ( >=dev-qt/qtserialport-${QT_PV} )
+ speech? ( >=dev-qt/qtspeech-${QT_PV} )
+ sql? ( >=dev-qt/qtsql-${QT_PV} )
+ svg? ( >=dev-qt/qtsvg-${QT_PV} )
+ testlib? ( >=dev-qt/qttest-${QT_PV} )
+ webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
+ websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
+ widgets? ( >=dev-qt/qtwidgets-${QT_PV} )
+ x11extras? ( >=dev-qt/qtx11extras-${QT_PV} )
+ xmlpatterns? ( >=dev-qt/qtxmlpatterns-${QT_PV} )
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/PyQt5-sip-12.15:=[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/PyQt-builder-1.14.1[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.8.6[${PYTHON_USEDEP}]
+ >=dev-qt/qtcore-${QT_PV}
+ dbus? ( virtual/pkgconfig )
+"
+
+src_prepare() {
+ default
+
+ # hack: PyQt-builder runs qmake without our arguments and calls g++
+ # or clang++ depending on what qtbase was built with, not used for
+ # building but fails with -native-symlinks
+ mkdir "${T}"/cxx || die
+ local cxx
+ ! cxx=$(type -P "${CHOST}"-g++) || ln -s -- "${cxx}" "${T}"/cxx/g++ || die
+ ! cxx=$(type -P "${CHOST}"-clang++) || ln -s -- "${cxx}" "${T}"/cxx/clang++ || die
+ PATH=${T}/cxx:${PATH}
+}
+
+python_configure_all() {
+ append-cxxflags ${CPPFLAGS} # respect CPPFLAGS notably for DISTUTILS_EXT=1
+
+ pyqt_use_enable() {
+ local state=$(usex ${1} --enable= --disable=)
+ shift
+ echo ${*/#/${state}}
+ }
+
+ DISTUTILS_ARGS=(
+ --jobs="$(makeopts_jobs)"
+ --qmake="$(qt5_get_bindir)"/qmake
+ --qmake-setting="$(qt5_get_qmake_args)"
+ --verbose
+ --confirm-license
+
+ --enable=pylupdate
+ --enable=pyrcc
+ --enable=Qt
+ --enable=QtCore
+ $(pyqt_use_enable bluetooth QtBluetooth)
+ $(pyqt_use_enable dbus QtDBus)
+ $(pyqt_use_enable declarative QtQml QtQuick \
+ $(usev widgets QtQuickWidgets))
+ $(pyqt_use_enable designer QtDesigner)
+ $(pyqt_use_enable gui QtGui \
+ $(use gles2-only && echo _QOpenGLFunctions_ES2 || echo _QOpenGLFunctions_{2_0,2_1,4_1_Core}))
+ $(pyqt_use_enable help QtHelp)
+ $(pyqt_use_enable location QtLocation)
+ $(pyqt_use_enable multimedia QtMultimedia \
+ $(usev widgets QtMultimediaWidgets))
+ $(pyqt_use_enable network QtNetwork)
+ $(pyqt_use_enable opengl QtOpenGL)
+ $(pyqt_use_enable positioning QtPositioning)
+ $(pyqt_use_enable printsupport QtPrintSupport)
+ $(pyqt_use_enable sensors QtSensors)
+ $(pyqt_use_enable serialport QtSerialPort)
+ $(pyqt_use_enable speech QtTextToSpeech)
+ $(pyqt_use_enable sql QtSql)
+ $(pyqt_use_enable svg QtSvg)
+ $(pyqt_use_enable testlib QtTest)
+ $(pyqt_use_enable webchannel QtWebChannel)
+ $(pyqt_use_enable websockets QtWebSockets)
+ $(pyqt_use_enable widgets QtWidgets)
+ $(pyqt_use_enable x11extras QtX11Extras)
+ --enable=QtXml
+ $(pyqt_use_enable xmlpatterns QtXmlPatterns)
+
+ $(usev debug '--debug --qml-debug --tracing')
+
+ $(usev !dbus --no-dbus-python)
+ # note: upstream currently intentionally skips installing these two
+ # plugins when using wheels w/ pep517 so, *if* something does need
+ # them, it will need to be handled manually
+ $(usev !declarative --no-qml-plugin)
+ $(usev !designer --no-designer-plugin)
+
+ $(usev gles2-only --disabled-feature=PyQt_Desktop_OpenGL)
+ $(usev !ssl --disabled-feature=PyQt_SSL)
+ )
+}
+
+python_install_all() {
+ einstalldocs
+ use examples && dodoc -r examples
+}
diff --git a/dev-python/PyQt6-WebEngine/Manifest b/dev-python/PyQt6-WebEngine/Manifest
index 5a707b0ef9bc..c8db0fcf463c 100644
--- a/dev-python/PyQt6-WebEngine/Manifest
+++ b/dev-python/PyQt6-WebEngine/Manifest
@@ -1,2 +1 @@
-DIST PyQt6_WebEngine-6.5.0.tar.gz 31349 BLAKE2B 80ab4ad292107e5ca57c5b27f2af3747f9c28ebf2c1afe0f32fe1fbd6897dd701d7f46bda8f08c5f0048d4efef4c3c0087854acbc58a319163e328f74177b05c SHA512 bafa26cc800ec031fe9bb1e309832df79b41c5f43a6cdc8ecc2bc4b09c59b60975a67ede6190726db887689305e7a6012f705eb9b83c3e0c82a23f3f1c3880ff
-DIST PyQt6_WebEngine-6.6.0.tar.gz 31817 BLAKE2B 3e795bda50d1a5874e6caec7f69370840913cbbb33662ddc5624f0437c765e3318a2b4233d8e9963145dbeef8a4edc559112f114b850d9879eecb9e3e6b6fd2e SHA512 30927b7728d68cbeff6346234e131f96dfcd4b2af503d27d2f0a1eee584b5a928ac4fe1f66019c90aaf1ccd66fffe2edaf55de86d9aa0c83518c45669613bc0d
+DIST PyQt6_WebEngine-6.7.0.tar.gz 32593 BLAKE2B 6c14323b440a83f6fed9f1f77f20b350f00255dfedfbc328a5ee638760d20958d8864eb3c590248acd5c69152c537993a95e66d1f76b28349561c8223dfc2a85 SHA512 8298aecc43e420c4fa912802fd66ee95fd71156d9a6d1f1a499ffcc2d0d45a8c3e3c170f911acfc8f094d2e434567b5143b145ce40413ee75c9a9e4420341c0c
diff --git a/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.5.0-r1.ebuild b/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.5.0-r1.ebuild
deleted file mode 100644
index 1352d97133e2..000000000000
--- a/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.5.0-r1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=sip
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/_}
-PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
-
-QT_PV=$(ver_cut 1-2):6
-
-DESCRIPTION="Python bindings for QtWebEngine"
-HOMEPAGE="https://www.riverbankcomputing.com/software/pyqtwebengine/"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="debug quick +widgets"
-
-RDEPEND="
- >=dev-python/PyQt6-${PV}[gui,ssl,${PYTHON_USEDEP}]
- >=dev-qt/qtbase-${QT_PV}[gui,widgets?]
- >=dev-qt/qtwebengine-${QT_PV}[widgets]
- quick? (
- dev-python/PyQt6[qml]
- >=dev-qt/qtwebengine-${QT_PV}[qml(+)]
- )
- widgets? ( dev-python/PyQt6[network,printsupport,webchannel,widgets] )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- >=dev-python/PyQt-builder-1.15[${PYTHON_USEDEP}]
- >=dev-qt/qtbase-${QT_PV}
-"
-
-src_prepare() {
- default
-
- # hack: qmake queries g++ or clang++ for info depending on which qtbase was
- # built with, but ignores CHOST failing with -native-symlinks (bug #726112)
- # and potentially using wrong information when cross-compiling
- mkdir "${T}"/cxx || die
- local cxx
- ! cxx=$(type -P "${CHOST}"-g++) || ln -s -- "${cxx}" "${T}"/cxx/g++ || die
- ! cxx=$(type -P "${CHOST}"-clang++) || ln -s -- "${cxx}" "${T}"/cxx/clang++ || die
- PATH=${T}/cxx:${PATH}
-}
-
-python_configure_all() {
- append-cxxflags -std=c++17 # for old gcc / clang that use <17 (bug #892331)
- append-cxxflags ${CPPFLAGS} # respect CPPFLAGS notably for DISTUTILS_EXT=1
-
- DISTUTILS_ARGS=(
- --jobs="$(makeopts_jobs)"
- --qmake="$(qt6_get_bindir)"/qmake
- --qmake-setting="$(qt6_get_qmake_args)"
- --verbose
-
- --enable=QtWebEngineCore
- $(usex quick --{enable,disable}=QtWebEngineQuick)
- $(usex widgets --{enable,disable}=QtWebEngineWidgets)
-
- $(usev debug '--debug --qml-debug --tracing')
- )
-}
diff --git a/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.6.0.ebuild b/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.6.0.ebuild
deleted file mode 100644
index e27eda712e10..000000000000
--- a/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.6.0.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=sip
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/_}
-PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
-
-QT_PV=$(ver_cut 1-2):6
-
-DESCRIPTION="Python bindings for QtWebEngine"
-HOMEPAGE="https://www.riverbankcomputing.com/software/pyqtwebengine/"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="debug quick +widgets"
-
-RDEPEND="
- >=dev-python/PyQt6-${PV}[gui,ssl,${PYTHON_USEDEP}]
- >=dev-qt/qtbase-${QT_PV}[gui,widgets?]
- >=dev-qt/qtwebengine-${QT_PV}[widgets]
- quick? (
- dev-python/PyQt6[qml]
- >=dev-qt/qtwebengine-${QT_PV}[qml(+)]
- )
- widgets? ( dev-python/PyQt6[network,printsupport,webchannel,widgets] )
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- >=dev-python/PyQt-builder-1.15[${PYTHON_USEDEP}]
- >=dev-qt/qtbase-${QT_PV}
-"
-
-src_prepare() {
- default
-
- # hack: qmake queries g++ or clang++ for info depending on which qtbase was
- # built with, but ignores CHOST failing with -native-symlinks (bug #726112)
- # and potentially using wrong information when cross-compiling
- mkdir "${T}"/cxx || die
- local cxx
- ! cxx=$(type -P "${CHOST}"-g++) || ln -s -- "${cxx}" "${T}"/cxx/g++ || die
- ! cxx=$(type -P "${CHOST}"-clang++) || ln -s -- "${cxx}" "${T}"/cxx/clang++ || die
- PATH=${T}/cxx:${PATH}
-}
-
-python_configure_all() {
- append-cxxflags -std=c++17 # for old gcc / clang that use <17 (bug #892331)
- append-cxxflags ${CPPFLAGS} # respect CPPFLAGS notably for DISTUTILS_EXT=1
-
- DISTUTILS_ARGS=(
- --jobs="$(makeopts_jobs)"
- --qmake="$(qt6_get_bindir)"/qmake
- --qmake-setting="$(qt6_get_qmake_args)"
- --verbose
-
- --enable=QtWebEngineCore
- $(usex quick --{enable,disable}=QtWebEngineQuick)
- $(usex widgets --{enable,disable}=QtWebEngineWidgets)
-
- $(usev debug '--debug --qml-debug --tracing')
- )
-}
diff --git a/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.7.0.ebuild b/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.7.0.ebuild
new file mode 100644
index 000000000000..dc390397db3c
--- /dev/null
+++ b/dev-python/PyQt6-WebEngine/PyQt6-WebEngine-6.7.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=sip
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/_}
+PYTHON_COMPAT=( python3_{10..13} )
+inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
+
+QT_PV=$(ver_cut 1-2):6
+
+DESCRIPTION="Python bindings for QtWebEngine"
+HOMEPAGE="https://www.riverbankcomputing.com/software/pyqtwebengine/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
+IUSE="debug quick +widgets"
+
+RDEPEND="
+ >=dev-python/PyQt6-${QT_PV%:*}[gui,ssl,${PYTHON_USEDEP}]
+ >=dev-qt/qtbase-${QT_PV}[gui,widgets?]
+ >=dev-qt/qtwebengine-${QT_PV}[widgets]
+ quick? (
+ dev-python/PyQt6[qml]
+ >=dev-qt/qtwebengine-${QT_PV}[qml]
+ )
+ widgets? ( dev-python/PyQt6[network,printsupport,webchannel,widgets] )
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-python/PyQt-builder-1.11[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.8[${PYTHON_USEDEP}]
+ >=dev-qt/qtbase-${QT_PV}
+"
+
+src_prepare() {
+ default
+
+ # hack: PyQt-builder runs qmake without our arguments and calls g++
+ # or clang++ depending on what qtbase was built with, not used for
+ # building but fails with -native-symlinks
+ mkdir "${T}"/cxx || die
+ local cxx
+ ! cxx=$(type -P "${CHOST}"-g++) || ln -s -- "${cxx}" "${T}"/cxx/g++ || die
+ ! cxx=$(type -P "${CHOST}"-clang++) || ln -s -- "${cxx}" "${T}"/cxx/clang++ || die
+ PATH=${T}/cxx:${PATH}
+}
+
+python_configure_all() {
+ append-cxxflags -std=c++17 # for old gcc / clang that use <17 (bug #892331)
+ append-cxxflags ${CPPFLAGS} # respect CPPFLAGS notably for DISTUTILS_EXT=1
+
+ DISTUTILS_ARGS=(
+ --jobs="$(makeopts_jobs)"
+ --qmake="$(qt6_get_bindir)"/qmake
+ --qmake-setting="$(qt6_get_qmake_args)"
+ --verbose
+
+ --enable=QtWebEngineCore
+ $(usex quick --{enable,disable}=QtWebEngineQuick)
+ $(usex widgets --{enable,disable}=QtWebEngineWidgets)
+
+ $(usev debug '--debug --qml-debug --tracing')
+ )
+}
diff --git a/dev-python/PyQt6-sip/Manifest b/dev-python/PyQt6-sip/Manifest
index b75db9ddef10..26824c313b25 100644
--- a/dev-python/PyQt6-sip/Manifest
+++ b/dev-python/PyQt6-sip/Manifest
@@ -1 +1,2 @@
DIST PyQt6_sip-13.6.0.tar.gz 111576 BLAKE2B 1a5a35bb060654d347940af90fb5605b1b2f699da4fd4bbcdbb7d9497f91d7dd1a76c3267b5c4e1e68360c66130d4a9983d2da21da745e70adfc627df85cd8c0 SHA512 bd2fa70d64544d8104d3477cb650a0e6bcefa0008680afcf7d187ba3fb1117871c0237d3a7f047144c8a8a8eeb8da941a3b206f8ee0601cb2cc734243cdb9d46
+DIST PyQt6_sip-13.8.0.tar.gz 92264 BLAKE2B b44ba35c3209b3a49fccf0e4634af8a410b1531d0dd74fc665d7da9780f4e32baf18fbba80eb9635a96442c1c91295dc10e0388194d1e169d300e0e1b37d18cd SHA512 6947690e61fe65a21f61d034ae9de7b7adb001c59a4a362933c5441648fe27140b43666efa73f981b138cfc73fac72777bb7318b98accc3c7f808687e3fc5d81
diff --git a/dev-python/PyQt6-sip/PyQt6-sip-13.6.0.ebuild b/dev-python/PyQt6-sip/PyQt6-sip-13.6.0.ebuild
index 2d6a3537221b..ed1147a842fb 100644
--- a/dev-python/PyQt6-sip/PyQt6-sip-13.6.0.ebuild
+++ b/dev-python/PyQt6-sip/PyQt6-sip-13.6.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,8 @@ DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN/-/_}
-PYTHON_COMPAT=( python3_{10..12} )
+# keep compat in sync with PyQt6 or else it confuses some revdeps
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="sip module support for PyQt6"
@@ -15,4 +16,4 @@ HOMEPAGE="https://www.riverbankcomputing.com/software/sip/"
LICENSE="|| ( GPL-2 GPL-3 SIP )"
SLOT="0"
-KEYWORDS="amd64"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv"
diff --git a/dev-python/PyQt6-sip/PyQt6-sip-13.8.0.ebuild b/dev-python/PyQt6-sip/PyQt6-sip-13.8.0.ebuild
new file mode 100644
index 000000000000..16fcbd62d71a
--- /dev/null
+++ b/dev-python/PyQt6-sip/PyQt6-sip-13.8.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2022-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
+PYPI_PN=${PN/-/_}
+# keep compat in sync with PyQt6 or else it confuses some revdeps
+PYTHON_COMPAT=( python3_{10..13} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="sip module support for PyQt6"
+# note that PyQt6-sip is currently not on github, but this is the
+# homepage listed upstream as of the writing of this
+HOMEPAGE="https://github.com/Python-SIP/sip/"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv"
diff --git a/dev-python/PyQt6-sip/metadata.xml b/dev-python/PyQt6-sip/metadata.xml
index 4db1b0254ea4..c37952e6b29f 100644
--- a/dev-python/PyQt6-sip/metadata.xml
+++ b/dev-python/PyQt6-sip/metadata.xml
@@ -6,7 +6,7 @@
<name>Gentoo Qt Project</name>
</maintainer>
<upstream>
- <bugs-to>https://www.riverbankcomputing.com/mailman/listinfo/pyqt/</bugs-to>
+ <bugs-to>https://github.com/Python-SIP/sip/issues</bugs-to>
<remote-id type="pypi">PyQt6-sip</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/PyQt6/Manifest b/dev-python/PyQt6/Manifest
index 165135d4b840..e9d3f8bb89cf 100644
--- a/dev-python/PyQt6/Manifest
+++ b/dev-python/PyQt6/Manifest
@@ -1,2 +1,2 @@
-DIST PyQt6-6.5.3.tar.gz 1039271 BLAKE2B 965efa73daa83e46fbb1428b27f8bfc8e5cbfd4cfa5481b50835fdcc58f475416207a670882d47a0cc724e4dc06e0a00a512c5f83c4918134c2f1303aecda20e SHA512 a502693cc9e1887011466132cd85e232ce653bfc38519aed99a77332413bdb65a01ecad4680b831eb76365b086e6a3b52fa69017b39d95933a6372d2e7e8e4bb
-DIST PyQt6-6.6.0.tar.gz 1043298 BLAKE2B 1e0412e5f73734de625f5eb3f148d675c44909d56694e47e029a3ae91fd28f17e1edb2469f7af03baec52ad5636c3dba120d1328664f4f0557b7a9658b1e6cf1 SHA512 2fe8640b1dc82aa1da6064da2ef6c4ee81216ed34f28211b69d22c5ea00f782298f5a6a94d32ab00c3ee095abf15d2182a17324cd132458580f5659e789686e3
+DIST PyQt6-6.7.0.tar.gz 1050408 BLAKE2B 30dc8a2762cb5a149c401d497af714bb9209bc46847c0699522ee60080c46f0b1d4da854e70151a508c90820a2aa32da422bfd20c4320bcc9b5d5f92fd9e8677 SHA512 619210d2de3e149b55e2d45cbd8ec2113b3effcaccd25eef6067ea99b82e250f1ce288b38136604536053690071f8c843339b934b5ce5e539a5dfdecc26f44d2
+DIST PyQt6-6.7.1.tar.gz 1051212 BLAKE2B 9c1c619b08cc14e0a92ea22812c14d5a3cb47e45eea917d50ab63918d8433d54b354f26b885f2567b9c6e2f0380e819972d055d1a1751f6646ebb5e6cf72b228 SHA512 1e0fec009e1823b06460fd96eddc00ed31388c20f6d832aa0ebaa130baf06d83514df43af7961c3cb2872570d27e539d6db7bf6143ccdfd61a19da7521be2c7e
diff --git a/dev-python/PyQt6/PyQt6-6.5.3.ebuild b/dev-python/PyQt6/PyQt6-6.5.3.ebuild
deleted file mode 100644
index d34d5ff53a5b..000000000000
--- a/dev-python/PyQt6/PyQt6-6.5.3.ebuild
+++ /dev/null
@@ -1,179 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=sip
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
-
-# 'can' work with older Qt depending on features, but keeping it simple
-QT_PV=$(ver_cut 1-2):6
-
-DESCRIPTION="Python bindings for the Qt framework"
-HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64"
-# defaults match what is provided with qtbase by default (except testlib),
-# reduces the need to set flags but does increase build time a fair amount
-IUSE="
- bluetooth +dbus debug designer examples gles2-only +gui help
- multimedia +network nfc opengl pdfium positioning +printsupport
- qml quick quick3d serialport sensors spatialaudio speech +sql
- +ssl svg testlib webchannel websockets +widgets +xml
-"
-# see `grep -r "%Import " sip` and `grep qmake_QT project.py`
-REQUIRED_USE="
- designer? ( gui widgets )
- help? ( gui widgets )
- multimedia? ( gui network )
- opengl? ( gui )
- pdfium? ( gui )
- printsupport? ( gui widgets )
- qml? ( network )
- quick3d? ( gui qml )
- quick? ( gui qml )
- spatialaudio? ( multimedia )
- sql? ( widgets )
- svg? ( gui )
- testlib? ( gui widgets )
- webchannel? ( network )
- websockets? ( network )
- widgets? ( gui )
-"
-
-# may use qt private symbols wrt qtbase's :=
-DEPEND="
- >=dev-qt/qtbase-${QT_PV}=[dbus?,gles2-only=,gui?,network?,opengl?,sql?,ssl=,widgets?,xml?]
- bluetooth? ( >=dev-qt/qtconnectivity-${QT_PV}[bluetooth] )
- dbus? (
- dev-python/dbus-python[${PYTHON_USEDEP}]
- sys-apps/dbus
- )
- designer? ( >=dev-qt/qttools-${QT_PV}[designer] )
- help? ( >=dev-qt/qttools-${QT_PV}[assistant] )
- multimedia? ( >=dev-qt/qtmultimedia-${QT_PV} )
- nfc? ( >=dev-qt/qtconnectivity-${QT_PV}[nfc] )
- opengl? (
- gles2-only? ( media-libs/libglvnd )
- )
- pdfium? ( >=dev-qt/qtwebengine-${QT_PV}[pdfium(-),widgets?] )
- positioning? ( >=dev-qt/qtpositioning-${QT_PV} )
- qml? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] )
- quick3d? ( >=dev-qt/qtquick3d-${QT_PV} )
- quick? ( >=dev-qt/qtdeclarative-${QT_PV}[opengl] )
- sensors? ( >=dev-qt/qtsensors-${QT_PV} )
- serialport? ( >=dev-qt/qtserialport-${QT_PV} )
- speech? ( >=dev-qt/qtspeech-${QT_PV} )
- svg? ( >=dev-qt/qtsvg-${QT_PV} )
- webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
- websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/PyQt6-sip-13.6[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/PyQt-builder-1.15[${PYTHON_USEDEP}]
- >=dev-python/sip-6.7.12[${PYTHON_USEDEP}]
- >=dev-qt/qtbase-${QT_PV}
- dbus? ( virtual/pkgconfig )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.5.2-qt660.patch
-)
-
-src_prepare() {
- default
-
- # hack: qmake queries g++ or clang++ for info depending on which qtbase was
- # built with, but ignores CHOST failing with -native-symlinks (bug #726112)
- # and potentially using wrong information when cross-compiling
- mkdir "${T}"/cxx || die
- local cxx
- ! cxx=$(type -P "${CHOST}"-g++) || ln -s -- "${cxx}" "${T}"/cxx/g++ || die
- ! cxx=$(type -P "${CHOST}"-clang++) || ln -s -- "${cxx}" "${T}"/cxx/clang++ || die
- PATH=${T}/cxx:${PATH}
-}
-
-python_configure_all() {
- append-cxxflags -std=c++17 # for old gcc / clang that use <17 (bug #892331)
- append-cxxflags ${CPPFLAGS} # respect CPPFLAGS notably for DISTUTILS_EXT=1
-
- pyqt_use_enable() {
- local state=$(usex ${1} --enable= --disable=)
- shift
- echo ${*/#/${state}}
- }
-
- DISTUTILS_ARGS=(
- --jobs="$(makeopts_jobs)"
- --qmake="$(qt6_get_bindir)"/qmake
- --qmake-setting="$(qt6_get_qmake_args)"
- --verbose
- --confirm-license
-
- --enable=QtCore
-
- $(pyqt_use_enable bluetooth QtBluetooth)
- $(pyqt_use_enable dbus QtDBus)
- $(pyqt_use_enable designer QtDesigner)
- $(pyqt_use_enable help QtHelp)
- $(pyqt_use_enable gui QtGui)
- #--disable=QtLocation # force-disabled in project.py
- $(pyqt_use_enable multimedia QtMultimedia \
- $(usev widgets QtMultimediaWidgets))
- $(pyqt_use_enable network QtNetwork)
- $(pyqt_use_enable nfc QtNfc)
- $(pyqt_use_enable opengl QtOpenGL \
- $(usev widgets QtOpenGLWidgets))
- $(pyqt_use_enable pdfium QtPdf \
- $(usev widgets QtPdfWidgets))
- $(pyqt_use_enable positioning QtPositioning)
- $(pyqt_use_enable printsupport QtPrintSupport)
- $(pyqt_use_enable qml QtQml)
- $(pyqt_use_enable quick QtQuick \
- $(usev widgets QtQuickWidgets))
- $(pyqt_use_enable quick3d QtQuick3D)
- --disable=QtRemoteObjects # not packaged
- $(pyqt_use_enable sensors QtSensors)
- $(pyqt_use_enable serialport QtSerialPort)
- $(pyqt_use_enable spatialaudio QtSpatialAudio)
- $(pyqt_use_enable sql QtSql)
- $(pyqt_use_enable svg QtSvg \
- $(usev widgets QtSvgWidgets))
- $(pyqt_use_enable testlib QtTest)
- $(pyqt_use_enable speech QtTextToSpeech)
- $(pyqt_use_enable webchannel QtWebChannel)
- $(pyqt_use_enable websockets QtWebSockets)
- $(pyqt_use_enable widgets QtWidgets)
- $(pyqt_use_enable xml QtXml)
-
- $(usev debug '--debug --qml-debug --tracing')
-
- $(usev !dbus --no-dbus-python)
- # note: upstream currently intentionally skips installing these two
- # plugins when using wheels w/ pep517 so, *if* something does need
- # them, it will need to be handled manually
- $(usev !designer --no-designer-plugin)
- $(usev !qml --no-qml-plugin)
-
- $(usev !gles2-only --disabled-feature=PyQt_OpenGL_ES2)
- $(usev !opengl --disabled-feature=PyQt_OpenGL)
- $(usev !ssl --disabled-feature=PyQt_SSL)
-
- # intended for Windows / Android or others
- --disable=QAxContainer
- --disabled-feature=PyQt_Permissions
- )
-}
-
-python_install_all() {
- einstalldocs
- use examples && dodoc -r examples
-}
diff --git a/dev-python/PyQt6/PyQt6-6.6.0-r1.ebuild b/dev-python/PyQt6/PyQt6-6.6.0-r1.ebuild
deleted file mode 100644
index 4dee14aeda33..000000000000
--- a/dev-python/PyQt6/PyQt6-6.6.0-r1.ebuild
+++ /dev/null
@@ -1,175 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=sip
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
-
-# 'can' work with older Qt depending on features, but keeping it simple
-QT_PV=$(ver_cut 1-2):6
-
-DESCRIPTION="Python bindings for the Qt framework"
-HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-# defaults match what is provided with qtbase by default (except testlib),
-# reduces the need to set flags but does increase build time a fair amount
-IUSE="
- bluetooth +dbus debug designer examples gles2-only +gui help
- multimedia +network nfc opengl pdfium positioning +printsupport
- qml quick quick3d serialport sensors spatialaudio speech +sql
- +ssl svg testlib webchannel websockets +widgets +xml
-"
-# see `grep -r "%Import " sip` and `grep qmake_QT project.py`
-REQUIRED_USE="
- designer? ( gui widgets )
- help? ( gui widgets )
- multimedia? ( gui network )
- opengl? ( gui )
- pdfium? ( gui )
- printsupport? ( gui widgets )
- qml? ( network )
- quick3d? ( gui qml )
- quick? ( gui qml )
- spatialaudio? ( multimedia )
- sql? ( widgets )
- svg? ( gui )
- testlib? ( gui widgets )
- webchannel? ( network )
- websockets? ( network )
- widgets? ( gui )
-"
-
-# may use qt private symbols wrt qtbase's :=
-DEPEND="
- >=dev-qt/qtbase-${QT_PV}=[dbus?,gles2-only=,gui?,network?,opengl?,sql?,ssl=,widgets?,xml?]
- bluetooth? ( >=dev-qt/qtconnectivity-${QT_PV}[bluetooth] )
- dbus? (
- dev-python/dbus-python[${PYTHON_USEDEP}]
- sys-apps/dbus
- )
- designer? ( >=dev-qt/qttools-${QT_PV}[designer] )
- help? ( >=dev-qt/qttools-${QT_PV}[assistant] )
- multimedia? ( >=dev-qt/qtmultimedia-${QT_PV} )
- nfc? ( >=dev-qt/qtconnectivity-${QT_PV}[nfc] )
- opengl? (
- gles2-only? ( media-libs/libglvnd )
- )
- pdfium? ( >=dev-qt/qtwebengine-${QT_PV}[pdfium(-),widgets?] )
- positioning? ( >=dev-qt/qtpositioning-${QT_PV} )
- qml? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] )
- quick3d? ( >=dev-qt/qtquick3d-${QT_PV} )
- quick? ( >=dev-qt/qtdeclarative-${QT_PV}[opengl] )
- sensors? ( >=dev-qt/qtsensors-${QT_PV} )
- serialport? ( >=dev-qt/qtserialport-${QT_PV} )
- speech? ( >=dev-qt/qtspeech-${QT_PV} )
- svg? ( >=dev-qt/qtsvg-${QT_PV} )
- webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
- websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/PyQt6-sip-13.6[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/PyQt-builder-1.15[${PYTHON_USEDEP}]
- >=dev-python/sip-6.7.12[${PYTHON_USEDEP}]
- >=dev-qt/qtbase-${QT_PV}
- dbus? ( virtual/pkgconfig )
-"
-
-src_prepare() {
- default
-
- # hack: qmake queries g++ or clang++ for info depending on which qtbase was
- # built with, but ignores CHOST failing with -native-symlinks (bug #726112)
- # and potentially using wrong information when cross-compiling
- mkdir "${T}"/cxx || die
- local cxx
- ! cxx=$(type -P "${CHOST}"-g++) || ln -s -- "${cxx}" "${T}"/cxx/g++ || die
- ! cxx=$(type -P "${CHOST}"-clang++) || ln -s -- "${cxx}" "${T}"/cxx/clang++ || die
- PATH=${T}/cxx:${PATH}
-}
-
-python_configure_all() {
- append-cxxflags -std=c++17 # for old gcc / clang that use <17 (bug #892331)
- append-cxxflags ${CPPFLAGS} # respect CPPFLAGS notably for DISTUTILS_EXT=1
-
- pyqt_use_enable() {
- local state=$(usex ${1} --enable= --disable=)
- shift
- echo ${*/#/${state}}
- }
-
- DISTUTILS_ARGS=(
- --jobs="$(makeopts_jobs)"
- --qmake="$(qt6_get_bindir)"/qmake
- --qmake-setting="$(qt6_get_qmake_args)"
- --verbose
- --confirm-license
-
- --enable=QtCore
-
- $(pyqt_use_enable bluetooth QtBluetooth)
- $(pyqt_use_enable dbus QtDBus)
- $(pyqt_use_enable designer QtDesigner)
- $(pyqt_use_enable help QtHelp)
- $(pyqt_use_enable gui QtGui)
- #--disable=QtLocation # force-disabled in project.py
- $(pyqt_use_enable multimedia QtMultimedia \
- $(usev widgets QtMultimediaWidgets))
- $(pyqt_use_enable network QtNetwork)
- $(pyqt_use_enable nfc QtNfc)
- $(pyqt_use_enable opengl QtOpenGL \
- $(usev widgets QtOpenGLWidgets))
- $(pyqt_use_enable pdfium QtPdf \
- $(usev widgets QtPdfWidgets))
- $(pyqt_use_enable positioning QtPositioning)
- $(pyqt_use_enable printsupport QtPrintSupport)
- $(pyqt_use_enable qml QtQml)
- $(pyqt_use_enable quick QtQuick \
- $(usev widgets QtQuickWidgets))
- $(pyqt_use_enable quick3d QtQuick3D)
- --disable=QtRemoteObjects # not packaged
- $(pyqt_use_enable sensors QtSensors)
- $(pyqt_use_enable serialport QtSerialPort)
- $(pyqt_use_enable spatialaudio QtSpatialAudio)
- $(pyqt_use_enable sql QtSql)
- $(pyqt_use_enable svg QtSvg \
- $(usev widgets QtSvgWidgets))
- $(pyqt_use_enable testlib QtTest)
- $(pyqt_use_enable speech QtTextToSpeech)
- $(pyqt_use_enable webchannel QtWebChannel)
- $(pyqt_use_enable websockets QtWebSockets)
- $(pyqt_use_enable widgets QtWidgets)
- $(pyqt_use_enable xml QtXml)
-
- $(usev debug '--debug --qml-debug --tracing')
-
- $(usev !dbus --no-dbus-python)
- # note: upstream currently intentionally skips installing these two
- # plugins when using wheels w/ pep517 so, *if* something does need
- # them, it will need to be handled manually
- $(usev !designer --no-designer-plugin)
- $(usev !qml --no-qml-plugin)
-
- $(usev !gles2-only --disabled-feature=PyQt_OpenGL_ES2)
- $(usev !opengl --disabled-feature=PyQt_OpenGL)
- $(usev !ssl --disabled-feature=PyQt_SSL)
-
- # intended for Windows / Android or others
- --disable=QAxContainer
- --disabled-feature=PyQt_Permissions
- )
-}
-
-python_install_all() {
- einstalldocs
- use examples && dodoc -r examples
-}
diff --git a/dev-python/PyQt6/PyQt6-6.7.0.ebuild b/dev-python/PyQt6/PyQt6-6.7.0.ebuild
new file mode 100644
index 000000000000..feeb9ad16db7
--- /dev/null
+++ b/dev-python/PyQt6/PyQt6-6.7.0.ebuild
@@ -0,0 +1,180 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=sip
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..13} )
+inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
+
+# 'can' work with older Qt depending on features, but keeping it simple
+QT_PV=$(ver_cut 1-2):6
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv"
+# defaults match what is provided with qtbase by default (except testlib),
+# reduces the need to set flags but does increase build time a fair amount
+IUSE="
+ bluetooth +dbus debug designer examples gles2-only +gui help
+ multimedia +network nfc opengl pdfium positioning +printsupport
+ qml quick quick3d serialport sensors spatialaudio speech +sql
+ +ssl svg testlib webchannel websockets +widgets +xml
+"
+# see `grep -r "%Import " sip` and `grep qmake_QT project.py`
+REQUIRED_USE="
+ designer? ( gui widgets )
+ help? ( gui widgets )
+ multimedia? ( gui network )
+ opengl? ( gui )
+ pdfium? ( gui )
+ printsupport? ( gui widgets )
+ qml? ( network )
+ quick3d? ( gui qml )
+ quick? ( gui qml )
+ spatialaudio? ( multimedia )
+ sql? ( widgets )
+ svg? ( gui )
+ testlib? ( gui widgets )
+ webchannel? ( network )
+ websockets? ( network )
+ widgets? ( gui )
+"
+
+# may use qt private symbols wrt qtbase's :=
+# non-trivially broken with Qt6.8 wrt upper bound, waiting for PyQt6-6.8.0
+DEPEND="
+ >=dev-qt/qtbase-${QT_PV}=[dbus?,gles2-only=,gui?,network?,opengl?,sql?,ssl=,widgets?,xml?]
+ <dev-qt/qtbase-6.8
+ bluetooth? ( >=dev-qt/qtconnectivity-${QT_PV}[bluetooth] )
+ dbus? (
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ sys-apps/dbus
+ )
+ designer? ( >=dev-qt/qttools-${QT_PV}[designer] )
+ help? ( >=dev-qt/qttools-${QT_PV}[assistant] )
+ multimedia? ( >=dev-qt/qtmultimedia-${QT_PV} )
+ nfc? ( >=dev-qt/qtconnectivity-${QT_PV}[nfc] )
+ opengl? (
+ gles2-only? ( media-libs/libglvnd )
+ )
+ pdfium? ( >=dev-qt/qtwebengine-${QT_PV}[pdfium,widgets?] )
+ positioning? ( >=dev-qt/qtpositioning-${QT_PV} )
+ qml? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] )
+ quick3d? ( >=dev-qt/qtquick3d-${QT_PV} )
+ quick? ( >=dev-qt/qtdeclarative-${QT_PV}[opengl] )
+ sensors? ( >=dev-qt/qtsensors-${QT_PV} )
+ serialport? ( >=dev-qt/qtserialport-${QT_PV} )
+ speech? (
+ >=dev-qt/qtdeclarative-${QT_PV}
+ >=dev-qt/qtspeech-${QT_PV}
+ )
+ svg? ( >=dev-qt/qtsvg-${QT_PV} )
+ webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
+ websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/PyQt6-sip-13.6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/PyQt-builder-1.15[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.8[${PYTHON_USEDEP}]
+ >=dev-qt/qtbase-${QT_PV}
+ dbus? ( virtual/pkgconfig )
+"
+
+src_prepare() {
+ default
+
+ # hack: PyQt-builder runs qmake without our arguments and calls g++
+ # or clang++ depending on what qtbase was built with, not used for
+ # building but fails with -native-symlinks
+ mkdir "${T}"/cxx || die
+ local cxx
+ ! cxx=$(type -P "${CHOST}"-g++) || ln -s -- "${cxx}" "${T}"/cxx/g++ || die
+ ! cxx=$(type -P "${CHOST}"-clang++) || ln -s -- "${cxx}" "${T}"/cxx/clang++ || die
+ PATH=${T}/cxx:${PATH}
+}
+
+python_configure_all() {
+ append-cxxflags -std=c++17 # for old gcc / clang that use <17 (bug #892331)
+ append-cxxflags ${CPPFLAGS} # respect CPPFLAGS notably for DISTUTILS_EXT=1
+
+ pyqt_use_enable() {
+ local state=$(usex ${1} --enable= --disable=)
+ shift
+ echo ${*/#/${state}}
+ }
+
+ DISTUTILS_ARGS=(
+ --jobs="$(makeopts_jobs)"
+ --qmake="$(qt6_get_bindir)"/qmake
+ --qmake-setting="$(qt6_get_qmake_args)"
+ --verbose
+ --confirm-license
+
+ --enable=QtCore
+
+ $(pyqt_use_enable bluetooth QtBluetooth)
+ $(pyqt_use_enable dbus QtDBus)
+ $(pyqt_use_enable designer QtDesigner)
+ $(pyqt_use_enable help QtHelp)
+ $(pyqt_use_enable gui QtGui)
+ #--disable=QtLocation # force-disabled in project.py
+ $(pyqt_use_enable multimedia QtMultimedia \
+ $(usev widgets QtMultimediaWidgets))
+ $(pyqt_use_enable network QtNetwork)
+ $(pyqt_use_enable nfc QtNfc)
+ $(pyqt_use_enable opengl QtOpenGL \
+ $(usev widgets QtOpenGLWidgets))
+ $(pyqt_use_enable pdfium QtPdf \
+ $(usev widgets QtPdfWidgets))
+ $(pyqt_use_enable positioning QtPositioning)
+ $(pyqt_use_enable printsupport QtPrintSupport)
+ $(pyqt_use_enable qml QtQml)
+ $(pyqt_use_enable quick QtQuick \
+ $(usev widgets QtQuickWidgets))
+ $(pyqt_use_enable quick3d QtQuick3D)
+ --disable=QtRemoteObjects # not packaged
+ $(pyqt_use_enable sensors QtSensors)
+ $(pyqt_use_enable serialport QtSerialPort)
+ $(pyqt_use_enable spatialaudio QtSpatialAudio)
+ $(pyqt_use_enable sql QtSql)
+ $(pyqt_use_enable svg QtSvg \
+ $(usev widgets QtSvgWidgets))
+ $(pyqt_use_enable testlib QtTest)
+ $(pyqt_use_enable speech QtTextToSpeech)
+ $(pyqt_use_enable webchannel QtWebChannel)
+ $(pyqt_use_enable websockets QtWebSockets)
+ $(pyqt_use_enable widgets QtWidgets)
+ $(pyqt_use_enable xml QtXml)
+
+ $(usev debug '--debug --qml-debug --tracing')
+
+ $(usev !dbus --no-dbus-python)
+ # note: upstream currently intentionally skips installing these two
+ # plugins when using wheels w/ pep517 so, *if* something does need
+ # them, it will need to be handled manually
+ $(usev !designer --no-designer-plugin)
+ $(usev !qml --no-qml-plugin)
+
+ $(usev !gles2-only --disabled-feature=PyQt_OpenGL_ES2)
+ $(usev !opengl --disabled-feature=PyQt_OpenGL)
+ $(usev !ssl --disabled-feature=PyQt_SSL)
+
+ # intended for Windows / Android or others
+ --disable=QAxContainer
+ --disabled-feature=PyQt_Permissions
+ )
+}
+
+python_install_all() {
+ einstalldocs
+ use examples && dodoc -r examples
+}
diff --git a/dev-python/PyQt6/PyQt6-6.7.1-r1.ebuild b/dev-python/PyQt6/PyQt6-6.7.1-r1.ebuild
new file mode 100644
index 000000000000..b4c34d3c8829
--- /dev/null
+++ b/dev-python/PyQt6/PyQt6-6.7.1-r1.ebuild
@@ -0,0 +1,180 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=sip
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..13} )
+inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
+
+# 'can' work with older Qt depending on features, but keeping it simple
+QT_PV=$(ver_cut 1-2):6
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="https://www.riverbankcomputing.com/software/pyqt/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv"
+# defaults match what is provided with qtbase by default (except testlib),
+# reduces the need to set flags but does increase build time a fair amount
+IUSE="
+ bluetooth +dbus debug designer examples gles2-only +gui help
+ multimedia +network nfc opengl pdfium positioning +printsupport
+ qml quick quick3d serialport sensors spatialaudio speech +sql
+ +ssl svg testlib webchannel websockets +widgets +xml
+"
+# see `grep -r "%Import " sip` and `grep qmake_QT project.py`
+REQUIRED_USE="
+ designer? ( gui widgets )
+ help? ( gui widgets )
+ multimedia? ( gui network )
+ opengl? ( gui )
+ pdfium? ( gui )
+ printsupport? ( gui widgets )
+ qml? ( network )
+ quick3d? ( gui qml )
+ quick? ( gui qml )
+ spatialaudio? ( multimedia )
+ sql? ( widgets )
+ svg? ( gui )
+ testlib? ( gui widgets )
+ webchannel? ( network )
+ websockets? ( network )
+ widgets? ( gui )
+"
+
+# may use qt private symbols wrt qtbase's :=
+# non-trivially broken with Qt6.8 wrt upper bound, waiting for PyQt6-6.8.0
+DEPEND="
+ >=dev-qt/qtbase-${QT_PV}=[dbus?,gles2-only=,gui?,network?,opengl?,sql?,ssl=,widgets?,xml?]
+ <dev-qt/qtbase-6.8
+ bluetooth? ( >=dev-qt/qtconnectivity-${QT_PV}[bluetooth] )
+ dbus? (
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ sys-apps/dbus
+ )
+ designer? ( >=dev-qt/qttools-${QT_PV}[designer] )
+ help? ( >=dev-qt/qttools-${QT_PV}[assistant] )
+ multimedia? ( >=dev-qt/qtmultimedia-${QT_PV} )
+ nfc? ( >=dev-qt/qtconnectivity-${QT_PV}[nfc] )
+ opengl? (
+ gles2-only? ( media-libs/libglvnd )
+ )
+ pdfium? ( >=dev-qt/qtwebengine-${QT_PV}[pdfium,widgets?] )
+ positioning? ( >=dev-qt/qtpositioning-${QT_PV} )
+ qml? ( >=dev-qt/qtdeclarative-${QT_PV}[widgets?] )
+ quick3d? ( >=dev-qt/qtquick3d-${QT_PV} )
+ quick? ( >=dev-qt/qtdeclarative-${QT_PV}[opengl] )
+ sensors? ( >=dev-qt/qtsensors-${QT_PV} )
+ serialport? ( >=dev-qt/qtserialport-${QT_PV} )
+ speech? (
+ >=dev-qt/qtdeclarative-${QT_PV}
+ >=dev-qt/qtspeech-${QT_PV}
+ )
+ svg? ( >=dev-qt/qtsvg-${QT_PV} )
+ webchannel? ( >=dev-qt/qtwebchannel-${QT_PV} )
+ websockets? ( >=dev-qt/qtwebsockets-${QT_PV} )
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/PyQt6-sip-13.8[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/PyQt-builder-1.15[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.8.6[${PYTHON_USEDEP}]
+ >=dev-qt/qtbase-${QT_PV}
+ dbus? ( virtual/pkgconfig )
+"
+
+src_prepare() {
+ default
+
+ # hack: PyQt-builder runs qmake without our arguments and calls g++
+ # or clang++ depending on what qtbase was built with, not used for
+ # building but fails with -native-symlinks
+ mkdir "${T}"/cxx || die
+ local cxx
+ ! cxx=$(type -P "${CHOST}"-g++) || ln -s -- "${cxx}" "${T}"/cxx/g++ || die
+ ! cxx=$(type -P "${CHOST}"-clang++) || ln -s -- "${cxx}" "${T}"/cxx/clang++ || die
+ PATH=${T}/cxx:${PATH}
+}
+
+python_configure_all() {
+ append-cxxflags -std=c++17 # for old gcc / clang that use <17 (bug #892331)
+ append-cxxflags ${CPPFLAGS} # respect CPPFLAGS notably for DISTUTILS_EXT=1
+
+ pyqt_use_enable() {
+ local state=$(usex ${1} --enable= --disable=)
+ shift
+ echo ${*/#/${state}}
+ }
+
+ DISTUTILS_ARGS=(
+ --jobs="$(makeopts_jobs)"
+ --qmake="$(qt6_get_bindir)"/qmake
+ --qmake-setting="$(qt6_get_qmake_args)"
+ --verbose
+ --confirm-license
+
+ --enable=QtCore
+
+ $(pyqt_use_enable bluetooth QtBluetooth)
+ $(pyqt_use_enable dbus QtDBus)
+ $(pyqt_use_enable designer QtDesigner)
+ $(pyqt_use_enable help QtHelp)
+ $(pyqt_use_enable gui QtGui)
+ #--disable=QtLocation # force-disabled in project.py
+ $(pyqt_use_enable multimedia QtMultimedia \
+ $(usev widgets QtMultimediaWidgets))
+ $(pyqt_use_enable network QtNetwork)
+ $(pyqt_use_enable nfc QtNfc)
+ $(pyqt_use_enable opengl QtOpenGL \
+ $(usev widgets QtOpenGLWidgets))
+ $(pyqt_use_enable pdfium QtPdf \
+ $(usev widgets QtPdfWidgets))
+ $(pyqt_use_enable positioning QtPositioning)
+ $(pyqt_use_enable printsupport QtPrintSupport)
+ $(pyqt_use_enable qml QtQml)
+ $(pyqt_use_enable quick QtQuick \
+ $(usev widgets QtQuickWidgets))
+ $(pyqt_use_enable quick3d QtQuick3D)
+ --disable=QtRemoteObjects # not packaged
+ $(pyqt_use_enable sensors QtSensors)
+ $(pyqt_use_enable serialport QtSerialPort)
+ $(pyqt_use_enable spatialaudio QtSpatialAudio)
+ $(pyqt_use_enable sql QtSql)
+ $(pyqt_use_enable svg QtSvg \
+ $(usev widgets QtSvgWidgets))
+ $(pyqt_use_enable testlib QtTest)
+ $(pyqt_use_enable speech QtTextToSpeech)
+ $(pyqt_use_enable webchannel QtWebChannel)
+ $(pyqt_use_enable websockets QtWebSockets)
+ $(pyqt_use_enable widgets QtWidgets)
+ $(pyqt_use_enable xml QtXml)
+
+ $(usev debug '--debug --qml-debug --tracing')
+
+ $(usev !dbus --no-dbus-python)
+ # note: upstream currently intentionally skips installing these two
+ # plugins when using wheels w/ pep517 so, *if* something does need
+ # them, it will need to be handled manually
+ $(usev !designer --no-designer-plugin)
+ $(usev !qml --no-qml-plugin)
+
+ $(usev !gles2-only --disabled-feature=PyQt_OpenGL_ES2)
+ $(usev !opengl --disabled-feature=PyQt_OpenGL)
+ $(usev !ssl --disabled-feature=PyQt_SSL)
+
+ # intended for Windows / Android or others
+ --disable=QAxContainer
+ --disabled-feature=PyQt_Permissions
+ )
+}
+
+python_install_all() {
+ einstalldocs
+ use examples && dodoc -r examples
+}
diff --git a/dev-python/PyQt6/files/PyQt6-6.5.2-qt660.patch b/dev-python/PyQt6/files/PyQt6-6.5.2-qt660.patch
deleted file mode 100644
index f0e204238a0a..000000000000
--- a/dev-python/PyQt6/files/PyQt6-6.5.2-qt660.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Quick workaround to fix build with USE=sql for Qt6.6 due to [1]
-while waiting for PyQt6-6.6.0. Not a proper fix but nothing in
-tree needs this bit currently.
-
-USE=bluetooth is still broken, but is not essential (no revdeps),
-and can instead be masked for the time being.
-
-[1] https://github.com/qt/qtbase/commit/d924253c91
---- a/sip/QtCore/QtCoremod.sip
-+++ b/sip/QtCore/QtCoremod.sip
-@@ -24,3 +24,3 @@
-
--%Timeline {Qt_6_0_0 Qt_6_1_0 Qt_6_2_0 Qt_6_3_0 Qt_6_4_0 Qt_6_5_0}
-+%Timeline {Qt_6_0_0 Qt_6_1_0 Qt_6_2_0 Qt_6_3_0 Qt_6_4_0 Qt_6_5_0 Qt_6_6_0}
-
---- a/sip/QtSql/qsqlresult.sip
-+++ b/sip/QtSql/qsqlresult.sip
-@@ -65,3 +65,5 @@
- int boundValueCount() const;
-+%If (- Qt_6_6_0)
- QList<QVariant> &boundValues() const;
-+%End
- QString executedQuery() const;
diff --git a/dev-python/PyQtWebEngine/Manifest b/dev-python/PyQtWebEngine/Manifest
index 3cbff134bc2f..2ccfe14c06f4 100644
--- a/dev-python/PyQtWebEngine/Manifest
+++ b/dev-python/PyQtWebEngine/Manifest
@@ -1 +1,2 @@
DIST PyQtWebEngine-5.15.6.tar.gz 48871 BLAKE2B af7c30a0d2e65e12a6eb4a2d3a40d72f94f16a5b4e509f9366be4bfb7d4358b27b3f9c0a7e4a2e7254d38950cbbd6bd4eb88e321949d4d9a44e6ea7e06c2f902 SHA512 f744fb0468ccbc79aad23d941c8e96d537ceeedfae215c7095dbf36b04b3dd042f0ff80aeca25a23715964b7d6db3bc80513f509d15c6dd6bd51e42a1a4e1975
+DIST PyQtWebEngine-5.15.7.tar.gz 32223 BLAKE2B 81c318e9117ccfad9f883e9282cdb93d936c7ee4def1ab927af2d1090e79f513f24e91455fa5b769fd5bb1094061e10a7f001f9c6172e51df4f50efac16a77e3 SHA512 0eede365bd0fa6eb60aa09443298a7afdb94497960ae31bf050311aec919c02a17ea13e57abe37e55f74d458acf34a6c3ab7f5895914742adc90e90a8c0eb442
diff --git a/dev-python/PyQtWebEngine/PyQtWebEngine-5.15.6-r1.ebuild b/dev-python/PyQtWebEngine/PyQtWebEngine-5.15.6-r1.ebuild
index d81f0f1beaf0..cd00a8de9888 100644
--- a/dev-python/PyQtWebEngine/PyQtWebEngine-5.15.6-r1.ebuild
+++ b/dev-python/PyQtWebEngine/PyQtWebEngine-5.15.6-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,19 +6,15 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=sip
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
DESCRIPTION="Python bindings for QtWebEngine"
-HOMEPAGE="
- https://www.riverbankcomputing.com/software/pyqtwebengine/
- https://pypi.org/project/PyQtWebEngine/
-"
+HOMEPAGE="https://www.riverbankcomputing.com/software/pyqtwebengine/"
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~x86"
+KEYWORDS="amd64 arm64 ~x86"
IUSE="debug"
DEPEND="
diff --git a/dev-python/PyQtWebEngine/PyQtWebEngine-5.15.7.ebuild b/dev-python/PyQtWebEngine/PyQtWebEngine-5.15.7.ebuild
new file mode 100644
index 000000000000..706e0b4a5325
--- /dev/null
+++ b/dev-python/PyQtWebEngine/PyQtWebEngine-5.15.7.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=sip
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..13} )
+inherit distutils-r1 flag-o-matic multiprocessing pypi qmake-utils
+
+DESCRIPTION="Python bindings for QtWebEngine"
+HOMEPAGE="https://www.riverbankcomputing.com/software/pyqtwebengine/"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="debug"
+
+DEPEND="
+ >=dev-python/PyQt5-5.15.5[gui,network,printsupport,ssl,webchannel,widgets,${PYTHON_USEDEP}]
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtnetwork:5
+ dev-qt/qtwidgets:5
+ dev-qt/qtwebengine:5[widgets]
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/PyQt5-sip-12.15:=[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/PyQt-builder-1.9[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.8.6[${PYTHON_USEDEP}]
+ dev-qt/qtcore:5
+"
+
+python_configure_all() {
+ append-cxxflags ${CPPFLAGS} # respect CPPFLAGS notably for DISTUTILS_EXT=1
+
+ DISTUTILS_ARGS=(
+ --jobs="$(makeopts_jobs)"
+ --qmake="$(qt5_get_bindir)"/qmake
+ --qmake-setting="$(qt5_get_qmake_args)"
+ --verbose
+ $(usev debug '--debug --qml-debug --tracing')
+ )
+}
diff --git a/dev-python/PyRSS2Gen/PyRSS2Gen-1.1-r2.ebuild b/dev-python/PyRSS2Gen/PyRSS2Gen-1.1-r2.ebuild
index e3959e15dcab..6cdf17e81365 100644
--- a/dev-python/PyRSS2Gen/PyRSS2Gen-1.1-r2.ebuild
+++ b/dev-python/PyRSS2Gen/PyRSS2Gen-1.1-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9,10,11} )
+PYTHON_COMPAT=( python3_{9,10,11,12} )
inherit distutils-r1
diff --git a/dev-python/PySDL2/Manifest b/dev-python/PySDL2/Manifest
index 50a3d0c6876c..aeb9f90c26a4 100644
--- a/dev-python/PySDL2/Manifest
+++ b/dev-python/PySDL2/Manifest
@@ -1,2 +1 @@
-DIST PySDL2-0.9.13.tar.gz 754811 BLAKE2B fe9d3fb32cac104303d67741c3b9e0d78d3d03198ed512464bbdf5bc487a5f4c9a92aafb100c53c02d8be87bb107034f67ebb72294ad67cc0a8b42ab7a678a31 SHA512 f866e7ed35e3ccfbb5b98f797e87d5b20c6f7dadbc3396b297cbb6c2d83a7f3290fde63940a4d8f190e40a4a9269d2df9efc1932d9578d3df1617e5fcbe6ecad
DIST PySDL2-0.9.16.tar.gz 773537 BLAKE2B 5cfe4ab3981a665fc7f7606c07a3252e58c2706e45ab41d0d6444b4d3fb1c8805b5fd67e770a8a64538d305be0013a4d599ee81f5de0c5370146edc9d4d858df SHA512 ffe7abe8e828926934677c81a42c9af794c4817144eba50c40430c150d476dea40f0b36e639b2c270cbd8e00ab5bf5b032a4c0e514255cceef8161c8d76f8cb2
diff --git a/dev-python/PySDL2/PySDL2-0.9.13.ebuild b/dev-python/PySDL2/PySDL2-0.9.13.ebuild
deleted file mode 100644
index 2d34a3934ab3..000000000000
--- a/dev-python/PySDL2/PySDL2-0.9.13.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python (ctypes) bindings for SDL2 libraries"
-HOMEPAGE="
- https://github.com/py-sdl/py-sdl2/
- https://pypi.org/project/PySDL2/
-"
-
-LICENSE="|| ( public-domain CC0-1.0 ZLIB )"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-# Optional deps:
-# - dev-python/numpy,
-# - dev-python/pillow,
-# - media-libs/sdl2-* (loaded dynamically via ctypes).
-#
-# If a reverse dependency needs the specific module, it should
-# explicitly depend on the optional module in question. You also
-# probably need to explicitly require some media-libs/libsdl2 flags.
-RDEPEND="media-libs/libsdl2"
-
-# Require all of SDL2 libraries and at least the most common subsystems
-# for better test coverage.
-DEPEND="
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- media-libs/libsdl2[joystick,sound,video]
- media-libs/sdl2-gfx
- media-libs/sdl2-image[gif,jpeg,png,tiff,webp]
- || (
- media-libs/sdl2-mixer[flac]
- media-libs/sdl2-mixer[midi]
- media-libs/sdl2-mixer[mod]
- media-libs/sdl2-mixer[mp3]
- media-libs/sdl2-mixer[opus]
- )
- media-libs/sdl2-ttf
- )"
-
-EPYTEST_DESELECT=(
- # Both tests fail and seem machine-dependent?
- sdl2/test/sdlttf_test.py::test_TTF_SetFontSize
- sdl2/test/sdlttf_test.py::test_TTF_SetFontSizeDPI
-)
-
-distutils_enable_tests pytest
-
-src_test() {
- # from .travis.yml
- local -x SDL_VIDEODRIVER=dummy
- local -x SDL_AUDIODRIVER=dummy
- local -x SDL_RENDER_DRIVER=software
-
- distutils-r1_src_test
-}
diff --git a/dev-python/PySDL2/PySDL2-0.9.16.ebuild b/dev-python/PySDL2/PySDL2-0.9.16.ebuild
index 539e04548bf8..e0ceaf24d361 100644
--- a/dev-python/PySDL2/PySDL2-0.9.16.ebuild
+++ b/dev-python/PySDL2/PySDL2-0.9.16.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/PySensors/Manifest b/dev-python/PySensors/Manifest
deleted file mode 100644
index 60d55530bb28..000000000000
--- a/dev-python/PySensors/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST PySensors-0.0.4.tar.gz 10599 BLAKE2B be3a3692a846e5339758eff4f4396dd15bf96b3d20bc40df45436ce58381ac87503bca190fa215121506ecf9ce5175b254d93142ee881c4d5b8ef8e045854659 SHA512 8e6b2beee9bf282f073618c0b45e53330ce82c9fc9c6565a3c6b5f812231421c8c6e15ccc4fc92cda67ed08df5c482577d4a34720c920dbba7604f2b7c3ba21c
diff --git a/dev-python/PySensors/PySensors-0.0.4-r1.ebuild b/dev-python/PySensors/PySensors-0.0.4-r1.ebuild
deleted file mode 100644
index 954d8809546f..000000000000
--- a/dev-python/PySensors/PySensors-0.0.4-r1.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings to libsensors (via ctypes)"
-HOMEPAGE="https://pypi.org/project/PySensors/"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND=">=sys-apps/lm-sensors-3"
diff --git a/dev-python/PySensors/metadata.xml b/dev-python/PySensors/metadata.xml
deleted file mode 100644
index 90aa8fd41c4e..000000000000
--- a/dev-python/PySensors/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>grobian@gentoo.org</email>
- <name>Fabian Groffen</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">PySensors</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/PySocks/PySocks-1.7.1-r2.ebuild b/dev-python/PySocks/PySocks-1.7.1-r2.ebuild
index dee394271fcc..eb503cb2a644 100644
--- a/dev-python/PySocks/PySocks-1.7.1-r2.ebuild
+++ b/dev-python/PySocks/PySocks-1.7.1-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
@@ -6,7 +6,7 @@ EAPI=7
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/Pyro5/Pyro5-5.15-r1.ebuild b/dev-python/Pyro5/Pyro5-5.15-r1.ebuild
index 2d3c0ae5bb4c..6a65b9fdf96b 100644
--- a/dev-python/Pyro5/Pyro5-5.15-r1.ebuild
+++ b/dev-python/Pyro5/Pyro5-5.15-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYTHON_REQ_USE="sqlite"
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
diff --git a/dev-python/QtPy/Manifest b/dev-python/QtPy/Manifest
index 629ab0ed5441..f518af3f339b 100644
--- a/dev-python/QtPy/Manifest
+++ b/dev-python/QtPy/Manifest
@@ -1,3 +1 @@
-DIST QtPy-2.3.1.tar.gz 56260 BLAKE2B 1b8d76879cc1f07b3633e6b25887ac4621ee3a8e9ebbcaa1f1f8c4f3fbcdae37bd5d659717bf89227d4ed6b5126554b329813aaee0b6be333c0cdc931cfb8d43 SHA512 9c738ec07e18852b67c30962fbc0ca48479eccff2a9f2ee9f4817c4ead5a8068d54aced58d632977163f180a584a9b7b2b68ea25e0577b92a262fef8eb576041
-DIST QtPy-2.4.0.tar.gz 65007 BLAKE2B d2770608d807959aaa8b0201304be1f3f112f039f8febddf62bc7cd09a04ed53dd7fd89ee782fd3bd11c5f84c8d2a8c529242c2df01d34c27d87ac1f8873017f SHA512 54be0c9b15055f9c078ff8eebd88910d718833f3d9572567076b1fc0c22d3d5c12dc2a2d7fbedb9bc8636d575775e83cb08a554a0ee45a859297501a5711b716
DIST QtPy-2.4.1.tar.gz 65492 BLAKE2B 3816e3836c171f75fc1877984b533602c8929a791b09a1f53b14687eae7a1067e47fcae3a198d798417521a1a81829168d3af94178b28d8a3bd2c28e7d9f7865 SHA512 cb7c65cfec5aba9bdc4942b95108ac0300eac5ca8f0c984e8ea789b77fded3a1817f591d43bc45e9aa4feb3cb3da64c0d42ae67f12121a807cf7c247e7612e7d
diff --git a/dev-python/QtPy/QtPy-2.3.1-r1.ebuild b/dev-python/QtPy/QtPy-2.3.1-r1.ebuild
deleted file mode 100644
index 237b0ebc5a17..000000000000
--- a/dev-python/QtPy/QtPy-2.3.1-r1.ebuild
+++ /dev/null
@@ -1,216 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 virtualx pypi
-
-DESCRIPTION="Abstraction layer on top of PyQt and PySide with additional custom QWidgets"
-HOMEPAGE="
- https://github.com/spyder-ide/qtpy/
- https://pypi.org/project/QtPy/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
-
-_IUSE_QT_MODULES="
- designer +gui help multimedia +network opengl positioning
- printsupport qml quick serialport +sql svg testlib
- webchannel webengine websockets +widgets +xml
-"
-IUSE="+pyqt5 pyqt6 pyside2 pyside6 ${_IUSE_QT_MODULES}"
-unset _IUSE_QT_MODULES
-
-REQUIRED_USE="
- || ( pyqt5 pyqt6 pyside2 pyside6 )
- python_targets_python3_12? ( !pyside2 !pyside6 )
-"
-
-# These flags are currently *not* common to the PySide2/6 and PyQt5/6 ebuilds
-# Disable them for now, please check periodically if this is still up to date.
-# bluetooth? ( pyqt5 only )
-# dbus? ( pyqt5 only )
-#
-# 3d? ( pyside2 only )
-# charts? ( pyside2 only )
-# concurrent? ( pyside2 only )
-# datavis? ( pyside2 only )
-# scxml? ( pyside2 only )
-#
-# location? ( pyside2 and pyqt5 only )
-# sensors? ( pyside2 and pyqt5 only )
-# speech? ( pyside2 and pyqt5 only )
-# x11extras? ( pyside2 and pyqt5 only )
-# xmlpatterns? ( pyside2 and pyqt5 only )
-
-# WARNING: the obvious solution of using || for PyQt5/pyside2 is not going
-# to work. The package only checks whether PyQt5/pyside2 is installed, it does
-# not verify whether they have the necessary modules (i.e. satisfy the USE dep).
-#
-# Webengine is a special case, because PyQt5 provides this in a separate package
-# while PySide2 ships it in the same package.
-#
-# declarative/qml/quick is a special case, because PyQt5 bundles the bindings
-# for qml and quick in one flag: declarative PySide2 does not.
-#
-# The PyQt5 ebuild currently enables xml support unconditionally, the flag is
-# added anyway with a (+) to make it future proof if the ebuild were to change
-# this behaviour in the future.
-#
-# The PySide2 ebuild currently enables opengl and serialport support
-# unconditionally, the flag is added anyway with a (+) to make it future proof
-# if the ebuild were to change this behaviour in the future.
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- pyqt5? (
- dev-python/PyQt5[${PYTHON_USEDEP}]
- dev-python/PyQt5[designer?,gui?,help?,multimedia?,network?,opengl?]
- dev-python/PyQt5[positioning?,printsupport?,serialport?,sql?,svg?]
- dev-python/PyQt5[testlib?,webchannel?,websockets?,widgets?,xml(+)?]
- qml? ( dev-python/PyQt5[declarative] )
- quick? ( dev-python/PyQt5[declarative] )
- webengine? ( dev-python/PyQtWebEngine[${PYTHON_USEDEP}] )
- )
- pyqt6? (
- dev-python/PyQt6[${PYTHON_USEDEP}]
- dev-python/PyQt6[designer?,gui?,help?,multimedia?,network?,opengl?]
- dev-python/PyQt6[positioning?,printsupport?,qml?,quick?,serialport?,sql?]
- dev-python/PyQt6[svg?,testlib?,webchannel?,websockets?,widgets?,xml?]
- webengine? ( dev-python/PyQt6-WebEngine[${PYTHON_USEDEP},widgets?,quick?] )
-
- )
- pyside2? (
- $(python_gen_cond_dep '
- dev-python/pyside2[${PYTHON_USEDEP}]
- dev-python/pyside2[designer?,gui?,help?,multimedia?,network?,opengl(+)?]
- dev-python/pyside2[positioning?,printsupport?,qml?,quick?,serialport(+)?]
- dev-python/pyside2[sql?,svg?,testlib?,webchannel?,webengine?,websockets?]
- dev-python/pyside2[widgets?,xml?]
- ' python3_{10..11})
- )
- pyside6? (
- $(python_gen_cond_dep '
- dev-python/pyside6[${PYTHON_USEDEP}]
- dev-python/pyside6[designer?,gui?,help?,multimedia?,network?,opengl?]
- dev-python/pyside6[positioning?,printsupport?,qml?,quick?,serialport?]
- dev-python/pyside6[sql?,svg?,testlib?,webchannel?,webengine?,websockets?]
- dev-python/pyside6[widgets?,xml?]
- ' python3_{10..11})
- )
-"
-
-# The QtPy testsuite skips tests for bindings that are not installed, so here we
-# ensure that everything is available and all tests are run. Note that not
-# all flags are available in PyQt5/PySide2, so some tests are still skipped.
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- pyqt5? (
- dev-python/PyQt5[${PYTHON_USEDEP}]
- dev-python/PyQt5[bluetooth,dbus,declarative,designer,gui,help,location]
- dev-python/PyQt5[multimedia,network,opengl,positioning,printsupport]
- dev-python/PyQt5[sensors,serialport,speech(-),sql,svg,testlib,webchannel]
- dev-python/PyQt5[websockets,widgets,x11extras,xml(+),xmlpatterns]
- dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
- )
- pyqt6? (
- dev-python/PyQt6[${PYTHON_USEDEP}]
- dev-python/PyQt6[dbus,designer,gui,help,multimedia,network,opengl]
- dev-python/PyQt6[positioning,printsupport,qml,quick,quick3d,serialport]
- dev-python/PyQt6[sql,ssl,svg,testlib,webchannel,websockets,widgets,xml]
- dev-python/PyQt6-WebEngine[${PYTHON_USEDEP},widgets,quick]
- )
- pyside2? (
- $(python_gen_cond_dep '
- dev-python/pyside2[${PYTHON_USEDEP}]
- dev-python/pyside2[3d,charts,concurrent,datavis,designer,gui,help]
- dev-python/pyside2[location,multimedia,network,opengl(+),positioning]
- dev-python/pyside2[printsupport,qml,quick,scxml]
- dev-python/pyside2[sensors,serialport(+),speech,sql,svg,testlib]
- dev-python/pyside2[webchannel,webengine,websockets,widgets,x11extras]
- dev-python/pyside2[xml,xmlpatterns]
- ' python3_{10..11})
- )
- pyside6? (
- $(python_gen_cond_dep '
- dev-python/pyside6[${PYTHON_USEDEP}]
- dev-python/pyside6[concurrent,dbus,designer,gui,help,multimedia]
- dev-python/pyside6[network,opengl,positioning,printsupport,qml]
- dev-python/pyside6[quick,quick3d,serialport,sql,svg,testlib]
- dev-python/pyside6[webchannel,webengine,websockets,widgets,xml]
- ' python3_{10..11})
- )
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
- sed -i -e 's:--cov=qtpy --cov-report=term-missing::' pytest.ini || die
- # Disable Qt for Python implementations that are not selected
- if ! use pyqt5; then
- sed -i -e "s/from PyQt5.QtCore import/raise ImportError #/" qtpy/__init__.py || die
- fi
- if ! use pyqt6; then
- sed -i -e "s/from PyQt6.QtCore import/raise ImportError #/" qtpy/__init__.py || die
- fi
- if ! use pyside2; then
- sed -i -e "s/from PySide2 import/raise ImportError #/" qtpy/__init__.py || die
- sed -i -e "s/from PySide2.QtCore import/raise ImportError #/" qtpy/__init__.py || die
- fi
- if ! use pyside6; then
- sed -i -e "s/from PySide6 import/raise ImportError #/" qtpy/__init__.py || die
- sed -i -e "s/from PySide6.QtCore import/raise ImportError #/" qtpy/__init__.py || die
- fi
-}
-
-python_test() {
- # Test for each enabled Qt4Python target.
- # Deselect the other targets, their test fails if we specify QT_API
- # or if we have disabled their corresponding inherit in __init__.py above
- if use pyqt5; then
- einfo "Testing with ${EPYTHON} and QT_API=PyQt5"
- QT_API="pyqt5" virtx epytest \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6]
- fi
- if use pyqt6; then
- einfo "Testing with ${EPYTHON} and QT_API=PyQt6"
- QT_API="pyqt6" virtx epytest \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6] \
- --deselect qtpy/tests/test_qtsensors.py::test_qtsensors
- # Qt6Sensors not yet packaged and enabled in PyQt6 ebuild
- fi
- if use pyside2; then
- einfo "Testing with ${EPYTHON} and QT_API=PySide2"
- QT_API="pyside2" virtx epytest \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6]
- fi
- if use pyside6; then
- einfo "Testing with ${EPYTHON} and QT_API=PySide6"
- QT_API="pyside6" virtx epytest \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \
- --deselect qtpy/tests/test_qtsensors.py::test_qtsensors
- # Qt6Sensors not yet packaged and enabled in PySide6 ebuild
- fi
-}
-
-pkg_postinst() {
- elog "When multiple Qt4Python targets are enabled QtPy will default to"
- elog "the first enabled target in this order: PyQt5 PySide2 PyQt6 PySide6."
- elog "This can be overridden with the QT_API environment variable."
-}
diff --git a/dev-python/QtPy/QtPy-2.3.1.ebuild b/dev-python/QtPy/QtPy-2.3.1.ebuild
deleted file mode 100644
index 3861afc77cd8..000000000000
--- a/dev-python/QtPy/QtPy-2.3.1.ebuild
+++ /dev/null
@@ -1,205 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 virtualx pypi
-
-DESCRIPTION="Abstraction layer on top of PyQt and PySide with additional custom QWidgets"
-HOMEPAGE="
- https://github.com/spyder-ide/qtpy/
- https://pypi.org/project/QtPy/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
-
-_IUSE_QT_MODULES="
- designer +gui help multimedia +network opengl positioning
- printsupport qml quick serialport +sql svg testlib
- webchannel webengine websockets +widgets +xml
-"
-IUSE="+pyqt5 pyqt6 pyside2 pyside6 ${_IUSE_QT_MODULES}"
-unset _IUSE_QT_MODULES
-
-REQUIRED_USE="|| ( pyqt5 pyqt6 pyside2 pyside6 )"
-
-# These flags are currently *not* common to the PySide2/6 and PyQt5/6 ebuilds
-# Disable them for now, please check periodically if this is still up to date.
-# bluetooth? ( pyqt5 only )
-# dbus? ( pyqt5 only )
-#
-# 3d? ( pyside2 only )
-# charts? ( pyside2 only )
-# concurrent? ( pyside2 only )
-# datavis? ( pyside2 only )
-# scxml? ( pyside2 only )
-#
-# location? ( pyside2 and pyqt5 only )
-# sensors? ( pyside2 and pyqt5 only )
-# speech? ( pyside2 and pyqt5 only )
-# x11extras? ( pyside2 and pyqt5 only )
-# xmlpatterns? ( pyside2 and pyqt5 only )
-
-# WARNING: the obvious solution of using || for PyQt5/pyside2 is not going
-# to work. The package only checks whether PyQt5/pyside2 is installed, it does
-# not verify whether they have the necessary modules (i.e. satisfy the USE dep).
-#
-# Webengine is a special case, because PyQt5 provides this in a separate package
-# while PySide2 ships it in the same package.
-#
-# declarative/qml/quick is a special case, because PyQt5 bundles the bindings
-# for qml and quick in one flag: declarative PySide2 does not.
-#
-# The PyQt5 ebuild currently enables xml support unconditionally, the flag is
-# added anyway with a (+) to make it future proof if the ebuild were to change
-# this behaviour in the future.
-#
-# The PySide2 ebuild currently enables opengl and serialport support
-# unconditionally, the flag is added anyway with a (+) to make it future proof
-# if the ebuild were to change this behaviour in the future.
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- pyqt5? (
- dev-python/PyQt5[${PYTHON_USEDEP}]
- dev-python/PyQt5[designer?,gui?,help?,multimedia?,network?,opengl?]
- dev-python/PyQt5[positioning?,printsupport?,serialport?,sql?,svg?]
- dev-python/PyQt5[testlib?,webchannel?,websockets?,widgets?,xml(+)?]
- qml? ( dev-python/PyQt5[declarative] )
- quick? ( dev-python/PyQt5[declarative] )
- webengine? ( dev-python/PyQtWebEngine[${PYTHON_USEDEP}] )
- )
- pyqt6? (
- dev-python/PyQt6[${PYTHON_USEDEP}]
- dev-python/PyQt6[designer?,gui?,help?,multimedia?,network?,opengl?]
- dev-python/PyQt6[positioning?,printsupport?,qml?,quick?,serialport?,sql?]
- dev-python/PyQt6[svg?,testlib?,webchannel?,websockets?,widgets?,xml?]
- webengine? ( dev-python/PyQt6-WebEngine[${PYTHON_USEDEP},widgets?,quick?] )
-
- )
- pyside2? (
- dev-python/pyside2[${PYTHON_USEDEP}]
- dev-python/pyside2[designer?,gui?,help?,multimedia?,network?,opengl(+)?]
- dev-python/pyside2[positioning?,printsupport?,qml?,quick?,serialport(+)?]
- dev-python/pyside2[sql?,svg?,testlib?,webchannel?,webengine?,websockets?]
- dev-python/pyside2[widgets?,xml?]
- )
- pyside6? (
- dev-python/pyside6[${PYTHON_USEDEP}]
- dev-python/pyside6[designer?,gui?,help?,multimedia?,network?,opengl?]
- dev-python/pyside6[positioning?,printsupport?,qml?,quick?,serialport?]
- dev-python/pyside6[sql?,svg?,testlib?,webchannel?,webengine?,websockets?]
- dev-python/pyside6[widgets?,xml?]
- )
-"
-
-# The QtPy testsuite skips tests for bindings that are not installed, so here we
-# ensure that everything is available and all tests are run. Note that not
-# all flags are available in PyQt5/PySide2, so some tests are still skipped.
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- pyqt5? (
- dev-python/PyQt5[${PYTHON_USEDEP}]
- dev-python/PyQt5[bluetooth,dbus,declarative,designer,gui,help,location]
- dev-python/PyQt5[multimedia,network,opengl,positioning,printsupport]
- dev-python/PyQt5[sensors,serialport,speech(-),sql,svg,testlib,webchannel]
- dev-python/PyQt5[websockets,widgets,x11extras,xml(+),xmlpatterns]
- dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
- )
- pyqt6? (
- dev-python/PyQt6[${PYTHON_USEDEP}]
- dev-python/PyQt6[dbus,designer,gui,help,multimedia,network,opengl]
- dev-python/PyQt6[positioning,printsupport,qml,quick,quick3d,serialport]
- dev-python/PyQt6[sql,ssl,svg,testlib,webchannel,websockets,widgets,xml]
- dev-python/PyQt6-WebEngine[${PYTHON_USEDEP},widgets,quick]
- )
- pyside2? (
- dev-python/pyside2[${PYTHON_USEDEP}]
- dev-python/pyside2[3d,charts,concurrent,datavis,designer,gui,help]
- dev-python/pyside2[location,multimedia,network,opengl(+),positioning]
- dev-python/pyside2[printsupport,qml,quick,scxml]
- dev-python/pyside2[sensors,serialport(+),speech,sql,svg,testlib]
- dev-python/pyside2[webchannel,webengine,websockets,widgets,x11extras]
- dev-python/pyside2[xml,xmlpatterns]
- )
- pyside6? (
- dev-python/pyside6[${PYTHON_USEDEP}]
- dev-python/pyside6[concurrent,dbus,designer,gui,help,multimedia]
- dev-python/pyside6[network,opengl,positioning,printsupport,qml]
- dev-python/pyside6[quick,quick3d,serialport,sql,svg,testlib]
- dev-python/pyside6[webchannel,webengine,websockets,widgets,xml]
- )
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
- sed -i -e 's:--cov=qtpy --cov-report=term-missing::' pytest.ini || die
- # Disable Qt for Python implementations that are not selected
- if ! use pyqt5; then
- sed -i -e "s/from PyQt5.QtCore import/raise ImportError #/" qtpy/__init__.py || die
- fi
- if ! use pyqt6; then
- sed -i -e "s/from PyQt6.QtCore import/raise ImportError #/" qtpy/__init__.py || die
- fi
- if ! use pyside2; then
- sed -i -e "s/from PySide2 import/raise ImportError #/" qtpy/__init__.py || die
- sed -i -e "s/from PySide2.QtCore import/raise ImportError #/" qtpy/__init__.py || die
- fi
- if ! use pyside6; then
- sed -i -e "s/from PySide6 import/raise ImportError #/" qtpy/__init__.py || die
- sed -i -e "s/from PySide6.QtCore import/raise ImportError #/" qtpy/__init__.py || die
- fi
-}
-
-python_test() {
- # Test for each enabled Qt4Python target.
- # Deselect the other targets, their test fails if we specify QT_API
- # or if we have disabled their corresponding inherit in __init__.py above
- if use pyqt5; then
- einfo "Testing with ${EPYTHON} and QT_API=PyQt5"
- QT_API="pyqt5" virtx epytest \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6]
- fi
- if use pyqt6; then
- einfo "Testing with ${EPYTHON} and QT_API=PyQt6"
- QT_API="pyqt6" virtx epytest \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6] \
- --deselect qtpy/tests/test_qtsensors.py::test_qtsensors
- # Qt6Sensors not yet packaged and enabled in PyQt6 ebuild
- fi
- if use pyside2; then
- einfo "Testing with ${EPYTHON} and QT_API=PySide2"
- QT_API="pyside2" virtx epytest \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6]
- fi
- if use pyside6; then
- einfo "Testing with ${EPYTHON} and QT_API=PySide6"
- QT_API="pyside6" virtx epytest \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \
- --deselect qtpy/tests/test_qtsensors.py::test_qtsensors
- # Qt6Sensors not yet packaged and enabled in PySide6 ebuild
- fi
-}
-
-pkg_postinst() {
- elog "When multiple Qt4Python targets are enabled QtPy will default to"
- elog "the first enabled target in this order: PyQt5 PySide2 PyQt6 PySide6."
- elog "This can be overridden with the QT_API environment variable."
-}
diff --git a/dev-python/QtPy/QtPy-2.4.0-r1.ebuild b/dev-python/QtPy/QtPy-2.4.0-r1.ebuild
deleted file mode 100644
index b36bfa5ce6fc..000000000000
--- a/dev-python/QtPy/QtPy-2.4.0-r1.ebuild
+++ /dev/null
@@ -1,217 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 virtualx pypi
-
-DESCRIPTION="Abstraction layer on top of PyQt and PySide with additional custom QWidgets"
-HOMEPAGE="
- https://github.com/spyder-ide/qtpy/
- https://pypi.org/project/QtPy/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
-
-_IUSE_QT_MODULES="
- designer +gui help multimedia +network opengl positioning
- printsupport qml quick sensors serialport speech +sql svg testlib
- webchannel webengine websockets +widgets +xml
-"
-IUSE="+pyqt5 pyqt6 pyside2 pyside6 ${_IUSE_QT_MODULES}"
-unset _IUSE_QT_MODULES
-
-REQUIRED_USE="
- || ( pyqt5 pyqt6 pyside2 pyside6 )
- python_targets_python3_12? ( !pyside2 )
-"
-
-# These flags are currently *not* common to the PySide2/6 and PyQt5/6 ebuilds
-# Disable them for now, please check periodically if this is still up to date.
-# bluetooth? ( pyqt5/6 and pyside6 only )
-# dbus? ( pyqt5/6 and pyside6 only )
-#
-# 3d? ( pyside2/6 only )
-# charts? ( pyside2 only )
-# concurrent? ( pyside2 only )
-# datavis? ( pyside2 only )
-# scxml? ( pyside2/6 only )
-#
-# x11extras? ( pyside2 and pyqt5 only )
-# xmlpatterns? ( pyside2 and pyqt5 only )
-#
-# location? ( pyside2/6 and pyqt5 only)
-# nfc? ( pyqt6 and pyside6 only)
-# spatialaudio? ( pyqt6 and pyside6 only)
-# pdfium? ( pyqt6 and pyside6 only)
-
-# WARNING: the obvious solution of using || for PyQt5/pyside2 is not going
-# to work. The package only checks whether PyQt5/pyside2 is installed, it does
-# not verify whether they have the necessary modules (i.e. satisfy the USE dep).
-#
-# Webengine is a special case, because PyQt5 provides this in a separate package
-# while PySide2 ships it in the same package.
-#
-# declarative/qml/quick is a special case, because PyQt5 bundles the bindings
-# for qml and quick in one flag: declarative PySide2 does not.
-#
-# The PyQt5 ebuild currently enables xml support unconditionally, the flag is
-# added anyway with a (+) to make it future proof if the ebuild were to change
-# this behaviour in the future.
-#
-# The PySide2 ebuild currently enables opengl and serialport support
-# unconditionally, the flag is added anyway with a (+) to make it future proof
-# if the ebuild were to change this behaviour in the future.
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- pyqt5? (
- dev-python/PyQt5[${PYTHON_USEDEP}]
- dev-python/PyQt5[designer?,gui?,help?,multimedia?,network?,opengl?]
- dev-python/PyQt5[positioning?,printsupport?,sensors?,serialport?,speech?,sql?,svg?]
- dev-python/PyQt5[testlib?,webchannel?,websockets?,widgets?,xml(+)?]
- qml? ( dev-python/PyQt5[declarative] )
- quick? ( dev-python/PyQt5[declarative] )
- webengine? ( dev-python/PyQtWebEngine[${PYTHON_USEDEP}] )
- )
- pyqt6? (
- dev-python/PyQt6[${PYTHON_USEDEP}]
- dev-python/PyQt6[designer?,gui?,help?,multimedia?,network?,opengl?]
- dev-python/PyQt6[positioning?,printsupport?,qml?,quick?,sensors?,serialport?,sql?]
- dev-python/PyQt6[speech?,svg?,testlib?,webchannel?,websockets?,widgets?,xml?]
- webengine? ( dev-python/PyQt6-WebEngine[${PYTHON_USEDEP},widgets?,quick?] )
-
- )
- pyside2? (
- $(python_gen_cond_dep '
- dev-python/pyside2[${PYTHON_USEDEP}]
- dev-python/pyside2[designer?,gui?,help?,multimedia?,network?,opengl(+)?]
- dev-python/pyside2[positioning?,printsupport?,qml?,quick?,sensors?,serialport(+)?]
- dev-python/pyside2[speech?,sql?,svg?,testlib?,webchannel?,webengine?,websockets?]
- dev-python/pyside2[widgets?,xml?]
- ' python3_{10..11})
- )
- pyside6? (
- dev-python/pyside6[${PYTHON_USEDEP}]
- dev-python/pyside6[designer?,gui?,help?,multimedia?,network?,opengl?]
- dev-python/pyside6[positioning?,printsupport?,qml?,quick?,sensors(-)?,serialport?]
- dev-python/pyside6[speech(-)?,sql?,svg?,testlib?,webchannel?,webengine?,websockets?]
- dev-python/pyside6[widgets?,xml?]
- )
-"
-
-# The QtPy testsuite skips tests for bindings that are not installed, so here we
-# ensure that everything is available and all tests are run. Note that not
-# all flags are available in PyQt5/PySide2, so some tests are still skipped.
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest-qt[${PYTHON_USEDEP}]
- pyqt5? (
- dev-python/PyQt5[${PYTHON_USEDEP}]
- dev-python/PyQt5[bluetooth,dbus,declarative,designer,gui,help,location]
- dev-python/PyQt5[multimedia,network,opengl,positioning,printsupport]
- dev-python/PyQt5[sensors,serialport,speech(-),sql,svg,testlib,webchannel]
- dev-python/PyQt5[websockets,widgets,x11extras,xml(+),xmlpatterns]
- dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
- )
- pyqt6? (
- dev-python/PyQt6[${PYTHON_USEDEP}]
- dev-python/PyQt6[dbus,designer,gui,help,multimedia,network,nfc,opengl]
- dev-python/PyQt6[pdfium(-),positioning,printsupport,qml,quick,quick3d,serialport]
- dev-python/PyQt6[sensors(-),spatialaudio(-),speech(-),sql,ssl,svg,testlib,webchannel]
- dev-python/PyQt6[websockets,widgets,xml]
- dev-python/PyQt6-WebEngine[${PYTHON_USEDEP},widgets,quick]
- )
- pyside2? (
- $(python_gen_cond_dep '
- dev-python/pyside2[${PYTHON_USEDEP}]
- dev-python/pyside2[3d,charts,concurrent,datavis,designer,gui,help]
- dev-python/pyside2[location,multimedia,network,opengl(+)]
- dev-python/pyside2[positioning,printsupport,qml,quick,scxml]
- dev-python/pyside2[sensors,serialport(+),speech,sql,svg,testlib]
- dev-python/pyside2[webchannel,webengine,websockets,widgets,x11extras]
- dev-python/pyside2[xml,xmlpatterns]
- ' python3_{10..11})
- )
- pyside6? (
- dev-python/pyside6[${PYTHON_USEDEP}]
- dev-python/pyside6[3d(-),bluetooth(-),concurrent,dbus,designer,gui,help]
- dev-python/pyside6[location(-),multimedia,network,nfc(-),opengl,positioning,pdfium(-)]
- dev-python/pyside6[printsupport,qml,quick,quick3d,scxml(-),sensors(-)]
- dev-python/pyside6[serialport,spatialaudio(-),speech(-),sql,svg,testlib,webchannel]
- dev-python/pyside6[webengine,websockets,widgets,xml]
- )
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
- sed -i -e 's:--cov=qtpy --cov-report=term-missing::' pytest.ini || die
- # Disable Qt for Python implementations that are not selected
- if ! use pyqt5; then
- sed -i -e '/from PyQt5.QtCore import/,/)/c\ \ \ \ \ \ \ \ raise ImportError #/' qtpy/__init__.py || die
- fi
- if ! use pyqt6; then
- sed -i -e '/from PyQt6.QtCore import/,/)/c\ \ \ \ \ \ \ \ raise ImportError #/' qtpy/__init__.py || die
- fi
- if ! use pyside2; then
- sed -i -e "s/from PySide2 import/raise ImportError #/" qtpy/__init__.py || die
- sed -i -e "s/from PySide2.QtCore import/raise ImportError #/" qtpy/__init__.py || die
- fi
- if ! use pyside6; then
- sed -i -e "s/from PySide6 import/raise ImportError #/" qtpy/__init__.py || die
- sed -i -e "s/from PySide6.QtCore import/raise ImportError #/" qtpy/__init__.py || die
- fi
-}
-
-python_test() {
- # Test for each enabled Qt4Python target.
- # Deselect the other targets, their test fails if we specify QT_API
- # or if we have disabled their corresponding inherit in __init__.py above
- if use pyqt5; then
- einfo "Testing with ${EPYTHON} and QT_API=PyQt5"
- QT_API="pyqt5" virtx epytest \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6]
- fi
- if use pyqt6; then
- einfo "Testing with ${EPYTHON} and QT_API=PyQt6"
- QT_API="pyqt6" virtx epytest \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6] \
- --deselect qtpy/tests/test_qtsensors.py::test_qtsensors
- # Qt6Sensors not yet packaged and enabled in PyQt6 ebuild
- fi
- if use pyside2; then
- einfo "Testing with ${EPYTHON} and QT_API=PySide2"
- QT_API="pyside2" virtx epytest \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6]
- fi
- if use pyside6; then
- einfo "Testing with ${EPYTHON} and QT_API=PySide6"
- QT_API="pyside6" virtx epytest \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \
- --deselect qtpy/tests/test_qtsensors.py::test_qtsensors
- # Qt6Sensors not yet packaged and enabled in PySide6 ebuild
- fi
-}
-
-pkg_postinst() {
- elog "When multiple Qt4Python targets are enabled QtPy will default to"
- elog "the first enabled target in this order: PyQt5 PySide2 PyQt6 PySide6."
- elog "This can be overridden with the QT_API environment variable."
-}
diff --git a/dev-python/QtPy/QtPy-2.4.0.ebuild b/dev-python/QtPy/QtPy-2.4.0.ebuild
deleted file mode 100644
index 4e8c65ec1df3..000000000000
--- a/dev-python/QtPy/QtPy-2.4.0.ebuild
+++ /dev/null
@@ -1,217 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 virtualx pypi
-
-DESCRIPTION="Abstraction layer on top of PyQt and PySide with additional custom QWidgets"
-HOMEPAGE="
- https://github.com/spyder-ide/qtpy/
- https://pypi.org/project/QtPy/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~loong ~riscv x86"
-
-_IUSE_QT_MODULES="
- designer +gui help multimedia +network opengl positioning
- printsupport qml quick serialport +sql svg testlib
- webchannel webengine websockets +widgets +xml
-"
-IUSE="+pyqt5 pyqt6 pyside2 pyside6 ${_IUSE_QT_MODULES}"
-unset _IUSE_QT_MODULES
-
-REQUIRED_USE="
- || ( pyqt5 pyqt6 pyside2 pyside6 )
- python_targets_python3_12? ( !pyside2 !pyside6 )
-"
-
-# These flags are currently *not* common to the PySide2/6 and PyQt5/6 ebuilds
-# Disable them for now, please check periodically if this is still up to date.
-# bluetooth? ( pyqt5 only )
-# dbus? ( pyqt5 only )
-#
-# 3d? ( pyside2 only )
-# charts? ( pyside2 only )
-# concurrent? ( pyside2 only )
-# datavis? ( pyside2 only )
-# scxml? ( pyside2 only )
-#
-# location? ( pyside2 and pyqt5 only )
-# sensors? ( pyside2 and pyqt5 only )
-# speech? ( pyside2 and pyqt5 only )
-# x11extras? ( pyside2 and pyqt5 only )
-# xmlpatterns? ( pyside2 and pyqt5 only )
-
-# WARNING: the obvious solution of using || for PyQt5/pyside2 is not going
-# to work. The package only checks whether PyQt5/pyside2 is installed, it does
-# not verify whether they have the necessary modules (i.e. satisfy the USE dep).
-#
-# Webengine is a special case, because PyQt5 provides this in a separate package
-# while PySide2 ships it in the same package.
-#
-# declarative/qml/quick is a special case, because PyQt5 bundles the bindings
-# for qml and quick in one flag: declarative PySide2 does not.
-#
-# The PyQt5 ebuild currently enables xml support unconditionally, the flag is
-# added anyway with a (+) to make it future proof if the ebuild were to change
-# this behaviour in the future.
-#
-# The PySide2 ebuild currently enables opengl and serialport support
-# unconditionally, the flag is added anyway with a (+) to make it future proof
-# if the ebuild were to change this behaviour in the future.
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- pyqt5? (
- dev-python/PyQt5[${PYTHON_USEDEP}]
- dev-python/PyQt5[designer?,gui?,help?,multimedia?,network?,opengl?]
- dev-python/PyQt5[positioning?,printsupport?,serialport?,sql?,svg?]
- dev-python/PyQt5[testlib?,webchannel?,websockets?,widgets?,xml(+)?]
- qml? ( dev-python/PyQt5[declarative] )
- quick? ( dev-python/PyQt5[declarative] )
- webengine? ( dev-python/PyQtWebEngine[${PYTHON_USEDEP}] )
- )
- pyqt6? (
- dev-python/PyQt6[${PYTHON_USEDEP}]
- dev-python/PyQt6[designer?,gui?,help?,multimedia?,network?,opengl?]
- dev-python/PyQt6[positioning?,printsupport?,qml?,quick?,serialport?,sql?]
- dev-python/PyQt6[svg?,testlib?,webchannel?,websockets?,widgets?,xml?]
- webengine? ( dev-python/PyQt6-WebEngine[${PYTHON_USEDEP},widgets?,quick?] )
-
- )
- pyside2? (
- $(python_gen_cond_dep '
- dev-python/pyside2[${PYTHON_USEDEP}]
- dev-python/pyside2[designer?,gui?,help?,multimedia?,network?,opengl(+)?]
- dev-python/pyside2[positioning?,printsupport?,qml?,quick?,serialport(+)?]
- dev-python/pyside2[sql?,svg?,testlib?,webchannel?,webengine?,websockets?]
- dev-python/pyside2[widgets?,xml?]
- ' python3_{10..11})
- )
- pyside6? (
- $(python_gen_cond_dep '
- dev-python/pyside6[${PYTHON_USEDEP}]
- dev-python/pyside6[designer?,gui?,help?,multimedia?,network?,opengl?]
- dev-python/pyside6[positioning?,printsupport?,qml?,quick?,serialport?]
- dev-python/pyside6[sql?,svg?,testlib?,webchannel?,webengine?,websockets?]
- dev-python/pyside6[widgets?,xml?]
- ' python3_{10..11})
- )
-"
-
-# The QtPy testsuite skips tests for bindings that are not installed, so here we
-# ensure that everything is available and all tests are run. Note that not
-# all flags are available in PyQt5/PySide2, so some tests are still skipped.
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest-qt[${PYTHON_USEDEP}]
- pyqt5? (
- dev-python/PyQt5[${PYTHON_USEDEP}]
- dev-python/PyQt5[bluetooth,dbus,declarative,designer,gui,help,location]
- dev-python/PyQt5[multimedia,network,opengl,positioning,printsupport]
- dev-python/PyQt5[sensors,serialport,speech(-),sql,svg,testlib,webchannel]
- dev-python/PyQt5[websockets,widgets,x11extras,xml(+),xmlpatterns]
- dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
- )
- pyqt6? (
- dev-python/PyQt6[${PYTHON_USEDEP}]
- dev-python/PyQt6[dbus,designer,gui,help,multimedia,network,opengl]
- dev-python/PyQt6[positioning,printsupport,qml,quick,quick3d,serialport]
- dev-python/PyQt6[sql,ssl,svg,testlib,webchannel,websockets,widgets,xml]
- dev-python/PyQt6-WebEngine[${PYTHON_USEDEP},widgets,quick]
- )
- pyside2? (
- $(python_gen_cond_dep '
- dev-python/pyside2[${PYTHON_USEDEP}]
- dev-python/pyside2[3d,charts,concurrent,datavis,designer,gui,help]
- dev-python/pyside2[location,multimedia,network,opengl(+),positioning]
- dev-python/pyside2[printsupport,qml,quick,scxml]
- dev-python/pyside2[sensors,serialport(+),speech,sql,svg,testlib]
- dev-python/pyside2[webchannel,webengine,websockets,widgets,x11extras]
- dev-python/pyside2[xml,xmlpatterns]
- ' python3_{10..11})
- )
- pyside6? (
- $(python_gen_cond_dep '
- dev-python/pyside6[${PYTHON_USEDEP}]
- dev-python/pyside6[concurrent,dbus,designer,gui,help,multimedia]
- dev-python/pyside6[network,opengl,positioning,printsupport,qml]
- dev-python/pyside6[quick,quick3d,serialport,sql,svg,testlib]
- dev-python/pyside6[webchannel,webengine,websockets,widgets,xml]
- ' python3_{10..11})
- )
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
- sed -i -e 's:--cov=qtpy --cov-report=term-missing::' pytest.ini || die
- # Disable Qt for Python implementations that are not selected
- if ! use pyqt5; then
- sed -i -e '/from PyQt5.QtCore import/,/)/c\ \ \ \ \ \ \ \ raise ImportError #/' qtpy/__init__.py || die
- fi
- if ! use pyqt6; then
- sed -i -e '/from PyQt6.QtCore import/,/)/c\ \ \ \ \ \ \ \ raise ImportError #/' qtpy/__init__.py || die
- fi
- if ! use pyside2; then
- sed -i -e "s/from PySide2 import/raise ImportError #/" qtpy/__init__.py || die
- sed -i -e "s/from PySide2.QtCore import/raise ImportError #/" qtpy/__init__.py || die
- fi
- if ! use pyside6; then
- sed -i -e "s/from PySide6 import/raise ImportError #/" qtpy/__init__.py || die
- sed -i -e "s/from PySide6.QtCore import/raise ImportError #/" qtpy/__init__.py || die
- fi
-}
-
-python_test() {
- # Test for each enabled Qt4Python target.
- # Deselect the other targets, their test fails if we specify QT_API
- # or if we have disabled their corresponding inherit in __init__.py above
- if use pyqt5; then
- einfo "Testing with ${EPYTHON} and QT_API=PyQt5"
- QT_API="pyqt5" virtx epytest \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6]
- fi
- if use pyqt6; then
- einfo "Testing with ${EPYTHON} and QT_API=PyQt6"
- QT_API="pyqt6" virtx epytest \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6] \
- --deselect qtpy/tests/test_qtsensors.py::test_qtsensors
- # Qt6Sensors not yet packaged and enabled in PyQt6 ebuild
- fi
- if use pyside2; then
- einfo "Testing with ${EPYTHON} and QT_API=PySide2"
- QT_API="pyside2" virtx epytest \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide6]
- fi
- if use pyside6; then
- einfo "Testing with ${EPYTHON} and QT_API=PySide6"
- QT_API="pyside6" virtx epytest \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PySide2] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt5] \
- --deselect qtpy/tests/test_main.py::test_qt_api_environ[PyQt6] \
- --deselect qtpy/tests/test_qtsensors.py::test_qtsensors
- # Qt6Sensors not yet packaged and enabled in PySide6 ebuild
- fi
-}
-
-pkg_postinst() {
- elog "When multiple Qt4Python targets are enabled QtPy will default to"
- elog "the first enabled target in this order: PyQt5 PySide2 PyQt6 PySide6."
- elog "This can be overridden with the QT_API environment variable."
-}
diff --git a/dev-python/QtPy/QtPy-2.4.1-r1.ebuild b/dev-python/QtPy/QtPy-2.4.1-r1.ebuild
index c62f831980bd..e1495a0f9932 100644
--- a/dev-python/QtPy/QtPy-2.4.1-r1.ebuild
+++ b/dev-python/QtPy/QtPy-2.4.1-r1.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 virtualx pypi
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
_IUSE_QT_MODULES="
designer +gui help multimedia +network opengl positioning
@@ -30,6 +30,7 @@ unset _IUSE_QT_MODULES
REQUIRED_USE="
|| ( pyqt5 pyqt6 pyside2 pyside6 )
python_targets_python3_12? ( !pyside2 )
+ python_targets_python3_13? ( !pyside2 )
"
# These flags are currently *not* common to the PySide2/6 and PyQt5/6 ebuilds
@@ -110,7 +111,6 @@ RDEPEND="
# all flags are available in PyQt5/PySide2, so some tests are still skipped.
BDEPEND="
test? (
- dev-python/mock[${PYTHON_USEDEP}]
dev-python/pytest-qt[${PYTHON_USEDEP}]
pyqt5? (
dev-python/PyQt5[${PYTHON_USEDEP}]
@@ -119,6 +119,7 @@ BDEPEND="
dev-python/PyQt5[sensors,serialport,speech(-),sql,svg,testlib,webchannel]
dev-python/PyQt5[websockets,widgets,x11extras,xml(+),xmlpatterns]
dev-python/PyQtWebEngine[${PYTHON_USEDEP}]
+ dev-qt/qtsql:5[sqlite]
)
pyqt6? (
dev-python/PyQt6[${PYTHON_USEDEP}]
@@ -127,6 +128,7 @@ BDEPEND="
dev-python/PyQt6[sensors(-),spatialaudio(-),speech(-),sql,ssl,svg,testlib,webchannel]
dev-python/PyQt6[websockets,widgets,xml]
dev-python/PyQt6-WebEngine[${PYTHON_USEDEP},widgets,quick]
+ dev-qt/qtbase:6[sqlite]
)
pyside2? (
$(python_gen_cond_dep '
@@ -137,7 +139,10 @@ BDEPEND="
dev-python/pyside2[sensors,serialport(+),speech,sql,svg,testlib]
dev-python/pyside2[webchannel,webengine,websockets,widgets,x11extras]
dev-python/pyside2[xml,xmlpatterns]
+ dev-qt/qtsql:5[sqlite]
+ dev-python/pyside2-tools[${PYTHON_USEDEP}]
' python3_{10..11})
+ dev-qt/qtsql:5[sqlite]
)
pyside6? (
dev-python/pyside6[${PYTHON_USEDEP}]
@@ -146,6 +151,8 @@ BDEPEND="
dev-python/pyside6[printsupport,qml,quick,quick3d,scxml(-),sensors(-)]
dev-python/pyside6[serialport,spatialaudio(-),speech(-),sql,svg,testlib,webchannel]
dev-python/pyside6[webengine,websockets,widgets,xml]
+ dev-python/pyside6-tools[${PYTHON_USEDEP}]
+ dev-qt/qtbase:6[sqlite]
)
)
"
diff --git a/dev-python/a2wsgi/Manifest b/dev-python/a2wsgi/Manifest
index cae920229538..953a2f607798 100644
--- a/dev-python/a2wsgi/Manifest
+++ b/dev-python/a2wsgi/Manifest
@@ -1 +1,2 @@
-DIST a2wsgi-1.8.0.tar.gz 13775 BLAKE2B 793ccab96e66e92ee0f662f4633deaa84075d258261b4d12099e5aaa5c1d28fd23bafb7312a0599dfb434d1e5e086e3fc98dfaa7978f449115537c7c17414da2 SHA512 c0aa649fbae0a201431990c975921249fc2d8439a8552d7ebf5d48e1fd35695175d9388e17d10009deb11842ebe806e71dd59ccf9bc16b656d68bc9e6491a352
+DIST a2wsgi-1.10.4.tar.gz 18186 BLAKE2B 7f184c1621dd28e75c12e85b85ca4ed0b1b55d59c79797429bc188feec0ee0105e77c3613b1c2f94e1561f71fdcbabae99218e2c007ab095dd68b0502d112444 SHA512 6c050dcaca4dab0793afb267d7cbcb4faca362495c46ab9f0b52c9f2f5a1ab7dfd6fa0c543b5eaa18ddca6a789093591653f023ac9c127602138db390ae1c975
+DIST a2wsgi-1.10.6.tar.gz 18660 BLAKE2B 3f512bb37b03d7716559734e0653cdd7c7d77653495f15e8d172717016a3940e8e52a875321d675b3bfc4ebc41596d839a445ccb45c551d717e3f317b59aa955 SHA512 7b648865c759746520cf81502aabdcd9e19ddc1f270341d080d2422002f9e633be9ad837e06aef073a1d47ed4253b7e65eadbb1a76de89e571c498a5939c41a7
diff --git a/dev-python/a2wsgi/a2wsgi-1.10.4.ebuild b/dev-python/a2wsgi/a2wsgi-1.10.4.ebuild
new file mode 100644
index 000000000000..26de004d6e5c
--- /dev/null
+++ b/dev-python/a2wsgi/a2wsgi-1.10.4.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Convert WSGI app to ASGI app or ASGI app to WSGI app"
+HOMEPAGE="
+ https://github.com/abersheeran/a2wsgi/
+ https://pypi.org/project/a2wsgi/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ test? (
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.2.7[${PYTHON_USEDEP}]
+ <dev-python/httpx-1[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio
+}
diff --git a/dev-python/a2wsgi/a2wsgi-1.10.6.ebuild b/dev-python/a2wsgi/a2wsgi-1.10.6.ebuild
new file mode 100644
index 000000000000..8b32b9d19735
--- /dev/null
+++ b/dev-python/a2wsgi/a2wsgi-1.10.6.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Convert WSGI app to ASGI app or ASGI app to WSGI app"
+HOMEPAGE="
+ https://github.com/abersheeran/a2wsgi/
+ https://pypi.org/project/a2wsgi/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.2.7[${PYTHON_USEDEP}]
+ <dev-python/httpx-1[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires baize
+ tests/test_asgi.py::test_baize_stream_response
+ # requires starlette
+ tests/test_asgi.py::test_starlette_stream_response
+ tests/test_asgi.py::test_starlette_base_http_middleware
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio
+}
diff --git a/dev-python/a2wsgi/a2wsgi-1.8.0.ebuild b/dev-python/a2wsgi/a2wsgi-1.8.0.ebuild
deleted file mode 100644
index 6bae19884ae0..000000000000
--- a/dev-python/a2wsgi/a2wsgi-1.8.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Convert WSGI app to ASGI app or ASGI app to WSGI app"
-HOMEPAGE="
- https://github.com/abersheeran/a2wsgi/
- https://pypi.org/project/a2wsgi/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- test? (
- <dev-python/asgiref-4[${PYTHON_USEDEP}]
- >=dev-python/asgiref-3.2.7[${PYTHON_USEDEP}]
- <dev-python/httpx-1[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/absl-py/Manifest b/dev-python/absl-py/Manifest
index 8f1f7c9f5e40..c1a3d2e808cb 100644
--- a/dev-python/absl-py/Manifest
+++ b/dev-python/absl-py/Manifest
@@ -1 +1 @@
-DIST abseil-py-2.0.0.gh.tar.gz 232404 BLAKE2B fc3d02b2184f6ad45ff022d80068f6ec64ec4cbdbfb9735da1309a975f634880a2c969cba9ad7bdbeec2183c058c31e8198f9396d5f937858861e42a41c40432 SHA512 1f83ee07ce4bdeed2ebc775bdf809a9998f7afba2e0322bb4ce1fbf4af8c0e638161bbd72c9222c1ae1505577c181026d5baee1c9994d4858166d015a1ffab91
+DIST abseil-py-2.1.0.gh.tar.gz 235261 BLAKE2B 85232156e722cb874e29e1f92513b24836553476d5ff379e8df32d307ca21709b5869edd80a3bb7fe757ae585bb45df21c89ae6f2218147a5812f171d946e094 SHA512 298a876ed850085836cb1ff6fddf98aca6a3283780bece8c0a7d118fd4e16cc258e51f721e4a5fcbe62b23d2da05638475d426bb650b0694ff7c1d0119e3be97
diff --git a/dev-python/absl-py/absl-py-2.0.0.ebuild b/dev-python/absl-py/absl-py-2.0.0.ebuild
deleted file mode 100644
index 73e4aafe449f..000000000000
--- a/dev-python/absl-py/absl-py-2.0.0.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=abseil-py-${PV}
-DESCRIPTION="Abseil Python Common Libraries"
-HOMEPAGE="
- https://github.com/abseil/abseil-py/
- https://pypi.org/project/absl-py/
-"
-SRC_URI="
- https://github.com/abseil/abseil-py/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-
-RDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-
-src_prepare() {
- # what a nightmare... well, we could have called bazel but that would
- # even worse
- local helpers=(
- absl/flags/tests/argparse_flags_test_helper.py:absl/flags/tests/argparse_flags_test_helper
- absl/logging/tests/logging_functional_test_helper.py:absl/logging/tests/logging_functional_test_helper
- absl/testing/tests/absltest_fail_fast_test_helper.py:absl/testing/tests/absltest_fail_fast_test_helper
- absl/testing/tests/absltest_filtering_test_helper.py:absl/testing/tests/absltest_filtering_test_helper
- absl/testing/tests/absltest_randomization_testcase.py:absl/testing/tests/absltest_randomization_testcase
- absl/testing/tests/absltest_sharding_test_helper.py:absl/testing/tests/absltest_sharding_test_helper
- absl/testing/tests/absltest_sharding_test_helper_no_tests.py:absl/testing/tests/absltest_sharding_test_helper_no_tests
- absl/testing/tests/absltest_test_helper.py:absl/testing/tests/absltest_test_helper
- absl/testing/tests/xml_reporter_helper_test.py:absl/testing/tests/xml_reporter_helper_test
- absl/tests/app_test_helper.py:absl/tests/app_test_helper_pure_python
- )
-
- local x
- for x in "${helpers[@]}"; do
- local script=${x%:*}
- local sym=${x#*:}
- sed -i -e "1i#!/usr/bin/env python" "${script}" || die
- chmod +x "${script}" || die
- ln -s "${script##*/}" "${sym}" || die
- done
-
- # i don't wanna know how these pass for upstream with wrong helper names
- sed -i -e 's:\(app_test_helper\)\.py:\1_pure_python:' \
- absl/tests/app_test.py || die
- sed -i -e 's:\(logging_functional_test_helper\)\.py:\1:' \
- absl/logging/tests/logging_functional_test.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x PYTHONPATH=.
- local fails=0
- while read -r -d '' x; do
- ebegin "${x}"
- "${EPYTHON}" "${x}"
- eend ${?} || : "$(( fails += 1 ))"
- done < <(find -name '*_test.py' -print0)
-
- [[ ${fails} -ne 0 ]] && die "${fails} tests failed on ${EPYTHON}"
-
- # we actually need to clean this up manually before running the test
- # suite again...
- chmod -R u+rwX "${T}"/absl_testing || die
- rm -rf "${T}"/absl_testing || die
-}
diff --git a/dev-python/absl-py/absl-py-2.1.0.ebuild b/dev-python/absl-py/absl-py-2.1.0.ebuild
new file mode 100644
index 000000000000..93edca72b17f
--- /dev/null
+++ b/dev-python/absl-py/absl-py-2.1.0.ebuild
@@ -0,0 +1,81 @@
+# 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
+
+MY_P=abseil-py-${PV}
+DESCRIPTION="Abseil Python Common Libraries"
+HOMEPAGE="
+ https://github.com/abseil/abseil-py/
+ https://pypi.org/project/absl-py/
+"
+SRC_URI="
+ https://github.com/abseil/abseil-py/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86"
+
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ # what a nightmare... well, we could have called bazel but that would
+ # even worse
+ local helpers=(
+ absl/flags/tests/argparse_flags_test_helper.py:absl/flags/tests/argparse_flags_test_helper
+ absl/logging/tests/logging_functional_test_helper.py:absl/logging/tests/logging_functional_test_helper
+ absl/testing/tests/absltest_fail_fast_test_helper.py:absl/testing/tests/absltest_fail_fast_test_helper
+ absl/testing/tests/absltest_filtering_test_helper.py:absl/testing/tests/absltest_filtering_test_helper
+ absl/testing/tests/absltest_randomization_testcase.py:absl/testing/tests/absltest_randomization_testcase
+ absl/testing/tests/absltest_sharding_test_helper.py:absl/testing/tests/absltest_sharding_test_helper
+ absl/testing/tests/absltest_sharding_test_helper_no_tests.py:absl/testing/tests/absltest_sharding_test_helper_no_tests
+ absl/testing/tests/absltest_test_helper.py:absl/testing/tests/absltest_test_helper
+ absl/testing/tests/absltest_test_helper_skipped.py:absl/testing/tests/absltest_test_helper_skipped
+ absl/testing/tests/xml_reporter_helper_test.py:absl/testing/tests/xml_reporter_helper_test
+ absl/tests/app_test_helper.py:absl/tests/app_test_helper_pure_python
+ )
+
+ local x
+ for x in "${helpers[@]}"; do
+ local script=${x%:*}
+ local sym=${x#*:}
+ sed -i -e "1i#!/usr/bin/env python" "${script}" || die
+ chmod +x "${script}" || die
+ ln -s "${script##*/}" "${sym}" || die
+ done
+
+ # i don't wanna know how these pass for upstream with wrong helper names
+ sed -i -e 's:\(app_test_helper\)\.py:\1_pure_python:' \
+ absl/tests/app_test.py || die
+ sed -i -e 's:\(logging_functional_test_helper\)\.py:\1:' \
+ absl/logging/tests/logging_functional_test.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTHONPATH=.
+ local fails=0
+ while read -r -d '' x; do
+ ebegin "${x}"
+ "${EPYTHON}" "${x}"
+ eend ${?} || : "$(( fails += 1 ))"
+ done < <(find -name '*_test.py' -print0)
+
+ [[ ${fails} -ne 0 ]] && die "${fails} tests failed on ${EPYTHON}"
+
+ # we actually need to clean this up manually before running the test
+ # suite again...
+ chmod -R u+rwX "${T}"/absl_testing || die
+ rm -rf "${T}"/absl_testing || die
+}
diff --git a/dev-python/accessible-pygments/Manifest b/dev-python/accessible-pygments/Manifest
index c3f6487d5040..daa218becded 100644
--- a/dev-python/accessible-pygments/Manifest
+++ b/dev-python/accessible-pygments/Manifest
@@ -1 +1 @@
-DIST accessible-pygments-0.0.4.gh.tar.gz 4540933 BLAKE2B 1fdd376b9f069590552632a806f161404aeb3ae0c9b522705ea64476bccc97e3f888af270fba5e05680bb87e2d3283f2c93259c687e137efc56a38ca4d71b507 SHA512 b45b3c17bcfb2d66d397ee7e535c35159ab79080163f8ace286d73ea65a08f7e39c757414755d7f59bdae22a52198e26546ae61893bd9cd5c901d2e2b1efb2b1
+DIST accessible-pygments-0.0.5.gh.tar.gz 2273172 BLAKE2B ed07ecb1ef0d6dcc2b02383d1620c373bb54c65522752404a0e2e2382e374d35c11d7ad6978889b4fd20d4536b38d5ea951a2e6366725279123f5357ecff8a0a SHA512 2f5984c4f95a13dc566a0f916168fb293332f175da61f88ef7dcbc9f2bfcd8781d891b7830ed401839eef09ad65f7cbf94bb5a153bc5b4454ddf4c28573948d2
diff --git a/dev-python/accessible-pygments/accessible-pygments-0.0.4.ebuild b/dev-python/accessible-pygments/accessible-pygments-0.0.4.ebuild
deleted file mode 100644
index eee581b20c2f..000000000000
--- a/dev-python/accessible-pygments/accessible-pygments-0.0.4.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2023 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
-
-DESCRIPTION="A collection of accessible pygments styles"
-HOMEPAGE="
- https://pypi.org/project/accessible-pygments/
- https://github.com/Quansight-Labs/accessible-pygments/
-"
-SRC_URI="
- https://github.com/Quansight-Labs/accessible-pygments/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/pygments-1.5[${PYTHON_USEDEP}]
-"
-
-python_test() {
- # it's more like a demo but at least checks if all themes can
- # be loaded and run; we can't reasonably compare the results
- # because they differ by pygments version a lot
- "${EPYTHON}" test/run_tests.py || die
-}
diff --git a/dev-python/accessible-pygments/accessible-pygments-0.0.5.ebuild b/dev-python/accessible-pygments/accessible-pygments-0.0.5.ebuild
new file mode 100644
index 000000000000..8686955b2179
--- /dev/null
+++ b/dev-python/accessible-pygments/accessible-pygments-0.0.5.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A collection of accessible pygments styles"
+HOMEPAGE="
+ https://pypi.org/project/accessible-pygments/
+ https://github.com/Quansight-Labs/accessible-pygments/
+"
+# no tests in sdist, as of 0.0.5
+SRC_URI="
+ https://github.com/Quansight-Labs/accessible-pygments/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/pygments-1.5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/adblock/adblock-0.6.0.ebuild b/dev-python/adblock/adblock-0.6.0.ebuild
index 720f90e60bfc..2204153a01f8 100644
--- a/dev-python/adblock/adblock-0.6.0.ebuild
+++ b/dev-python/adblock/adblock-0.6.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -71,7 +71,7 @@ CRATES="
"
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit cargo distutils-r1
DESCRIPTION="Python wrapper for Brave's adblocking library, which is written in Rust"
@@ -106,6 +106,9 @@ python_test() {
# unimportant (for us) test that uses the dir that we delete below
# so pytest does not try to load it while lacking extensions
tests/test_typestubs.py::test_functions_and_methods_exist_in_rust
+ # FileNotFound exception test that triggers a new assertion in
+ # python:3.13[debug], not an issue for normal usage (bug #931898)
+ tests/test_engine.py::test_serde_file
)
local EPYTEST_IGNORE=(
# not very meaningful here (e.g. validates changelog),
diff --git a/dev-python/aesara/Manifest b/dev-python/aesara/Manifest
deleted file mode 100644
index 55e6c21a0610..000000000000
--- a/dev-python/aesara/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST aesara-2.9.3.tar.gz 4424476 BLAKE2B 3b1a1f2644267171a04a73d09a20fa29e0cf1eae3a86f5ee9ab72084185080b94cd1855fe8957b5f08aac4d059b047839524218526df37ea711bc3a8871c7e98 SHA512 28a6aedc7e6095a9a4e96eeac453282a0d6e247bd01248c219a5c161bc52ce4ccfb998238b45120b92581d1d0168c87c472aa0a8bb3314d8eb7ce90868e045b5
diff --git a/dev-python/aesara/aesara-2.9.3.ebuild b/dev-python/aesara/aesara-2.9.3.ebuild
deleted file mode 100644
index 614a4de0bfab..000000000000
--- a/dev-python/aesara/aesara-2.9.3.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 multiprocessing optfeature pypi
-
-DESCRIPTION="Library for operating on mathematical expressions with multi-dimensional arrays"
-HOMEPAGE="
- https://github.com/aesara-devs/aesara/
- https://pypi.org/project/aesara/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/cons[${PYTHON_USEDEP}]
- dev-python/etuples[${PYTHON_USEDEP}]
- dev-python/logical-unification[${PYTHON_USEDEP}]
- dev-python/minikanren[${PYTHON_USEDEP}]
- dev-python/filelock[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/aesara-2.6.5-compiledir-tid.patch
- "${FILESDIR}"/aesara-2.8.10-fix-tuple.patch
-)
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # do not claim "bin" package (sic!)
- rm bin/__init__.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # speed tests are unreliable
- tests/scan/test_basic.py::test_speed
- tests/scan/test_basic.py::test_speed_rnn
- tests/scan/test_basic.py::test_speed_batchrnn
- tests/link/test_vm.py::test_speed
- tests/link/test_vm.py::test_speed_lazy
- tests/tensor/test_gc.py::test_merge_opt_runtime
-
- # rounding problem?
- # https://github.com/aesara-devs/aesara/issues/477
- tests/tensor/test_math_scipy.py::TestGammaUBroadcast::test_good
- tests/tensor/test_math_scipy.py::TestGammaUInplaceBroadcast::test_good
-
- # Deprecation warning causes unexpected additional output
- tests/tensor/test_basic.py::TestLongTensor::test_fit_int64
-
- # dunno
- tests/tensor/test_elemwise.py::TestDimShuffle::test_memory_leak
- tests/tensor/signal/test_pool.py::TestDownsampleFactorMax::test_DownsampleFactorMaxGradGrad_grad
-
- # TODO
- tests/link/c/test_op.py::test_ExternalCOp_c_code_cache_version
- tests/sparse/sandbox/test_sp.py::TestSP::test_multilayer_conv
- tests/sparse/sandbox/test_sp.py::TestSP::test_maxpool
-
- # TODO: Package pytest-benchmark
- tests/scan/test_basic.py::TestExamples::test_reordering
- tests/scan/test_basic.py::TestExamples::test_scan_as_tensor_on_gradients
- tests/scan/test_basic.py::TestExamples::test_multiple_outs_taps
- tests/scan/test_rewriting.py::TestPushOutAddScan::test_pregreedy_optimizer
- tests/scan/test_rewriting.py::TestSaveMem::test_savemem_opt
- tests/scan/test_basic.py::test_cython_performance
-
- # new numpy?
- tests/tensor/nnet/test_blocksparse.py::TestBlockSparseGemvAndOuter
- )
- local EPYTEST_IGNORE=(
- # we do not package jax or numba
- tests/link/jax
- tests/link/numba
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x AESARA_FLAGS="cxx=${CXX}"
- AESARA_FLAGS+=",config.gcc__cxxflags=\"${CXXFLAGS}\""
- AESARA_FLAGS+=',compiledir_format="compiledir_%(thread_id)s"'
-
- epytest -p xdist.plugin -n "$(makeopts_jobs)" --dist=worksteal
- # clean up the compiledir, as it can grow pretty large
- rm -r "${HOME}"/.aesara || die
-}
-
-pkg_postinst() {
- optfeature "GPU code generation/execution on NVIDIA gpus" dev-util/nvidia-cuda-toolkit
- optfeature "GPU/CPU code generation on CUDA and OpenCL devices" dev-libs/libgpuarray dev-python/pycuda
-}
diff --git a/dev-python/aesara/files/aesara-2.6.5-compiledir-tid.patch b/dev-python/aesara/files/aesara-2.6.5-compiledir-tid.patch
deleted file mode 100644
index aa36fc26fb12..000000000000
--- a/dev-python/aesara/files/aesara-2.6.5-compiledir-tid.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 6e49c314cd5050763f983759d156f26ffbc59368 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sat, 7 May 2022 23:38:31 +0200
-Subject: [PATCH] Allow referencing thread identifier in `compiledir_format`
-
-Add a new `thread_id` key that permits referencing the current thread ID
-(`threading.get_ident()`) in `compiledir_format`. This makes it
-possible to use per-thread compiledirs in multithreaded programs,
-and therefore make it possible for aesara to run multiple compiler
-instances in parallel.
-
-Combined with pytest-xdist, this change makes it possible to run
-aesara's tests in parallel and better utilize multiprocessor (multicore)
-systems. On my Ryzen 5, this provides around 4x speedup (down from 82
-minutes to 20 minutes per test run). Given that we are running the test
-suite multiple times to test different Python versions, this literally
-saves hours at a time.
-
-Prior to this change, xdist would not be able to fully utilize
-the available resources since the compiledir lock would prevent aesara
-from starting multiple compiler instances in parallel, and therefore
-practically serialize tests on compiler invocations.
----
- aesara/configdefaults.py | 2 ++
- 1 file changed, 2 insertions(+)
-
-diff --git a/aesara/configdefaults.py b/aesara/configdefaults.py
-index 8121919958..60eb4f997e 100644
---- a/aesara/configdefaults.py
-+++ b/aesara/configdefaults.py
-@@ -7,6 +7,7 @@
- import socket
- import sys
- import textwrap
-+import threading
-
- import numpy as np
-
-@@ -1345,6 +1346,7 @@ def _get_home_dir():
- "numpy_version": np.__version__,
- "gxx_version": "xxx",
- "hostname": socket.gethostname(),
-+ "thread_id": threading.get_ident(),
- }
-
-
diff --git a/dev-python/aesara/files/aesara-2.8.10-fix-tuple.patch b/dev-python/aesara/files/aesara-2.8.10-fix-tuple.patch
deleted file mode 100644
index 7eb537d54286..000000000000
--- a/dev-python/aesara/files/aesara-2.8.10-fix-tuple.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/aesara/tensor/nnet/corr.py b/aesara/tensor/nnet/corr.py
-index e89054d..77ed344 100644
---- a/aesara/tensor/nnet/corr.py
-+++ b/aesara/tensor/nnet/corr.py
-@@ -692,12 +692,12 @@ class CorrMM(BaseCorrMM):
- if kern.type.ndim != 4:
- raise TypeError("kern must be 4D tensor")
-
-- out_shape = tuple(
-+ out_shape = tuple([
- 1 if img.type.shape[0] == 1 else None,
- 1 if kern.type.shape[0] == 1 else None,
- None,
- None,
-- )
-+ ])
- dtype = img.type.dtype
- return Apply(self, [img, kern], [TensorType(dtype, shape=out_shape)()])
-
diff --git a/dev-python/aesara/metadata.xml b/dev-python/aesara/metadata.xml
deleted file mode 100644
index 010f78c68d85..000000000000
--- a/dev-python/aesara/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">aesara</remote-id>
- <remote-id type="github">aesara-devs/aesara</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/agate-dbf/Manifest b/dev-python/agate-dbf/Manifest
index 55efe872b2a3..97ca9400aabc 100644
--- a/dev-python/agate-dbf/Manifest
+++ b/dev-python/agate-dbf/Manifest
@@ -1 +1 @@
-DIST agate-dbf-0.2.2.gh.tar.gz 8727 BLAKE2B 1397e87ebecff43380d17628867317e9b66584f4281609717b86c30cfa286e6d9ab32d8250c99c698c887aceae28ad4af311e0f777525283b30b65c15582895d SHA512 a92c19db922cc3f896fbe21f33afacd757a7fa3d6a26545033a898665a87765ddf4af964e4cba315cee0c70da926c965aaf68b64af86cf2aabbb9a68a65a38fe
+DIST agate-dbf-0.2.3.gh.tar.gz 7255 BLAKE2B ce6ffed843ad96667e33190bf79c2e71d8c3012700d47d7294059088b2e2dd5d9c763bdcca5fec04ed644effddcdf68437353c341fc63a87c2be2d1db87c8c2e SHA512 5d7102ab7cd58b0496759e425b76368f685454bc0a208b79091bf69f8904bc0fc8e8a15b709e3c938648713d2191d1a70553fea7b57f890aa60f7a27e93d9448
diff --git a/dev-python/agate-dbf/agate-dbf-0.2.2-r2.ebuild b/dev-python/agate-dbf/agate-dbf-0.2.2-r2.ebuild
deleted file mode 100644
index 2dc087caa664..000000000000
--- a/dev-python/agate-dbf/agate-dbf-0.2.2-r2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Adds read support for DBF files to agate"
-HOMEPAGE="
- https://github.com/wireservice/agate-dbf/
- https://pypi.org/project/agate-dbf/
-"
-SRC_URI="
- https://github.com/wireservice/agate-dbf/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/agate-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/dbfread-2.0.5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/agate-dbf/agate-dbf-0.2.3.ebuild b/dev-python/agate-dbf/agate-dbf-0.2.3.ebuild
new file mode 100644
index 000000000000..59f568ba63fd
--- /dev/null
+++ b/dev-python/agate-dbf/agate-dbf-0.2.3.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Adds read support for DBF files to agate"
+HOMEPAGE="
+ https://github.com/wireservice/agate-dbf/
+ https://pypi.org/project/agate-dbf/
+"
+SRC_URI="
+ https://github.com/wireservice/agate-dbf/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/agate-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/dbfread-2.0.5[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/furo
+distutils_enable_tests pytest
diff --git a/dev-python/agate-excel/Manifest b/dev-python/agate-excel/Manifest
index 5e3cf1cf52dc..ae7beb792957 100644
--- a/dev-python/agate-excel/Manifest
+++ b/dev-python/agate-excel/Manifest
@@ -1,4 +1 @@
-DIST agate-excel-0.2.5.tar.gz 161131 BLAKE2B ed7306dabf8b5da722aec9005da9bdba74a9cc585ea72b429eecc4b1fcbdfed698af8e582c464081867c0d4a285b9bc892efc339f0a08c657d87e61fd1174496 SHA512 5686c3faf8b817589a62d9fac558bebe7f47124685be9f8146d74c206023530d0cec2ad88fa4ba7ac049516f5bec6783ce8f0ff47f8eb8b2ed8aad7316f1771b
-DIST agate-excel-0.3.0.tar.gz 164113 BLAKE2B f5d9d3c2225bd5df38b0f3028fdcaa61000f5bd6de05d5e490beb1f4b3184e82e76aa8a1d46845ff9795792a8dd58de075da74c27df3a4d4f7a3b6f8ffb7b501 SHA512 7d795f1086d38e736d594d9514dd154da31bb9c5de321ecaea0ce66525f2cb9bc2c1dc8bd51480fa8f4e506626560b1865de6db4c17f67148fa9269085ca53f0
-DIST agate-excel-0.4.0.tar.gz 164270 BLAKE2B a45edd9b705ab6673ee4283fc4af7337f6d0ae4a8961b96f4917a4fe74709f5c8d94193e351a996b2d08c548ac9c232f0b1f352a7bd4d22b3f8281840900f75d SHA512 ecacba1ea75a91220e2462c44b1690d4d7ef1db3bee117ef1f4993614392137197f9fd2e4aaddf27a607179c529558fde3d4faa8d2c3fbbac86926ce860ed12c
DIST agate-excel-0.4.1.tar.gz 271433 BLAKE2B 855f60c42726d73e76cd233c607b23b2c227404dc393afa38f6bf9dc4a65708f2644a252faede3d105c440a96e51181e30f7fcf5e80f57434d47d42ca17f9ca7 SHA512 934e8c0416df2e57b617095454aca14e202df1301779814841934452faf672e27a65628efee344df2873bece3731435fa40a6831321ed59a606810bd472d23b8
diff --git a/dev-python/agate-excel/agate-excel-0.2.5-r2.ebuild b/dev-python/agate-excel/agate-excel-0.2.5-r2.ebuild
deleted file mode 100644
index d2000ce32855..000000000000
--- a/dev-python/agate-excel/agate-excel-0.2.5-r2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Adds read support for Excel files (xls and xlsx) to agate"
-HOMEPAGE="
- https://github.com/wireservice/agate-excel/
- https://pypi.org/project/agate-excel/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/agate-1.5.0[${PYTHON_USEDEP}]
- dev-python/olefile[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-2.3.0[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- >=dev-python/xlrd-0.9.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/agate-excel/agate-excel-0.3.0.ebuild b/dev-python/agate-excel/agate-excel-0.3.0.ebuild
deleted file mode 100644
index 2b80eb5db7e5..000000000000
--- a/dev-python/agate-excel/agate-excel-0.3.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Adds read support for Excel files (xls and xlsx) to agate"
-HOMEPAGE="
- https://github.com/wireservice/agate-excel/
- https://pypi.org/project/agate-excel/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/agate-1.5.0[${PYTHON_USEDEP}]
- dev-python/olefile[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-2.3.0[${PYTHON_USEDEP}]
- >=dev-python/xlrd-0.9.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/agate-excel/agate-excel-0.4.0.ebuild b/dev-python/agate-excel/agate-excel-0.4.0.ebuild
deleted file mode 100644
index 2b80eb5db7e5..000000000000
--- a/dev-python/agate-excel/agate-excel-0.4.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Adds read support for Excel files (xls and xlsx) to agate"
-HOMEPAGE="
- https://github.com/wireservice/agate-excel/
- https://pypi.org/project/agate-excel/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/agate-1.5.0[${PYTHON_USEDEP}]
- dev-python/olefile[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-2.3.0[${PYTHON_USEDEP}]
- >=dev-python/xlrd-0.9.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/agate-excel/agate-excel-0.4.1.ebuild b/dev-python/agate-excel/agate-excel-0.4.1.ebuild
index 2b80eb5db7e5..e1b3790b1fa3 100644
--- a/dev-python/agate-excel/agate-excel-0.4.1.ebuild
+++ b/dev-python/agate-excel/agate-excel-0.4.1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/agate-sql/Manifest b/dev-python/agate-sql/Manifest
index 099decd5f2cd..5b8630b38451 100644
--- a/dev-python/agate-sql/Manifest
+++ b/dev-python/agate-sql/Manifest
@@ -1 +1 @@
-DIST agate-sql-0.7.0.tar.gz 13488 BLAKE2B 1064747f1f2a11f788c0828123ae3532ffd0aa6b32aa423b877e350e35e4231c21e73226920110ad9369b0b583167e47357acf456607e75e0ad9d5027e265c9c SHA512 6a29bcb19cac6e80a6df8ad51c06838fa4c48a1e5b207a55f7ebaf3b7af1afd56fad61c560f4c7a11da24e9460ab0a8ea6d9459309e05ac162f3ddd3737bb868
+DIST agate-sql-0.7.2.tar.gz 13695 BLAKE2B 2db0958b26c1c8639b8fd97b210071ad18a9163b63e3fcdde4ce3e0c270896a758065723e14604cb9e16f71c084ecc5af9b5224d83ee6c960a1d708c1a96787c SHA512 c24026d93479003672efaa04654719183eb69bd86d24916f2618ed88ebbe8b51f2dac3c6fcbfd3c18643fbab0a2564670909350e1379eca621ccd42ab411251e
diff --git a/dev-python/agate-sql/agate-sql-0.7.0.ebuild b/dev-python/agate-sql/agate-sql-0.7.0.ebuild
deleted file mode 100644
index cdbee2639143..000000000000
--- a/dev-python/agate-sql/agate-sql-0.7.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2021-2023 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 pypi
-
-DESCRIPTION="Adds SQL read/write support to agate"
-HOMEPAGE="
- https://github.com/wireservice/agate-sql/
- https://pypi.org/project/agate-sql/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/agate-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/greenlet[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # requires crate
- tests/test_agatesql.py::TestSQL::test_to_sql_create_statement_with_dialects
-)
diff --git a/dev-python/agate-sql/agate-sql-0.7.2.ebuild b/dev-python/agate-sql/agate-sql-0.7.2.ebuild
new file mode 100644
index 000000000000..a3daf6c83d1c
--- /dev/null
+++ b/dev-python/agate-sql/agate-sql-0.7.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2021-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Adds SQL read/write support to agate"
+HOMEPAGE="
+ https://github.com/wireservice/agate-sql/
+ https://pypi.org/project/agate-sql/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/agate-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires crate
+ tests/test_agatesql.py::TestSQL::test_to_sql_create_statement_with_dialects
+)
diff --git a/dev-python/agate/Manifest b/dev-python/agate/Manifest
index 916ef4dc99e8..230c5346c8e6 100644
--- a/dev-python/agate/Manifest
+++ b/dev-python/agate/Manifest
@@ -1 +1 @@
-DIST agate-1.9.0.tar.gz 202237 BLAKE2B f4a6609f843b0b0499b44c6596c186198e2d6a0c964727fbd3d3fa69bd6164a067384354e3426a0276f91fc3b6f2d1fc86e05e4d4be974d1f2c223b20cb5a6b3 SHA512 bbd05b503d27e34625cebba71c0d3a1362bf63c45a3ce7c327fb73f0730b739fe8f9bf780c37c4e1a0e70c9d263d9191946fa6b70c147c0761a43ed479ae7fed
+DIST agate-1.11.0.tar.gz 203764 BLAKE2B c652f4f28840b036361fd05d5f1ca612fdb251a055f2e42d3859050907f0c0f0c17cb2a3351d5eb9d96759f18fc6851a501d1d3aabcb2ad257093ee97a96693d SHA512 9134987ed32838565e6d599568d5346e90d4623dca0868d13d134d6333d55f64ee4fc67469c691e1e964c735e14482e18615ca79f25108ffaf24c4da50a28ae6
diff --git a/dev-python/agate/agate-1.11.0.ebuild b/dev-python/agate/agate-1.11.0.ebuild
new file mode 100644
index 000000000000..eb0e80daa1c9
--- /dev/null
+++ b/dev-python/agate/agate-1.11.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python data analysis library that is optimized for humans instead of machines"
+HOMEPAGE="
+ https://github.com/wireservice/agate/
+ https://pypi.org/project/agate/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/pytimeparse-1.1.5[${PYTHON_USEDEP}]
+ >=dev-python/parsedatetime-2.1[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.0[${PYTHON_USEDEP}]
+ >=dev-python/isodate-0.5.4[${PYTHON_USEDEP}]
+ >=dev-python/pyicu-2.4.2[${PYTHON_USEDEP}]
+ >=dev-python/python-slugify-1.2.1[${PYTHON_USEDEP}]
+ >=dev-python/leather-0.3.3-r2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/cssselect-0.9.1[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/furo
+
+EPYTEST_DESELECT=(
+ # require specific locales
+ tests/test_data_types.py::TestDate::test_cast_format_locale
+ tests/test_data_types.py::TestDateTime::test_cast_format_locale
+)
diff --git a/dev-python/agate/agate-1.9.0.ebuild b/dev-python/agate/agate-1.9.0.ebuild
deleted file mode 100644
index 3452927edab1..000000000000
--- a/dev-python/agate/agate-1.9.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A Python data analysis library that is optimized for humans instead of machines"
-HOMEPAGE="
- https://github.com/wireservice/agate/
- https://pypi.org/project/agate/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/pytimeparse-1.1.5[${PYTHON_USEDEP}]
- >=dev-python/parsedatetime-2.1[${PYTHON_USEDEP}]
- >=dev-python/Babel-2.0[${PYTHON_USEDEP}]
- >=dev-python/isodate-0.5.4[${PYTHON_USEDEP}]
- >=dev-python/pyicu-2.4.2[${PYTHON_USEDEP}]
- >=dev-python/python-slugify-1.2.1[${PYTHON_USEDEP}]
- >=dev-python/leather-0.3.3-r2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/furo
-
-EPYTEST_DESELECT=(
- # require specific locales
- tests/test_data_types.py::TestDate::test_cast_format_locale
- tests/test_data_types.py::TestDateTime::test_cast_format_locale
-)
diff --git a/dev-python/aiocache/Manifest b/dev-python/aiocache/Manifest
index 10dac826433c..763434e37262 100644
--- a/dev-python/aiocache/Manifest
+++ b/dev-python/aiocache/Manifest
@@ -1,2 +1 @@
-DIST aiocache-0.12.0.tar.gz 127002 BLAKE2B efb07ff146d777e99154c839d01665d35fbba410e1a1ca80d4c71f639e69abf43509d79398679027f0a94eb24cfdf933f5762418bd3f43dd441281cc1b1b5236 SHA512 8437c148cc2d40737c0352b0a2fa19636124b71bc03f206066e5c7b8910aa0f0bddfa40587d50a4acd86abd88e8db595a92e267d4b25234f20ccba94e5a63e7e
DIST aiocache-0.12.2.tar.gz 131851 BLAKE2B a8467ec12321248f7673245c427567d2c8ef345a6a34694618fce0969e186de47097d64c3b94cbf047a281a1ed09889075862d9770f7787daaf9469f245b2493 SHA512 ce57e3fdbd428e8a8a94a45e5196e339d40f4fffa49851c3486b264e6344d72fe39407bd958a97baa7af06433c08a0e9d6a7ae44eff515dfc40012804ac876f2
diff --git a/dev-python/aiocache/aiocache-0.12.0.ebuild b/dev-python/aiocache/aiocache-0.12.0.ebuild
deleted file mode 100644
index f9138d54e4ac..000000000000
--- a/dev-python/aiocache/aiocache-0.12.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Asyncio cache manager"
-HOMEPAGE="https://github.com/aio-libs/aiocache/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-
-# TODO add optional cache systems deps (and new package aiomcache)
-# Tests require all backends
-RESTRICT="test"
-
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )"
-
-PATCHES=( "${FILESDIR}/${PN}-0.12.0-fix-test-installation.patch" )
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest -o addopts=
-}
diff --git a/dev-python/aiocache/aiocache-0.12.2.ebuild b/dev-python/aiocache/aiocache-0.12.2.ebuild
index dd8c5bb60fe4..dd4566086e0c 100644
--- a/dev-python/aiocache/aiocache-0.12.2.ebuild
+++ b/dev-python/aiocache/aiocache-0.12.2.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
+# py3.13: https://github.com/aio-libs/aiocache/issues/863
PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 pypi
@@ -32,6 +33,10 @@ BDEPEND="
distutils_enable_tests pytest
python_test() {
+ local EPYTEST_DESELECT=(
+ # broken by newer dev-python/redis (?), removed upstream
+ tests/ut/backends/test_redis.py::TestRedisBackend::test_close
+ )
local EPYTEST_IGNORE=(
# benchmarks
tests/performance
@@ -39,7 +44,8 @@ python_test() {
tests/ut/backends/test_memcached.py
)
- epytest -o addopts= -m "not memcached"
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -m "not memcached" -p asyncio -p pytest_mock
}
src_test() {
diff --git a/dev-python/aiocache/files/aiocache-0.12.0-fix-test-installation.patch b/dev-python/aiocache/files/aiocache-0.12.0-fix-test-installation.patch
deleted file mode 100644
index a64f618931ed..000000000000
--- a/dev-python/aiocache/files/aiocache-0.12.0-fix-test-installation.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -Naur aiocache-0.12.0.orig/setup.py aiocache-0.12.0/setup.py
---- aiocache-0.12.0.orig/setup.py 2023-01-13 21:54:07.000000000 +0100
-+++ aiocache-0.12.0/setup.py 2023-02-09 22:45:48.004077571 +0100
-@@ -29,7 +29,7 @@
- "Programming Language :: Python :: 3.11",
- "Framework :: AsyncIO",
- ],
-- packages=find_packages(),
-+ packages=find_packages(exclude=['tests*']),
- install_requires=None,
- extras_require={
- "redis": ["redis>=4.2.0"],
diff --git a/dev-python/aiodns/Manifest b/dev-python/aiodns/Manifest
index 247d546a18e6..eb086c8df57a 100644
--- a/dev-python/aiodns/Manifest
+++ b/dev-python/aiodns/Manifest
@@ -1 +1 @@
-DIST aiodns-3.1.1.tar.gz 7363 BLAKE2B bb5a465be00ff61406b61cef133cb5eed8e007114ddcd1475a12fed5481ec377bc96291fdc7fd6cc5936de865118f7008625ec5d69c09f96eacdb83b4b29c786 SHA512 7c28cc6256a575681778376cc197a9504133b1127eb3508f6e5cd1c992c95adef66cf8399b7e90ca012347485e476f71e3f032f7e2f555954ad9a0cade8df5f9
+DIST aiodns-3.2.0.tar.gz 7823 BLAKE2B 8bafeebbf6ef69001670dffe8df3bd89b817bca921e266e218eaf2a53653d5bb150cef0c99b2fd498d39befb57c6e2edb4d94fbf4b4548e1debce69bcd114ff3 SHA512 ca6ae2d53cc0a0e5b8cd5f47da56d7db43236eb6738509d5cc088e56db996c49eba8b024cfe368e5acf44ad4de4cb5d6f949c7f0d4cd16ff4d5cc42ae3b27cb1
diff --git a/dev-python/aiodns/aiodns-3.1.1.ebuild b/dev-python/aiodns/aiodns-3.1.1.ebuild
deleted file mode 100644
index e02ba3f75621..000000000000
--- a/dev-python/aiodns/aiodns-3.1.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Simple DNS resolver for asyncio"
-HOMEPAGE="https://github.com/saghul/aiodns/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv ~x86"
-
-# Tests fail with network-sandbox, since they try to resolve google.com
-PROPERTIES="test_network"
-RESTRICT="test"
-
-RDEPEND=">=dev-python/pycares-3[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Internet changed, https://github.com/saghul/aiodns/issues/107
- tests.py::DNSTest::test_query_bad_chars
- )
-
- epytest tests.py
-}
diff --git a/dev-python/aiodns/aiodns-3.2.0.ebuild b/dev-python/aiodns/aiodns-3.2.0.ebuild
new file mode 100644
index 000000000000..c50c0477ae27
--- /dev/null
+++ b/dev-python/aiodns/aiodns-3.2.0.ebuild
@@ -0,0 +1,37 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple DNS resolver for asyncio"
+HOMEPAGE="
+ https://pypi.org/project/aiodns/
+ https://github.com/saghul/aiodns/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~riscv ~sparc ~x86"
+
+# Tests fail with network-sandbox, since they try to resolve google.com
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND=">=dev-python/pycares-3[${PYTHON_USEDEP}]"
+DEPEND="${RDEPEND}"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet changed, https://github.com/saghul/aiodns/issues/107
+ tests.py::DNSTest::test_query_bad_chars
+ )
+
+ epytest tests.py
+}
diff --git a/dev-python/aiofiles/Manifest b/dev-python/aiofiles/Manifest
index d308d58881a9..b350a44e73cf 100644
--- a/dev-python/aiofiles/Manifest
+++ b/dev-python/aiofiles/Manifest
@@ -1,3 +1 @@
-DIST aiofiles-22.1.0.gh.tar.gz 21630 BLAKE2B 8f068046fc143388debc93b657f8b4715cd48eac7e7b8a031ccdc6d2f5764ddcafb2ad1fab713ca55366cad951b570e1c2a120932bf5545482e1a3f086a76bf9 SHA512 6706fb7b6fd32df415ece64f35b8ccc2f263301c43292612b2b6173fb66c77bc88fd08ed0b0bb30fa3dd49571be8fc733a3d4f3611228fdbb368743588336357
-DIST aiofiles-23.1.0.gh.tar.gz 30110 BLAKE2B c6cb0880cc761d3c34eefbda373a361a3f20bc6e37c81c769609b149dd13ff6cf9f169d63cbde9d02cd91a49d03198705576389c531a82fcd614e7b464bdafe8 SHA512 7afbc492061df6b5e76514d36938ec39e3261fbf0c3123d38f1d32cc1d335603d6ab681c088d9c68ef5be9fc9b9eec1b460268b03d5f6409213bf20ec87dde47
-DIST aiofiles-23.2.1.tar.gz 32072 BLAKE2B 9718fe7f4367b30ca295efb39ffeab0c77ca54ed1c4f556b0b39f5abb540d4f23c6e8a49aa5b6b76c0692e393bbab7c8d252de4b0f6f4f423b74e88c43483e08 SHA512 defc9d1ff5351c1812432db1849233b1f0aa661f6420c79a6eb17d84c0622ee4dd5102d50e9ef920c91adcc48914a39cd62701b340b01806a83773bf05900b6f
+DIST aiofiles-24.1.0.tar.gz 30247 BLAKE2B a2f979feb2db577b70caa0919a5571fa1a5d5e3f8b27711db72e9307f91effedaf587ce482fbd0ebca3dcca33388db16f72ab21c001438d32fc094b052703abd SHA512 dcb7f69354899f752cf4eef63a19ca6582f9288735345a0ff7503f3dd571e0a184962fbb89054a2e46e3efff5d84db6bdec4bb421a7d0aa8fec2c3093e54c371
diff --git a/dev-python/aiofiles/aiofiles-22.1.0.ebuild b/dev-python/aiofiles/aiofiles-22.1.0.ebuild
deleted file mode 100644
index b8347ab03843..000000000000
--- a/dev-python/aiofiles/aiofiles-22.1.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="File support for asyncio"
-HOMEPAGE="
- https://github.com/Tinche/aiofiles/
- https://pypi.org/project/aiofiles/
-"
-SRC_URI="
- https://github.com/Tinche/aiofiles/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/aiofiles/aiofiles-23.1.0.ebuild b/dev-python/aiofiles/aiofiles-23.1.0.ebuild
deleted file mode 100644
index b8347ab03843..000000000000
--- a/dev-python/aiofiles/aiofiles-23.1.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="File support for asyncio"
-HOMEPAGE="
- https://github.com/Tinche/aiofiles/
- https://pypi.org/project/aiofiles/
-"
-SRC_URI="
- https://github.com/Tinche/aiofiles/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/aiofiles/aiofiles-23.2.1.ebuild b/dev-python/aiofiles/aiofiles-23.2.1.ebuild
deleted file mode 100644
index fdd7bf06ce91..000000000000
--- a/dev-python/aiofiles/aiofiles-23.2.1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="File support for asyncio"
-HOMEPAGE="
- https://github.com/Tinche/aiofiles/
- https://pypi.org/project/aiofiles/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/aiofiles/aiofiles-24.1.0.ebuild b/dev-python/aiofiles/aiofiles-24.1.0.ebuild
new file mode 100644
index 000000000000..3bbf541d4097
--- /dev/null
+++ b/dev-python/aiofiles/aiofiles-24.1.0.ebuild
@@ -0,0 +1,27 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="File support for asyncio"
+HOMEPAGE="
+ https://github.com/Tinche/aiofiles/
+ https://pypi.org/project/aiofiles/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/aiohappyeyeballs/Manifest b/dev-python/aiohappyeyeballs/Manifest
new file mode 100644
index 000000000000..a0e51c867691
--- /dev/null
+++ b/dev-python/aiohappyeyeballs/Manifest
@@ -0,0 +1 @@
+DIST aiohappyeyeballs-2.3.2.gh.tar.gz 46204 BLAKE2B 85a050910181e7acd6520ae8126e6e1656b5d5e7d869bca481af5fe65b52bf1d4dc0502d2e0cce702c60dc9420757fc892a91a600a73925adce6990fc224bb1a SHA512 5638dabb06c9d0182e21371470d612ec78a1a8981a0720318b0f4fc0569b7c556adfba6297b5bec75726e106f5a6335acfb19bd5322e43e5ebc4f71d4457424c
diff --git a/dev-python/aiohappyeyeballs/aiohappyeyeballs-2.3.2.ebuild b/dev-python/aiohappyeyeballs/aiohappyeyeballs-2.3.2.ebuild
new file mode 100644
index 000000000000..05fb16344a39
--- /dev/null
+++ b/dev-python/aiohappyeyeballs/aiohappyeyeballs-2.3.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Happy Eyeballs for pre-resolved hosts"
+HOMEPAGE="
+ https://pypi.org/project/aiohappyeyeballs/
+ https://github.com/aio-libs/aiohappyeyeballs/
+"
+SRC_URI="
+ https://github.com/aio-libs/aiohappyeyeballs/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ >=dev-python/pytest-asyncio-0.23.2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -o addopts=
+}
diff --git a/dev-python/aiohappyeyeballs/metadata.xml b/dev-python/aiohappyeyeballs/metadata.xml
new file mode 100644
index 000000000000..5f0349700b9f
--- /dev/null
+++ b/dev-python/aiohappyeyeballs/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">aio-libs/aiohappyeyeballs</remote-id>
+ <remote-id type="pypi">aiohappyeyeballs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/aiohttp-cors/aiohttp-cors-0.7.0-r2.ebuild b/dev-python/aiohttp-cors/aiohttp-cors-0.7.0-r2.ebuild
index b9f9a8493b93..ced5f10eb24a 100644
--- a/dev-python/aiohttp-cors/aiohttp-cors-0.7.0-r2.ebuild
+++ b/dev-python/aiohttp-cors/aiohttp-cors-0.7.0-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -34,13 +34,20 @@ BDEPEND="
distutils_enable_tests pytest
-PATCHES=(
- # https://github.com/aio-libs/aiohttp-cors/pull/278
- "${FILESDIR}/${P}-tests.patch"
- "${FILESDIR}/${P}-py3_7.patch"
- # https://github.com/aio-libs/aiohttp-cors/pull/412
- "${FILESDIR}/${P}-py3_11.patch"
-)
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/aio-libs/aiohttp-cors/pull/278
+ "${FILESDIR}/${P}-tests.patch"
+ "${FILESDIR}/${P}-py3_7.patch"
+ # https://github.com/aio-libs/aiohttp-cors/pull/412
+ "${FILESDIR}/${P}-py3_11.patch"
+ )
+
+ # doesn't do anything, except for breaking pytest-8
+ rm conftest.py || die
+
+ distutils-r1_src_prepare
+}
python_test() {
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
diff --git a/dev-python/aiohttp-oauthlib/aiohttp-oauthlib-0.1.0.ebuild b/dev-python/aiohttp-oauthlib/aiohttp-oauthlib-0.1.0.ebuild
index 5b22550be9b5..9ea46ce22c55 100644
--- a/dev-python/aiohttp-oauthlib/aiohttp-oauthlib-0.1.0.ebuild
+++ b/dev-python/aiohttp-oauthlib/aiohttp-oauthlib-0.1.0.ebuild
@@ -1,26 +1,28 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
DESCRIPTION="This project provides first-class OAuth library support for aiohttp"
HOMEPAGE="https://git.sr.ht/~whynothugo/aiohttp-oauthlib"
SRC_URI="https://git.sr.ht/~whynothugo/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+S="${WORKDIR}/${PN}-v${PV}"
-SLOT="0"
LICENSE="ISC"
+SLOT="0"
KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
RDEPEND="
dev-python/aiohttp[${PYTHON_USEDEP}]
>=dev-python/oauthlib-3.0.0[${PYTHON_USEDEP}]"
-BDEPEND="dev-python/setuptools-scm[${PYTHON_USEDEP}]"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
-S="${WORKDIR}/${PN}-v${PV}"
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/aiohttp-socks/aiohttp-socks-0.8.4.ebuild b/dev-python/aiohttp-socks/aiohttp-socks-0.8.4.ebuild
index b6c01b1eec21..db59f041a4ea 100644
--- a/dev-python/aiohttp-socks/aiohttp-socks-0.8.4.ebuild
+++ b/dev-python/aiohttp-socks/aiohttp-socks-0.8.4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/aiohttp/Manifest b/dev-python/aiohttp/Manifest
index f952f78c491e..6c4460177310 100644
--- a/dev-python/aiohttp/Manifest
+++ b/dev-python/aiohttp/Manifest
@@ -1,3 +1,2 @@
-DIST aiohttp-3.8.6.tar.gz 7352172 BLAKE2B 4dc602abb4f9bd7c65bda7d11cde3e703bbc7786fb3f8ef36922caef42912b2c10a198ebdcecd3fcd022c3a9a729766a2023636f756a8fa10663bf988554f967 SHA512 43f1dd6670d90aefee7f0f30411b13c643ea684815b493cc4437e5f1981f4fdf4b718a40543d7c3c8c70d8b27470b8f3bf1609e46146362e0490ce0990a057f5
-DIST aiohttp-3.9.0.tar.gz 7475063 BLAKE2B 0447b9b095b3004b16eef37bd4d815f864dbfad7efb3021cb97676487cdf6d3007de47cb80daa773cc645ca60b21c79768fdc7a15163bb60578b4d05e17db924 SHA512 3001ea211985c26aa4f8a20210d80d6e72a904c1ea93a5aed5d08eb191dd253155ec5a44ae14d961c6ebbc747cbc8e602866ee7eb0b8963cf783a68dcf8b3ba6
-DIST aiohttp-3.9.1.tar.gz 7482118 BLAKE2B 2150ae98f799f9c6e1f48987bfd8b1847439d8b87cd21417676c2fa5c971fcdc13c3f933dfdd5eceb92b47ad604d16c2a71d884118d8bde1816f2d944d2930a2 SHA512 3288085d5fbcfb7e3664f906345aeab6f989f2318babae6bf5cc3955de48707e9de56ce3b9553d6ee35c72b8f884dc1fd01861a638ee738573e78a203e6a9dec
+DIST aiohttp-3.10.0b1.tar.gz 7515855 BLAKE2B af9ad5ffe826f08d26ab5eaf205e1cad348dde4ee22a994ce006e2bd1031d488d5f5a9621016db59127d83845055115bda186a22ae6d607d22ec171051bcdee3 SHA512 66630c508c4dba6f0cee644181006cce0b4cc4e2a25a2304088ec4f4e9497e36bb0624a62174efb4794c112a603146b2a18c5160b7da6e8b3681aec2fde47c84
+DIST aiohttp-3.9.5.tar.gz 7504841 BLAKE2B f051ee88d45952219f72d542f1c6d0cc33c699c6c5fb5dbe3bc054ee4d0e03121b219c8c8524fd1236a8b878329b0997b8afe07d6c66074102d4a2052a8738ff SHA512 da11468a2f131275593395b052700a99cf79055a32d48327dca0f58547ad30add8cd0a375dbd831e2f06fe7a739183251e4ad69c16f3d141799bbed45a8a5dc4
diff --git a/dev-python/aiohttp/aiohttp-3.10.0_beta1.ebuild b/dev-python/aiohttp/aiohttp-3.10.0_beta1.ebuild
new file mode 100644
index 000000000000..d3cbb55e4f2e
--- /dev/null
+++ b/dev-python/aiohttp/aiohttp-3.10.0_beta1.ebuild
@@ -0,0 +1,110 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="HTTP client/server for asyncio"
+HOMEPAGE="
+ https://github.com/aio-libs/aiohttp/
+ https://pypi.org/project/aiohttp/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/aiodns-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/aiohappyeyeballs-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/aiosignal-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ >=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}]
+ >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/yarl-1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ <dev-python/async-timeout-5[${PYTHON_USEDEP}]
+ >=dev-python/async-timeout-4.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ www-servers/gunicorn[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/re-assert[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python3*')
+ test-rust? (
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # increase the timeout a little
+ sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die
+ # xfail_strict fails on py3.10
+ sed -i -e '/--cov/d' -e '/xfail_strict/d' setup.cfg || die
+ sed -i -e 's:-Werror::' Makefile || die
+
+ distutils-r1_src_prepare
+}
+
+python_configure_all() {
+ # workaround missing files
+ mkdir tools || die
+ > requirements/cython.txt || die
+ > tools/gen.py || die
+ chmod +x tools/gen.py || die
+ # force rehashing first
+ emake requirements/.hash/cython.txt.hash
+ > .update-pip || die
+ > .install-cython || die
+ emake cythonize
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # proxy is not packaged
+ tests/test_proxy_functional.py
+ # python_on_whales is not packaged
+ tests/autobahn/test_autobahn.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_client_session.py::test_client_session_timeout_zero
+ # broken by irrelevant deprecation warnings
+ tests/test_circular_imports.py::test_no_warnings
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ # upstream unconditionally blocks building C extensions
+ # on PyPy3 but the test suite needs an explicit switch,
+ # sigh
+ local -x AIOHTTP_NO_EXTENSIONS=1
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_mock,xdist.plugin
+ rm -rf aiohttp || die
+ epytest -m "not internal and not dev_mode"
+}
diff --git a/dev-python/aiohttp/aiohttp-3.8.6-r1.ebuild b/dev-python/aiohttp/aiohttp-3.8.6-r1.ebuild
deleted file mode 100644
index 87cf0162f94c..000000000000
--- a/dev-python/aiohttp/aiohttp-3.8.6-r1.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="HTTP client/server for asyncio"
-HOMEPAGE="
- https://github.com/aio-libs/aiohttp/
- https://pypi.org/project/aiohttp/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/aiosignal-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/async-timeout-4.0.0_alpha3[${PYTHON_USEDEP}]
- >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
- dev-python/brotlicffi[${PYTHON_USEDEP}]
- <dev-python/charset-normalizer-4[${PYTHON_USEDEP}]
- >=dev-python/charset-normalizer-2.0[${PYTHON_USEDEP}]
- >=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}]
- >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
- >=dev-python/yarl-1.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- www-servers/gunicorn[${PYTHON_USEDEP}]
- dev-python/pytest-forked[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/re-assert[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/trustme[${PYTHON_USEDEP}]
- )
- )
-"
-
-DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
-
-distutils_enable_tests pytest
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}/${P}-brotlicffi.patch"
- )
-
- # increase the timeout a little
- sed -e '/abs_tol=/s/0.001/0.01/' -i tests/test_helpers.py || die
-
- # xfail_strict fails on py3.10
- sed -i -e '/--cov/d' -e '/xfail_strict/d' setup.cfg || die
-
- # which(1)... also -Werror, sigh
- sed -i -e 's:which:command -v:' -e 's:-Werror::' Makefile || die
-
- distutils-r1_src_prepare
-}
-
-python_configure_all() {
- # workaround missing files
- mkdir requirements tools || die
- > requirements/cython.txt || die
- > tools/gen.py || die
- chmod +x tools/gen.py || die
- # force rehashing first
- emake requirements/.hash/cython.txt.hash
- > .update-pip || die
- > .install-cython || die
- emake cythonize
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # proxy is not packaged
- tests/test_proxy_functional.py
- )
-
- local EPYTEST_DESELECT=(
- # Internet
- tests/test_client_session.py::test_client_session_timeout_zero
- # broken by irrelevant deprecation warnings
- tests/test_circular_imports.py::test_no_warnings
- # TODO
- tests/test_client_session.py::test_request_tracing_url_params
- )
-
- case ${EPYTHON} in
- pypy3)
- # upstream unconditionally blocks building C extensions
- # on PyPy3 but the test suite needs an explicit switch,
- # sigh
- local -x AIOHTTP_NO_EXTENSIONS=1
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_mock,xdist.plugin,pytest_forked
- rm -rf aiohttp || die
- epytest -n "$(makeopts_jobs)" --forked
-}
diff --git a/dev-python/aiohttp/aiohttp-3.9.0.ebuild b/dev-python/aiohttp/aiohttp-3.9.0.ebuild
deleted file mode 100644
index 43338cff0e79..000000000000
--- a/dev-python/aiohttp/aiohttp-3.9.0.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="HTTP client/server for asyncio"
-HOMEPAGE="
- https://github.com/aio-libs/aiohttp/
- https://pypi.org/project/aiohttp/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/aiosignal-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
- dev-python/brotlicffi[${PYTHON_USEDEP}]
- >=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}]
- >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
- >=dev-python/yarl-1.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- <dev-python/async-timeout-5[${PYTHON_USEDEP}]
- >=dev-python/async-timeout-4.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- www-servers/gunicorn[${PYTHON_USEDEP}]
- dev-python/pytest-forked[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/re-assert[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/time-machine[${PYTHON_USEDEP}]
- ' 'python3*')
- test-rust? (
- dev-python/trustme[${PYTHON_USEDEP}]
- )
- )
-"
-
-DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # increase the timeout a little
- sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die
- # xfail_strict fails on py3.10
- sed -i -e '/--cov/d' -e '/xfail_strict/d' setup.cfg || die
- sed -i -e 's:-Werror::' Makefile || die
-
- distutils-r1_src_prepare
-}
-
-python_configure_all() {
- # workaround missing files
- mkdir requirements tools || die
- > requirements/cython.txt || die
- > tools/gen.py || die
- chmod +x tools/gen.py || die
- # force rehashing first
- emake requirements/.hash/cython.txt.hash
- > .update-pip || die
- > .install-cython || die
- emake cythonize
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # proxy is not packaged
- tests/test_proxy_functional.py
- # python_on_whales is not packaged
- tests/autobahn/test_autobahn.py
- )
-
- local EPYTEST_DESELECT=(
- # Internet
- tests/test_client_session.py::test_client_session_timeout_zero
- # broken by irrelevant deprecation warnings
- tests/test_circular_imports.py::test_no_warnings
- # TODO
- tests/test_client_session.py::test_request_tracing_url_params
- # fragile timing test
- tests/test_imports.py::test_import_time
- # crash in time-machine
- # https://github.com/aio-libs/aiohttp/issues/7851
- # https://github.com/adamchainz/time-machine/issues/403
- tests/test_cookiejar.py::TestCookieJarSafe::test_max_age
- )
-
- case ${EPYTHON} in
- pypy3)
- # upstream unconditionally blocks building C extensions
- # on PyPy3 but the test suite needs an explicit switch,
- # sigh
- local -x AIOHTTP_NO_EXTENSIONS=1
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_mock,xdist.plugin,pytest_forked
- rm -rf aiohttp || die
- epytest --forked
-}
diff --git a/dev-python/aiohttp/aiohttp-3.9.1.ebuild b/dev-python/aiohttp/aiohttp-3.9.1.ebuild
deleted file mode 100644
index 0b1425bf7393..000000000000
--- a/dev-python/aiohttp/aiohttp-3.9.1.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="HTTP client/server for asyncio"
-HOMEPAGE="
- https://github.com/aio-libs/aiohttp/
- https://pypi.org/project/aiohttp/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/aiosignal-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
- dev-python/brotlicffi[${PYTHON_USEDEP}]
- >=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}]
- >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
- >=dev-python/yarl-1.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- <dev-python/async-timeout-5[${PYTHON_USEDEP}]
- >=dev-python/async-timeout-4.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- www-servers/gunicorn[${PYTHON_USEDEP}]
- dev-python/pytest-forked[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/re-assert[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/time-machine[${PYTHON_USEDEP}]
- ' 'python3*')
- test-rust? (
- dev-python/trustme[${PYTHON_USEDEP}]
- )
- )
-"
-
-DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # increase the timeout a little
- sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die
- # xfail_strict fails on py3.10
- sed -i -e '/--cov/d' -e '/xfail_strict/d' setup.cfg || die
- sed -i -e 's:-Werror::' Makefile || die
-
- distutils-r1_src_prepare
-}
-
-python_configure_all() {
- # workaround missing files
- mkdir tools || die
- > requirements/cython.txt || die
- > tools/gen.py || die
- chmod +x tools/gen.py || die
- # force rehashing first
- emake requirements/.hash/cython.txt.hash
- > .update-pip || die
- > .install-cython || die
- emake cythonize
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # proxy is not packaged
- tests/test_proxy_functional.py
- # python_on_whales is not packaged
- tests/autobahn/test_autobahn.py
- )
-
- local EPYTEST_DESELECT=(
- # Internet
- tests/test_client_session.py::test_client_session_timeout_zero
- # broken by irrelevant deprecation warnings
- tests/test_circular_imports.py::test_no_warnings
- # TODO
- tests/test_client_session.py::test_request_tracing_url_params
- # fragile timing test
- tests/test_imports.py::test_import_time
- # crash in time-machine
- # https://github.com/aio-libs/aiohttp/issues/7851
- # https://github.com/adamchainz/time-machine/issues/403
- tests/test_cookiejar.py::TestCookieJarSafe::test_max_age
- )
-
- case ${EPYTHON} in
- pypy3)
- # upstream unconditionally blocks building C extensions
- # on PyPy3 but the test suite needs an explicit switch,
- # sigh
- local -x AIOHTTP_NO_EXTENSIONS=1
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_mock,xdist.plugin,pytest_forked
- rm -rf aiohttp || die
- epytest --forked
-}
diff --git a/dev-python/aiohttp/aiohttp-3.9.5.ebuild b/dev-python/aiohttp/aiohttp-3.9.5.ebuild
new file mode 100644
index 000000000000..1e85cdf71091
--- /dev/null
+++ b/dev-python/aiohttp/aiohttp-3.9.5.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=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="HTTP client/server for asyncio"
+HOMEPAGE="
+ https://github.com/aio-libs/aiohttp/
+ https://pypi.org/project/aiohttp/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/aiosignal-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/attrs-17.3.0[${PYTHON_USEDEP}]
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ >=dev-python/frozenlist-1.1.1[${PYTHON_USEDEP}]
+ >=dev-python/multidict-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/yarl-1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ <dev-python/async-timeout-5[${PYTHON_USEDEP}]
+ >=dev-python/async-timeout-4.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ www-servers/gunicorn[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/re-assert[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python3*')
+ test-rust? (
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+DOCS=( CHANGES.rst CONTRIBUTORS.txt README.rst )
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # increase the timeout a little
+ sed -e '/abs=/s/0.001/0.01/' -i tests/test_helpers.py || die
+ # xfail_strict fails on py3.10
+ sed -i -e '/--cov/d' -e '/xfail_strict/d' setup.cfg || die
+ sed -i -e 's:-Werror::' Makefile || die
+
+ distutils-r1_src_prepare
+}
+
+python_configure_all() {
+ # workaround missing files
+ mkdir tools || die
+ > requirements/cython.txt || die
+ > tools/gen.py || die
+ chmod +x tools/gen.py || die
+ # force rehashing first
+ emake requirements/.hash/cython.txt.hash
+ > .update-pip || die
+ > .install-cython || die
+ emake cythonize
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # proxy is not packaged
+ tests/test_proxy_functional.py
+ # python_on_whales is not packaged
+ tests/autobahn/test_autobahn.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_client_session.py::test_client_session_timeout_zero
+ # broken by irrelevant deprecation warnings
+ tests/test_circular_imports.py::test_no_warnings
+ # TODO
+ tests/test_client_session.py::test_request_tracing_url_params
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ # upstream unconditionally blocks building C extensions
+ # on PyPy3 but the test suite needs an explicit switch,
+ # sigh
+ local -x AIOHTTP_NO_EXTENSIONS=1
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_mock,xdist.plugin,pytest_forked
+ rm -rf aiohttp || die
+ epytest --forked -m "not internal and not dev_mode"
+}
diff --git a/dev-python/aiohttp/files/aiohttp-3.8.6-brotlicffi.patch b/dev-python/aiohttp/files/aiohttp-3.8.6-brotlicffi.patch
deleted file mode 100644
index 20e3c7ea0e5d..000000000000
--- a/dev-python/aiohttp/files/aiohttp-3.8.6-brotlicffi.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-From 4d60891531637aed2fdc50a5dff4809d7d9b3f32 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Wed, 20 Sep 2023 15:28:37 +0200
-Subject: [PATCH] [3.9] Support brotlicffi alternatively to brotli (#7611)
- (#7620)
-
----
- aiohttp/http_parser.py | 5 ++++-
- tests/test_http_parser.py | 5 ++++-
- 2 files changed, 8 insertions(+), 2 deletions(-)
-
-diff --git a/aiohttp/http_parser.py b/aiohttp/http_parser.py
-index 91e01f43..521ff5db 100644
---- a/aiohttp/http_parser.py
-+++ b/aiohttp/http_parser.py
-@@ -49,7 +49,10 @@ else:
- from typing_extensions import Literal
-
- try:
-- import brotli
-+ try:
-+ import brotlicffi as brotli
-+ except ImportError:
-+ import brotli
-
- HAS_BROTLI = True
- except ImportError: # pragma: no cover
-diff --git a/tests/test_http_parser.py b/tests/test_http_parser.py
-index 4b185c9e..dc373ea8 100644
---- a/tests/test_http_parser.py
-+++ b/tests/test_http_parser.py
-@@ -21,7 +21,10 @@ from aiohttp.http_parser import (
- )
-
- try:
-- import brotli
-+ try:
-+ import brotlicffi as brotli
-+ except ImportError:
-+ import brotli
- except ImportError:
- brotli = None
-
---
-2.42.0
-
diff --git a/dev-python/aioitertools/Manifest b/dev-python/aioitertools/Manifest
new file mode 100644
index 000000000000..e7e9c654ffe1
--- /dev/null
+++ b/dev-python/aioitertools/Manifest
@@ -0,0 +1 @@
+DIST aioitertools-0.11.0.tar.gz 32053 BLAKE2B 1dea436f26f738b72aa2a2085d102b7228250f463cbc0cc45d8875a3a78e5468b3d3e7149f2df8754dbc6611f4f62e79ad263669a1f228e576fc2807d2f2f135 SHA512 ed2ca827ad72eadb541eab6621bb3d4a654f5f35a8ec185906aac558e2f7b7d6956e24b57b8540d48fdf48e6f630547ec0cc83627307c227bfc33bf1bf44c451
diff --git a/dev-python/aioitertools/aioitertools-0.11.0.ebuild b/dev-python/aioitertools/aioitertools-0.11.0.ebuild
new file mode 100644
index 000000000000..84c84be558c3
--- /dev/null
+++ b/dev-python/aioitertools/aioitertools-0.11.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="itertools and builtins for AsyncIO and mixed iterables"
+HOMEPAGE="
+ https://aioitertools.omnilib.dev/
+ https://github.com/omnilib/aioitertools/
+ https://pypi.org/project/aioitertools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+python_test() {
+ "${EPYTHON}" -m aioitertools.tests || die
+}
diff --git a/dev-python/aioitertools/metadata.xml b/dev-python/aioitertools/metadata.xml
new file mode 100644
index 000000000000..83f97724565d
--- /dev/null
+++ b/dev-python/aioitertools/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">omnilib/aioitertools</remote-id>
+ <remote-id type="pypi">aioitertools</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/aiopylgtv/aiopylgtv-0.4.1-r1.ebuild b/dev-python/aiopylgtv/aiopylgtv-0.4.1-r1.ebuild
new file mode 100644
index 000000000000..941faa54bb8b
--- /dev/null
+++ b/dev-python/aiopylgtv/aiopylgtv-0.4.1-r1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_REQ_USE="ssl"
+DISTUTILS_USE_PEP517="setuptools"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library to control webOS-based LG TV devices"
+HOMEPAGE="https://github.com/bendavid/aiopylgtv"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+RESTRICT="test" # No tests.
+
+RDEPEND="
+ >=dev-python/numpy-1.17.0[${PYTHON_USEDEP}]
+ dev-python/sqlitedict[${PYTHON_USEDEP}]
+ >=dev-python/websockets-8.1[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-ssl.patch
+)
diff --git a/dev-python/aiopylgtv/aiopylgtv-0.4.1.ebuild b/dev-python/aiopylgtv/aiopylgtv-0.4.1.ebuild
deleted file mode 100644
index 46580be5880b..000000000000
--- a/dev-python/aiopylgtv/aiopylgtv-0.4.1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517="setuptools"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to control webOS-based LG TV devices"
-HOMEPAGE="https://github.com/bendavid/aiopylgtv"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64"
-RESTRICT="test" # No tests.
-
-RDEPEND="
- >=dev-python/numpy-1.17.0[${PYTHON_USEDEP}]
- dev-python/sqlitedict[${PYTHON_USEDEP}]
- >=dev-python/websockets-8.1[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/aiopylgtv/files/aiopylgtv-0.4.1-ssl.patch b/dev-python/aiopylgtv/files/aiopylgtv-0.4.1-ssl.patch
new file mode 100644
index 000000000000..aef88f399e6b
--- /dev/null
+++ b/dev-python/aiopylgtv/files/aiopylgtv-0.4.1-ssl.patch
@@ -0,0 +1,124 @@
+From 87e1447d1fc6e6db9a9e6bc9c8b5241b149cf6dd Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Sat, 14 Oct 2023 18:01:52 +0100
+Subject: [PATCH] Use WSS (SSL) connection as firmware update has removed
+ non-SSL support
+
+Closes: https://github.com/bendavid/aiopylgtv/issues/65
+---
+ aiopylgtv/lg-ca.pem | 34 ++++++++++++++++++++++++++++++++++
+ aiopylgtv/webos_client.py | 17 +++++++++++++++--
+ setup.py | 1 +
+ 3 files changed, 50 insertions(+), 2 deletions(-)
+ create mode 100644 aiopylgtv/lg-ca.pem
+
+diff --git a/aiopylgtv/lg-ca.pem b/aiopylgtv/lg-ca.pem
+new file mode 100644
+index 0000000..05df860
+--- /dev/null
++++ b/aiopylgtv/lg-ca.pem
+@@ -0,0 +1,34 @@
++-----BEGIN CERTIFICATE-----
++MIIF+TCCA+GgAwIBAgICEAcwDQYJKoZIhvcNAQELBQAwgacxCzAJBgNVBAYTAktS
++MQ4wDAYDVQQIDAVTZW91bDEOMAwGA1UEBwwFU2VvdWwxHDAaBgNVBAoME0xHIEVs
++ZWN0cm9uaWNzIEluYy4xFjAUBgNVBAsMDUhFIExhYm9yYXRvcnkxHDAaBgNVBAMM
++E0xHIHdlYk9TIFRWIFJvb3QgQ0ExJDAiBgkqhkiG9w0BCQEWFXNlY3VyaXR5LXBh
++cnRAbGdlLmNvbTAeFw0xODAzMTIwMTMwMjhaFw0zNDA4MTUwMTMwMjhaMG8xCzAJ
++BgNVBAYTAktSMQ4wDAYDVQQIDAVTZW91bDEcMBoGA1UECgwTTEcgRWxlY3Ryb25p
++Y3MgSW5jLjEQMA4GA1UECwwHSEUgTGFiLjEgMB4GA1UEAwwXTEdFIFNTRyBJbnRl
++cm1lZGlhdGUgQ0EwggIiMA0GCSqGSIb3DQEBAQUAA4ICDwAwggIKAoICAQDl5xeN
+++UkKyfHifIGtO4igsl/UxXosQ0qeAMadDSdI8XLHAsfEnlCDVWwYSFD76A7+GO6m
++ttN5MTlsdVJPQ/lyy032cPkz38R9MHS6sOxqOCXurkX0wN/7fTODKVkS/Q3dCqYz
++eluWaMrZQBAW6vGQVgoilBxf5Z9jpV9Dj6IxXThomUlyM8HVCWmg38eht8ItiuSe
++1Bzpr8Bqv35wLEnPPK1QhKu9oxU10GS6Yn1GNQ6xMvpayf1jPuRK443tdR+IA2mD
++y/N8h623yvIbBxMt/rLmvzjWevLC8wyTlrEw5ei/GOfMlJq8fK3TK1S9CMqqe6uS
++O9YHJo5/ibg+aFKkJEDO4RNzK2W0A7F+a2eJIk8lz49rvZNC+X/waRUfso8YrAcX
++vQo4EbYDWTlFDNa15rYiZEE3lzqROto440Wb6v5ZavyvkRyQbUNbodUh42Wvo616
++kD6GG5/Le1QUpO6I66Hjs0MyJQApFuOR2OZhS8FjHPRONSNZJl1rAP7xtZ7fDika
++d0oqU9hHKOKQSb8e8QTLUyQGCW17FB8pgC8Du7ZZquRU/0RhK002yEdlWY+yDWs1
++8aLqKl64P5GiipYufRTWVS3Ev8e4W/ycdI3n4gOWNAUuHUkO+LRXxm1fimPV1rig
++Qrth9KtRc1g9FsDr+s2ZfxPft3LTozt1HRSBeQIDAQABo2YwZDAdBgNVHQ4EFgQU
++LItg7vqjBpi4I4JocmlXiCstl90wHwYDVR0jBBgwFoAUYJCBYPvCCUxyONKaiLR4
++beSYs/gwEgYDVR0TAQH/BAgwBgEB/wIBADAOBgNVHQ8BAf8EBAMCAYYwDQYJKoZI
++hvcNAQELBQADggIBAEoyN23/Z+63ejYpBpJ3Xzowf3CEU7vN1J7QrxLJN+hJh2Go
++f/NO6p9v0REoNeQjVKXbd8ycNpOl5SY620XFip6F+gLGxlTRy2LX7BUpYwCHoAuD
++zSdRi7bhqmdwSZL7VGwm4RIGpeUWNqx2YH8xgJ7Zb4v0LCcCDsqB1JdobxB1ULbB
++ZQ/8BsuEjiWnWg0nTDz7VZmpP1fOs4vLYPzFVzq07Q9avxYh642JLshhVZ9/VwWL
++q5uGXNrxrvRNr4JR5emax9HV/o+LK9FdUP5XJWEXeXSRSvCYh7djtkQqzcmLdT4x
++zU6chJMuCJAG6qzv8r7EA0IrbWk5oBhxNet/cCExIUH/Rqivcfa7qPTsTYVSoM5J
++dw2ociET6vc2UmYzBiHV22Ez02aydOSmL4VkdR+ngxGTaCkEDBpHPLDaZ6Yzp/xB
++gCGkvL417B3rTuBvD2YYwQ2pSS9O5N0FOLFjX3L3d9ixlXwqWi07w79YONjLqjYm
++6OrYp5xtinZrxEEcdu/jt0pSOkYVG+NEg+kcLiRpxy4q7A3vVllREbLZL6R/5G3D
++ulTRmICailJN3PF+5YavaQI2H6yRdiw2OMzaLgHw3zU9NGN43mMI1q1Yl4PYA2sO
++qHkaceoSAL7CaC2ZvI51K88ekUfqC34L20hiZS8kLtE3BLS/olqMsyuAnBc+
++-----END CERTIFICATE-----
+diff --git a/aiopylgtv/webos_client.py b/aiopylgtv/webos_client.py
+index 6649dc5..8d20a22 100644
+--- a/aiopylgtv/webos_client.py
++++ b/aiopylgtv/webos_client.py
+@@ -5,7 +5,9 @@ import functools
+ import json
+ import logging
+ import os
++import ssl
+ from datetime import timedelta
++from importlib.resources import files
+
+ import numpy as np
+ import websockets
+@@ -66,7 +68,7 @@ class WebOsClient:
+ ):
+ """Initialize the client."""
+ self.ip = ip
+- self.port = 3000
++ self.port = 3001
+ self.key_file_path = key_file_path
+ self.client_key = client_key
+ self.web_socket = None
+@@ -188,12 +190,22 @@ class WebOsClient:
+ ws = None
+ inputws = None
+ try:
++ cadata = files("aiopylgtv").joinpath("lg-ca.pem").read_text(encoding="ascii")
++
++ ssl_context = ssl.SSLContext(ssl.PROTOCOL_TLS_CLIENT)
++ ssl_context.minimum_version = ssl.TLSVersion.TLSv1_2
++ ssl_context.verify_mode = ssl.CERT_REQUIRED
++ ssl_context.verify_flags |= ssl.VERIFY_X509_PARTIAL_CHAIN
++ ssl_context.load_verify_locations(cadata=cadata)
++ ssl_context.check_hostname = False
++
+ ws = await asyncio.wait_for(
+ websockets.connect(
+- f"ws://{self.ip}:{self.port}",
++ f"wss://{self.ip}:{self.port}",
+ ping_interval=None,
+ close_timeout=self.timeout_connect,
+ max_size=None,
++ ssl=ssl_context,
+ ),
+ timeout=self.timeout_connect,
+ )
+@@ -242,6 +254,7 @@ class WebOsClient:
+ inputsockpath,
+ ping_interval=None,
+ close_timeout=self.timeout_connect,
++ ssl=ssl_context,
+ ),
+ timeout=self.timeout_connect,
+ )
+diff --git a/setup.py b/setup.py
+index 306a7d4..a7f67ef 100644
+--- a/setup.py
++++ b/setup.py
+@@ -6,6 +6,7 @@ with open("README.md") as f:
+ setup(
+ name="aiopylgtv",
+ packages=["aiopylgtv"],
++ package_data={"aiopylgtv": ["*.pem"]},
+ install_requires=["websockets>=8.1", "numpy>=1.17.0", "sqlitedict"],
+ python_requires=">=3.7",
+ zip_safe=True,
+--
+2.41.0
+
diff --git a/dev-python/aioresponses/aioresponses-0.7.6.ebuild b/dev-python/aioresponses/aioresponses-0.7.6.ebuild
index 9af64863e3e4..791d9dc46424 100644
--- a/dev-python/aioresponses/aioresponses-0.7.6.ebuild
+++ b/dev-python/aioresponses/aioresponses-0.7.6.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/aiorpcX/Manifest b/dev-python/aiorpcX/Manifest
deleted file mode 100644
index f5071b6e7dae..000000000000
--- a/dev-python/aiorpcX/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST aiorpcX-0.22.1.gh.tar.gz 75206 BLAKE2B 92c481388198fec94faa10482ad4195fe6dce5ae4aa445ce2812e1e81e084c629712b87a3c157aa33ae42335c1a96bdcafa5e389802740fcae8eb9e4aaf43dd2 SHA512 3484da36ce6042d8d4c6b168fd2326c0fc77a825691b95631e54510697708a27ea07e9a808445d504056432adf04f04cb0bc28d4b7194c55c1995096bb938b4d
diff --git a/dev-python/aiorpcX/aiorpcX-0.22.1-r1.ebuild b/dev-python/aiorpcX/aiorpcX-0.22.1-r1.ebuild
deleted file mode 100644
index 3beb1922f2b5..000000000000
--- a/dev-python/aiorpcX/aiorpcX-0.22.1-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Generic async RPC implementation, including JSON-RPC"
-HOMEPAGE="
- https://github.com/kyuupichan/aiorpcX/
- https://pypi.org/project/aiorpcX/
-"
-SRC_URI="
- https://github.com/kyuupichan/aiorpcX/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/uvloop[${PYTHON_USEDEP}]
- dev-python/websockets[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # require Internet
- tests/test_socks.py::TestSOCKSProxy::test_create_connection_resolve_good
-)
diff --git a/dev-python/aiorpcx/Manifest b/dev-python/aiorpcx/Manifest
new file mode 100644
index 000000000000..dffa34dd1f32
--- /dev/null
+++ b/dev-python/aiorpcx/Manifest
@@ -0,0 +1,2 @@
+DIST aiorpcX-0.22.1.gh.tar.gz 75206 BLAKE2B 92c481388198fec94faa10482ad4195fe6dce5ae4aa445ce2812e1e81e084c629712b87a3c157aa33ae42335c1a96bdcafa5e389802740fcae8eb9e4aaf43dd2 SHA512 3484da36ce6042d8d4c6b168fd2326c0fc77a825691b95631e54510697708a27ea07e9a808445d504056432adf04f04cb0bc28d4b7194c55c1995096bb938b4d
+DIST aiorpcX-0.23.1.gh.tar.gz 70759 BLAKE2B e61aeee430670962491d165fe6841653b035b96cd07a70e6be0a0f4f5d5891859398826e4a964cd119ae7e42f2e02808363ab44b6b8f28054d86539c5067cf7b SHA512 e92f68da0783bcf66926047ab2af12b5971f4bab0a028a639e53440c9cfc39ba54ddbdd1c2a20a6dacf73dac583305f692851c0d911cd68d6aabdbe131b1a8e1
diff --git a/dev-python/aiorpcx/aiorpcx-0.22.1-r1.ebuild b/dev-python/aiorpcx/aiorpcx-0.22.1-r1.ebuild
new file mode 100644
index 000000000000..7c72f73f9006
--- /dev/null
+++ b/dev-python/aiorpcx/aiorpcx-0.22.1-r1.ebuild
@@ -0,0 +1,40 @@
+# 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
+
+MY_P=aiorpcX-${PV}
+DESCRIPTION="Generic async RPC implementation, including JSON-RPC"
+HOMEPAGE="
+ https://github.com/kyuupichan/aiorpcX/
+ https://pypi.org/project/aiorpcX/
+"
+SRC_URI="
+ https://github.com/kyuupichan/aiorpcX/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/uvloop[${PYTHON_USEDEP}]
+ dev-python/websockets[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # require Internet
+ tests/test_socks.py::TestSOCKSProxy::test_create_connection_resolve_good
+)
diff --git a/dev-python/aiorpcx/aiorpcx-0.23.1.ebuild b/dev-python/aiorpcx/aiorpcx-0.23.1.ebuild
new file mode 100644
index 000000000000..7c72f73f9006
--- /dev/null
+++ b/dev-python/aiorpcx/aiorpcx-0.23.1.ebuild
@@ -0,0 +1,40 @@
+# 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
+
+MY_P=aiorpcX-${PV}
+DESCRIPTION="Generic async RPC implementation, including JSON-RPC"
+HOMEPAGE="
+ https://github.com/kyuupichan/aiorpcX/
+ https://pypi.org/project/aiorpcX/
+"
+SRC_URI="
+ https://github.com/kyuupichan/aiorpcX/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/uvloop[${PYTHON_USEDEP}]
+ dev-python/websockets[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # require Internet
+ tests/test_socks.py::TestSOCKSProxy::test_create_connection_resolve_good
+)
diff --git a/dev-python/aiorpcX/metadata.xml b/dev-python/aiorpcx/metadata.xml
index a5a479692d36..a5a479692d36 100644
--- a/dev-python/aiorpcX/metadata.xml
+++ b/dev-python/aiorpcx/metadata.xml
diff --git a/dev-python/aiosignal/aiosignal-1.3.1.ebuild b/dev-python/aiosignal/aiosignal-1.3.1.ebuild
index 3166f7d518dd..5a8d09aa4cc9 100644
--- a/dev-python/aiosignal/aiosignal-1.3.1.ebuild
+++ b/dev-python/aiosignal/aiosignal-1.3.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -25,9 +25,15 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc
RDEPEND="
>=dev-python/frozenlist-1.1.0[${PYTHON_USEDEP}]
"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
distutils_enable_tests pytest
python_test() {
- epytest -o addopts=
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -p asyncio
}
diff --git a/dev-python/aiosmtpd/Manifest b/dev-python/aiosmtpd/Manifest
new file mode 100644
index 000000000000..35215250bd96
--- /dev/null
+++ b/dev-python/aiosmtpd/Manifest
@@ -0,0 +1 @@
+DIST aiosmtpd-1.4.6.tar.gz 152775 BLAKE2B 6432388c563bc9e8439f0e685130e103a855004443d24e004ab7bf740c0e93cb7601fc435104f7c1c450e1d6374fe9070ed4a91df58ca0f013e516cd9f40e748 SHA512 5aceaa03d6a00c3c99cd2d53b9320aa3a044d0ee09c22bd4fadf3ee56ea0e307120d1fe4cc798d7a04d53059da674f6dba816a6a6ed7326a510f6caf074e8f90
diff --git a/dev-python/aiosmtpd/aiosmtpd-1.4.6.ebuild b/dev-python/aiosmtpd/aiosmtpd-1.4.6.ebuild
new file mode 100644
index 000000000000..b6cdd1ffb285
--- /dev/null
+++ b/dev-python/aiosmtpd/aiosmtpd-1.4.6.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Reimplementation of the Python stdlib smtpd.py based on asyncio"
+HOMEPAGE="
+ https://aiosmtpd.aio-libs.org/
+ https://github.com/aio-libs/aiosmtpd
+ https://pypi.org/project/aiosmtpd/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/atpublic-4.0[${PYTHON_USEDEP}]
+ >=dev-python/attrs-23.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? ( >=dev-python/pytest-mock-3.12.0[${PYTHON_USEDEP}] )
+"
+
+EPYTEST_DESELECT=(
+ # Needs dev-vcs/git
+ aiosmtpd/qa/test_0packaging.py::TestVersion
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -i -e '/--cov=/d' pytest.ini || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # https://github.com/aio-libs/aiosmtpd/issues/403
+ aiosmtpd/tests/test_server.py::TestUnthreaded::test_unixsocket
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/aiosmtpd/metadata.xml b/dev-python/aiosmtpd/metadata.xml
new file mode 100644
index 000000000000..850c71fdd27e
--- /dev/null
+++ b/dev-python/aiosmtpd/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">aiosmtpd</remote-id>
+ <remote-id type="github">aio-libs/aiosmtpd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/aiosqlite/Manifest b/dev-python/aiosqlite/Manifest
index 831441bdeb84..20158f857948 100644
--- a/dev-python/aiosqlite/Manifest
+++ b/dev-python/aiosqlite/Manifest
@@ -1 +1 @@
-DIST aiosqlite-0.19.0.tar.gz 21832 BLAKE2B 0cd367979e84af23e7ca9965535ab6477bb78c6b2b0c6af3a8698bbde6400dee80d468b99f125ae03ab98053212170cbbaaeac5134e9f85dc66704eafa96f78f SHA512 56debffdb73b6ec98bb69ce2b711e53417cbcb06501a2dc94558157c2cd010f9f56345bcf5378a17eb064ac6bd5f3638650edffcd1f73883bdeae7476afa96e8
+DIST aiosqlite-0.20.0.tar.gz 21691 BLAKE2B 2cfa096fa10e4964eb73b0fa698bad07311a78a66258d38864d3d8957df5280fd3a4bf8cb497c9b6f3e0f3bc513a439790f3df81f7736736f73717cf60df54e4 SHA512 b0421d2b8acf90a38e33f68d8af7f0d11194c59413f074dcf7d676924adf30f0ba27dcf45e061ba1aad58c2aae49c523bfb6dc3e3fd85bf6c64052151c300be5
diff --git a/dev-python/aiosqlite/aiosqlite-0.19.0.ebuild b/dev-python/aiosqlite/aiosqlite-0.19.0.ebuild
deleted file mode 100644
index acdd11cf7ebe..000000000000
--- a/dev-python/aiosqlite/aiosqlite-0.19.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="sqlite"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="asyncio bridge to the standard sqlite3 module"
-HOMEPAGE="
- https://aiosqlite.omnilib.dev
- https://pypi.org/project/aiosqlite/
- https://github.com/omnilib/aiosqlite
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-distutils_enable_tests unittest
-
-# AttributeError: 'str' object has no attribute 'supported'
-#distutils_enable_sphinx docs dev-python/m2r
diff --git a/dev-python/aiosqlite/aiosqlite-0.20.0.ebuild b/dev-python/aiosqlite/aiosqlite-0.20.0.ebuild
new file mode 100644
index 000000000000..2766c779e0f1
--- /dev/null
+++ b/dev-python/aiosqlite/aiosqlite-0.20.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="asyncio bridge to the standard sqlite3 module"
+HOMEPAGE="
+ https://aiosqlite.omnilib.dev
+ https://pypi.org/project/aiosqlite/
+ https://github.com/omnilib/aiosqlite
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+# AttributeError: 'str' object has no attribute 'supported'
+#distutils_enable_sphinx docs dev-python/m2r
diff --git a/dev-python/aiostream/Manifest b/dev-python/aiostream/Manifest
index 25aa9658bef7..4e37f0f98e04 100644
--- a/dev-python/aiostream/Manifest
+++ b/dev-python/aiostream/Manifest
@@ -1 +1,2 @@
-DIST aiostream-0.5.2.gh.tar.gz 42945 BLAKE2B 36e4f3c7834df589da3e7ec8bafb6a5b6fe40a1e868fbe0b9b81233f6721852b0e31b12144775db8785835cd5a3a0ca0a88784f7955388efd55b6ce97311b10e SHA512 282139cda0f7d08dd11af88bc3a568054906c2e0e2708f72e0ce3a67d13a44822612e3989c398ab346f8c043f17ad2e5cd2f958b1461325ad9768affec8f63fc
+DIST aiostream-0.6.1.gh.tar.gz 45466 BLAKE2B 848594d9ae191e32553dbff25ffa5926a2fd069bdc36d202f861603495ed5b33e04c4d6ae04704ca3f1d3525b73bf4f83455acc74fcfa831991c8c1ea504fe65 SHA512 0e7a87196ee7749247a6554a9347f2d8a46474db58e3793a8ac2c76b92b61e8ec7d372a05c692fcb600e81be502745ec1e7320e9dba75f50ebeff2a1ffdc35bd
+DIST aiostream-0.6.2.gh.tar.gz 46427 BLAKE2B fa77ccc17bff587419775785200b3640038e62b7af4187abb58f321641b524e9254a3adea7020491f4fbdab8b2f36c80eb0f430e50ff15c4f311007ad5fabce2 SHA512 572ec5281122653e2b3d3927ba6206b2c4ed975fcf64cf43aae62aed154e479902cd7ef0be274d89727cd64324dcb99389cd4cb5984a8ca646e3c43836f9f2e8
diff --git a/dev-python/aiostream/aiostream-0.5.2.ebuild b/dev-python/aiostream/aiostream-0.5.2.ebuild
deleted file mode 100644
index 6830c0af8f5c..000000000000
--- a/dev-python/aiostream/aiostream-0.5.2.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022-2023 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
-
-DESCRIPTION="Generator-based operators for asynchronous iteration"
-HOMEPAGE="
- https://pypi.org/project/aiostream/
- https://github.com/vxgmichel/aiostream/
-"
-SRC_URI="
- https://github.com/vxgmichel/aiostream/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-RDEPEND="
- dev-python/typing-extensions[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e 's:--cov aiostream --cov-report html --cov-report term::' \
- setup.cfg || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/aiostream/aiostream-0.6.1.ebuild b/dev-python/aiostream/aiostream-0.6.1.ebuild
new file mode 100644
index 000000000000..6c43c63606c6
--- /dev/null
+++ b/dev-python/aiostream/aiostream-0.6.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Generator-based operators for asynchronous iteration"
+HOMEPAGE="
+ https://pypi.org/project/aiostream/
+ https://github.com/vxgmichel/aiostream/
+"
+SRC_URI="
+ https://github.com/vxgmichel/aiostream/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e 's:--cov aiostream::' \
+ pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/aiostream/aiostream-0.6.2.ebuild b/dev-python/aiostream/aiostream-0.6.2.ebuild
new file mode 100644
index 000000000000..6c43c63606c6
--- /dev/null
+++ b/dev-python/aiostream/aiostream-0.6.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Generator-based operators for asynchronous iteration"
+HOMEPAGE="
+ https://pypi.org/project/aiostream/
+ https://github.com/vxgmichel/aiostream/
+"
+SRC_URI="
+ https://github.com/vxgmichel/aiostream/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e 's:--cov aiostream::' \
+ pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/aiounittest/aiounittest-1.4.2.ebuild b/dev-python/aiounittest/aiounittest-1.4.2.ebuild
index 0d3a0b523c7b..19ae7888bc6e 100644
--- a/dev-python/aiounittest/aiounittest-1.4.2.ebuild
+++ b/dev-python/aiounittest/aiounittest-1.4.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
dev-python/wrapt[${PYTHON_USEDEP}]
diff --git a/dev-python/ajsonrpc/ajsonrpc-1.2.0.ebuild b/dev-python/ajsonrpc/ajsonrpc-1.2.0.ebuild
index 6f2a5c6a0ac4..c8ac8a94f1a3 100644
--- a/dev-python/ajsonrpc/ajsonrpc-1.2.0.ebuild
+++ b/dev-python/ajsonrpc/ajsonrpc-1.2.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
diff --git a/dev-python/alabaster/Manifest b/dev-python/alabaster/Manifest
index 91776da19f25..c045e92a186a 100644
--- a/dev-python/alabaster/Manifest
+++ b/dev-python/alabaster/Manifest
@@ -1 +1 @@
-DIST alabaster-0.7.13.tar.gz 11454 BLAKE2B b67ab19b3cb4d86bc0f2bc94cbac7de42b6ffc089844d49daa5db40de942dd87555f9ed8ac362ea01904a9e77f8fe995250bd878b39c9a4851041cec8ef6460e SHA512 1cf740c17c669a2a48dba6f6d3b7dde6aa77c6cf1f3d84de0384852ef04f5c03e585f614880099f6466c81f959e290c19db70319caa9b1e2d93e4bf155f80a99
+DIST alabaster-0.7.16.tar.gz 23776 BLAKE2B b04d1e209b8891150f7fc20c70f9394f27bef9f42f9e8978e5d86de6e2cfc3f5020a6136e8920e6b1fe2ee42eaf14f8046c7acf850e1f1ae97a0b5307d1efa22 SHA512 2ef9d0c631bbd8d3a527e6f6c1e9d1a5533d9fad5e018c66f29b386cc788eee831083b67bb6e86b0ba66fdd78b12ddfc4e5ac15ca01f33d4a914d166a114c393
diff --git a/dev-python/alabaster/alabaster-0.7.13.ebuild b/dev-python/alabaster/alabaster-0.7.13.ebuild
deleted file mode 100644
index f5523b4efde3..000000000000
--- a/dev-python/alabaster/alabaster-0.7.13.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A configurable sidebar-enabled Sphinx theme"
-HOMEPAGE="
- https://github.com/bitprophet/alabaster/
- https://pypi.org/project/alabaster/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-solaris"
diff --git a/dev-python/alabaster/alabaster-0.7.16.ebuild b/dev-python/alabaster/alabaster-0.7.16.ebuild
new file mode 100644
index 000000000000..ffe557953a3d
--- /dev/null
+++ b/dev-python/alabaster/alabaster-0.7.16.ebuild
@@ -0,0 +1,19 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A configurable sidebar-enabled Sphinx theme"
+HOMEPAGE="
+ https://github.com/sphinx-doc/alabaster/
+ https://pypi.org/project/alabaster/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-solaris"
diff --git a/dev-python/alabaster/metadata.xml b/dev-python/alabaster/metadata.xml
index 04286760c77a..4681d6e47c6d 100644
--- a/dev-python/alabaster/metadata.xml
+++ b/dev-python/alabaster/metadata.xml
@@ -8,6 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">alabaster</remote-id>
- <remote-id type="github">bitprophet/alabaster</remote-id>
+ <remote-id type="github">sphinx-doc/alabaster</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/alembic/Manifest b/dev-python/alembic/Manifest
index c106247e9568..ee45ec812186 100644
--- a/dev-python/alembic/Manifest
+++ b/dev-python/alembic/Manifest
@@ -1,2 +1 @@
-DIST alembic-1.12.1.tar.gz 1200204 BLAKE2B 640435e09ee7d33c7fa375b6fa784e2ef4097b50074753341717bc21fa8bd838ca00ced6c5cc9e3d82eca494270ffe84bc4b74dc96ed01cb9aded77f21e33520 SHA512 c76bae8f22dcbb4b2d235a17059a756c33bf40d4ea62b937373a29dab7c4f6e36eef0030a721222663c191eba565530299d28726f06e0c40d74daec1d3e03b33
-DIST alembic-1.13.0.tar.gz 1208438 BLAKE2B e5e3040eecd74e6095062dac51138f91b79197af6410a451f7a7ac699f8d31d12ab4e381f8b1e9ce04fd8c897339d5074493e4ef95f294276ea5d67403504229 SHA512 c9a014fc30000a09fa69e7a56cb591000443317d0cc3576fd6bd70cab7cec29906fa48d57e40dcf12d7dd93762de0d6f395fb37c9d5c1780664555757f387262
+DIST alembic-1.13.2.tar.gz 1206463 BLAKE2B edff3a244fa37556cd656e60940d94e7df75b6c67aa4199b673851b5b06e84dbf51e53f2ac9781465aa923c0019fcd33a9c3b4da90d64f583956e390ca1f5fa7 SHA512 c4952123ba00403bb030606c736dab8d5494b01662d02914fb0d10d0c1d99b27a97cc4a800cdfa32d53870031c46e351f97815e337c71f3a0a824b6403bd75cf
diff --git a/dev-python/alembic/alembic-1.12.1.ebuild b/dev-python/alembic/alembic-1.12.1.ebuild
deleted file mode 100644
index 1f596377813f..000000000000
--- a/dev-python/alembic/alembic-1.12.1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Database migrations tool, written by the author of SQLAlchemy"
-HOMEPAGE="
- https://github.com/sqlalchemy/alembic/
- https://pypi.org/project/alembic/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-IUSE="doc"
-
-RDEPEND="
- >=dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- >=dev-python/python-editor-0.3[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- # setup.cfg contains -p no:warnings in addopts which triggers
- # datetime.utcfromtimestamp() deprecation warning as an error in py3.12
- epytest -o addopts=
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( docs/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/alembic/alembic-1.13.0.ebuild b/dev-python/alembic/alembic-1.13.0.ebuild
deleted file mode 100644
index 5d610b87ddda..000000000000
--- a/dev-python/alembic/alembic-1.13.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Database migrations tool, written by the author of SQLAlchemy"
-HOMEPAGE="
- https://github.com/sqlalchemy/alembic/
- https://pypi.org/project/alembic/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
-IUSE="doc"
-
-RDEPEND="
- >=dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- >=dev-python/python-editor-0.3[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4[${PYTHON_USEDEP}]
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # setup.cfg contains -p no:warnings in addopts which triggers
- # datetime.utcfromtimestamp() deprecation warning as an error in py3.12
- epytest -o addopts=
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( docs/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/alembic/alembic-1.13.2.ebuild b/dev-python/alembic/alembic-1.13.2.ebuild
new file mode 100644
index 000000000000..954c93539342
--- /dev/null
+++ b/dev-python/alembic/alembic-1.13.2.ebuild
@@ -0,0 +1,47 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Database migrations tool, written by the author of SQLAlchemy"
+HOMEPAGE="
+ https://github.com/sqlalchemy/alembic/
+ https://pypi.org/project/alembic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+IUSE="doc"
+
+RDEPEND="
+ >=dev-python/sqlalchemy-1.1.0[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/python-editor-0.3[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ sys-libs/timezone-data
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # setup.cfg contains -p no:warnings in addopts which triggers
+ # datetime.utcfromtimestamp() deprecation warning as an error in py3.12
+ epytest -o addopts=
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/allpairspy/allpairspy-2.5.1.ebuild b/dev-python/allpairspy/allpairspy-2.5.1.ebuild
index 5ec7ac2f2df4..5efbc6ab6c41 100644
--- a/dev-python/allpairspy/allpairspy-2.5.1.ebuild
+++ b/dev-python/allpairspy/allpairspy-2.5.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/amodem/amodem-1.15.4.ebuild b/dev-python/amodem/amodem-1.15.4.ebuild
index 88e638efa378..428777db5a1e 100644
--- a/dev-python/amodem/amodem-1.15.4.ebuild
+++ b/dev-python/amodem/amodem-1.15.4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/amqp/amqp-5.2.0.ebuild b/dev-python/amqp/amqp-5.2.0.ebuild
index 87c983af59eb..26d896e76367 100644
--- a/dev-python/amqp/amqp-5.2.0.ebuild
+++ b/dev-python/amqp/amqp-5.2.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/aniso8601/aniso8601-9.0.1-r1.ebuild b/dev-python/aniso8601/aniso8601-9.0.1-r1.ebuild
index 09ebcff4138d..9b0513364daf 100644
--- a/dev-python/aniso8601/aniso8601-9.0.1-r1.ebuild
+++ b/dev-python/aniso8601/aniso8601-9.0.1-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
diff --git a/dev-python/annotated-types/Manifest b/dev-python/annotated-types/Manifest
index bbf88893554b..ccb7b89c096d 100644
--- a/dev-python/annotated-types/Manifest
+++ b/dev-python/annotated-types/Manifest
@@ -1 +1 @@
-DIST annotated_types-0.6.0.tar.gz 14670 BLAKE2B 9390abe727f9b7a777e8266e192e032e2f36703c76a60e7fa34dd5517db8129f75e617b67ff88e9f299d10dd3f076d6793bf86e04b6230f2c4df886a8e0719cb SHA512 6b7f6fa23f47758d955822564227173951d6ddd854397b0c996bb6adeadd9caebfab6d193595be17003c1ef0e81a6bd8e20ec8221a70ffa35f9a4414300e788d
+DIST annotated_types-0.7.0.tar.gz 16081 BLAKE2B 45f536bafb0a9dead41a7fcafe50304508df5024921c2b3637ba51ff144d46fd8cba4d503a65fcec1a973cf2cd791074a83d72fbd2f17269bd9a2d2b9f8c114e SHA512 8a6dd7274270397f7779fc4ca242997ad2ea739b530be5abcc30a72d1e4042fc08753ab432c3d9c7a53c7474b3794504062f68235885cfb6c688cce0700d8758
diff --git a/dev-python/annotated-types/annotated-types-0.6.0.ebuild b/dev-python/annotated-types/annotated-types-0.6.0.ebuild
deleted file mode 100644
index e22c16362c29..000000000000
--- a/dev-python/annotated-types/annotated-types-0.6.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2023 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="Reusable constraint types to use with typing.Annotated"
-HOMEPAGE="
- https://github.com/annotated-types/annotated-types/
- https://pypi.org/project/annotated-types/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/annotated-types/annotated-types-0.7.0.ebuild b/dev-python/annotated-types/annotated-types-0.7.0.ebuild
new file mode 100644
index 000000000000..63a7fcde4ce9
--- /dev/null
+++ b/dev-python/annotated-types/annotated-types-0.7.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Reusable constraint types to use with typing.Annotated"
+HOMEPAGE="
+ https://github.com/annotated-types/annotated-types/
+ https://pypi.org/project/annotated-types/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # https://github.com/annotated-types/annotated-types/issues/71
+ 'tests/test_main.py::test_predicate_repr[pred2-Predicate(math.isfinite)]'
+ )
+ ;;
+ esac
+
+ epytest
+}
diff --git a/dev-python/ansi/Manifest b/dev-python/ansi/Manifest
index 831be9648a39..c68a500945eb 100644
--- a/dev-python/ansi/Manifest
+++ b/dev-python/ansi/Manifest
@@ -1 +1 @@
-DIST ansi-0.3.6.tar.gz 6668 BLAKE2B a2bd492aa5c68041feeb04e798ce301ae50ba217c695f4500b033911a719a9e91dc6213d81361e36819a1d46ddeef82e4684ee0c395ec70fc93c6957e2a410b2 SHA512 6b7512013db18436f5982175d82c9f333eef7655eece12454f4731c7f2ed675ab39986e813560d1621b365b7541a5ca6c37d88f2ca5be4460f1ae86cb27d1911
+DIST ansi-ansi-0.3.7.gh.tar.gz 7396 BLAKE2B f8b18b4a8609c8e633261c9b7a28ebc10260059c15a48dd680a22847557335b7aaee50bf522c1e28583e740c0d8c4127da8627c72e13ac641bb5d4634467a8e5 SHA512 651d7d9c665dc18fd43614710b80ab143e6b4bb8b6570b25456f47bc5d1c37602474c049833f996581b19f73f8138c4b4a5b981afcc0319ffdb7141da40744ec
diff --git a/dev-python/ansi/ansi-0.3.6.ebuild b/dev-python/ansi/ansi-0.3.6.ebuild
deleted file mode 100644
index 2f44240fd30e..000000000000
--- a/dev-python/ansi/ansi-0.3.6.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="ANSI cursor movement and graphics in Python"
-HOMEPAGE="https://github.com/tehmaze/ansi/"
-SRC_URI="https://github.com/tehmaze/${PN}/archive/${P}.tar.gz"
-S="${WORKDIR}/${PN}-${P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/ansi/ansi-0.3.7.ebuild b/dev-python/ansi/ansi-0.3.7.ebuild
new file mode 100644
index 000000000000..df8611005a94
--- /dev/null
+++ b/dev-python/ansi/ansi-0.3.7.ebuild
@@ -0,0 +1,27 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=${PN}-${P}
+DESCRIPTION="ANSI cursor movement and graphics in Python"
+HOMEPAGE="
+ https://github.com/tehmaze/ansi/
+ https://pypi.org/project/ansi/
+"
+SRC_URI="
+ https://github.com/tehmaze/ansi/archive/${P}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/ansi2html/Manifest b/dev-python/ansi2html/Manifest
index 9f3f47c56933..665bfb846028 100644
--- a/dev-python/ansi2html/Manifest
+++ b/dev-python/ansi2html/Manifest
@@ -1 +1 @@
-DIST ansi2html-1.8.0.tar.gz 44146 BLAKE2B 66672927a64ad38dce0b0819fabc3778f6aba82d176e992630a8db076988a21af8dd445306b8bb580f1539b35044b95de749d6bfb65c27f9b431e4cb6bd562c7 SHA512 cbdda41f206ced5b19761a1ff9747acc6cadca3a5a2f58c97c6073db7d517e59fea7601bba28a8e7e105f3c0c9c4d78ca4f242100cbded6c8a9ca2d598de0ab4
+DIST ansi2html-1.9.2.tar.gz 44300 BLAKE2B 6c39a9525a5fe0c7f02b45f56ea515e6b07280cb74a88d54db5e33c77fb679f6ebb446edf50add3d68832ea877ed8861bc1a9f2116ab1214d2a6b3acfbfae19a SHA512 c465259d4c9ea82725bcd8cd286246b806b1bfde06f89b52b1cc3cd5c514be92a19ffcfd147417d64ce6da6627678baabc7ff05226ed392343cdb0496bd375eb
diff --git a/dev-python/ansi2html/ansi2html-1.8.0-r2.ebuild b/dev-python/ansi2html/ansi2html-1.8.0-r2.ebuild
deleted file mode 100644
index ba0ae14aaae1..000000000000
--- a/dev-python/ansi2html/ansi2html-1.8.0-r2.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Convert text with ANSI color codes to HTML"
-HOMEPAGE="
- https://pypi.org/project/ansi2html/
- https://github.com/pycontribs/ansi2html/
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/six-1.7.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- doman man/${PN}.1
- distutils-r1_python_install_all
-}
diff --git a/dev-python/ansi2html/ansi2html-1.9.2.ebuild b/dev-python/ansi2html/ansi2html-1.9.2.ebuild
new file mode 100644
index 000000000000..858bc3ae90bf
--- /dev/null
+++ b/dev-python/ansi2html/ansi2html-1.9.2.ebuild
@@ -0,0 +1,25 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Convert text with ANSI color codes to HTML"
+HOMEPAGE="
+ https://pypi.org/project/ansi2html/
+ https://github.com/pycontribs/ansi2html/
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~riscv x86"
+
+BDEPEND="
+ >=dev-python/setuptools-scm-7.0.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/ansible-compat/Manifest b/dev-python/ansible-compat/Manifest
index 1c39850134b6..2680649aa1f7 100644
--- a/dev-python/ansible-compat/Manifest
+++ b/dev-python/ansible-compat/Manifest
@@ -1 +1,2 @@
-DIST ansible-compat-4.1.10.tar.gz 72127 BLAKE2B 1a3c172d30a68f14a163d2ad04180856d365424b99c593933c02c83afde7008f937a86f068fd4d09741eda731a0ae9801274764e349f56fd4a64ccdf1ff831b7 SHA512 f50d07d753fa2f3985efca4aa326d3608d55b3f8d00c42c3bd9ba95c6e40c7a717160220dd602374124ebbfc94c495819b4b738cb385875033876aee458d14b4
+DIST ansible-compat-24.6.1.gh.tar.gz 74317 BLAKE2B d79471cfb150720bec8daa037df400005184b023ad55389c3424db55c2be87f57dd22934d133fc76b97e15ee3f80d78d1865c7feef0168793efa9b5738bff85e SHA512 203dd95dac7f55f21ebda069fd3e460f09a5434805529843880efe7137a55ba9d9c4eca72074bba7786b2cf0d032cd4a9a63d78d6e4c36811ec818340dd96ce4
+DIST ansible-compat-24.7.0.gh.tar.gz 74311 BLAKE2B 8f534989f4ef88aa48379cdf3a8df83f9d51b4d18d2bfdea8b7d2aac19bd0a6d2c52f3382e774a29bb02e1460b316fbf7c97efeb7105a0a05614b318763cc79d SHA512 5c0ad52adf346d0b3c3fda38d24f05beefef478414c0d7b418cb2768f0237c8155f260e8be2d8ca16097955159095348d31966b5f10b33198d83b24fe5d42251
diff --git a/dev-python/ansible-compat/ansible-compat-24.6.1.ebuild b/dev-python/ansible-compat/ansible-compat-24.6.1.ebuild
new file mode 100644
index 000000000000..46709b728469
--- /dev/null
+++ b/dev-python/ansible-compat/ansible-compat-24.6.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Contains functions that facilitate working with various versions of Ansible"
+HOMEPAGE="
+ https://pypi.org/project/ansible-compat/
+ https://github.com/ansible/ansible-compat/
+"
+# We normally use PyPI here but 4.1.12 has never been uploaded there for some reason
+SRC_URI="https://github.com/ansible/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=app-admin/ansible-core-2.14[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.6.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/subprocess-tee-0.4.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-plus[${PYTHON_USEDEP}]
+ )
+"
+
+# All these tests attempt to connect to galaxy.ansible.com
+EPYTEST_DESELECT=(
+ test/test_runtime.py::test_install_collection
+ test/test_runtime.py::test_install_collection_dest
+ test/test_runtime.py::test_prepare_environment_with_collections
+ test/test_runtime.py::test_prerun_reqs_v1
+ test/test_runtime.py::test_prerun_reqs_v2
+ test/test_runtime.py::test_require_collection_no_cache_dir
+ test/test_runtime.py::test_require_collection_wrong_version
+ test/test_runtime.py::test_require_collection
+ test/test_runtime.py::test_upgrade_collection
+ test/test_runtime_example.py::test_runtime
+ # pip, failing due to internets
+ test/test_runtime_scan_path.py::test_scan_sys_path
+ # internets?
+ test/test_runtime.py::test_runtime_has_playbook
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/ansible-compat/ansible-compat-24.7.0.ebuild b/dev-python/ansible-compat/ansible-compat-24.7.0.ebuild
new file mode 100644
index 000000000000..18c39cfc27c2
--- /dev/null
+++ b/dev-python/ansible-compat/ansible-compat-24.7.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Contains functions that facilitate working with various versions of Ansible"
+HOMEPAGE="
+ https://pypi.org/project/ansible-compat/
+ https://github.com/ansible/ansible-compat/
+"
+# We normally use PyPI here but 4.1.12 has never been uploaded there for some reason
+SRC_URI="https://github.com/ansible/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=app-admin/ansible-core-2.14[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.6.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/subprocess-tee-0.4.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-plus[${PYTHON_USEDEP}]
+ )
+"
+
+# All these tests attempt to connect to galaxy.ansible.com
+EPYTEST_DESELECT=(
+ test/test_runtime.py::test_install_collection
+ test/test_runtime.py::test_install_collection_dest
+ test/test_runtime.py::test_prepare_environment_with_collections
+ test/test_runtime.py::test_prerun_reqs_v1
+ test/test_runtime.py::test_prerun_reqs_v2
+ test/test_runtime.py::test_require_collection_no_cache_dir
+ test/test_runtime.py::test_require_collection_wrong_version
+ test/test_runtime.py::test_require_collection
+ test/test_runtime.py::test_upgrade_collection
+ test/test_runtime_example.py::test_runtime
+ # pip, failing due to internets
+ test/test_runtime_scan_path.py::test_scan_sys_path
+ # internets?
+ test/test_runtime.py::test_runtime_has_playbook
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/ansible-compat/ansible-compat-4.1.10.ebuild b/dev-python/ansible-compat/ansible-compat-4.1.10.ebuild
deleted file mode 100644
index def07c2e4159..000000000000
--- a/dev-python/ansible-compat/ansible-compat-4.1.10.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Contains functions that facilitate working with various versions of Ansible"
-HOMEPAGE="
- https://pypi.org/project/ansible-compat/
- https://github.com/ansible/ansible-compat/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv"
-
-RDEPEND="
- >=app-admin/ansible-core-2.12[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-4.6.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- >=dev-python/subprocess-tee-0.4.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-plus[${PYTHON_USEDEP}]
- )
-"
-
-# All these tests attempt to connect to galaxy.ansible.com
-EPYTEST_DESELECT=(
- test/test_runtime.py::test_install_collection
- test/test_runtime.py::test_install_collection_dest
- test/test_runtime.py::test_prepare_environment_with_collections
- test/test_runtime.py::test_prerun_reqs_v1
- test/test_runtime.py::test_prerun_reqs_v2
- test/test_runtime.py::test_require_collection_no_cache_dir
- test/test_runtime.py::test_require_collection_wrong_version
- test/test_runtime.py::test_require_collection
- test/test_runtime.py::test_upgrade_collection
- test/test_runtime_example.py::test_runtime
- # pip, failing due to internets
- test/test_runtime_scan_path.py::test_scan_sys_path
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/ansible-compat/metadata.xml b/dev-python/ansible-compat/metadata.xml
index 867cb86db2b4..3fd30ca70de4 100644
--- a/dev-python/ansible-compat/metadata.xml
+++ b/dev-python/ansible-compat/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/ansible-pygments/ansible-pygments-0.1.1-r1.ebuild b/dev-python/ansible-pygments/ansible-pygments-0.1.1-r1.ebuild
index acf6231a5358..1fe6e28e6526 100644
--- a/dev-python/ansible-pygments/ansible-pygments-0.1.1-r1.ebuild
+++ b/dev-python/ansible-pygments/ansible-pygments-0.1.1-r1.ebuild
@@ -1,26 +1,30 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
DISTUTILS_USE_PEP517="poetry"
PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="Pygments lexer and style Ansible snippets"
-HOMEPAGE="https://github.com/ansible-community/ansible-pygments"
+HOMEPAGE="
+ https://github.com/ansible-community/ansible-pygments/
+ https://pypi.org/project/ansible-pygments/
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~riscv"
+KEYWORDS="amd64 ~arm64 ~riscv"
-# 2.14.0+ needed in order for tests to pass
-RDEPEND=">=dev-python/pygments-2.14.0[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/pygments[${PYTHON_USEDEP}]
+"
PATCHES=(
- "${FILESDIR}"/${PN}-0.1.1-tests_pygments2_14.patch
+ "${FILESDIR}"/${PN}-0.1.1-make_lexer_test_compare_tokens.patch
)
distutils_enable_tests pytest
diff --git a/dev-python/ansible-pygments/files/ansible-pygments-0.1.1-make_lexer_test_compare_tokens.patch b/dev-python/ansible-pygments/files/ansible-pygments-0.1.1-make_lexer_test_compare_tokens.patch
new file mode 100644
index 000000000000..41ce8a5c2314
--- /dev/null
+++ b/dev-python/ansible-pygments/files/ansible-pygments-0.1.1-make_lexer_test_compare_tokens.patch
@@ -0,0 +1,324 @@
+Backported upstream patch 179c74e9f1a5dc870dec6d4db6cab60d2dca1ed2
+
+--- a/tests/lexer_test.py
++++ b/tests/lexer_test.py
+@@ -1,26 +1,24 @@
+ # Author: Felix Fontein <felix@fontein.de>
+ # License: BSD-2-Clause
+ # Copyright: Felix Fontein <felix@fontein.de>, 2021
+-"""Tests for Pygments lexers."""
++"""Tests for Pygments lexers.
+
+-from pygments import highlight
+-# pylint: disable=no-name-in-module
+-# Ref: https://github.com/PyCQA/pylint/issues/491
+-from pygments.formatters import HtmlFormatter
+-
+-from ansible_pygments.lexers import AnsibleOutputLexer
++They rely on token comparison for stability reasons. Relying on
++additional style formatting is known to break with updates to
++the pygments library itself.
++"""
+
++from pygments import __version__ as _pygments_version
++from pygments.lexers import get_lexer_by_name as _get_lexer_by_name
++from pygments.token import Token
+
+-def run_test(data, lexer):
+- """Format the data snippet as HTML using a given lexer."""
+- formatter = HtmlFormatter()
+- result = highlight(data, lexer, formatter)
+- return formatter.get_style_defs('.highlight'), result
++PYGMENTS_VERSION_INFO = tuple(map(int, _pygments_version.split('.')))
++IS_OLD_PYGMENTS_PRE_2_14 = PYGMENTS_VERSION_INFO <= (2, 14, 0)
+
+
+ def test_ansible_output_lexer():
+- """Test that AnsibleOutputLexer produces expected HTML output."""
+- data = R"""
++ """Test that ``AnsibleOutputLexer`` produces expected tokens."""
++ ansible_play_output_example = R"""
+ ok: [windows] => {
+ "account": {
+ "account_name": "vagrant-domain",
+@@ -71,58 +69,226 @@
+
+ changed: [localhost]
+ """
+- _, result = run_test(data, AnsibleOutputLexer())
+- print(result)
+
+- # pylint: disable=line-too-long
+- assert result == R"""<div class="highlight"><pre><span></span><span class="k">ok</span><span class="p">:</span> <span class="p">[</span><span class="nv">windows</span><span class="p">]</span> <span class="p">=&gt;</span> <span class="p">{</span>
+- <span class="nt">&quot;account&quot;</span><span class="p">:</span> <span class="p">{</span>
+- <span class="nt">&quot;account_name&quot;</span><span class="p">:</span> <span class="s">&quot;vagrant-domain&quot;</span><span class="p">,</span>
+- <span class="nt">&quot;type&quot;</span><span class="p">:</span> <span class="s">&quot;User&quot;</span>
+- <span class="p">},</span>
+- <span class="nt">&quot;authentication_package&quot;</span><span class="p">:</span> <span class="s">&quot;Kerberos&quot;</span><span class="p">,</span>
+- <span class="nt">&quot;user_flags&quot;</span><span class="p">:</span> <span class="p">[]</span>
+-<span class="p">}</span>
+-
+-<span class="k">TASK</span> <span class="p">[</span><span class="l">paused</span><span class="p">]</span> <span class="nv">************************************************************************************************************************************</span>
+-<span class="w">Sunday 11 November 2018 20:16:48 +0100 (0:00:00.041) 0:07:59.637 *******</span>
+-<span class="gd">--- before</span><span class="w"></span>
+-<span class="gi">+++ after</span><span class="w"></span>
+-<span class="gu">@@ -1,5 +1,5 @@</span><span class="w"></span>
+-<span class="w"> </span>{<span class="w"></span>
+-<span class="gd">- &quot;exists&quot;: false,</span><span class="w"></span>
+-<span class="gd">- &quot;paused&quot;: false,</span><span class="w"></span>
+-<span class="gd">- &quot;running&quot;: false</span><span class="w"></span>
+-<span class="gi">+ &quot;exists&quot;: true,</span><span class="w"></span>
+-<span class="gi">+ &quot;paused&quot;: true,</span><span class="w"></span>
+-<span class="gi">+ &quot;running&quot;: true</span><span class="w"></span>
+-<span class="w"> </span>}<span class="w"></span>
+-<span class="w">\ No newline at end of file</span>
+-
+-<span class="k">changed</span><span class="p">:</span> <span class="p">[</span><span class="nv">localhost</span><span class="p">]</span>
+-
+-<span class="k">TASK</span> <span class="p">[</span><span class="l">volumes (more volumes)</span><span class="p">]</span> <span class="nv">********************************************************************************************************************</span>
+-<span class="w">Sunday 11 November 2018 20:19:25 +0100 (0:00:00.607) 0:10:36.974 *******</span>
+-<span class="gd">--- before</span><span class="w"></span>
+-<span class="gi">+++ after</span><span class="w"></span>
+-<span class="gu">@@ -1,11 +1,11 @@</span><span class="w"></span>
+-<span class="w"> </span>{<span class="w"></span>
+-<span class="w"> </span> &quot;expected_binds&quot;: [<span class="w"></span>
+-<span class="gd">- &quot;/tmp:/tmp:rw&quot;,</span><span class="w"></span>
+-<span class="gd">- &quot;/:/whatever:rw,z&quot;</span><span class="w"></span>
+-<span class="gi">+ &quot;/tmp:/somewhereelse:ro,Z&quot;,</span><span class="w"></span>
+-<span class="gi">+ &quot;/tmp:/tmp:rw&quot;</span><span class="w"></span>
+-<span class="w"> </span> ],<span class="w"></span>
+-<span class="w"> </span> &quot;expected_volumes&quot;: {<span class="w"></span>
+-<span class="gd">- &quot;/tmp&quot;: {},</span><span class="w"></span>
+-<span class="gd">- &quot;/whatever&quot;: {}</span><span class="w"></span>
+-<span class="gi">+ &quot;/somewhereelse&quot;: {},</span><span class="w"></span>
+-<span class="gi">+ &quot;/tmp&quot;: {}</span><span class="w"></span>
+-<span class="w"> </span> },<span class="w"></span>
+-<span class="w"> </span> &quot;running&quot;: true<span class="w"></span>
+-<span class="w"> </span>}<span class="w"></span>
+-<span class="w">\ No newline at end of file</span>
+-
+-<span class="k">changed</span><span class="p">:</span> <span class="p">[</span><span class="nv">localhost</span><span class="p">]</span>
+-</pre></div>
+-"""
++ expected_resulting_text_tokens = [
++ (0, Token.Text.Whitespace, '\n'),
++ (1, Token.Keyword, 'ok'),
++ (3, Token.Punctuation, ':'),
++ (4, Token.Text, ' '),
++ (5, Token.Punctuation, '['),
++ (6, Token.Name.Variable, 'windows'),
++ (13, Token.Punctuation, ']'),
++ (14, Token.Text, ' '),
++ (15, Token.Punctuation, '=>'),
++ (17, Token.Text, ' '),
++ (18, Token.Punctuation, '{'),
++ (19, Token.Text, '\n '),
++ (24, Token.Name.Tag, '"account"'),
++ (33, Token.Punctuation, ':'),
++ (34, Token.Text, ' '),
++ (35, Token.Punctuation, '{'),
++ (36, Token.Text, '\n '),
++ (45, Token.Name.Tag, '"account_name"'),
++ (59, Token.Punctuation, ':'),
++ (60, Token.Text, ' '),
++ (61, Token.Literal.String, '"vagrant-domain"'),
++ (77, Token.Punctuation, ','),
++ (78, Token.Text, '\n '),
++ (87, Token.Name.Tag, '"type"'),
++ (93, Token.Punctuation, ':'),
++ (94, Token.Text, ' '),
++ (95, Token.Literal.String, '"User"'),
++ (101, Token.Text, '\n '),
++ (106, Token.Punctuation, '}'),
++ (107, Token.Punctuation, ','),
++ (108, Token.Text, '\n '),
++ (113, Token.Name.Tag, '"authentication_package"'),
++ (137, Token.Punctuation, ':'),
++ (138, Token.Text, ' '),
++ (139, Token.Literal.String, '"Kerberos"'),
++ (149, Token.Punctuation, ','),
++ (150, Token.Text, '\n '),
++ (155, Token.Name.Tag, '"user_flags"'),
++ (167, Token.Punctuation, ':'),
++ (168, Token.Text, ' '),
++ (169, Token.Punctuation, '['),
++ (170, Token.Punctuation, ']'),
++ (171, Token.Text, '\n'),
++ (172, Token.Punctuation, '}'),
++ (173, Token.Text, '\n'),
++ (174, Token.Text.Whitespace, '\n'),
++ (175, Token.Keyword, 'TASK'),
++ (179, Token.Text, ' '),
++ (180, Token.Punctuation, '['),
++ (181, Token.Literal, 'paused'),
++ (187, Token.Punctuation, ']'),
++ (188, Token.Text, ' '),
++ (
++ 189,
++ Token.Name.Variable,
++ '*' * 132,
++ ),
++ (321, Token.Text, '\n'),
++ *(
++ (
++ (
++ 322,
++ Token.Text.Whitespace,
++ 'Sunday 11 November 2018 20:16:48 +0100 (0:00:00.041) '
++ '0:07:59.637 *******\n',
++ ),
++ ) if IS_OLD_PYGMENTS_PRE_2_14 else (
++ (
++ 322,
++ Token.Text,
++ 'Sunday 11 November 2018 20:16:48 +0100 (0:00:00.041) '
++ '0:07:59.637 *******',
++ ),
++ (401, Token.Text.Whitespace, '\n'),
++ )
++ ),
++ (402, Token.Generic.Deleted, '--- before'),
++ (412, Token.Text.Whitespace, '\n'),
++ (413, Token.Generic.Inserted, '+++ after'),
++ (422, Token.Text.Whitespace, '\n'),
++ (423, Token.Generic.Subheading, '@@ -1,5 +1,5 @@'),
++ (438, Token.Text.Whitespace, '\n'),
++ (439, Token.Text.Whitespace, ' '),
++ (440, Token.Text, '{'),
++ (441, Token.Text.Whitespace, '\n'),
++ (442, Token.Generic.Deleted, '- "exists": false,'),
++ (461, Token.Text.Whitespace, '\n'),
++ (462, Token.Generic.Deleted, '- "paused": false,'),
++ (481, Token.Text.Whitespace, '\n'),
++ (482, Token.Generic.Deleted, '- "running": false'),
++ (501, Token.Text.Whitespace, '\n'),
++ (502, Token.Generic.Inserted, '+ "exists": true,'),
++ (520, Token.Text.Whitespace, '\n'),
++ (521, Token.Generic.Inserted, '+ "paused": true,'),
++ (539, Token.Text.Whitespace, '\n'),
++ (540, Token.Generic.Inserted, '+ "running": true'),
++ (558, Token.Text.Whitespace, '\n'),
++ (559, Token.Text.Whitespace, ' '),
++ (560, Token.Text, '}'),
++ (561, Token.Text.Whitespace, '\n'),
++ *(
++ (
++ (
++ 562,
++ Token.Text.Whitespace,
++ '\\ No newline at end of file\n',
++ ),
++ ) if IS_OLD_PYGMENTS_PRE_2_14 else (
++ (562, Token.Text, '\\ No newline at end of file'),
++ (589, Token.Text.Whitespace, '\n'),
++ )
++ ),
++ (590, Token.Text.Whitespace, '\n'),
++ (591, Token.Keyword, 'changed'),
++ (598, Token.Punctuation, ':'),
++ (599, Token.Text, ' '),
++ (600, Token.Punctuation, '['),
++ (601, Token.Name.Variable, 'localhost'),
++ (610, Token.Punctuation, ']'),
++ (611, Token.Text, '\n'),
++ (612, Token.Text.Whitespace, '\n'),
++ (613, Token.Keyword, 'TASK'),
++ (617, Token.Text, ' '),
++ (618, Token.Punctuation, '['),
++ (619, Token.Literal, 'volumes (more volumes)'),
++ (641, Token.Punctuation, ']'),
++ (642, Token.Text, ' '),
++ (
++ 643,
++ Token.Name.Variable,
++ '*' * 116,
++ ),
++ (759, Token.Text, '\n'),
++ *(
++ (
++ (
++ 760,
++ Token.Text.Whitespace,
++ 'Sunday 11 November 2018 20:19:25 +0100 (0:00:00.607) '
++ '0:10:36.974 *******\n',
++ ),
++ ) if IS_OLD_PYGMENTS_PRE_2_14 else (
++ (
++ 760,
++ Token.Text,
++ 'Sunday 11 November 2018 20:19:25 +0100 (0:00:00.607) '
++ '0:10:36.974 *******',
++ ),
++ (839, Token.Text.Whitespace, '\n'),
++ )
++ ),
++ (840, Token.Generic.Deleted, '--- before'),
++ (850, Token.Text.Whitespace, '\n'),
++ (851, Token.Generic.Inserted, '+++ after'),
++ (860, Token.Text.Whitespace, '\n'),
++ (861, Token.Generic.Subheading, '@@ -1,11 +1,11 @@'),
++ (878, Token.Text.Whitespace, '\n'),
++ (879, Token.Text.Whitespace, ' '),
++ (880, Token.Text, '{'),
++ (881, Token.Text.Whitespace, '\n'),
++ (882, Token.Text.Whitespace, ' '),
++ (883, Token.Text, ' "expected_binds": ['),
++ (904, Token.Text.Whitespace, '\n'),
++ (905, Token.Generic.Deleted, '- "/tmp:/tmp:rw",'),
++ (925, Token.Text.Whitespace, '\n'),
++ (926, Token.Generic.Deleted, '- "/:/whatever:rw,z"'),
++ (949, Token.Text.Whitespace, '\n'),
++ (950, Token.Generic.Inserted, '+ "/tmp:/somewhereelse:ro,Z",'),
++ (982, Token.Text.Whitespace, '\n'),
++ (983, Token.Generic.Inserted, '+ "/tmp:/tmp:rw"'),
++ (1002, Token.Text.Whitespace, '\n'),
++ (1003, Token.Text.Whitespace, ' '),
++ (1004, Token.Text, ' ],'),
++ (1008, Token.Text.Whitespace, '\n'),
++ (1009, Token.Text.Whitespace, ' '),
++ (1010, Token.Text, ' "expected_volumes": {'),
++ (1033, Token.Text.Whitespace, '\n'),
++ (1034, Token.Generic.Deleted, '- "/tmp": {},'),
++ (1050, Token.Text.Whitespace, '\n'),
++ (1051, Token.Generic.Deleted, '- "/whatever": {}'),
++ (1071, Token.Text.Whitespace, '\n'),
++ (1072, Token.Generic.Inserted, '+ "/somewhereelse": {},'),
++ (1098, Token.Text.Whitespace, '\n'),
++ (1099, Token.Generic.Inserted, '+ "/tmp": {}'),
++ (1114, Token.Text.Whitespace, '\n'),
++ (1115, Token.Text.Whitespace, ' '),
++ (1116, Token.Text, ' },'),
++ (1120, Token.Text.Whitespace, '\n'),
++ (1121, Token.Text.Whitespace, ' '),
++ (1122, Token.Text, ' "running": true'),
++ (1139, Token.Text.Whitespace, '\n'),
++ (1140, Token.Text.Whitespace, ' '),
++ (1141, Token.Text, '}'),
++ (1142, Token.Text.Whitespace, '\n'),
++ *(
++ (
++ (
++ 1143,
++ Token.Text.Whitespace,
++ '\\ No newline at end of file\n',
++ ),
++ ) if IS_OLD_PYGMENTS_PRE_2_14 else (
++ (1143, Token.Text, '\\ No newline at end of file'),
++ (1170, Token.Text.Whitespace, '\n'),
++ )
++ ),
++ (1171, Token.Text.Whitespace, '\n'),
++ (1172, Token.Keyword, 'changed'),
++ (1179, Token.Punctuation, ':'),
++ (1180, Token.Text, ' '),
++ (1181, Token.Punctuation, '['),
++ (1182, Token.Name.Variable, 'localhost'),
++ (1191, Token.Punctuation, ']'),
++ (1192, Token.Text, '\n'),
++ ]
++
++ unprocessed_text_tokens = list(
++ _get_lexer_by_name('ansible-output').
++ get_tokens_unprocessed(ansible_play_output_example),
++ )
++ assert unprocessed_text_tokens == expected_resulting_text_tokens
diff --git a/dev-python/ansible-pygments/files/ansible-pygments-0.1.1-tests_pygments2_14.patch b/dev-python/ansible-pygments/files/ansible-pygments-0.1.1-tests_pygments2_14.patch
deleted file mode 100644
index d58a13256ac5..000000000000
--- a/dev-python/ansible-pygments/files/ansible-pygments-0.1.1-tests_pygments2_14.patch
+++ /dev/null
@@ -1,75 +0,0 @@
-Backported upstream commit 0ddab3516217ac2067b6e980f5b2a6b2ac1be3fa
-
---- a/tests/lexer_test.py
-+++ b/tests/lexer_test.py
-@@ -86,41 +86,41 @@ def test_ansible_output_lexer():
-
- <span class="k">TASK</span> <span class="p">[</span><span class="l">paused</span><span class="p">]</span> <span class="nv">************************************************************************************************************************************</span>
- <span class="w">Sunday 11 November 2018 20:16:48 +0100 (0:00:00.041) 0:07:59.637 *******</span>
--<span class="gd">--- before</span><span class="w"></span>
--<span class="gi">+++ after</span><span class="w"></span>
--<span class="gu">@@ -1,5 +1,5 @@</span><span class="w"></span>
--<span class="w"> </span>{<span class="w"></span>
--<span class="gd">- &quot;exists&quot;: false,</span><span class="w"></span>
--<span class="gd">- &quot;paused&quot;: false,</span><span class="w"></span>
--<span class="gd">- &quot;running&quot;: false</span><span class="w"></span>
--<span class="gi">+ &quot;exists&quot;: true,</span><span class="w"></span>
--<span class="gi">+ &quot;paused&quot;: true,</span><span class="w"></span>
--<span class="gi">+ &quot;running&quot;: true</span><span class="w"></span>
--<span class="w"> </span>}<span class="w"></span>
-+<span class="gd">--- before</span>
-+<span class="gi">+++ after</span>
-+<span class="gu">@@ -1,5 +1,5 @@</span>
-+<span class="w"> </span>{
-+<span class="gd">- &quot;exists&quot;: false,</span>
-+<span class="gd">- &quot;paused&quot;: false,</span>
-+<span class="gd">- &quot;running&quot;: false</span>
-+<span class="gi">+ &quot;exists&quot;: true,</span>
-+<span class="gi">+ &quot;paused&quot;: true,</span>
-+<span class="gi">+ &quot;running&quot;: true</span>
-+<span class="w"> </span>}
- <span class="w">\ No newline at end of file</span>
-
- <span class="k">changed</span><span class="p">:</span> <span class="p">[</span><span class="nv">localhost</span><span class="p">]</span>
-
- <span class="k">TASK</span> <span class="p">[</span><span class="l">volumes (more volumes)</span><span class="p">]</span> <span class="nv">********************************************************************************************************************</span>
- <span class="w">Sunday 11 November 2018 20:19:25 +0100 (0:00:00.607) 0:10:36.974 *******</span>
--<span class="gd">--- before</span><span class="w"></span>
--<span class="gi">+++ after</span><span class="w"></span>
--<span class="gu">@@ -1,11 +1,11 @@</span><span class="w"></span>
--<span class="w"> </span>{<span class="w"></span>
--<span class="w"> </span> &quot;expected_binds&quot;: [<span class="w"></span>
--<span class="gd">- &quot;/tmp:/tmp:rw&quot;,</span><span class="w"></span>
--<span class="gd">- &quot;/:/whatever:rw,z&quot;</span><span class="w"></span>
--<span class="gi">+ &quot;/tmp:/somewhereelse:ro,Z&quot;,</span><span class="w"></span>
--<span class="gi">+ &quot;/tmp:/tmp:rw&quot;</span><span class="w"></span>
--<span class="w"> </span> ],<span class="w"></span>
--<span class="w"> </span> &quot;expected_volumes&quot;: {<span class="w"></span>
--<span class="gd">- &quot;/tmp&quot;: {},</span><span class="w"></span>
--<span class="gd">- &quot;/whatever&quot;: {}</span><span class="w"></span>
--<span class="gi">+ &quot;/somewhereelse&quot;: {},</span><span class="w"></span>
--<span class="gi">+ &quot;/tmp&quot;: {}</span><span class="w"></span>
--<span class="w"> </span> },<span class="w"></span>
--<span class="w"> </span> &quot;running&quot;: true<span class="w"></span>
--<span class="w"> </span>}<span class="w"></span>
-+<span class="gd">--- before</span>
-+<span class="gi">+++ after</span>
-+<span class="gu">@@ -1,11 +1,11 @@</span>
-+<span class="w"> </span>{
-+<span class="w"> </span> &quot;expected_binds&quot;: [
-+<span class="gd">- &quot;/tmp:/tmp:rw&quot;,</span>
-+<span class="gd">- &quot;/:/whatever:rw,z&quot;</span>
-+<span class="gi">+ &quot;/tmp:/somewhereelse:ro,Z&quot;,</span>
-+<span class="gi">+ &quot;/tmp:/tmp:rw&quot;</span>
-+<span class="w"> </span> ],
-+<span class="w"> </span> &quot;expected_volumes&quot;: {
-+<span class="gd">- &quot;/tmp&quot;: {},</span>
-+<span class="gd">- &quot;/whatever&quot;: {}</span>
-+<span class="gi">+ &quot;/somewhereelse&quot;: {},</span>
-+<span class="gi">+ &quot;/tmp&quot;: {}</span>
-+<span class="w"> </span> },
-+<span class="w"> </span> &quot;running&quot;: true
-+<span class="w"> </span>}
- <span class="w">\ No newline at end of file</span>
-
- <span class="k">changed</span><span class="p">:</span> <span class="p">[</span><span class="nv">localhost</span><span class="p">]</span>
diff --git a/dev-python/ansible-pygments/metadata.xml b/dev-python/ansible-pygments/metadata.xml
index 966223c0e2ad..07e9dba53f08 100644
--- a/dev-python/ansible-pygments/metadata.xml
+++ b/dev-python/ansible-pygments/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<longdescription>
This project provides a <pkg>dev-python/pygments</pkg> lexer that is able to handle
diff --git a/dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild b/dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild
index 5dd87fb09a73..75231623f257 100644
--- a/dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild
+++ b/dev-python/ansicolor/ansicolor-0.3.2-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/ansicolor/ansicolor-9999.ebuild b/dev-python/ansicolor/ansicolor-9999.ebuild
index 4d55e8a5e08c..9734c8646eb3 100644
--- a/dev-python/ansicolor/ansicolor-9999.ebuild
+++ b/dev-python/ansicolor/ansicolor-9999.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/antlr4-python3-runtime/Manifest b/dev-python/antlr4-python3-runtime/Manifest
index 954b26703cb1..74e6a52641c1 100644
--- a/dev-python/antlr4-python3-runtime/Manifest
+++ b/dev-python/antlr4-python3-runtime/Manifest
@@ -1,2 +1 @@
-DIST antlr4-4.13.0.gh.tar.gz 4317288 BLAKE2B 7971b12a3d3fe50f50b9888a4de9cb7fdc28140c95a29fe00538a48da3434ec1c38643e7a1eb19457e0363b7e57747f5597081af59f653f7108f26f6515d8f35 SHA512 947ecca28712aa4dd98d7b7e0753e91881e55642f7951ca65a576b94db87440767a1b93d08e82db69ad527ee28bf89f0b2f9c0aaa604a999a7e48c163764ee12
DIST antlr4-4.13.1.gh.tar.gz 4164054 BLAKE2B a51b91ef93bd4b540a382f8d4eb2bcd1a2e47a29ab20a601a2fdc6ea3d17f9acb62a4bda1a9383ba1d40853a2346f68fe846d700c3f8ae6c9a0f940ad8c660be SHA512 79ac3cdfc8f2368c647d06aec85d87507629a75527205ff2cbf7d9802989b0c6e6a8fac76148ad101f539c9ef922e431e22ba489f899f847ccc3d3d889bb2b70
diff --git a/dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.13.0.ebuild b/dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.13.0.ebuild
deleted file mode 100644
index 31dcc7c87016..000000000000
--- a/dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.13.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-MY_P=antlr4-${PV}
-DESCRIPTION="Python 3 runtime for ANTLR"
-HOMEPAGE="
- https://www.antlr.org/
- https://github.com/antlr/antlr4/
- https://pypi.org/project/antlr4-python3-runtime/
-"
-SRC_URI="
- https://github.com/antlr/antlr4/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/runtime/Python3"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-python_test() {
- "${EPYTHON}" tests/run.py -v || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.13.1.ebuild b/dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.13.1.ebuild
index 31dcc7c87016..55b749cf00e1 100644
--- a/dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.13.1.ebuild
+++ b/dev-python/antlr4-python3-runtime/antlr4-python3-runtime-4.13.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -25,6 +25,13 @@ LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~x86"
+src_prepare() {
+ # https://github.com/antlr/antlr4/pull/4593
+ sed -i -e 's:assertEquals:assertEqual:' tests/TestIntervalSet.py || die
+
+ distutils-r1_src_prepare
+}
+
python_test() {
"${EPYTHON}" tests/run.py -v || die "Tests failed with ${EPYTHON}"
}
diff --git a/dev-python/antlr4-python3-runtime/metadata.xml b/dev-python/antlr4-python3-runtime/metadata.xml
index 542c7a870d6e..82064b3356c6 100644
--- a/dev-python/antlr4-python3-runtime/metadata.xml
+++ b/dev-python/antlr4-python3-runtime/metadata.xml
@@ -2,10 +2,6 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="project">
- <email>java@gentoo.org</email>
- <name>Java</name>
- </maintainer>
- <maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
diff --git a/dev-python/anyascii/anyascii-0.3.2.ebuild b/dev-python/anyascii/anyascii-0.3.2.ebuild
index 961994a8d6fc..0147a48a118d 100644
--- a/dev-python/anyascii/anyascii-0.3.2.ebuild
+++ b/dev-python/anyascii/anyascii-0.3.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/anyio/Manifest b/dev-python/anyio/Manifest
index 2d9b32ed64b9..44e1047aafea 100644
--- a/dev-python/anyio/Manifest
+++ b/dev-python/anyio/Manifest
@@ -1,3 +1 @@
-DIST anyio-3.7.1.tar.gz 142927 BLAKE2B 80a093943fbd23069e9511a83b3eb1e27f2863b11e184709f92cab2dfebc05ea3c291d22be4b1e79d00ae52e10009d5fb2c664730009b40e2b666587538d0ca5 SHA512 067bbffa9e0d6ce339a4999a677c857e839aa3bf5a056d841fec8cbd3be17023c9158df907ff66b9a5437a78158bc9bbb3b9ebe30c57ef98660642bc057d7d10
-DIST anyio-4.0.0.tar.gz 153297 BLAKE2B 680c3472525a777dc2af63241ef1b6f90bcc2224d944fc04aef519d0d97bb5845c7b3faddb116b20cfb1a61303bcf91290b1f2544a3cfcb08f3488a70b275c8a SHA512 b0ec5aa912c973206d8677a6aba25957cd669dfe890ee7d39af064f1620f9a5103a39bd6d35f4ea680b86d13964daf1e982ac6873bf5903eeaaa6e74ea974948
-DIST anyio-4.1.0.tar.gz 155773 BLAKE2B 39dae924a28dbe14552259f240d6b63d5d2cccfbbb8efefb4100956764ab0144863d6f71a82c02cf245e12430a7c76f187163d9c4aa1b3af291e932efac0e23d SHA512 073b2c2cf92b3c1d3d5588a2ea966d82c793559702b64ab60ace539cfa2c33cf24c48ed06f0297ec3e0cca9b1ead59a995f7f59d2b3f2d75e43bdb16f927bea7
+DIST anyio-4.4.0.tar.gz 163930 BLAKE2B a37b8bc05e43cf1a4bc3f15ab399c78c7a76235942d776848307b189898973e46ddfb553bd20da154dc740d8b8bb93050ac460e56607b686bc2936c5a1e09332 SHA512 db8ad7a4faf257269de9975c3a6325023a95255a8bfe1a9642221080f44a2487160f3c0e8b220d637816e9eb3641550393a3c80b23bddafc33fd9ebe9a23b33d
diff --git a/dev-python/anyio/anyio-3.7.1.ebuild b/dev-python/anyio/anyio-3.7.1.ebuild
deleted file mode 100644
index 2e61afa1af52..000000000000
--- a/dev-python/anyio/anyio-3.7.1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Compatibility layer for multiple asynchronous event loop implementations"
-HOMEPAGE="
- https://github.com/agronholm/anyio/
- https://pypi.org/project/anyio/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/exceptiongroup[${PYTHON_USEDEP}]
- ' 3.{9..10})
- >=dev-python/idna-2.8[${PYTHON_USEDEP}]
- >=dev-python/sniffio-1.1[${PYTHON_USEDEP}]
-"
-# On amd64, let's get more test coverage by dragging in uvloop, but let's
-# not bother on other arches where uvloop may not be supported.
-BDEPEND="
- >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
- test? (
- >=dev-python/hypothesis-4.0[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
- dev-python/trio[${PYTHON_USEDEP}]
- dev-python/trustme[${PYTHON_USEDEP}]
- amd64? (
- $(python_gen_cond_dep '
- >=dev-python/uvloop-0.17[${PYTHON_USEDEP}]
- ' python3_{10..11})
- )
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- '>=dev-python/sphinx-rtd-theme-1.2.2' \
- dev-python/sphinxcontrib-jquery \
- dev-python/sphinx-autodoc-typehints
-
-python_test() {
- local EPYTEST_DESELECT=(
- # requires link-local IPv6 interface
- tests/test_sockets.py::TestTCPListener::test_bind_link_local
-
- # trio-0.22?
- 'tests/test_sockets.py::TestTCPStream::test_connection_refused[trio-multi]'
- 'tests/test_taskgroups.py::test_exception_group_children[trio]'
- 'tests/test_taskgroups.py::test_exception_group_host[trio]'
- 'tests/test_taskgroups.py::test_exception_group_filtering[trio]'
- )
- if [[ ${EPYTHON} == python3.12 ]]; then
- EPYTEST_DESELECT+=(
- tests/test_fileio.py::TestPath::test_properties
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -m 'not network'
-}
diff --git a/dev-python/anyio/anyio-4.0.0.ebuild b/dev-python/anyio/anyio-4.0.0.ebuild
deleted file mode 100644
index 43fdd81039a2..000000000000
--- a/dev-python/anyio/anyio-4.0.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Compatibility layer for multiple asynchronous event loop implementations"
-HOMEPAGE="
- https://github.com/agronholm/anyio/
- https://pypi.org/project/anyio/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/exceptiongroup-1.0.2[${PYTHON_USEDEP}]
- ' 3.10)
- >=dev-python/idna-2.8[${PYTHON_USEDEP}]
- >=dev-python/sniffio-1.1[${PYTHON_USEDEP}]
-"
-# On amd64, let's get more test coverage by dragging in uvloop, but let's
-# not bother on other arches where uvloop may not be supported.
-BDEPEND="
- >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
- test? (
- >=dev-python/hypothesis-4.0[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
- >=dev-python/trio-0.22[${PYTHON_USEDEP}]
- dev-python/trustme[${PYTHON_USEDEP}]
- amd64? (
- $(python_gen_cond_dep '
- >=dev-python/uvloop-0.17[${PYTHON_USEDEP}]
- ' python3_{10..12})
- )
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- '>=dev-python/sphinx-rtd-theme-1.2.2' \
- dev-python/sphinxcontrib-jquery \
- dev-python/sphinx-autodoc-typehints
-
-python_test() {
- local EPYTEST_DESELECT=(
- # requires link-local IPv6 interface
- tests/test_sockets.py::TestTCPListener::test_bind_link_local
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -m 'not network'
-}
diff --git a/dev-python/anyio/anyio-4.1.0.ebuild b/dev-python/anyio/anyio-4.1.0.ebuild
deleted file mode 100644
index 3de71092b6fe..000000000000
--- a/dev-python/anyio/anyio-4.1.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Compatibility layer for multiple asynchronous event loop implementations"
-HOMEPAGE="
- https://github.com/agronholm/anyio/
- https://pypi.org/project/anyio/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/exceptiongroup-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/idna-2.8[${PYTHON_USEDEP}]
- >=dev-python/sniffio-1.1[${PYTHON_USEDEP}]
-"
-# On amd64, let's get more test coverage by dragging in uvloop, but let's
-# not bother on other arches where uvloop may not be supported.
-BDEPEND="
- >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
- test? (
- >=dev-python/hypothesis-4.0[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
- >=dev-python/trio-0.23[${PYTHON_USEDEP}]
- dev-python/trustme[${PYTHON_USEDEP}]
- amd64? (
- $(python_gen_cond_dep '
- >=dev-python/uvloop-0.17[${PYTHON_USEDEP}]
- ' python3_{10..12})
- )
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- '>=dev-python/sphinx-rtd-theme-1.2.2' \
- dev-python/sphinxcontrib-jquery \
- dev-python/sphinx-autodoc-typehints
-
-python_test() {
- local EPYTEST_DESELECT=(
- # requires link-local IPv6 interface
- tests/test_sockets.py::TestTCPListener::test_bind_link_local
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -m 'not network'
-}
diff --git a/dev-python/anyio/anyio-4.4.0-r1.ebuild b/dev-python/anyio/anyio-4.4.0-r1.ebuild
new file mode 100644
index 000000000000..726491ba836b
--- /dev/null
+++ b/dev-python/anyio/anyio-4.4.0-r1.ebuild
@@ -0,0 +1,87 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Compatibility layer for multiple asynchronous event loop implementations"
+HOMEPAGE="
+ https://github.com/agronholm/anyio/
+ https://pypi.org/project/anyio/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/idna-2.8[${PYTHON_USEDEP}]
+ >=dev-python/sniffio-1.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# On amd64, let's get more test coverage by dragging in uvloop, but let's
+# not bother on other arches where uvloop may not be supported.
+BDEPEND="
+ >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/exceptiongroup-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-4.0[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/trio-0.23[${PYTHON_USEDEP}]
+ ' 3.{10..13})
+ amd64? (
+ $(python_gen_cond_dep '
+ >=dev-python/uvloop-0.17[${PYTHON_USEDEP}]
+ ' python3_{10..12})
+ )
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ '>=dev-python/sphinx-rtd-theme-1.2.2' \
+ dev-python/sphinxcontrib-jquery \
+ dev-python/sphinx-autodoc-typehints
+
+PATCHES=(
+ # https://github.com/agronholm/anyio/pull/740
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires link-local IPv6 interface
+ tests/test_sockets.py::TestTCPListener::test_bind_link_local
+ )
+
+ local filter=()
+ if ! has_version ">=dev-python/trio-0.23[${PYTHON_USEDEP}]"; then
+ filter+=( -k "not trio" )
+ EPYTEST_DESELECT+=(
+ tests/test_pytest_plugin.py::test_plugin
+ tests/test_pytest_plugin.py::test_autouse_async_fixture
+ tests/test_pytest_plugin.py::test_cancel_scope_in_asyncgen_fixture
+ )
+ fi
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ 'tests/test_fileio.py::TestPath::test_properties[asyncio]'
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m 'not network' "${filter[@]}"
+}
diff --git a/dev-python/anyio/files/anyio-4.4.0-py313.patch b/dev-python/anyio/files/anyio-4.4.0-py313.patch
new file mode 100644
index 000000000000..ebd3763f7544
--- /dev/null
+++ b/dev-python/anyio/files/anyio-4.4.0-py313.patch
@@ -0,0 +1,90 @@
+From 8a4d651610abb71da66cef58f350788eab6b0bd1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Alex=20Gr=C3=B6nholm?= <alex.gronholm@nextday.fi>
+Date: Tue, 28 May 2024 01:00:49 +0300
+Subject: [PATCH 1/3] Added missing Path properties from Python 3.13
+
+Fixes #737.
+---
+ src/anyio/_core/_fileio.py | 24 ++++++++++++++++++++++--
+ tests/test_fileio.py | 18 ++++++++++++++++++
+ 4 files changed, 47 insertions(+), 4 deletions(-)
+
+diff --git a/src/anyio/_core/_fileio.py b/src/anyio/_core/_fileio.py
+index df2057fe..8053dce5 100644
+--- a/src/anyio/_core/_fileio.py
++++ b/src/anyio/_core/_fileio.py
+@@ -358,8 +358,28 @@ def as_posix(self) -> str:
+ def as_uri(self) -> str:
+ return self._path.as_uri()
+
+- def match(self, path_pattern: str) -> bool:
+- return self._path.match(path_pattern)
++ if sys.version_info >= (3, 13):
++ parser = pathlib.Path.parser # type: ignore[attr-defined]
++
++ @classmethod
++ def from_uri(cls, uri: str) -> Path:
++ return Path(pathlib.Path.from_uri(uri)) # type: ignore[attr-defined]
++
++ def full_match(
++ self, path_pattern: str, *, case_sensitive: bool | None = None
++ ) -> bool:
++ return self._path.full_match( # type: ignore[attr-defined]
++ path_pattern, case_sensitive=case_sensitive
++ )
++
++ def match(
++ self, path_pattern: str, *, case_sensitive: bool | None = None
++ ) -> bool:
++ return self._path.match(path_pattern, case_sensitive=case_sensitive)
++ else:
++
++ def match(self, path_pattern: str) -> bool:
++ return self._path.match(path_pattern)
+
+ def is_relative_to(self, other: str | PathLike[str]) -> bool:
+ try:
+diff --git a/tests/test_fileio.py b/tests/test_fileio.py
+index bcd7fe1d..ff9178e0 100644
+--- a/tests/test_fileio.py
++++ b/tests/test_fileio.py
+@@ -186,6 +186,15 @@ def test_as_uri(self) -> None:
+ else:
+ assert Path("/foo/bar").as_uri() == "file:///foo/bar"
+
++ @pytest.mark.skipif(
++ sys.version_info < (3, 13),
++ reason="Path.from_uri() is only available on Python 3.13+",
++ )
++ def test_from_uri(self) -> None:
++ path = Path.from_uri("file:///foo/bar")
++ assert isinstance(path, Path)
++ assert path.as_uri() == "file:///foo/bar"
++
+ async def test_cwd(self) -> None:
+ result = await Path.cwd()
+ assert isinstance(result, Path)
+@@ -269,6 +278,7 @@ async def test_is_mount(self) -> None:
+ assert not await Path("/gfobj4ewiotj").is_mount()
+ assert await Path("/").is_mount()
+
++ @pytest.mark.filterwarnings("ignore::DeprecationWarning")
+ def test_is_reserved(self) -> None:
+ expected_result = platform.system() == "Windows"
+ assert Path("nul").is_reserved() == expected_result
+@@ -339,6 +349,14 @@ def test_joinpath(self) -> None:
+ path = Path("/foo").joinpath("bar")
+ assert path == Path("/foo/bar")
+
++ @pytest.mark.skipif(
++ sys.version_info < (3, 13),
++ reason="Path.full_match() is only available on Python 3.13+",
++ )
++ def test_fullmatch(self) -> None:
++ assert Path("/foo/bar").full_match("/foo/*")
++ assert not Path("/foo/bar").full_match("/baz/*")
++
+ def test_match(self) -> None:
+ assert Path("/foo/bar").match("/foo/*")
+ assert not Path("/foo/bar").match("/baz/*")
+
diff --git a/dev-python/anyqt/Manifest b/dev-python/anyqt/Manifest
deleted file mode 100644
index 69cdd1f94bb0..000000000000
--- a/dev-python/anyqt/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST anyqt-0.2.0.gh.tar.gz 57920 BLAKE2B b8fcf98706a2f1e8a0553044223fb5b46f471ca4a91436e828507d031c39d20cb4f3f9d556785d0614cc43b02b3134990606f51e002e238674144d9b94ca8528 SHA512 78162ca2758c1fee83b357c1dfe316499e74f9aa918f0bde40b94eb33f9f2b113b38c2883a21612a5455949fe9bb79f2f6c5a70fd4a0b64147eb4a88a94d9d1c
diff --git a/dev-python/anyqt/anyqt-0.2.0.ebuild b/dev-python/anyqt/anyqt-0.2.0.ebuild
deleted file mode 100644
index ac7a4519c107..000000000000
--- a/dev-python/anyqt/anyqt-0.2.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="PyQt4/PyQt5 compatibility layer"
-HOMEPAGE="
- https://github.com/ales-erjavec/anyqt/
- https://pypi.org/project/AnyQt/
-"
-SRC_URI="
- https://github.com/ales-erjavec/anyqt/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- || (
- dev-python/pyside2[${PYTHON_USEDEP}]
- dev-python/PyQt5[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- test? (
- dev-python/pyside2[testlib,${PYTHON_USEDEP}]
- dev-python/PyQt5[testlib,${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local -x QT_API
- # plugins may preload Qt modules
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- for QT_API in pyqt5 pyside2; do
- local EPYTEST_IGNORE=()
- [[ ${QT_API} == pyside2 ]] && EPYTEST_IGNORE+=(
- tests/test_qaction_set_menu.py
- )
-
- einfo "Testing ${QT_API}"
- nonfatal epytest tests ||
- die "Tests failed with ${EPYTHON} / ${QT_API}"
- done
-}
diff --git a/dev-python/anyqt/metadata.xml b/dev-python/anyqt/metadata.xml
deleted file mode 100644
index 0931ff56dac6..000000000000
--- a/dev-python/anyqt/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>amynka@gentoo.org</email>
- </maintainer>
- <upstream>
- <remote-id type="pypi">AnyQt</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/apache-libcloud/apache-libcloud-3.8.0-r1.ebuild b/dev-python/apache-libcloud/apache-libcloud-3.8.0-r1.ebuild
index 26ad934cf8f7..beb8bc3d60aa 100644
--- a/dev-python/apache-libcloud/apache-libcloud-3.8.0-r1.ebuild
+++ b/dev-python/apache-libcloud/apache-libcloud-3.8.0-r1.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="ssl(+)"
inherit distutils-r1 pypi
@@ -35,13 +35,14 @@ BDEPEND="
distutils_enable_tests pytest
-EPYTEST_DESELECT=(
- # Needs network access
- libcloud/test/compute/test_ovh.py::OvhTests::test_list_nodes_invalid_region
- libcloud/test/test_connection.py::BaseConnectionClassTestCase::test_connection_timeout_raised
-)
-
src_prepare() {
+ local PATCHES=(
+ # https://github.com/apache/libcloud/pull/2014
+ "${FILESDIR}/${P}-pytest-8.2.patch"
+ )
+
+ distutils-r1_src_prepare
+
if use examples; then
mkdir examples || die
mv example_*.py examples || die
@@ -49,8 +50,17 @@ src_prepare() {
# needed for tests
cp libcloud/test/secrets.py-dist libcloud/test/secrets.py || die
+}
- distutils-r1_src_prepare
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ libcloud/test/test_init.py::TestUtils::test_init_once_and_debug_mode
+ )
+
+ local -x NO_INTERNET=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
}
src_install() {
diff --git a/dev-python/apache-libcloud/files/apache-libcloud-3.8.0-pytest-8.2.patch b/dev-python/apache-libcloud/files/apache-libcloud-3.8.0-pytest-8.2.patch
new file mode 100644
index 000000000000..03917b0dac75
--- /dev/null
+++ b/dev-python/apache-libcloud/files/apache-libcloud-3.8.0-pytest-8.2.patch
@@ -0,0 +1,25 @@
+From 0b69d0bf23b6c2edb1e2002f47ff2df0080e96d9 Mon Sep 17 00:00:00 2001
+From: Steve Kowalik <steven@wedontsleep.org>
+Date: Thu, 6 Jun 2024 12:25:15 +1000
+Subject: [PATCH] Mark MockHttp as not for collection by pytest
+
+pytest 8.2.0 contains a regression that will collect non-test classes,
+so as to be explicit about it, mark MockHttp (and therefore all of its
+children classes) as not to be collected.
+---
+ libcloud/test/__init__.py | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/libcloud/test/__init__.py b/libcloud/test/__init__.py
+index d45c82c84d..d0da40c74a 100644
+--- a/libcloud/test/__init__.py
++++ b/libcloud/test/__init__.py
+@@ -97,6 +97,8 @@ class MockHttp(LibcloudConnection):
+
+ (int status, str body, dict headers, str reason)
+ """
++ # pytest may collect this class, and we don't need or want that
++ __test__ = False
+
+ type = None
+ use_param = None # will use this param to namespace the request function
diff --git a/dev-python/apipkg/apipkg-3.0.2.ebuild b/dev-python/apipkg/apipkg-3.0.2.ebuild
index ad7cb885a7c5..0db5320c7160 100644
--- a/dev-python/apipkg/apipkg-3.0.2.ebuild
+++ b/dev-python/apipkg/apipkg-3.0.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/apispec/Manifest b/dev-python/apispec/Manifest
index 5d4d8a1b6dfa..bc020e636e0d 100644
--- a/dev-python/apispec/Manifest
+++ b/dev-python/apispec/Manifest
@@ -1 +1 @@
-DIST apispec-6.3.0.tar.gz 77157 BLAKE2B 0ccf398f36548ea269c4e91fb512d8789bb387cff6956c0fe0426f1b3c38b6670e8c41972948d7a3f87c75e52c97fdff7570306d64c6ad41bfcb9f19e391b7de SHA512 65119851ee31cebc0bb0ddc6668e3961f870a7759bc95128e67063d0f3c6a88ddb590efc478c2e8eb8ecd7d3edd51bd51971a4e3e1e25a7486dfcb1b49e98dc4
+DIST apispec-6.6.1.tar.gz 76537 BLAKE2B e08f1545441be7f1dd266205a6a7dc1317385961325e47c25fde0aecbd68712410601249bced9b0c3491d3e6f772c94c14f638d77e3dbfac37bba5bb0dd1e284 SHA512 a6820444b017f9551d21cf5ba5a14f8f4eaa6bccd1848c540e41bd37140df06dc897bf5d29bc77a2e55b670d58dc84eeb6588769efb3fe400eba243c0a1b5425
diff --git a/dev-python/apispec/apispec-6.3.0.ebuild b/dev-python/apispec/apispec-6.3.0.ebuild
deleted file mode 100644
index 34f69e9d984c..000000000000
--- a/dev-python/apispec/apispec-6.3.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A pluggable API specification generator"
-HOMEPAGE="
- https://github.com/marshmallow-code/apispec/
- https://pypi.org/project/apispec/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/bottle[${PYTHON_USEDEP}]
- >=dev-python/marshmallow-3.18.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/sphinx-issues \
- dev-python/sphinx-rtd-theme
-
-python_test() {
- local EPYTEST_DESELECT=(
- # requires unpackaged prance
- tests/test_ext_marshmallow_openapi.py::test_openapi_tools_validate_v2
- tests/test_ext_marshmallow_openapi.py::test_openapi_tools_validate_v3
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/apispec/apispec-6.6.1.ebuild b/dev-python/apispec/apispec-6.6.1.ebuild
new file mode 100644
index 000000000000..b4c64b64045b
--- /dev/null
+++ b/dev-python/apispec/apispec-6.6.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A pluggable API specification generator"
+HOMEPAGE="
+ https://github.com/marshmallow-code/apispec/
+ https://pypi.org/project/apispec/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/bottle[${PYTHON_USEDEP}]
+ >=dev-python/marshmallow-3.18.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/sphinx-issues \
+ dev-python/sphinx-rtd-theme
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires unpackaged prance
+ tests/test_ext_marshmallow_openapi.py::test_openapi_tools_validate_v2
+ tests/test_ext_marshmallow_openapi.py::test_openapi_tools_validate_v3
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/appdirs/appdirs-1.4.4-r3.ebuild b/dev-python/appdirs/appdirs-1.4.4-r3.ebuild
index bac28f7a310c..c526c49b17d7 100644
--- a/dev-python/appdirs/appdirs-1.4.4-r3.ebuild
+++ b/dev-python/appdirs/appdirs-1.4.4-r3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/apprise/Manifest b/dev-python/apprise/Manifest
new file mode 100644
index 000000000000..a6f018c31d56
--- /dev/null
+++ b/dev-python/apprise/Manifest
@@ -0,0 +1,2 @@
+DIST apprise-1.8.0.tar.gz 1651688 BLAKE2B 32458b2a4787c0366db54890b505ca86cf1abee4299d32fd49f8fc8d37b87a6123c902747f97466b061857e7f284ed78c4001e61f587f3b47e17194324217d37 SHA512 312165b1b5c05ee632b5f2631eafc4af2b318881444851966ff6893775caa303b8d8fc819de9c2f8790eb224ac849535c5e5038a2f51dc30d477a503ed48b920
+DIST apprise-1.8.1.tar.gz 1696426 BLAKE2B ddc8966716e89a3e18995370e90f20c080a1249faccdbcf5f28fb22a89dc3f415c33208a5c98352307a28a65b45e305d1b9c3e2df52f6f6f017197a6f893a101 SHA512 b0e5d760ad8fcbecaa51de8e398abbb8766ef8a52bbd9cbd7f77156e4e00194adc1e18e0b6a95c611863ae72162041971408744348a7ea9e6579f4f4aae15f04
diff --git a/dev-python/apprise/apprise-1.8.0.ebuild b/dev-python/apprise/apprise-1.8.0.ebuild
new file mode 100644
index 000000000000..bc855214a676
--- /dev/null
+++ b/dev-python/apprise/apprise-1.8.0.ebuild
@@ -0,0 +1,38 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Push Notifications that work with just about every platform"
+HOMEPAGE="
+ https://pypi.org/project/apprise/
+ https://github.com/caronc/apprise/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~riscv"
+IUSE="+dbus mqtt"
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-oauthlib[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dbus? ( dev-python/dbus-python[${PYTHON_USEDEP}] )
+ mqtt? ( dev-python/paho-mqtt[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ dev-python/Babel[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/apprise/apprise-1.8.1.ebuild b/dev-python/apprise/apprise-1.8.1.ebuild
new file mode 100644
index 000000000000..d6fb609e2b6c
--- /dev/null
+++ b/dev-python/apprise/apprise-1.8.1.ebuild
@@ -0,0 +1,38 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Push Notifications that work with just about every platform"
+HOMEPAGE="
+ https://pypi.org/project/apprise/
+ https://github.com/caronc/apprise/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv"
+IUSE="+dbus mqtt"
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-oauthlib[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dbus? ( dev-python/dbus-python[${PYTHON_USEDEP}] )
+ mqtt? ( dev-python/paho-mqtt[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ dev-python/Babel[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/apprise/metadata.xml b/dev-python/apprise/metadata.xml
new file mode 100644
index 000000000000..97fde439f165
--- /dev/null
+++ b/dev-python/apprise/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">apprise</remote-id>
+ <remote-id type="github">caronc/apprise</remote-id>
+ </upstream>
+ <use>
+ <flag name="dbus">Support sending notifications to the desktop over D-Bus</flag>
+ <flag name="mqtt">Support sending notifications over MQTT</flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/apsw/Manifest b/dev-python/apsw/Manifest
index 53c0e681b42f..ad0fba9c1b09 100644
--- a/dev-python/apsw/Manifest
+++ b/dev-python/apsw/Manifest
@@ -1,7 +1 @@
-DIST apsw-3.42.0.1.gh.tar.gz 881270 BLAKE2B a983aebe53f6baf419fb0fec6d87797d11c1e1f0fadd546139c9b9c3cec6f8848e79af46a928597e6cf33937bb2b2e2157cf908cf18152c7f956864e3d09fe2c SHA512 78a02c8e987df90838923b2a2d4838a184e7e8d9be70a09a4a27eb43e9f06546f831895ab519b681f628e5432b3e5b71d56ecc2f3e45a89765dc13667ca6e844
-DIST apsw-3.43.0.0.gh.tar.gz 887997 BLAKE2B ce74eaed990cdf4742ce39743abf0dc112ee3f588bfa0ccca102829d4e29fd38194ac42a85dee25e18f666bdbb2137c99440583996513ea27977374de945ffd7 SHA512 013ef8a45b556498192673c77d8de50136680d061087a80d7ce880137f1ca469812e9237b7336fbb8aacd8d3a775e819a42dc5e70e2d907cf6fea56b80534755
-DIST apsw-3.43.1.0.gh.tar.gz 901289 BLAKE2B 3f463896ce587326421ae78a26b5cccbc5c43a2c54b9502c166f599705fc9afe867c3be5f2ea4de8bc4d2da2f3bf09e034a27744d2114a5bc9b5c622bd852543 SHA512 a3343af87638f04786086c282cf50bfce3074e2a3165ebf172740be13021138a83356e594969791029879dfef12149775b48e0912eb14817358434b3b72ada67
-DIST apsw-3.43.1.1.gh.tar.gz 901590 BLAKE2B 0fb1942aebf60443c12901e1b21bb7b9fce1e90d406bca80580563cee2d8aaf45b9c2294317cf374484fccd8b595439e13df01b14512514f78ec60ae1e905990 SHA512 3121e594a9d4c358ecb2f90becadc06fe987a3e7d6897fd655d5ae9aff6c8d1521257c2a34a68a8e6114cf7a71479544433e599522bee93e3fb729ee9763a112
-DIST apsw-3.43.2.0.gh.tar.gz 908230 BLAKE2B e583cbb5c636b9d38762668d8cc664c7342e50a4330d3714a93679043e322ea03cf7c9bf09396ea5025e74ab66747fc509790e4f17fd722a654d6f8d1774949d SHA512 760ebef288bec4e08a06fc8e1e720e9c51ada19196efb7491988c7cab31dc54f9082c5cc668acf04d28818dbcd41a8a45df66c1fd78d2716862ec9a2faa022ed
-DIST apsw-3.44.0.0.gh.tar.gz 899926 BLAKE2B ce162d757fbf5510355419dd279ea33235e8cdbd7a8b03f0288f730b66cad9d6aa09c91a3fe97f930422a1b8158c9b22d9ae8d5ee03dec657319a3bf6f24a04f SHA512 4cc4cacdbc03e522d149507bb875ae880bcd5b0130bb3babda7d873c52b3db362c8347ce6af412dc3a73b1fb8362d1c1fe9a51b2343b0c52ff1812582d91c564
-DIST apsw-3.44.2.0.gh.tar.gz 902852 BLAKE2B bdaf72ef063d3ddaf46bf403e688ffe5ee657de5a17ca3aba496058d8f244fdfd82b41899f3c944b6d7cdfe5bab0e7608bd26db926016df6af9fa5a950c12415 SHA512 76f8b92feb792c3003d251bcf61dab80bfb34147cfb8512ad6ff1dd1f07b4e7a5c97b98c4bfc7fee179efc7439ea28573552ae25d5bc33e633da0722866fd551
+DIST apsw-3.46.0.1.gh.tar.gz 912632 BLAKE2B b2c89def11102a00dde64fa7d7546f50e302dfe4219394d3d6ddd7f66fec455a60689db61a94230f7ef9578069b08ecd826de82b4e8b019107b9a0b6a36c4271 SHA512 894cf6c49d608d9d8eff369dcf42dd3b2f5174cd98a2c471f41773e2c1474c13d31f08402d053fd0869acb5c038e26543caa345d205c46bd3b3ec6aaecda5089
diff --git a/dev-python/apsw/apsw-3.42.0.1.ebuild b/dev-python/apsw/apsw-3.42.0.1.ebuild
deleted file mode 100644
index f392487165d9..000000000000
--- a/dev-python/apsw/apsw-3.42.0.1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="APSW - Another Python SQLite Wrapper"
-HOMEPAGE="
- https://github.com/rogerbinns/apsw/
- https://pypi.org/project/apsw/
-"
-SRC_URI="
- https://github.com/rogerbinns/apsw/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="ZLIB"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~ppc64 x86"
-IUSE="doc"
-
-DEPEND="
- >=dev-db/sqlite-${PV%.*}:3
-"
-RDEPEND="
- ${DEPEND}
-"
-
-src_configure() {
- cat >> setup.cfg <<-EOF || die
- [build_ext]
- enable=load_extension
- use_system_sqlite_config=True
- EOF
-}
-
-python_test() {
- esetup.py build_test_extension
- cd "${T}" || die
- "${EPYTHON}" -m apsw.tests -v || die "Tests failed under ${EPYTHON}"
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/apsw/apsw-3.43.0.0.ebuild b/dev-python/apsw/apsw-3.43.0.0.ebuild
deleted file mode 100644
index 21c2e33d0999..000000000000
--- a/dev-python/apsw/apsw-3.43.0.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="APSW - Another Python SQLite Wrapper"
-HOMEPAGE="
- https://github.com/rogerbinns/apsw/
- https://pypi.org/project/apsw/
-"
-SRC_URI="
- https://github.com/rogerbinns/apsw/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="ZLIB"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
-IUSE="doc"
-
-DEPEND="
- >=dev-db/sqlite-${PV%.*}:3
-"
-RDEPEND="
- ${DEPEND}
-"
-
-src_configure() {
- cat >> setup.cfg <<-EOF || die
- [build_ext]
- enable=load_extension
- use_system_sqlite_config=True
- EOF
-}
-
-python_test() {
- esetup.py build_test_extension
- cd "${T}" || die
- "${EPYTHON}" -m apsw.tests -v || die "Tests failed under ${EPYTHON}"
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/apsw/apsw-3.43.1.0.ebuild b/dev-python/apsw/apsw-3.43.1.0.ebuild
deleted file mode 100644
index 21c2e33d0999..000000000000
--- a/dev-python/apsw/apsw-3.43.1.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="APSW - Another Python SQLite Wrapper"
-HOMEPAGE="
- https://github.com/rogerbinns/apsw/
- https://pypi.org/project/apsw/
-"
-SRC_URI="
- https://github.com/rogerbinns/apsw/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="ZLIB"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
-IUSE="doc"
-
-DEPEND="
- >=dev-db/sqlite-${PV%.*}:3
-"
-RDEPEND="
- ${DEPEND}
-"
-
-src_configure() {
- cat >> setup.cfg <<-EOF || die
- [build_ext]
- enable=load_extension
- use_system_sqlite_config=True
- EOF
-}
-
-python_test() {
- esetup.py build_test_extension
- cd "${T}" || die
- "${EPYTHON}" -m apsw.tests -v || die "Tests failed under ${EPYTHON}"
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/apsw/apsw-3.43.1.1.ebuild b/dev-python/apsw/apsw-3.43.1.1.ebuild
deleted file mode 100644
index 21c2e33d0999..000000000000
--- a/dev-python/apsw/apsw-3.43.1.1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="APSW - Another Python SQLite Wrapper"
-HOMEPAGE="
- https://github.com/rogerbinns/apsw/
- https://pypi.org/project/apsw/
-"
-SRC_URI="
- https://github.com/rogerbinns/apsw/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="ZLIB"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
-IUSE="doc"
-
-DEPEND="
- >=dev-db/sqlite-${PV%.*}:3
-"
-RDEPEND="
- ${DEPEND}
-"
-
-src_configure() {
- cat >> setup.cfg <<-EOF || die
- [build_ext]
- enable=load_extension
- use_system_sqlite_config=True
- EOF
-}
-
-python_test() {
- esetup.py build_test_extension
- cd "${T}" || die
- "${EPYTHON}" -m apsw.tests -v || die "Tests failed under ${EPYTHON}"
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/apsw/apsw-3.43.2.0.ebuild b/dev-python/apsw/apsw-3.43.2.0.ebuild
deleted file mode 100644
index 21c2e33d0999..000000000000
--- a/dev-python/apsw/apsw-3.43.2.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="APSW - Another Python SQLite Wrapper"
-HOMEPAGE="
- https://github.com/rogerbinns/apsw/
- https://pypi.org/project/apsw/
-"
-SRC_URI="
- https://github.com/rogerbinns/apsw/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="ZLIB"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
-IUSE="doc"
-
-DEPEND="
- >=dev-db/sqlite-${PV%.*}:3
-"
-RDEPEND="
- ${DEPEND}
-"
-
-src_configure() {
- cat >> setup.cfg <<-EOF || die
- [build_ext]
- enable=load_extension
- use_system_sqlite_config=True
- EOF
-}
-
-python_test() {
- esetup.py build_test_extension
- cd "${T}" || die
- "${EPYTHON}" -m apsw.tests -v || die "Tests failed under ${EPYTHON}"
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/apsw/apsw-3.44.0.0.ebuild b/dev-python/apsw/apsw-3.44.0.0.ebuild
deleted file mode 100644
index 21c2e33d0999..000000000000
--- a/dev-python/apsw/apsw-3.44.0.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="APSW - Another Python SQLite Wrapper"
-HOMEPAGE="
- https://github.com/rogerbinns/apsw/
- https://pypi.org/project/apsw/
-"
-SRC_URI="
- https://github.com/rogerbinns/apsw/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="ZLIB"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
-IUSE="doc"
-
-DEPEND="
- >=dev-db/sqlite-${PV%.*}:3
-"
-RDEPEND="
- ${DEPEND}
-"
-
-src_configure() {
- cat >> setup.cfg <<-EOF || die
- [build_ext]
- enable=load_extension
- use_system_sqlite_config=True
- EOF
-}
-
-python_test() {
- esetup.py build_test_extension
- cd "${T}" || die
- "${EPYTHON}" -m apsw.tests -v || die "Tests failed under ${EPYTHON}"
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/apsw/apsw-3.44.2.0.ebuild b/dev-python/apsw/apsw-3.44.2.0.ebuild
deleted file mode 100644
index 21c2e33d0999..000000000000
--- a/dev-python/apsw/apsw-3.44.2.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="APSW - Another Python SQLite Wrapper"
-HOMEPAGE="
- https://github.com/rogerbinns/apsw/
- https://pypi.org/project/apsw/
-"
-SRC_URI="
- https://github.com/rogerbinns/apsw/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="ZLIB"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~ppc64 ~x86"
-IUSE="doc"
-
-DEPEND="
- >=dev-db/sqlite-${PV%.*}:3
-"
-RDEPEND="
- ${DEPEND}
-"
-
-src_configure() {
- cat >> setup.cfg <<-EOF || die
- [build_ext]
- enable=load_extension
- use_system_sqlite_config=True
- EOF
-}
-
-python_test() {
- esetup.py build_test_extension
- cd "${T}" || die
- "${EPYTHON}" -m apsw.tests -v || die "Tests failed under ${EPYTHON}"
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/apsw/apsw-3.46.0.1.ebuild b/dev-python/apsw/apsw-3.46.0.1.ebuild
new file mode 100644
index 000000000000..ebff5eb704f6
--- /dev/null
+++ b/dev-python/apsw/apsw-3.46.0.1.ebuild
@@ -0,0 +1,51 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="APSW - Another Python SQLite Wrapper"
+HOMEPAGE="
+ https://github.com/rogerbinns/apsw/
+ https://pypi.org/project/apsw/
+"
+SRC_URI="
+ https://github.com/rogerbinns/apsw/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 x86"
+IUSE="doc"
+
+DEPEND="
+ >=dev-db/sqlite-${PV%.*}:3
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+src_configure() {
+ cat >> setup.cfg <<-EOF || die
+ [build_ext]
+ enable=load_extension
+ use_system_sqlite_config=True
+ EOF
+}
+
+python_test() {
+ esetup.py build_test_extension
+ cd "${T}" || die
+ "${EPYTHON}" -m apsw.tests -v || die "Tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( doc/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/argcomplete/Manifest b/dev-python/argcomplete/Manifest
index 98a177d7c6ee..13a5306894b2 100644
--- a/dev-python/argcomplete/Manifest
+++ b/dev-python/argcomplete/Manifest
@@ -1 +1 @@
-DIST argcomplete-3.1.6.tar.gz 79685 BLAKE2B df21d5a68a173a3c09b76d866adf949910ad775eb6c7d09d797308e87c128a6eebe173d89fc95aaa42bb87bf08e9c84aa217e8844c9fab5c680c83e07d0c7854 SHA512 7d625dfc49253281f692254a23e7fc4af155b97a7df55a0b33eba9655281702396a1119269cf80b5650885e00d75886fbdcbd85312e7ccac6d940edd6189d50e
+DIST argcomplete-3.4.0.tar.gz 82275 BLAKE2B 18b81aa5ee0c148a3b935f157f4c39b0ade79b36c8e3aa94aa7af8a424a08793a4cf661cb2431c201d5eead02e12c35b78d351310ff4e4e750bf7d7dc702ca89 SHA512 bd619a34edf1f1d05bdfab7fa830d1fc5375bc292dc95b95ddc4d3bfaced5728067e6ad0a901f672b7e0d5a550c10b00e0851f83cf9b358301c037da256a4a56
diff --git a/dev-python/argcomplete/argcomplete-3.1.6.ebuild b/dev-python/argcomplete/argcomplete-3.1.6.ebuild
deleted file mode 100644
index bc91e38c6e93..000000000000
--- a/dev-python/argcomplete/argcomplete-3.1.6.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Bash tab completion for argparse"
-HOMEPAGE="
- https://github.com/kislyuk/argcomplete/
- https://pypi.org/project/argcomplete/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-# pip is called as an external tool
-BDEPEND="
- test? (
- app-shells/fish
- app-shells/tcsh
- app-shells/zsh
- dev-python/pexpect[${PYTHON_USEDEP}]
- >=dev-python/pip-19
- )
-"
-
-PATCHES=(
- # increase test timeouts -- this is particularly necessary
- # for entry point tests because they read metadata of all installed
- # packages which can take real long on systems with lots of packages
- "${FILESDIR}/argcomplete-3.1.6-timeout.patch"
-)
-
-python_test() {
- "${EPYTHON}" test/test.py -v || die
-}
diff --git a/dev-python/argcomplete/argcomplete-3.4.0.ebuild b/dev-python/argcomplete/argcomplete-3.4.0.ebuild
new file mode 100644
index 000000000000..2ffbb53fef53
--- /dev/null
+++ b/dev-python/argcomplete/argcomplete-3.4.0.ebuild
@@ -0,0 +1,43 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Bash tab completion for argparse"
+HOMEPAGE="
+ https://github.com/kislyuk/argcomplete/
+ https://pypi.org/project/argcomplete/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# pip is called as an external tool
+BDEPEND="
+ test? (
+ app-shells/fish
+ app-shells/tcsh
+ app-shells/zsh
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pip-19
+ )
+"
+
+PATCHES=(
+ # increase test timeouts -- this is particularly necessary
+ # for entry point tests because they read metadata of all installed
+ # packages which can take real long on systems with lots of packages
+ "${FILESDIR}/argcomplete-3.1.6-timeout.patch"
+)
+
+python_test() {
+ "${EPYTHON}" test/test.py -v || die
+}
diff --git a/dev-python/argcomplete/files/argcomplete-3.1.6-timeout.patch b/dev-python/argcomplete/files/argcomplete-3.1.6-timeout.patch
index d8348818164d..0b2ac120402e 100644
--- a/dev-python/argcomplete/files/argcomplete-3.1.6-timeout.patch
+++ b/dev-python/argcomplete/files/argcomplete-3.1.6-timeout.patch
@@ -2,10 +2,7 @@ diff --git a/test/test.py b/test/test.py
index c89912a..eedfe36 100755
--- a/test/test.py
+++ b/test/test.py
-@@ -1359,7 +1359,7 @@ class TestBashGlobal(TestBash):
- if sys.platform == "darwin":
- # Work around https://stackoverflow.com/questions/24257803
- command += ' --install-option="--prefix="'
+@@ -1362,4 +1362,4 @@ class TestBashGlobal(TestBash):
- install_output = self.sh.run_command(command)
+ install_output = self.sh.run_command(command, timeout=300)
self.assertEqual(self.sh.run_command("echo $?"), "0\r\n", install_output)
diff --git a/dev-python/argh/Manifest b/dev-python/argh/Manifest
index ec33090ccbdd..611118f34f4b 100644
--- a/dev-python/argh/Manifest
+++ b/dev-python/argh/Manifest
@@ -1 +1,2 @@
-DIST argh-0.30.4.tar.gz 62618 BLAKE2B e95ee9219d2b8079e4b9548f68811832ed9ca699c1dcfeabcf31a9a0c3fd35c107896f088a64efe430347fefd1424345753bc4e0341155a92d99a5327f4a137d SHA512 6a17fcaef3a1a400426cc53339e07583734b0b68ce9202a7b3655f5cababa495aa5269f66cde2d0b2217874ddb730bf7d1c7636dd915e4e778058399b9b9a44c
+DIST argh-0.31.2.tar.gz 57200 BLAKE2B e5ba440d08d8f5655d237d61ab65fef02296d28d0562945e56dfa6598deafa6cc288d88e625c4acabfa2eeda359f970679db1e7424d77e0278b65fbe15c8b499 SHA512 2e0d926cae88d6830706f631aa2220654777dcc1a4263af889064d4c805616fce368c90e871a393490b9590f82759f56b2434afeba468e7720f99d85c8b75dd1
+DIST argh-0.31.3.tar.gz 57570 BLAKE2B cb88813701f42657a8e89cab46be367c751ae59cc05d5eba9cebd77d375a73413b33e76d48bf84b42559fcf25f3d4b87473b124346fd4f3ba5433e60204b06a1 SHA512 c3335f975e612332ee9e3479f4517f356bacaad77f0df1e8660d5306257a8e32b139cdaa49c2c4bfa234f32e39e324182de997313c43ea4f45f2e11de7e2a24c
diff --git a/dev-python/argh/argh-0.30.4.ebuild b/dev-python/argh/argh-0.30.4.ebuild
deleted file mode 100644
index 982f7e9655a2..000000000000
--- a/dev-python/argh/argh-0.30.4.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A simple argparse wrapper"
-HOMEPAGE="
- https://pythonhosted.org/argh/
- https://github.com/neithere/argh/
- https://pypi.org/project/argh/
-"
-
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-LICENSE="LGPL-3"
-
-BDEPEND="
- test? (
- dev-python/iocapture[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/argh/argh-0.31.2.ebuild b/dev-python/argh/argh-0.31.2.ebuild
new file mode 100644
index 000000000000..0c53e95bef20
--- /dev/null
+++ b/dev-python/argh/argh-0.31.2.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A simple argparse wrapper"
+HOMEPAGE="
+ https://pythonhosted.org/argh/
+ https://github.com/neithere/argh/
+ https://pypi.org/project/argh/
+"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ test? (
+ dev-python/iocapture[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/neithere/argh/commit/cdb70d5ac7d8a5a5dff3c55100e5f67b68b26826
+ "${FILESDIR}/${P}-py313.patch"
+)
diff --git a/dev-python/argh/argh-0.31.3.ebuild b/dev-python/argh/argh-0.31.3.ebuild
new file mode 100644
index 000000000000..65df10cd74ac
--- /dev/null
+++ b/dev-python/argh/argh-0.31.3.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A simple argparse wrapper"
+HOMEPAGE="
+ https://pythonhosted.org/argh/
+ https://github.com/neithere/argh/
+ https://pypi.org/project/argh/
+"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/iocapture[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/argh/files/argh-0.31.2-py313.patch b/dev-python/argh/files/argh-0.31.2-py313.patch
new file mode 100644
index 000000000000..4049fedc0d0d
--- /dev/null
+++ b/dev-python/argh/files/argh-0.31.2-py313.patch
@@ -0,0 +1,164 @@
+From cdb70d5ac7d8a5a5dff3c55100e5f67b68b26826 Mon Sep 17 00:00:00 2001
+From: Andy Mikhaylenko <neithere@gmail.com>
+Date: Sun, 16 Jun 2024 22:38:21 +0200
+Subject: [PATCH] fix: tests under Python 3.13 (fixes #228)
+
+diff --git a/tests/test_integration.py b/tests/test_integration.py
+index f863386..258a148 100644
+--- a/tests/test_integration.py
++++ b/tests/test_integration.py
+@@ -724,18 +724,34 @@ def remind(
+ help_normalised = re.sub(r"\s+", " ", parser.format_help())
+
+ assert "name 'Basil'" in help_normalised
+- assert "-t TASK, --task TASK 'hang the Moose'" in help_normalised
+- assert (
+- "-r REASON, --reason REASON 'there are creatures living in it'"
+- in help_normalised
+- )
+
+- # explicit help message is not obscured by the implicit one
+- # but is still present
+- assert (
+- "-n NOTE, --note NOTE why is it a remarkable animal? "
+- "(default: 'it can speak English')"
+- ) in help_normalised
++ # argh#228 — argparse in Python before 3.13 duplicated the placeholder in help
++ if sys.version_info < (3, 13):
++ assert "-t TASK, --task TASK 'hang the Moose'" in help_normalised
++ assert (
++ "-r REASON, --reason REASON 'there are creatures living in it'"
++ in help_normalised
++ )
++
++ # explicit help message is not obscured by the implicit one
++ # but is still present
++ assert (
++ "-n NOTE, --note NOTE why is it a remarkable animal? "
++ "(default: 'it can speak English')"
++ ) in help_normalised
++ else:
++ assert "-t, --task TASK 'hang the Moose'" in help_normalised
++ assert (
++ "-r, --reason REASON 'there are creatures living in it'"
++ in help_normalised
++ )
++
++ # explicit help message is not obscured by the implicit one
++ # but is still present
++ assert (
++ "-n, --note NOTE why is it a remarkable animal? "
++ "(default: 'it can speak English')"
++ ) in help_normalised
+
+
+ def test_default_arg_values_in_help__regression():
+@@ -750,9 +766,16 @@ def foo(*, bar=""):
+ # doesn't break
+ parser.format_help()
+
++ # argh#228 — argparse in Python before 3.13 duplicated the placeholder in help
++ if sys.version_info < (3, 13):
++ expected_line = "-b BAR, --bar BAR ''"
++ # note the empty str repr ^^^
++ else:
++ expected_line = "-b, --bar BAR ''"
++ # note the empty str repr ^^^
++
+ # now check details
+- assert "-b BAR, --bar BAR ''" in parser.format_help()
+- # note the empty str repr ^^^
++ assert expected_line in parser.format_help()
+
+
+ def test_help_formatting_is_preserved():
+@@ -868,6 +891,19 @@ def second_func():
+
+ run(parser, "first-func --help", exit=True)
+ captured = capsys.readouterr()
++
++ # argh#228 — argparse in Python before 3.13 duplicated the placeholder in help
++ if sys.version_info < (3, 13):
++ arg_help_lines = (
++ " -h, --help show this help message and exit\n"
++ " -f FOO, --foo FOO 123"
++ )
++ else:
++ arg_help_lines = (
++ " -h, --help show this help message and exit\n"
++ " -f, --foo FOO 123"
++ )
++
+ assert (
+ captured.out
+ == unindent(
+@@ -877,8 +913,7 @@ def second_func():
+ Owl stretching time
+
+ {HELP_OPTIONS_LABEL}:
+- -h, --help show this help message and exit
+- -f FOO, --foo FOO 123
++ {arg_help_lines}
+ """
+ )[1:]
+ )
+@@ -997,6 +1032,19 @@ def second_func():
+
+ run(parser, "my-group first-func --help", exit=True)
+ captured = capsys.readouterr()
++
++ # argh#228 — argparse in Python before 3.13 duplicated the placeholder in help
++ if sys.version_info < (3, 13):
++ arg_help_lines = (
++ " -h, --help show this help message and exit\n"
++ " -f FOO, --foo FOO 123"
++ )
++ else:
++ arg_help_lines = (
++ " -h, --help show this help message and exit\n"
++ " -f, --foo FOO 123"
++ )
++
+ assert (
+ captured.out
+ == unindent(
+@@ -1006,8 +1054,7 @@ def second_func():
+ Owl stretching time
+
+ {HELP_OPTIONS_LABEL}:
+- -h, --help show this help message and exit
+- -f FOO, --foo FOO 123
++ {arg_help_lines}
+ """
+ )[1:]
+ )
+@@ -1079,6 +1126,19 @@ def second_func():
+
+ run(parser, "first-func --help", exit=True)
+ captured = capsys.readouterr()
++
++ # argh#228 — argparse in Python before 3.13 duplicated the placeholder in help
++ if sys.version_info < (3, 13):
++ arg_help_lines = (
++ " -h, --help show this help message and exit\n"
++ " -f FOO, --foo FOO 123"
++ )
++ else:
++ arg_help_lines = (
++ " -h, --help show this help message and exit\n"
++ " -f, --foo FOO 123"
++ )
++
+ assert (
+ captured.out
+ == unindent(
+@@ -1088,8 +1148,7 @@ def second_func():
+ func description override
+
+ {HELP_OPTIONS_LABEL}:
+- -h, --help show this help message and exit
+- -f FOO, --foo FOO 123
++ {arg_help_lines}
+ """
+ )[1:]
+ )
diff --git a/dev-python/argon2-cffi-bindings/argon2-cffi-bindings-21.2.0-r1.ebuild b/dev-python/argon2-cffi-bindings/argon2-cffi-bindings-21.2.0-r1.ebuild
index 8442341fe251..942289a1ac06 100644
--- a/dev-python/argon2-cffi-bindings/argon2-cffi-bindings-21.2.0-r1.ebuild
+++ b/dev-python/argon2-cffi-bindings/argon2-cffi-bindings-21.2.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/argon2-cffi/argon2-cffi-23.1.0.ebuild b/dev-python/argon2-cffi/argon2-cffi-23.1.0.ebuild
index f867f7623807..7805d566e681 100644
--- a/dev-python/argon2-cffi/argon2-cffi-23.1.0.ebuild
+++ b/dev-python/argon2-cffi/argon2-cffi-23.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/argparse-addons/Manifest b/dev-python/argparse-addons/Manifest
new file mode 100644
index 000000000000..fafcc63b81b8
--- /dev/null
+++ b/dev-python/argparse-addons/Manifest
@@ -0,0 +1 @@
+DIST argparse_addons-0.12.0.tar.gz 3780 BLAKE2B 5d77203ea93a3488f64ecba28714956a73ad8813d5635eb169e21b0198a5ac2645156208fc64730fbf5f1edd1ce08b5d15494079050851293b7364892e8c481a SHA512 31cdbf8d6a227068559d9c7cfb0e135851db40d029020c7825787d985b2de2aeb460d7ff87d09eea4c6ddc29b16000c43944b6ad754e877b45a217186eb34967
diff --git a/dev-python/argparse-addons/argparse-addons-0.12.0.ebuild b/dev-python/argparse-addons/argparse-addons-0.12.0.ebuild
new file mode 100644
index 000000000000..7d8c80d0c666
--- /dev/null
+++ b/dev-python/argparse-addons/argparse-addons-0.12.0.ebuild
@@ -0,0 +1,21 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Additional Python argparse types and actions"
+HOMEPAGE="
+ https://pypi.org/project/argparse-addons/
+ https://github.com/eerimoq/argparse_addons/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+distutils_enable_tests pytest
diff --git a/dev-python/argparse-addons/metadata.xml b/dev-python/argparse-addons/metadata.xml
new file mode 100644
index 000000000000..19d29db79c9c
--- /dev/null
+++ b/dev-python/argparse-addons/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">argparse-addons</remote-id>
+ <remote-id type="github">eerimoq/argparse_addons</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/argparse-manpage/Manifest b/dev-python/argparse-manpage/Manifest
index 13ed6c96deff..18d126407ac5 100644
--- a/dev-python/argparse-manpage/Manifest
+++ b/dev-python/argparse-manpage/Manifest
@@ -1,3 +1,2 @@
-DIST argparse-manpage-4.3.gh.tar.gz 54479 BLAKE2B de6b6a5c449eebbd4aae207cfeadc6b16baf33e4ed0b6cc886921ee2e2dcdb48ae25f160dd6679da26fc6566fa483a864bc6dd4a0af800b853452405007f58c0 SHA512 9541ddcbddbd12c2fd0d72cc229d453d5d1d25eb915123c26b9040c6a97db6a72bb4002ada5a86620e9caff7c9bc588f1ee7d0c8241b6369cfb28b0271afdbc3
-DIST argparse-manpage-4.4.gh.tar.gz 54603 BLAKE2B 2068e5eb8cf6eecdc4128e0cbb47927577f636178a38ae9ed18cb6aa42baa1dc814b95cb67b3299bd62fc1a63bc25db53cf844b24261b1e2bef9b3dd649cad11 SHA512 d2e1978fec14b6e13d1004a1ae779829c4a584f6fc4e10bd3f5651f72095a1fe010856fec26f6a504c8ce47c95b0124a427f2853c4936987c347ecfb42d28ac1
DIST argparse-manpage-4.5.gh.tar.gz 54783 BLAKE2B a348ad06990126965b48c64db209f13c91d68329fba57e4287b1a2ac7c246a25aedc25b70bfc01fd19b72c5700a67193da4ef47106a5b8ea863edf859ea07ecd SHA512 b9b166d2469d0fc6c9f6d1112bef553c1de32d1f558be4ef4f9b739b94d83acba2712eb9d324d9f3437bf421b833336c0eab34061ccd7b3cf810591705078bf2
+DIST argparse-manpage-4.6.gh.tar.gz 55498 BLAKE2B a77629d1eeb49dd069789f1e435a9c0567d45912689c10796f75e8641fbe13d10603a1bf562f18248b443a8951575a4b98a2e670fd0a941b4235e9ac5fec6eb9 SHA512 d8036a8657f91a2b5a0e6eaf62e546f2ccf51563fb0327396851bbf6bb661ed7812a43cc215438b3466a821ee2276305e7136d5adbe32f18b50dd05b41f26396
diff --git a/dev-python/argparse-manpage/argparse-manpage-4.3.ebuild b/dev-python/argparse-manpage/argparse-manpage-4.3.ebuild
deleted file mode 100644
index 887c81a5682f..000000000000
--- a/dev-python/argparse-manpage/argparse-manpage-4.3.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Automatically build man-pages for your Python project"
-HOMEPAGE="
- https://github.com/praiskup/argparse-manpage/
- https://pypi.org/project/argparse-manpage/
-"
-SRC_URI="
- https://github.com/praiskup/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc ~sparc ~x86"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{9..10})
-"
-BDEPEND="
- test? (
- dev-python/pip[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x COLUMNS=80
- epytest
-}
diff --git a/dev-python/argparse-manpage/argparse-manpage-4.4.ebuild b/dev-python/argparse-manpage/argparse-manpage-4.4.ebuild
deleted file mode 100644
index 0c9b3e3aa2cd..000000000000
--- a/dev-python/argparse-manpage/argparse-manpage-4.4.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Automatically build man-pages for your Python project"
-HOMEPAGE="
- https://github.com/praiskup/argparse-manpage/
- https://pypi.org/project/argparse-manpage/
-"
-SRC_URI="
- https://github.com/praiskup/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc ~sparc ~x86"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- test? (
- dev-python/pip[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x COLUMNS=80
- epytest
-}
diff --git a/dev-python/argparse-manpage/argparse-manpage-4.5.ebuild b/dev-python/argparse-manpage/argparse-manpage-4.5.ebuild
index 0c9b3e3aa2cd..e8b2a2f09189 100644
--- a/dev-python/argparse-manpage/argparse-manpage-4.5.ebuild
+++ b/dev-python/argparse-manpage/argparse-manpage-4.5.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc ~sparc ~x86"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
RDEPEND="
$(python_gen_cond_dep '
diff --git a/dev-python/argparse-manpage/argparse-manpage-4.6.ebuild b/dev-python/argparse-manpage/argparse-manpage-4.6.ebuild
new file mode 100644
index 000000000000..42bf5b24528a
--- /dev/null
+++ b/dev-python/argparse-manpage/argparse-manpage-4.6.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Automatically build man-pages for your Python project"
+HOMEPAGE="
+ https://github.com/praiskup/argparse-manpage/
+ https://pypi.org/project/argparse-manpage/
+"
+SRC_URI="
+ https://github.com/praiskup/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/pip[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x COLUMNS=80
+ epytest
+}
diff --git a/dev-python/arrow/arrow-1.3.0.ebuild b/dev-python/arrow/arrow-1.3.0.ebuild
index f300a27331d9..ca6dcb9a7e34 100644
--- a/dev-python/arrow/arrow-1.3.0.ebuild
+++ b/dev-python/arrow/arrow-1.3.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/arsenic/arsenic-21.8.ebuild b/dev-python/arsenic/arsenic-21.8.ebuild
index 48916bf7fbb5..d662465db14e 100644
--- a/dev-python/arsenic/arsenic-21.8.ebuild
+++ b/dev-python/arsenic/arsenic-21.8.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1 pypi
diff --git a/dev-python/asgiref/Manifest b/dev-python/asgiref/Manifest
index d686e3ce3a54..e1b75b3f0bf8 100644
--- a/dev-python/asgiref/Manifest
+++ b/dev-python/asgiref/Manifest
@@ -1 +1 @@
-DIST asgiref-3.7.2.tar.gz 33393 BLAKE2B b5927a141772a2c0bd4c9354692558c766981a2d7b821122eacb7ee6b59aad86925dc2afb179ff9a3823a65cf17faee89bda5560d68a9ae6d82f9ad1cb31d7b2 SHA512 578ccb54e25869ac9bc7bcd59819d4fc056fdb89a27ec3d7c5b74608984c9d18b41f0b281a3a67bf6b56ad85a7009e336bbdd4a76e2b4a0c8a26c0dfef2687a8
+DIST asgiref-3.8.1.tar.gz 35186 BLAKE2B ce18c03ad3de054375eb5c97792bfdb6b0ae19f8769f2968892d805d3c54c2d4e7dd7b05036bd786a828d0537fcebe983b46d38bdfc17d09be7e924ee3462d5c SHA512 3ef9ac2fcdce069cde96467abaa4a820c4eac19d40ce72e1afd0ca08279c00053a7e107966d766651def33a72a19c11559849b1032e89d62f544156590ef801d
diff --git a/dev-python/asgiref/asgiref-3.7.2.ebuild b/dev-python/asgiref/asgiref-3.7.2.ebuild
deleted file mode 100644
index ea918929c177..000000000000
--- a/dev-python/asgiref/asgiref-3.7.2.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="ASGI utilities (successor to WSGI)"
-HOMEPAGE="
- https://asgi.readthedocs.io/en/latest/
- https://github.com/django/asgiref/
- https://pypi.org/project/asgiref/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.{9..10})
-"
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/asgiref/asgiref-3.8.1.ebuild b/dev-python/asgiref/asgiref-3.8.1.ebuild
new file mode 100644
index 000000000000..29be02c5799b
--- /dev/null
+++ b/dev-python/asgiref/asgiref-3.8.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="ASGI utilities (successor to WSGI)"
+HOMEPAGE="
+ https://asgi.readthedocs.io/en/latest/
+ https://github.com/django/asgiref/
+ https://pypi.org/project/asgiref/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/asn1crypto/asn1crypto-1.5.1_p20231012.ebuild b/dev-python/asn1crypto/asn1crypto-1.5.1_p20231012.ebuild
index c982d04dcbe9..ca0136622d82 100644
--- a/dev-python/asn1crypto/asn1crypto-1.5.1_p20231012.ebuild
+++ b/dev-python/asn1crypto/asn1crypto-1.5.1_p20231012.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1
diff --git a/dev-python/asteval/Manifest b/dev-python/asteval/Manifest
index 87e55d9fc935..7f7bb9218f83 100644
--- a/dev-python/asteval/Manifest
+++ b/dev-python/asteval/Manifest
@@ -1 +1,3 @@
-DIST asteval-0.9.31.gh.tar.gz 54667 BLAKE2B 9bb4ac81118d5fdf2b7437cb64a571e91f44e34ea17ab9eb55201f9edf7c18e7736b7dbdaf2bdac3e83e28c55fe3f869f01ac3ab9d41b15c043de52227c064f8 SHA512 af70363eba0a08dd91d05faf2ac83020f9e89b927dba8752e5bf00ad3b887cf7b57cdf4c64b231d484d55796a9d203af4fb9860ceac3dbd5d8855baf7ffb1417
+DIST asteval-0.9.33.gh.tar.gz 54562 BLAKE2B d9745db2625da974ab51fe01150caf314772a92774c9cc5cb656811edfc80754e1708a296df461812dae949a208f3afd8acd0dff55612ab6d470f03c7035a6dc SHA512 fe817a5f8f208a06f1bf9521ccdda852ecb21cb8a15e2496c9acbc16a2260cd363205d02d34b2296d76a21755a5470d999448ee788dfec4d66ac8f0062d5c40d
+DIST asteval-1.0.0.gh.tar.gz 45214 BLAKE2B 8379f6b5e09f12a3a38edb6970689c8eec52f06cf09c54a4982f9af614d64ea20cfdf544a3a54d5156390c2f0938d57637eab86ba0f9b8a67511ee06fe3e9f9a SHA512 f88a4484528c36a5406ac58fad1cde9f06d73cdf841347ca2fdbfe38ce42d6a502bbd3c843321dbe224fe57982cec535cee81cc2de9bda4f9b68fd2276a0c99d
+DIST asteval-1.0.1.gh.tar.gz 45620 BLAKE2B ffa428e7a8c1ad13cef9872daddf50bf64816685c771832b5d61acfcd573d18f0ddf6212e2483deb67852d8f618c9dcce6687b38d3448dc374f1d373970d7b24 SHA512 f2af1f501446a62608e996f5633ab6f772c69c5177cac3ee255d79262728ce305d2a75402fdb1c34519ba67efbb4f261c3a959d7333adcaf819ac22e3d56709e
diff --git a/dev-python/asteval/asteval-0.9.31.ebuild b/dev-python/asteval/asteval-0.9.31.ebuild
deleted file mode 100644
index 9ce6c80225a3..000000000000
--- a/dev-python/asteval/asteval-0.9.31.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Evaluator of Python expression using ast module"
-HOMEPAGE="
- https://newville.github.io/asteval/
- https://github.com/newville/asteval/
- https://pypi.org/project/asteval/
-"
-SRC_URI="
- https://github.com/newville/asteval/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
- epytest -o addopts=
-}
diff --git a/dev-python/asteval/asteval-0.9.33.ebuild b/dev-python/asteval/asteval-0.9.33.ebuild
new file mode 100644
index 000000000000..5162e3ac4666
--- /dev/null
+++ b/dev-python/asteval/asteval-0.9.33.ebuild
@@ -0,0 +1,36 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Evaluator of Python expression using ast module"
+HOMEPAGE="
+ https://lmfit.github.io/asteval/
+ https://github.com/lmfit/asteval/
+ https://pypi.org/project/asteval/
+"
+SRC_URI="
+ https://github.com/lmfit/asteval/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/asteval/asteval-1.0.0.ebuild b/dev-python/asteval/asteval-1.0.0.ebuild
new file mode 100644
index 000000000000..5162e3ac4666
--- /dev/null
+++ b/dev-python/asteval/asteval-1.0.0.ebuild
@@ -0,0 +1,36 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Evaluator of Python expression using ast module"
+HOMEPAGE="
+ https://lmfit.github.io/asteval/
+ https://github.com/lmfit/asteval/
+ https://pypi.org/project/asteval/
+"
+SRC_URI="
+ https://github.com/lmfit/asteval/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/asteval/asteval-1.0.1.ebuild b/dev-python/asteval/asteval-1.0.1.ebuild
new file mode 100644
index 000000000000..5162e3ac4666
--- /dev/null
+++ b/dev-python/asteval/asteval-1.0.1.ebuild
@@ -0,0 +1,36 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Evaluator of Python expression using ast module"
+HOMEPAGE="
+ https://lmfit.github.io/asteval/
+ https://github.com/lmfit/asteval/
+ https://pypi.org/project/asteval/
+"
+SRC_URI="
+ https://github.com/lmfit/asteval/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/asteval/metadata.xml b/dev-python/asteval/metadata.xml
index 2a634211c954..d11d5f0ef153 100644
--- a/dev-python/asteval/metadata.xml
+++ b/dev-python/asteval/metadata.xml
@@ -1,15 +1,12 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>pacho@gentoo.org</email>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
<upstream>
- <remote-id type="github">newville/asteval</remote-id>
+ <remote-id type="github">lmfit/asteval</remote-id>
<remote-id type="pypi">asteval</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/astor/astor-0.8.1-r1.ebuild b/dev-python/astor/astor-0.8.1-r1.ebuild
index c3ee069fdfc4..9133b6b4e67c 100644
--- a/dev-python/astor/astor-0.8.1-r1.ebuild
+++ b/dev-python/astor/astor-0.8.1-r1.ebuild
@@ -1,17 +1,17 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="Read/rewrite/write Python ASTs"
HOMEPAGE="
- https://pypi.org/project/astor
- https://github.com/berkerpeksag/astor
+ https://pypi.org/project/astor/
+ https://github.com/berkerpeksag/astor/
"
LICENSE="BSD"
diff --git a/dev-python/astroid/Manifest b/dev-python/astroid/Manifest
index a1f8fb9d1d4e..5f88a510735e 100644
--- a/dev-python/astroid/Manifest
+++ b/dev-python/astroid/Manifest
@@ -1 +1,3 @@
-DIST astroid-3.0.1.gh.tar.gz 461593 BLAKE2B de3458bcd9ba111020132e89b6e2fdf18b81b82cba68c986e84af91c910e6c70e7d13ff024b7947f3fa08e2491ba211a77a35421b3d5cd184b94e6a833c0da42 SHA512 2c8a4cf22959aef1eb9510430bcc55d00fcda76d022575786c9a59c093fe4196b67c0b9401f9226595a4cbf1fb9444bdfbb9ac2d83c115ec1d7d46cb7dd75dbd
+DIST astroid-3.2.2.gh.tar.gz 465306 BLAKE2B f5bda1377eb825f4166804473eab592d07c6353295dca01517c3facf783ec71f281a27f6344699097784dde7315f794a62cbfae86879b2bbe446fb1191d40995 SHA512 1330f557664b5066309879b8bf05e29102000a6e08c63d94a7e7033f1e2295a3a9c3114f3587b9867f71b49e11428036438e4f22352498494f914f7c9f60d4ea
+DIST astroid-3.2.3.gh.tar.gz 465447 BLAKE2B d41d206e3b362316ba71f109729fb26ff6b4f63719a0337f78545ce58fabaaa73a3ee62ff6bffa9c4a2f10e6e10718bdc17a38ecc319bce443695a60628ac315 SHA512 d9e8b85401598c0ffd3a27c37c4133bc9bba8436cdeb3dadc9a2337ebbf731c062451cdc5c9cf72a768ecf98253051ac012cfdb08084009a9c4a9043acfeabbc
+DIST astroid-3.2.4.gh.tar.gz 465788 BLAKE2B 745a860b7bacb45cb86e9b232fe3a37cdac40cb471b00832a7dd7da4c3374760749cebe8c8688748e750cc3639554515a7a9e24f5f4d2ebac10af2c906fa04a9 SHA512 e48289794f67cf53bb8a2dcf357c1e892140a0a625c2e19601cf5ad579aaa33a94f0e052915fa6e854bc0a2e626f41b2d13773aa2b2af2412efeb33d030ed2b6
diff --git a/dev-python/astroid/astroid-3.0.1.ebuild b/dev-python/astroid/astroid-3.0.1.ebuild
deleted file mode 100644
index 323e3b100ff6..000000000000
--- a/dev-python/astroid/astroid-3.0.1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Abstract Syntax Tree for logilab packages"
-HOMEPAGE="
- https://github.com/pylint-dev/astroid/
- https://pypi.org/project/astroid/
-"
-SRC_URI="
- https://github.com/pylint-dev/astroid/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-# Version specified in pyproject.toml
-RDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/attrs[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.17.0[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/regex[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # no clue why they're broken
- tests/test_modutils.py::GetModulePartTest::test_known_values_get_builtin_module_part
- tests/test_regrtest.py::NonRegressionTests::test_numpy_distutils
- # pydantic-2?
- tests/brain/test_dataclasses.py::test_pydantic_field
- # requires urllib3 with bundled six (skipped with urllib3>=2)
- tests/test_modutils.py::test_file_info_from_modpath__SixMetaPathImporter
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/astroid/astroid-3.2.2-r1.ebuild b/dev-python/astroid/astroid-3.2.2-r1.ebuild
new file mode 100644
index 000000000000..a3d9b680035d
--- /dev/null
+++ b/dev-python/astroid/astroid-3.2.2-r1.ebuild
@@ -0,0 +1,86 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Abstract Syntax Tree for logilab packages"
+HOMEPAGE="
+ https://github.com/pylint-dev/astroid/
+ https://pypi.org/project/astroid/
+"
+SRC_URI="
+ https://github.com/pylint-dev/astroid/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# Version specified in pyproject.toml
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# dev-python/regex isn't available for pypy
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/attrs[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.17.0[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/regex[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+PATCHES=(
+ # https://github.com/pylint-dev/astroid/pull/2424 (rebased)
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # no clue why they're broken
+ tests/test_modutils.py::GetModulePartTest::test_known_values_get_builtin_module_part
+ tests/test_regrtest.py::NonRegressionTests::test_numpy_distutils
+ # pydantic-2?
+ tests/brain/test_dataclasses.py::test_pydantic_field
+ # requires urllib3 with bundled six (skipped with urllib3>=2)
+ tests/test_modutils.py::test_file_info_from_modpath__SixMetaPathImporter
+ # hangs
+ tests/test_nodes.py::AsStringTest::test_recursion_error_trapped
+ # TODO
+ tests/test_builder.py::BuilderTest::test_data_build_error_filename
+ # numpy-2 (https://github.com/pylint-dev/astroid/issues/2442)
+ tests/brain/numpy/test_core_einsumfunc.py::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_fromnumeric.py::BrainNumpyCoreFromNumericTest::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_multiarray.py::BrainNumpyCoreMultiarrayTest::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_numerictypes.py::NumpyBrainCoreNumericTypesTest::test_datetime_astype_return
+ tests/brain/numpy/test_core_numerictypes.py::NumpyBrainCoreNumericTypesTest::test_generic_types_are_subscriptables
+ tests/brain/numpy/test_core_umath.py::NumpyBrainCoreUmathTest::test_numpy_core_umath_functions_return_type
+ tests/brain/numpy/test_core_umath.py::NumpyBrainCoreUmathTest::test_numpy_core_umath_functions_return_type_tuple
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ tests/test_transforms.py::TestTransforms::test_transform_aborted_if_recursion_limited
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/astroid/astroid-3.2.2.ebuild b/dev-python/astroid/astroid-3.2.2.ebuild
new file mode 100644
index 000000000000..53acd935d74f
--- /dev/null
+++ b/dev-python/astroid/astroid-3.2.2.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+# py3.13: https://github.com/pylint-dev/astroid/pull/2424
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Abstract Syntax Tree for logilab packages"
+HOMEPAGE="
+ https://github.com/pylint-dev/astroid/
+ https://pypi.org/project/astroid/
+"
+SRC_URI="
+ https://github.com/pylint-dev/astroid/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+# Version specified in pyproject.toml
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# dev-python/regex isn't available for pypy
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/attrs[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.17.0[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/regex[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # no clue why they're broken
+ tests/test_modutils.py::GetModulePartTest::test_known_values_get_builtin_module_part
+ tests/test_regrtest.py::NonRegressionTests::test_numpy_distutils
+ # pydantic-2?
+ tests/brain/test_dataclasses.py::test_pydantic_field
+ # requires urllib3 with bundled six (skipped with urllib3>=2)
+ tests/test_modutils.py::test_file_info_from_modpath__SixMetaPathImporter
+ # hangs
+ tests/test_nodes.py::AsStringTest::test_recursion_error_trapped
+ # TODO
+ tests/test_builder.py::BuilderTest::test_data_build_error_filename
+ # numpy-2 (https://github.com/pylint-dev/astroid/issues/2442)
+ tests/brain/numpy/test_core_einsumfunc.py::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_fromnumeric.py::BrainNumpyCoreFromNumericTest::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_multiarray.py::BrainNumpyCoreMultiarrayTest::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_numerictypes.py::NumpyBrainCoreNumericTypesTest::test_datetime_astype_return
+ tests/brain/numpy/test_core_numerictypes.py::NumpyBrainCoreNumericTypesTest::test_generic_types_are_subscriptables
+ tests/brain/numpy/test_core_umath.py::NumpyBrainCoreUmathTest::test_numpy_core_umath_functions_return_type
+ tests/brain/numpy/test_core_umath.py::NumpyBrainCoreUmathTest::test_numpy_core_umath_functions_return_type_tuple
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ tests/test_transforms.py::TestTransforms::test_transform_aborted_if_recursion_limited
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/astroid/astroid-3.2.3.ebuild b/dev-python/astroid/astroid-3.2.3.ebuild
new file mode 100644
index 000000000000..6ae9dff68c2a
--- /dev/null
+++ b/dev-python/astroid/astroid-3.2.3.ebuild
@@ -0,0 +1,86 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Abstract Syntax Tree for logilab packages"
+HOMEPAGE="
+ https://github.com/pylint-dev/astroid/
+ https://pypi.org/project/astroid/
+"
+SRC_URI="
+ https://github.com/pylint-dev/astroid/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# Version specified in pyproject.toml
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# dev-python/regex isn't available for pypy
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/attrs[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.17.0[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/regex[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+PATCHES=(
+ # https://github.com/pylint-dev/astroid/pull/2424 (rebased)
+ "${FILESDIR}/${PN}-3.2.2-py313.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # no clue why they're broken
+ tests/test_modutils.py::GetModulePartTest::test_known_values_get_builtin_module_part
+ tests/test_regrtest.py::NonRegressionTests::test_numpy_distutils
+ # pydantic-2?
+ tests/brain/test_dataclasses.py::test_pydantic_field
+ # requires urllib3 with bundled six (skipped with urllib3>=2)
+ tests/test_modutils.py::test_file_info_from_modpath__SixMetaPathImporter
+ # hangs
+ tests/test_nodes.py::AsStringTest::test_recursion_error_trapped
+ # TODO
+ tests/test_builder.py::BuilderTest::test_data_build_error_filename
+ # numpy-2 (https://github.com/pylint-dev/astroid/issues/2442)
+ tests/brain/numpy/test_core_einsumfunc.py::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_fromnumeric.py::BrainNumpyCoreFromNumericTest::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_multiarray.py::BrainNumpyCoreMultiarrayTest::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_numerictypes.py::NumpyBrainCoreNumericTypesTest::test_datetime_astype_return
+ tests/brain/numpy/test_core_numerictypes.py::NumpyBrainCoreNumericTypesTest::test_generic_types_are_subscriptables
+ tests/brain/numpy/test_core_umath.py::NumpyBrainCoreUmathTest::test_numpy_core_umath_functions_return_type
+ tests/brain/numpy/test_core_umath.py::NumpyBrainCoreUmathTest::test_numpy_core_umath_functions_return_type_tuple
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ tests/test_transforms.py::TestTransforms::test_transform_aborted_if_recursion_limited
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/astroid/astroid-3.2.4.ebuild b/dev-python/astroid/astroid-3.2.4.ebuild
new file mode 100644
index 000000000000..00745e147771
--- /dev/null
+++ b/dev-python/astroid/astroid-3.2.4.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Abstract Syntax Tree for logilab packages"
+HOMEPAGE="
+ https://github.com/pylint-dev/astroid/
+ https://pypi.org/project/astroid/
+"
+SRC_URI="
+ https://github.com/pylint-dev/astroid/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# Version specified in pyproject.toml
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# dev-python/regex isn't available for pypy
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/attrs[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.17.0[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/regex[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+PATCHES=(
+ # https://github.com/pylint-dev/astroid/pull/2424 (rebased)
+ "${FILESDIR}/${PN}-3.2.2-py313.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # no clue why they're broken
+ tests/test_modutils.py::GetModulePartTest::test_known_values_get_builtin_module_part
+ tests/test_regrtest.py::NonRegressionTests::test_numpy_distutils
+ # pydantic-2?
+ tests/brain/test_dataclasses.py::test_pydantic_field
+ # requires urllib3 with bundled six (skipped with urllib3>=2)
+ tests/test_modutils.py::test_file_info_from_modpath__SixMetaPathImporter
+ # hangs
+ tests/test_nodes.py::AsStringTest::test_recursion_error_trapped
+ # TODO
+ tests/test_builder.py::BuilderTest::test_data_build_error_filename
+ # numpy-2 (https://github.com/pylint-dev/astroid/issues/2442)
+ tests/brain/numpy/test_core_einsumfunc.py::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_fromnumeric.py::BrainNumpyCoreFromNumericTest::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_multiarray.py::BrainNumpyCoreMultiarrayTest::test_numpy_function_calls_inferred_as_ndarray
+ tests/brain/numpy/test_core_numerictypes.py::NumpyBrainCoreNumericTypesTest::test_datetime_astype_return
+ tests/brain/numpy/test_core_numerictypes.py::NumpyBrainCoreNumericTypesTest::test_generic_types_are_subscriptables
+ tests/brain/numpy/test_core_umath.py::NumpyBrainCoreUmathTest::test_numpy_core_umath_functions_return_type
+ tests/brain/numpy/test_core_umath.py::NumpyBrainCoreUmathTest::test_numpy_core_umath_functions_return_type_tuple
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ tests/test_transforms.py::TestTransforms::test_transform_aborted_if_recursion_limited
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # changes in py3.13.0b4
+ # https://github.com/pylint-dev/astroid/issues/2478
+ tests/test_nodes.py::AsStringTest::test_f_strings
+ tests/test_nodes_lineno.py::TestLinenoColOffset::test_end_lineno_string
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/astroid/files/astroid-3.2.2-py313.patch b/dev-python/astroid/files/astroid-3.2.2-py313.patch
new file mode 100644
index 000000000000..f8addfe9ef7c
--- /dev/null
+++ b/dev-python/astroid/files/astroid-3.2.2-py313.patch
@@ -0,0 +1,177 @@
+diff --git a/astroid/brain/brain_dataclasses.py b/astroid/brain/brain_dataclasses.py
+index 88a4385f..743dfe96 100644
+--- a/astroid/brain/brain_dataclasses.py
++++ b/astroid/brain/brain_dataclasses.py
+@@ -19,7 +19,7 @@ from typing import Literal, Tuple, Union
+
+ from astroid import bases, context, nodes
+ from astroid.builder import parse
+-from astroid.const import PY39_PLUS, PY310_PLUS
++from astroid.const import PY39_PLUS, PY310_PLUS, PY313_PLUS
+ from astroid.exceptions import AstroidSyntaxError, InferenceError, UseInferenceDefault
+ from astroid.inference_tip import inference_tip
+ from astroid.manager import AstroidManager
+@@ -503,6 +503,15 @@ def _looks_like_dataclass_field_call(
+ return inferred.name == FIELD_NAME and inferred.root().name in DATACLASS_MODULES
+
+
++def _looks_like_dataclasses(node: nodes.Module) -> bool:
++ return node.qname() == "dataclasses"
++
++
++def _resolve_private_replace_to_public(node: nodes.Module) -> None:
++ if "_replace" in node.locals:
++ node.locals["replace"] = node.locals["_replace"]
++
++
+ def _get_field_default(field_call: nodes.Call) -> _FieldDefaultReturn:
+ """Return a the default value of a field call, and the corresponding keyword
+ argument name.
+@@ -618,6 +627,13 @@ def _infer_instance_from_annotation(
+
+
+ def register(manager: AstroidManager) -> None:
++ if PY313_PLUS:
++ manager.register_transform(
++ nodes.Module,
++ _resolve_private_replace_to_public,
++ _looks_like_dataclasses,
++ )
++
+ manager.register_transform(
+ nodes.ClassDef, dataclass_transform, is_decorated_with_dataclass
+ )
+diff --git a/astroid/brain/brain_pathlib.py b/astroid/brain/brain_pathlib.py
+index 116cd2ee..d0f53132 100644
+--- a/astroid/brain/brain_pathlib.py
++++ b/astroid/brain/brain_pathlib.py
+@@ -8,6 +8,7 @@ from collections.abc import Iterator
+
+ from astroid import bases, context, inference_tip, nodes
+ from astroid.builder import _extract_single_node
++from astroid.const import PY313_PLUS
+ from astroid.exceptions import InferenceError, UseInferenceDefault
+ from astroid.manager import AstroidManager
+
+@@ -27,10 +28,11 @@ def _looks_like_parents_subscript(node: nodes.Subscript) -> bool:
+ value = next(node.value.infer())
+ except (InferenceError, StopIteration):
+ return False
++ parents = "builtins.tuple" if PY313_PLUS else "pathlib._PathParents"
+ return (
+ isinstance(value, bases.Instance)
+ and isinstance(value._proxied, nodes.ClassDef)
+- and value.qname() == "pathlib._PathParents"
++ and value.qname() == parents
+ )
+
+
+diff --git a/astroid/brain/brain_typing.py b/astroid/brain/brain_typing.py
+index 9965abc2..7a7c7183 100644
+--- a/astroid/brain/brain_typing.py
++++ b/astroid/brain/brain_typing.py
+@@ -15,7 +15,7 @@ from typing import Final
+ from astroid import context, extract_node, inference_tip
+ from astroid.brain.helpers import register_module_extender
+ from astroid.builder import AstroidBuilder, _extract_single_node
+-from astroid.const import PY39_PLUS, PY312_PLUS
++from astroid.const import PY39_PLUS, PY312_PLUS, PY313_PLUS
+ from astroid.exceptions import (
+ AstroidSyntaxError,
+ AttributeInferenceError,
+@@ -168,6 +168,15 @@ def infer_typing_attr(
+ # If typing subscript belongs to an alias handle it separately.
+ raise UseInferenceDefault
+
++ if (
++ PY313_PLUS
++ and isinstance(value, FunctionDef)
++ and value.qname() == "typing.Annotated"
++ ):
++ # typing.Annotated is a FunctionDef on 3.13+
++ node._explicit_inference = lambda node, context: iter([value])
++ return iter([value])
++
+ if isinstance(value, ClassDef) and value.qname() in {
+ "typing.Generic",
+ "typing.Annotated",
+diff --git a/tests/brain/test_brain.py b/tests/brain/test_brain.py
+index b8bc84e3..78b6f8b3 100644
+--- a/tests/brain/test_brain.py
++++ b/tests/brain/test_brain.py
+@@ -647,7 +647,7 @@ class TypingBrain(unittest.TestCase):
+
+ @test_utils.require_version(minver="3.9")
+ def test_typing_annotated_subscriptable(self):
+- """Test typing.Annotated is subscriptable with __class_getitem__"""
++ """typing.Annotated is subscriptable with __class_getitem__ below 3.13."""
+ node = builder.extract_node(
+ """
+ import typing
+@@ -655,8 +655,13 @@ class TypingBrain(unittest.TestCase):
+ """
+ )
+ inferred = next(node.infer())
+- assert isinstance(inferred, nodes.ClassDef)
+- assert isinstance(inferred.getattr("__class_getitem__")[0], nodes.FunctionDef)
++ if PY313_PLUS:
++ assert isinstance(inferred, nodes.FunctionDef)
++ else:
++ assert isinstance(inferred, nodes.ClassDef)
++ assert isinstance(
++ inferred.getattr("__class_getitem__")[0], nodes.FunctionDef
++ )
+
+ def test_typing_generic_slots(self):
+ """Test slots for Generic subclass."""
+diff --git a/tests/brain/test_pathlib.py b/tests/brain/test_pathlib.py
+index d935d964..5aea8d37 100644
+--- a/tests/brain/test_pathlib.py
++++ b/tests/brain/test_pathlib.py
+@@ -5,7 +5,7 @@
+
+ import astroid
+ from astroid import bases
+-from astroid.const import PY310_PLUS
++from astroid.const import PY310_PLUS, PY313_PLUS
+ from astroid.util import Uninferable
+
+
+@@ -23,7 +23,10 @@ def test_inference_parents() -> None:
+ inferred = name_node.inferred()
+ assert len(inferred) == 1
+ assert isinstance(inferred[0], bases.Instance)
+- assert inferred[0].qname() == "pathlib._PathParents"
++ if PY313_PLUS:
++ assert inferred[0].qname() == "builtins.tuple"
++ else:
++ assert inferred[0].qname() == "pathlib._PathParents"
+
+
+ def test_inference_parents_subscript_index() -> None:
+@@ -40,7 +43,10 @@ def test_inference_parents_subscript_index() -> None:
+ inferred = path.inferred()
+ assert len(inferred) == 1
+ assert isinstance(inferred[0], bases.Instance)
+- assert inferred[0].qname() == "pathlib.Path"
++ if PY313_PLUS:
++ assert inferred[0].qname() == "pathlib._local.Path"
++ else:
++ assert inferred[0].qname() == "pathlib.Path"
+
+
+ def test_inference_parents_subscript_slice() -> None:
+diff --git a/tests/test_inference.py b/tests/test_inference.py
+index ec8fc71b..95f00821 100644
+--- a/tests/test_inference.py
++++ b/tests/test_inference.py
+@@ -4458,8 +4458,7 @@ class InferenceTest(resources.SysPathSetup, unittest.TestCase):
+ # and reraise it as a TypeError in Class.getitem
+ node = extract_node(
+ """
+- def test():
+- yield
++ def test(): ...
+ test()
+ """
+ )
diff --git a/dev-python/asttokens/asttokens-2.4.1.ebuild b/dev-python/asttokens/asttokens-2.4.1.ebuild
index beb877005411..37639c55462b 100644
--- a/dev-python/asttokens/asttokens-2.4.1.ebuild
+++ b/dev-python/asttokens/asttokens-2.4.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/astunparse/Manifest b/dev-python/astunparse/Manifest
deleted file mode 100644
index 82d2f7d59c40..000000000000
--- a/dev-python/astunparse/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST astunparse-1.6.3.tar.gz 18290 BLAKE2B d7e6fa3ba58c6e112eb84720832890f4515b1c4ed420587565cdff37da893c07eefd0b9eb00795a3eb08bf56834d65150298a6be65e524b0c267c38e6f9c20d1 SHA512 12e99b32524e551494d3053a57aeb646bca8a96a9aa17b0737e6dace6c11874e2e7633d82197cacc0b55622bea637030344ab45c8db57ef244bd63663799d2e9
diff --git a/dev-python/astunparse/astunparse-1.6.3-r1.ebuild b/dev-python/astunparse/astunparse-1.6.3-r1.ebuild
deleted file mode 100644
index 9b2343f7d389..000000000000
--- a/dev-python/astunparse/astunparse-1.6.3-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Astun parser for python"
-HOMEPAGE="
- https://github.com/simonpercivall/astunparse/
- https://pypi.org/project/astunparse/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- >=dev-python/six-1.6.1[${PYTHON_USEDEP}]
- >=dev-python/wheel-0.23.0[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- "${FILESDIR}/astunparse-1.6.2-tests.patch"
- # From Fedora
- "${FILESDIR}/${P}-py39.patch"
- # From Debian
- "${FILESDIR}/${P}-test-py311.patch"
-)
-
-distutils_enable_tests unittest
-
-python_install_all() {
- distutils-r1_python_install_all
- dodoc *.rst
-}
diff --git a/dev-python/astunparse/files/astunparse-1.6.2-tests.patch b/dev-python/astunparse/files/astunparse-1.6.2-tests.patch
deleted file mode 100644
index b82c22831a9b..000000000000
--- a/dev-python/astunparse/files/astunparse-1.6.2-tests.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-diff --git a/tests/common.py b/tests/common.py
-index 95b9755..41123de 100644
---- a/tests/common.py
-+++ b/tests/common.py
-@@ -1,6 +1,7 @@
- import codecs
- import os
- import sys
-+import site
- if sys.version_info < (2, 7):
- import unittest2 as unittest
- else:
-@@ -175,9 +176,7 @@ class AstunparseCommonTestCase:
- def check_roundtrip(self, code1, filename="internal", mode="exec"):
- raise NotImplementedError()
-
-- test_directories = [
-- os.path.join(getattr(sys, 'real_prefix', sys.prefix),
-- 'lib', 'python%s.%s' % sys.version_info[:2])]
-+ test_directories = [os.path.dirname(d) for d in site.getsitepackages()]
-
- def test_files(self):
- names = []
diff --git a/dev-python/astunparse/files/astunparse-1.6.3-py39.patch b/dev-python/astunparse/files/astunparse-1.6.3-py39.patch
deleted file mode 100644
index ab8116a559ac..000000000000
--- a/dev-python/astunparse/files/astunparse-1.6.3-py39.patch
+++ /dev/null
@@ -1,74 +0,0 @@
-From 0388a0d2f42401dcedf7f89d3c291cfed3e4a3d5 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
-Date: Wed, 8 Jul 2020 20:15:57 +0200
-Subject: [PATCH 1/2] Adapt dump() behavior to match ast.dump() on Python 3.9+
-
-In Python 3.9+, ast.dump() omits optional fields/attributes from the output if
-their value is None. Such defaults are defined as class attributes.
-
-See https://bugs.python.org/issue36287
-And https://github.com/python/cpython/pull/18843
-
-This patch does not change the output on previous Python versions,
-because the class attributes are missing there.
-
-Fixes https://github.com/simonpercivall/astunparse/issues/56
----
- lib/astunparse/printer.py | 7 ++++++-
- 1 file changed, 6 insertions(+), 1 deletion(-)
-
-diff --git a/lib/astunparse/printer.py b/lib/astunparse/printer.py
-index 92d64f7..7a33deb 100644
---- a/lib/astunparse/printer.py
-+++ b/lib/astunparse/printer.py
-@@ -4,6 +4,9 @@
- import six
-
-
-+_NOPE = object()
-+
-+
- class Printer(ast.NodeVisitor):
-
- def __init__(self, file=sys.stdout, indent=" "):
-@@ -19,6 +22,7 @@ def write(self, text):
- self.f.write(six.text_type(text))
-
- def generic_visit(self, node):
-+ cls = type(node)
-
- if isinstance(node, list):
- nodestart = "["
-@@ -27,7 +31,8 @@ def generic_visit(self, node):
- else:
- nodestart = type(node).__name__ + "("
- nodeend = ")"
-- children = [(name + "=", value) for name, value in ast.iter_fields(node)]
-+ children = [(name + "=", value) for name, value in ast.iter_fields(node)
-+ if not (value is None and getattr(cls, name, _NOPE) is None)]
-
- if len(children) > 1:
- self.indentation += 1
-
-From ea2b578a1b653e73696db2392b8e3d5bf75dadc7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
-Date: Wed, 8 Jul 2020 20:21:17 +0200
-Subject: [PATCH 2/2] Test and support Python 3.9
-
----
- setup.py | 1 +
- tox.ini | 2 +-
- 2 files changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/setup.py b/setup.py
-index e5a277a..29b384b 100755
---- a/setup.py
-+++ b/setup.py
-@@ -52,6 +52,7 @@ def read_version():
- 'Programming Language :: Python :: 3.6',
- 'Programming Language :: Python :: 3.7',
- 'Programming Language :: Python :: 3.8',
-+ 'Programming Language :: Python :: 3.9',
- 'Topic :: Software Development :: Code Generators',
- ],
- test_suite='tests',
diff --git a/dev-python/astunparse/files/astunparse-1.6.3-test-py311.patch b/dev-python/astunparse/files/astunparse-1.6.3-test-py311.patch
deleted file mode 100644
index f17ff76f0f6f..000000000000
--- a/dev-python/astunparse/files/astunparse-1.6.3-test-py311.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-From: Carsten Schoenert <c.schoenert@t-online.de>
-Date: Sat, 31 Dec 2022 12:01:26 +0100
-Subject: tests: Skip test_files() on Python >= 3.11
-
-Given functions from astunparse are now mostly "battery included" in
-Python 3.10 and ongoing und the test itself is only a small part of the
-testing I think it's o.k. to simply skip now this test until upstream
-will probably do some adjustment.
-
-Forwarded: https://github.com/simonpercivall/astunparse/issues/67
----
- tests/common.py | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/tests/common.py b/tests/common.py
-index 95b9755..7c8fa27 100644
---- a/tests/common.py
-+++ b/tests/common.py
-@@ -179,6 +179,7 @@ class AstunparseCommonTestCase:
- os.path.join(getattr(sys, 'real_prefix', sys.prefix),
- 'lib', 'python%s.%s' % sys.version_info[:2])]
-
-+ @unittest.skipIf(sys.version_info >= (3, 11), "Ignoring if Python >= 3.11")
- def test_files(self):
- names = []
- for test_dir in self.test_directories:
diff --git a/dev-python/astunparse/metadata.xml b/dev-python/astunparse/metadata.xml
deleted file mode 100644
index bf7649e44504..000000000000
--- a/dev-python/astunparse/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>williamh@gentoo.org</email>
- <name>William Hubbs</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="github">simonpercivall/astunparse</remote-id>
- <remote-id type="pypi">astunparse</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/async-lru/async-lru-2.0.4.ebuild b/dev-python/async-lru/async-lru-2.0.4.ebuild
index 610950cbab38..b44a193b0ae1 100644
--- a/dev-python/async-lru/async-lru-2.0.4.ebuild
+++ b/dev-python/async-lru/async-lru-2.0.4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/async-timeout/async-timeout-4.0.3.ebuild b/dev-python/async-timeout/async-timeout-4.0.3.ebuild
index 974ea4429c64..74991e5d0711 100644
--- a/dev-python/async-timeout/async-timeout-4.0.3.ebuild
+++ b/dev-python/async-timeout/async-timeout-4.0.3.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/async_generator/Manifest b/dev-python/async_generator/Manifest
deleted file mode 100644
index 199c25e15d5a..000000000000
--- a/dev-python/async_generator/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST async_generator-1.10.tar.gz 29870 BLAKE2B 7f1bea82b1ed9ed87774f1fb42af2c58d8f9e34a02f067fad018680d46c94b811075107396b29e948fa5f72131c79f3b45544fae5aeca9f990e809db85bb28dd SHA512 3874b4e474cc7febec981f704672e233512a999e00e1672e46fe3a18e45168373fabc83142926763b7c6fcaf16948e031702d5854694aab4b5cae96b9b1ef819
diff --git a/dev-python/async_generator/async_generator-1.10-r2.ebuild b/dev-python/async_generator/async_generator-1.10-r2.ebuild
deleted file mode 100644
index 6adfa769343b..000000000000
--- a/dev-python/async_generator/async_generator-1.10-r2.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1 pypi
-
-DESCRIPTION="Making it easy to write async iterators in Python 3.5"
-HOMEPAGE="https://github.com/python-trio/async_generator https://pypi.org/project/async_generator/"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-DOCS=( README.rst )
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/async_generator/metadata.xml b/dev-python/async_generator/metadata.xml
deleted file mode 100644
index 0b5f993954c9..000000000000
--- a/dev-python/async_generator/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>zmedico@gentoo.org</email>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">python-trio/async_generator</remote-id>
- <remote-id type="pypi">async_generator</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/asyncssh/Manifest b/dev-python/asyncssh/Manifest
new file mode 100644
index 000000000000..5286e46df645
--- /dev/null
+++ b/dev-python/asyncssh/Manifest
@@ -0,0 +1,2 @@
+DIST asyncssh-2.14.2.tar.gz 498190 BLAKE2B 66cc538322688d0782e203eb723c7c7a196fd5da725fe95df8b31e25e35e45b86bb01cb5c46f5516475614b9cf7b8076bc3994ec77daf552e030724b0734c2d1 SHA512 76952b8837832139274fbfc4ec4aa84841c66a4eb4c1bd09fd532727287574509fb2b94b684c14d6f76add80a1fe5c8236a3412ab6a71574c203706895b23f93
+DIST asyncssh-2.15.0.tar.gz 516935 BLAKE2B 0e67dc6c2d7814479241d81e06d6a5290a99802490c097769137673980b798122718a3af99c6d71a3fb08b37d4e3e0c4cfc2fb69523b2b76c88cdbf638fd42ee SHA512 51f43bfcf27dadd9e79d7b306b11f6dc196d2de65a60663aa6e59f1b1246a6467a6324209bfb0607a9d2902ef8dde51cd172f9e32e36168954c67b8fcd7e1dd6
diff --git a/dev-python/asyncssh/asyncssh-2.14.2.ebuild b/dev-python/asyncssh/asyncssh-2.14.2.ebuild
new file mode 100644
index 000000000000..0c7015523b72
--- /dev/null
+++ b/dev-python/asyncssh/asyncssh-2.14.2.ebuild
@@ -0,0 +1,53 @@
+# 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..13} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Asynchronous SSHv2 client and server library"
+HOMEPAGE="
+ https://github.com/ronf/asyncssh
+ https://pypi.org/project/asyncssh/
+"
+
+LICENSE="EPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ virtual/openssh
+ >=dev-python/cryptography-39.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-3.6[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/aiofiles[${PYTHON_USEDEP}]
+ >=dev-python/bcrypt-3.1.3[${PYTHON_USEDEP}]
+ >=dev-python/fido2-0.9.2[${PYTHON_USEDEP}]
+ >=dev-python/gssapi-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/libnacl-1.4.2[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ # https://github.com/ronf/asyncssh/issues/616
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+distutils_enable_sphinx docs
+
+pkg_postinst() {
+ optfeature "OpenSSH private key encryption support" ">=dev-python/bcrypt-3.1.3"
+ optfeature "key exchange and authentication with U2F/FIDO2 security keys support" ">=dev-python/fido2-0.9.2"
+ optfeature "GSSAPI key exchange and authentication support" ">=dev-python/gssapi-1.2.0"
+ optfeature "using asyncssh with dev-libs/libsodium" "dev-python/libnacl"
+ optfeature "X.509 certificate authentication support" ">=dev-python/pyopenssl-23.0.0"
+}
diff --git a/dev-python/asyncssh/asyncssh-2.15.0.ebuild b/dev-python/asyncssh/asyncssh-2.15.0.ebuild
new file mode 100644
index 000000000000..8dd7162e4b4b
--- /dev/null
+++ b/dev-python/asyncssh/asyncssh-2.15.0.ebuild
@@ -0,0 +1,54 @@
+# 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..13} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Asynchronous SSHv2 client and server library"
+HOMEPAGE="
+ https://github.com/ronf/asyncssh
+ https://pypi.org/project/asyncssh/
+"
+
+LICENSE="EPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ virtual/openssh
+ >=dev-python/cryptography-39.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.0.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/aiofiles[${PYTHON_USEDEP}]
+ >=dev-python/bcrypt-3.1.3[${PYTHON_USEDEP}]
+ >=dev-python/fido2-0.9.2[${PYTHON_USEDEP}]
+ >=dev-python/gssapi-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/libnacl-1.4.2[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-23.0.0[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+distutils_enable_sphinx docs
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p rerunfailures --reruns=5
+}
+
+pkg_postinst() {
+ optfeature "OpenSSH private key encryption support" ">=dev-python/bcrypt-3.1.3"
+ optfeature "key exchange and authentication with U2F/FIDO2 security keys support" ">=dev-python/fido2-0.9.2"
+ optfeature "GSSAPI key exchange and authentication support" ">=dev-python/gssapi-1.2.0"
+ optfeature "using asyncssh with dev-libs/libsodium" "dev-python/libnacl"
+ optfeature "X.509 certificate authentication support" ">=dev-python/pyopenssl-23.0.0"
+}
diff --git a/dev-python/asyncssh/files/asyncssh-2.14.2-py313.patch b/dev-python/asyncssh/files/asyncssh-2.14.2-py313.patch
new file mode 100644
index 000000000000..fa3752a2b516
--- /dev/null
+++ b/dev-python/asyncssh/files/asyncssh-2.14.2-py313.patch
@@ -0,0 +1,151 @@
+From 58168139adcaa4bf12448904137cd77812636b18 Mon Sep 17 00:00:00 2001
+From: Ron Frederick <ronf@timeheart.net>
+Date: Sat, 23 Dec 2023 10:25:14 -0800
+Subject: [PATCH] Guard against possible UNIX domain socket cleanup in Python
+ 3.13
+
+This commit adds guards around code which cleans up UNIX domain
+sockets, to protect against a change proposed at
+https://github.com/python/cpython/issues/111246
+which would cause the socket to clean itself up on close.
+---
+ tests/test_agent.py | 5 ++++-
+ tests/test_forward.py | 50 +++++++++++++++++++++++++++++++++----------
+ 2 files changed, 43 insertions(+), 12 deletions(-)
+
+diff --git a/tests/test_agent.py b/tests/test_agent.py
+index 28ca730..2f0b83c 100644
+--- a/tests/test_agent.py
++++ b/tests/test_agent.py
+@@ -85,7 +85,10 @@ async def stop(self):
+ self._server.close()
+ await self._server.wait_closed()
+
+- os.remove(self._path)
++ try:
++ os.remove(self._path)
++ except OSError:
++ pass
+
+
+ class _TestAgent(AsyncTestCase):
+diff --git a/tests/test_forward.py b/tests/test_forward.py
+index cae199d..4d30eda 100644
+--- a/tests/test_forward.py
++++ b/tests/test_forward.py
+@@ -651,7 +651,10 @@ async def test_forward_local_path_to_port(self):
+ async with conn.forward_local_path_to_port('local', '', 7):
+ await self._check_local_unix_connection('local')
+
+- os.remove('local')
++ try:
++ os.remove('local')
++ except OSError:
++ pass
+
+ @unittest.skipIf(sys.platform == 'win32',
+ 'skip UNIX domain socket tests on Windows')
+@@ -665,7 +668,10 @@ async def test_forward_local_path_to_port_failure(self):
+ with self.assertRaises(OSError):
+ await conn.forward_local_path_to_port('local', '', 7)
+
+- os.remove('local')
++ try:
++ os.remove('local')
++ except OSError:
++ pass
+
+ @asynctest
+ async def test_forward_local_port_pause(self):
+@@ -798,7 +804,11 @@ async def test_forward_remote_port_to_path(self):
+
+ server.close()
+ await server.wait_closed()
+- os.remove('local')
++
++ try:
++ os.remove('local')
++ except OSError:
++ pass
+
+ @asynctest
+ async def test_forward_remote_specific_port(self):
+@@ -1020,7 +1030,10 @@ async def test_unix_server(self):
+ await listener.wait_closed()
+ listener.close()
+
+- os.remove('echo')
++ try:
++ os.remove('echo')
++ except OSError:
++ pass
+
+ @asynctest
+ async def test_unix_server_open(self):
+@@ -1053,7 +1066,10 @@ async def test_unix_server_non_async(self):
+ async with conn.start_unix_server(_unix_listener_non_async, path):
+ await self._check_local_unix_connection('echo')
+
+- os.remove('echo')
++ try:
++ os.remove('echo')
++ except OSError:
++ pass
+
+ @asynctest
+ async def test_unix_server_failure(self):
+@@ -1071,7 +1087,10 @@ async def test_forward_local_path(self):
+ async with conn.forward_local_path('local', '/echo'):
+ await self._check_local_unix_connection('local')
+
+- os.remove('local')
++ try:
++ os.remove('local')
++ except OSError:
++ pass
+
+ @asynctest
+ async def test_forward_local_port_to_path_accept_handler(self):
+@@ -1149,8 +1168,11 @@ async def test_forward_remote_path(self):
+ server.close()
+ await server.wait_closed()
+
+- os.remove('echo')
+- os.remove('local')
++ try:
++ os.remove('echo')
++ os.remove('local')
++ except OSError:
++ pass
+
+ @asynctest
+ async def test_forward_remote_path_to_port(self):
+@@ -1167,11 +1189,14 @@ async def test_forward_remote_path_to_port(self):
+ path, '127.0.0.1', server_port):
+ await self._check_local_unix_connection('echo')
+
+- os.remove('echo')
+-
+ server.close()
+ await server.wait_closed()
+
++ try:
++ os.remove('echo')
++ except OSError:
++ pass
++
+ @asynctest
+ async def test_forward_remote_path_failure(self):
+ """Test failure of forwarding a remote UNIX domain path"""
+@@ -1184,7 +1209,10 @@ async def test_forward_remote_path_failure(self):
+ with self.assertRaises(asyncssh.ChannelListenError):
+ await conn.forward_remote_path(path, 'local')
+
+- os.remove('echo')
++ try:
++ os.remove('echo')
++ except OSError:
++ pass
+
+ @asynctest
+ async def test_forward_remote_path_not_permitted(self):
diff --git a/dev-python/asyncssh/metadata.xml b/dev-python/asyncssh/metadata.xml
new file mode 100644
index 000000000000..1727dacd3918
--- /dev/null
+++ b/dev-python/asyncssh/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="pypi">asyncssh</remote-id>
+ <remote-id type="github">ronf/asyncssh</remote-id>
+ </upstream>
+ <stabilize-allarches/>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/asyncstdlib/Manifest b/dev-python/asyncstdlib/Manifest
index 9844e6594a99..b35edc94b279 100644
--- a/dev-python/asyncstdlib/Manifest
+++ b/dev-python/asyncstdlib/Manifest
@@ -1,2 +1,2 @@
-DIST asyncstdlib-3.10.8.tar.gz 43762 BLAKE2B 28d8c592dd38f7571f86f6664d8489ac42638d1eacaf98163d915919017b4e9de3f246fe028ffded73bd2e0df703a952732dc87f8d70d3e73305bca9bc82129a SHA512 d71894658b42b54e2d75f7dabefd6480933c697ece4372ea2dd3a99b02371a58e1b883fa0523c031b8c331887bb9eaeac8bec381531bee3cedf804056f98c127
-DIST asyncstdlib-3.10.9.tar.gz 43799 BLAKE2B f6812fa8bf84913c122d881e70945c68a7b0680dcd3db944c429ef050952c8c78c6858bec2075668445bfd0f81dbb5215d50a82bf563ab2bbcbff60d0d66c17f SHA512 f0f80d6c63e20790a74142c8438937f1f79314675ff2da3ea3776a33b867e2705ffcf7605726afe35bb1b96dc3a8b0a86a292d26c01ee727425938eda57e3915
+DIST asyncstdlib-3.12.3.tar.gz 47118 BLAKE2B 83967dc89c0a5fab13ff5f3cebec739644ba16479bf661447c179b491897be0a5933f6ae724f942643d349cef8eaff66cf621c565459b1b8774e93bc51e472ee SHA512 239f0741a694f58e359422bce1e54f6f7e3b1522f10ed4cfd137f4cd8c9861156744d7efa98ab155dd0aa489dbdc452c095d60b77922c6b53177708a65a26d86
+DIST asyncstdlib-3.12.4.tar.gz 47279 BLAKE2B 855f4ebb5619ab4aec429b551fb410855da150916416636737c980712e981a8f3b7339f7691d4fa1ee3439911d6e0733ff2431a520d515b836b183848cfb3013 SHA512 33da70653166525009680cd78e6bb7dabb8518babb73caac26dbea9dbd0b73898d1ffe17755f1505dde1c6a3407c0a31743ea60a66af1b30a587ec39fc4014ff
diff --git a/dev-python/asyncstdlib/asyncstdlib-3.10.8.ebuild b/dev-python/asyncstdlib/asyncstdlib-3.10.8.ebuild
deleted file mode 100644
index 5590c14a20c7..000000000000
--- a/dev-python/asyncstdlib/asyncstdlib-3.10.8.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="The missing async toolbox"
-HOMEPAGE="
- https://github.com/maxfischer2781/asyncstdlib/
- https://pypi.org/project/asyncstdlib/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/asyncstdlib/asyncstdlib-3.10.9.ebuild b/dev-python/asyncstdlib/asyncstdlib-3.10.9.ebuild
deleted file mode 100644
index 5590c14a20c7..000000000000
--- a/dev-python/asyncstdlib/asyncstdlib-3.10.9.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="The missing async toolbox"
-HOMEPAGE="
- https://github.com/maxfischer2781/asyncstdlib/
- https://pypi.org/project/asyncstdlib/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/asyncstdlib/asyncstdlib-3.12.3.ebuild b/dev-python/asyncstdlib/asyncstdlib-3.12.3.ebuild
new file mode 100644
index 000000000000..b9853014080d
--- /dev/null
+++ b/dev-python/asyncstdlib/asyncstdlib-3.12.3.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="The missing async toolbox"
+HOMEPAGE="
+ https://github.com/maxfischer2781/asyncstdlib/
+ https://pypi.org/project/asyncstdlib/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # https://github.com/maxfischer2781/asyncstdlib/issues/144
+ # (already skipped upstream)
+ 'unittests/test_functools_lru.py::test_method_discard[classmethod_counter-3]'
+ 'unittests/test_functools_lru.py::test_method_discard[classmethod_counter-10]'
+ 'unittests/test_functools_lru.py::test_method_discard[classmethod_counter-None]'
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/asyncstdlib/asyncstdlib-3.12.4.ebuild b/dev-python/asyncstdlib/asyncstdlib-3.12.4.ebuild
new file mode 100644
index 000000000000..a2eea4011b68
--- /dev/null
+++ b/dev-python/asyncstdlib/asyncstdlib-3.12.4.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="The missing async toolbox"
+HOMEPAGE="
+ https://github.com/maxfischer2781/asyncstdlib/
+ https://pypi.org/project/asyncstdlib/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/atomicwrites/atomicwrites-1.4.1.ebuild b/dev-python/atomicwrites/atomicwrites-1.4.1.ebuild
index f9396190ce20..f13d8f9b0e0a 100644
--- a/dev-python/atomicwrites/atomicwrites-1.4.1.ebuild
+++ b/dev-python/atomicwrites/atomicwrites-1.4.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/atpublic/Manifest b/dev-python/atpublic/Manifest
index 2471dfb83b70..9546aa51c4a0 100644
--- a/dev-python/atpublic/Manifest
+++ b/dev-python/atpublic/Manifest
@@ -1 +1,2 @@
-DIST atpublic-4.0.tar.gz 14684 BLAKE2B d8cecb083ca467d2856c0d7ae01dc4e161c31179f08c79d7b0b4650d9a3e32e15673d80d53d6851d70a4605eda8e41ba23d60be452209f96e995d632acfe5b29 SHA512 2f338d3ae11d15e9ffe26881fab1c183154b9a0a7a66532a5eb39d1d48d41548078826875247c94f3853925bc1df2b8f86f4ed94533a8e58aa98de148cf5639c
+DIST atpublic-4.1.0.tar.gz 14426 BLAKE2B c535d36b8c4723fa0c36ed543461f8364445c52893e8a5cd6a6bfdec0a387308a74d9f6a9d4c204ac753fcc847a105f6f4a5dc7afa5848d08f0a269af8b01397 SHA512 bd840a44f3f9d8f7099c22d67866744ef43ed4bfa00e0fd8a6a7516e8e995287b234fb97eaf30be494f06a8ff1020c0479533bfe33adc56ae62bd976bd997b4b
+DIST atpublic-5.0.tar.gz 14646 BLAKE2B 92d545d7f8d90b47348a302662473f154783d0f5e3aa6ef165f6ddecbd7024792ef5dec02edf9b513c03021c5550cc915c258b5ee600869e10ba9c6c99f1dafa SHA512 b5b3dabb4891c0aa75a6e2f0d6f19e1447ba358c139a73bc582c2ef58bec0ea44bfee44f44635de7da1e1c1e4e7edb99ea7e6a2090c1df710a200eb16440098f
diff --git a/dev-python/atpublic/atpublic-4.0.ebuild b/dev-python/atpublic/atpublic-4.0.ebuild
deleted file mode 100644
index 8d48788fd37b..000000000000
--- a/dev-python/atpublic/atpublic-4.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A decorator to populate __all__ and the module globals"
-HOMEPAGE="
- https://gitlab.com/warsaw/public/
- https://pypi.org/project/atpublic/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-BDEPEND="
- test? (
- dev-python/sybil[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/addopts/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/atpublic/atpublic-4.1.0.ebuild b/dev-python/atpublic/atpublic-4.1.0.ebuild
new file mode 100644
index 000000000000..927cb9459e65
--- /dev/null
+++ b/dev-python/atpublic/atpublic-4.1.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A decorator to populate __all__ and the module globals"
+HOMEPAGE="
+ https://gitlab.com/warsaw/public/
+ https://pypi.org/project/atpublic/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/sybil[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/addopts/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/atpublic/atpublic-5.0.ebuild b/dev-python/atpublic/atpublic-5.0.ebuild
new file mode 100644
index 000000000000..e26cab09e31b
--- /dev/null
+++ b/dev-python/atpublic/atpublic-5.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A decorator to populate __all__ and the module globals"
+HOMEPAGE="
+ https://gitlab.com/warsaw/public/
+ https://pypi.org/project/atpublic/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/sybil[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/attrs/Manifest b/dev-python/attrs/Manifest
index 13dfaa36481f..70c2501690a0 100644
--- a/dev-python/attrs/Manifest
+++ b/dev-python/attrs/Manifest
@@ -1 +1 @@
-DIST attrs-23.1.0.tar.gz 212878 BLAKE2B e562c22e7afdf50a9cf8deafc221d0438b8f3fb6b379c6eeb7f9e5ef182b69d5aa9bb886f4b7f69818ba2f1e9bf2ffa2831571a61c3521ab1c56f9c199b411a2 SHA512 1fff41da90668601b29412f71b4419dd9ffb9f2a8e54ce2199198557729167d6d7574954dc998818caba0d6bc378ab2ce068541df9c1c0d4ab1b071758d4a38a
+DIST attrs-23.2.0.tar.gz 780820 BLAKE2B a06f4f17a81fc173c37661bcf518367a1cdc9a333d2783bd2cd1ac5f0a72bd20ec1afdd964e10255624bcfa027e3a152375cd21472c177428d29bd06b29984a1 SHA512 d8b178072a028b95d8424cd3ce0c8b4e6da8558fbcbcaaef91fbd03cf51e6190aa248aa0bff853e6f7c9595bbd5a8eef9d6f68ae2830cc1cc6d826ab0dda2378
diff --git a/dev-python/attrs/attrs-23.1.0.ebuild b/dev-python/attrs/attrs-23.1.0.ebuild
deleted file mode 100644
index 70717b7db77d..000000000000
--- a/dev-python/attrs/attrs-23.1.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Attributes without boilerplate"
-HOMEPAGE="
- https://github.com/python-attrs/attrs/
- https://attrs.readthedocs.io/
- https://pypi.org/project/attrs/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-BDEPEND="
- dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- $(python_gen_impl_dep sqlite)
- $(python_gen_cond_dep '
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- ' python3_{10..11})
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/zope-interface[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/attrs/attrs-23.2.0.ebuild b/dev-python/attrs/attrs-23.2.0.ebuild
new file mode 100644
index 000000000000..96b89f367504
--- /dev/null
+++ b/dev-python/attrs/attrs-23.2.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Attributes without boilerplate"
+HOMEPAGE="
+ https://github.com/python-attrs/attrs/
+ https://attrs.readthedocs.io/
+ https://pypi.org/project/attrs/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-23.2.0[${PYTHON_USEDEP}]
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/python-attrs/attrs/pull/1249
+ "${FILESDIR}/${P}-pytest-8.patch"
+ # https://github.com/python-attrs/attrs/pull/1255
+ "${FILESDIR}/${P}-py313.patch"
+)
diff --git a/dev-python/attrs/files/attrs-23.2.0-py313.patch b/dev-python/attrs/files/attrs-23.2.0-py313.patch
new file mode 100644
index 000000000000..f7ea8f5e659f
--- /dev/null
+++ b/dev-python/attrs/files/attrs-23.2.0-py313.patch
@@ -0,0 +1,93 @@
+From f9ff9135b472c78a7333d6272c62b92217897464 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Lum=C3=ADr=20=27Frenzy=27=20Balhar?=
+ <frenzy.madness@gmail.com>
+Date: Thu, 7 Mar 2024 10:23:46 +0100
+Subject: [PATCH] Fix test_ne in test_cmp.py for Python 3.13 (#1255)
+
+* Fix test_ne in test_cmp.py for Python 3.13
+
+Compiler in Python 3.13+ strips indents from docstrings
+so they need to be compared without it for new Pythons.
+
+Fixes: https://github.com/python-attrs/attrs/issues/1228
+
+* [pre-commit.ci] auto fixes from pre-commit.com hooks
+
+for more information, see https://pre-commit.ci
+
+---------
+
+Co-authored-by: pre-commit-ci[bot] <66853113+pre-commit-ci[bot]@users.noreply.github.com>
+---
+ src/attr/_compat.py | 1 +
+ tests/test_cmp.py | 11 +++++++----
+ 2 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/src/attr/_compat.py b/src/attr/_compat.py
+index 46b05ca..9010047 100644
+--- a/src/attr/_compat.py
++++ b/src/attr/_compat.py
+@@ -14,6 +14,7 @@ PY_3_8_PLUS = sys.version_info[:2] >= (3, 8)
+ PY_3_9_PLUS = sys.version_info[:2] >= (3, 9)
+ PY310 = sys.version_info[:2] >= (3, 10)
+ PY_3_12_PLUS = sys.version_info[:2] >= (3, 12)
++PY_3_13_PLUS = sys.version_info[:2] >= (3, 13)
+
+
+ if sys.version_info < (3, 8):
+diff --git a/tests/test_cmp.py b/tests/test_cmp.py
+index 07bfc52..b84b66f 100644
+--- a/tests/test_cmp.py
++++ b/tests/test_cmp.py
+@@ -4,10 +4,10 @@
+ Tests for methods from `attrib._cmp`.
+ """
+
+-
+ import pytest
+
+ from attr._cmp import cmp_using
++from attr._compat import PY_3_13_PLUS
+
+
+ # Test parameters.
+@@ -54,6 +54,9 @@ order_ids = [c[0].__name__ for c in order_data]
+ cmp_data = eq_data + order_data
+ cmp_ids = eq_ids + order_ids
+
++# Compiler strips indents from docstrings in Python 3.13+
++indent = "" if PY_3_13_PLUS else " " * 8
++
+
+ class TestEqOrder:
+ """
+@@ -325,7 +328,7 @@ class TestDundersUnnamedClass:
+ method = self.cls.__ne__
+ assert method.__doc__.strip() == (
+ "Check equality and either forward a NotImplemented or\n"
+- " return the result negated."
++ f"{indent}return the result negated."
+ )
+ assert method.__name__ == "__ne__"
+
+@@ -393,7 +396,7 @@ class TestDundersPartialOrdering:
+ method = self.cls.__ne__
+ assert method.__doc__.strip() == (
+ "Check equality and either forward a NotImplemented or\n"
+- " return the result negated."
++ f"{indent}return the result negated."
+ )
+ assert method.__name__ == "__ne__"
+
+@@ -465,7 +468,7 @@ class TestDundersFullOrdering:
+ method = self.cls.__ne__
+ assert method.__doc__.strip() == (
+ "Check equality and either forward a NotImplemented or\n"
+- " return the result negated."
++ f"{indent}return the result negated."
+ )
+ assert method.__name__ == "__ne__"
+
+--
+2.45.0
+
diff --git a/dev-python/attrs/files/attrs-23.2.0-pytest-8.patch b/dev-python/attrs/files/attrs-23.2.0-pytest-8.patch
new file mode 100644
index 000000000000..68e4c86c1315
--- /dev/null
+++ b/dev-python/attrs/files/attrs-23.2.0-pytest-8.patch
@@ -0,0 +1,44 @@
+From b9084fab02c009a593b604562a69f36a5915c8e5 Mon Sep 17 00:00:00 2001
+From: Denis Laxalde <denis@laxalde.org>
+Date: Sat, 2 Mar 2024 07:40:36 +0100
+Subject: [PATCH] Remove pytest.deprecated_call() in TestAssoc::test_unknown
+ (#1249)
+
+assoc() no longer raises a deprecation warning since commit
+22ae8473fb88d6e585b05c709e81e1a46398a649 but the 'with
+pytest.deprecated_call():' in that test was not removed then (in
+contrast with other test cases).
+
+Maybe this got unnoticed due to a pytest bug?
+In any case, using pytest 8+ (and keeping deprecated_call()) shows that
+no warning is raised and the test fails.
+
+Removing the upper bound on pytest in dev dependencies as tests now
+pass with pytest 8.0.
+
+Fix #1233.
+
+Co-authored-by: Hynek Schlawack <hs@ox.cx>
+---
+ pyproject.toml | 3 +--
+ tests/test_funcs.py | 4 +---
+ 2 files changed, 2 insertions(+), 5 deletions(-)
+
+diff --git a/tests/test_funcs.py b/tests/test_funcs.py
+index 044aaab..398ba35 100644
+--- a/tests/test_funcs.py
++++ b/tests/test_funcs.py
+@@ -600,9 +600,7 @@ class TestAssoc:
+ AttrsAttributeNotFoundError.
+ """
+ # No generated class will have a four letter attribute.
+- with pytest.raises(
+- AttrsAttributeNotFoundError
+- ) as e, pytest.deprecated_call():
++ with pytest.raises(AttrsAttributeNotFoundError) as e:
+ assoc(C(), aaaa=2)
+
+ assert (f"aaaa is not an attrs attribute on {C!r}.",) == e.value.args
+--
+2.44.0
+
diff --git a/dev-python/audioread/audioread-3.0.1.ebuild b/dev-python/audioread/audioread-3.0.1.ebuild
index 6169466d38e2..6349c7b69dbf 100644
--- a/dev-python/audioread/audioread-3.0.1.ebuild
+++ b/dev-python/audioread/audioread-3.0.1.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
+# py3.13: https://github.com/beetbox/audioread/issues/144
PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 pypi
diff --git a/dev-python/authres/authres-1.2.0-r1.ebuild b/dev-python/authres/authres-1.2.0-r1.ebuild
index bdc0dc54432a..4a99173b0e5f 100644
--- a/dev-python/authres/authres-1.2.0-r1.ebuild
+++ b/dev-python/authres/authres-1.2.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -15,8 +15,8 @@ HOMEPAGE="
"
LICENSE="Apache-2.0"
-KEYWORDS="amd64 arm64 x86"
SLOT="0"
+KEYWORDS="amd64 arm64 x86"
python_test() {
"${EPYTHON}" -m doctest -v authres/tests ||
diff --git a/dev-python/autobahn/autobahn-23.6.2.ebuild b/dev-python/autobahn/autobahn-23.6.2.ebuild
index c3bbd2853dd5..de4ff8467e6d 100644
--- a/dev-python/autobahn/autobahn-23.6.2.ebuild
+++ b/dev-python/autobahn/autobahn-23.6.2.ebuild
@@ -1,23 +1,22 @@
-# 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
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 optfeature pypi
DESCRIPTION="WebSocket and WAMP for Twisted and Asyncio"
HOMEPAGE="
- https://crossbar.io/autobahn/
https://github.com/crossbario/autobahn-python/
https://pypi.org/project/autobahn/
"
-SLOT="0"
LICENSE="MIT"
+SLOT="0"
KEYWORDS="amd64 arm arm64 ~riscv ~sparc x86"
IUSE="test xbr"
RESTRICT="!test? ( test )"
@@ -58,6 +57,11 @@ BDEPEND="
"
python_prepare_all() {
+ local PATCHES=(
+ # https://github.com/crossbario/autobahn-python/pull/1634
+ "${FILESDIR}/${P}-pytest-asyncio.patch"
+ )
+
if use xbr ; then
eerror "***************"
eerror "Required xbr dependencies are incomplete in Gentoo."
@@ -89,8 +93,11 @@ python_test() {
unset USE_TWISTED
einfo "RE-testing cryptosign and component_aio using asyncio"
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
local -x USE_ASYNCIO=true
- epytest --pyargs autobahn.wamp.test.test_wamp_{cryptosign,component_aio}
+ epytest -p asyncio --pyargs \
+ autobahn.asyncio.test.test_aio_{raw,web}socket \
+ autobahn.wamp.test.test_wamp_{cryptosign,component_aio}
unset USE_ASYNCIO
rm -f twisted/plugins/dropin.cache || die
diff --git a/dev-python/autobahn/files/autobahn-23.6.2-pytest-asyncio.patch b/dev-python/autobahn/files/autobahn-23.6.2-pytest-asyncio.patch
new file mode 100644
index 000000000000..2cdbd863231b
--- /dev/null
+++ b/dev-python/autobahn/files/autobahn-23.6.2-pytest-asyncio.patch
@@ -0,0 +1,42 @@
+From 5ab94618723c488df640ae0777ac5a16ee1ab369 Mon Sep 17 00:00:00 2001
+From: David Hotham <david.hotham@microsoft.com>
+Date: Sat, 13 Apr 2024 05:27:01 +0100
+Subject: [PATCH] unit test fixes (#1634)
+
+---
+ autobahn/wamp/test/test_wamp_component_aio.py | 8 ++++----
+ 1 file changed, 4 insertions(+), 4 deletions(-)
+
+diff --git a/autobahn/wamp/test/test_wamp_component_aio.py b/autobahn/wamp/test/test_wamp_component_aio.py
+index 168933ea5..2de9bf358 100644
+--- a/autobahn/wamp/test/test_wamp_component_aio.py
++++ b/autobahn/wamp/test/test_wamp_component_aio.py
+@@ -35,7 +35,7 @@
+
+ @pytest.mark.skipif(sys.version_info < (3, 5), reason="requires Python 3.5+")
+ @pytest.mark.asyncio(forbid_global_loop=True)
+- def test_asyncio_component(event_loop):
++ async def test_asyncio_component(event_loop):
+ orig_loop = txaio.config.loop
+ txaio.config.loop = event_loop
+
+@@ -72,11 +72,11 @@ def done(f):
+ txaio.config.loop = orig_loop
+ assert comp._done_f is None
+ f.add_done_callback(done)
+- return finished
++ await finished
+
+ @pytest.mark.skipif(sys.version_info < (3, 5), reason="requires Python 3.5+")
+ @pytest.mark.asyncio(forbid_global_loop=True)
+- def test_asyncio_component_404(event_loop):
++ async def test_asyncio_component_404(event_loop):
+ """
+ If something connects but then gets aborted, it should still try
+ to re-connect (in real cases this could be e.g. wrong path,
+@@ -151,4 +151,4 @@ def done(f):
+ finished.set_result(None)
+ txaio.config.loop = orig_loop
+ f.add_done_callback(done)
+- return finished
++ await finished
diff --git a/dev-python/autobahn/metadata.xml b/dev-python/autobahn/metadata.xml
index 67c2b1b9d76d..c82c8df3b0dd 100644
--- a/dev-python/autobahn/metadata.xml
+++ b/dev-python/autobahn/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>dolsen@gentoo.org</email>
- <name>Brian Dolbec</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/autocommand/autocommand-2.2.2.ebuild b/dev-python/autocommand/autocommand-2.2.2.ebuild
index 458d17f0cb76..7fde041a743b 100644
--- a/dev-python/autocommand/autocommand-2.2.2.ebuild
+++ b/dev-python/autocommand/autocommand-2.2.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -22,4 +22,8 @@ LICENSE="LGPL-3+"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.2.2-setuptools-license.patch
+)
+
distutils_enable_tests pytest
diff --git a/dev-python/autocommand/files/autocommand-2.2.2-setuptools-license.patch b/dev-python/autocommand/files/autocommand-2.2.2-setuptools-license.patch
new file mode 100644
index 000000000000..b0d6fdd5a2f8
--- /dev/null
+++ b/dev-python/autocommand/files/autocommand-2.2.2-setuptools-license.patch
@@ -0,0 +1,26 @@
+https://bugs.gentoo.org/917754
+https://github.com/Lucretiel/autocommand/issues/28
+https://github.com/Lucretiel/autocommand/pull/31
+
+From cf98b8bc024f536565a67369a9f9a506fe67b942 Mon Sep 17 00:00:00 2001
+From: Ben Greiner <code@bnavigator.de>
+Date: Fri, 22 Dec 2023 14:15:46 +0100
+Subject: [PATCH] License is dynamic
+
+---
+ pyproject.toml | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index aa30b35..5221f65 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -18,6 +18,7 @@ classifiers = [
+ "Topic :: Software Development :: Libraries",
+ "Topic :: Software Development :: Libraries :: Python Modules",
+ ]
++dynamic = [ "license" ]
+
+ [project.urls]
+ "Homepage" = "https://github.com/Lucretiel/autocommand"
+
diff --git a/dev-python/automat/automat-22.10.0.ebuild b/dev-python/automat/automat-22.10.0.ebuild
index 418e3705ed2a..5c0effe3f064 100644
--- a/dev-python/automat/automat-22.10.0.ebuild
+++ b/dev-python/automat/automat-22.10.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/autopage/autopage-0.5.2.ebuild b/dev-python/autopage/autopage-0.5.2.ebuild
index 4a683e92c60e..63b0a3403a3b 100644
--- a/dev-python/autopage/autopage-0.5.2.ebuild
+++ b/dev-python/autopage/autopage-0.5.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/autopep8/Manifest b/dev-python/autopep8/Manifest
index 41712f9ee349..0aef665d4b91 100644
--- a/dev-python/autopep8/Manifest
+++ b/dev-python/autopep8/Manifest
@@ -1 +1 @@
-DIST autopep8-2.0.4_p20231027.gh.tar.gz 146180 BLAKE2B 3818423c9683157df0c3ed905a225228da7ca44a361247aecbc84b70bd5476a148c6ceb38598b84ff337bf66b1fadcbec47c79738954d90fe1f04f31a467441a SHA512 28c88acd0863d7f6a7333150ce9b916e4776eefacc7eeb7c4de14a3c823c9331fb15fef03f2288ae921ddef37c19191a6550b152df6331d075217908ab1b3a7f
+DIST autopep8-2.3.1.tar.gz 92064 BLAKE2B 735abcd2e9a5cfc2783dbe3f25a46e841ab71575e3e22f75750a4c1a49a8ca1676723af76785b37f0f95aa8ebe798214be5e89964673dd3dcc767db1c850f87e SHA512 27751ea37d3067efb693acf4872b9e15f1815f1d4116d73b504d491382e4e54337afaef4a1f171979d4cc737b0014e8ebfbc0d34fe02255c39c6b5b09c263067
diff --git a/dev-python/autopep8/autopep8-2.0.4_p20231027.ebuild b/dev-python/autopep8/autopep8-2.0.4_p20231027.ebuild
deleted file mode 100644
index 81dbf312a6ed..000000000000
--- a/dev-python/autopep8/autopep8-2.0.4_p20231027.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Automatically formats Python code to conform to the PEP 8 style guide"
-HOMEPAGE="
- https://github.com/hhatto/autopep8/
- https://pypi.org/project/autopep8/
-"
-if [[ ${PV} == *9999* ]]; then
- EGIT_REPO_URI="https://github.com/hhatto/${PN}.git"
- inherit git-r3
-else
- KEYWORDS="~alpha amd64 arm64 ~ia64 ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux"
- COMMIT="af7399d90926f2fe99a71f15197a08fa197f73a1"
- SRC_URI="
- https://github.com/hhatto/autopep8/archive/${COMMIT}.tar.gz -> ${P}.gh.tar.gz
- "
- S="${WORKDIR}/${PN}-${COMMIT}"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/pycodestyle-2.10[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
-
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # fails due to deprecation warnings
- test/test_autopep8.py::CommandLineTests::test_in_place_no_modifications_no_writes
- test/test_autopep8.py::CommandLineTests::test_in_place_no_modifications_no_writes_with_empty_file
- )
-
- epytest
-}
diff --git a/dev-python/autopep8/autopep8-2.3.1.ebuild b/dev-python/autopep8/autopep8-2.3.1.ebuild
new file mode 100644
index 000000000000..e779eb3d16ed
--- /dev/null
+++ b/dev-python/autopep8/autopep8-2.3.1.ebuild
@@ -0,0 +1,29 @@
+# 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..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Automatically formats Python code to conform to the PEP 8 style guide"
+HOMEPAGE="
+ https://github.com/hhatto/autopep8/
+ https://pypi.org/project/autopep8/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm64 ~ia64 ~ppc ~ppc64 sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/pycodestyle-2.12.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/autopep8/autopep8-9999.ebuild b/dev-python/autopep8/autopep8-9999.ebuild
deleted file mode 100644
index 1d564bd34c07..000000000000
--- a/dev-python/autopep8/autopep8-9999.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Automatically formats Python code to conform to the PEP 8 style guide"
-HOMEPAGE="
- https://github.com/hhatto/autopep8/
- https://pypi.org/project/autopep8/
-"
-if [[ ${PV} == *9999* ]]; then
- EGIT_REPO_URI="https://github.com/hhatto/${PN}.git"
- inherit git-r3
-else
- inherit pypi
- KEYWORDS="~alpha ~amd64 ~arm64 ~ia64 ~ppc ~ppc64 ~sparc ~x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/pycodestyle-2.10[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/autoprop/autoprop-4.1.0.ebuild b/dev-python/autoprop/autoprop-4.1.0.ebuild
index f0d23573080b..c64d75ac7f00 100644
--- a/dev-python/autoprop/autoprop-4.1.0.ebuild
+++ b/dev-python/autoprop/autoprop-4.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -15,8 +15,8 @@ HOMEPAGE="
"
LICENSE="MIT"
-KEYWORDS="~amd64 ~arm64"
SLOT="0"
+KEYWORDS="~amd64 ~arm64"
RDEPEND="
>=dev-python/signature-dispatch-1.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/aws-sam-translator/Manifest b/dev-python/aws-sam-translator/Manifest
index 37437679f0e7..8b7241b11a47 100644
--- a/dev-python/aws-sam-translator/Manifest
+++ b/dev-python/aws-sam-translator/Manifest
@@ -1,2 +1 @@
-DIST serverless-application-model-1.80.0.gh.tar.gz 5120643 BLAKE2B de9868384b73faa5be3950db9e54308d1411f0f49ca0b758bbcbbebe4a83df5489968de394ba74b8ad065489d6a40e53ef2b317258510ffd8d1cc07bc4acc9e6 SHA512 0a82d8569c98ca85e528eff23fbe00121ea244ddb395bd6f8a3ddc1de5f09bf6d24c8ead9392cd0f880f8e075cce9cc6685c1d38bc291ad835709dc00c674a05
-DIST serverless-application-model-1.81.0.gh.tar.gz 5135291 BLAKE2B a55cf5600184e49f3168f4fef201167b91469c9968cff6350c0138fb013c23140b94144564d0ca764d91dc7e683e8f8e2e15ed57277b6e6f71cdef419f93b822 SHA512 939d882c4c64396855f0ff6ae168554dd25dc73fe77e0c34c195be408850b8b9109b9e5b7dc7375a1fa9f53462c573a12683e36fd1d3cf0e9014b754a014f1b9
+DIST serverless-application-model-1.89.0.gh.tar.gz 5659213 BLAKE2B 1b8128c904ee1db34e722e0e4d5e7a0b16685dfbc589c390e34679b75481afad963a30f40d18bedb29010f62a338d1818da957ce6b58b7ee63d83444dccfc8ac SHA512 899fe08f3a16669de86ad3861d1072017af5fb3d2254583e502970c77e280d0ccb39b6a8f7e647acb94fb0cc6305aba35a98663427114764300d69f9c3b5e2fe
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.80.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.80.0.ebuild
deleted file mode 100644
index 22ea734192d7..000000000000
--- a/dev-python/aws-sam-translator/aws-sam-translator-1.80.0.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 multiprocessing
-
-MY_P=serverless-application-model-${PV}
-DESCRIPTION="A library that transform SAM templates into AWS CloudFormation templates"
-HOMEPAGE="
- https://github.com/aws/serverless-application-model/
- https://pypi.org/project/aws-sam-translator/
-"
-SRC_URI="
- https://github.com/aws/serverless-application-model/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- <dev-python/boto3-2[${PYTHON_USEDEP}]
- >=dev-python/boto3-1.19.5[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.2[${PYTHON_USEDEP}]
- <dev-python/pydantic-3[${PYTHON_USEDEP}]
- >=dev-python/pydantic-1.8[${PYTHON_USEDEP}]
- <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # so much noise...
- sed -i -e '/log_cli/d' pytest.ini || die
-
- # deps are installed by ebuild, don't try to reinstall them via pip
- truncate --size=0 requirements/*.txt || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x AWS_DEFAULT_REGION=us-east-1
- epytest -o addopts= -o filterwarnings= \
- -p xdist -n "$(makeopts_jobs)" --dist=worksteal
-}
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.81.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.81.0.ebuild
deleted file mode 100644
index 63efd590ab79..000000000000
--- a/dev-python/aws-sam-translator/aws-sam-translator-1.81.0.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 multiprocessing
-
-MY_P=serverless-application-model-${PV}
-DESCRIPTION="A library that transform SAM templates into AWS CloudFormation templates"
-HOMEPAGE="
- https://github.com/aws/serverless-application-model/
- https://pypi.org/project/aws-sam-translator/
-"
-SRC_URI="
- https://github.com/aws/serverless-application-model/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- <dev-python/boto3-2[${PYTHON_USEDEP}]
- >=dev-python/boto3-1.19.5[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.2[${PYTHON_USEDEP}]
- <dev-python/pydantic-3[${PYTHON_USEDEP}]
- >=dev-python/pydantic-1.8[${PYTHON_USEDEP}]
- <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # so much noise...
- sed -i -e '/log_cli/d' pytest.ini || die
-
- # deps are installed by ebuild, don't try to reinstall them via pip
- truncate --size=0 requirements/*.txt || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x AWS_DEFAULT_REGION=us-east-1
- epytest -o addopts= -o filterwarnings= \
- -p xdist -n "$(makeopts_jobs)" --dist=worksteal
-}
diff --git a/dev-python/aws-sam-translator/aws-sam-translator-1.89.0.ebuild b/dev-python/aws-sam-translator/aws-sam-translator-1.89.0.ebuild
new file mode 100644
index 000000000000..98b4f74477da
--- /dev/null
+++ b/dev-python/aws-sam-translator/aws-sam-translator-1.89.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=( python3_{10..13} )
+
+inherit distutils-r1 multiprocessing
+
+MY_P=serverless-application-model-${PV}
+DESCRIPTION="A library that transform SAM templates into AWS CloudFormation templates"
+HOMEPAGE="
+ https://github.com/aws/serverless-application-model/
+ https://pypi.org/project/aws-sam-translator/
+"
+SRC_URI="
+ https://github.com/aws/serverless-application-model/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/boto3-2[${PYTHON_USEDEP}]
+ >=dev-python/boto3-1.19.5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2[${PYTHON_USEDEP}]
+ <dev-python/pydantic-3[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.8[${PYTHON_USEDEP}]
+ <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # so much noise...
+ sed -i -e '/log_cli/d' pytest.ini || die
+
+ # deps are installed by ebuild, don't try to reinstall them via pip
+ truncate --size=0 requirements/*.txt || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x AWS_DEFAULT_REGION=us-east-1
+ epytest -o addopts= -o filterwarnings= \
+ -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
diff --git a/dev-python/aws-xray-sdk/Manifest b/dev-python/aws-xray-sdk/Manifest
index 8af6bc8c09c5..71721528c17e 100644
--- a/dev-python/aws-xray-sdk/Manifest
+++ b/dev-python/aws-xray-sdk/Manifest
@@ -1 +1 @@
-DIST aws-xray-sdk-python-2.12.1.gh.tar.gz 275525 BLAKE2B 7aae0cc3d6b733ee80b553d087bd85d02329c7da3a8902cb428823af4a53d47a14089a274cfccdfb197a77370dcb71775e1d111bb76205a1f09f9b60a5c92967 SHA512 3c830cf81f353a2805b641bda3d38d72a1286d413e0cd087bfeac78bfe00e7853c19ddab96f18275e7fd95317c2a6650d5e4b287d63c1d3900b25414a525c3dc
+DIST aws-xray-sdk-python-2.14.0.gh.tar.gz 276813 BLAKE2B ce9a6c8a3b9acd4cb1e538c75702bebc1e392d350a999e8c609ddb900acadd0ecef11b2ce326786a64a73de3d84b0e18e6f4dd4ad91ece6a13283d727039925c SHA512 e9f7a299e35741a63de999dbd4931b82aab97b4c690e9abec4d25106a4a1b1dbbda605b7ec8541000f97cdcf17fed1283abf8d561db63cc4ac1ed11405458f29
diff --git a/dev-python/aws-xray-sdk/aws-xray-sdk-2.12.1.ebuild b/dev-python/aws-xray-sdk/aws-xray-sdk-2.12.1.ebuild
deleted file mode 100644
index 06fa6d981436..000000000000
--- a/dev-python/aws-xray-sdk/aws-xray-sdk-2.12.1.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=aws-xray-sdk-python-${PV}
-DESCRIPTION="AWS X-Ray SDK for Python"
-HOMEPAGE="
- https://github.com/aws/aws-xray-sdk-python/
- https://pypi.org/project/aws-xray-sdk/
-"
-SRC_URI="
- https://github.com/aws/aws-xray-sdk-python/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/botocore-1.12.122[${PYTHON_USEDEP}]
- dev-python/wrapt[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/bottle[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/sqlalchemy[${PYTHON_USEDEP}]
- dev-python/webtest[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x DJANGO_SETTINGS_MODULE=tests.ext.django.app.settings
- local -x AWS_SECRET_ACCESS_KEY=fake_key
- local -x AWS_ACCESS_KEY_ID=fake_id
-
- local EPYTEST_DESELECT=(
- # Internet access
- tests/test_patcher.py::test_external_file
- tests/test_patcher.py::test_external_module
- tests/test_patcher.py::test_external_submodules_full
- tests/test_patcher.py::test_external_submodules_ignores_file
- tests/test_patcher.py::test_external_submodules_ignores_module
- # benchmark
- tests/test_local_sampling_benchmark.py
- # Fails, probably because above is ignored
- tests/test_async_local_storage.py::test_localstorage_isolation
- tests/test_async_recorder.py::test_capture
- tests/test_async_recorder.py::test_concurrent_calls
- tests/test_async_recorder.py::test_async_context_managers
- )
- local EPYTEST_IGNORE=(
- # unpackaged deps
- tests/ext/aiobotocore
- tests/ext/pg8000
- tests/ext/psycopg2
- tests/ext/pymysql
- tests/ext/pynamodb
- tests/ext/sqlalchemy_core/test_postgres.py
- tests/ext/django/test_db.py
- # Internet access
- tests/ext/httplib
- tests/ext/httpx
- tests/ext/requests
- # requires old package vesions
- tests/ext/aiohttp
- tests/ext/django
- tests/ext/flask_sqlalchemy
- tests/ext/sqlalchemy
- )
-
- epytest -p no:django
-}
diff --git a/dev-python/aws-xray-sdk/aws-xray-sdk-2.14.0.ebuild b/dev-python/aws-xray-sdk/aws-xray-sdk-2.14.0.ebuild
new file mode 100644
index 000000000000..7389152447df
--- /dev/null
+++ b/dev-python/aws-xray-sdk/aws-xray-sdk-2.14.0.ebuild
@@ -0,0 +1,91 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=aws-xray-sdk-python-${PV}
+DESCRIPTION="AWS X-Ray SDK for Python"
+HOMEPAGE="
+ https://github.com/aws/aws-xray-sdk-python/
+ https://pypi.org/project/aws-xray-sdk/
+"
+SRC_URI="
+ https://github.com/aws/aws-xray-sdk-python/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-1.12.122[${PYTHON_USEDEP}]
+ dev-python/wrapt[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/bottle[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/webtest[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x DJANGO_SETTINGS_MODULE=tests.ext.django.app.settings
+ local -x AWS_SECRET_ACCESS_KEY=fake_key
+ local -x AWS_ACCESS_KEY_ID=fake_id
+
+ local EPYTEST_DESELECT=(
+ # Internet access
+ tests/test_patcher.py::test_external_file
+ tests/test_patcher.py::test_external_module
+ tests/test_patcher.py::test_external_submodules_full
+ tests/test_patcher.py::test_external_submodules_ignores_file
+ tests/test_patcher.py::test_external_submodules_ignores_module
+ # benchmark
+ tests/test_local_sampling_benchmark.py
+ # Fails, probably because above is ignored
+ tests/test_async_local_storage.py::test_localstorage_isolation
+ tests/test_async_recorder.py::test_capture
+ tests/test_async_recorder.py::test_concurrent_calls
+ tests/test_async_recorder.py::test_async_context_managers
+ # connects to local mysqld
+ tests/ext/sqlalchemy_core/test_dburl.py::test_db_url_with_special_char
+ # TODO
+ tests/test_lambda_context.py::test_disable
+ tests/test_lambda_context.py::test_facade_segment_generation
+ tests/test_lambda_context.py::test_put_subsegment
+ )
+ local EPYTEST_IGNORE=(
+ # unpackaged deps
+ tests/ext/aiobotocore
+ tests/ext/pg8000
+ tests/ext/psycopg2
+ tests/ext/pymysql
+ tests/ext/pynamodb
+ tests/ext/sqlalchemy_core/test_postgres.py
+ tests/ext/django/test_db.py
+ # Internet access
+ tests/ext/httplib
+ tests/ext/httpx
+ tests/ext/requests
+ # requires old package vesions
+ tests/ext/aiohttp
+ tests/ext/django
+ tests/ext/flask_sqlalchemy
+ tests/ext/sqlalchemy
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/awxkit/Manifest b/dev-python/awxkit/Manifest
deleted file mode 100644
index 7cbc5b67addf..000000000000
--- a/dev-python/awxkit/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST awx-23.4.0.gh.tar.gz 69984966 BLAKE2B d82f0f8d14627cdd3bcb178e9c44f245b15c7ba84c6ffab2ef915ad0eceed9c0cacd5ef69ec96bd8fe2509423e617a47923072d15ee1ca2ab7f8c76ffd903626 SHA512 ab1ed729b40ca82febfe99ab2e2c8c84e1632243cc78484268225fce4cf7c545f2078df0517bade7b2ff3d12d7ad4b152a3a24dd8e0d5601cd2033b9f3cd3dd5
-DIST awx-23.5.0.gh.tar.gz 70044941 BLAKE2B cd52d733e681b5c60f12af917dc17f33f921cdd31e5410580d499e216e4ac4fe4d11b7eb995f081b12f2308f135c765c6a09ec15a3f1defc6cc521104848ff5a SHA512 3b44a48911772f1c90bbd4d3c768c88aa9453c2171b58d7ad52d2ec7016009966016532fde3f2c44f7990f9428cec02ce408d51f0d45e98d141210b137ba8077
diff --git a/dev-python/awxkit/awxkit-23.4.0.ebuild b/dev-python/awxkit/awxkit-23.4.0.ebuild
deleted file mode 100644
index 52670ed68dde..000000000000
--- a/dev-python/awxkit/awxkit-23.4.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_10 )
-
-inherit distutils-r1
-
-MY_P=awx-${PV}
-DESCRIPTION="Command line interface for Ansible AWX"
-HOMEPAGE="
- https://github.com/ansible/awx/
- https://pypi.org/project/awxkit/
-"
-# no sdist, as of 22.0.0
-SRC_URI="
- https://github.com/ansible/awx/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/awxkit"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
- dev-python/websocket-client[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
- printf '%s\n' "${PV}" > VERSION || die
-
- sed -e 's|websocket-client==[[:digit:]\.]*|websocket-client|' \
- -e "/'clean'/d" \
- -i setup.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/awxkit/awxkit-23.5.0.ebuild b/dev-python/awxkit/awxkit-23.5.0.ebuild
deleted file mode 100644
index 52670ed68dde..000000000000
--- a/dev-python/awxkit/awxkit-23.5.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_10 )
-
-inherit distutils-r1
-
-MY_P=awx-${PV}
-DESCRIPTION="Command line interface for Ansible AWX"
-HOMEPAGE="
- https://github.com/ansible/awx/
- https://pypi.org/project/awxkit/
-"
-# no sdist, as of 22.0.0
-SRC_URI="
- https://github.com/ansible/awx/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/awxkit"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
- dev-python/websocket-client[${PYTHON_USEDEP}]
- dev-python/pyjwt[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
- printf '%s\n' "${PV}" > VERSION || die
-
- sed -e 's|websocket-client==[[:digit:]\.]*|websocket-client|' \
- -e "/'clean'/d" \
- -i setup.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/awxkit/metadata.xml b/dev-python/awxkit/metadata.xml
deleted file mode 100644
index 1d13d144946a..000000000000
--- a/dev-python/awxkit/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
-<maintainer type="person">
- <email>zmedico@gentoo.org</email>
- <name>Zac Medico</name>
-</maintainer>
-<maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
-</maintainer>
-<upstream>
- <remote-id type="pypi">awxkit</remote-id>
- <remote-id type="github">ansible/awx</remote-id>
- <bugs-to>https://github.com/ansible/awx/issues</bugs-to>
-</upstream>
-</pkgmetadata>
diff --git a/dev-python/babelfish/Manifest b/dev-python/babelfish/Manifest
index 73a014db0e1b..8f2f2b8c3934 100644
--- a/dev-python/babelfish/Manifest
+++ b/dev-python/babelfish/Manifest
@@ -1 +1 @@
-DIST babelfish-0.6.0.gh.tar.gz 90886 BLAKE2B deee75aef23cbcb7c64f385c303310e5ce1ef0a3180729e47e59b8e85015ff36360a4be74ef32869421c6d90cf185ad427a7d55b9ef3cf20f551233dae3d425f SHA512 9d3309e67815c301578533fdaf8baae946ba87148b458f7b01315203d2d4356dd770c1a0b7a0ffbba14036b77f1463d67e3b5732efa6682cb6afdae1a8fd0a4b
+DIST babelfish-0.6.1.gh.tar.gz 93127 BLAKE2B 6c1f56432671c0ad7b18401e78637acf8488fa2aa924a4df961403e570f1adbff6d868d6e8e3797e4b26a790b65b2aad8600fc7feb665bb3a73a6a5d4664865f SHA512 e5936b08f7ecf38beea3a2da2ee32cfd93f312548459c18370326a72011aed5ed8a1908b13a091979c3fe83a984b99f299ed6c3d39a47784b4d5c48145796d04
diff --git a/dev-python/babelfish/babelfish-0.6.0-r2.ebuild b/dev-python/babelfish/babelfish-0.6.0-r2.ebuild
deleted file mode 100644
index c469345fd3b5..000000000000
--- a/dev-python/babelfish/babelfish-0.6.0-r2.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python library to work with countries and languages"
-HOMEPAGE="
- https://github.com/Diaoul/babelfish/
- https://pypi.org/project/babelfish/
-"
-SRC_URI="
- https://github.com/Diaoul/babelfish/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/babelfish/babelfish-0.6.1.ebuild b/dev-python/babelfish/babelfish-0.6.1.ebuild
new file mode 100644
index 000000000000..d29105d24fde
--- /dev/null
+++ b/dev-python/babelfish/babelfish-0.6.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library to work with countries and languages"
+HOMEPAGE="
+ https://github.com/Diaoul/babelfish/
+ https://pypi.org/project/babelfish/
+"
+SRC_URI="
+ https://github.com/Diaoul/babelfish/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/babelfish/babelfish-9999.ebuild b/dev-python/babelfish/babelfish-9999.ebuild
index 222432e837ce..607c64bac0f1 100644
--- a/dev-python/babelfish/babelfish-9999.ebuild
+++ b/dev-python/babelfish/babelfish-9999.ebuild
@@ -4,7 +4,7 @@
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 git-r3
diff --git a/dev-python/backcall/Manifest b/dev-python/backcall/Manifest
deleted file mode 100644
index fcd5a99d722f..000000000000
--- a/dev-python/backcall/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST backcall-0.2.0.tar.gz 18041 BLAKE2B 67f9ac96d26b368972a5749775a70c497b5705b37d45ba7f64c1259be776cc7f4c9d78ae51da9c1e9e46521d33bf511790675688feef88a68d25ae30cd79612d SHA512 7f086121c485c0ea4bc6935e7d116c8b14ff44ff6001a49665d0a698b6cf9a809823b9bca634a78d92cf40656f953dbac0132241327a5fa6be0ea685ff63636e
diff --git a/dev-python/backcall/backcall-0.2.0-r1.ebuild b/dev-python/backcall/backcall-0.2.0-r1.ebuild
deleted file mode 100644
index 83481a615348..000000000000
--- a/dev-python/backcall/backcall-0.2.0-r1.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Specifications for callback functions passed in to an API"
-HOMEPAGE="https://pypi.org/project/backcall/"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-
-distutils_enable_tests pytest
diff --git a/dev-python/backcall/metadata.xml b/dev-python/backcall/metadata.xml
deleted file mode 100644
index f280890ffdd4..000000000000
--- a/dev-python/backcall/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">backcall</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/backoff/backoff-2.2.1.ebuild b/dev-python/backoff/backoff-2.2.1.ebuild
index 170c3fb22e9d..1b441539b99d 100644
--- a/dev-python/backoff/backoff-2.2.1.ebuild
+++ b/dev-python/backoff/backoff-2.2.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/backports-strenum/Manifest b/dev-python/backports-strenum/Manifest
new file mode 100644
index 000000000000..88686fc247d5
--- /dev/null
+++ b/dev-python/backports-strenum/Manifest
@@ -0,0 +1 @@
+DIST backports.strenum-1.3.1.gh.tar.gz 15064 BLAKE2B 749e319c9bdbec9eb1f3beab32355f015469336d688a3672380238f44694ce82747d7515330587821a60c92e1be0c7d8afc24ed70e3fa6ece368f6e74956958a SHA512 6a285bc63e6e3cb93e67da09eac9a1546af663d80e26448eed502494910db7850437bc13b6bee8f50e5debdea3335950c2f7c612238ecfbbfb454d5216c9513e
diff --git a/dev-python/backports-strenum/backports-strenum-1.3.1.ebuild b/dev-python/backports-strenum/backports-strenum-1.3.1.ebuild
new file mode 100644
index 000000000000..e01a89c0a899
--- /dev/null
+++ b/dev-python/backports-strenum/backports-strenum-1.3.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_10 )
+
+inherit distutils-r1
+
+MY_P=${P/-/.}
+DESCRIPTION="Create enumerated constants that are also subclasses of str"
+HOMEPAGE="
+ https://github.com/clbarnes/backports.strenum/
+ https://pypi.org/project/backports.strenum/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/clbarnes/backports.strenum/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+distutils_enable_tests pytest
diff --git a/dev-python/backports-strenum/metadata.xml b/dev-python/backports-strenum/metadata.xml
new file mode 100644
index 000000000000..7e765e4fa501
--- /dev/null
+++ b/dev-python/backports-strenum/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">clbarnes/backports.strenum</remote-id>
+ <remote-id type="pypi">backports.strenum</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/backports-tarfile/Manifest b/dev-python/backports-tarfile/Manifest
new file mode 100644
index 000000000000..11d1ddacd218
--- /dev/null
+++ b/dev-python/backports-tarfile/Manifest
@@ -0,0 +1 @@
+DIST backports_tarfile-1.2.0.tar.gz 86406 BLAKE2B 20ba5dd91c609b6d7a32b8d489bae5f0d29af83d86c187a8b73e95e3fee034a07469fdfd90fc6c6e96b532b2acbf37ba9e01bdae019ca148d3a668762599fa6d SHA512 8f57526e9aabf7f778e876dab06dd7a476316bb02e9eadd703da3ba74f3b8b0c12338a32fbcb033d477a1a1ff115653a2292b730bfded208c9efb21506bc23d4
diff --git a/dev-python/backports-tarfile/backports-tarfile-1.2.0.ebuild b/dev-python/backports-tarfile/backports-tarfile-1.2.0.ebuild
new file mode 100644
index 000000000000..f5f19e44398a
--- /dev/null
+++ b/dev-python/backports-tarfile/backports-tarfile-1.2.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_PN=${PN/-/.}
+# This is a backport from Python 3.12.
+PYTHON_COMPAT=( pypy3 python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Backport of CPython tarfile module (from Python 3.12)"
+HOMEPAGE="
+ https://github.com/jaraco/backports.tarfile/
+ https://pypi.org/project/backports.tarfile/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="
+ test? (
+ dev-python/jaraco-test[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "backports.tarfile"
+ version = "${PV}"
+ description = "Backport of CPython tarfile module"
+ EOF
+}
diff --git a/dev-python/backports-tarfile/metadata.xml b/dev-python/backports-tarfile/metadata.xml
new file mode 100644
index 000000000000..63138bedd14d
--- /dev/null
+++ b/dev-python/backports-tarfile/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">jaraco/backports.tarfile</remote-id>
+ <remote-id type="pypi">backports.tarfile</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/backrefs/Manifest b/dev-python/backrefs/Manifest
index 931cc8fe56b2..273224ad84d7 100644
--- a/dev-python/backrefs/Manifest
+++ b/dev-python/backrefs/Manifest
@@ -1 +1 @@
-DIST backrefs-5.6.post1.tar.gz 5399113 BLAKE2B d5b359b0b4333baacb53dd4a7267e431cdca3fd844ba1d1120e34961979c39a9f89f8f52db16f1a8aaf1a89f18063c5301c1a46803c9e1f011e0a20bde24b126 SHA512 20ea63bd9d60db7c242faa687e464eecb8c2e1852456126e2961db14e0526f5048581ec7f7de1017c87d718544629f8491391e3be14c55133876bf169a4d71fe
+DIST backrefs-5.7.post1.tar.gz 6582270 BLAKE2B 348c94a3386fce51cdbe03c9f8dda52d0c642409edacd10b708ce7090f676888fd934a681e02bb0d01893c2a81cd69b114c8fc72e28a4137bb30f2843fe04f4f SHA512 85c9043091c3a48746252e92a82c69b7238e53329b06148aeafecc67f2750b5a2fb726d706e194313d0b3d685ba728a39ea38f2e009ce02208e332e68fba6c74
diff --git a/dev-python/backrefs/backrefs-5.6_p1.ebuild b/dev-python/backrefs/backrefs-5.6_p1.ebuild
deleted file mode 100644
index 907604808019..000000000000
--- a/dev-python/backrefs/backrefs-5.6_p1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Wrapper around re or regex that adds additional back references"
-HOMEPAGE="
- https://github.com/facelessuser/backrefs/
- https://pypi.org/project/backrefs/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/regex[${PYTHON_USEDEP}]
- dev-vcs/git
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/backrefs/backrefs-5.7_p1.ebuild b/dev-python/backrefs/backrefs-5.7_p1.ebuild
new file mode 100644
index 000000000000..2caf4be32361
--- /dev/null
+++ b/dev-python/backrefs/backrefs-5.7_p1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Wrapper around re or regex that adds additional back references"
+HOMEPAGE="
+ https://github.com/facelessuser/backrefs/
+ https://pypi.org/project/backrefs/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/regex[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/backrefs/metadata.xml b/dev-python/backrefs/metadata.xml
index 4dc4fbf9bdba..fd68b7692743 100644
--- a/dev-python/backrefs/metadata.xml
+++ b/dev-python/backrefs/metadata.xml
@@ -1,14 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>lssndrbarbieri@gmail.com</email>
- <name>Alessandro Barbieri</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/bandit/Manifest b/dev-python/bandit/Manifest
index 7fca10fffcf3..876f2cd9cff9 100644
--- a/dev-python/bandit/Manifest
+++ b/dev-python/bandit/Manifest
@@ -1 +1 @@
-DIST bandit-1.7.5.tar.gz 1970878 BLAKE2B 45787b6d1ebebb5ce25fa67173095a0e97b6f95992d828530cfade8c7f50d0c7b945884539695426f93cf3ed6a42178e18501768aa32c3b0c7019eb20aa3bc95 SHA512 81b93654ba62e6d22e8c2d534b9f575979bad4f66acd90c221d214316cd1863e7c7e179b8e2a2a8fa80034db71ebda8636adb25b36e1827194bb4639e67ada09
+DIST bandit-1.7.9.tar.gz 4225771 BLAKE2B e5d20fbf4c3a33b092c23ad356dad39543ccea4d552687b97350cb6fe960dfa004cbef627ee0e0911da147ed53c6eb57046ec57c76858c58e772bf81e2c2b82e SHA512 a71e3eb359fad952afc9e210795fb8cc6fe178305bb837e002af83eccc4a958664b69422ba93d7d72b24089ba3142667ca17909d712db1b447e78d6f7f4c9634
diff --git a/dev-python/bandit/bandit-1.7.5-r1.ebuild b/dev-python/bandit/bandit-1.7.5-r1.ebuild
deleted file mode 100644
index 24c9cb761c68..000000000000
--- a/dev-python/bandit/bandit-1.7.5-r1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A security linter from OpenStack Security"
-HOMEPAGE="
- https://github.com/PyCQA/bandit/
- https://pypi.org/project/bandit/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/GitPython-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/testscenarios-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.3.0[${PYTHON_USEDEP}]
- >=dev-python/beautifulsoup4-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/pylint-1.9.4[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
- ' 3.{8..10})
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/bandit/bandit-1.7.9.ebuild b/dev-python/bandit/bandit-1.7.9.ebuild
new file mode 100644
index 000000000000..27c35a502ccb
--- /dev/null
+++ b/dev-python/bandit/bandit-1.7.9.ebuild
@@ -0,0 +1,44 @@
+# 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="A security linter from OpenStack Security"
+HOMEPAGE="
+ https://github.com/PyCQA/bandit/
+ https://pypi.org/project/bandit/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/GitPython-3.1.30[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/beautifulsoup4-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ >=dev-python/pylint-1.9.4[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.3.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
+ ' 3.10)
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/bareos/Manifest b/dev-python/bareos/Manifest
index ede21f58a067..82c521af62f8 100644
--- a/dev-python/bareos/Manifest
+++ b/dev-python/bareos/Manifest
@@ -1 +1,4 @@
-DIST bareos-22.1.0.tar.gz 14719993 BLAKE2B 38e354d3227d401c69ffb003c83ae90c2067720490af089d529da636bc300e2fb5042451ab439b8b102f6850aeadbe8dedc4311dba13f800eab0bc77d89f809d SHA512 dea64c6eb34a93f1a93eb6b0ac628a75101ac8873e06800a256f226e8f3a556fe39ce4e500246f9c51de30a2b0907732f789c6394f29b7bb9d983a64c709ad2c
+DIST bareos-22.1.4.tar.gz 14747141 BLAKE2B 1b155c35f22120b07151a54ef314c6f8f42ea14c3f194d787a58ece41f8de148f0b34d0cc6a54f578b1bb5c4d3ae2a7736829f6d2cd642d8e001f1797a18052a SHA512 4285f0f524c6f30ae8f7dd67e2a732cf983663f56b053968a7f10d753e38bc2ee1e2673d1fb6a9b516994b51b45215fac153e301b893c9cb31a164ebff0d4c85
+DIST bareos-22.1.5.tar.gz 14747894 BLAKE2B 560bc1ceb34fccfb370e8643d24917e24b2440158dd267532c2cb7e4a543d29b81b033e7a34c46eda4c6d71165e48da9332605c3bcd073fbafa38f3ba8be69a2 SHA512 8138f2142f705e2448f8bc2e00f39fe4f734ce8fe687e3cf00c9ff9bda9a3df73ebd7fb86d850ba755588cdaca324e1ba9034987ecb975ce47dd279395ee03b4
+DIST bareos-23.0.2.tar.gz 14724410 BLAKE2B 0fe86c10d62ad322dfbcd5ac972aec27d6f0ad31e156d359398739b2bfd784a02ce89b26b6bdfcf279265114a4e6e13efe21edab8b87cff15f1f9f3ad055c64b SHA512 a8d8270c8060480fe87da9252de86a75eea1cc427db63536f848d19a2c23c499ca294a9656d9a6aac73a756f84c96a2d72f13d1cede7948e18bf93efc2ecfc29
+DIST bareos-23.0.3.tar.gz 14744648 BLAKE2B be31a4284ff2ff97ace51f895637cfafac666d4e9d95524e5e03d22798427ff551419422fb41783d3fda7288a0cd982c8dde751a15428346c61e3fa64bfa80c0 SHA512 42ede6976c894f89836ae272598edce8b3dadbdceb3b429724ea4c01a980470c161f03e54b58b17bd3fa3a7f750b4a79e5f96070fee5aae4b4fe73e79b2d8b61
diff --git a/dev-python/bareos/bareos-22.1.0.ebuild b/dev-python/bareos/bareos-22.1.0.ebuild
deleted file mode 100644
index 16447ca3586b..000000000000
--- a/dev-python/bareos/bareos-22.1.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..12} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="python bindings for bareos network backup suite"
-HOMEPAGE="https://www.bareos.com/"
-SRC_URI="https://github.com/${PN}/${PN}/archive/Release/${PV}.tar.gz -> ${P}.tar.gz"
-S=${WORKDIR}/${PN}-Release-${PV}/python-bareos
-
-LICENSE="AGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-RESTRICT="mirror test"
diff --git a/dev-python/bareos/bareos-22.1.4.ebuild b/dev-python/bareos/bareos-22.1.4.ebuild
new file mode 100644
index 000000000000..59d31548b8d2
--- /dev/null
+++ b/dev-python/bareos/bareos-22.1.4.ebuild
@@ -0,0 +1,18 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1
+
+DESCRIPTION="python bindings for bareos network backup suite"
+HOMEPAGE="https://www.bareos.com/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/Release/${PV}.tar.gz -> ${P}.tar.gz"
+S=${WORKDIR}/${PN}-Release-${PV}/python-bareos
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="mirror test"
diff --git a/dev-python/bareos/bareos-22.1.5.ebuild b/dev-python/bareos/bareos-22.1.5.ebuild
new file mode 100644
index 000000000000..59d31548b8d2
--- /dev/null
+++ b/dev-python/bareos/bareos-22.1.5.ebuild
@@ -0,0 +1,18 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1
+
+DESCRIPTION="python bindings for bareos network backup suite"
+HOMEPAGE="https://www.bareos.com/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/Release/${PV}.tar.gz -> ${P}.tar.gz"
+S=${WORKDIR}/${PN}-Release-${PV}/python-bareos
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="mirror test"
diff --git a/dev-python/bareos/bareos-23.0.2.ebuild b/dev-python/bareos/bareos-23.0.2.ebuild
new file mode 100644
index 000000000000..59d31548b8d2
--- /dev/null
+++ b/dev-python/bareos/bareos-23.0.2.ebuild
@@ -0,0 +1,18 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1
+
+DESCRIPTION="python bindings for bareos network backup suite"
+HOMEPAGE="https://www.bareos.com/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/Release/${PV}.tar.gz -> ${P}.tar.gz"
+S=${WORKDIR}/${PN}-Release-${PV}/python-bareos
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="mirror test"
diff --git a/dev-python/bareos/bareos-23.0.3.ebuild b/dev-python/bareos/bareos-23.0.3.ebuild
new file mode 100644
index 000000000000..59d31548b8d2
--- /dev/null
+++ b/dev-python/bareos/bareos-23.0.3.ebuild
@@ -0,0 +1,18 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1
+
+DESCRIPTION="python bindings for bareos network backup suite"
+HOMEPAGE="https://www.bareos.com/"
+SRC_URI="https://github.com/${PN}/${PN}/archive/Release/${PV}.tar.gz -> ${P}.tar.gz"
+S=${WORKDIR}/${PN}-Release-${PV}/python-bareos
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="mirror test"
diff --git a/dev-python/bashate/bashate-2.1.1.ebuild b/dev-python/bashate/bashate-2.1.1.ebuild
index f5ee7051717c..bcce570520c6 100644
--- a/dev-python/bashate/bashate-2.1.1.ebuild
+++ b/dev-python/bashate/bashate-2.1.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="A pep8 equivalent for bash scripts"
diff --git a/dev-python/basho-erlastic/basho-erlastic-2.1.1-r1.ebuild b/dev-python/basho-erlastic/basho-erlastic-2.1.1-r1.ebuild
index c452174b517c..eed7f5ce66a4 100644
--- a/dev-python/basho-erlastic/basho-erlastic-2.1.1-r1.ebuild
+++ b/dev-python/basho-erlastic/basho-erlastic-2.1.1-r1.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/bcrypt/Manifest b/dev-python/bcrypt/Manifest
index 15f59a74e789..f29e037966ea 100644
--- a/dev-python/bcrypt/Manifest
+++ b/dev-python/bcrypt/Manifest
@@ -1,97 +1,71 @@
-DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
-DIST base64-0.13.0.crate 62070 BLAKE2B b957f65cdb1e28baeca0cefc92fa98be797409b7dabd15e0e88db6cdfb89779b662cba9f2270fbf3b7b66948fdc46c118b8040a78ab72049c48a928fa802bee0 SHA512 991a72999839daa232f508c5b24e7d3225e8a26db8d1d0e747881b115af9e408b92374e163b31e0b0d324c1c2e57e8e38d66861b61eb0a1dba87bb5871940151
-DIST base64-0.21.5.crate 77134 BLAKE2B 901cf92d7dd8af2bbb789ffbe60972c1fd295b16690ecebbcb500e4613afa057ab2b294bbafdcaa4007f46412825260a0711d89e55664418a503dde02c8afd1a SHA512 40b1d8470a932c8b7f31717e33bf26742c1bf920caae639b8a992f77e64d5e6d287569742c1348daa25b7325f8ca8d8a312754a743dab3932181f37149d91b16
-DIST bcrypt-0.13.0.crate 10938 BLAKE2B e23426180ef1683d08751480da3ffccfa40be5ffa92f313680b78daf66987719d84642414a47898fc7641f132a3a38f2e8e7a6b7dfef51a153ea6dd1619a141f SHA512 093178c6b3701847ca1e4619af96cdf19b1a52fa58210573bb2b7dcb6f0a368df0026bf99a1b6f8008f4b28a0938a2f2f6105841109c40f6a60a60765f26d3bf
-DIST bcrypt-0.15.0.crate 11631 BLAKE2B 47a671e252bc4c14d8323031e34b351e57d8c8d5e0683e994a792b8211cdb72432d9b1dbcdf643804fd7e1d3064beb00b0df1ca83b01991233b290ae7b61a1cf SHA512 550cd503ac96d6b12b6fb7336d78423516905f2b60fafc0fe907adac694d74ab97a25937b562d14aea2260319c97b686496e17578f817a0c18362e1dc9f8ec53
-DIST bcrypt-4.0.1.tar.gz 25498 BLAKE2B 9918409eedcd9df037d0a2c89ef32fd960a2efd6582fa0e79124a5bb7cac90315b9d5d4168e9aa57e2ab1b41a85c72049376e9fe51da3d5bc9073951f94c81b6 SHA512 be127d37d96b4b615e7bc2ef81b0fb29df9e95a3262742a1162b1b90676205ae9b018285a1bd145d32ed32f0db4e6f7d87c9a278fd1b38cff6629fd4f85185d8
-DIST bcrypt-4.1.0.tar.gz 26013 BLAKE2B fa531cf4bd5ae46e9a7cffe8a5aea42b5a899792d836d816459ff187911b6288943622717b6a04d7bea210de8457021a9c03ccb5a155772522b6aba75dc700c1 SHA512 4f38f15a4280eb5b4b3b5b7329e18a5907aa401c715c29c6ea1c2028bce3be421d6a87cdc706004ae16433d10d5cc96330c9dbbb1787442acce705af7a265a2e
-DIST bcrypt-4.1.1.tar.gz 26080 BLAKE2B 136a1de7e61c73314c4df3c2fc6bff4a2cceaf7e8b23ad535e12f46f879c6f053643e372a106ce214e3f999246517b1467ffb2ff546d9bd147b9150de68f6249 SHA512 a6acef147f0dfc00ede36c7e5138dbeb6d8ad2e458daf51a66a46795067e9e57d139f326540de9cd99d5795d6ff53dc571a9b30453941ce4ecb9d935406a4862
+DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635
+DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20
+DIST bcrypt-0.15.1.crate 11628 BLAKE2B 71072e92ac88393d5e7676f5afeb16ef8588232f390f02ad15b5ad31ca3a96daa431f867aa6cd52aff81be0cea43c46dbcf53edbf7db571556ea746a5b1713dc SHA512 40d4bec4a7a52a54b3be16e9fe52b8f2734c0f1e36bfa76059d5edb75339b125d70416919ad1c47df569f4abe6723470731bded3b7335c77b4967ea024cc7217
+DIST bcrypt-4.1.3.tar.gz 26456 BLAKE2B 3e88047cc932bfc657f937dcf3af21c9db012cf1cdfe4a714dad6e5ab73f539e5d385759c90face464b2bbe13444ed07107f4f02f6f285d68d66d26fce372e8f SHA512 141c1537c25e15d9fc906e0f59ca8b9758a2e6cc302136521a5f82dc46b61f6977cfa6dea79878a47141cb64ead00c84157918ce0d18165e8bfea1a83462c8fe
+DIST bcrypt-4.2.0.tar.gz 24294 BLAKE2B 5abe423b725a9f0ea45ff723a48dc814673401046b114dc28926bf5c53ee7d9bf0230f3d181a07485c6368335425a35e43364b2ffc9118222f683d2d66effc85 SHA512 1584cd5a6d4d6874e74598f173e45dd3b2d5e91e4156162e1d2645a1a78a1b1f65898e7bbda9461d62cbb804363c7782970c8240f0dc8b50aebad3fb7d91d531
DIST bcrypt-pbkdf-0.10.0.crate 11032 BLAKE2B 9696f024b049c9d0ee4299e2086eea2d3389c47576d803d00eaccc530589c6158a845fc42afb1b59c3147ced8c9695220047fb2a4283723710011b00de511b3c SHA512 857ae23e1996c11e1e7375f18addffd60c6d02972d5856d594f0e03750065481f414addcf0c846e9f65d93c41982ca6fb3a464a4dc13fb56f67ca39e373def34
-DIST bcrypt-pbkdf-0.8.1.crate 10605 BLAKE2B 6b94598813f9899f1fbe5228e549918e935f3baa3098a8301519dd52fb42470ad908cd0dbd3e3635a05084204a334753958845a76e5ff7a4b9bc0f6063786023 SHA512 70968dd876b3d7d2d5cb4aa1d5b209ca3cb1cbb07aff98ce9dfbcfd8dacce8eddc2f61bd5404cb3824c3a557caaf03f611571f86f1dc7f849aed3ac652367823
-DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
-DIST block-buffer-0.10.3.crate 10465 BLAKE2B 32f0089971bb759244b73a75bdbbeb2d24f0422e92ceb0ae0afe3c698e3fabb371112a2eba3dab16a3859420d492c0ac984bfbb25e59e0c31951501cc652aab7 SHA512 e29faab70f8f2965a58089728274ec34bc97d681526687868c9cb1a2c145db00717f97e77b79a04fa52bd76817d796e104b509cd2a3163085b214f8eb68ac04f
+DIST bitflags-2.5.0.crate 43821 BLAKE2B 2d2a78b0a19dcb39580e6f73ed6c468b0626043010b34661084944c83561fe49db24bee1ab57fd692d57617be6506d529e095aea27b753a77e26d0b1ebf7ed78 SHA512 75d7a89e53e5e7582591932bc430e6a1db7ed0f914ded6dbcf957125be52975598df7fee14ef816f66544432ef0505f0a081f3794d17138ec429e283fe14fcf9
DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb
DIST blowfish-0.9.1.crate 16734 BLAKE2B edb9ef86b168259d37ae74ca5f961d4a2f79f0bd83c64a157b1605655001a8e82a1b40b0e03a24719dd9cc273fd50d1ad6a406b47b1925a9c2c687c119bcae0c SHA512 e005212e2cd0233321f1e84170829c6e05b4f4e47b81342e0fef7e12ac05f09dc6db288b6b28ea2826e9d19afa49366b74b186f2f20db6da77b57f09e124e3a8
-DIST byteorder-1.4.3.crate 22512 BLAKE2B d39c546ba7346df315297fc53da4bfc77ecb1f38567ddb788549ee31cae2719a8bc0b7d1f1705abb3cff033aa57af004987d90748f5a31765273b3223a011c0d SHA512 8c8000eb8ecf40351c9ce36a3a8acd7a02f81786d1b11aab85adfeffa0f2267ed74df29b2ca5d1d38128484d1d3cad2b673aa0d0441dcd0620dfd3934bb888fa
DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST cipher-0.4.3.crate 19206 BLAKE2B 72872751c936c1ff15eeb850acaa6faf38160a8ba291b8541533dbb1c8257ccae33563bfb606ea6b0e181c3e232aca8ab06535602d0816211168754a1d79f05e SHA512 1ac7725e76867ed7c93979c0ec81208e2732cca75cc7a18e28daf1ca4d6f0c32d43b5dd7aa043c6e47faf328ab7e6b32fb4b67280f5d8f1928413a4d73212228
DIST cipher-0.4.4.crate 19073 BLAKE2B 144c45c1bdc5f7aef7f4fc63b6dd85955c453537567d1f1074e436e50d0d61f8413973cf3da207a48f1560ea92f2280fc5880569c78a1dd66bf97fd1d88ccde7 SHA512 1856d8b08bc3dbd2fa5c8b97e9eae43323c7aa19203ef3e80bb49cf15b5ddc832acb7b97121a52032656353e764f1f722200b638f7c28975fec1b5c9dc908846
-DIST cpufeatures-0.2.11.crate 12727 BLAKE2B 5b91dffb779e437606db9b75d2b05c2de19069575a8272112e9a0389f5bd8de0f753cd90330b5a5bb6a3f84c9e794e96328664557db31c43853ba43097229efc SHA512 af179e269a4d5f48b50134a5e98ac541a9a0d6aa34f13fb8fd9ce8d5092352e1b322437254449ecb1bce608d8558b1cca2c79232ac1327efd887193bd1d36031
-DIST cpufeatures-0.2.5.crate 11251 BLAKE2B 2724be40d3bc0e2fda957f645e1cd6472450dee68db3592ab607bdac444283f571f3c904e47981a3fdaa06cab4032734a54470e3dd6e1b67fd856daf010e1277 SHA512 d02327a27ca9fc3c587dcbd10da6b1370671cd7b1df8dfc9078b47180744d0572ef41a7ec205ae9f1c571e5b7f4bc81278ab4c6b076c6ccac0167100e346e74e
+DIST cpufeatures-0.2.12.crate 12837 BLAKE2B 5b518c58c548d9116f94cefc2214fe2faf87c3aaf3fffbb0bf4085f75372cf7fc5144bc3f827101a3a14a51363d06d8075db94ff5ed853ab2ccffaf597728093 SHA512 52742595702fc3371d4126fb355f3d7a6da514a94e43170f1db041cc6c560027f92115eab7846131dba1018ca5c72003ae36f945c1de88d57a0e7f66331623c6
DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f
-DIST digest-0.10.5.crate 19503 BLAKE2B a73ef5f7b85869f8f6e2bd1c83f88f155ffab8ae1c687018ddd12f5806385a2664c163101aec84d4c20647a8bfd04095aa997e088a3f56e2664adabff1c5614f SHA512 3542fc0322a8b10dbc229ae83475a0df5f9beee4f879eacab1fda53a7b61136df2961265472ae66d896681bd17f8a68148b25827733bd782c6bae05d2f307951
DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c
-DIST generic-array-0.14.6.crate 15889 BLAKE2B 7beac5446f5da4d077598af43c238eb7e71a12b0b91e6be5dbfc1ca33dc21d128fc93c9c8b18caac4b88830c8c8a643f2033acaca1d9a9f3d95329d042276156 SHA512 254e6fb6658f083f26e022916795c9ebfac241b9df2d811aac8316b17e1375e1c5aa54d72f1bf6c2627a88484a7df4b14eca231c90578e9aa3d9997047fa0f20
DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d
-DIST getrandom-0.2.11.crate 35391 BLAKE2B cc3af20769f8effebcd6fe4f48bb762211f78cfad016b796ce4b6b83a25d0a758ecee4352af18ef97e84c17fb4efb0c7bf113b53d2dd30eaa32067fed97978fa SHA512 2230c219e1080b4b13f207bdfd54b1acff37d9e5fec5263ec9952df9c0279939b231c722b54524deab85002caf1047a471f3fba8090428d918e99d53edf82345
-DIST getrandom-0.2.7.crate 28854 BLAKE2B 30c054361c9b1d9f95bc505e27e98d8cbb685f37c91437948d9d26f22028e0797a7c704d88912c1648b3704bfe10623a8c5e130e81746c8f85848b831771db80 SHA512 01803e609848662ad8650cf451dfc2c37580da0b7b5e0d4cc764da6ded253cf49ae42a433b1c53e89773bde00c1ccc136394e58ed4548e7b5c0ca7e202e857e1
+DIST getrandom-0.2.14.crate 37307 BLAKE2B 5904388869335ea904d950ee83ad1867a0d3f6831b7139102b53f4bb4a2c12371c9396f1f1cbcc44e3ce69a4ea316651b1674722071bfa7562385ad4b6a88c33 SHA512 6c334415e09f570e3123e3c6c6eed1727533ac6c9c4142e16ae995c237a16effe146832a891be9fdde4335bd02b454e0fdd9160f20dc02f107ad106756221658
+DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb
DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
-DIST indoc-0.3.6.crate 9663 BLAKE2B ca7a1f4d3cbedbee0ba0a3f19c4b3352ff90927eef744b7e4f1d60855d4dc4265202972e81e0fc06d1222d8d5fb322efc4ef669af7396b251248a1e45c91def2 SHA512 e900aa3b001df0fdbf1f543d8b679af317e85a1f95e26fc556213f2826a4f6c82d8c4f3f82de435e3591f8bc14e78eb22668d901dcbe2287f46740e0291afacd
-DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
-DIST indoc-impl-0.3.6.crate 7933 BLAKE2B 93e232e360e8f02943ef9a9cabf16bc863d792d8096b8d9a13a07f0b7b396db590abf83b5444f082317059dad7578ffae974dbc8a7e56fbdbab817b7d2534725 SHA512 18406587ee56a09dd2062cee456af697efa903343de42c0ff618a64ddf2bf7efed5da02e7220fed2636c555a6ae18059018f5c3c9b44ba8d3e5a34ea5b53c806
+DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
+DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
DIST inout-0.1.3.crate 10743 BLAKE2B ac2fa5cadd98088ea3f6eb94ca46b3a9ceb6547ba49f0de311d86474d71024d1a087ce9b8d44ec808008db69146e9c81446bcfeebeb2fd74d2e8d0ad2c4975ed SHA512 1db5bc2bd87aae145b3b0be6669a9a722df2aac8f970fda210aaf945c372e641b941cee822917926dfa1ab8381c6e99cc7df4b18d2f4e2fbef17fdec36ed2beb
-DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407
-DIST libc-0.2.134.crate 603330 BLAKE2B afca337bf7120e933c56745a51261156f4af7cc58427f623b9cdf1b2d5fc67fb2bc7c078ccab3cf232024e5013e8edcbbb0baab6a8a3762f9b20d975ed92411d SHA512 fcc142061df7b363b2dacec5fb3c9a19e63addd8210678117f681b8e1b62e5784cb78067639df464f32e22c9ab4d0932bbe1c01cc992348cc0fad4a46cc7b1c3
-DIST libc-0.2.150.crate 719359 BLAKE2B d08e17fb29992c76337bb5862cbc1cdaf7b9d7749cd65021f145fcf49fa7954d6251c8c2f3c9a796b46283c3bc014bccfd259ea52824459841911ad847fd7f5a SHA512 7ae8fe6a1db38ac6d951c0b4880d25a02f064f5e61d6057c20f7208dec8395d58efd085e41857bcf5f4da2b014d2952dc4ddaf18ac4acd3a23675bb659e70385
-DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3
-DIST lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990
-DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
-DIST once_cell-1.15.0.crate 31460 BLAKE2B ae4481883865abe6a684d63520fb2e91b64d6ccdd0374464200015640122bd68b8a769309773226c8a31d0119f450ee821a2bd35c346fd86adb4474ea7c28fcf SHA512 934a7c3631e9ca4fa78d9577b6672ca0b2f926a8d6c3be9542b906c5968033446f98f76ae6f368a1a5b92ab9064c31a57d74ab6d2097108029a7ea951541ff7e
-DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
-DIST parking_lot-0.11.2.crate 39869 BLAKE2B 67c555e87b68f5763a7790563fd8d542e126bcb77f91267f3b76c51fd73060a2c32dcb91f9d0db7ea772e555d91576c8d7ff48053a9c35fbd3b749d2459a660c SHA512 526b176363dffa59501c18324bb723a3846ef5b0ff9bf1d890e40ad10e7023284f7c8012eda87520eaa94515ee828d9ef52692a9ed590a55e176383d6d472f9e
-DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
-DIST parking_lot_core-0.8.5.crate 32466 BLAKE2B 44d9cb65444ea93fded7e216e3bdbe2256ba1611f5cb6f80d67a01e71d428b81e6c7fc73cb928e2125f34bac0abf4d1da39f622e813dff89b01fed7632308b7e SHA512 c4315df551748d1ae77655e4d9f8c90f911498856e5358009e9e02e410bb8085f006f369188b0753a298371ebd74a5c383d848b65e31b55f3462381308c83a00
-DIST parking_lot_core-0.9.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032
-DIST paste-0.1.18.crate 12259 BLAKE2B ed72b93a27166b0989743c2528d4a41f4b87ffdd0c588557d11a5f37f85d5b8f03ced86150af6209f9fa8d0f6efee705769b26a2f4dc3363f35cc3ac12c0e6ad SHA512 a4d9c75f6f358d6c86eb0a66cdf22eedec180db37358ca2870a992e215d5b389b7991837d8f2769742ac1b093674cb4352ef9d6754a249253472fbcb3a81c001
-DIST paste-impl-0.1.18.crate 9451 BLAKE2B e465c4c7eef44d02eb1b61b5290090513607b452f4adc11487947b7047ddc44905d7a02df827feb2142f0e74583afdd9648c1c66086f10e1bd861b663200bf8c SHA512 c635efee46cb251b76ee9427432f81a0d944cdf1d0a95693d824c6085e7dea7e1e3f48c692ae27946f69e4e78d8080220058acf98e5c8a78482007349f8a7a4b
-DIST pbkdf2-0.10.1.crate 13232 BLAKE2B 9d6bc027d78db977139b0456224b22d375b25707ef479c52529371d48a9e2d4acfc6afba3f18df8a0caf603a3dffdbd3daf8f3656e6d85776b5121d3dae93391 SHA512 534f8e78f807321185205166a887c3f9aeb7c88ca15f0354d7772bee64620aff116cbc7a80ed1a5ddaddd5ba8648da8d2b27b110c87daecfd57ba173473938ca
+DIST libc-0.2.154.crate 743304 BLAKE2B 25ff132ec29b78dec455f0a1fc9fbfc744ee0d6eb410aba05ec6b1b08af9d83ec61e56f840f86cb833f590e8cdec7f67ce6e7b630ee227a36581650c81298b84 SHA512 891a36cf153a9f4d58793412c104504c57280994e428ce8ba208673a924b2de38cc21eece09b91696eaea3b2359606dbe9f1509f9bf364bdabdb366ef2dd0f61
+DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807
+DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
+DIST parking_lot-0.12.2.crate 41723 BLAKE2B 7c9a4f483b09f4e4bb25fc758c80e8259cb02960b791695a061fe595cd6ed9b13f62903513cefb595bd633488b23254dee054a98282162fc4664301ce04853c0 SHA512 42794b06d410771d1ffdfdd4a9cab136cfb80cf95385876a580fc45739fa41f0769adfbf16be54a9a931632e02d2464278c5395092a1d6107703875e9ad112b2
+DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac00288b1472d784c0aa7fa2953fcf9279c750d243ce69744993ee8cbe6899633e71e0a54ffc11e39247755685107f2f8dea54 SHA512 4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389
DIST pbkdf2-0.12.2.crate 13906 BLAKE2B 062731ec8623719543e497dbfc23b909c8cc62a521ba927f5cb628290c1b3898a0b6ca7677d733b2eb0c563d7af4018981f4ae533b5b3a23c312ce98119eae6c SHA512 5360a661db8ef11586badfa2623dc409e34f3e2f79254cebcb5fb68bfb20c3be47def7bbb16f7779facb42a92bb789cf0e71947d1c4c6f5b1ecb8d358f6b41ef
-DIST proc-macro-hack-0.5.19.crate 15556 BLAKE2B 98c22fc3e5f5fa8b6f44d15de42b6ffcc82ba3f98a07ffa48bcbc5d3abcfca6af136c5d0d8c7f1ca34261ed8f8c9c17a394231f97a4c342c81aa7f8b9e74b203 SHA512 9e4cbec41056438287f5b23086264c86e2f0cdc193064006556736377b2954229de13a585149b9995002c9aee3334ee2a80ae4afdcc96cabe7ed2bf718476952
-DIST proc-macro2-1.0.46.crate 41954 BLAKE2B 3bdc274c8ada8bf1a84d4480b25e0348f4ec5bfacebb74da144a36d4dc0efeb341fa24525e7e8408c3589013a048563a46f1e094944afc1726e594534e2455fa SHA512 1c2ae8dc4bebeeaa4af02f8edce18b3d159109a1639d8e9f26be2b7023ade9d09824ee0f2a60ae034967d982158196826fdb989d23a4b3bc81188a9a63e18cb9
-DIST proc-macro2-1.0.70.crate 44343 BLAKE2B fff0dec06b21e391783cc136790238acb783780eaedcf14875a350e7ceb46fdc100c8b9e3f09fb7f4c2196c25d4c6b61e574c0dad762d94533b628faab68cf5c SHA512 ae9366856853f7d96caf7a7581843d36bfc7843f8683897b19ffc666c03b0b1eff502ddb18ca4c1c1a239a368f03f6cc258b0e2795f64b61c6a31404462eec5f
-DIST pyo3-0.15.2.crate 371382 BLAKE2B 79b813eca0818bf79e0e1c118c952219f16f1fe22a0ab1aaaac0499a5048ebbc27326bdd2d96054e410ef116866250464aa4e4d8e91bb733f915f77536bf0f05 SHA512 81595bf2b5d2b3a4e79750f0779c142fe7c3e7185f9ffa68a83fce30062ae6812d7af71bee425206552c95839ad7473408f658ff936d4a1f58fd1ac922822582
-DIST pyo3-0.20.0.crate 431766 BLAKE2B 104bc21ce2c6931753ca0c7b2d91693f454c964260ca3c4628a899fc8e7edbe4238db913ed7356f3beff154d88a60a17c0e252b655768e75483e1d9d9b86f40b SHA512 85d9533c75f905752c62f6a4898582ae48daf085e287b44949c47260301205a5f00477927877ce46300d2801d22fbc04a958c058a37eb28374c834fff27feca1
-DIST pyo3-build-config-0.15.2.crate 22235 BLAKE2B 35355ee30242b7e95426920e7f108fd7f32aa86f2949bb388139ed84ac0a8da2adbc05a5ecaf3beb89525d0c7a4e25ca8e33e9f35e324cbd970f6b4dbe5fbfdf SHA512 e05e68bc54bc7287d3fb037251767dcbcb512e3cae29948507deb7e0ca18ec4d7fd5d598f1dca1a595b6edcd5395fb443189fe56724e67ef68422bf050b10324
-DIST pyo3-build-config-0.20.0.crate 29534 BLAKE2B eb1d5f75276533483c52c6fcae49b294d6d8edf504859dae18811c1ef695dc6d0a055f2a34bea305975e4c1492c312433d2dcb7753484f793376c62cd59c8e40 SHA512 a01d06ebeb4b9cfe6ff6731046101e9437498453ca5aa68ec53df3bfb2f34665a489f8072636c2da16c1e867f536032fd293f05a43561117fd131bde5fe5aac7
-DIST pyo3-ffi-0.20.0.crate 64220 BLAKE2B dfe75b9459b4a564d1dd9f907166b76d00c5b50ba027db65d11540a7b993f3ef4e19e574135b538635ebb9c9eba66115c09198c7b6071b0b82fd94faccb1bb63 SHA512 a68f0b1380f2ac3d3034ac8b3788cd6573850137c6678694cbcc3e814b619510b9b21b11704c2e702d4eb7433d8b1d3a6dac663501b6db5197a409407802b714
-DIST pyo3-macros-0.15.2.crate 7596 BLAKE2B f8ab6ba53354705617ad88a2db693e38596d563f14e5481141b913595f367cf43fdb438c077c89b22a60fb0cccba7d67e79f9528af25c626ec7d8ba2c2ae3825 SHA512 4a40fae4362aa811996d9ff94ff7bfb645396eccffe13fbfc1fff70ada80db56f1a03630cadffca4ff6e156f04c052e82e059d72541d720abbf0ab18f2a7057e
-DIST pyo3-macros-0.20.0.crate 7678 BLAKE2B 03fdc0cc9c735086ca2d27e0bcd197e69538c3640ba7f87bc3d65907db374ac7283f61bdb67a1d45b66ce972072ddcb3b1daed4aeb9a66100d11bba6515cdc86 SHA512 79b61f55010dad60dda2c5061c9736bef3f6805f28db230726937340a5c40a3fcfb727a0db7779c3eb094ebd45492f7af4f40a3fcaef42f160989a8ef6174e7e
-DIST pyo3-macros-backend-0.15.2.crate 46112 BLAKE2B f3efd72d375f709efca7366f702837222b3bde498a89750a9184437ac495cab031f12f83a062329ea3907e264ec0782523656e15cbe3eb03bc0535fe438a3e4d SHA512 5c3be99d863764376c3f66de304de8b36548cd99fae8ac40c548b3d467b6bdfcd683c53b4cd1aba26b1730c6b9214c36b1723a5d1299265734e67ea791918c82
-DIST pyo3-macros-backend-0.20.0.crate 49383 BLAKE2B a239042abdfcf5ad38505b57bc6b858ba346bf8681e24acf2e433f53e4a40bf0b28928b434b96f596d12acbb602b14b7e1bbf4be1e5789e6d9c754368db00a1e SHA512 c823caba48b4a30aaf84c23f80934f0172f2c76a41b538b69ebc25afcb61611b54b8fbb4ab6cac1c7a78b4e6f9f909f22748a2cd279b508d3897b74b17021d56
-DIST quote-1.0.21.crate 28030 BLAKE2B 547344ba9272874f5fbb4bd27a69ef5be99823e10e1318afe71971b18f37e9c73d54168f16efb82c53a332e4874c80a82ea951fb2c85fad50cdfe783622b79fc SHA512 0728eb4df7e1f7c4d32ab08c901c2c969db8eb46b03bcec3e4956a4f6b360939d32abc6b6ebd7a31058e8e9b69c3d995a24cb484f93656f05b4ee963be1c74fc
-DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c
-DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
-DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
-DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
+DIST portable-atomic-1.7.0.crate 145385 BLAKE2B 7d9622d636677e3adae0f909405090318a9d6189fc18683ed21074e9360f213b44c5213f3561e3dd1f642547c2c2e6682b9e1efa63243c1f12636bb11bd15dbe SHA512 0849edaa7a1f9ea66182443e31691e7839c857240916521bbd6009b5e692b13f5b315df36e656134651386bc50d895ecf6155a906750009514cad8bfc7e57fe2
+DIST proc-macro2-1.0.81.crate 48233 BLAKE2B 94319064772c757b6bf57eb9e759e827454f719d82210271ebab9c6ee4ecfddc9099522cdc8595123efe2efb64fd50eadd7e31419c5842ff1cb8fdd32e8daa0c SHA512 7edec4b786d9fe076ced4fa5c0d369c163fd1c27c895431245a8268ab2e16665b7c0a585552d46ceee6b8103979a4201f92abb381f0e678128abed359f514de7
+DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
+DIST pyo3-0.21.2.crate 504574 BLAKE2B 1b8bf374d1b61e3e4bedce6344338126051a6d951ea87d258e5ed92d4c0e13b0202f2e7e56500277c54743dd16c9b4587f436cf2058567501c8a9ac7c6b6c17a SHA512 5f88cda423e82b62698a74ceaa31fc27e5c1f1d417928accddb2e00337d163fda622f774ae6e24c1cb73c467d6b01e9a2ba866e4454338b1fbfc892ae14ffc53
+DIST pyo3-0.22.2.crate 538342 BLAKE2B faf347695117f9fe0ebe5cd7f6aa1b0dcfe718343875d6c06438046deccc1075f104d2a2413dcda41ae9827bc363aa147057b45968f6634f577a6a4510a4bb8e SHA512 e8bae09059f50ffe477dad44499cedeaf3a734665f0fd8e8bd4b44f48578d21e4bdb8d55ceea00c5a27da750761842ddf89cfcecdecb2e7a4a17ab192259be9c
+DIST pyo3-build-config-0.21.2.crate 30581 BLAKE2B 993c1f7f15124336b70570ed3949cc0873c2b883e81dd3a350f347cf014fb9a82d487197fdaf475989b727b7ee8d9a5511a72422f76126b8788c4f40831baed8 SHA512 8b6bedb31235de3dd95bca6e19ea4eb7752227ceb9f1c928c4df2b277df5ee443e5c262e448012e4e54e3104213db4d745c9c42f79ab3029dee68f48ec3a2795
+DIST pyo3-build-config-0.22.2.crate 31225 BLAKE2B c2e6a3d3d23b7f2f51bcbf1214ab20a298a1e62f85c9af3dab1e77b09f20b657b576feefffb18eb49d438f0ffab525b6bcd1086d500601c327ffd4fd24a719ee SHA512 644c82d30bb27051557efcc9789a81380a64e29bc62abf97de88f42c3791dac74228c7a7d09e0d46d14f07c0475f0bc03fac6ed1367b9a616153e8820b94cbc8
+DIST pyo3-ffi-0.21.2.crate 66160 BLAKE2B 759622fa3a41bcdb48170983c4e194898415f8db16a7c57ace89a7945bd47374d9a14e5ecf24e80a178bde597cfa30d41f9e6617b458d365640bdbda048e6f6e SHA512 5cbc9dfb14569210776fd66341e77e61642a9920354251a65b91aa13a0fb1c373258d1a6b4f8feacdc4266d472193d8f20a6dd2cc180ccc3d43fb66237ae6d0d
+DIST pyo3-ffi-0.22.2.crate 67749 BLAKE2B 0a4357d5f4fbcab9717d58b7a80b63a63bc329267d4725136c4eac7c0101095a50e5f840638dde79034e5df99c4f46664cfdc2ad437837643db5d475c5705cb3 SHA512 bf8b83b4790832d99de8c6a61a15a43fc189505dd843011933305f7f93c4f5f4849fb00cc2a6fa410b788645f8ed8c0df61799cf801966a925abb9756b1ab579
+DIST pyo3-macros-0.21.2.crate 7920 BLAKE2B 60ceb626fd1ffeca7e81ebc721bb4cfebd99bb708d48bbfdd296b250ed41471f82e8657715e1f58840423ac11d8c5a84a6107a7037affdea4e0c2cc561514ed7 SHA512 95335a55d57346107fdc7591d51e36aa0a985d6c44a875475a0ed52df25d33b21a7b922fdab0eed190da9708968e79f7cd50bc683b6d210eb068713a915ac7f4
+DIST pyo3-macros-0.22.2.crate 8136 BLAKE2B 9dc97d2f60581db1b8ddb562dac917069525f297fe2cbb9aff3ed34d5a08ea43c112c9c7a450539da3536d753778b5ca506dd1b18e1d6b8a3649fc098e7af439 SHA512 f4f4f6af8dc3aa4bcc1698661990ab2112391ef9502e9f71d86e35bd10dc4e1be309102ebb1b7b32751817a6033168dc0486fdb16b35c626101e69f0de807a4a
+DIST pyo3-macros-backend-0.21.2.crate 58088 BLAKE2B 05dd49983c8aeddc47cd94f6cd58f10e41ad6f4ec57006908cde4fe3edbcf6814058d7843a88c9dbeb0824f840ad3509414c52e47fffe5ad4b730f791c9a3f19 SHA512 f8488ba0a68f1ae20d053e2323d065f03b40c24231a50b05205b100e973ae50bc7bb9c25e4d37df56f4cfa73d2001655ce9685078d1017a4a90bd7945c01b833
+DIST pyo3-macros-backend-0.22.2.crate 65620 BLAKE2B 37fba9ff384373418d3a7341acafb8e33308a64e30026f828693a37c32ab4a74d058f2db84d00467a20f9f267c96fe54c0f154d1ebbae92490e8dfc0d29c042f SHA512 0517080c0d5d4ed8136521fd37aa3a192c2eb8cab58545d8543ee4df9cd0dcea19fe0678d5ab90f05fe3eb0f4a86fc2f07b76f2e12ac1fcf7e7c195c2ffa4fd8
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
+DIST redox_syscall-0.5.1.crate 22536 BLAKE2B b7766fcf35dd865fc98495f60da54ca9a6b4cff007f4323d1c63de5d1152766aa5517139b5ec50afca39d934360c701a180c4516feccbc2600085d5d72dabd2a SHA512 0952b5f4f79f2cff04b4c21d964df7b56bc0cbff8d8a2a9a7d38ba66fd69cbd0fb004cd3d8ac6feadde8d9590858cd7e1763da7e4a5de840cdef42b1b6f1e460
DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
-DIST sha2-0.10.6.crate 20558 BLAKE2B ceae6f1e28606371f93f5e4fd617b2cb057ed9aa4aa2d81bf4c6af4ca47d639a51f50d0fe4fa77667022c770056d6d711beb4835b2341ae0a8d667f11a4a51a3 SHA512 38dea4c300ea8dee22587ab0af6d66dbde824e1cb071e02e7790bf978efff6bdb6d4076d61c5acb38e86e69261a65811a7bd0182299d53ef053202ee54d2b05c
DIST sha2-0.10.8.crate 26357 BLAKE2B 1d01b381223a931dc631ad3a1191f5378b1d2f3f9f20474c5f020e366624c73b08330ce8dc4bdd3e63b15f647276f533de655b545b77f70fbedc1a1846f44f0a SHA512 3be73133a6b7690e14acaead47914dc92395dca4191fb657a2ea186fefd0ccd94d12a1121d63a26027d9a9c62b775c53202473edc461587b9dcd75472af77785
-DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
-DIST smallvec-1.11.2.crate 34801 BLAKE2B 58645e99db8f02db64d02c75860c7ea41836c427c03ee3b0b23365e73a406e4fd6ac312bf13fc5faef8bb6111c10fcfd5f839d5b3686e9b34d1626f8469fc327 SHA512 5cfb427c3b99b0dbd71f6154ed899abcde9d7d2992977ac7b2ef3a4c3ff51e4efafd133071a69609b4ed6cb269bdc26b79eb72e1988f10dfcaef8185d950cd1d
-DIST subtle-2.4.1.crate 12630 BLAKE2B 05a90232bfdc2cf67522e2972bddcd8dc9a165b1d1cf775d0b1c8358fc7c4d0559b2b899126b6688b8ef77b8b7580b3b300f74a599a7ee77f99c064a3917693b SHA512 7fd8234b7ffa3ca7e473539cad958df0842186e1dd735905e0d4977564f40a5f2e18b58180fcbe52614a00964dc150bd9f6964500847ea658f22bffe030f5c6a
+DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
DIST subtle-2.5.0.crate 13909 BLAKE2B 660c3a472ca54c9843ce3feea74b802e27fd7f62dd37a30e2a4ba82e4b3a71df63562e8865d5fc675d31d0900998a8730503f91a61450884446a3bdd6af0041b SHA512 f150b1e2037554f8cd3213a54ddbc258f8f670cc4f39e7084cdea4b47538dbc58b834bc93b443d58a4b9087224efc003234042aaf366687dbd32b1e7174082a0
-DIST syn-1.0.102.crate 235699 BLAKE2B b29d1b0ab878eda45c486bce03e1b341eb2c69718201e662d81c131ead2bb5c5abffad848d9cd8d2e45a995dbb4d6a185173b5680973971e0c33bdd9fe43dfe8 SHA512 c9a2b2cf216c3d821decd488ebb49743f2f43940a879856e3a15d2352843c405e6f164c11225e904d18b32a5cd2bd7fcdfa74df40ec5567faeedffe5f523989c
-DIST syn-2.0.39.crate 244129 BLAKE2B 2cff6626624d03f70f1662af45a8644c28a9f92e2dfe38999bef3ba4a4c1ce825ae598277e9cb7abd5585eebfb17b239effc8d0bbf1c6ac196499f0d288e5e01 SHA512 96cc347cfdb0f9ca0b6c7289279a1cad8fc401625783742292564f7ceca8237ced8d9a3f62069696f6132ed06092dff2baaf4be09ef53b21260d93785b0e27c3
-DIST target-lexicon-0.12.12.crate 25156 BLAKE2B f3803596c75f6c89438592a1176c3748fc2c0524d7d50a20056de1cd26d40c572b05bafcdf6dd702752864bea37c8b4f28f96dadc12a5b3bb1d279b25e489f85 SHA512 6147295c43ba1b7b087a3c5ab51534b2985e4e77e5e15687978cfb9d07e21c4fd9bc7191576d6cabd268d08a44dc733c4a957e59dba8b948c2055d8bb433aeca
-DIST typenum-1.15.0.crate 40741 BLAKE2B 5752d80396d0a37b0069b98ace9efe96d94ccaf41b33b8149c8b8c6a767537dbffe64251bbf61f3812465ecbc8cb45544f177dc97ac9735d84454282e4d1ed66 SHA512 a3c1ceac85e1aed98d0829449c35f4f36db860218b955b4e5f8f01da1d27ee6213f3c60e2b25c3745dcd67369049da5de737a9473fa9402db99cf7cddeb42288
+DIST subtle-2.6.1.crate 14562 BLAKE2B 3cf4940b7a01f04715da1057f6a92b1043a6b86ab2ee7f9fee0337b680ff781201d330409460f6f90b3f81bb5fd4b563e17c762c6e824ba3b0af99e4ae7d66bd SHA512 f5946ebd9bcb8776ee3446abcbf4afb3cca5d8bd847cadda87e864333ac7ded537a3efa773e9648adf20ce4add2c1da85172cff88c1e1a3a6cb051401b00c6bd
+DIST syn-2.0.60.crate 255808 BLAKE2B d7a8e415dd72267fd92da48ba8b3e6feb728f0639797db1aa74aeaa2a57935b7565eec37cbd32eec826154e2c54075b121737369eb15af36c322c34b3cfd7930 SHA512 20bfa02b03c193672a9922f9a5e196185341e082a262f7c00d7c2d467d9e2d77f4af3994634923cfaeee34aa9eab510415165f052ffd9b1ed0b1b581e272898d
+DIST syn-2.0.72.crate 267069 BLAKE2B b0b979f78937a10a6db45f96d5d93c595427a4e158d658a2186419d89b219a4a405ade488d88d9ebdbd605ce4b706aba7088ab39a77294f3cf9847bf032d8f91 SHA512 c3d26bf9787555bc6fd8bd789855d252e80ad28a413593e13bad174adf86087ff195a6b4227bdeb6d1a1c87b0af8e965d6f2d04b8d45e7383b6de49990b92e89
+DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a
+DIST target-lexicon-0.12.15.crate 26384 BLAKE2B d1ba50aa9d50647c6f778df86b35db1a4dee56fad918e6ef216688d9ac716dc5e8b40bff15aa89a99e4874e74d7e2731ad7fd9ea7094652def8abf57b74f9811 SHA512 32cf3e2da1c28003e1b6347abc8ae4d8182bf5b719ef84772271fc871dbaf96ec98c03b555a748cb8ab76584e67e17532757193d1d84b057cc90bed525727fb3
DIST typenum-1.17.0.crate 42849 BLAKE2B a6d1162050679e2c4ab2467f3a77d301f6861882eb7c9749f31d047f383dd5bd2ed5846ad63eed99ccc04d6ac36cc697a305861e1d65880b4d2ef04ee0a79b94 SHA512 99773d5d9f850c0602db4bb67dd062b0ade6f086e155216f1bb2fb6569461ba7e1b7c2f2af81ea8833bc3bfcf3fe5033edecb7c438adae63f59d3e30cf63a508
DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
-DIST unicode-ident-1.0.4.crate 35491 BLAKE2B b92d4f09ec86fe1e0b403b8cb0787989c313f29e6b24961fc2ca046ee5e3b50f43f49469a290880412dd37fc1b46cbeb9123e9636e1f39e425f722a5aa44ad08 SHA512 db41d5c3f72cfaf654b4c250e18ac0ac077a816fd582f1548ed384653f467c15f85fcfbbb4ed2f9e8182587181abf1db14059d50f3e43b60434ddf38c8f65d89
-DIST unindent-0.1.10.crate 7703 BLAKE2B 75458d7f21ded1eca4bb3f7f55b2fa73bf92b2309316eca1b2ffaa0c9f8d7cd8c7851b96688f6597f4af6973f70e9053c2708c1228fa6a9784e41c778488c4b7 SHA512 46ff1a2c042972af2fe5958677b2fa5adf3b9edbb168bd66cc93baf9d1b128f583d9502b83f174b35866343b57a57c8a91a465eab267dddae919af24095bf6bd
DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
-DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
-DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
-DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
-DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
-DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
-DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
-DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
-DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
-DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
-DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
-DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
-DIST zeroize-1.5.7.crate 18861 BLAKE2B 5f203d91aae732b928e2acd02656a486f0f930b8daea96b927552f5790862489d83c7bd48b0c7c62a3273e7a04833a16149ce489847f17fbb037e88922d359a2 SHA512 e0688681bceba324d36ea4dc552791801dc93b5882d106b79dd317af99cb718b711899bfd09917a811d23096693448801e64f0651bd9eeae7895618821d88fa9
+DIST windows-targets-0.52.5.crate 6376 BLAKE2B 1d39fd86380ab086c536d88e67b60956410b345790ccea62a25e6a700757b2a9cfa6dfeb7b86934cf47b981ea2e5f42dddf49780ad9829a551dc507fcf108641 SHA512 d00d7bc7eec3c10272e803ee5c9ea0d9b07c43311124dae975b4f5aae7408c5f2ccb2fe6e68228ea3d4e70b6b658382cac6992ea177f43a9cba2ef95c4fda0ee
+DIST windows_aarch64_gnullvm-0.52.5.crate 433266 BLAKE2B dee1b69cdf1fbd4143136909e4df3adaa7b80d7630a01ca9a42fc5ad0d5a4d9a9e2873b43c6d8e55de59f237d9199fad0768c4e1cda3b1e5354847bd70d4c79e SHA512 b4cf511025458fe30d5b11368af285610e1654a8986ea9f78fa81b8bb87d38a00c4869441c62692534df66d06baf14c8a4d17f8eb06468eb260b99e2fda6439d
+DIST windows_aarch64_msvc-0.52.5.crate 827944 BLAKE2B 3bcb16d527be1dfdf18a9105ab259a064f00e949937ca423c8dcd1d2b90090d85aa7e42ca6ccc50c9baeee1aa144123d0a04643f9ff1147e62b2fce28b8a697b SHA512 c8974f81e37a43d92c4a8b142705e36b7acc58d9150d80ffa3997433da878044c467a2d9167ba792d37a183a0082d912500fea8c8fed743f395b63ca62a5758d
+DIST windows_i686_gnu-0.52.5.crate 875699 BLAKE2B 528ea431d080c5326e4c6ed316d9ea3e38b40c2e1322a12a432506a2c11555a94537661a0941e90c20eff4a9ce42c12539876dae6e77a1df18b522529928b309 SHA512 cc3e0362fb62dd5e8a855bda3be0177708ec8629ee9685f1f9aaac3f71a8cb082387388bdf49b09d3f5ee24a636b0b4f933d2c8bb75db434ee0192c8ce0547d2
+DIST windows_i686_gnullvm-0.52.5.crate 473064 BLAKE2B abe41ee330c05ee1366b3a835d15c6db3964ffd7b340ee69d215056b0d4b65c67f2782b0c04a55db64001098de87c93e2d447e25ef2a27f2cfa6685b8cf20c88 SHA512 da45c882248070911bf55698f62c245cb081a23254cdcf578df053905adb9117454235e52dcf1dd97c0d2248f92ff1d2fd3e18844a7be8d93ba08590c1eca22b
+DIST windows_i686_msvc-0.52.5.crate 895404 BLAKE2B 02555169f8c5b944231a877de8693fc871ea0d7d33f52f60e164bacb35cec13d463af07c57fec4667948047cc222d8bda7f6a0be01a07e7184b69e4adc2b4577 SHA512 08c96f8e9385ac121549bae8ed228741b32004be20b2955d163a98d4b62af464f1682cb813681fa22823d20646f19335cf0a66203a876b105e119e05a4db0634
+DIST windows_x86_64_gnu-0.52.5.crate 831539 BLAKE2B 54f84c19988addeb7cbbbddb940e430e7345944589419592b99addf9b83bf6d801b18f4e80399b85bbb0b0ccf4608e36d9a50b79d8b1d6ce2b93745856e06eba SHA512 d9bf91765d02d2727344e42081f4bcfa73be97991495126f7e633f27e56a261ada3a8b865a559cfe71f9bc9aed5b14504f89138796766937b3521009726dfab8
+DIST windows_x86_64_gnullvm-0.52.5.crate 433246 BLAKE2B f34328a6d100e092ecb34a6305daedf4fecd71840432f104e8707f049b60d784584ce4f02fabdd0281fdb8bc7ebed34b38fdacf3be9c8abd60084e9a4ee9fd56 SHA512 22a978c40df9705cd94e4c52f2b706e477e667b564c608d0adb144b38cb486c279c09d1eb1dd2d6c7bd3401b75a2dc5eafe0f7d642ffe6453f394d1f59483a08
+DIST windows_x86_64_msvc-0.52.5.crate 827905 BLAKE2B fd5dac198bfbf29878cb461a7338c289c9af16ea80b3e5fa567980d2a6a5ea6a1cd83729ce6fd67e4da171873083dbeb1d6e16a287620f0245201f9cb29c29b4 SHA512 81176090dc725d7fe3867e6322fdc4a4065168580847b35e6f8da345f685c4f66a81e35cd1880dbaabdd4cdc82446dde9d6a0e583cf0b7fe47dda8bc8002f1c6
DIST zeroize-1.7.0.crate 19039 BLAKE2B 2f94a5025f409bd2b96a456d2f78a34c6b05b5554abe7ef3fad2a55a8fcff8a6a1b971be660aa4c2954ab7d6e89bebc431036e349edef74711292f9f64b1dbae SHA512 9d31e3e76e8c861309a3579c21f6da5fd6b056c7d7a350427445a1a832e8827204804783f7f9b808acaa2148efef883d9078bf84943b1db55526bba5bf5a2756
+DIST zeroize-1.8.1.crate 20029 BLAKE2B 092eba034cd35ec47290020e0c2b213177ff5dbe14ab9e7f0b4ef3cb1ecbc42fbec2b951414e26ab00bc65aaddc2c93eddd5a1963b27c6cd613ac71c65d5cc24 SHA512 dd40ebe98b98fd742608d4066b5ab66caba94b2e679428fcaff9fe547d8cd6ff2360dc85d671ee9183e32fb79cb554d00d6aef9eb8f3d8ad0ec92d0435aa4ebe
diff --git a/dev-python/bcrypt/bcrypt-4.0.1.ebuild b/dev-python/bcrypt/bcrypt-4.0.1.ebuild
deleted file mode 100644
index ca70c38ab8a9..000000000000
--- a/dev-python/bcrypt/bcrypt-4.0.1.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-CRATES="
- autocfg@1.1.0
- base64@0.13.0
- bcrypt-pbkdf@0.8.1
- bcrypt@0.13.0
- bitflags@1.3.2
- block-buffer@0.10.3
- blowfish@0.9.1
- byteorder@1.4.3
- cfg-if@1.0.0
- cipher@0.4.3
- cpufeatures@0.2.5
- crypto-common@0.1.6
- digest@0.10.5
- generic-array@0.14.6
- getrandom@0.2.7
- indoc-impl@0.3.6
- indoc@0.3.6
- inout@0.1.3
- instant@0.1.12
- libc@0.2.134
- lock_api@0.4.9
- once_cell@1.15.0
- parking_lot@0.11.2
- parking_lot_core@0.8.5
- paste-impl@0.1.18
- paste@0.1.18
- pbkdf2@0.10.1
- proc-macro-hack@0.5.19
- proc-macro2@1.0.46
- pyo3-build-config@0.15.2
- pyo3-macros-backend@0.15.2
- pyo3-macros@0.15.2
- pyo3@0.15.2
- quote@1.0.21
- redox_syscall@0.2.16
- scopeguard@1.1.0
- sha2@0.10.6
- smallvec@1.10.0
- subtle@2.4.1
- syn@1.0.102
- typenum@1.15.0
- unicode-ident@1.0.4
- unindent@0.1.10
- version_check@0.9.4
- wasi@0.11.0+wasi-snapshot-preview1
- winapi-i686-pc-windows-gnu@0.4.0
- winapi-x86_64-pc-windows-gnu@0.4.0
- winapi@0.3.9
- zeroize@1.5.7
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Modern password hashing for software and servers"
-HOMEPAGE="
- https://github.com/pyca/bcrypt/
- https://pypi.org/project/bcrypt/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="Apache-2.0"
-# Dependent crate licenses
-LICENSE+=" Apache-2.0 BSD MIT Unicode-DFS-2016"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- dev-python/setuptools-rust[${PYTHON_USEDEP}]
-"
-
-# Rust
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/bcrypt/_bcrypt.*.so"
-
-distutils_enable_tests pytest
diff --git a/dev-python/bcrypt/bcrypt-4.1.0.ebuild b/dev-python/bcrypt/bcrypt-4.1.0.ebuild
deleted file mode 100644
index ab93c63e5ce3..000000000000
--- a/dev-python/bcrypt/bcrypt-4.1.0.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-CRATES="
- autocfg@1.1.0
- base64@0.21.5
- bcrypt-pbkdf@0.10.0
- bcrypt@0.15.0
- bitflags@1.3.2
- block-buffer@0.10.4
- blowfish@0.9.1
- byteorder@1.5.0
- cfg-if@1.0.0
- cipher@0.4.4
- cpufeatures@0.2.11
- crypto-common@0.1.6
- digest@0.10.7
- generic-array@0.14.7
- getrandom@0.2.11
- heck@0.4.1
- indoc@2.0.4
- inout@0.1.3
- libc@0.2.150
- lock_api@0.4.11
- memoffset@0.9.0
- once_cell@1.18.0
- parking_lot@0.12.1
- parking_lot_core@0.9.9
- pbkdf2@0.12.2
- proc-macro2@1.0.70
- pyo3-build-config@0.20.0
- pyo3-ffi@0.20.0
- pyo3-macros-backend@0.20.0
- pyo3-macros@0.20.0
- pyo3@0.20.0
- quote@1.0.33
- redox_syscall@0.4.1
- scopeguard@1.2.0
- sha2@0.10.8
- smallvec@1.11.2
- subtle@2.5.0
- syn@2.0.39
- target-lexicon@0.12.12
- typenum@1.17.0
- unicode-ident@1.0.12
- unindent@0.2.3
- version_check@0.9.4
- wasi@0.11.0+wasi-snapshot-preview1
- windows-targets@0.48.5
- windows_aarch64_gnullvm@0.48.5
- windows_aarch64_msvc@0.48.5
- windows_i686_gnu@0.48.5
- windows_i686_msvc@0.48.5
- windows_x86_64_gnu@0.48.5
- windows_x86_64_gnullvm@0.48.5
- windows_x86_64_msvc@0.48.5
- zeroize@1.7.0
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Modern password hashing for software and servers"
-HOMEPAGE="
- https://github.com/pyca/bcrypt/
- https://pypi.org/project/bcrypt/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="Apache-2.0"
-# Dependent crate licenses
-LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-BDEPEND="
- dev-python/setuptools-rust[${PYTHON_USEDEP}]
-"
-
-# Rust
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/bcrypt/_bcrypt.*.so"
-
-distutils_enable_tests pytest
diff --git a/dev-python/bcrypt/bcrypt-4.1.1.ebuild b/dev-python/bcrypt/bcrypt-4.1.1.ebuild
deleted file mode 100644
index ab93c63e5ce3..000000000000
--- a/dev-python/bcrypt/bcrypt-4.1.1.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-CRATES="
- autocfg@1.1.0
- base64@0.21.5
- bcrypt-pbkdf@0.10.0
- bcrypt@0.15.0
- bitflags@1.3.2
- block-buffer@0.10.4
- blowfish@0.9.1
- byteorder@1.5.0
- cfg-if@1.0.0
- cipher@0.4.4
- cpufeatures@0.2.11
- crypto-common@0.1.6
- digest@0.10.7
- generic-array@0.14.7
- getrandom@0.2.11
- heck@0.4.1
- indoc@2.0.4
- inout@0.1.3
- libc@0.2.150
- lock_api@0.4.11
- memoffset@0.9.0
- once_cell@1.18.0
- parking_lot@0.12.1
- parking_lot_core@0.9.9
- pbkdf2@0.12.2
- proc-macro2@1.0.70
- pyo3-build-config@0.20.0
- pyo3-ffi@0.20.0
- pyo3-macros-backend@0.20.0
- pyo3-macros@0.20.0
- pyo3@0.20.0
- quote@1.0.33
- redox_syscall@0.4.1
- scopeguard@1.2.0
- sha2@0.10.8
- smallvec@1.11.2
- subtle@2.5.0
- syn@2.0.39
- target-lexicon@0.12.12
- typenum@1.17.0
- unicode-ident@1.0.12
- unindent@0.2.3
- version_check@0.9.4
- wasi@0.11.0+wasi-snapshot-preview1
- windows-targets@0.48.5
- windows_aarch64_gnullvm@0.48.5
- windows_aarch64_msvc@0.48.5
- windows_i686_gnu@0.48.5
- windows_i686_msvc@0.48.5
- windows_x86_64_gnu@0.48.5
- windows_x86_64_gnullvm@0.48.5
- windows_x86_64_msvc@0.48.5
- zeroize@1.7.0
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Modern password hashing for software and servers"
-HOMEPAGE="
- https://github.com/pyca/bcrypt/
- https://pypi.org/project/bcrypt/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="Apache-2.0"
-# Dependent crate licenses
-LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-BDEPEND="
- dev-python/setuptools-rust[${PYTHON_USEDEP}]
-"
-
-# Rust
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/bcrypt/_bcrypt.*.so"
-
-distutils_enable_tests pytest
diff --git a/dev-python/bcrypt/bcrypt-4.1.3.ebuild b/dev-python/bcrypt/bcrypt-4.1.3.ebuild
new file mode 100644
index 000000000000..f6448e1d50c6
--- /dev/null
+++ b/dev-python/bcrypt/bcrypt-4.1.3.ebuild
@@ -0,0 +1,99 @@
+# 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..13} pypy3 )
+
+CRATES="
+ autocfg@1.3.0
+ base64@0.22.1
+ bcrypt-pbkdf@0.10.0
+ bcrypt@0.15.1
+ bitflags@2.5.0
+ block-buffer@0.10.4
+ blowfish@0.9.1
+ byteorder@1.5.0
+ cfg-if@1.0.0
+ cipher@0.4.4
+ cpufeatures@0.2.12
+ crypto-common@0.1.6
+ digest@0.10.7
+ generic-array@0.14.7
+ getrandom@0.2.14
+ heck@0.4.1
+ indoc@2.0.5
+ inout@0.1.3
+ libc@0.2.154
+ lock_api@0.4.12
+ memoffset@0.9.1
+ once_cell@1.19.0
+ parking_lot@0.12.2
+ parking_lot_core@0.9.10
+ pbkdf2@0.12.2
+ portable-atomic@1.6.0
+ proc-macro2@1.0.81
+ pyo3-build-config@0.21.2
+ pyo3-ffi@0.21.2
+ pyo3-macros-backend@0.21.2
+ pyo3-macros@0.21.2
+ pyo3@0.21.2
+ quote@1.0.36
+ redox_syscall@0.5.1
+ scopeguard@1.2.0
+ sha2@0.10.8
+ smallvec@1.13.2
+ subtle@2.5.0
+ syn@2.0.60
+ target-lexicon@0.12.14
+ typenum@1.17.0
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.52.5
+ windows_aarch64_gnullvm@0.52.5
+ windows_aarch64_msvc@0.52.5
+ windows_i686_gnu@0.52.5
+ windows_i686_gnullvm@0.52.5
+ windows_i686_msvc@0.52.5
+ windows_x86_64_gnu@0.52.5
+ windows_x86_64_gnullvm@0.52.5
+ windows_x86_64_msvc@0.52.5
+ zeroize@1.7.0
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Modern password hashing for software and servers"
+HOMEPAGE="
+ https://github.com/pyca/bcrypt/
+ https://pypi.org/project/bcrypt/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+"
+
+# Rust
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/bcrypt/_bcrypt.*.so"
+
+distutils_enable_tests pytest
+
+export UNSAFE_PYO3_SKIP_VERSION_CHECK=1
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests
+}
diff --git a/dev-python/bcrypt/bcrypt-4.2.0.ebuild b/dev-python/bcrypt/bcrypt-4.2.0.ebuild
new file mode 100644
index 000000000000..3a9d6a503e2d
--- /dev/null
+++ b/dev-python/bcrypt/bcrypt-4.2.0.ebuild
@@ -0,0 +1,83 @@
+# 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..13} pypy3 )
+
+CRATES="
+ autocfg@1.3.0
+ base64@0.22.1
+ bcrypt-pbkdf@0.10.0
+ bcrypt@0.15.1
+ block-buffer@0.10.4
+ blowfish@0.9.1
+ byteorder@1.5.0
+ cfg-if@1.0.0
+ cipher@0.4.4
+ cpufeatures@0.2.12
+ crypto-common@0.1.6
+ digest@0.10.7
+ generic-array@0.14.7
+ getrandom@0.2.15
+ heck@0.5.0
+ indoc@2.0.5
+ inout@0.1.3
+ libc@0.2.155
+ memoffset@0.9.1
+ once_cell@1.19.0
+ pbkdf2@0.12.2
+ portable-atomic@1.7.0
+ proc-macro2@1.0.86
+ pyo3-build-config@0.22.2
+ pyo3-ffi@0.22.2
+ pyo3-macros-backend@0.22.2
+ pyo3-macros@0.22.2
+ pyo3@0.22.2
+ quote@1.0.36
+ sha2@0.10.8
+ subtle@2.6.1
+ syn@2.0.72
+ target-lexicon@0.12.15
+ typenum@1.17.0
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ zeroize@1.8.1
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Modern password hashing for software and servers"
+HOMEPAGE="
+ https://github.com/pyca/bcrypt/
+ https://pypi.org/project/bcrypt/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ >=dev-python/setuptools-rust-1.7.0[${PYTHON_USEDEP}]
+"
+
+# Rust
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/bcrypt/_bcrypt.*.so"
+
+distutils_enable_tests pytest
+
+export UNSAFE_PYO3_SKIP_VERSION_CHECK=1
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests
+}
diff --git a/dev-python/beagle/beagle-0.3.0-r1.ebuild b/dev-python/beagle/beagle-0.3.0-r1.ebuild
index 1a43df58648d..be3bc8bb4e7f 100644
--- a/dev-python/beagle/beagle-0.3.0-r1.ebuild
+++ b/dev-python/beagle/beagle-0.3.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1 pypi
DESCRIPTION="Command line client for Hound, the code search tool"
diff --git a/dev-python/beartype/Manifest b/dev-python/beartype/Manifest
index 5f03199d58bd..ac4e1728b94e 100644
--- a/dev-python/beartype/Manifest
+++ b/dev-python/beartype/Manifest
@@ -1,5 +1 @@
-DIST beartype-0.15.0.tar.gz 1002709 BLAKE2B 96aa96135c4e361790856bea3e905afe6cc04b9f4de1e51c9287fcc72917fc7e60e5201cbb147b163499034669e219adf88f727fcb32801eff57a76779186a66 SHA512 3736891230aa8e46145a458d9cca1c62ecb8772b0ed82c56d97fd8e6c86d19dd091d74b1ee0ab5fa5d28218a87d378e514242c53488d56ef8363b054db268de2
-DIST beartype-0.16.1.tar.gz 1039772 BLAKE2B ba3fb71f72c2b332ace7c653d61a8e60546af4f4385dab0676b48759783df33c352edab813c888dc20289044089f7a650c3d56789fc218a044519d0f6982892d SHA512 71ecfaed4113ff1e05a5ba4eef5321da3af7c19bfc53d92906ae2d1c45e5eb8aa4602a3bbd296b242b2a000e03198267ece9c5e963e5216517ad170661e98198
-DIST beartype-0.16.2.tar.gz 1043099 BLAKE2B 9d71ec55db5429036b9ff8aba7b4c4b8332fb21100e746040ddf92689e55566a8bdb6bbff08eace7a3782b41e75f1e5c7a3d23304dacfd9332b327fd0623533c SHA512 a6c374f96084f0da29733b5fdc145f37de73214a9905e501a9bd30e0ab503165875cb876b2e8d9735971718696a5f3f50d9ee7c8aa12c34df29f6ed7e729c02c
-DIST beartype-0.16.3.tar.gz 1061171 BLAKE2B 8f8a3f8408585e3c17d3c760b137a7c9e1e8f674c369b7e749652cdc812ed3224c0f9e33b0b7c29c22140a01c0ca012e9f063f3449afd26e65fce7c6a09253aa SHA512 0274859e7722affe115637adbad031a5794d2d9e0fb49480a356c44dcf1cc54a71216faf02c3a5160e7ebee7bfbe99fa64e05a8cd47ed43f81beb5babe7acc19
-DIST beartype-0.16.4.tar.gz 1063638 BLAKE2B a5e399f070cb0e7b9046eeb66f98d5ea194482d9d10db0f63269f2f085ad30c5a103dbb4f4f6e167fef56c348e9de63bd9c70812170c159d9b913235cf769bd9 SHA512 377bf525bdbc46879b2b864289d0450ec7835e424c3d31b682b4d9460f0d65f9759e4e1dc3e6e9b42047f7555ae7dfa8e7598d2181d25c94f30e01f7d006a741
+DIST beartype-0.18.5.tar.gz 1193506 BLAKE2B 497de6f326a3b600992748db8b74ba80d4a14003a0cc484b3eeaf48f0f808864fe64462ef3315d421dc4b5fe5d7060b48585ee00eb822c9f124612f394ab93bb SHA512 114b256619c6c7fc48fbe28db00ae5a8ddea4ce11c5394a06fa026f0317a34907ff12ef0c0009cff7a7b83742e6b66bc8b503b4c0e382c0b6cf79d43780bda5b
diff --git a/dev-python/beartype/beartype-0.15.0.ebuild b/dev-python/beartype/beartype-0.15.0.ebuild
deleted file mode 100644
index 1600c2778175..000000000000
--- a/dev-python/beartype/beartype-0.15.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Unbearably fast runtime type checking in pure Python"
-HOMEPAGE="
- https://pypi.org/project/beartype/
- https://github.com/beartype/beartype/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="
- test? (
- dev-python/mypy[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile performance test
- beartype_test/a00_unit/a90_decor/test_decorwrapper.py::test_wrapper_fail_obj_large
- # test for building docs, apparently broken too
- beartype_test/a90_func/z90_lib/a00_sphinx
-)
diff --git a/dev-python/beartype/beartype-0.16.1.ebuild b/dev-python/beartype/beartype-0.16.1.ebuild
deleted file mode 100644
index 1600c2778175..000000000000
--- a/dev-python/beartype/beartype-0.16.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Unbearably fast runtime type checking in pure Python"
-HOMEPAGE="
- https://pypi.org/project/beartype/
- https://github.com/beartype/beartype/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="
- test? (
- dev-python/mypy[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile performance test
- beartype_test/a00_unit/a90_decor/test_decorwrapper.py::test_wrapper_fail_obj_large
- # test for building docs, apparently broken too
- beartype_test/a90_func/z90_lib/a00_sphinx
-)
diff --git a/dev-python/beartype/beartype-0.16.2.ebuild b/dev-python/beartype/beartype-0.16.2.ebuild
deleted file mode 100644
index 1600c2778175..000000000000
--- a/dev-python/beartype/beartype-0.16.2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Unbearably fast runtime type checking in pure Python"
-HOMEPAGE="
- https://pypi.org/project/beartype/
- https://github.com/beartype/beartype/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="
- test? (
- dev-python/mypy[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile performance test
- beartype_test/a00_unit/a90_decor/test_decorwrapper.py::test_wrapper_fail_obj_large
- # test for building docs, apparently broken too
- beartype_test/a90_func/z90_lib/a00_sphinx
-)
diff --git a/dev-python/beartype/beartype-0.16.3.ebuild b/dev-python/beartype/beartype-0.16.3.ebuild
deleted file mode 100644
index 1600c2778175..000000000000
--- a/dev-python/beartype/beartype-0.16.3.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Unbearably fast runtime type checking in pure Python"
-HOMEPAGE="
- https://pypi.org/project/beartype/
- https://github.com/beartype/beartype/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="
- test? (
- dev-python/mypy[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile performance test
- beartype_test/a00_unit/a90_decor/test_decorwrapper.py::test_wrapper_fail_obj_large
- # test for building docs, apparently broken too
- beartype_test/a90_func/z90_lib/a00_sphinx
-)
diff --git a/dev-python/beartype/beartype-0.16.4.ebuild b/dev-python/beartype/beartype-0.16.4.ebuild
deleted file mode 100644
index c645a27f6310..000000000000
--- a/dev-python/beartype/beartype-0.16.4.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Unbearably fast runtime type checking in pure Python"
-HOMEPAGE="
- https://pypi.org/project/beartype/
- https://github.com/beartype/beartype/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv"
-
-BDEPEND="
- test? (
- dev-python/mypy[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile performance test
- beartype_test/a00_unit/a90_decor/test_decorwrapper.py::test_wrapper_fail_obj_large
- # test for building docs, apparently broken too
- beartype_test/a90_func/z90_lib/a00_sphinx
-)
diff --git a/dev-python/beartype/beartype-0.18.5.ebuild b/dev-python/beartype/beartype-0.18.5.ebuild
new file mode 100644
index 000000000000..cf8363a1d705
--- /dev/null
+++ b/dev-python/beartype/beartype-0.18.5.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-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="Unbearably fast runtime type checking in pure Python"
+HOMEPAGE="
+ https://pypi.org/project/beartype/
+ https://github.com/beartype/beartype/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv"
+
+BDEPEND="
+ test? (
+ dev-python/mypy[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # fragile performance test
+ beartype_test/a00_unit/a70_decor/test_decorwrapper.py::test_wrapper_fail_obj_large
+ # test for building docs, apparently broken too
+ beartype_test/a90_func/z90_lib/a00_sphinx
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/beautifulsoup4/Manifest b/dev-python/beautifulsoup4/Manifest
index a3c28f2582d7..ac78ef0aa60f 100644
--- a/dev-python/beautifulsoup4/Manifest
+++ b/dev-python/beautifulsoup4/Manifest
@@ -1 +1 @@
-DIST beautifulsoup4-4.12.2.tar.gz 505113 BLAKE2B 94412a87dcffeb14655417eb61a784c8933aea79c81721ebf30114d55fd3e0f58850e0cfed354d3573d1bf18b556f3d83474b64a2a8d88f503c5125d5931321d SHA512 1dbb620f675bb319ef050ece0f343e80359bdc59cd8b8de19b1851aa5bca1081a7e953e3221ad97142198c17f67384c05b0406af24a123d71398f209fb89db97
+DIST beautifulsoup4-4.12.3.tar.gz 581181 BLAKE2B dac85b2d56ad1d2faf040def2141cb7a7ca68def7fc48fab18e11c23878795fcecfdd43058e70229e014e23e67f56a55160aa4ba08bab4b3d955bd10a07c8168 SHA512 b5b6cc9f64a97fa52b9a2ee1265aa215db476e705d3d79e49301de7e8d36c56c96924cb440eec0715f7ec75c5ddf4c1ade9d6cef7cdc9bf9e37125ac6eb50837
diff --git a/dev-python/beautifulsoup4/beautifulsoup4-4.12.2.ebuild b/dev-python/beautifulsoup4/beautifulsoup4-4.12.2.ebuild
deleted file mode 100644
index 9d022aa19949..000000000000
--- a/dev-python/beautifulsoup4/beautifulsoup4-4.12.2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Pythonic idioms for iterating, searching, and modifying an HTML/XML parse tree"
-HOMEPAGE="https://www.crummy.com/software/BeautifulSoup/bs4/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/soupsieve-1.3[${PYTHON_USEDEP}]
- dev-python/html5lib[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
-"
-# bs4 prefers cchardet > chardet > charset-normalizer
-# however, charset-normalizer causes test failures, so force the other two
-# dev-python/chardet[${PYTHON_USEDEP}]
-BDEPEND="
- test? (
- || (
- dev-python/cchardet[${PYTHON_USEDEP}]
- dev-python/chardet[${PYTHON_USEDEP}]
- )
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc/source
diff --git a/dev-python/beautifulsoup4/beautifulsoup4-4.12.3.ebuild b/dev-python/beautifulsoup4/beautifulsoup4-4.12.3.ebuild
new file mode 100644
index 000000000000..fa1f017754ba
--- /dev/null
+++ b/dev-python/beautifulsoup4/beautifulsoup4-4.12.3.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pythonic idioms for iterating, searching, and modifying an HTML/XML parse tree"
+HOMEPAGE="
+ https://www.crummy.com/software/BeautifulSoup/bs4/
+ https://pypi.org/project/beautifulsoup4/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/soupsieve-1.3[${PYTHON_USEDEP}]
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+"
+# bs4 prefers cchardet > chardet > charset-normalizer
+# however, charset-normalizer causes test failures, so force the other two
+# dev-python/chardet[${PYTHON_USEDEP}]
+BDEPEND="
+ test? (
+ || (
+ dev-python/cchardet[${PYTHON_USEDEP}]
+ dev-python/chardet[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc/source
diff --git a/dev-python/beniget/Manifest b/dev-python/beniget/Manifest
index 27414332761c..48751786ad23 100644
--- a/dev-python/beniget/Manifest
+++ b/dev-python/beniget/Manifest
@@ -1 +1 @@
-DIST beniget-0.4.1.gh.tar.gz 16353 BLAKE2B ef7de5eb15b59de10c56057b22e718ca7284d251a98ff1f8dbe31bad2e1bc7ca3c22c2794b1cae8b4c5fdf2a4b91ac6f9a3a0bef3c3aef51fbe6a93341333e31 SHA512 bd2b7beda41953be9b4052b539ae9812a370702874602175bfca66deebbc569515b9a59c750dc4898a6cb9f4a1d49f8ff15c1288035aaf72940cdd439eaace43
+DIST beniget-0.4.2.post1.tar.gz 32274 BLAKE2B 808b9cec64dd8cd62418c557092a58c228e91e6ee7dd9fea40af23081a77ddb5b7db01ca025d692e38a9a71181d4a23523170b29d89c318c75f228aaa219bea2 SHA512 7270d36e2ae98bd984b7f7e90f43c0dbf7b06601370ae71064a8b0a1babe4ca91e78ec8564a6836221c9a331835834e97670f5c7c0f4d40ff22835338b1ef3db
diff --git a/dev-python/beniget/beniget-0.4.1-r1.ebuild b/dev-python/beniget/beniget-0.4.1-r1.ebuild
deleted file mode 100644
index 2724ad10c0f4..000000000000
--- a/dev-python/beniget/beniget-0.4.1-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-DESCRIPTION="Extract semantic information about static Python code"
-HOMEPAGE="
- https://pypi.org/project/beniget/
- https://github.com/serge-sans-paille/beniget/
-"
-SRC_URI="
- https://github.com/serge-sans-paille/beniget/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- =dev-python/gast-0.5*[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
-
-python_test() {
- eunittest -s tests -p '*.py'
-}
diff --git a/dev-python/beniget/beniget-0.4.2_p1.ebuild b/dev-python/beniget/beniget-0.4.2_p1.ebuild
new file mode 100644
index 000000000000..f5c267ed38b7
--- /dev/null
+++ b/dev-python/beniget/beniget-0.4.2_p1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Extract semantic information about static Python code"
+HOMEPAGE="
+ https://pypi.org/project/beniget/
+ https://github.com/serge-sans-paille/beniget/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/gast-0.5.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/betamax-matchers/betamax-matchers-0.4.0-r1.ebuild b/dev-python/betamax-matchers/betamax-matchers-0.4.0-r1.ebuild
index 476a51cbc648..4c0ad1f8264a 100644
--- a/dev-python/betamax-matchers/betamax-matchers-0.4.0-r1.ebuild
+++ b/dev-python/betamax-matchers/betamax-matchers-0.4.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/betamax/Manifest b/dev-python/betamax/Manifest
index 345589e93711..2d8fa1990038 100644
--- a/dev-python/betamax/Manifest
+++ b/dev-python/betamax/Manifest
@@ -1 +1 @@
-DIST betamax-0.8.1.tar.gz 77526 BLAKE2B 2ce88326c5ef80082908912c4b14f149793c4457c47446ebcabaaffaa6b0ee64528096acc6bdd868fce0fad3d10ad66697cad5dc422c15b324e1cc9ae20eafa6 SHA512 89bfb56cf4004a70ec8c1f2342cfa0e02f850b8ed80b67f8b2b02c1a2093e8ac1cf1b9980354551e9d3a21fadde0d77d717f1559487024941973cd80bd451734
+DIST betamax-0.9.0.tar.gz 79957 BLAKE2B fed287985207679587a0d2a2f38748fca87b7ec9516135c3e50bcfc5bd8035136b4edcac1e3af143cf2f32caa79b5c76e9a9f450d9488f06673aa4d672b09956 SHA512 a6b8f4d719dbfdc26b39f4cb16e33db1da85e01bceb871640d2778e7d830ef2d3bcd655aba6382136cb5cd66d8db1fa6ab04c942e5e185702337cd3dc8c1fa15
diff --git a/dev-python/betamax/betamax-0.8.1-r2.ebuild b/dev-python/betamax/betamax-0.8.1-r2.ebuild
deleted file mode 100644
index 9aae04ce98e9..000000000000
--- a/dev-python/betamax/betamax-0.8.1-r2.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="python-requests HTTP exchanges recorder"
-HOMEPAGE="
- https://github.com/betamaxpy/betamax/
- https://pypi.org/project/betamax/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-# urllib3-2 blocked by https://github.com/betamaxpy/betamax/issues/200
-RDEPEND="
- dev-python/requests[${PYTHON_USEDEP}]
- <dev-python/urllib3-2[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}/${P}-pytest.patch"
-)
-
-EPYTEST_DESELECT=(
- # Internet
- tests/integration/test_hooks.py
- tests/integration/test_placeholders.py
- tests/integration/test_record_modes.py::TestRecordOnce::test_records_new_interaction
- tests/integration/test_record_modes.py::TestRecordOnce::test_replays_response_from_cassette
- tests/integration/test_record_modes.py::TestRecordNewEpisodes
- tests/integration/test_record_modes.py::TestRecordNewEpisodesCreatesCassettes
- tests/integration/test_record_modes.py::TestRecordAll
- tests/integration/test_unicode.py
- tests/regression/test_gzip_compression.py
- tests/regression/test_requests_2_11_body_matcher.py
-)
diff --git a/dev-python/betamax/betamax-0.9.0.ebuild b/dev-python/betamax/betamax-0.9.0.ebuild
new file mode 100644
index 000000000000..0563c17f6829
--- /dev/null
+++ b/dev-python/betamax/betamax-0.9.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="python-requests HTTP exchanges recorder"
+HOMEPAGE="
+ https://github.com/betamaxpy/betamax/
+ https://pypi.org/project/betamax/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/requests-2.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Internet
+ tests/integration/test_hooks.py
+ tests/integration/test_placeholders.py
+ tests/integration/test_record_modes.py::TestRecordOnce::test_records_new_interaction
+ tests/integration/test_record_modes.py::TestRecordOnce::test_replays_response_from_cassette
+ tests/integration/test_record_modes.py::TestRecordNewEpisodes
+ tests/integration/test_record_modes.py::TestRecordNewEpisodesCreatesCassettes
+ tests/integration/test_record_modes.py::TestRecordAll
+ tests/integration/test_unicode.py
+ tests/regression/test_gzip_compression.py
+ tests/regression/test_requests_2_11_body_matcher.py
+)
diff --git a/dev-python/betamax/files/betamax-0.8.1-pytest.patch b/dev-python/betamax/files/betamax-0.8.1-pytest.patch
deleted file mode 100644
index e3bfe39c81ca..000000000000
--- a/dev-python/betamax/files/betamax-0.8.1-pytest.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 165cc321f2b9839418269e9493b03eb2e43f7ddf Mon Sep 17 00:00:00 2001
-From: Jiri Kuncar <jiri.kuncar@gmail.com>
-Date: Mon, 9 Sep 2019 12:23:18 +0200
-Subject: [PATCH] tests: fix direct calls to PyTest fixtures
-
-https://docs.pytest.org/en/latest/deprecations.html#calling-fixtures-directly
----
- tests/unit/test_fixtures.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/tests/unit/test_fixtures.py b/tests/unit/test_fixtures.py
-index 387d9ce..41f33eb 100644
---- a/tests/unit/test_fixtures.py
-+++ b/tests/unit/test_fixtures.py
-@@ -27,9 +27,9 @@ def test_adds_stop_as_a_finalizer(self):
- # Mock a pytest request object
- request = mock.MagicMock()
- request.cls = request.module = None
-- request.function.__name__ = 'test'
-+ request.node.name = request.function.__name__ = 'test'
-
-- pytest_fixture.betamax_recorder(request)
-+ pytest_fixture._betamax_recorder(request)
- assert request.addfinalizer.called is True
- request.addfinalizer.assert_called_once_with(self.mocked_betamax.stop)
-
-@@ -37,9 +37,9 @@ def test_auto_starts_the_recorder(self):
- # Mock a pytest request object
- request = mock.MagicMock()
- request.cls = request.module = None
-- request.function.__name__ = 'test'
-+ request.node.name = request.function.__name__ = 'test'
-
-- pytest_fixture.betamax_recorder(request)
-+ pytest_fixture._betamax_recorder(request)
- self.mocked_betamax.start.assert_called_once_with()
-
-
diff --git a/dev-python/bibtexparser/Manifest b/dev-python/bibtexparser/Manifest
index 1284b94305cf..26ee0e990245 100644
--- a/dev-python/bibtexparser/Manifest
+++ b/dev-python/bibtexparser/Manifest
@@ -1,2 +1 @@
-DIST bibtexparser-1.4.0.gh.tar.gz 93130 BLAKE2B e55a5cd960f979af460cca3850e58b035e0a937d2d230b200ea954e1c795ab436d09cdeb4d6b369a7802a9f6d3f98f1533ce821f3df4000a4154103367bb603b SHA512 70fcb501539c25d684ffd84b3a15eb03cf497f70bfdd1d14b2842978e8c6b3d1877d37195789ab3053432582c6c3520f98f90d774835b4c8124505e05905293c
DIST bibtexparser-1.4.1.gh.tar.gz 97146 BLAKE2B 8040532fe2153ff6ec664631a11b4f61548f99198c565bb554d0fe09d1fa54ee368c08be72bf7e86c5b6ca696deb0210496d4772243a05c5c9b28d73f52e6dc5 SHA512 f8e8f911eac38e98362bbbeff5b4af986e426911db9c54e93ec4a4eee1b1ceed630222c1a51454639566a6b5bad60c86a70b882a1c05084927fcbe7315e837ce
diff --git a/dev-python/bibtexparser/bibtexparser-1.4.0.ebuild b/dev-python/bibtexparser/bibtexparser-1.4.0.ebuild
deleted file mode 100644
index 178521806dfa..000000000000
--- a/dev-python/bibtexparser/bibtexparser-1.4.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A BibTeX parser written in Python"
-HOMEPAGE="
- https://github.com/sciunto-org/python-bibtexparser/
- https://pypi.org/project/bibtexparser/
-"
-SRC_URI="
- https://github.com/sciunto-org/python-bibtexparser/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/python-${P}"
-
-LICENSE="|| ( BSD LGPL-3 )"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/pyparsing[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/bibtexparser/bibtexparser-1.4.1.ebuild b/dev-python/bibtexparser/bibtexparser-1.4.1.ebuild
index 6a85cbc2b4b7..cacc9487d938 100644
--- a/dev-python/bibtexparser/bibtexparser-1.4.1.ebuild
+++ b/dev-python/bibtexparser/bibtexparser-1.4.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/binaryornot/binaryornot-0.4.4-r3.ebuild b/dev-python/binaryornot/binaryornot-0.4.4-r3.ebuild
index 95551cbc16aa..e2911bf19975 100644
--- a/dev-python/binaryornot/binaryornot-0.4.4-r3.ebuild
+++ b/dev-python/binaryornot/binaryornot-0.4.4-r3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/bincopy/Manifest b/dev-python/bincopy/Manifest
new file mode 100644
index 000000000000..8cef475d4fe7
--- /dev/null
+++ b/dev-python/bincopy/Manifest
@@ -0,0 +1 @@
+DIST bincopy-20.0.0.tar.gz 750646 BLAKE2B 89f57cbf314aded9d9ac0d1ef51d1c7ed0f7e6aaa65236bb8daac72f98518b30974f62854f6dc64145a6615d636cddebefb8a09c42996ef33f6e64cb99fca486 SHA512 05cc54684c951ac209fa25ebdc2f60566ef93248cfa298439a2a4f6a4174e02f47476573aa580ae2d1e4b8e16e91ee8c4fee2097c375ca2c079dbbb0602b6153
diff --git a/dev-python/bincopy/bincopy-20.0.0.ebuild b/dev-python/bincopy/bincopy-20.0.0.ebuild
new file mode 100644
index 000000000000..9266af351b55
--- /dev/null
+++ b/dev-python/bincopy/bincopy-20.0.0.ebuild
@@ -0,0 +1,27 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Mangling of various file formats that conveys binary information"
+HOMEPAGE="
+ https://pypi.org/project/bincopy/
+ https://github.com/eerimoq/bincopy/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ >=dev-python/argparse-addons-0.4.0[${PYTHON_USEDEP}]
+ dev-python/humanfriendly[${PYTHON_USEDEP}]
+ dev-python/pyelftools[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/bincopy/metadata.xml b/dev-python/bincopy/metadata.xml
new file mode 100644
index 000000000000..2f0d49331b0c
--- /dev/null
+++ b/dev-python/bincopy/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">bincopy</remote-id>
+ <remote-id type="github">eerimoq/bincopy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/bitarray/Manifest b/dev-python/bitarray/Manifest
index 2d4003290598..09be655b3ee4 100644
--- a/dev-python/bitarray/Manifest
+++ b/dev-python/bitarray/Manifest
@@ -1 +1 @@
-DIST bitarray-2.8.3.tar.gz 128790 BLAKE2B 198723c7e26ad1638f541ae5269a9294e4588d8ece76121c4e2758f79dd704217fb0a83da3b5798f95f93006a18c4a6704aeb0efc7d55a42cc277789c6581154 SHA512 60c551ec98746495c3ae73fc40b660bcadc27dcbb42f022524daf33830494f5d168b9577bb5270de42f59da43a52548cfdb262c3386fafe6c1dd1d18592a7a7e
+DIST bitarray-2.9.2.tar.gz 132825 BLAKE2B dcd574f5273a876e8010513a433fbf657a0cdb37899b470ec4ba07d64af075a6d1660390e6dc040361537d115d4dc2abb9e21aa26601b5d8d9511a40408f7fc4 SHA512 fe7ea6fa35de53a0cbd1042cf7a596080690b94771d160b6659f085c969d29d8f816ffda14d3b3a16fb398573410cfdb53183704cf846e94af942b6dad9708fb
diff --git a/dev-python/bitarray/bitarray-2.8.3.ebuild b/dev-python/bitarray/bitarray-2.8.3.ebuild
deleted file mode 100644
index f1bfdf5400a9..000000000000
--- a/dev-python/bitarray/bitarray-2.8.3.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Efficient arrays of booleans -- C extension"
-HOMEPAGE="
- https://github.com/ilanschnell/bitarray/
- https://pypi.org/project/bitarray/
-"
-
-SLOT="0"
-LICENSE="PSF-2"
-KEYWORDS="amd64 ~arm arm64 x86 ~amd64-linux ~x86-linux"
-
-python_test() {
- "${EPYTHON}" bitarray/test_bitarray.py -v || die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/bitarray/bitarray-2.9.2.ebuild b/dev-python/bitarray/bitarray-2.9.2.ebuild
new file mode 100644
index 000000000000..372329f8b57d
--- /dev/null
+++ b/dev-python/bitarray/bitarray-2.9.2.ebuild
@@ -0,0 +1,24 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Efficient arrays of booleans -- C extension"
+HOMEPAGE="
+ https://github.com/ilanschnell/bitarray/
+ https://pypi.org/project/bitarray/
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86 ~amd64-linux ~x86-linux"
+
+python_test() {
+ "${EPYTHON}" bitarray/test_bitarray.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/bitstring/Manifest b/dev-python/bitstring/Manifest
index 1cbd2b4f2150..7a5fe912f82f 100644
--- a/dev-python/bitstring/Manifest
+++ b/dev-python/bitstring/Manifest
@@ -1,2 +1 @@
-DIST bitstring-4.1.2.tar.gz 232896 BLAKE2B 549942afafc0a8c3c5ad30b835acbfb6e800514be5c3d0a132a4dc026eb80168a0d42a530be1c652e97cb4b2eefbd0dc834b3d2e782b137a075f1e6e6a14a016 SHA512 23e5f651538b06c6342dd661661382b8935271d6266e6ad2404e19c0af49ca2756337793e66d858731421246fad5330f2f5588bee3e81cc8ca39a985c2941721
-DIST bitstring-4.1.4.tar.gz 232014 BLAKE2B fad74a1a2931504b44c7d95c4e88b058c17ee189ab7b4ec6987d1284c273329b7850cd1aff8e93eb6badf7d52284db006f1f1118ee5f871694f2bd5b4b10e449 SHA512 e05d983ac340565b193c4b4d5f7f5fceea3ba68f04c348ab42cd1d783ac64e1b1adb0ce9bcaac20335137f103d51df198421c7cfee1e5c1ad9f3c9b89b77b679
+DIST bitstring-4.2.3.tar.gz 250537 BLAKE2B 81902038a0b422533b5fe863a4dc71ec7b828d55a45e9edabb632ffc4682e1bf5d5620edce69c245b877d0ee93dff474533db3d46ddd57435a7a4c0b0bd71f9a SHA512 caf53aeb746f4c132d7b91e2c0983bc96f33cb240033872e9d6fc15318f3ced2638427ccc6fc5bfbac05d221fbb4cad4791213b32f97d8a1f8d57e8841a3e176
diff --git a/dev-python/bitstring/bitstring-4.1.2.ebuild b/dev-python/bitstring/bitstring-4.1.2.ebuild
deleted file mode 100644
index e5a7b9e8663d..000000000000
--- a/dev-python/bitstring/bitstring-4.1.2.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A pure Python module for creation and analysis of binary data"
-HOMEPAGE="
- https://github.com/scott-griffiths/bitstring/
- https://pypi.org/project/bitstring/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-
-RDEPEND="
- <dev-python/bitarray-3[${PYTHON_USEDEP}]
- >=dev-python/bitarray-2.8.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- rm "${S}"/${PN}/plugin_test.py || die "rm plugin_test.py failed"
- distutils-r1_src_prepare
-}
diff --git a/dev-python/bitstring/bitstring-4.1.4.ebuild b/dev-python/bitstring/bitstring-4.1.4.ebuild
deleted file mode 100644
index ed11001fdc22..000000000000
--- a/dev-python/bitstring/bitstring-4.1.4.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A pure Python module for creation and analysis of binary data"
-HOMEPAGE="
- https://github.com/scott-griffiths/bitstring/
- https://pypi.org/project/bitstring/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-
-RDEPEND="
- <dev-python/bitarray-3[${PYTHON_USEDEP}]
- >=dev-python/bitarray-2.8.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/bitstring/bitstring-4.2.3.ebuild b/dev-python/bitstring/bitstring-4.2.3.ebuild
new file mode 100644
index 000000000000..a76f31f06897
--- /dev/null
+++ b/dev-python/bitstring/bitstring-4.2.3.ebuild
@@ -0,0 +1,36 @@
+# 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="A pure Python module for creation and analysis of binary data"
+HOMEPAGE="
+ https://github.com/scott-griffiths/bitstring/
+ https://pypi.org/project/bitstring/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86"
+
+RDEPEND="
+ <dev-python/bitarray-3[${PYTHON_USEDEP}]
+ >=dev-python/bitarray-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/gfloat-0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ tests/test_benchmarks.py
+)
diff --git a/dev-python/black/Manifest b/dev-python/black/Manifest
index 62c50b95fd5c..27e4646f0a43 100644
--- a/dev-python/black/Manifest
+++ b/dev-python/black/Manifest
@@ -1 +1 @@
-DIST black-23.11.0.tar.gz 615416 BLAKE2B eaf2dc20060b9161bb03b8f9ff99afa948f7296fa9d8d1aead10469e4edd4f78c871f0846c66a5673b94e2e4e0dfa9d70906ff4324fec5f40f0983a367df54e1 SHA512 50c9d04f57cae3b8338abd90c54f5025b915e8d50cc79863b3b540a434250475f13cd6c48f15e9b955981a2a6dadec9b4eed4caa277f349a8406d7f8640f2a2e
+DIST black-24.4.2.tar.gz 642299 BLAKE2B aa62394dc4a14fd6dd49502a86e46e7f707d6342127e2fb3b5cb7365ab392f5a0514df548d30219e9b6ed1f9d8ca80241ea206a06011ef8dc3d770191d3328ce SHA512 f3fb63fdbff947a217ad371939a6eaac1e818f58fb924516639f3c9469f0db6fbda8d4b207163d4a6db8a58a048fefe46fbfdb1ddf40f91348bd767208e60f35
diff --git a/dev-python/black/black-23.11.0.ebuild b/dev-python/black/black-23.11.0.ebuild
deleted file mode 100644
index f0fcc3ad2448..000000000000
--- a/dev-python/black/black-23.11.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="The uncompromising Python code formatter"
-HOMEPAGE="
- https://black.readthedocs.io/en/stable/
- https://github.com/psf/black/
- https://pypi.org/project/black/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/click-8.0.0[${PYTHON_USEDEP}]
- >=dev-python/mypy_extensions-0.4.3[${PYTHON_USEDEP}]
- >=dev-python/packaging-22.0[${PYTHON_USEDEP}]
- >=dev-python/pathspec-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/aiohttp-3.7.4[${PYTHON_USEDEP}]
- dev-python/aiohttp-cors[${PYTHON_USEDEP}]
- dev-python/colorama[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-pkg_postinst() {
- optfeature "blackd - HTTP API for black" \
- "dev-python/aiohttp dev-python/aiohttp-cors"
-}
diff --git a/dev-python/black/black-24.4.2-r1.ebuild b/dev-python/black/black-24.4.2-r1.ebuild
new file mode 100644
index 000000000000..dc3816b3280a
--- /dev/null
+++ b/dev-python/black/black-24.4.2-r1.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="The uncompromising Python code formatter"
+HOMEPAGE="
+ https://black.readthedocs.io/en/stable/
+ https://github.com/psf/black/
+ https://pypi.org/project/black/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/click-8.0.0[${PYTHON_USEDEP}]
+ >=dev-python/mypy_extensions-0.4.3[${PYTHON_USEDEP}]
+ >=dev-python/packaging-22.0[${PYTHON_USEDEP}]
+ >=dev-python/pathspec-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/aiohttp-3.7.4[${PYTHON_USEDEP}]
+ dev-python/aiohttp-cors[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature "blackd - HTTP API for black" \
+ "dev-python/aiohttp dev-python/aiohttp-cors"
+}
diff --git a/dev-python/blake3-py-c/Manifest b/dev-python/blake3-py-c/Manifest
deleted file mode 100644
index 171df0d13c35..000000000000
--- a/dev-python/blake3-py-c/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST blake3-py-0.3.3.gh.tar.gz 114409 BLAKE2B 7514697e2fe58623000dcf457ca5a197b98ca6606e5463b4afb455e36ada3a66865f297272f9e8cde49537442cf5491a7673d64696cba617e085222040b5af66 SHA512 155d8165792935176bf9484b42d6caa715b3c6ff36d266be4d8334fc17a2fdd4a85c5c2c3d53285f21166232a8e558fe9340a8db2bd98ef01d0358809ed28dfb
diff --git a/dev-python/blake3-py-c/blake3-py-c-0.3.3.ebuild b/dev-python/blake3-py-c/blake3-py-c-0.3.3.ebuild
deleted file mode 100644
index 5f1b38ab514a..000000000000
--- a/dev-python/blake3-py-c/blake3-py-c-0.3.3.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=${P/-c}
-DESCRIPTION="Python bindings for the BLAKE3 cryptographic hash function"
-HOMEPAGE="https://github.com/oconnor663/blake3-py/"
-SRC_URI="
- https://github.com/oconnor663/blake3-py/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}/c_impl
-
-LICENSE="|| ( CC0-1.0 Apache-2.0 )"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- !dev-python/blake3-py[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- cd .. || die
- epytest
-}
diff --git a/dev-python/blake3-py-c/metadata.xml b/dev-python/blake3-py-c/metadata.xml
deleted file mode 100644
index 3091c4dd69fe..000000000000
--- a/dev-python/blake3-py-c/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="github">oconnor663/blake3-py</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/blake3-py/Manifest b/dev-python/blake3-py/Manifest
deleted file mode 100644
index d7a98c349c57..000000000000
--- a/dev-python/blake3-py/Manifest
+++ /dev/null
@@ -1,56 +0,0 @@
-DIST arrayref-0.3.7.crate 9620 BLAKE2B 69d25ca9c15c188ca954a862f320869a448a5d8ed5765a6fc26309abb030e1d846d12800d960c8a97aa3ab422e8d2b883bd154781ed219a858e02b20cc803613 SHA512 dcf1c7de6d1d4b921e26a39cd70070bd460cd27f0a38be9099e41fc8b05fb60ba4f9aa91f92401cdcd0847bad08bffa7db4dca8d7cc84a3c8a1416d1758838ce
-DIST arrayvec-0.7.4.crate 29856 BLAKE2B 81ffac1db340e919618351819def3880ab1ef70d0acc47d680f15298eb749bcbc3bf7944ba14159be46b1e734c91b4c0f8cbaf774fd864c17caa3c9fb1fc2e9b SHA512 91e8f70330c515c966d78ae235e890594f9607381ac738a2c3586b53f01411e98d1687494f39ccc365948ae60497df3dfb2be18e26ab7e69bc0966b6c250e1ac
-DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
-DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
-DIST blake3-1.4.0.crate 162833 BLAKE2B f8336614e8c36b992b9d26cb1cc725795e551d2bab664c4e20c7e1e9168818a3ed772415af6ddc0a386b77c22a55ab81d1808b7473aa2cf3d1d6e59a5ee13310 SHA512 e5ebfe1453707703f3d4bc0c71a5a94cd294b9242abaf35efe86aff03f4d27af7ff00b3638a8fe1cf5b54cdc7b9fd8d862edb5dd81ad25795f903c90cee5ab04
-DIST blake3-py-0.3.3.gh.tar.gz 114409 BLAKE2B 7514697e2fe58623000dcf457ca5a197b98ca6606e5463b4afb455e36ada3a66865f297272f9e8cde49537442cf5491a7673d64696cba617e085222040b5af66 SHA512 155d8165792935176bf9484b42d6caa715b3c6ff36d266be4d8334fc17a2fdd4a85c5c2c3d53285f21166232a8e558fe9340a8db2bd98ef01d0358809ed28dfb
-DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb
-DIST cc-1.0.79.crate 62624 BLAKE2B b3cbed3bd6fcac1c6ea258ec96cd107f859947a35dc89c3dc8f314741b0f668e61518f896ec32ce10c9a7eb20dd350bc177a71810d53ebea59fda062ed9d27db SHA512 cbf0a25f3a23fc540e9d638fabc23f761f1c240ebb4814e761e90437d71fc559cd155768ab9e78fc192220d8a605c66c3af342ed736b719181656170b98d7bf5
-DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST constant_time_eq-0.2.6.crate 10936 BLAKE2B 4fe46bfd279394ac8064662a89da8a5f7240ea337b3b43b6f69804952ed6370dc28979060534776e7f252f472e3197fec130529899afeb37f82260358900d107 SHA512 3c8b61de0be32647be4c64d2d4856cf317964dfd682c32268046c6d4fb66af5b3fac32dc214e537ece9b3a879685b1d87c47757afd336630cacd5c8b9716f8f7
-DIST crossbeam-channel-0.5.8.crate 90455 BLAKE2B 017132056f1b40e55fbc7a09b75509d72b0a6123a0e5ea5d6104fe822f73b3ccce670d711d3b84b5ce743dcab5f10445297a6701b71213b77c0d56e2c3fd7160 SHA512 47677d6fe63050c51393e4a0537a3c65d7055c9eae118ebe60c5d716b4f47f23c2b1947b1e1b66bfb34a57c4db3a44631d323e996dd545565fe4f58c25863ff4
-DIST crossbeam-deque-0.8.3.crate 21746 BLAKE2B c24025c65d7c1c98e442af95491749dd4f777af0509636ed66886dcf656359ec50dc2a5e26327559c6659f6b355d2b0b992dafa691a36571c99637cb47372d0f SHA512 f3201c9afef7d2d119702696f7e5e7997a104b8f7d67c7adebd1cbed84d3a3415636ff674f1ccdfd95d0dc162384e46c6138c8203ede69577b0d5359a4b44672
-DIST crossbeam-epoch-0.9.15.crate 48553 BLAKE2B 23aa0532d3126e22efc779859478098e505b4ec895c643530a3f7e8dba0543df3d8ffcb6825b1d3869a4418e17d798d464b3e1bb51522435d50f53ac224e22c8 SHA512 d9292c059ef1d156da52950137b2b3ea5eab66c4cc2f763d02078d0b0106980839ebed2ae2aec53e026ee7b3ddc37c4b51370d925ada1ad13d9981934daa7bde
-DIST crossbeam-utils-0.8.16.crate 42508 BLAKE2B dfaf9e7cade2cb5a2de90dc622e58a69c5b28fe9f69d3cbb945431683cf48fb409565190e3414a815563afb12631d990476919890fc482ce6b5792fdc25536a7 SHA512 4b8d599a8b93015eea2fd404cdf1526fbb94662fffc7c64d2f0659aeef349e4ad682f61b2b85d075c7f3fbbc4d8106cd7caf6e65dae117ba982f31262df3f831
-DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f
-DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c
-DIST either-1.8.1.crate 16027 BLAKE2B 2fad54b5f20bb8540fff5959ca7b2f9021c814ee610895d770f7081b12ebe2c93ce754c462df9d81824d479ca75e07f4a9e398c07a655f4abe2740b9c9de9c62 SHA512 5e4da301a605e0bc1ee3a269fe449aef044df05b5e833940c7f79bed61bbff4fc248e9c82b45dab92b2688d578ada000b271aaf67f2f4f7c82b35f05663cfe7e
-DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d
-DIST hermit-abi-0.2.6.crate 13027 BLAKE2B 4df5306639511a5f69594e903f8ce62482cbbfbfe272a91a12f407483dbac4e87c2d7e5668cc06ca5c0fc149ca93a3152fe6ad4bb3b96cacf56a22cb635e5b7f SHA512 bad8442bb822a9c99f6536db16523c80f5139af6a139bcc359c03725c59ff935816e2ecc5c491dc362ac75ab2dff41ab1e9dd29431f5e9a109b60eb9b7a8dc28
-DIST hex-0.4.3.crate 13299 BLAKE2B deab49bf3d97f6fd7c0a0855b50232422443b226362bc7a4a19e57c2e662fff2cb046d4c5bd7618ddd523045f3d8c78754508f862f9a8ca29ca9247da6d6ec79 SHA512 fd8ff33b68eea2d6f2c6b02a6d82a2807cbcdc209ca5a76e3e3e5d006917ee151f236b6d18e2646cc9a9674bcdda1d6ce6ee363a89cadd99bef00d0eea9989e6
-DIST indoc-1.0.9.crate 13475 BLAKE2B a9696788574e56dd125c3371169fd59d6947d188f76e2669b21c0304692efd6709cd048920f7822e92c6a5620fb178e0e85c7776118cef8ccee0f58398e14abf SHA512 db8aef4a7bb606452dc8ed45aa29a255c7a135357a0bd586fb4429c5f56a1aa2ca9400d6fac39956aeb486a15d25cf5d1b9524967867f2c651d9d563e3e85be8
-DIST libc-0.2.146.crate 684707 BLAKE2B 53091a46262389e327973185c26bf187beba392c45a92bfa424fc0976333d6c8afdac6527484032574086e32412a712bc2616468f7cb14e6bd0480ca2bef6da6 SHA512 4112c17cfda83041f33a7b616a365a0eb6603ba857fd7bedd64162021a6305c81da6ae8f37395732d7eea40d4fe648bae435ee0bf0b1a1a48400e6546d4d50b6
-DIST lock_api-0.4.10.crate 26713 BLAKE2B 113adf8554c65e9782e8fd0360d0398567dfbfddb1fea4928cc152fbab98dbe086e42b81170f6f5c333d61dd3261e8a1ebfbaed786e6bf6378e6afde6d7f9e5c SHA512 ffe8cad8099bc382832181c1ff95e0935993491f247114604201be7d4ddf8402fd4db8fd6499c611f95fbce7d57dc3d3738eddfab31c52f50ab8709e549697db
-DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f
-DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
-DIST num_cpus-1.15.0.crate 15680 BLAKE2B a4d98b29ad534de9bc262f58f615ec06bde5d5a2f5252f09b5a0a6ecb06a9daf9709ad9045eb08f7cb744d8a838854b9095aa73918e06624a84efbc11a9a5c1d SHA512 fd4772868def9460a6ee17ef6fc00b0bc74115eec891bb3fdb07ba5b5fe4057a2ac69eb31ba8beddbd3189c7be4545888e5724879f3a89132fbc9b32aa7bb10f
-DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
-DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
-DIST parking_lot_core-0.9.8.crate 32383 BLAKE2B 2f9666872894d1c85895437d1353f9e15be2bc8d004ffc8f0e5be95e9dd4b274797db3752eba1c0b5b6071c1b8a71e4857cae0b2aff1afdaa39e92e70be2e6fd SHA512 8d6dfdf661b0f7d0774cb9f61121f2daefd182ac8a2a0d24eab451febfbe1a664c815c163d34a7f3d15a54915a8e22e6c6cd10e89cb7d7598d48d81ad6a3c256
-DIST proc-macro2-1.0.60.crate 44160 BLAKE2B 3cca40d5ffa85607212ea8da63995b35b1d59bf077ad1f708bb08f20a3f3d477e934205008984bf2e947e6e53689192df1d437772c75148e122e0f1f4fe43455 SHA512 2a3d33d2e42e3b7edac7a099dcaf83c43ad47852217424c2bcf8ed5b894292975ef5a11df01ebb3479971e94d5b032b9d043c28bed476d6f7087fb9297fbaac0
-DIST pyo3-0.17.3.crate 408939 BLAKE2B e67ce34c626dbede3c76abf66ba5078827e8a75644ff9fbd83eccf3d53096a3c2e0991da8b3489ea9984c665751308bcf4aa9c3d31dd62c72127694156a7a0a9 SHA512 5c83ea76202edce13c370d023562a9009382e36fdf3fcd7c4dea844ab8e5e048db4cc79a9c0ea98fb7017a83da16924ba0981ad98bd83e75e2fac434738e9740
-DIST pyo3-build-config-0.17.3.crate 29230 BLAKE2B 193df0c15a2150505c823338e76f4d75e2f28158626edf332da2b10b6a81bfaf7f95a3a32c9f218717504b2f0dd80d3fb61c78ab3df9cb9024c3686f8ca002b0 SHA512 92652ffdfb3f6c3c8a1c2f97f5e2ed19175ba6bad5cd0f0c113b569369193aa18d95adc780bbdb8202d815a1ec0b6aeaf40d93d64faab42f4e8b452c806906a2
-DIST pyo3-ffi-0.17.3.crate 62854 BLAKE2B 3f1c519b210de0aee19b832845c1d44237f780f18173ddc1b1cef5eac1060fab40fd8dbec067a49e4d28fc7edcd0bd751f54438ad42a8b98641de0517052c64b SHA512 c08481d1530207fee544a5dde14253415e5451c1c013b86ac1f0e9bcb3c1df7866764cd11bad523105b6821725560329b89ff689b3aa2f0698cdab148d0fc12e
-DIST pyo3-macros-0.17.3.crate 7257 BLAKE2B 4c5e166a37c31f2cc21b7dce9b46dcdaeea0f12299c421430efe72b47ac954f10680bf6ecb28a5f0058abaf22519f6ce05d21e5de534e362ceb9847049601f4f SHA512 f99d38ea69b1d46599d203908d12eb3fe4869a48b21b3eaba0c9c8e52b9f2b3c5ea72505dcb9b3330450dd724eeba859eef724fe9624ebbd8bd3cbcff7372df1
-DIST pyo3-macros-backend-0.17.3.crate 49992 BLAKE2B a922c3c2c1f494002fa8592704c43ddbb4d9bf650187adcfc94f82c1275bcb69d444ede404d1b40bdf1e199427e8de880464b76c7385c2f96633544ad021c4b4 SHA512 b4dbddc3ac7ae542560459376127cabdbb4de83c04d70a4efe0976fa94e6ce94a7a62723f689a8fbb1d795fc235b1ac3611f8b4985ae2af0db4a9dc08de48927
-DIST quote-1.0.28.crate 28382 BLAKE2B 9fb16c3bb2a7fec3d8138ffec1f58277061f4a643c9051e1f6525f9e347ed9de41a3797eb3140a6dd828526eb4114c1f7ca562151dc933f338d64b175ed35d9f SHA512 846d718153f78cbae6dc714caa9413a5d5964bcc5e032f5c6c5356c62c33bf22635955ebdff0dede69ba1c9657387e65d61de7c537f6f56f8060721dfa52d735
-DIST rayon-1.7.0.crate 169488 BLAKE2B 518f0eda1fcbd1b1b230587ea18cab0023a699e796c819bf35a6492b7edb051137446bfbc49aaab0a68aef8280c970ad14301a9f8f7461d537af119a65b33a38 SHA512 d999c811b701d0aa4e547234bdc20a7df56728e142c4aa882bae081b7b057e8c3a72f4a62fb35535e57501e8c2ba7ff072068b59d6b5374e9ca6bb66cc0984d3
-DIST rayon-core-1.11.0.crate 73118 BLAKE2B 313d65bb6e3a010569b317b32ac91c72e38282f4fcddbcb56ffa97de42d88c0d34f35f76b62e1ad60ee96b596aa681caf2071a8d5dfdca085fb1fbafb07c3ee4 SHA512 00ac782f49d688da90e823980e83b5ccd858f93769e2d801061fdef78728cff37d3a9fa4fd47a5cddb058f28f3289de349f8c8fdd94fa2f8c400d73bc4529800
-DIST redox_syscall-0.3.5.crate 23404 BLAKE2B 85aa4299d9816666bf576f523da5cdeae87b3c8fbb2af103e82258d23f73303c068a4b6c3ef4117ad67958cb31e41f836a9f59f2ce1bc52c23605e34399afcf1 SHA512 16f8f4766932bb54e4740cfdb4f0802f76246c0bf88c1d76c69c115949b124b625d8c3b85d8947073c2e9544f425aa16c10f71fabe3c03d29e424c47fe4ccdde
-DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
-DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
-DIST subtle-2.5.0.crate 13909 BLAKE2B 660c3a472ca54c9843ce3feea74b802e27fd7f62dd37a30e2a4ba82e4b3a71df63562e8865d5fc675d31d0900998a8730503f91a61450884446a3bdd6af0041b SHA512 f150b1e2037554f8cd3213a54ddbc258f8f670cc4f39e7084cdea4b47538dbc58b834bc93b443d58a4b9087224efc003234042aaf366687dbd32b1e7174082a0
-DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
-DIST target-lexicon-0.12.7.crate 24402 BLAKE2B 3715b15649566b9f26fe02aad818325a43b54512008e4ea9fcda9ea15a87b8f4baf4ffd7343fc12456c97d8a6b1e121158c4cb61997de0e2d24d1bce93d86850 SHA512 0f3cdbd7515141315934b6ca61c5666f3bf60e259711f68ed3c33468e2bd400cedf824db7158a80fa07e78cc7ac2a0a1eed2df199352176148e9df34b06511a2
-DIST typenum-1.16.0.crate 42477 BLAKE2B acc6dcd4521493c438a8a3d997ab0456fdbff3db66aee9b81ba219714d47522c3ca8fe26f8ce84edfda416ff9a22747caf3ecc9cc4bcd1e7647ac351d5aef407 SHA512 93da3ed62573acbc9d5d31257fb72ae9cfc7d59e4040c1f32d93e8fec94795e1aa20a3bf76ddc64c4b383184306bb2a66e51fd61b64dd4ce46a1bca8238b57b2
-DIST unicode-ident-1.0.9.crate 41978 BLAKE2B 4e78cefb4e7d7f173f1826a5ab6c8ffde386fea67cf3227bd22e6a6e65d3348dc53c9438e6bde9af06fb5e04b0beac866209d2426e7f04cd10b2435db85df7e3 SHA512 4d8cffe699c6f15ee82ab5f5a73421a6bb8b1a476237aefefa6e932c45c30683a4fb015f138bce99d7cb27a27fb7972909c828e77daef091da84ec162315625a
-DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
-DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
-DIST windows-targets-0.48.0.crate 7466 BLAKE2B 4ef6d89ad5b1acf26a1a24348122b86d3943bd95935499bc9032fbc7aa01c04999c723df7fecb4989854cb6b7cceffe141537dfb05a9eaf3902c4cb490533116 SHA512 1d2a29602a1e0846c8577ec9167c5f9972091998a5df449d67b13ad918bf37680e7f97247baf5e3010c166d0b3182418c2925470998b92893ee9469939b91e22
-DIST windows_aarch64_gnullvm-0.48.0.crate 366543 BLAKE2B 9b10f65089fe6da3ff38a1061783f635644ae84f567f891eaced280af68f7ff3919b34289e8850aa34554bb0346903273ff0a7fa743ca8794c2d23a9f1b0185f SHA512 80c5aa74c5669f7acff3882a8e7575f15e8d7cc58c11a1cb731ff423eb9cc9ba43cc6b80e52803c0d44e6a9001655ba87de6f43a9fe858da6d6e3a5c983a2711
-DIST windows_aarch64_msvc-0.48.0.crate 671479 BLAKE2B 0c80f210437628e1d878d1d14e884fea532c7539b3030aa76d46f27d02372c715c6e33d7efdbbd770666472b44a66c30711a33d819ede9cdcd51c96355802d45 SHA512 617e47a7202f1db4dbd3ecea509682135ccd85e3a458c0331b9bc7aa1d84e5756b59c881cb098d5c6d4c951248d13c8253a8e8a50938e1997bd19ceba77262df
-DIST windows_i686_gnu-0.48.0.crate 741490 BLAKE2B 5a4a584f8d8ee5bbd2d4c5b6749a66f2d43fc9e4ef90faab2227709b270f0d46fc26578c029edd96877c71309316ddb32d91c39f46d88f9a484c614f866e3dbe SHA512 15149fdd48b61b6d993acd392dbd353d0280d984ea88745217e4207937174bb90cdd9701f69ff0fe06a842f03607cbb57937d20d79ab577181e605a8a8fadc68
-DIST windows_i686_msvc-0.48.0.crate 730056 BLAKE2B 4e4ad6ed94948145199c2ed50fc65e4af08455a0fd058bb0f763d481f30b029f99a2b8dbac087b29e762500a19270f6683baf62ba99d141eb002a5b0b5c8ea05 SHA512 11a50800e709712dbea907275bc0faa46d2eb2969118445ed5b932d9c5957a09592a5b26a40e554c1f5fd56c6d074a07637e6f88eedd2224e1001e62df7b469b
-DIST windows_x86_64_gnu-0.48.0.crate 703595 BLAKE2B b227efb78a99c43d0538cceadada3fa1840df29adc665787fdcf845b73e77d782da8a9f9aa602e1da61401b550d0107176feb6c397c922a6240b38cc8f04a180 SHA512 38eff1164fb37dbd2bbe53404b20cba92de84cbbd5e4eb9ad60d51fb43d6fdb8b87a1488e2c88ebd4b3ff3b708f93fdc05df4b14a285d3ff11c33ff0d9828602
-DIST windows_x86_64_gnullvm-0.48.0.crate 366536 BLAKE2B 295dc3aef18c604d1579978045f4058b1a315083a8ab842bddf5800ec3460b1530ad88c3464acab712a229290aca235810de8a3b6a253859a354d9fa97277e58 SHA512 8d82fad4c8445030844708aa026a62f1ca43362b8e15f14b0d226c7e9cda04ffa0715087b6a025dbb738e8891de24fcc4a2df071a532917cf03c4a46f934f396
-DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B abb063610dcc38581657133182b7d9efeed5553df67bd2bd6f30f1668a645186e4824f9ef556a5abc84ace10b1b437b6325bbda6df5a64ce880d7dcb743ac786 SHA512 6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795
diff --git a/dev-python/blake3-py/blake3-py-0.3.3-r1.ebuild b/dev-python/blake3-py/blake3-py-0.3.3-r1.ebuild
deleted file mode 100644
index 4eec5fd1aa4d..000000000000
--- a/dev-python/blake3-py/blake3-py-0.3.3-r1.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{10..12} )
-
-CRATES="
- arrayref@0.3.7
- arrayvec@0.7.4
- autocfg@1.1.0
- bitflags@1.3.2
- blake3@1.4.0
- block-buffer@0.10.4
- cc@1.0.79
- cfg-if@1.0.0
- constant_time_eq@0.2.6
- crossbeam-channel@0.5.8
- crossbeam-deque@0.8.3
- crossbeam-epoch@0.9.15
- crossbeam-utils@0.8.16
- crypto-common@0.1.6
- digest@0.10.7
- either@1.8.1
- generic-array@0.14.7
- hermit-abi@0.2.6
- hex@0.4.3
- indoc@1.0.9
- libc@0.2.146
- lock_api@0.4.10
- memoffset@0.6.5
- memoffset@0.9.0
- num_cpus@1.15.0
- once_cell@1.18.0
- parking_lot@0.12.1
- parking_lot_core@0.9.8
- proc-macro2@1.0.60
- pyo3-build-config@0.17.3
- pyo3-ffi@0.17.3
- pyo3-macros-backend@0.17.3
- pyo3-macros@0.17.3
- pyo3@0.17.3
- quote@1.0.28
- rayon-core@1.11.0
- rayon@1.7.0
- redox_syscall@0.3.5
- scopeguard@1.1.0
- smallvec@1.10.0
- subtle@2.5.0
- syn@1.0.109
- target-lexicon@0.12.7
- typenum@1.16.0
- unicode-ident@1.0.9
- unindent@0.1.11
- version_check@0.9.4
- windows-targets@0.48.0
- windows_aarch64_gnullvm@0.48.0
- windows_aarch64_msvc@0.48.0
- windows_i686_gnu@0.48.0
- windows_i686_msvc@0.48.0
- windows_x86_64_gnu@0.48.0
- windows_x86_64_gnullvm@0.48.0
- windows_x86_64_msvc@0.48.0
-"
-
-inherit cargo distutils-r1
-
-DESCRIPTION="Python bindings for the BLAKE3 cryptographic hash function"
-HOMEPAGE="
- https://github.com/oconnor663/blake3-py/
- https://pypi.org/project/blake3/
-"
-SRC_URI="
- https://github.com/oconnor663/blake3-py/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="|| ( CC0-1.0 Apache-2.0 )"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD MIT
- Unicode-DFS-2016
-"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- )
-"
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/blake3/blake3.*.so"
-
-distutils_enable_tests pytest
diff --git a/dev-python/blake3-py/metadata.xml b/dev-python/blake3-py/metadata.xml
deleted file mode 100644
index ea862e0f3e8e..000000000000
--- a/dev-python/blake3-py/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="github">oconnor663/blake3-py</remote-id>
- <remote-id type="pypi">blake3</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/blake3/Manifest b/dev-python/blake3/Manifest
new file mode 100644
index 000000000000..f5e1439e29c8
--- /dev/null
+++ b/dev-python/blake3/Manifest
@@ -0,0 +1,47 @@
+DIST arrayref-0.3.7.crate 9620 BLAKE2B 69d25ca9c15c188ca954a862f320869a448a5d8ed5765a6fc26309abb030e1d846d12800d960c8a97aa3ab422e8d2b883bd154781ed219a858e02b20cc803613 SHA512 dcf1c7de6d1d4b921e26a39cd70070bd460cd27f0a38be9099e41fc8b05fb60ba4f9aa91f92401cdcd0847bad08bffa7db4dca8d7cc84a3c8a1416d1758838ce
+DIST arrayvec-0.7.4.crate 29856 BLAKE2B 81ffac1db340e919618351819def3880ab1ef70d0acc47d680f15298eb749bcbc3bf7944ba14159be46b1e734c91b4c0f8cbaf774fd864c17caa3c9fb1fc2e9b SHA512 91e8f70330c515c966d78ae235e890594f9607381ac738a2c3586b53f01411e98d1687494f39ccc365948ae60497df3dfb2be18e26ab7e69bc0966b6c250e1ac
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST blake3-1.5.0.crate 168914 BLAKE2B 72d1851f3cbe5c996570f5cf0cb4ab8c4215ac0e95a6b930dd64ff650333a8745ad1b63a2f988227d66a096cafc59777aeec8e63c05a22d666c1bdd58acaa320 SHA512 39c4d3d370bede96b3f4e37c44514dddfd1ef91d178116e1556eb8f3e2687b705e2320f842e600e59229198aeffff4ab1de34eaf59e8a3c039003f13d0f08aab
+DIST blake3-py-0.4.1.gh.tar.gz 116080 BLAKE2B 9fd2db2a573182ec4bab9d6e37750f4afff9b200e2bb9fe4c26e6bfde328ad2aab162d2adcadc312f3e007ddca19d92c73e058466caddf6c7aa7fc10b553f51a SHA512 e166d2d6ac52dac4158e7b494e83398afd692cb8b93951809338f8da26d337506e3ce2bf37528da6960cfab9b6e3f229a2b5e845dd9a83b35028249113869112
+DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST constant_time_eq-0.3.0.crate 11369 BLAKE2B a6fb4ad3146b26bb3e18458938e65133431df129963041465291b38a69ba2b53ffcc849f455e67a65a5291803591b350afe4ad4996f1c4cb76c18a987b5b3ee2 SHA512 77bf6817c521daa45c0df7721418b4aa367531adde46b1db97316d52ffb46fc4ee2d3e6f62ff91ca6292db5e1d3e040f0f5287c3936f12a595b2c8c5928bf5e6
+DIST crossbeam-deque-0.8.5.crate 21726 BLAKE2B d97b35e8e8858deaa7fa9a836e836d02914aad29e5c34ab121f52ed65e95213cb2574df82273277365889ea771f04eb40bb2439347c259979f1dd6d5e9853bcf SHA512 0f0c9745763ab156136227cf1415de514952a3f8282ffe413cc249f9f4b345b029940e6a6c87b3be8331a7c783655a35b89c7a2547360ea5ae10aa64ba7ae864
+DIST crossbeam-epoch-0.9.18.crate 46875 BLAKE2B 200c256cad6011a3a14c4664bea6b150fce72d561c4fffc387fa561b08c0480e8756bf51c14874c5fb19f427424547f72d2cd7dd6f56fb8b6666a85f8d52bfd1 SHA512 0a8a199b9d77f4e28e91fe0a0cbff7e0dec58cac283631fd972477fa912d2f6ddfddaed2c695e4978b01cb5440b702822af6333e7c3dfbcb9a2c2086999516b2
+DIST crossbeam-utils-0.8.19.crate 42328 BLAKE2B b2846f569555818fe7a3ef4aa29f68c638f933ee0251713c2c92624bee5f8013def5527027022963f572815991abb98d5e68d0fa00f478b2762133f84ffc84c0 SHA512 6e742fbb0d2a6371db87e81f8ac583259530a288237d0e8347394581c60004703a822318ec945936c410bb44001b115d8d986bb264e5b2d8091bb63a8edd93a9
+DIST either-1.9.0.crate 16660 BLAKE2B ad61038bfacb16f678fff5dd9ccf8f345e1bef18bd7aa0aa9c99d44abf8428939362f32fc8dbb1b60ac56016e0096201071d0bf8c0431b660605d0dfa97da466 SHA512 4978d50842386f51e31a47ad037d5e491106a668bc701bb833e6ec3998afe3ebd80efddc47756b2f300f534b39b26fc01386dc878d3b02cc8c1fec6a474c2177
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST hex-0.4.3.crate 13299 BLAKE2B deab49bf3d97f6fd7c0a0855b50232422443b226362bc7a4a19e57c2e662fff2cb046d4c5bd7618ddd523045f3d8c78754508f862f9a8ca29ca9247da6d6ec79 SHA512 fd8ff33b68eea2d6f2c6b02a6d82a2807cbcdc209ca5a76e3e3e5d006917ee151f236b6d18e2646cc9a9674bcdda1d6ce6ee363a89cadd99bef00d0eea9989e6
+DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
+DIST libc-0.2.153.crate 740614 BLAKE2B 523a41bc8cff4ebcba0edbbe9e6a2286ec7cb3ba5e90ca5926c972b68e4b34188bc077d20c22376238c3cd91b7455898a95c505ace4ededea88cc496edb4c5a7 SHA512 3f99e3a192974fffdc053ef21e9ad5fb54b7cdbd4755df176704a95dba38047138ccab76763e89c6b565f37f98fd549fe368749f84f6d1638b3209cb07eae9b4
+DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3
+DIST memmap2-0.7.1.crate 30741 BLAKE2B bbeb8199ad5f004837c9fbd7b0984010ef73b6959dac537a5b0265b6e16720a220bbd37b39cbae3c576a39bb2fd4b43bccaf7eb59203eb304e29e7e2b25d0a30 SHA512 a264ee152bca45af4ebe22fe30330c1984a65b064dbad2bd14c66eaac5053f35cd7569cf10517d9ba98fda64e468e3a8e599cebb107a627975417283e3530e17
+DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
+DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
+DIST parking_lot_core-0.9.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032
+DIST proc-macro2-1.0.78.crate 47158 BLAKE2B c56a24fce3faca9e04db7965cab552d2a976c3764df0a84179b5a89d1230ab355c777a82b4c982e3945414f1f0478473a88821dd176c32d6de394d73a26adb9a SHA512 11956fe03a2e77a925cdff2c3c8bc8804dffab4fa1de963a128fa23f4189976fd2e2102bd346b92c33524beae320b71dadaa5213695a3ec638404196e14fa769
+DIST pyo3-0.20.2.crate 434326 BLAKE2B 3114fd6f3fb8ae7d1b35c9d2ac5ba6a49c5ac911ee3a5b941c5063263ca7cce47fa4b4f7ec34cbfe3083f3d1303fd7f061639fba833a04fedb9d5098f5784028 SHA512 cc5151a116179157046ec92677e5a72318b4cdb13a7d7e3bb83778739b5758040e5020f667dd83554a66b758581a08f5de05eb38e7b339813cec85e0712e6355
+DIST pyo3-build-config-0.20.2.crate 30029 BLAKE2B 846eb95d1417a658763417a2750dca1c55201105a3978d61b1db5e3962680ede188f8285dd7deec778ea9860d43e40513b88f5a54f0b1881b08416760bdbbedf SHA512 9dbc669ec69d38716c3909fa8f3b6c5be13c717b20bfd5dd11edab59b8eb35247d7996acd260fec88f92eb3e71248c86e9b40c1a700827889e2990bba20ecddf
+DIST pyo3-ffi-0.20.2.crate 64601 BLAKE2B cf1141ad34a13dcb46de0d1e15dda192ca41a7441bfc92a9295861876dcc690d1d5d6d39dafa51cd70c4627353efa91563eaefee8c39f655d12818003f9524da SHA512 ee6386b6fdb80689d104f9cd5229f02e1893d00a52be710bd36882c47305abbe24ef2f3cdef8200fddc0bb97e29001fa3a2fd9d3d2673ecd9a104a070420d01e
+DIST pyo3-macros-0.20.2.crate 7925 BLAKE2B 00fc60becfa39bf452786d8a612247785f1737cc3e627700d0d144ab2efaadfb34ce8a8f46e932382a1ea99caebfe1946fbc517b5c26fadb0822ecaa8b2e9df0 SHA512 dd9ea9acda95dfc53689a4c26d8c2139f8a90a05ab06737037f19b8bccd5e52b0da5f297a29194b958f5f8b59cbb566b5f409b3f17a863eddf855ecb755d2719
+DIST pyo3-macros-backend-0.20.2.crate 49710 BLAKE2B 711b18984e61219555df4b62667f7f376951c6cb47e6dd947fc24618b923c4f4f790eb1aba1901abea4761632cdb58cfa81cce91f33586da3022e6c7d126bc9f SHA512 c6ca2a2cdae8630fba3f8e4122e81b60ef2ef0905ad2a3fbcfae134456d5ca9e73690b61590e391f3b9d82c24725809f18544c5dfa0b36ffdb1914844fe65d3a
+DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2
+DIST rayon-1.8.1.crate 170448 BLAKE2B 982f7ba7d6a43956e6f438921fea2e40d3b398f4f72a4c89f55657aba6aa0d99912a7240b1c32c1dadafa9852adf440e3153a3f0cc56f6582867fa2794bb5144 SHA512 a83304be8334f5aa1c63468ddc749d8e8124c6947f1472320ba0bd4351c9ae582dba31ff369e9efdafdab439571fbf91b497c2370ec15406cfa810f5161cfb32
+DIST rayon-core-1.12.1.crate 70701 BLAKE2B a32eb9ae9a71b4f0881f7bfd5375aa7db5681f20f7e0b25e6ecb3161f2aad36b93026c1691d02bf298a48ea07ec9475a237fba457ed0b0b8624aebab2b4988df SHA512 33d0297b682f131c50e1eabc3be583211a5abe790301cbca91bf510e43d6714b7564ca39fab7c4bf6f02aa0df6bb394f386a61320f21ddb6bd7aea1372b5e99e
+DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
+DIST smallvec-1.13.1.crate 34952 BLAKE2B e0dcf1d26883564cd4f5d20a588562404e193075b1ae011f7f7542009a9466e5df3ade7768e1a8feb8806774b2cee5f15d31779928f83714e7d4b6ed46af9ab9 SHA512 1259ef947400470b8c9e74c5582dbc1a49753aa46420883c1f7d66f320f67bebe733a15a23cd57ba461020fad4ff337a5b298de82754602a78f5e6cec969652d
+DIST syn-2.0.48.crate 250566 BLAKE2B e46b0863af76c3116c84d01b654a9820b7edc51f75c9c5301a7967d12284f78da602409f34fc40524728350dc6b998a4d738f08b8868f95236b3e5d24c460580 SHA512 926c0ad55cc743df20f9166b6d71fd44421aeb1f073fd86b6ddb53e13cd508b539c0360ce64b07b65597bb14639c8f33acf7e60951e1e9128624517aa3aee325
+DIST target-lexicon-0.12.13.crate 25424 BLAKE2B 5fcac231c270a59b6589adb79c90cd3bb15ce024e3c5fa3fd267b3226e5514ce77387c57c86ca765b43ee593a55ec99fdc8fbfd464dc01afaa91ad10337b6278 SHA512 323331857bd3db9877a6c7304392e39d378439462ae4f6d6939c02d28914ecddec52696c94ceebfe8a0e7e93ce25c900099bb3922d7783643162e55c7a8769b7
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
+DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
diff --git a/dev-python/blake3/blake3-0.4.1.ebuild b/dev-python/blake3/blake3-0.4.1.ebuild
new file mode 100644
index 000000000000..169408721d16
--- /dev/null
+++ b/dev-python/blake3/blake3-0.4.1.ebuild
@@ -0,0 +1,139 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CARGO_OPTIONAL=1
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..13} )
+
+CRATES="
+ arrayref@0.3.7
+ arrayvec@0.7.4
+ autocfg@1.1.0
+ bitflags@1.3.2
+ blake3@1.5.0
+ cc@1.0.83
+ cfg-if@1.0.0
+ constant_time_eq@0.3.0
+ crossbeam-deque@0.8.5
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.19
+ either@1.9.0
+ heck@0.4.1
+ hex@0.4.3
+ indoc@2.0.4
+ libc@0.2.153
+ lock_api@0.4.11
+ memmap2@0.7.1
+ memoffset@0.9.0
+ once_cell@1.19.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ proc-macro2@1.0.78
+ pyo3-build-config@0.20.2
+ pyo3-ffi@0.20.2
+ pyo3-macros-backend@0.20.2
+ pyo3-macros@0.20.2
+ pyo3@0.20.2
+ quote@1.0.35
+ rayon-core@1.12.1
+ rayon@1.8.1
+ redox_syscall@0.4.1
+ scopeguard@1.2.0
+ smallvec@1.13.1
+ syn@2.0.48
+ target-lexicon@0.12.13
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+"
+
+inherit cargo distutils-r1
+
+MY_P=blake3-py-${PV}
+DESCRIPTION="Python bindings for the BLAKE3 cryptographic hash function"
+HOMEPAGE="
+ https://github.com/oconnor663/blake3-py/
+ https://pypi.org/project/blake3/
+"
+SRC_URI="
+ https://github.com/oconnor663/blake3-py/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+ rust? (
+ ${CARGO_CRATE_URIS}
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="
+ || ( CC0-1.0 Apache-2.0 )
+ rust? (
+"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions BSD-2 MIT Unicode-DFS-2016
+ || ( Apache-2.0 CC0-1.0 )
+"
+LICENSE+="
+ )
+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+rust"
+
+BDEPEND="
+ rust? (
+ ${RUST_DEPEND}
+ dev-util/maturin[${PYTHON_USEDEP}]
+ )
+ !rust? (
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ )
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/blake3/blake3.*.so"
+
+distutils_enable_tests pytest
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/oconnor663/blake3-py/pull/44
+ "${FILESDIR}/${P}-gcc14.patch"
+ )
+
+ # sed the package name and version to improve compatibility
+ sed -e 's:blake3_experimental_c:blake3:' \
+ -e "s:0[.]0[.]1:${PV}:" \
+ -i c_impl/setup.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ local DISTUTILS_USE_PEP517=$(usex rust maturin setuptools)
+
+ if ! use rust; then
+ cd c_impl || die
+ fi
+ distutils-r1_python_compile
+ if ! use rust; then
+ cd - >/dev/null || die
+ fi
+}
diff --git a/dev-python/blake3/files/blake3-0.4.1-gcc14.patch b/dev-python/blake3/files/blake3-0.4.1-gcc14.patch
new file mode 100644
index 000000000000..367d5c94e1b1
--- /dev/null
+++ b/dev-python/blake3/files/blake3-0.4.1-gcc14.patch
@@ -0,0 +1,37 @@
+diff --git a/c_impl/blake3module.c b/c_impl/blake3module.c
+index 4448445..842421a 100644
+--- a/c_impl/blake3module.c
++++ b/c_impl/blake3module.c
+@@ -217,7 +217,7 @@ static PyObject *Blake3_update(Blake3Object *self, PyObject *args) {
+ // Success. We need to increment the refcount on self to return it, see:
+ // https://docs.python.org/3/extending/extending.html#ownership-rules.
+ Py_INCREF(self);
+- ret = self;
++ ret = (PyObject *)self;
+
+ exit:
+ release_buf_if_acquired(&data);
+@@ -272,7 +272,7 @@ static PyObject *Blake3_update_mmap(Blake3Object *self, PyObject *args,
+ // Success. We need to increment the refcount on self to return it, see:
+ // https://docs.python.org/3/extending/extending.html#ownership-rules.
+ Py_INCREF(self);
+- ret = self;
++ ret = (PyObject *)self;
+
+ exit:
+ if (file) {
+@@ -347,11 +347,11 @@ static PyObject *Blake3_reset(Blake3Object *self, PyObject *args) {
+
+ static PyMethodDef Blake3_methods[] = {
+ {"update", (PyCFunction)Blake3_update, METH_VARARGS, "add input bytes"},
+- {"update_mmap", (PyCFunctionWithKeywords)Blake3_update_mmap,
++ {"update_mmap", (PyCFunction)Blake3_update_mmap,
+ METH_VARARGS | METH_KEYWORDS, "add input bytes from a filepath"},
+- {"digest", (PyCFunctionWithKeywords)Blake3_digest,
++ {"digest", (PyCFunction)Blake3_digest,
+ METH_VARARGS | METH_KEYWORDS, "finalize the hash"},
+- {"hexdigest", (PyCFunctionWithKeywords)Blake3_hexdigest,
++ {"hexdigest", (PyCFunction)Blake3_hexdigest,
+ METH_VARARGS | METH_KEYWORDS,
+ "finalize the hash and encode the result as hex"},
+ {"copy", (PyCFunction)Blake3_copy, METH_VARARGS,
diff --git a/dev-python/blake3/metadata.xml b/dev-python/blake3/metadata.xml
new file mode 100644
index 000000000000..55ea3bd9e001
--- /dev/null
+++ b/dev-python/blake3/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">oconnor663/blake3-py</remote-id>
+ <remote-id type="pypi">blake3</remote-id>
+ </upstream>
+ <use>
+ <flag name="rust">
+ Build the Rust implementation (if disabled, the "experimental"
+ C implementation is used instead).
+ </flag>
+ </use>
+</pkgmetadata>
diff --git a/dev-python/bleach/bleach-6.1.0.ebuild b/dev-python/bleach/bleach-6.1.0.ebuild
index ea40acfc772e..514ecaa5ca9f 100644
--- a/dev-python/bleach/bleach-6.1.0.ebuild
+++ b/dev-python/bleach/bleach-6.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/blessed/blessed-1.20.0.ebuild b/dev-python/blessed/blessed-1.20.0.ebuild
index c1cc50599f54..692185a94d06 100644
--- a/dev-python/blessed/blessed-1.20.0.ebuild
+++ b/dev-python/blessed/blessed-1.20.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -29,6 +29,7 @@ BDEPEND="
"
distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
+EPYTEST_XDIST=1
distutils_enable_tests pytest
python_prepare_all() {
@@ -38,8 +39,6 @@ python_prepare_all() {
sed -e '/sphinxcontrib.manpage/d' -e '/sphinx_paramlinks/d' \
-e '/^for script in/,/runpy.run_path/d' \
-i docs/conf.py || die
- # Requires pytest-xdist and has no value for us
- sed -i '/^looponfailroots =/d' tox.ini || die
distutils-r1_python_prepare_all
}
diff --git a/dev-python/blinker/Manifest b/dev-python/blinker/Manifest
index d10d51af8618..00440fe1bc99 100644
--- a/dev-python/blinker/Manifest
+++ b/dev-python/blinker/Manifest
@@ -1 +1 @@
-DIST blinker-1.7.0.tar.gz 28134 BLAKE2B afff064a79ae7ab9fcee46c7eb3f6557bd9149be0a10cddfd13f969649a7aa57cec727cc6a10c54af2f676b8dc9be69beaf6521b5764555ac3e97fda7b68f5f8 SHA512 b55dc104fd69bf9f682184202f9da7cb6925e7e863f38d5ad5b4b5988b2315aae02da6f4c9f0ec34238b8d5b9b6eec52b06258d93e14416cda3e2b718d9aa60c
+DIST blinker-1.8.2.tar.gz 23161 BLAKE2B 43254180a0486ee6787f7f02c17418524182529505c5a5d01abc1f151ef85bc736fc442d3e88d670e638c866537863476a2efdc1baf8e39017add9a1372749ed SHA512 037822e014974aaa9d6faf76805b09c06d697de9555cf4cd1265e639c52f72c5ed905e4698140b49a5e011806d91541636a7cf58082aabdd927c60dffd7df012
diff --git a/dev-python/blinker/blinker-1.7.0.ebuild b/dev-python/blinker/blinker-1.7.0.ebuild
deleted file mode 100644
index caa91f2b57eb..000000000000
--- a/dev-python/blinker/blinker-1.7.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Fast, simple object-to-object and broadcast signaling"
-HOMEPAGE="
- https://github.com/pallets-eco/blinker/
- https://pypi.org/project/blinker/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-distutils_enable_tests pytest
diff --git a/dev-python/blinker/blinker-1.8.2.ebuild b/dev-python/blinker/blinker-1.8.2.ebuild
new file mode 100644
index 000000000000..0915e8af4d46
--- /dev/null
+++ b/dev-python/blinker/blinker-1.8.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fast, simple object-to-object and broadcast signaling"
+HOMEPAGE="
+ https://github.com/pallets-eco/blinker/
+ https://pypi.org/project/blinker/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio
+}
diff --git a/dev-python/blosc/Manifest b/dev-python/blosc/Manifest
index afe7d36fd126..16659d2bec3f 100644
--- a/dev-python/blosc/Manifest
+++ b/dev-python/blosc/Manifest
@@ -1 +1 @@
-DIST python-blosc-1.11.1.gh.tar.gz 111262 BLAKE2B cb348253a24258d2649ebc0604acbf936b8ccc2b28c42c69da2fee72ddf87eb17a24657bc5d3c0530193a60f482555ce4cc5d168a18d9c2d79a13410d40670bc SHA512 21f8a697a3a902860a6ed72233984cf00c464ec0ddde9842a0c24b1e8e5ec4dd57b872096445a873d162d7529cba5c3666ba2a3ee3f9b1b18107d9636011281c
+DIST python-blosc-1.11.2.gh.tar.gz 99160 BLAKE2B 79176961221a2dcdf389165b3ed0e629201605f806aca3e1ada1dd9b35c1acf13ea7fa6692a762f5e31270df327751642256a1c5bafb14fbed48ef69c6b9745c SHA512 56a53828669ac9d1452b247b8aad6bdfcb71ecffe9b8c7723e4405825704506946f150f54633b7e0886160255e5619c698b97847963c909e14c97808c04f39ab
diff --git a/dev-python/blosc/blosc-1.11.1.ebuild b/dev-python/blosc/blosc-1.11.1.ebuild
deleted file mode 100644
index 3006538e0a37..000000000000
--- a/dev-python/blosc/blosc-1.11.1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=python-blosc-${PV}
-DESCRIPTION="High performance compressor optimized for binary data"
-HOMEPAGE="
- https://www.blosc.org/
- https://github.com/Blosc/python-blosc/
- https://pypi.org/project/blosc/
-"
-SRC_URI="
- https://github.com/Blosc/python-blosc/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/c-blosc-1.19.0:=
-"
-DEPEND="
- ${RDEPEND}
-"
-# py-cpuinfo dep is irrelevant for us, as it is only used to configure
-# bundled c-blosc build
-BDEPEND="
- dev-python/scikit-build[${PYTHON_USEDEP}]
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( ANNOUNCE.rst README.rst RELEASE_NOTES.rst )
-
-src_configure() {
- export USE_SYSTEM_BLOSC=1
- export BLOSC_DIR="${EPREFIX}/usr"
-}
-
-python_test() {
- "${EPYTHON}" -m blosc.test -v || die
-}
diff --git a/dev-python/blosc/blosc-1.11.2.ebuild b/dev-python/blosc/blosc-1.11.2.ebuild
new file mode 100644
index 000000000000..13e290be267b
--- /dev/null
+++ b/dev-python/blosc/blosc-1.11.2.ebuild
@@ -0,0 +1,63 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=python-blosc-${PV}
+DESCRIPTION="High performance compressor optimized for binary data"
+HOMEPAGE="
+ https://www.blosc.org/
+ https://github.com/Blosc/python-blosc/
+ https://pypi.org/project/blosc/
+"
+SRC_URI="
+ https://github.com/Blosc/python-blosc/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/c-blosc-1.19.0:=
+"
+DEPEND="
+ ${RDEPEND}
+"
+# py-cpuinfo dep is irrelevant for us, as it is only used to configure
+# bundled c-blosc build
+BDEPEND="
+ dev-python/scikit-build[${PYTHON_USEDEP}]
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( ANNOUNCE.rst README.rst RELEASE_NOTES.rst )
+
+src_configure() {
+ export USE_SYSTEM_BLOSC=1
+ export BLOSC_DIR="${EPREFIX}/usr"
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ # scikit-build is broken and reuses the same build
+ # https://github.com/scikit-build/scikit-build/issues/633
+ rm -r _skbuild || die
+}
+
+python_test() {
+ "${EPYTHON}" -m blosc.test -v || die
+}
diff --git a/dev-python/bluelet/Manifest b/dev-python/bluelet/Manifest
index 65b8d95b6696..2eac76a61993 100644
--- a/dev-python/bluelet/Manifest
+++ b/dev-python/bluelet/Manifest
@@ -1 +1 @@
-DIST bluelet-0.2.0.tar.gz 14182 BLAKE2B c05560f4cd1b4aaf3f25d22bbf5eabfef695cb1686742ae274df9024786ca08a4604ec9a24ad185718ad8d8876f8b5fb12df0f45cdda5b61fb6fbdc8fb09bcaf SHA512 58bd8df4b61f23a53f9310b68e5754155c00d598c9bcb7724e90ef6722ee5d6017751c2e056eaaa64cca71b89c391d248c14477457f30ebf2b28841a3fdc98fa
+DIST bluelet-0.2.0.gh.tar.gz 14182 BLAKE2B c05560f4cd1b4aaf3f25d22bbf5eabfef695cb1686742ae274df9024786ca08a4604ec9a24ad185718ad8d8876f8b5fb12df0f45cdda5b61fb6fbdc8fb09bcaf SHA512 58bd8df4b61f23a53f9310b68e5754155c00d598c9bcb7724e90ef6722ee5d6017751c2e056eaaa64cca71b89c391d248c14477457f30ebf2b28841a3fdc98fa
diff --git a/dev-python/bluelet/bluelet-0.2.0-r1.ebuild b/dev-python/bluelet/bluelet-0.2.0-r1.ebuild
index fc51d182a147..36128e86befb 100644
--- a/dev-python/bluelet/bluelet-0.2.0-r1.ebuild
+++ b/dev-python/bluelet/bluelet-0.2.0-r1.ebuild
@@ -1,16 +1,16 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
DESCRIPTION="Module for pure Python asynchronous I/O using coroutines"
HOMEPAGE="https://pypi.org/project/bluelet/"
-SRC_URI="https://github.com/sampsyo/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="https://github.com/sampsyo/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/blurb/Manifest b/dev-python/blurb/Manifest
index cebdcf47b64e..a13b03288e3a 100644
--- a/dev-python/blurb/Manifest
+++ b/dev-python/blurb/Manifest
@@ -1 +1,3 @@
DIST blurb-1.1.0.tar.gz 25064 BLAKE2B 4fbdd0d068cc7abb1ffa78dff70bd83feccc1bcfbf8ebb085c9f7e77e0f330d3759f10a94a5ca024b465c01f9d659496ae55162a52b7158a06caf2d114d36806 SHA512 9397173e7bf5babf02c96df27983462e7dd2a729e9eb0cacdf23ca3778336902d5c611ab5e2432bbc877344426d7c62ea8ae77719aa08da98f9b44365583b7ee
+DIST blurb-1.2.0.tar.gz 23573 BLAKE2B a7a15fed82fca3f13eb840379b186210d6b8a039f61d48c65dce33ab80e970791add63efe9986adb54e7bedd452a3a867791237e250c1949b5b90f06bfac28ae SHA512 ebfe4c84d1f813822d7a583b337460a840235b61257428a47b7b61eb43b4b38fffc84f0fe758c6f61e9ae4b8c9c1affd9038077ddf846f17032e4497f87b78ad
+DIST blurb-1.2.1.tar.gz 23333 BLAKE2B 57374a3c787845a867c77480f1826cc82eae8cbdb659eeff9871cb3cf69f8e040d616cf40f051b63160b209b443dc26113b0d319f810cfe78842a759a139881b SHA512 f2bec26dacaa5f3c2016a4712a693ff483c0765b93f61900e7fa69765908b1c16318791e51778b71ffc222d339b5454603e7baec4a1bdfdd4c0e7b41a095f49c
diff --git a/dev-python/blurb/blurb-1.1.0.ebuild b/dev-python/blurb/blurb-1.1.0.ebuild
index 1495cb48e340..5c5e7524a953 100644
--- a/dev-python/blurb/blurb-1.1.0.ebuild
+++ b/dev-python/blurb/blurb-1.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2018-2023 Gentoo Authors
+# Copyright 2018-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/blurb/blurb-1.2.0.ebuild b/dev-python/blurb/blurb-1.2.0.ebuild
new file mode 100644
index 000000000000..ed8b87d5b515
--- /dev/null
+++ b/dev-python/blurb/blurb-1.2.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2018-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Tool to create and manage NEWS blurbs for CPython"
+HOMEPAGE="
+ https://github.com/python/core-workflow/tree/master/blurb
+ https://pypi.org/project/blurb/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/pyfakefs[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/blurb/blurb-1.2.1.ebuild b/dev-python/blurb/blurb-1.2.1.ebuild
new file mode 100644
index 000000000000..ed8b87d5b515
--- /dev/null
+++ b/dev-python/blurb/blurb-1.2.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2018-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Tool to create and manage NEWS blurbs for CPython"
+HOMEPAGE="
+ https://github.com/python/core-workflow/tree/master/blurb
+ https://pypi.org/project/blurb/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/pyfakefs[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/blurb/metadata.xml b/dev-python/blurb/metadata.xml
index c3ea630df5a9..afed81257401 100644
--- a/dev-python/blurb/metadata.xml
+++ b/dev-python/blurb/metadata.xml
@@ -23,5 +23,6 @@
</longdescription>
<upstream>
<remote-id type="pypi">blurb</remote-id>
+ <remote-id type="github">python/core-workflow</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/boltons/Manifest b/dev-python/boltons/Manifest
index 5ead3f526069..087ee8e437c5 100644
--- a/dev-python/boltons/Manifest
+++ b/dev-python/boltons/Manifest
@@ -1 +1 @@
-DIST boltons-23.1.1.tar.gz 244629 BLAKE2B 458e40179e98cfa914d9f66de18f89b2e6192a7ef38e4c827466fd2eabfa05245a9e592f2d0ff570f0d2288039f6564dd931404de7119730d6e4dbe6a9ddd886 SHA512 bc07d46f08f4883cfbaa54cf27dfb53fba57538d7d98b846840efad5ade64fecc6f9cc5d7dd3271236a1e12111d9e537f847995f28df2d7779026e0939e4ca98
+DIST boltons-24.0.0.tar.gz 239550 BLAKE2B e7001b3aa04834f1d234ff7ce996cebd32293189cdf000c8b36719d24b51ab24098c58ad3df58e938a58f319a575b8a0f2f09cec423d33b876103b89ad7d85bb SHA512 afc7f9d495d91e38219378f9f4f287918d6e5b19feb1299c5f504cab1d4a3e0a5fb9fa1c073d46f941c86a18086af5be3a44506d986b010b2595da0c2b908b48
diff --git a/dev-python/boltons/boltons-23.1.1.ebuild b/dev-python/boltons/boltons-23.1.1.ebuild
deleted file mode 100644
index 9543983a139a..000000000000
--- a/dev-python/boltons/boltons-23.1.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2021-2023 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="Pure-python utilities in the same spirit as the standard library"
-HOMEPAGE="https://boltons.readthedocs.io/"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_tests pytest
-
-DOCS=( CHANGELOG.md README.md TODO.rst )
-
-python_test() {
- local EPYTEST_DESELECT=(
- # breaks on traceback text changes caused by e.g. pytest-qt noise
- tests/test_tbutils.py::test_exception_info
- )
-
- epytest -p no:django
-}
diff --git a/dev-python/boltons/boltons-24.0.0.ebuild b/dev-python/boltons/boltons-24.0.0.ebuild
new file mode 100644
index 000000000000..41ad93998b08
--- /dev/null
+++ b/dev-python/boltons/boltons-24.0.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2021-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..13} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pure-python utilities in the same spirit as the standard library"
+HOMEPAGE="https://boltons.readthedocs.io/"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+distutils_enable_tests pytest
+
+DOCS=( CHANGELOG.md README.md TODO.rst )
+
+src_test() {
+ # tests break with pytest-qt, django, and likely more
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
+ local EPYTEST_DESELECT=(
+ # fails with 3.13, but ignore for now given causes no
+ # issues for the only revdep (maturin's tests)
+ # https://github.com/mahmoud/boltons/issues/365
+ tests/test_funcutils_fb_py3.py::test_update_wrapper_partial\[boltons.funcutils\]
+ tests/test_tbutils.py::test_exception_info
+ )
+
+ distutils-r1_src_test
+}
diff --git a/dev-python/boolean-py/boolean-py-4.0.ebuild b/dev-python/boolean-py/boolean-py-4.0.ebuild
index daac8c415b64..aad89d40ea70 100644
--- a/dev-python/boolean-py/boolean-py-4.0.ebuild
+++ b/dev-python/boolean-py/boolean-py-4.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -22,6 +22,6 @@ S=${WORKDIR}/${MY_P}
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
distutils_enable_tests pytest
diff --git a/dev-python/boto/Manifest b/dev-python/boto/Manifest
deleted file mode 100644
index 880178074c3e..000000000000
--- a/dev-python/boto/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST boto-2.49.0.tar.gz 1478498 BLAKE2B 6a897ea162f5f4bd34a2d488a3e3897f7f2f5b8707dd0922c01b6a0b90ea577223bf3e588b6685bda1f2bc0e92af426711fcba67a70377183465a530065c6c84 SHA512 2175cf30cd25bbc05812e83e5ade7668c3e21b1bb09aa1b43f0f0ac7d6967a646394fb52c9be673ebb65618c5b33a52d6f31f6da702f5cd1d6c9a18169476dd4
diff --git a/dev-python/boto/boto-2.49.0-r6.ebuild b/dev-python/boto/boto-2.49.0-r6.ebuild
deleted file mode 100644
index 00502f5ae5de..000000000000
--- a/dev-python/boto/boto-2.49.0-r6.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Amazon Web Services API"
-HOMEPAGE="https://github.com/boto/boto https://pypi.org/project/boto/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ~ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-PATCHES=(
- # taken from https://bugs.debian.org/909545
- "${FILESDIR}"/${P}-try-to-add-SNI-support-v3.patch
- "${FILESDIR}"/${P}-py38.patch
- "${FILESDIR}"/${P}-py3-socket-binary.patch
- "${FILESDIR}"/${P}-py3-httplib-strict.patch
- "${FILESDIR}"/${P}-py3-server-port.patch
- "${FILESDIR}"/${P}-unbundle-six.patch
- "${FILESDIR}"/${P}-py310.patch
- "${FILESDIR}"/${P}-mock-spec.patch
-)
-
-RDEPEND="
- >=dev-python/six-1.12.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- ${RDEPEND}
- test? (
- dev-python/httpretty[${PYTHON_USEDEP}]
- dev-python/keyring[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/paramiko[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/rsa[${PYTHON_USEDEP}]
- dev-python/selenium[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests nose
-
-src_prepare() {
- # remove bundled libs.
- rm -f "${S}"/boto/vendored/six.py || die
- # broken, not worth fixing
- rm tests/unit/cloudfront/test_signed_urls.py || die
- # fix tests
- mkdir -p "${HOME}"/.ssh || die
- touch "${HOME}"/.ssh/known_hosts || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- distutils-r1_python_test tests/unit
-}
diff --git a/dev-python/boto/files/boto-2.49.0-mock-spec.patch b/dev-python/boto/files/boto-2.49.0-mock-spec.patch
deleted file mode 100644
index d8c8db2f1e9f..000000000000
--- a/dev-python/boto/files/boto-2.49.0-mock-spec.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff -ur boto-2.49.0.orig/tests/unit/ec2/test_volume.py boto-2.49.0/tests/unit/ec2/test_volume.py
---- boto-2.49.0.orig/tests/unit/ec2/test_volume.py 2022-11-02 22:22:36.173725700 -0000
-+++ boto-2.49.0/tests/unit/ec2/test_volume.py 2022-11-02 22:24:26.502590025 -0000
-@@ -55,7 +55,7 @@
- @mock.patch("boto.resultset.ResultSet")
- def test_startElement_with_name_tagSet_calls_ResultSet(self, ResultSet, startElement):
- startElement.return_value = None
-- result_set = mock.Mock(ResultSet([("item", Tag)]))
-+ result_set = ResultSet([("item", Tag)])
- volume = Volume()
- volume.tags = result_set
- retval = volume.startElement("tagSet", None, None)
diff --git a/dev-python/boto/files/boto-2.49.0-py3-httplib-strict.patch b/dev-python/boto/files/boto-2.49.0-py3-httplib-strict.patch
deleted file mode 100644
index 209b01aa74a0..000000000000
--- a/dev-python/boto/files/boto-2.49.0-py3-httplib-strict.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-https://github.com/boto/boto/commit/4f4dcb31fe852c05ce19b44eb9d5b5d747e36f7c
-https://github.com/boto/boto/pull/2718
-
-From 4f4dcb31fe852c05ce19b44eb9d5b5d747e36f7c Mon Sep 17 00:00:00 2001
-From: Lee Ball <43632885+catleeball@users.noreply.github.com>
-Date: Mon, 10 Jun 2019 16:02:53 -0700
-Subject: [PATCH] Remove `strict=True` from http_client (#6)
-
-In Python 3.4, the `strict` kwarg was removed[1]. We are removing it
-here too.
-
-Alternatively, we can leave in `strict=True` for 2.x, but I chose to
-remove it entirely to maintain consistent behavior across versions.
-
-[1]: https://docs.python.org/3/library/http.client.html
----
- boto/connection.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/boto/connection.py b/boto/connection.py
-index c731173bb4eb..54e26fb2de16 100644
---- a/boto/connection.py
-+++ b/boto/connection.py
-@@ -807,7 +807,7 @@ class AWSAuthConnection(object):
- sock.sendall(six.ensure_binary("\r\n"))
- else:
- sock.sendall(six.ensure_binary("\r\n"))
-- resp = http_client.HTTPResponse(sock, strict=True, debuglevel=self.debug)
-+ resp = http_client.HTTPResponse(sock, debuglevel=self.debug)
- resp.begin()
-
- if resp.status != 200:
---
-2.28.0
-
diff --git a/dev-python/boto/files/boto-2.49.0-py3-server-port.patch b/dev-python/boto/files/boto-2.49.0-py3-server-port.patch
deleted file mode 100644
index 62e331921980..000000000000
--- a/dev-python/boto/files/boto-2.49.0-py3-server-port.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-https://github.com/boto/boto/commit/b9f6cb0ab717ea76e2780c7fddd1cd36b3bf7d63
-
-From b9f6cb0ab717ea76e2780c7fddd1cd36b3bf7d63 Mon Sep 17 00:00:00 2001
-From: Matt Houglum <houglum@google.com>
-Date: Fri, 21 Jun 2019 15:09:11 -0700
-Subject: [PATCH] Make server_name() behave correctly for PY3
-
-...because Python-2.6-or-newer doesn't just include Python 2.6 and 2.7.
----
- boto/connection.py | 14 +++++---------
- 1 file changed, 5 insertions(+), 9 deletions(-)
-
-diff --git a/boto/connection.py b/boto/connection.py
-index 54e26fb2de16..bbb25d8fb842 100644
---- a/boto/connection.py
-+++ b/boto/connection.py
-@@ -650,17 +650,13 @@ class AWSAuthConnection(object):
- if port == 80:
- signature_host = self.host
- else:
-- # This unfortunate little hack can be attributed to
-- # a difference in the 2.6 version of http_client. In old
-- # versions, it would append ":443" to the hostname sent
-- # in the Host header and so we needed to make sure we
-- # did the same when calculating the V2 signature. In 2.6
-- # (and higher!)
-- # it no longer does that. Hence, this kludge.
-- if ((ON_APP_ENGINE and sys.version[:3] == '2.5') or
-- sys.version[:3] in ('2.6', '2.7')) and port == 443:
-+ ver_int = sys.version_info[0] * 10 + sys.version_info[1]
-+ if port == 443 and ver_int >= 26: # Py >= 2.6
- signature_host = self.host
- else:
-+ # In versions < 2.6, Python's http_client would append ":443"
-+ # to the hostname sent in the Host header and so we needed to
-+ # make sure we did the same when calculating the V2 signature.
- signature_host = '%s:%d' % (self.host, port)
- return signature_host
-
---
-2.28.0
-
diff --git a/dev-python/boto/files/boto-2.49.0-py3-socket-binary.patch b/dev-python/boto/files/boto-2.49.0-py3-socket-binary.patch
deleted file mode 100644
index 1d109a3f4995..000000000000
--- a/dev-python/boto/files/boto-2.49.0-py3-socket-binary.patch
+++ /dev/null
@@ -1,59 +0,0 @@
-https://github.com/boto/boto/commit/d2cb697b32c297858ecc36701a5a4176818ab36d
-https://github.com/boto/boto/pull/2718
-https://github.com/boto/boto/pull/2893
-https://github.com/boto/boto/pull/3699
-
-From d2cb697b32c297858ecc36701a5a4176818ab36d Mon Sep 17 00:00:00 2001
-From: Cat Lee Ball <cball@google.com>
-Date: Mon, 10 Jun 2019 13:31:11 -0700
-Subject: [PATCH] Ensure binary strings sent to socket
-
-When running pre-release tests with proxied connections, it appeared a
-few spots in connection.py would fail under Python 3 since the
-socket.sendall method expects binary strings rather than unicode.
----
- boto/connection.py | 13 +++++++------
- 1 file changed, 7 insertions(+), 6 deletions(-)
-
-diff --git a/boto/connection.py b/boto/connection.py
-index a0d89a51f49c..d084d1f881fb 100644
---- a/boto/connection.py
-+++ b/boto/connection.py
-@@ -796,17 +796,17 @@ class AWSAuthConnection(object):
- else:
- sock = socket.create_connection((self.proxy, int(self.proxy_port)))
- boto.log.debug("Proxy connection: CONNECT %s HTTP/1.0\r\n", host)
-- sock.sendall("CONNECT %s HTTP/1.0\r\n" % host)
-- sock.sendall("User-Agent: %s\r\n" % UserAgent)
-+ sock.sendall(six.ensure_binary("CONNECT %s HTTP/1.0\r\n" % host))
-+ sock.sendall(six.ensure_binary("User-Agent: %s\r\n" % UserAgent))
- if self.proxy_user and self.proxy_pass:
- for k, v in self.get_proxy_auth_header().items():
-- sock.sendall("%s: %s\r\n" % (k, v))
-+ sock.sendall(six.ensure_binary("%s: %s\r\n" % (k, v)))
- # See discussion about this config option at
- # https://groups.google.com/forum/?fromgroups#!topic/boto-dev/teenFvOq2Cc
- if config.getbool('Boto', 'send_crlf_after_proxy_auth_headers', False):
-- sock.sendall("\r\n")
-+ sock.sendall(six.ensure_binary("\r\n"))
- else:
-- sock.sendall("\r\n")
-+ sock.sendall(six.ensure_binary("\r\n"))
- resp = http_client.HTTPResponse(sock, strict=True, debuglevel=self.debug)
- resp.begin()
-
-@@ -814,9 +814,10 @@ class AWSAuthConnection(object):
- # Fake a socket error, use a code that make it obvious it hasn't
- # been generated by the socket library
- raise socket.error(-71,
-+ six.ensure_binary(
- "Error talking to HTTP proxy %s:%s: %s (%s)" %
- (self.proxy, self.proxy_port,
-- resp.status, resp.reason))
-+ resp.status, resp.reason)))
-
- # We can safely close the response, it duped the original socket
- resp.close()
---
-2.28.0
-
diff --git a/dev-python/boto/files/boto-2.49.0-py310.patch b/dev-python/boto/files/boto-2.49.0-py310.patch
deleted file mode 100644
index 7b427f1f15e3..000000000000
--- a/dev-python/boto/files/boto-2.49.0-py310.patch
+++ /dev/null
@@ -1,44 +0,0 @@
-diff --git a/boto/dynamodb/types.py b/boto/dynamodb/types.py
-index d9aaaa4c..3f8d8601 100644
---- a/boto/dynamodb/types.py
-+++ b/boto/dynamodb/types.py
-@@ -27,7 +27,7 @@ Python types and vice-versa.
- import base64
- from decimal import (Decimal, DecimalException, Context,
- Clamped, Overflow, Inexact, Underflow, Rounded)
--from collections import Mapping
-+from collections.abc import Mapping
- from boto.dynamodb.exceptions import DynamoDBNumberError
- from boto.compat import filter, map, six, long_type
-
-diff --git a/boto/mws/connection.py b/boto/mws/connection.py
-index 687fae74..3a1f5f80 100644
---- a/boto/mws/connection.py
-+++ b/boto/mws/connection.py
-@@ -21,7 +21,7 @@
- import xml.sax
- import hashlib
- import string
--import collections
-+import collections.abc
- from boto.connection import AWSQueryConnection
- from boto.exception import BotoServerError
- import boto.mws.exception
-@@ -109,7 +109,7 @@ def http_body(field):
- def destructure_object(value, into, prefix, members=False):
- if isinstance(value, boto.mws.response.ResponseElement):
- destructure_object(value.__dict__, into, prefix, members=members)
-- elif isinstance(value, collections.Mapping):
-+ elif isinstance(value, collections.abc.Mapping):
- for name in value:
- if name.startswith('_'):
- continue
-@@ -117,7 +117,7 @@ def destructure_object(value, into, prefix, members=False):
- members=members)
- elif isinstance(value, six.string_types):
- into[prefix] = value
-- elif isinstance(value, collections.Iterable):
-+ elif isinstance(value, collections.abc.Iterable):
- for index, element in enumerate(value):
- suffix = (members and '.member.' or '.') + str(index + 1)
- destructure_object(element, into, prefix + suffix,
diff --git a/dev-python/boto/files/boto-2.49.0-py38.patch b/dev-python/boto/files/boto-2.49.0-py38.patch
deleted file mode 100644
index 0052c6e32e86..000000000000
--- a/dev-python/boto/files/boto-2.49.0-py38.patch
+++ /dev/null
@@ -1,54 +0,0 @@
-diff --git a/boto/ecs/item.py b/boto/ecs/item.py
-index 79177a31..292b05af 100644
---- a/boto/ecs/item.py
-+++ b/boto/ecs/item.py
-@@ -21,7 +21,7 @@
-
-
- import xml.sax
--import cgi
-+import html
- from boto.compat import six, StringIO
-
- class ResponseGroup(xml.sax.ContentHandler):
-@@ -67,7 +67,7 @@ class ResponseGroup(xml.sax.ContentHandler):
- return None
-
- def endElement(self, name, value, connection):
-- self._xml.write("%s</%s>" % (cgi.escape(value).replace("&amp;amp;", "&amp;"), name))
-+ self._xml.write("%s</%s>" % (html.escape(value).replace("&amp;amp;", "&amp;"), name))
- if len(self._nodepath) == 0:
- return
- obj = None
-diff --git a/tests/unit/utils/test_utils.py b/tests/unit/utils/test_utils.py
-index db15b56d..89d1a524 100644
---- a/tests/unit/utils/test_utils.py
-+++ b/tests/unit/utils/test_utils.py
-@@ -85,7 +85,7 @@ class TestPassword(unittest.TestCase):
- def hmac_hashfunc(cls, msg):
- if not isinstance(msg, bytes):
- msg = msg.encode('utf-8')
-- return hmac.new(b'mysecretkey', msg)
-+ return hmac.new(b'mysecretkey', msg, digestmod='MD5')
-
- class HMACPassword(Password):
- hashfunc = hmac_hashfunc
-@@ -95,15 +95,15 @@ class TestPassword(unittest.TestCase):
- password.set('foo')
-
- self.assertEquals(str(password),
-- hmac.new(b'mysecretkey', b'foo').hexdigest())
-+ hmac.new(b'mysecretkey', b'foo', digestmod='MD5').hexdigest())
-
- def test_constructor(self):
-- hmac_hashfunc = lambda msg: hmac.new(b'mysecretkey', msg)
-+ hmac_hashfunc = lambda msg: hmac.new(b'mysecretkey', msg, digestmod='MD5')
-
- password = Password(hashfunc=hmac_hashfunc)
- password.set('foo')
- self.assertEquals(password.str,
-- hmac.new(b'mysecretkey', b'foo').hexdigest())
-+ hmac.new(b'mysecretkey', b'foo', digestmod='MD5').hexdigest())
-
-
- class TestPythonizeName(unittest.TestCase):
diff --git a/dev-python/boto/files/boto-2.49.0-try-to-add-SNI-support-v3.patch b/dev-python/boto/files/boto-2.49.0-try-to-add-SNI-support-v3.patch
deleted file mode 100644
index 11d346a2199e..000000000000
--- a/dev-python/boto/files/boto-2.49.0-try-to-add-SNI-support-v3.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From f5e7f6c98b46ff622f60a4661ffc9ce07216d109 Mon Sep 17 00:00:00 2001
-From: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
-Date: Sat, 29 Sep 2018 21:47:11 +0200
-Subject: [PATCH] boto: try to add SNI support
-
-Add SNI support. Newer OpenSSL (with TLS1.3) fail to connect if the
-hostname is missing.
-
-Link: https://bugs.debian.org/bug=909545
-Tested-by: Witold Baryluk <witold.baryluk@gmail.com>
-Signed-off-by: Sebastian Andrzej Siewior <sebastian@breakpoint.cc>
----
- boto/connection.py | 19 ++++++++++---------
- boto/https_connection.py | 22 +++++++++++-----------
- 2 files changed, 21 insertions(+), 20 deletions(-)
-
-diff --git a/boto/connection.py b/boto/connection.py
-index 34b428f101df7..b4867a7657465 100644
---- a/boto/connection.py
-+++ b/boto/connection.py
-@@ -778,8 +778,10 @@
-
- def proxy_ssl(self, host=None, port=None):
- if host and port:
-+ cert_host = host
- host = '%s:%d' % (host, port)
- else:
-+ cert_host = self.host
- host = '%s:%d' % (self.host, self.port)
- # Seems properly to use timeout for connect too
- timeout = self.http_connection_kwargs.get("timeout")
-@@ -824,23 +824,24 @@ DEFAULT_CA_CERTS_FILE = os.path.join(os.path.dirname(os.path.abspath(boto.cacert
- h = http_client.HTTPConnection(host)
-
- if self.https_validate_certificates and HAVE_HTTPS_CONNECTION:
-+ context = ssl.create_default_context()
-+ context.verify_mode = ssl.CERT_REQUIRED
-+ context.check_hostname = True
-+
- msg = "wrapping ssl socket for proxied connection; "
- if self.ca_certificates_file:
- msg += "CA certificate file=%s" % self.ca_certificates_file
-+ context.load_verify_locations(cafile=self.ca_certificates_file)
- else:
- msg += "using system provided SSL certs"
-+ context.load_default_certs()
- boto.log.debug(msg)
- key_file = self.http_connection_kwargs.get('key_file', None)
- cert_file = self.http_connection_kwargs.get('cert_file', None)
-- sslSock = ssl.wrap_socket(sock, keyfile=key_file,
-- certfile=cert_file,
-- cert_reqs=ssl.CERT_REQUIRED,
-- ca_certs=self.ca_certificates_file)
-- cert = sslSock.getpeercert()
-- hostname = self.host.split(':', 0)[0]
-- if not https_connection.ValidateCertificateHostname(cert, hostname):
-- raise https_connection.InvalidCertificateException(
-- hostname, cert, 'hostname mismatch')
-+ if key_file:
-+ context.load_cert_chain(certfile=cert_file, keyfile=key_file)
-+
-+ sslSock = context.wrap_socket(sock, server_hostname=cert_host)
- else:
- # Fallback for old Python without ssl.wrap_socket
- if hasattr(http_client, 'ssl'):
-diff --git a/boto/https_connection.py b/boto/https_connection.py
-index ddc31a152292e..a5076f6f9b261 100644
---- a/boto/https_connection.py
-+++ b/boto/https_connection.py
-@@ -119,20 +119,20 @@ from boto.compat import six, http_client
- sock = socket.create_connection((self.host, self.port), self.timeout)
- else:
- sock = socket.create_connection((self.host, self.port))
-+
-+ context = ssl.create_default_context()
-+ context.verify_mode = ssl.CERT_REQUIRED
-+ context.check_hostname = True
-+ if self.key_file:
-+ context.load_cert_chain(certfile=self.cert_file, keyfile=self.key_file)
-+
- msg = "wrapping ssl socket; "
- if self.ca_certs:
- msg += "CA certificate file=%s" % self.ca_certs
-+ context.load_verify_locations(cafile=self.ca_certs)
- else:
- msg += "using system provided SSL certs"
-+ context.load_default_certs()
- boto.log.debug(msg)
-- self.sock = ssl.wrap_socket(sock, keyfile=self.key_file,
-- certfile=self.cert_file,
-- cert_reqs=ssl.CERT_REQUIRED,
-- ca_certs=self.ca_certs)
-- cert = self.sock.getpeercert()
-- hostname = self.host.split(':', 0)[0]
-- if not ValidateCertificateHostname(cert, hostname):
-- raise InvalidCertificateException(hostname,
-- cert,
-- 'remote hostname "%s" does not match '
-- 'certificate' % hostname)
-+
-+ self.sock = context.wrap_socket(sock, server_hostname=self.host)
---
-2.19.0
-
diff --git a/dev-python/boto/files/boto-2.49.0-unbundle-six.patch b/dev-python/boto/files/boto-2.49.0-unbundle-six.patch
deleted file mode 100644
index 188dae7eb6fd..000000000000
--- a/dev-python/boto/files/boto-2.49.0-unbundle-six.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-use the system copy of six
-
---- a/boto/compat.py
-+++ b/boto/compat.py
-@@ -46,16 +46,16 @@ except (AttributeError, ImportError):
- # This is probably running on App Engine.
- expanduser = (lambda x: x)
-
--from boto.vendored import six
-+import six
-
--from boto.vendored.six import BytesIO, StringIO
--from boto.vendored.six.moves import filter, http_client, map, _thread, \
-+from six import BytesIO, StringIO
-+from six.moves import filter, http_client, map, _thread, \
- urllib, zip
--from boto.vendored.six.moves.queue import Queue
--from boto.vendored.six.moves.urllib.parse import parse_qs, quote, unquote, \
-+from six.moves.queue import Queue
-+from six.moves.urllib.parse import parse_qs, quote, unquote, \
- urlparse, urlsplit
--from boto.vendored.six.moves.urllib.parse import unquote_plus
--from boto.vendored.six.moves.urllib.request import urlopen
-+from six.moves.urllib.parse import unquote_plus
-+from six.moves.urllib.request import urlopen
-
- if six.PY3:
- # StandardError was removed, so use the base exception type instead
diff --git a/dev-python/boto/metadata.xml b/dev-python/boto/metadata.xml
deleted file mode 100644
index 3ab9e0b0a8a3..000000000000
--- a/dev-python/boto/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="google-code">boto</remote-id>
- <remote-id type="pypi">boto</remote-id>
- <remote-id type="github">boto/boto</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/boto3/Manifest b/dev-python/boto3/Manifest
index 5362750747b8..73fe1f7b9d28 100644
--- a/dev-python/boto3/Manifest
+++ b/dev-python/boto3/Manifest
@@ -1,3 +1,7 @@
-DIST boto3-1.29.3.gh.tar.gz 737012 BLAKE2B 4282de0bbe03b61cf6884b08cf0a16e93c1e27a0323d2eee93277f8ac62f5ef440612292ebc245f13de0bbac9c156cae0cd5c76e8ae5b7d018a125cd49a682df SHA512 e42064e2c825376dfe2a5aa0c92715d06d6d29c3cf8b194d8742c688a4743e216ba32111bba080d88505907e48ff26086106eaef62fa5048f34fcbf08355ab60
-DIST boto3-1.29.6.gh.tar.gz 738684 BLAKE2B a42245ddc7a0f31329057016f47739fc4071a030dca1ced347b447860e9397e3c8bae8c70ca86629a4b6b3f403ed845887340e6aeb08fe33c006dea9cd3f6317 SHA512 551a3568f3ceb1f37c7d209e7aa011dbd87d01e02f7559f15563bbd06da6d7a1ff79a1a5ed8150cfbc183cd1c56041a1e36753939142962f056348362665c118
-DIST boto3-1.33.6.gh.tar.gz 752467 BLAKE2B f0f344a9e93ff3ad1dd03b44784a41637d05961855e2cd0700dbb840f98940f387cf81d1eb36cc63579be810f5a7d52c49cdb3831e930f89b1b2026af1e4b357 SHA512 1d3d2dd734621cf94e88015273f6fd4d68ec956145eb2b91fe34920f9abe7786a64e2e7f4057db30e71574e392fff9190944c3d9e6143fd43c5e48f04e9eb2ae
+DIST boto3-1.34.140.gh.tar.gz 828290 BLAKE2B 129c0f791ddc07f90d2b9ae2972839a0bcaa393e3a8f843a9bca9ebf699f36290b95d17c3f906f49ae5c9ee8cd15c5de7f9de96572573f12d40c7ada778c7679 SHA512 b052ac336e68577140017b5a45f1787eec985e42d86e25cdafc15c6eadf8652b75bb006cf86ce0a3e0d9f3b657ae2afee41a75f624fb5e277a49f1653a83f64f
+DIST boto3-1.34.144.gh.tar.gz 840506 BLAKE2B 7fccc6ae45dec6411995795dc7dd180cec51b79f93362a221d7709f35ece2652390219d51507130fcfcedf82f0d2fa89461c112027b7d8040f84f2f907518b30 SHA512 4da24e40cb8beafd975cf21de0e548b167de59e1b47b4b005f4320d2c4cd60e0c5b72378ecdb1b21ec789b4b943df4856128890d865e0fb974a34563871a2078
+DIST boto3-1.34.145.gh.tar.gz 841776 BLAKE2B e93a6c4d634c2df22ed27e58c2abe0a6cc835364b4a93c73c8c221ba39b63b89c5f3ddbf210eb90a451c9b6650061f08a173395f1fb3cd4abe8fde90347b4c63 SHA512 ebd85e3068d1ad332b2ed4c2ad45c022fadb090f8aacdcd72c0d515f91b218201afd69750281b68c909dbf2ab35bef3a39412a616f5b134780f15c0cc9854123
+DIST boto3-1.34.146.gh.tar.gz 842332 BLAKE2B 1e718ca3ae9c59f8528a8e944d1a1e596a595c6ae0d1c7ec83aa47a429f03fe14f9a173772590dc1134fe64bfa471a2cfcf729db107bb19a80fa15b8d13f804a SHA512 ec1fc0bc4aa528a9f93e5ec9ce2b582b6c7c79967097f39c4eb9895486569f2953235867b7f88a593040fd614a37e05fd9d91db107e28106b6d6ff0ea1b5a0c9
+DIST boto3-1.34.147.gh.tar.gz 842874 BLAKE2B 22363cdc4acce00cce16a78a30c0121b0046f309ea9bda21a45880bf5abd19a8177ee7376393b85b3283a8a6ea27931bea21a2f97a4c59d087a4a2aff45dfc6f SHA512 90eda840237b3e968913800de4978ce6bafe3393d7076af4eacfd0851d09358859d5025daacf789b47f984a29d1036af9620f6cac9f12639a041a964ad840aee
+DIST boto3-1.34.148.gh.tar.gz 843651 BLAKE2B 78bc66b075d5df39b6f800a25d00c7c98e2f1c1c31a756453843b4809cc1dbd5fa7714e081d7533bf4671dde9eb69f82c8ed35183e9656613b9bfc3abe4c5eb8 SHA512 dfa5b1eaf9dc510fe03ae855604ed0d1ab5f7aa1df1c57b6ff088a6eb2dcdc62ad855156e13ec7f427700b04105753f907fe1ce0e43d4957ca0cc810c1bbc33a
+DIST boto3-1.34.149.gh.tar.gz 845064 BLAKE2B 25e77483b8ac8a52e7f5586794839dcab694cf8db3cc27112db25fc77b55845cb84dd2750a45dd5097b49e62e62403077fd741d7f1610fc7f735d8344e6fd23c SHA512 21a942ca15023b3e2732678ee79d1b8c7b027e89958b5761a8d543b91c434d06d7c84e137177e1fde52440c801f62dfa4caed309ec92400f6516720bbcc11690
diff --git a/dev-python/boto3/boto3-1.29.3.ebuild b/dev-python/boto3/boto3-1.29.3.ebuild
deleted file mode 100644
index 11e8804b494b..000000000000
--- a/dev-python/boto3/boto3-1.29.3.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-LICENSE="Apache-2.0"
-SLOT="0"
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/boto/boto3"
- inherit git-r3
- BOTOCORE_PV=${PV}
-else
- SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- "
- KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-
- # botocore is x.(y+3).z
- BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)"
-fi
-
-RDEPEND="
- >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.7.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.29.6.ebuild b/dev-python/boto3/boto3-1.29.6.ebuild
deleted file mode 100644
index 0604e0996a82..000000000000
--- a/dev-python/boto3/boto3-1.29.6.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-LICENSE="Apache-2.0"
-SLOT="0"
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/boto/boto3"
- inherit git-r3
- BOTOCORE_PV=${PV}
-else
- SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- "
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-
- # botocore is x.(y+3).z
- BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)"
-fi
-
-RDEPEND="
- >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.7.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.33.6.ebuild b/dev-python/boto3/boto3-1.33.6.ebuild
deleted file mode 100644
index 8123b4a12a79..000000000000
--- a/dev-python/boto3/boto3-1.33.6.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-LICENSE="Apache-2.0"
-SLOT="0"
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/boto/boto3"
- inherit git-r3
- BOTOCORE_PV=${PV}
-else
- SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- "
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-fi
-
-RDEPEND="
- >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.8.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/boto3/boto3-1.34.140.ebuild b/dev-python/boto3/boto3-1.34.140.ebuild
new file mode 100644
index 000000000000..54e9299b7dca
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.140.ebuild
@@ -0,0 +1,53 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/boto3/boto3-1.34.144.ebuild b/dev-python/boto3/boto3-1.34.144.ebuild
new file mode 100644
index 000000000000..8cba6d95740e
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.144.ebuild
@@ -0,0 +1,53 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/boto3/boto3-1.34.145.ebuild b/dev-python/boto3/boto3-1.34.145.ebuild
new file mode 100644
index 000000000000..8cba6d95740e
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.145.ebuild
@@ -0,0 +1,53 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/boto3/boto3-1.34.146.ebuild b/dev-python/boto3/boto3-1.34.146.ebuild
new file mode 100644
index 000000000000..8cba6d95740e
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.146.ebuild
@@ -0,0 +1,53 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/boto3/boto3-1.34.147.ebuild b/dev-python/boto3/boto3-1.34.147.ebuild
new file mode 100644
index 000000000000..8cba6d95740e
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.147.ebuild
@@ -0,0 +1,53 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/boto3/boto3-1.34.148.ebuild b/dev-python/boto3/boto3-1.34.148.ebuild
new file mode 100644
index 000000000000..8cba6d95740e
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.148.ebuild
@@ -0,0 +1,53 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/boto3/boto3-1.34.149.ebuild b/dev-python/boto3/boto3-1.34.149.ebuild
new file mode 100644
index 000000000000..8cba6d95740e
--- /dev/null
+++ b/dev-python/boto3/boto3-1.34.149.ebuild
@@ -0,0 +1,53 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="The AWS SDK for Python"
+HOMEPAGE="
+ https://github.com/boto/boto3/
+ https://pypi.org/project/boto3/
+"
+SRC_URI="
+ https://github.com/boto/boto3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-${PV}[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/s3transfer-0.10.0[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't lock versions to narrow ranges
+ sed -e '/botocore/ d' \
+ -e '/jmespath/ d' \
+ -e '/s3transfer/ d' \
+ -i setup.py || die
+
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/boto3/boto3-9999.ebuild b/dev-python/boto3/boto3-9999.ebuild
deleted file mode 100644
index a37cc38af2f3..000000000000
--- a/dev-python/boto3/boto3-9999.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="The AWS SDK for Python"
-HOMEPAGE="
- https://github.com/boto/boto3/
- https://pypi.org/project/boto3/
-"
-LICENSE="Apache-2.0"
-SLOT="0"
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/boto/boto3"
- inherit git-r3
- BOTOCORE_PV=${PV}
-else
- SRC_URI="
- https://github.com/boto/boto3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- "
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-
- # botocore is x.(y+3).z
- BOTOCORE_PV="$(ver_cut 1).$(( $(ver_cut 2) + 3)).$(ver_cut 3-)"
-fi
-
-RDEPEND="
- >=dev-python/botocore-${BOTOCORE_PV}[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/s3transfer-0.7.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't lock versions to narrow ranges
- sed -e '/botocore/ d' \
- -e '/jmespath/ d' \
- -e '/s3transfer/ d' \
- -i setup.py || die
-
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests/{functional,unit} \
- -p xdist -n "$(makeopts_jobs)" --dist=worksteal
-}
diff --git a/dev-python/botocore/Manifest b/dev-python/botocore/Manifest
index 1e779cd6bef3..714899f20de2 100644
--- a/dev-python/botocore/Manifest
+++ b/dev-python/botocore/Manifest
@@ -1,3 +1,7 @@
-DIST botocore-1.32.3.gh.tar.gz 12176739 BLAKE2B b119a54fb4770757c8f2c75b7404e009be1c7b35598d8a97e892aa644bbcc301b5f6bb44fa0f37bc8f4523af5ca9771daeda877937e640dd557038c8283967e1 SHA512 398127e140edc33750553f33a14cdc140048f5ee03c162705c6681b9bf08d871c9ba29f824ba2b6f1b11592260c6f0614ab4c06464cdda98172e8ca81bce73e9
-DIST botocore-1.32.6.gh.tar.gz 12201067 BLAKE2B 434581b5047aca3909b586c49b01085ed1cbad972b63156521f675c09f3934e04f6583bf543bfd772127afa6fb59ad993229306456ac10e8dc86dd3bb7c430bb SHA512 e175e23452d6956b995ff93a16ffc992cebcfae76e5a7671f60d719e3e8a2692d873f0e8d8830780ddc11f45ebea7a555d0917da5b33ff8249936dce106c7fed
-DIST botocore-1.33.6.gh.tar.gz 12516087 BLAKE2B da3ca22acb5b6ee27eb3c0f7dab4ad43597ab985aa7512f4f4a51c2ca3db80a049e13faaf986dd4a02125f92c088129506651125a826184656250665dc7b7128 SHA512 cae5019d85c9b3afcfd93fe58d0e51c5a6e0769d58b2a8b1285a34ce66be8db34e9c5dc4dc74ff72e0992cdd142d101e3663fa1d68a2779fa9c09de37d2f2001
+DIST botocore-1.34.140.gh.tar.gz 13156596 BLAKE2B 4a264fe767c35dcc65ddbe1eb29529d2576553e4d6f9a3d6c28f249aaa0eab5a0fd150fdbdc1dbd1b83cc1fb6fce8f58c68de43f5dc338cb3feb5b9f76c8f973 SHA512 36c90da9670639ccc10e65ced501a2b16e50b664f11be2686f6fcfc56fa81271f160b27b7ffac513446afe09ef6ed4768818ad8b8ca540571737c47fdf980443
+DIST botocore-1.34.144.gh.tar.gz 13221134 BLAKE2B 9b688a781ad80f294c147ce4aacc31b59ad90369722a256b934610790682fbe54fcc18bded66d3151c24335dafdcc2eecaa293a30f6715aa69ded57efacd6540 SHA512 92d96253eb62b0425d3763cd9df7f5e944e780c5694b6bad03aa1671b65a5a786b54cad037479f2e227b86b2dd33da1a10db1da1ede857378a9f9783405bb288
+DIST botocore-1.34.145.gh.tar.gz 13230154 BLAKE2B ebcf6acdd7ab01bca4032eaa9bc94fd72807edb3b0ce7cdc7addc4bed9a3500627b95d95e69c3027ecb384e65d95c0955e71a0e3262d89e3e8d49eefc37e9aaf SHA512 96042253f2f5ec74b258327c3c4eb322a8ed534ac8ed78f38a5aafb3a97ce832bfe5184090a2dadd41e30b75bf35c463d8d80c3de72a46410656d62076469650
+DIST botocore-1.34.146.gh.tar.gz 13225796 BLAKE2B e59b6192e4fe3e7d0305b43f869049a864909211a3a507a64bca662988c5d982c98f911e272f7928032c7a5b313b7538bd4eaac5f4a43071b5add58c07252c49 SHA512 3032c453bcaac696dfae811880a5ff036ef0f0cd47450d6509aa9f7cd45e6fab043819f73544c4de1b44e59c5e0e8d388c3e99ff9b180912a209d6c1903d737f
+DIST botocore-1.34.147.gh.tar.gz 13233174 BLAKE2B dfb8ad5f0f98bb69805cd9d229545125e0da0b7f57cea070d9c2c10ef7afdfb47deb2c9477fb0e97459b2eff31f959f57137ef210230291ea6b2d5c5b08e0252 SHA512 f0ffd3b350333cf62a1eacce0ea2c3e2a96f1d497b57cb419a539867709aceae6af615af24245659b186a8ad5c18a4f57708241b78ff077258768d8b72562ea0
+DIST botocore-1.34.148.gh.tar.gz 13237574 BLAKE2B 5f0ba1e3c2979a24ef326913367700b5172407714cb0d07b35944a167ad8d0c21e23c41fd3b78faa1aa283633738ea6d2271cec31e3bbb1547fa60a166252f0e SHA512 2caae5680f65fc7750d48ed42c71a8522f7d1555dd0d3d2b6041d47037286c8ed1bb0c1a08b7ee0504fccedffd7568ef27b6d8ee6d1da1425d73d4db13ad7437
+DIST botocore-1.34.149.gh.tar.gz 13245965 BLAKE2B 6bc05c1d93eaa62fa9acb3c0e42acdc67272df442452892cb8e833d93edaafd0dfe03f9467e5f305d2827a12bcc9f0658e13a889f9165e1a83250a9ba1bd5f5b SHA512 e44ab480c611b43e13474db97642b92ac59c4b9e641d45ca0967aca385c608f37dd77541088161e7ac1b05ff9b5e4fa544e8d8711d7fbe0a8a4e78e7d7710722
diff --git a/dev-python/botocore/botocore-1.32.3.ebuild b/dev-python/botocore/botocore-1.32.3.ebuild
deleted file mode 100644
index d33c969b31de..000000000000
--- a/dev-python/botocore/botocore-1.32.3.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-LICENSE="Apache-2.0"
-SLOT="0"
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/boto/botocore"
- inherit git-r3
-else
- SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- "
- KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-fi
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- local -x EPYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.32.6.ebuild b/dev-python/botocore/botocore-1.32.6.ebuild
deleted file mode 100644
index 05766e84276c..000000000000
--- a/dev-python/botocore/botocore-1.32.6.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-LICENSE="Apache-2.0"
-SLOT="0"
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/boto/botocore"
- inherit git-r3
-else
- SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- "
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-fi
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- local -x EPYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.33.6.ebuild b/dev-python/botocore/botocore-1.33.6.ebuild
deleted file mode 100644
index 05766e84276c..000000000000
--- a/dev-python/botocore/botocore-1.33.6.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-LICENSE="Apache-2.0"
-SLOT="0"
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/boto/botocore"
- inherit git-r3
-else
- SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- "
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-fi
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- local -x EPYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests/{functional,unit}
-}
diff --git a/dev-python/botocore/botocore-1.34.140.ebuild b/dev-python/botocore/botocore-1.34.140.ebuild
new file mode 100644
index 000000000000..24590129e105
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.140.ebuild
@@ -0,0 +1,77 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # memory use tests, probably fragile
+ tests/functional/leak/test_resource_leaks.py::TestDoesNotLeakMemory::test_create_single_paginator_memory_constant
+ tests/functional/leak/test_resource_leaks.py::TestDoesNotLeakMemory::test_create_single_waiter_memory_constant
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/botocore-1.34.144.ebuild b/dev-python/botocore/botocore-1.34.144.ebuild
new file mode 100644
index 000000000000..4f1ad852bdc1
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.144.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=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # memory use tests, probably fragile
+ tests/functional/leak/test_resource_leaks.py::TestDoesNotLeakMemory
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/botocore-1.34.145.ebuild b/dev-python/botocore/botocore-1.34.145.ebuild
new file mode 100644
index 000000000000..4f1ad852bdc1
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.145.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=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # memory use tests, probably fragile
+ tests/functional/leak/test_resource_leaks.py::TestDoesNotLeakMemory
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/botocore-1.34.146.ebuild b/dev-python/botocore/botocore-1.34.146.ebuild
new file mode 100644
index 000000000000..4f1ad852bdc1
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.146.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=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # memory use tests, probably fragile
+ tests/functional/leak/test_resource_leaks.py::TestDoesNotLeakMemory
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/botocore-1.34.147.ebuild b/dev-python/botocore/botocore-1.34.147.ebuild
new file mode 100644
index 000000000000..4f1ad852bdc1
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.147.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=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # memory use tests, probably fragile
+ tests/functional/leak/test_resource_leaks.py::TestDoesNotLeakMemory
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/botocore-1.34.148.ebuild b/dev-python/botocore/botocore-1.34.148.ebuild
new file mode 100644
index 000000000000..4f1ad852bdc1
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.148.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=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # memory use tests, probably fragile
+ tests/functional/leak/test_resource_leaks.py::TestDoesNotLeakMemory
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/botocore-1.34.149.ebuild b/dev-python/botocore/botocore-1.34.149.ebuild
new file mode 100644
index 000000000000..4f1ad852bdc1
--- /dev/null
+++ b/dev-python/botocore/botocore-1.34.149.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=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level, data-driven core of boto 3"
+HOMEPAGE="
+ https://github.com/boto/botocore/
+ https://pypi.org/project/botocore/
+"
+SRC_URI="
+ https://github.com/boto/botocore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/jmespath-2[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
+"
+# unbundled packages
+RDEPEND+="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e "s:>=.*':':" setup.py || die
+
+ # unbundle deps
+ rm -r botocore/vendored || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on bundled six
+ tests/functional/test_six_imports.py::test_no_bare_six_imports
+ tests/functional/test_six_threading.py::test_six_thread_safety
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # memory use tests, probably fragile
+ tests/functional/leak/test_resource_leaks.py::TestDoesNotLeakMemory
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests/{functional,unit}
+}
diff --git a/dev-python/botocore/botocore-9999.ebuild b/dev-python/botocore/botocore-9999.ebuild
deleted file mode 100644
index 7cacb5c3f634..000000000000
--- a/dev-python/botocore/botocore-9999.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Low-level, data-driven core of boto 3"
-HOMEPAGE="
- https://github.com/boto/botocore/
- https://pypi.org/project/botocore/
-"
-LICENSE="Apache-2.0"
-SLOT="0"
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/boto/botocore"
- inherit git-r3
-else
- SRC_URI="
- https://github.com/boto/botocore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- "
- KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-fi
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
- <dev-python/jmespath-2[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e "s:>=.*':':" setup.py || die
-
- # unbundle deps
- rm -r botocore/vendored || die
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on bundled six
- tests/functional/test_six_imports.py::test_no_bare_six_imports
- tests/functional/test_six_threading.py::test_six_thread_safety
- )
-
- local -x EPYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests/{functional,unit} -p xdist -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/bottle/bottle-0.12.25-r1.ebuild b/dev-python/bottle/bottle-0.12.25-r1.ebuild
index 6c0982822759..79a2de881ca8 100644
--- a/dev-python/bottle/bottle-0.12.25-r1.ebuild
+++ b/dev-python/bottle/bottle-0.12.25-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 optfeature pypi
@@ -19,6 +19,11 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/legacy-cgi[${PYTHON_USEDEP}]
+ ' 3.13)
+"
BDEPEND="
test? (
dev-python/mako[${PYTHON_USEDEP}]
diff --git a/dev-python/bottleneck/Manifest b/dev-python/bottleneck/Manifest
index ec2d1c959444..8ce948a5e14e 100644
--- a/dev-python/bottleneck/Manifest
+++ b/dev-python/bottleneck/Manifest
@@ -1 +1 @@
-DIST Bottleneck-1.3.7.tar.gz 103067 BLAKE2B d260263fc05b6806203c09555157926f288c60ebb88105b9ad73191c220be0e08370d7a96cb829ec8dd9ac0c2d243aeca62eb1a871e39fe8c85ba6ab507849ac SHA512 ffeacb13e5a99db85e1580b9f2ead98239b4fd0b253a3c242a5507a026b439b9927ea49becec7e4d2d8f8e4ced15f43514c0af99379389db141ae50c4513e011
+DIST bottleneck-1.4.0.tar.gz 103490 BLAKE2B c72b53bd1f4325fa53d7824e335ec50a37da7650c097bdda22548637c1e5a95bfa219dad1361dfb2eecdcf0fa1445a5c6cfb94b7472290fa6317524dc474f46c SHA512 07c1224d63a34e12488dce1f72152fdc493db904130cef46092f7f9c3218a04032e90d64dbf385069072c5d56c7ea09db15897d5c77b9d53db2e3da9414f84cc
diff --git a/dev-python/bottleneck/bottleneck-1.3.7.ebuild b/dev-python/bottleneck/bottleneck-1.3.7.ebuild
deleted file mode 100644
index c07b0bf1cdfc..000000000000
--- a/dev-python/bottleneck/bottleneck-1.3.7.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Fast NumPy array functions written in C"
-HOMEPAGE="
- https://github.com/pydata/bottleneck/
- https://pypi.org/project/Bottleneck/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/numpy-1.9.1[${PYTHON_USEDEP}]
-"
-DEPEND="
- ${RDEPEND}
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # don't overwrites user's optimization level
- sed -e '/extra_compile_args=\["-O2"\]/d' -i setup.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- rm -rf bottleneck || die
- epytest --pyargs bottleneck
-}
diff --git a/dev-python/bottleneck/bottleneck-1.4.0.ebuild b/dev-python/bottleneck/bottleneck-1.4.0.ebuild
new file mode 100644
index 000000000000..e598b4de31ff
--- /dev/null
+++ b/dev-python/bottleneck/bottleneck-1.4.0.ebuild
@@ -0,0 +1,52 @@
+# 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_PN=${PN^}
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fast NumPy array functions written in C"
+HOMEPAGE="
+ https://github.com/pydata/bottleneck/
+ https://pypi.org/project/Bottleneck/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+
+DEPEND="
+ >=dev-python/numpy-1.9.1:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # don't overwrites user's optimization level
+ sed -e '/extra_compile_args=\["-O2"\]/d' -i setup.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # GC assumptions?
+ tests/memory_test.py::test_memory_leak
+ )
+ ;;
+ esac
+
+ rm -rf bottleneck || die
+ epytest --pyargs bottleneck
+}
diff --git a/dev-python/bpython/bpython-0.24.ebuild b/dev-python/bpython/bpython-0.24.ebuild
index 6a0618d8646b..75bd7b528c3e 100644
--- a/dev-python/bpython/bpython-0.24.ebuild
+++ b/dev-python/bpython/bpython-0.24.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 pypi
@@ -20,6 +20,7 @@ SLOT="0"
IUSE="clipboard +jedi watch"
KEYWORDS="amd64 arm64 ~riscv x86"
+# see https://github.com/bpython/bpython/issues/641 wrt greenlet
RDEPEND="
>=dev-python/curtsies-0.4.0[${PYTHON_USEDEP}]
dev-python/cwcwidth[${PYTHON_USEDEP}]
diff --git a/dev-python/bracex/bracex-2.4.ebuild b/dev-python/bracex/bracex-2.4.ebuild
index ba2c1ddcb655..396b3efd6c52 100644
--- a/dev-python/bracex/bracex-2.4.ebuild
+++ b/dev-python/bracex/bracex-2.4.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_USE_PEP517=hatchling
DOCS_BUILDER="mkdocs"
diff --git a/dev-python/bracex/metadata.xml b/dev-python/bracex/metadata.xml
index 55e0bab1255e..66b69a2db45e 100644
--- a/dev-python/bracex/metadata.xml
+++ b/dev-python/bracex/metadata.xml
@@ -1,14 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>lssndrbarbieri@gmail.com</email>
- <name>Alessandro Barbieri</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/braintree/Manifest b/dev-python/braintree/Manifest
index a15039d1daec..382461784c1b 100644
--- a/dev-python/braintree/Manifest
+++ b/dev-python/braintree/Manifest
@@ -1,2 +1,2 @@
-DIST braintree_python-4.23.0.gh.tar.gz 220576 BLAKE2B 23d158c0216a63ce7746a521c339663dc4f1fcc355f3cf65d526c19f7b6a29e49da6a8905059a1410bcf0390c7d44bc267963d68e44e5f4ddc0de57b2500c06f SHA512 e5be83985a6605e68317eafa7533e826d3965707e691791a045f1cbeddded718b21d62e5156c402142228742b13de9859e586b4236865ea675c5c57a3410ffb3
-DIST braintree_python-4.24.0.gh.tar.gz 223640 BLAKE2B ac3c7b1dbf7f781f9e9a08366b28bbb1306a8e5b48c9c57a8bdf9dce2b57f974009b6ba2d351e0f81c9967e6fea12316f254684b7a0753bb3f548284cd51a3e8 SHA512 6620903ce50c613a5cdfab8dac96f37ccbf36ef1cc74c217ca4a00f86c840bc2f0525942d2deebf3ca20a3346b010a9e6d4a81fa75e1536b9d13ea46e6f38009
+DIST braintree_python-4.28.0.gh.tar.gz 227282 BLAKE2B cb811005eaecb380befa99a2721f421e1a1d43417afd2ab243cc83654b2823d50d40c8780a2406c415ec54d683925d45a4900e227a3fed2d6192db80bef92a4a SHA512 872195ed3183e248f6b9127ddcbfe62f5305141806f2af31cf62425d4a76184d8ef7eab5a346818db6fdcbbc01a03979662b379fe8f7f17571d84b127dc0e3f1
+DIST braintree_python-4.29.0.gh.tar.gz 229814 BLAKE2B d4d33aaa8073ec129d4ed791912ebf1ff6ed5c602ec9c91917d493dd0060e59dcc9ae830f2efc9c009036b64bb0f55b3f4476c6c6bf91c6076c8fec9de9c042f SHA512 da2e8daba61c0a9cf76929e5edcb05859f7072e9c13b9bc97556fd370a9f7fbd396513505d3e93617132bfbbb95c6f8cfa4343072e7c16ecdcd30d8c59a7dbff
diff --git a/dev-python/braintree/braintree-4.23.0.ebuild b/dev-python/braintree/braintree-4.23.0.ebuild
deleted file mode 100644
index 06d433d74228..000000000000
--- a/dev-python/braintree/braintree-4.23.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=braintree_python-${PV}
-DESCRIPTION="Braintree Python Library"
-HOMEPAGE="
- https://developer.paypal.com/braintree/docs/reference/overview/
- https://github.com/braintree/braintree_python/
- https://pypi.org/project/braintree/
-"
-# no tests in sdist, as of 4.19.0
-SRC_URI="
- https://github.com/braintree/braintree_python/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/requests-0.11.1[${PYTHON_USEDEP}]
-"
-
-DOCS=( README.md )
-
-distutils_enable_tests unittest
-
-PATCHES=(
- # https://github.com/braintree/braintree_python/pull/154
- "${FILESDIR}/${P}-py312.patch"
-)
-
-python_test() {
- eunittest tests/unit
-}
diff --git a/dev-python/braintree/braintree-4.24.0.ebuild b/dev-python/braintree/braintree-4.24.0.ebuild
deleted file mode 100644
index 8b60825aff84..000000000000
--- a/dev-python/braintree/braintree-4.24.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=braintree_python-${PV}
-DESCRIPTION="Braintree Python Library"
-HOMEPAGE="
- https://developer.paypal.com/braintree/docs/reference/overview/
- https://github.com/braintree/braintree_python/
- https://pypi.org/project/braintree/
-"
-# no tests in sdist, as of 4.19.0
-SRC_URI="
- https://github.com/braintree/braintree_python/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/requests-0.11.1[${PYTHON_USEDEP}]
-"
-
-DOCS=( README.md )
-
-distutils_enable_tests unittest
-
-python_test() {
- eunittest tests/unit
-}
diff --git a/dev-python/braintree/braintree-4.28.0.ebuild b/dev-python/braintree/braintree-4.28.0.ebuild
new file mode 100644
index 000000000000..a2dc87534d6c
--- /dev/null
+++ b/dev-python/braintree/braintree-4.28.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=braintree_python-${PV}
+DESCRIPTION="Braintree Python Library"
+HOMEPAGE="
+ https://developer.paypal.com/braintree/docs/reference/overview/
+ https://github.com/braintree/braintree_python/
+ https://pypi.org/project/braintree/
+"
+# no tests in sdist, as of 4.19.0
+SRC_URI="
+ https://github.com/braintree/braintree_python/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/requests-0.11.1[${PYTHON_USEDEP}]
+"
+
+DOCS=( README.md )
+
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest tests/unit
+}
diff --git a/dev-python/braintree/braintree-4.29.0.ebuild b/dev-python/braintree/braintree-4.29.0.ebuild
new file mode 100644
index 000000000000..42722b55e6d7
--- /dev/null
+++ b/dev-python/braintree/braintree-4.29.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=braintree_python-${PV}
+DESCRIPTION="Braintree Python Library"
+HOMEPAGE="
+ https://developer.paypal.com/braintree/docs/reference/overview/
+ https://github.com/braintree/braintree_python/
+ https://pypi.org/project/braintree/
+"
+# no tests in sdist, as of 4.19.0
+SRC_URI="
+ https://github.com/braintree/braintree_python/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/requests-0.11.0[${PYTHON_USEDEP}]
+"
+
+DOCS=( README.md )
+
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest tests/unit
+}
diff --git a/dev-python/braintree/files/braintree-4.23.0-py312.patch b/dev-python/braintree/files/braintree-4.23.0-py312.patch
deleted file mode 100644
index 4ecbd9e555dd..000000000000
--- a/dev-python/braintree/files/braintree-4.23.0-py312.patch
+++ /dev/null
@@ -1,81 +0,0 @@
-From 9fbdf874ef6a6874db5e98cb2c93ab9736810d4e Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sun, 29 Oct 2023 11:18:56 +0100
-Subject: [PATCH] Fix test suite compatibility with Python 3.12
-
-Replace the deprecated `unittest.TestCase.assertRaisesRegexp()` method
-with `assertRaisesRegex()`. The former is no longer present in Python
-3.12, while the latter is available since Python 3.2.
-
-Replace the deprecated `imp.reload()` function with
-`importlib.reload()`. The former module is no longer present
-in Python 3.12, while `importlib.reload()` is available since
-Python 3.4.
-
-With these changes, unit tests pass with Python 3.12.0.
-
-Fixes #153
----
- CHANGELOG.md | 3 +++
- tests/unit/test_client_token.py | 2 +-
- tests/unit/test_configuration.py | 6 +++---
- 3 files changed, 7 insertions(+), 4 deletions(-)
-
-diff --git a/CHANGELOG.md b/CHANGELOG.md
-index 56e4373..792ee9c 100644
---- a/CHANGELOG.md
-+++ b/CHANGELOG.md
-@@ -1,5 +1,8 @@
- # Changelog
-
-+## 4.24.0
-+* Fix unittest compatibility with Python 3.12
-+
- ## 4.23.0
- * Deprecate `evidenceSubmittable` in Dispute
- * Add missing `escape` calls in `generator` for:
-diff --git a/tests/unit/test_client_token.py b/tests/unit/test_client_token.py
-index 7216a6b..74eb8a2 100644
---- a/tests/unit/test_client_token.py
-+++ b/tests/unit/test_client_token.py
-@@ -3,7 +3,7 @@ from tests.test_helper import *
- class TestClientToken(unittest.TestCase):
- def test_credit_card_options_require_customer_id(self):
- for option in ["verify_card", "make_default", "fail_on_duplicate_payment_method"]:
-- with self.assertRaisesRegexp(InvalidSignatureError, option):
-+ with self.assertRaisesRegex(InvalidSignatureError, option):
- ClientToken.generate({
- "options": {option: True}
- })
-diff --git a/tests/unit/test_configuration.py b/tests/unit/test_configuration.py
-index cf82831..5b24540 100644
---- a/tests/unit/test_configuration.py
-+++ b/tests/unit/test_configuration.py
-@@ -1,13 +1,13 @@
- from tests.test_helper import *
- import braintree
- import os
--import imp
-+import importlib
-
- class TestConfiguration(unittest.TestCase):
- def test_works_with_unconfigured_configuration(self):
- try:
- # reset class level attributes on Configuration set in test helper
-- imp.reload(braintree.configuration)
-+ importlib.reload(braintree.configuration)
- config = Configuration(
- environment=braintree.Environment.Sandbox,
- merchant_id='my_merchant_id',
-@@ -21,7 +21,7 @@ class TestConfiguration(unittest.TestCase):
- finally:
- # repopulate class level attributes on Configuration
- import tests.test_helper
-- imp.reload(tests.test_helper)
-+ importlib.reload(tests.test_helper)
-
- def test_base_merchant_path_for_development(self):
- self.assertEqual("/merchants/integration_merchant_id", Configuration.instantiate().base_merchant_path())
---
-2.42.0
-
diff --git a/dev-python/breathe/breathe-4.35.0-r1.ebuild b/dev-python/breathe/breathe-4.35.0-r1.ebuild
new file mode 100644
index 000000000000..fa51227a1a64
--- /dev/null
+++ b/dev-python/breathe/breathe-4.35.0-r1.ebuild
@@ -0,0 +1,42 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Sphinx Doxygen renderer"
+HOMEPAGE="
+ https://breathe.readthedocs.io/en/latest/
+ https://github.com/breathe-doc/breathe/
+ https://pypi.org/project/breathe/
+"
+SRC_URI="
+ https://github.com/breathe-doc/breathe/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ app-text/doxygen
+ dev-python/docutils[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-4.0.0[${PYTHON_USEDEP}]
+ dev-texlive/texlive-bibtexextra
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latex
+ dev-texlive/texlive-latexextra
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/breathe-doc/breathe/pull/956
+ "${FILESDIR}/${P}-sphinx-7.2.patch"
+)
diff --git a/dev-python/breathe/breathe-4.35.0.ebuild b/dev-python/breathe/breathe-4.35.0.ebuild
deleted file mode 100644
index b8d31307ded3..000000000000
--- a/dev-python/breathe/breathe-4.35.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx Doxygen renderer"
-HOMEPAGE="
- https://breathe.readthedocs.io/en/latest/
- https://github.com/breathe-doc/breathe/
- https://pypi.org/project/breathe/
-"
-SRC_URI="
- https://github.com/breathe-doc/breathe/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- app-doc/doxygen
- dev-python/docutils[${PYTHON_USEDEP}]
- >=dev-python/sphinx-4.0.0[${PYTHON_USEDEP}]
- dev-texlive/texlive-bibtexextra
- dev-texlive/texlive-fontsextra
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latex
- dev-texlive/texlive-latexextra
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/breathe/files/breathe-4.35.0-sphinx-7.2.patch b/dev-python/breathe/files/breathe-4.35.0-sphinx-7.2.patch
new file mode 100644
index 000000000000..b81eddc6a6e3
--- /dev/null
+++ b/dev-python/breathe/files/breathe-4.35.0-sphinx-7.2.patch
@@ -0,0 +1,40 @@
+From 46abd77157a2a57e81586e4f8765ae8f1a09d167 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Mark=C3=A9ta?= <meggy.calabkova@gmail.com>
+Date: Wed, 4 Oct 2023 15:53:59 +0200
+Subject: [PATCH] support Sphinx 7.2
+
+---
+ breathe/project.py | 2 +-
+ tests/test_renderer.py | 6 +++++-
+ 2 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/breathe/project.py b/breathe/project.py
+index 865236e8..9716cb59 100644
+--- a/breathe/project.py
++++ b/breathe/project.py
+@@ -113,7 +113,7 @@ def __init__(self, app: Sphinx):
+ # Assume general build directory is the doctree directory without the last component.
+ # We strip off any trailing slashes so that dirname correctly drops the last part.
+ # This can be overridden with the breathe_build_directory config variable
+- self._default_build_dir = os.path.dirname(app.doctreedir.rstrip(os.sep))
++ self._default_build_dir = app.doctreedir.parent
+ self.project_count = 0
+ self.project_info_store: Dict[str, ProjectInfo] = {}
+ self.project_info_for_auto_store: Dict[str, AutoProjectInfo] = {}
+diff --git a/tests/test_renderer.py b/tests/test_renderer.py
+index a858c65d..73a29e4e 100644
+--- a/tests/test_renderer.py
++++ b/tests/test_renderer.py
+@@ -35,7 +35,11 @@ def app(test_params, app_params, make_app, shared_result):
+ """
+ args, kwargs = app_params
+ assert "srcdir" in kwargs
+- kwargs["srcdir"].makedirs(exist_ok=True)
++ try:
++ kwargs["srcdir"].mkdir(parents=True, exist_ok=True)
++ except AttributeError:
++ # old version of Sphinx
++ kwargs["srcdir"].makedirs(exist_ok=True)
+ (kwargs["srcdir"] / "conf.py").write_text("")
+ app_ = make_app(*args, **kwargs)
+ yield app_
diff --git a/dev-python/brotlicffi/brotlicffi-1.1.0.0.ebuild b/dev-python/brotlicffi/brotlicffi-1.1.0.0.ebuild
index 93e0af953bb0..c0dd86468b3a 100644
--- a/dev-python/brotlicffi/brotlicffi-1.1.0.0.ebuild
+++ b/dev-python/brotlicffi/brotlicffi-1.1.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/browser-cookie3/Manifest b/dev-python/browser-cookie3/Manifest
index b536c008eb69..1734b39d6a4b 100644
--- a/dev-python/browser-cookie3/Manifest
+++ b/dev-python/browser-cookie3/Manifest
@@ -1 +1,2 @@
DIST browser-cookie3-0.18.1.tar.gz 16073 BLAKE2B 1520e53919105e796e9210bf00abd90889f7f10ffaec1bb749005c339556a5aaba4f5d465225b7afcaa4d61f775855029a99ce76a2c90fa16274c2a0e3d42be9 SHA512 673d3268473b45f12469ba86223d0de302f8f3e6282da318e8adb138848953982e1a59740dd90b3b63746f4c29c649abed9d4e06e5e89303931ba7a395732df5
+DIST browser-cookie3-0.19.1.tar.gz 19969 BLAKE2B 61fe98572765cfc2fec87a709fae956a15cace076d0eb53c6412aca1cf3668ec3cfbca19be38ce19fb50d77bf45e4113b40518bbe6424c1f18f456192a84d177 SHA512 231179216c98f2fb6a9271fa90587ccdfaa09603889efda8445f526e71379c33de7b984542919b0c1ee8c27eb20a526239ccd79f2c03cb853284b5ebe715cf49
diff --git a/dev-python/browser-cookie3/browser-cookie3-0.19.1.ebuild b/dev-python/browser-cookie3/browser-cookie3-0.19.1.ebuild
new file mode 100644
index 000000000000..f8317832b583
--- /dev/null
+++ b/dev-python/browser-cookie3/browser-cookie3-0.19.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Loads cookies from your browser into a cookiejar object"
+HOMEPAGE="
+ https://github.com/borisbabic/browser_cookie3/
+ https://pypi.org/project/browser-cookie3/
+"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+# Tests require selenium, browsers, and are aimed for one-shot validation of
+# cookie file format validation for documentation
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/lz4[${PYTHON_USEDEP}]
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ # make cryptodome-friendly
+ sed -i -e 's:pycryptodomex:pycryptodome:' setup.py || die
+ sed -i -e 's:Cryptodome:Crypto:g' browser_cookie3/__init__.py || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/brython/metadata.xml b/dev-python/brython/metadata.xml
index 906aac3495fc..f02e21450691 100644
--- a/dev-python/brython/metadata.xml
+++ b/dev-python/brython/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>monsieurp@gentoo.org</email>
- <name>Patrice Clement</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">brython-dev/brython</remote-id>
<remote-id type="pypi">brython</remote-id>
diff --git a/dev-python/bsddb3/Manifest b/dev-python/bsddb3/Manifest
deleted file mode 100644
index a291722f5c6b..000000000000
--- a/dev-python/bsddb3/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST bsddb3-6.2.9-fix-py3.10.patch.gz 3153 BLAKE2B dfdd00e90c683557bafe7d5f0d5c9a6f944fb8495bf1baef8857f6e771cef58c8e5feac9b3d345ebf6403ba73ceaa7f9077f221ad6bad9916b756e6605b30d3d SHA512 3c6157110c94b842811301f4e48c0f1690d9c75379abe7a04bf76f7136d25decbf79673ca2940c5dbb97802acc8c7a9312a24a79e7dfcc3971f9dc250353d732
-DIST bsddb3-6.2.9.tar.gz 230475 BLAKE2B 68c7c498d581dd5ca860060a3152f7ae135bbc75d00714764446d071e8ea88d303a73d1aa411db1ff8fc922aa6d486632fe38bef3596550150ed511a97fc9c9c SHA512 9e878ef865cba608fafe4274b660234927b9106323c3e4ddd728682b0f11b3c7edb9a3dd56cdfe8665eba890df4121695c9710b95bb2f43b8a0be3ec4050f61e
diff --git a/dev-python/bsddb3/bsddb3-6.2.9-r1.ebuild b/dev-python/bsddb3/bsddb3-6.2.9-r1.ebuild
deleted file mode 100644
index 0557a01edbe9..000000000000
--- a/dev-python/bsddb3/bsddb3-6.2.9-r1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_IN_SOURCE_BUILD=1
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit db-use distutils-r1 pypi
-
-DESCRIPTION="Python bindings for Berkeley DB"
-HOMEPAGE="https://www.jcea.es/programacion/pybsddb.htm https://pypi.org/project/bsddb3/"
-SRC_URI+=" https://dev.gentoo.org/~arthurzam/patches/dev-python/${P}-fix-py3.10.patch.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- <sys-libs/db-6.1:=
- || (
- sys-libs/db:5.3
- sys-libs/db:4.8
- )
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${WORKDIR}/${P}-fix-py3.10.patch"
-)
-
-python_prepare_all() {
- # This list should be kept in sync with setup.py.
- if [[ -z ${DB_VER} ]]; then
- for DB_VER in 5.3 4.8; do
- has_version "sys-libs/db:${DB_VER}" && break
- done
- fi
-
- # Force version.
- sed -e "s/db_ver = None/db_ver = (${DB_VER%.*}, ${DB_VER#*.})/" \
- -e "s/dblib = 'db'/dblib = '$(db_libname ${DB_VER})'/" \
- -i setup2.py setup3.py || die
-
- # Adjust test.py to look in build/lib.
- sed -e "s/'lib.%s' % PLAT_SPEC/'lib'/" \
- -i test2.py test3.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- # These are needed for both build and install.
- export BERKELEYDB_DIR="${EPREFIX}/usr"
- export BERKELEYDB_INCDIR="$(db_includedir ${DB_VER})"
- export BERKELEYDB_LIBDIR="${EPREFIX}/usr/$(get_libdir)"
- export YES_I_HAVE_THE_RIGHT_TO_USE_THIS_BERKELEY_DB_VERSION=1
-}
-
-python_test() {
- PYTHONPATH=Lib3 "${EPYTHON}" test3.py -vv || die "Testing failed with ${EPYTHON}"
-}
diff --git a/dev-python/bsddb3/metadata.xml b/dev-python/bsddb3/metadata.xml
deleted file mode 100644
index b754d39265ed..000000000000
--- a/dev-python/bsddb3/metadata.xml
+++ /dev/null
@@ -1,11 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">bsddb3</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/btrfs/Manifest b/dev-python/btrfs/Manifest
index 8c584ff7f6ff..32e15e0c704b 100644
--- a/dev-python/btrfs/Manifest
+++ b/dev-python/btrfs/Manifest
@@ -1 +1 @@
-DIST btrfs-13.gh.tar.gz 93110 BLAKE2B 286e5d1d9aa66ce5072f2fe144b2da6bbcde65dd90eb21efe1eb69b9aaa3230d76e8b8baffcfd269ce5d53e1004b5fc6c5546125bc1a5c26413ba8abc66f068a SHA512 5117b9c6542fe191eccbed56a15bb5d8eadc2d3c0edd986a3e1a33d0b63f58c3db5e7f6d234c43a83d1cc74eea3e106c5882a92926c3087601edc36e6672721f
+DIST python-btrfs-14.1.gh.tar.gz 94011 BLAKE2B f1a0e7f2988417acb8f66fe28b95ea90e8c6c5dea7161730c2c4657d052d84425d26d3ef91b40194c24d9725687ca84104e45b33f258006c6ccb83269869fdee SHA512 384bea01cc459894aced5923b3f2e874c896412a2c51e56f14390aa9d882bb6827b2c40a8dd7e083ee421de2b3a2411912581b617644075499da65d16eb4f6b6
diff --git a/dev-python/btrfs/btrfs-13.ebuild b/dev-python/btrfs/btrfs-13.ebuild
deleted file mode 100644
index e35218453bd2..000000000000
--- a/dev-python/btrfs/btrfs-13.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python module to inspect btrfs filesystems"
-HOMEPAGE="https://github.com/knorrie/python-btrfs"
-SRC_URI="https://github.com/knorrie/python-${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="examples"
-
-S="${WORKDIR}/python-${P}"
-
-PATCHES=(
- "${FILESDIR}"/${PV}-001-docs-do-not-monkey-patch-for-sphinx-4.patch
- "${FILESDIR}"/${PV}-002-show_file_csum-fix-vaddr-computation.patch
- "${FILESDIR}"/${PV}-003-ioctl-fix-documentation-error-in-FeatureFlags.patch
- "${FILESDIR}"/${PV}-004-add-Block-Group-Tree.patch
- "${FILESDIR}"/${PV}-005-ctree-FileSystem-add-block_groups-function.patch
- "${FILESDIR}"/${PV}-006-btrfs-search-metadata-use-FileSystem-block_groups.patch
-)
-
-python_install_all() {
- if use examples; then
- # skip symlink meant for development
- rm examples/btrfs
- dodoc -r examples
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/btrfs/btrfs-14.1.ebuild b/dev-python/btrfs/btrfs-14.1.ebuild
new file mode 100644
index 000000000000..31231aa8879c
--- /dev/null
+++ b/dev-python/btrfs/btrfs-14.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 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
+
+MY_P=python-btrfs-${PV}
+DESCRIPTION="Python module to inspect btrfs filesystems"
+HOMEPAGE="
+ https://github.com/knorrie/python-btrfs/
+ https://pypi.org/project/btrfs/
+"
+SRC_URI="
+ https://github.com/knorrie/python-btrfs/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="examples"
+
+python_install_all() {
+ if use examples; then
+ # skip symlink meant for development
+ rm examples/btrfs
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/btrfs/files/13-001-docs-do-not-monkey-patch-for-sphinx-4.patch b/dev-python/btrfs/files/13-001-docs-do-not-monkey-patch-for-sphinx-4.patch
deleted file mode 100644
index f74d1502aa66..000000000000
--- a/dev-python/btrfs/files/13-001-docs-do-not-monkey-patch-for-sphinx-4.patch
+++ /dev/null
@@ -1,146 +0,0 @@
-
-Patch from:
-https://github.com/knorrie/python-btrfs/commit/892bc3d8882d62bf91df5de9a11569b6cffec3cd
-
-From 892bc3d8882d62bf91df5de9a11569b6cffec3cd Mon Sep 17 00:00:00 2001
-From: Hans van Kranenburg <hans@knorrie.org>
-Date: Sun, 8 Aug 2021 16:40:41 +0200
-Subject: [PATCH] docs: don't monkey patch for sphinx >= 4
-
-There's a really long existing bug in sphinx that causes it to generate
-cross references in places where it really should not:
- https://github.com/sphinx-doc/sphinx/issues/2549
-
-In docs/source/conf.py there's a monkey patch for this, from line 363
-and further.
-
-It looks like a fix for this was implemented in v4:
- https://github.com/sphinx-doc/sphinx/pull/8638/commits
-
- -$ git tag --contains 918086b5590763663c1627578085e528f1358384
- v4.0.0
- [...]
-
-The function that is replaced while applying the workaround has been
-changed recently, causing breakage (TypeError: patched_make_field() got
-an unexpected keyword argument 'inliner').
-
- -$ git tag --contains 4534d2d1a5755c8cbc9ef4327eab7e34a85a7de8
- v4.1.0
- [...]
-
-So, combining this information, it seems that when the major version
-number of the sphinx lib being used is >= 4, the monkey patch part
-should be skipped.
-
-Fixes: https://github.com/knorrie/python-btrfs/issues/31
---- a/docs/source/conf.py
-+++ b/docs/source/conf.py
-@@ -359,54 +359,56 @@ def get_version():
-
- autodoc_member_order = 'bysource'
-
--
--from docutils import nodes
--from sphinx.util.docfields import TypedField
--from sphinx import addnodes
--
--
--def patched_make_field(self,
-- types, # type: Dict[unicode, List[nodes.Node]]
-- domain, # type: unicode
-- items, # type: Tuple
-- env=None, # type: BuildEnvironment
-- ):
-- # type: (...) -> nodes.field
-- def handle_item(fieldarg, content):
-- # type: (unicode, unicode) -> nodes.paragraph
-- par = nodes.paragraph()
-- # Adding the next line, and taking out the one after should prevent
-- # ivars from getting incorrect cross-references.
-- par += addnodes.literal_strong('', fieldarg)
-- #par.extend(self.make_xrefs(self.rolename, domain, fieldarg,
-- # addnodes.literal_strong, env=env))
-- if fieldarg in types:
-- par += nodes.Text(' (')
-- # NOTE: using .pop() here to prevent a single type node to be
-- # inserted twice into the doctree, which leads to
-- # inconsistencies later when references are resolved
-- fieldtype = types.pop(fieldarg)
-- if len(fieldtype) == 1 and isinstance(fieldtype[0], nodes.Text):
-- typename = u''.join(n.astext() for n in fieldtype)
-- par.extend(self.make_xrefs(self.typerolename, domain, typename,
-- addnodes.literal_emphasis, env=env))
-- else:
-- par += fieldtype
-- par += nodes.Text(')')
-- par += nodes.Text(' -- ')
-- par += content
-- return par
--
-- fieldname = nodes.field_name('', self.label)
-- if len(items) == 1 and self.can_collapse:
-- fieldarg, content = items[0]
-- bodynode = handle_item(fieldarg, content)
-- else:
-- bodynode = self.list_type()
-- for fieldarg, content in items:
-- bodynode += nodes.list_item('', handle_item(fieldarg, content))
-- fieldbody = nodes.field_body('', bodynode)
-- return nodes.field('', fieldname, fieldbody)
--
--
--TypedField.make_field = patched_make_field
-+import sphinx
-+
-+if int(sphinx.__version__.split('.')[0]) < 4:
-+ from docutils import nodes
-+ from sphinx.util.docfields import TypedField
-+ from sphinx import addnodes
-+
-+
-+ def patched_make_field(self,
-+ types, # type: Dict[unicode, List[nodes.Node]]
-+ domain, # type: unicode
-+ items, # type: Tuple
-+ env=None, # type: BuildEnvironment
-+ ):
-+ # type: (...) -> nodes.field
-+ def handle_item(fieldarg, content):
-+ # type: (unicode, unicode) -> nodes.paragraph
-+ par = nodes.paragraph()
-+ # Adding the next line, and taking out the one after should prevent
-+ # ivars from getting incorrect cross-references.
-+ par += addnodes.literal_strong('', fieldarg)
-+ #par.extend(self.make_xrefs(self.rolename, domain, fieldarg,
-+ # addnodes.literal_strong, env=env))
-+ if fieldarg in types:
-+ par += nodes.Text(' (')
-+ # NOTE: using .pop() here to prevent a single type node to be
-+ # inserted twice into the doctree, which leads to
-+ # inconsistencies later when references are resolved
-+ fieldtype = types.pop(fieldarg)
-+ if len(fieldtype) == 1 and isinstance(fieldtype[0], nodes.Text):
-+ typename = u''.join(n.astext() for n in fieldtype)
-+ par.extend(self.make_xrefs(self.typerolename, domain, typename,
-+ addnodes.literal_emphasis, env=env))
-+ else:
-+ par += fieldtype
-+ par += nodes.Text(')')
-+ par += nodes.Text(' -- ')
-+ par += content
-+ return par
-+
-+ fieldname = nodes.field_name('', self.label)
-+ if len(items) == 1 and self.can_collapse:
-+ fieldarg, content = items[0]
-+ bodynode = handle_item(fieldarg, content)
-+ else:
-+ bodynode = self.list_type()
-+ for fieldarg, content in items:
-+ bodynode += nodes.list_item('', handle_item(fieldarg, content))
-+ fieldbody = nodes.field_body('', bodynode)
-+ return nodes.field('', fieldname, fieldbody)
-+
-+
-+ TypedField.make_field = patched_make_field
diff --git a/dev-python/btrfs/files/13-002-show_file_csum-fix-vaddr-computation.patch b/dev-python/btrfs/files/13-002-show_file_csum-fix-vaddr-computation.patch
deleted file mode 100644
index dcf81c7566de..000000000000
--- a/dev-python/btrfs/files/13-002-show_file_csum-fix-vaddr-computation.patch
+++ /dev/null
@@ -1,27 +0,0 @@
-
-Patch from:
-https://github.com/knorrie/python-btrfs/commit/8ebe99f77b5e4da38d8e9322bb5a7c4688c98b4a
-
-From 8ebe99f77b5e4da38d8e9322bb5a7c4688c98b4a Mon Sep 17 00:00:00 2001
-From: Cebtenzzre <cebtenzzre@gmail.com>
-Date: Sun, 28 Nov 2021 14:46:39 -0500
-Subject: [PATCH] examples/show_file_csum: Fix vaddr computation
-
-extent.logical_offset is relative to the start of the file, whereas
-extent.offset is relative to the start of the extent data on disk.
---- a/examples/show_file_csum.py
-+++ b/examples/show_file_csum.py
-@@ -90,11 +90,11 @@ def first_regular_file_extent(inum, tree):
- "inside a data extent at vaddr {}.".format(
- extent.logical_offset, extent.num_bytes, extent.offset, extent.disk_bytenr))
-
--vaddr = extent.disk_bytenr + extent.logical_offset
-+vaddr = extent.disk_bytenr + extent.offset
-
- wraprint("Now, we first look up the checksum value for one block ({} bytes) "
- "of data at vaddr {} ({} + {}).".format(
-- fs.sectorsize, vaddr, extent.disk_bytenr, extent.logical_offset))
-+ fs.sectorsize, vaddr, extent.disk_bytenr, extent.offset))
- wraprint("If we're lucky, the checksum tree has a key at {}. "
- "If not, we have to try searching back a bit to find the csum object that "
- "holds information about our data block. Searching back is done in a very clumsy "
diff --git a/dev-python/btrfs/files/13-003-ioctl-fix-documentation-error-in-FeatureFlags.patch b/dev-python/btrfs/files/13-003-ioctl-fix-documentation-error-in-FeatureFlags.patch
deleted file mode 100644
index 24403089bd70..000000000000
--- a/dev-python/btrfs/files/13-003-ioctl-fix-documentation-error-in-FeatureFlags.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-
-Patch from:
-https://github.com/knorrie/python-btrfs/commit/9f1698ce16b6ae15bf7b3f9f414e9f08dd052b79
-
-From 9f1698ce16b6ae15bf7b3f9f414e9f08dd052b79 Mon Sep 17 00:00:00 2001
-From: Hans van Kranenburg <hans@knorrie.org>
-Date: Sun, 21 May 2023 17:44:15 +0200
-Subject: [PATCH] ioctl: Fix documentation error in FeatureFlags
-
-The free_space_tree flag is located in compat_ro_flags.
---- a/btrfs/ioctl.py
-+++ b/btrfs/ioctl.py
-@@ -1410,7 +1410,7 @@ class FeatureFlags(object):
- incompat_flags: mixed_backref|default_subvol|compress_lzo|big_metadata|extended_iref
- >>> features.incompat_flags & btrfs.ioctl.FEATURE_INCOMPAT_MIXED_GROUPS
- 0
-- >>> features.incompat_flags & btrfs.ioctl.FEATURE_COMPAT_RO_FREE_SPACE_TREE
-+ >>> features.compat_ro_flags & btrfs.ioctl.FEATURE_COMPAT_RO_FREE_SPACE_TREE
- 1
-
- .. note::
diff --git a/dev-python/btrfs/files/13-004-add-Block-Group-Tree.patch b/dev-python/btrfs/files/13-004-add-Block-Group-Tree.patch
deleted file mode 100644
index 8e21581237bc..000000000000
--- a/dev-python/btrfs/files/13-004-add-Block-Group-Tree.patch
+++ /dev/null
@@ -1,110 +0,0 @@
-
-Patch from:
-https://github.com/knorrie/python-btrfs/commit/7d8dca5bf1211843d8fd5c02b118afddaa53bee8
-
-From 7d8dca5bf1211843d8fd5c02b118afddaa53bee8 Mon Sep 17 00:00:00 2001
-From: Hans van Kranenburg <hans@knorrie.org>
-Date: Sun, 21 May 2023 17:46:06 +0200
-Subject: [PATCH] WIP ctree,ioctl,utils: Add Block Group Tree
-
-When the block_group_tree feature is enabled on a filesystem, we have to
-look up Block Group metadata items in the new Block Group Tree, instead
-of the Extent Tree, where they always were located before.
-
-WIP: We don't want to call the get_features ioctl *every* time we look
-up 1 block group object, but we also cannot just cache the result of it,
-since some feature flags can change while the fs is mounted.
-
-So, this needs some extra work in the features department first to make
-this more nice.
---- a/btrfs/ctree.py
-+++ b/btrfs/ctree.py
-@@ -91,6 +91,7 @@ def _struct_format(s):
- QUOTA_TREE_OBJECTID = 8 #: Quota tree
- UUID_TREE_OBJECTID = 9 #: Subvolume UUID tree
- FREE_SPACE_TREE_OBJECTID = 10 #: Free space tree
-+BLOCK_GROUP_TREE_OBJECTID = 11 #: Block group tree
-
- DEV_STATS_OBJECTID = 0 #: Object ID of device statistics in the Device tree.
- BALANCE_OBJECTID = ULL(-4) #: Object ID to store balance status. (-4)
-@@ -346,6 +347,7 @@ def _qgroup_objectid(level, subvid):
- QUOTA_TREE_OBJECTID: 'QUOTA_TREE',
- UUID_TREE_OBJECTID: 'UUID_TREE',
- FREE_SPACE_TREE_OBJECTID: 'FREE_SPACE_TREE',
-+ BLOCK_GROUP_TREE_OBJECTID: 'BLOCK_GROUP_TREE',
- BALANCE_OBJECTID: 'BALANCE',
- ORPHAN_OBJECTID: 'ORPHAN',
- TREE_LOG_OBJECTID: 'TREE_LOG',
-@@ -765,6 +767,11 @@ def __init__(self, path):
- self.fsid = _fs_info.fsid
- self.nodesize = _fs_info.nodesize
- self.sectorsize = _fs_info.sectorsize
-+ # TEMP cached feature flag for block_group_tree TEMP
-+ _features = self.features()
-+ self._block_group_tree = self.features().compat_ro_flags & \
-+ btrfs.ioctl.FEATURE_COMPAT_RO_BLOCK_GROUP_TREE != 0
-+ # TEMP cached feature flag for block_group_tree TEMP
-
- def __enter__(self):
- return self
-@@ -870,7 +877,10 @@ def block_group(self, vaddr, length=None):
- :raises: :class:`ItemNotFoundError` if no Block Group Item can be found
- at the address.
- """
-- tree = EXTENT_TREE_OBJECTID
-+ if not self._block_group_tree:
-+ tree = EXTENT_TREE_OBJECTID
-+ else:
-+ tree = BLOCK_GROUP_TREE_OBJECTID
- min_offset = length if length is not None else 0
- max_offset = length if length is not None else ULLONG_MAX
- min_key = Key(vaddr, BLOCK_GROUP_ITEM_KEY, min_offset)
-@@ -1240,11 +1250,14 @@ class BlockGroupItem(ItemData):
- The `Block Group` has a 1 to 1 relationship with a `Chunk` and tracks some
- usage information about a range of virtual address space.
-
-- * Tree: `EXTENT_TREE_OBJECTID` (2)
-+ * Tree: `EXTENT_TREE_OBJECTID` (2) or `BLOCK_GROUP_TREE_OBJECTID` (11)
- * Key objectid: Virtual address.
- * Key type: `BLOCK_GROUP_ITEM_KEY` (192)
- * Key offset: Block Group length.
-
-+ If the block_group_tree feature is enabled on the filesystem, these items
-+ can be found inside the Block Group Tree instead of the Extent Tree.
-+
- :ivar int vaddr: Virtual address where the Bock Group starts (taken from
- the objectid field of the item key).
- :ivar int length: Block Group length in bytes (taken from the offset field
---- a/btrfs/ioctl.py
-+++ b/btrfs/ioctl.py
-@@ -1325,10 +1325,12 @@ def _compat_flags_str(flags):
-
- FEATURE_COMPAT_RO_FREE_SPACE_TREE = 1 << 0
- FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID = 1 << 1
-+FEATURE_COMPAT_RO_BLOCK_GROUP_TREE = 1 << 3
-
- _feature_compat_ro_str_map = {
- FEATURE_COMPAT_RO_FREE_SPACE_TREE: 'free_space_tree',
- FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID: 'free_space_tree_valid',
-+ FEATURE_COMPAT_RO_BLOCK_GROUP_TREE : 'block_group_tree',
- }
-
-
-@@ -1383,6 +1385,7 @@ class FeatureFlags(object):
-
- - FEATURE_COMPAT_RO_FREE_SPACE_TREE
- - FEATURE_COMPAT_RO_FREE_SPACE_TREE_VALID
-+ - FEATURE_COMPAT_RO_BLOCK_GROUP_TREE
-
- Known incompat_flags (available as attribute of this module) are:
-
---- a/btrfs/utils.py
-+++ b/btrfs/utils.py
-@@ -436,6 +436,7 @@ def embedded_text_for_str(text):
- 'quota': btrfs.ctree.QUOTA_TREE_OBJECTID,
- 'uuid': btrfs.ctree.UUID_TREE_OBJECTID,
- 'free_space': btrfs.ctree.FREE_SPACE_TREE_OBJECTID,
-+ 'block_group': btrfs.ctree.BLOCK_GROUP_TREE_OBJECTID,
- 'tree_log': btrfs.ctree.TREE_LOG_OBJECTID,
- 'tree_log_fixup': btrfs.ctree.TREE_LOG_FIXUP_OBJECTID,
- 'tree_reloc': btrfs.ctree.TREE_RELOC_OBJECTID,
diff --git a/dev-python/btrfs/files/13-005-ctree-FileSystem-add-block_groups-function.patch b/dev-python/btrfs/files/13-005-ctree-FileSystem-add-block_groups-function.patch
deleted file mode 100644
index a6aae613a59d..000000000000
--- a/dev-python/btrfs/files/13-005-ctree-FileSystem-add-block_groups-function.patch
+++ /dev/null
@@ -1,58 +0,0 @@
-
-Patch from:
-https://github.com/knorrie/python-btrfs/commit/be867c10e30b7d8e4d3cfd939a433cc19f362966
-
-From be867c10e30b7d8e4d3cfd939a433cc19f362966 Mon Sep 17 00:00:00 2001
-From: Hans van Kranenburg <hans@knorrie.org>
-Date: Sun, 21 May 2023 18:40:28 +0200
-Subject: [PATCH] WIP ctree: FileSystem: add block_groups function
-
-In the past, I did not really want to add this helper function, since
-it's not just translating some function parameters to another function
-call, but, to get all Block Group objects, we needed to search the Chunk
-tree and get all of them individually. So, to make it more explicit to
-the user of the library that it was a bit weird inefficient process, I
-let the user do that little dance.
-
-Now, with the new Block Group Tree, we can actually just to a cheap
-lookup of a Block Group range! So, well, let's add the convenience
-function now, and let it handle both the old and new case.
-
-Note that the difference in behaviour between error handling for looking
-up a range or a single items stays the same. block_groups(...) will
-return an iterator which has no objects to produce, and block_group(...)
-will throw the ItemNotFoundError.
---- a/btrfs/ctree.py
-+++ b/btrfs/ctree.py
-@@ -866,6 +866,31 @@ def dev_extents(self, min_devid=1, max_devid=ULLONG_MAX):
- for header, data in btrfs.ioctl.search_v2(self.fd, tree, min_key, max_key):
- yield DevExtent(header, data)
-
-+ def block_groups(self, min_vaddr=0, max_vaddr=ULLONG_MAX, nr_items=None):
-+ """
-+ :param int min_vaddr: Lowest virtual address to search for.
-+ :param int max_vaddr: Highest virtual address to search for.
-+ :param int nr_items: Maximum amount of items to return. Defaults to no limit.
-+ :returns: Block Group items from the Extent Tree or Block Group Tree
-+ :rtype: Iterator[:class:`~btrfs.ctree.BlockGroupItem`]
-+ """
-+ if not self._block_group_tree:
-+ for chunk in self.chunks(min_vaddr, max_vaddr, nr_items):
-+ try:
-+ yield self.block_group(chunk.vaddr, chunk.length)
-+ except btrfs.ctree.ItemNotFoundError:
-+ # This is simply to prevent the program from aborting when a block
-+ # group is removed in between doing the chunks lookup and the block
-+ # group item lookup.
-+ pass
-+ else:
-+ tree = BLOCK_GROUP_TREE_OBJECTID
-+ min_key = Key(min_vaddr, BLOCK_GROUP_ITEM_KEY, 0)
-+ max_key = Key(max_vaddr, BLOCK_GROUP_ITEM_KEY, ULLONG_MAX)
-+ for header, data in btrfs.ioctl.search_v2(self.fd, tree, min_key, max_key,
-+ nr_items=nr_items):
-+ yield BlockGroupItem(header, data)
-+
- def block_group(self, vaddr, length=None):
- """
- :param int vaddr: Starting virtual address of the block group.
diff --git a/dev-python/btrfs/files/13-006-btrfs-search-metadata-use-FileSystem-block_groups.patch b/dev-python/btrfs/files/13-006-btrfs-search-metadata-use-FileSystem-block_groups.patch
deleted file mode 100644
index 286282f73822..000000000000
--- a/dev-python/btrfs/files/13-006-btrfs-search-metadata-use-FileSystem-block_groups.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-
-Patch from:
-https://github.com/knorrie/python-btrfs/commit/59c8daca3a05f86001b1dc36b2ab2e5961bf7bc0
-
-From 59c8daca3a05f86001b1dc36b2ab2e5961bf7bc0 Mon Sep 17 00:00:00 2001
-From: Hans van Kranenburg <hans@knorrie.org>
-Date: Sun, 21 May 2023 18:48:55 +0200
-Subject: [PATCH] btrfs-search-metadata: use FileSystem block_groups
-
-Now that we have a helper for looking up Block Groups, let's use it, so
-that it can deal with Block Groups in either Extent or Block Group Tree
-automagically.
---- a/bin/btrfs-search-metadata
-+++ b/bin/btrfs-search-metadata
-@@ -37,14 +37,7 @@ def get_chunks(fs, **kwargs):
-
-
- def get_block_groups(fs, **kwargs):
-- for chunk in fs.chunks():
-- try:
-- yield fs.block_group(chunk.vaddr, chunk.length)
-- except btrfs.ctree.ItemNotFoundError:
-- # This is simply to prevent the program from aborting when a block
-- # group is removed in between doing the chunks lookup and the block
-- # group item lookup.
-- pass
-+ return fs.block_groups()
-
-
- def get_dev_extents(fs, **kwargs):
diff --git a/dev-python/btrfsutil/Manifest b/dev-python/btrfsutil/Manifest
new file mode 100644
index 000000000000..e81c9c007988
--- /dev/null
+++ b/dev-python/btrfsutil/Manifest
@@ -0,0 +1,6 @@
+DIST btrfs-progs-v6.8.1.tar.sign 566 BLAKE2B 843eada2b00a2370522edc95d79bcfed88bd24233e647946d4807322550593e4d5f5bb5efa6652c754dd0965dc3e389bc97698a0bd8fc5d0e850bea94de98e72 SHA512 84ebaa6ec27aa5bc87a323f5c6cc82a860fada7311ab8319127de3592294c1076d25959e412f8387d54bad3b8ff838ce39c4db4b04a658b2de2eaa7c976e2b09
+DIST btrfs-progs-v6.8.1.tar.xz 2652968 BLAKE2B 34406dedc6d97bd94a498c3bbb424d34a59b8251b37f9a40a87740f96db77780a4cd76c88055b4d9e4f673b4a3621503a6bedb67ceaf20870fb26c10f49b74e0 SHA512 b5f0694e56eecf1956313b3406610c2e22658ace51a636d79efe996780bb0b03fed95e68a8c9a11dd8649958c0e7dbc7417bb479859365d47b52e478f6830d46
+DIST btrfs-progs-v6.9.2.tar.sign 566 BLAKE2B 4cd95496d355444c7d3e582a7e6c05fbb55683008b1585a26f38aef6cceb1afd5e80c9611518d6bd92dc1167798d4012c4bcab2f9bda752c459d94cfa6f3c477 SHA512 3fb04e1894e231abde388a39d2f0c90f43c1a1494622c2158fab9b94bb340e064404bcf96e24d913c60aaf5e06ade42fbb91a479949109b329682bb089f66bf2
+DIST btrfs-progs-v6.9.2.tar.xz 2661684 BLAKE2B 38ab189ac8271ba8d68b74e82569159c671cca1cb946f56ccab28b6b206cb6ee5b330d83afc3536b7e0d7399da3fb01e368809c1ef4a64b843ea88796ebd28bd SHA512 1df9d5456d07a035c38c17795996a4fc621eeaa244ef54383d4387205826d2a6e971910e55031d20bb1baf23193efa7439e110312ffd8471f07aaf8c0baca20a
+DIST btrfs-progs-v6.9.tar.sign 566 BLAKE2B a2e26047775bcc407b8f5aa8b08b0708a01c84a8cd649e50a935e15d04e2ee917010fc98df0dfb80320ee25a8dbfbbbabbb1f155489f32391544100956ba9636 SHA512 1e8304b3df013a841e82a8656361946914d35f680b5bc547c1599fdd98a75b66e2b1f869c8b043d7532182318c2183e699a9d6101ab4b1544618d2c8a25362e1
+DIST btrfs-progs-v6.9.tar.xz 2663052 BLAKE2B 9fad691327b6290b3ba0e1a638576b65e4e4d6c8f32549ea0f10188fdb40028315abf5e330976ff7a5efb6a258d0008e7602ae81ba0339888f474dc056791798 SHA512 e97907b377040371f4742a45345ec720e0cb8e0cf9ee5fdc60618ce2bc76f572725ec32e1a178fd57534f73affd3eeb5e6cfebf23734f04583bbbef858d913b2
diff --git a/dev-python/btrfsutil/btrfsutil-6.8.1.ebuild b/dev-python/btrfsutil/btrfsutil-6.8.1.ebuild
new file mode 100644
index 000000000000..29bf098bb9e0
--- /dev/null
+++ b/dev-python/btrfsutil/btrfsutil-6.8.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+# py3.13: https://github.com/kdave/btrfs-progs/issues/838
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/dsterba.asc
+
+inherit distutils-r1 verify-sig
+
+DESCRIPTION="Library for managing Btrfs filesystems"
+HOMEPAGE="https://github.com/kdave/btrfs-progs"
+
+MY_PN="btrfs-progs"
+MY_PV="v${PV/_/-}"
+MY_P="${MY_PN}-${MY_PV}"
+SRC_URI="
+ https://mirrors.edge.kernel.org/pub/linux/kernel/people/kdave/${MY_PN}/${MY_P}.tar.xz
+ verify-sig? ( https://mirrors.edge.kernel.org/pub/linux/kernel/people/kdave/${MY_PN}/${MY_P}.tar.sign )
+"
+S="${WORKDIR}/${MY_P}/libbtrfsutil/python"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+DEPEND="~sys-fs/btrfs-progs-${PV}"
+RDEPEND="${DEPEND}"
+
+distutils_enable_tests unittest
+
+RDEPEND+=" !sys-fs/btrfs-progs[python(-)]"
+
+src_unpack() {
+ if use verify-sig ; then
+ verify-sig_verify_detached \
+ <(xz -cd "${DISTDIR}"/${MY_P}.tar.xz) \
+ "${DISTDIR}"/${MY_P}.tar.sign
+ fi
+ default
+}
diff --git a/dev-python/btrfsutil/btrfsutil-6.9.2.ebuild b/dev-python/btrfsutil/btrfsutil-6.9.2.ebuild
new file mode 100644
index 000000000000..ea175591c6b1
--- /dev/null
+++ b/dev-python/btrfsutil/btrfsutil-6.9.2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+# py3.13: https://github.com/kdave/btrfs-progs/issues/838
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/dsterba.asc
+
+inherit distutils-r1 verify-sig
+
+DESCRIPTION="Library for managing Btrfs filesystems"
+HOMEPAGE="https://github.com/kdave/btrfs-progs"
+
+MY_PN="btrfs-progs"
+MY_PV="v${PV/_/-}"
+MY_P="${MY_PN}-${MY_PV}"
+SRC_URI="
+ https://mirrors.edge.kernel.org/pub/linux/kernel/people/kdave/${MY_PN}/${MY_P}.tar.xz
+ verify-sig? ( https://mirrors.edge.kernel.org/pub/linux/kernel/people/kdave/${MY_PN}/${MY_P}.tar.sign )
+"
+S="${WORKDIR}/${MY_P}/libbtrfsutil/python"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+DEPEND="~sys-fs/btrfs-progs-${PV}"
+RDEPEND="${DEPEND}"
+
+distutils_enable_tests unittest
+
+RDEPEND+=" !sys-fs/btrfs-progs[python(-)]"
+
+src_unpack() {
+ # Upstream sign the decompressed .tar
+ if use verify-sig; then
+ einfo "Unpacking ${MY_P}.tar.xz ..."
+ verify-sig_verify_detached - "${DISTDIR}"/${MY_P}.tar.sign \
+ < <(xz -cd "${DISTDIR}"/${MY_P}.tar.xz | tee >(tar -x))
+ assert "Unpack failed"
+ else
+ default
+ fi
+}
diff --git a/dev-python/btrfsutil/btrfsutil-6.9.ebuild b/dev-python/btrfsutil/btrfsutil-6.9.ebuild
new file mode 100644
index 000000000000..ea175591c6b1
--- /dev/null
+++ b/dev-python/btrfsutil/btrfsutil-6.9.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+# py3.13: https://github.com/kdave/btrfs-progs/issues/838
+PYTHON_COMPAT=( python3_{10..12} )
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/dsterba.asc
+
+inherit distutils-r1 verify-sig
+
+DESCRIPTION="Library for managing Btrfs filesystems"
+HOMEPAGE="https://github.com/kdave/btrfs-progs"
+
+MY_PN="btrfs-progs"
+MY_PV="v${PV/_/-}"
+MY_P="${MY_PN}-${MY_PV}"
+SRC_URI="
+ https://mirrors.edge.kernel.org/pub/linux/kernel/people/kdave/${MY_PN}/${MY_P}.tar.xz
+ verify-sig? ( https://mirrors.edge.kernel.org/pub/linux/kernel/people/kdave/${MY_PN}/${MY_P}.tar.sign )
+"
+S="${WORKDIR}/${MY_P}/libbtrfsutil/python"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+DEPEND="~sys-fs/btrfs-progs-${PV}"
+RDEPEND="${DEPEND}"
+
+distutils_enable_tests unittest
+
+RDEPEND+=" !sys-fs/btrfs-progs[python(-)]"
+
+src_unpack() {
+ # Upstream sign the decompressed .tar
+ if use verify-sig; then
+ einfo "Unpacking ${MY_P}.tar.xz ..."
+ verify-sig_verify_detached - "${DISTDIR}"/${MY_P}.tar.sign \
+ < <(xz -cd "${DISTDIR}"/${MY_P}.tar.xz | tee >(tar -x))
+ assert "Unpack failed"
+ else
+ default
+ fi
+}
diff --git a/dev-python/btrfsutil/metadata.xml b/dev-python/btrfsutil/metadata.xml
new file mode 100644
index 000000000000..eb3c989f23bf
--- /dev/null
+++ b/dev-python/btrfsutil/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>base-system@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">kdave/btrfs-progs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/build/Manifest b/dev-python/build/Manifest
index b404cb7881a7..a04380e8892d 100644
--- a/dev-python/build/Manifest
+++ b/dev-python/build/Manifest
@@ -1 +1 @@
-DIST build-1.0.3.gh.tar.gz 43412 BLAKE2B cb707b21582a1f7a5f649dcaf0fa7d30d253641a51c6af1284b17df46ad877af5280b5d1a07ce7eb90ef468d0f850e3e85dba1f24f7942c6ba432789760ae670 SHA512 c2c67ccf407bb1780c90e02bbc2692b8b10cfe441f445c05d38a675f3498d1d6f94306dcbe270c181e14471f1dd3712e2cba33a4792f6140e2e9f0aa3c8e7b81
+DIST build-1.2.1.gh.tar.gz 47394 BLAKE2B d38a138dee5065ff0faee453bdc608fc519bc4b4a3cec8b60cf4f745288f8238dd7e9334f75bdd67765037a62b220079ce924c6581f745eb3750e732b2184d48 SHA512 77003e16d3776c3a4be920251bf14650eea112b92d94116cb1893195b8e16aae57321206ae63267119247f2794f220c891b7d913e07a8258b313d34c07d54fe9
diff --git a/dev-python/build/build-1.0.3.ebuild b/dev-python/build/build-1.0.3.ebuild
deleted file mode 100644
index e1c120c79606..000000000000
--- a/dev-python/build/build-1.0.3.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="A simple, correct PEP517 package builder"
-HOMEPAGE="
- https://pypi.org/project/build/
- https://github.com/pypa/build/
-"
-SRC_URI="
- https://github.com/pypa/build/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/packaging-19.0[${PYTHON_USEDEP}]
- dev-python/pyproject-hooks[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- test? (
- >=dev-python/filelock-3[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-2[${PYTHON_USEDEP}]
- >=dev-python/pytest-rerunfailures-9.1[${PYTHON_USEDEP}]
- >=dev-python/pytest-xdist-1.34[${PYTHON_USEDEP}]
- >=dev-python/setuptools-56.0.0[${PYTHON_USEDEP}]
- >=dev-python/wheel-0.36.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken by the presence of flit_core
- tests/test_util.py::test_wheel_metadata_isolation
- # broken by the presence of virtualenv (it changes the error
- # messages, sic!)
- 'tests/test_main.py::test_output[via-sdist-isolation]'
- 'tests/test_main.py::test_output[wheel-direct-isolation]'
- # broken when built in not normal tty on coloring
- tests/test_main.py::test_colors
- 'tests/test_main.py::test_output_env_subprocess_error[color]'
- )
-
- epytest -m "not network" -p no:flaky \
- -n "$(makeopts_jobs)" --dist=worksteal
-}
diff --git a/dev-python/build/build-1.2.1.ebuild b/dev-python/build/build-1.2.1.ebuild
new file mode 100644
index 000000000000..40119c9fa57a
--- /dev/null
+++ b/dev-python/build/build-1.2.1.ebuild
@@ -0,0 +1,85 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_TESTED=( python3_{10..13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple, correct PEP517 package builder"
+HOMEPAGE="
+ https://pypi.org/project/build/
+ https://github.com/pypa/build/
+"
+SRC_URI="
+ https://github.com/pypa/build/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/packaging-19.1[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/filelock-3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-rerunfailures-9.1[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-1.34[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-56.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.0.35[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.36.0[${PYTHON_USEDEP}]
+ test-rust? (
+ !s390? ( !sparc? ( dev-python/uv ) )
+ )
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # broken by the presence of flit_core
+ tests/test_util.py::test_wheel_metadata_isolation
+ # broken by the presence of virtualenv (it changes the error
+ # messages, sic!)
+ 'tests/test_main.py::test_output[via-sdist-isolation]'
+ 'tests/test_main.py::test_output[wheel-direct-isolation]'
+ # broken when built in not normal tty on coloring
+ tests/test_main.py::test_colors
+ 'tests/test_main.py::test_output_env_subprocess_error[color]'
+ # Internet
+ 'tests/test_main.py::test_verbose_output[False-0]'
+ 'tests/test_main.py::test_verbose_output[False-1]'
+ # broken by uv being installed outside venv
+ tests/test_env.py::test_external_uv_detection_success
+ )
+
+ if ! has_version "dev-python/uv"; then
+ EPYTEST_DESELECT+=(
+ tests/test_env.py::test_uv_impl_install_cmd_well_formed
+ 'tests/test_env.py::test_venv_creation[uv-venv+uv-None]'
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_XDIST=1
+ epytest -m "not network" -p pytest_mock -p rerunfailures
+}
diff --git a/dev-python/cachecontrol/Manifest b/dev-python/cachecontrol/Manifest
index 898f5abecb13..39f6e1b02ccc 100644
--- a/dev-python/cachecontrol/Manifest
+++ b/dev-python/cachecontrol/Manifest
@@ -1 +1 @@
-DIST cachecontrol-0.13.1.tar.gz 29069 BLAKE2B d244d62338fd3aa9fb37b22c5fb6f69191b91d63621808c8bb5b4e9dd66ac3a6aa9087d435b06669d4303c4126ee63c0c3bd930c267e0de09b6c11d7dc8ec89c SHA512 9814e074f6b7adabc0d9601193128f247110303930178f3d5dfa6d992f679ed9144398a9b995320ea13e7abe95ea52aa910e5e3ec773b2245db9fc3fe08c9d76
+DIST cachecontrol-0.14.0.tar.gz 28899 BLAKE2B 158d70333b8e5cbbee31db788c9737a92592c3c342d17e4e1ff4826759e3fe14eb855556f9363c122fbf3fd68ca43a78b34b3327260fe51a15b30dde01302508 SHA512 4bb43475d43a2b83f9196cf02af7a881ab37da3b481777f1ae6b24df0f7dab54629fcdf9e07b00e1226a7707f5c92b0473481ef7cbbcaa4275665a41487c903f
diff --git a/dev-python/cachecontrol/cachecontrol-0.13.1.ebuild b/dev-python/cachecontrol/cachecontrol-0.13.1.ebuild
deleted file mode 100644
index d5f1802fde76..000000000000
--- a/dev-python/cachecontrol/cachecontrol-0.13.1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="httplib2 caching for requests"
-HOMEPAGE="
- https://pypi.org/project/CacheControl/
- https://github.com/psf/cachecontrol/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- >=dev-python/msgpack-0.5.2[${PYTHON_USEDEP}]
- >=dev-python/requests-2.16.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/cherrypy[${PYTHON_USEDEP}]
- >=dev-python/filelock-3.8.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/cachecontrol/cachecontrol-0.14.0.ebuild b/dev-python/cachecontrol/cachecontrol-0.14.0.ebuild
new file mode 100644
index 000000000000..71147df19f69
--- /dev/null
+++ b/dev-python/cachecontrol/cachecontrol-0.14.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="httplib2 caching for requests"
+HOMEPAGE="
+ https://pypi.org/project/CacheControl/
+ https://github.com/psf/cachecontrol/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ <dev-python/msgpack-2[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.5.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.16.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/cherrypy[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.8.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/cached-property/Manifest b/dev-python/cached-property/Manifest
deleted file mode 100644
index ca1709aea6bf..000000000000
--- a/dev-python/cached-property/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cached-property-1.5.2.tar.gz 12244 BLAKE2B 26981dcfa51925741962c60ad8659a165af6d7f242f4abd392932aac20e966ad6c1763a25184bbabdeb5bd75f8063a430c41f0241afdee8013ffcb437b3ff7da SHA512 626d98a8891a70d858269859cf4e49416464c836d073c1331c21033a4cd9e0e47dc89b53bf393375439992f4993972517dc3cdcbb2cc6f8286f282d3c973e600
diff --git a/dev-python/cached-property/cached-property-1.5.2-r1.ebuild b/dev-python/cached-property/cached-property-1.5.2-r1.ebuild
deleted file mode 100644
index 130e039c94ed..000000000000
--- a/dev-python/cached-property/cached-property-1.5.2-r1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A cached-property for decorating methods in classes"
-HOMEPAGE="https://github.com/pydanny/cached-property"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ppc64 ~riscv x86"
-
-BDEPEND="test? ( dev-python/freezegun[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests pytest
-
-DOCS=( README.rst HISTORY.rst CONTRIBUTING.rst AUTHORS.rst )
-
-PATCHES=(
- # bug 638250
- "${FILESDIR}"/${PN}-1.5.1-test-failure.patch
- # @asyncio.coroutine removed in py3.11
- "${FILESDIR}"/${PN}-1.5.2-python311.patch
-)
diff --git a/dev-python/cached-property/files/cached-property-1.5.1-test-failure.patch b/dev-python/cached-property/files/cached-property-1.5.1-test-failure.patch
deleted file mode 100644
index 03fabd2900ca..000000000000
--- a/dev-python/cached-property/files/cached-property-1.5.1-test-failure.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/tests/test_cached_property.py
-+++ b/tests/test_cached_property.py
-@@ -191,6 +191,7 @@
- self.assert_cached(check, 2)
- self.assert_cached(check, 2)
-
-+ @unittest.skip("Gentoo Bug #638250")
- def test_threads_ttl_expiry(self):
- Check = CheckFactory(self.cached_property_factory(ttl=100000), threadsafe=True)
- check = Check()
diff --git a/dev-python/cached-property/files/cached-property-1.5.2-python311.patch b/dev-python/cached-property/files/cached-property-1.5.2-python311.patch
deleted file mode 100644
index 989033f20036..000000000000
--- a/dev-python/cached-property/files/cached-property-1.5.2-python311.patch
+++ /dev/null
@@ -1,142 +0,0 @@
-From 297031687679762849dedeaf24aa3a19116f095b Mon Sep 17 00:00:00 2001
-From: Petr Viktorin <encukou@gmail.com>
-Date: Thu, 2 Dec 2021 11:26:20 +0100
-Subject: [PATCH 1/2] Don't use asyncio.coroutinefunction if it's not available
-
-Python 3.11 drops the deprecated @asyncio.coroutine and
-asyncio.iscoroutinefunction.
-
-Using a wrapper with @asyncio.coroutine in __get__ wasn't
-necessary (the future from asyncio.ensure_future is awaitable,
-and the wrapper doesn't do anything asynchronous), so the
-logic can be simplified to just call asyncio.ensure_future
-(to schedule the task and store the result when it's
-available).
-
-Tests for @asyncio.coroutine are skipped on 3.11+.
-
-An unnecessary call to asyncio.coroutine in tests is
-removed: it's not necessary to call this for `async def`
-functions.
----
- cached_property.py | 24 +++++++++++-------------
- conftest.py | 6 +++++-
- tests/test_async_cached_property.py | 3 +--
- 3 files changed, 17 insertions(+), 16 deletions(-)
-
-diff --git a/cached_property.py b/cached_property.py
-index 3135871..254739c 100644
---- a/cached_property.py
-+++ b/cached_property.py
-@@ -13,6 +13,12 @@
- import asyncio
- except (ImportError, SyntaxError):
- asyncio = None
-+try:
-+ iscoroutinefunction = asyncio.iscoroutinefunction
-+except AttributeError:
-+ # Python 3.11: @asyncio.coroutine was removed
-+ from inspect import iscoroutinefunction
-+
-
-
- class cached_property(object):
-@@ -30,22 +36,14 @@ def __get__(self, obj, cls):
- if obj is None:
- return self
-
-- if asyncio and asyncio.iscoroutinefunction(self.func):
-- return self._wrap_in_coroutine(obj)
-+ if asyncio and iscoroutinefunction(self.func):
-+ value = asyncio.ensure_future(self.func(obj))
-+ else:
-+ value = self.func(obj)
-
-- value = obj.__dict__[self.func.__name__] = self.func(obj)
-+ obj.__dict__[self.func.__name__] = value
- return value
-
-- def _wrap_in_coroutine(self, obj):
-- @wraps(obj)
-- @asyncio.coroutine
-- def wrapper():
-- future = asyncio.ensure_future(self.func(obj))
-- obj.__dict__[self.func.__name__] = future
-- return future
--
-- return wrapper()
--
-
- class threaded_cached_property(object):
- """
-diff --git a/conftest.py b/conftest.py
-index 0563f64..1c4b618 100644
---- a/conftest.py
-+++ b/conftest.py
-@@ -7,13 +7,17 @@
- # Whether the async and await keywords work
- has_async_await = sys.version_info[0] == 3 and sys.version_info[1] >= 5
-
-+# Whether "from asyncio import coroutine" *fails*
-+version_info = sys.version_info
-+dropped_asyncio_coroutine = version_info[0] == 3 and version_info[1] >= 11
-+
-
- print("conftest.py", has_asyncio, has_async_await)
-
-
- collect_ignore = []
-
--if not has_asyncio:
-+if not has_asyncio or dropped_asyncio_coroutine:
- collect_ignore.append("tests/test_coroutine_cached_property.py")
-
- if not has_async_await:
-diff --git a/tests/test_async_cached_property.py b/tests/test_async_cached_property.py
-index 4ba84f3..d61cc28 100644
---- a/tests/test_async_cached_property.py
-+++ b/tests/test_async_cached_property.py
-@@ -9,8 +9,7 @@
-
- def unittest_run_loop(f):
- def wrapper(*args, **kwargs):
-- coro = asyncio.coroutine(f)
-- future = coro(*args, **kwargs)
-+ future = f(*args, **kwargs)
- loop = asyncio.get_event_loop()
- loop.run_until_complete(future)
-
-
-From 9b210d12fa73c91743378ba4a966417846e7ea9a Mon Sep 17 00:00:00 2001
-From: Petr Viktorin <encukou@gmail.com>
-Date: Thu, 2 Dec 2021 11:44:18 +0100
-Subject: [PATCH 2/2] Restore compatibility with python 2.7
-
-This is still necessary according to the Contributing Guidelines.
----
- cached_property.py | 12 ++++++------
- 1 file changed, 6 insertions(+), 6 deletions(-)
-
-diff --git a/cached_property.py b/cached_property.py
-index 254739c..944e2f5 100644
---- a/cached_property.py
-+++ b/cached_property.py
-@@ -13,12 +13,12 @@
- import asyncio
- except (ImportError, SyntaxError):
- asyncio = None
--try:
-- iscoroutinefunction = asyncio.iscoroutinefunction
--except AttributeError:
-- # Python 3.11: @asyncio.coroutine was removed
-- from inspect import iscoroutinefunction
--
-+if asyncio:
-+ try:
-+ iscoroutinefunction = asyncio.iscoroutinefunction
-+ except AttributeError:
-+ # Python 3.11: @asyncio.coroutine was removed
-+ from inspect import iscoroutinefunction
-
-
- class cached_property(object):
diff --git a/dev-python/cached-property/metadata.xml b/dev-python/cached-property/metadata.xml
deleted file mode 100644
index 6a6c67c67b58..000000000000
--- a/dev-python/cached-property/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">cached-property</remote-id>
- <remote-id type="github">pydanny/cached-property</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/cachelib/Manifest b/dev-python/cachelib/Manifest
index 6f565cda7b5b..d095229779f1 100644
--- a/dev-python/cachelib/Manifest
+++ b/dev-python/cachelib/Manifest
@@ -1 +1 @@
-DIST cachelib-0.10.2.gh.tar.gz 29249 BLAKE2B 2f15e59f1f3ff2dfabed4076e0e47888d16421b7e94cbe13903a39641d903e044c6879aec3a7ad1673e0bb19d7b668d69316bee9b8f8bb4176125de93bc547df SHA512 7168703bdca228982216c65cd1a765d727813e47a0522d5e84258251b8aebde4d6d561850f97232b4e6c054fe09487e35a251b3992682145ef49c5ff1212488b
+DIST cachelib-0.13.0.gh.tar.gz 31116 BLAKE2B fcb5f065778533bbe9200c77f12d374a62111c5dc26e366c07ea0986bba138a97c56de0440dd3b4a5603b8700ec8035b65ebe95d48e4dcf60c03f78a2215f128 SHA512 6b58f3823d1169ca1e25a5accc7a51752e26c8e7f62b58a571b0de4d8792dd6c3eb3d3c60f3843653b7aaa17177a1d6d56e442ceb6b69a486d76511003ff97b2
diff --git a/dev-python/cachelib/cachelib-0.10.2-r1.ebuild b/dev-python/cachelib/cachelib-0.10.2-r1.ebuild
deleted file mode 100644
index 6b8356cd97d6..000000000000
--- a/dev-python/cachelib/cachelib-0.10.2-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Collection of cache libraries in the same API interface. Extracted from werkzeug"
-HOMEPAGE="
- https://pypi.org/project/cachelib/
- https://github.com/pallets-eco/cachelib/
-"
-SRC_URI="
- https://github.com/pallets-eco/cachelib/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-
-BDEPEND="
- test? (
- dev-db/redis
- dev-python/pylibmc[${PYTHON_USEDEP}]
- dev-python/pytest-xprocess[${PYTHON_USEDEP}]
- dev-python/redis[${PYTHON_USEDEP}]
- net-misc/memcached
- www-servers/uwsgi[python,${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # bug #818523
- tests/test_redis_cache.py
- # requires some test server running
- # (these tests require dev-python/boto3)
- tests/test_dynamodb_cache.py
-)
diff --git a/dev-python/cachelib/cachelib-0.13.0.ebuild b/dev-python/cachelib/cachelib-0.13.0.ebuild
new file mode 100644
index 000000000000..27ea69cbe737
--- /dev/null
+++ b/dev-python/cachelib/cachelib-0.13.0.ebuild
@@ -0,0 +1,48 @@
+# 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
+
+DESCRIPTION="Collection of cache libraries in the same API interface. Extracted from werkzeug"
+HOMEPAGE="
+ https://pypi.org/project/cachelib/
+ https://github.com/pallets-eco/cachelib/
+"
+SRC_URI="
+ https://github.com/pallets-eco/cachelib/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86"
+
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/pytest-xprocess[${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+ net-misc/memcached
+ www-servers/uwsgi[python,${PYTHON_USEDEP}]
+ !sparc? (
+ dev-python/pylibmc[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # bug #818523
+ tests/test_redis_cache.py
+ # requires some test server running
+ # (these tests require dev-python/boto3)
+ tests/test_dynamodb_cache.py
+ # requires mongo test server
+ tests/test_mongodb_cache.py
+)
diff --git a/dev-python/cachelib/metadata.xml b/dev-python/cachelib/metadata.xml
index 93b55ca7ecdf..36e1c53ae4ee 100644
--- a/dev-python/cachelib/metadata.xml
+++ b/dev-python/cachelib/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>kensington@gentoo.org</email>
- <name>Michael Palimaka</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/cachetools/Manifest b/dev-python/cachetools/Manifest
index d9166f0c9297..b470036e6f83 100644
--- a/dev-python/cachetools/Manifest
+++ b/dev-python/cachetools/Manifest
@@ -1 +1,2 @@
-DIST cachetools-5.3.2.tar.gz 26510 BLAKE2B c3cf15b69d7d6950c3a78d6ef4dbff317206bf08aa504081a545523244cfee8ca4013b0227bf7525ad7b82022b55e5f67633587d006e21e6b6b8ca9af151bf6c SHA512 1a6e32acefdd6165b3348dc32df300c5d3cd5bcff23c5f8eae5d7b6bc40a9aab7b5d6dee4bf23ebb49dea9a434570e854e24325028680a581f2b359d16e5d836
+DIST cachetools-5.3.3.tar.gz 26522 BLAKE2B 56eb1ab02fa50a7980d977d9a136c4c43b4981308c1c9fd5b2de596ce5fc79b2e3fbdefdade594fa3aa632eb5b26742f2afb7359dc87705d27389a8312247095 SHA512 ece7b1e54839aa8cae65a6164dc8dce6b1553c72ead551e1ae1d8a5e5ee937b952773504dc0d63c423521adfd20d6839bb3ea066dcbc6ab296649bd4ab8f7d83
+DIST cachetools-5.4.0.tar.gz 26975 BLAKE2B cdceb90771686dfee1be9117b3d12fd60e832683be7dd1825f2c430eb9f897d0565cac12b9238090e56391ea2cb097762b7c43726602ec82ffe7fcdf4885aa3c SHA512 ee45747725bed2e3f06b493cf052896af48485907792f1a8331b1dcfca8a52942d2a49eb8c2bf4942ef749f4266d239e95d4165fb681a74fa57d0fe126fc4397
diff --git a/dev-python/cachetools/cachetools-5.3.2.ebuild b/dev-python/cachetools/cachetools-5.3.2.ebuild
deleted file mode 100644
index 5cf52bdfd552..000000000000
--- a/dev-python/cachetools/cachetools-5.3.2.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Extensible memoizing collections and decorators"
-HOMEPAGE="
- https://github.com/tkem/cachetools/
- https://pypi.org/project/cachetools/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/cachetools/cachetools-5.3.3.ebuild b/dev-python/cachetools/cachetools-5.3.3.ebuild
new file mode 100644
index 000000000000..b581588689f8
--- /dev/null
+++ b/dev-python/cachetools/cachetools-5.3.3.ebuild
@@ -0,0 +1,21 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Extensible memoizing collections and decorators"
+HOMEPAGE="
+ https://github.com/tkem/cachetools/
+ https://pypi.org/project/cachetools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/cachetools/cachetools-5.4.0.ebuild b/dev-python/cachetools/cachetools-5.4.0.ebuild
new file mode 100644
index 000000000000..daf8295984af
--- /dev/null
+++ b/dev-python/cachetools/cachetools-5.4.0.ebuild
@@ -0,0 +1,21 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Extensible memoizing collections and decorators"
+HOMEPAGE="
+ https://github.com/tkem/cachetools/
+ https://pypi.org/project/cachetools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/cairocffi/Manifest b/dev-python/cairocffi/Manifest
index 041a3710e014..4818bc34be61 100644
--- a/dev-python/cairocffi/Manifest
+++ b/dev-python/cairocffi/Manifest
@@ -1,2 +1 @@
-DIST cairocffi-1.5.1.tar.gz 86924 BLAKE2B 51bbd85ed486d8a324255d7b328fc44490097f0eeb0568d0e9436350e627ee2da7770323d0cfa547da2f007dc097327962d80d0a9a96a2f119bac0bb4aa4d7f4 SHA512 58b33e921866a3db7dfa464514f935f7c615ae3463b852d888e9d221256e91efaa7639001781999bdf68619a725a90de06300973f9e635c7974e8c48729705dc
-DIST cairocffi-1.6.1.tar.gz 87436 BLAKE2B 54f7f3db31ab52aac6ebce1c830c4c0ff2f5ffde1f6a803bf8453b0ab3307414732c2e43b5b931ff77c9cbf6fe3229150e49254f13891f5e75e88eeef73970b9 SHA512 5489263b7e7e2aca7291860a90a6339d35e819cc03a9add47cd21b4ec0cb0274445c3e852ee3be127c42d8b5d9fcb98b02ff7eb66e3d9d243bd33527ce6ddf5c
+DIST cairocffi-1.7.1.tar.gz 88096 BLAKE2B 5bb9dfe0617b838c386d4da6536758fb4f10520e9ccf7e8d1610e5f67f6393ba101c6466f78a3916de518955b6c8cc5d907debbf595776bca8313b13e0ddc5f3 SHA512 1d0c069c0af4ba552312e7fc003461bf321725212888938cafee168574f8927ce7d6860c016ba972343e67cb59a588fc98c198c75ce3ee3d75aa77874364e190
diff --git a/dev-python/cairocffi/cairocffi-1.5.1.ebuild b/dev-python/cairocffi/cairocffi-1.5.1.ebuild
deleted file mode 100644
index 21adaa516af0..000000000000
--- a/dev-python/cairocffi/cairocffi-1.5.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# custom wrapper
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="CFFI-based drop-in replacement for Pycairo"
-HOMEPAGE="
- https://github.com/Kozea/cairocffi/
- https://pypi.org/project/cairocffi/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-DEPEND="
- >=dev-python/xcffib-0.3.2[${PYTHON_USEDEP}]
- x11-libs/cairo:0=[X,xcb(+)]
- x11-libs/gdk-pixbuf[jpeg]
-"
-RDEPEND="
- ${DEPEND}
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}]
- ' 'python*')
-"
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}]
- ' 'python*')
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pikepdf[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.8.0-tests.patch
-)
-
-src_test() {
- rm -r cairocffi || die
- virtx distutils-r1_src_test
-}
diff --git a/dev-python/cairocffi/cairocffi-1.6.1.ebuild b/dev-python/cairocffi/cairocffi-1.6.1.ebuild
deleted file mode 100644
index a3ab01dd33ec..000000000000
--- a/dev-python/cairocffi/cairocffi-1.6.1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="CFFI-based drop-in replacement for Pycairo"
-HOMEPAGE="
- https://github.com/Kozea/cairocffi/
- https://pypi.org/project/cairocffi/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-DEPEND="
- >=dev-python/xcffib-0.3.2[${PYTHON_USEDEP}]
- x11-libs/cairo:0=[X,xcb(+)]
- x11-libs/gdk-pixbuf[jpeg]
-"
-RDEPEND="
- ${DEPEND}
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}]
- ' 'python*')
-"
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}]
- ' 'python*')
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pikepdf[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.8.0-tests.patch
-)
-
-src_test() {
- virtx distutils-r1_src_test
-}
diff --git a/dev-python/cairocffi/cairocffi-1.7.1.ebuild b/dev-python/cairocffi/cairocffi-1.7.1.ebuild
new file mode 100644
index 000000000000..4b31b7d26c95
--- /dev/null
+++ b/dev-python/cairocffi/cairocffi-1.7.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="CFFI-based drop-in replacement for Pycairo"
+HOMEPAGE="
+ https://github.com/Kozea/cairocffi/
+ https://pypi.org/project/cairocffi/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+DEPEND="
+ >=dev-python/xcffib-0.3.2[${PYTHON_USEDEP}]
+ x11-libs/cairo:0=[X,xcb(+)]
+ x11-libs/gdk-pixbuf[jpeg]
+"
+RDEPEND="
+ ${DEPEND}
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.1.0:=[${PYTHON_USEDEP}]
+ ' 'python*')
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pikepdf[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.8.0-tests.patch
+)
+
+src_test() {
+ virtx distutils-r1_src_test
+}
diff --git a/dev-python/caldav/Manifest b/dev-python/caldav/Manifest
index 86a156600d23..6e0ceb3cb393 100644
--- a/dev-python/caldav/Manifest
+++ b/dev-python/caldav/Manifest
@@ -1 +1 @@
-DIST caldav-1.3.6.tar.gz 104671 BLAKE2B 9792074a91f54d9a300676b4a63ab3fc55650f94038863ebe9045b160f0936192cc597a9d3049d08e42023fe37498ab4fb7850680133ccd2f9ee5fb471fde690 SHA512 16b8b3c89efb97dc1629da075e3573cc87c7bbf5e7800008a02c0db339bdd5cdd72f3e939dd2581983cb6a6c5f1eb9d5715ef3c687cb73ff1777fdb778a51c81
+DIST caldav-1.3.9.tar.gz 106392 BLAKE2B 6b7ca6b7be72b604f54663c5d2a79bc0a3b9874c791407fb7161357bad4cc5016249d0dd8278fb394ff3ce9bfa681f8e034710706faf2d1b4eb8345ac3ba110c SHA512 d368511b82d341406801ecca6aa371a2b4f5641eedba784fa869d76ebd1836991fb2d1cdc12d42feb1a55db73dfb5d80da7efebf95759fd7b6e122129a001ae3
diff --git a/dev-python/caldav/caldav-1.3.6.ebuild b/dev-python/caldav/caldav-1.3.6.ebuild
deleted file mode 100644
index badd5aa55a31..000000000000
--- a/dev-python/caldav/caldav-1.3.6.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="CalDAV (RFC4791) client library for Python"
-HOMEPAGE="
- https://github.com/python-caldav/caldav/
- https://pypi.org/project/caldav/
-"
-
-LICENSE="|| ( GPL-3 Apache-2.0 )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/icalendar[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- >=dev-python/recurring-ical-events-2.0.0[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/vobject[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/tzlocal[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/caldav/caldav-1.3.9.ebuild b/dev-python/caldav/caldav-1.3.9.ebuild
new file mode 100644
index 000000000000..b597bbb33672
--- /dev/null
+++ b/dev-python/caldav/caldav-1.3.9.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CalDAV (RFC4791) client library for Python"
+HOMEPAGE="
+ https://github.com/python-caldav/caldav/
+ https://pypi.org/project/caldav/
+"
+
+LICENSE="|| ( GPL-3 Apache-2.0 )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/icalendar[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ >=dev-python/recurring-ical-events-2.0.0[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/vobject[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/tzlocal[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/calver/calver-2022.06.26.ebuild b/dev-python/calver/calver-2022.06.26.ebuild
index b97f567d3127..e1d7c1e905a8 100644
--- a/dev-python/calver/calver-2022.06.26.ebuild
+++ b/dev-python/calver/calver-2022.06.26.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/canonicaljson/canonicaljson-2.0.0.ebuild b/dev-python/canonicaljson/canonicaljson-2.0.0.ebuild
index d16a39645cae..ac1f124c91bc 100644
--- a/dev-python/canonicaljson/canonicaljson-2.0.0.ebuild
+++ b/dev-python/canonicaljson/canonicaljson-2.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -16,6 +16,6 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ~ppc64"
distutils_enable_tests unittest
diff --git a/dev-python/capturer/capturer-3.0-r1.ebuild b/dev-python/capturer/capturer-3.0-r1.ebuild
index 2c76070eba3f..07baacc2a33e 100644
--- a/dev-python/capturer/capturer-3.0-r1.ebuild
+++ b/dev-python/capturer/capturer-3.0-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
@@ -12,9 +12,9 @@ HOMEPAGE="https://capturer.readthedocs.io/en/latest/
https://pypi.org/project/capturer/
https://github.com/xolox/python-capturer"
-SLOT="0"
LICENSE="MIT"
-KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
RDEPEND="dev-python/humanfriendly[${PYTHON_USEDEP}]"
diff --git a/dev-python/carbon/Manifest b/dev-python/carbon/Manifest
deleted file mode 100644
index 167ab4cf755d..000000000000
--- a/dev-python/carbon/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST carbon-1.1.10.tar.gz 77091 BLAKE2B 367beb81a4dcf4c5fff6bf9884c7accb8aea9daa88d6d890bb977c926268b7ae041c9ac8e4b537f07d08d6c970f536ccc87ae6b4caef555883aadeab155fedce SHA512 a5c8d730e311bb65682c701b79a5e3e02e35eec5c0d923fece3f63d7036ca1f85775100fba9a2090487f2cf75bae7708dae9580deccd8fc586f2820b03e14b4c
diff --git a/dev-python/carbon/carbon-1.1.10.ebuild b/dev-python/carbon/carbon-1.1.10.ebuild
deleted file mode 100644
index 72cc0318ec8d..000000000000
--- a/dev-python/carbon/carbon-1.1.10.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Backend data caching and persistence daemon for Graphite"
-HOMEPAGE="https://graphiteapp.org/"
-
-SLOT="0"
-LICENSE="Apache-2.0"
-KEYWORDS="~amd64 ~x86"
-
-# whisper appears to have been missed from listing in install_requires in setup.py
-RDEPEND="
- dev-python/twisted[${PYTHON_USEDEP}]
- dev-python/cachetools[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
- =dev-python/whisper-${PV}*[${PYTHON_USEDEP}]"
-
-python_prepare_all() {
- # Do not install the configuration and data files. We install them
- # somewhere sensible by hand.
- sed -i -e '/data_files=install_files,/d' setup.py || die
- # We want FHS-style paths instead of /opt/graphite
- export GRAPHITE_NO_PREFIX=yes
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- insinto /etc/carbon
- doins conf/*
-
- keepdir /var/log/carbon /var/lib/carbon/{whisper,lists,rrd}
-
- newinitd "${FILESDIR}"/carbon.initd2 carbon-cache
- newinitd "${FILESDIR}"/carbon.initd2 carbon-relay
- newinitd "${FILESDIR}"/carbon.initd2 carbon-aggregator
-
- newconfd "${FILESDIR}"/carbon.confd carbon-cache
- newconfd "${FILESDIR}"/carbon.confd carbon-relay
- newconfd "${FILESDIR}"/carbon.confd carbon-aggregator
-}
-
-pkg_postinst() {
- einfo 'This ebuild installs carbon into FHS-style paths.'
- einfo 'You will probably have to set GRAPHITE_CONF_DIR to /etc/carbon'
- einfo 'and GRAPHITE_STORAGE_DIR to /var/lib/carbon to make use of this'
- einfo '(see /etc/carbon/carbon.conf.example).'
- einfo ' '
- einfo 'OpenRC init script supports multiple instances !'
- einfo 'Example to run an instance b of carbon-cache :'
- einfo ' ln -s /etc/init.d/carbon-cache /etc/init.d/carbon-cache.b'
- einfo ' cp /etc/conf.d/carbon-cache /etc/conf.d/carbon-cache.b'
-}
diff --git a/dev-python/carbon/files/carbon.confd b/dev-python/carbon/files/carbon.confd
deleted file mode 100644
index b1875e134678..000000000000
--- a/dev-python/carbon/files/carbon.confd
+++ /dev/null
@@ -1,5 +0,0 @@
-# Use the given config file
-CARBON_CONFIG="/etc/carbon/carbon.conf"
-
-# Add extra parameters
-CARBON_EXTRA_PARAMETERS=""
diff --git a/dev-python/carbon/files/carbon.initd2 b/dev-python/carbon/files/carbon.initd2
deleted file mode 100644
index ff1509747ef1..000000000000
--- a/dev-python/carbon/files/carbon.initd2
+++ /dev/null
@@ -1,53 +0,0 @@
-#!/sbin/openrc-run
-# Copyright 1999-2016 Gentoo Foundation
-# Distributed under the terms of the GNU General Public License v2
-
-export GRAPHITE_CONF_DIR=/etc/carbon
-export GRAPHITE_STORAGE_DIR=/var/lib/carbon
-
-INSTANCE=${SVCNAME#*.}
-if [ "${INSTANCE}" = "${SVCNAME}" ]; then
- INSTANCE="a"
-fi
-
-PIDFILE="/var/run/${SVCNAME}.pid"
-PROGRAMNAME=${SVCNAME%%.*}
-
-CARBON_CONFIG=${CARBON_CONFIG:-/etc/carbon/carbon.conf}
-
-depend() {
- use net
-}
-
-
-start_pre() {
- if [ ! -f ${CARBON_CONFIG} ] ; then
- eend "Missing ${CARBON_CONFIG}"
- fi
- case "${PROGRAMNAME}" in
- "carbon-relay" )
- if `grep -q "^RELAY_METHOD = rules$" ${CARBON_CONFIG}`; then
- [ -f /etc/carbon/relay-rules.conf ] || eend "Missing relay-rules.conf"
- fi
- ;;
- "carbon-aggregator" )
- [ -f /etc/carbon/aggregation-rules.conf ] || eend "Missing missing aggregation-rules.conf"
- ;;
- esac
-}
-
-start() {
- ebegin "Starting ${PROGRAMNAME} instance ${INSTANCE}"
- start-stop-daemon --start --exec /usr/bin/${PROGRAMNAME}.py \
- --pidfile ${PIDFILE} \
- -- --pidfile ${PIDFILE} --instance ${INSTANCE} \
- --logdir /var/log/carbon/ --config ${CARBON_CONFIG} start >/dev/null
- eend $? "Failed to start ${SVCNAME}"
-}
-
-stop() {
- ebegin "Stopping ${PROGRAMNAME} instance ${INSTANCE}"
- start-stop-daemon --stop \
- --pidfile ${PIDFILE}
- eend $? "Failed to stop ${SVCNAME}"
-}
diff --git a/dev-python/carbon/metadata.xml b/dev-python/carbon/metadata.xml
deleted file mode 100644
index d38ab1927158..000000000000
--- a/dev-python/carbon/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>patrick@gentoo.org</email>
- <name>Patrick Lauer</name>
- </maintainer>
- <maintainer type="person">
- <email>grobian@gentoo.org</email>
- <name>Fabian Groffen</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">carbon</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/casttube/casttube-0.2.1-r1.ebuild b/dev-python/casttube/casttube-0.2.1-r1.ebuild
index f094dffdcbbe..f9d30c9c98f3 100644
--- a/dev-python/casttube/casttube-0.2.1-r1.ebuild
+++ b/dev-python/casttube/casttube-0.2.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1 pypi
diff --git a/dev-python/cattrs/Manifest b/dev-python/cattrs/Manifest
index 45dd14664739..a1333f1e47f1 100644
--- a/dev-python/cattrs/Manifest
+++ b/dev-python/cattrs/Manifest
@@ -1,4 +1,2 @@
-DIST cattrs-23.1.2.gh.tar.gz 602336 BLAKE2B f39ff3c1525ea14789edd137d82343a9447de0a41f65a71ee85754a15f8fdc929137125043b23c6cd088c8b2d2e9da18577c3b6dbbb6e9a33bdf6789f117bc46 SHA512 d05c8a5d4c5dc0b69ccdf33164d44c35a37a871199a35d1c2c25f9fbd8ee53d48da8e9d9bec49cde2baf901b524d5e8ff1ade175928908ea81f94e8398224488
-DIST cattrs-23.2.1.gh.tar.gz 611553 BLAKE2B f0d1c34838c5b869242411d393f2e395b45a84afb302d2df87ab0a51c537fc0057ee9def2b47313e8134635ffb616045f606070a0260ea4814a2cf227539132d SHA512 2b733dc6123cb26ab6d33b1d445ecbddea98a1a76a02acb15231deee2273933bc726da387419fd6143b44e97729d4fd1746eebadd2309e2440bfc5c153f7079b
-DIST cattrs-23.2.2.gh.tar.gz 611668 BLAKE2B b7abcffa8c6f62deed70b3fc3850913054a54382c07384d5635984eb1ceaf456c7d8aa45a6baaf3189ca57477eeea9990a60381045b3e1711969dff7f56d0be4 SHA512 d969f3d4b9e9d25a940ab1a48f1a8b2de306cc9180f88f403537d78757f50486d522f40e97f1bccbb60839f3d503dfdbd6ad3379e99bd5c5d66306fe36447341
DIST cattrs-23.2.3.gh.tar.gz 612120 BLAKE2B a227cc50cb23a76931562f17444fcfb4a5532cac74f80b478a8abb6d113cbb0a06c471c3ca7ee256f74640486464762f4a13387ccfc1cd144cfd1a9bfecddd8e SHA512 76a75ea0893bb1549dd5178436c4823ae5b918c16f0d8195203c48e894438ec792cee77698d783f7e43c07445c46a6041a309c3d3bbcadcff95d9c4079e3d622
+DIST cattrs-6290cacdb7f9d195b4f96ce0ab036c8eebf35d94.gh.tar.gz 426769 BLAKE2B 61851be04434e55d627aac6fd73d72d9d4d8a150bedb6110f4b99068dd58ed29fd23ff083c595eb508b144546d8e4d1e926831dc51985775773ab86a86d98815 SHA512 f1034ae0c57a0618c6568ebac0696928e125121431e965c0ceeda82070a21b448630e3188cc03a8d7a44447126a4a2623b8604ef856a89268e1c0802761d89b9
diff --git a/dev-python/cattrs/cattrs-23.1.2.ebuild b/dev-python/cattrs/cattrs-23.1.2.ebuild
deleted file mode 100644
index 30d1c61d53bb..000000000000
--- a/dev-python/cattrs/cattrs-23.1.2.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Composable complex class support for attrs and dataclasses"
-HOMEPAGE="
- https://pypi.org/project/cattrs/
- https://github.com/python-attrs/cattrs/
-"
-SRC_URI="
- https://github.com/python-attrs/cattrs/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/attrs-20.1.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/exceptiongroup[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
- ' 3.{9..10})
-"
-BDEPEND="
- test? (
- >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.54.5[${PYTHON_USEDEP}]
- >=dev-python/immutables-0.18[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/pymongo-4.2.0[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
- >=dev-python/tomlkit-0.11.4[${PYTHON_USEDEP}]
- >=dev-python/ujson-5.4.0[${PYTHON_USEDEP}]
- test-rust? (
- >=dev-python/orjson-3.5.2[${PYTHON_USEDEP}]
- )
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- local PATCHES=(
- # https://github.com/python-attrs/cattrs/pull/415
- "${FILESDIR}/${P}-32bit-time_t.patch"
- )
-
- sed -e 's:--benchmark.*::' \
- -e '/addopts/d' \
- -i pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- if ! has_version "dev-python/orjson[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_preconf.py::test_orjson
- tests/test_preconf.py::test_orjson_converter
- tests/test_preconf.py::test_orjson_converter_unstruct_collection_overrides
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p xdist -n "$(makeopts_jobs)" tests
-}
diff --git a/dev-python/cattrs/cattrs-23.2.1.ebuild b/dev-python/cattrs/cattrs-23.2.1.ebuild
deleted file mode 100644
index 1434d99afd5e..000000000000
--- a/dev-python/cattrs/cattrs-23.2.1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 2022-2023 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
-
-DESCRIPTION="Composable complex class support for attrs and dataclasses"
-HOMEPAGE="
- https://pypi.org/project/cattrs/
- https://github.com/python-attrs/cattrs/
-"
-SRC_URI="
- https://github.com/python-attrs/cattrs/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/attrs-20.1.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/exceptiongroup[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.54.5[${PYTHON_USEDEP}]
- >=dev-python/immutables-0.18[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/pymongo-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
- >=dev-python/tomlkit-0.11.4[${PYTHON_USEDEP}]
- >=dev-python/ujson-5.4.0[${PYTHON_USEDEP}]
- test-rust? (
- $(python_gen_cond_dep '
- >=dev-python/orjson-3.5.2[${PYTHON_USEDEP}]
- ' 'python*')
- )
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
- local EPYTEST_DESELECT=()
- if ! has_version "dev-python/orjson[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_preconf.py::test_orjson
- tests/test_preconf.py::test_orjson_converter
- tests/test_preconf.py::test_orjson_converter_unstruct_collection_overrides
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -o addopts= tests
-}
diff --git a/dev-python/cattrs/cattrs-23.2.2.ebuild b/dev-python/cattrs/cattrs-23.2.2.ebuild
deleted file mode 100644
index 8216c327b1d3..000000000000
--- a/dev-python/cattrs/cattrs-23.2.2.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 2022-2023 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
-
-DESCRIPTION="Composable complex class support for attrs and dataclasses"
-HOMEPAGE="
- https://pypi.org/project/cattrs/
- https://github.com/python-attrs/cattrs/
-"
-SRC_URI="
- https://github.com/python-attrs/cattrs/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/attrs-20.1.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/exceptiongroup[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.54.5[${PYTHON_USEDEP}]
- >=dev-python/immutables-0.18[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/pymongo-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
- >=dev-python/tomlkit-0.11.4[${PYTHON_USEDEP}]
- >=dev-python/ujson-5.4.0[${PYTHON_USEDEP}]
- test-rust? (
- $(python_gen_cond_dep '
- >=dev-python/orjson-3.5.2[${PYTHON_USEDEP}]
- ' 'python*')
- )
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
- local EPYTEST_DESELECT=()
- if ! has_version "dev-python/orjson[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_preconf.py::test_orjson
- tests/test_preconf.py::test_orjson_converter
- tests/test_preconf.py::test_orjson_converter_unstruct_collection_overrides
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -o addopts= tests
-}
diff --git a/dev-python/cattrs/cattrs-23.2.3-r1.ebuild b/dev-python/cattrs/cattrs-23.2.3-r1.ebuild
new file mode 100644
index 000000000000..36f0b6d0e3f9
--- /dev/null
+++ b/dev-python/cattrs/cattrs-23.2.3-r1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2022-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
+
+DESCRIPTION="Composable complex class support for attrs and dataclasses"
+HOMEPAGE="
+ https://pypi.org/project/cattrs/
+ https://github.com/python-attrs/cattrs/
+"
+SRC_URI="
+ https://github.com/python-attrs/cattrs/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/attrs-20.1.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.54.5[${PYTHON_USEDEP}]
+ >=dev-python/immutables-0.18[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.11.4[${PYTHON_USEDEP}]
+ >=dev-python/ujson-5.4.0[${PYTHON_USEDEP}]
+ test-rust? (
+ $(python_gen_cond_dep '
+ >=dev-python/orjson-3.5.2[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ if ! has_version "dev-python/orjson[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_preconf.py::test_orjson
+ tests/test_preconf.py::test_orjson_converter
+ tests/test_preconf.py::test_orjson_converter_unstruct_collection_overrides
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= tests
+}
diff --git a/dev-python/cattrs/cattrs-23.2.3.ebuild b/dev-python/cattrs/cattrs-23.2.3.ebuild
deleted file mode 100644
index 8216c327b1d3..000000000000
--- a/dev-python/cattrs/cattrs-23.2.3.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 2022-2023 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
-
-DESCRIPTION="Composable complex class support for attrs and dataclasses"
-HOMEPAGE="
- https://pypi.org/project/cattrs/
- https://github.com/python-attrs/cattrs/
-"
-SRC_URI="
- https://github.com/python-attrs/cattrs/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/attrs-20.1.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/exceptiongroup[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.54.5[${PYTHON_USEDEP}]
- >=dev-python/immutables-0.18[${PYTHON_USEDEP}]
- >=dev-python/msgpack-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/pymongo-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
- >=dev-python/tomlkit-0.11.4[${PYTHON_USEDEP}]
- >=dev-python/ujson-5.4.0[${PYTHON_USEDEP}]
- test-rust? (
- $(python_gen_cond_dep '
- >=dev-python/orjson-3.5.2[${PYTHON_USEDEP}]
- ' 'python*')
- )
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
- local EPYTEST_DESELECT=()
- if ! has_version "dev-python/orjson[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_preconf.py::test_orjson
- tests/test_preconf.py::test_orjson_converter
- tests/test_preconf.py::test_orjson_converter_unstruct_collection_overrides
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -o addopts= tests
-}
diff --git a/dev-python/cattrs/cattrs-23.2.4_pre20240627.ebuild b/dev-python/cattrs/cattrs-23.2.4_pre20240627.ebuild
new file mode 100644
index 000000000000..92b15ea9501b
--- /dev/null
+++ b/dev-python/cattrs/cattrs-23.2.4_pre20240627.ebuild
@@ -0,0 +1,101 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1
+
+EGIT_COMMIT="6290cacdb7f9d195b4f96ce0ab036c8eebf35d94"
+MY_P=cattrs-${EGIT_COMMIT}
+
+DESCRIPTION="Composable complex class support for attrs and dataclasses"
+HOMEPAGE="
+ https://pypi.org/project/cattrs/
+ https://github.com/python-attrs/cattrs/
+"
+SRC_URI="
+ https://github.com/python-attrs/cattrs/archive/${EGIT_COMMIT}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/attrs-20.1.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/cbor2-5.4.6[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.54.5[${PYTHON_USEDEP}]
+ >=dev-python/immutables-0.18[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.11.4[${PYTHON_USEDEP}]
+ >=dev-python/ujson-5.4.0[${PYTHON_USEDEP}]
+ test-rust? (
+ $(python_gen_cond_dep '
+ >=dev-python/orjson-3.5.2[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/python-attrs/cattrs/pull/543
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV/_pre/.dev}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # requires msgspec
+ tests/preconf/test_msgspec_cpython.py
+ )
+ local EPYTEST_DESELECT=(
+ # these require msgspec
+ tests/test_preconf.py::test_msgspec_json_unstruct_collection_overrides
+ tests/test_preconf.py::test_msgspec_json_unions
+ tests/test_preconf.py::test_msgspec_json_converter
+ )
+
+ if ! has_version "dev-python/orjson[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_preconf.py::test_orjson
+ tests/test_preconf.py::test_orjson_converter
+ tests/test_preconf.py::test_orjson_converter_unstruct_collection_overrides
+ )
+ fi
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ tests/preconf/test_pyyaml.py::test_pyyaml
+ tests/preconf/test_pyyaml.py::test_pyyaml_converter
+ tests/test_converter.py::test_simple_roundtrip
+ tests/test_gen_dict.py::test_unmodified_generated_structuring
+ tests/test_generics.py::test_unstructure_deeply_nested_generics_list
+ tests/test_unstructure_collections.py::test_collection_unstructure_override_mapping
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= tests
+}
diff --git a/dev-python/cattrs/files/cattrs-23.1.2-32bit-time_t.patch b/dev-python/cattrs/files/cattrs-23.1.2-32bit-time_t.patch
deleted file mode 100644
index 68d1606c7b31..000000000000
--- a/dev-python/cattrs/files/cattrs-23.1.2-32bit-time_t.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 1b001c30090876dd9cefa3aefac8218ad78222c0 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sat, 12 Aug 2023 18:04:07 +0200
-Subject: [PATCH] Fix typeddict tests on systems with 32-bit time_t
-
-Reduce the range of generated `datetime` instances to values valid
-for 32-bit `time_t` range, as otherwise multiple tests fail with errors
-such as:
-
- FAILED tests/test_typeddicts.py::test_simple_roundtrip - OverflowError: timestamp out of range for platform time_t
-
-This is based on an earlier fix for `test_preconf.py`,
-see a0e56f43f061c43814d6f938833d1c325ed61525
-and c58028789454fc7a9b459b94c214cab2ab1acb81.
-
-Originally reported as https://bugs.gentoo.org/912187.
----
- tests/typeddicts.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/tests/typeddicts.py b/tests/typeddicts.py
-index d7f8141..4f7804d 100644
---- a/tests/typeddicts.py
-+++ b/tests/typeddicts.py
-@@ -59,7 +59,9 @@ def int_attributes(
- def datetime_attributes(
- draw: DrawFn, total: bool = True, not_required: bool = False
- ) -> Tuple[datetime, SearchStrategy, SearchStrategy]:
-- success_strat = datetimes().map(lambda dt: dt.replace(microsecond=0))
-+ success_strat = datetimes(
-+ min_value=datetime(1970, 1, 1), max_value=datetime(2038, 1, 1)
-+ ).map(lambda dt: dt.replace(microsecond=0))
- type = datetime
- strat = success_strat if total else success_strat | just(NOTHING)
- if not_required and draw(booleans()):
---
-2.41.0
-
diff --git a/dev-python/cattrs/files/cattrs-23.2.4_pre20240627-py313.patch b/dev-python/cattrs/files/cattrs-23.2.4_pre20240627-py313.patch
new file mode 100644
index 000000000000..1ea85a653a32
--- /dev/null
+++ b/dev-python/cattrs/files/cattrs-23.2.4_pre20240627-py313.patch
@@ -0,0 +1,74 @@
+From b0ff7b1e40f4e3c1865da2cd04251eed6b64cd36 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Tin=20Tvrtkovi=C4=87?= <tinchester@gmail.com>
+Date: Fri, 21 Jun 2024 01:25:15 +0200
+Subject: [PATCH] Fix some tests for 3.13
+
+---
+ tests/test_converter.py | 7 ++++---
+ tests/test_gen_dict.py | 4 +++-
+ tests/typed.py | 5 ++++-
+ 3 files changed, 11 insertions(+), 5 deletions(-)
+
+diff --git a/tests/test_converter.py b/tests/test_converter.py
+index b401860c..63a6502b 100644
+--- a/tests/test_converter.py
++++ b/tests/test_converter.py
+@@ -54,8 +54,8 @@ def test_simple_roundtrip(cls_and_vals, detailed_validation):
+
+
+ @given(
+- simple_typed_classes(kw_only=False, newtypes=False)
+- | simple_typed_dataclasses(newtypes=False),
++ simple_typed_classes(kw_only=False, newtypes=False, allow_nan=False)
++ | simple_typed_dataclasses(newtypes=False, allow_nan=False),
+ booleans(),
+ )
+ def test_simple_roundtrip_tuple(cls_and_vals, dv: bool):
+@@ -103,7 +103,8 @@ def test_simple_roundtrip_defaults_tuple(attr_and_vals):
+
+
+ @given(
+- simple_typed_classes(newtypes=False) | simple_typed_dataclasses(newtypes=False),
++ simple_typed_classes(newtypes=False, allow_nan=False)
++ | simple_typed_dataclasses(newtypes=False, allow_nan=False),
+ unstructure_strats,
+ )
+ def test_simple_roundtrip_with_extra_keys_forbidden(cls_and_vals, strat):
+diff --git a/tests/test_gen_dict.py b/tests/test_gen_dict.py
+index 16911d51..5395b9e9 100644
+--- a/tests/test_gen_dict.py
++++ b/tests/test_gen_dict.py
+@@ -185,7 +185,9 @@ def test_unmodified_generated_structuring(cl_and_vals, dv: bool):
+
+
+ @given(
+- simple_typed_classes(min_attrs=1) | simple_typed_dataclasses(min_attrs=1), data()
++ simple_typed_classes(min_attrs=1, allow_nan=False)
++ | simple_typed_dataclasses(min_attrs=1, allow_nan=False),
++ data(),
+ )
+ def test_renaming(cl_and_vals, data):
+ converter = Converter()
+diff --git a/tests/typed.py b/tests/typed.py
+index 7589c9a6..fa2573af 100644
+--- a/tests/typed.py
++++ b/tests/typed.py
+@@ -82,7 +82,9 @@ def simple_typed_classes(
+ ).flatmap(partial(_create_hyp_class, frozen=frozen))
+
+
+-def simple_typed_dataclasses(defaults=None, min_attrs=0, frozen=False, newtypes=True):
++def simple_typed_dataclasses(
++ defaults=None, min_attrs=0, frozen=False, newtypes=True, allow_nan=None
++):
+ """Yield tuples of (class, values)."""
+ return lists_of_typed_attrs(
+ defaults,
+@@ -90,6 +92,7 @@ def simple_typed_dataclasses(defaults=None, min_attrs=0, frozen=False, newtypes=
+ for_frozen=frozen,
+ allow_mutable_defaults=False,
+ newtypes=newtypes,
++ allow_nan=allow_nan,
+ ).flatmap(partial(_create_dataclass, frozen=frozen))
+
+
diff --git a/dev-python/cbor2/Manifest b/dev-python/cbor2/Manifest
index 616f25fc4ff6..016c6e760bbd 100644
--- a/dev-python/cbor2/Manifest
+++ b/dev-python/cbor2/Manifest
@@ -1 +1 @@
-DIST cbor2-5.5.1.tar.gz 94221 BLAKE2B 651d229c9a4e5fda2ae61302f8bd72a165f15e008333525a301f2fc94dc81259698f4ae9b8c1f3a0b5fadffadd4d55f2ba4bf1445938a10342997bca64ceba31 SHA512 7878b997ae5bdf44cb04b7cef8445a94f11c1722819ea85073bd56f99976cf2c1c1180e72d9ae9cd7dd7d06a6aa55dc1cb3f919a869098a9feede210f8355fb4
+DIST cbor2-5.6.4.tar.gz 100865 BLAKE2B e15227a5ff802f41c488fc410ee495a7b1b986cdca42f84926b525ec9d7110aae851f0da8278d630360462793a15733662b19663aa04acc470b7a6b0ad1c2f4e SHA512 794a7b646d7672c8cae9b2fe14e817812dc2afef46664f9be810258fcd1cab132dd28f3d05a036bd188aa510ebf44972f8f175b9acb6eec7339aebe608544b2c
diff --git a/dev-python/cbor2/cbor2-5.5.1.ebuild b/dev-python/cbor2/cbor2-5.5.1.ebuild
deleted file mode 100644
index d4f574904696..000000000000
--- a/dev-python/cbor2/cbor2-5.5.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Pure Python CBOR (de)serializer with extensive tag support"
-HOMEPAGE="
- https://github.com/agronholm/cbor2/
- https://pypi.org/project/cbor2/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="+native-extensions"
-
-BDEPEND="
- >=dev-python/setuptools-61[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # remove pytest-cov dep
- sed -i -e "s/--cov//" pyproject.toml || die
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- local -x CBOR2_BUILD_C_EXTENSION=1
- # pypy3 not supported upstream
- if [[ ${EPYTHON} == pypy3 ]] || ! use native-extensions; then
- CBOR2_BUILD_C_EXTENSION=0
- fi
- distutils-r1_python_compile
-}
diff --git a/dev-python/cbor2/cbor2-5.6.4.ebuild b/dev-python/cbor2/cbor2-5.6.4.ebuild
new file mode 100644
index 000000000000..2b8d11367dc2
--- /dev/null
+++ b/dev-python/cbor2/cbor2-5.6.4.ebuild
@@ -0,0 +1,46 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pure Python CBOR (de)serializer with extensive tag support"
+HOMEPAGE="
+ https://github.com/agronholm/cbor2/
+ https://pypi.org/project/cbor2/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ >=dev-python/setuptools-61[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # remove pytest-cov dep
+ sed -i -e "s/--cov//" pyproject.toml || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local -x CBOR2_BUILD_C_EXTENSION=1
+ # pypy3 not supported upstream
+ if [[ ${EPYTHON} == pypy3 ]] || ! use native-extensions; then
+ CBOR2_BUILD_C_EXTENSION=0
+ fi
+ distutils-r1_python_compile
+}
diff --git a/dev-python/cbor2/metadata.xml b/dev-python/cbor2/metadata.xml
index 957e87f7ed85..f4524de20165 100644
--- a/dev-python/cbor2/metadata.xml
+++ b/dev-python/cbor2/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>dolsen@gentoo.org</email>
- <name>Brian Dolbec</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/cchardet/cchardet-2.1.19.ebuild b/dev-python/cchardet/cchardet-2.1.19.ebuild
index e75b67465ab7..8b20dc4e9371 100644
--- a/dev-python/cchardet/cchardet-2.1.19.ebuild
+++ b/dev-python/cchardet/cchardet-2.1.19.ebuild
@@ -7,7 +7,7 @@ DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=faust-cchardet
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="MPL-1.1"
SLOT="0"
-KEYWORDS="amd64 ~arm x86"
+KEYWORDS="amd64 ~arm ~arm64 x86"
BDEPEND="
dev-python/cython[${PYTHON_USEDEP}]
diff --git a/dev-python/cerberus/cerberus-1.3.5.ebuild b/dev-python/cerberus/cerberus-1.3.5.ebuild
index f08512925bcb..e0c7d2354523 100644
--- a/dev-python/cerberus/cerberus-1.3.5.ebuild
+++ b/dev-python/cerberus/cerberus-1.3.5.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="ISC"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
PATCHES=(
"${FILESDIR}"/${PN}-1.3.4-raw_docstrings.patch
diff --git a/dev-python/cerberus/metadata.xml b/dev-python/cerberus/metadata.xml
index bfca76f5e3eb..e063ae176bce 100644
--- a/dev-python/cerberus/metadata.xml
+++ b/dev-python/cerberus/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
diff --git a/dev-python/certifi/Manifest b/dev-python/certifi/Manifest
index 25c84ad82105..a75342220c4c 100644
--- a/dev-python/certifi/Manifest
+++ b/dev-python/certifi/Manifest
@@ -1 +1,2 @@
DIST certifi-system-store-3021.3.16.gh.tar.gz 13784 BLAKE2B c0c2322fe298d363c4ef4dada2c0db8837bf7a32d86a7b54a1b45bb3dd3c99d732b2612f25495f4a59d9692f896e2b962e7057fa5fec9998724476db48f90c2a SHA512 44953ed8a3deb5fa4aff3f74afa557219e042acea395e9cdebfd26fd43ce0bdeca07c6b6dfe91977f88852e7674b94337b93c4d78fd2da6f47a6187fa46d6668
+DIST certifi-system-store-3024.7.22.gh.tar.gz 12441 BLAKE2B 445477dc557f980c5f2edf37d6683204181071e625dac66e9cc3bdeec38ba28ff385d2a92d8162de6af30fc552b64b6c8ad13a06dd6e7f2e26f02d453d69d5c4 SHA512 a4862dbb9f931322f7c62ecd877bee97679cc147acd4585642cbd215f37663f3bde7a73cf846bb0c84077c6cee1c1e4c06da9e2ce44d8dcb1e8fe6065e282feb
diff --git a/dev-python/certifi/certifi-3021.3.16-r4.ebuild b/dev-python/certifi/certifi-3021.3.16-r4.ebuild
index 797d38ddf0e6..563a3059ac9f 100644
--- a/dev-python/certifi/certifi-3021.3.16-r4.ebuild
+++ b/dev-python/certifi/certifi-3021.3.16-r4.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
# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
EAPI=7
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/certifi/certifi-3024.7.22.ebuild b/dev-python/certifi/certifi-3024.7.22.ebuild
new file mode 100644
index 000000000000..b37fdc72723e
--- /dev/null
+++ b/dev-python/certifi/certifi-3024.7.22.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+MY_P=certifi-system-store-${PV}
+DESCRIPTION="A certifi hack to use system trust store on Linux/FreeBSD"
+HOMEPAGE="
+ https://github.com/projg2/certifi-system-store/
+ https://github.com/tiran/certifi-system-store/
+ https://pypi.org/project/certifi-system-store/
+"
+SRC_URI="
+ https://github.com/projg2/certifi-system-store/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ app-misc/ca-certificates
+"
+
+EPYTEST_IGNORE=(
+ # requires Internet
+ tests/test_requests.py
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e "s^/etc^${EPREFIX}/etc^" src/certifi/core.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/certifi/metadata.xml b/dev-python/certifi/metadata.xml
index db64a2b878fe..980216c62a74 100644
--- a/dev-python/certifi/metadata.xml
+++ b/dev-python/certifi/metadata.xml
@@ -7,6 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">projg2/certifi-system-store</remote-id>
<remote-id type="github">tiran/certifi-system-store</remote-id>
<remote-id type="pypi">certifi-system-store</remote-id>
</upstream>
diff --git a/dev-python/cffi/Manifest b/dev-python/cffi/Manifest
index de8f69ee1c67..0bc5cf6a8a61 100644
--- a/dev-python/cffi/Manifest
+++ b/dev-python/cffi/Manifest
@@ -1 +1,3 @@
DIST cffi-1.16.0.tar.gz 512873 BLAKE2B 9e8d107b3124a072e559c4a536b54a172e90f9fe51d8184dacc2914a8ffa84f2682eee9c90401325dfb0f36f3f8ea0456afc93e2b85a4fef5f07ae4475e0a76b SHA512 fd2588115092202aa9289c9d4e0a0b3e264b5e9ec1dc192950f31aeb412fd9f9d4e5c96a3f9c6762987b58ccc1e229f2012ddda89211797104df672d8ed51152
+DIST cffi-1.17.0rc1.tar.gz 516063 BLAKE2B 02f25fde28a070c314deb5870d2285a0cfd2fd10d0136b3c5459d4bb11454722d61dfe0e5f27a7268a4aca8cadb2a9df045340094bcf98f1692f54ddea6df714 SHA512 757ccaf09a745cd04a31d0b2fcc46f438269b79b88c4a89aa7dd2f0dd1bc1b64fb9f9fde2461407e1c0482c1c64e837283e21d0b46dbcb0c4ccd5e54a8319a0e
+DIST cffi-d7f750b1b1c5ea4da5aa537b9baba0e01b0ce843.gh.tar.gz 523050 BLAKE2B 498085e9bc497eb1abf2d2e26e2cdb9d7544509b2c1686b306930c2da8a39a5ef133b77302761b44d5231c5255ef30cbd22579c79921dc2dc71e723ff5624939 SHA512 a0d1eb7bf8df12331d3493d86894ba062f7a15f4e7421863d44e264d4ca40ef864c7574d42cb7a4f2ea44ab80242942d6f4c8772c64b8dd0789aeb9f1908fc89
diff --git a/dev-python/cffi/cffi-1.17.0_pre20240424.ebuild b/dev-python/cffi/cffi-1.17.0_pre20240424.ebuild
new file mode 100644
index 000000000000..549ae28013a6
--- /dev/null
+++ b/dev-python/cffi/cffi-1.17.0_pre20240424.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+# DO NOT ADD pypy to PYTHON_COMPAT
+# pypy bundles a modified version of cffi. Use python_gen_cond_dep instead.
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 toolchain-funcs
+
+EGIT_COMMIT=d7f750b1b1c5ea4da5aa537b9baba0e01b0ce843
+MY_P=${PN}-${EGIT_COMMIT}
+
+DESCRIPTION="Foreign Function Interface for Python calling C code"
+HOMEPAGE="
+ https://cffi.readthedocs.io/
+ https://pypi.org/project/cffi/
+"
+SRC_URI="
+ https://github.com/python-cffi/cffi/archive/${EGIT_COMMIT}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# Needs recent libffi for HPPA fixes
+DEPEND="
+ >=dev-libs/libffi-3.4.4-r1:=
+"
+# setuptools as a modern distutils provider
+RDEPEND="
+ ${DEPEND}
+ dev-python/pycparser[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ test? (
+ dev-python/py[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx doc/source
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/cffi-1.14.0-darwin-no-brew.patch
+)
+
+src_prepare() {
+ if [[ ${CHOST} == *darwin* ]] ; then
+ # Don't obsessively try to find libffi
+ sed -i -e "s/.*\-iwithsysroot\/usr\/include\/ffi.*/\tpass/" setup.py || die
+ fi
+ distutils-r1_src_prepare
+}
+
+src_configure() {
+ tc-export PKG_CONFIG
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # these tests call pip
+ testing/cffi0/test_zintegration.py
+ )
+
+ "${EPYTHON}" -c "import _cffi_backend as backend" || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest src/c testing
+}
diff --git a/dev-python/cffi/cffi-1.17.0_rc1.ebuild b/dev-python/cffi/cffi-1.17.0_rc1.ebuild
new file mode 100644
index 000000000000..3f6a11f2cec8
--- /dev/null
+++ b/dev-python/cffi/cffi-1.17.0_rc1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+# DO NOT ADD pypy to PYTHON_COMPAT
+# pypy bundles a modified version of cffi. Use python_gen_cond_dep instead.
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 toolchain-funcs pypi
+
+DESCRIPTION="Foreign Function Interface for Python calling C code"
+HOMEPAGE="
+ https://cffi.readthedocs.io/
+ https://pypi.org/project/cffi/
+"
+
+LICENSE="MIT"
+SLOT="0/${PV}"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# Needs recent libffi for HPPA fixes
+DEPEND="
+ >=dev-libs/libffi-3.4.4-r1:=
+"
+# setuptools as a modern distutils provider
+RDEPEND="
+ ${DEPEND}
+ dev-python/pycparser[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ virtual/pkgconfig
+ test? (
+ dev-python/py[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx doc/source
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/cffi-1.14.0-darwin-no-brew.patch
+)
+
+src_prepare() {
+ if [[ ${CHOST} == *darwin* ]] ; then
+ # Don't obsessively try to find libffi
+ sed -i -e "s/.*\-iwithsysroot\/usr\/include\/ffi.*/\tpass/" setup.py || die
+ fi
+ distutils-r1_src_prepare
+}
+
+src_configure() {
+ tc-export PKG_CONFIG
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # these tests call pip
+ testing/cffi0/test_zintegration.py
+ )
+
+ "${EPYTHON}" -c "import _cffi_backend as backend" || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest src/c testing
+}
diff --git a/dev-python/cfgv/cfgv-3.4.0.ebuild b/dev-python/cfgv/cfgv-3.4.0.ebuild
index e9f8f86712c3..4ebae028f827 100644
--- a/dev-python/cfgv/cfgv-3.4.0.ebuild
+++ b/dev-python/cfgv/cfgv-3.4.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/cfgv/metadata.xml b/dev-python/cfgv/metadata.xml
index 748b707c3775..b1a4981137a0 100644
--- a/dev-python/cfgv/metadata.xml
+++ b/dev-python/cfgv/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/cfn-lint/Manifest b/dev-python/cfn-lint/Manifest
index 8755b5e9495d..7ff6e01d099a 100644
--- a/dev-python/cfn-lint/Manifest
+++ b/dev-python/cfn-lint/Manifest
@@ -1 +1,8 @@
-DIST cfn-lint-0.83.3.tar.gz 3683221 BLAKE2B 57e3d093eaabb4907cacd9908cadc1268600423e481316dab17da52f50472634e2114ab4069a9f68db440be1a76c4c96db9c53dd6991524bf2cd3699f8e5299b SHA512 6c47fcab3b077ea7ffc7f7fab695f69d2e4a00eb85c2db7889235b0b41b462a92293e538640df190871148ab6f779570385787bed161db0f65efa289b4b4803c
+DIST cfn_lint-1.4.2.tar.gz 2485843 BLAKE2B c2e64721b537ab38cad3c3f6d40c509741fb03f61202d7dace4023f4b5b3a7840b7deb88892d9d282d223756a1e3908680ed166cdf216b0c76abdc29d0749967 SHA512 c9761e253ba77198264eabdd9c4e6a290bb9010533628958853c8d5a0f5f7317338f271588b5cef2ac1667f6ed5e1a6e43a3192aa9ff7202b0ca6db061284818
+DIST cfn_lint-1.5.3.tar.gz 2354279 BLAKE2B b8c836db35453efbb27fd050a4cb3090ca99fb050256c4e0b8cd5b634320d677f2ed325894a700127891b614ab70cd436e7af06759f9dbcf58ad45f4b50ee779 SHA512 38ce749f21e6118f129d98d21ecc01bc4f828efce8af9f597f624eff9a062dbceb8c670cfbaa0cf581c14d187094ffe90ada4293679c1e0f77cb3baff3308b26
+DIST cfn_lint-1.6.1.tar.gz 2366313 BLAKE2B af7b3e8d5145f3368d4c7b2e86b0ffe441c1f6633de34024e8c10d8cd04625673a25e847c15f30a6778bee8196096ffca58241e3a6f21a750094a3b2845f5493 SHA512 f354fa40677f8b601dabfb12b8715f4eb49f8e8aec72d3b9eeb4a63fabe278c36629f404b193f557b193280d6ecd224f0f0a494f9dfc61a04ebb24d0fe953d67
+DIST cfn_lint-1.7.1.tar.gz 2412588 BLAKE2B 259b548e7fc7704c12ca0191d27dd82ce2a75e33c7462520becf218261ac693308f600719850a357d9948f5d2700846b6bc35781491cc4c0598cc494d1090e3f SHA512 ce4933a1c3cdf25b3911b0e057d60a6ff0753937dbb6a5cdf6a1e0afae3fc1532302ac2572191781337cb6a5f0ae1743409714317f79fb9da55295875bd56b27
+DIST cfn_lint-1.7.2.tar.gz 2412586 BLAKE2B 5ec2034dce3c347411408723ebd1e00143c8b2428364cd33591c260fddb1911d595398121dba356d5179737400ac56fa4077ce8458d0b061c886284e152052b8 SHA512 7c9f785ecb08e937f21be47dea736719b1c7afac2b2989e65f84745e220657a0e3ac3427fa53ece4c5fe51b7880fb9da04c9eac7bd509f43978255ec5706f434
+DIST cfn_lint-1.8.0.tar.gz 2376789 BLAKE2B 927a7e789167d5adf04f6a76b309b62b4a2b128db6b1db6a46a771289bc8e6826d021c44209b7dcd711feded2836d10db7727c61daa9f8ef2254a7080c3f30d7 SHA512 e55b24a6e60b4d96317f541787f7828205d04c51816dc5684c37a129b6ff0240e8a0616f15d7fd6917ea18f90d5892c0221fad53fa916cea7a3cd689c1a3c7c2
+DIST cfn_lint-1.8.1.tar.gz 2376797 BLAKE2B ac79f507edc99a9e5fb1d9e3e5bae43951625ef4b529d4c87cf9f748b13b2018607411dc0502fb6063b70282acd88bd350ebf9c9e5c918af079390a1c4bb7ced SHA512 dee0f4228753fc40fd430e58bf1a649023c8136ea11bec1e974800af68f4cce48b34f6b1ce06efa5d722e73ac096a24ba985ecff3e9149b8e66b9202e2c6b1d7
+DIST cfn_lint-1.8.2.tar.gz 2377269 BLAKE2B 8f4266c6d90f50f614f203a4b34ffc15397c973e8af07510c64e21bd80f1c4dd0f5bf6283268cbc69fbe505d6c945cc058ec0f06b05e868b3149941ab28b3948 SHA512 2605c5880960e3bce2822f2d9b9bd221d4ab7d77a4d9a1bcbdbf6df8f50492877daf704f84157946519a9da96f9d3de5ed5e65629d259726a10e1fb38c963950
diff --git a/dev-python/cfn-lint/cfn-lint-0.83.3.ebuild b/dev-python/cfn-lint/cfn-lint-0.83.3.ebuild
deleted file mode 100644
index b88409b2b436..000000000000
--- a/dev-python/cfn-lint/cfn-lint-0.83.3.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="CloudFormation Linter"
-HOMEPAGE="
- https://github.com/aws-cloudformation/cfn-lint/
- https://pypi.org/project/cfn-lint/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/aws-sam-translator-1.79.0[${PYTHON_USEDEP}]
- dev-python/jsonpatch[${PYTHON_USEDEP}]
- >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
- <dev-python/jsonschema-5[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
- dev-python/junit-xml[${PYTHON_USEDEP}]
- <dev-python/networkx-4[${PYTHON_USEDEP}]
- >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
- >=dev-python/requests-2.15.0[${PYTHON_USEDEP}]
- >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
- >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
- >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin the deps
- sed -e 's:~=[0-9.]*::' -i setup.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- test/unit/module/test_template.py::TestTemplate::test_build_graph
- # requires git repo
- test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
- # Internet
- test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
- test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
- # TODO: it looks as if AWS_DEFAULT_REGION didn't work
- test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
- test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
- test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
- test/unit/module/core/test_run_cli.py::TestCli::test_template_config
- )
-
- # from tox.ini
- local -x AWS_DEFAULT_REGION=us-east-1
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/cfn-lint/cfn-lint-1.4.2.ebuild b/dev-python/cfn-lint/cfn-lint-1.4.2.ebuild
new file mode 100644
index 000000000000..09dde444afac
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.4.2.ebuild
@@ -0,0 +1,70 @@
+# 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="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.89.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+ # TODO: it looks as if AWS_DEFAULT_REGION didn't work
+ test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
+ test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_template_config
+ # different graphviz version?
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/cfn-lint/cfn-lint-1.5.3.ebuild b/dev-python/cfn-lint/cfn-lint-1.5.3.ebuild
new file mode 100644
index 000000000000..4ec420c8b216
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.5.3.ebuild
@@ -0,0 +1,70 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.89.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+ # TODO: it looks as if AWS_DEFAULT_REGION didn't work
+ test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
+ test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_template_config
+ # different graphviz version?
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/cfn-lint/cfn-lint-1.6.1.ebuild b/dev-python/cfn-lint/cfn-lint-1.6.1.ebuild
new file mode 100644
index 000000000000..4ec420c8b216
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.6.1.ebuild
@@ -0,0 +1,70 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.89.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+ # TODO: it looks as if AWS_DEFAULT_REGION didn't work
+ test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
+ test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_template_config
+ # different graphviz version?
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/cfn-lint/cfn-lint-1.7.1.ebuild b/dev-python/cfn-lint/cfn-lint-1.7.1.ebuild
new file mode 100644
index 000000000000..4ec420c8b216
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.7.1.ebuild
@@ -0,0 +1,70 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.89.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+ # TODO: it looks as if AWS_DEFAULT_REGION didn't work
+ test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
+ test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_template_config
+ # different graphviz version?
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/cfn-lint/cfn-lint-1.7.2.ebuild b/dev-python/cfn-lint/cfn-lint-1.7.2.ebuild
new file mode 100644
index 000000000000..4ec420c8b216
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.7.2.ebuild
@@ -0,0 +1,70 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.89.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+ # TODO: it looks as if AWS_DEFAULT_REGION didn't work
+ test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
+ test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_template_config
+ # different graphviz version?
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/cfn-lint/cfn-lint-1.8.0.ebuild b/dev-python/cfn-lint/cfn-lint-1.8.0.ebuild
new file mode 100644
index 000000000000..4ec420c8b216
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.8.0.ebuild
@@ -0,0 +1,70 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.89.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+ # TODO: it looks as if AWS_DEFAULT_REGION didn't work
+ test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
+ test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_template_config
+ # different graphviz version?
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/cfn-lint/cfn-lint-1.8.1.ebuild b/dev-python/cfn-lint/cfn-lint-1.8.1.ebuild
new file mode 100644
index 000000000000..4ec420c8b216
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.8.1.ebuild
@@ -0,0 +1,70 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.89.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+ # TODO: it looks as if AWS_DEFAULT_REGION didn't work
+ test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
+ test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_template_config
+ # different graphviz version?
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/cfn-lint/cfn-lint-1.8.2.ebuild b/dev-python/cfn-lint/cfn-lint-1.8.2.ebuild
new file mode 100644
index 000000000000..4ec420c8b216
--- /dev/null
+++ b/dev-python/cfn-lint/cfn-lint-1.8.2.ebuild
@@ -0,0 +1,70 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CloudFormation Linter"
+HOMEPAGE="
+ https://github.com/aws-cloudformation/cfn-lint/
+ https://pypi.org/project/cfn-lint/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-sam-translator-1.89.0[${PYTHON_USEDEP}]
+ dev-python/jsonpatch[${PYTHON_USEDEP}]
+ >=dev-python/jschema-to-python-1.2.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+ dev-python/junit-xml[${PYTHON_USEDEP}]
+ <dev-python/networkx-4[${PYTHON_USEDEP}]
+ >dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ >=dev-python/regex-2021.7.1[${PYTHON_USEDEP}]
+ >=dev-python/sarif-om-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin the deps
+ sed -e 's:~=[0-9.]*::' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/unit/module/test_template.py::TestTemplate::test_build_graph
+ # requires git repo
+ test/unit/module/maintenance/test_update_documentation.py::TestUpdateDocumentation::test_update_docs
+ # Internet
+ test/unit/module/formatters/test_formatters.py::TestFormatters::test_sarif_formatter
+ test/unit/module/maintenance/test_update_resource_specs.py::TestUpdateResourceSpecs::test_update_resource_specs_python_3
+ # TODO: it looks as if AWS_DEFAULT_REGION didn't work
+ test/unit/module/core/test_run_cli.py::TestCli::test_bad_config
+ test/unit/module/core/test_run_cli.py::TestCli::test_override_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_positional_template_parameters
+ test/unit/module/core/test_run_cli.py::TestCli::test_template_config
+ # different graphviz version?
+ test/unit/module/template/test_template.py::TestTemplate::test_build_graph
+ )
+
+ # from tox.ini
+ local -x AWS_DEFAULT_REGION=us-east-1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/cftime/Manifest b/dev-python/cftime/Manifest
index 764af2b9ea1e..c350d91bcc6f 100644
--- a/dev-python/cftime/Manifest
+++ b/dev-python/cftime/Manifest
@@ -1,2 +1 @@
-DIST cftime-1.6.2.tar.gz 52745 BLAKE2B f3e91585b40a981e1c752ec3f086a4611354e228592a1b581b05f003d68878245a8ab4fae332d9054c2a9e85ef921b9110a0f8473861bd3e4cc92c287259ad44 SHA512 d5135a55e5c9982247835e379bd35e4d8b47f0f70d08766f73223e0c40dc1875840c5cb40515e233196af1c10e992911325ff33a3c41efc3b8009e49de2a6e31
-DIST cftime-1.6.3.tar.gz 53256 BLAKE2B 8875c368e6811487960fb240ed5320ab1dcc24f3678e9663e67b7c49ab8cc1f12a0030670760fcd1a15938b57f3860d5c9c9b30a3e5a0e1755fcd0c7b8deaf5f SHA512 0bcb8dcf7a840e500d7cc0f784f960b4972803f353fcffbf36dc30b2169b6864aea1fd8cab2d60e7908a063db55f2cfa3639c51fea84692b2dfe2d83b954c0ae
+DIST cftime-1.6.4.tar.gz 54615 BLAKE2B a986c3bc5eb1d45a31fcad849f621c9299f72c305fe29d75b50ff8c8be97e71032f306d1d33d29d4b58e8a31adfb23c552ed990026ea30ee4f34f3e2b4698dec SHA512 8b27859680a9fb1d3acc3bd95faab040b4571de40a07b327ea161a0dfad022a6c27008f74a4070c314c05e7237fd8574075e0c92d863dbcc81cd7f7d34e01399
diff --git a/dev-python/cftime/cftime-1.6.2-r1.ebuild b/dev-python/cftime/cftime-1.6.2-r1.ebuild
deleted file mode 100644
index c7709831ca42..000000000000
--- a/dev-python/cftime/cftime-1.6.2-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Time-handling functionality from netcdf4-python"
-HOMEPAGE="
- https://github.com/Unidata/cftime/
- https://pypi.org/project/cftime/
-"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
-
-DEPEND="
- >=dev-python/numpy-1.13.4[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- >=dev-python/cython-0.29.20[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- local PATCHES=(
- "${FILESDIR}/${P}-cython-3.patch"
- )
-
- # remove pytest-cov dep
- sed -e "/--cov/d" -i setup.cfg || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/cftime/cftime-1.6.3.ebuild b/dev-python/cftime/cftime-1.6.3.ebuild
deleted file mode 100644
index f2632ffc3ecb..000000000000
--- a/dev-python/cftime/cftime-1.6.3.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Time-handling functionality from netcdf4-python"
-HOMEPAGE="
- https://github.com/Unidata/cftime/
- https://pypi.org/project/cftime/
-"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
-
-DEPEND="
- >=dev-python/numpy-1.26.0[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- >=dev-python/cython-0.29.20[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # remove pytest-cov dep
- sed -e "/--cov/d" -i setup.cfg || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/cftime/cftime-1.6.4.ebuild b/dev-python/cftime/cftime-1.6.4.ebuild
new file mode 100644
index 000000000000..151849af677f
--- /dev/null
+++ b/dev-python/cftime/cftime-1.6.4.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2020-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Time-handling functionality from netcdf4-python"
+HOMEPAGE="
+ https://github.com/Unidata/cftime/
+ https://pypi.org/project/cftime/
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~loong ~riscv ~s390 x86"
+
+DEPEND="
+ >=dev-python/numpy-1.26.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ >=dev-python/cython-0.29.20[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # remove pytest-cov dep
+ sed -e "/--cov/d" -i setup.cfg || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/cftime/files/cftime-1.6.2-cython-3.patch b/dev-python/cftime/files/cftime-1.6.2-cython-3.patch
deleted file mode 100644
index c52ebdb3c84f..000000000000
--- a/dev-python/cftime/files/cftime-1.6.2-cython-3.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 31f782aed3de56300886dd7350f1faff657e14dd Mon Sep 17 00:00:00 2001
-From: Spencer Clark <spencerkclark@gmail.com>
-Date: Sat, 29 Jul 2023 09:51:10 -0400
-Subject: [PATCH] Set c_api_binop_methods compiler directive to True
-
-This retains Cython 0.x behavior for arithmetic operators for
-Cython >= 3.0.0.
----
- Changelog | 2 ++
- pyproject.toml | 2 +-
- requirements-dev.txt | 2 +-
- setup.py | 9 ++++++++-
- 4 files changed, 12 insertions(+), 3 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index 006f1a92..360396fa 100644
---- a/setup.py
-+++ b/setup.py
-@@ -16,7 +16,14 @@
- BASEDIR = os.path.abspath(os.path.dirname(__file__))
- SRCDIR = os.path.join(BASEDIR,'src')
- CMDS_NOCYTHONIZE = ['clean','clean_cython','sdist']
--COMPILER_DIRECTIVES = {}
-+COMPILER_DIRECTIVES = {
-+ # Cython 3.0.0 changes the default of the c_api_binop_methods directive to
-+ # False, resulting in errors in datetime and timedelta arithmetic:
-+ # https://github.com/Unidata/cftime/issues/271. We explicitly set it to
-+ # True to retain Cython 0.x behavior for future Cython versions. This
-+ # directive was added in Cython version 0.29.20.
-+ "c_api_binop_methods": True
-+}
- DEFINE_MACROS = [("NPY_NO_DEPRECATED_API", "NPY_1_7_API_VERSION")]
- FLAG_COVERAGE = '--cython-coverage' # custom flag enabling Cython line tracing
- NAME = 'cftime'
diff --git a/dev-python/cgroup-utils/Manifest b/dev-python/cgroup-utils/Manifest
deleted file mode 100644
index 78ef92e6e695..000000000000
--- a/dev-python/cgroup-utils/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST cgroup-utils-0.8.gh.tar.gz 35260 BLAKE2B 11187a917d5159699eb46fb67f5057eb16317f86c32e6471d8543955e1d40107663517395226ae75e3b0739fb59c7521590a3d04a5d818b151970cbea559dee7 SHA512 fcc31fb6d2bdfa761c248553d056ea1bdcf697ae9ab8ccdc895feefdec7bc4e560bf2352968866b3064548545d98527d2a4092d4c8d2f335ef76e3c4b721bcf0
diff --git a/dev-python/cgroup-utils/cgroup-utils-0.8-r1.ebuild b/dev-python/cgroup-utils/cgroup-utils-0.8-r1.ebuild
deleted file mode 100644
index 00f4501af135..000000000000
--- a/dev-python/cgroup-utils/cgroup-utils-0.8-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Tools and libraries for control groups of Linux"
-HOMEPAGE="https://github.com/peo3/cgroup-utils"
-SRC_URI="https://github.com/peo3/cgroup-utils/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.8-tests-builddir.patch
-
- # Upstream: https://github.com/peo3/cgroup-utils/pull/12
- "${FILESDIR}"/${PN}-0.8-tests-mountpoint.patch
-)
-
-python_test() {
- sh ./test_all.sh || die
-}
diff --git a/dev-python/cgroup-utils/files/cgroup-utils-0.8-tests-builddir.patch b/dev-python/cgroup-utils/files/cgroup-utils-0.8-tests-builddir.patch
deleted file mode 100644
index 2ec6c4f4fbb0..000000000000
--- a/dev-python/cgroup-utils/files/cgroup-utils-0.8-tests-builddir.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From cf44c226f26a3d753402d36c66fcb8f81b4748f5 Mon Sep 17 00:00:00 2001
-From: Sebastian Pipping <sebastian@pipping.org>
-Date: Fri, 27 Mar 2020 15:35:46 +0100
-Subject: [PATCH] Make tests find the build
-
----
- test_all.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test_all.sh b/test_all.sh
-index d158f76..4fbbf2e 100644
---- a/test_all.sh
-+++ b/test_all.sh
-@@ -85,7 +85,7 @@ test_support()
- fi
- }
-
--buildpath=$(find ./build/lib.linux* -maxdepth 0 -type d)
-+buildpath="${BUILD_DIR}"/lib # passed by distutils-r1 eclass
- export PYTHONPATH=$buildpath:.
-
- echo "## Testing each commands for each subsystems"
---
-2.24.1
-
diff --git a/dev-python/cgroup-utils/files/cgroup-utils-0.8-tests-mountpoint.patch b/dev-python/cgroup-utils/files/cgroup-utils-0.8-tests-mountpoint.patch
deleted file mode 100644
index bff7b04868d3..000000000000
--- a/dev-python/cgroup-utils/files/cgroup-utils-0.8-tests-mountpoint.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 0697af646a8235f80856c472e623117719c7186e Mon Sep 17 00:00:00 2001
-From: Sebastian Pipping <sebastian@pipping.org>
-Date: Fri, 27 Mar 2020 15:48:25 +0100
-Subject: [PATCH] test_all.sh: Fix detection of memory cgroup mountpoint
-
----
- test_all.sh | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test_all.sh b/test_all.sh
-index d158f76..4d10e19 100644
---- a/test_all.sh
-+++ b/test_all.sh
-@@ -97,7 +97,7 @@ done
-
- test_run bin/cgutil top -b -n 1
-
--root=$(awk '/^cgroup.*memory/ {print $2;}' /proc/mounts)
-+root=$(awk '/^(cgroup.*)?memory/ {print $2;}' /proc/mounts)
- path=$root/memory.usage_in_bytes
- test_run_event bin/cgutil event -t 0.1 $path +1M
- path=$root/memory.oom_control
---
-2.24.1
-
diff --git a/dev-python/cgroup-utils/metadata.xml b/dev-python/cgroup-utils/metadata.xml
deleted file mode 100644
index 7514082d5c59..000000000000
--- a/dev-python/cgroup-utils/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="github">peo3/cgroup-utils</remote-id>
- <remote-id type="pypi">cgroup-utils</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/chainstream/Manifest b/dev-python/chainstream/Manifest
new file mode 100644
index 000000000000..e6d953adc625
--- /dev/null
+++ b/dev-python/chainstream/Manifest
@@ -0,0 +1 @@
+DIST chainstream-1.0.1.tar.gz 3160 BLAKE2B 1aa8f9323cbb0f71c4bb7ab1aa709f369cc836b12b946de3d5e4a9beb4acb4d6a7d63642285fc3572eb6d85243bb08d9d387c02e768342cb1a90f91bf7b404bc SHA512 5badc4ef451ea208acf5acfe80a24541e2bbb8edfe43cca0cdac7d229d6a68c2df07d2c83d71d8d4251bc0d4b443952d0cdad638f603a85f4f4657717d0bcbac
diff --git a/dev-python/chainstream/chainstream-1.0.1.ebuild b/dev-python/chainstream/chainstream-1.0.1.ebuild
new file mode 100644
index 000000000000..416682317c5b
--- /dev/null
+++ b/dev-python/chainstream/chainstream-1.0.1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..11} )
+inherit distutils-r1
+
+DESCRIPTION="Chain I/O-Streams together into a single stream"
+HOMEPAGE="https://github.com/rrthomas/chainstream"
+SRC_URI="https://github.com/rrthomas/chainstream/archive/refs/tags/v${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="CC-BY-SA-4.0"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~sparc ~x86"
+
+src_configure() {
+ # upstream doesn't provide build system in pyproject.toml
+ cat >> pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["setuptools", "wheel"]
+ build-backend = "setuptools.build_meta"
+ EOF
+}
diff --git a/dev-python/chainstream/metadata.xml b/dev-python/chainstream/metadata.xml
new file mode 100644
index 000000000000..67609af55f0e
--- /dev/null
+++ b/dev-python/chainstream/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>shell-tools@gentoo.org</email>
+ <name>Gentoo Shell Tools Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">rrthomas/chainstream</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/chameleon/Manifest b/dev-python/chameleon/Manifest
index fff9fbb2f0b3..4ee915bcc858 100644
--- a/dev-python/chameleon/Manifest
+++ b/dev-python/chameleon/Manifest
@@ -1 +1 @@
-DIST Chameleon-4.2.0.tar.gz 176515 BLAKE2B 6be07b88e962ca155d390e9f4d5070ca4116993568840c50fd94b0569721983084065bdc2dbebf4d573ff511f41456fc54d40442a505ea891be6eee947b9b690 SHA512 bedbf6bad35370ccb449151098d04e6f8fee917128bcd18a6694ae7df57c15e005c34696c50da43ede2b42d593a2772c55691978982d8a2d83380df29ff7406b
+DIST Chameleon-4.5.4.tar.gz 180464 BLAKE2B cb77a1a928e67b029038f7e2704f077cc45e2baf79dfb30bdf460d0f940cb8fb30f5e42ef5b977a6c33e070b229ede1b53268d30a5d2f165607db8f03179f061 SHA512 476ecc902e252eca6de0552f4526666eaccd305f973d2cf6035c209174152c27d7dce8f4e8a21b9507a3609c38215446bfaa7203865c6151d02922893422e160
diff --git a/dev-python/chameleon/chameleon-4.2.0.ebuild b/dev-python/chameleon/chameleon-4.2.0.ebuild
deleted file mode 100644
index f0d3ee3e731e..000000000000
--- a/dev-python/chameleon/chameleon-4.2.0.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Fast HTML/XML template compiler for Python"
-HOMEPAGE="
- https://github.com/malthe/chameleon/
- https://pypi.org/project/Chameleon/
-"
-
-LICENSE="repoze"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-distutils_enable_tests unittest
-
-src_test() {
- cd src || die
- distutils-r1_src_test
-}
diff --git a/dev-python/chameleon/chameleon-4.5.4.ebuild b/dev-python/chameleon/chameleon-4.5.4.ebuild
new file mode 100644
index 000000000000..af3516b5367f
--- /dev/null
+++ b/dev-python/chameleon/chameleon-4.5.4.ebuild
@@ -0,0 +1,23 @@
+# 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
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fast HTML/XML template compiler for Python"
+HOMEPAGE="
+ https://github.com/malthe/chameleon/
+ https://pypi.org/project/Chameleon/
+"
+
+LICENSE="repoze"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/characteristic/characteristic-14.3.0-r4.ebuild b/dev-python/characteristic/characteristic-14.3.0-r4.ebuild
index 8dd92edf61d6..f93238d7ee70 100644
--- a/dev-python/characteristic/characteristic-14.3.0-r4.ebuild
+++ b/dev-python/characteristic/characteristic-14.3.0-r4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/chardet/chardet-5.2.0.ebuild b/dev-python/chardet/chardet-5.2.0.ebuild
index d10fec43fffb..32f4b0a8a7f5 100644
--- a/dev-python/chardet/chardet-5.2.0.ebuild
+++ b/dev-python/chardet/chardet-5.2.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/charset-normalizer/charset-normalizer-3.3.2.ebuild b/dev-python/charset-normalizer/charset-normalizer-3.3.2.ebuild
index d768b5c4343d..35b48d025508 100644
--- a/dev-python/charset-normalizer/charset-normalizer-3.3.2.ebuild
+++ b/dev-python/charset-normalizer/charset-normalizer-3.3.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/chart-studio/chart-studio-1.1.0-r2.ebuild b/dev-python/chart-studio/chart-studio-1.1.0-r2.ebuild
index 1e8acc2da743..860784c70a14 100644
--- a/dev-python/chart-studio/chart-studio-1.1.0-r2.ebuild
+++ b/dev-python/chart-studio/chart-studio-1.1.0-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
@@ -20,7 +20,7 @@ RESTRICT="test"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64"
RDEPEND="
dev-python/plotly[${PYTHON_USEDEP}]
diff --git a/dev-python/check-manifest/Manifest b/dev-python/check-manifest/Manifest
deleted file mode 100644
index 1287ccb6844d..000000000000
--- a/dev-python/check-manifest/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST check-manifest-0.49.gh.tar.gz 35211 BLAKE2B 7a78ee5e1d596801873b683927e60527ffcb81a150fe3b8af588e4f2582136566c23bd6484ab241966063b58d61ef6989308b1ab84194165da6033f538b922c6 SHA512 43d86b656dfd1094991e91d30223a43d9e4f9bdc29de542642d8ea60e3301c25b5dd60183ef822900935323b8de095871014a34b11c271ae9e170113925c2d84
diff --git a/dev-python/check-manifest/check-manifest-0.49.ebuild b/dev-python/check-manifest/check-manifest-0.49.ebuild
deleted file mode 100644
index 8fd741db0c7d..000000000000
--- a/dev-python/check-manifest/check-manifest-0.49.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-DESCRIPTION="Tool to check the completeness of MANIFEST.in for Python packages"
-HOMEPAGE="
- https://github.com/mgedmin/check-manifest/
- https://pypi.org/project/check-manifest/
-"
-SRC_URI="
- https://github.com/mgedmin/check-manifest/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/build[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # Need internet
- tests.py::Tests::test_build_sdist_pep517_isolated
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/check-manifest/metadata.xml b/dev-python/check-manifest/metadata.xml
deleted file mode 100644
index 2a0a893e69e1..000000000000
--- a/dev-python/check-manifest/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- </maintainer>
- <upstream>
- <remote-id type="github">mgedmin/check-manifest</remote-id>
- <remote-id type="pypi">check-manifest</remote-id>
- </upstream>
- <longdescription lang="en">
- Are you a Python developer? Have you uploaded packages to the Python Package Index? Have you accidentally uploaded broken packages with some files missing? If so, check-manifest is for you.
- </longdescription>
- <stabilize-allarches/>
-</pkgmetadata>
diff --git a/dev-python/cheetah3/Manifest b/dev-python/cheetah3/Manifest
index f92c41d0b7ab..a95572b816d3 100644
--- a/dev-python/cheetah3/Manifest
+++ b/dev-python/cheetah3/Manifest
@@ -1 +1 @@
-DIST cheetah3-3.3.1.gh.tar.gz 315007 BLAKE2B 627cb435db1cf274861a29b993f49457c1ba4147b6e1514b5d5961a2fd565c39ff9cae3bcd9665379c5206dc2cef98a6bf159781e664d75d87fa8c4244ec4e43 SHA512 057d3772390076157a0e09e6b5e60ad0ec3b1669aa62741bcfd314f846bba091884d361382d6399e73bce06aaf49366ee3cbeb040c6f5b3e00423eefd440c300
+DIST cheetah3-3.3.3.gh.tar.gz 315249 BLAKE2B f5dc748c49adbddffb0339069f800583739bffce8085c3abb80080d14d051a334e6b7d1b8ced218218334cae6cc000877570f3ab7c1ef0d760de36bf956f9c2e SHA512 638ee6ca0d37b86cfa93f8fc0da4c259da639c3b107c8810201e4bed30ca4674b5e546abc1d8f716d1bba7d1c72d51f559894a90580fa02f1409f7a73a246001
diff --git a/dev-python/cheetah3/cheetah3-3.3.1.ebuild b/dev-python/cheetah3/cheetah3-3.3.1.ebuild
deleted file mode 100644
index 2fb8748e3d85..000000000000
--- a/dev-python/cheetah3/cheetah3-3.3.1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=${P/_p/.post}
-DESCRIPTION="Python-powered template engine and code generator"
-HOMEPAGE="
- https://cheetahtemplate.org/
- https://github.com/CheetahTemplate3/Cheetah3/
- https://pypi.org/project/Cheetah3/
-"
-SRC_URI="
- https://github.com/CheetahTemplate3/Cheetah3/archive/${PV/_p/.post}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc64 ~riscv x86"
-SLOT="0"
-
-RDEPEND="
- dev-python/markdown[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
-"
-
-DOCS=( ANNOUNCE.rst README.rst TODO )
-
-python_test() {
- # the package can't handle TMPDIR with hyphens
- # https://github.com/CheetahTemplate3/cheetah3/issues/53
- local -x TMPDIR=/tmp
-
- "${EPYTHON}" Cheetah/Tests/Test.py || die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/cheetah3/cheetah3-3.3.3.ebuild b/dev-python/cheetah3/cheetah3-3.3.3.ebuild
new file mode 100644
index 000000000000..204d8de6418b
--- /dev/null
+++ b/dev-python/cheetah3/cheetah3-3.3.3.ebuild
@@ -0,0 +1,49 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=${P/_p/.post}
+DESCRIPTION="Python-powered template engine and code generator"
+HOMEPAGE="
+ https://cheetahtemplate.org/
+ https://github.com/CheetahTemplate3/Cheetah3/
+ https://pypi.org/project/Cheetah3/
+"
+SRC_URI="
+ https://github.com/CheetahTemplate3/Cheetah3/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/markdown[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+DOCS=( ANNOUNCE.rst README.rst TODO )
+
+PATCHES=(
+ # https://github.com/CheetahTemplate3/cheetah3/commit/ee2739b73bafbcb9a8cc5511d5e03e6b0d9bced1
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+python_test() {
+ # the package can't handle TMPDIR with hyphens
+ # https://github.com/CheetahTemplate3/cheetah3/issues/53
+ local -x TMPDIR=/tmp
+
+ "${EPYTHON}" Cheetah/Tests/Test.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/cheetah3/files/cheetah3-3.3.3-py313.patch b/dev-python/cheetah3/files/cheetah3-3.3.3-py313.patch
new file mode 100644
index 000000000000..591cab07286a
--- /dev/null
+++ b/dev-python/cheetah3/files/cheetah3-3.3.3-py313.patch
@@ -0,0 +1,63 @@
+From ee2739b73bafbcb9a8cc5511d5e03e6b0d9bced1 Mon Sep 17 00:00:00 2001
+From: Oleg Broytman <phd@phdru.name>
+Date: Sat, 22 Jun 2024 05:47:51 +0300
+Subject: [PATCH] Fix(NameMapper): Fix mapping test
+
+Python 3.13 brought a new mapping type `FrameLocalsProxy`.
+
+Fixes: #60.
+
+[skip ci]
+---
+ Cheetah/NameMapper.py | 8 +++++++-
+ docs/news.rst | 3 +++
+ 2 files changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/Cheetah/NameMapper.py b/Cheetah/NameMapper.py
+index 7c09e37d..32c1f366 100755
+--- a/Cheetah/NameMapper.py
++++ b/Cheetah/NameMapper.py
+@@ -140,8 +140,8 @@
+ been compiled or falls back to the Python version if not.
+ """
+
+-import inspect
+ from pprint import pformat
++import inspect
+ import sys
+
+ from .compat import PY2
+@@ -149,6 +149,8 @@
+ from collections import Mapping
+ else:
+ from collections.abc import Mapping
++ if sys.version_info[:2] >= (3, 13):
++ from collections.abc import MutableMapping
+
+ _INCLUDE_NAMESPACE_REPR_IN_NOTFOUND_EXCEPTIONS = False
+ _ALLOW_WRAPPING_OF_NOTFOUND_EXCEPTIONS = True
+@@ -319,6 +321,10 @@ def __valueForName():
+ try:
+ if not frame:
+ frame = inspect.stack()[1][0]
++ if sys.version_info[:2] >= (3, 13):
++ FrameLocalsProxy = frame.f_locals
++ if not isinstance(FrameLocalsProxy, Mapping):
++ MutableMapping.register(type(FrameLocalsProxy))
+ key = name.split('.')[0]
+ for namespace in _namespaces(frame, searchList):
+ if hasKey(namespace, key):
+diff --git a/docs/news.rst b/docs/news.rst
+index 8adf5806..78f6e5ff 100644
+--- a/docs/news.rst
++++ b/docs/news.rst
+@@ -15,6 +15,9 @@ Bug fixes:
+ - Fixed ``_namemapper.c``: Silent an error
+ from ``PyMapping_HasKeyString`` under Python 3.13+.
+
++ - Fixed mapping test in ``NameMapper.py``:
++ Python 3.13 brough a new mapping type ``FrameLocalsProxy``.
++
+ Tests:
+
+ - tox: Run tests under Python 3.13.
diff --git a/dev-python/cheroot/Manifest b/dev-python/cheroot/Manifest
index ccec99c932d8..fe5c14a2e8b1 100644
--- a/dev-python/cheroot/Manifest
+++ b/dev-python/cheroot/Manifest
@@ -1 +1 @@
-DIST cheroot-10.0.0.tar.gz 148461 BLAKE2B d6a07878b03529be0d7ebefc91096f89b437374f9ede1db357a286bc199403798d35e9695dc1251d5045b6febc37940986693d9b36c89968ac3147ec68a481ea SHA512 02e32e52a596463cbb9874a800dbcdc5680dd7d9dfa95ca6e73c81f9248a488087c514ae70cdba94fe9df1f5d3ab1c68efcb720561cbeb7b667109fe5962f85b
+DIST cheroot-10.0.1.tar.gz 167586 BLAKE2B d8c882c3d16d29a2f97f35542321fd0aba4d0f9b310bc1359f9b832362e2d75424077d02d9a810a33a1bd10cf2ba9922a8baf8519dbd04c5e6f9b48edd3c3db1 SHA512 c878647a7bcf564509ee07481b3e371a2e09019d78240e79293bc4e0bfa872e8e2f947925c54eda56cc1790a3ff4d656c70066278c74073b44fc070627f5c71d
diff --git a/dev-python/cheroot/cheroot-10.0.0.ebuild b/dev-python/cheroot/cheroot-10.0.0.ebuild
deleted file mode 100644
index 9431c10fa7df..000000000000
--- a/dev-python/cheroot/cheroot-10.0.0.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="High-performance, pure-Python HTTP server used by CherryPy"
-HOMEPAGE="
- https://cherrypy.dev/
- https://pypi.org/project/cheroot/
- https://github.com/cherrypy/cheroot/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/more-itertools-2.6[${PYTHON_USEDEP}]
- dev-python/jaraco-functools[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/jaraco-context[${PYTHON_USEDEP}]
- dev-python/jaraco-text[${PYTHON_USEDEP}]
- dev-python/portend[${PYTHON_USEDEP}]
- dev-python/pytest-forked[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-1.11.0[${PYTHON_USEDEP}]
- dev-python/requests-toolbelt[${PYTHON_USEDEP}]
- dev-python/requests-unixsocket[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/trustme[${PYTHON_USEDEP}]
- )
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -e '/--cov/d' \
- -e '/--testmon/d' \
- -e '/--numproc/d' \
- -i pytest.ini || die
-
- # broken
- sed -i -e '/False.*localhost/d' cheroot/test/test_ssl.py || die
- # pypytools is py2 stuff
- sed -i -e '/pypytools/d' cheroot/test/test_server.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # requires pypytools, see above
- cheroot/test/test_server.py::test_high_number_of_file_descriptors
- )
-
- local EPYTEST_IGNORE=()
- if ! has_version "dev-python/pyopenssl[${PYTHON_USEDEP}]" ||
- ! has_version "dev-python/trustme[${PYTHON_USEDEP}]"
- then
- EPYTEST_IGNORE+=(
- cheroot/test/test_ssl.py
- )
- fi
-
- epytest -p no:flaky
-}
diff --git a/dev-python/cheroot/cheroot-10.0.1.ebuild b/dev-python/cheroot/cheroot-10.0.1.ebuild
new file mode 100644
index 000000000000..9957af6bb0d6
--- /dev/null
+++ b/dev-python/cheroot/cheroot-10.0.1.ebuild
@@ -0,0 +1,90 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="High-performance, pure-Python HTTP server used by CherryPy"
+HOMEPAGE="
+ https://cherrypy.dev/
+ https://pypi.org/project/cheroot/
+ https://github.com/cherrypy/cheroot/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~sparc x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/more-itertools-2.6[${PYTHON_USEDEP}]
+ dev-python/jaraco-functools[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-7.0.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/jaraco-context[${PYTHON_USEDEP}]
+ dev-python/jaraco-text[${PYTHON_USEDEP}]
+ dev-python/portend[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-1.11.0[${PYTHON_USEDEP}]
+ dev-python/requests-toolbelt[${PYTHON_USEDEP}]
+ dev-python/requests-unixsocket[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -e '/--cov/d' \
+ -e '/--testmon/d' \
+ -e '/--numproc/d' \
+ -i pytest.ini || die
+
+ # broken
+ sed -i -e '/False.*localhost/d' cheroot/test/test_ssl.py || die
+ # pypytools is py2 stuff
+ sed -i -e '/pypytools/d' cheroot/test/test_server.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires pypytools, see above
+ cheroot/test/test_server.py::test_high_number_of_file_descriptors
+ # known test failures with OpenSSL 3.2.0
+ cheroot/test/test_ssl.py::test_https_over_http_error
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # https://github.com/cherrypy/cheroot/issues/695
+ cheroot/test/test_conn.py::test_remains_alive_post_unhandled_exception
+ )
+ ;;
+ esac
+
+ local EPYTEST_IGNORE=()
+ if ! has_version "dev-python/pyopenssl[${PYTHON_USEDEP}]" ||
+ ! has_version "dev-python/trustme[${PYTHON_USEDEP}]"
+ then
+ EPYTEST_IGNORE+=(
+ cheroot/test/test_ssl.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/cherrypy/Manifest b/dev-python/cherrypy/Manifest
index 888526929922..e31af79ed1a5 100644
--- a/dev-python/cherrypy/Manifest
+++ b/dev-python/cherrypy/Manifest
@@ -1 +1 @@
-DIST CherryPy-18.8.0.tar.gz 622679 BLAKE2B 673f9a103a901161ee801656fa37fa0a4fcd2d9276a5231e48c1663264eb7f922d5d862018995a345a8485252416fa0229da49b8d265288efce2dccd37d79ff8 SHA512 abacc995c1757b8d0171d57eb59b6e5931c46019d8f0f43479e334bb4f58b61a27541d9d0997d665f81905bc3c89e42d40d8e5a6e3a5f9bf251bc9089ceb5249
+DIST cherrypy-18.10.0.tar.gz 633708 BLAKE2B b403ac983da855c7bf44b6909cc984a544d61cfa3191fae81f15b01d6b2d5d5e4bcd8c9f99c550e39540aac75d14523724602ddf121768c43bcbb93235e0941b SHA512 6c77d89e484fc1cf5a8e7523d1ebb04ba49930823905142ab016aabc80924e1173c97342f172585758c28faee1b329e26fe04dd1e36c559b7798495d45fdc36f
diff --git a/dev-python/cherrypy/cherrypy-18.10.0.ebuild b/dev-python/cherrypy/cherrypy-18.10.0.ebuild
new file mode 100644
index 000000000000..a3fc6ce69b0e
--- /dev/null
+++ b/dev-python/cherrypy/cherrypy-18.10.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN="CherryPy"
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CherryPy is a pythonic, object-oriented HTTP framework"
+HOMEPAGE="
+ https://cherrypy.dev/
+ https://github.com/cherrypy/cherrypy/
+ https://pypi.org/project/CherryPy/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~sparc x86"
+IUSE="ssl test"
+
+RDEPEND="
+ >=dev-python/cheroot-8.2.1[${PYTHON_USEDEP}]
+ >=dev-python/portend-2.1.1[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/zc-lockfile[${PYTHON_USEDEP}]
+ dev-python/jaraco-collections[${PYTHON_USEDEP}]
+ ssl? (
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/routes[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/objgraph[${PYTHON_USEDEP}]
+ dev-python/path[${PYTHON_USEDEP}]
+ dev-python/requests-toolbelt[${PYTHON_USEDEP}]
+ dev-python/pytest-services[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -i -e '/cov/d' pytest.ini || die
+ # upstream has been using xfail to mark flaky tests, then added
+ # xfail_strict... not a good idea
+ sed -i -e '/xfail_strict/d' pytest.ini || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
+ # broken by changes in traceback output
+ cherrypy/test/test_request_obj.py::RequestObjectTests::testErrorHandling
+ cherrypy/test/test_tools.py::ToolTests::testHookErrors
+ )
+
+ epytest
+}
diff --git a/dev-python/cherrypy/cherrypy-18.8.0.ebuild b/dev-python/cherrypy/cherrypy-18.8.0.ebuild
deleted file mode 100644
index f1daafcdd228..000000000000
--- a/dev-python/cherrypy/cherrypy-18.8.0.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN="CherryPy"
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="CherryPy is a pythonic, object-oriented HTTP framework"
-HOMEPAGE="
- https://cherrypy.dev/
- https://github.com/cherrypy/cherrypy/
- https://pypi.org/project/CherryPy/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
-IUSE="ssl test"
-
-RDEPEND="
- >=dev-python/cheroot-8.2.1[${PYTHON_USEDEP}]
- >=dev-python/portend-2.1.1[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/zc-lockfile[${PYTHON_USEDEP}]
- dev-python/jaraco-collections[${PYTHON_USEDEP}]
- ssl? (
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/routes[${PYTHON_USEDEP}]
- dev-python/simplejson[${PYTHON_USEDEP}]
- dev-python/objgraph[${PYTHON_USEDEP}]
- dev-python/path[${PYTHON_USEDEP}]
- dev-python/requests-toolbelt[${PYTHON_USEDEP}]
- dev-python/pytest-services[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- local PATCHES=(
- # https://github.com/cherrypy/cherrypy/pull/1959
- "${FILESDIR}/${P}-py312.patch"
- )
-
- sed -i -e '/cov/d' pytest.ini || die
- # upstream has been using xfail to mark flaky tests, then added
- # xfail_strict... not a good idea
- sed -i -e '/xfail_strict/d' pytest.ini || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # broken by changes in traceback output
- cherrypy/test/test_request_obj.py::RequestObjectTests::testErrorHandling
- cherrypy/test/test_tools.py::ToolTests::testHookErrors
- )
-
- epytest
-}
diff --git a/dev-python/cherrypy/files/cherrypy-18.8.0-py312.patch b/dev-python/cherrypy/files/cherrypy-18.8.0-py312.patch
deleted file mode 100644
index 90e63a763f99..000000000000
--- a/dev-python/cherrypy/files/cherrypy-18.8.0-py312.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From d2bc527c12a74675d67ba5fbf9de0d014af929cb Mon Sep 17 00:00:00 2001
-From: Dan Radez <dradez@redhat.com>
-Date: Tue, 12 Apr 2022 09:40:46 -0400
-Subject: [PATCH] Replace readfp with read_file
-
-Getting Deprecation Warning in python 3.11:
-DeprecationWarning: This method will be removed in Python 3.12.
-Use 'parser.read_file()' instead.
-
-https://github.com/python/cpython/commit/e8659b47dece5a272111c0af5e340c364a9f807b#diff-ca80d44aeeadd5e4966195b99aff106abb3e7b0b5356b7499125ee021bd84777R757
-
-If I'm reading this correct read_file has been around since Python 2.7
-https://github.com/python/cpython/commit/a492362f9a2a44e411147fd7b2886466bb0bb17f
----
- cherrypy/lib/reprconf.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/cherrypy/lib/reprconf.py b/cherrypy/lib/reprconf.py
-index 76381d7b7..536b94173 100644
---- a/cherrypy/lib/reprconf.py
-+++ b/cherrypy/lib/reprconf.py
-@@ -188,7 +188,7 @@ def as_dict(self, raw=False, vars=None):
-
- def dict_from_file(self, file):
- if hasattr(file, 'read'):
-- self.readfp(file)
-+ self.read_file(file)
- else:
- self.read(file)
- return self.as_dict()
diff --git a/dev-python/cherrypy/metadata.xml b/dev-python/cherrypy/metadata.xml
index d773247b15fb..1f0f0521f499 100644
--- a/dev-python/cherrypy/metadata.xml
+++ b/dev-python/cherrypy/metadata.xml
@@ -9,5 +9,6 @@
<upstream>
<remote-id type="github">cherrypy/cherrypy</remote-id>
<remote-id type="pypi">CherryPy</remote-id>
+ <remote-id type="cpe">cpe:/a:cherrypy:cherrypy</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/chump/chump-1.6.0-r2.ebuild b/dev-python/chump/chump-1.6.0-r2.ebuild
index 926b5b6dbf00..75e60112a8dd 100644
--- a/dev-python/chump/chump-1.6.0-r2.ebuild
+++ b/dev-python/chump/chump-1.6.0-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
inherit distutils-r1 pypi
diff --git a/dev-python/cjkwrap/cjkwrap-2.2-r2.ebuild b/dev-python/cjkwrap/cjkwrap-2.2-r2.ebuild
index c02bd2be4850..d6d214b57429 100644
--- a/dev-python/cjkwrap/cjkwrap-2.2-r2.ebuild
+++ b/dev-python/cjkwrap/cjkwrap-2.2-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
DESCRIPTION="A library for wrapping and filling UTF-8 CJK text"
diff --git a/dev-python/clang-python/Manifest b/dev-python/clang-python/Manifest
index 8af9207eb1ab..696909e4b68c 100644
--- a/dev-python/clang-python/Manifest
+++ b/dev-python/clang-python/Manifest
@@ -1,12 +1,11 @@
-DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
-DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
+DIST llvm-project-0b9f2847da79298ed09c29493245113f02b32d9f.tar.gz 216399453 BLAKE2B ed13e6639d40bdda6dbd09eba0cc8e4f82f4f53ce3cff9742e902af1c306c60dcb6d5fb008057829d46bbbde391697726cba2096c52cf1592c00faf1e37430e4 SHA512 a5b0bf59fa228a41f0c904a42b4b96740fc5e5caa63248c546eb4a810e86d5d8d1d8df663051ed4444cc0389ffa6ec12ee5dbf7d94d6211a253319550d7fac1c
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
-DIST llvm-project-17.0.5.src.tar.xz 127842560 BLAKE2B 2d657ff14ad2dc932a5cdc6605ad30cba8e22ed8f4adb5ed53bfd9b5b654496023df9eb895f9691e98bba6b6a341b81d8a17361daf81ce4c3cd6a2b3602cd90e SHA512 793b63aa875b6d02e3a2803815cc9361b76c9ab1506967e18630fc3d6811bf51c73f53c51d148a5fc72e87e35dc2b88cb18b48419939c436451fe65c5a326022
-DIST llvm-project-17.0.5.src.tar.xz.sig 438 BLAKE2B d65bfe2816c49a4b3dda2c70fe5ca6a6b7e922338219e7a62b2f33082d88b700781e184f2b3b0758c1d46825cf369ddd6f8824f3be8d8f3a70a88cfbc06bba45 SHA512 509a61434471463459d3ec837e3f3cce662650d4e72ffc7d28fbeb0d5cfe92d5b1dc4fa568e40f48757b1e708de793bc157de7225ac15a00221191e6c1e660d9
DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e0654111941649e15794179641806f18919f1dc68c41ca0cabd5693b5096d05dccc3a391cd20d34af1137bf8af92ed3117a1ce84d1b2 SHA512 6d85bf749e0d77553cc215cbfa61cec4ac4f4f652847f56f946b6a892a99a5ea40b6ab8b39a9708a035001f007986941ccf17e4635260a8b0c1fa59e78d41e30
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
-DIST llvm-project-5237193b87721134541f228e28edfd544a9c8ac8.tar.gz 201404340 BLAKE2B f028b8b100721202007e3106d8ee91bcf2ac90588f9268ec835dc4ea3941363d4b796338146c65d1a9e88957d18738030f713b3fed770616c79cb40043e706db SHA512 40a4d4f99f1a690a0f8737261aeeaa61af6124eeadcb6bab5c3828e88b36b8cce42a8caee6d3f01e675047c59b62210de017d207e341f680eff97758f798ad45
-DIST llvm-project-6a4489a73337907d52e7eaf3716f3de9008e6e53.tar.gz 201703120 BLAKE2B 7de783df15ff30ab85aad2f02a5a043d09b18dd7b212c19e21b045870497e2b17a53527523cd533c4ef61b22d605026a9322d2f8d02f0d4f76ed26ab693b788c SHA512 ffc31d7037255d608717faff84e858d63b37abed5659d66599864ae44ed00fc5902e9851eb1b8c848b500623681ef5782b39ad2bf8bcf96ac4f35032efde1490
+DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffef86468169ba2f211a9733ec2d4cf30040f7f277ef00f048bb44dee9f97d7d762f0f241f19e5a2a7b0b49217d3821ddfc8c354f SHA512 25eeee9984c8b4d0fbc240df90f33cbb000d3b0414baff5c8982beafcc5e59e7ef18f6f85d95b3a5f60cb3d4cd4f877c80487b5768bc21bc833f107698ad93db
+DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
+DIST llvm-project-1bad7024561bc64ed4bfda0772b16376b475eba5.tar.gz 216657623 BLAKE2B 99c48a95c427e8fae5568e5f59ab9bec8b2d8bec0c5d3cf453c261a738fe1c295b34e2e10e6b08d2b02cae43e3b0cd4c8eb025d19a83ee51f47a49afadd56d3f SHA512 08fc904122ab346edbfc3903cafae4f50ba57e146b2d821a568f8378c0f3ab4d413e07c5df2bf061374f9db4634b5f6b27f204fc4f2f68984303ceec9c963c0c
+DIST llvm-project-72d8c2737bb557af9d0c735b9fa30b1b03485627.tar.gz 217324958 BLAKE2B d43c161ac98860e2ce03e7e2474c55766e7496200b090ebb1cb6dcf0c2ad3a32bae76249feca53cd8b56c63806a740c280e6306890cd28429c4a7e84cae5eada SHA512 af3b44ec3f96d636d919906cf20547eb91d0a83d07731c9db38f28311a52011d8ec66833422fad9bb89ca9ac546e308b02015a7b365086341bee1f3de1b6c5e2
diff --git a/dev-python/clang-python/clang-python-14.0.6.ebuild b/dev-python/clang-python/clang-python-14.0.6.ebuild
deleted file mode 100644
index 2d5270ca40ac..000000000000
--- a/dev-python/clang-python/clang-python-14.0.6.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-inherit llvm.org python-r1
-
-DESCRIPTION="Python bindings for sys-devel/clang"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# The module is opening libclang.so directly, and doing some blasphemy
-# on top of it.
-DEPEND="
- >=sys-devel/clang-${PV}:*
- !sys-devel/llvm:0[clang(-),python(-)]
- !sys-devel/clang:0[python(-)]
-"
-RDEPEND="
- ${DEPEND}
- ${PYTHON_DEPS}
-"
-BDEPEND="
- ${PYTHON_DEPS}
-"
-
-LLVM_COMPONENTS=( clang/bindings/python )
-llvm.org_set_globals
-
-python_test() {
- "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
-}
-
-src_test() {
- python_foreach_impl python_test
-}
-
-src_install() {
- python_foreach_impl python_domodule clang
-}
diff --git a/dev-python/clang-python/clang-python-17.0.5.ebuild b/dev-python/clang-python/clang-python-17.0.5.ebuild
deleted file mode 100644
index d4a2cc4e8854..000000000000
--- a/dev-python/clang-python/clang-python-17.0.5.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-inherit llvm.org python-r1
-
-DESCRIPTION="Python bindings for sys-devel/clang"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# The module is opening libclang.so directly, and doing some blasphemy
-# on top of it.
-DEPEND="
- >=sys-devel/clang-${PV}:*
- !sys-devel/llvm:0[clang(-),python(-)]
- !sys-devel/clang:0[python(-)]
-"
-RDEPEND="
- ${DEPEND}
- ${PYTHON_DEPS}
-"
-BDEPEND="
- ${PYTHON_DEPS}
- test? (
- sys-devel/clang:${LLVM_MAJOR}
- )
-"
-
-LLVM_COMPONENTS=( clang/bindings/python )
-llvm.org_set_globals
-
-python_test() {
- # tests rely on results from a specific clang version, so override
- # the search path
- local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
- local -x CLANG_NO_DEFAULT_CONFIG=1
- "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
-}
-
-src_test() {
- python_foreach_impl python_test
-}
-
-src_install() {
- python_foreach_impl python_domodule clang
-}
diff --git a/dev-python/clang-python/clang-python-17.0.6.ebuild b/dev-python/clang-python/clang-python-17.0.6.ebuild
index d4a2cc4e8854..7762bfd83fe4 100644
--- a/dev-python/clang-python/clang-python-17.0.6.ebuild
+++ b/dev-python/clang-python/clang-python-17.0.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+KEYWORDS="amd64 ~arm arm64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
REQUIRED_USE="${PYTHON_REQUIRED_USE}"
diff --git a/dev-python/clang-python/clang-python-18.0.0.9999.ebuild b/dev-python/clang-python/clang-python-18.0.0.9999.ebuild
deleted file mode 100644
index e1394f43bcd1..000000000000
--- a/dev-python/clang-python/clang-python-18.0.0.9999.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-inherit llvm.org python-r1
-
-DESCRIPTION="Python bindings for sys-devel/clang"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# The module is opening libclang.so directly, and doing some blasphemy
-# on top of it.
-DEPEND="
- >=sys-devel/clang-${PV}:*
- !sys-devel/llvm:0[clang(-),python(-)]
- !sys-devel/clang:0[python(-)]
-"
-RDEPEND="
- ${DEPEND}
- ${PYTHON_DEPS}
-"
-BDEPEND="
- ${PYTHON_DEPS}
- test? (
- sys-devel/clang:${LLVM_MAJOR}
- )
-"
-
-LLVM_COMPONENTS=( clang/bindings/python )
-llvm.org_set_globals
-
-python_test() {
- # tests rely on results from a specific clang version, so override
- # the search path
- local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
- local -x CLANG_NO_DEFAULT_CONFIG=1
- "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
-}
-
-src_test() {
- python_foreach_impl python_test
-}
-
-src_install() {
- python_foreach_impl python_domodule clang
-}
diff --git a/dev-python/clang-python/clang-python-18.0.0_pre20231119.ebuild b/dev-python/clang-python/clang-python-18.0.0_pre20231119.ebuild
deleted file mode 100644
index e1394f43bcd1..000000000000
--- a/dev-python/clang-python/clang-python-18.0.0_pre20231119.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-inherit llvm.org python-r1
-
-DESCRIPTION="Python bindings for sys-devel/clang"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# The module is opening libclang.so directly, and doing some blasphemy
-# on top of it.
-DEPEND="
- >=sys-devel/clang-${PV}:*
- !sys-devel/llvm:0[clang(-),python(-)]
- !sys-devel/clang:0[python(-)]
-"
-RDEPEND="
- ${DEPEND}
- ${PYTHON_DEPS}
-"
-BDEPEND="
- ${PYTHON_DEPS}
- test? (
- sys-devel/clang:${LLVM_MAJOR}
- )
-"
-
-LLVM_COMPONENTS=( clang/bindings/python )
-llvm.org_set_globals
-
-python_test() {
- # tests rely on results from a specific clang version, so override
- # the search path
- local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
- local -x CLANG_NO_DEFAULT_CONFIG=1
- "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
-}
-
-src_test() {
- python_foreach_impl python_test
-}
-
-src_install() {
- python_foreach_impl python_domodule clang
-}
diff --git a/dev-python/clang-python/clang-python-18.0.0_pre20231129.ebuild b/dev-python/clang-python/clang-python-18.0.0_pre20231129.ebuild
deleted file mode 100644
index e1394f43bcd1..000000000000
--- a/dev-python/clang-python/clang-python-18.0.0_pre20231129.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-inherit llvm.org python-r1
-
-DESCRIPTION="Python bindings for sys-devel/clang"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# The module is opening libclang.so directly, and doing some blasphemy
-# on top of it.
-DEPEND="
- >=sys-devel/clang-${PV}:*
- !sys-devel/llvm:0[clang(-),python(-)]
- !sys-devel/clang:0[python(-)]
-"
-RDEPEND="
- ${DEPEND}
- ${PYTHON_DEPS}
-"
-BDEPEND="
- ${PYTHON_DEPS}
- test? (
- sys-devel/clang:${LLVM_MAJOR}
- )
-"
-
-LLVM_COMPONENTS=( clang/bindings/python )
-llvm.org_set_globals
-
-python_test() {
- # tests rely on results from a specific clang version, so override
- # the search path
- local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
- local -x CLANG_NO_DEFAULT_CONFIG=1
- "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
-}
-
-src_test() {
- python_foreach_impl python_test
-}
-
-src_install() {
- python_foreach_impl python_domodule clang
-}
diff --git a/dev-python/clang-python/clang-python-18.1.8.ebuild b/dev-python/clang-python/clang-python-18.1.8.ebuild
new file mode 100644
index 000000000000..ea8472ba126c
--- /dev/null
+++ b/dev-python/clang-python/clang-python-18.1.8.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit llvm.org python-r1
+
+DESCRIPTION="Python bindings for sys-devel/clang"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# The module is opening libclang.so directly, and doing some blasphemy
+# on top of it.
+DEPEND="
+ >=sys-devel/clang-${PV}:*
+ !sys-devel/llvm:0[clang(-),python(-)]
+ !sys-devel/clang:0[python(-)]
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ sys-devel/clang:${LLVM_MAJOR}
+ )
+"
+
+LLVM_COMPONENTS=( clang/bindings/python )
+llvm.org_set_globals
+
+python_test() {
+ # tests rely on results from a specific clang version, so override
+ # the search path
+ local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
+ local -x CLANG_NO_DEFAULT_CONFIG=1
+ "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
+}
+
+src_test() {
+ python_foreach_impl python_test
+}
+
+src_install() {
+ python_foreach_impl python_domodule clang
+}
diff --git a/dev-python/clang-python/clang-python-19.0.0.9999.ebuild b/dev-python/clang-python/clang-python-19.0.0.9999.ebuild
new file mode 100644
index 000000000000..7f3de6814bbb
--- /dev/null
+++ b/dev-python/clang-python/clang-python-19.0.0.9999.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit llvm.org python-r1
+
+DESCRIPTION="Python bindings for sys-devel/clang"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# The module is opening libclang.so directly, and doing some blasphemy
+# on top of it.
+DEPEND="
+ >=sys-devel/clang-${PV}:*
+ !sys-devel/llvm:0[clang(-),python(-)]
+ !sys-devel/clang:0[python(-)]
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ sys-devel/clang:${LLVM_MAJOR}
+ )
+"
+
+LLVM_COMPONENTS=( clang/bindings/python )
+llvm.org_set_globals
+
+python_test() {
+ # tests rely on results from a specific clang version, so override
+ # the search path
+ local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
+ local -x CLANG_NO_DEFAULT_CONFIG=1
+ "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
+}
+
+src_test() {
+ python_foreach_impl python_test
+}
+
+src_install() {
+ python_foreach_impl python_domodule clang
+}
diff --git a/dev-python/clang-python/clang-python-19.0.0_pre20240706.ebuild b/dev-python/clang-python/clang-python-19.0.0_pre20240706.ebuild
new file mode 100644
index 000000000000..7f3de6814bbb
--- /dev/null
+++ b/dev-python/clang-python/clang-python-19.0.0_pre20240706.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit llvm.org python-r1
+
+DESCRIPTION="Python bindings for sys-devel/clang"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# The module is opening libclang.so directly, and doing some blasphemy
+# on top of it.
+DEPEND="
+ >=sys-devel/clang-${PV}:*
+ !sys-devel/llvm:0[clang(-),python(-)]
+ !sys-devel/clang:0[python(-)]
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ sys-devel/clang:${LLVM_MAJOR}
+ )
+"
+
+LLVM_COMPONENTS=( clang/bindings/python )
+llvm.org_set_globals
+
+python_test() {
+ # tests rely on results from a specific clang version, so override
+ # the search path
+ local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
+ local -x CLANG_NO_DEFAULT_CONFIG=1
+ "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
+}
+
+src_test() {
+ python_foreach_impl python_test
+}
+
+src_install() {
+ python_foreach_impl python_domodule clang
+}
diff --git a/dev-python/clang-python/clang-python-19.0.0_pre20240712.ebuild b/dev-python/clang-python/clang-python-19.0.0_pre20240712.ebuild
new file mode 100644
index 000000000000..7f3de6814bbb
--- /dev/null
+++ b/dev-python/clang-python/clang-python-19.0.0_pre20240712.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit llvm.org python-r1
+
+DESCRIPTION="Python bindings for sys-devel/clang"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# The module is opening libclang.so directly, and doing some blasphemy
+# on top of it.
+DEPEND="
+ >=sys-devel/clang-${PV}:*
+ !sys-devel/llvm:0[clang(-),python(-)]
+ !sys-devel/clang:0[python(-)]
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ sys-devel/clang:${LLVM_MAJOR}
+ )
+"
+
+LLVM_COMPONENTS=( clang/bindings/python )
+llvm.org_set_globals
+
+python_test() {
+ # tests rely on results from a specific clang version, so override
+ # the search path
+ local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
+ local -x CLANG_NO_DEFAULT_CONFIG=1
+ "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
+}
+
+src_test() {
+ python_foreach_impl python_test
+}
+
+src_install() {
+ python_foreach_impl python_domodule clang
+}
diff --git a/dev-python/clang-python/clang-python-19.0.0_pre20240720.ebuild b/dev-python/clang-python/clang-python-19.0.0_pre20240720.ebuild
new file mode 100644
index 000000000000..7f3de6814bbb
--- /dev/null
+++ b/dev-python/clang-python/clang-python-19.0.0_pre20240720.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit llvm.org python-r1
+
+DESCRIPTION="Python bindings for sys-devel/clang"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# The module is opening libclang.so directly, and doing some blasphemy
+# on top of it.
+DEPEND="
+ >=sys-devel/clang-${PV}:*
+ !sys-devel/llvm:0[clang(-),python(-)]
+ !sys-devel/clang:0[python(-)]
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ sys-devel/clang:${LLVM_MAJOR}
+ )
+"
+
+LLVM_COMPONENTS=( clang/bindings/python )
+llvm.org_set_globals
+
+python_test() {
+ # tests rely on results from a specific clang version, so override
+ # the search path
+ local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
+ local -x CLANG_NO_DEFAULT_CONFIG=1
+ "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
+}
+
+src_test() {
+ python_foreach_impl python_test
+}
+
+src_install() {
+ python_foreach_impl python_domodule clang
+}
diff --git a/dev-python/clang-python/clang-python-20.0.0.9999.ebuild b/dev-python/clang-python/clang-python-20.0.0.9999.ebuild
new file mode 100644
index 000000000000..7f3de6814bbb
--- /dev/null
+++ b/dev-python/clang-python/clang-python-20.0.0.9999.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+inherit llvm.org python-r1
+
+DESCRIPTION="Python bindings for sys-devel/clang"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# The module is opening libclang.so directly, and doing some blasphemy
+# on top of it.
+DEPEND="
+ >=sys-devel/clang-${PV}:*
+ !sys-devel/llvm:0[clang(-),python(-)]
+ !sys-devel/clang:0[python(-)]
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+"
+BDEPEND="
+ ${PYTHON_DEPS}
+ test? (
+ sys-devel/clang:${LLVM_MAJOR}
+ )
+"
+
+LLVM_COMPONENTS=( clang/bindings/python )
+llvm.org_set_globals
+
+python_test() {
+ # tests rely on results from a specific clang version, so override
+ # the search path
+ local -x CLANG_LIBRARY_PATH=${BROOT}/usr/lib/llvm/${LLVM_MAJOR}/$(get_libdir)
+ local -x CLANG_NO_DEFAULT_CONFIG=1
+ "${EPYTHON}" -m unittest discover -v || die "Tests fail with ${EPYTHON}"
+}
+
+src_test() {
+ python_foreach_impl python_test
+}
+
+src_install() {
+ python_foreach_impl python_domodule clang
+}
diff --git a/dev-python/cleo/Manifest b/dev-python/cleo/Manifest
index 977fafdac4b3..96e21f71bf3f 100644
--- a/dev-python/cleo/Manifest
+++ b/dev-python/cleo/Manifest
@@ -1,2 +1 @@
-DIST cleo-2.0.1.gh.tar.gz 154222 BLAKE2B dcaeff38c2dcb13b3c11200aa97cb2a1c16004558aabf9b44f1ba7ddd5d9c8c7784ea0ba1c50c19b015a6ff0659cb116b8ee926670091e39fd2b1cfd426cb72a SHA512 57a8e9cfc5486f73ade424199aaeb3def787a958031691aba2c6a230323d1c816316e3639dee7a07111aa0fc852d7088756f515cb24fdc84a40056ce969e5884
DIST cleo-2.1.0.gh.tar.gz 165795 BLAKE2B 7c9d0cc869d1e185c2c5a092a8aa1d1b3cce5fc25246939c0ff94920ac7070000b110be9f6cd9d1f827ed951ff22b9ad62e3c17a941022967b7599e456cda837 SHA512 e73a4c02470052f0f602fae8b5bf7073f3342d0816074398b19f0fb25caddda51b6d2fcb9ef57026638d0dc8861a2b5142d87551b105cefa5e54426e4aa1225c
diff --git a/dev-python/cleo/cleo-2.0.1-r1.ebuild b/dev-python/cleo/cleo-2.0.1-r1.ebuild
deleted file mode 100644
index 6a5660381c01..000000000000
--- a/dev-python/cleo/cleo-2.0.1-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python tool for building testable command-line interfaces"
-HOMEPAGE="
- https://github.com/python-poetry/cleo/
- https://pypi.org/project/cleo/
-"
-SRC_URI="
- https://github.com/python-poetry/cleo/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- dev-python/crashtest[${PYTHON_USEDEP}]
- dev-python/rapidfuzz[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin rapidfuzz
- sed -i -e '/rapidfuzz/s:\^:>=:' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_mock
- epytest
-}
diff --git a/dev-python/cleo/cleo-2.1.0.ebuild b/dev-python/cleo/cleo-2.1.0.ebuild
index d257d9244e5b..d844555cbf9e 100644
--- a/dev-python/cleo/cleo-2.1.0.ebuild
+++ b/dev-python/cleo/cleo-2.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
RDEPEND="
dev-python/crashtest[${PYTHON_USEDEP}]
diff --git a/dev-python/cleo/metadata.xml b/dev-python/cleo/metadata.xml
index b9b60e74f908..91b911ff8b69 100644
--- a/dev-python/cleo/metadata.xml
+++ b/dev-python/cleo/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>jsmolic@gentoo.org</email>
- <name>Jakov Smolić</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/cli-helpers/Manifest b/dev-python/cli-helpers/Manifest
index 4499213caf40..0a477f86c822 100644
--- a/dev-python/cli-helpers/Manifest
+++ b/dev-python/cli-helpers/Manifest
@@ -1 +1 @@
-DIST cli_helpers-2.3.0.gh.tar.gz 34374 BLAKE2B 83978ee17aec8a02173460cf5d5c42751d4745c63a1f83c8fafdd55fcfb31e04d02a61f90db4a4fe8ba2049167306b06e1389db15230558a646589e3834745de SHA512 ee5f2adbca54c62c2f40be4c7b418760d12f331737a65bafdb8209989fc866f35d6c2ea1b9b0a12add6ed3fa576a84a2c8f62a2f3babf58706660f7d7eb8eb57
+DIST cli_helpers-2.3.1.gh.tar.gz 34372 BLAKE2B 00cafd4d704e2aa8ac68d372505adffd0d6b42b03dcc320c858e2085eb32a11112e0819cbabc4eddd1e8e9f11cb101bb8fc9b87f49c3b7fec289acfca792bb22 SHA512 ea2449f7d8b87da62a6a2bc8a10eb726a927b0cf62431016125aa30a6f7bcbee3b396364a78f749cb22c86427ca8fc7e46aaac19ea0f93ef6dee661653c2f5c0
diff --git a/dev-python/cli-helpers/cli-helpers-2.3.0.ebuild b/dev-python/cli-helpers/cli-helpers-2.3.0.ebuild
deleted file mode 100644
index 16476678a120..000000000000
--- a/dev-python/cli-helpers/cli-helpers-2.3.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=cli_helpers-${PV}
-DESCRIPTION="Python helpers for common CLI tasks"
-HOMEPAGE="
- https://cli-helpers.rtfd.io/
- https://github.com/dbcli/cli_helpers/
- https://pypi.org/project/cli-helpers/
-"
-SRC_URI="
- https://github.com/dbcli/cli_helpers/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-RDEPEND="
- >=dev-python/configobj-5.0.5[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.0[${PYTHON_USEDEP}]
- dev-python/wcwidth[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/cli-helpers/cli-helpers-2.3.1.ebuild b/dev-python/cli-helpers/cli-helpers-2.3.1.ebuild
new file mode 100644
index 000000000000..117abf00bd53
--- /dev/null
+++ b/dev-python/cli-helpers/cli-helpers-2.3.1.ebuild
@@ -0,0 +1,35 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=cli_helpers-${PV}
+DESCRIPTION="Python helpers for common CLI tasks"
+HOMEPAGE="
+ https://cli-helpers.rtfd.io/
+ https://github.com/dbcli/cli_helpers/
+ https://pypi.org/project/cli-helpers/
+"
+SRC_URI="
+ https://github.com/dbcli/cli_helpers/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+RDEPEND="
+ >=dev-python/configobj-5.0.5[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/tabulate-0.9.0[${PYTHON_USEDEP}]
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/cli-helpers/cli-helpers-9999.ebuild b/dev-python/cli-helpers/cli-helpers-9999.ebuild
index ca6c8d7902ca..093aa25869b1 100644
--- a/dev-python/cli-helpers/cli-helpers-9999.ebuild
+++ b/dev-python/cli-helpers/cli-helpers-9999.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 git-r3
diff --git a/dev-python/cli-helpers/metadata.xml b/dev-python/cli-helpers/metadata.xml
index 79ba6aa529dd..d18fff347fc2 100644
--- a/dev-python/cli-helpers/metadata.xml
+++ b/dev-python/cli-helpers/metadata.xml
@@ -4,6 +4,7 @@
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">dbcli/cli_helpers</remote-id>
<remote-id type="pypi">cli-helpers</remote-id>
diff --git a/dev-python/click-default-group/click-default-group-1.2.4.ebuild b/dev-python/click-default-group/click-default-group-1.2.4.ebuild
index 259619b6b43c..b805da93d0cb 100644
--- a/dev-python/click-default-group/click-default-group-1.2.4.ebuild
+++ b/dev-python/click-default-group/click-default-group-1.2.4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/click-didyoumean/Manifest b/dev-python/click-didyoumean/Manifest
index 2bd708393f96..e299aacc87a3 100644
--- a/dev-python/click-didyoumean/Manifest
+++ b/dev-python/click-didyoumean/Manifest
@@ -1 +1 @@
-DIST click-didyoumean-0.3.0.gh.tar.gz 309301 BLAKE2B 2b667b5e94dd690e5b7a2e96b83197f52e201b002a32fff4a8dbb4bd5497d5b816b40d9da98729821e1d17a795a3776c1553a746aa4c4144cf7fe6540768e1ca SHA512 4927ee392f27950c3f7ef5e0f1d5a5e2421172f3e9d34ec76986c9c7ea698cfa1981678a06fb8682577d6ed04c242c42bdd1d796d7623a1c99dfdbdb61c80fca
+DIST click-didyoumean-0.3.1.gh.tar.gz 309401 BLAKE2B 0f2b10f0bb0afdc4a82aa532e64f8266a73ea9e26e0dfbaf20ddc21519a7d241a2831b0cbf512eeb417483e8326e661f45e6120a36d89fc8ff2d243791e6d72c SHA512 ade429f972cc3f4fbb0534711b7b8269cfb8e16494390e5bddcf25a7cb55e31dbdb762c2adf62cc64b9ff590770565e5134b5b2caee149981bafa694ae2dc390
diff --git a/dev-python/click-didyoumean/click-didyoumean-0.3.0.ebuild b/dev-python/click-didyoumean/click-didyoumean-0.3.0.ebuild
deleted file mode 100644
index 54c8d611c563..000000000000
--- a/dev-python/click-didyoumean/click-didyoumean-0.3.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Enable git-like did-you-mean feature in click"
-HOMEPAGE="
- https://github.com/click-contrib/click-didyoumean/
- https://pypi.org/project/click-didyoumean/
-"
-SRC_URI="
- https://github.com/click-contrib/click-didyoumean/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/click-7[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/click-didyoumean/click-didyoumean-0.3.1.ebuild b/dev-python/click-didyoumean/click-didyoumean-0.3.1.ebuild
new file mode 100644
index 000000000000..f1525d9fd120
--- /dev/null
+++ b/dev-python/click-didyoumean/click-didyoumean-0.3.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Enable git-like did-you-mean feature in click"
+HOMEPAGE="
+ https://github.com/click-contrib/click-didyoumean/
+ https://pypi.org/project/click-didyoumean/
+"
+SRC_URI="
+ https://github.com/click-contrib/click-didyoumean/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/click-7[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/click-help-colors/click-help-colors-0.9.4.ebuild b/dev-python/click-help-colors/click-help-colors-0.9.4.ebuild
index 98ffce385cf5..d187df21e384 100644
--- a/dev-python/click-help-colors/click-help-colors-0.9.4.ebuild
+++ b/dev-python/click-help-colors/click-help-colors-0.9.4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/click-help-colors/metadata.xml b/dev-python/click-help-colors/metadata.xml
index fe0a11d5b717..67eb4a219db6 100644
--- a/dev-python/click-help-colors/metadata.xml
+++ b/dev-python/click-help-colors/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/click-log/click-log-0.4.0.ebuild b/dev-python/click-log/click-log-0.4.0.ebuild
index d3469fc7757f..d57f5318b0d2 100644
--- a/dev-python/click-log/click-log-0.4.0.ebuild
+++ b/dev-python/click-log/click-log-0.4.0.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/click-option-group/Manifest b/dev-python/click-option-group/Manifest
new file mode 100644
index 000000000000..46abf7cb74a0
--- /dev/null
+++ b/dev-python/click-option-group/Manifest
@@ -0,0 +1 @@
+DIST click-option-group-0.5.6.tar.gz 16517 BLAKE2B 8edc9e1c7aff7ff03f86fea41a43a37b9605efb11cae402ebaaa18620b21fd50237d92979f024b319b7de7b244f3168a3557efcc4f754c83e1bc4cd05b578428 SHA512 7ac321a0c2dedcacf9b0383cb6b1ae6f7dd0ec6855e4f88cd4817ddece0c2c043c8b10fab04a41aefce38f871075a793bdc7b000f3b99adc7d93a3b6f0cf9884
diff --git a/dev-python/click-option-group/click-option-group-0.5.6.ebuild b/dev-python/click-option-group/click-option-group-0.5.6.ebuild
new file mode 100644
index 000000000000..10f02af114bb
--- /dev/null
+++ b/dev-python/click-option-group/click-option-group-0.5.6.ebuild
@@ -0,0 +1,26 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Click-extension package that adds option groups missing in Click"
+HOMEPAGE="
+ https://github.com/click-contrib/click-option-group
+ https://pypi.org/project/click-option-group/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/click-option-group/metadata.xml b/dev-python/click-option-group/metadata.xml
new file mode 100644
index 000000000000..b04ba9f1d13e
--- /dev/null
+++ b/dev-python/click-option-group/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">click-option-group</remote-id>
+ <remote-id type="github">click-contrib/click-option-group</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/click-plugins/click-plugins-1.1.1-r1.ebuild b/dev-python/click-plugins/click-plugins-1.1.1-r1.ebuild
index b125e2eed0d4..6d3af448a7d1 100644
--- a/dev-python/click-plugins/click-plugins-1.1.1-r1.ebuild
+++ b/dev-python/click-plugins/click-plugins-1.1.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
@@ -16,8 +16,8 @@ HOMEPAGE="
"
LICENSE="BSD"
-KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86"
SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~loong ~riscv x86"
RDEPEND="
dev-python/click[${PYTHON_USEDEP}]
diff --git a/dev-python/click-threading/click-threading-0.5.0-r1.ebuild b/dev-python/click-threading/click-threading-0.5.0-r1.ebuild
index efae0ab8277d..472ea7c0d11e 100644
--- a/dev-python/click-threading/click-threading-0.5.0-r1.ebuild
+++ b/dev-python/click-threading/click-threading-0.5.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/click/click-8.1.7.ebuild b/dev-python/click/click-8.1.7.ebuild
index db27707518fa..bc39e3ec0a10 100644
--- a/dev-python/click/click-8.1.7.ebuild
+++ b/dev-python/click/click-8.1.7.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/cliff/Manifest b/dev-python/cliff/Manifest
index 6a1d66f9898e..516c5161b0a2 100644
--- a/dev-python/cliff/Manifest
+++ b/dev-python/cliff/Manifest
@@ -1 +1 @@
-DIST cliff-4.4.0.tar.gz 83609 BLAKE2B dd17574bd91e501e664075e3e2f5fb0b37d64b8a6e0bbbc48b98eda0340d1f52340503f7ba85642c613672da41162e21cd248471ff6b028fbfc4142a491f482b SHA512 c1e292cd337036f3b276581022dd69cb7e353f1067be06db4611e1afb1fd613f70e8b67bbcd39eaf74e9c459af03f0f6e9613f9a1424941cc35b41ef1f62ae00
+DIST cliff-4.7.0.tar.gz 84250 BLAKE2B e49cb9b5e05ab37885df47b80489e41eaf7662cf39ce61bdcb545a6ef5496b786c94c60c2164af15ae9536af7a9841e723fa62091300b28a49beed8945941dc0 SHA512 f1e6a28fbedb911efae02a3827f019411b99afdc316fcb07b115ca2157dcd23bbcce72d2d63b9850bb5b1cb21a4787575528a26d178943f7aba2a125ed9b55e5
diff --git a/dev-python/cliff/cliff-4.4.0.ebuild b/dev-python/cliff/cliff-4.4.0.ebuild
deleted file mode 100644
index bfa8186b7f66..000000000000
--- a/dev-python/cliff/cliff-4.4.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Command Line Interface Formulation Framework"
-HOMEPAGE="
- https://opendev.org/openstack/cliff/
- https://github.com/openstack/cliff/
- https://pypi.org/project/cliff/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/autopage-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/cmd2-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/importlib-metadata-4.11.1[${PYTHON_USEDEP}]
- dev-python/prettytable[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.12.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- dev-python/sphinx[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/cliff/cliff-4.7.0.ebuild b/dev-python/cliff/cliff-4.7.0.ebuild
new file mode 100644
index 000000000000..e2b30c9a5d9e
--- /dev/null
+++ b/dev-python/cliff/cliff-4.7.0.ebuild
@@ -0,0 +1,40 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Command Line Interface Formulation Framework"
+HOMEPAGE="
+ https://opendev.org/openstack/cliff/
+ https://github.com/openstack/cliff/
+ https://pypi.org/project/cliff/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/autopage-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/cmd2-0.8.0[${PYTHON_USEDEP}]
+ dev-python/prettytable[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.12.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/clikit/clikit-0.6.2-r1.ebuild b/dev-python/clikit/clikit-0.6.2-r1.ebuild
index 6d946cc54a18..35b712b040e5 100644
--- a/dev-python/clikit/clikit-0.6.2-r1.ebuild
+++ b/dev-python/clikit/clikit-0.6.2-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/clikit/metadata.xml b/dev-python/clikit/metadata.xml
index 3437f4545e03..8fa037d2bbfd 100644
--- a/dev-python/clikit/metadata.xml
+++ b/dev-python/clikit/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>jsmolic@gentoo.org</email>
- <name>Jakov Smolić</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/clint/clint-0.5.1-r4.ebuild b/dev-python/clint/clint-0.5.1-r4.ebuild
index 99459869f5f3..bc8b6ae87e85 100644
--- a/dev-python/clint/clint-0.5.1-r4.ebuild
+++ b/dev-python/clint/clint-0.5.1-r4.ebuild
@@ -1,17 +1,20 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
DESCRIPTION="Python Command-line Application Tools"
-HOMEPAGE="https://github.com/kennethreitz-archive/clint"
+HOMEPAGE="
+ https://github.com/kennethreitz/clint/
+ https://pypi.org/project/clint/
+"
SRC_URI="
- https://github.com/kennethreitz-archive/${PN}/archive/v${PV}.tar.gz
+ https://github.com/kennethreitz/clint/archive/v${PV}.tar.gz
-> ${P}.gh.tar.gz
"
@@ -20,7 +23,7 @@ SLOT="0"
KEYWORDS="amd64 arm64 ~ppc64 ~x86"
IUSE="examples"
-# https://github.com/kennethreitz-archive/clint/pull/180
+# https://github.com/kennethreitz/clint/pull/180
PATCHES=( "${FILESDIR}/${P}-disable-args-dependency.patch" )
distutils_enable_sphinx docs --no-autodoc
diff --git a/dev-python/clint/metadata.xml b/dev-python/clint/metadata.xml
index 12e7c2cadd9b..3ae6a96fd01c 100644
--- a/dev-python/clint/metadata.xml
+++ b/dev-python/clint/metadata.xml
@@ -4,7 +4,7 @@
<!--maintainer-needed-->
<stabilize-allarches/>
<upstream>
- <remote-id type="github">kennethreitz-archive/clint</remote-id>
+ <remote-id type="github">kennethreitz/clint</remote-id>
<remote-id type="pypi">clint</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/cloudpickle/cloudpickle-3.0.0.ebuild b/dev-python/cloudpickle/cloudpickle-3.0.0.ebuild
index ef1658bb7c89..d0b42b0d4e92 100644
--- a/dev-python/cloudpickle/cloudpickle-3.0.0.ebuild
+++ b/dev-python/cloudpickle/cloudpickle-3.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -30,7 +30,13 @@ BDEPEND="
distutils_enable_tests pytest
+PATCHES=(
+ # https://github.com/cloudpipe/cloudpickle/pull/534
+ "${FILESDIR}/${P}-py313.patch"
+)
+
python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
local -x PYTHONPATH=${PYTHONPATH}:tests/cloudpickle_testpkg
# -s unbreaks some tests
# https://github.com/cloudpipe/cloudpickle/issues/252
diff --git a/dev-python/cloudpickle/files/cloudpickle-3.0.0-py313.patch b/dev-python/cloudpickle/files/cloudpickle-3.0.0-py313.patch
new file mode 100644
index 000000000000..5b9655b82716
--- /dev/null
+++ b/dev-python/cloudpickle/files/cloudpickle-3.0.0-py313.patch
@@ -0,0 +1,32 @@
+From 3dc53183e86bb9f0ee9d45ff9d4971036c61ecba Mon Sep 17 00:00:00 2001
+From: Lumir Balhar <lbalhar@redhat.com>
+Date: Wed, 15 May 2024 10:43:50 +0200
+Subject: [PATCH] Fix test_extract_class_dict for Python 3.13 beta 1
+
+Resolves: https://github.com/cloudpipe/cloudpickle/issues/533
+Closes: https://github.com/cloudpipe/cloudpickle/pull/534
+---
+ tests/cloudpickle_test.py | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/tests/cloudpickle_test.py b/tests/cloudpickle_test.py
+index 4041bf7..6d0d915 100644
+--- a/tests/cloudpickle_test.py
++++ b/tests/cloudpickle_test.py
+@@ -108,7 +108,12 @@ def test_extract_class_dict():
+ return "c"
+
+ clsdict = _extract_class_dict(C)
+- assert sorted(clsdict.keys()) == ["C_CONSTANT", "__doc__", "method_c"]
++ expected_keys = ["C_CONSTANT", "__doc__", "method_c"]
++ # New attribute in Python 3.13 beta 1
++ # https://github.com/python/cpython/pull/118475
++ if sys.version_info >= (3, 13):
++ expected_keys.insert(2, "__firstlineno__")
++ assert sorted(clsdict.keys()) == expected_keys
+ assert clsdict["C_CONSTANT"] == 43
+ assert clsdict["__doc__"] is None
+ assert clsdict["method_c"](C()) == C().method_c()
+--
+2.45.2
+
diff --git a/dev-python/clr-loader/Manifest b/dev-python/clr-loader/Manifest
new file mode 100644
index 000000000000..bce85ab71188
--- /dev/null
+++ b/dev-python/clr-loader/Manifest
@@ -0,0 +1,7 @@
+DIST clr_loader-0.2.6.tar.gz 44757 BLAKE2B dd1a9513ffebc39b0861780d14c85b98e2b08b9911fd34bef180dcf76a5fc9f95236db47d3802b4cdcc7bcfb9343de4b1d4c516036562baf92d3e37e07ff42c0 SHA512 59d7918de9ca0b42dd7509b43f7994a5b3788e01fa4015e00e7957f4430c8291ad8736615b859ca0a91d26ad9a495677cb724654414f870f7f43d07d1b6516ce
+DIST microsoft.netcore.platforms.1.1.0.nupkg 17960 BLAKE2B 6a9fa22d75f5a1c65746dd71a63c3d4e37c393e99c23007c10f5ecce248a04863bf26e7562c7751177a6985eaac266c29cc6a5443a4a853e773f88994ad2a3fd SHA512 6bf892c274596fe2c7164e3d8503b24e187f64d0b7bec6d9b05eb95f04086fceb7a85ea6b2685d42dc465c52f6f0e6f636c0b3fddac48f6f0125dfd83e92d106
+DIST microsoft.netframework.referenceassemblies.1.0.0.nupkg 20946 BLAKE2B ac609f5ddaec68f4afca36b710408e8f5601f13e6b2c793dae11e1afd3f8fc9b45c3ae9abba2429b4f414a43a48f8e0ea11498f439a17158257701466f372582 SHA512 c8f18b9fc83113c65086d93f7dfd9d62600edd614f5eaaeb294d96cc46bb024cc1cbd93b665f849a33d367acd4df30913db1e50ebc695de7e12cd185a6e1ee9e
+DIST microsoft.netframework.referenceassemblies.net461.1.0.0.nupkg 20140577 BLAKE2B 1daecb1375a6e1138cfdca86e42f4f96fe8dcd83661dbb7078e7cf66d717bb380222f1947ed2f08730aa842fef172a1e3f67100a4046c0a730601305db2fe7eb SHA512 365cd4012393d95dbb3c84aa18169d59d5eb5ec727efada8af9a2fd5de621829373ec14ca6dd53f1fb76b769ed2e424cdc9cdef03a02162b635b56670db8627f
+DIST microsoft.netframework.referenceassemblies.net47.1.0.0.nupkg 20046630 BLAKE2B 2679abe247c7aafd320dba304251aad678c428e9a3393663b9ff1bb6a0ba5de8e6f558203bd7c0a27a23d8ee0f36da98c615235a57f6c98db357b1cf499cce37 SHA512 a0f0608af7c77eb0a15d262265bbb692071d3189c83e0a8f90d3277bd033d574618499e29cf0358ea8b28f9c5ba5f0edd1f10f38d09fd2a140c4e9d6107a9c97
+DIST netstandard.library.2.0.3.nupkg 3146139 BLAKE2B 311e5367398f76c74e78930bc2cd39e450a86bd8626311ded8d58bd84c94a8a84db3c11b2bc10f3eeba20a9d081fe7827981f702ad746b49ae3108c949ba1022 SHA512 e78f0cea69c14895b1b089644077dbce8631a626055d96522f4d29e061d8bfc3e48aa1419e74faf265b998612c03f721f5f0cef4690f824150a5689764dee601
+DIST nxports.1.0.0.nupkg 883595 BLAKE2B 5439b02e60b6365fd82bcc6326003673825bd9c26a1fdbf5f39a13ee5fada62e74f36d14877f361eeeb328f2f397e0f5b442c6f8efb7b508b2a922cdd0e60d0c SHA512 29e9bb323bf9bf098f3eb78590005ad9fcccf79e602cf8c72535fd06b2e911a9a79db011ac85d37088ec83efed364b7d669b3767c94f403bcde4f56c13d72ba1
diff --git a/dev-python/clr-loader/clr-loader-0.2.6.ebuild b/dev-python/clr-loader/clr-loader-0.2.6.ebuild
new file mode 100644
index 000000000000..a18dcbd28462
--- /dev/null
+++ b/dev-python/clr-loader/clr-loader-0.2.6.ebuild
@@ -0,0 +1,91 @@
+# 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} )
+
+DOTNET_PKG_COMPAT=8.0
+NUGETS="
+microsoft.netcore.platforms@1.1.0
+microsoft.netframework.referenceassemblies.net461@1.0.0
+microsoft.netframework.referenceassemblies.net47@1.0.0
+microsoft.netframework.referenceassemblies@1.0.0
+netstandard.library@2.0.3
+nxports@1.0.0
+"
+
+inherit check-reqs dotnet-pkg distutils-r1
+
+DESCRIPTION="Generic pure Python loader for .NET runtimes"
+HOMEPAGE="https://pythonnet.github.io/clr-loader/
+ https://github.com/pythonnet/clr-loader/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/pythonnet/${PN}.git"
+else
+ inherit pypi
+
+ KEYWORDS="amd64"
+fi
+
+SRC_URI+=" ${NUGET_URIS} "
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ dev-python/cffi[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+CHECKREQS_DISK_BUILD="500M"
+DOTNET_PKG_PROJECTS=(
+ example/example.csproj
+ netfx_loader/ClrLoader.csproj
+)
+
+EPYTEST_DESELECT=(
+ # Mono only.
+ 'tests/test_common.py::test_mono'
+ 'tests/test_common.py::test_mono_debug'
+ 'tests/test_common.py::test_mono_signal_chaining'
+ 'tests/test_common.py::test_mono_set_dir'
+
+ # MS Windows only.
+ 'tests/test_common.py::test_netfx'
+ 'tests/test_common.py::test_netfx_chinese_path'
+ 'tests/test_common.py::test_netfx_separate_domain'
+)
+
+distutils_enable_tests pytest
+dotnet-pkg_force-compat
+
+pkg_setup() {
+ check-reqs_pkg_setup
+ dotnet-pkg_pkg_setup
+}
+
+src_prepare() {
+ # To be compatible with .NET >= 6.0.
+ cat <<-EOF > Directory.Build.props || die
+<Project>
+<PropertyGroup>
+<RollForward>Major</RollForward>
+</PropertyGroup>
+</Project>
+EOF
+ nuget_writeconfig "$(pwd)/"
+
+ distutils-r1_src_prepare
+}
+
+src_configure() {
+ dotnet-pkg_src_configure
+ distutils-r1_src_configure
+}
diff --git a/dev-python/clr-loader/metadata.xml b/dev-python/clr-loader/metadata.xml
new file mode 100644
index 000000000000..dd021b2598b7
--- /dev/null
+++ b/dev-python/clr-loader/metadata.xml
@@ -0,0 +1,19 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>dotnet@gentoo.org</email>
+ <name>Gentoo Dotnet Project</name>
+ </maintainer>
+ <longdescription>
+ clr_loader provides a unified way to load one of the CLR (.NET) runtime
+ implementations (.NET Framework, .NET (Core) or Mono), load assemblies, and
+ call very simple functions.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/pythonnet/clr-loader/issues/</bugs-to>
+ <remote-id type="github">pythonnet/clr-loader</remote-id>
+ <remote-id type="pypi">clr-loader</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/cmd2/cmd2-2.4.3.ebuild b/dev-python/cmd2/cmd2-2.4.3.ebuild
index f953f66e3566..0f826a16aea2 100644
--- a/dev-python/cmd2/cmd2-2.4.3.ebuild
+++ b/dev-python/cmd2/cmd2-2.4.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 virtualx pypi
diff --git a/dev-python/colorama/colorama-0.4.6.ebuild b/dev-python/colorama/colorama-0.4.6.ebuild
index 751fdfcdc4c9..92e804f5a314 100644
--- a/dev-python/colorama/colorama-0.4.6.ebuild
+++ b/dev-python/colorama/colorama-0.4.6.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/colorclass/colorclass-2.2.2-r1.ebuild b/dev-python/colorclass/colorclass-2.2.2-r1.ebuild
index 21cd49822e56..343f1fb2717a 100644
--- a/dev-python/colorclass/colorclass-2.2.2-r1.ebuild
+++ b/dev-python/colorclass/colorclass-2.2.2-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
BDEPEND="
test? (
diff --git a/dev-python/colored-traceback/Manifest b/dev-python/colored-traceback/Manifest
index 5f9e6ef0eece..2adedaa5558f 100644
--- a/dev-python/colored-traceback/Manifest
+++ b/dev-python/colored-traceback/Manifest
@@ -1 +1,4 @@
DIST colored-traceback-0.3.0.tar.gz 3837 BLAKE2B bf79942de0d0791b567dce21609be87319da11596b90e67018ee74069ea63b072b73778283112f9f52270fef046220eff355993d38f84ecd80d895da0401a010 SHA512 013d779df231295319c29a48fe81a5ddfd1b77b1734dedf630a914bdf0ea89e19a8ec028ae40c55125209e748f4027a74d04ec816f6c6d3c21aca52d2dd58e37
+DIST colored-traceback-0.4.0.tar.gz 4619 BLAKE2B 311c814820397774f466b2da1e64c1016ac4250ab4807b2c0c15bba74cf5c3b9f47fad24f6579de42af5c0c66455109fe5fe4e1611b47df2f7a37e083af23e51 SHA512 a477643ae646d93e4938351077760246d627ce4e2e7fc257dedb1b30a308c6851fbb5c265e168a3179ee60a970c8e3e0936b78ad0770f26a62027ed1b50082d2
+DIST colored-traceback-0.4.1.tar.gz 4723 BLAKE2B 774a5b523650a97bca368a35ee5aec22fc8e7cc8c2f0ec4ec6dec2684bf369cdd558ac8edd0394d1f594e02b15c0caa2d694a2455ab2483a9ccc1cd95c96fc90 SHA512 0cbf100d59e251d15fd793262a6e86b4c84de89a11e9eb56e4a1886d6c94dc7e72c1a86b95d97ac0668013aad2fbde2e4787abff8847d153df8fd3ad6af6ba85
+DIST colored-traceback-0.4.2.tar.gz 4707 BLAKE2B 9a4e228b7291d4c74bc2cbee610ef750d3300fe9ee84cf2f6c668ebaf30f521eaae0ad67364936d1f537b66e30918ae729740dc604b8bd0829f9d383a847f511 SHA512 f83dcc820051cb42801d4b3020b00d20f870e9229789993716b3d03b1e834ccfc7c48cfa112de0ad8eb30f167bcb9018476e715203c4ab1dd1d7e46a8f982921
diff --git a/dev-python/colored-traceback/colored-traceback-0.4.0.ebuild b/dev-python/colored-traceback/colored-traceback-0.4.0.ebuild
new file mode 100644
index 000000000000..b6c3128cf4a4
--- /dev/null
+++ b/dev-python/colored-traceback/colored-traceback-0.4.0.ebuild
@@ -0,0 +1,24 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Automatically color Python's uncaught exception tracebacks"
+HOMEPAGE="
+ https://github.com/staticshock/colored-traceback.py/
+ https://pypi.org/project/colored-traceback/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/pygments[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/colored-traceback/colored-traceback-0.4.1.ebuild b/dev-python/colored-traceback/colored-traceback-0.4.1.ebuild
new file mode 100644
index 000000000000..b6c3128cf4a4
--- /dev/null
+++ b/dev-python/colored-traceback/colored-traceback-0.4.1.ebuild
@@ -0,0 +1,24 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Automatically color Python's uncaught exception tracebacks"
+HOMEPAGE="
+ https://github.com/staticshock/colored-traceback.py/
+ https://pypi.org/project/colored-traceback/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/pygments[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/colored-traceback/colored-traceback-0.4.2.ebuild b/dev-python/colored-traceback/colored-traceback-0.4.2.ebuild
new file mode 100644
index 000000000000..b6c3128cf4a4
--- /dev/null
+++ b/dev-python/colored-traceback/colored-traceback-0.4.2.ebuild
@@ -0,0 +1,24 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Automatically color Python's uncaught exception tracebacks"
+HOMEPAGE="
+ https://github.com/staticshock/colored-traceback.py/
+ https://pypi.org/project/colored-traceback/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/pygments[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/colored-traceback/metadata.xml b/dev-python/colored-traceback/metadata.xml
index 2c1fd78f31a0..0fab2cb36243 100644
--- a/dev-python/colored-traceback/metadata.xml
+++ b/dev-python/colored-traceback/metadata.xml
@@ -16,6 +16,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="github">staticshock/colored-traceback.py</remote-id>
- <remote-id type="pypi">colored_traceback</remote-id>
+ <remote-id type="pypi">colored-traceback</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/coloredlogs/coloredlogs-15.0.1-r1.ebuild b/dev-python/coloredlogs/coloredlogs-15.0.1-r1.ebuild
deleted file mode 100644
index dedae4c72d72..000000000000
--- a/dev-python/coloredlogs/coloredlogs-15.0.1-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 pypi
-
-DESCRIPTION="Colored stream handler for the logging module"
-HOMEPAGE="
- https://pypi.org/project/coloredlogs/
- https://github.com/xolox/python-coloredlogs
- https://coloredlogs.readthedocs.io/en/latest/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/humanfriendly-9.1[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- dev-python/capturer[${PYTHON_USEDEP}]
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/verboselogs[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=( "${FILESDIR}/coloredlogs-14.0-fix-install-prefix.patch" )
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # test_auto_install fails because the pth file isn't being loaded
- coloredlogs/tests.py::ColoredLogsTestCase::test_auto_install
-)
-
-python_test() {
- epytest coloredlogs/tests.py
-}
diff --git a/dev-python/coloredlogs/coloredlogs-15.0.1-r2.ebuild b/dev-python/coloredlogs/coloredlogs-15.0.1-r2.ebuild
new file mode 100644
index 000000000000..26bc97f3c154
--- /dev/null
+++ b/dev-python/coloredlogs/coloredlogs-15.0.1-r2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 pypi
+
+DESCRIPTION="Colored stream handler for the logging module"
+HOMEPAGE="
+ https://pypi.org/project/coloredlogs/
+ https://github.com/xolox/python-coloredlogs
+ https://coloredlogs.readthedocs.io/en/latest/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/humanfriendly-9.1[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? (
+ dev-python/capturer[${PYTHON_USEDEP}]
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/verboselogs[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-14.0-fix-install-prefix.patch"
+ "${FILESDIR}/${PN}-15.0.1-py3.13.patch"
+)
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # test_auto_install fails because the pth file isn't being loaded
+ coloredlogs/tests.py::ColoredLogsTestCase::test_auto_install
+)
+
+python_test() {
+ epytest coloredlogs/tests.py
+}
diff --git a/dev-python/coloredlogs/files/coloredlogs-15.0.1-py3.13.patch b/dev-python/coloredlogs/files/coloredlogs-15.0.1-py3.13.patch
new file mode 100644
index 000000000000..649683b4944e
--- /dev/null
+++ b/dev-python/coloredlogs/files/coloredlogs-15.0.1-py3.13.patch
@@ -0,0 +1,43 @@
+From 9d4f4020897fcf48d381de8e099dc29b53fc9531 Mon Sep 17 00:00:00 2001
+From: "Benjamin A. Beasley" <code@musicinmybrain.net>
+Date: Wed, 12 Jun 2024 14:00:28 -0400
+Subject: [PATCH] Replace pipes.quote with shlex.quote on Python 3
+
+The shlex.quote() API is available from Python 3.3 on; pipes.quote() was
+never documented, and is removed in Python 3.13.
+
+Fixes #119.
+
+Upstream-PR: https://github.com/xolox/python-coloredlogs/pull/120
+Upstream-Issue: https://github.com/xolox/python-coloredlogs/issues/119
+
+diff --git a/coloredlogs/converter/__init__.py b/coloredlogs/converter/__init__.py
+index a424469..96817a0 100644
+--- a/coloredlogs/converter/__init__.py
++++ b/coloredlogs/converter/__init__.py
+@@ -9,11 +9,15 @@
+ # Standard library modules.
+ import codecs
+ import os
+-import pipes
+ import re
+ import subprocess
+ import tempfile
+
++try:
++ from shlex import quote # Python 3
++except ImportError:
++ from pipes import quote # Python 2 (removed in 3.13)
++
+ # External dependencies.
+ from humanfriendly.terminal import (
+ ANSI_CSI,
+@@ -75,7 +79,7 @@ def capture(command, encoding='UTF-8'):
+ #
+ # [1] http://man7.org/linux/man-pages/man1/script.1.html
+ # [2] https://developer.apple.com/legacy/library/documentation/Darwin/Reference/ManPages/man1/script.1.html
+- command_line = ['script', '-qc', ' '.join(map(pipes.quote, command)), '/dev/null']
++ command_line = ['script', '-qc', ' '.join(map(quote, command)), '/dev/null']
+ script = subprocess.Popen(command_line, stdout=subprocess.PIPE, stderr=dev_null)
+ stdout, stderr = script.communicate()
+ if script.returncode == 0:
diff --git a/dev-python/colorful/Manifest b/dev-python/colorful/Manifest
new file mode 100644
index 000000000000..880f11dbda60
--- /dev/null
+++ b/dev-python/colorful/Manifest
@@ -0,0 +1 @@
+DIST colorful-0.5.6.gh.tar.gz 366563 BLAKE2B b2c1b9b12bc5de69465ffaca9178c5ac56e0026b0ef732ab4a3a82286fd16141ec3ca397625fd00a3d041de41b34baadf1aacb185089ab0e8d5efddb7363418a SHA512 265e36c73a7ec183e4fd87d3db718b1bae353a99185eb4b1b5e057a6eda502b65672a3f0f9a569c76e6bf9342a1e2ee47fd2f4a8eaa08585f9806aa75c850661
diff --git a/dev-python/colorful/colorful-0.5.6.ebuild b/dev-python/colorful/colorful-0.5.6.ebuild
new file mode 100644
index 000000000000..a8dc7eaaa069
--- /dev/null
+++ b/dev-python/colorful/colorful-0.5.6.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Terminal string styling done right, in Python"
+HOMEPAGE="
+ https://pypi.org/project/colorful/
+ https://github.com/timofurrer/colorful/
+"
+SRC_URI="
+ https://github.com/timofurrer/colorful/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -s
+}
diff --git a/dev-python/colorful/metadata.xml b/dev-python/colorful/metadata.xml
new file mode 100644
index 000000000000..be5dd72ee646
--- /dev/null
+++ b/dev-python/colorful/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>foti.giuseppe@gmail.com</email>
+ <name>Giuseppe Foti</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <longdescription lang="en">
+ Package used for styling terminal strings in Python scripts.
+ This package is used as a dependency in net-analyzer/pontos.
+ </longdescription>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">timofurrer/colorful</remote-id>
+ <remote-id type="pypi">colorful</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/colorlog/Manifest b/dev-python/colorlog/Manifest
index acff1ab09cbb..73beec9a0512 100644
--- a/dev-python/colorlog/Manifest
+++ b/dev-python/colorlog/Manifest
@@ -1,2 +1 @@
-DIST colorlog-6.7.0.tar.gz 29920 BLAKE2B b4240f3fd17b17ead968293e54d5f4e589515d333a6cdf157a6d913c7457deff67d320ee87270ce05b853616134901c8ac47c4a542ef74158e1174d92de00b3c SHA512 19b3c04beb8ac26d3db69f78bc1e7db40288c95ba7edc7c1d2495d592262dea9a1bf91e42dce0e575341eb2a572f0050866970f23d3be8c5adae518c4115787d
-DIST colorlog-6.8.0.tar.gz 29939 BLAKE2B fd260f0c4149283a008d0902962848c579500f24937c2ae7a0ef75f6f10552f9739c5c1dce9553e264617f6662a9d3c8c31943d6690a4769abfa550dc4862f76 SHA512 a16752be362ed1ed5104e54d872d847873b9bc9138d59a8e525e32b386c8824c7a21689c354517392de6f16035601ce0f30daebc32d08b911c18ca4004292e02
+DIST colorlog-6.8.2.tar.gz 16529 BLAKE2B c745e9deae4f0a96e5b3481268b7ae402f0c7f05a3997753cbc6e117c1f0630338748ca557f5f3ae261694f0ce6c65f486d06d35778b3ee331160d2c0596465f SHA512 cffd4541837e15ed7cfa0e48d8424d6bb10d0de6e227fe16145cfba51ebc2f90e2a4c750db57d37ee2708ec0272de97ad74e946283b7b3cd3628e1bd24a60b6f
diff --git a/dev-python/colorlog/colorlog-6.7.0.ebuild b/dev-python/colorlog/colorlog-6.7.0.ebuild
deleted file mode 100644
index fd1f5d028ae7..000000000000
--- a/dev-python/colorlog/colorlog-6.7.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Log formatting with colors"
-HOMEPAGE="
- https://pypi.org/project/colorlog/
- https://github.com/borntyping/python-colorlog/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}/${P}-nocolor.patch"
-)
diff --git a/dev-python/colorlog/colorlog-6.8.0.ebuild b/dev-python/colorlog/colorlog-6.8.0.ebuild
deleted file mode 100644
index a3daf1fc155f..000000000000
--- a/dev-python/colorlog/colorlog-6.8.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Log formatting with colors"
-HOMEPAGE="
- https://pypi.org/project/colorlog/
- https://github.com/borntyping/python-colorlog/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/colorlog/colorlog-6.8.2.ebuild b/dev-python/colorlog/colorlog-6.8.2.ebuild
new file mode 100644
index 000000000000..d75db15a6ab3
--- /dev/null
+++ b/dev-python/colorlog/colorlog-6.8.2.ebuild
@@ -0,0 +1,26 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Log formatting with colors"
+HOMEPAGE="
+ https://pypi.org/project/colorlog/
+ https://github.com/borntyping/python-colorlog/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~loong ~riscv x86"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/borntyping/python-colorlog/commit/607485def2d60b60c40c0d682574324b47fc30ba
+ "${FILESDIR}/${P}-py313.patch"
+)
diff --git a/dev-python/colorlog/files/colorlog-6.7.0-nocolor.patch b/dev-python/colorlog/files/colorlog-6.7.0-nocolor.patch
deleted file mode 100644
index cbd799a2f0d7..000000000000
--- a/dev-python/colorlog/files/colorlog-6.7.0-nocolor.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 4babdb5f18bd4799c25d61f0f7937b5e164770cc Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Fri, 24 Nov 2023 16:45:42 +0100
-Subject: [PATCH] Fix running tests in environment with NO_COLOR=1
-
-Fix running the test suite when pytest is run with NO_COLOR=1 set
-in the environment. An fixture is autoused to ensure that the variables
-are removed for the scope of the test, while they are respected
-e.g. by pytest itself.
----
- colorlog/tests/conftest.py | 7 +++++++
- 1 file changed, 7 insertions(+)
-
-diff --git a/colorlog/tests/conftest.py b/colorlog/tests/conftest.py
-index 65fd6d4..33e23e6 100644
---- a/colorlog/tests/conftest.py
-+++ b/colorlog/tests/conftest.py
-@@ -28,6 +28,13 @@ def assert_log_message(capsys, log_function, message, *args):
- return err
-
-
-+@pytest.fixture(autouse=True)
-+def clean_env(monkeypatch):
-+ monkeypatch.delenv("FORCE_COLOR", raising=False)
-+ monkeypatch.delenv("NO_COLOR", raising=False)
-+ yield
-+
-+
- @pytest.fixture()
- def reset_loggers():
- logging.root.handlers = list()
diff --git a/dev-python/colorlog/files/colorlog-6.8.2-py313.patch b/dev-python/colorlog/files/colorlog-6.8.2-py313.patch
new file mode 100644
index 000000000000..dc47fe2ee534
--- /dev/null
+++ b/dev-python/colorlog/files/colorlog-6.8.2-py313.patch
@@ -0,0 +1,51 @@
+From 607485def2d60b60c40c0d682574324b47fc30ba Mon Sep 17 00:00:00 2001
+From: Sam Clements <sam@borntyping.co.uk>
+Date: Fri, 26 Jan 2024 14:06:47 +0000
+Subject: [PATCH] Support Python 3.13
+
+---
+ colorlog/wrappers.py | 17 +++++++++++++----
+ 4 files changed, 17 insertions(+), 6 deletions(-)
+
+diff --git a/colorlog/wrappers.py b/colorlog/wrappers.py
+index 20e3042..63b201a 100644
+--- a/colorlog/wrappers.py
++++ b/colorlog/wrappers.py
+@@ -2,6 +2,7 @@
+
+ import functools
+ import logging
++import sys
+ import typing
+ from logging import (
+ CRITICAL,
+@@ -53,8 +54,8 @@ def basicConfig(
+ ) -> None:
+ """Call ``logging.basicConfig`` and override the formatter it creates."""
+ logging.basicConfig(**kwargs)
+- logging._acquireLock() # type: ignore
+- try:
++
++ def _basicConfig():
+ handler = logging.root.handlers[0]
+ handler.setFormatter(
+ colorlog.formatter.ColoredFormatter(
+@@ -67,8 +68,16 @@ def basicConfig(
+ stream=kwargs.get("stream", None),
+ )
+ )
+- finally:
+- logging._releaseLock() # type: ignore
++
++ if sys.version_info >= (3, 13):
++ with logging._lock:
++ _basicConfig()
++ else:
++ logging._acquireLock() # type: ignore
++ try:
++ _basicConfig()
++ finally:
++ logging._releaseLock() # type: ignore
+
+
+ def ensure_configured(func):
diff --git a/dev-python/colour/colour-0.1.5-r1.ebuild b/dev-python/colour/colour-0.1.5-r1.ebuild
new file mode 100644
index 000000000000..ff38e3f39a6a
--- /dev/null
+++ b/dev-python/colour/colour-0.1.5-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python color representations manipulation library"
+HOMEPAGE="
+ https://github.com/vaab/colour/
+ https://pypi.org/project/colour/
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ # Upstream uses dead & broken d2to1, just make a quick flit config
+ # to make it work.
+ cat > pyproject.toml <<-EOF
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "colour"
+ version = "${PV}"
+ description = "${DESCRIPTION}"
+ EOF
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest --doctest-modules
+}
diff --git a/dev-python/colour/colour-0.1.5.ebuild b/dev-python/colour/colour-0.1.5.ebuild
deleted file mode 100644
index 8f0f5a16b41f..000000000000
--- a/dev-python/colour/colour-0.1.5.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python color representations manipulation library"
-HOMEPAGE="https://github.com/vaab/colour/"
-KEYWORDS="amd64 arm64 ~x86"
-
-LICENSE="GPL-3+"
-SLOT="0"
-
-PATCHES=( "${FILESDIR}"/${PN}-setup.patch )
-
-distutils_enable_tests pytest
-
-src_prepare() {
- rm setup.cfg || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- epytest --doctest-modules
-}
diff --git a/dev-python/colour/files/colour-setup.patch b/dev-python/colour/files/colour-setup.patch
deleted file mode 100644
index 833a045fbf82..000000000000
--- a/dev-python/colour/files/colour-setup.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/setup.py
-+++ b/setup.py
-@@ -60,5 +60,4 @@ if "0.1.5".startswith("%%"):
-
- setup(
- extras_require={'test': ['nose', ]},
-- d2to1=True
- )
diff --git a/dev-python/comm/Manifest b/dev-python/comm/Manifest
index bb06b69e761d..0380e0940bc0 100644
--- a/dev-python/comm/Manifest
+++ b/dev-python/comm/Manifest
@@ -1 +1 @@
-DIST comm-0.2.0.gh.tar.gz 8936 BLAKE2B 0ca702f3e4aa2a06f827a4896a3497cd98d1e4bafbf9d92942d8d9c6ee8f81b1300a3f2ae72ba32833574444e4d2a4a1fc20be70638333edcbdc2854ee612708 SHA512 6336d9ff2fcf9016d3616ec5c7f6715e8abffc878a0f5b8dabcd06cd17f851cf562e918bd43b55e435adf6da1e635e7152c3b525a5d718b04e7f98b3c8096505
+DIST comm-0.2.2.gh.tar.gz 9983 BLAKE2B aedbd55751cbf58b2e7adad5e59af1aa1479e653bb7b62f811686a30630682edfd6fe82e18ed14d9f7a4b875e2596fba375eb34493f3d29eeeb6ca1b7bdd7c71 SHA512 a37999859894186cb52f50835459dd6c3aced256ed1c6319660c98ad9e423f4ab1fd86545f68c82fbbbd74dcec70359566307cecbc3610d806084a33fae9e693
diff --git a/dev-python/comm/comm-0.2.0.ebuild b/dev-python/comm/comm-0.2.0.ebuild
deleted file mode 100644
index 9395afb06a69..000000000000
--- a/dev-python/comm/comm-0.2.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2022-2023 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
-
-DESCRIPTION="Jupyter Python Comm implementation, for usage in ipykernel, xeus-python"
-HOMEPAGE="
- https://github.com/ipython/comm/
- https://pypi.org/project/comm/
-"
-# no tests in sdist, as of 0.1.3
-SRC_URI="
- https://github.com/ipython/comm/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/traitlets-4[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/comm/comm-0.2.2.ebuild b/dev-python/comm/comm-0.2.2.ebuild
new file mode 100644
index 000000000000..68ed62241b5a
--- /dev/null
+++ b/dev-python/comm/comm-0.2.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Jupyter Python Comm implementation, for usage in ipykernel, xeus-python"
+HOMEPAGE="
+ https://github.com/ipython/comm/
+ https://pypi.org/project/comm/
+"
+# no tests in sdist, as of 0.1.3
+SRC_URI="
+ https://github.com/ipython/comm/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/traitlets-4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/commentjson/commentjson-0.9.0-r2.ebuild b/dev-python/commentjson/commentjson-0.9.0-r2.ebuild
index 6ebede96a2b3..d13acc5cfe8b 100644
--- a/dev-python/commentjson/commentjson-0.9.0-r2.ebuild
+++ b/dev-python/commentjson/commentjson-0.9.0-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~ppc64 ~riscv ~sparc x86"
RDEPEND="
dev-python/lark[${PYTHON_USEDEP}]
@@ -34,7 +34,13 @@ BDEPEND="
distutils_enable_tests unittest
src_prepare() {
+ local PATCHES=(
+ # https://github.com/vaidik/commentjson/pull/54
+ "${FILESDIR}/${P}-py312.patch"
+ )
+
+ distutils-r1_src_prepare
+
# remove lark-parser dependency to allow painless upgrade to lark
sed -e '/lark-parser/d' -i setup.py || die
- distutils-r1_src_prepare
}
diff --git a/dev-python/commentjson/files/commentjson-0.9.0-py312.patch b/dev-python/commentjson/files/commentjson-0.9.0-py312.patch
new file mode 100644
index 000000000000..dbdcfe488f83
--- /dev/null
+++ b/dev-python/commentjson/files/commentjson-0.9.0-py312.patch
@@ -0,0 +1,24 @@
+From 04ad293f800039c0221ff010236e589a4ba7079d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 23 Jun 2024 14:54:42 +0200
+Subject: [PATCH] Update test skips for Python 3.12+
+
+Python 3.12 moves testing for `Infinity` and other constants
+into `test_json/test_decode.py::test_parse_constant`.
+---
+ commentjson/tests/test_json/test_decode.py | 5 +++++
+ 1 file changed, 5 insertions(+)
+
+diff --git a/commentjson/tests/test_json/test_decode.py b/commentjson/tests/test_json/test_decode.py
+index 6971c44..8f5e904 100644
+--- a/commentjson/tests/test_json/test_decode.py
++++ b/commentjson/tests/test_json/test_decode.py
+@@ -69,3 +69,8 @@ def test_string_with_utf8_bom(self):
+ 'test case is not supported by commentjson.'))
+ def test_negative_index(self):
+ pass
++
++ @unittest.skipIf(version >= (3, 12),
++ 'Infinity as a value is not supported yet')
++ def test_parse_constant(self):
++ pass
diff --git a/dev-python/commonmark/commonmark-0.9.1-r1.ebuild b/dev-python/commonmark/commonmark-0.9.1-r1.ebuild
index 9b9d6837b501..cd2ce6d4398a 100644
--- a/dev-python/commonmark/commonmark-0.9.1-r1.ebuild
+++ b/dev-python/commonmark/commonmark-0.9.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/configclass/configclass-0.2.0-r1.ebuild b/dev-python/configclass/configclass-0.2.0-r1.ebuild
index 2740af66df37..7432cb98afc8 100644
--- a/dev-python/configclass/configclass-0.2.0-r1.ebuild
+++ b/dev-python/configclass/configclass-0.2.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/configobj/configobj-5.0.8.ebuild b/dev-python/configobj/configobj-5.0.8.ebuild
index d3b2b5960179..34e5eabc6553 100644
--- a/dev-python/configobj/configobj-5.0.8.ebuild
+++ b/dev-python/configobj/configobj-5.0.8.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/configshell-fb/configshell-fb-1.1.30.ebuild b/dev-python/configshell-fb/configshell-fb-1.1.30.ebuild
index 0265aec51357..0d0a86741e12 100644
--- a/dev-python/configshell-fb/configshell-fb-1.1.30.ebuild
+++ b/dev-python/configshell-fb/configshell-fb-1.1.30.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/configupdater/Manifest b/dev-python/configupdater/Manifest
index 2b211bc3054f..948d6985eab5 100644
--- a/dev-python/configupdater/Manifest
+++ b/dev-python/configupdater/Manifest
@@ -1,2 +1 @@
-DIST configupdater-3.1.1.gh.tar.gz 138777 BLAKE2B 9fef5815bc41903a65c2c53c6b9ff3d00d1f4efe65008c725afda8d12694be4d18810cbfc03b291246789d736f1a2933061f2683bfc62e9e1d72e2e4f159d772 SHA512 1e499f87d0ac3d75f32aafe532d7c83b4b86fbaa204fcdbaf7a3dcb5262d936fe027ee0b21d169ef69a0590edbe965a872390b14be274fbb1c893f2d4695b92c
DIST configupdater-3.2.gh.tar.gz 139435 BLAKE2B c65db82b4dd2cc944772418e2166516aed610cf63bc693b16b5d62872700a6a75fefb144ea2e17300c3b665489fa66dc7dbca4396235d18f962c9ed105fedf97 SHA512 700925a27033049de6fc3ee1fbafc4968ea2cc0683ae66725da5cffeff2f5e0e85229c6560e685976023955ce7d642fe7182e67a6a8dea2d4953531cf5938812
diff --git a/dev-python/configupdater/configupdater-3.1.1.ebuild b/dev-python/configupdater/configupdater-3.1.1.ebuild
deleted file mode 100644
index 97c7a0a0f5fa..000000000000
--- a/dev-python/configupdater/configupdater-3.1.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{9..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Parser like ConfigParser but for updating configuration files"
-HOMEPAGE="
- https://github.com/pyscaffold/configupdater/
- https://pypi.org/project/ConfigUpdater/
-"
-SRC_URI="
- https://github.com/pyscaffold/configupdater/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT PSF-2 PYTHON"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-src_prepare() {
- distutils-r1_src_prepare
- sed -i -e '/--cov/d' setup.cfg || die
-}
diff --git a/dev-python/configupdater/configupdater-3.2.ebuild b/dev-python/configupdater/configupdater-3.2.ebuild
index 97c59d6aff57..15906bae302b 100644
--- a/dev-python/configupdater/configupdater-3.2.ebuild
+++ b/dev-python/configupdater/configupdater-3.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT PSF-2 PYTHON"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
diff --git a/dev-python/confusable-homoglyphs/Manifest b/dev-python/confusable-homoglyphs/Manifest
new file mode 100644
index 000000000000..9f8ce60e5894
--- /dev/null
+++ b/dev-python/confusable-homoglyphs/Manifest
@@ -0,0 +1 @@
+DIST confusable_homoglyphs-3.3.1.tar.gz 325480 BLAKE2B 74a18d442832197cd6371721269ef6389fe2e82e96131656e1ba4d49cb2be9431f715125640c330babe3bce1b2eb34aaf9097a29b6743d2b1c90b5aa53f5dee3 SHA512 c6032479025caa779c79761fc6b34e5b5adab3d784bfe03282b7f5edc7701366ee7897bd4e8a4c264e7a06a59f075ac876bd47fa328accfe981944e70092d40d
diff --git a/dev-python/confusable-homoglyphs/confusable-homoglyphs-3.3.1.ebuild b/dev-python/confusable-homoglyphs/confusable-homoglyphs-3.3.1.ebuild
new file mode 100644
index 000000000000..b127a4ac6d52
--- /dev/null
+++ b/dev-python/confusable-homoglyphs/confusable-homoglyphs-3.3.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Detect confusable usage of unicode homoglyphs, prevent homograph attacks"
+HOMEPAGE="
+ https://git.sr.ht/~valhalla/confusable_homoglyphs/
+ https://pypi.org/project/confusable-homoglyphs/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/versioneer[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # removed outdated bundled version (for py3.12 compat)
+ rm versioneer.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/confusable-homoglyphs/metadata.xml b/dev-python/confusable-homoglyphs/metadata.xml
new file mode 100644
index 000000000000..947931a5ee82
--- /dev/null
+++ b/dev-python/confusable-homoglyphs/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>tupone@gentoo.org</email>
+ <name>Tupone Alfredo</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">confusable-homoglyphs</remote-id>
+ <remote-id type="sourcehut">~valhalla/confusable_homoglyphs</remote-id>
+ <remote-id type="github">vhf/confusable_homoglyphs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/confusable_homoglyphs/Manifest b/dev-python/confusable_homoglyphs/Manifest
deleted file mode 100644
index e971c47f18f5..000000000000
--- a/dev-python/confusable_homoglyphs/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST confusable_homoglyphs-3.2.0.tar.gz 161937 BLAKE2B ac2c66317b18dd73868b3cbe3b11162550597547da8ee3df5525362b79bd7f61a19bd7446839dfb477d5c2b27464fc88a120c5c6d496de8b86c9e88aabd8aeb0 SHA512 0a46a5bc94393592f6fa088bbe2f95cc301972c55de08231f3607828fcd3c5cb462514b80013283ef8cd8d76eaa3e14258ac8f3433c9c2cd1a89bcebca8fa7f6
diff --git a/dev-python/confusable_homoglyphs/confusable_homoglyphs-3.2.0-r2.ebuild b/dev-python/confusable_homoglyphs/confusable_homoglyphs-3.2.0-r2.ebuild
deleted file mode 100644
index 5d7ef0d9fa24..000000000000
--- a/dev-python/confusable_homoglyphs/confusable_homoglyphs-3.2.0-r2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Detect confusable usage of unicode homoglyphs, prevent homograph attacks"
-HOMEPAGE="
- https://github.com/vhf/confusable_homoglyphs/
- https://pypi.org/project/confusable_homoglyphs/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/click[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/versioneer[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # removed outdated bundled version (for py3.12 compat)
- rm versioneer.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/confusable_homoglyphs/metadata.xml b/dev-python/confusable_homoglyphs/metadata.xml
deleted file mode 100644
index 1c67e1e89d60..000000000000
--- a/dev-python/confusable_homoglyphs/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>tupone@gentoo.org</email>
- <name>Tupone Alfredo</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">confusable_homoglyphs</remote-id>
- <remote-id type="github">vhf/confusable_homoglyphs</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/confuse/confuse-2.0.1.ebuild b/dev-python/confuse/confuse-2.0.1.ebuild
index bffe7b543011..cee4e8757ab6 100644
--- a/dev-python/confuse/confuse-2.0.1.ebuild
+++ b/dev-python/confuse/confuse-2.0.1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
DISTUTILS_USE_PEP517=flit
inherit distutils-r1 pypi
diff --git a/dev-python/cons/cons-0.4.6.ebuild b/dev-python/cons/cons-0.4.6.ebuild
index a4a1e8a6f194..89bce1de62ea 100644
--- a/dev-python/cons/cons-0.4.6.ebuild
+++ b/dev-python/cons/cons-0.4.6.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/consonance/consonance-0.1.5-r1.ebuild b/dev-python/consonance/consonance-0.1.5-r1.ebuild
index 39ea3cf01cb3..09de935cd30f 100644
--- a/dev-python/consonance/consonance-0.1.5-r1.ebuild
+++ b/dev-python/consonance/consonance-0.1.5-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/constantly/Manifest b/dev-python/constantly/Manifest
index aa5b9a17052c..143699ea10ca 100644
--- a/dev-python/constantly/Manifest
+++ b/dev-python/constantly/Manifest
@@ -1 +1 @@
-DIST constantly-23.10.4.gh.tar.gz 31245 BLAKE2B ebf2c9ea343cc20f8b2f32f0a95e5d10ecbafed5e74b456d4f3ce7e5abb0d0c02ccc41a734d1b04dc79d0d5957474fd317758f062be9a0240d8450dde159d1d0 SHA512 465dfc2ae857a956d91d6ae3eadabcde02905c2761ef51dca4d28c7ca47aa11757c773cac2aa082936be4e85f2aa8fac31840d209cdf9d871e73db836cb2e9a5
+DIST constantly-23.10.4.gh.tar.gz 31228 BLAKE2B 8bc84de285bdb99074acbccfa19b09c2937f6d5e0f11df82a22cf4a505de82454f7a63f2715b7c277c8ea8f1b7187aa841c508c08927434f38d87a16801065ca SHA512 41672b4b9292a6860fa3bad815170cb7da934cc12091ed4a2b85896370c7f7bbd18d363e40ba8aef08c113082de7b06662eaf7fb500f9b4bf7a6db50cfc035c9
diff --git a/dev-python/constantly/constantly-23.10.4.ebuild b/dev-python/constantly/constantly-23.10.4.ebuild
index 810c092d6b47..d5c8fe34ff50 100644
--- a/dev-python/constantly/constantly-23.10.4.ebuild
+++ b/dev-python/constantly/constantly-23.10.4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/construct/Manifest b/dev-python/construct/Manifest
index 766a648cad84..41804c38ca03 100644
--- a/dev-python/construct/Manifest
+++ b/dev-python/construct/Manifest
@@ -1,2 +1 @@
-DIST construct-2.10.69.gh.tar.gz 1195652 BLAKE2B 003353d4be4992ecb9e32b845a35a4850f451e3ead40af2c1b9d3380c27b58088e75e20ff76c733e573594e1ae08406c188868907c0f335c13e23cb01bf7481f SHA512 c94a1b3a62c9bf4aed30eb262d4439452f98fe909e399d79ece8da4aa707f95c754d540672c2cc9c307425914e43384b5455eb7970ab5d7830af1c0b06313f9e
DIST construct-2.10.70.gh.tar.gz 1196623 BLAKE2B 98206e9fbf65c208172cfc4ac983c636fe022a51891a9d8f784c87656d2143f97fd7ec108cc24ca857a589479fe5ca17beb8db245c300d5bb90fdfd2859e5801 SHA512 1c4fe99d36266bf68f4876fdaea5b7cbbb2ea202b73cf4b54f92b443cd753200aec52a15ff97001c9e040b3c16ecc8dd444bbac26f7860100087e430beab1f81
diff --git a/dev-python/construct/construct-2.10.69.ebuild b/dev-python/construct/construct-2.10.69.ebuild
deleted file mode 100644
index 26b4949dc173..000000000000
--- a/dev-python/construct/construct-2.10.69.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A powerful declarative parser for binary data"
-HOMEPAGE="
- https://construct.readthedocs.io/en/latest/
- https://github.com/construct/construct/
- https://pypi.org/project/construct/
-"
-SRC_URI="
- https://github.com/construct/construct/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-BDEPEND="
- test? (
- dev-python/arrow[${PYTHON_USEDEP}]
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/lz4[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.15.4[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- tests/test_benchmarks.py
-)
-
-pkg_postinst() {
- ewarn "Version 2.10.x has significant API and implementation changes from"
- ewarn "previous 2.9.x releases. Please read the documentation at"
- ewarn "https://construct.readthedocs.io/en/latest/transition210.html"
- ewarn "for more info."
-}
diff --git a/dev-python/construct/construct-2.10.70.ebuild b/dev-python/construct/construct-2.10.70.ebuild
index 53bffe5dd8d1..5afe3c41a9b0 100644
--- a/dev-python/construct/construct-2.10.70.ebuild
+++ b/dev-python/construct/construct-2.10.70.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
BDEPEND="
test? (
diff --git a/dev-python/contourpy/Manifest b/dev-python/contourpy/Manifest
index 5461a6ab8210..b85d4878838b 100644
--- a/dev-python/contourpy/Manifest
+++ b/dev-python/contourpy/Manifest
@@ -1 +1 @@
-DIST contourpy-1.2.0.gh.tar.gz 13440145 BLAKE2B c8082f69c3c8ad2b9a2d7a8e68941f1b741b0527161df371b501a32b8f0572a012aa2184b9f3ea943f45143f218f910180e31371683826d2b9b9431537c72cbd SHA512 91084ca659f796fb49f34840fb08a1a8f2a78ce8264668f5729550b1c46f316933c1d76ed87797bf58a059f0cf63e6efc58c92e44c57787fc8ad1ca16a21aa6e
+DIST contourpy-1.2.1.gh.tar.gz 13440991 BLAKE2B 2e792ca990244f7890462b84a2f23e4fbc31fd8ce0a18bc8724767dfa4b5fc0a4271dc6989531423db58d567706a28ce95e680372dbf64bae93a09914353f3ac SHA512 2bb2ac7436cbee1ebc69e6edaf3166e294de32711cec506ce9a3132f1cf20ff8de70af27b432b81abb582c9fe30239f8724f68936908bdbf6348eb249eaae4d5
diff --git a/dev-python/contourpy/contourpy-1.2.0.ebuild b/dev-python/contourpy/contourpy-1.2.0.ebuild
deleted file mode 100644
index ef0133a68c28..000000000000
--- a/dev-python/contourpy/contourpy-1.2.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python library for calculating contours in 2D quadrilateral grids"
-HOMEPAGE="
- https://pypi.org/project/contourpy/
- https://github.com/contourpy/contourpy/
-"
-SRC_URI="
- https://github.com/contourpy/contourpy/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.6[${PYTHON_USEDEP}]
- test? (
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/wurlitzer[${PYTHON_USEDEP}]
- )
-"
-
-DISTUTILS_ARGS=(
- -Dwerror=false
-)
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-PATCHES=(
- # https://github.com/contourpy/contourpy/pull/327
- "${FILESDIR}/${P}-unicore.patch"
-)
-
-python_test() {
- local EPYTEST_IGNORE=(
- # linters
- tests/test_codebase.py
- )
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/contourpy/contourpy-1.2.1.ebuild b/dev-python/contourpy/contourpy-1.2.1.ebuild
new file mode 100644
index 000000000000..8c636d9c79a7
--- /dev/null
+++ b/dev-python/contourpy/contourpy-1.2.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for calculating contours in 2D quadrilateral grids"
+HOMEPAGE="
+ https://pypi.org/project/contourpy/
+ https://github.com/contourpy/contourpy/
+"
+SRC_URI="
+ https://github.com/contourpy/contourpy/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pybind11-2.12.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/wurlitzer[${PYTHON_USEDEP}]
+ )
+"
+
+DISTUTILS_ARGS=(
+ -Dwerror=false
+)
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # linters
+ tests/test_codebase.py
+ )
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/contourpy/files/contourpy-1.2.0-unicore.patch b/dev-python/contourpy/files/contourpy-1.2.0-unicore.patch
deleted file mode 100644
index c25a1807dcd4..000000000000
--- a/dev-python/contourpy/files/contourpy-1.2.0-unicore.patch
+++ /dev/null
@@ -1,83 +0,0 @@
-From f948f821c705329a98bbcdcba5b642fe6c6f0b74 Mon Sep 17 00:00:00 2001
-From: matoro <matoro@users.noreply.github.com>
-Date: Wed, 15 Nov 2023 02:18:49 -0500
-Subject: [PATCH] Support running tests on unicore hosts
-
-All tests pass except those explicitly asserting that they are on a
-multicore system. Adds a conditional skip to those which are only
-useful on multicore hosts.
----
- tests/test_filled.py | 7 +++++--
- tests/test_lines.py | 7 +++++--
- tests/test_misc.py | 8 +-------
- 3 files changed, 11 insertions(+), 11 deletions(-)
-
-diff --git a/tests/test_filled.py b/tests/test_filled.py
-index b239f3b..c41e0d1 100644
---- a/tests/test_filled.py
-+++ b/tests/test_filled.py
-@@ -8,7 +8,7 @@
- from numpy.testing import assert_allclose, assert_array_equal
- import pytest
-
--from contourpy import FillType, contour_generator
-+from contourpy import FillType, contour_generator, max_threads
- from contourpy.util.data import random, simple
-
- from . import util_test
-@@ -734,7 +734,10 @@ def assert_chunk_offsets(offsets_or_none: list[cpy.OffsetArray | None]) -> None:
- @pytest.mark.threads
- @pytest.mark.parametrize("fill_type", FillType.__members__.values())
- @pytest.mark.parametrize("name, thread_count",
-- [("serial", 1), ("threaded", 1), ("threaded", 2)])
-+ [("serial", 1), ("threaded", 1),
-+ pytest.param("threaded", 2,
-+ marks = pytest.mark.skipif(
-+ max_threads() <= 1, reason = "executing on unicore host"))])
- def test_return_by_fill_type_chunk(
- xyz_chunk_test: tuple[cpy.CoordinateArray, ...],
- name: str,
-diff --git a/tests/test_lines.py b/tests/test_lines.py
-index 9608591..0b0833b 100644
---- a/tests/test_lines.py
-+++ b/tests/test_lines.py
-@@ -6,7 +6,7 @@
- from numpy.testing import assert_allclose, assert_array_equal
- import pytest
-
--from contourpy import LineType, contour_generator
-+from contourpy import LineType, contour_generator, max_threads
- from contourpy.util.data import random, simple
-
- from . import util_test
-@@ -707,7 +707,10 @@ def test_return_by_line_type(
- @pytest.mark.threads
- @pytest.mark.parametrize("line_type", LineType.__members__.values())
- @pytest.mark.parametrize("name, thread_count",
-- [("serial", 1), ("threaded", 1), ("threaded", 2)])
-+ [("serial", 1), ("threaded", 1),
-+ pytest.param("threaded", 2,
-+ marks = pytest.mark.skipif(
-+ max_threads() <= 1, reason = "executing on unicore host"))])
- def test_return_by_line_type_chunk(
- xyz_chunk_test: tuple[cpy.CoordinateArray, ...],
- name: str,
-diff --git a/tests/test_misc.py b/tests/test_misc.py
-index 5e46e3f..acd558a 100644
---- a/tests/test_misc.py
-+++ b/tests/test_misc.py
-@@ -2,13 +2,7 @@
-
- import numpy as np
-
--from contourpy import _remove_z_mask, contour_generator, max_threads
--
--
--def test_max_threads() -> None:
-- n = max_threads()
-- # Assume testing on machine with 2 or more cores.
-- assert n > 1
-+from contourpy import _remove_z_mask, contour_generator
-
-
- def test_nan() -> None:
diff --git a/dev-python/conway-polynomials/Manifest b/dev-python/conway-polynomials/Manifest
index ea23245020e6..e1339cbd9660 100644
--- a/dev-python/conway-polynomials/Manifest
+++ b/dev-python/conway-polynomials/Manifest
@@ -1 +1 @@
-DIST conway-polynomials-0.8.tar.gz 244196 BLAKE2B 0096f522b8a785ed9d5975aac4d8a518d491e608ad72e9bc70e0530c953fd4e033ec6b9d5c54b7ebce9e7c103c8445aed42c4dc6b7708537f857ea5860032b24 SHA512 ddc223a1924e8740734ad646950dc457454f19883f690bf0d94365a6087591bd296a1c9cd41f4935361ee62046d4b7a333bb3ba90614bcf92228716166f2745a
+DIST conway_polynomials-0.10.tar.gz 307447 BLAKE2B f079041954dc280204ae7d0dcb467c1cd982ff1f4a46eb8193ae3bb20c47f7394c1f5de31dd573f240a89b9e2f174d97744af944ce498cd6a6cc029389ca7517 SHA512 8ddaea35ba5974cea7ede93c5fde8d481a484cd5c5c2d310e64a7fb9bb22f6781a36cc30d1e75fc79c47af2241b34102cff60e5776963859bfee5f3799772fc8
diff --git a/dev-python/conway-polynomials/conway-polynomials-0.10.ebuild b/dev-python/conway-polynomials/conway-polynomials-0.10.ebuild
new file mode 100644
index 000000000000..a086dee59df6
--- /dev/null
+++ b/dev-python/conway-polynomials/conway-polynomials-0.10.ebuild
@@ -0,0 +1,21 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python interface to Frank Lübeck's Conway polynomial database"
+HOMEPAGE="
+ https://github.com/sagemath/conway-polynomials/
+ https://pypi.org/project/conway-polynomials/
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64"
+
+distutils_enable_tests pytest
diff --git a/dev-python/conway-polynomials/conway-polynomials-0.8.ebuild b/dev-python/conway-polynomials/conway-polynomials-0.8.ebuild
deleted file mode 100644
index 99f2847b6c30..000000000000
--- a/dev-python/conway-polynomials/conway-polynomials-0.8.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python interface to Frank Lübeck's Conway polynomial database"
-HOMEPAGE="https://pypi.org/project/conway-polynomials/
- https://github.com/sagemath/conway-polynomials"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE=""
-
-python_test(){
- PYTHONPATH="src" \
- "${EPYTHON}" -m doctest src/conway_polynomials/__init__.py \
- || die
-}
diff --git a/dev-python/cookies/cookies-2.2.1-r2.ebuild b/dev-python/cookies/cookies-2.2.1-r2.ebuild
index 183cbb721c21..b8475354d243 100644
--- a/dev-python/cookies/cookies-2.2.1-r2.ebuild
+++ b/dev-python/cookies/cookies-2.2.1-r2.ebuild
@@ -1,10 +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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
inherit distutils-r1 pypi
DESCRIPTION="Friendlier RFC 6265-compliant cookie parser/renderer"
diff --git a/dev-python/coverage/Manifest b/dev-python/coverage/Manifest
index 532f29c60c90..a10fe5969e2c 100644
--- a/dev-python/coverage/Manifest
+++ b/dev-python/coverage/Manifest
@@ -1 +1,3 @@
-DIST coverage-7.3.2.tar.gz 764541 BLAKE2B 5301a45a1618582d6b7bc1c887fdfdc7ef612082675b271e5ab840f2adc357c6a01f59ba5571e6dba61db61c85ee66d40af46b3509dfbf5c996fcf9fd6b2a614 SHA512 94e3b0bae2f84d31448a717f105e4f03e485a47d9498e73e86eca2f040d0980e514e3d9264f5349f70ea93fc985161d89156d0faa444d28cc7a07e51db4e1a46
+DIST coverage-7.5.3.tar.gz 786184 BLAKE2B 014a21273bf302a7e10d3239edda1a95b99674abd0b7b769a688a4e576d0b9e5ce9189ee38e8c53b0cbd5ea7bd2c7f7583704455f6842c9a19e77cc19aae3de1 SHA512 6c72525b19b0efbf6a23b8a2860e056613c8119a5306978a67bc11b8598bac693e7541a9ca206bb9394511c9a84097a7f450ebf38e7c1c40e914fd71cf7546ce
+DIST coverage-7.5.4.tar.gz 793238 BLAKE2B a53967307ce9cbb72d89810575574a7a1358c988e5e02cfa2a982ba8e68e7efd477c2d902c2037c67f18309c54777f3422db845b7753da49ccb69855289c13de SHA512 363658864f9a5116e49bd10a45a8ceeb0bb62c70458e0c0ce7ae90f3ddea0659d67af1a35a44a47e673b256cdad8ea0963339110dabfd7031d6b98ba483f3606
+DIST coverage-7.6.0.tar.gz 797590 BLAKE2B c63f022de8ace0e0ee420ecd12431104cafb9471272afd9ecb5ac0a356f065372955097c30c1128547da828ae7e20c8ea615db0fcc31c2ddb61d5377d7c284f7 SHA512 ed27f19a17d4f231a7d28af23045fb0144a8c192cc9b31f90353f558a99a9c4159d7fab6bb5c1231aa8229b8fd56e1163cc0880c4edb3d802e6d48af062468e9
diff --git a/dev-python/coverage/coverage-7.3.2.ebuild b/dev-python/coverage/coverage-7.3.2.ebuild
deleted file mode 100644
index 7a94ae1f5112..000000000000
--- a/dev-python/coverage/coverage-7.3.2.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+),sqlite(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Code coverage measurement for Python"
-HOMEPAGE="
- https://coverage.readthedocs.io/en/latest/
- https://github.com/nedbat/coveragepy/
- https://pypi.org/project/coverage/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{9..10})
-"
-BDEPEND="
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/addopts/s:-q -n auto::' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-test_tracer() {
- local -x COVERAGE_TEST_TRACER=${1}
- einfo " Testing with the ${COVERAGE_TEST_TRACER} tracer ..."
- epytest tests
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO: fails because of additional "Terminated" print on SIGTERM
- tests/test_concurrency.py::SigtermTest::test_sigterm_threading_saves_data
- )
- local EPYTEST_IGNORE=(
- # pip these days insists on fetching build deps from Internet
- tests/test_venv.py
- )
-
- "${EPYTHON}" igor.py zip_mods || die
-
- local -x COVERAGE_TESTING=True
- # TODO: figure out why they can't be imported inside test env
- local -x COVERAGE_NO_CONTRACTS=1
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=_hypothesis_pytestplugin,flaky.flaky_pytest_plugin,xdist.plugin
-
- local prev_opt=$(shopt -p nullglob)
- shopt -s nullglob
- local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so )
- ${prev_opt}
-
- if [[ -n ${c_ext} ]]; then
- cp "${c_ext}" \
- coverage/ || die
- test_tracer c
- rm coverage/*.so || die
- else
- test_tracer py
- fi
-}
diff --git a/dev-python/coverage/coverage-7.5.3.ebuild b/dev-python/coverage/coverage-7.5.3.ebuild
new file mode 100644
index 000000000000..0732631096fe
--- /dev/null
+++ b/dev-python/coverage/coverage-7.5.3.ebuild
@@ -0,0 +1,98 @@
+# 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..13} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Code coverage measurement for Python"
+HOMEPAGE="
+ https://coverage.readthedocs.io/en/latest/
+ https://github.com/nedbat/coveragepy/
+ https://pypi.org/project/coverage/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+"
+BDEPEND="
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/addopts/s:-q -n auto::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+test_tracer() {
+ local -x COVERAGE_CORE=${1}
+ einfo " Testing with the ${COVERAGE_CORE} core ..."
+ epytest -p flaky -p hypothesis -p xdist tests
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: fails because of additional "Terminated" print on SIGTERM
+ tests/test_concurrency.py::SigtermTest::test_sigterm_threading_saves_data
+ # broken because of pytest plugins explicity loaded
+ tests/test_debug.py::ShortStackTest::test_short_stack{,_skip}
+ # these expect specific availability of C extension matching
+ # COVERAGE_CORE (which breaks testing pytracer on CPython)
+ tests/test_cmdline.py::CmdLineStdoutTest::test_version
+ tests/test_debug.py::DebugTraceTest::test_debug_sys_ctracer
+ )
+ local EPYTEST_IGNORE=(
+ # pip these days insists on fetching build deps from Internet
+ tests/test_venv.py
+ )
+
+ "${EPYTHON}" igor.py zip_mods || die
+
+ local -x COVERAGE_TESTING=True
+ # TODO: figure out why they can't be imported inside test env
+ local -x COVERAGE_NO_CONTRACTS=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
+ local prev_opt=$(shopt -p nullglob)
+ shopt -s nullglob
+ local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so )
+ ${prev_opt}
+
+ if [[ -n ${c_ext} ]]; then
+ cp "${c_ext}" coverage/ || die
+ test_tracer ctrace
+ fi
+
+ test_tracer pytrace
+
+ case ${EPYTHON} in
+ python3.1[01]|pypy3)
+ ;;
+ *)
+ # available since Python 3.12
+ test_tracer sysmon
+ ;;
+ esac
+
+ if [[ -n ${c_ext} ]]; then
+ rm coverage/*.so || die
+ fi
+}
diff --git a/dev-python/coverage/coverage-7.5.4.ebuild b/dev-python/coverage/coverage-7.5.4.ebuild
new file mode 100644
index 000000000000..c6a4fbbadd54
--- /dev/null
+++ b/dev-python/coverage/coverage-7.5.4.ebuild
@@ -0,0 +1,98 @@
+# 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..13} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Code coverage measurement for Python"
+HOMEPAGE="
+ https://coverage.readthedocs.io/en/latest/
+ https://github.com/nedbat/coveragepy/
+ https://pypi.org/project/coverage/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+"
+BDEPEND="
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/addopts/s:-q -n auto::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+test_tracer() {
+ local -x COVERAGE_CORE=${1}
+ einfo " Testing with the ${COVERAGE_CORE} core ..."
+ epytest -p flaky -p hypothesis -p xdist tests
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: fails because of additional "Terminated" print on SIGTERM
+ tests/test_concurrency.py::SigtermTest::test_sigterm_threading_saves_data
+ # broken because of pytest plugins explicity loaded
+ tests/test_debug.py::ShortStackTest::test_short_stack{,_skip}
+ # these expect specific availability of C extension matching
+ # COVERAGE_CORE (which breaks testing pytracer on CPython)
+ tests/test_cmdline.py::CmdLineStdoutTest::test_version
+ tests/test_debug.py::DebugTraceTest::test_debug_sys_ctracer
+ )
+ local EPYTEST_IGNORE=(
+ # pip these days insists on fetching build deps from Internet
+ tests/test_venv.py
+ )
+
+ "${EPYTHON}" igor.py zip_mods || die
+
+ local -x COVERAGE_TESTING=True
+ # TODO: figure out why they can't be imported inside test env
+ local -x COVERAGE_NO_CONTRACTS=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
+ local prev_opt=$(shopt -p nullglob)
+ shopt -s nullglob
+ local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so )
+ ${prev_opt}
+
+ if [[ -n ${c_ext} ]]; then
+ cp "${c_ext}" coverage/ || die
+ test_tracer ctrace
+ fi
+
+ test_tracer pytrace
+
+ case ${EPYTHON} in
+ python3.1[01]|pypy3)
+ ;;
+ *)
+ # available since Python 3.12
+ test_tracer sysmon
+ ;;
+ esac
+
+ if [[ -n ${c_ext} ]]; then
+ rm coverage/*.so || die
+ fi
+}
diff --git a/dev-python/coverage/coverage-7.6.0.ebuild b/dev-python/coverage/coverage-7.6.0.ebuild
new file mode 100644
index 000000000000..17b43f197092
--- /dev/null
+++ b/dev-python/coverage/coverage-7.6.0.ebuild
@@ -0,0 +1,98 @@
+# 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..13} pypy3 )
+PYTHON_REQ_USE="threads(+),sqlite(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Code coverage measurement for Python"
+HOMEPAGE="
+ https://coverage.readthedocs.io/en/latest/
+ https://github.com/nedbat/coveragepy/
+ https://pypi.org/project/coverage/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/unittest-mixins-1.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/addopts/s:-q -n auto::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+test_tracer() {
+ local -x COVERAGE_CORE=${1}
+ einfo " Testing with the ${COVERAGE_CORE} core ..."
+ epytest -p flaky -p hypothesis -p xdist tests
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: fails because of additional "Terminated" print on SIGTERM
+ tests/test_concurrency.py::SigtermTest::test_sigterm_threading_saves_data
+ # broken because of pytest plugins explicity loaded
+ tests/test_debug.py::ShortStackTest::test_short_stack{,_skip}
+ # these expect specific availability of C extension matching
+ # COVERAGE_CORE (which breaks testing pytracer on CPython)
+ tests/test_cmdline.py::CmdLineStdoutTest::test_version
+ tests/test_debug.py::DebugTraceTest::test_debug_sys_ctracer
+ )
+ local EPYTEST_IGNORE=(
+ # pip these days insists on fetching build deps from Internet
+ tests/test_venv.py
+ )
+
+ "${EPYTHON}" igor.py zip_mods || die
+
+ local -x COVERAGE_TESTING=True
+ # TODO: figure out why they can't be imported inside test env
+ local -x COVERAGE_NO_CONTRACTS=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
+ local prev_opt=$(shopt -p nullglob)
+ shopt -s nullglob
+ local c_ext=( "${BUILD_DIR}/install$(python_get_sitedir)"/coverage/*.so )
+ ${prev_opt}
+
+ if [[ -n ${c_ext} ]]; then
+ cp "${c_ext}" coverage/ || die
+ test_tracer ctrace
+ fi
+
+ test_tracer pytrace
+
+ case ${EPYTHON} in
+ python3.1[01]|pypy3)
+ ;;
+ *)
+ # available since Python 3.12
+ test_tracer sysmon
+ ;;
+ esac
+
+ if [[ -n ${c_ext} ]]; then
+ rm coverage/*.so || die
+ fi
+}
diff --git a/dev-python/cppy/cppy-1.2.1-r1.ebuild b/dev-python/cppy/cppy-1.2.1-r1.ebuild
index 7d88ad5c165b..e45115139237 100644
--- a/dev-python/cppy/cppy-1.2.1-r1.ebuild
+++ b/dev-python/cppy/cppy-1.2.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/cramjam/Manifest b/dev-python/cramjam/Manifest
new file mode 100644
index 000000000000..27f2ff5df8f6
--- /dev/null
+++ b/dev-python/cramjam/Manifest
@@ -0,0 +1,143 @@
+DIST adler-1.0.2.crate 12778 BLAKE2B a1dc17786adae945ac09d3525e609ed944e6465690787bbb831a1b9d53793cba1989793d0a5606d5d23ee20d36457923d451b1b3530c9ec7072a487aa3e55bbd SHA512 7ab190d31890fc05b0b55d8e2c6527a505e06793d5496be0b3831e0513412f9ba97f8148f6f68ed0770fa9cd980a5092d885e058becf1d5506b7c74b82674aa1
+DIST aho-corasick-1.1.2.crate 183136 BLAKE2B 2d4306d8968061b9f7e50190be6a92b3f668169ba1b9f9691de08a57c96185f7a4288d20c64cb8488a260eb18d3ed4b0e8358b0cca47aa44759b2e448049cbaa SHA512 61ef5092673ab5a60bec4e92df28a91fe6171ba59d5829ffe41fc55aff3bfb755533a4ad53dc7bf827a0b789fcce593b17e69d1fcfb3694f06ed3b1bd535d40c
+DIST alloc-no-stdlib-2.0.4.crate 10105 BLAKE2B afa0bfeb7df1d742edb412dca4c22957fc21c2a1be21c64c58503d4b943c06e3163d0f3c90525b25323b8dc38e6c64136ec4f9608758c5c6f3bd07c2c033ee74 SHA512 6518856fa524ee0fe8e04cf133c11028efcf2f6a28f3a70e401566a4eb343c954dba34aec2a02c0d0359757dfb5dcf48279610646215eea190d699708d838904
+DIST alloc-stdlib-0.2.2.crate 6693 BLAKE2B a22faf3482e416664f2e104f5f45c4e6d116a42b890216b80102e266f7a3a3accd2933aeca71650a4c4626e3d9da76b6488ffc9ea2ae4229cdfbf1ce9ca6c7cf SHA512 9c4169052ad460af2be6f2a128056661b2f26da0122877f13fcd4f4f3e2e9537783cb2b2bec47af43569629639aa8ad507ab010833982e5d942f5b26cfd46c14
+DIST anstream-0.6.13.crate 30928 BLAKE2B 0c6d0932dc486ccbe8d7e6f97bd8aae03fb84d4db90d0488070b7109de673e0af845a70a39e546af87f71f4c7f7bb159ab8ed68ac0f03a0297457062d9d69dc0 SHA512 4f9ccfd135de9be22a01230f39d571c8d8ccf7c3eba837fbf0868c9660693b60ee0c1c2f9490a587d5307e892ed45cb946da7a0690a9f972619c94fb050bde09
+DIST anstyle-1.0.6.crate 14604 BLAKE2B 0716d0dbb62bf05c63c2bfe1c689896660073a423d26965ce2570f11e1925752a61209d78c2f2fe65ec4eb64ea4ffbb39669e789c0ba5d1b71e75de929153b20 SHA512 dc0e505465be54799b9faad70d0c6f7f0dcf9f5e1aaa43177b826c85dae626b054910244da0499862f066f6723a1560ad12100aec523f28c6198f1ea0d1b78fa
+DIST anstyle-parse-0.2.3.crate 24699 BLAKE2B 17e8638187ccc1ca0174a8cec7f7daeee7e0d8b8c430f7e74f9b10d8de4b49fd1c6facfdafde305b7a3e55b1ebf2b4e8ec4975a0cce691514ddae9eb5b5e711e SHA512 4a6d0f706d75c9b3c5144f34efdef3ef8fcd075962c594a23a6209ed56112563a34b3c01e05a08a0868d59204272d06211b2585cb9d06ce075ea875bedb2f399
+DIST anstyle-query-1.0.2.crate 8739 BLAKE2B c06643e8616f1f4469a32f9c0512941ce53ac5db9ebfa7a5b2f19233040cd4438dd2ee69ab89ecbc1c239e92b674dea9df15ed673408c6f3fe21787cc17d76f3 SHA512 f409b624cbeecf58fd87c47f85be28cae1fe48f65d692195fb80854c514e38c40d0e0ffad3a5b388a3929c47bd2060302ebb635aa98dc57329f3a5ed7be3e2dc
+DIST anstyle-wincon-3.0.2.crate 11272 BLAKE2B 73e124773f618a744b17017d4680ec6ccc84ff94fbe2e565073fbcc0facecd3cb65356cf27746d07f453bc917cbeb2ade3a618c6b8578d64cff4828c99569868 SHA512 4cc194faacffa01c6989354c1cadbf1134f0945250f67b7020ab5b475e30db34c799176bd335a6265386cb9c5e8b5bcbdf35894ec0c809b140ffe1c406751931
+DIST assert_cmd-1.0.8.crate 27830 BLAKE2B 68fc42953decc5a39a2a850750348da087a2df29e9e15dcb3f0319088ba8ca399f8db05cda3de693925dcbf147b2a031b0e0ddb6993f25b8b96f464f792cc499 SHA512 78c5aa45289f1f69891001b73f7da32ef61a371a2fa9abe15822406abe4a8df48004b475a00aacd36c2e808539041fc0d3034c367a27de6b539c72e929e42e4d
+DIST atty-0.2.14.crate 5470 BLAKE2B 2db856a9e898a430258f059aeaf7c844a153293e8856d90ac81f7d91a888c89198768ad5cb09303c23241fe85c560a55148fa56a303651a82b0edb895616bfab SHA512 d7b6c4b9a0f898d91ddbc41a5ee45bbf45d1d269508c8cc87ee3e3990500e41e0ec387afb1f3bc7db55bedac396dd86c6509f4bf9e5148d809c3802edcc5e1d9
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST bitflags-2.4.2.crate 42602 BLAKE2B 768d4ca52aca73d8acf2f494a66957ed2603eefd5a04332ed0880d230c2cc6ef3bfdc0792fa6f288a0eb132913dbb256793e580bc34f4a40e8200e1fbafe97a9 SHA512 ef4c20e6e78a2ecee97e17189b7100a504d8176c7c15d7f17d62157a116d66f83f8b2bba472a4acf02cd3edbd94b20a7047af918c3f3b371e2e04f7474be0214
+DIST brotli-3.4.0.crate 1362057 BLAKE2B 43655242020a6782f7507e928218b8375ac6ffda758689c72f68342a94a7d94cef2d1f10c035f952a243328d03c17b1b5b027dbe7abd1fcfdea9354d218c4d1c SHA512 4f08f274f1fa00d8b40b713e4deeff0eafdbfe8621c5478777df6efd72690cb214974fc9f8fd3f070b3f587c99e3f4396c2409f7c7289f6c7225238e1f14b302
+DIST brotli-decompressor-2.5.1.crate 193087 BLAKE2B c7f2e2ffd7d23662e4b9fd9a0555ccd524304aee6bcfb6ae8e450fcc91f654671b5e72096e6c1dfebd3afa04d3f854b5aefaf7140e8c112f6eb43c0ed5a1aacb SHA512 b8ff328669cfbdc2f74203b782cf7842659d93a1f71bac25650852be7ffe3bde08b6fc821ae91419672399f0ee3bf1c09aedf1858fd55a5cc9082c4a7d54b7aa
+DIST bstr-0.2.17.crate 330350 BLAKE2B 90c3a48d78b73d7e36a3da9fda0beae6e91ce534d17198ea8ceee0b613d03297f9dd8bca30e1ec5da01d1da359a1da72b2c2771b77c82bebab5006cafd665192 SHA512 883eac8210d14f89517b4dd5e25d02c97cf31602ec74498b5e186112ba0f154d47de8d1c41a8f4e5503f3b53c064e2c976b60bbfd63fc28b186bc006e00f20c2
+DIST bytesize-1.3.0.crate 10164 BLAKE2B 049f292705082dbd3b2f0abb6f153023613107949f4849154aadce2181f4568ea1b3c12f00b6ad56146f8a4f3b07b7025498e0c989ac6561ac7255720b85ffab SHA512 c718af51b0da2979b70142012544fde6bbf8639cd4fde66a8066b138f7f58dce019209e27566027dc0ec5a7fc1d2ee17b9b6366cc7a5f95a6419e29a0ffedab5
+DIST bzip2-0.4.4.crate 34197 BLAKE2B b69f8ad38b44eb4912b33d53467492b0ebe6ed740451bdfe9133e71c47a8dbd85b1110a9607c4cc627fbabc44cd86fe0396bb545864632ffb6169f9cfa547b6c SHA512 9cd2b9159bd0b42ac908ecad41f0a737272af94ae0d6dcfe182d2f44bcea4632d32b0456f02322047ea9d6f46377db6cd083f468782bccd6126bcc75cb852555
+DIST bzip2-sys-0.1.11+1.0.8.crate 633444 BLAKE2B 01578c512443134fc786669bea4f2ec4b9c457b9936c907315299d8b67ed78045d458c83ccc119f0fad511529fb5af5feff5fa2d983fdae832d2fcc1b343e102 SHA512 d0a86b9f03acb1e4e309d5739dc2e88cab582757d467a433afe0017017f0e5d2c0282529e3a117160958ed170d8d695ecae739805888305df0e35e4dc440582b
+DIST cbindgen-0.24.5.crate 196574 BLAKE2B 306028d377907f704c1926a989457126fc3928e6780da64672650090f837c25c5496fc72a5c8408c599aa76352f2a625ffe926af5dfc51bf890b6e66e4c44406 SHA512 16eb2267f6f75599d8cc4adc05a1387b8b95e595427bfee852f1746402a9609520f364b0fd443ce780f44a61f5b4b3518f2b021a4ff08d1f160afcb0a3bccecb
+DIST cc-1.0.90.crate 73954 BLAKE2B 840417889519dec96a745c49ecbc8b0d3da9b37a4b6b0165ee8983c07b8150061690b34409381365ae4c70c5780923d19cddce29d5fbc370eb6b6fff29121436 SHA512 349f3c3f8208632f8754cc05d70976eb14f3f13a14d59413994c656efc36bb32b7310adc7d5f3a6745f15e0aaa88334644c9aba8d29fb961215d74bec605307e
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST clap-3.2.25.crate 219403 BLAKE2B 75a8ee36c52e64cf0ac7ed5604d8a575c41c756a588bd418e6c1edccfb358350cdd831b4176f01b987fe7fa5901ca2bccee6b0f68ccba7dbe40baf85a5f3bdb4 SHA512 557c8932175d7ecd077b32b68904924e52dd46d04fd04ba36b3a9dfd7ab1dbe8c2128fecfd75d0388b21fca4aee55a941794181cc2910a4d4eb3c54e9c7e73ea
+DIST clap-4.5.2.crate 55385 BLAKE2B abcd6b7ee876dbaafd446e0bb9e18297cabd6776f003fb79732584d15eea58d9b8550891b0818f9670fde63c36f51e797d2e3788ff6a493708d8cabd494b5a67 SHA512 c74752b5a161ed5a48cc5f2ac3bf15325cc955aeb828273fe8b7be00c0e5bdd09ca6043c95c9d2908a1e44e447886859fd2a79e0014f508bc03b3b01f4567759
+DIST clap_builder-4.5.2.crate 163566 BLAKE2B 5eb81df416f3da0bb7e53c59ef4e914f03e2bb0563bb3707fbf70215f249aa523e3f5ef2205d0a8e25c23db6c6d0d344181c1c771566453505c769c55b355374 SHA512 af7eb8326a980cf461442a4dd6d224e61ae31a2fe4a45b34210a2c1f747eed49e00b6254699e82f986f441667f290a5de747b5e9d9d0360ed049504343385864
+DIST clap_derive-4.5.0.crate 29042 BLAKE2B 80a7646b2e30432008d52e27494e2563637e408a90557e5b0009a9db6a39abfdc79c04139f99caedd433a94b45f7d95fa11b49cfd33d203fbc4bc911fad4f9d1 SHA512 0a9d79f957067b929f8e1340b0e0623f78808c5d287cae252e6508fe8e07c4f11bfa39b1d3b60bb6a531d888d809c43ad3f6a491a7dd1e3d3ce89af7e1b670f6
+DIST clap_lex-0.2.4.crate 9652 BLAKE2B 5120b508dedf52507068c0c369a45ddfbe0369e5c05b65bc5a78c422b2a4bf488f9ef1e0bed4e335450f2c08b80148eb5f7efed678039b5a94b5bd666385939f SHA512 6c05e5fd850befd45be9005af7252385f2304aa28a107413bbe329d97aea835f7acfd0bd169c99f69f466ab93d6e1c35d73a4e48343457a06fe2d6be5bedde0f
+DIST clap_lex-0.7.0.crate 11915 BLAKE2B 03287f02067f6cb33bb3889e8032b0848e9a9cc17446eb0e2767768cf6ea8c579a7455d33c8af735fb8d0c16095b19f991a5e2528dee3a7628d68c16f9307fa4 SHA512 638feb2e4571677dbe15ef0423866d2f0df309723e5ad65ddeaff7fd5e2e83adcb973a32d52a5f3924ea88fcff865e956b7d30dcd569df0412ef47848af14036
+DIST colorchoice-1.0.0.crate 6857 BLAKE2B a0818be1299717461ffc1bcfb6fc53a0b3b645aa8c45fb72e045cf2d876fa207948610e58d6a837aad24838ea9616e80b0558ca3eae03fdf9bc4c03a8e5ba52f SHA512 53363f2889cd8e8a3b3ed10c48356896c0daa72f3c12c9c7804707ab0dbc07c0e34ef52fa4f0fb1647311ce5913168c1bf62c2407ff86a33f765a9e6fccad551
+DIST cramjam-2.8.3.gh.tar.gz 1083223 BLAKE2B e388c82054938cda08ab465a7a6f94fb1d91b39245f06333747c10ef3d5807e61b8b05cbdaabc7f0f6994385fca7c316b1241b3d8bb04843b1e71418709e29bf SHA512 26e85bcc09eeef9623bf69f0659e33310c6a0152c3b89572db7e7584319790b682af65733bb863e69204ce1cea37b30de530bb7f1c686e98217f2bf52b81f9d4
+DIST crc32fast-1.4.0.crate 38665 BLAKE2B 77398dedfa5e61357fb9abe3415ee53e45d3f1f7aaee959cbc9774f31a10ed324da2a558d20fd7c0674d450c8985b1e9c78b0b65e6ae2d9da6c873fe631c5ce7 SHA512 3e0bf1d2411ad9c651e0242c574cfda09403db24ab4b55560145ee73b31b08be45e5e12ce2db991d165ff056c7f2f67203fb2c048651f1c66ce90ec3276c455e
+DIST difflib-0.4.0.crate 7638 BLAKE2B 57c703de0d467c997bcbedc4d6577569b3d72c612d3ccd929025a98f4bf8f72f2a0d43f3cd3bc616676c2569aed176b3c1362cfa868a4bb1197e05fe4dbce32f SHA512 fcb57859424fea6958a4407061c421599fbca111357b1fe72faa65d8fb0b74425c993a24484e8414f475fa146cd8368c4f82e1ceb4e8dd9f95741149345b37a9
+DIST doc-comment-0.3.3.crate 4123 BLAKE2B a82d1c1a7a90af6e111b5e684a1298d7eac5fd8e4bf7d5baf6c7403d26b609958716d57e51122fe7ad7626fe00a2d824dcfef3cc2fd7679fdb7b5099603de1cd SHA512 e98ff9646a3612bd41bb6f278e7b6e9a0c58747f8b82524da814cf51b7f06c76ad4d65b502ac5740e818744abb295f78f15f8262d0b50ced1523f6d1a26939ba
+DIST either-1.10.0.crate 18334 BLAKE2B ac5d81e0822132846e29f8959671b14ac6047330d54020ea7d4ad790ef985ecb4ddcb96ec7e327b1a66b9c89d37b112dae33c9ac35232c136f60ad9baab7d5a2 SHA512 2de38a37b7f3e61effa89648acadbf220eacfda1ca7c82fb77484e45577769b724f7dbaa297e73e3d355d6b1bd5109373c3e96e4c1a13a918176162b33ea2432
+DIST errno-0.3.8.crate 10645 BLAKE2B 4a7af10845f11b3d8f177a75a692be468e8ef0ee53fb84a4d212335f1499456b6739a59af260894b5c3853d3bf21ef3490d1e3a613305561203ca334a636c3b3 SHA512 29753c421c6f929760cd7565f8171696e4f70e677654a7507253f4fc495edbcf214ace27be46bdfe5c1a0d782f4b688f591476e56f4a1096471cb353c643328d
+DIST fastrand-2.0.1.crate 14664 BLAKE2B 7a5812153500170dcc53ca8d66384fef46eeb5a8f970be43863f22f82bf427672d07cb053f4e04b0fea358ca89178399871235680f57223b8561c07b8d21cf13 SHA512 79a1e1b3f39264f037def236afbd87b732f5e0a2154b1d9e721b3c7990c52be45138320e2571fe628f482e0da7e3cf867abb745e3c277b19015fc031fd4410d9
+DIST flate2-1.0.28.crate 73690 BLAKE2B c9f141bde0eda6b9c42da0a3ed69322c12c6c29bc522131f51ad56f6e2758646aa5585382407409257a8301f5f07a1825d150838bbb55822f2d49037f6279aa8 SHA512 9db6f3ddc4e1e91960b07c08712beabd911b297d93db8be3ecb97a392a4262e608c75ed8e9e34d87d58c3e67d1b7987734e14ab3d45fd837a2767e8016380284
+DIST float-cmp-0.9.0.crate 10102 BLAKE2B 46bce5f7e838a947bbbdd22b085435e795b67fd23479780f65bf1586a70e7a35f04f9af086be98bff24e2583eeac7c9688727a2ddbd1ce978526dc01abf67dfd SHA512 f8dad12ecf8a278769054fd78794999dae8dedbcfde5e77bdf6cea12fdeaadeeb2f1f3ca62df9aadc1bc3f61457236c4854d6d6923ad6d03ae7f23af600572e8
+DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a
+DIST indexmap-1.9.3.crate 54653 BLAKE2B 7bc1768589e74020dc15d3dd064009edaaef39b7aeb682d0ca8e49944e3f020b9c04d64feb102e88b22feb40863479dfaf4722d6a77b5d19e7ca553f4bf64c1b SHA512 2aa8069eb07a814c8fa3e11296c9f032ef60963520d7786ad20cca5cb7e73b8f76d97722a994d65295bb713020aadce5008cd3df5e99d8bd968ef1979f910a37
+DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
+DIST inline-c-0.1.7.crate 108174 BLAKE2B 45494da78b1db077740eebeafe7bb1802209e713daae82ca1ec021e5821dceab101a0e01f371b3f7afb51d2231444acec11a67a075017ba0b920460da56e730b SHA512 adc775e1249f9fe8d574e91921a3973078fb621c20f4ffe22b99577e6c67203bcbba326abe49af78f9035b05f498fe5f4070571c3ac01f72c28350334dcfa49a
+DIST inline-c-macro-0.1.5.crate 2449 BLAKE2B 85d6260607c883c7c1587a79cb1b1cb18768a4929ca4d39fe14037f6dfd25d335fa30ae4441745b4c4a010e1e831210329161f4d997093712c078fe5921a8f37 SHA512 309f5aa8fca172bd17c9998820a1d05e9113b3388bfc1d96678d20b5c35b01d0c337785d07004191e153fede9a2735a3561769fc3719675eb4625336f9763f6c
+DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3
+DIST itoa-1.0.10.crate 10534 BLAKE2B 8ffcb345d07070cc01651fd44c19f3e0659185eda733c407fd4be0955a301879ae1272dae7f425279dae8dcb7f7dc954465c9a09b5c521938a503d34fecfe2a7 SHA512 fc496be0873e31afa6ddf7f2958030f8fcb517cadb86a48280a0c50ce50460afda189af1e6c26e5ff6f85c750d772c21503864c32b526c4fe4bcdb5b07918538
+DIST jobserver-0.1.28.crate 25543 BLAKE2B 90fb1d8696b575b16b5b12d6fa4e7bc7890f5f09110b147d65eef8888a16ace1446a789f8079a3706f0252be8a04061d989bc8fc53e6c004d6b8a4094baf1642 SHA512 8ffb33b8c162935de1226e0ca4048f36e6e90bd1731cc7f06110bc97e2adef904f777df0ca4ed48b3b8ee4f2c243b2f883f6897427867904aa3385098abcbcee
+DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
+DIST libc-0.2.153.crate 740614 BLAKE2B 523a41bc8cff4ebcba0edbbe9e6a2286ec7cb3ba5e90ca5926c972b68e4b34188bc077d20c22376238c3cd91b7455898a95c505ace4ededea88cc496edb4c5a7 SHA512 3f99e3a192974fffdc053ef21e9ad5fb54b7cdbd4755df176704a95dba38047138ccab76763e89c6b565f37f98fd549fe368749f84f6d1638b3209cb07eae9b4
+DIST libcramjam-0.2.0.crate 10406 BLAKE2B 7431bb2a68756692a48470459f56ba9907e1d4196b0e4f3f95f5a8c735cd851a928f45c27666a12c613a9c05baa3fe63410fac661892d0c87007d9f36e13ad3a SHA512 4cdaa885d944e918ef12b0e7c8e557faf5d509810c0e7183f319d70171f9b0baea62c02a90fcb13d8e05f26e371ee86b2906d68c92bc05c4fafd275c83fa5b69
+DIST libcramjam-0.3.0.crate 11329 BLAKE2B 784b9594fec2ea5e9724f1d32b707e7334e667377534998105f951d88d900c51544b24446fa05abd21cb070463e181927ddae3ce23c3d738be54717894e18247 SHA512 65573147003e4ae1abf513d8783362590cc9fa21d8a6f29b903f571e7f71c17339b52f25be940a98a5a2de0e87e1ffb49557794f593cc7c99810dd004521c0af
+DIST libdeflate-sys-1.19.3.crate 192512 BLAKE2B b8417cc872e5038e9177179dde7f8c5eafdcbba273ff0c1fd107ec286cd54f4a0e3c3e4b3df55db5364d39d49f803539ee5b649526cd5e057a3d2d4beee42fed SHA512 c1b708672f6ce85579e5dda2537fe6804e73d92053a08387b2ec09388f0697fa3230298931116f482ae4242a0bf7afda9d8f309a13222ef5dee94f56a009890e
+DIST libdeflater-1.19.3.crate 24046 BLAKE2B cc6a1824ca9f51e7c4f01fad9e433e8ef509078252d8fd7167e1fbdcab604a23f90d7cc593ac1dd15623454c4818d16e60c722397f537a0cae57a67f3ddf25b8 SHA512 b6bd4c8cb7d56771f92fd1491fec2a8a7cb1493b3e86866bd5e029c9b8a55fbc343433a5ae6f575adbb0774767aa7224e714d3db27b14557683e2ffb97e2a4c6
+DIST linux-raw-sys-0.4.13.crate 1493855 BLAKE2B 1298a038276e2424eda9873c642fb43d864b343b03b7962446122d2dbea94d58d9fb2b93e890769e6fe4092378755413ed6afba81ce56fd61e512146e44148a3 SHA512 3918da6b667a08ef8a51aa0b087129e2dc5ab101669cbba7690fc98ae2659a36861bf9410a3b87d18522a7549d43ac169b995ea192d3073f7249305a809cac62
+DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3
+DIST log-0.4.21.crate 43442 BLAKE2B 8429b3270794d3e2c7f7d5b58bd4fa1abb9d4807ab3a1ac980ac81c11d9544635003d8cf2e608c2c0094865459108a2879f280278e121df68d09bc1561d604ba SHA512 0becc1a06b6e7048cff6c0bb8df49a16ac4772133c00239e9e9459c0811e7715c500f440cf1a9aef8d7ad74f57434559ca9b55917f588b8e476cf36eb6d4e10b
+DIST lz4-1.24.0.crate 13361 BLAKE2B e0ebfab2aceb6817fea87d703b9c63d7248156d6ff4a051b4d41beceb0462551e9b4b7250a1bba8724fafbb90ab3618aed115d3f2f90cf184013d4eac76e93d4 SHA512 971e6265f12306ad228841ab5b72cfb80f001e57c2e3a815a8fe4a343ee2d93cfef6155ad4ff019873555b7e843ddffb1b70e22a057bb79b4688903c9407bcbc
+DIST lz4-sys-1.9.4.crate 354842 BLAKE2B ced6f5f681003284d6720f3bf4af4089b991320fc1ba52a445d67ae118a573edbba9dac656a4f04dab50e3d4ea8c1b32339f3413a5e590a597c2407a963da646 SHA512 a0cd903494db1089965f5316694eb23e219002c147aad68794d57e7206aff641824e54f25f7c4cbe08bb06a63e6f5ee4c44447aa7f7057c8467872d69c6f0b06
+DIST lzma-sys-0.1.20.crate 760045 BLAKE2B 1f66d32008178c218575fba12df95a2cdc448e080c0a81ef4617f35dde09f0d56c86c28050db61c2ae7b464d0eaed7dd8c59a1fa605b39ff8c329e49165cd922 SHA512 393908b4e3006e4d9948a077d84ba7f5004765c4cc0f854e04847e504a246ab9a8e761fa48d4f211a7ac08dc119d950481da1ed1a480778d6b6e9b446a697279
+DIST memchr-2.7.1.crate 96307 BLAKE2B f1a008fbdbfe84852a8ae1d9d9574306b1bf120dd5087903adbcca6af342c9abbb296496eb9bf6cb58915c4444b3edd6ca4e27131ac7d8aed8849815df87a944 SHA512 5120496faa31fc427c8b4178461a262b3a34d70eddb7ad17a19d6db8b9969c9e113d3625b5e6dc677087fc80907377b00ba0421aba9a92cf73ca2849d932f473
+DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
+DIST miniz_oxide-0.7.2.crate 55731 BLAKE2B e3cbf5983025bee879b8a735fa2912db8975cb60f0499498a73ce4375e7d452c9ed62d4b0b6f6a4fa591aab55e5d7ff20033baa007fd6c839b9d74b31142c0b1 SHA512 2f8f09d7afdb9d78bfc80a228ded85a215fea05e577e907921f1808f84aae30ab118048d7b53295f11aeb5de70ab6cbdec892f3a2417bedf6f53a4576d095432
+DIST normalize-line-endings-0.3.0.crate 5737 BLAKE2B 935b2d20ccd37ca7469641a37aa0ae9b6872715d6ee88d568d0ee16fb76416cb1a0c585cff861825de8cef11d864b1dc1b350911c28d64e071d8fb444bbdf740 SHA512 f8e2a6e333b0e8972febe8b9cf058c8d899c384fd177e0b6ef1c5f94e0fa18192963970cb1a2ba80e3135a8cca66cdae6796e4d84ac6b325bb369575bdfc6eea
+DIST num-traits-0.2.18.crate 51930 BLAKE2B 6c40e155d7a52267a7183d8030ef34245492d33f103cc24551b10da3eaa18e3db485062ff87057dc23e6b55e381e5c5d2a2633aaf6f4763c06677a0a0c524f02 SHA512 e395ad9f3b21b0dd1d3a94cefe0d68a42d1b1d429ddb2823696f9cd75042568a635d93d133ddb9497ed357e5b3be5caddb8e4a4af87b65882bbdc60b05c74ebc
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
+DIST os_str_bytes-6.6.1.crate 27643 BLAKE2B 8440a196a3d3d9c3a584562b6c2a1033f5606998e8851f8ccaeababe58022a42e65510e12ebdbcc7b24d0fcdcf111d68bf00d89b8665ad5cee49180db853789d SHA512 977c0fe9891c021914153d6a081c3789018fcd1830224f5c6768d0c75ac8ac4919638bb0a41949710fd5e699b162d9290a5379cc6251535a127e212f5b86932d
+DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
+DIST parking_lot_core-0.9.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032
+DIST pest-2.7.8.crate 118214 BLAKE2B 8f3fb4b712c866247ba90a5518fb90c0b117fb742b250c72c43b02a8f71b6ff8bed1d61124f872401b3451a31ca22106d3eca721a5fb2ab3a2337cd787783e8d SHA512 0c4e70e57b60aa25226d045777538f0d1703b7ea847da276e0b2ba7077269df6248294675aaeb65fbe913c54cfdd17dffeb02a6fc3b3221ca378ae31b6f7d20a
+DIST pkg-config-0.3.30.crate 20613 BLAKE2B e14dd544612f74b038bc7d279d629034237946c261e3e97621d6ac910a12f4fa4e75932dbd5d3339e62325d0ccf33002b07f04b0523f93d2bd3b1a919841ba66 SHA512 e4bce232e1e1cbb17d1c08c3de4dd12613f5a5238f831c2a765b6ede9b494e647d2416a7d9a0c926104e24066dd1b38df8df98a6c55d62f25060f80eb33d064d
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
+DIST predicates-2.1.5.crate 24165 BLAKE2B a0eb1aa0f26d51140155b8b5e7141a253e298ac2197e59c7023ecc693d68cba01d645792c57467741ee074891438fba2f1439c79a4cef27f3d02eaec8f1d0b10 SHA512 d4b555d7f57ccec5788a957d4a3e130f5549a9333a47654baaef098bb284c64bd5c662677ba7e659b4563b3d0146914f1235e0caa2274af8787d9777141f4dd4
+DIST predicates-core-1.0.6.crate 8084 BLAKE2B 337cbb155bc2859c5a8b891c21d352e998cd1eaaf606cf46c003c9c499a42f12268b071e7a4cca65d50cdfdfd4267f023076e078a0a3eb401ad836755d65298e SHA512 afeb1de4275c76bb1c5950f42bce2f83a21ab217ec60130336286cb48b15f36bf2a1ca346bd652c10a65a1f9e3310d16b23b8333a3e0f7e20fe874c3f728e702
+DIST predicates-tree-1.0.9.crate 7960 BLAKE2B b758c52dcdd0ea237ce25f0a092200604765bc83c5edcaea646c6b1db49431296b61aebddea3b325e62f0ba9bbd5edba7ec92fd031cb597e7e8d642b966b401a SHA512 1fd5d9a84ca8fdd1b3c4759d5e6fb16e3d8fe8b0dfe5afbd16bb509c8558b0750705fff47701c95f7a8df1a222f639116a1b9ba4d89775bf03b06daf34f249a3
+DIST proc-macro2-1.0.78.crate 47158 BLAKE2B c56a24fce3faca9e04db7965cab552d2a976c3764df0a84179b5a89d1230ab355c777a82b4c982e3945414f1f0478473a88821dd176c32d6de394d73a26adb9a SHA512 11956fe03a2e77a925cdff2c3c8bc8804dffab4fa1de963a128fa23f4189976fd2e2102bd346b92c33524beae320b71dadaa5213695a3ec638404196e14fa769
+DIST pyo3-0.20.3.crate 434673 BLAKE2B 1dcb881fd1fe5c76e9b4951f4d95fcd1daa1845c226a4ab1db4283cabe67bda822ff03e3cc85d797fe4665a1614229e7406dea65ec5e99ce4aac96b973a7f55d SHA512 77cce558fa60bbd8d9981ff5e62fdfa9bac94bd650b287fbf14ac93ef1c326c8ae7fda82d744e3582df03cab8adf490e0f2752fabd9ae3de044e7d80984e0350
+DIST pyo3-build-config-0.20.3.crate 30060 BLAKE2B ef122b0b7d840d5362928bac76e1299b333775ec5c49a3bf23a19eccec074917931356bbf719c6d700999941bb6a396948ee7f8761e685c8e9251af07ba0cadc SHA512 70685415bba443787dabb9c61ca3702aefbcacb0705471b496b4f01efe34291735321d91243355b4be9aed8b243e393c09fb65556f1b926ac7f22f64560bd927
+DIST pyo3-ffi-0.20.3.crate 65024 BLAKE2B 33e79a02c7ab85f4767e02a39d8553ddc015c80d13bea674885ad8a18d89bd90f866cc39d81ecbf56270ebe87d29bca48f635c4e73ec99df02ce425f1427cb31 SHA512 3d1ced58e243be7cee4a3ca831dc08a1631fcd511c707dd3bada87d7662807dea2d88393d76e56ff19a6d1c2804d93b5b6b7b5efd36b9c275d66fa1bb1bfc384
+DIST pyo3-macros-0.20.3.crate 7920 BLAKE2B 0510accf51cd83390cbb7b6ba4ec9f4610e3dbb7448d1213994013487ae81bb087df1ba0076a3862e5ecfd172b7846f9439a2d86950a93b016aae565ced4f03b SHA512 454f3c0c054aa131ffe955e4be1af061005b9c81b4d80702827e19b983224c118dfea474da515d5fc2c79cfd3fa21204ed4af2d9e81427123e0a78bd246a23f8
+DIST pyo3-macros-backend-0.20.3.crate 49797 BLAKE2B 59c55d482577ce105db3e19a1db794eaab8221d7de01197716b75d5d2602e0f27c86aaae527eae7098eafad311144550bd597efe8cd6560c82dc435021f3428f SHA512 e177ee0d6a538a555fbe9108e3e2c20102622b2c9b9696ae309189e5c4d068efad2132afd4a97d734ebabb4d7146980a26cb68dc05d5eb88f338be2ad0cd651f
+DIST python3-dll-a-0.2.9.crate 66092 BLAKE2B 2c4baa31df7f55da8f1c6073525b4498bae7207ee38ef0eba4dbe58088609937a7d7b851c603ae62e5eb5361881e67a05d8c112d0a76aba5d99b13cdccd59d59 SHA512 1914d3ce67284f13551a4efefaeb9c11138fcca3d5082746282f64b7a36f732c6834766d981f27d862a61410eed09b3d281e0cab8cc1a46d424d04823ffaee35
+DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2
+DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
+DIST regex-1.10.3.crate 253101 BLAKE2B 390ebb00bf5430048412883b672d80737e783fd36f40895343cb38ef2e26e2713418c2fb4d66792bfd3be4c990b4518ba120de229a72cbeb7fd5c2af325fbcaf SHA512 d090898465013b0975a6de87fbdcdf76b4896578056f4da83424bd5e7832547a3d8ace643c379c4f14700a0a88dc95950a38645508d1675306c377879a90cf5d
+DIST regex-automata-0.1.10.crate 114533 BLAKE2B 0e357229f6825f14339b1d7c40730b83e62bba12115d01ed20313320766e769a653a2fcd2c9d19af51a82c38e9e42c1a31d005e1f44f5b6fbb3ead7c9c74027f SHA512 56d64da361afce82c6cb49e70b99ce1fca3e1969c54bba5f9971db135f8544c65f49feb8827789947b3d1dcefc9c49a7a434a7ffe0d09c5900345a1733723c5f
+DIST regex-automata-0.4.6.crate 617565 BLAKE2B 8f1e2a3cc1d2d50478776281d2bf10164ef441dcf7127994f4a0341ec40588ec8dc1c07fdf9f670da9e61a7753551500b80314df130370b61d2c03c2b2e3135a SHA512 b288e1facae2612f73d3de3fe9fd1af13d337107004f990263abe6277b31b948478ad9c2b807dcafa73fa565e48bdf2113139f5ca67eb73165b7d29e2ee5c9f1
+DIST regex-syntax-0.8.2.crate 347228 BLAKE2B 211fd1c35ad0f28874d4b4d276e0fb0a27e5a1608f2f16ba2333641b154624e378419daf8d1c955f21ff5f40f6d49c89569b7e11ea5649850846d0fe447a675c SHA512 301dde555f300298f2594490ccd8b92033e4917fe9b8671b8a97db6c827793c73969be85a92999964dcaf3177edda51abeb576811ad6cab9772964dc0a77e728
+DIST rustc_version-0.3.3.crate 12119 BLAKE2B a8cfe3dcbaf436b74e9798ee1296ea7aa372cfa26788b7a84c9ce7ab3de5c5e00c6962e4310aed9bef8584e3c30298bf1bec1ac23c3b70c6aea32394359712e8 SHA512 37732b3b28eca41de205db34479c75b31af4ddd811f0f1606933eb31e25e5ed3966a41a8b7d338be20fcf47540629824c41a267436c185a98f8acfdce608b5cf
+DIST rustix-0.38.31.crate 375443 BLAKE2B 9e8ba6bb4eb4fdf0bacfbc719124f745f383abbabfeb161bff9908d1948942d358f46191377b90c180a2793a88bb01be20dab556cfabc8da8efa2533af8e460b SHA512 593e0395a7bc5bba949e6f2a5ed9e39ae13140970a598def32ab7d6d91b4ec100752fb05abda407ee2e5e420d950b19e607f963f3974213637423c751df75960
+DIST ryu-1.0.17.crate 47537 BLAKE2B 28408e17a4322f1afb6f21bc8d7328c39d07186de4d464f8e9bd63a69757cb4af61b46e558075e14836f310f020ac824d5ffa616fc0a5ffba59b9df0bb66ffc4 SHA512 6dad725c4fb2d3a33ea30107b63cb702eed56bd2f3c16a72265f648f5aaefcd3d5a7b919b1d037af926cc6311bc68ba58c4e0483da2b2e2135c6a7c2d6601af4
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
+DIST semver-0.11.0.crate 20826 BLAKE2B 9006a801dab95e7a28605f623984b467221c3207b64af251bce3fb4fa74f731c4a3b9f95081bac59f754fab215782856edd98dd763b66563010498b97e8f35d9 SHA512 bdbd8eba37071ec1d24d372cc34ac4d82b6d914e7396ed51276e80d4d299864507a9d837ef381f6c4868981b7ca35514050ab8d7a621d43697a9c4b4bd5d8573
+DIST semver-parser-0.10.2.crate 23176 BLAKE2B a946a635d207f14a59f3b5db3d0a6dd8ea283bfade3fc15f07bd9f19087bc12203591a17d697692ca12abf3618481d53f4e7492b80e7233a519bfefa49b95da0 SHA512 154a6905eb5fb854450a0bd00381f93ededd6f1a992103a53464429195102eb266c7e8681e89cf952223a51427fa17c0a36e3b7c2eb6d375b309e5fd3d721f1a
+DIST serde-1.0.197.crate 77087 BLAKE2B 4a4e04ededf5fefaabfcc4e17457db823239e8eeee7631a905ed47800ca10d26a93632e3a9d1b784b83f84168d0d649cfa2e6f5f1e68ab15a68e837cd5b6c699 SHA512 69e42825fce6a0a5d109979785daceacfd6afc5641e202fe83da32e2b1f968416557cce97fa014839e873e65f85c27494c8f8e20e6e9e4fbedf20d0291880410
+DIST serde_derive-1.0.197.crate 55771 BLAKE2B 73708908b6d1e104af4c63b498bd25c5a728e07e22afdf92f15754c0f17636efe44c0560c1f0df1b9a30708e8e8894a62f1ea57c234b6dd861cb9c8dc044eb4b SHA512 669376e248b76a5ee8b9c93fd9fe6d35372e7267fbabc14730539ef28a94e405ee5e9c2cc2846897d59d6153742cdc6799f9e2c87f20b9dad119bd3a86c28994
+DIST serde_json-1.0.114.crate 146986 BLAKE2B 229f0a8e2c0bc35435b49774fab9d4cec4e2323e85e2f97ccaa2a18277ecfb9cff9e9b165786e782cba043e9ac670717364b0f9c145254eefd74582b728f2186 SHA512 2c35cd0e29ee2af6046ce849b5854b82b90f402b51c04ea86b32ce7d67869736f17a4d028dd8245c31201036bcca7a1d3df11d842a92a45b0eaebd809687d436
+DIST smallvec-1.13.1.crate 34952 BLAKE2B e0dcf1d26883564cd4f5d20a588562404e193075b1ae011f7f7542009a9466e5df3ade7768e1a8feb8806774b2cee5f15d31779928f83714e7d4b6ed46af9ab9 SHA512 1259ef947400470b8c9e74c5582dbc1a49753aa46420883c1f7d66f320f67bebe733a15a23cd57ba461020fad4ff337a5b298de82754602a78f5e6cec969652d
+DIST snap-1.1.1.crate 33763 BLAKE2B 97e8dfffd23684539e4788740a5cbe35ed8808886087188106c2c9f0d5ffd45057dc5c5a1f1664c2b654bd2924580cd8880a09706813afd4b00d916463f17095 SHA512 8bdd04c555ff3b60ffed9fc6e0ea38168e60d0d340f488950d25164c69e274bcfe832d2db1142ee8c4758e6e2a0b72b5f4b89a267ec9778a64ae8366a2cd472f
+DIST strsim-0.10.0.crate 11355 BLAKE2B bcb25ad0a7284e24e4f17ebe0ccb621bdc4118e499b50b094d98aa7e8fcc0b96716c9953c3516ce7ea78309d41d424892ded595259696a5bbffdcb07802b5c2f SHA512 78b318532addfcf5c1ccc1e14539e258aab9d3cd893cc45d82342549bde838c177d90f13c560671f8f32929af47d0b467db35e6876bd7697d8b3f9e055aeeac1
+DIST strsim-0.11.0.crate 13710 BLAKE2B bdc748ffab302c8e1d3412663e300c399ba13bfc0e15b07101a680394204af2df8897ba784dbe57b95c4fa9e732439d0f5aabb090b1b1c81f066bfa125919419 SHA512 ef4165dabaf8cbdd6c58420043cff9c0d1f4bc3ed53de5973b654bd71ac7d462fecaa6e1b750fbcbb8e19b35f6e6b73641a17656b20f5562b6ba7d84e69de226
+DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
+DIST syn-2.0.52.crate 254728 BLAKE2B 1e56e49de8fee8ed47e89a0791bb0188ee8f0dac127f6e17a1c91a3cb8744a61a6e3b8d3a7fa5cc450a453e9ba7c9ed844302d23cb6e6cd8ca8c624ca475b32e SHA512 a0fb277a4d4611c465d76adf83040a6ac4375275d9f9414fddb34f577573b0f5890b94773bd57660e9af4b65778888ddf34c99d829fe4f58a966484cd8dd9b05
+DIST target-lexicon-0.11.2.crate 21796 BLAKE2B 254923a6dafd0727bbb3626cebc4d16a6f6deead7a9f43e7f8b34debe66c02400ba614a5414202768d89a5c4c4f3cc10d91eae3b52dcce436ac1b085072a6128 SHA512 46d2cab7682787b1ae5024b07823ee706e9f86d08f5ebdfadf308a209ce672a9693c737d1cc9e318bdbb151d22075a93c1a8c7320ba532ae3768fdd1dc5f1578
+DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a
+DIST tempfile-3.10.1.crate 33653 BLAKE2B 819b183e7840f70270883ee8b6a91fa09861c3112eaadc65007199885abe099bd593e1cdc4d9ab48c23490a6d484cad9bf0e80cf4e718c369cc2418b72eaf09c SHA512 bac7515b85b0d01ea914b527f0fadd3a4d8e77c9eabe786977d2625d8a3e91decaec502dd15bab4d49a43597fa7cf7660fff4be1b043112d13b542a72443bf39
+DIST termcolor-1.4.1.crate 18773 BLAKE2B 34676efbde8e242415857d6d40a287ae3459678d8222f5144faefb8c84d635686f640e79588d98635c8f25b7628ec6663a01b16e1e462705b5cba7e8b8e61f44 SHA512 b66aad157c4fa2985f764321d157dfb1f0325fd633811870db7919b5579bf7bc19fefe99e1c706cdfa67504c37dc2ca3d283e11d1bb516edcfaf1eb7747a778a
+DIST termtree-0.4.1.crate 4557 BLAKE2B d4300b0e6e908c519a0a76f5e08167f4467f428b2926e7739614cef5d3e294dfac15ae8576f7011a852745713c16da93346660ff96520a2bb90a4dd4c23d889c SHA512 ddbe0d3ddd79b182732359f47958ca32aa351d10b1e7d5f6456700b851aa2b5314ce005e1fd120a248b676f219fbd68039cefc071d92c5b5477d053bb6e29062
+DIST textwrap-0.16.1.crate 56012 BLAKE2B 9b5a7c76eca64d089f4fab7095f2d35624527ca223e53b03cc807c6bfe913a99b55197b973a3102e3e5c4055bcd6ab580a0c9d67657180b61435bd6eb7631211 SHA512 3a8d2036c8e4b88866d68b8066a2991756f6bd4ac5c726e63fdffbc894fbdc03bf8b6e0ece4b96684c8e1facb6413190768d51a8539094efe47977c120d31f1b
+DIST thiserror-1.0.57.crate 20993 BLAKE2B 4eb90b8ee027e39102d6c030176db94510180f2bd2966503501ff89ca6b49afd61e6d9e1ebf18c08d374ff9de4e958dfcb3da8740fdfe31cceace5be456bfe4b SHA512 0ff7e48c3696f4f4c6af29f3142f0a7bb88a07b7a9877ec243e3ea15d89c48f1898b731311da5d4a7c88060628cae3eeea6a4eccf25bd851cb3075920cb1a936
+DIST thiserror-impl-1.0.57.crate 15639 BLAKE2B 2838235c5536fcb16d19382fe286850d6fb882b1d77ca4ade6a62e1d4727ef89f69cf0383cf330996f9e2303226d5fd709557331a45c9a91393db1788fbf4422 SHA512 a850806f09b232546d1e0df5e35cd961a8aa32f1d8ac3b24df360981da53b75325a46dc788c994042c95a5887fdc77234b9f6ee5851242f734a613e579548e3c
+DIST toml-0.5.11.crate 54910 BLAKE2B 9ecd5103b33ab47d4be23c897c7095ca381cb79bedcaac4918cddc36fc7cf5d34ab664da52c2273d935f04486e9325241d6b66785d50aac78453c219aab49e1e SHA512 eddb82aeb8fdeb5436579292c6f7a64a90a2c7bb54070beb437bc7890b99795d0505faa8d6451a99e8bcf440f78db8a1b273a697c8ad44275cc4163a9ee49317
+DIST ucd-trie-0.1.6.crate 45790 BLAKE2B a6d47c903be6094423d89b8ec3ca899d0a84df6dbd6e76632bb6c9b9f40ad9c216f8fa400310753d392f85072756b43ac3892e0a2c4d55f87ab6463002554823 SHA512 00d9732797029c16d84fe518b2d90de841b87b5ed6c3628b9f097f5340f1e50778749db18f22e4ecc513f53624806ddc3484e5cc9ebffdbb6c0c800bef817e95
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
+DIST utf8parse-0.2.1.crate 13435 BLAKE2B a1c111d7ffc60690f2aaa86f034c66ba1abe4e126f1774a4377d41eba3269369862f57515af387ea785d69a8adf46338b5e53761b5ee6f4f4380473f4d9cab0a SHA512 51fba8f1e7eb74b7020fd831e30a67fc8353ac2ee07335c8c3374a5570ac8117f165f6905d4b7f0360095b7b5ed3e739001d02a8cc3c89195baf2cd679136050
+DIST wait-timeout-0.2.0.crate 12441 BLAKE2B a99d3f57bc6e784ac06167f98b2dc2841f730dfab4fb9772b15e67707f756d6ba7daeb3e992d32291bed3daa85eaa8a8ddde64db5e1acf1cc4031fc9bdc82212 SHA512 db3b7aa2acfd44e64451042b8ba98eecab77a82aa5c58ed08dadb119ab36dee4e26d62baad7978ed56d5ad03019c96be5021455362290f56043981137bac8066
+DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-util-0.1.6.crate 12234 BLAKE2B b8db8ec9d7ada5532a22a2d070320174c32ece1f48890e9b028708e194fe72a04287b11910dc2ddc7f9c9674a9d8d39449b3e100725e1f59e59e3047a7e3650b SHA512 b1c949f9bcd34c1949a9d3a7bde6ce62fcf3d2cb66df60af41fe67a9d1acb24e571cdd5ac721be9f1ee4b3af5ef5149b5724ad6e02b558e124ef2a4412d12db9
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03
+DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows-targets-0.52.4.crate 6310 BLAKE2B 0393bf3e7f8823edc455055e9977798bd6cdc1e523127cf840ee1b9e36febe40e01dcad9875a06aea283dd55443d02f643d42752103a5ec1de933285fe410b17 SHA512 4b2c26468df54b9801e6badd120dcffc15429fc78a614f45efa16d5fed1a36983198fbb621cc3beb4a4f9f0161ef8ddeca3a5c6a6ac48b5589681936f4d2bf50
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_gnullvm-0.52.4.crate 433373 BLAKE2B 5678cf2371e4c566b7ff0dd1fabcae92d12ce9f97670524c93fd8c34bf6b09d054e7de2f852302b8d994f52c81015b7cc8a74f529490c7bdd17a3b5d2c88a12e SHA512 dbb914a866873892a8cffecd4ed4977fe6c3fc48a58bb9f88655d86e7f8969cc27e6f5bb7d40eee41ae7d78f6f4be65d46650719321a7697c7b5b99a0f07a5dd
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_aarch64_msvc-0.52.4.crate 828055 BLAKE2B 3088f2f66fc91ad698906315eae7e6c0dd7da5414c28cfa25b24e138fc4a7da40535be09129cd37b8e331d8d6e8c41d0106fba1ef9e5b4ac561140653e9ded4d SHA512 dcc538d0a9c276e7ec415575ec1392bf476219348984d9567f56d5cc7af0f9beeac523a9a6651f763dd4f50f89535a3ea2275d5321ec022c2ee8814e4e84e95b
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_gnu-0.52.4.crate 875736 BLAKE2B 31ee3017a6db246b0d5fc02e10cdb517a69ceac3dbbc9d41b4051f5dfa1196e4a46e7b3f5f90935560c03bb139b897e5dce69989a3698d9c88ebae923e24ef30 SHA512 9d57260744607eb63453040c532bf3693cf3d8d93c56543ee00aa66adf3a71919e72bdef7811f287167403ade893248f189b797a5d2dcb24ef4e6f3d915a88c6
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_i686_msvc-0.52.4.crate 895530 BLAKE2B 87ec4628472beec8697317662fd599a8ea0ba5a11a0cad6b23f2481f39b3a4e0546d37fade4d715ad06a4798cf7faa6435bafa1e5054105c064cb560468b6025 SHA512 0d5526b21bfb96ab352b5181dcf84ff31007ce338245a374b3b413805239359a689b1a21de56ae998cc13444e40867bc30c4200454b84ef9ffa7117318baef1e
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnu-0.52.4.crate 831627 BLAKE2B 64d29f6e0837be822d89cc8aaea2514382d2c03b33deb5684df1d6b81573b3817add39d99f66181a762fae7c155e60a8c070affe43a0f2e247fb0c5ddcc7afd9 SHA512 96c673fb330af597fc3c71b53b9b66cacc9f3f64f05dc7cfe4a77447b7545280f065df22b7d91a6b7cf681a442d8b71c9d2dd128e76580664d8598c481cbb95e
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_gnullvm-0.52.4.crate 433358 BLAKE2B ffd55fba15ef713bd48caec5ed5f32936e05ac4897b721bd2b041229bc8c7beeca77ca018c3258dcdb09495629aa359d1dadaaf5112d38e7ea54670309d0ddf4 SHA512 f153d86b01e47f17ef08271b69becf7883bab92f96d40cdb1d74432f2bc6a7a65aa4ed931d8f6f4c2679e360bbd8d12037dc2a74a6a444fcaec5e4c784c54c74
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
+DIST windows_x86_64_msvc-0.52.4.crate 828019 BLAKE2B 08163b63d934114457cd64b1c372f8a0cfc1ebf48a2efb41d79031c58ea64e023acd32d2f5075b8b78536998188138562e584ece95f2021b4bc71087ac45f026 SHA512 0671fa3c0463c6d65b525ece8bc91eab2f75cb534de86ba2b1e854d4136fcb439717441881206dba7cfb602493bc24d2aefa96abf8977f5a0fe38d41eadc90f1
+DIST xz2-0.1.7.crate 23892 BLAKE2B fd4b65cc82405f28a3d9fcc3db9dbffac41ae8ec7e767f3405bc9c7e45000b529cd571f72a76e41f2fb9866e7af8ab37d9f1ab8e6f14652495d306ba0a745879 SHA512 9969ae958b157f3d49708bd00640e57fe7c3826add2871575bdac03e6064aabd28392e3062bfbb833752df374195c50b19dc6b6c08ac41455c492213fb91fc74
+DIST zstd-0.13.0.crate 28911 BLAKE2B c2045cb42d2ac27af4231cc9b6a1734a8ec44121e91ccf3672fe11acba7627986705816fbfb0228121276b1557e7c96a6a44a89716e979f699b069154256b1c0 SHA512 daab48e7479826dbc14e7594b3c97c06eb2903f2ef94af419f0f5bb201931ecd917935d27049da363c9edca7cbc3b5d0ad3dbf3805376627df63862c658d17cd
+DIST zstd-safe-7.0.0.crate 20463 BLAKE2B 8c4cb034d1a12ae54abeeb8f12101f09ef82115ec26630103e7fad29ce1d0045e59dbd8ae301dbe8f47c90515ab9575288137ced98aea667a9cdd7ad0e2a6234 SHA512 2f0d66c874f7880d05fce39f4bdec5e217e8e18b44bfe97b4ea33c7d5c8719c5bd9615f7274f0b19734a465eb2477993fb8ae8d60abc7da36eac361e8fc4a437
+DIST zstd-sys-2.0.9+zstd.1.5.5.crate 728791 BLAKE2B f08f8730d9cc1efc5520f223e9bfb0854b3a67a2907e47c38e0572d8eca688c1bae61560e11e664834dbff1bed3d40608b23d08f102ce6cd7f1af72b48446e4c SHA512 604c01eae4975745aca1dc1d351db98fec34f7036143e59dfeb4d36e6ee18ac9f3871a288557c8ebdc9e816967a008da43154dc9a0eb3cac85071ccb05bf58aa
diff --git a/dev-python/cramjam/cramjam-2.8.3.ebuild b/dev-python/cramjam/cramjam-2.8.3.ebuild
new file mode 100644
index 000000000000..9ecf01a66f3b
--- /dev/null
+++ b/dev-python/cramjam/cramjam-2.8.3.ebuild
@@ -0,0 +1,215 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Note: you need to use top-level Cargo.lock to generate the crate list.
+CRATES="
+ adler@1.0.2
+ aho-corasick@1.1.2
+ alloc-no-stdlib@2.0.4
+ alloc-stdlib@0.2.2
+ anstream@0.6.13
+ anstyle-parse@0.2.3
+ anstyle-query@1.0.2
+ anstyle-wincon@3.0.2
+ anstyle@1.0.6
+ assert_cmd@1.0.8
+ atty@0.2.14
+ autocfg@1.1.0
+ bitflags@1.3.2
+ bitflags@2.4.2
+ brotli-decompressor@2.5.1
+ brotli@3.4.0
+ bstr@0.2.17
+ bytesize@1.3.0
+ bzip2-sys@0.1.11+1.0.8
+ bzip2@0.4.4
+ cbindgen@0.24.5
+ cc@1.0.90
+ cfg-if@1.0.0
+ clap@3.2.25
+ clap@4.5.2
+ clap_builder@4.5.2
+ clap_derive@4.5.0
+ clap_lex@0.2.4
+ clap_lex@0.7.0
+ colorchoice@1.0.0
+ crc32fast@1.4.0
+ difflib@0.4.0
+ doc-comment@0.3.3
+ either@1.10.0
+ errno@0.3.8
+ fastrand@2.0.1
+ flate2@1.0.28
+ float-cmp@0.9.0
+ hashbrown@0.12.3
+ heck@0.4.1
+ hermit-abi@0.1.19
+ indexmap@1.9.3
+ indoc@2.0.4
+ inline-c-macro@0.1.5
+ inline-c@0.1.7
+ itertools@0.10.5
+ itoa@1.0.10
+ jobserver@0.1.28
+ lazy_static@1.4.0
+ libc@0.2.153
+ libcramjam@0.2.0
+ libcramjam@0.3.0
+ libdeflate-sys@1.19.3
+ libdeflater@1.19.3
+ linux-raw-sys@0.4.13
+ lock_api@0.4.11
+ log@0.4.21
+ lz4-sys@1.9.4
+ lz4@1.24.0
+ lzma-sys@0.1.20
+ memchr@2.7.1
+ memoffset@0.9.0
+ miniz_oxide@0.7.2
+ normalize-line-endings@0.3.0
+ num-traits@0.2.18
+ once_cell@1.19.0
+ os_str_bytes@6.6.1
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ pest@2.7.8
+ pkg-config@0.3.30
+ portable-atomic@1.6.0
+ predicates-core@1.0.6
+ predicates-tree@1.0.9
+ predicates@2.1.5
+ proc-macro2@1.0.78
+ pyo3-build-config@0.20.3
+ pyo3-ffi@0.20.3
+ pyo3-macros-backend@0.20.3
+ pyo3-macros@0.20.3
+ pyo3@0.20.3
+ python3-dll-a@0.2.9
+ quote@1.0.35
+ redox_syscall@0.4.1
+ regex-automata@0.1.10
+ regex-automata@0.4.6
+ regex-syntax@0.8.2
+ regex@1.10.3
+ rustc_version@0.3.3
+ rustix@0.38.31
+ ryu@1.0.17
+ scopeguard@1.2.0
+ semver-parser@0.10.2
+ semver@0.11.0
+ serde@1.0.197
+ serde_derive@1.0.197
+ serde_json@1.0.114
+ smallvec@1.13.1
+ snap@1.1.1
+ strsim@0.10.0
+ strsim@0.11.0
+ syn@1.0.109
+ syn@2.0.52
+ target-lexicon@0.11.2
+ target-lexicon@0.12.14
+ tempfile@3.10.1
+ termcolor@1.4.1
+ termtree@0.4.1
+ textwrap@0.16.1
+ thiserror-impl@1.0.57
+ thiserror@1.0.57
+ toml@0.5.11
+ ucd-trie@0.1.6
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ utf8parse@0.2.1
+ wait-timeout@0.2.0
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.6
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-sys@0.52.0
+ windows-targets@0.48.5
+ windows-targets@0.52.4
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_gnullvm@0.52.4
+ windows_aarch64_msvc@0.48.5
+ windows_aarch64_msvc@0.52.4
+ windows_i686_gnu@0.48.5
+ windows_i686_gnu@0.52.4
+ windows_i686_msvc@0.48.5
+ windows_i686_msvc@0.52.4
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnu@0.52.4
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_gnullvm@0.52.4
+ windows_x86_64_msvc@0.48.5
+ windows_x86_64_msvc@0.52.4
+ xz2@0.1.7
+ zstd-safe@7.0.0
+ zstd-sys@2.0.9+zstd.1.5.5
+ zstd@0.13.0
+"
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit cargo distutils-r1
+
+DESCRIPTION="Thin Python bindings to de/compression algorithms in Rust"
+HOMEPAGE="
+ https://github.com/milesgranger/cramjam/
+ https://pypi.org/project/cramjam/
+"
+# pypi sdist is missing libcramjam/Cargo.lock
+SRC_URI="
+ https://github.com/milesgranger/cramjam/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+S=${WORKDIR}/${P}/cramjam-python
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT MPL-2.0
+ Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~riscv ~sparc x86"
+
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/cramjam/cramjam.*.so"
+
+src_prepare() {
+ sed -i -e '/strip/d' pyproject.toml || die
+ distutils-r1_src_prepare
+ export UNSAFE_PYO3_SKIP_VERSION_CHECK=1
+}
+
+src_test() {
+ pushd ../libcramjam >/dev/null || die
+ cargo_src_test
+ popd >/dev/null || die
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # random health check failures
+ # https://github.com/milesgranger/cramjam/issues/141
+ tests/test_variants.py::test_variants_different_dtypes
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests
+}
diff --git a/dev-python/cramjam/metadata.xml b/dev-python/cramjam/metadata.xml
new file mode 100644
index 000000000000..128a8d89ead7
--- /dev/null
+++ b/dev-python/cramjam/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">milesgranger/cramjam</remote-id>
+ <remote-id type="pypi">cramjam</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/crashtest/crashtest-0.4.1.ebuild b/dev-python/crashtest/crashtest-0.4.1.ebuild
index 8cee0b49029a..e0f9e032a72b 100644
--- a/dev-python/crashtest/crashtest-0.4.1.ebuild
+++ b/dev-python/crashtest/crashtest-0.4.1.ebuild
@@ -1,20 +1,20 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
DESCRIPTION="Python library that makes exceptions handling and inspection easier"
HOMEPAGE="
- https://github.com/sdispater/crashtest/
+ https://github.com/python-poetry/crashtest/
https://pypi.org/project/crashtest/
"
SRC_URI="
- https://github.com/sdispater/crashtest/archive/${PV}.tar.gz
+ https://github.com/python-poetry/crashtest/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
"
diff --git a/dev-python/crashtest/metadata.xml b/dev-python/crashtest/metadata.xml
index 4738d157afa9..f68da96047b6 100644
--- a/dev-python/crashtest/metadata.xml
+++ b/dev-python/crashtest/metadata.xml
@@ -7,7 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="github">sdispater/crashtest</remote-id>
+ <remote-id type="github">python-poetry/crashtest</remote-id>
<remote-id type="pypi">crashtest</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/crc32c/Manifest b/dev-python/crc32c/Manifest
new file mode 100644
index 000000000000..760df9c9fcc6
--- /dev/null
+++ b/dev-python/crc32c/Manifest
@@ -0,0 +1,2 @@
+DIST crc32c-2.4.1.tar.gz 38277 BLAKE2B 3d4a0eeb5811e8bc46df30b8890ab409de92dc3cfe2c5c3ab355df3394e56812c19ac26523be2cf9c33bb5825fb6e080b6f27ea77bed5c38d98fbe6c247653fb SHA512 005f95f66e97f552a83b5c94b706224f44280895d70c348fee86943bf1589a94b57eeddde5e18499fea9c77cbcbcfd5691d9d4b33ed788dc885a1333b6db476b
+DIST crc32c-2.4.tar.gz 38272 BLAKE2B 1273f62794bd646e983737d922c4e1320a4519856b1cedf2d1d1f9b1e47fc767e248b6e00ada48e8f245e47fc18619327e9a8cfa5d88a0569c467ca6147a1974 SHA512 d747dee42184ff025dd6fd7334b65e5caba4066a055943a783b951d09e09339694072ea552aa95579f03a85a7bdb2eb4a8d12dc9a17f0f83d84c0fde534b36cb
diff --git a/dev-python/crc32c/crc32c-2.4.1.ebuild b/dev-python/crc32c/crc32c-2.4.1.ebuild
new file mode 100644
index 000000000000..73c73f15b871
--- /dev/null
+++ b/dev-python/crc32c/crc32c-2.4.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CRC32c algorithm in hardware and software"
+HOMEPAGE="
+ https://github.com/ICRAR/crc32c/
+ https://pypi.org/project/crc32c/
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~sparc ~x86"
+# NB: these don't affect the build, they are only used for tests
+IUSE="cpu_flags_arm_crc32 cpu_flags_x86_sse4_2"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x CRC32C_SW_MODE
+
+ # force = run "software" code (i.e. unoptimized)
+ # none = run "hardware" code (i.e. SSE4.2 / ARMv8 CRC32)
+ for CRC32C_SW_MODE in none force; do
+ if [[ ${CRC32C_SW_MODE} == none ]]; then
+ if ! use cpu_flags_arm_crc32 && ! use cpu_flags_x86_sse4_2; then
+ continue
+ fi
+
+ # the test suite just skips all tests, so double-check
+ "${EPYTHON}" -c "import crc32c" ||
+ die "Importing crc32c failed (accelerated code path broken?)"
+ fi
+
+ einfo "Testing with CRC32C_SW_MODE=${CRC32C_SW_MODE}"
+ epytest
+ done
+}
diff --git a/dev-python/crc32c/crc32c-2.4.ebuild b/dev-python/crc32c/crc32c-2.4.ebuild
new file mode 100644
index 000000000000..2444827a45f7
--- /dev/null
+++ b/dev-python/crc32c/crc32c-2.4.ebuild
@@ -0,0 +1,51 @@
+# Copyright 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="CRC32c algorithm in hardware and software"
+HOMEPAGE="
+ https://github.com/ICRAR/crc32c/
+ https://pypi.org/project/crc32c/
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~sparc ~x86"
+# NB: these don't affect the build, they are only used for tests
+IUSE="cpu_flags_arm_crc32 cpu_flags_x86_sse4_2"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/ICRAR/crc32c/pull/44
+ "${FILESDIR}/${P}-sparc.patch"
+)
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x CRC32C_SW_MODE
+
+ # force = run "software" code (i.e. unoptimized)
+ # none = run "hardware" code (i.e. SSE4.2 / ARMv8 CRC32)
+ for CRC32C_SW_MODE in none force; do
+ if [[ ${CRC32C_SW_MODE} == none ]]; then
+ if ! use cpu_flags_arm_crc32 && ! use cpu_flags_x86_sse4_2; then
+ continue
+ fi
+
+ # the test suite just skips all tests, so double-check
+ "${EPYTHON}" -c "import crc32c" ||
+ die "Importing crc32c failed (accelerated code path broken?)"
+ fi
+
+ einfo "Testing with CRC32C_SW_MODE=${CRC32C_SW_MODE}"
+ epytest
+ done
+}
diff --git a/dev-python/crc32c/files/crc32c-2.4-sparc.patch b/dev-python/crc32c/files/crc32c-2.4-sparc.patch
new file mode 100644
index 000000000000..f2e96638d51b
--- /dev/null
+++ b/dev-python/crc32c/files/crc32c-2.4-sparc.patch
@@ -0,0 +1,34 @@
+From 9d94ecbfe2363c7adf49bddbf31871764faf4f41 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 30 Jun 2024 16:00:34 +0200
+Subject: [PATCH] Fix char signedness issue in _crc32c_sw_slicing_by_8()
+
+Fix `_crc32c_sw_slicing_by_8()` to use `unsigned char` for `p_buf`,
+to fix incorrect results on platforms with signed `char` such as SPARC.
+The code has been casting `unsigned char *` to `char *` for no apparent
+reason, and this broke the bitshifts in the big endian blocks.
+
+Particularly,
+
+ crc ^= *(p_buf++) << 16
+
+would be XOR-ed against `0xffee0000` rather than `0x00ee0000`.
+
+Fixes #43
+---
+ crc32c_sw.c | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/crc32c_sw.c b/crc32c_sw.c
+index 8382749..67409c9 100644
+--- a/crc32c_sw.c
++++ b/crc32c_sw.c
+@@ -490,7 +490,7 @@ const uint32_t crc_tableil8_o88[256] =
+
+ uint32_t _crc32c_sw_slicing_by_8(uint32_t crc, unsigned const char* data, unsigned long length)
+ {
+- const char* p_buf = (const char*) data;
++ unsigned const char* p_buf = data;
+ size_t initial_bytes = (sizeof(uint32_t) - (intptr_t)p_buf) & (sizeof(uint32_t) - 1);
+ size_t li;
+ size_t running_length;
diff --git a/dev-python/crc32c/metadata.xml b/dev-python/crc32c/metadata.xml
new file mode 100644
index 000000000000..a5c4dec1ece1
--- /dev/null
+++ b/dev-python/crc32c/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ICRAR/crc32c</remote-id>
+ <remote-id type="pypi">crc32c</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/crcmod/crcmod-1.7-r5.ebuild b/dev-python/crcmod/crcmod-1.7-r5.ebuild
index 902177adf57e..f9997b03e119 100644
--- a/dev-python/crcmod/crcmod-1.7-r5.ebuild
+++ b/dev-python/crcmod/crcmod-1.7-r5.ebuild
@@ -1,16 +1,16 @@
-# 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
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
DESCRIPTION="Python CRC Generator module"
-HOMEPAGE="http://crcmod.sourceforge.net/"
+HOMEPAGE="https://crcmod.sourceforge.net/"
SRC_URI="
https://downloads.sourceforge.net/project/crcmod/crcmod/${P}/${P}.tar.gz
"
diff --git a/dev-python/crispy-bootstrap3/Manifest b/dev-python/crispy-bootstrap3/Manifest
index bd68dc06355a..5d5b4b260332 100644
--- a/dev-python/crispy-bootstrap3/Manifest
+++ b/dev-python/crispy-bootstrap3/Manifest
@@ -1 +1 @@
-DIST crispy-bootstrap3-2022.1.gh.tar.gz 25773 BLAKE2B 492f8b41fcdbb92bf40213aa31f98db9818cf0810cd5808e0436f838e9a0c3bea2e1cd3d5d8412034ecd3e97c2c80ba379cfbccab6675184eeb90d8e316041d8 SHA512 632bb7ec654227c7a95ea6019742517e5f04b41b570274adc52d1d828168327b8f2fd5e8f0171098500721ef449b408f79c5918b208adca1948ca61b0d2862a6
+DIST crispy-bootstrap3-2024.1.gh.tar.gz 26766 BLAKE2B 40a90ab97755e72a5e46dfcb7a2763bf21acbb5bb53117c92fa419bcc52d2faf46e189d0b00003c09d1c0d835979a137299f3b7b3a503548efc38e4507415791 SHA512 d647da99f0939e3221130a10ca44eb122be2d7796c0f2d29b4c9c4c8948f8cad788a7218bb59b2ccf032298cc7be177a222e14a924c3f543a77eba73699f0c0e
diff --git a/dev-python/crispy-bootstrap3/crispy-bootstrap3-2022.1.ebuild b/dev-python/crispy-bootstrap3/crispy-bootstrap3-2022.1.ebuild
deleted file mode 100644
index fa1e6bbbaacd..000000000000
--- a/dev-python/crispy-bootstrap3/crispy-bootstrap3-2022.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Bootstrap3 template pack for django-crispy-forms"
-HOMEPAGE="
- https://github.com/django-crispy-forms/crispy-bootstrap3/
- https://pypi.org/project/crispy-bootstrap3/
-"
-SRC_URI="
- https://github.com/django-crispy-forms/crispy-bootstrap3/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/django-crispy-forms[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-django[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/crispy-bootstrap3/crispy-bootstrap3-2024.1.ebuild b/dev-python/crispy-bootstrap3/crispy-bootstrap3-2024.1.ebuild
new file mode 100644
index 000000000000..2ea015d8837c
--- /dev/null
+++ b/dev-python/crispy-bootstrap3/crispy-bootstrap3-2024.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Bootstrap3 template pack for django-crispy-forms"
+HOMEPAGE="
+ https://github.com/django-crispy-forms/crispy-bootstrap3/
+ https://pypi.org/project/crispy-bootstrap3/
+"
+SRC_URI="
+ https://github.com/django-crispy-forms/crispy-bootstrap3/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/django-crispy-forms[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/crispy-bootstrap4/Manifest b/dev-python/crispy-bootstrap4/Manifest
index c8ca1b4b70f4..6abc18f0806a 100644
--- a/dev-python/crispy-bootstrap4/Manifest
+++ b/dev-python/crispy-bootstrap4/Manifest
@@ -1,2 +1 @@
-DIST crispy-bootstrap4-2022.1.gh.tar.gz 30814 BLAKE2B 573847b614b5f6cf71fea6ed6831eeef48ac01b2c2db07653d600b5b0829209188d235a143585ed4fabb663264aff3b5f7a416d99d12a8e268d4c62edaf3db84 SHA512 7f1e5443229274de2aaf28bd63507bbe5dff7923f27509801ea9de9246fa393bfc4563a4aa6d586a1e642b87bb7dddcb3ad3403653912c0197f8638141c42229
-DIST crispy-bootstrap4-2023.1.gh.tar.gz 31707 BLAKE2B 0a3c4c1b86ba9701365f1fcfb90811e1f6793fb9f374a510410c460bc62a48e06b72a75330f0efd3a06e51380f457eea66f236488774c3ee6bf758510136f08b SHA512 fbbc8c6e0f4351b50b0fa3a4d2faefb0775906c995f42cf9ccd9688d4780e05877a9a53f065ad92785d135a560064809f429dbcebe9f257f65f063d9539973e8
+DIST crispy-bootstrap4-2024.1.gh.tar.gz 31818 BLAKE2B 5778544067c7c23971a410bb52556a267fed9109bee4b5a4cd7e72c9bde0888e6744c2e12aa079c92217c0b6bc0ef2709de2eae127fe92ccc92ca1acb5015aa6 SHA512 c4c4e02117a2b3cf24c9111579c20f1454c5feb8c485c954e48436354e82d0a26e34b54212fb642d010a7c370236028119e5193fdb43ff2053cabae56a01a7c2
diff --git a/dev-python/crispy-bootstrap4/crispy-bootstrap4-2022.1.ebuild b/dev-python/crispy-bootstrap4/crispy-bootstrap4-2022.1.ebuild
deleted file mode 100644
index 98602ed39570..000000000000
--- a/dev-python/crispy-bootstrap4/crispy-bootstrap4-2022.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Bootstrap4 template pack for django-crispy-forms"
-HOMEPAGE="
- https://github.com/django-crispy-forms/crispy-bootstrap4/
- https://pypi.org/project/crispy-bootstrap4/
-"
-SRC_URI="
- https://github.com/django-crispy-forms/crispy-bootstrap4/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/django-crispy-forms[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-django[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${P}-test.patch
-)
diff --git a/dev-python/crispy-bootstrap4/crispy-bootstrap4-2023.1.ebuild b/dev-python/crispy-bootstrap4/crispy-bootstrap4-2023.1.ebuild
deleted file mode 100644
index 91cf18b22f0e..000000000000
--- a/dev-python/crispy-bootstrap4/crispy-bootstrap4-2023.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Bootstrap4 template pack for django-crispy-forms"
-HOMEPAGE="
- https://github.com/django-crispy-forms/crispy-bootstrap4/
- https://pypi.org/project/crispy-bootstrap4/
-"
-SRC_URI="
- https://github.com/django-crispy-forms/crispy-bootstrap4/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/django-4.2[${PYTHON_USEDEP}]
- >=dev-python/django-crispy-forms-2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-django[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/crispy-bootstrap4/crispy-bootstrap4-2024.1.ebuild b/dev-python/crispy-bootstrap4/crispy-bootstrap4-2024.1.ebuild
new file mode 100644
index 000000000000..a566d2401f56
--- /dev/null
+++ b/dev-python/crispy-bootstrap4/crispy-bootstrap4-2024.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Bootstrap4 template pack for django-crispy-forms"
+HOMEPAGE="
+ https://github.com/django-crispy-forms/crispy-bootstrap4/
+ https://pypi.org/project/crispy-bootstrap4/
+"
+SRC_URI="
+ https://github.com/django-crispy-forms/crispy-bootstrap4/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/django-4.2[${PYTHON_USEDEP}]
+ >=dev-python/django-crispy-forms-2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/crispy-bootstrap4/files/crispy-bootstrap4-2022.1-test.patch b/dev-python/crispy-bootstrap4/files/crispy-bootstrap4-2022.1-test.patch
deleted file mode 100644
index 1432235e3b56..000000000000
--- a/dev-python/crispy-bootstrap4/files/crispy-bootstrap4-2022.1-test.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/tests/test_form_helper.py 2023-04-01 18:48:25.847263389 +0200
-+++ b/tests/test_form_helper.py 2023-04-01 18:48:38.817091994 +0200
-@@ -633,14 +633,6 @@
- assert '<div class="form-group row">' not in html
-
-
--def test_template_pack_bs4():
-- form = SampleForm()
-- form.helper = FormHelper()
-- form.helper.template_pack = "bootstrap3"
-- html = render_crispy_form(form)
-- assert "controls" in html # controls is bootstrap3 only
--
--
- def test_passthrough_context():
- """
- Test to ensure that context is passed through implicitly from outside of
diff --git a/dev-python/crispy-bootstrap5/Manifest b/dev-python/crispy-bootstrap5/Manifest
index 843a1e5d3e3d..9768d1f0ba90 100644
--- a/dev-python/crispy-bootstrap5/Manifest
+++ b/dev-python/crispy-bootstrap5/Manifest
@@ -1,2 +1 @@
-DIST crispy-bootstrap5-0.7.gh.tar.gz 29728 BLAKE2B 1209ab7d8340e30c71050ed60a86d8233f454c49d2f6d4fcf4f1d6be4a7d1c470c3f907211c1ee352fc3eba9a74e8152d41162e4d6f8113538eccbb3522409a5 SHA512 c73305c6661719cd45989679c33751f44b318b39f895e0328257eaffcdd52b726be9be624ebecb6bcba35635f0f615bb83e48c775e0f05c40f8f1e6e80ab737c
-DIST crispy-bootstrap5-2023.10.gh.tar.gz 31222 BLAKE2B cab972ed222ba0245d0a0d6e75487aac03c054f8669859fc4eb8293c2abb3775ef76f6866402917d1d1bfa0444548983639a24bd5fd4d1c2a3bbd74d1c086057 SHA512 379e4ea536809ceeb347d8894953acd97362c7340cb496727e4f56c2967aba93b1b041166ba6b8253d4952e4fa97f80668041733ddbd2ca62b60f4f9046259ef
+DIST crispy-bootstrap5-2024.2.gh.tar.gz 33509 BLAKE2B 4a1eec0cea4ee2b0fcbdd8aec6b4595a7b981b0502113d5154585702cc20d9c80cf28fd06db8085dd561c154e13fa493ee88bc3a9c0e619684ab56fce1376d70 SHA512 08c0e35caff14c53976283a383da5a8115a64b42a5a0797089c2528f3e2c0e03eb0826f48c1991bdbbd183afc486c0a238c73e782a76eac1d003e5760ddd852e
diff --git a/dev-python/crispy-bootstrap5/crispy-bootstrap5-0.7.ebuild b/dev-python/crispy-bootstrap5/crispy-bootstrap5-0.7.ebuild
deleted file mode 100644
index b04b976d40a0..000000000000
--- a/dev-python/crispy-bootstrap5/crispy-bootstrap5-0.7.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Bootstrap5 template pack for django-crispy-forms"
-HOMEPAGE="
- https://github.com/django-crispy-forms/crispy-bootstrap5/
- https://pypi.org/project/crispy-bootstrap5/
-"
-SRC_URI="
- https://github.com/django-crispy-forms/crispy-bootstrap5/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/django-crispy-forms[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-django[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${P}-test.patch
-)
diff --git a/dev-python/crispy-bootstrap5/crispy-bootstrap5-2023.10.ebuild b/dev-python/crispy-bootstrap5/crispy-bootstrap5-2023.10.ebuild
deleted file mode 100644
index b21a1f0b456f..000000000000
--- a/dev-python/crispy-bootstrap5/crispy-bootstrap5-2023.10.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Bootstrap5 template pack for django-crispy-forms"
-HOMEPAGE="
- https://github.com/django-crispy-forms/crispy-bootstrap5/
- https://pypi.org/project/crispy-bootstrap5/
-"
-SRC_URI="
- https://github.com/django-crispy-forms/crispy-bootstrap5/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/django-4.2[${PYTHON_USEDEP}]
- >=dev-python/django-crispy-forms-2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-django[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/crispy-bootstrap5/crispy-bootstrap5-2024.2.ebuild b/dev-python/crispy-bootstrap5/crispy-bootstrap5-2024.2.ebuild
new file mode 100644
index 000000000000..b4e83d76870c
--- /dev/null
+++ b/dev-python/crispy-bootstrap5/crispy-bootstrap5-2024.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Bootstrap5 template pack for django-crispy-forms"
+HOMEPAGE="
+ https://github.com/django-crispy-forms/crispy-bootstrap5/
+ https://pypi.org/project/crispy-bootstrap5/
+"
+SRC_URI="
+ https://github.com/django-crispy-forms/crispy-bootstrap5/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/django-4.2[${PYTHON_USEDEP}]
+ >=dev-python/django-crispy-forms-2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/crispy-bootstrap5/files/crispy-bootstrap5-0.7-test.patch b/dev-python/crispy-bootstrap5/files/crispy-bootstrap5-0.7-test.patch
deleted file mode 100644
index 914b48385437..000000000000
--- a/dev-python/crispy-bootstrap5/files/crispy-bootstrap5-0.7-test.patch
+++ /dev/null
@@ -1,172 +0,0 @@
-From 69ff88bed286a76e6216a54ecf93a0b27d87bc8d Mon Sep 17 00:00:00 2001
-From: David Smith <39445562+smithdc1@users.noreply.github.com>
-Date: Thu, 15 Dec 2022 08:01:04 +0000
-Subject: [PATCH] Fixed tests for crispy-forms 2.x (#133)
-
----
- tests/templates/custom_field_template.html | 2 +-
- tests/templates/custom_form_template.html | 2 +-
- .../custom_form_template_with_context.html | 2 +-
- tests/test_layout.py | 14 ++++++++++++--
- tests/test_layout_objects.py | 12 ++++++++++++
- tox.ini | 2 --
- 6 files changed, 27 insertions(+), 7 deletions(-)
-
-diff --git a/tests/templates/custom_field_template.html b/tests/templates/custom_field_template.html
-index 4724226..04f0274 100644
---- a/tests/templates/custom_field_template.html
-+++ b/tests/templates/custom_field_template.html
-@@ -1,2 +1,2 @@
- <h1>Special custom field</h1>
--{% include 'bootstrap/field.html' %}
-+{% include 'bootstrap5/field.html' %}
-diff --git a/tests/templates/custom_form_template.html b/tests/templates/custom_form_template.html
-index f2da757..c09b4c7 100644
---- a/tests/templates/custom_form_template.html
-+++ b/tests/templates/custom_form_template.html
-@@ -1,2 +1,2 @@
- <h1>Special custom form</h1>
--{% include "bootstrap/whole_uni_form.html" %}
-+{% include "bootstrap5/whole_uni_form.html" %}
-diff --git a/tests/templates/custom_form_template_with_context.html b/tests/templates/custom_form_template_with_context.html
-index 2378296..477997a 100644
---- a/tests/templates/custom_form_template_with_context.html
-+++ b/tests/templates/custom_form_template_with_context.html
-@@ -1,4 +1,4 @@
- <h1>Special custom form with context passthrough</h1>
- Got prefix: {{ prefix }}.
--{% include "bootstrap/whole_uni_form.html" %}
-+{% include "bootstrap5/whole_uni_form.html" %}
- Got suffix: {{ suffix }}.
-diff --git a/tests/test_layout.py b/tests/test_layout.py
-index 512facf..a2a72e8 100644
---- a/tests/test_layout.py
-+++ b/tests/test_layout.py
-@@ -16,6 +16,7 @@
- from django.middleware.csrf import _get_new_csrf_string
- from django.shortcuts import render
- from django.template import Context, Template
-+from django.test import override_settings
- from django.urls import reverse
- from django.utils.translation import gettext_lazy as _
-
-@@ -36,6 +37,12 @@
- )
- from .utils import contains_partial, parse_expected, parse_form
-
-+CONVERTERS = {
-+ "textinput": "inputtext textinput textInput",
-+ "fileinput": "fileinput fileUpload",
-+ "passwordinput": "textinput textInput",
-+}
-+
-
- def test_invalid_unicode_characters(settings):
- # Adds a BooleanField that uses non valid unicode characters "ñ"
-@@ -331,6 +338,7 @@ def test_bs5_field_with_buttons_css_classes():
- assert parse_form(form) == parse_expected("field_with_buttons_failing.html")
-
-
-+@override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
- def test_formset_layout():
- SampleFormSet = formset_factory(SampleForm, extra=3)
- formset = SampleFormSet()
-@@ -523,6 +531,7 @@ def test_keepcontext_context_manager():
- assert response.content.count(b"form-check-input") > 0
-
-
-+@override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
- def test_bootstrap5_form_inline():
- form = SampleForm()
- form.helper = FormHelper()
-@@ -557,7 +566,7 @@ def test_update_attributes_class():
- form.helper.layout = Layout("email", Field("password1"), "password2")
- form.helper["password1"].update_attributes(css_class="hello")
- html = render_crispy_form(form)
-- assert html.count(' class="hello textinput') == 1
-+ assert html.count(' class="hello') == 1
- form.helper = FormHelper()
- form.helper.layout = Layout(
- "email",
-@@ -566,7 +575,7 @@ def test_update_attributes_class():
- )
- form.helper["password1"].update_attributes(css_class="hello2")
- html = render_crispy_form(form)
-- assert html.count(' class="hello hello2 textinput') == 1
-+ assert html.count(' class="hello hello2') == 1
-
-
- def test_file_field():
-@@ -611,6 +620,7 @@ def test_html_label_escape():
- assert "&lt;&gt;&amp;" in html
-
-
-+@override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
- def test_tabular_formset_layout():
- SampleFormSet = formset_factory(SampleForm, extra=3)
- formset = SampleFormSet()
-diff --git a/tests/test_layout_objects.py b/tests/test_layout_objects.py
-index b386c0b..0e3dde7 100644
---- a/tests/test_layout_objects.py
-+++ b/tests/test_layout_objects.py
-@@ -21,6 +21,7 @@
- from crispy_forms.utils import render_crispy_form
- from django import forms
- from django.template import Context, Template
-+from django.test import override_settings
- from django.utils.translation import activate, deactivate
- from django.utils.translation import gettext as _
-
-@@ -37,6 +38,12 @@
- )
- from .utils import parse_expected, parse_form
-
-+CONVERTERS = {
-+ "textinput": "inputtext textinput textInput",
-+ "fileinput": "fileinput fileUpload",
-+ "passwordinput": "textinput textInput",
-+}
-+
-
- def test_field_with_custom_template():
- test_form = SampleForm()
-@@ -202,6 +209,7 @@ def test_custom_django_widget(self):
- html = render_crispy_form(form)
- assert 'class="form-check-input"' in html
-
-+ @override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
- def test_prepended_appended_text(self):
- test_form = SampleForm()
- test_form.helper = FormHelper()
-@@ -223,6 +231,7 @@ def test_inline_radios(self):
- html = render_crispy_form(test_form)
- assert html.count('form-check-inline"') == 2
-
-+ @override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
- def test_accordion_and_accordiongroup(self):
- random.seed(0)
- form = SampleForm()
-@@ -269,6 +278,7 @@ def test_accordion_active_false_not_rendered(self):
- == 0
- )
-
-+ @override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
- def test_bs5accordion(self):
- random.seed(0)
- form = SampleForm()
-@@ -315,6 +325,7 @@ def test_bs5accordion_active_false_not_rendered(self):
- == 0
- )
-
-+ @override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
- def test_bs5accordion_flush(self):
- random.seed(0)
- test_form = SampleForm()
-@@ -329,6 +340,7 @@ def test_bs5accordion_flush(self):
- )
- assert parse_form(test_form) == parse_expected("accordion_flush.html")
-
-+ @override_settings(CRISPY_CLASS_CONVERTERS=CONVERTERS)
- def test_bs5accordion_always_open(self):
- random.seed(0)
- test_form = SampleForm()
diff --git a/dev-python/croniter/Manifest b/dev-python/croniter/Manifest
index 6f3cd15d196f..61b13ec4c6bd 100644
--- a/dev-python/croniter/Manifest
+++ b/dev-python/croniter/Manifest
@@ -1 +1,4 @@
-DIST croniter-2.0.1.tar.gz 42599 BLAKE2B 78bc432fe14995d33bd2b0290772849c825fd11e976913b7e68d9c7490e7d768df7c0ced614b0246d17681aea351232529eac3316a7f117bf0179fa2879ad1d5 SHA512 548738d60af7628e986e4f5252025c031154c3a6885d06e1429255a4f2105d56d6e68793ae8a9a0aff8325792524b49665083ddfdbc3df8efa3109b052a043a4
+DIST croniter-2.0.5.tar.gz 47450 BLAKE2B fe7260cea5ec477cc39660af98a11b933182c08d66d696edece1b88d3b3212f3cdc82d4c750a83d9ceb03cd7d7d90ec139bcf6e737f2a2d791412f5a562b7819 SHA512 a61d98182754773e8a556d01ca1926452a392e55285ae3654a8cadce12418e665c6cadd2cdffa4a4091c341c8f0cb3180e473b6e91c928c5309a4d376c5e3560
+DIST croniter-2.0.7.tar.gz 49655 BLAKE2B e3c8c8e4ce87fdbf1ed9a993069b0b27ea07192315f7d81237989b8c2c2d36e965a95f09b32dd219b6dd0a2c2bd8db253bdff81e30f192057bc509990fc32f9f SHA512 9aeb10930ce9709794dc85c873098161881334f15edb722d2cbb5314f618c61c2842191111066ed904927d9ee37bc38dc14d2a6f156c57188ad3ab57a81a8de1
+DIST croniter-3.0.0.tar.gz 52232 BLAKE2B 4f424e1063c2af7a0f3f74cecdf41322515bef86fa2fa7ce3d0d2649344561ad28cf6e4cadba1df22f4707418902eb368d5e64a896b72c05bf47d5f19f1a46a7 SHA512 1d41caa62c876288e3b0cd3bf04b2fcea28d2dd7dc314cc427e8a1b5fb89a63d4ab02e333c8a70b311297b9c8f8306660b8e0e794b0c092a830d25f9aae6ad12
+DIST croniter-3.0.1.tar.gz 52790 BLAKE2B 9404451fc1df88bfd2d5b6b1ddb22fd8e1d9f3a07c4282b114e310a40021a0f3e6258f1fd7b0d35ed36bd273da7bce8099492e8b67f5e358f5a9e882efd0faa9 SHA512 d74e27812f261ee56e151e74b276ebefcc139bd8369ac3f792d8d970c4ee188097c491378ab519f8d47db64c647d4dc598a043cb2c4502a07612adc0ee1e9ad5
diff --git a/dev-python/croniter/croniter-2.0.1.ebuild b/dev-python/croniter/croniter-2.0.1.ebuild
deleted file mode 100644
index 3646da2f6b3d..000000000000
--- a/dev-python/croniter/croniter-2.0.1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python module to provide iteration for datetime object"
-HOMEPAGE="
- https://github.com/kiorky/croniter/
- https://pypi.org/project/croniter/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/tzlocal[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/croniter/croniter-2.0.5.ebuild b/dev-python/croniter/croniter-2.0.5.ebuild
new file mode 100644
index 000000000000..6b9cd9264d4d
--- /dev/null
+++ b/dev-python/croniter/croniter-2.0.5.ebuild
@@ -0,0 +1,31 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python module to provide iteration for datetime object"
+HOMEPAGE="
+ https://github.com/kiorky/croniter/
+ https://pypi.org/project/croniter/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/tzlocal[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/croniter/croniter-2.0.7.ebuild b/dev-python/croniter/croniter-2.0.7.ebuild
new file mode 100644
index 000000000000..678616a1506d
--- /dev/null
+++ b/dev-python/croniter/croniter-2.0.7.ebuild
@@ -0,0 +1,31 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python module to provide iteration for datetime object"
+HOMEPAGE="
+ https://github.com/kiorky/croniter/
+ https://pypi.org/project/croniter/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/tzlocal[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/croniter/croniter-3.0.0.ebuild b/dev-python/croniter/croniter-3.0.0.ebuild
new file mode 100644
index 000000000000..678616a1506d
--- /dev/null
+++ b/dev-python/croniter/croniter-3.0.0.ebuild
@@ -0,0 +1,31 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python module to provide iteration for datetime object"
+HOMEPAGE="
+ https://github.com/kiorky/croniter/
+ https://pypi.org/project/croniter/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/tzlocal[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/croniter/croniter-3.0.1.ebuild b/dev-python/croniter/croniter-3.0.1.ebuild
new file mode 100644
index 000000000000..678616a1506d
--- /dev/null
+++ b/dev-python/croniter/croniter-3.0.1.ebuild
@@ -0,0 +1,31 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python module to provide iteration for datetime object"
+HOMEPAGE="
+ https://github.com/kiorky/croniter/
+ https://pypi.org/project/croniter/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/tzlocal[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/cryptography/Manifest b/dev-python/cryptography/Manifest
index ad6100809679..d9047bf503e6 100644
--- a/dev-python/cryptography/Manifest
+++ b/dev-python/cryptography/Manifest
@@ -1,56 +1,77 @@
-DIST Inflector-0.11.4.crate 17438 BLAKE2B eaf0c7f983b3186e9bc89353021a10592f2877e46585bd50b96db9b087343d1199c7b6cf3fa53cd274fb6d33de025a904b8aa31a7ac9599ae3689ecdbcec34cd SHA512 f1f6463e033b6d3c16c51dc1e1a3f5569954308b95b59058294b7f9310919bbda797e99e6a07529071bb83f0688867a243997d33795a7136b0af73977004296e
-DIST aliasable-0.1.3.crate 6169 BLAKE2B c23840c7f1df86109e004aa1929d7355bd815c69ce8c5a316c9e2810851b7faf91c7480924d67cf83520e94b86dc0cc1b90b0dcc84b446a15ba5cccc1bae95ca SHA512 a60e4280335638b36a72e51514843229fdd0cc89cb670fcf159f882a687c04ecbddcc52a1dcc3cbe8647e5308af3939037934a157facdddcc4834dcd3cb16dc8
-DIST asn1-0.15.2.crate 34002 BLAKE2B 9b6bb21474474747b15c6df8895a68560e511a29795768a58d22142efaa70cdfee808c5edfd4b32ac2ea196f6e0f1e89595a8faf501a32d7c4743feea8f10375 SHA512 3584849573a6d29400565edea5254b5efc16d4b521d3f6d80602ffb6880a6be1fe2ced4eecf8422107d7d9c3c12c2d6cfa4ec4dcae20cb80f9b6b83ba8760f29
-DIST asn1_derive-0.15.2.crate 6096 BLAKE2B 99a0f922363634472b774b7139366ba658d14b6868dd64cbe5f796e461c660e9746f9e883c50d0f4fc3914c975496e775c1698069b47ee986cdd87aec7daf6aa SHA512 3ea2585f9cacd5bf903e225614fc13f76fecd7e4bb00191e634a2ec838ab726c55056c95a00cb5d268b430d100570a3095c808b089af4ab8871a6055468cc20d
+DIST asn1-0.15.5.crate 34375 BLAKE2B c794bc89b21ed3543082873d065a22f72a1d3f422217bce2980b44ffab1584ecf7ee23808346794c1dd9eb1f413332b8a5fee5f2ba8d626f6200e6a0492b39ea SHA512 28ab871b4e011a91da38db4900b1fd907ef894b0eabc98d354f9288ae1564a3122b19748dcd49879a3e294d9e7dfe3b4b2b49ed0b0eeb723aac4567b2c0481bf
+DIST asn1-0.16.2.crate 36082 BLAKE2B 70214556c18ddc9e31f58a1b5c59b5ef5e74f3662ec515b739bca66ac6272ffce258d8a73eed913aed0bb871aabff7a0c95e88853551292ae8f1425e8087d751 SHA512 518481d1bb12d95c1340e374e7b1bf23f550712ee57bb166e7892118ac9b602006a461605f9ebf1b7d60dfb70266229b87833827c5fd018361c33bd9a89e5e7b
+DIST asn1_derive-0.15.5.crate 6095 BLAKE2B 0b8b14796253b7ef29e0baada2ffaf363e69686bd8fa5760ed7cbba5299fb2c4cc1944e66cf559b0e136b0e8c436d63f823f143bf8d200c36ce36e3e9e6fe87a SHA512 6649cda49844db520b49a31cad671743842f22188cd1104eee29d1e59db2474c821bad8b00bcfb5491ff7117aff6e6c11e05186c17b02e63088c1d09f623b5dc
+DIST asn1_derive-0.16.2.crate 6099 BLAKE2B 709e2c3c1b698e5f9101bc56434bb7abff8a857fded1bda3552d1dc138fe8e88af6afc1e1b604a3acd877858f21e27c80c96d274330db4514f7bf375be5bac3e SHA512 d59670896090d048f2d739aeaa897638d91f211534400d7f102672d40ae887a2a5f4cc4ac61381c17c2d1388a18991736f6fe7fe2b50838b88f25017656e43bc
DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
-DIST base64-0.13.1.crate 61002 BLAKE2B 3b3a5b26e2ef18e9b4f1ede72b1bd160a1494751878e8441d463f8a514e6cb9ac859231536989e19fb1261fd864617fe31440df1b5855a0ec625521fc6fcef91 SHA512 1eb76aff9a84057f2ccb7082e9c57b015c2d71a28173089b02e7aacd09a7d311bedf0a943529611ada29f8d7b536d7ae4de256d98eee8450003a3a9a652bda4b
+DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635
+DIST base64-0.21.7.crate 82576 BLAKE2B 25cc8761c14220981ff4ed332058f6179948080cbfa2b225ec1d1602e4af14cd470c969e8b7049117e6fc51a5a24e06b1d27bab844486ecb76409d12e0581d5d SHA512 c6986d88dd9aa081d914f35b4174be4ba874848657ac4b5e63b9b45af765d973289c548ccb5a01584edfc0d8d79ff5be25b51365295d6e7a311bd7f0ae3c0cb9
+DIST base64-0.22.1.crate 81597 BLAKE2B 6f216a560bd36e6e6b74e908344b457594cc768d9763070e269b56a14b150cbfc4b7f599d4c2a0a5f783638170ee132f0796fefb14fcac7fd73c58db0791007a SHA512 91cf2e4e7fc8815f9b8a86a7fa722a20eee3dc1dd57111b29e420de87ce7836bcdb1db01d3cafb9a977710ef63e7cc41b7772762323e68e0e832156858aace20
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
-DIST bitflags-2.4.1.crate 37043 BLAKE2B f61c45b142265e9c2944c7054e01704de47510735e9ee5351cd02b98676cc4eb42d68b1fc4849ad5f54654617a74f20cb533b4207c2fe76516b724ba9318b414 SHA512 d3fd7abc95acc1cb5bf16d6acc12dbb8eadd250f069268df13c2e8dc3d5f5c15a929cd17ca931c77393b64dce0516ef8674c469789ed32d78e315b5faada062b
-DIST cc-1.0.79.crate 62624 BLAKE2B b3cbed3bd6fcac1c6ea258ec96cd107f859947a35dc89c3dc8f314741b0f668e61518f896ec32ce10c9a7eb20dd350bc177a71810d53ebea59fda062ed9d27db SHA512 cbf0a25f3a23fc540e9d638fabc23f761f1c240ebb4814e761e90437d71fc559cd155768ab9e78fc192220d8a605c66c3af342ed736b719181656170b98d7bf5
+DIST bitflags-2.4.2.crate 42602 BLAKE2B 768d4ca52aca73d8acf2f494a66957ed2603eefd5a04332ed0880d230c2cc6ef3bfdc0792fa6f288a0eb132913dbb256793e580bc34f4a40e8200e1fbafe97a9 SHA512 ef4c20e6e78a2ecee97e17189b7100a504d8176c7c15d7f17d62157a116d66f83f8b2bba472a4acf02cd3edbd94b20a7047af918c3f3b371e2e04f7474be0214
+DIST bitflags-2.6.0.crate 45357 BLAKE2B 3a368bd2eb58c095b7b4a46680cc2d90a28e24b2e37c854bbf8647c861c4b8fb37eca827599673c5c7df763048149dd82123d1ede1f8a0e58a6bc23c8250f7e6 SHA512 f9bb3c48931ed7e7e05ec6d13305af5da6b6c18861ff307d7dc17c658f63972c87b70b0527287b3625c8592befc207cfe15550654995faf3862bb12a6d95bacf
+DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7
+DIST cc-1.1.6.crate 81585 BLAKE2B 412ef9d62c32a42164f8c2b827c10f0d41e75faa77e6d1dd8515ff5ec43abd1da75bbb400460a43a252c93dd0a597c2e44c8e899a376d963f0d3727db7ca2c24 SHA512 ea8bd8150042268092360e6396226ee5e83ba154eae99d299c897ed16e8543fcfe3179e22b50b0497bcf065a16933f4ebf7edcae7e6fc8be3788f0ae7f61c000
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST cryptography-41.0.7.tar.gz 630892 BLAKE2B a2786c999b8a3fa9e413a330eeaf1076574b8f49a91a91887a7976e7260aa4bd6c25354ff4656917c9e729cd12fc457ff708d904449d03b665965f775f8b7aaf SHA512 c678da6dfc02d84ca9a26bc42844da8ba356f5dc839fefa0b63636c99107b18415b5970d721b72075fc0f8aefc3785dbf143327ceb7f4ebd075df41291b63219
-DIST cryptography_vectors-41.0.7.tar.gz 35288159 BLAKE2B ef2e82f42bb4964a256e875bf3b7bcca549df11839893ac3b8d909d05308360bb0696774fd89bd8951bf4f13aaf752a7700bfde78e68cce450ffaf5117182958 SHA512 05a96cc8d1e3653e62c6822f202f6c25157b2a11bcc42fa8a9462ac1844c295147ed5f49315f0b297c689e244cf13d02948ff5e57c21a487f0210f87518c913f
+DIST cryptography-42.0.8.tar.gz 671250 BLAKE2B 77de79a8f6e78cc375c604e5d7045130c00bb3d2ac5293f5b16dc81e5d58210711943d3e217baea84d7f5348121f15a8326e6228e161cae87f1f7ecd1bfbe321 SHA512 db56db956649c05dea9f405341164126147e94e09ecef3535b63e2fecdb3d64a008c23aedc868406eea0dc1ea8a8efbc2fb29b74b7f04cc50454039e2d2e647f
+DIST cryptography-43.0.0.tar.gz 686873 BLAKE2B 09e1f73ed47a3ab03b49e6a65eceb0ee506b4e1c50b44cd0f971243159b27ea5f725350fcf2c702945438545a89d96ec026441b6b6151a9022bd61b926ca26cd SHA512 0a93a217bf09afca32df5ed6792b8e9de210ca4143697b8b97aa2c41b8e8382ffdce1bae47bf51a6319f03d9ec70933218030ab21d642a0ef907cac3e816929c
+DIST cryptography_vectors-42.0.8.tar.gz 35277813 BLAKE2B 89c3ce911ee65a634c2bb647c57ba99c27f846dcbdf70889f5c589412b50218641ee83e7426ffaa001ed059fab4439c15e9abdb30062f7c0a82bca18c66e6247 SHA512 c81fb4a3773e84504e2f4f935cbf572ed056531671a66c65e55a6377ac8ae9006e0d7d0cc24141c32cbded74bccce487e21290afbe8548318951d4c4de00a84f
+DIST cryptography_vectors-43.0.0.tar.gz 35306242 BLAKE2B d1dceec0dbe02ad500c73bd94791c6b47320534268cc4fffdb799a632f37b27bd3de837a725c79f733f86eda813a1a512778615c62144275ca5e7aaaa3d65d08 SHA512 ca5221a390ebea4eda5d72f9ac9632849ce2174db51385405b1b41b702c0dcd2f24f7fbfaa027bb6eb8c63588ac1eae5fdc7978a08c1561dcaaaaa998b67eaef
DIST foreign-types-0.3.2.crate 7504 BLAKE2B 520818b702d990d296ecd31a8646850202509ccfa18edd0e1b260289619a6c351e758f317ec0824bd76eccb209b6f087057c25f1bd01a47897715013dd834867 SHA512 bf27b8243ed482c202d120383374f19ff09422535e24b9c1aebccc66529bf300ca17b8bbc76d67f98ac092e614497afe3add9dc68aa69c93074df05762f91232
DIST foreign-types-shared-0.1.1.crate 5672 BLAKE2B d2e42e04b6657e7a69fe0bd20c672176629c743e49a55fd007bb30e289710b70045d445ae9cae0eeaa747ee708c90e8abd9b5fc39bad8ec0666befe1b696d4f1 SHA512 bafdb2143e136fb0818e2ffd90b5c862b7181647d6568947d4e4531012bbf7a57b597221ec7056c1b562dfc0c3b5dead26d1a4111ebc15e7863737a873518a4a
-DIST indoc-1.0.9.crate 13475 BLAKE2B a9696788574e56dd125c3371169fd59d6947d188f76e2669b21c0304692efd6709cd048920f7822e92c6a5620fb178e0e85c7776118cef8ccee0f58398e14abf SHA512 db8aef4a7bb606452dc8ed45aa29a255c7a135357a0bd586fb4429c5f56a1aa2ca9400d6fac39956aeb486a15d25cf5d1b9524967867f2c651d9d563e3e85be8
-DIST libc-0.2.144.crate 682092 BLAKE2B 1f699cb880a65baf9210527789abb35fe8be9565828d061e12b5c76330e21babab67b21e9a44be6a706f643f3c8b98503a3b40482183188b49f33f96a2489a68 SHA512 576da68e3845a7149f64bee425529ffec4bbb8df0272790182e49c8bad5b9744de21ffb5c1206753b57b7fe45af02c6c429e16522b72a77e5262482d64df5692
-DIST lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990
-DIST memoffset-0.8.0.crate 8912 BLAKE2B 19ad3abed21fc39461b0382b15a8cc312378aba36f042b1e5335012115d31b350a4e3bc720f1eea300d7d19b9b317f75a28d4ccd78ff3b31defd9e4b3147899c SHA512 47adcae0848ff967035e10543ea599c7af9c5bad387023eb4dc77c9e8d875994ec8139b9941b3ecc4fc17214d80944a47a3be174a45b334661914a5a7382dfbe
-DIST once_cell-1.17.2.crate 33335 BLAKE2B 8f1bf825fd618fa1070c3497264085bd354c9b470aab08663179cf2eacd1778b6dde0c54247aa5c8091be97c40d3da20e56dd92981318a0c0ce85d41c3a740d0 SHA512 8a00338f5aabe766fe5cd741cafd8c2ff544d60d081e5706b0965db6c86e00cc7b5fa0f73d8aa54cd1f4506a0858de589ceb4bd32afa7046dd3a1fbcf52b69d7
-DIST openssl-0.10.60.crate 265736 BLAKE2B a5a2386470baa5bfecfd9bf32a9965babf1c222e6e35d8652846ac342f75dc6ff022d8344350adcbd42d3313cde3831664fa9e65affb8e3825d58d4a8f5b7418 SHA512 4341098b55136862b2206091e740801c165c42f30404e4224c9d5cf3e68b5b6b26f5c4c383495a4b5b6baef232fa698f80136b0c3e86dbc9d411d3bde0d59616
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
+DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
+DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
+DIST libc-0.2.152.crate 740278 BLAKE2B 8eecde477063207d77b6894d6f9194c8dd10e55b69585e3d66296eaa0b9d3f6e2d033e667207182bf4c3cf31f6d38820c9187b2006f4b5ebee898adafb4b2751 SHA512 1722f6f52077efab90026aae3d10306f8c38ebba95366593c3c1adf707fae121ab450064ad9e8be5a667caf6af0b90fad4d1ca1009db0f2220093c44e33c4b5c
+DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807
+DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3
+DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
+DIST openssl-0.10.64.crate 272306 BLAKE2B a8b618aa403cdb06a7f135cd966775f21c99739365c55aabde2680a6154d03c7d554bfae6c62a069841c70ed82ece6c3f0cd589da8c26022b7022c3c4d79a6d8 SHA512 a1fa9f71cfebbb37ed9d4a902360f2cc95a78f55b5da5d51eef69db38cef016fc03236485158d689ccf054e04937b8cddf88e3f0f31672997fb30c6cac73cbf6
+DIST openssl-0.10.66.crate 273705 BLAKE2B 7892e96dac3b24ad5622833b4061bd82028210f9f26ec9772cebb65905ff6e45da8b21ad1aabfb87bb5610f534018da6bd20c10eaee8c189dd08a7ebfbf12b4b SHA512 2f4dd6e40dd8aff8c04563517fabeecd5ac0d986764649cc9af9bf4ce25757a67f75655eee207703b46fe57661a216ff00144358ffcbc70525447a063fa086c1
DIST openssl-macros-0.1.1.crate 5601 BLAKE2B 69dc1c1f3b7bc4f934cae0dce64c3efa501162e5279efd6af3b74f7a7716c04b6996b306b310f1c045cfa2eff2895314a47ecbb020a817e461c6d77d0bc11e92 SHA512 57e75c84f78fb83f884eeaedb0dd135ecb40192dad2facd908e6a575c9b65b38a2c93bca4630e09ea5a82c77d8bc8364cb2f5778cbfe9d8f484cafe3346b883c
-DIST openssl-sys-0.9.96.crate 67743 BLAKE2B 0336ef48841d263c7c5883f0e2c3b7224c5561c521fc15d692b56fadac50681d18ecabbea8b0d5adcdad20f3d3ba60fa29950f04ed1ed35fa3b7b4816f556af8 SHA512 b5f0290fde2198e314b8e0d3fddfe0fd6d5ea88024cd1f2a70d99a0b78905568a82e63818cd58bae7f362d663e47202e6fba8cf4fc83354dc0253d78a9dafd76
-DIST ouroboros-0.15.6.crate 11257 BLAKE2B f7f8758a7456e4561279fbc88d0bf994bf97e93f9d42d2a3476d959d40a85d2d8f7910e36f96824cb0316193d42efeab608767ada00bde6803bf193405f51233 SHA512 ba777f29b26b1a934d7bcf5f456e2e6485dabfe7b8a25160b34feea438e1e7649fb45cb62d83cb1ba9262564b7b877d84f9c9419d877669b65869bed2df9c02c
-DIST ouroboros_macro-0.15.6.crate 20751 BLAKE2B 79f78d819a5db2ba58dcdf3cd06d95570a71ba51b9ea6b55f19a975dd5aca5f3774697ae7ff009d42734add9e37e7b7380eabcabd31d14c37e09b029c32c24f2 SHA512 c79a7b9598a6048d392899707c3d0b942ed3a695803cf74620352f857341b04816fa1172bca6a5a5262a335e47c8a26786e67a3341f456fbefc335d056296bef
+DIST openssl-sys-0.9.102.crate 68622 BLAKE2B 0d3d3c9ef8e2542c7f35db1d8feaf512cc7313481bfcc99354d601e8d6332adfc2e7ee8b35599a9241de35c163efd840186e904375bdc9c65ee743abbc154cba SHA512 7ecfaa0b49cea5c60f6f063fe5217252a65b27c5e6d1185e0aa1bb4b59c4cf9bf326840e8795a870a537c18ee5a987feedaaf2dd767cd6f1380f25468a1622bd
+DIST openssl-sys-0.9.103.crate 71552 BLAKE2B 4cc1ab93f5a444b4b985c84f6ae90f345da4639e4ff7c5502dc1ae59f842d46e3855057a7c05855f7cd739b5311f330dff361480ef2a0102fe46471506956148 SHA512 61b802f6baf918ec055be90ee47c69fe0184f6d9a1d29c748386192a11d4df115758961ec9b636126a6b42d7d8f7509248c59f7c035905558c4cc35b804a8eaf
DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
-DIST parking_lot_core-0.9.7.crate 32412 BLAKE2B fec3ed2cf28e6d5090aae6a7c0ad583acf3ce6e54e881b78a9cb6721ca1e7040d46c044d405852728e74baff6ff1feaee7a89a64c69d20531f29942dfaafcc72 SHA512 1f232f1a87ba9377621244ba49378663f3113da7192a399fdb70be971ff5e5ca0d0601e1210a3fd8ab75ef464dc8505e719f81902e3448cce5e7848ef4bdbef0
-DIST pem-1.1.1.crate 11352 BLAKE2B 2f21e56ab3e1c55aeab08a2d60b3e83b9b9520ed611de394141d65beaebb42b80505983b442edfb49902147b6e8672dbdda2c51faba07487cb37f2f1000c8676 SHA512 a61105cf968db35c0136e2da5575f1f2eefeb1849e15152d6d6bbaeedec8aaa6ed7e6fd86892a4094bfae2495065b090263b760ebf4ccbe131f536963d985bd2
-DIST pkg-config-0.3.27.crate 18838 BLAKE2B 1295eb4f08751b3663cb2c7c2753f29bf2ccd80f4e5856909fe10b6f006c37fb9672c9518b9b416546469faa18821512673a66543c0bd1e848bddabc456d0a90 SHA512 41e9b8d4fce6b8244c2ac8566318a001b481bd42a182f1a832c81ce93c6a023e18af03aa3500b134c30195219d35080433bdba69b2594e9665081debfbb4533a
-DIST proc-macro-error-1.0.4.crate 25293 BLAKE2B ef918c5efaf2545ab38787c8d0c07315af00431139e4dff66346bf798e3a429f91d12a79776c150412fdda0b158a72badd5e1044ac4d6917f8482d4b5a7110b7 SHA512 8a47bc9d3e24e9561d1e384d8f5a633284c2cf9b5e6733c5f9d1dbfe1870ccc8e2152482852e50b551cecb68e009148585b910ffb0508a7b4875598eaf8657db
-DIST proc-macro-error-attr-1.0.4.crate 7971 BLAKE2B 98e2925881c2be186e22c2c439697e91d43f807eb61a5d13e3b0b4321ed50a74f3d699942c04b89b6fea0f156bb5d19ebcf22f9cd4b98a7e6917c437600ed823 SHA512 2606afa9ec78d7dad4500c98d3a5ecbd02c6b53ab829c742bed7f57b322a95238ab4e01cf268746815f1424fd9b02eddfa30e72f98c66106f57765f3d3116495
-DIST proc-macro2-1.0.64.crate 44848 BLAKE2B 4422122d9299eff3bfbb4507c4a117fef7c0906cab5a680933d482b7f9b49480bcb9c8172b412e70bf87dd0737b8532e90c310bf083f144292cc72190059ba3b SHA512 884fd14ff23c19420692e35a38f88bb6a766a09da105759cd958c315b9360a2c49cfe61ceaa3122307d44040195ec9dffb12b6d0ce224fbac5d3701621a12b04
-DIST pyo3-0.18.3.crate 420236 BLAKE2B bc00a825a67ed3590b31d3ea6bd77f6c4c927c0355d9d03ce64ca44e36ae3e29ab4d891bf2d94ca074b3bf858e077c516dc64e4620f875fe1e8fbffb5c9db1ec SHA512 39f044a19a42a5e2f46049431fbe3fe10c14d12a4741cc789b42de7cbf448bcbded7fe38a0f124d994ff9bcd3d95a19305dbfdc7462331fda3e6686cc4289be5
-DIST pyo3-build-config-0.18.3.crate 29137 BLAKE2B 5fa645b64f50a078f38cc10a27ed52bd7e7aadd8a069c05ec2963f0b7c869b94d29eddda97cc31d200cf749ab8e2cd9cd1ea00e75620287e9187745ae0e100a5 SHA512 7ccad5f245e84895e147389f05270f32d12f81aba46bcd0dc184b8d62af2ea579efc50383502efda40601c981c4dbcf911aa7d8192364caa2e177ad939062cdb
-DIST pyo3-ffi-0.18.3.crate 64474 BLAKE2B 32bedfb4c7d88e539e958af0dd48af311934a817282a01f860af7cd824fa1e3825c505463b78cda57541bea8ccbbedacdc0f67bef686e6775fab3787c26c6d2c SHA512 55240c7824ad1e5c69e05a31ec03e2064290c89c4c98f06c3ebc38c311a10b1690571c977a103790ddcc9623ac42fbf525fb028e910baedb9acafe39fd6e4a82
-DIST pyo3-macros-0.18.3.crate 7175 BLAKE2B 424cda4d0d75c7d4df6aeab0a475fc744039c9a663215c633e62762083930eb6736348f431b6f00d11a093961433fb13fb4c9da8a18268d1904e933157255646 SHA512 2b643ec3451267e836076bd79d110826fa0a2407955543c8a6a46b0dd16c477eb3ad919d51b7beca90eca2938a59577b32e1e67169df67429fac4cfaae5bf5ab
-DIST pyo3-macros-backend-0.18.3.crate 48922 BLAKE2B 4937f6d9459c6651f85fd520e4783c051f28932192d02aba5711fbf0294ed617f5b0b35ebbac74f3e6048a3fd3b75028518ebadf1277eefaa501015a91269c77 SHA512 1e607e4925486e1a48748ef3163666910a06f9a4f4a2fd7eb6a6af87ea37b5b7edb9d3ab4958e6fe907a55c5f4bcb702a251d836dc3b57c4ab1c5d9248b8cd35
-DIST quote-1.0.28.crate 28382 BLAKE2B 9fb16c3bb2a7fec3d8138ffec1f58277061f4a643c9051e1f6525f9e347ed9de41a3797eb3140a6dd828526eb4114c1f7ca562151dc933f338d64b175ed35d9f SHA512 846d718153f78cbae6dc714caa9413a5d5964bcc5e032f5c6c5356c62c33bf22635955ebdff0dede69ba1c9657387e65d61de7c537f6f56f8060721dfa52d735
-DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
-DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
-DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
-DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
-DIST syn-2.0.18.crate 240648 BLAKE2B 1e16f0936faf2656ee74cf9c75bdaec19589a4309d68b0cab37438061cfa29c66a1dcd624ad9247d63c85b3c1fdd8a484a65509d672cc6471f3c93f3ecce30d2 SHA512 2642eb35d52022c6d21bb893843beb9b737a267f620e1f5a6c9096d434fd1fab05fe007c8d8b6f1fe00a25007d6f55dbd4ec620b9f5c1154659bf34c246334dd
-DIST target-lexicon-0.12.7.crate 24402 BLAKE2B 3715b15649566b9f26fe02aad818325a43b54512008e4ea9fcda9ea15a87b8f4baf4ffd7343fc12456c97d8a6b1e121158c4cb61997de0e2d24d1bce93d86850 SHA512 0f3cdbd7515141315934b6ca61c5666f3bf60e259711f68ed3c33468e2bd400cedf824db7158a80fa07e78cc7ac2a0a1eed2df199352176148e9df34b06511a2
-DIST unicode-ident-1.0.9.crate 41978 BLAKE2B 4e78cefb4e7d7f173f1826a5ab6c8ffde386fea67cf3227bd22e6a6e65d3348dc53c9438e6bde9af06fb5e04b0beac866209d2426e7f04cd10b2435db85df7e3 SHA512 4d8cffe699c6f15ee82ab5f5a73421a6bb8b1a476237aefefa6e932c45c30683a4fb015f138bce99d7cb27a27fb7972909c828e77daef091da84ec162315625a
-DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
+DIST parking_lot_core-0.9.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032
+DIST pem-3.0.3.crate 13035 BLAKE2B a9a5b7f9860ad9ee7b355e54c7e885126790e5298715234cc8247ceef8b997311bd1f916d113358cdfb22cbaa3fdae2ed4e3ee139bb1eb969185dbf468148c86 SHA512 7bc100eb0494ef2a86fcc4ba67c328d0cd791718f0c4eb67e66ac998d13e5624dfb6a1919862f684052bf61c7169c5065bde23b30640fe56651cf377fa573b30
+DIST pem-3.0.4.crate 13040 BLAKE2B 33126cd0feeeeb8b57691c50f6535c43e853b9835308d69a5afb426c7a738d260a67d5c46f091ad73e934f0347d976c6f65f88b2f7b1058eca542296191bcb9a SHA512 be743157e11ed76e5a9a60f5e58f50277910ecbf12df492b114b4211f1f1d69555702d955337ec41d368566ae1697f550e3705a195105068c617b9392c43f56d
+DIST pkg-config-0.3.29.crate 20563 BLAKE2B ed0559b0073890911fb47742743b2586123bf9e9b594aa0d5b2c419c6768cd37e25b546c21077ea6cc02823a679b302aeaaca6c7fcaf9aeec615dd08f53a1f6f SHA512 bac7dafc0e10bef40e427c1fc0271d1a26acb2f5b1cf7cc7a128f4d4f1f3110529e45057b71cea7b0f6ddff26945fe08962285ddeb22b54639e44a2e43af698f
+DIST pkg-config-0.3.30.crate 20613 BLAKE2B e14dd544612f74b038bc7d279d629034237946c261e3e97621d6ac910a12f4fa4e75932dbd5d3339e62325d0ccf33002b07f04b0523f93d2bd3b1a919841ba66 SHA512 e4bce232e1e1cbb17d1c08c3de4dd12613f5a5238f831c2a765b6ede9b494e647d2416a7d9a0c926104e24066dd1b38df8df98a6c55d62f25060f80eb33d064d
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
+DIST portable-atomic-1.7.0.crate 145385 BLAKE2B 7d9622d636677e3adae0f909405090318a9d6189fc18683ed21074e9360f213b44c5213f3561e3dd1f642547c2c2e6682b9e1efa63243c1f12636bb11bd15dbe SHA512 0849edaa7a1f9ea66182443e31691e7839c857240916521bbd6009b5e692b13f5b315df36e656134651386bc50d895ecf6155a906750009514cad8bfc7e57fe2
+DIST proc-macro2-1.0.78.crate 47158 BLAKE2B c56a24fce3faca9e04db7965cab552d2a976c3764df0a84179b5a89d1230ab355c777a82b4c982e3945414f1f0478473a88821dd176c32d6de394d73a26adb9a SHA512 11956fe03a2e77a925cdff2c3c8bc8804dffab4fa1de963a128fa23f4189976fd2e2102bd346b92c33524beae320b71dadaa5213695a3ec638404196e14fa769
+DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
+DIST pyo3-0.20.3.crate 434673 BLAKE2B 1dcb881fd1fe5c76e9b4951f4d95fcd1daa1845c226a4ab1db4283cabe67bda822ff03e3cc85d797fe4665a1614229e7406dea65ec5e99ce4aac96b973a7f55d SHA512 77cce558fa60bbd8d9981ff5e62fdfa9bac94bd650b287fbf14ac93ef1c326c8ae7fda82d744e3582df03cab8adf490e0f2752fabd9ae3de044e7d80984e0350
+DIST pyo3-0.22.2.crate 538342 BLAKE2B faf347695117f9fe0ebe5cd7f6aa1b0dcfe718343875d6c06438046deccc1075f104d2a2413dcda41ae9827bc363aa147057b45968f6634f577a6a4510a4bb8e SHA512 e8bae09059f50ffe477dad44499cedeaf3a734665f0fd8e8bd4b44f48578d21e4bdb8d55ceea00c5a27da750761842ddf89cfcecdecb2e7a4a17ab192259be9c
+DIST pyo3-build-config-0.20.3.crate 30060 BLAKE2B ef122b0b7d840d5362928bac76e1299b333775ec5c49a3bf23a19eccec074917931356bbf719c6d700999941bb6a396948ee7f8761e685c8e9251af07ba0cadc SHA512 70685415bba443787dabb9c61ca3702aefbcacb0705471b496b4f01efe34291735321d91243355b4be9aed8b243e393c09fb65556f1b926ac7f22f64560bd927
+DIST pyo3-build-config-0.22.2.crate 31225 BLAKE2B c2e6a3d3d23b7f2f51bcbf1214ab20a298a1e62f85c9af3dab1e77b09f20b657b576feefffb18eb49d438f0ffab525b6bcd1086d500601c327ffd4fd24a719ee SHA512 644c82d30bb27051557efcc9789a81380a64e29bc62abf97de88f42c3791dac74228c7a7d09e0d46d14f07c0475f0bc03fac6ed1367b9a616153e8820b94cbc8
+DIST pyo3-ffi-0.20.3.crate 65024 BLAKE2B 33e79a02c7ab85f4767e02a39d8553ddc015c80d13bea674885ad8a18d89bd90f866cc39d81ecbf56270ebe87d29bca48f635c4e73ec99df02ce425f1427cb31 SHA512 3d1ced58e243be7cee4a3ca831dc08a1631fcd511c707dd3bada87d7662807dea2d88393d76e56ff19a6d1c2804d93b5b6b7b5efd36b9c275d66fa1bb1bfc384
+DIST pyo3-ffi-0.22.2.crate 67749 BLAKE2B 0a4357d5f4fbcab9717d58b7a80b63a63bc329267d4725136c4eac7c0101095a50e5f840638dde79034e5df99c4f46664cfdc2ad437837643db5d475c5705cb3 SHA512 bf8b83b4790832d99de8c6a61a15a43fc189505dd843011933305f7f93c4f5f4849fb00cc2a6fa410b788645f8ed8c0df61799cf801966a925abb9756b1ab579
+DIST pyo3-macros-0.20.3.crate 7920 BLAKE2B 0510accf51cd83390cbb7b6ba4ec9f4610e3dbb7448d1213994013487ae81bb087df1ba0076a3862e5ecfd172b7846f9439a2d86950a93b016aae565ced4f03b SHA512 454f3c0c054aa131ffe955e4be1af061005b9c81b4d80702827e19b983224c118dfea474da515d5fc2c79cfd3fa21204ed4af2d9e81427123e0a78bd246a23f8
+DIST pyo3-macros-0.22.2.crate 8136 BLAKE2B 9dc97d2f60581db1b8ddb562dac917069525f297fe2cbb9aff3ed34d5a08ea43c112c9c7a450539da3536d753778b5ca506dd1b18e1d6b8a3649fc098e7af439 SHA512 f4f4f6af8dc3aa4bcc1698661990ab2112391ef9502e9f71d86e35bd10dc4e1be309102ebb1b7b32751817a6033168dc0486fdb16b35c626101e69f0de807a4a
+DIST pyo3-macros-backend-0.20.3.crate 49797 BLAKE2B 59c55d482577ce105db3e19a1db794eaab8221d7de01197716b75d5d2602e0f27c86aaae527eae7098eafad311144550bd597efe8cd6560c82dc435021f3428f SHA512 e177ee0d6a538a555fbe9108e3e2c20102622b2c9b9696ae309189e5c4d068efad2132afd4a97d734ebabb4d7146980a26cb68dc05d5eb88f338be2ad0cd651f
+DIST pyo3-macros-backend-0.22.2.crate 65620 BLAKE2B 37fba9ff384373418d3a7341acafb8e33308a64e30026f828693a37c32ab4a74d058f2db84d00467a20f9f267c96fe54c0f154d1ebbae92490e8dfc0d29c042f SHA512 0517080c0d5d4ed8136521fd37aa3a192c2eb8cab58545d8543ee4df9cd0dcea19fe0678d5ab90f05fe3eb0f4a86fc2f07b76f2e12ac1fcf7e7c195c2ffa4fd8
+DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
+DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
+DIST self_cell-1.0.3.crate 15147 BLAKE2B 9b53b0568dc4ce0c7372565eef14e593aa25e262d7501da6e4b8cd7807f5385977f9bd3563ed39a6fd4e07c824847d0c09a2a750024a800229c7a57ce5e8e325 SHA512 89a990f8a59cdbb99930ebbf9bb6566b77f03f1f551e49b207c865e7205541fd9f0342d284aca5f3d054a24520fd438b6c53baf48c43fa28dfbe8d79fe8c7e00
+DIST self_cell-1.0.4.crate 15220 BLAKE2B 9a617058652ab2a2e92434b6eef58a813ce0be5afed9525c4d4c819c25c7cd87aaa12d129c8c4ca9d74c3ea33d81e9dd295f121887070364185b9ab33021544c SHA512 042467e5f3ac0305e2a634df0b9a9379e92b54813e05c3a7652d5327a4a9a784f49e897c968c5c7a87017284d42a889b5420ad18e97ea84183e0283a46dc907a
+DIST smallvec-1.13.1.crate 34952 BLAKE2B e0dcf1d26883564cd4f5d20a588562404e193075b1ae011f7f7542009a9466e5df3ade7768e1a8feb8806774b2cee5f15d31779928f83714e7d4b6ed46af9ab9 SHA512 1259ef947400470b8c9e74c5582dbc1a49753aa46420883c1f7d66f320f67bebe733a15a23cd57ba461020fad4ff337a5b298de82754602a78f5e6cec969652d
+DIST syn-2.0.48.crate 250566 BLAKE2B e46b0863af76c3116c84d01b654a9820b7edc51f75c9c5301a7967d12284f78da602409f34fc40524728350dc6b998a4d738f08b8868f95236b3e5d24c460580 SHA512 926c0ad55cc743df20f9166b6d71fd44421aeb1f073fd86b6ddb53e13cd508b539c0360ce64b07b65597bb14639c8f33acf7e60951e1e9128624517aa3aee325
+DIST syn-2.0.71.crate 266398 BLAKE2B 78760c9965b59e14ab5d97e83c4dabdba99cd1933b66350c7d5c5f9e55f34fe68207597b51aeb023b211a065d986889655ab701b94347397ca6856a4fcbcdc85 SHA512 cf6264bc148ec550d943d7d146c7360a7d753e37ef553e6d0c6dc265bf516084530a5617f6826069275cc6f71d9f820014f7d92f04356ae964df8b79edaf7bbe
+DIST target-lexicon-0.12.13.crate 25424 BLAKE2B 5fcac231c270a59b6589adb79c90cd3bb15ce024e3c5fa3fd267b3226e5514ce77387c57c86ca765b43ee593a55ec99fdc8fbfd464dc01afaa91ad10337b6278 SHA512 323331857bd3db9877a6c7304392e39d378439462ae4f6d6939c02d28914ecddec52696c94ceebfe8a0e7e93ce25c900099bb3922d7783643162e55c7a8769b7
+DIST target-lexicon-0.12.15.crate 26384 BLAKE2B d1ba50aa9d50647c6f778df86b35db1a4dee56fad918e6ef216688d9ac716dc5e8b40bff15aa89a99e4874e74d7e2731ad7fd9ea7094652def8abf57b74f9811 SHA512 32cf3e2da1c28003e1b6347abc8ae4d8182bf5b719ef84772271fc871dbaf96ec98c03b555a748cb8ab76584e67e17532757193d1d84b057cc90bed525727fb3
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
DIST vcpkg-0.2.15.crate 228735 BLAKE2B 6b6bacd9a7fa38919241f45a97f58cae957e58d3aac99df208a26aa718e4f1644f4ccefa31b09151e5c1952288e0e5837c363918b98c7f55079a948a952c1c50 SHA512 7322a21e8811b2fe4e79e09dc321458068ecdf1953f05d36233f3278ecc0b1dfc64194db7010dd46fcf692285f42475beb090c6c6cac0c8f9fe0eb5c770e3172
-DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
-DIST windows-sys-0.45.0.crate 2568659 BLAKE2B 6f2d634d121a9bf41e2887e277a73f33aee69b04c7fcfc6ff973d21902787997f1e186f530e9226cddc003ffc3f85a179c069c8a8688de459f617df92d33f94f SHA512 f239346c0141b95aa76e0771e2f4e38b9a592f3cd92c6001de353637cd65cd73b94cbf9917a4eaa9b0c0b2e6e2af920b9cf6b3fccb52770df5160254cffc1c47
-DIST windows-targets-0.42.2.crate 5492 BLAKE2B 42fc4a7d3e287fe2a70637e890304b49737776596f4a94a6d216668247092135e84322bd04caddd19c83b7700b0f27278e600ce8ed326957fabc21bffcae89b0 SHA512 84fbaffcad9a80beca77506aac26d0c5cb75aa0f21a5a70bcd3f6a16e71e8753ae00d3b89da9262c99756624163dcc0d6074fa9f99dfaae0dc098018209025f9
-DIST windows_aarch64_gnullvm-0.42.2.crate 364071 BLAKE2B 97c4e3b2a2dd3f936f9bfcdad23639c9c4c499eed220aec361d26d6013d798efa118e6b298f9cf841ac149d2ae5d58ca653731718450fcf2910bb5f6fa39159f SHA512 75cd7eb1def8ce9d0ff3d7468d2b1cc31cc76c08f981a2460c3d1eb09cff7100d7442863a3591621c1f5f3b3f4badf0b5c95285b6ed583e37283a8403f1095f1
-DIST windows_aarch64_msvc-0.42.2.crate 666981 BLAKE2B 9f3cc5592cdede08bcdc1e7c455325279e3b763d96942695e10dccf1dfc37a81c749b69a7d6de883d4c0fa6e8a0d2f578fe2a8d6c42ad8ef6282590bf8fc87b7 SHA512 d2dafa8c94d01c1b65ca1bd631d31f2ef842f1db7accb132ff78c3f8483221b991afd3391563e03dcec42bbc9cbdc0ebdab47b991d25af85b5ba2ac1bbf8db63
-DIST windows_i686_gnu-0.42.2.crate 736236 BLAKE2B 4ef0496462afc73d9d72af7e5da1e6d3506a92f8172930e88ae64ab97596ffd31c4f97fb969e9b677e30159c27f00a8e756deb006b630fb98ce83f03c8b762e2 SHA512 ad09d650a05cb91cb6b40f59025c023a4c286bc1194586697c506016df2b9b0d5b02606b81687bc634795a0d9a9b8a73e486599328ae09c853e8e5ba662fc59c
-DIST windows_i686_msvc-0.42.2.crate 724951 BLAKE2B b084286cd4927efd2889b149abf8a9fe9d3d777130db9e592982660dbf9a96a0f5e723ca121465787aa11877d2d29a5a7d7cf066cdc8fa7e90d7ca7dcb7677f1 SHA512 c1706fc36d4b157c020744a11b3eb5d7dfbf05a0b56775bc717e94b7fd725816b20154fdbcd69ac08dbfb8b8bbfa74fab72d7a9c10399aad6a1cc54cf597e804
-DIST windows_x86_64_gnu-0.42.2.crate 699373 BLAKE2B 01c70809d564b16b268656e47295e99c992d8f9839fac8a51338a0e7c3b9cdcd0429c456ca8c1c139a8c687ed7ed6c43a82250889d881aadaa65bd037223e0a6 SHA512 5767af3c86e717f93137a89d442230e6b60a649057edb3ab104b1f82c0bcd64fe089dcdf2f4fd486a799bece1ddb5f0449641536b678211945e749ae24f35c1f
-DIST windows_x86_64_gnullvm-0.42.2.crate 364068 BLAKE2B 64bc53e98eb3fc649c9b43a6e734de4e65088e41edacabd49f7afcc5dc6e1065c563ecfc682747dda05978dea2dba4f45c16fcc18c3b00684c3d93681e5a7deb SHA512 d39a8bc948110fe612d3f8d6628b3f0d56620df11d8a49e0fabb6c90389ad407582b3af10e4eab46c79b3d11d2e10753d73d9e55963fbeac085f41e9749bdba3
-DIST windows_x86_64_msvc-0.42.2.crate 666936 BLAKE2B bc3a456e7f8bc272f8978ec69506ec9d89f97b7582ebbe05d8bd57bdf8156ef62d0d2dc6137a97e81d54059d70db97a24af9a038adff357f5dfd28805d6193b5 SHA512 53a35f438903fceb59e36bd2ac331773fb8e6c8c5a6d984e79021761f91b3b4a23efe49d219667a4d0d23dcdbf906da9c24e74fb1cff93395b5c55ff524e3788
+DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
diff --git a/dev-python/cryptography/cryptography-41.0.7.ebuild b/dev-python/cryptography/cryptography-41.0.7.ebuild
deleted file mode 100644
index d7d6b997e135..000000000000
--- a/dev-python/cryptography/cryptography-41.0.7.ebuild
+++ /dev/null
@@ -1,153 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CARGO_OPTIONAL=yes
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-CRATES="
- Inflector@0.11.4
- aliasable@0.1.3
- asn1@0.15.2
- asn1_derive@0.15.2
- autocfg@1.1.0
- base64@0.13.1
- bitflags@1.3.2
- bitflags@2.4.1
- cc@1.0.79
- cfg-if@1.0.0
- foreign-types-shared@0.1.1
- foreign-types@0.3.2
- indoc@1.0.9
- libc@0.2.144
- lock_api@0.4.9
- memoffset@0.8.0
- once_cell@1.17.2
- openssl-macros@0.1.1
- openssl-sys@0.9.96
- openssl@0.10.60
- ouroboros@0.15.6
- ouroboros_macro@0.15.6
- parking_lot@0.12.1
- parking_lot_core@0.9.7
- pem@1.1.1
- pkg-config@0.3.27
- proc-macro-error-attr@1.0.4
- proc-macro-error@1.0.4
- proc-macro2@1.0.64
- pyo3-build-config@0.18.3
- pyo3-ffi@0.18.3
- pyo3-macros-backend@0.18.3
- pyo3-macros@0.18.3
- pyo3@0.18.3
- quote@1.0.28
- redox_syscall@0.2.16
- scopeguard@1.1.0
- smallvec@1.10.0
- syn@1.0.109
- syn@2.0.18
- target-lexicon@0.12.7
- unicode-ident@1.0.9
- unindent@0.1.11
- vcpkg@0.2.15
- version_check@0.9.4
- windows-sys@0.45.0
- windows-targets@0.42.2
- windows_aarch64_gnullvm@0.42.2
- windows_aarch64_msvc@0.42.2
- windows_i686_gnu@0.42.2
- windows_i686_msvc@0.42.2
- windows_x86_64_gnu@0.42.2
- windows_x86_64_gnullvm@0.42.2
- windows_x86_64_msvc@0.42.2
-"
-
-inherit cargo distutils-r1 flag-o-matic multiprocessing pypi
-
-VEC_P=cryptography_vectors-$(ver_cut 1-3)
-DESCRIPTION="Library providing cryptographic recipes and primitives"
-HOMEPAGE="
- https://github.com/pyca/cryptography/
- https://pypi.org/project/cryptography/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
- test? (
- $(pypi_sdist_url cryptography_vectors "$(ver_cut 1-3)")
- )
-"
-
-LICENSE="|| ( Apache-2.0 BSD ) PSF-2"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD MIT
- Unicode-DFS-2016
-"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-libs/openssl-1.0.2o-r6:0=
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.8:=[${PYTHON_USEDEP}]
- ' 'python*')
-"
-DEPEND="
- ${RDEPEND}
-"
-# XXX: Drop explicit >=virtual/rust-1.56.0 dep once that's the minimum in cargo.eclass
-# and replace it with ${RUST_DEPEND}
-BDEPEND="
- dev-python/setuptools-rust[${PYTHON_USEDEP}]
- >=virtual/rust-1.56.0
- test? (
- >=dev-python/hypothesis-1.11.4[${PYTHON_USEDEP}]
- dev-python/iso8601[${PYTHON_USEDEP}]
- dev-python/pretend[${PYTHON_USEDEP}]
- dev-python/pyasn1-modules[${PYTHON_USEDEP}]
- dev-python/pytest-subtests[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-# Files built without CFLAGS/LDFLAGS, acceptable for rust
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/cryptography/hazmat/bindings/_rust.*.so"
-
-distutils_enable_tests pytest
-
-src_unpack() {
- cargo_src_unpack
-}
-
-src_prepare() {
- default
-
- sed -i -e 's:--benchmark-disable::' pyproject.toml || die
-
- # work around availability macros not supported in GCC (yet)
- if [[ ${CHOST} == *-darwin* ]] ; then
- local darwinok=0
- if [[ ${CHOST##*-darwin} -ge 16 ]] ; then
- darwinok=1
- fi
- sed -i -e 's/__builtin_available(macOS 10\.12, \*)/'"${darwinok}"'/' \
- src/_cffi_src/openssl/src/osrandom_engine.c || die
- fi
-}
-
-python_configure_all() {
- filter-lto # bug #903908
-}
-
-python_test() {
- local -x PYTHONPATH="${PYTHONPATH}:${WORKDIR}/cryptography_vectors-${PV}"
- local EPYTEST_IGNORE=(
- tests/bench
- )
- epytest -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/cryptography/cryptography-42.0.8.ebuild b/dev-python/cryptography/cryptography-42.0.8.ebuild
new file mode 100644
index 000000000000..993cd694564b
--- /dev/null
+++ b/dev-python/cryptography/cryptography-42.0.8.ebuild
@@ -0,0 +1,154 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CARGO_OPTIONAL=yes
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+CRATES="
+ asn1@0.15.5
+ asn1_derive@0.15.5
+ autocfg@1.1.0
+ base64@0.21.7
+ bitflags@1.3.2
+ bitflags@2.4.2
+ cc@1.0.83
+ cfg-if@1.0.0
+ foreign-types-shared@0.1.1
+ foreign-types@0.3.2
+ heck@0.4.1
+ indoc@2.0.4
+ libc@0.2.152
+ lock_api@0.4.11
+ memoffset@0.9.0
+ once_cell@1.19.0
+ openssl-macros@0.1.1
+ openssl-sys@0.9.102
+ openssl@0.10.64
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ pem@3.0.3
+ pkg-config@0.3.29
+ portable-atomic@1.6.0
+ proc-macro2@1.0.78
+ pyo3-build-config@0.20.3
+ pyo3-ffi@0.20.3
+ pyo3-macros-backend@0.20.3
+ pyo3-macros@0.20.3
+ pyo3@0.20.3
+ quote@1.0.35
+ redox_syscall@0.4.1
+ scopeguard@1.2.0
+ self_cell@1.0.3
+ smallvec@1.13.1
+ syn@2.0.48
+ target-lexicon@0.12.13
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ vcpkg@0.2.15
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+"
+
+inherit cargo distutils-r1 flag-o-matic multiprocessing pypi
+
+VEC_P=cryptography_vectors-$(ver_cut 1-3)
+DESCRIPTION="Library providing cryptographic recipes and primitives"
+HOMEPAGE="
+ https://github.com/pyca/cryptography/
+ https://pypi.org/project/cryptography/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+ test? (
+ $(pypi_sdist_url cryptography_vectors "$(ver_cut 1-3)")
+ )
+"
+
+LICENSE="|| ( Apache-2.0 BSD ) PSF-2"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-libs/openssl-1.0.2o-r6:0=
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.8:=[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+DEPEND="
+ ${RDEPEND}
+"
+# XXX: Drop explicit >=virtual/rust-1.56.0 dep once that's the minimum in cargo.eclass
+# and replace it with ${RUST_DEPEND}
+BDEPEND="
+ >=dev-python/setuptools-rust-1.7.0[${PYTHON_USEDEP}]
+ >=virtual/rust-1.56.0
+ test? (
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-1.11.4[${PYTHON_USEDEP}]
+ dev-python/iso8601[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pyasn1-modules[${PYTHON_USEDEP}]
+ dev-python/pytest-subtests[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+# Files built without CFLAGS/LDFLAGS, acceptable for rust
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/cryptography/hazmat/bindings/_rust.*.so"
+
+distutils_enable_tests pytest
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/pyca/cryptography/pull/10366
+ "${FILESDIR}/${PN}-42.0.7-32bit.patch"
+ )
+
+ default
+
+ sed -i -e 's:--benchmark-disable::' pyproject.toml || die
+
+ # work around availability macros not supported in GCC (yet)
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ local darwinok=0
+ if [[ ${CHOST##*-darwin} -ge 16 ]] ; then
+ darwinok=1
+ fi
+ sed -i -e 's/__builtin_available(macOS 10\.12, \*)/'"${darwinok}"'/' \
+ src/_cffi_src/openssl/src/osrandom_engine.c || die
+ fi
+}
+
+python_configure_all() {
+ filter-lto # bug #903908
+
+ export UNSAFE_PYO3_SKIP_VERSION_CHECK=1
+}
+
+python_test() {
+ local -x PYTHONPATH="${PYTHONPATH}:${WORKDIR}/cryptography_vectors-${PV}"
+ local EPYTEST_IGNORE=(
+ tests/bench
+ )
+ epytest -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/cryptography/cryptography-43.0.0.ebuild b/dev-python/cryptography/cryptography-43.0.0.ebuild
new file mode 100644
index 000000000000..e3d7b6510990
--- /dev/null
+++ b/dev-python/cryptography/cryptography-43.0.0.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CARGO_OPTIONAL=yes
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+CRATES="
+ asn1@0.16.2
+ asn1_derive@0.16.2
+ autocfg@1.3.0
+ base64@0.22.1
+ bitflags@2.6.0
+ cc@1.1.6
+ cfg-if@1.0.0
+ foreign-types-shared@0.1.1
+ foreign-types@0.3.2
+ heck@0.5.0
+ indoc@2.0.5
+ libc@0.2.155
+ memoffset@0.9.1
+ once_cell@1.19.0
+ openssl-macros@0.1.1
+ openssl-sys@0.9.103
+ openssl@0.10.66
+ pem@3.0.4
+ pkg-config@0.3.30
+ portable-atomic@1.7.0
+ proc-macro2@1.0.86
+ pyo3-build-config@0.22.2
+ pyo3-ffi@0.22.2
+ pyo3-macros-backend@0.22.2
+ pyo3-macros@0.22.2
+ pyo3@0.22.2
+ quote@1.0.36
+ self_cell@1.0.4
+ syn@2.0.71
+ target-lexicon@0.12.15
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ vcpkg@0.2.15
+"
+
+inherit cargo distutils-r1 flag-o-matic multiprocessing pypi
+
+VEC_P=cryptography_vectors-$(ver_cut 1-3)
+DESCRIPTION="Library providing cryptographic recipes and primitives"
+HOMEPAGE="
+ https://github.com/pyca/cryptography/
+ https://pypi.org/project/cryptography/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+ test? (
+ $(pypi_sdist_url cryptography_vectors "$(ver_cut 1-3)")
+ )
+"
+
+LICENSE="|| ( Apache-2.0 BSD ) PSF-2"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-libs/openssl-1.0.2o-r6:0=
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.8:=[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+DEPEND="
+ ${RDEPEND}
+"
+# XXX: Drop explicit >=virtual/rust-1.56.0 dep once that's the minimum in cargo.eclass
+# and replace it with ${RUST_DEPEND}
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=virtual/rust-1.56.0
+ test? (
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-1.11.4[${PYTHON_USEDEP}]
+ dev-python/iso8601[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pyasn1-modules[${PYTHON_USEDEP}]
+ dev-python/pytest-subtests[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+# Files built without CFLAGS/LDFLAGS, acceptable for rust
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/cryptography/hazmat/bindings/_rust.*.so"
+
+distutils_enable_tests pytest
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/pyca/cryptography/pull/11324
+ "${FILESDIR}/${P}-rust-openssl-crash.patch"
+ )
+
+ default
+
+ sed -i -e 's:--benchmark-disable::' pyproject.toml || die
+
+ # work around availability macros not supported in GCC (yet)
+ if [[ ${CHOST} == *-darwin* ]] ; then
+ local darwinok=0
+ if [[ ${CHOST##*-darwin} -ge 16 ]] ; then
+ darwinok=1
+ fi
+ sed -i -e 's/__builtin_available(macOS 10\.12, \*)/'"${darwinok}"'/' \
+ src/_cffi_src/openssl/src/osrandom_engine.c || die
+ fi
+}
+
+python_configure_all() {
+ filter-lto # bug #903908
+
+ export UNSAFE_PYO3_SKIP_VERSION_CHECK=1
+}
+
+python_test() {
+ local -x PYTHONPATH="${PYTHONPATH}:${WORKDIR}/cryptography_vectors-${PV}"
+ local EPYTEST_IGNORE=(
+ tests/bench
+ )
+ epytest -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/cryptography/files/cryptography-42.0.7-32bit.patch b/dev-python/cryptography/files/cryptography-42.0.7-32bit.patch
new file mode 100644
index 000000000000..9bd9d5f19110
--- /dev/null
+++ b/dev-python/cryptography/files/cryptography-42.0.7-32bit.patch
@@ -0,0 +1,64 @@
+diff --git a/tests/hazmat/primitives/test_aead.py b/tests/hazmat/primitives/test_aead.py
+index a1f99ab81..2f0d52d82 100644
+--- a/tests/hazmat/primitives/test_aead.py
++++ b/tests/hazmat/primitives/test_aead.py
+@@ -56,7 +56,8 @@ def test_chacha20poly1305_unsupported_on_older_openssl(backend):
+ )
+ class TestChaCha20Poly1305:
+ @pytest.mark.skipif(
+- sys.platform not in {"linux", "darwin"}, reason="mmap required"
++ sys.platform not in {"linux", "darwin"} or sys.maxsize < 2**31,
++ reason="mmap and 64-bit platform required",
+ )
+ def test_data_too_large(self):
+ key = ChaCha20Poly1305.generate_key()
+@@ -197,7 +198,8 @@ class TestChaCha20Poly1305:
+ )
+ class TestAESCCM:
+ @pytest.mark.skipif(
+- sys.platform not in {"linux", "darwin"}, reason="mmap required"
++ sys.platform not in {"linux", "darwin"} or sys.maxsize < 2**31,
++ reason="mmap and 64-bit platform required",
+ )
+ def test_data_too_large(self):
+ key = AESCCM.generate_key(128)
+@@ -378,7 +380,8 @@ def _load_gcm_vectors():
+
+ class TestAESGCM:
+ @pytest.mark.skipif(
+- sys.platform not in {"linux", "darwin"}, reason="mmap required"
++ sys.platform not in {"linux", "darwin"} or sys.maxsize < 2**31,
++ reason="mmap and 64-bit platform required",
+ )
+ def test_data_too_large(self):
+ key = AESGCM.generate_key(128)
+@@ -525,7 +528,8 @@ def test_aesocb3_unsupported_on_older_openssl(backend):
+ )
+ class TestAESOCB3:
+ @pytest.mark.skipif(
+- sys.platform not in {"linux", "darwin"}, reason="mmap required"
++ sys.platform not in {"linux", "darwin"} or sys.maxsize < 2**31,
++ reason="mmap and 64-bit platform required",
+ )
+ def test_data_too_large(self):
+ key = AESOCB3.generate_key(128)
+@@ -700,7 +704,8 @@ class TestAESOCB3:
+ )
+ class TestAESSIV:
+ @pytest.mark.skipif(
+- sys.platform not in {"linux", "darwin"}, reason="mmap required"
++ sys.platform not in {"linux", "darwin"} or sys.maxsize < 2**31,
++ reason="mmap and 64-bit platform required",
+ )
+ def test_data_too_large(self):
+ key = AESSIV.generate_key(256)
+@@ -844,7 +849,8 @@ class TestAESSIV:
+ )
+ class TestAESGCMSIV:
+ @pytest.mark.skipif(
+- sys.platform not in {"linux", "darwin"}, reason="mmap required"
++ sys.platform not in {"linux", "darwin"} or sys.maxsize < 2**31,
++ reason="mmap and 64-bit platform required",
+ )
+ def test_data_too_large(self):
+ key = AESGCMSIV.generate_key(256)
diff --git a/dev-python/cryptography/files/cryptography-43.0.0-rust-openssl-crash.patch b/dev-python/cryptography/files/cryptography-43.0.0-rust-openssl-crash.patch
new file mode 100644
index 000000000000..74d2e1c92292
--- /dev/null
+++ b/dev-python/cryptography/files/cryptography-43.0.0-rust-openssl-crash.patch
@@ -0,0 +1,79 @@
+From ef3578980ed117feb5e1b4c7a1f8c68efcdc066e Mon Sep 17 00:00:00 2001
+From: "dependabot[bot]" <49699333+dependabot[bot]@users.noreply.github.com>
+Date: Sun, 21 Jul 2024 16:36:43 +0000
+Subject: [PATCH] Bump openssl from 0.10.65 to 0.10.66 in /src/rust (#11320)
+
+Bumps [openssl](https://github.com/sfackler/rust-openssl) from 0.10.65 to 0.10.66.
+- [Release notes](https://github.com/sfackler/rust-openssl/releases)
+- [Commits](https://github.com/sfackler/rust-openssl/compare/openssl-v0.10.65...openssl-v0.10.66)
+
+---
+updated-dependencies:
+- dependency-name: openssl
+ dependency-type: direct:production
+ update-type: version-update:semver-patch
+...
+
+Signed-off-by: dependabot[bot] <support@github.com>
+Co-authored-by: dependabot[bot] <49699333+dependabot[bot]@users.noreply.github.com>
+---
+ src/rust/Cargo.lock | 4 ++--
+ src/rust/Cargo.toml | 2 +-
+ src/rust/cryptography-key-parsing/Cargo.toml | 2 +-
+ src/rust/cryptography-openssl/Cargo.toml | 2 +-
+ 4 files changed, 5 insertions(+), 5 deletions(-)
+
+diff --git a/src/rust/Cargo.lock b/src/rust/Cargo.lock
+index fe3398f25393..c5a020fc8f10 100644
+--- a/src/rust/Cargo.lock
++++ b/src/rust/Cargo.lock
+@@ -179,9 +179,9 @@ checksum = "3fdb12b2476b595f9358c5161aa467c2438859caa136dec86c26fdd2efe17b92"
+
+ [[package]]
+ name = "openssl"
+-version = "0.10.65"
++version = "0.10.66"
+ source = "registry+https://github.com/rust-lang/crates.io-index"
+-checksum = "c2823eb4c6453ed64055057ea8bd416eda38c71018723869dd043a3b1186115e"
++checksum = "9529f4786b70a3e8c61e11179af17ab6188ad8d0ded78c5529441ed39d4bd9c1"
+ dependencies = [
+ "bitflags",
+ "cfg-if",
+diff --git a/src/rust/Cargo.toml b/src/rust/Cargo.toml
+index d58ee9e7ec28..4a91705de96c 100644
+--- a/src/rust/Cargo.toml
++++ b/src/rust/Cargo.toml
+@@ -26,7 +26,7 @@ cryptography-x509 = { path = "cryptography-x509" }
+ cryptography-x509-verification = { path = "cryptography-x509-verification" }
+ cryptography-openssl = { path = "cryptography-openssl" }
+ pem = { version = "3", default-features = false }
+-openssl = "0.10.65"
++openssl = "0.10.66"
+ openssl-sys = "0.9.103"
+ foreign-types-shared = "0.1"
+ self_cell = "1"
+diff --git a/src/rust/cryptography-key-parsing/Cargo.toml b/src/rust/cryptography-key-parsing/Cargo.toml
+index d1f945f961a0..e88e3bc9e691 100644
+--- a/src/rust/cryptography-key-parsing/Cargo.toml
++++ b/src/rust/cryptography-key-parsing/Cargo.toml
+@@ -9,6 +9,6 @@ rust-version.workspace = true
+ [dependencies]
+ asn1 = { version = "0.16.2", default-features = false }
+ cfg-if = "1"
+-openssl = "0.10.65"
++openssl = "0.10.66"
+ openssl-sys = "0.9.103"
+ cryptography-x509 = { path = "../cryptography-x509" }
+diff --git a/src/rust/cryptography-openssl/Cargo.toml b/src/rust/cryptography-openssl/Cargo.toml
+index c0f3f5d72ce1..f340ed87cf53 100644
+--- a/src/rust/cryptography-openssl/Cargo.toml
++++ b/src/rust/cryptography-openssl/Cargo.toml
+@@ -8,7 +8,7 @@ rust-version.workspace = true
+
+ [dependencies]
+ cfg-if = "1"
+-openssl = "0.10.65"
++openssl = "0.10.66"
+ ffi = { package = "openssl-sys", version = "0.9.101" }
+ foreign-types = "0.3"
+ foreign-types-shared = "0.1"
diff --git a/dev-python/cson/Manifest b/dev-python/cson/Manifest
new file mode 100644
index 000000000000..c15ab9cd2374
--- /dev/null
+++ b/dev-python/cson/Manifest
@@ -0,0 +1 @@
+DIST pycson-0.8.gh.tar.gz 10448 BLAKE2B 55e2ec4a447761d6764e9f25cdff534d3dcdf2a0e3bfd9255f02b1a5cd9834e4f4323ba47a1659ea973f995c34519622e36c691bef763ba83c8caf87fbc49f58 SHA512 873f1b0d825ad318ca5c62fccbdd12a8738c8b9ff58b4fe27ea611aa47575e24218b5010f6d6b12f5ebda835c2778dd15472ca5c73b634b3004aa08496f45328
diff --git a/dev-python/cson/cson-0.8-r4.ebuild b/dev-python/cson/cson-0.8-r4.ebuild
new file mode 100644
index 000000000000..601da32e0fd9
--- /dev/null
+++ b/dev-python/cson/cson-0.8-r4.ebuild
@@ -0,0 +1,31 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=pycson-${PV}
+DESCRIPTION="A python parser for the Coffeescript Object Notation (CSON)"
+HOMEPAGE="
+ https://github.com/avakar/pycson/
+ https://pypi.org/project/cson/
+"
+SRC_URI="
+ https://github.com/avakar/pycson/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc ~riscv x86"
+
+RDEPEND="
+ dev-python/speg[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pycson/metadata.xml b/dev-python/cson/metadata.xml
index 09bbfa75543d..09bbfa75543d 100644
--- a/dev-python/pycson/metadata.xml
+++ b/dev-python/cson/metadata.xml
diff --git a/dev-python/css-parser/css-parser-1.0.10.ebuild b/dev-python/css-parser/css-parser-1.0.10.ebuild
index 86bd8ad935bf..c7991f00d2cf 100644
--- a/dev-python/css-parser/css-parser-1.0.10.ebuild
+++ b/dev-python/css-parser/css-parser-1.0.10.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/csscompressor/csscompressor-0.9.5-r2.ebuild b/dev-python/csscompressor/csscompressor-0.9.5-r2.ebuild
index 447d4596b355..4823dd82ac69 100644
--- a/dev-python/csscompressor/csscompressor-0.9.5-r2.ebuild
+++ b/dev-python/csscompressor/csscompressor-0.9.5-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/cssselect/cssselect-1.2.0.ebuild b/dev-python/cssselect/cssselect-1.2.0.ebuild
index 0f8742d158b6..38fb7120848c 100644
--- a/dev-python/cssselect/cssselect-1.2.0.ebuild
+++ b/dev-python/cssselect/cssselect-1.2.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/cssselect2/cssselect2-0.7.0.ebuild b/dev-python/cssselect2/cssselect2-0.7.0.ebuild
index 09797c2becf4..15efc2346229 100644
--- a/dev-python/cssselect2/cssselect2-0.7.0.ebuild
+++ b/dev-python/cssselect2/cssselect2-0.7.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/cssutils/Manifest b/dev-python/cssutils/Manifest
index 327c6757a006..4396da943f61 100644
--- a/dev-python/cssutils/Manifest
+++ b/dev-python/cssutils/Manifest
@@ -1 +1 @@
-DIST cssutils-2.9.0.tar.gz 723452 BLAKE2B fc3593dec7a61b1a23b346b5a77160248760a934f01e6135a6478eb1164333a910c6c3fb403e3e06c8c7c90214a7c30ddc481dc9623c26091d62c8d092d8cea3 SHA512 d13d53b3e4f133afb5b72faba1e41a95cf2b146efb075dd3b328fc424eccd371194e1e14fd9e607b207b5c7d473e64f1e4c63975173d8491fa8036a16dc94d38
+DIST cssutils-2.11.1.tar.gz 711657 BLAKE2B 08522271238efd160dba06e580e01136ec1dab69bef8400f458edcf58a179ffc1d5bbca9423afddb66b5c781c2742a00f9a9fc0c5119ed3d865f914ebce2238f SHA512 7e38f08c5ff340b82ea39bda207d099b39ce6b88c8ac0d7ac1fb29e7b4ae6d8baa341e0a9b27e6d2285e31266112ec51d1fff9ef3e5a17a4bf55546fb4927845
diff --git a/dev-python/cssutils/cssutils-2.11.1.ebuild b/dev-python/cssutils/cssutils-2.11.1.ebuild
new file mode 100644
index 000000000000..3506765846f9
--- /dev/null
+++ b/dev-python/cssutils/cssutils-2.11.1.ebuild
@@ -0,0 +1,50 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A CSS Cascading Style Sheets library"
+HOMEPAGE="
+ https://pypi.org/project/cssutils/
+ https://github.com/jaraco/cssutils/
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ppc x86"
+
+RDEPEND="
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/cssselect[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-test-5.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/lxml[${PYTHON_USEDEP}]
+ ' 3.10)
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # network
+ encutils/__init__.py::encutils
+ examples/website.py::examples.website.logging
+ )
+ local EPYTEST_IGNORE=(
+ # path mismatch with "parse" package
+ examples/parse.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m "not network"
+}
diff --git a/dev-python/cssutils/cssutils-2.9.0.ebuild b/dev-python/cssutils/cssutils-2.9.0.ebuild
deleted file mode 100644
index 1b5c6baf636d..000000000000
--- a/dev-python/cssutils/cssutils-2.9.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A CSS Cascading Style Sheets library"
-HOMEPAGE="
- https://pypi.org/project/cssutils/
- https://github.com/jaraco/cssutils/
-"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc x86"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/cssselect[${PYTHON_USEDEP}]
- >=dev-python/jaraco-test-5.1[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # network
- encutils/__init__.py::encutils
- cssutils/tests/test_parse.py::TestCSSParser::test_parseUrl
- examples/website.py::examples.website.logging
- )
- local EPYTEST_IGNORE=(
- # path mismatch with "parse" package
- examples/parse.py
- )
-
- epytest
-}
diff --git a/dev-python/cstruct/Manifest b/dev-python/cstruct/Manifest
index 7f1125c92a58..3229b3e29c9f 100644
--- a/dev-python/cstruct/Manifest
+++ b/dev-python/cstruct/Manifest
@@ -1 +1 @@
-DIST python-cstruct-5.2.gh.tar.gz 38551 BLAKE2B d366c7508c33f7dd492cb3a507a358129159634b9f32293c4a06a8c1a24e9d4ae5e6a1fd89144907497e17b2558277fe98d4a5d92313402304bb18bec5c395ea SHA512 d9a961270e4769d1133a459f952f22b42733421436c53ac9bfc8159330503af1a2231c99afb2e91863ee8ad4d822a0d84fc6db6aac11b5358bca5548f0006e3e
+DIST python-cstruct-5.3.gh.tar.gz 38987 BLAKE2B 49fc1d7bc70faa1b437a82e22c5e187800dbaacd152685eae2defe3c6cf748ebe73910cf43066661b9f456261619a59c1ac546dc8ddc461bd1967bee6ffe7672 SHA512 71ad411c6733676c165c9724554a7c1b5f56921ac925020817d812b53b1dfcc9a30d794e8aa8da75bae144e3d659a7426034b5cced4262a699e4626e287b3790
diff --git a/dev-python/cstruct/cstruct-5.2.ebuild b/dev-python/cstruct/cstruct-5.2.ebuild
deleted file mode 100644
index c5c488dca699..000000000000
--- a/dev-python/cstruct/cstruct-5.2.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=python-cstruct-${PV}
-DESCRIPTION="C-style structs for Python"
-HOMEPAGE="
- https://github.com/andreax79/python-cstruct/
- https://pypi.org/project/cstruct/
-"
-SRC_URI="
- https://github.com/andreax79/python-cstruct/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DOCS=( README.md )
-
-distutils_enable_tests pytest
diff --git a/dev-python/cstruct/cstruct-5.3.ebuild b/dev-python/cstruct/cstruct-5.3.ebuild
new file mode 100644
index 000000000000..77ee4c3df03c
--- /dev/null
+++ b/dev-python/cstruct/cstruct-5.3.ebuild
@@ -0,0 +1,29 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=python-cstruct-${PV}
+DESCRIPTION="C-style structs for Python"
+HOMEPAGE="
+ https://github.com/andreax79/python-cstruct/
+ https://pypi.org/project/cstruct/
+"
+SRC_URI="
+ https://github.com/andreax79/python-cstruct/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( README.md )
+
+distutils_enable_tests pytest
diff --git a/dev-python/csvkit/Manifest b/dev-python/csvkit/Manifest
index 6b18c145cb84..ec36856da362 100644
--- a/dev-python/csvkit/Manifest
+++ b/dev-python/csvkit/Manifest
@@ -1,3 +1,2 @@
-DIST csvkit-1.1.1.tar.gz 3792699 BLAKE2B 730dad274fd873af6903f815a6d2a7dc70d48a845347be644e573fe2772f53786cbf20a631bd8a7c81ffeac03c92f00607be582fda4cd1b6a7efe93d30070182 SHA512 16825ba629ba39022c7537c210f0c5e51f7b03c0552a16fd57b86b0cfd9ff883937d5be21a1a7ef583cf94ea56bff37de259684c84a50d5e9c3ec10f8a5f33dd
-DIST csvkit-1.2.0.tar.gz 3792364 BLAKE2B b5d26afc485fdfdd03d1b3036bb6f24dff63568333fb262bcab3086f546cfb72b6981d520d531219a01a4d99357d8067d1676779ff6be116f08724c1f6ac0faf SHA512 3b59908e5c8afa5be2a71940ef9e04f9c55ab4703ca7827bb68975a1c43584797e75edcf3a6ea4861ca5214fbe45e11fd84560bb05f314508040dcde513f6178
-DIST csvkit-1.3.0.tar.gz 3795356 BLAKE2B d750464b9c39ddb1456a59741b30a63bf59146732f937129c9913af3c660c52fb73721a174b5e7b9f8446525c5e70d3f0735e20686b82b2daaeed8a5fb3a30a1 SHA512 ab78359f47177490689dd3d98ff473c4919c49ed4f603208a72ee1bc6bcdbc4aedb179a1833a15c64dbc9465bf48156813ebb5fdfc52e8c463b2a489b4f789a0
+DIST csvkit-2.0.0.tar.gz 3818527 BLAKE2B 87976e5ea703fe16daac48b65f1f4132821e212c90c6f25fecc17f7e8e1c3859d3224e9b1ee77f6f5a39263391535e83a388ccbe4a610a96cec6256b64056b77 SHA512 70b1d8977bbeefd3ae4cfc26149d17527f6ad56b16b5a932d930505ac7b272fcb0ed9080eba33c9c60daa347c1e79c95c6b05c8dded2e0ea5a301335d21f8a88
+DIST csvkit-2.0.1.tar.gz 3819039 BLAKE2B c67b20f77cd3cada4b940facf5ee246d37cf07499278293bb97cc62f2950677daf236394118ae8a69bdd8686e309ba178bdc3799fbae5b77ff3df7a9d32d70f8 SHA512 2a7b6887c3042becdacb58db7604518c65f07fac51faae268c769ea233961c3754bbed3581a6756d337e40b62b264f8da518f8dc81cd5d61babbec0c2c9eaf31
diff --git a/dev-python/csvkit/csvkit-1.1.1.ebuild b/dev-python/csvkit/csvkit-1.1.1.ebuild
deleted file mode 100644
index 2469cabfedb4..000000000000
--- a/dev-python/csvkit/csvkit-1.1.1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A suite of utilities for converting to and working with CSV"
-HOMEPAGE="
- https://github.com/wireservice/csvkit/
- https://pypi.org/project/csvkit/
-"
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/agate-1.6.1[${PYTHON_USEDEP}]
- >=dev-python/agate-excel-0.2.2[${PYTHON_USEDEP}]
- >=dev-python/agate-dbf-0.2.0[${PYTHON_USEDEP}]
- >=dev-python/agate-sql-0.5.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # fails depending on locale, let's not force en_US
- tests/test_utilities/test_csvstat.py::TestCSVStat::test_decimal_format
- )
- local -x LC_ALL=C.UTF-8
- epytest
-}
diff --git a/dev-python/csvkit/csvkit-1.2.0.ebuild b/dev-python/csvkit/csvkit-1.2.0.ebuild
deleted file mode 100644
index 375b9b2938e6..000000000000
--- a/dev-python/csvkit/csvkit-1.2.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A suite of utilities for converting to and working with CSV"
-HOMEPAGE="
- https://github.com/wireservice/csvkit/
- https://pypi.org/project/csvkit/
-"
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/agate-1.6.1[${PYTHON_USEDEP}]
- >=dev-python/agate-excel-0.2.2[${PYTHON_USEDEP}]
- >=dev-python/agate-dbf-0.2.0[${PYTHON_USEDEP}]
- >=dev-python/agate-sql-0.5.3[${PYTHON_USEDEP}]
- dev-python/openpyxl[${PYTHON_USEDEP}]
- dev-python/sqlalchemy[${PYTHON_USEDEP}]
- dev-python/xlrd[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # fails depending on locale, let's not force en_US
- tests/test_utilities/test_csvstat.py::TestCSVStat::test_decimal_format
- )
- local -x LC_ALL=C.UTF-8
- epytest
-}
diff --git a/dev-python/csvkit/csvkit-1.3.0.ebuild b/dev-python/csvkit/csvkit-1.3.0.ebuild
deleted file mode 100644
index 375b9b2938e6..000000000000
--- a/dev-python/csvkit/csvkit-1.3.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A suite of utilities for converting to and working with CSV"
-HOMEPAGE="
- https://github.com/wireservice/csvkit/
- https://pypi.org/project/csvkit/
-"
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/agate-1.6.1[${PYTHON_USEDEP}]
- >=dev-python/agate-excel-0.2.2[${PYTHON_USEDEP}]
- >=dev-python/agate-dbf-0.2.0[${PYTHON_USEDEP}]
- >=dev-python/agate-sql-0.5.3[${PYTHON_USEDEP}]
- dev-python/openpyxl[${PYTHON_USEDEP}]
- dev-python/sqlalchemy[${PYTHON_USEDEP}]
- dev-python/xlrd[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # fails depending on locale, let's not force en_US
- tests/test_utilities/test_csvstat.py::TestCSVStat::test_decimal_format
- )
- local -x LC_ALL=C.UTF-8
- epytest
-}
diff --git a/dev-python/csvkit/csvkit-2.0.0.ebuild b/dev-python/csvkit/csvkit-2.0.0.ebuild
new file mode 100644
index 000000000000..6dec2fc35ed9
--- /dev/null
+++ b/dev-python/csvkit/csvkit-2.0.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A suite of utilities for converting to and working with CSV"
+HOMEPAGE="
+ https://github.com/wireservice/csvkit/
+ https://pypi.org/project/csvkit/
+"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/agate-1.6.3[${PYTHON_USEDEP}]
+ >=dev-python/agate-excel-0.2.2[${PYTHON_USEDEP}]
+ >=dev-python/agate-dbf-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/agate-sql-0.5.3[${PYTHON_USEDEP}]
+ dev-python/openpyxl[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/xlrd[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/zstandard[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # fails depending on locale, let's not force en_US
+ tests/test_utilities/test_csvstat.py::TestCSVStat::test_decimal_format
+ )
+ local -x LC_ALL=C.UTF-8
+ epytest
+}
diff --git a/dev-python/csvkit/csvkit-2.0.1.ebuild b/dev-python/csvkit/csvkit-2.0.1.ebuild
new file mode 100644
index 000000000000..6dec2fc35ed9
--- /dev/null
+++ b/dev-python/csvkit/csvkit-2.0.1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A suite of utilities for converting to and working with CSV"
+HOMEPAGE="
+ https://github.com/wireservice/csvkit/
+ https://pypi.org/project/csvkit/
+"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/agate-1.6.3[${PYTHON_USEDEP}]
+ >=dev-python/agate-excel-0.2.2[${PYTHON_USEDEP}]
+ >=dev-python/agate-dbf-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/agate-sql-0.5.3[${PYTHON_USEDEP}]
+ dev-python/openpyxl[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/xlrd[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/zstandard[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # fails depending on locale, let's not force en_US
+ tests/test_utilities/test_csvstat.py::TestCSVStat::test_decimal_format
+ )
+ local -x LC_ALL=C.UTF-8
+ epytest
+}
diff --git a/dev-python/curtsies/curtsies-0.4.2.ebuild b/dev-python/curtsies/curtsies-0.4.2.ebuild
index 82216e9826e2..1b0507288e2f 100644
--- a/dev-python/curtsies/curtsies-0.4.2.ebuild
+++ b/dev-python/curtsies/curtsies-0.4.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -14,8 +14,8 @@ HOMEPAGE="
https://pypi.org/project/curtsies/
"
-SLOT="0"
LICENSE="MIT"
+SLOT="0"
KEYWORDS="amd64 arm64 ~riscv x86 ~amd64-linux ~x86-linux"
RDEPEND="
diff --git a/dev-python/cvxopt/cvxopt-1.3.2.ebuild b/dev-python/cvxopt/cvxopt-1.3.2.ebuild
index 97cde1fd196c..3571b628813f 100644
--- a/dev-python/cvxopt/cvxopt-1.3.2.ebuild
+++ b/dev-python/cvxopt/cvxopt-1.3.2.ebuild
@@ -5,7 +5,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 toolchain-funcs
diff --git a/dev-python/cwcwidth/cwcwidth-0.1.9.ebuild b/dev-python/cwcwidth/cwcwidth-0.1.9.ebuild
index 73d51edba0c4..60addf5313ea 100644
--- a/dev-python/cwcwidth/cwcwidth-0.1.9.ebuild
+++ b/dev-python/cwcwidth/cwcwidth-0.1.9.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-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_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/cycler/cycler-0.12.1.ebuild b/dev-python/cycler/cycler-0.12.1.ebuild
index 01fe7761de74..ba2039970587 100644
--- a/dev-python/cycler/cycler-0.12.1.ebuild
+++ b/dev-python/cycler/cycler-0.12.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -19,8 +19,8 @@ SRC_URI="
-> ${P}.gh.tar.gz
"
-SLOT="0"
LICENSE="BSD"
+SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
distutils_enable_tests pytest
diff --git a/dev-python/cysignals/cysignals-1.11.4-r1.ebuild b/dev-python/cysignals/cysignals-1.11.4-r1.ebuild
new file mode 100644
index 000000000000..2a6950c539cd
--- /dev/null
+++ b/dev-python/cysignals/cysignals-1.11.4-r1.ebuild
@@ -0,0 +1,41 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Interrupt and signal handling for Cython"
+HOMEPAGE="
+ https://github.com/sagemath/cysignals/
+ https://pypi.org/project/cysignals/
+"
+
+# setup.py has "or later"
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="amd64"
+
+DEPEND="
+ sci-mathematics/pari:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ # https://github.com/sagemath/cysignals/pull/204
+ "${FILESDIR}/${P}-helper.patch"
+)
+
+python_test(){
+ local -x PATH="${BUILD_DIR}/scripts:${PATH}"
+ "${EPYTHON}" -B rundoctests.py src/cysignals/*.pyx || die
+}
diff --git a/dev-python/cysignals/cysignals-1.11.4.ebuild b/dev-python/cysignals/cysignals-1.11.4.ebuild
deleted file mode 100644
index 8adad553bbb2..000000000000
--- a/dev-python/cysignals/cysignals-1.11.4.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=setuptools
-DISTUTILS_EXT=1
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Interrupt and signal handling for Cython"
-HOMEPAGE="https://pypi.org/project/cysignals/
- https://github.com/sagemath/cysignals"
-
-# setup.py has "or later"
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE=""
-
-DEPEND="sci-mathematics/pari:="
-RDEPEND="${DEPEND}"
-BDEPEND=">=dev-python/cython-3.0.0[${PYTHON_USEDEP}]"
-
-python_test(){
- PATH="${BUILD_DIR}/scripts:${PATH}" \
- "${EPYTHON}" -B "${S}"/rundoctests.py \
- "${S}"/src/cysignals/*.pyx || die
-}
diff --git a/dev-python/cysignals/files/cysignals-1.11.4-helper.patch b/dev-python/cysignals/files/cysignals-1.11.4-helper.patch
new file mode 100644
index 000000000000..0c09f236eccb
--- /dev/null
+++ b/dev-python/cysignals/files/cysignals-1.11.4-helper.patch
@@ -0,0 +1,85 @@
+From 2abd7ef94775b3320b6f1954b55168e06da0e6b3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sat, 6 Jul 2024 13:06:49 +0200
+Subject: [PATCH] Install cysignals-CSI-helper as package data for better
+ portability
+
+Rather than installing `cysignals-CSI-helper.py` into a `share`
+directory and then trying to figure out the correct path to it, install
+it as Python package data and use the standard `importlib.resources`
+API to access it. For Python versions older than 3.9,
+the `importlib_resources` backport is used instead.
+
+Fixes #200
+---
+ setup.py | 4 +++-
+ .../cysignals-CSI-helper.py | 0
+ src/scripts/cysignals-CSI | 20 ++++++++++---------
+ 3 files changed, 14 insertions(+), 10 deletions(-)
+ rename src/{scripts => cysignals}/cysignals-CSI-helper.py (100%)
+
+diff --git a/setup.py b/setup.py
+index 7953170..7154a4a 100755
+--- a/setup.py
++++ b/setup.py
+@@ -215,7 +215,6 @@ setup(
+ packages=["cysignals"],
+ package_dir={"": "src"},
+ package_data={"cysignals": ["*.pxd", "*.h"]},
+- data_files=[(opj("share", "cysignals"), [opj("src", "scripts", "cysignals-CSI-helper.py")])],
+ scripts=glob(opj("src", "scripts", "cysignals-CSI")),
+ cmdclass=dict(
+ configure=configure,
+@@ -223,4 +222,7 @@ setup(
+ build_ext=build_ext,
+ bdist_egg=no_egg
+ ),
++ install_requires=[
++ "importlib_resources; python_version < '3.9'",
++ ],
+ )
+diff --git a/src/scripts/cysignals-CSI-helper.py b/src/cysignals/cysignals-CSI-helper.py
+similarity index 100%
+rename from src/scripts/cysignals-CSI-helper.py
+rename to src/cysignals/cysignals-CSI-helper.py
+diff --git a/src/scripts/cysignals-CSI b/src/scripts/cysignals-CSI
+index dd8b4e6..3896dca 100755
+--- a/src/scripts/cysignals-CSI
++++ b/src/scripts/cysignals-CSI
+@@ -41,6 +41,11 @@ from argparse import ArgumentParser
+ from datetime import datetime
+ from distutils.spawn import find_executable
+
++if sys.version_info >= (3, 9):
++ import importlib.resources as importlib_resources
++else:
++ import importlib_resources
++
+
+ def pid_exists(pid):
+ """
+@@ -65,15 +70,12 @@ def gdb_commands(pid, color):
+ cmds += b'import sys; sys.stdout.flush()\n'
+ cmds += b'end\n'
+ cmds += b'bt full\n'
+- cysignals_share = os.path.join(os.path.dirname(sys.argv[0]), '..',
+- 'share', 'cysignals')
+- script = os.path.join(cysignals_share, 'cysignals-CSI-helper.py')
+- with open(script, 'rb') as f:
+- cmds += b'python\n'
+- cmds += b'color = %r; ' % color
+- cmds += b'sys_path = %r; ' % sys.path
+- cmds += f.read()
+- cmds += b'end\n'
++ script = importlib_resources.files('cysignals') / 'cysignals-CSI-helper.py'
++ cmds += b'python\n'
++ cmds += b'color = %r; ' % color
++ cmds += b'sys_path = %r; ' % sys.path
++ cmds += script.read_bytes()
++ cmds += b'end\n'
+ cmds += b'detach inferior 1\n'
+ cmds += b'quit\n'
+ return cmds
+--
+2.45.2
+
diff --git a/dev-python/cysignals/metadata.xml b/dev-python/cysignals/metadata.xml
index abe39229c92a..14227de3e617 100644
--- a/dev-python/cysignals/metadata.xml
+++ b/dev-python/cysignals/metadata.xml
@@ -20,6 +20,11 @@
<name>Gentoo Mathematics Project</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+
<longdescription lang="en">
When writing Cython code, special care must be taken to ensure that
the code can be interrupted with CTRL-C. Since Cython optimizes for
diff --git a/dev-python/cython-test-exception-raiser/cython-test-exception-raiser-1.0.2-r1.ebuild b/dev-python/cython-test-exception-raiser/cython-test-exception-raiser-1.0.2-r1.ebuild
index 7a68f394bfec..f65c8e355f27 100644
--- a/dev-python/cython-test-exception-raiser/cython-test-exception-raiser-1.0.2-r1.ebuild
+++ b/dev-python/cython-test-exception-raiser/cython-test-exception-raiser-1.0.2-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/cython/Manifest b/dev-python/cython/Manifest
index 7bd49ccadde4..3cdcf35a3370 100644
--- a/dev-python/cython/Manifest
+++ b/dev-python/cython/Manifest
@@ -1,6 +1 @@
-DIST cython-0.29.36.gh.tar.gz 2115333 BLAKE2B 6d43779c7222ff65d7de3a35ec18ef636480807d53480a8f94cc8c92d462fcc2f4d201a3bbf6e840a11fd33025e32c53f85626b05c131d10eed2859cdca7eb2d SHA512 a086fe1a11290cd3c870b891e61a0a0e2595bab9c26888024a758b6950c07059346d682fa9349e46c0af89805abbdd750059b3189960b8ce18007dfb5eb4391a
-DIST cython-3.0.2.gh.tar.gz 2744583 BLAKE2B f631891870a6ce24acf2bcde75ebcb9775cf0df7840fe9d7b138cfdea64d54e9253a53d35d892a9086f251c1294d9414eec8521218d031840a3cd06903fefb86 SHA512 f55be138efdca6ca61bd39c6f2fab736244328a170a6f6c9bda87036e022c846930b209e9e9101fad889cb179d6e60034ba6f299f14b3056536d46235b438eb7
-DIST cython-3.0.3.gh.tar.gz 2753188 BLAKE2B 0e6d40533f1cebf3c4217dc19aeebc2f873a8bacb94e68810e81d1c6d4cd75176de88516f2d82f43b36107656b6cd5e6990547e93bd8436b1aa93c73ccda6eaf SHA512 c27c16abaf0122ad61e0eeb92aa80a33fc491332b8ebec209cd1810d2b0e3bf14fe1e81838803b86f407520a6d6f7ab8b84d97e495e7d91fd6f7702a46980caa
-DIST cython-3.0.4.gh.tar.gz 2754689 BLAKE2B 5418b8c374565894deb07e7a3f2fe242e1ef43eed5d716cbd9c6b9fd3d62088d9982eb156c981fa9f6edcf42592f2249f9eb450d16ef908be464e357ee9bbea7 SHA512 bc87e38f9c188a5311f75f49ba4b9ec1ee0af00ff9ed655ca69972891f8b0801025265f8cad4521670088275c7da3d6136aeda7ebb6a33554f64cc7aef362c73
-DIST cython-3.0.5.gh.tar.gz 2756583 BLAKE2B d9b5af97933030fc1ac49677a5f3fd8194ba6e685dccd257f4ef4af206565ae2fa6f72c1268d8d0604b6fd6f2d8147c542501e8e319588bfdc4a7f40622976ff SHA512 585d3fe810ace55278fcc6ea4508b3b5259320f92998cd688da787cd5f88ac5fc2467025f20da6d968969eb3296ae9c517136d24a4dbb475441271227968f6be
-DIST cython-3.0.6.gh.tar.gz 2759853 BLAKE2B fdcbb870418eebfb2e55e28f7223699fee4fb06d52f9f41db55b30fbe6ba6ee3de42af9bbdd8930d418ec790dec195546486ea45c370e2df122d6fada08d38cf SHA512 f1d33775166d0b6541ea98bee5d4186fc6128aad788323224397c1f3ba0a058141ac84a8b3baa4885204dcbf0979141bc4b5316342003e96208952f040f31753
+DIST cython-3.0.10.gh.tar.gz 2771679 BLAKE2B f0813afc291bdc4940cd6770a368eca4f6d9fd728e41e9c341970512196154be900600146f98ce1e5a056eaeeda2df2a59fea2a9973c3ec275fe605bfd12e418 SHA512 97aa831cea96c1f3c51653c51fadb0aea8bdfdb076a2c898862637f52b826bcb9162d1b7aade3304c5650d0b894cb1083052f036365d79cd3d390e0486b33ac5
diff --git a/dev-python/cython/cython-0.29.36.ebuild b/dev-python/cython/cython-0.29.36.ebuild
deleted file mode 100644
index dd3557e5daef..000000000000
--- a/dev-python/cython/cython-0.29.36.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{10..11} )
-# 3.12 not tested yet for https://github.com/cython/cython/issues/5285.
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_12 pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 multiprocessing toolchain-funcs elisp-common
-
-DESCRIPTION="A Python to C compiler"
-HOMEPAGE="
- https://cython.org/
- https://github.com/cython/cython/
- https://pypi.org/project/Cython/
-"
-SRC_URI="
- https://github.com/cython/cython/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="emacs test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- emacs? ( >=app-editors/emacs-23.1:* )
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
- "${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.patch"
- "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
-)
-
-SITEFILE=50cython-gentoo.el
-
-distutils_enable_sphinx docs
-
-python_compile() {
- # Python gets confused when it is in sys.path before build.
- local -x PYTHONPATH=
-
- distutils-r1_python_compile
-}
-
-python_compile_all() {
- use emacs && elisp-compile Tools/cython-mode.el
-}
-
-python_test() {
- if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
- einfo "Skipping tests on ${EPYTHON} (xfail)"
- return
- fi
-
- tc-export CC
- # https://github.com/cython/cython/issues/1911
- local -x CFLAGS="${CFLAGS} -fno-strict-overflow"
- "${PYTHON}" runtests.py -vv -j "$(makeopts_jobs)" --work-dir "${BUILD_DIR}"/tests ||
- die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
- distutils-r1_python_install_all
-
- if use emacs; then
- elisp-install ${PN} Tools/cython-mode.*
- elisp-site-file-install "${FILESDIR}/${SITEFILE}"
- fi
-}
-
-pkg_postinst() {
- use emacs && elisp-site-regen
-}
-
-pkg_postrm() {
- use emacs && elisp-site-regen
-}
diff --git a/dev-python/cython/cython-3.0.10.ebuild b/dev-python/cython/cython-3.0.10.ebuild
new file mode 100644
index 000000000000..207c3a055f1b
--- /dev/null
+++ b/dev-python/cython/cython-3.0.10.ebuild
@@ -0,0 +1,84 @@
+# 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_TESTED=( python3_{10..12} )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 python3_13 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 multiprocessing toolchain-funcs
+
+MY_P=${P/_rc/rc}
+DESCRIPTION="A Python to C compiler"
+HOMEPAGE="
+ https://cython.org/
+ https://github.com/cython/cython/
+ https://pypi.org/project/Cython/
+"
+SRC_URI="
+ https://github.com/cython/cython/archive/${PV/_rc/rc}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ <dev-python/numpy-2[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
+ "${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.patch"
+ "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
+)
+
+distutils_enable_sphinx docs \
+ dev-python/jinja \
+ dev-python/sphinx-issues \
+ dev-python/sphinx-tabs
+
+python_compile() {
+ # Python gets confused when it is in sys.path before build.
+ local -x PYTHONPATH=
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON} (xfail)"
+ return
+ fi
+
+ # Needed to avoid confusing cache tests
+ unset CYTHON_FORCE_REGEN
+
+ tc-export CC
+ # https://github.com/cython/cython/issues/1911
+ local -x CFLAGS="${CFLAGS} -fno-strict-overflow"
+ "${PYTHON}" runtests.py \
+ -vv \
+ -j "$(makeopts_jobs)" \
+ --work-dir "${BUILD_DIR}"/tests \
+ --no-examples \
+ --no-code-style \
+ || die "Tests fail with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/cython/cython-3.0.2-r1.ebuild b/dev-python/cython/cython-3.0.2-r1.ebuild
deleted file mode 100644
index 605c37fa6295..000000000000
--- a/dev-python/cython/cython-3.0.2-r1.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{10..11} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_12 pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 multiprocessing toolchain-funcs
-
-MY_P=${P/_rc/rc}
-DESCRIPTION="A Python to C compiler"
-HOMEPAGE="
- https://cython.org/
- https://github.com/cython/cython/
- https://pypi.org/project/Cython/
-"
-SRC_URI="
- https://github.com/cython/cython/archive/${PV/_rc/rc}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ' python3_{10..11})
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
- "${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.patch"
- "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
- # https://github.com/cython/cython/pull/5675
- "${FILESDIR}/${P}-enummeta.patch"
-)
-
-distutils_enable_sphinx docs \
- dev-python/jinja \
- dev-python/sphinx-issues \
- dev-python/sphinx-tabs
-
-python_compile() {
- # Python gets confused when it is in sys.path before build.
- local -x PYTHONPATH=
-
- distutils-r1_python_compile
-}
-
-python_test() {
- if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
- einfo "Skipping tests on ${EPYTHON} (xfail)"
- return
- fi
-
- # Needed to avoid confusing cache tests
- unset CYTHON_FORCE_REGEN
-
- tc-export CC
- # https://github.com/cython/cython/issues/1911
- local -x CFLAGS="${CFLAGS} -fno-strict-overflow"
- "${PYTHON}" runtests.py \
- -vv \
- -j "$(makeopts_jobs)" \
- --work-dir "${BUILD_DIR}"/tests \
- --no-examples \
- --no-code-style \
- || die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/cython/cython-3.0.3.ebuild b/dev-python/cython/cython-3.0.3.ebuild
deleted file mode 100644
index 4223753eab93..000000000000
--- a/dev-python/cython/cython-3.0.3.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{10..11} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_12 pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 multiprocessing toolchain-funcs
-
-MY_P=${P/_rc/rc}
-DESCRIPTION="A Python to C compiler"
-HOMEPAGE="
- https://cython.org/
- https://github.com/cython/cython/
- https://pypi.org/project/Cython/
-"
-SRC_URI="
- https://github.com/cython/cython/archive/${PV/_rc/rc}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
- "${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.patch"
- "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
-)
-
-distutils_enable_sphinx docs \
- dev-python/jinja \
- dev-python/sphinx-issues \
- dev-python/sphinx-tabs
-
-python_compile() {
- # Python gets confused when it is in sys.path before build.
- local -x PYTHONPATH=
-
- distutils-r1_python_compile
-}
-
-python_test() {
- if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
- einfo "Skipping tests on ${EPYTHON} (xfail)"
- return
- fi
-
- # Needed to avoid confusing cache tests
- unset CYTHON_FORCE_REGEN
-
- tc-export CC
- # https://github.com/cython/cython/issues/1911
- local -x CFLAGS="${CFLAGS} -fno-strict-overflow"
- "${PYTHON}" runtests.py \
- -vv \
- -j "$(makeopts_jobs)" \
- --work-dir "${BUILD_DIR}"/tests \
- --no-examples \
- --no-code-style \
- || die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/cython/cython-3.0.4.ebuild b/dev-python/cython/cython-3.0.4.ebuild
deleted file mode 100644
index 4223753eab93..000000000000
--- a/dev-python/cython/cython-3.0.4.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{10..11} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_12 pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 multiprocessing toolchain-funcs
-
-MY_P=${P/_rc/rc}
-DESCRIPTION="A Python to C compiler"
-HOMEPAGE="
- https://cython.org/
- https://github.com/cython/cython/
- https://pypi.org/project/Cython/
-"
-SRC_URI="
- https://github.com/cython/cython/archive/${PV/_rc/rc}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
- "${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.patch"
- "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
-)
-
-distutils_enable_sphinx docs \
- dev-python/jinja \
- dev-python/sphinx-issues \
- dev-python/sphinx-tabs
-
-python_compile() {
- # Python gets confused when it is in sys.path before build.
- local -x PYTHONPATH=
-
- distutils-r1_python_compile
-}
-
-python_test() {
- if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
- einfo "Skipping tests on ${EPYTHON} (xfail)"
- return
- fi
-
- # Needed to avoid confusing cache tests
- unset CYTHON_FORCE_REGEN
-
- tc-export CC
- # https://github.com/cython/cython/issues/1911
- local -x CFLAGS="${CFLAGS} -fno-strict-overflow"
- "${PYTHON}" runtests.py \
- -vv \
- -j "$(makeopts_jobs)" \
- --work-dir "${BUILD_DIR}"/tests \
- --no-examples \
- --no-code-style \
- || die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/cython/cython-3.0.5.ebuild b/dev-python/cython/cython-3.0.5.ebuild
deleted file mode 100644
index 7ea37ef29dde..000000000000
--- a/dev-python/cython/cython-3.0.5.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{10..11} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_12 pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 multiprocessing toolchain-funcs
-
-MY_P=${P/_rc/rc}
-DESCRIPTION="A Python to C compiler"
-HOMEPAGE="
- https://cython.org/
- https://github.com/cython/cython/
- https://pypi.org/project/Cython/
-"
-SRC_URI="
- https://github.com/cython/cython/archive/${PV/_rc/rc}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
- "${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.patch"
- "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
-)
-
-distutils_enable_sphinx docs \
- dev-python/jinja \
- dev-python/sphinx-issues \
- dev-python/sphinx-tabs
-
-python_compile() {
- # Python gets confused when it is in sys.path before build.
- local -x PYTHONPATH=
-
- distutils-r1_python_compile
-}
-
-python_test() {
- if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
- einfo "Skipping tests on ${EPYTHON} (xfail)"
- return
- fi
-
- # Needed to avoid confusing cache tests
- unset CYTHON_FORCE_REGEN
-
- tc-export CC
- # https://github.com/cython/cython/issues/1911
- local -x CFLAGS="${CFLAGS} -fno-strict-overflow"
- "${PYTHON}" runtests.py \
- -vv \
- -j "$(makeopts_jobs)" \
- --work-dir "${BUILD_DIR}"/tests \
- --no-examples \
- --no-code-style \
- || die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/cython/cython-3.0.6.ebuild b/dev-python/cython/cython-3.0.6.ebuild
deleted file mode 100644
index 001a1bda5642..000000000000
--- a/dev-python/cython/cython-3.0.6.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{10..12} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 multiprocessing toolchain-funcs
-
-MY_P=${P/_rc/rc}
-DESCRIPTION="A Python to C compiler"
-HOMEPAGE="
- https://cython.org/
- https://github.com/cython/cython/
- https://pypi.org/project/Cython/
-"
-SRC_URI="
- https://github.com/cython/cython/archive/${PV/_rc/rc}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-0.29.22-spawn-multiprocessing.patch"
- "${FILESDIR}/${PN}-0.29.23-test_exceptions-py310.patch"
- "${FILESDIR}/${PN}-0.29.23-pythran-parallel-install.patch"
-)
-
-distutils_enable_sphinx docs \
- dev-python/jinja \
- dev-python/sphinx-issues \
- dev-python/sphinx-tabs
-
-python_compile() {
- # Python gets confused when it is in sys.path before build.
- local -x PYTHONPATH=
-
- distutils-r1_python_compile
-}
-
-python_test() {
- if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
- einfo "Skipping tests on ${EPYTHON} (xfail)"
- return
- fi
-
- # Needed to avoid confusing cache tests
- unset CYTHON_FORCE_REGEN
-
- tc-export CC
- # https://github.com/cython/cython/issues/1911
- local -x CFLAGS="${CFLAGS} -fno-strict-overflow"
- "${PYTHON}" runtests.py \
- -vv \
- -j "$(makeopts_jobs)" \
- --work-dir "${BUILD_DIR}"/tests \
- --no-examples \
- --no-code-style \
- || die "Tests fail with ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( CHANGES.rst README.rst ToDo.txt USAGE.txt )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/cython/files/50cython-gentoo.el b/dev-python/cython/files/50cython-gentoo.el
deleted file mode 100644
index e6dcc6a6d7fb..000000000000
--- a/dev-python/cython/files/50cython-gentoo.el
+++ /dev/null
@@ -1,11 +0,0 @@
-;;; site-lisp configuration for cython-mode
-
-(add-to-list 'load-path "@SITELISP@")
-
-(autoload 'cython-mode "cython-mode" "Major mode for editing Cython files" t)
-;;;###autoload
-(add-to-list 'auto-mode-alist '("\\.pyx\\'" . cython-mode))
-;;;###autoload
-(add-to-list 'auto-mode-alist '("\\.pxd\\'" . cython-mode))
-;;;###autoload
-(add-to-list 'auto-mode-alist '("\\.pxi\\'" . cython-mode))
diff --git a/dev-python/cython/files/cython-3.0.2-enummeta.patch b/dev-python/cython/files/cython-3.0.2-enummeta.patch
deleted file mode 100644
index 284af4ac6c16..000000000000
--- a/dev-python/cython/files/cython-3.0.2-enummeta.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 81cc077ad035947a3429c245f1e28c8b43c6dcc6 Mon Sep 17 00:00:00 2001
-From: da-woods <dw-git@d-woods.co.uk>
-Date: Sat, 2 Sep 2023 10:32:59 +0100
-Subject: [PATCH] Fix invalid fastcall dict when keywords are passed
-
-Fixes #5665
-
-I'm slightly surprised this hasn't caused more bugs. We're passing
-a dict where we should be passing a tuple of names.
-
-Replacement should hopefully be right, but I don't know how
-optimized or otherwise it is.
----
- Cython/Utility/ObjectHandling.c | 36 +++++++++++++++++++--------------
- 1 file changed, 21 insertions(+), 15 deletions(-)
-
-diff --git a/Cython/Utility/ObjectHandling.c b/Cython/Utility/ObjectHandling.c
-index 8ea5be42935..507fb94f605 100644
---- a/Cython/Utility/ObjectHandling.c
-+++ b/Cython/Utility/ObjectHandling.c
-@@ -2328,27 +2328,33 @@ static CYTHON_INLINE PyObject* __Pyx_PyObject_FastCallDict(PyObject *func, PyObj
- #endif
- #endif
-
-- #if CYTHON_VECTORCALL
-- #if Py_VERSION_HEX < 0x03090000
-- vectorcallfunc f = _PyVectorcall_Function(func);
-- #else
-- vectorcallfunc f = PyVectorcall_Function(func);
-- #endif
-- if (f) {
-- return f(func, args, (size_t)nargs, kwargs);
-- }
-- #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL
-- // exclude fused functions for now
-- if (__Pyx_CyFunction_CheckExact(func)) {
-- __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func);
-- if (f) return f(func, args, (size_t)nargs, kwargs);
-+ if (kwargs == NULL) {
-+ #if CYTHON_VECTORCALL
-+ #if Py_VERSION_HEX < 0x03090000
-+ vectorcallfunc f = _PyVectorcall_Function(func);
-+ #else
-+ vectorcallfunc f = PyVectorcall_Function(func);
-+ #endif
-+ if (f) {
-+ return f(func, args, (size_t)nargs, NULL);
-+ }
-+ #elif defined(__Pyx_CyFunction_USED) && CYTHON_BACKPORT_VECTORCALL
-+ // exclude fused functions for now
-+ if (__Pyx_CyFunction_CheckExact(func)) {
-+ __pyx_vectorcallfunc f = __Pyx_CyFunction_func_vectorcall(func);
-+ if (f) return f(func, args, (size_t)nargs, NULL);
-+ }
-+ #endif
- }
-- #endif
-
- if (nargs == 0) {
- return __Pyx_PyObject_Call(func, $empty_tuple, kwargs);
- }
-+ #if PY_VERSION_HEX >= 0x03090000 && !CYTHON_COMPILING_IN_LIMITED_API
-+ return PyObject_VectorcallDict(func, args, nargs, kwargs);
-+ #else
- return __Pyx_PyObject_FastCall_fallback(func, args, (size_t)nargs, kwargs);
-+ #endif
- }
-
-
diff --git a/dev-python/daemonize/daemonize-2.5.0-r1.ebuild b/dev-python/daemonize/daemonize-2.5.0-r1.ebuild
index e051c0dab630..a7099962acf4 100644
--- a/dev-python/daemonize/daemonize-2.5.0-r1.ebuild
+++ b/dev-python/daemonize/daemonize-2.5.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/dask/Manifest b/dev-python/dask/Manifest
deleted file mode 100644
index 0418eb1b8d85..000000000000
--- a/dev-python/dask/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST dask-2023.11.0.gh.tar.gz 8559592 BLAKE2B 3d9e2d049c4ef3a880caef56298dfe76033a79d60424554f9122e68354bd2be2c6c0aae3b833c84d5704c45167b050c65227a0b799a5131600a1417a09bd4d1f SHA512 1ebac9c9fb158682dc5063710fd11ccbe0f584cea26afad4b3fe01001f3f7d6888ddbb7653cfdaf2da4ca7acb2b88bc7b1d8b4055790e7036b419ae995346e8f
-DIST dask-2023.12.0.gh.tar.gz 8576162 BLAKE2B 2e7764a0f2181daf96b175f5d4ad473f126df88614f00d434f74a9f291c6f654ba4a0961ae95737164b5cfda88755fe5734bdaed4821a4d88df4780544bad14f SHA512 879d8a83f5659387bdfd425a68128b72745e693e9904164cfa2ff249682539d9051f5c19bcdf230cf3415b0f2253683dd6b286083be05124b2b5a900c9307104
diff --git a/dev-python/dask/dask-2023.11.0.ebuild b/dev-python/dask/dask-2023.11.0.ebuild
deleted file mode 100644
index 1fa97a3f32d4..000000000000
--- a/dev-python/dask/dask-2023.11.0.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Task scheduling and blocked algorithms for parallel processing"
-HOMEPAGE="
- https://www.dask.org/
- https://github.com/dask/dask/
- https://pypi.org/project/dask/
-"
-SRC_URI="
- https://github.com/dask/dask/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/click-8.1[${PYTHON_USEDEP}]
- >=dev-python/cloudpickle-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/fsspec-2021.9.0[${PYTHON_USEDEP}]
- >=dev-python/importlib-metadata-4.13.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21[${PYTHON_USEDEP}]
- >=dev-python/pandas-1.3[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/partd-1.2.0[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
- >=dev-python/toolz-0.10.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/toolz[${PYTHON_USEDEP}]
- >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
- test? (
- dev-python/moto[${PYTHON_USEDEP}]
- dev-python/numexpr[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # fails with sqlalchemy-2.0, even though we don't use it x_x
- sed -i -e '/RemovedIn20Warning/d' pyproject.toml || die
- sed -i -e 's:--cov-config=pyproject.toml::' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # more tests relying on -Werror
- "dask/array/tests/test_overlap.py::test_map_overlap_no_depth[None]"
- dask/array/tests/test_random.py::test_RandomState_only_funcs
- # TODO
- dask/array/tests/test_reductions.py::test_mean_func_does_not_warn
- dask/tests/test_config.py::test__get_paths
- dask/array/tests/test_linalg.py::test_solve_assume_a
- "dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[<lambda>0-float-5-1-True]"
- "dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[<lambda>1-float-5-1-True]"
- dask/array/tests/test_image.py::test_preprocess
- dask/tests/test_system.py::test_cpu_count_cgroups_v2
- # require sqlalchemy<2.0
- dask/dataframe/io/tests/test_sql.py
- # crashes
- dask/tests/test_base.py::test_tokenize_object_with_recursion_error
- )
-
- if ! has_version -b "dev-python/pyarrow[parquet,${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- # fails if pyarrow is installed without USE=parquet
- # (optional dep, skipped if it's not installed at all)
- dask/dataframe/io/tests/test_parquet.py::test_pyarrow_filter_divisions
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_rerunfailures -m "not network" \
- -p xdist -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/dask/dask-2023.12.0.ebuild b/dev-python/dask/dask-2023.12.0.ebuild
deleted file mode 100644
index e2f5047c0cef..000000000000
--- a/dev-python/dask/dask-2023.12.0.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Task scheduling and blocked algorithms for parallel processing"
-HOMEPAGE="
- https://www.dask.org/
- https://github.com/dask/dask/
- https://pypi.org/project/dask/
-"
-SRC_URI="
- https://github.com/dask/dask/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/click-8.1[${PYTHON_USEDEP}]
- >=dev-python/cloudpickle-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/fsspec-2021.9.0[${PYTHON_USEDEP}]
- >=dev-python/importlib-metadata-4.13.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21[${PYTHON_USEDEP}]
- >=dev-python/pandas-1.3[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/partd-1.2.0[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.3.1[${PYTHON_USEDEP}]
- >=dev-python/toolz-0.10.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/toolz[${PYTHON_USEDEP}]
- >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
- test? (
- dev-python/moto[${PYTHON_USEDEP}]
- dev-python/numexpr[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # fails with sqlalchemy-2.0, even though we don't use it x_x
- sed -i -e '/RemovedIn20Warning/d' pyproject.toml || die
- sed -i -e 's:--cov-config=pyproject.toml::' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # more tests relying on -Werror
- "dask/array/tests/test_overlap.py::test_map_overlap_no_depth[None]"
- dask/array/tests/test_random.py::test_RandomState_only_funcs
- # TODO
- dask/array/tests/test_reductions.py::test_mean_func_does_not_warn
- dask/tests/test_config.py::test__get_paths
- dask/array/tests/test_linalg.py::test_solve_assume_a
- "dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[<lambda>0-float-5-1-True]"
- "dask/dataframe/tests/test_dataframe.py::test_repartition_npartitions[<lambda>1-float-5-1-True]"
- dask/array/tests/test_image.py::test_preprocess
- dask/tests/test_system.py::test_cpu_count_cgroups_v2
- # require sqlalchemy<2.0
- dask/dataframe/io/tests/test_sql.py
- # crashes
- dask/tests/test_base.py::test_tokenize_object_with_recursion_error
- )
-
- if ! has_version -b "dev-python/pyarrow[parquet,${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- # fails if pyarrow is installed without USE=parquet
- # (optional dep, skipped if it's not installed at all)
- dask/dataframe/io/tests/test_parquet.py::test_pyarrow_filter_divisions
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_rerunfailures -m "not network" \
- -p xdist -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/dask/metadata.xml b/dev-python/dask/metadata.xml
deleted file mode 100644
index f3bc116cc1b2..000000000000
--- a/dev-python/dask/metadata.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>cluster@gentoo.org</email>
- <name>Gentoo Cluster Project</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <longdescription lang="en">
- Dask is a simple task scheduling system that uses directed acyclic
- graphs (DAGs) of tasks to break up large computations into many
- small ones.
- </longdescription>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">dask</remote-id>
- <remote-id type="github">dask/dask</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/dbfread/dbfread-2.0.7-r1.ebuild b/dev-python/dbfread/dbfread-2.0.7-r1.ebuild
index 71d9e4719c1a..636e463c2a0e 100644
--- a/dev-python/dbfread/dbfread-2.0.7-r1.ebuild
+++ b/dev-python/dbfread/dbfread-2.0.7-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/dbus-next/dbus-next-0.2.3-r1.ebuild b/dev-python/dbus-next/dbus-next-0.2.3-r1.ebuild
index 539b62aab174..509b350823e0 100644
--- a/dev-python/dbus-next/dbus-next-0.2.3-r1.ebuild
+++ b/dev-python/dbus-next/dbus-next-0.2.3-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 virtualx
@@ -22,7 +22,7 @@ S="${WORKDIR}"/python-${P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~riscv x86"
BDEPEND="
test? (
@@ -36,6 +36,11 @@ PATCHES=(
"${FILESDIR}"/${PN}-0.2.3-glib-crash.patch
)
+EPYTEST_DESELECT=(
+ # test does not work anymore with dbus 1.14.4+
+ # https://github.com/altdesktop/python-dbus-next/issues/135
+ test/test_tcp_address.py::test_tcp_connection_with_forwarding
+)
EPYTEST_IGNORE=(
# "interface not found on this object: org.freedesktop.DBus.Debug.Stats"
# Seems like we build dbus w/o this?
diff --git a/dev-python/dbus-python/dbus-python-1.3.2.ebuild b/dev-python/dbus-python/dbus-python-1.3.2.ebuild
index 1a653ddb7cd5..c50e9a39a2ad 100644
--- a/dev-python/dbus-python/dbus-python-1.3.2.ebuild
+++ b/dev-python/dbus-python/dbus-python-1.3.2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="threads(+)"
inherit autotools python-r1
diff --git a/dev-python/dbutils/Manifest b/dev-python/dbutils/Manifest
new file mode 100644
index 000000000000..5c0040851b34
--- /dev/null
+++ b/dev-python/dbutils/Manifest
@@ -0,0 +1 @@
+DIST DBUtils-3.1.0.tar.gz 94672 BLAKE2B 296a1fad729d355c2607616e5a3fca2f0131ab6040d2424a15ed4583ee0e22697f5c806d3b3789f7d645bff30dbeca0c49b42a901047e1b8e39fb76143f6bccc SHA512 24ffa16524758c27a617a86afc2d41be0336a498afe88ea6021b9304ecbfa5c98f88221503713e662509ae2a4c36974fad9faea17047ffb2d8b4cd728b44735d
diff --git a/dev-python/dbutils/dbutils-3.1.0.ebuild b/dev-python/dbutils/dbutils-3.1.0.ebuild
new file mode 100644
index 000000000000..29340e06e341
--- /dev/null
+++ b/dev-python/dbutils/dbutils-3.1.0.ebuild
@@ -0,0 +1,29 @@
+# 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
+PYPI_PN=DBUtils
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Database connections for multi-threaded environments"
+HOMEPAGE="
+ https://webwareforpython.github.io/DBUtils/
+ https://github.com/WebwareForPython/DBUtils/
+ https://pypi.org/project/DBUtils/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+distutils_enable_tests pytest
+
+python_install_all() {
+ local HTML_DOCS=( docs/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/dbutils/metadata.xml b/dev-python/dbutils/metadata.xml
new file mode 100644
index 000000000000..91414e3dd6bf
--- /dev/null
+++ b/dev-python/dbutils/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <longdescription lang="en">
+ DBUtils is a suite of tools providing solid, persistent and pooled connections
+ to a database that can be used in all kinds of multi-threaded environments
+ like Webware for Python or other web application servers. The suite supports
+ DB-API 2 compliant database interfaces and the classic PyGreSQL interface.
+ </longdescription>
+ <upstream>
+ <remote-id type="github">WebwareForPython/DBUtils</remote-id>
+ <remote-id type="pypi">DBUtils</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ddt/Manifest b/dev-python/ddt/Manifest
index 0c63dab078e9..79cc787a92ae 100644
--- a/dev-python/ddt/Manifest
+++ b/dev-python/ddt/Manifest
@@ -1,2 +1 @@
-DIST ddt-1.6.0.gh.tar.gz 19615 BLAKE2B f79e25e9da39615d85f000c1029babef64725b159a2b77003efe9f9c5869fb26087fa20e1a58eea485479b12ee89c602076613a9d50711347a775a09c4bbb180 SHA512 c5ea14d3f60384676d9631c84d938b774dd360cea9b0ee1b111692dc2bc06238b5ffd3ab8950207b77aa007bac0ac79b290533a2532be4bee68b642629843a82
-DIST ddt-1.7.0.gh.tar.gz 19742 BLAKE2B aafecea2363f9a1dc102dde1e19ce8f55def7555755342cb23cd027eda7afd0fbf9bb8b5a45a079cce107dfab9b7a78055b81258f206a593955941ce222f1393 SHA512 1f049c1f86cd58867b6ef3d094310e78c94bd11f5602e8a9ffe392bbcf173f23be4f6b77730953b7d747d56a31a3a378d229c7d697383c2e3ce4517d12d13d2d
+DIST ddt-1.7.2.gh.tar.gz 19624 BLAKE2B b919916dccc35b5db0946ccf28ed0592a25984b4820d6b59099b5cbf682bd77085f2249454063171c8d5c9fe509c0f646063238a1b4e8ce495f1b5742f3f3368 SHA512 1f1e919d809fd721ba840786feedbfca45e5f85907feb21144ea83b298f5c2c047880d874dae2e60bb63e8d8d1445963b37125fcbe09966e4f9e7f77b2f6ec94
diff --git a/dev-python/ddt/ddt-1.6.0.ebuild b/dev-python/ddt/ddt-1.6.0.ebuild
deleted file mode 100644
index 1eb46e3b2d0a..000000000000
--- a/dev-python/ddt/ddt-1.6.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Data-Driven/Decorated Tests"
-HOMEPAGE="
- https://pypi.org/project/ddt/
- https://github.com/datadriventests/ddt/
-"
-SRC_URI="
- https://github.com/datadriventests/ddt/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- test? (
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/ddt/ddt-1.7.0.ebuild b/dev-python/ddt/ddt-1.7.0.ebuild
deleted file mode 100644
index 54194f373d97..000000000000
--- a/dev-python/ddt/ddt-1.7.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Data-Driven/Decorated Tests"
-HOMEPAGE="
- https://pypi.org/project/ddt/
- https://github.com/datadriventests/ddt/
-"
-SRC_URI="
- https://github.com/datadriventests/ddt/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv sparc x86"
-
-BDEPEND="
- test? (
- dev-python/aiounittest[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/ddt/ddt-1.7.2.ebuild b/dev-python/ddt/ddt-1.7.2.ebuild
new file mode 100644
index 000000000000..d2c9fb554e70
--- /dev/null
+++ b/dev-python/ddt/ddt-1.7.2.ebuild
@@ -0,0 +1,33 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Data-Driven/Decorated Tests"
+HOMEPAGE="
+ https://pypi.org/project/ddt/
+ https://github.com/datadriventests/ddt/
+"
+SRC_URI="
+ https://github.com/datadriventests/ddt/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ test? (
+ dev-python/aiounittest[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/debtcollector/Manifest b/dev-python/debtcollector/Manifest
index dc03bf6280ab..6a07f2fdc554 100644
--- a/dev-python/debtcollector/Manifest
+++ b/dev-python/debtcollector/Manifest
@@ -1 +1 @@
-DIST debtcollector-2.5.0.tar.gz 31334 BLAKE2B 1f06725ead19e36e6feda1c8666403e536d5f39f775d9a9929a06ea053be41e64575a4e4d28b3a0032610cdd7f68f35bf54ff2445543c4b8ec667732e1a8d5ea SHA512 3f1378c52994a0320b8abd997a1b240496f6f12d29e8b08612bb97c7c8d2993b23224be62cbe4eaa556dcd5a3c7a4a8f8ea4873688e1aad2f26bb5ba522c1d6a
+DIST debtcollector-3.0.0.tar.gz 31322 BLAKE2B 496ca931267a0bb93b009f69c5488eb59cc0a2c1fbf437c66023e5074c3623f2d726109c2ab73462e4a81160f5c089b81045d66cd3370ab69500ce97d1568477 SHA512 92072dbe27b09fe9bccf2fe7d27f29742bfa50d19dab60ce5e4b442833aff3dda6f0dd9f72b7a2d3ce580a78d1480e03353d8f9b0e43b59575b979a20945ee26
diff --git a/dev-python/debtcollector/debtcollector-2.5.0.ebuild b/dev-python/debtcollector/debtcollector-2.5.0.ebuild
deleted file mode 100644
index 8d03be84b3d6..000000000000
--- a/dev-python/debtcollector/debtcollector-2.5.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python deprecation patterns and strategies that collect technical debt"
-HOMEPAGE="
- https://opendev.org/openstack/debtcollector/
- https://github.com/openstack/debtcollector/
- https://pypi.org/project/debtcollector/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/wrapt-1.7.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- dev-python/testtools[${PYTHON_USEDEP}]
- dev-python/fixtures[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/debtcollector/debtcollector-3.0.0.ebuild b/dev-python/debtcollector/debtcollector-3.0.0.ebuild
new file mode 100644
index 000000000000..f3b1bb64a62e
--- /dev/null
+++ b/dev-python/debtcollector/debtcollector-3.0.0.ebuild
@@ -0,0 +1,33 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python deprecation patterns and strategies that collect technical debt"
+HOMEPAGE="
+ https://opendev.org/openstack/debtcollector/
+ https://github.com/openstack/debtcollector/
+ https://pypi.org/project/debtcollector/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/wrapt-1.7.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/testtools[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/debugpy/Manifest b/dev-python/debugpy/Manifest
deleted file mode 100644
index c4d06f27e148..000000000000
--- a/dev-python/debugpy/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST debugpy-1.6.6.gh.tar.gz 6942488 BLAKE2B 18c6eee2322239e5cbbacf9431fa7480abcf14a68f290d2228edc8b2ead042e7b09d19ee5bcc60be32e8a6b0b34b925eaa8246991298744f3ca74d4ed2ea3f3e SHA512 1a209bfd702d5f0649ce50b0910023e295953dd39cefdefb0b5af1d6023e629a727610789cd244e656bdf4276cee957fa463506ddaca603ab3ee85cc250dc212
-DIST debugpy-1.8.0.gh.tar.gz 6760323 BLAKE2B 99c4188c0b0383dc4dcbdd86c4d35e6eb973ca32ba56b757adea9668b161f20f17b436e0dc019790b1e85586387fc848712143c5e3d3814e2522850d97a4048e SHA512 f9e47371ca854c12811d1c0984f063b1ad5cac2bea769f91a67f9fa125cfcbeccbecafca9b9d5ea16a4ed8a1c123f34db3ba19efe1567b93a86cbd325239b355
diff --git a/dev-python/debugpy/debugpy-1.6.6.ebuild b/dev-python/debugpy/debugpy-1.6.6.ebuild
deleted file mode 100644
index 1d59edda4b4d..000000000000
--- a/dev-python/debugpy/debugpy-1.6.6.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="An implementation of the Debug Adapter Protocol for Python"
-HOMEPAGE="https://github.com/microsoft/debugpy/ https://pypi.org/project/debugpy/"
-SRC_URI="
- https://github.com/microsoft/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-# This is completely broken
-RESTRICT="test"
-
-RDEPEND="dev-python/pydevd[${PYTHON_USEDEP}]"
-BDEPEND="test? ( dev-python/pytest-timeout[${PYTHON_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.6.6-unbundle-pydevd.patch"
-)
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Drop unnecessary and unrecognized option
- # __main__.py: error: unrecognized arguments: -n8
- # Do not timeout
- sed -e '/addopts/d' -e '/timeout/d' -i pytest.ini || die
-
- # Unbundle dev-python/pydevd
- rm -r src/debugpy/_vendored tests/tests/test_vendoring.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/debugpy/debugpy-1.8.0.ebuild b/dev-python/debugpy/debugpy-1.8.0.ebuild
deleted file mode 100644
index 69bfafef9d4e..000000000000
--- a/dev-python/debugpy/debugpy-1.8.0.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="An implementation of the Debug Adapter Protocol for Python"
-HOMEPAGE="
- https://github.com/microsoft/debugpy/
- https://pypi.org/project/debugpy/
-"
-SRC_URI="
- https://github.com/microsoft/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/pydevd[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Unbundle dev-python/pydevd
- rm -r src/debugpy/_vendored/pydevd || die
- local PATCHES=(
- "${FILESDIR}/${PN}-1.8.0-unbundle-pydevd.patch"
- )
-
- # Drop unnecessary and unrecognized option
- # __main__.py: error: unrecognized arguments: -n8
- # Do not timeout
- sed -e '/addopts/d' -e '/timeout/d' -i pytest.ini || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local EPYTEST_DESELECT=(
- tests/debugpy/test_gevent.py::test_gevent
- tests/debugpy/test_run.py::test_custom_python_args
- tests/tests/test_timeline.py::test_occurrences
- )
- local EPYTEST_IGNORE=(
- tests/tests/test_vendoring.py
- )
-
- case ${EPYTHON} in
- python3.12)
- EPYTEST_DESELECT+=(
- tests/debugpy/test_flask.py
- )
- ;;
- esac
-
- epytest -p timeout -p xdist -n "$(makeopts_jobs)" --dist=worksteal \
- -k "not attach_pid"
-}
diff --git a/dev-python/debugpy/files/debugpy-1.6.6-unbundle-pydevd.patch b/dev-python/debugpy/files/debugpy-1.6.6-unbundle-pydevd.patch
deleted file mode 100644
index d285775c9246..000000000000
--- a/dev-python/debugpy/files/debugpy-1.6.6-unbundle-pydevd.patch
+++ /dev/null
@@ -1,77 +0,0 @@
-diff --git a/pyproject.toml b/pyproject.toml
-index 9a79e55..8725d19 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -8,7 +8,6 @@ exclude = '''
- ( __pycache__
- | ^/.tox
- | ^/versioneer.py
--| ^/src/debugpy/_vendored
- | ^/src/debugpy/_version.py
- )
- '''
-diff --git a/setup.py b/setup.py
-index 3abc811..c11924c 100644
---- a/setup.py
-+++ b/setup.py
-@@ -18,12 +18,10 @@ del sys.path[0]
-
- sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "src"))
- import debugpy
--import debugpy._vendored
-
- del sys.path[0]
-
-
--PYDEVD_ROOT = debugpy._vendored.project_root("pydevd")
- DEBUGBY_ROOT = os.path.dirname(os.path.abspath(debugpy.__file__))
-
-
-@@ -146,8 +144,6 @@ if __name__ == "__main__":
- extras["platforms"] = platforms
-
- cmds = versioneer.get_cmdclass()
-- override_build(cmds)
-- override_build_py(cmds)
-
- setuptools.setup(
- name="debugpy",
-@@ -183,14 +179,9 @@ if __name__ == "__main__":
- "debugpy.common",
- "debugpy.launcher",
- "debugpy.server",
-- "debugpy._vendored",
- ],
- package_data={
- "debugpy": ["ThirdPartyNotices.txt"],
-- "debugpy._vendored": [
-- # pydevd extensions must be built before this list can be computed properly,
-- # so it is populated in the overridden build_py.finalize_options().
-- ],
- },
- ext_modules=ExtModules(),
- has_ext_modules=lambda: True,
-diff --git a/src/debugpy/server/__init__.py b/src/debugpy/server/__init__.py
-index 42d5367..e333dcf 100644
---- a/src/debugpy/server/__init__.py
-+++ b/src/debugpy/server/__init__.py
-@@ -1,7 +1,3 @@
- # Copyright (c) Microsoft Corporation. All rights reserved.
- # Licensed under the MIT License. See LICENSE in the project root
- # for license information.
--
--# "force_pydevd" must be imported first to ensure (via side effects)
--# that the debugpy-vendored copy of pydevd gets used.
--import debugpy._vendored.force_pydevd # noqa
-diff --git a/src/debugpy/server/attach_pid_injected.py b/src/debugpy/server/attach_pid_injected.py
-index a8df6e1..a29a969 100644
---- a/src/debugpy/server/attach_pid_injected.py
-+++ b/src/debugpy/server/attach_pid_injected.py
-@@ -31,7 +31,6 @@ def attach(setup):
- pydevd_attach_to_process_path = os.path.join(
- _debugpy_dir,
- "debugpy",
-- "_vendored",
- "pydevd",
- "pydevd_attach_to_process",
- )
diff --git a/dev-python/debugpy/files/debugpy-1.8.0-unbundle-pydevd.patch b/dev-python/debugpy/files/debugpy-1.8.0-unbundle-pydevd.patch
deleted file mode 100644
index 54ccdae4ca01..000000000000
--- a/dev-python/debugpy/files/debugpy-1.8.0-unbundle-pydevd.patch
+++ /dev/null
@@ -1,46 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 0bb4f00..abfce1c 100644
---- a/setup.py
-+++ b/setup.py
-@@ -18,12 +18,10 @@ del sys.path[0]
-
- sys.path.insert(0, os.path.join(os.path.dirname(os.path.abspath(__file__)), "src"))
- import debugpy
--import debugpy._vendored
-
- del sys.path[0]
-
-
--PYDEVD_ROOT = debugpy._vendored.project_root("pydevd")
- DEBUGBY_ROOT = os.path.dirname(os.path.abspath(debugpy.__file__))
-
-
-@@ -146,8 +144,6 @@ if __name__ == "__main__":
- extras["platforms"] = platforms
-
- cmds = versioneer.get_cmdclass()
-- override_build(cmds)
-- override_build_py(cmds)
-
- setuptools.setup(
- name="debugpy",
-diff --git a/src/debugpy/_vendored/force_pydevd.py b/src/debugpy/_vendored/force_pydevd.py
-index cfd8927..0cb1bca 100644
---- a/src/debugpy/_vendored/force_pydevd.py
-+++ b/src/debugpy/_vendored/force_pydevd.py
-@@ -8,15 +8,6 @@ import warnings
-
- from . import check_modules, prefix_matcher, preimport, vendored
-
--# Ensure that pydevd is our vendored copy.
--_unvendored, _ = check_modules('pydevd',
-- prefix_matcher('pydev', '_pydev'))
--if _unvendored:
-- _unvendored = sorted(_unvendored.values())
-- msg = 'incompatible copy of pydevd already imported'
-- # raise ImportError(msg)
-- warnings.warn(msg + ':\n {}'.format('\n '.join(_unvendored)))
--
- # If debugpy logging is enabled, enable it for pydevd as well
- if "DEBUGPY_LOG_DIR" in os.environ:
- os.environ[str("PYDEVD_DEBUG")] = str("True")
diff --git a/dev-python/debugpy/metadata.xml b/dev-python/debugpy/metadata.xml
deleted file mode 100644
index a6c53f2a9008..000000000000
--- a/dev-python/debugpy/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version='1.0' encoding='UTF-8'?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">debugpy</remote-id>
- <remote-id type="github">microsoft/debugpy</remote-id>
- <maintainer status="unknown">
- <email>ptvshelp@microsoft.com</email>
- <name>Microsoft Corporation</name>
- </maintainer>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/decorator/decorator-5.1.1-r1.ebuild b/dev-python/decorator/decorator-5.1.1-r1.ebuild
index 1611e6e5f089..055ad9a7e488 100644
--- a/dev-python/decorator/decorator-5.1.1-r1.ebuild
+++ b/dev-python/decorator/decorator-5.1.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/deepdiff/Manifest b/dev-python/deepdiff/Manifest
index 384d32d0bb8f..3a6e7680a331 100644
--- a/dev-python/deepdiff/Manifest
+++ b/dev-python/deepdiff/Manifest
@@ -1,3 +1 @@
-DIST deepdiff-6.6.1.tar.gz 402840 BLAKE2B 78fa059644d068fb0e6f16a81ba91d0e776f91eda6f049f73d57bd176a9bbca5fc60f301e8ac652ba1339be2474c9eb6912ce532d720328d2b017bfcc52196dc SHA512 5a18bdb5d5dbc7b6de39d90fc3a740ddeeddd0742953f8618eefafbd0c086138219dbb3a515ead40b315c28590b642721b9350d2b9cc9e4a1e9ea8a8dbb25712
-DIST deepdiff-6.7.0.tar.gz 406189 BLAKE2B 8425e96f7a427a6476ef3ec1ba3082c9f139658046e920cb90316e26951524d88e956bfc4cf85bb3a273349312cf96a91885cbef602ec07c494c1319babd1ede SHA512 36f554839b5de5d9a75d39a53b214e50d10e6a0f9932dc7ec222f4f911c0d424359d4df3bae083b3766dc68ed9f62e3b6bd4e8eb981fb7fa537fc4298f5c682d
-DIST deepdiff-6.7.1.tar.gz 409107 BLAKE2B b52b95f166eb564a5357a5f8f2d8759f9931333b857f5cfc62ac99ffb67d8be9cc3972c76e16d9a28b752983db2903089e2bcc0702e768e07d49b5c7fada4bc7 SHA512 89cf198aeaa392e9609641a9bbc1331c8badf3d4b7cafb1afef00f6f6237524dec72467abf9a9afeba5dc08b8f7e8321827faec5b9a8c27ffff97bfc3fdb0db0
+DIST deepdiff-7.0.1.tar.gz 421718 BLAKE2B b6441b9c035db0cc6e4fa83811999e8a83b3faed2ea95bcbdad158486e583ea9d707595d2342f83d0c25f6a5c086a8070c714253e2db09fcaf43de1616d46cda SHA512 facc15beb82744a1b8baf29e0d8f06625e8d4ee4ed7ab5f1b131ad9d44134215651d1c6b19493c83532f612d81752df14aec2dbccc73cb5b994e0bafcaf5bbc2
diff --git a/dev-python/deepdiff/deepdiff-6.6.1.ebuild b/dev-python/deepdiff/deepdiff-6.6.1.ebuild
deleted file mode 100644
index de71d5e0cadf..000000000000
--- a/dev-python/deepdiff/deepdiff-6.6.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A library for comparing dictionaries, iterables, strings and other objects"
-HOMEPAGE="
- https://github.com/seperman/deepdiff/
- https://pypi.org/project/deepdiff/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
- >=dev-python/click-8.1.3[${PYTHON_USEDEP}]
-"
-
-DEPEND="
- test? (
- >=dev-python/jsonpickle-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.23.5[${PYTHON_USEDEP}]
- dev-python/pydantic[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/tomli-w[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/deepdiff/deepdiff-6.7.0.ebuild b/dev-python/deepdiff/deepdiff-6.7.0.ebuild
deleted file mode 100644
index de71d5e0cadf..000000000000
--- a/dev-python/deepdiff/deepdiff-6.7.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A library for comparing dictionaries, iterables, strings and other objects"
-HOMEPAGE="
- https://github.com/seperman/deepdiff/
- https://pypi.org/project/deepdiff/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
- >=dev-python/click-8.1.3[${PYTHON_USEDEP}]
-"
-
-DEPEND="
- test? (
- >=dev-python/jsonpickle-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.23.5[${PYTHON_USEDEP}]
- dev-python/pydantic[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/tomli-w[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/deepdiff/deepdiff-6.7.1.ebuild b/dev-python/deepdiff/deepdiff-6.7.1.ebuild
deleted file mode 100644
index de71d5e0cadf..000000000000
--- a/dev-python/deepdiff/deepdiff-6.7.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A library for comparing dictionaries, iterables, strings and other objects"
-HOMEPAGE="
- https://github.com/seperman/deepdiff/
- https://pypi.org/project/deepdiff/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
- >=dev-python/click-8.1.3[${PYTHON_USEDEP}]
-"
-
-DEPEND="
- test? (
- >=dev-python/jsonpickle-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.23.5[${PYTHON_USEDEP}]
- dev-python/pydantic[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/tomli-w[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/deepdiff/deepdiff-7.0.1.ebuild b/dev-python/deepdiff/deepdiff-7.0.1.ebuild
new file mode 100644
index 000000000000..6f08b38d1d7c
--- /dev/null
+++ b/dev-python/deepdiff/deepdiff-7.0.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A library for comparing dictionaries, iterables, strings and other objects"
+HOMEPAGE="
+ https://github.com/seperman/deepdiff/
+ https://pypi.org/project/deepdiff/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/pyyaml-6.0[${PYTHON_USEDEP}]
+ >=dev-python/click-8.1.3[${PYTHON_USEDEP}]
+"
+
+DEPEND="
+ test? (
+ >=dev-python/jsonpickle-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.23.5[${PYTHON_USEDEP}]
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # changed exception message
+ "tests/test_command.py::TestCommands::test_diff_command[t1_corrupt.json-t2.json-Expecting property name enclosed in double quotes-1]"
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/deepmerge/Manifest b/dev-python/deepmerge/Manifest
index 5d8a94411cc2..2cccb5f1ce08 100644
--- a/dev-python/deepmerge/Manifest
+++ b/dev-python/deepmerge/Manifest
@@ -1 +1 @@
-DIST deepmerge-1.1.0.gh.tar.gz 15533 BLAKE2B 30fc1cdd7a5ce81783fa0804c20f44d4d7d62a1a6481a6defab3a2b5f542596fb4ab0d4ede5a7d4d128d188b56d17f260c67690deb89b55fb2fc76e1fbcffebc SHA512 f658518c11e0ea8b4e59a686e2e6ce90916c5e798c3521ef91a1fc09ec59badd9cddb74f51973cfe50891c5e8d054909e7a8acf2156cbb884492a059196a8d97
+DIST deepmerge-1.1.1.gh.tar.gz 15605 BLAKE2B ef6fbd30185a2990c72d6de0950275dd6f9f3e61c0c9c969fd69dab2123025d016ade98d42f09b30328b3cb5659b29b2d07836db4657acde97d9a2cc40c07039 SHA512 8ba4a225d588c96c3c852783774d5d690c5dd0caa1988f5969ce6446a11ba6035667baeda7e419cae40c4c1dcf7a15ee7149a10c1e33dba6b7775ddbad41130d
diff --git a/dev-python/deepmerge/deepmerge-1.1.0.ebuild b/dev-python/deepmerge/deepmerge-1.1.0.ebuild
deleted file mode 100644
index 3209ee6a009a..000000000000
--- a/dev-python/deepmerge/deepmerge-1.1.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Tools to handle merging of nested data structures in python"
-HOMEPAGE="
- https://deepmerge.readthedocs.io/en/latest/
- https://github.com/toumorokoshi/deepmerge/
- https://pypi.org/project/deepmerge/
-"
-SRC_URI="
- https://github.com/toumorokoshi/deepmerge/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/deepmerge/deepmerge-1.1.1.ebuild b/dev-python/deepmerge/deepmerge-1.1.1.ebuild
new file mode 100644
index 000000000000..4b20a787ea0a
--- /dev/null
+++ b/dev-python/deepmerge/deepmerge-1.1.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Tools to handle merging of nested data structures in python"
+HOMEPAGE="
+ https://deepmerge.readthedocs.io/en/latest/
+ https://github.com/toumorokoshi/deepmerge/
+ https://pypi.org/project/deepmerge/
+"
+SRC_URI="
+ https://github.com/toumorokoshi/deepmerge/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/defusedxml/Manifest b/dev-python/defusedxml/Manifest
index 22b9f00fa8b8..5ad9bba1c92c 100644
--- a/dev-python/defusedxml/Manifest
+++ b/dev-python/defusedxml/Manifest
@@ -1 +1,2 @@
DIST defusedxml-0.7.1.gh.tar.gz 34709 BLAKE2B cfe69851e0ac6472cb9e66d1b577831eec37b0a01129dcb43cec151aa939029efc194220f3c7b481d306a77db710a639bdd56f3fd1f7ae46fa4ab8f308b8036f SHA512 4f536794b814291520c7db27765014c57f415554cff569cddab596b33e1aa03799aae9448fdaf07417d1a9f4d8782aa827d1b68aac6881ffe5c2ca9b8a40d864
+DIST defusedxml-0.8.0rc2.gh.tar.gz 37727 BLAKE2B 4a9313c4fe171998b84e22cf1cd2e5781cea6d37ea2436c5450fe4d003c915d3c945c8385b172fc102b601abb4612a217265bdd293f5d20ece2896194e37366a SHA512 d0cdaebf459a203c09c679169eeadc076a92b913558924cc6d3d693fe5732cefd5a6d15c4d2cbcdd7710936063a96e6dca467d0a82165194abeb7111d910daee
diff --git a/dev-python/defusedxml/defusedxml-0.8.0_rc2.ebuild b/dev-python/defusedxml/defusedxml-0.8.0_rc2.ebuild
new file mode 100644
index 000000000000..58f6818a806e
--- /dev/null
+++ b/dev-python/defusedxml/defusedxml-0.8.0_rc2.ebuild
@@ -0,0 +1,42 @@
+# 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..13} pypy3 )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1
+
+MY_P=${P/_/}
+DESCRIPTION="XML bomb protection for Python stdlib modules, an xml serialiser"
+HOMEPAGE="
+ https://github.com/tiran/defusedxml/
+ https://pypi.org/project/defusedxml/
+"
+SRC_URI="
+ https://github.com/tiran/defusedxml/archive/v${PV/_/}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+src_prepare() {
+ distutils-r1_src_prepare
+ sed -i -e 's:verbosity=1:verbosity=2:' tests.py || die
+ mv other examples || die
+}
+
+python_test() {
+ "${EPYTHON}" tests.py -v || die
+}
+
+python_install_all() {
+ use examples && dodoc -r examples/
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/denonavr/Manifest b/dev-python/denonavr/Manifest
index aaf8951a9763..3f750dd7e8b4 100644
--- a/dev-python/denonavr/Manifest
+++ b/dev-python/denonavr/Manifest
@@ -1,2 +1 @@
-DIST denonavr-0.11.3.tar.gz 179597 BLAKE2B 139cda38958e320d72f11ef25e94db67346b7e9f253cbbf60a0cc5f5e2e42846f070a57cfb1596cb648d1d70a62983d8f5fe6b91aec5b95501c049c1c65b7141 SHA512 a361ac3dd6385ad7c042f6cb7bd2092c39da75c167277347d199ab9de3a1ef9fad84e41428cfa02058c680c905965214e42780fa4d4fb1f4a1116102284fe571
-DIST denonavr-0.11.4.tar.gz 179759 BLAKE2B c75b5679c614f3776afd8a24befb49ca5c2528cb6cd6a573ea221cc66e7b9ec9819770b646c52c0aed126b35733aab09a9eb7c5f673a8e3208507d0afda36117 SHA512 7bdae172034122cc55571dd83888091987c973e29fd0f881428d09c093510c99f4c6eceaab0868d024a2e6acca36eaa941d62332849e7dc2547a88111d8dc55a
+DIST denonavr-0.11.6.tar.gz 181608 BLAKE2B 6078aa16ce879417d21d1f9260bc18e86de9c33054b46592a6af821a349973e6fe69c64a23a23b2b2278edf12180fe37cb218b83c0c0abc536928124fa5dad9a SHA512 538127e30fe71f14643acada521bbd9090999464a4ead1b95805d759d23efd55a87a8a2daf26cd8eebf6c0396850430cac2ef7328ee79921df0862c2713e5208
diff --git a/dev-python/denonavr/denonavr-0.11.3.ebuild b/dev-python/denonavr/denonavr-0.11.3.ebuild
deleted file mode 100644
index 5adf44a85b90..000000000000
--- a/dev-python/denonavr/denonavr-0.11.3.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Automation Library for Denon AVR receivers"
-HOMEPAGE="
- https://github.com/ol-iver/denonavr/
- https://pypi.org/project/denonavr/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/asyncstdlib-3.10.2[${PYTHON_USEDEP}]
- >=dev-python/attrs-21.2.0[${PYTHON_USEDEP}]
- >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.23.1[${PYTHON_USEDEP}]
- >=dev-python/netifaces-0.11.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/async-timeout-4.0.2[${PYTHON_USEDEP}]
- ' 3.{8..10})
-"
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-httpx[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/denonavr/denonavr-0.11.4.ebuild b/dev-python/denonavr/denonavr-0.11.4.ebuild
deleted file mode 100644
index 5adf44a85b90..000000000000
--- a/dev-python/denonavr/denonavr-0.11.4.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Automation Library for Denon AVR receivers"
-HOMEPAGE="
- https://github.com/ol-iver/denonavr/
- https://pypi.org/project/denonavr/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/asyncstdlib-3.10.2[${PYTHON_USEDEP}]
- >=dev-python/attrs-21.2.0[${PYTHON_USEDEP}]
- >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.23.1[${PYTHON_USEDEP}]
- >=dev-python/netifaces-0.11.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/async-timeout-4.0.2[${PYTHON_USEDEP}]
- ' 3.{8..10})
-"
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-httpx[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/denonavr/denonavr-0.11.6.ebuild b/dev-python/denonavr/denonavr-0.11.6.ebuild
new file mode 100644
index 000000000000..2f160c89d6eb
--- /dev/null
+++ b/dev-python/denonavr/denonavr-0.11.6.ebuild
@@ -0,0 +1,41 @@
+# 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..13} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Automation Library for Denon AVR receivers"
+HOMEPAGE="
+ https://github.com/ol-iver/denonavr/
+ https://pypi.org/project/denonavr/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/asyncstdlib-3.10.2[${PYTHON_USEDEP}]
+ >=dev-python/attrs-21.2.0[${PYTHON_USEDEP}]
+ >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/ftfy-6.1.1[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.23.1[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.11.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/async-timeout-4.0.2[${PYTHON_USEDEP}]
+ ' 3.{8..10})
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-httpx[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/dep-logic/Manifest b/dev-python/dep-logic/Manifest
new file mode 100644
index 000000000000..3b725a41bdfe
--- /dev/null
+++ b/dev-python/dep-logic/Manifest
@@ -0,0 +1,3 @@
+DIST dep_logic-0.4.2.tar.gz 34743 BLAKE2B e3d520f935034c5dacf3dbe123eacb2adb45a3b6d6e13c23d3c21c9d36af56093f504660c621ba586335930963243298d5284b41a29247fb9904bff13da7c724 SHA512 7a522e74cf6537ff644e785489c9a17108910d42769abfbc31dcdffde1d36e79c0cc76c98cd289982877296aab451a6963ee039dd258be67e0e82d2c81fd219b
+DIST dep_logic-0.4.3.tar.gz 34793 BLAKE2B abbaa23d39d258b10912844cb28ca279efe7475e419f8c7be7a1119ed636d60bed851ae7fe47cf04f2caa391d933f8a2c5d404db6e8a8c7cf55224224b6a228c SHA512 4800e9cbd9f2479ebb2a2052361f385b68b1ec5ea3f308378dbef199e61a0443c0e28e4f4f7df8a444a4bd50edd25c7168428812543edc0bb0209d2fc5e0dfac
+DIST dep_logic-0.4.4.tar.gz 34883 BLAKE2B e28bf4cf3b4f3ff02af53d99bd9007ee5774c4e64d01386c9a736414420da6799f3f681c2f7934e9002ecff3ff87186ff9ec78bf5a18d225cfa32b0d31477468 SHA512 b22ac38a75d52f497cddc96ca2d571f036e0c3abde81b023f6348af4a606c966170e7609a4364425a410172f3e911b053d09aeb3fd0b124d7cb9b32b691e8bb1
diff --git a/dev-python/dep-logic/dep-logic-0.4.2.ebuild b/dev-python/dep-logic/dep-logic-0.4.2.ebuild
new file mode 100644
index 000000000000..cf3afe5c232e
--- /dev/null
+++ b/dev-python/dep-logic/dep-logic-0.4.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python dependency specifications supporting logical operations"
+HOMEPAGE="
+ https://github.com/pdm-project/dep-logic/
+ https://pypi.org/project/dep-logic/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/packaging-22[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/dep-logic/dep-logic-0.4.3.ebuild b/dev-python/dep-logic/dep-logic-0.4.3.ebuild
new file mode 100644
index 000000000000..cf3afe5c232e
--- /dev/null
+++ b/dev-python/dep-logic/dep-logic-0.4.3.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python dependency specifications supporting logical operations"
+HOMEPAGE="
+ https://github.com/pdm-project/dep-logic/
+ https://pypi.org/project/dep-logic/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/packaging-22[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/dep-logic/dep-logic-0.4.4.ebuild b/dev-python/dep-logic/dep-logic-0.4.4.ebuild
new file mode 100644
index 000000000000..cf3afe5c232e
--- /dev/null
+++ b/dev-python/dep-logic/dep-logic-0.4.4.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python dependency specifications supporting logical operations"
+HOMEPAGE="
+ https://github.com/pdm-project/dep-logic/
+ https://pypi.org/project/dep-logic/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/packaging-22[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/dep-logic/metadata.xml b/dev-python/dep-logic/metadata.xml
new file mode 100644
index 000000000000..05398e86fff7
--- /dev/null
+++ b/dev-python/dep-logic/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">pdm-project/dep-logic</remote-id>
+ <remote-id type="pypi">dep-logic</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/deprecated/deprecated-1.2.14.ebuild b/dev-python/deprecated/deprecated-1.2.14.ebuild
index 607761199f72..9f120ca0b27b 100644
--- a/dev-python/deprecated/deprecated-1.2.14.ebuild
+++ b/dev-python/deprecated/deprecated-1.2.14.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -18,10 +18,14 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
dev-python/wrapt[${PYTHON_USEDEP}]
"
+PATCHES=(
+ "${FILESDIR}/${P}-py313.patch"
+)
+
distutils_enable_tests pytest
diff --git a/dev-python/deprecated/files/deprecated-1.2.14-py313.patch b/dev-python/deprecated/files/deprecated-1.2.14-py313.patch
new file mode 100644
index 000000000000..b0daead38417
--- /dev/null
+++ b/dev-python/deprecated/files/deprecated-1.2.14-py313.patch
@@ -0,0 +1,34 @@
+diff --git a/tests/test_deprecated.py b/tests/test_deprecated.py
+index 0e467ae..69b10c1 100644
+--- a/tests/test_deprecated.py
++++ b/tests/test_deprecated.py
+@@ -152,6 +152,7 @@ def test_classic_deprecated_class__warns(classic_deprecated_class):
+ classic_deprecated_class()
+ assert len(warns) == 1
+ warn = warns[0]
++ print(warns)
+ assert issubclass(warn.category, DeprecationWarning)
+ assert "deprecated class" in str(warn.message)
+ assert warn.filename == __file__ or warn.category is WrongStackLevelWarning, 'Incorrect warning stackLevel'
+@@ -191,7 +192,7 @@ def test_classic_deprecated_class_method__warns(classic_deprecated_class_method)
+ assert len(warns) == 1
+ warn = warns[0]
+ assert issubclass(warn.category, DeprecationWarning)
+- if sys.version_info >= (3, 9):
++ if (3, 9) <= sys.version_info < (3, 13):
+ assert "deprecated class method" in str(warn.message)
+ else:
+ assert "deprecated function (or staticmethod)" in str(warn.message)
+diff --git a/tests/test_sphinx.py b/tests/test_sphinx.py
+index a1d7753..8cf8e95 100644
+--- a/tests/test_sphinx.py
++++ b/tests/test_sphinx.py
+@@ -301,7 +301,7 @@ def test_sphinx_deprecated_class_method__warns(sphinx_deprecated_class_method):
+ assert len(warns) == 1
+ warn = warns[0]
+ assert issubclass(warn.category, DeprecationWarning)
+- if sys.version_info >= (3, 9):
++ if (3, 9) <= sys.version_info < (3, 13):
+ assert "deprecated class method" in str(warn.message)
+ else:
+ assert "deprecated function (or staticmethod)" in str(warn.message)
diff --git a/dev-python/deprecation/deprecation-2.1.0-r1.ebuild b/dev-python/deprecation/deprecation-2.1.0-r1.ebuild
index 6334a81745ca..9f324a04fc38 100644
--- a/dev-python/deprecation/deprecation-2.1.0-r1.ebuild
+++ b/dev-python/deprecation/deprecation-2.1.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="A library to handle automated deprecations"
diff --git a/dev-python/dict2xml/Manifest b/dev-python/dict2xml/Manifest
index d21c4a53a176..5339c8fbe34b 100644
--- a/dev-python/dict2xml/Manifest
+++ b/dev-python/dict2xml/Manifest
@@ -1 +1 @@
-DIST dict2xml-1.7.3.tar.gz 14240 BLAKE2B b28343f2cfeb59a91011bb158ffe7db008f19be1576293e6b07c3b49e07f3871761c8a3a32c214bf0608602487e2e7110c7f2a2f31a7dbf44a441f44ca7f568b SHA512 631415e425688c612c15b72fc339db33977df32eb25f7f8f03a63e5115c8e06f4aa5b247ded3e16cddbb9b16597aeb0ef218f193c5f4c44ebdcd7e39c2052ed2
+DIST dict2xml-1.7.5.tar.gz 14958 BLAKE2B 1907003e3a27a8e1c1a0e7ab1d5c72b310c46e7af7d51f6a1743ca018fb6a070b0b54b4b24afd8c78dd18f83f9f6950031c0076eae83ccc309a341a0df153708 SHA512 88a77fcdc2ec320ba1668b27da4aacfcfc817090aebabc01fce76bff51b316166a0cc1f053884e8012a28e7118449f901465703869245dc662f29cee9665157e
diff --git a/dev-python/dict2xml/dict2xml-1.7.3.ebuild b/dev-python/dict2xml/dict2xml-1.7.3.ebuild
deleted file mode 100644
index 43a833a01b68..000000000000
--- a/dev-python/dict2xml/dict2xml-1.7.3.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Small utility to convert a python dictionary into an XML string"
-HOMEPAGE="
- https://github.com/delfick/python-dict2xml/
- https://pypi.org/project/dict2xml/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-# dict2xml uses noseOfYeti for its test, which is not yet available.
-RESTRICT="test"
-
-distutils_enable_tests pytest
diff --git a/dev-python/dict2xml/dict2xml-1.7.5-r1.ebuild b/dev-python/dict2xml/dict2xml-1.7.5-r1.ebuild
new file mode 100644
index 000000000000..419d7ff938c8
--- /dev/null
+++ b/dev-python/dict2xml/dict2xml-1.7.5-r1.ebuild
@@ -0,0 +1,25 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Small utility to convert a python dictionary into an XML string"
+HOMEPAGE="
+ https://github.com/delfick/python-dict2xml/
+ https://pypi.org/project/dict2xml/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+BDEPEND="
+ dev-python/noseofyeti[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild b/dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild
index 679f3e140ee7..b5fa951b7b71 100644
--- a/dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild
+++ b/dev-python/dictdiffer/dictdiffer-0.9.0-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
@@ -15,8 +15,8 @@ HOMEPAGE="
"
LICENSE="MIT"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
diff --git a/dev-python/dictpath/Manifest b/dev-python/dictpath/Manifest
deleted file mode 100644
index 67f266fb4845..000000000000
--- a/dev-python/dictpath/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST dictpath-0.1.3.gh.tar.gz 10823 BLAKE2B 4b9ef37810f9267790dbea8d858fd768c2bed7f7c1987a83bb2bd2ac81cc2c61b334a473c73dfa300adba77522d4d5c985a4278828a85c04fe330e94570a5dcc SHA512 bc5929856401854588b570a8b22cae66d4ea190d344ce1417f7406ab8a9859a10310a454d9f3d380eae1061ed93346a43f4ee6c19b1afedf6b5d8a1ba1431ed5
diff --git a/dev-python/dictpath/dictpath-0.1.3.ebuild b/dev-python/dictpath/dictpath-0.1.3.ebuild
deleted file mode 100644
index fb30fa85da1e..000000000000
--- a/dev-python/dictpath/dictpath-0.1.3.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-# Upstream has renamed to pathable after v0.1.3
-DESCRIPTION="Object-oriented dictionary paths"
-HOMEPAGE="
- https://pypi.org/project/dictpath/
-"
-SRC_URI="
- https://github.com/p1c2u/pathable/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/pathable-${PV}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-BDEPEND="test? (
- dev-python/mock[${PYTHON_USEDEP}]
-)"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/--cov/d' setup.cfg || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/dictpath/metadata.xml b/dev-python/dictpath/metadata.xml
deleted file mode 100644
index 23a68e1b8dc2..000000000000
--- a/dev-python/dictpath/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- </maintainer>
- <upstream>
- <remote-id type="pypi">dictpath</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/diff-match-patch/diff-match-patch-20230430.ebuild b/dev-python/diff-match-patch/diff-match-patch-20230430.ebuild
index e5b7eaf2b46e..d985a1e8c196 100644
--- a/dev-python/diff-match-patch/diff-match-patch-20230430.ebuild
+++ b/dev-python/diff-match-patch/diff-match-patch-20230430.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_USE_PEP517=flit
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/dill/Manifest b/dev-python/dill/Manifest
index 6c63d3bcc35a..06f147fb34e4 100644
--- a/dev-python/dill/Manifest
+++ b/dev-python/dill/Manifest
@@ -1 +1 @@
-DIST dill-0.3.7.gh.tar.gz 176315 BLAKE2B 8c98c40458035e42c078c79df14e474c35a2a6ff4f61d3cfca8f4dfa5a7756512b7d5af6276becd88315c01d88c8562de02b6f9dff06d0161df3e6f6694c7cc8 SHA512 33ec55dc32c9ddf275ce6e502187949bbc7ecc6d24560e132a7bed23e93254b771d38e59c4b6313bbfc25313305c43c6cba2fe07763a93238e1ba66c4bbd8cd4
+DIST dill-0.3.8.tar.gz 184847 BLAKE2B 6a0eb76526d5bc4afa003f34454c3a93b2b53e2d5bd362749bfcc22c6fe294dff3af9d52e83b288e999d7074d82a2671b3d271b3b423030f4cfd57cd70acdc6f SHA512 478d83af69dc0639a08e011e46127d9485dc998df54622e7fbb9ce4b004640d1b23aad57717d791cc609cd9d7071ea7300bce4be982488e4d21c5986e67ce586
diff --git a/dev-python/dill/dill-0.3.7.ebuild b/dev-python/dill/dill-0.3.7.ebuild
deleted file mode 100644
index ba115b0acb30..000000000000
--- a/dev-python/dill/dill-0.3.7.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Serialize all of Python (almost)"
-HOMEPAGE="
- https://github.com/uqfoundation/dill/
- https://pypi.org/project/dill/
-"
-SRC_URI="
- https://github.com/uqfoundation/dill/archive/${P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${PN}-${P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-python_test() {
- "${EPYTHON}" -m dill.tests || die
-}
diff --git a/dev-python/dill/dill-0.3.8-r2.ebuild b/dev-python/dill/dill-0.3.8-r2.ebuild
new file mode 100644
index 000000000000..244770077966
--- /dev/null
+++ b/dev-python/dill/dill-0.3.8-r2.ebuild
@@ -0,0 +1,33 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Serialize all of Python (almost)"
+HOMEPAGE="
+ https://github.com/uqfoundation/dill/
+ https://pypi.org/project/dill/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # numpy support broken: https://github.com/uqfoundation/dill/issues/667
+ sed -i -e 's:import numpy:raise ImportError:' dill/__diff.py || die
+}
+
+python_test() {
+ # disables a test broken under Python 3.13
+ # https://github.com/uqfoundation/dill/issues/668
+ local -x COVERAGE=1
+ "${EPYTHON}" -m dill.tests || die
+}
diff --git a/dev-python/dirty-equals/dirty-equals-0.7.1.ebuild b/dev-python/dirty-equals/dirty-equals-0.7.1.ebuild
index 36c776c91dad..0d180b265c74 100644
--- a/dev-python/dirty-equals/dirty-equals-0.7.1.ebuild
+++ b/dev-python/dirty-equals/dirty-equals-0.7.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -42,6 +42,12 @@ python_test() {
tests/test_docs.py
)
+ if ! has_version "dev-python/pydantic[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/test_other.py
+ )
+ fi
+
local -x TZ=UTC
epytest "${args[@]}"
}
diff --git a/dev-python/discid/discid-1.2.0-r1.ebuild b/dev-python/discid/discid-1.2.0-r1.ebuild
index 540422f5c129..d47c56aa8e29 100644
--- a/dev-python/discid/discid-1.2.0-r1.ebuild
+++ b/dev-python/discid/discid-1.2.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/diskcache/diskcache-5.6.3.ebuild b/dev-python/diskcache/diskcache-5.6.3.ebuild
index 6b1e9708ca28..c52ea3da78ab 100644
--- a/dev-python/diskcache/diskcache-5.6.3.ebuild
+++ b/dev-python/diskcache/diskcache-5.6.3.ebuild
@@ -1,20 +1,20 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="sqlite"
inherit distutils-r1
+DESCRIPTION="Disk and file backed cache"
HOMEPAGE="
https://grantjenks.com/docs/diskcache/
https://github.com/grantjenks/python-diskcache/
https://pypi.org/project/diskcache/
"
-DESCRIPTION="Disk and file backed cache"
SRC_URI="
https://github.com/grantjenks/python-diskcache/archive/v${PV}.tar.gz
-> ${P}.gh.tar.gz
diff --git a/dev-python/dissononce/dissononce-0.34.3-r3.ebuild b/dev-python/dissononce/dissononce-0.34.3-r3.ebuild
index 412772eeebcc..cfe8c24a6af6 100644
--- a/dev-python/dissononce/dissononce-0.34.3-r3.ebuild
+++ b/dev-python/dissononce/dissononce-0.34.3-r3.ebuild
@@ -1,16 +1,22 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
DESCRIPTION="A python implementation for Noise Protocol Framework"
-HOMEPAGE="https://github.com/tgalal/dissononce"
-SRC_URI="https://github.com/tgalal/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+HOMEPAGE="
+ https://github.com/tgalal/dissononce/
+ https://pypi.org/project/dissononce/
+"
+SRC_URI="
+ https://github.com/tgalal/dissononce/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="MIT"
SLOT="0"
@@ -21,10 +27,13 @@ RDEPEND="
dev-python/cryptography[${PYTHON_USEDEP}]
dev-python/transitions[${PYTHON_USEDEP}]
"
+BDEPEND="
+ ${RDEPEND}
+"
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${FILESDIR}/${P}-fix-test-requirements.patch" )
+PATCHES=(
+ "${FILESDIR}/${P}-fix-test-requirements.patch"
+)
distutils_enable_tests pytest
diff --git a/dev-python/distlib/Manifest b/dev-python/distlib/Manifest
index 935acdf8925a..ce4b0127b663 100644
--- a/dev-python/distlib/Manifest
+++ b/dev-python/distlib/Manifest
@@ -1 +1 @@
-DIST distlib-0.3.7.gh.tar.gz 1240451 BLAKE2B 2050133ae1f57a2b37013e0e49a22903a816377d111e6a35c57084e2dd7877b41e9625e3cccbc9e67c35239814b835b064f94eec8bcd41dedd7d329f9d5be2ec SHA512 33806fd953c4b185eaa69c7d0f0cdad9ea71be73d26f0585cefd4a332edbcc3c6287b3bce024858d5d15626311f2567474b19b6366f80b2336d9b39691c6fe31
+DIST distlib-0.3.8.gh.tar.gz 1240659 BLAKE2B 5d14440bd6886a37e80323ea35370f306135f5b15544180b072ed42c6e7b00799dc4b5fe207adb31eee7234d4f291420bd289b5430bbf38ff0468b29af2ca621 SHA512 98dc6459f54783598aad8ee3b8d80c0092a5d08d4272ad212faeef5e30cf9029b718231681f39d26e48588bb676bae7919f1431ddb51eb3917725f99a5c90457
diff --git a/dev-python/distlib/distlib-0.3.7.ebuild b/dev-python/distlib/distlib-0.3.7.ebuild
deleted file mode 100644
index 55efadc48c14..000000000000
--- a/dev-python/distlib/distlib-0.3.7.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Low-level components of distutils2/packaging"
-HOMEPAGE="
- https://pypi.org/project/distlib/
- https://github.com/pypa/distlib
-"
-SRC_URI="
- https://github.com/pypa/distlib/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
-"
-
-LICENSE="PSF-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-# pypiserver is called as external executable
-BDEPEND="
- test? (
- dev-python/pypiserver
- )
-"
-
-src_prepare() {
- local PATCHES=(
- # use system pypiserver instead of bundled one
- "${FILESDIR}"/distlib-0.3.2-system-pypiserver.py
- # fix pypy3
- # https://github.com/pypa/distlib/issues/204
- "${FILESDIR}"/${P}-pypy3.patch
- )
-
- # make sure they're not used
- rm tests/pypi-server-standalone.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x SKIP_ONLINE=1
- local -x PYTHONHASHSEED=0
-
- # disable system-site-packages -- distlib has no deps, and is very
- # fragile to packages actually installed on the system
- sed -i -e '/system-site-packages/s:true:false:' \
- "${BUILD_DIR}/install${EPREFIX}/usr/bin/pyvenv.cfg" || die
-
- "${EPYTHON}" tests/test_all.py -v -x ||
- die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/distlib/distlib-0.3.8.ebuild b/dev-python/distlib/distlib-0.3.8.ebuild
new file mode 100644
index 000000000000..7951433808d3
--- /dev/null
+++ b/dev-python/distlib/distlib-0.3.8.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Low-level components of distutils2/packaging"
+HOMEPAGE="
+ https://pypi.org/project/distlib/
+ https://github.com/pypa/distlib
+"
+SRC_URI="
+ https://github.com/pypa/distlib/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# pypiserver is called as external executable
+BDEPEND="
+ test? (
+ dev-python/pypiserver
+ )
+"
+
+src_prepare() {
+ local PATCHES=(
+ # use system pypiserver instead of bundled one
+ "${FILESDIR}"/distlib-0.3.2-system-pypiserver.py
+ # https://github.com/pypa/distlib/commit/1c08845b05d022692252ed45cb07e9cb9647caac
+ "${FILESDIR}"/${P}-py313.patch
+ )
+
+ # make sure it's not used
+ rm tests/pypi-server-standalone.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x SKIP_ONLINE=1
+ local -x PYTHONHASHSEED=0
+
+ # disable system-site-packages -- distlib has no deps, and is very
+ # fragile to packages actually installed on the system
+ sed -i -e '/system-site-packages/s:true:false:' \
+ "${BUILD_DIR}/install${EPREFIX}/usr/bin/pyvenv.cfg" || die
+
+ "${EPYTHON}" tests/test_all.py -v -x ||
+ die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/distlib/files/distlib-0.3.7-pypy3.patch b/dev-python/distlib/files/distlib-0.3.7-pypy3.patch
deleted file mode 100644
index eeb1a924069e..000000000000
--- a/dev-python/distlib/files/distlib-0.3.7-pypy3.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/tests/test_scripts.py b/tests/test_scripts.py
-index 9ec1d43..2fc18ae 100644
---- a/tests/test_scripts.py
-+++ b/tests/test_scripts.py
-@@ -112,7 +112,7 @@ class ScriptTestCase(DistlibTestCase):
- bindir = os.path.join(dstdir, 'bin')
- maker = ScriptMaker(self.maker.source_dir, bindir,
- add_launchers=False)
-- venv.create(dstdir)
-+ venv.create(dstdir, symlinks=True)
- maker.executable = os.path.join(bindir, 'python')
- filenames = maker.make('script8.py')
- p = subprocess.Popen(filenames[0], shell=True,
diff --git a/dev-python/distlib/files/distlib-0.3.8-py313.patch b/dev-python/distlib/files/distlib-0.3.8-py313.patch
new file mode 100644
index 000000000000..d47be4f566bd
--- /dev/null
+++ b/dev-python/distlib/files/distlib-0.3.8-py313.patch
@@ -0,0 +1,22 @@
+From 1c08845b05d022692252ed45cb07e9cb9647caac Mon Sep 17 00:00:00 2001
+From: Vinay Sajip <vinay_sajip@yahoo.co.uk>
+Date: Wed, 14 Feb 2024 14:46:14 +0000
+Subject: [PATCH] Fix #214: Update representation of interpreter in test.
+
+---
+ tests/test_scripts.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test_scripts.py b/tests/test_scripts.py
+index 5c38687..74ee647 100644
+--- a/tests/test_scripts.py
++++ b/tests/test_scripts.py
+@@ -340,7 +340,7 @@ def test_script_run(self):
+ self.assertIn(b'<H3>Current Working Directory:</H3>', stdout)
+ self.assertIn(os.getcwd().encode('utf-8'), stdout)
+ else:
+- self.assertIn(b'[Interpreter(id=0, isolated=None)]', stderr)
++ self.assertIn(b'[Interpreter(0)]', stderr)
+ self.assertEqual(p.returncode, 1)
+
+ @unittest.skipUnless(os.name == 'posix', 'Test only valid for POSIX')
diff --git a/dev-python/distro/Manifest b/dev-python/distro/Manifest
index 1099d615e926..25a2e788f5ea 100644
--- a/dev-python/distro/Manifest
+++ b/dev-python/distro/Manifest
@@ -1 +1 @@
-DIST distro-1.8.0.tar.gz 59428 BLAKE2B d1b47dd801c4414a6bb21c544c62c306a1cf49b43f70974f7a0b4bcba64620047c7d06b6507ba262eba44d2f192f654646bb69241ed5bf6b761dc9d42e049e18 SHA512 027fe8bc50e263dc49451932774f32cea7900820b6e30cc80afcdc84374777ba733137fdd8d27fec76f66ce9c579bc172721e7ae0f43e72dffbc092126b26af2
+DIST distro-1.9.0.tar.gz 60722 BLAKE2B 1713bbc10b74122e47e9d491a7559a871c81941f35fde74714872723d3fa3435fb15bb29197eb6b6f09e5192fb7e3162e63d5b628ab813befeca3872c49dc53d SHA512 dc66cb7e968e7a651c7a84681e2a0539d196073f71cf0ae1e49c5a6cd6deec345523259a8810ffdc7b6e9763a536eb388a2886ba2bbd1cb62165b57fbefb82ae
diff --git a/dev-python/distro/distro-1.8.0.ebuild b/dev-python/distro/distro-1.8.0.ebuild
deleted file mode 100644
index d61ebc17c47f..000000000000
--- a/dev-python/distro/distro-1.8.0.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Reliable machine-readable Linux distribution information for Python"
-HOMEPAGE="
- https://distro.readthedocs.io/en/latest/
- https://github.com/python-distro/distro/
- https://pypi.org/project/distro/
-"
-
-SLOT="0"
-LICENSE="Apache-2.0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-distutils_enable_tests pytest
diff --git a/dev-python/distro/distro-1.9.0.ebuild b/dev-python/distro/distro-1.9.0.ebuild
new file mode 100644
index 000000000000..cd4e86eeb9a7
--- /dev/null
+++ b/dev-python/distro/distro-1.9.0.ebuild
@@ -0,0 +1,22 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Reliable machine-readable Linux distribution information for Python"
+HOMEPAGE="
+ https://distro.readthedocs.io/en/latest/
+ https://github.com/python-distro/distro/
+ https://pypi.org/project/distro/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+distutils_enable_tests pytest
diff --git a/dev-python/dj-database-url/Manifest b/dev-python/dj-database-url/Manifest
index 79828d87eab0..e7ecb5f66314 100644
--- a/dev-python/dj-database-url/Manifest
+++ b/dev-python/dj-database-url/Manifest
@@ -1 +1 @@
-DIST dj-database-url-2.1.0.tar.gz 10502 BLAKE2B cc8a9bc396c3df363c7c8c2d0da603493e65fb927d9aecfe9670ccc687b55320ac5c0827e728049ef9030f3b1e20c53b4aaeb7173ae822ded2347c446518e5d5 SHA512 17e35b6abba45d31d58bd2f5def59f45395f0fa489f93c9c71b8405b1fcd6b7da2192649d091a6a63506e755a683b2786af377a135f675cf1145fcd8508356ff
+DIST dj_database_url-2.2.0.tar.gz 10874 BLAKE2B 71bf484ba339edf9dc304085d433ae29b1efae6fe856152173989411cfffdb52297f7613b6f9337972cc8563494be4a94919055a0b7a84a0b066d64d5fe60d59 SHA512 17c26dc07e309ba448976fafdbd3bdc74cc2f5f7022fb1f041494f2555b8a77b9fc602c1f11602da5b8574487ca997e7b71d7859dd08875b2295ae08262c39bc
diff --git a/dev-python/dj-database-url/dj-database-url-2.1.0.ebuild b/dev-python/dj-database-url/dj-database-url-2.1.0.ebuild
deleted file mode 100644
index 3fead0257145..000000000000
--- a/dev-python/dj-database-url/dj-database-url-2.1.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Use Database URLs in your Django Application"
-HOMEPAGE="
- https://github.com/jazzband/dj-database-url/
- https://pypi.org/project/dj-database-url/
-"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/django[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-3.10.0.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
-
-python_test() {
- eunittest -s tests
-}
diff --git a/dev-python/dj-database-url/dj-database-url-2.2.0.ebuild b/dev-python/dj-database-url/dj-database-url-2.2.0.ebuild
new file mode 100644
index 000000000000..da1cd37dcbe8
--- /dev/null
+++ b/dev-python/dj-database-url/dj-database-url-2.2.0.ebuild
@@ -0,0 +1,30 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Use Database URLs in your Django Application"
+HOMEPAGE="
+ https://github.com/jazzband/dj-database-url/
+ https://pypi.org/project/dj-database-url/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/django[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-3.10.0.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest -s tests
+}
diff --git a/dev-python/dj-email-url/dj-email-url-1.0.6.ebuild b/dev-python/dj-email-url/dj-email-url-1.0.6.ebuild
index 6656522fe328..b6c11305a595 100644
--- a/dev-python/dj-email-url/dj-email-url-1.0.6.ebuild
+++ b/dev-python/dj-email-url/dj-email-url-1.0.6.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
DOCS=( CHANGELOG.rst README.rst )
diff --git a/dev-python/dj-search-url/dj-search-url-0.1-r1.ebuild b/dev-python/dj-search-url/dj-search-url-0.1-r1.ebuild
index 610ec08a4be7..2889667c9787 100644
--- a/dev-python/dj-search-url/dj-search-url-0.1-r1.ebuild
+++ b/dev-python/dj-search-url/dj-search-url-0.1-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -17,4 +17,4 @@ HOMEPAGE="
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
diff --git a/dev-python/django-auth-ldap/Manifest b/dev-python/django-auth-ldap/Manifest
index 6683c113bd8c..56120b690c6b 100644
--- a/dev-python/django-auth-ldap/Manifest
+++ b/dev-python/django-auth-ldap/Manifest
@@ -1,3 +1,3 @@
-DIST django-auth-ldap-4.4.0.tar.gz 53117 BLAKE2B 46ae8f9788c3ed12d8b3576b4335390d3bc902a3627dd5af9028c2bd49dc64eef2f31995bcf51a6d20c55400bbd3dd5f4882ecc01e8d92564a6664db743809ca SHA512 d01f40f64e0d6cd47a0efaaf3b5e6a30a399b0a3b9a6b4c6f683a8237b84076294821970bbb265f66e06b0fbec58417287188e5f09631b21f204137d003ecfd7
-DIST django-auth-ldap-4.5.0.tar.gz 53642 BLAKE2B c603cda6ed2f7532d0ef5f69a64f7c3b4bd86981e561c14be7d818f044382b54ffb926687416a170ce068ec435d660da9965761db97cff28dc4d6f95511c59c5 SHA512 1606bee77a03a669eb4ccd906db26c80166f370e04749a5f340e4a07574032130d9f6af22d25d09c96319e45f6137c26928ad543ea592d3a172aea623e97550b
DIST django-auth-ldap-4.6.0.tar.gz 53845 BLAKE2B 279f7762b858330ab4b63ebb18a8609569ea4d3c7ff1af5ce89d64d8f207445e645d33c9415c4ad289adad0ea2da9674f1ad0d316f63ef42cd6b46c3ac3d7aed SHA512 fc3945fb9cece694b63661c8565d877bdc81e012e9b4e9a8f1840bd83f6effb525e36f40e5dd5018b43d2c7c72fcdd25a5c61bf35e6f0d05e70e830f69228498
+DIST django-auth-ldap-4.7.0.tar.gz 53849 BLAKE2B 1c67ba30a0de7e6836fa4e1c0b057001b9b933e252880ae5da44f1ee026f813c0e9115186de3d07071e9e4d76e509b12ca7cdad7968a0ff6ae6f65e6202eb073 SHA512 c31e7e026bb13cba841015db2c7e8fb0d47e3fea968b6257802d03600a23b187e758f5b1891b60fda93a9a39e3c9d1c5b26a03678ed3a4d72c30cb42a2399bf2
+DIST django-auth-ldap-4.8.0.tar.gz 53906 BLAKE2B 76542bfb59c998a681f5e4a4ec0fcae406a672e2fea6b20ef6f59a91987626bec0186d853b789ce0006ace8d0fdbb3b8b2e5855eb84d6d6c93c7040056e4a397 SHA512 4ca16bd5d11680127d2cecfeb7d1d48175e1b9b02e13f84d6845b76a4f52be3ef6c72d5b4bef4418b4f48b441830d3b593fef6cc08a8cd4221c78cfd8464ac8a
diff --git a/dev-python/django-auth-ldap/django-auth-ldap-4.4.0.ebuild b/dev-python/django-auth-ldap/django-auth-ldap-4.4.0.ebuild
deleted file mode 100644
index 9e1094ca449c..000000000000
--- a/dev-python/django-auth-ldap/django-auth-ldap-4.4.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Django LDAP authentication backend"
-HOMEPAGE="
- https://github.com/django-auth-ldap/django-auth-ldap/
- https://pypi.org/project/django-auth-ldap/
-"
-
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-LICENSE="BSD-2"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/django-2.2[${PYTHON_USEDEP}]
- >=dev-python/python-ldap-3.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- $(python_gen_impl_dep sqlite)
- net-nds/openldap[-minimal]
- )
-"
-
-distutils_enable_sphinx docs --no-autodoc
-
-python_test() {
- # for slapd and slapdtest
- local -x SBIN=/usr/sbin:/usr/$(get_libdir)/openldap
- "${EPYTHON}" -m django test -v 2 --settings tests.settings ||
- die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/django-auth-ldap/django-auth-ldap-4.5.0.ebuild b/dev-python/django-auth-ldap/django-auth-ldap-4.5.0.ebuild
deleted file mode 100644
index 9e1094ca449c..000000000000
--- a/dev-python/django-auth-ldap/django-auth-ldap-4.5.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Django LDAP authentication backend"
-HOMEPAGE="
- https://github.com/django-auth-ldap/django-auth-ldap/
- https://pypi.org/project/django-auth-ldap/
-"
-
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-LICENSE="BSD-2"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/django-2.2[${PYTHON_USEDEP}]
- >=dev-python/python-ldap-3.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- $(python_gen_impl_dep sqlite)
- net-nds/openldap[-minimal]
- )
-"
-
-distutils_enable_sphinx docs --no-autodoc
-
-python_test() {
- # for slapd and slapdtest
- local -x SBIN=/usr/sbin:/usr/$(get_libdir)/openldap
- "${EPYTHON}" -m django test -v 2 --settings tests.settings ||
- die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/django-auth-ldap/django-auth-ldap-4.6.0.ebuild b/dev-python/django-auth-ldap/django-auth-ldap-4.6.0.ebuild
index 9e1094ca449c..75c0a161d526 100644
--- a/dev-python/django-auth-ldap/django-auth-ldap-4.6.0.ebuild
+++ b/dev-python/django-auth-ldap/django-auth-ldap-4.6.0.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 pypi
@@ -15,13 +15,12 @@ HOMEPAGE="
https://pypi.org/project/django-auth-ldap/
"
+LICENSE="BSD-2"
+SLOT="0"
KEYWORDS="~amd64 ~x86"
IUSE="test"
RESTRICT="!test? ( test )"
-LICENSE="BSD-2"
-SLOT="0"
-
RDEPEND="
>=dev-python/django-2.2[${PYTHON_USEDEP}]
>=dev-python/python-ldap-3.1[${PYTHON_USEDEP}]
diff --git a/dev-python/django-auth-ldap/django-auth-ldap-4.7.0.ebuild b/dev-python/django-auth-ldap/django-auth-ldap-4.7.0.ebuild
new file mode 100644
index 000000000000..75c0a161d526
--- /dev/null
+++ b/dev-python/django-auth-ldap/django-auth-ldap-4.7.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Django LDAP authentication backend"
+HOMEPAGE="
+ https://github.com/django-auth-ldap/django-auth-ldap/
+ https://pypi.org/project/django-auth-ldap/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-2.2[${PYTHON_USEDEP}]
+ >=dev-python/python-ldap-3.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ net-nds/openldap[-minimal]
+ )
+"
+
+distutils_enable_sphinx docs --no-autodoc
+
+python_test() {
+ # for slapd and slapdtest
+ local -x SBIN=/usr/sbin:/usr/$(get_libdir)/openldap
+ "${EPYTHON}" -m django test -v 2 --settings tests.settings ||
+ die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/django-auth-ldap/django-auth-ldap-4.8.0.ebuild b/dev-python/django-auth-ldap/django-auth-ldap-4.8.0.ebuild
new file mode 100644
index 000000000000..75c0a161d526
--- /dev/null
+++ b/dev-python/django-auth-ldap/django-auth-ldap-4.8.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Django LDAP authentication backend"
+HOMEPAGE="
+ https://github.com/django-auth-ldap/django-auth-ldap/
+ https://pypi.org/project/django-auth-ldap/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-2.2[${PYTHON_USEDEP}]
+ >=dev-python/python-ldap-3.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ net-nds/openldap[-minimal]
+ )
+"
+
+distutils_enable_sphinx docs --no-autodoc
+
+python_test() {
+ # for slapd and slapdtest
+ local -x SBIN=/usr/sbin:/usr/$(get_libdir)/openldap
+ "${EPYTHON}" -m django test -v 2 --settings tests.settings ||
+ die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/django-cache-url/Manifest b/dev-python/django-cache-url/Manifest
index 7f733396b651..60a36d077406 100644
--- a/dev-python/django-cache-url/Manifest
+++ b/dev-python/django-cache-url/Manifest
@@ -1 +1 @@
-DIST django-cache-url-3.4.4.gh.tar.gz 8671 BLAKE2B 5245e87b786470e45ca1e30a39337904577889b15d644fbef94f55e861de7d2bb8b6725b6e62c58424511fb3f81093a6d3107cc1a8f8dc575e5463d6ab2e6c13 SHA512 745fddec8546c4ad4b70d7a039e0954f1c99cb91766a10185b29804cd69560a3dd64f90a85bb1a9ae029d34038944b288b4c497ad15492791121ea9c61fd6ae5
+DIST django-cache-url-3.4.5.gh.tar.gz 8761 BLAKE2B 44cfa956f33848dd7947a97b390ba792d44eb1fd42b4c33ae57e3575405c40d93be4716c9b990e20a482b4398ed69ff838993e30ae0bdecb5a33c3fd7685a6e6 SHA512 532f47f6c8d8150d3ec484e533b165430ee6fd9854ed1b0404b68f8acaf388bfa2fb9beba8349d56e1e9d00dd65065425fdbeeed5eb698d9a745f8293f8d93ee
diff --git a/dev-python/django-cache-url/django-cache-url-3.4.4.ebuild b/dev-python/django-cache-url/django-cache-url-3.4.4.ebuild
deleted file mode 100644
index e359f123a75f..000000000000
--- a/dev-python/django-cache-url/django-cache-url-3.4.4.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Use Cache URLs in your Django application"
-HOMEPAGE="
- https://github.com/epicserve/django-cache-url/
- https://pypi.org/project/django-cache-url/
-"
-SRC_URI="
- https://github.com/epicserve/django-cache-url/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- dev-python/django[${PYTHON_USEDEP}]
-"
-
-DOCS=( AUTHORS.rst CHANGELOG.rst README.rst )
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -e '/--cov/d' -i setup.cfg || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/django-cache-url/django-cache-url-3.4.5.ebuild b/dev-python/django-cache-url/django-cache-url-3.4.5.ebuild
new file mode 100644
index 000000000000..15e3196f57ed
--- /dev/null
+++ b/dev-python/django-cache-url/django-cache-url-3.4.5.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2021-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Use Cache URLs in your Django application"
+HOMEPAGE="
+ https://github.com/epicserve/django-cache-url/
+ https://pypi.org/project/django-cache-url/
+"
+SRC_URI="
+ https://github.com/epicserve/django-cache-url/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ dev-python/django[${PYTHON_USEDEP}]
+"
+
+DOCS=( AUTHORS.rst CHANGELOG.rst README.rst )
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -e '/--cov/d' -i setup.cfg || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/django-cacheops/Manifest b/dev-python/django-cacheops/Manifest
index 1395befd31e1..8f102264aaaf 100644
--- a/dev-python/django-cacheops/Manifest
+++ b/dev-python/django-cacheops/Manifest
@@ -1,2 +1 @@
-DIST django-cacheops-7.0.1.tar.gz 70830 BLAKE2B a90c5b145475f9942de5fee4403c5d237a6754026a0e581d1cab56a1b538cbb041fa50fcc67b0a7c922274c49b510d833e2924d8744e62e5a71149d6ddd6144d SHA512 a73b24acd668d9104b8b8f27859d643ea9b80bf53375389cb21b2bbd3d97ea508f826752df2fa5ed576e91a35ba5c6cfb0e8dded772b2c47babf739e6b26dd38
DIST django-cacheops-7.0.2.tar.gz 71747 BLAKE2B ceb5a536b1ee25c2b25beb9bac4b193325d74b58f7abc6f8edf62a9327eeb25fe8fd68292d5887aa02655f14290e7430d18747ccd487a4f44cdad7fa991f458c SHA512 cd6ea11c54d0c49c52a912033b0ef5d1940c9f061b5a248b4238bf22efa17aefdc48c10a3724613401e9972226e0ad20cbd607b4b63812efc5ae78c35968b767
diff --git a/dev-python/django-cacheops/django-cacheops-7.0.1.ebuild b/dev-python/django-cacheops/django-cacheops-7.0.1.ebuild
deleted file mode 100644
index 32d703bbe33f..000000000000
--- a/dev-python/django-cacheops/django-cacheops-7.0.1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="ORM cache with automatic granular event-driven invalidation for Django"
-HOMEPAGE="
- https://github.com/Suor/django-cacheops/
- https://pypi.org/project/django-cacheops/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/django-3.2[${PYTHON_USEDEP}]
- >=dev-python/redis-2.9.1[${PYTHON_USEDEP}]
- >=dev-python/funcy-1.8[${PYTHON_USEDEP}]
- >=dev-python/six-1.4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-db/redis
- dev-python/dill[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-src_prepare() {
- # Remove test dependent on unpackaged before_after
- sed -e 's/test_lock/_&/' -i tests/test_extras.py || die
- # Remove upper bounds on dependencies
- sed -i -e 's:,<[0-9]*::' setup.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x DJANGO_SETTINGS_MODULE=tests.settings
- local -x PYTHONPATH=.
- django-admin test -v 2 || die
-}
-
-src_test() {
- local redis_pid="${T}"/redis.pid
- local redis_port=6379
-
- einfo "Spawning Redis"
- einfo "NOTE: Port ${redis_port} must be free"
- "${EPREFIX}"/usr/sbin/redis-server - <<-EOF || die
- daemonize yes
- pidfile ${redis_pid}
- port ${redis_port}
- bind 127.0.0.1
- EOF
-
- # Run the tests
- distutils-r1_src_test
-
- # Clean up afterwards
- kill "$(<"${redis_pid}")" || die
-}
diff --git a/dev-python/django-cacheops/django-cacheops-7.0.2.ebuild b/dev-python/django-cacheops/django-cacheops-7.0.2.ebuild
index 06d5a9db3a7c..18874405b4db 100644
--- a/dev-python/django-cacheops/django-cacheops-7.0.2.ebuild
+++ b/dev-python/django-cacheops/django-cacheops-7.0.2.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/django-configurations/Manifest b/dev-python/django-configurations/Manifest
index 02144a2b9e5d..18ca1796f913 100644
--- a/dev-python/django-configurations/Manifest
+++ b/dev-python/django-configurations/Manifest
@@ -1 +1 @@
-DIST django-configurations-2.5.tar.gz 43152 BLAKE2B 35976466132f9b78a031955c891733cb0a01f20d39d53708ed5100492b3a1963e50228f3175437f54201fb6d992312c641e08562a85cf57cb089f2c7678101e7 SHA512 a6e3f301bf6123234245a5fe88f4b0eecfc021230c593d2864a969560d52c70b6932c0fac64cd83f21fb06b83821d37320181f0601450d6f3cd4e4b06c4ae9f5
+DIST django-configurations-2.5.1.tar.gz 43225 BLAKE2B 1b9cd14ea50d03500cc05790e831832f6e4e3a917903eb48aa40c2d2dd46a59684ce82b484229fd912a18bcdef4d1887989489b4ab461740f981a87c3a7914f5 SHA512 5584446a1b48a0c080401b377786864a905a28337e2912c71ba586ad438df6efeb74c2de1058b77d79f3ba7db85dd443f05dc81013576d301a43bad6736e72e2
diff --git a/dev-python/django-configurations/django-configurations-2.5.1.ebuild b/dev-python/django-configurations/django-configurations-2.5.1.ebuild
new file mode 100644
index 000000000000..f68cf68518bb
--- /dev/null
+++ b/dev-python/django-configurations/django-configurations-2.5.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2021-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=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A helper for organizing Django settings"
+HOMEPAGE="
+ https://pypi.org/project/django-configurations/
+ https://github.com/jazzband/django-configurations/
+ https://django-configurations.readthedocs.io/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-3.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/django-cache-url[${PYTHON_USEDEP}]
+ dev-python/dj-database-url[${PYTHON_USEDEP}]
+ dev-python/dj-email-url[${PYTHON_USEDEP}]
+ dev-python/dj-search-url[${PYTHON_USEDEP}]
+ )
+"
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+PATCHES=(
+ # Update for dj-database-url == 2.2.0
+ # https://github.com/jazzband/django-configurations/issues/387
+ "${FILESDIR}/${P}-test.patch"
+)
+
+python_test() {
+ local -x DJANGO_SETTINGS_MODULE=tests.settings.main
+ local -x DJANGO_CONFIGURATION=Test
+ PYTHONPATH=. django-cadmin test -v2 || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/django-configurations/django-configurations-2.5.ebuild b/dev-python/django-configurations/django-configurations-2.5.ebuild
deleted file mode 100644
index 051a95a4e16f..000000000000
--- a/dev-python/django-configurations/django-configurations-2.5.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A helper for organizing Django settings"
-HOMEPAGE="
- https://pypi.org/project/django-configurations/
- https://github.com/jazzband/django-configurations/
- https://django-configurations.readthedocs.io/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/django-3.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/django-cache-url[${PYTHON_USEDEP}]
- dev-python/dj-database-url[${PYTHON_USEDEP}]
- dev-python/dj-email-url[${PYTHON_USEDEP}]
- dev-python/dj-search-url[${PYTHON_USEDEP}]
- )
-"
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
- local -x DJANGO_SETTINGS_MODULE=tests.settings.main
- local -x DJANGO_CONFIGURATION=Test
- PYTHONPATH=. django-cadmin test -v2 || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/django-configurations/files/django-configurations-2.5.1-test.patch b/dev-python/django-configurations/files/django-configurations-2.5.1-test.patch
new file mode 100644
index 000000000000..c32586f7c3e8
--- /dev/null
+++ b/dev-python/django-configurations/files/django-configurations-2.5.1-test.patch
@@ -0,0 +1,12 @@
+diff --git a/tests/test_values.py b/tests/test_values.py
+index 55478e6..0b37907 100644
+--- a/tests/test_values.py
++++ b/tests/test_values.py
+@@ -377,6 +377,7 @@ class ValueTests(TestCase):
+ 'default': {
+ 'CONN_HEALTH_CHECKS': False,
+ 'CONN_MAX_AGE': 0,
++ 'DISABLE_SERVER_SIDE_CURSORS': False,
+ 'ENGINE': 'django.db.backends.sqlite3',
+ 'HOST': '',
+ 'NAME': ':memory:',
diff --git a/dev-python/django-cors-headers/Manifest b/dev-python/django-cors-headers/Manifest
index 72c6c3776c75..febb9963e194 100644
--- a/dev-python/django-cors-headers/Manifest
+++ b/dev-python/django-cors-headers/Manifest
@@ -1,3 +1 @@
-DIST django-cors-headers-4.2.0.gh.tar.gz 30543 BLAKE2B d17ec23b4579a84c67ec4edb369dda24db9bc64e2b399436e60f610b64b7de4b2a3583d9aa9e2693ebfd89f9d28c25def116b36f76bd4e2c3362ae36b50bb7ac SHA512 e3b0c73a738f487bc360834395b1bd6348c9d0a05fb743464ff0e5915f3d2263dbcabeaa893aa3d4be246504623964fb9378a780b83aa2487a92b2ada4a11c04
-DIST django-cors-headers-4.3.0.gh.tar.gz 30571 BLAKE2B 9d1b07b26badc6357b526440fcbfe56be291d572ba3df4236a0963b6e05eabcb18d7719420c625d2d388fc630c27db3dc5eb3324e735a1600748ce7cf936d394 SHA512 5bc29154276833a0432863c5f96289595003fc47735aa2af4fa4154e239acb15366fa98cdcc9276ec9089c0d4d878466706bd2d65d5b55fb302ab4b4a93be683
-DIST django-cors-headers-4.3.1.gh.tar.gz 30478 BLAKE2B b07b08df239350fa1f2036130e434c1e543122c5a8867887819e5632a40e28c8ea3b18db87ad447b54c6b6ad87904504edf2bcb7de8bf619247d6ab9f703102d SHA512 cfabc3631774337fcb634e36e43af23dfd3e3c0316ff6e367b07a05d7f96dff77e3c0d0a5539f916e9169132b44944bbb79ba92705e36f54284cc1c9eb3c30d8
+DIST django-cors-headers-4.4.0.gh.tar.gz 31028 BLAKE2B 065ac5a96c3871e8dc0eff48ef54efeb57d60a2a1588b69345f116600fe31ce7b0532ff38ca554eb5a6cff338f10e557c8876486a10db158c24a6097c44d7288 SHA512 7a380512a62420d4b6b47d43fd5d5ced1579db61fc538b4b22665e14a71298a1b1f9ebe93f808245b756d18c494177ef9ecaa01ae8d86f90a2bbf9db9b1997d7
diff --git a/dev-python/django-cors-headers/django-cors-headers-4.2.0.ebuild b/dev-python/django-cors-headers/django-cors-headers-4.2.0.ebuild
deleted file mode 100644
index 5f8387f132e2..000000000000
--- a/dev-python/django-cors-headers/django-cors-headers-4.2.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Django App that adds CORS (Cross-Origin Resource Sharing) headers to responses"
-HOMEPAGE="
- https://github.com/adamchainz/django-cors-headers/
- https://pypi.org/project/django-cors-headers/
-"
-SRC_URI="
- https://github.com/adamchainz/django-cors-headers/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/django-3.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-django[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/django-cors-headers/django-cors-headers-4.3.0.ebuild b/dev-python/django-cors-headers/django-cors-headers-4.3.0.ebuild
deleted file mode 100644
index 5f8387f132e2..000000000000
--- a/dev-python/django-cors-headers/django-cors-headers-4.3.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Django App that adds CORS (Cross-Origin Resource Sharing) headers to responses"
-HOMEPAGE="
- https://github.com/adamchainz/django-cors-headers/
- https://pypi.org/project/django-cors-headers/
-"
-SRC_URI="
- https://github.com/adamchainz/django-cors-headers/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/django-3.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-django[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/django-cors-headers/django-cors-headers-4.3.1.ebuild b/dev-python/django-cors-headers/django-cors-headers-4.3.1.ebuild
deleted file mode 100644
index c7f8d2fb4df3..000000000000
--- a/dev-python/django-cors-headers/django-cors-headers-4.3.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Django App that adds CORS (Cross-Origin Resource Sharing) headers to responses"
-HOMEPAGE="
- https://github.com/adamchainz/django-cors-headers/
- https://pypi.org/project/django-cors-headers/
-"
-SRC_URI="
- https://github.com/adamchainz/django-cors-headers/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/asgiref-3.6[${PYTHON_USEDEP}]
- >=dev-python/django-3.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-django[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/django-cors-headers/django-cors-headers-4.4.0.ebuild b/dev-python/django-cors-headers/django-cors-headers-4.4.0.ebuild
new file mode 100644
index 000000000000..cd44aca52d1b
--- /dev/null
+++ b/dev-python/django-cors-headers/django-cors-headers-4.4.0.ebuild
@@ -0,0 +1,35 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Django App that adds CORS (Cross-Origin Resource Sharing) headers to responses"
+HOMEPAGE="
+ https://github.com/adamchainz/django-cors-headers/
+ https://pypi.org/project/django-cors-headers/
+"
+SRC_URI="
+ https://github.com/adamchainz/django-cors-headers/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/asgiref-3.6[${PYTHON_USEDEP}]
+ >=dev-python/django-3.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/django-crispy-forms/Manifest b/dev-python/django-crispy-forms/Manifest
index 811c44aa2529..c2ed000905bf 100644
--- a/dev-python/django-crispy-forms/Manifest
+++ b/dev-python/django-crispy-forms/Manifest
@@ -1,2 +1,2 @@
-DIST django-crispy-forms-2.0.gh.tar.gz 273743 BLAKE2B 4169c4f77ddd0dd9f8786abd71ad762f645283555f250861f32b874fb9e189d4ca174285ee39b51bc5f0c0e8c2e83c2e00c34398c51ede65438a1c6b8a17c3ee SHA512 8b6f5b35cb90837b7cd6a64ed74afe6a19a80f287f66d0a139811990524e1a48d4d7c01e61fb7d303958522c47458d0aa0008a3d6c147f7d03dc790e53a80592
-DIST django-crispy-forms-2.1.gh.tar.gz 274397 BLAKE2B 3f38830f370efde04494add3ddd2ce7f4a04b032b9aad770ba30885ed2b3a14cff3c748fa299041c9c1d7007b30eb55c96a46fe496c0432b187ae72879d4240e SHA512 703f353adc272905b4d5ebe21ea54e3016a3889703bf406dfdf92638dac2e6f536cf1bc16022be6a442f7dfa962ff17746edea591cf80c2be9440d9bb50a9dcc
+DIST django-crispy-forms-2.2.gh.tar.gz 274957 BLAKE2B bb80affa2050c1eee3bb706ab5fc48555676cf118b78ff4d28031c1df9c0e8adba9f1638cbea7f87c4edd2d655fb1a00de30b64e073b1f0f9b35a6103d9b9c08 SHA512 a379fbd1b9916aa3123a4c1af5c9da4916573c57b2e575cb189fe8cba23718490c9130ff55e7ae80dbb3d9476d449daf1f8c9f8caec80f394601af6246615f24
+DIST django-crispy-forms-2.3.gh.tar.gz 274969 BLAKE2B 0a9c24c4aec43b35fd9596c1e23bb5e3988b36398f50a7155360929c41a6e0fdb388ae3c12673fc761c91f0315195f69389d021aef94c2b14a245c706f328599 SHA512 1c5ad8a64a6f8175a6d5eb56b244d856c8aab1ebcc8c4b549aebfa4711128d1401ad0f625ca68c10fb1b0be9656c662e865e783994f323f87e5b08da4bd0585a
diff --git a/dev-python/django-crispy-forms/django-crispy-forms-2.0-r1.ebuild b/dev-python/django-crispy-forms/django-crispy-forms-2.0-r1.ebuild
deleted file mode 100644
index c25924666e64..000000000000
--- a/dev-python/django-crispy-forms/django-crispy-forms-2.0-r1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="DRY Django forms"
-HOMEPAGE="https://github.com/django-crispy-forms/django-crispy-forms"
-SRC_URI="https://github.com/django-crispy-forms/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-
-RDEPEND="dev-python/django[${PYTHON_USEDEP}]"
-BDEPEND="test? (
- dev-python/pytest-django[${PYTHON_USEDEP}]
- dev-python/crispy-bootstrap3[${PYTHON_USEDEP}]
- dev-python/crispy-bootstrap4[${PYTHON_USEDEP}]
-)"
-
-distutils_enable_tests pytest
diff --git a/dev-python/django-crispy-forms/django-crispy-forms-2.1.ebuild b/dev-python/django-crispy-forms/django-crispy-forms-2.1.ebuild
deleted file mode 100644
index 69f2d844079a..000000000000
--- a/dev-python/django-crispy-forms/django-crispy-forms-2.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="DRY Django forms"
-HOMEPAGE="
- https://github.com/django-crispy-forms/django-crispy-forms/
- https://pypi.org/project/django-crispy-forms/
-"
-SRC_URI="
- https://github.com/django-crispy-forms/django-crispy-forms/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/django-4.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-django[${PYTHON_USEDEP}]
- dev-python/crispy-bootstrap3[${PYTHON_USEDEP}]
- dev-python/crispy-bootstrap4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/django-crispy-forms/django-crispy-forms-2.2.ebuild b/dev-python/django-crispy-forms/django-crispy-forms-2.2.ebuild
new file mode 100644
index 000000000000..5d9598bb0f6b
--- /dev/null
+++ b/dev-python/django-crispy-forms/django-crispy-forms-2.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="DRY Django forms"
+HOMEPAGE="
+ https://github.com/django-crispy-forms/django-crispy-forms/
+ https://pypi.org/project/django-crispy-forms/
+"
+SRC_URI="
+ https://github.com/django-crispy-forms/django-crispy-forms/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/django-4.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ dev-python/crispy-bootstrap3[${PYTHON_USEDEP}]
+ dev-python/crispy-bootstrap4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/django-crispy-forms/django-crispy-forms-2.3.ebuild b/dev-python/django-crispy-forms/django-crispy-forms-2.3.ebuild
new file mode 100644
index 000000000000..5d9598bb0f6b
--- /dev/null
+++ b/dev-python/django-crispy-forms/django-crispy-forms-2.3.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="DRY Django forms"
+HOMEPAGE="
+ https://github.com/django-crispy-forms/django-crispy-forms/
+ https://pypi.org/project/django-crispy-forms/
+"
+SRC_URI="
+ https://github.com/django-crispy-forms/django-crispy-forms/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/django-4.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ dev-python/crispy-bootstrap3[${PYTHON_USEDEP}]
+ dev-python/crispy-bootstrap4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/django-debug-toolbar/Manifest b/dev-python/django-debug-toolbar/Manifest
index 642306af4c36..84ebf10d3e3b 100644
--- a/dev-python/django-debug-toolbar/Manifest
+++ b/dev-python/django-debug-toolbar/Manifest
@@ -1,2 +1,2 @@
-DIST django-debug-toolbar-4.1.gh.tar.gz 267550 BLAKE2B 80ebec1ee6f09d44089e119107a3696b8db82263976b4d191aaeea89658b0fbfb7ca1e2975aa73ad5c9240ac3010816710b5f7386165b1d7bdf335f8ef82b896 SHA512 8e9cc1ffcd8be7e345fff78e60cde8c4b44ef751dbf6a6bc061d452ccb60c68eda9f7e7a17efc32be3a62601921dff87f52ba2fe0e47a17fb820bf025cac0035
-DIST django_debug_toolbar-4.2.0.tar.gz 259709 BLAKE2B 81172bca569f6080710db2180650b0620670a4b4d2919d8b1694bf9f15425d9378f6cd0cbb852544fca0809388bb13867500a38c9046e1feaa241cde973936d9 SHA512 ff36d92132fd9338e88a2f078747c1e54e7633aecc6babea28ccb0c080b0beb99feccf1d1c00960ba109e3e6e4805562c36c6571842ea3baeda860c71ffcbd50
+DIST django_debug_toolbar-4.4.5.tar.gz 272503 BLAKE2B b77107867a8cc8844a138f4947816c290850b9ca7aa866066cbe3a1d6e72a4b488a7dd7141445c2fa6c7d05eea8fdc73680163a4506d1d14df7e0d14acfe7818 SHA512 afa43c0e0ef06bf58cdfae37ec57ebbe0813f9065b82123935c4ecc18153ffa7ac5227e19942bf2e7d4d3bc76849d2acfb69f3a831070bb14af5263e242b9902
+DIST django_debug_toolbar-4.4.6.tar.gz 272610 BLAKE2B bcba8f2dd1c44392a595c8c4a60f1ba40928747760ab49255ef1fefb0847ffc232a409b39d7819f59996b3c7f7a6557fb2b47365b9adcddfe743fcd6a943304e SHA512 ae009219b6eee2427ef6875438900e5d8878986264b6c0c91ddd1939385c7481914ad490050747f13385278d0ce3af225a8fb0282c71b3b8a685467dcc753d88
diff --git a/dev-python/django-debug-toolbar/django-debug-toolbar-4.1.ebuild b/dev-python/django-debug-toolbar/django-debug-toolbar-4.1.ebuild
deleted file mode 100644
index 2fbcb24e5a3a..000000000000
--- a/dev-python/django-debug-toolbar/django-debug-toolbar-4.1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A configurable set of panels that display various debug information"
-HOMEPAGE="
- https://github.com/jazzband/django-debug-toolbar/
- https://pypi.org/project/django-debug-toolbar/
-"
-# no tests in sdist, as of 4.0.0
-SRC_URI="
- https://github.com/jazzband/django-debug-toolbar/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/django[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/html5lib[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- "${EPYTHON}" -m django test -v 2 --settings tests.settings \
- || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/django-debug-toolbar/django-debug-toolbar-4.2.0.ebuild b/dev-python/django-debug-toolbar/django-debug-toolbar-4.2.0.ebuild
deleted file mode 100644
index 570f8b5e767c..000000000000
--- a/dev-python/django-debug-toolbar/django-debug-toolbar-4.2.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A configurable set of panels that display various debug information"
-HOMEPAGE="
- https://github.com/jazzband/django-debug-toolbar/
- https://pypi.org/project/django-debug-toolbar/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/django[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/html5lib[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- "${EPYTHON}" -m django test -v 2 --settings tests.settings \
- || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/django-debug-toolbar/django-debug-toolbar-4.4.5.ebuild b/dev-python/django-debug-toolbar/django-debug-toolbar-4.4.5.ebuild
new file mode 100644
index 000000000000..1da7a5cf32c5
--- /dev/null
+++ b/dev-python/django-debug-toolbar/django-debug-toolbar-4.4.5.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A configurable set of panels that display various debug information"
+HOMEPAGE="
+ https://github.com/jazzband/django-debug-toolbar/
+ https://pypi.org/project/django-debug-toolbar/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-4.2.9[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ "${EPYTHON}" -m django test -v 2 --settings tests.settings tests \
+ || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/django-debug-toolbar/django-debug-toolbar-4.4.6.ebuild b/dev-python/django-debug-toolbar/django-debug-toolbar-4.4.6.ebuild
new file mode 100644
index 000000000000..1da7a5cf32c5
--- /dev/null
+++ b/dev-python/django-debug-toolbar/django-debug-toolbar-4.4.6.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A configurable set of panels that display various debug information"
+HOMEPAGE="
+ https://github.com/jazzband/django-debug-toolbar/
+ https://pypi.org/project/django-debug-toolbar/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-4.2.9[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ "${EPYTHON}" -m django test -v 2 --settings tests.settings tests \
+ || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/django-filter/Manifest b/dev-python/django-filter/Manifest
index 8cd33a357042..4d76509c2647 100644
--- a/dev-python/django-filter/Manifest
+++ b/dev-python/django-filter/Manifest
@@ -1,2 +1,3 @@
-DIST django-filter-23.3.gh.tar.gz 137495 BLAKE2B 70049e744ec87a1dab9680144093684d3d23dd338a9b2d697de302b45e65bcd6f93c03c55ad5386ba1a7187e7ff5d1c43904f19cb17652ef6644b47a0f23101c SHA512 1da3f9bb1988d0b89d25f4101c26f4102d38e4717cdbd8d0cd4ae03a97658bfcc050afd3468ef6d0e33dc6533c7679f1906ddaccba8e7096a4bd570282a93c0a
-DIST django-filter-23.4.gh.tar.gz 137524 BLAKE2B 2ba4697e72f2a211860cd5571e76e4cb2c74a588112ea1570ea53cbb57358b178f9f64f651df471fbc06034ab6713e21e61ad83576adb29e3d758bbba965fa1f SHA512 ee564b3b67e355e6598adcc7b9046e4a3855a0dfd99cf551793c3a5c9797b0d87805b2b78b29f1e20de7e68337e6e1472205908f3b5cf26e36f554345b99cce9
+DIST django-filter-23.5.gh.tar.gz 137866 BLAKE2B 8956441dc4425925ff8a121833fc59552709274a64d880aa5cadbae8063a67891969a712f79c9a5aa03fcd404ed288294e818e9f2e968c4d88761a847e35a3e9 SHA512 5534a4e8538b4ed0b5dbc168a7ba4eb51b0431d22874d1d4613b421ec830f45caed8faa71ecb144ba26704ff842742e8517d1599277b84480c4bf4282c19308c
+DIST django-filter-24.1.gh.tar.gz 138579 BLAKE2B 86711bc2f0e2dbad59d445d2dd4456c409d18e5ca9403a2179a5f8f2721b206ebdf7de67965d7efb7bbda88b9ac41e94b51a205406f53345b57b602deba7ec98 SHA512 84751d67c03f9cb8e42b37efe16fe457eaa3dee8c2b385a95600e5e2efbd377405e7d827c740c9b7c182fe4e50cfc84244921ee3d83d62bebe4b0efae99a8a70
+DIST django-filter-24.2.gh.tar.gz 139679 BLAKE2B a45793644668525aee58eeea4d9e02c34d822234ef300853f393419ade54a00a3ff2b077db7d299a3b9165b5c689bb4d0e5f7f5417b33a73dc92202fafd9eeb3 SHA512 8a2f67ed497ab3866edd1fe12dc819ecaf5c1508eb44df164621c818c8e5a4ef9a5f4c584981170fd98d432b9231fb732826880ad37f63db65875195d1b4e103
diff --git a/dev-python/django-filter/django-filter-23.3.ebuild b/dev-python/django-filter/django-filter-23.3.ebuild
deleted file mode 100644
index 0769ae71ed93..000000000000
--- a/dev-python/django-filter/django-filter-23.3.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Django app allowing declarative dynamic QuerySet filtering from URL parameters"
-HOMEPAGE="
- https://github.com/carltongibson/django-filter/
- https://pypi.org/project/django-filter/
-"
-SRC_URI="
- https://github.com/carltongibson/django-filter/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/django-3.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-python/djangorestframework[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- !!dev-python/coreapi
- )
-"
-
-python_test() {
- local -x DJANGO_SETTINGS_MODULE=tests.settings
- "${EPYTHON}" -m django test -v 2 || die
-}
diff --git a/dev-python/django-filter/django-filter-23.4.ebuild b/dev-python/django-filter/django-filter-23.5.ebuild
index fac2db6651c4..fac2db6651c4 100644
--- a/dev-python/django-filter/django-filter-23.4.ebuild
+++ b/dev-python/django-filter/django-filter-23.5.ebuild
diff --git a/dev-python/django-filter/django-filter-24.1.ebuild b/dev-python/django-filter/django-filter-24.1.ebuild
new file mode 100644
index 000000000000..d8a17b109b61
--- /dev/null
+++ b/dev-python/django-filter/django-filter-24.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Django app allowing declarative dynamic QuerySet filtering from URL parameters"
+HOMEPAGE="
+ https://github.com/carltongibson/django-filter/
+ https://pypi.org/project/django-filter/
+"
+SRC_URI="
+ https://github.com/carltongibson/django-filter/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-4.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/djangorestframework[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ !!dev-python/coreapi
+ )
+"
+
+python_test() {
+ local -x DJANGO_SETTINGS_MODULE=tests.settings
+ "${EPYTHON}" -m django test -v 2 || die
+}
diff --git a/dev-python/django-filter/django-filter-24.2.ebuild b/dev-python/django-filter/django-filter-24.2.ebuild
new file mode 100644
index 000000000000..d8a17b109b61
--- /dev/null
+++ b/dev-python/django-filter/django-filter-24.2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Django app allowing declarative dynamic QuerySet filtering from URL parameters"
+HOMEPAGE="
+ https://github.com/carltongibson/django-filter/
+ https://pypi.org/project/django-filter/
+"
+SRC_URI="
+ https://github.com/carltongibson/django-filter/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-4.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/djangorestframework[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ !!dev-python/coreapi
+ )
+"
+
+python_test() {
+ local -x DJANGO_SETTINGS_MODULE=tests.settings
+ "${EPYTHON}" -m django test -v 2 || die
+}
diff --git a/dev-python/django-js-asset/Manifest b/dev-python/django-js-asset/Manifest
index 7f2842ff29f3..2296ee76e2a1 100644
--- a/dev-python/django-js-asset/Manifest
+++ b/dev-python/django-js-asset/Manifest
@@ -1 +1 @@
-DIST django_js_asset-2.1.0.tar.gz 7734 BLAKE2B a3bc41ea91721cb7a91749b0e682352b9d527ab5c2c493eaef42d63f9443975924efae3a2abf1df1bf3fdf8a339036cc67e8a881f3f0aca0f4eec1cfc5589904 SHA512 d2e80bccd173c09b2401e8d6b202d5526afaf17089d0855849a7eb2ad66525b9a171eb134fdc28fabb3dc701f89e88740312c2e34326d5aa42cd7510502384cc
+DIST django_js_asset-2.2.0.tar.gz 7904 BLAKE2B 2200ffec739325e01070c53247eb613162bbb09447ea370d3c74bd721c0431cac78e188ac826b6292281b48adfff6789faafdc5c606121262b11c90aeb1900b3 SHA512 23a415fcbc76b9885a1b2831ec87ba64e79019b5595e3865c283c4e558e4cd986b5ab39f25e07308575320684dcc449e1d2029b8f145955f448a9f70bae34951
diff --git a/dev-python/django-js-asset/django-js-asset-2.1.0.ebuild b/dev-python/django-js-asset/django-js-asset-2.1.0.ebuild
deleted file mode 100644
index 94a57b485d5b..000000000000
--- a/dev-python/django-js-asset/django-js-asset-2.1.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Script tag with additional attributes for django.forms.Media"
-HOMEPAGE="
- https://github.com/matthiask/django-js-asset/
- https://pypi.org/project/django-js-asset/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/django-3.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- )
-"
-
-python_test() {
- cd tests || die
- local -x DJANGO_SETTINGS_MODULE=testapp.settings
- "${EPYTHON}" manage.py test -v 2 || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/django-js-asset/django-js-asset-2.2.0.ebuild b/dev-python/django-js-asset/django-js-asset-2.2.0.ebuild
new file mode 100644
index 000000000000..2c090fa41829
--- /dev/null
+++ b/dev-python/django-js-asset/django-js-asset-2.2.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Script tag with additional attributes for django.forms.Media"
+HOMEPAGE="
+ https://github.com/matthiask/django-js-asset/
+ https://pypi.org/project/django-js-asset/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-3.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ )
+"
+
+python_test() {
+ cd tests || die
+ local -x DJANGO_SETTINGS_MODULE=testapp.settings
+ "${EPYTHON}" manage.py test -v 2 || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/django-otp/Manifest b/dev-python/django-otp/Manifest
index c8548f6350be..80ea52fe5025 100644
--- a/dev-python/django-otp/Manifest
+++ b/dev-python/django-otp/Manifest
@@ -1,4 +1,2 @@
-DIST django_otp-1.2.2.tar.gz 66391 BLAKE2B f66472ec2e3842ebc634edd8f689d1de51738381fd86c4af0859dee2f1bcf407b1c952c795203f9c742a95633ee14ce9253dcc1ffd7988c960e26b23a1ec5dfe SHA512 e8608f0a3b0aeaa82e509f034f69131eb1015124ecf84b734a5be58f62c309eee506b12fffe2aeb4b707e70c612413d1458bc64533102508c55255035432eb1f
-DIST django_otp-1.2.3.tar.gz 66417 BLAKE2B 30fa8efe11b061fc6332de18f4e86181c180123c7c46ae4f9102e59a587ec39f9922db7e8c7f1c3b7a19817a336969b4aa82e2dca64447736ec244ec0098f505 SHA512 fd881cc7b44350bcfa95d243dab08465b0251b5d45fde0766532b281fce676d0afbfb35b671c1a787579374049d43e44091af77bfbb7ac6da29713dcc3cfc98f
-DIST django_otp-1.2.4.tar.gz 66836 BLAKE2B 83b30002b84d967c601f4cc13ea68c6b53284dd84f7ce38bbbc7d56caae75f9c584a87958617c6c0b0064616fb6f7f8f1071191a63001a0584ef62993f93cd29 SHA512 46a7f3d3b010fef7b88f3096c2f3861010361a78d78a9414be43b9f10339d7e2a641d4ab8c29b489f21708edb9bc7aefb8cfbca1ce6b93b524fc5f3a8d70befb
-DIST django_otp-1.3.0.tar.gz 69013 BLAKE2B 4b6143bb8863e6c151df954a3c4ac4ecca770b1f396dd291e8634e8ad5e0755514111dac02307120e74abacf04bc681503a973bba067817c80bcffc8c462c592 SHA512 ef63c5db096ce7d1b10d6b2a99ab6db46b779d4221f509452921fcbf338decbd5c799aec7476587a03b34288ef3f5ff1964dee72105b65f04a22cbd53d445fa4
+DIST django_otp-1.5.0.tar.gz 72265 BLAKE2B e2a687a287b5e7b4f5c9370b280bd60b5e9cd62ff6fea4187988acc703ce5cc61f4ee094026c07391343983d87d9c0cb1ff4fa51d10a3e7a4d8da4da182fcb4b SHA512 0169804992b155dfa88fbc0d695091f3f03225f28a104c595e7790f174ff3f4943280b7a3dbb3d4c263cc1bad0ea0370e4749d8d0b1df1e3675881365fc15dfe
+DIST django_otp-1.5.1.tar.gz 73275 BLAKE2B 45a4691a1d9aad6416c28d6aa7b7850890bff19385bb7283019272c836e6cd83c55ba590e57e335131a99e98a17bf49c2418fe69a132b91a182e43c0a33cf863 SHA512 4d2af0a009fe945e136d91404bfa3977783ac681126ffeaa7ebfaacd85764afa07a568284ed1ba9d2c81ef472490df98585e78a1a36c81212b7363362db10f93
diff --git a/dev-python/django-otp/django-otp-1.2.2.ebuild b/dev-python/django-otp/django-otp-1.2.2.ebuild
deleted file mode 100644
index a7fd6fe4a416..000000000000
--- a/dev-python/django-otp/django-otp-1.2.2.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Django framework adding two-factor authentication using one-time passwords"
-HOMEPAGE="
- https://github.com/django-otp/django-otp/
- https://pypi.org/project/django-otp/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/django-3.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/qrcode[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.9 3.10)
- ${RDEPEND}
- )
-"
-
-python_test() {
- local -x PYTHONPATH=test:${PYTHONPATH}
- local -x DJANGO_SETTINGS_MODULE=test_project.settings
- "${EPYTHON}" -m django test -v 2 django_otp ||
- die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/django-otp/django-otp-1.2.3.ebuild b/dev-python/django-otp/django-otp-1.2.3.ebuild
deleted file mode 100644
index a7fd6fe4a416..000000000000
--- a/dev-python/django-otp/django-otp-1.2.3.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Django framework adding two-factor authentication using one-time passwords"
-HOMEPAGE="
- https://github.com/django-otp/django-otp/
- https://pypi.org/project/django-otp/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/django-3.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/qrcode[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.9 3.10)
- ${RDEPEND}
- )
-"
-
-python_test() {
- local -x PYTHONPATH=test:${PYTHONPATH}
- local -x DJANGO_SETTINGS_MODULE=test_project.settings
- "${EPYTHON}" -m django test -v 2 django_otp ||
- die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/django-otp/django-otp-1.2.4.ebuild b/dev-python/django-otp/django-otp-1.2.4.ebuild
deleted file mode 100644
index a7fd6fe4a416..000000000000
--- a/dev-python/django-otp/django-otp-1.2.4.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Django framework adding two-factor authentication using one-time passwords"
-HOMEPAGE="
- https://github.com/django-otp/django-otp/
- https://pypi.org/project/django-otp/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/django-3.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/qrcode[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.9 3.10)
- ${RDEPEND}
- )
-"
-
-python_test() {
- local -x PYTHONPATH=test:${PYTHONPATH}
- local -x DJANGO_SETTINGS_MODULE=test_project.settings
- "${EPYTHON}" -m django test -v 2 django_otp ||
- die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/django-otp/django-otp-1.3.0.ebuild b/dev-python/django-otp/django-otp-1.3.0.ebuild
deleted file mode 100644
index a7fd6fe4a416..000000000000
--- a/dev-python/django-otp/django-otp-1.3.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Django framework adding two-factor authentication using one-time passwords"
-HOMEPAGE="
- https://github.com/django-otp/django-otp/
- https://pypi.org/project/django-otp/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/django-3.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/qrcode[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.9 3.10)
- ${RDEPEND}
- )
-"
-
-python_test() {
- local -x PYTHONPATH=test:${PYTHONPATH}
- local -x DJANGO_SETTINGS_MODULE=test_project.settings
- "${EPYTHON}" -m django test -v 2 django_otp ||
- die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/django-otp/django-otp-1.5.0.ebuild b/dev-python/django-otp/django-otp-1.5.0.ebuild
new file mode 100644
index 000000000000..50c19176bea3
--- /dev/null
+++ b/dev-python/django-otp/django-otp-1.5.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Django framework adding two-factor authentication using one-time passwords"
+HOMEPAGE="
+ https://github.com/django-otp/django-otp/
+ https://pypi.org/project/django-otp/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-3.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ || (
+ dev-python/qrcode[${PYTHON_USEDEP}]
+ dev-python/segno[${PYTHON_USEDEP}]
+ )
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ ${RDEPEND}
+ )
+"
+
+python_test() {
+ local -x PYTHONPATH=test:${PYTHONPATH}
+ local -x DJANGO_SETTINGS_MODULE=test_project.settings
+ "${EPYTHON}" -m django test -v 2 django_otp ||
+ die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/django-otp/django-otp-1.5.1.ebuild b/dev-python/django-otp/django-otp-1.5.1.ebuild
new file mode 100644
index 000000000000..3dc062125747
--- /dev/null
+++ b/dev-python/django-otp/django-otp-1.5.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Django framework adding two-factor authentication using one-time passwords"
+HOMEPAGE="
+ https://github.com/django-otp/django-otp/
+ https://pypi.org/project/django-otp/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-3.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ || (
+ dev-python/qrcode[${PYTHON_USEDEP}]
+ dev-python/segno[${PYTHON_USEDEP}]
+ )
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ ${RDEPEND}
+ )
+"
+
+python_test() {
+ local -x PYTHONPATH=test:${PYTHONPATH}
+ local -x DJANGO_SETTINGS_MODULE=test_project.settings
+ "${EPYTHON}" -m django test -v 2 django_otp ||
+ die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/django-polymorphic/Manifest b/dev-python/django-polymorphic/Manifest
new file mode 100644
index 000000000000..6b3175e1e369
--- /dev/null
+++ b/dev-python/django-polymorphic/Manifest
@@ -0,0 +1 @@
+DIST django-polymorphic-3.1.gh.tar.gz 104090 BLAKE2B de2a2b38f338a10198d00e70d1813e541bf627e2ba2f5e29f0844c9ec7034badba39c077a195fc8c2f71105f1b4e546b91218b95d2ac47020f0dc2e3a5b0baa8 SHA512 730f617009007f94e935870941fdd8973d0cd5995060afbd138622345de77fa48bf2afe037bfa2ad476cef0a31e90cab1eb55109c470ae815a98e1facfa8f125
diff --git a/dev-python/django-polymorphic/django-polymorphic-3.1-r1.ebuild b/dev-python/django-polymorphic/django-polymorphic-3.1-r1.ebuild
new file mode 100644
index 000000000000..9f7d8b0b2c6e
--- /dev/null
+++ b/dev-python/django-polymorphic/django-polymorphic-3.1-r1.ebuild
@@ -0,0 +1,41 @@
+# 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
+
+DESCRIPTION="Seamless Polymorphic Inheritance for Django Models"
+HOMEPAGE="
+ https://github.com/jazzband/django-polymorphic/
+ https://pypi.org/project/django-polymorphic/
+"
+SRC_URI="
+ https://github.com/jazzband/django-polymorphic/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-2.1[$PYTHON_USEDEP]
+"
+
+DEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ dev-python/dj-database-url[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ "${EPYTHON}" runtests.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/django-polymorphic/metadata.xml b/dev-python/django-polymorphic/metadata.xml
new file mode 100644
index 000000000000..007d21b86f5b
--- /dev/null
+++ b/dev-python/django-polymorphic/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">django-polymorphic</remote-id>
+ <remote-id type="github">jazzband/django-polymorphic</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/django-prometheus/django-prometheus-2.3.1.ebuild b/dev-python/django-prometheus/django-prometheus-2.3.1.ebuild
index 4a0ebc82be1a..c592b33b4dfa 100644
--- a/dev-python/django-prometheus/django-prometheus-2.3.1.ebuild
+++ b/dev-python/django-prometheus/django-prometheus-2.3.1.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/django-redis/Manifest b/dev-python/django-redis/Manifest
index 1d93f72da443..ac9c29bbbe25 100644
--- a/dev-python/django-redis/Manifest
+++ b/dev-python/django-redis/Manifest
@@ -1,2 +1 @@
-DIST django-redis-5.3.0.tar.gz 44800 BLAKE2B 29a671f2899aefa6e59086bc194438aaf7e724b3edcefaf0c590a14e958847e86da34b8f94d4c29d62270f53f88395df2e911659e58471b5c037d1c2cd0f4dd7 SHA512 2867d405b69400355576eb3c052b4245844d56304979f09750251f8a2cf35ce704ebcdb6c80e6280fbfe24acfb237a3428f68081b6ada11ffc78257263703d7e
DIST django-redis-5.4.0.tar.gz 52567 BLAKE2B f3ac670500dbe57d795905d10d3a63102c60de6b61e96af257c0e654cd7aa7dc2e70e512bad55ef4129dd11f60ceaaeeccf78b94486550a555a843e4dea98f1f SHA512 12eb85ee3ce2c8fcf013c804a630bd3eb943de0980d1f6d365b5b5ed762ab956db80329f3e170f330ccc5b9e6f178ffa7938b1880477b7fb609d2cc3680b984a
diff --git a/dev-python/django-redis/django-redis-5.3.0.ebuild b/dev-python/django-redis/django-redis-5.3.0.ebuild
deleted file mode 100644
index 28c605fdb016..000000000000
--- a/dev-python/django-redis/django-redis-5.3.0.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Full featured redis cache backend for Django"
-HOMEPAGE="
- https://github.com/jazzband/django-redis/
- https://pypi.org/project/django-redis/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/django-3.2[${PYTHON_USEDEP}]
- >=dev-python/redis-3.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-db/redis
- dev-python/lz4[${PYTHON_USEDEP}]
- dev-python/msgpack[${PYTHON_USEDEP}]
- dev-python/pytest-django[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e '/--cov/d' \
- -e '/--no-cov/d' \
- -i setup.cfg || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- cd tests || die
- local setting_file settings=(
- settings.sqlite
- settings.sqlite_json
- settings.sqlite_lz4
- settings.sqlite_msgpack
- settings.sqlite_sharding
- settings.sqlite_zlib
- # TODO: requires pyzstd
-# settings.sqlite_zstd
- )
- for setting_file in "${settings[@]}"; do
- einfo "Testing ${setting_file} configuration"
- epytest "--ds=${setting_file}"
- done
-}
-
-src_test() {
- local redis_pid="${T}"/redis.pid
- local redis_port=6379
- local redis_test_config="
- daemonize yes
- pidfile ${redis_pid}
- port ${redis_port}
- bind 127.0.0.1
- "
-
- # Spawn Redis itself for testing purposes
- einfo "Spawning Redis"
- einfo "NOTE: Port ${redis_port} must be free"
- "${EPREFIX}"/usr/sbin/redis-server - <<< "${redis_test_config}" || die
-
- # Run the tests
- distutils-r1_src_test
-
- # Clean up afterwards
- kill "$(<"${redis_pid}")" || die
-}
diff --git a/dev-python/django-redis/django-redis-5.4.0.ebuild b/dev-python/django-redis/django-redis-5.4.0.ebuild
index 28c605fdb016..b8d8334d634e 100644
--- a/dev-python/django-redis/django-redis-5.4.0.ebuild
+++ b/dev-python/django-redis/django-redis-5.4.0.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/django-registration/Manifest b/dev-python/django-registration/Manifest
index c84cc92e3e31..442eacfc477c 100644
--- a/dev-python/django-registration/Manifest
+++ b/dev-python/django-registration/Manifest
@@ -1,2 +1 @@
-DIST django-registration-3.3.gh.tar.gz 77483 BLAKE2B 4d65479983a5aa104daffe07ed84218250893ccf6df44e5533473d587a6e76fe71c905124af3909efda515ea84df49f27eafc32f23480ca3e1f6ef55607b3cd7 SHA512 66ef0de4c1adb303717cf87e9d3ce7ab07ca60bab64cbc810f61f31d05a968c0b4fa216b90e7ad575e647c6fdb789ea875c428b0ca8b0104d055ed0882aae144
DIST django-registration-3.4.gh.tar.gz 81582 BLAKE2B bc3ee4ed806486c8a0422cc4ef62c2628f6b5880e0aa63ffdfd5ba7f90967c96c5cd7555faf58254e0a49bdb025b9bdf8eb212bfce4596db7db4f97e4eb3400d SHA512 b6c87cbaeb9548e2c2d8672078b5967aee1e881c2b880193ba410a8c293c93fd0c8e57abac8deda2cb6f61a11936fd5c72060e4954f1d74de1e3a3646b63885b
diff --git a/dev-python/django-registration/django-registration-3.3-r1.ebuild b/dev-python/django-registration/django-registration-3.3-r1.ebuild
deleted file mode 100644
index ae512f2de161..000000000000
--- a/dev-python/django-registration/django-registration-3.3-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="user-registration application for Django"
-HOMEPAGE="
- https://pypi.org/project/django-registration/
- https://github.com/ubernostrum/django-registration/
-"
-SRC_URI="
- https://github.com/ubernostrum/${PN}/archive/refs/tags/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/django[${PYTHON_USEDEP}]
- dev-python/confusable_homoglyphs[${PYTHON_USEDEP}]
-"
-
-python_test() {
- "${EPYTHON}" runtests.py \
- || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/django-registration/django-registration-3.4-r1.ebuild b/dev-python/django-registration/django-registration-3.4-r1.ebuild
new file mode 100644
index 000000000000..0771a5d0f02f
--- /dev/null
+++ b/dev-python/django-registration/django-registration-3.4-r1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+inherit distutils-r1
+
+DESCRIPTION="user-registration application for Django"
+HOMEPAGE="
+ https://pypi.org/project/django-registration/
+ https://github.com/ubernostrum/django-registration/
+"
+SRC_URI="
+ https://github.com/ubernostrum/${PN}/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/confusable-homoglyphs[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ local -x DJANGO_SETTINGS_MODULE=tests.settings
+ PYTHONPATH=. "${EPYTHON}" runtests.py || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/django-registration/django-registration-3.4.ebuild b/dev-python/django-registration/django-registration-3.4.ebuild
deleted file mode 100644
index 36c13a4671a0..000000000000
--- a/dev-python/django-registration/django-registration-3.4.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="user-registration application for Django"
-HOMEPAGE="
- https://pypi.org/project/django-registration/
- https://github.com/ubernostrum/django-registration/
-"
-SRC_URI="
- https://github.com/ubernostrum/${PN}/archive/refs/tags/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/django[${PYTHON_USEDEP}]
- dev-python/confusable_homoglyphs[${PYTHON_USEDEP}]
-"
-
-python_test() {
- local -x DJANGO_SETTINGS_MODULE=tests.settings
- PYTHONPATH=. "${EPYTHON}" runtests.py || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/django-sortedm2m/django-sortedm2m-3.1.1-r1.ebuild b/dev-python/django-sortedm2m/django-sortedm2m-3.1.1-r1.ebuild
deleted file mode 100644
index 9ba7ffd149d1..000000000000
--- a/dev-python/django-sortedm2m/django-sortedm2m-3.1.1-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Drop-in replacement for django's many to many field with sorted relations"
-HOMEPAGE="
- https://pypi.org/project/django-sortedm2m/
- https://github.com/jazzband/django-sortedm2m/
-"
-SRC_URI="
- https://github.com/jazzband/django-sortedm2m/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-KEYWORDS="~amd64 ~x86"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/django[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- ${RDEPEND}
- )
-"
-
-python_test() {
- local -x PYTHONPATH=test_project:${PYTHONPATH}
- local -x DB_ENGINE=sqlite3
- local -x DB_NAME=":memory:"
- django-admin test -v 2 --settings=settings --noinput sortedm2m_tests ||
- die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/django-sortedm2m/django-sortedm2m-3.1.1-r2.ebuild b/dev-python/django-sortedm2m/django-sortedm2m-3.1.1-r2.ebuild
new file mode 100644
index 000000000000..4c0c11c3e205
--- /dev/null
+++ b/dev-python/django-sortedm2m/django-sortedm2m-3.1.1-r2.ebuild
@@ -0,0 +1,43 @@
+# 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
+
+DESCRIPTION="Drop-in replacement for django's many to many field with sorted relations"
+HOMEPAGE="
+ https://pypi.org/project/django-sortedm2m/
+ https://github.com/jazzband/django-sortedm2m/
+"
+SRC_URI="
+ https://github.com/jazzband/django-sortedm2m/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+KEYWORDS="~amd64 ~x86"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/django-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ ${RDEPEND}
+ )
+"
+
+python_test() {
+ local -x PYTHONPATH=test_project:${PYTHONPATH}
+ local -x DB_ENGINE=sqlite3
+ local -x DB_NAME=":memory:"
+ django-admin test -v 2 --settings=settings --noinput sortedm2m_tests ||
+ die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/django-tables2/Manifest b/dev-python/django-tables2/Manifest
index ee978c42ee21..79fcd6ab9998 100644
--- a/dev-python/django-tables2/Manifest
+++ b/dev-python/django-tables2/Manifest
@@ -1 +1 @@
-DIST django-tables2-2.6.0.gh.tar.gz 431368 BLAKE2B 56896a416599e6f4293202ca945bf808c99ce08c4b5f53848919c3a32590e18d867e694fe7c989fdb855a5cdaf94350199c65735078c0d312d1f4f0a556ed9ae SHA512 29cabb777ed102dfde4d24836c5952bf892c7c8e3c5e5f608e00fd1aa4eecc33c6a2b1be1fd07617b354d7de34215d501592c53033d6f48c29e89ab68fdcb22d
+DIST django-tables2-2.7.0.gh.tar.gz 431811 BLAKE2B 2a6a9d74fa50bab049b9b85fc4a2d39b5a54b0fbbcd51f86f2b196e51bd1a1ef36ccc032db13f7cde4f836419a2d92248571b4fb985a8aefb3be2bb740856a2b SHA512 9666dad152d995ef7772881ace4bb83fc41aca1675e0cc116791e4fbfb970de600bd8cc2310b5694558b11e479dea2fc84584a669f6a8127a4bb0a354d24e39a
diff --git a/dev-python/django-tables2/django-tables2-2.6.0.ebuild b/dev-python/django-tables2/django-tables2-2.6.0.ebuild
deleted file mode 100644
index 727dd24eb674..000000000000
--- a/dev-python/django-tables2/django-tables2-2.6.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Table/data-grid framework for Django"
-HOMEPAGE="
- https://pypi.org/project/django-tables2/
- https://github.com/jieter/django-tables2/
-"
-SRC_URI="
- https://github.com/jieter/django-tables2/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-SLOT="0"
-LICENSE="BSD-2"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/django-3.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-python/django-filter[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/psycopg:2[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-src_prepare() {
- # these tests require tablib
- rm tests/test_export.py tests/test_templatetags.py || die
- # these tests require fudge
- rm tests/test_config.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- "${EPYTHON}" manage.py test -v 2 tests || die
-}
diff --git a/dev-python/django-tables2/django-tables2-2.7.0.ebuild b/dev-python/django-tables2/django-tables2-2.7.0.ebuild
new file mode 100644
index 000000000000..e4c4723a2f79
--- /dev/null
+++ b/dev-python/django-tables2/django-tables2-2.7.0.ebuild
@@ -0,0 +1,55 @@
+# 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
+
+DESCRIPTION="Table/data-grid framework for Django"
+HOMEPAGE="
+ https://pypi.org/project/django-tables2/
+ https://github.com/jieter/django-tables2/
+"
+SRC_URI="
+ https://github.com/jieter/django-tables2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-3.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/django-filter[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ || (
+ (
+ >=dev-python/django-4.2[${PYTHON_USEDEP}]
+ dev-python/psycopg:*[${PYTHON_USEDEP}]
+ )
+ dev-python/psycopg:2[${PYTHON_USEDEP}]
+ )
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ # these tests require tablib
+ rm tests/test_export.py tests/test_templatetags.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ "${EPYTHON}" manage.py test -v 2 tests || die
+}
diff --git a/dev-python/django-taggit/Manifest b/dev-python/django-taggit/Manifest
index 2267035622a5..d059385f71e2 100644
--- a/dev-python/django-taggit/Manifest
+++ b/dev-python/django-taggit/Manifest
@@ -1 +1,2 @@
DIST django-taggit-3.1.0.tar.gz 58238 BLAKE2B ea5c90300383294daf80315b013dc1171d94fe4994cdf58a9364666a879672bd5af35f3c620673cb0a9139d2a224bc06d58f933ae94ccd8a65b947c76ab0a0ca SHA512 8654b703cb9b3848a5185f1b88826a80eed44f00993d6272e8fbec1145e6c30be4c0840a0d6e88544d2f927c7c288c2be94e3df61cbe34c37f1f213a1bf0780d
+DIST django-taggit-5.0.1.tar.gz 60372 BLAKE2B 1934fc0a92655db15a4997646c44d8faa57b48469421abb7c48ea248525f0c536d658a9a481ed646dc4846c2f8f6ca9799274f9961238bd727ef0bafbb0ddf0c SHA512 af7b04da8359ebf68ea1b5c1fba3ed509b5357d65cccd95d835e0db68431fcbf0057e613cd05c54ac76524c8fc1c23d0dbacae8b80a23bb7867a0fa4a62f445b
diff --git a/dev-python/django-taggit/django-taggit-5.0.1.ebuild b/dev-python/django-taggit/django-taggit-5.0.1.ebuild
new file mode 100644
index 000000000000..830fca0f6c95
--- /dev/null
+++ b/dev-python/django-taggit/django-taggit-5.0.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple tagging for Django"
+HOMEPAGE="
+ https://github.com/jazzband/django-taggit/
+ https://pypi.org/project/django-taggit/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/django-4.1[${PYTHON_USEDEP}]
+ dev-python/djangorestframework[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ )
+"
+
+python_test() {
+ "${EPYTHON}" -m django test -v 2 --settings=tests.settings ||
+ die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/django-timezone-field/Manifest b/dev-python/django-timezone-field/Manifest
index 74cd8e52b622..d840caeb0eb2 100644
--- a/dev-python/django-timezone-field/Manifest
+++ b/dev-python/django-timezone-field/Manifest
@@ -1,2 +1,2 @@
-DIST django-timezone-field-6.0.1.gh.tar.gz 35800 BLAKE2B f3b46970bbe234f786988d8c71a016c382ea3d82b798eaf78e685f86a80b3ebd3ee495d0f0230afb84f594b443548d9bc1e8891ea37c08be478bab388edfd70b SHA512 e6d1631af6a4d93f2fae236cf12d8fda15dfd6d70ee01c496364c3e5e141fff2bb5982f607adf474617a86b9f0f611306a17d1d892556a087424110ee3de541d
DIST django-timezone-field-6.1.0.gh.tar.gz 36029 BLAKE2B 5177b440e0537fbde12e0dd4bf92e65c983996f7ef1393212b0f4c24efecfc0d4d24e1bbc8447295b565d8b9921c0c05f6cc4baa11db3ccc9b60c33c48e76fb2 SHA512 b070e55a2a5196de1fcae4bd19979caf9d84c234a4e379d82dab843541cf99a0acced9a6996e35afe6b40d1bf737d522d34b91df10596e7365f85cfbe0597015
+DIST django-timezone-field-7.0.gh.tar.gz 37416 BLAKE2B a0420ccbcb9d7d834e65d0cc89fd83662bd4b3773f1443f05866381d6bbeacba86bdd2e6078a3819bdbf6c174e3ede08e4b9d307838d5082e7bef037ff751681 SHA512 9a96b65a7dce48f58c3915e835e92b8d884f6b15f8314f5d6f1a34bc75ad4bc8f0c33035a4844b5906b7d6bc468cf364be8c82843f3af714a59dc9a40e71f9af
diff --git a/dev-python/django-timezone-field/django-timezone-field-6.0.1.ebuild b/dev-python/django-timezone-field/django-timezone-field-6.0.1.ebuild
deleted file mode 100644
index 72f4eb09c5de..000000000000
--- a/dev-python/django-timezone-field/django-timezone-field-6.0.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Django app providing database and form fields for timezone objects"
-HOMEPAGE="
- https://github.com/mfogel/django-timezone-field/
- https://pypi.org/project/django-timezone-field/
-"
-SRC_URI="
- https://github.com/mfogel/django-timezone-field/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- <dev-python/django-5[${PYTHON_USEDEP}]
- >=dev-python/django-2.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/djangorestframework[${PYTHON_USEDEP}]
- dev-python/pytest-django[${PYTHON_USEDEP}]
- dev-python/pytest-lazy-fixture[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x DB_ENGINE=sqlite
- epytest
-}
diff --git a/dev-python/django-timezone-field/django-timezone-field-7.0.ebuild b/dev-python/django-timezone-field/django-timezone-field-7.0.ebuild
new file mode 100644
index 000000000000..8027c2a3c7b6
--- /dev/null
+++ b/dev-python/django-timezone-field/django-timezone-field-7.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Django app providing database and form fields for timezone objects"
+HOMEPAGE="
+ https://github.com/mfogel/django-timezone-field/
+ https://pypi.org/project/django-timezone-field/
+"
+SRC_URI="
+ https://github.com/mfogel/django-timezone-field/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ <dev-python/django-6[${PYTHON_USEDEP}]
+ >=dev-python/django-2.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/djangorestframework[${PYTHON_USEDEP}]
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ dev-python/pytest-lazy-fixtures[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # https://github.com/mfogel/django-timezone-field/pull/138
+ sed -e 's:from pytest_lazyfixture import lazy_fixture:from pytest_lazy_fixtures import lf as lazy_fixture:' \
+ -i tests/*.py || die
+}
+
+python_test() {
+ local -x DB_ENGINE=sqlite
+ epytest
+}
diff --git a/dev-python/django/Manifest b/dev-python/django/Manifest
index b4e2f1d24187..687c0f27c2c6 100644
--- a/dev-python/django/Manifest
+++ b/dev-python/django/Manifest
@@ -1,6 +1,7 @@
-DIST Django-3.2.22.checksum.txt 2582 BLAKE2B bb9fe0f9e8af1142a1dae1b5c53422ddeb186d8c13389cbdbeaa9585be519d3c1604e8af797be1cf75261041799f4e213dfb5764559f0c4765d8e33580acd614 SHA512 6b30f0caed55b966c1a1c83b1f733f7d2098f33d5e84670f2cf3729e584e6b15c6439589bbe26670aa2a6e286f938305bc5457bc4fbc5ba86a128938afcab076
-DIST Django-3.2.22.tar.gz 9827193 BLAKE2B 164d766ee16c92c7f47a45c3a426d54a8bc0007a9387594d61fda77d143f51142389ecc4817f2fcadeaaa55ac3bcf381331cb9ca2305d0915bef1e10101dcd16 SHA512 a2c81dc63609be521aa1a74c85be93e3263380d533c0d6888b4ba20f5a12f0d99c329286c99896734fc9a9b111d873934e4f553d18f246911cbfd65feea73b46
-DIST Django-4.1.12.checksum.txt 2582 BLAKE2B 67b101ef7b11fe1ad47872b9bbb26851b20db304145cebbf3f836bcd7505aa5282b54d8541a468871fa0489445ce282dc030f83241db3a1824e5e2d3949257b9 SHA512 d226527d67c98b1641ea63899c93e3be21855f7be3270ab98e2ad1580d38edf1ab209d92964a8b0ba5b15a2466af96fe1838914b0aaa0953fbc46f21a25587fb
-DIST Django-4.1.12.tar.gz 10502350 BLAKE2B 1e13d4a7c00d7fa49c41bbdc3e69604e462de9ebdb302097ca610cd7d791ebb1ac4bdb610b791e7d578125df83be0551b5d98fbeace630a042a8101689cb9d56 SHA512 63211a82f55b8c7ef0d8f9d09bfba926c2dc59ab7bacded517c4c3014c671ed55d0d5552678d1eae350d3d66f27dde96aed0a5e2aa1ae5f6e1c98ccf138ccc1d
-DIST Django-4.2.6.checksum.txt 2572 BLAKE2B 1bdd9b4a11e80bcbb7c857c25bd9666b1a14c9aeebe3654afe4c54232dc105bb2843d6444b1ab17c86cd19f4722bdfca537291f42d1b4f82e551b44c27cb8e1e SHA512 7857a1d666c4dc9605bfe89e2c6f6ff7dc863ae2c5bb8846d8e83d9cc59592cce2240204b688adba4ebeb7f5279a54ccd4150654ffbed27e1ffc2c4c436ed950
-DIST Django-4.2.6.tar.gz 10407018 BLAKE2B d2d365d234aecd730bcffd64cdfaee283933779be339d1baa75cf490fe7477248feb079c8716f3c8dc570c54bf6af94ce9864908f1efdbf69e5b6e9369126cf7 SHA512 bfd36ae6f7c4393bad45e97d6d43b370fb37d7e21cd115a6f6b730bb38ad11c6ccdcef94d5ddcd09e8eb9107a51ff486ec79b39cf3f4250d0ae1af000820cd82
+DIST Django-4.2.14.checksum.txt 2579 BLAKE2B 9cf59d23c8fa0ad9b86f30a492d981a3084c31fd0c7e8ea212c62377385bcb45369ee3f29573c8e129f8d248ca4e94d4c1a4172048b9a9b2f66cc3291e972367 SHA512 c36efc19f8cc90db89dfe3ffaedff724f4b5a049f6def7acb194f8114a2ae519c5c07dea5452c09618629c9d585867de4b028bcef382f43d24f753f4a100c1c6
+DIST Django-4.2.14.tar.gz 10432993 BLAKE2B 0139669111f834bcb79fea5fa2bc43386d62a65790fda9d762f8ac4e2a32f2a3740629e31c863b2643fa13b893938c33b066c21f27857f391715b7cec88dfad7 SHA512 2663454c48f57a441d1620faad30ac25750d1e71bf34eddbdef3e6d8dd208913752ab657447ffea5e9d3a0676a4a4d501fa88a40a0ca0fd361df0782a6b3306b
+DIST Django-5.0.7.checksum.txt 2569 BLAKE2B 0d4cecf064da9313058606569fcb014c5f3d5ec3c60a5a056cd8242ed9a8349b6d273c38010ba3d41fac85e5551a21748a7739772ad310f8c64224243745eac5 SHA512 9ec2e5e3ac0cb99be9349373c2cf47c6055e0bb729e5bb7e476350cd39595c4c82e7eab9a7eb286a9199834bed65d7f3d31ba59509d6e2e827b0f9c743aa9fcd
+DIST Django-5.0.7.tar.gz 10642686 BLAKE2B 559c3e3dd3971081e8572a707f59054ec84d9922493caddec9e008c5e850e8beb7bfbca291e4e7157e94d4fcd655983e3444f1c8f078342c8b66b3e8ce122ab7 SHA512 29aa4cd7bfdc5c00479c9d60d988653bab76dcfd8cd553ab446f6c274f99677ccaef0571b0afdf1579215918f500d87a0b098a98452c7526e89b1ab64f00b037
+DIST Django-5.1rc1.tar.gz 10747906 BLAKE2B a254c19d3e1713962e42736a99f2775c79ed7ad9b337280688402e7f564bc21c4b190f4887eb8aefee8ed17ab11cc51b490eb99bad967f2ad2e1321f70de9e80 SHA512 52d07fbfa031962a12109aa79ff44e93de3cba40c410be0707b46d1c47e352f066e5b58495f3aec5e60bd0b3844c667014b959965a248c4b6d997b8ced953622
+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
diff --git a/dev-python/django/django-3.2.22.ebuild b/dev-python/django/django-3.2.22.ebuild
deleted file mode 100644
index b72bf5769972..000000000000
--- a/dev-python/django/django-3.2.22.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..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.1.12.ebuild b/dev-python/django/django-4.1.12.ebuild
deleted file mode 100644
index 34119cdb4a93..000000000000
--- a/dev-python/django/django-4.1.12.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..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 ~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.5.2[${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}-4.0-bashcomp.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 ||
- 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.14.ebuild b/dev-python/django/django-4.2.14.ebuild
new file mode 100644
index 000000000000..7379e6655f94
--- /dev/null
+++ b/dev-python/django/django-4.2.14.ebuild
@@ -0,0 +1,101 @@
+# 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}]
+ sys-libs/timezone-data
+"
+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-4.2.6.ebuild b/dev-python/django/django-4.2.6.ebuild
deleted file mode 100644
index 30ba3c590891..000000000000
--- a/dev-python/django/django-4.2.6.ebuild
+++ /dev/null
@@ -1,98 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-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 ~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
- "${FILESDIR}"/django-4.2.3-py312.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 ||
- 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-5.0.7.ebuild b/dev-python/django/django-5.0.7.ebuild
new file mode 100644
index 000000000000..be69e34a55a0
--- /dev/null
+++ b/dev-python/django/django-5.0.7.ebuild
@@ -0,0 +1,103 @@
+# 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..13} )
+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="~alpha 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}]
+ sys-libs/timezone-data
+"
+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
+ # https://github.com/django/django/commit/3426a5c33c36266af42128ee9eca4921e68ea876
+ "${FILESDIR}"/django-5.0.6-py313.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.1_rc1.ebuild b/dev-python/django/django-5.1_rc1.ebuild
new file mode 100644
index 000000000000..af8925a7e16d
--- /dev/null
+++ b/dev-python/django/django-5.1_rc1.ebuild
@@ -0,0 +1,83 @@
+# 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
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_REQ_USE='sqlite?,threads(+)'
+
+inherit bash-completion-r1 distutils-r1 multiprocessing optfeature pypi
+
+DESCRIPTION="High-level Python web framework"
+HOMEPAGE="
+ https://www.djangoproject.com/
+ https://github.com/django/django/
+ https://pypi.org/project/Django/
+"
+
+LICENSE="BSD"
+# admin fonts: Roboto (media-fonts/roboto)
+LICENSE+=" Apache-2.0"
+# admin icons, jquery, xregexp.js
+LICENSE+=" MIT"
+SLOT="0"
+IUSE="doc sqlite test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.8.1[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.3.1[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+"
+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
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/django-4.0-bashcomp.patch
+)
+
+distutils_enable_sphinx docs --no-autodoc
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/django.asc
+
+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/files/django-3.1-bashcomp.patch b/dev-python/django/files/django-3.1-bashcomp.patch
deleted file mode 100644
index 1652842aaa38..000000000000
--- a/dev-python/django/files/django-3.1-bashcomp.patch
+++ /dev/null
@@ -1,56 +0,0 @@
-From e0a8c0663debeb222bf78b97678f60929313b60a Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Wed, 6 May 2020 07:24:05 +0200
-Subject: [PATCH] Remove completions unsuitable for autoloading
-
-The override of 'python*' completions, as well as the attempt
-to './manage.py' completion are not going to work with autoloader.
-Strip them.
----
- extras/django_bash_completion | 33 +--------------------------------
- 1 file changed, 1 insertion(+), 32 deletions(-)
-
-diff --git a/extras/django_bash_completion b/extras/django_bash_completion
-index fa77d59aff..dfeb439a2e 100755
---- a/extras/django_bash_completion
-+++ b/extras/django_bash_completion
-@@ -37,35 +37,4 @@ _django_completion()
- DJANGO_AUTO_COMPLETE=1 $1 ) )
- }
- # When the django-admin.py deprecation ends, remove django-admin.py.
--complete -F _django_completion -o default django-admin.py manage.py django-admin
--
--_python_django_completion()
--{
-- if [[ ${COMP_CWORD} -ge 2 ]]; then
-- local PYTHON_EXE=${COMP_WORDS[0]##*/}
-- if echo "$PYTHON_EXE" | grep -qE "python([3-9]\.[0-9])?"; then
-- local PYTHON_SCRIPT=${COMP_WORDS[1]##*/}
-- if echo "$PYTHON_SCRIPT" | grep -qE "manage\.py|django-admin(\.py)?"; then
-- COMPREPLY=( $( COMP_WORDS=( "${COMP_WORDS[*]:1}" )
-- COMP_CWORD=$(( COMP_CWORD-1 ))
-- DJANGO_AUTO_COMPLETE=1 ${COMP_WORDS[*]} ) )
-- fi
-- fi
-- fi
--}
--
--# Support for multiple interpreters.
--unset pythons
--if command -v whereis &>/dev/null; then
-- python_interpreters=$(whereis python | cut -d " " -f 2-)
-- for python in $python_interpreters; do
-- [[ $python != *-config ]] && pythons="${pythons} ${python##*/}"
-- done
-- unset python_interpreters
-- pythons=$(echo "$pythons" | tr " " "\n" | sort -u | tr "\n" " ")
--else
-- pythons=python
--fi
--
--complete -F _python_django_completion -o default $pythons
--unset pythons
-+complete -F _django_completion -o default django-admin.py django-admin
---
-2.28.0
-
diff --git a/dev-python/django/files/django-3.2.19-py311.patch b/dev-python/django/files/django-3.2.19-py311.patch
deleted file mode 100644
index 976537289ff3..000000000000
--- a/dev-python/django/files/django-3.2.19-py311.patch
+++ /dev/null
@@ -1,183 +0,0 @@
-From 2882cf6f184c7578219e2b5266623e82c0e9b8a2 Mon Sep 17 00:00:00 2001
-From: Mariusz Felisiak <felisiak.mariusz@gmail.com>
-Date: Thu, 7 Apr 2022 07:02:21 +0200
-Subject: [PATCH] Refs #33173 -- Fixed test_runner/test_utils tests on Python
- 3.11+.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Python 3.11 uses fully qualified test name in unittest output. See
-https://github.com/python/cpython/commit/755be9b1505af591b9f2ee424a6525b6c2b65ce9
-
-(rebased by Michał Górny)
----
- django/utils/version.py | 1 +
- tests/test_runner/test_debug_sql.py | 30 ++++++++++++++++++-----------
- tests/test_runner/test_parallel.py | 11 ++++++++---
- tests/test_utils/tests.py | 9 +++++++--
- 4 files changed, 35 insertions(+), 16 deletions(-)
-
-diff --git a/django/utils/version.py b/django/utils/version.py
-index 74c327525e..0c2bfc626e 100644
---- a/django/utils/version.py
-+++ b/django/utils/version.py
-@@ -15,6 +15,7 @@ PY37 = sys.version_info >= (3, 7)
- PY38 = sys.version_info >= (3, 8)
- PY39 = sys.version_info >= (3, 9)
- PY310 = sys.version_info >= (3, 10)
-+PY311 = sys.version_info >= (3, 11)
-
-
- def get_version(version=None):
-diff --git a/tests/test_runner/test_debug_sql.py b/tests/test_runner/test_debug_sql.py
-index 0e8e4207d6..2b5fed7a76 100644
---- a/tests/test_runner/test_debug_sql.py
-+++ b/tests/test_runner/test_debug_sql.py
-@@ -4,6 +4,7 @@ from io import StringIO
- from django.db import connection
- from django.test import TestCase
- from django.test.runner import DiscoverRunner
-+from django.utils.version import PY311
-
- from .models import Person
-
-@@ -100,20 +101,27 @@ class TestDebugSQL(unittest.TestCase):
- '''"test_runner_person"."first_name" = 'subtest-fail';'''),
- ]
-
-+ # Python 3.11 uses fully qualified test name in the output.
-+ method_name = ".runTest" if PY311 else ""
-+ test_class_path = "test_runner.test_debug_sql.TestDebugSQL"
- verbose_expected_outputs = [
-- 'runTest (test_runner.test_debug_sql.TestDebugSQL.FailingTest) ... FAIL',
-- 'runTest (test_runner.test_debug_sql.TestDebugSQL.ErrorTest) ... ERROR',
-- 'runTest (test_runner.test_debug_sql.TestDebugSQL.PassingTest) ... ok',
-+ f"runTest ({test_class_path}.FailingTest{method_name}) ... FAIL",
-+ f"runTest ({test_class_path}.ErrorTest{method_name}) ... ERROR",
-+ f"runTest ({test_class_path}.PassingTest{method_name}) ... ok",
- # If there are errors/failures in subtests but not in test itself,
- # the status is not written. That behavior comes from Python.
-- 'runTest (test_runner.test_debug_sql.TestDebugSQL.FailingSubTest) ...',
-- 'runTest (test_runner.test_debug_sql.TestDebugSQL.ErrorSubTest) ...',
-- ('''SELECT COUNT(*) AS "__count" '''
-- '''FROM "test_runner_person" WHERE '''
-- '''"test_runner_person"."first_name" = 'pass';'''),
-- ('''SELECT COUNT(*) AS "__count" '''
-- '''FROM "test_runner_person" WHERE '''
-- '''"test_runner_person"."first_name" = 'subtest-pass';'''),
-+ f"runTest ({test_class_path}.FailingSubTest{method_name}) ...",
-+ f"runTest ({test_class_path}.ErrorSubTest{method_name}) ...",
-+ (
-+ """SELECT COUNT(*) AS "__count" """
-+ """FROM "test_runner_person" WHERE """
-+ """"test_runner_person"."first_name" = 'pass';"""
-+ ),
-+ (
-+ """SELECT COUNT(*) AS "__count" """
-+ """FROM "test_runner_person" WHERE """
-+ """"test_runner_person"."first_name" = 'subtest-pass';"""
-+ ),
- ]
-
- def test_setupclass_exception(self):
-diff --git a/tests/test_runner/test_parallel.py b/tests/test_runner/test_parallel.py
-index c1a89bd0f0..0f1adcf208 100644
---- a/tests/test_runner/test_parallel.py
-+++ b/tests/test_runner/test_parallel.py
-@@ -2,7 +2,7 @@ import unittest
-
- from django.test import SimpleTestCase
- from django.test.runner import RemoteTestResult
--from django.utils.version import PY37
-+from django.utils.version import PY37, PY311
-
- try:
- import tblib
-@@ -78,8 +78,13 @@ class RemoteTestResultTest(SimpleTestCase):
- self.assertEqual(len(events), 4)
-
- event = events[1]
-- self.assertEqual(event[0], 'addSubTest')
-- self.assertEqual(str(event[2]), 'dummy_test (test_runner.test_parallel.SampleFailingSubtest) (index=0)')
-+ self.assertEqual(event[0], "addSubTest")
-+ self.assertEqual(
-+ str(event[2]),
-+ "dummy_test (test_runner.test_parallel.SampleFailingSubtest%s) (index=0)"
-+ # Python 3.11 uses fully qualified test name in the output.
-+ % (".dummy_test" if PY311 else ""),
-+ )
- trailing_comma = '' if PY37 else ','
- self.assertEqual(repr(event[3][1]), "AssertionError('0 != 1'%s)" % trailing_comma)
-
-diff --git a/tests/test_utils/tests.py b/tests/test_utils/tests.py
-index 9255315e98..8f72057afe 100644
---- a/tests/test_utils/tests.py
-+++ b/tests/test_utils/tests.py
-@@ -26,6 +26,7 @@ from django.test.utils import (
- )
- from django.urls import NoReverseMatch, path, reverse, reverse_lazy
- from django.utils.deprecation import RemovedInDjango41Warning
-+from django.utils.version import PY311
-
- from .models import Car, Person, PossessedCar
- from .views import empty_response
-@@ -78,9 +79,11 @@ class SkippingTestCase(SimpleTestCase):
- SkipTestCase('test_foo').test_foo,
- ValueError,
- "skipUnlessDBFeature cannot be used on test_foo (test_utils.tests."
-- "SkippingTestCase.test_skip_unless_db_feature.<locals>.SkipTestCase) "
-+ "SkippingTestCase.test_skip_unless_db_feature.<locals>.SkipTestCase%s) "
- "as SkippingTestCase.test_skip_unless_db_feature.<locals>.SkipTestCase "
- "doesn't allow queries against the 'default' database."
-+ # Python 3.11 uses fully qualified test name in the output.
-+ % (".test_foo" if PY311 else ""),
- )
-
- def test_skip_if_db_feature(self):
-@@ -122,9 +125,11 @@ class SkippingTestCase(SimpleTestCase):
- SkipTestCase('test_foo').test_foo,
- ValueError,
- "skipIfDBFeature cannot be used on test_foo (test_utils.tests."
-- "SkippingTestCase.test_skip_if_db_feature.<locals>.SkipTestCase) "
-+ "SkippingTestCase.test_skip_if_db_feature.<locals>.SkipTestCase%s) "
- "as SkippingTestCase.test_skip_if_db_feature.<locals>.SkipTestCase "
- "doesn't allow queries against the 'default' database."
-+ # Python 3.11 uses fully qualified test name in the output.
-+ % (".test_foo" if PY311 else ""),
- )
-
-
---
-2.40.0
-
-From 0981a4bc273e2a87ad10c602d9547e006e06d8dd Mon Sep 17 00:00:00 2001
-From: Mariusz Felisiak <felisiak.mariusz@gmail.com>
-Date: Fri, 7 Apr 2023 11:07:54 +0200
-Subject: [PATCH] Refs #34118 -- Fixed CustomChoicesTests.test_uuid_unsupported
- on Python 3.11.4+.
-
-https://github.com/python/cpython/commit/5342f5e713e0cc45b6f226d2d053a8cde1b4d68e
-
-Follow up to 38e63c9e61152682f3ff982c85a73793ab6d3267.
----
- tests/model_enums/tests.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/tests/model_enums/tests.py b/tests/model_enums/tests.py
-index ffc199ce42..c4ca6c91d7 100644
---- a/tests/model_enums/tests.py
-+++ b/tests/model_enums/tests.py
-@@ -259,7 +259,7 @@ class CustomChoicesTests(SimpleTestCase):
- pass
-
- def test_uuid_unsupported(self):
-- msg = 'UUID objects are immutable'
-- with self.assertRaisesMessage(TypeError, msg):
-+ with self.assertRaises(TypeError):
-+
- class Identifier(uuid.UUID, models.Choices):
- A = '972ce4eb-a95f-4a56-9339-68c208a76f18'
---
-2.40.1
-
diff --git a/dev-python/django/files/django-3.2.20-urlsplit.patch b/dev-python/django/files/django-3.2.20-urlsplit.patch
deleted file mode 100644
index 4883da38c0f5..000000000000
--- a/dev-python/django/files/django-3.2.20-urlsplit.patch
+++ /dev/null
@@ -1,111 +0,0 @@
-From 74fee3f5cab1481dcb299b6eeaf82f862470bafa Mon Sep 17 00:00:00 2001
-From: mendespedro <windowsxpedro@gmail.com>
-Date: Wed, 15 Dec 2021 11:55:19 -0300
-Subject: [PATCH] Fixed #33367 -- Fixed URLValidator crash in some edge cases.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-[backported to 3.2.x by Michał Górny]
----
- django/core/validators.py | 13 +++---
- .../forms_tests/field_tests/test_urlfield.py | 40 +++++++++++++++----
- 2 files changed, 40 insertions(+), 13 deletions(-)
-
-diff --git a/django/core/validators.py b/django/core/validators.py
-index b9b58dfa61..aad21f95ea 100644
---- a/django/core/validators.py
-+++ b/django/core/validators.py
-@@ -111,15 +111,16 @@ class URLValidator(RegexValidator):
- raise ValidationError(self.message, code=self.code, params={'value': value})
-
- # Then check full URL
-+ try:
-+ splitted_url = urlsplit(value)
-+ except ValueError:
-+ raise ValidationError(self.message, code=self.code, params={'value': value})
- try:
- super().__call__(value)
- except ValidationError as e:
- # Trivial case failed. Try for possible IDN domain
- if value:
-- try:
-- scheme, netloc, path, query, fragment = urlsplit(value)
-- except ValueError: # for example, "Invalid IPv6 URL"
-- raise ValidationError(self.message, code=self.code, params={'value': value})
-+ scheme, netloc, path, query, fragment = splitted_url
- try:
- netloc = punycode(netloc) # IDN -> ACE
- except UnicodeError: # invalid domain part
-@@ -130,7 +131,7 @@ class URLValidator(RegexValidator):
- raise
- else:
- # Now verify IPv6 in the netloc part
-- host_match = re.search(r'^\[(.+)\](?::\d{2,5})?$', urlsplit(value).netloc)
-+ host_match = re.search(r'^\[(.+)\](?::\d{1,5})?$', splitted_url.netloc)
- if host_match:
- potential_ip = host_match[1]
- try:
-@@ -142,7 +143,7 @@ class URLValidator(RegexValidator):
- # section 3.1. It's defined to be 255 bytes or less, but this includes
- # one byte for the length of the name and one byte for the trailing dot
- # that's used to indicate absolute names in DNS.
-- if len(urlsplit(value).hostname) > 253:
-+ if splitted_url.hostname is None or len(splitted_url.hostname) > 253:
- raise ValidationError(self.message, code=self.code, params={'value': value})
-
-
-diff --git a/tests/forms_tests/field_tests/test_urlfield.py b/tests/forms_tests/field_tests/test_urlfield.py
-index 19e4351c6a..68b148e7b7 100644
---- a/tests/forms_tests/field_tests/test_urlfield.py
-+++ b/tests/forms_tests/field_tests/test_urlfield.py
-@@ -135,13 +135,39 @@ class URLFieldTest(FormFieldAssertionsMixin, SimpleTestCase):
- def test_urlfield_10(self):
- """URLField correctly validates IPv6 (#18779)."""
- f = URLField()
-- urls = (
-- 'http://[12:34::3a53]/',
-- 'http://[a34:9238::]:8080/',
-- )
-- for url in urls:
-- with self.subTest(url=url):
-- self.assertEqual(url, f.clean(url))
-+ tests = [
-+ 'foo',
-+ 'com.',
-+ '.',
-+ 'http://',
-+ 'http://example',
-+ 'http://example.',
-+ 'http://.com',
-+ 'http://invalid-.com',
-+ 'http://-invalid.com',
-+ 'http://inv-.alid-.com',
-+ 'http://inv-.-alid.com',
-+ '[a',
-+ 'http://[a',
-+ # Non-string.
-+ 23,
-+ # Hangs "forever" before fixing a catastrophic backtracking,
-+ # see #11198.
-+ 'http://%s' % ('X' * 60,),
-+ # A second example, to make sure the problem is really addressed,
-+ # even on domains that don't fail the domain label length check in
-+ # the regex.
-+ 'http://%s' % ("X" * 200,),
-+ # urlsplit() raises ValueError.
-+ '////]@N.AN',
-+ # Empty hostname.
-+ '#@A.bO',
-+ ]
-+ msg = "'Enter a valid URL.'"
-+ for value in tests:
-+ with self.subTest(value=value):
-+ with self.assertRaisesMessage(ValidationError, msg):
-+ f.clean(value)
-
- def test_urlfield_not_string(self):
- f = URLField(required=False)
---
-2.41.0
-
diff --git a/dev-python/django/files/django-4.2.3-py312.patch b/dev-python/django/files/django-4.2.3-py312.patch
deleted file mode 100644
index 7989f8e7cbcc..000000000000
--- a/dev-python/django/files/django-4.2.3-py312.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-This is a hack to get the tests to pass prior to:
-
-[e83a88566a71a2353cebc35992c110be0f8628af] Fixed #32172 -- Adapted signals to allow async handlers.
-
-diff --git a/django/test/signals.py b/django/test/signals.py
-index 94a5161e82..1358101b98 100644
---- a/django/test/signals.py
-+++ b/django/test/signals.py
-@@ -14,6 +14,7 @@ from django.utils import timezone
- from django.utils.formats import FORMAT_SETTINGS, reset_format_cache
- from django.utils.functional import empty
- from django.utils.module_loading import import_string
-+from django.utils.version import PY312
-
- template_rendered = Signal()
-
-@@ -183,7 +184,7 @@ def complex_setting_changed(*, enter, setting, **kwargs):
- # this stacklevel shows the line containing the override_settings call.
- warnings.warn(
- f"Overriding setting {setting} can lead to unexpected behavior.",
-- stacklevel=6,
-+ stacklevel=5 if PY312 else 6,
- )
-
-
diff --git a/dev-python/django/files/django-5.0.6-py313.patch b/dev-python/django/files/django-5.0.6-py313.patch
new file mode 100644
index 000000000000..377d41261d2e
--- /dev/null
+++ b/dev-python/django/files/django-5.0.6-py313.patch
@@ -0,0 +1,58 @@
+From 3426a5c33c36266af42128ee9eca4921e68ea876 Mon Sep 17 00:00:00 2001
+From: Mariusz Felisiak <felisiak.mariusz@gmail.com>
+Date: Tue, 20 Feb 2024 20:59:26 +0100
+Subject: [PATCH] Refs #34900 -- Fixed
+ CommandTypes.test_help_default_options_with_custom_arguments test on Python
+ 3.13+.
+
+https://github.com/python/cpython/commit/c4a2e8a2c5188c3288d57b80852e92c83f46f6f3
+---
+ django/utils/version.py | 1 +
+ tests/admin_scripts/tests.py | 15 +++++++++++----
+ 2 files changed, 12 insertions(+), 4 deletions(-)
+
+diff --git a/django/utils/version.py b/django/utils/version.py
+index ecd41dac897ab..6f8171ffe0cfe 100644
+--- a/django/utils/version.py
++++ b/django/utils/version.py
+@@ -20,6 +20,7 @@
+ PY310 = sys.version_info >= (3, 10)
+ PY311 = sys.version_info >= (3, 11)
+ PY312 = sys.version_info >= (3, 12)
++PY313 = sys.version_info >= (3, 13)
+
+
+ def get_version(version=None):
+diff --git a/tests/admin_scripts/tests.py b/tests/admin_scripts/tests.py
+index 50e8d4a3b1eda..688aaa0a2f8de 100644
+--- a/tests/admin_scripts/tests.py
++++ b/tests/admin_scripts/tests.py
+@@ -33,6 +33,7 @@
+ from django.test import LiveServerTestCase, SimpleTestCase, TestCase, override_settings
+ from django.test.utils import captured_stderr, captured_stdout
+ from django.urls import path
++from django.utils.version import PY313
+ from django.views.static import serve
+
+ from . import urls
+@@ -1901,10 +1902,16 @@ def test_help_default_options_with_custom_arguments(self):
+ ]
+ for option in expected_options:
+ self.assertOutput(out, f"[{option}]")
+- self.assertOutput(out, "--option_a OPTION_A, -a OPTION_A")
+- self.assertOutput(out, "--option_b OPTION_B, -b OPTION_B")
+- self.assertOutput(out, "--option_c OPTION_C, -c OPTION_C")
+- self.assertOutput(out, "-v {0,1,2,3}, --verbosity {0,1,2,3}")
++ if PY313:
++ self.assertOutput(out, "--option_a, -a OPTION_A")
++ self.assertOutput(out, "--option_b, -b OPTION_B")
++ self.assertOutput(out, "--option_c, -c OPTION_C")
++ self.assertOutput(out, "-v, --verbosity {0,1,2,3}")
++ else:
++ self.assertOutput(out, "--option_a OPTION_A, -a OPTION_A")
++ self.assertOutput(out, "--option_b OPTION_B, -b OPTION_B")
++ self.assertOutput(out, "--option_c OPTION_C, -c OPTION_C")
++ self.assertOutput(out, "-v {0,1,2,3}, --verbosity {0,1,2,3}")
+
+ def test_color_style(self):
+ style = color.no_style()
diff --git a/dev-python/django_polymorphic/Manifest b/dev-python/django_polymorphic/Manifest
deleted file mode 100644
index 8678dcfcd1fa..000000000000
--- a/dev-python/django_polymorphic/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST django_polymorphic-3.1.gh.tar.gz 104090 BLAKE2B de2a2b38f338a10198d00e70d1813e541bf627e2ba2f5e29f0844c9ec7034badba39c077a195fc8c2f71105f1b4e546b91218b95d2ac47020f0dc2e3a5b0baa8 SHA512 730f617009007f94e935870941fdd8973d0cd5995060afbd138622345de77fa48bf2afe037bfa2ad476cef0a31e90cab1eb55109c470ae815a98e1facfa8f125
diff --git a/dev-python/django_polymorphic/django_polymorphic-3.1-r1.ebuild b/dev-python/django_polymorphic/django_polymorphic-3.1-r1.ebuild
deleted file mode 100644
index 63c1444d7b25..000000000000
--- a/dev-python/django_polymorphic/django_polymorphic-3.1-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Seamless Polymorphic Inheritance for Django Models"
-HOMEPAGE="https://pypi.org/project/django-polymorphic/"
-SRC_URI="
- https://github.com/django-polymorphic/django-polymorphic/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-S="${WORKDIR}/${P//_/-}"
-
-LICENSE="BSD"
-KEYWORDS="~amd64 ~arm64 ~x86"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/django-2.1[$PYTHON_USEDEP]
-"
-
-DEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- ${RDEPEND}
- dev-python/dj-database-url[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- "${EPYTHON}" runtests.py || die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/django_polymorphic/metadata.xml b/dev-python/django_polymorphic/metadata.xml
deleted file mode 100644
index 950a1fc45eca..000000000000
--- a/dev-python/django_polymorphic/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">django-polymorphic</remote-id>
- <remote-id type="github">django-polymorphic/django-polymorphic</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/djangorestframework/Manifest b/dev-python/djangorestframework/Manifest
index a890ed28d6c0..de29aefe1b97 100644
--- a/dev-python/djangorestframework/Manifest
+++ b/dev-python/djangorestframework/Manifest
@@ -1 +1 @@
-DIST django-rest-framework-3.14.0.gh.tar.gz 9056443 BLAKE2B 217be67f42207d72d862011a72aecef3e111c1e1dd4b4e090cae6b22dee3fb32e060f7877c498084cf1221eb960b4ca895ef55721f7cabaafe3e36ee152e17a8 SHA512 c1012c656b427e0318b2056e2f984ddc75a5b4e85f375c76fba165ad06e285848eee1bc6dc76c097daec57d780efb2551110199d62ce636a03951aec13ab4013
+DIST django-rest-framework-3.15.2.gh.tar.gz 9290406 BLAKE2B 588aebbdd89f749bacd4244707f6b4b0e2a6aef0759973e5451ebcc4acb4d2e1c2d9773ab576e33442f5123ce860cae087622a26d1d208edc70df04057c4d401 SHA512 a24322fb09398ee1608900ae623d8ba44c3cb066fc7921e38f847a93513d3ca549d933da6cfc045a556edfe50dae3431b6782d0241a9f53ac3dbc0caf48fa520
diff --git a/dev-python/djangorestframework/djangorestframework-3.14.0.ebuild b/dev-python/djangorestframework/djangorestframework-3.14.0.ebuild
deleted file mode 100644
index 9cd99ed8fbf0..000000000000
--- a/dev-python/djangorestframework/djangorestframework-3.14.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=django-rest-framework-${PV}
-DESCRIPTION="Web APIs with django made easy"
-HOMEPAGE="
- https://www.django-rest-framework.org/
- https://github.com/encode/django-rest-framework/
- https://pypi.org/project/djangorestframework/
-"
-SRC_URI="
- https://github.com/encode/django-rest-framework/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/django-3.0[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-django[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- tests/test_description.py::TestViewNamesAndDescriptions::test_markdown
-
- # require coreapi (but not skipped properly)
- tests/schemas/test_managementcommand.py::GenerateSchemaTests::test_coreapi_renders_default_schema_with_custom_title_url_and_desc
- tests/schemas/test_managementcommand.py::GenerateSchemaTests::test_coreapi_renders_openapi_json_schema
- tests/schemas/test_managementcommand.py::GenerateSchemaTests::test_renders_corejson_schema
-)
diff --git a/dev-python/djangorestframework/djangorestframework-3.15.2.ebuild b/dev-python/djangorestframework/djangorestframework-3.15.2.ebuild
new file mode 100644
index 000000000000..0b3b88455b74
--- /dev/null
+++ b/dev-python/djangorestframework/djangorestframework-3.15.2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+# py3.13: https://github.com/encode/django-rest-framework/discussions/9445
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+MY_P=django-rest-framework-${PV}
+DESCRIPTION="Web APIs with django made easy"
+HOMEPAGE="
+ https://www.django-rest-framework.org/
+ https://github.com/encode/django-rest-framework/
+ https://pypi.org/project/djangorestframework/
+"
+SRC_URI="
+ https://github.com/encode/django-rest-framework/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/django-4.2[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/inflection[${PYTHON_USEDEP}]
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # upstream is removing pytz, apparently it's not tested anymore
+ # https://github.com/encode/django-rest-framework/discussions/9342
+ tests/test_fields.py::TestPytzNaiveDayLightSavingTimeTimeZoneDateTimeField::test_invalid_inputs
+)
diff --git a/dev-python/dkimpy/Manifest b/dev-python/dkimpy/Manifest
index e19982f18b4e..f8a62b227e44 100644
--- a/dev-python/dkimpy/Manifest
+++ b/dev-python/dkimpy/Manifest
@@ -1 +1,2 @@
-DIST dkimpy-1.1.5.tar.gz 67064 BLAKE2B d4b192a08469be678b5f08cdf2a582ec5cbd4ada56a02de011c372518a3c863e2fea1976af507a1d202f6a36f9ccef8621ba882f542e26ba22acc2f64daaf735 SHA512 650476a54cb39d72fefe05a6fdd8167694cd6f1cf521efb7807713ccfa868dd5458732ee8501c4edea203f9726689c9632a92473698ee31889208d19891b7a13
+DIST dkimpy-1.1.7.tar.gz 66735 BLAKE2B 2cca9b23761a6b87cc94d441eb65788971338a53301d00b077e767b0f0591c1db88e64fb57a16e8d78cbdaa0fd8218cb32eb4f1fae2b6760bbbf80ae42e067cf SHA512 79f25bb9f83b3d75aa21aa5521b17679228cd196d26ca35afb8aaf44dd0454bc7dfa50802d33800b410ee680305f2b60da052a9fd9ed6d0aa5838e8093b9236e
+DIST dkimpy-1.1.8.tar.gz 66979 BLAKE2B 4b118c02dc9039a21fcd4309c6d4f44f8d3d44eacb45f523b5527f217bbb27a58d77d2771fb23447c36bb6f07f9100a075e34a342da8d95bb8ac2cd60b944a7d SHA512 c8a53c01ab329e40ac66c1c77e40f104871fb9f52058a530d08b26599c20cd960f0f4b6a1e4be8e173332634ed0b10e0bf0711285a8eefa40ec5cfdbed74e12e
diff --git a/dev-python/dkimpy/dkimpy-1.1.5.ebuild b/dev-python/dkimpy/dkimpy-1.1.5.ebuild
deleted file mode 100644
index 14f84f5b5e4d..000000000000
--- a/dev-python/dkimpy/dkimpy-1.1.5.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="DKIM and ARC email signing and verification library"
-HOMEPAGE="
- https://launchpad.net/dkimpy/
- https://pypi.org/project/dkimpy/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- >=dev-python/dnspython-2.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/authres[${PYTHON_USEDEP}]
- dev-python/pynacl[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-pkg_postinst() {
- optfeature "ARC support" dev-python/authres
- optfeature "ed25519 capability" dev-python/pynacl
- optfeature "asyncio support" dev-python/aiodns
-}
diff --git a/dev-python/dkimpy/dkimpy-1.1.7.ebuild b/dev-python/dkimpy/dkimpy-1.1.7.ebuild
new file mode 100644
index 000000000000..6b4ecb70c5d8
--- /dev/null
+++ b/dev-python/dkimpy/dkimpy-1.1.7.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2020-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 optfeature pypi
+
+DESCRIPTION="DKIM and ARC email signing and verification library"
+HOMEPAGE="
+ https://launchpad.net/dkimpy/
+ https://pypi.org/project/dkimpy/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ >=dev-python/dnspython-2.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/authres[${PYTHON_USEDEP}]
+ dev-python/pynacl[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+pkg_postinst() {
+ optfeature "ARC support" dev-python/authres
+ optfeature "ed25519 capability" dev-python/pynacl
+ optfeature "asyncio support" dev-python/aiodns
+}
diff --git a/dev-python/dkimpy/dkimpy-1.1.8.ebuild b/dev-python/dkimpy/dkimpy-1.1.8.ebuild
new file mode 100644
index 000000000000..eb5ccfc11b1f
--- /dev/null
+++ b/dev-python/dkimpy/dkimpy-1.1.8.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="DKIM and ARC email signing and verification library"
+HOMEPAGE="
+ https://launchpad.net/dkimpy/
+ https://pypi.org/project/dkimpy/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/dnspython-2.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/authres[${PYTHON_USEDEP}]
+ dev-python/pynacl[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+pkg_postinst() {
+ optfeature "ARC support" dev-python/authres
+ optfeature "ed25519 capability" dev-python/pynacl
+ optfeature "asyncio support" dev-python/aiodns
+}
diff --git a/dev-python/dns-lexicon/Manifest b/dev-python/dns-lexicon/Manifest
index 4f9b5682a846..6eb4dacc10d9 100644
--- a/dev-python/dns-lexicon/Manifest
+++ b/dev-python/dns-lexicon/Manifest
@@ -1,2 +1 @@
-DIST dns-lexicon-3.16.1.gh.tar.gz 6199830 BLAKE2B 0965fbb325232e7d0f8cc5f0eb34eb8821b42de4aa16e7e96adb8bd88e329756768347a3a174daeccac6d4576f7b88f252516a4b3a416c0be23b4ec78525e472 SHA512 7cf2392ec94871076f13e443a6f8c1e9486ceed44c7a23f28e29a98ad0ee8b5f3ae534d3627b4f04fc77894059a2f8a49b12bae3f6faa52a4cbd175bd6cd6e99
DIST dns-lexicon-3.17.0.gh.tar.gz 6200497 BLAKE2B 8f423d4d44517b3186ec7f5cfc5d1e0560d4c98360f8a9d6caab429e0b0e5abe8ee42545b0d7c4cdaf1e2a6a9af41b095198144fda386a207f4f98c7693bb2ba SHA512 1bc182f5881d6acfac72b84331ba50da1219178d274c92e532ed11e73aa79696681d28a002cd1e23f48590953f48e50b62c2ef2db020a07ecf88547717508c0c
diff --git a/dev-python/dns-lexicon/dns-lexicon-3.16.1.ebuild b/dev-python/dns-lexicon/dns-lexicon-3.16.1.ebuild
deleted file mode 100644
index c3b422c0944f..000000000000
--- a/dev-python/dns-lexicon/dns-lexicon-3.16.1.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Manipulate DNS records on various DNS providers in a standardized/agnostic way"
-HOMEPAGE="
- https://github.com/AnalogJ/lexicon/
- https://pypi.org/project/dns-lexicon/
-"
-SRC_URI="
- https://github.com/AnalogJ/lexicon/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/lexicon-${PV}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- >=dev-python/pyotp-2[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/tldextract[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/boto3-1.25[${PYTHON_USEDEP}]
- dev-python/dnspython[${PYTHON_USEDEP}]
- dev-python/zeep[${PYTHON_USEDEP}]
- dev-python/vcrpy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # Requires the "localzone" module
- tests/providers/test_localzone.py
- # Requires the "softlayer" module
- tests/providers/test_softlayer.py
- # Requires the "transip" module
- tests/providers/test_transip.py
- # Requires the "oci" module
- tests/providers/test_oci.py
- # Uses tldextract which needs Internet access to download its database
- tests/providers/test_auto.py
- # All recordings seem to be broken
- tests/providers/test_namecheap.py
- # Broken by minor vcrpy / urllib3-2 incompatibility
- # https://github.com/kevin1024/vcrpy/issues/714
- tests/providers/test_route53.py
-)
-
-pkg_postinst() {
- if [[ -z ${REPLACING_VERSIONS} ]]; then
- optfeature_header \
- "Install the following packages to enable support for additional DNS providers:"
- optfeature Gransy dev-python/zeep
- optfeature Route53 dev-python/boto3
- optfeature DDNS dev-python/dnspython
- fi
-}
diff --git a/dev-python/dns-lexicon/dns-lexicon-3.17.0.ebuild b/dev-python/dns-lexicon/dns-lexicon-3.17.0.ebuild
index 4167c3b34165..3fdb23e3c943 100644
--- a/dev-python/dns-lexicon/dns-lexicon-3.17.0.ebuild
+++ b/dev-python/dns-lexicon/dns-lexicon-3.17.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 optfeature
diff --git a/dev-python/dnspython/Manifest b/dev-python/dnspython/Manifest
index fff5660e2287..69ffca18b716 100644
--- a/dev-python/dnspython/Manifest
+++ b/dev-python/dnspython/Manifest
@@ -1 +1 @@
-DIST dnspython-2.4.2.gh.tar.gz 357675 BLAKE2B ceb2f4a824a1c2b834401d2eb7943e62a5fb28a19be64cea8071d7e294d1a6aa80dc82266586d050fcb1c0eff881d9e139be335313d2098b6c3c6cf690f398ab SHA512 6a76331fc8bc282bb8ef61509317b1956bec6fb516a57409b1df38c8f5094e5ddfcaabc951f7678f1be75e735962c94f225b6e78eb4abe56b27e075180c62576
+DIST dnspython-2.6.1.gh.tar.gz 373684 BLAKE2B 63ac506d528a9e3684daf4888b51d732d9a12c3439ff1c353250a7bad78781f9f12bb13509e69093d5585a4a04bf2fbb1b8eb690a39f27e5d58e8f0f3b3b36a8 SHA512 77e9c69ac70e9e31a11188b968d28b8f2890b053b2cce0e608eefad7fd2c2b0f30c074222b2e5e85c0b4b8705f2e45acfa8b016a7808cc421df1d77f2561d978
diff --git a/dev-python/dnspython/dnspython-2.4.2.ebuild b/dev-python/dnspython/dnspython-2.4.2.ebuild
deleted file mode 100644
index 31bcaba25d68..000000000000
--- a/dev-python/dnspython/dnspython-2.4.2.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="DNS toolkit for Python"
-HOMEPAGE="
- https://www.dnspython.org/
- https://github.com/rthalley/dnspython/
- https://pypi.org/project/dnspython/
-"
-SRC_URI="
- https://github.com/rthalley/dnspython/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="ISC"
-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"
-IUSE="dnssec examples"
-
-RDEPEND="
- dnssec? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- )
- <dev-python/idna-4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest -s
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/dev-python/dnspython/dnspython-2.6.1.ebuild b/dev-python/dnspython/dnspython-2.6.1.ebuild
new file mode 100644
index 000000000000..68c8b0515348
--- /dev/null
+++ b/dev-python/dnspython/dnspython-2.6.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="DNS toolkit for Python"
+HOMEPAGE="
+ https://www.dnspython.org/
+ https://github.com/rthalley/dnspython/
+ https://pypi.org/project/dnspython/
+"
+SRC_URI="
+ https://github.com/rthalley/dnspython/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+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"
+IUSE="dnssec examples"
+
+RDEPEND="
+ dnssec? (
+ >=dev-python/cryptography-41[${PYTHON_USEDEP}]
+ )
+ >=dev-python/idna-2.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/cryptography-41[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-python/doc8/doc8-1.1.1-r1.ebuild b/dev-python/doc8/doc8-1.1.1-r1.ebuild
new file mode 100644
index 000000000000..dbe03e7cf678
--- /dev/null
+++ b/dev-python/doc8/doc8-1.1.1-r1.ebuild
@@ -0,0 +1,35 @@
+# 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="Style checker for Sphinx (or other) RST documentation"
+HOMEPAGE="
+ https://pypi.org/project/doc8/
+ https://github.com/PyCQA/doc8/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86"
+
+RDEPEND="
+ <dev-python/docutils-0.21[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/restructuredtext-lint-0.7[${PYTHON_USEDEP}]
+ dev-python/stevedore[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# setuptools_scm_git_archive is not actually needed here
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/doc8/doc8-1.1.1.ebuild b/dev-python/doc8/doc8-1.1.1.ebuild
deleted file mode 100644
index 99524e85d3e3..000000000000
--- a/dev-python/doc8/doc8-1.1.1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Style checker for Sphinx (or other) RST documentation"
-HOMEPAGE="
- https://pypi.org/project/doc8/
- https://github.com/PyCQA/doc8/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-
-RDEPEND="
- <dev-python/docutils-0.21[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- >=dev-python/restructuredtext-lint-0.7[${PYTHON_USEDEP}]
- dev-python/stevedore[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
-"
-# setuptools_scm_git_archive is not actually needed here
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/docker/Manifest b/dev-python/docker/Manifest
index 84c5fd710377..e204089fb8d6 100644
--- a/dev-python/docker/Manifest
+++ b/dev-python/docker/Manifest
@@ -1 +1,3 @@
DIST docker-py-6.1.3.gh.tar.gz 253192 BLAKE2B b5a54d2bcbb4a89e4861bbf59a9b4565886f5541a518f66691ae205b7581f73af9fe6d491af299b0295f39b4a6e6248871b16e25ea5650fabbeafb7ced6cdaf7 SHA512 ba6ade2487afb8f68606b7d78c0f0dc83ffde622444a9598a5c647d0176695171040c5d1115fb8db6d97cb062a24d552d043274a56923b0eae0f64d98cb92c30
+DIST docker-py-7.0.0.gh.tar.gz 252188 BLAKE2B 64df988c8ece4fc0199731206b7f85554841e4c60ea10f1044c1d5f0dc52286e9da36280bfc468933bbae1f8efaa0fd44afaedf732001cd3d7a2c05879d6a467 SHA512 1ddfdc6d533d9e623baf8bbf1243272d6e511c2bb356c82d9401e566733794d38aa34df151788f1ad807fe7ba0144cc428e0b7f74acd888a58afc61c09c6d09c
+DIST docker-py-7.1.0.gh.tar.gz 253282 BLAKE2B 82eba285c1ea61956005dd0a9bfb66864fd30119a4b4c384d0d4350edeb331004d66bcdba6f20ec56ff48590b4a29a7b0fb07c6db6ecadfe96830337c37a535a SHA512 3dd73f2c3f3e92863496ef8277f481e64484e0e85a64dffe4e3287836823e4b118a5c8e73b2540e7188a0b755cd3f237ccc868a5bfb81d3bff1142fbb33755cb
diff --git a/dev-python/docker/docker-7.0.0.ebuild b/dev-python/docker/docker-7.0.0.ebuild
new file mode 100644
index 000000000000..959a6dc68a14
--- /dev/null
+++ b/dev-python/docker/docker-7.0.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+MY_P=docker-py-${PV}
+DESCRIPTION="Python client for Docker"
+HOMEPAGE="
+ https://github.com/docker/docker-py/
+ https://pypi.org/project/docker/
+"
+SRC_URI="
+ https://github.com/docker/docker-py/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/packaging-14.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.26.0[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.26.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/paramiko-2.4.3[${PYTHON_USEDEP}]
+ >=dev-python/websocket-client-0.32.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ 'dev-python/myst-parser'
+distutils_enable_tests pytest
+
+src_prepare() {
+ # localhost has a better chance of being in /etc/hosts
+ sed -e 's:socket[.]gethostname():"localhost":' \
+ -i tests/unit/api_test.py || die
+
+ distutils-r1_src_prepare
+
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+}
+
+python_test() {
+ epytest tests/unit
+}
diff --git a/dev-python/docker/docker-7.1.0.ebuild b/dev-python/docker/docker-7.1.0.ebuild
new file mode 100644
index 000000000000..9633c3335d64
--- /dev/null
+++ b/dev-python/docker/docker-7.1.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=docker-py-${PV}
+DESCRIPTION="Python client for Docker"
+HOMEPAGE="
+ https://github.com/docker/docker-py/
+ https://pypi.org/project/docker/
+"
+SRC_URI="
+ https://github.com/docker/docker-py/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/requests-2.26.0[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.26.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/paramiko-2.4.3[${PYTHON_USEDEP}]
+ >=dev-python/websocket-client-1.3.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ 'dev-python/myst-parser'
+distutils_enable_tests pytest
+
+src_prepare() {
+ # localhost has a better chance of being in /etc/hosts
+ sed -e 's:socket[.]gethostname():"localhost":' \
+ -i tests/unit/api_test.py || die
+
+ distutils-r1_src_prepare
+
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+}
+
+python_test() {
+ local -x TZ=UTC
+ epytest tests/unit
+}
diff --git a/dev-python/dockerpty/dockerpty-0.4.1-r2.ebuild b/dev-python/dockerpty/dockerpty-0.4.1-r2.ebuild
index 9b58cc5366ca..b21ca217ec51 100644
--- a/dev-python/dockerpty/dockerpty-0.4.1-r2.ebuild
+++ b/dev-python/dockerpty/dockerpty-0.4.1-r2.ebuild
@@ -1,26 +1,35 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
+
inherit distutils-r1
DESCRIPTION="Python library to use the pseudo-tty of a docker container"
-HOMEPAGE="https://github.com/d11wtq/dockerpty"
-SRC_URI="https://github.com/d11wtq/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+HOMEPAGE="
+ https://github.com/d11wtq/dockerpty/
+ https://pypi.org/project/dockerpty/
+"
+SRC_URI="
+ https://github.com/d11wtq/dockerpty/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 arm64"
+RDEPEND="
+ >=dev-python/six-1.3.0[${PYTHON_USEDEP}]
+"
BDEPEND="
test? (
>=dev-python/docker-0.7.0_rc2[${PYTHON_USEDEP}]
>=dev-python/expects-0.4[${PYTHON_USEDEP}]
)
"
-RDEPEND=">=dev-python/six-1.3.0[${PYTHON_USEDEP}]"
distutils_enable_tests pytest
diff --git a/dev-python/dockerpty/metadata.xml b/dev-python/dockerpty/metadata.xml
index 6d659e5b3463..cb4c192c716a 100644
--- a/dev-python/dockerpty/metadata.xml
+++ b/dev-python/dockerpty/metadata.xml
@@ -1,7 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!--maintainer-needed-->
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">d11wtq/dockerpty</remote-id>
<remote-id type="pypi">dockerpty</remote-id>
diff --git a/dev-python/docopt/docopt-0.6.2-r5.ebuild b/dev-python/docopt/docopt-0.6.2-r5.ebuild
index 49bbb06204ba..1b35d8225670 100644
--- a/dev-python/docopt/docopt-0.6.2-r5.ebuild
+++ b/dev-python/docopt/docopt-0.6.2-r5.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
PATCHES=(
"${FILESDIR}"/${PN}-0.6.2-pytest_node_from_parent.patch
diff --git a/dev-python/docstring-to-markdown/Manifest b/dev-python/docstring-to-markdown/Manifest
index e990209c180d..c4aaa545ad3f 100644
--- a/dev-python/docstring-to-markdown/Manifest
+++ b/dev-python/docstring-to-markdown/Manifest
@@ -1 +1 @@
-DIST docstring-to-markdown-0.13.gh.tar.gz 27375 BLAKE2B db68b5c90ef46a765baa41b5d3e286008cea3602d397d246c7ae3907afabf387c2b551affa3f39102fb0d2ca1479126051f49163918fa5c1cfa503ba6c40c107 SHA512 adaeff9c9c4359889757e80d91cbca1c85c6aa888b66824802828d247c09919877e416367f7334db5c944312b3c3468256c159e598c837718806f314aa11b8db
+DIST docstring-to-markdown-0.15.gh.tar.gz 29806 BLAKE2B 424cc74feb3e42bbd546495a998aba92b4df02b9d259c8b3e0fe704d860bb789825b5c1fde79211b675cee82e8c560359f54bf5311eb940a51c0b7c58dcbcf99 SHA512 100d84b6071609d774f2b3426804a32d88eb6e0a463d63003d8cee67f8e0ffb93dad54cfa2f18647dd5d1439459e4c217589c89737bc98e2ee2e11bb9f0871f6
diff --git a/dev-python/docstring-to-markdown/docstring-to-markdown-0.13.ebuild b/dev-python/docstring-to-markdown/docstring-to-markdown-0.13.ebuild
deleted file mode 100644
index 5b9362e340f7..000000000000
--- a/dev-python/docstring-to-markdown/docstring-to-markdown-0.13.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="On the fly conversion of Python docstrings to markdown"
-HOMEPAGE="
- https://github.com/python-lsp/docstring-to-markdown/
- https://pypi.org/project/docstring-to-markdown/
-"
-SRC_URI="
- https://github.com/python-lsp/docstring-to-markdown/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 x86"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Do not depend on pytest-cov/pytest-flake8
- sed -e '/--cov/d' -e '/--flake8/d' -i setup.cfg || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/docstring-to-markdown/docstring-to-markdown-0.15.ebuild b/dev-python/docstring-to-markdown/docstring-to-markdown-0.15.ebuild
new file mode 100644
index 000000000000..0dd312f36823
--- /dev/null
+++ b/dev-python/docstring-to-markdown/docstring-to-markdown-0.15.ebuild
@@ -0,0 +1,32 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="On the fly conversion of Python docstrings to markdown"
+HOMEPAGE="
+ https://github.com/python-lsp/docstring-to-markdown/
+ https://pypi.org/project/docstring-to-markdown/
+"
+SRC_URI="
+ https://github.com/python-lsp/docstring-to-markdown/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Do not depend on pytest-cov/pytest-flake8
+ sed -e '/--cov/d' -e '/--flake8/d' -i setup.cfg || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/docutils-glep/docutils-glep-1.5.ebuild b/dev-python/docutils-glep/docutils-glep-1.5.ebuild
index 260467d50c5b..ac861a95a4c4 100644
--- a/dev-python/docutils-glep/docutils-glep-1.5.ebuild
+++ b/dev-python/docutils-glep/docutils-glep-1.5.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/docutils/Manifest b/dev-python/docutils/Manifest
index 1b240bf273a9..c80b3785c864 100644
--- a/dev-python/docutils/Manifest
+++ b/dev-python/docutils/Manifest
@@ -1,2 +1,2 @@
-DIST docutils-0.19.tar.gz 2056383 BLAKE2B 9983a905642de4e81ca118578671b503ddfda4bef1afcc0524de40543e1f9617fd8d768ef467da49d2f01076683400bad6a0fe15f6b5a3a1e202c42b2e34ab1b SHA512 fb904a899f2b6f3c07c5079577bd7c52a3182cb85f6a4149391e523498df15bfa317f0c04095b890beeb3f89c2b444875a2a609d880ac4d7fbc3125e46b37ea5
DIST docutils-0.20.1.tar.gz 2058365 BLAKE2B 73fb8302599ffe57b0840c898b0b2e3ccd39ff9ea6eec2b5d345d02c950e1a8357bd821e62733b0484e82bc30e71d30fab381390b0edaef4375b02bcd9eeeb40 SHA512 a0ddca315d03677003036d6a8052ac96fbd3fcc4508564938ea684d79bedb4d322d83449c7b26e55b19b0aadd6e46ca9ac409bb16279a20f06c70e9c15ef5eb0
+DIST docutils-0.21.2.tar.gz 2204444 BLAKE2B 727c2f97fc5835a0ffa62e38ea85af366cd89ad1eaec0b8af8b1f3b12e6cddfddb65161ba34f9109952d37ba2cf8985f3c3b6905ebb2ac1c9a984cce3fb4d170 SHA512 7fafa331f5687448e80d299c20cdccc4b49819fa471b5f586bf0ab18c694ba43a70f58e7c76b0a70a16267585548389214e11a4998ad7fdc19a27f0f7644539c
diff --git a/dev-python/docutils/docutils-0.19.ebuild b/dev-python/docutils/docutils-0.19.ebuild
deleted file mode 100644
index 1bbeb19e0cb4..000000000000
--- a/dev-python/docutils/docutils-0.19.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python Documentation Utilities (reference reStructuredText impl.)"
-HOMEPAGE="
- https://docutils.sourceforge.io/
- https://pypi.org/project/docutils/
-"
-
-LICENSE="BSD-2 GPL-3 public-domain"
-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"
-
-RDEPEND="
- dev-python/pygments[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.19-pygments-2.14.patch
-)
-
-python_compile_all() {
- # Generate html docs from reStructured text sources.
-
- # Place html4css1.css in base directory to ensure that the generated reference to it is correct.
- cp docutils/writers/html4css1/html4css1.css . || die
-
- cd tools || die
- "${EPYTHON}" buildhtml.py --input-encoding=utf-8 \
- --stylesheet-path=../html4css1.css, --traceback ../docs || die
-}
-
-src_test() {
- cd test || die
- distutils-r1_src_test
-}
-
-python_test() {
- "${EPYTHON}" alltests.py -v || die "Testing failed with ${EPYTHON}"
-}
-
-python_install() {
- distutils-r1_python_install
-
- # Install tools.
- python_doscript tools/{buildhtml,quicktest}.py
-}
-
-install_txt_doc() {
- local doc="${1}"
- local dir="txt/$(dirname ${doc})"
- docinto "${dir}"
- dodoc "${doc}"
-}
-
-python_install_all() {
- local DOCS=( *.txt )
- local HTML_DOCS=( docs tools docutils/writers/html4css1/html4css1.css )
-
- distutils-r1_python_install_all
-
- local doc
- while IFS= read -r -d '' doc; do
- install_txt_doc "${doc}"
- done < <(find docs tools -name '*.txt' -print0)
-}
diff --git a/dev-python/docutils/docutils-0.20.1-r1.ebuild b/dev-python/docutils/docutils-0.20.1-r1.ebuild
index b6e73efa09cc..b1eb658a351b 100644
--- a/dev-python/docutils/docutils-0.20.1-r1.ebuild
+++ b/dev-python/docutils/docutils-0.20.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYTHON_COMPAT=( python3_{10..12} pypy3 )
-inherit distutils-r1 pypi
+inherit distutils-r1 optfeature pypi
DESCRIPTION="Python Documentation Utilities (reference reStructuredText impl.)"
HOMEPAGE="
@@ -33,7 +33,7 @@ python_compile_all() {
cp docutils/writers/html4css1/html4css1.css . || die
cd tools || die
- "${EPYTHON}" buildhtml.py --input-encoding=utf-8 \
+ "${EPYTHON}" buildhtml.py --input-encoding=utf-8 --no-datestamp \
--stylesheet-path=../html4css1.css, --traceback ../docs || die
}
@@ -71,3 +71,9 @@ python_install_all() {
install_txt_doc "${doc}"
done < <(find docs tools -name '*.txt' -print0)
}
+
+pkg_postinst() {
+ optfeature \
+ "auto-detecting the image dimensions when using the 'scale' option" \
+ dev-python/pillow
+}
diff --git a/dev-python/docutils/docutils-0.21.2.ebuild b/dev-python/docutils/docutils-0.21.2.ebuild
new file mode 100644
index 000000000000..8d6d100266ff
--- /dev/null
+++ b/dev-python/docutils/docutils-0.21.2.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python Documentation Utilities (reference reStructuredText impl.)"
+HOMEPAGE="
+ https://docutils.sourceforge.io/
+ https://pypi.org/project/docutils/
+"
+
+# GPL-3+ only for emacs/rst.el
+LICENSE="BSD BSD-2 GPL-3+ PSF-2.4 public-domain"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+python_compile_all() {
+ # Generate html docs from reStructured text sources.
+
+ # Place html4css1.css in base directory to ensure that the generated reference to it is correct.
+ cp docutils/writers/html4css1/html4css1.css . || die
+
+ cd tools || die
+ "${EPYTHON}" buildhtml.py --input-encoding=utf-8 --no-datestamp \
+ --stylesheet-path=../html4css1.css, --traceback ../docs || die
+}
+
+src_test() {
+ cd test || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ "${EPYTHON}" alltests.py -v || die "Testing failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Install tools.
+ python_doscript tools/buildhtml.py
+}
+
+install_txt_doc() {
+ local doc="${1}"
+ local dir="txt/$(dirname ${doc})"
+ docinto "${dir}"
+ dodoc "${doc}"
+}
+
+python_install_all() {
+ local DOCS=( *.txt )
+ local HTML_DOCS=( docs tools docutils/writers/html4css1/html4css1.css )
+
+ distutils-r1_python_install_all
+
+ local doc
+ while IFS= read -r -d '' doc; do
+ install_txt_doc "${doc}"
+ done < <(find docs tools -name '*.txt' -print0)
+}
+
+pkg_postinst() {
+ optfeature \
+ "auto-detecting the image dimensions when using the 'scale' option" \
+ dev-python/pillow
+}
diff --git a/dev-python/docutils/files/docutils-0.19-pygments-2.14.patch b/dev-python/docutils/files/docutils-0.19-pygments-2.14.patch
deleted file mode 100644
index 42324aa49c4d..000000000000
--- a/dev-python/docutils/files/docutils-0.19-pygments-2.14.patch
+++ /dev/null
@@ -1,672 +0,0 @@
-https://bugs.gentoo.org/892213
-https://sourceforge.net/p/docutils/patches/201/
---- a/test/test_parsers/test_rst/test_directives/test_code.py
-+++ b/test/test_parsers/test_rst/test_directives/test_code.py
-@@ -10,14 +10,20 @@ Test the 'code' directive in parsers/rst
-
- if __name__ == '__main__':
- import __init__ # noqa: F401
-+from packaging.version import Version
- from test_parsers import DocutilsTestSupport
--from docutils.utils.code_analyzer import with_pygments
-+from docutils.utils.code_analyzer import with_pygments, pygments_version
-
-
- def suite():
- s = DocutilsTestSupport.ParserTestSuite()
- if not with_pygments:
- del(totest['code-parsing'])
-+ del(totest['code-parsing-2-14'])
-+ elif pygments_version >= Version('2.14.0'):
-+ del(totest['code-parsing'])
-+ else:
-+ del(totest['code-parsing-2-14'])
- s.generateTests(totest)
- return s
-
-@@ -170,6 +176,165 @@ totest['code-parsing'] = [
- \n\
- <inline classes="name builtin">
- print
-+ <inline classes="punctuation">
-+ (
-+ <inline classes="literal number integer">
-+ 8
-+ <inline classes="operator">
-+ /
-+ <inline classes="literal number integer">
-+ 2
-+ <inline classes="punctuation">
-+ )
-+"""],
-+["""\
-+.. code:: latex
-+ :class: testclass
-+
-+ hello \\emph{world} % emphasize
-+""",
-+"""\
-+<document source="test data">
-+ <literal_block classes="code latex testclass" xml:space="preserve">
-+ hello \n\
-+ <inline classes="keyword">
-+ \\emph
-+ <inline classes="name builtin">
-+ {
-+ world
-+ <inline classes="name builtin">
-+ }
-+ \n\
-+ <inline classes="comment">
-+ % emphasize"""],
-+["""\
-+.. code:: rst
-+ :number-lines:
-+
-+ This is a code block with text.
-+""",
-+"""\
-+<document source="test data">
-+ <literal_block classes="code rst" xml:space="preserve">
-+ <inline classes="ln">
-+ 1 \n\
-+ This is a code block with text.
-+"""],
-+["""\
-+Code not parsed but warning silenced in ParserTestCase.
-+
-+.. code:: s-lang
-+
-+ % abc.sl
-+ autoload("abc_mode", "abc");
-+""",
-+"""\
-+<document source="test data">
-+ <paragraph>
-+ Code not parsed but warning silenced in ParserTestCase.
-+ <literal_block classes="code s-lang" xml:space="preserve">
-+ % abc.sl
-+ autoload("abc_mode", "abc");
-+"""],
-+["""\
-+Place the language name in a class argument to avoid the no-lexer warning:
-+
-+.. code::
-+ :class: s-lang
-+
-+ % abc.sl
-+ autoload("abc_mode", "abc");
-+""",
-+"""\
-+<document source="test data">
-+ <paragraph>
-+ Place the language name in a class argument to avoid the no-lexer warning:
-+ <literal_block classes="code s-lang" xml:space="preserve">
-+ % abc.sl
-+ autoload("abc_mode", "abc");
-+"""],
-+]
-+
-+totest['code-parsing-2-14'] = [
-+["""\
-+.. code:: python3
-+ :class: testclass
-+
-+ print('hello world') # to stdout
-+""",
-+"""\
-+<document source="test data">
-+ <literal_block classes="code python3 testclass" xml:space="preserve">
-+ \n\
-+ <inline classes="name builtin">
-+ print
-+ <inline classes="punctuation">
-+ (
-+ <inline classes="literal string single">
-+ 'hello world'
-+ <inline classes="punctuation">
-+ )
-+ \n\
-+ <inline classes="comment single">
-+ # to stdout
-+"""],
-+["""\
-+.. code:: python3
-+ :class: testclass
-+ :name: my_function
-+ :number-lines: 7
-+
-+ def my_function():
-+ '''Test the lexer.
-+ '''
-+
-+ # and now for something completely different
-+ print(8/2)
-+""",
-+"""\
-+<document source="test data">
-+ <literal_block classes="code python3 testclass" ids="my-function" names="my_function" xml:space="preserve">
-+ <inline classes="ln">
-+ 7 \n\
-+ <inline classes="keyword">
-+ def
-+ \n\
-+ <inline classes="name function">
-+ my_function
-+ <inline classes="punctuation">
-+ ():
-+ <inline classes="whitespace">
-+ \n\
-+ <inline classes="ln">
-+ 8 \n\
-+ <inline classes="whitespace">
-+ \n\
-+ <inline classes="literal string doc">
-+ \'\'\'Test the lexer.
-+ <inline classes="ln">
-+ 9 \n\
-+ <inline classes="literal string doc">
-+ \'\'\'
-+ <inline classes="whitespace">
-+ \n\
-+ <inline classes="ln">
-+ 10 \n\
-+ <inline classes="whitespace">
-+ \n\
-+ <inline classes="ln">
-+ 11 \n\
-+ <inline classes="whitespace">
-+ \n\
-+ <inline classes="comment single">
-+ # and now for something completely different
-+ <inline classes="whitespace">
-+ \n\
-+ <inline classes="ln">
-+ 12 \n\
-+ <inline classes="whitespace">
-+ \n\
-+ <inline classes="name builtin">
-+ print
- <inline classes="punctuation">
- (
- <inline classes="literal number integer">
---- a/test/test_parsers/test_rst/test_directives/test_code_long.py
-+++ b/test/test_parsers/test_rst/test_directives/test_code_long.py
-@@ -10,15 +10,22 @@ Test the 'code' directive in body.py wit
-
- if __name__ == '__main__':
- import __init__ # noqa: F401
-+from packaging.version import Version
- from test_parsers import DocutilsTestSupport
--from docutils.utils.code_analyzer import with_pygments
-+from docutils.utils.code_analyzer import with_pygments, pygments_version
-
-
- def suite():
- settings = {'syntax_highlight': 'long'}
- s = DocutilsTestSupport.ParserTestSuite(suite_settings=settings)
- if with_pygments:
-+ if pygments_version >= Version('2.14.0'):
-+ del(totest['code-parsing-long'])
-+ else:
-+ del(totest['code-parsing-long-2-14'])
-+
- s.generateTests(totest)
-+
- return s
-
-
-@@ -73,6 +80,94 @@ totest['code-parsing-long'] = [
- \n\
- <inline classes="name builtin">
- print
-+ <inline classes="punctuation">
-+ (
-+ <inline classes="literal number integer">
-+ 8
-+ <inline classes="operator">
-+ /
-+ <inline classes="literal number integer">
-+ 2
-+ <inline classes="punctuation">
-+ )
-+"""],
-+["""\
-+.. code:: latex
-+
-+ hello \\emph{world} % emphasize
-+""",
-+"""\
-+<document source="test data">
-+ <literal_block classes="code latex" xml:space="preserve">
-+ hello \n\
-+ <inline classes="keyword">
-+ \\emph
-+ <inline classes="name builtin">
-+ {
-+ world
-+ <inline classes="name builtin">
-+ }
-+ \n\
-+ <inline classes="comment">
-+ % emphasize"""],
-+]
-+
-+totest['code-parsing-long-2-14'] = [
-+["""\
-+.. code:: python3
-+ :number-lines: 7
-+
-+ def my_function():
-+ '''Test the lexer.
-+ '''
-+
-+ # and now for something completely different
-+ print(8/2)
-+""",
-+"""\
-+<document source="test data">
-+ <literal_block classes="code python3" xml:space="preserve">
-+ <inline classes="ln">
-+ 7 \n\
-+ <inline classes="keyword">
-+ def
-+ \n\
-+ <inline classes="name function">
-+ my_function
-+ <inline classes="punctuation">
-+ ():
-+ <inline classes="whitespace">
-+ \n\
-+ <inline classes="ln">
-+ 8 \n\
-+ <inline classes="whitespace">
-+ \n\
-+ <inline classes="literal string doc">
-+ \'\'\'Test the lexer.
-+ <inline classes="ln">
-+ 9 \n\
-+ <inline classes="literal string doc">
-+ \'\'\'
-+ <inline classes="whitespace">
-+ \n\
-+ <inline classes="ln">
-+ 10 \n\
-+ <inline classes="whitespace">
-+ \n\
-+ <inline classes="ln">
-+ 11 \n\
-+ <inline classes="whitespace">
-+ \n\
-+ <inline classes="comment single">
-+ # and now for something completely different
-+ <inline classes="whitespace">
-+ \n\
-+ <inline classes="ln">
-+ 12 \n\
-+ <inline classes="whitespace">
-+ \n\
-+ <inline classes="name builtin">
-+ print
- <inline classes="punctuation">
- (
- <inline classes="literal number integer">
---- a/test/test_parsers/test_rst/test_directives/test_include.py
-+++ b/test/test_parsers/test_rst/test_directives/test_include.py
-@@ -10,9 +10,10 @@ Tests for misc.py "include" directive.
- import os.path
- if __name__ == '__main__':
- import __init__ # noqa: F401
-+from packaging.version import Version
- from test_parsers import DocutilsTestSupport
- from docutils import parsers
--from docutils.utils.code_analyzer import with_pygments
-+from docutils.utils.code_analyzer import with_pygments, pygments_version
-
- # optional 3rd-party markdown parser
- md_parser_name = 'recommonmark'
-@@ -27,6 +28,11 @@ def suite():
- # eventually skip optional parts:
- if not with_pygments:
- del(totest['include-code'])
-+ del(totest['include-code-2-14'])
-+ elif pygments_version >= Version('2.14.0'):
-+ del(totest['include-code'])
-+ else:
-+ del(totest['include-code-2-14'])
- if not md_parser_class:
- del(totest['include-markdown'])
- s.generateTests(totest)
-@@ -1191,6 +1197,313 @@ Including includes/include14.txt
- <inline classes="punctuation">
- ..
- \n\
-+ <inline classes="operator word">
-+ include
-+ <inline classes="punctuation">
-+ ::
-+ ../sibling/include7.txt
-+""" % reldir(include6)],
-+["""\
-+Circular inclusion
-+
-+.. include:: %s
-+""" % include15,
-+"""\
-+<document source="test data">
-+ <paragraph>
-+ Circular inclusion
-+ <paragraph>
-+ File "include15.txt": example of rekursive inclusion.
-+ <paragraph>
-+ File "include16.txt": example of rekursive inclusion.
-+ <system_message level="2" line="3" source="%s" type="WARNING">
-+ <paragraph>
-+ circular inclusion in "include" directive:
-+ %s
-+ > %s
-+ > %s
-+ > test data
-+ <literal_block xml:space="preserve">
-+ .. include:: include15.txt
-+ <paragraph>
-+ No loop when clipping before the "include" directive:
-+ <paragraph>
-+ File "include15.txt": example of rekursive inclusion.
-+""" % (reldir(include16), reldir(include15),
-+ reldir(include16), reldir(include15))],
-+["""\
-+Circular inclusion with clipping.
-+
-+.. include:: %s
-+ :start-line: 2
-+""" % include16,
-+"""\
-+<document source="test data">
-+ <paragraph>
-+ Circular inclusion with clipping.
-+ <paragraph>
-+ File "include15.txt": example of rekursive inclusion.
-+ <paragraph>
-+ File "include16.txt": example of rekursive inclusion.
-+ <system_message level="2" line="3" source="%s" type="WARNING">
-+ <paragraph>
-+ circular inclusion in "include" directive:
-+ %s
-+ > %s
-+ > %s
-+ > %s
-+ > test data
-+ <literal_block xml:space="preserve">
-+ .. include:: include15.txt
-+ <paragraph>
-+ No loop when clipping before the "include" directive:
-+ <paragraph>
-+ File "include15.txt": example of rekursive inclusion.
-+ <paragraph>
-+ No loop when clipping before the "include" directive:
-+ <paragraph>
-+ File "include15.txt": example of rekursive inclusion.
-+""" % (reldir(include16), reldir(include15), reldir(include16),
-+ reldir(include15), reldir(include16))],
-+["""\
-+Circular inclusion with specified parser.
-+
-+.. include:: %s
-+ :parser: rst
-+""" % include15,
-+"""\
-+<document source="test data">
-+ <paragraph>
-+ Circular inclusion with specified parser.
-+ <paragraph>
-+ File "include15.txt": example of rekursive inclusion.
-+ <paragraph>
-+ File "include16.txt": example of rekursive inclusion.
-+ <system_message level="2" line="3" source="%s" type="WARNING">
-+ <paragraph>
-+ circular inclusion in "include" directive:
-+ %s
-+ > %s
-+ > %s
-+ > test data
-+ <literal_block xml:space="preserve">
-+ .. include:: include15.txt
-+ <paragraph>
-+ No loop when clipping before the "include" directive:
-+ <paragraph>
-+ File "include15.txt": example of rekursive inclusion.
-+""" % (reldir(include16), reldir(include15),
-+ reldir(include16), reldir(include15))],
-+["""\
-+No circular inclusion.
-+
-+============================= =============================
-+.. include:: data/include.txt .. include:: data/include.txt
-+============================= =============================
-+""",
-+"""\
-+<document source="test data">
-+ <paragraph>
-+ No circular inclusion.
-+ <table>
-+ <tgroup cols="2">
-+ <colspec colwidth="29">
-+ <colspec colwidth="29">
-+ <tbody>
-+ <row>
-+ <entry>
-+ <paragraph>
-+ Some include text.
-+ <entry>
-+ <paragraph>
-+ Some include text."""],
-+]
-+
-+totest['include-code-2-14'] = [
-+["""\
-+Included code
-+
-+.. include:: %s
-+ :code: rst
-+""" % include1,
-+"""\
-+<document source="test data">
-+ <paragraph>
-+ Included code
-+ <literal_block classes="code rst" source="%s" xml:space="preserve">
-+ <inline classes="generic heading">
-+ Inclusion 1
-+ \n\
-+ <inline classes="generic heading">
-+ -----------
-+ \n\
-+ <inline classes="whitespace">
-+ \n\
-+ This file is used by \n\
-+ <inline classes="literal string">
-+ ``test_include.py``
-+ .
-+""" % reldir(include1)],
-+["""\
-+Included code
-+
-+.. include:: %s
-+ :code: rst
-+ :number-lines:
-+""" % include1,
-+"""\
-+<document source="test data">
-+ <paragraph>
-+ Included code
-+ <literal_block classes="code rst" source="%s" xml:space="preserve">
-+ <inline classes="ln">
-+ 1 \n\
-+ <inline classes="generic heading">
-+ Inclusion 1
-+ \n\
-+ <inline classes="ln">
-+ 2 \n\
-+ <inline classes="generic heading">
-+ -----------
-+ \n\
-+ <inline classes="ln">
-+ 3 \n\
-+ <inline classes="whitespace">
-+ \n\
-+ <inline classes="ln">
-+ 4 \n\
-+ <inline classes="whitespace">
-+ This file is used by \n\
-+ <inline classes="literal string">
-+ ``test_include.py``
-+ .
-+""" % reldir(include1)],
-+["""\
-+TAB expansion with included code:
-+
-+.. include:: %s
-+ :code: rst
-+""" % include_literal,
-+"""\
-+<document source="test data">
-+ <paragraph>
-+ TAB expansion with included code:
-+ <literal_block classes="code rst" source="%s" xml:space="preserve">
-+ Literal included this should \n\
-+ <inline classes="generic strong">
-+ **not**
-+ be \n\
-+ <inline classes="generic emph">
-+ *marked*
-+ \n\
-+ <inline classes="name variable">
-+ `up`
-+ .
-+ <inline classes="whitespace">
-+ \n\
-+ <- leading raw tab.
-+ <inline classes="whitespace">
-+ \n\
-+ \n\
-+ Newlines
-+ <inline classes="whitespace">
-+ \n\
-+ are
-+ <inline classes="whitespace">
-+ \n\
-+ normalized.
-+""" % include_literal],
-+["""\
-+Custom TAB expansion with included code:
-+
-+.. include:: %s
-+ :code: rst
-+ :tab-width: 2
-+""" % include_literal,
-+"""\
-+<document source="test data">
-+ <paragraph>
-+ Custom TAB expansion with included code:
-+ <literal_block classes="code rst" source="%s" xml:space="preserve">
-+ Literal included this should \n\
-+ <inline classes="generic strong">
-+ **not**
-+ be \n\
-+ <inline classes="generic emph">
-+ *marked*
-+ \n\
-+ <inline classes="name variable">
-+ `up`
-+ .
-+ <inline classes="whitespace">
-+ \n\
-+ <- leading raw tab.
-+ <inline classes="whitespace">
-+ \n\
-+ \n\
-+ Newlines
-+ <inline classes="whitespace">
-+ \n\
-+ are
-+ <inline classes="whitespace">
-+ \n\
-+ normalized.
-+""" % include_literal],
-+["""\
-+Custom TAB expansion with included code:
-+
-+.. include:: %s
-+ :code: rst
-+ :tab-width: -1
-+""" % include_literal,
-+"""\
-+<document source="test data">
-+ <paragraph>
-+ Custom TAB expansion with included code:
-+ <literal_block classes="code rst" source="%s" xml:space="preserve">
-+ Literal included this should \n\
-+ <inline classes="generic strong">
-+ **not**
-+ be \n\
-+ <inline classes="generic emph">
-+ *marked*
-+ \n\
-+ <inline classes="name variable">
-+ `up`
-+ .
-+ <inline classes="whitespace">
-+ \n\
-+ \t<- leading raw tab.
-+ <inline classes="whitespace">
-+ \n\
-+ \n\
-+ Newlines
-+ <inline classes="whitespace">
-+ \n\
-+ are
-+ <inline classes="whitespace">
-+ \n\
-+ normalized.
-+""" % include_literal],
-+["""\
-+Including includes/include14.txt
-+
-+.. include:: %s
-+""" % include14,
-+"""\
-+<document source="test data">
-+ <paragraph>
-+ Including includes/include14.txt
-+ <paragraph>
-+ Including more/include6.txt as rst-code from includes/include14.txt:
-+ <literal_block classes="code rst" source="%s" xml:space="preserve">
-+ In includes/more/include6.txt
-+ <inline classes="whitespace">
-+ \n\
-+ \n\
-+ <inline classes="punctuation">
-+ ..
-+ \n\
- <inline classes="operator word">
- include
- <inline classes="punctuation">
---- a/docutils/utils/code_analyzer.py
-+++ b/docutils/utils/code_analyzer.py
-@@ -9,11 +9,14 @@
- from docutils import ApplicationError
- try:
- import pygments
-+ from packaging.version import Version
- from pygments.lexers import get_lexer_by_name
- from pygments.formatters.html import _get_ttype_class
- with_pygments = True
-+ pygments_version = Version(pygments.__version__)
- except ImportError:
- with_pygments = False
-+ pygments_version = '0'
-
- # Filter the following token types from the list of class arguments:
- unstyled_tokens = ['token', # Token (base token type)
-
-
diff --git a/dev-python/dogpile-cache/Manifest b/dev-python/dogpile-cache/Manifest
index 8581689ab24a..3b0990ddaa89 100644
--- a/dev-python/dogpile-cache/Manifest
+++ b/dev-python/dogpile-cache/Manifest
@@ -1 +1 @@
-DIST dogpile.cache-1.2.2.tar.gz 263102 BLAKE2B ccd64492e154f30b27a9b031086acd89002c9cae402105720022370688c6343c6c7a023fc643390764a40dfa9dde083e5adaf644aa79939c0bf6573c4c518366 SHA512 23b078b79e4b1f87c8d397d35b772f0b5fee66a0e452de06e7644ecb1ef577ae1629307a0e32fa62f49d536f95fb62fe70ededeb43647fa0c2e0baf896261931
+DIST dogpile.cache-1.3.3.tar.gz 272404 BLAKE2B 1d28bf4293d4cbf8c5a97926458f92dc619a010f0f2fbb8242a2a6daff4ac09ec2f76faca7ee3e622d30a9b1adc7ca01d14cab0ebd5f05e0e35c5df32646be21 SHA512 80809d072167c62dcc731ab5b265c54bcc6f6a1dc09e3ea88959a34823dc0bb776b61166b8e60812dd47c38e8f23ba55c2be173d600a10c4c400c1334d0339fb
diff --git a/dev-python/dogpile-cache/dogpile-cache-1.2.2.ebuild b/dev-python/dogpile-cache/dogpile-cache-1.2.2.ebuild
deleted file mode 100644
index ac6d861d896a..000000000000
--- a/dev-python/dogpile-cache/dogpile-cache-1.2.2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A locking API for expiring values while a single thread generates a new value"
-HOMEPAGE="
- https://github.com/sqlalchemy/dogpile.cache/
- https://pypi.org/project/dogpile.cache/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/decorator-4.0.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/typing-extensions-4.0.1[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- test? (
- dev-python/mako[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/dogpile-cache/dogpile-cache-1.3.3.ebuild b/dev-python/dogpile-cache/dogpile-cache-1.3.3.ebuild
new file mode 100644
index 000000000000..b9a1cc14e946
--- /dev/null
+++ b/dev-python/dogpile-cache/dogpile-cache-1.3.3.ebuild
@@ -0,0 +1,36 @@
+# 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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A locking API for expiring values while a single thread generates a new value"
+HOMEPAGE="
+ https://github.com/sqlalchemy/dogpile.cache/
+ https://pypi.org/project/dogpile.cache/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/decorator-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/mako[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/doit-py/doit-py-0.5.0-r1.ebuild b/dev-python/doit-py/doit-py-0.5.0-r1.ebuild
index 1d713f67d6d6..1e28fab0cd47 100644
--- a/dev-python/doit-py/doit-py-0.5.0-r1.ebuild
+++ b/dev-python/doit-py/doit-py-0.5.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/doit/doit-0.36.0-r2.ebuild b/dev-python/doit/doit-0.36.0-r2.ebuild
new file mode 100644
index 000000000000..5c7486a44e39
--- /dev/null
+++ b/dev-python/doit/doit-0.36.0-r2.ebuild
@@ -0,0 +1,70 @@
+# 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..13} )
+
+inherit bash-completion-r1 distutils-r1 pypi
+
+DESCRIPTION="Automation tool"
+HOMEPAGE="
+ https://pydoit.org/
+ https://github.com/pydoit/doit/
+ https://pypi.org/project/doit/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ dev-python/pyinotify[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ || (
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+ )
+ ' 3.10)
+"
+PDEPEND="
+ >=dev-python/doit-py-0.4.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${PDEPEND}
+ $(python_gen_impl_dep sqlite)
+ dev-python/pyflakes[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc \
+ dev-python/sphinx-rtd-theme
+
+EPYTEST_DESELECT=(
+ # test failing due to impact on PATH run in a sandbox
+ tests/test_cmd_strace.py::TestCmdStrace::test_dep # #836164
+ tests/test_cmd_strace.py::TestCmdStrace::test_target
+)
+
+src_prepare() {
+ # Replace custom theme with builtin for documentation
+ sed -e '/html_theme/s/press/sphinx_rtd_theme/' -i doc/conf.py || die
+ # Remove non-exist modules for doc generation (#832754)
+ sed \
+ -e '/sphinx_sitemap/d' \
+ -e '/sphinx_reredirects/d' \
+ -i doc/conf.py || die
+
+ distutils-r1_src_prepare
+}
+
+src_install() {
+ distutils-r1_src_install
+ newbashcomp bash_completion_doit ${PN}
+ insinto /usr/share/zsh/site-functions
+ newins zsh_completion_doit _${PN}
+}
diff --git a/dev-python/dominate/Manifest b/dev-python/dominate/Manifest
index cc3dbea7d591..3f68dcdaea0a 100644
--- a/dev-python/dominate/Manifest
+++ b/dev-python/dominate/Manifest
@@ -1,2 +1 @@
-DIST dominate-2.8.0.tar.gz 37089 BLAKE2B 651ff9ee21c4f5331ef990acfead146f816fc45309740220f68714c3accf7b98661a31400fe050c6b2119525749e9a132f8764d60b72661f7abf5246ebdb5835 SHA512 91b392af8e081dcf0df9f09aabe2cb4d8147bb07a398c5f9f06443fc2664d881afa372c8d4d0583b21e9f9bf687d1d14601e96a33a8ae6e099e1e039821f97df
-DIST dominate-2.9.0.tar.gz 36289 BLAKE2B 8cc2ee67b027d4f1466ace7d39b47a330c87f5f0396b3bfe6a4b7ec3baff8e4e89d3f2cb7c6aa036aacd67743966508e50cdc289412781830f27878a614914ba SHA512 aec4f67bdc1ee0df9f0ed3fec5e41fca044d930d69bd7c508420d8b06d4f21f5d5fc9ec867cea68bd82723cac7b4df645748592dc4ded9213ec60f5bb6a6f421
+DIST dominate-2.9.1.tar.gz 37715 BLAKE2B df0271537916e57d50b0d1918f34cdbcd2b1f2bde1e50995593b242e75758f184515dd33518fec0c57c959f5a504dfebf4210814213b159bed2546af7369d915 SHA512 690f7228957cfc3c673bb1863f4e7d15c5e717c4bde24eb8280efc1be07cd50fae514a10b3208ee1b37e4d19d513622c7768b9efb61f11c286430832e873e8e5
diff --git a/dev-python/dominate/dominate-2.8.0.ebuild b/dev-python/dominate/dominate-2.8.0.ebuild
deleted file mode 100644
index 744551817283..000000000000
--- a/dev-python/dominate/dominate-2.8.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Library for creating and manipulating HTML documents using an elegant DOM API"
-HOMEPAGE="
- https://github.com/Knio/dominate/
- https://pypi.org/project/dominate/
-"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- # quick hack, already fixed in git
- "${FILESDIR}/${P}-py312.patch"
-)
diff --git a/dev-python/dominate/dominate-2.9.0.ebuild b/dev-python/dominate/dominate-2.9.0.ebuild
deleted file mode 100644
index 576830e8c74f..000000000000
--- a/dev-python/dominate/dominate-2.9.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Library for creating and manipulating HTML documents using an elegant DOM API"
-HOMEPAGE="
- https://github.com/Knio/dominate/
- https://pypi.org/project/dominate/
-"
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/dominate/dominate-2.9.1.ebuild b/dev-python/dominate/dominate-2.9.1.ebuild
new file mode 100644
index 000000000000..85015fef18a1
--- /dev/null
+++ b/dev-python/dominate/dominate-2.9.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+# py3.13: https://github.com/Knio/dominate/issues/199
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Library for creating and manipulating HTML documents using an elegant DOM API"
+HOMEPAGE="
+ https://github.com/Knio/dominate/
+ https://pypi.org/project/dominate/
+"
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/dominate/files/dominate-2.8.0-py312.patch b/dev-python/dominate/files/dominate-2.8.0-py312.patch
deleted file mode 100644
index ffd010caf735..000000000000
--- a/dev-python/dominate/files/dominate-2.8.0-py312.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-diff --git a/setup.py b/setup.py
-index f83890f..5454cc3 100644
---- a/setup.py
-+++ b/setup.py
-@@ -19,14 +19,11 @@ Public License along with dominate. If not, see
-
- from setuptools import setup
-
--import imp
--_version = imp.load_source("dominate._version", "dominate/_version.py")
--
- long_description = open('README.md').read()
-
- setup(
- name = 'dominate',
-- version = _version.__version__,
-+ version = '2.8.0',
- author = 'Tom Flanagan and Jake Wharton',
- author_email = 'tom@zkpq.ca',
- license = 'LGPLv3',
diff --git a/dev-python/doublex-expects/doublex-expects-0.7.1-r1.ebuild b/dev-python/doublex-expects/doublex-expects-0.7.1-r1.ebuild
index ce9bc921d5eb..28924e045a5e 100644
--- a/dev-python/doublex-expects/doublex-expects-0.7.1-r1.ebuild
+++ b/dev-python/doublex-expects/doublex-expects-0.7.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/doublex/doublex-1.9.6.1.ebuild b/dev-python/doublex/doublex-1.9.6.1.ebuild
index 2da925094b2c..150e68fbf046 100644
--- a/dev-python/doublex/doublex-1.9.6.1.ebuild
+++ b/dev-python/doublex/doublex-1.9.6.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/dparse/Manifest b/dev-python/dparse/Manifest
index f44e340fd614..3690a7ca2bf6 100644
--- a/dev-python/dparse/Manifest
+++ b/dev-python/dparse/Manifest
@@ -1 +1 @@
-DIST dparse-0.6.3.tar.gz 20316 BLAKE2B 6da05ddd01b059f8c7473be99f80d0b870c61f5417b3957a7ba55077e2e4757c0a7438b64abde042ea9d4d4a8faa0024752e735c02136f8274ba3ad120324a02 SHA512 b73623fee7add7bf7d5f453c96f602a28ceca8552bba14f938ad3102da38f23e9a93469cf716beeb0a2f2a578562e3ab843c1e86b7615c315b100c0c32108a7b
+DIST dparse-0.6.4b0.tar.gz 25761 BLAKE2B c2f430e9a59ca3747d00151aa5e5afdc51ad42dccafb2d5c95c4a62e405109bab6bba9de39a62703ef6f1846081cac9cb1e2bcc3986690ca6dc2f21220ffedd6 SHA512 f0cf9f07bca93388e85d0aa5bb8359cdaf276c5abf146f8469fe7b32a2ca0614452bcb3a48c55da4421964062fc0baf538386dce8f5e2a70b618533c870791ac
diff --git a/dev-python/dparse/dparse-0.6.3-r1.ebuild b/dev-python/dparse/dparse-0.6.3-r1.ebuild
deleted file mode 100644
index 235c3f98794f..000000000000
--- a/dev-python/dparse/dparse-0.6.3-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A parser for Python dependency files"
-HOMEPAGE="
- https://github.com/pyupio/dparse
- https://pypi.org/project/dparse/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-
-distutils_enable_tests pytest
-
-BDEPEND="
- test? (
- dev-python/pipenv[${PYTHON_USEDEP}]
- )
-"
-
-PDEPEND="
- dev-python/pipenv[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/dparse/dparse-0.6.4_beta0.ebuild b/dev-python/dparse/dparse-0.6.4_beta0.ebuild
new file mode 100644
index 000000000000..46f254f5d0ae
--- /dev/null
+++ b/dev-python/dparse/dparse-0.6.4_beta0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2022-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="A parser for Python dependency files"
+HOMEPAGE="
+ https://github.com/pyupio/dparse
+ https://pypi.org/project/dparse/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+# Break circular dependency
+PDEPEND="
+ dev-python/pipenv[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${PDEPEND}
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/dulwich/Manifest b/dev-python/dulwich/Manifest
index f9a4e5676e61..2a5990124616 100644
--- a/dev-python/dulwich/Manifest
+++ b/dev-python/dulwich/Manifest
@@ -1 +1 @@
-DIST dulwich-0.21.6.tar.gz 445545 BLAKE2B a3189b4777e295bf26345172fa1c4f6ca4c45e807a9197cd2bc8c0255a9ebb7fa752bc98369ffe780671dc9610fefb1fc4bd9b6b75d90b7322d048197da0aeaa SHA512 24f1d82be08b6ee78e41cd86ec2323a51dd6bff3714b1eae1f8484eda316c9d1c8089ded853511d587898ba789d36ee014c8f3b7c718bf7168519725f4d9dc2c
+DIST dulwich-0.21.7.tar.gz 448028 BLAKE2B 8ceace901ce4b444d6f40f7071b7a95a04d27a63b9076fd82c97b7fb551dd769c38940d0ec42ebfd6592154df912139f0ca58801ba2fa0ef412d6a749253500a SHA512 56ddf8db21088b264623c568f28caa80d8687d26e5127093daaa4d556b0f49218ac51491a47ced00e9af073bd7ca05b2eb8b29d64aae8b93dd4bd47ca67ee443
diff --git a/dev-python/dulwich/dulwich-0.21.6.ebuild b/dev-python/dulwich/dulwich-0.21.6.ebuild
deleted file mode 100644
index 20ab1fa9143e..000000000000
--- a/dev-python/dulwich/dulwich-0.21.6.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Pure-Python implementation of the Git file formats and protocols"
-HOMEPAGE="
- https://github.com/jelmer/dulwich/
- https://pypi.org/project/dulwich/
-"
-
-LICENSE="GPL-2+ Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ppc ~ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- app-crypt/gpgme[python,${PYTHON_USEDEP}]
- dev-python/fastimport[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs
-
-python_test() {
- # remove interference from the tests that do stuff like user.name
- unset GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE
- unset GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE
- unset EMAIL
- # Do not use make check which rebuilds the extension and uses -Werror,
- # causing unexpected failures.
- "${EPYTHON}" -m unittest -v dulwich.tests.test_suite ||
- die "tests failed with ${EPYTHON}"
-}
-
-python_install_all() {
- if use examples; then
- docompress -x "/usr/share/doc/${PF}/examples"
- dodoc -r examples
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/dulwich/dulwich-0.21.7-r1.ebuild b/dev-python/dulwich/dulwich-0.21.7-r1.ebuild
new file mode 100644
index 000000000000..8adf598c2343
--- /dev/null
+++ b/dev-python/dulwich/dulwich-0.21.7-r1.ebuild
@@ -0,0 +1,64 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pure-Python implementation of the Git file formats and protocols"
+HOMEPAGE="
+ https://github.com/jelmer/dulwich/
+ https://pypi.org/project/dulwich/
+"
+
+LICENSE="GPL-2+ Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc examples test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/urllib3-1.25[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ app-crypt/gpgme[python,${PYTHON_USEDEP}]
+ dev-python/fastimport[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+
+src_prepare() {
+ # Do not install "docs" directory into site-packages
+ # https://github.com/jelmer/dulwich/issues/1248
+ [[ ${PV} != 0.21.7 ]] && die "Remove the hack!"
+ sed -i -e '/package_data/d' setup.py || die
+ rm -r *.egg-info || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # remove interference from the tests that do stuff like user.name
+ unset GIT_AUTHOR_NAME GIT_AUTHOR_EMAIL GIT_AUTHOR_DATE
+ unset GIT_COMMITTER_NAME GIT_COMMITTER_EMAIL GIT_COMMITTER_DATE
+ unset EMAIL
+ # Do not use make check which rebuilds the extension and uses -Werror,
+ # causing unexpected failures.
+ "${EPYTHON}" -m unittest -v dulwich.tests.test_suite ||
+ die "tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/easyprocess/easyprocess-1.1-r1.ebuild b/dev-python/easyprocess/easyprocess-1.1-r1.ebuild
index 2661c95b3b24..894f12196e82 100644
--- a/dev-python/easyprocess/easyprocess-1.1-r1.ebuild
+++ b/dev-python/easyprocess/easyprocess-1.1-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/ecdsa/Manifest b/dev-python/ecdsa/Manifest
index cdab22fd9216..4e770d68011a 100644
--- a/dev-python/ecdsa/Manifest
+++ b/dev-python/ecdsa/Manifest
@@ -1 +1 @@
-DIST ecdsa-0.18.0.tar.gz 197938 BLAKE2B d4f55591d58a998e69c070983d6cc45720677f83dc6149bd95938c79391df85fe5ce8fe059e961d23b8334d9ac4ef4972bff91a6e9537affc9ddd75c7cbce4f7 SHA512 f26dbeccd8e6ec832405d419b7244ca97b43a2811513493913a4f2f2fd1d2f453068fe0ba7b90b972f42a0d7b9834212fbd4d4559475cffeb1d80075fa954d78
+DIST ecdsa-0.19.0.tar.gz 197791 BLAKE2B bcf8cead08bb9354c91a788e7bf03c9c8befa03f6fcbd65de0ba4442353a68683e7e100cef307387b270eb525c9f7778492f43b83929648866e6c0b5fc09b40f SHA512 7fa90c810800f453ffcdf1872f9a8448cb6081478980cc3d7f282284b4e5483c3a86dc7b1ad6c3a4f46102479e9c8493a9d16903c462383ebf09f9021c0f3217
diff --git a/dev-python/ecdsa/ecdsa-0.18.0.ebuild b/dev-python/ecdsa/ecdsa-0.18.0.ebuild
deleted file mode 100644
index 4367e2126d07..000000000000
--- a/dev-python/ecdsa/ecdsa-0.18.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="ECDSA cryptographic signature library in pure Python"
-HOMEPAGE="
- https://github.com/tlsfuzzer/python-ecdsa/
- https://pypi.org/project/ecdsa/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos ~x64-macos"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/gmpy[${PYTHON_USEDEP}]
- ' 'python*')
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/ecdsa/ecdsa-0.19.0.ebuild b/dev-python/ecdsa/ecdsa-0.19.0.ebuild
new file mode 100644
index 000000000000..b1558426c056
--- /dev/null
+++ b/dev-python/ecdsa/ecdsa-0.19.0.ebuild
@@ -0,0 +1,33 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="ECDSA cryptographic signature library in pure Python"
+HOMEPAGE="
+ https://github.com/tlsfuzzer/python-ecdsa/
+ https://pypi.org/project/ecdsa/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~ppc-macos ~x64-macos"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/gmpy[${PYTHON_USEDEP}]
+ ' 'python*')
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/editables/editables-0.5.ebuild b/dev-python/editables/editables-0.5.ebuild
index 0984046e406e..52cf46aee0df 100644
--- a/dev-python/editables/editables-0.5.ebuild
+++ b/dev-python/editables/editables-0.5.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/editorconfig-core-py/Manifest b/dev-python/editorconfig-core-py/Manifest
deleted file mode 100644
index 163c02aae408..000000000000
--- a/dev-python/editorconfig-core-py/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST editorconfig-core-py-0.12.3.tar.gz 19261 BLAKE2B 58cac122cfee19527bc45def7e923da50982de0e2cd443cf67dd824c050fb12352b85a5679815a701bc5b8d88a089a0a98280c364730086d01b80f119ad996a4 SHA512 005d0698c410c8865d177a1e891b5c51b15255f36303b116fddbbbc08e309d1d60ca3003d27e6fd8455e53c5956db0c29e298f22f4b10950e1f7c56c7c6e0ab3
-DIST editorconfig-core-test-abb579e00f2deeede91cb485e53512efab9c6474.tar.gz 7900 BLAKE2B 9ebdb5e522948bc9e86ea84435ccaa11585a8a12f4cd6fe54c64d78917281c913568351767d8077623b1196d84206d1c2d0126a0510f70df484c1b55d829028b SHA512 ae5424b4926d6cb127cb3da473400ced4f7ccf224f7baa8bc5bde0317cc045bb7b99738a56efe5fd0e5a0fbe39b997b9fb1739d24713e7f83b58e987c5e56a32
diff --git a/dev-python/editorconfig-core-py/editorconfig-core-py-0.12.3-r1.ebuild b/dev-python/editorconfig-core-py/editorconfig-core-py-0.12.3-r1.ebuild
deleted file mode 100644
index f23f55ddca2f..000000000000
--- a/dev-python/editorconfig-core-py/editorconfig-core-py-0.12.3-r1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit cmake distutils-r1
-
-TESTVER="abb579e00f2deeede91cb485e53512efab9c6474"
-DESCRIPTION="Clone of EditorConfig core written in Python"
-HOMEPAGE="https://editorconfig.org/"
-SRC_URI="https://github.com/${PN%-core-py}/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz
- test? (
- https://github.com/${PN%-core-py}/${PN%-core-py}-core-test/archive/${TESTVER}.tar.gz -> ${PN%-core-py}-core-test-${TESTVER}.tar.gz
- )"
-
-LICENSE="PYTHON BSD-4"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="cli test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="!<app-vim/editorconfig-vim-0.3.3-r1
- cli? ( !app-text/editorconfig-core-c[cli] )"
-
-src_prepare() {
- if use test; then
- mv "${WORKDIR}"/${PN%-core-py}-core-test-${TESTVER}/* "${S}"/tests || die
- fi
- if ! use cli; then
- sed -i -e '/editorconfig\.__main__/d' setup.py || die
- fi
-
- cmake_src_prepare
- distutils-r1_src_prepare
-}
-
-python_test() {
- local mycmakeargs=(
- -DPYTHON_EXECUTABLE="${PYTHON}"
- )
-
- cmake_src_configure
- cmake_src_compile
- cmake_src_test
-}
diff --git a/dev-python/editorconfig/Manifest b/dev-python/editorconfig/Manifest
new file mode 100644
index 000000000000..9d72588b6ce0
--- /dev/null
+++ b/dev-python/editorconfig/Manifest
@@ -0,0 +1,2 @@
+DIST editorconfig-core-py-0.12.4.gh.tar.gz 19411 BLAKE2B f1cbcce704efb9a185ff25e2fe800156a02288be389a3908579fbf4ec0131f79fc9a453040d4259fc050e1aa94cfc68f557580c86ca8d7fb65582c32d7a1c6af SHA512 12eea18d0af84eea6f71658781c9f9b58e3490db7056ddc5eae3e0ce3413635eac995e0fdef33a7fe6e2d60649e95a67034a53f304faa38f6022d86fee135464
+DIST editorconfig-core-test-abb579e00f2deeede91cb485e53512efab9c6474.gh.tar.gz 7900 BLAKE2B 9ebdb5e522948bc9e86ea84435ccaa11585a8a12f4cd6fe54c64d78917281c913568351767d8077623b1196d84206d1c2d0126a0510f70df484c1b55d829028b SHA512 ae5424b4926d6cb127cb3da473400ced4f7ccf224f7baa8bc5bde0317cc045bb7b99738a56efe5fd0e5a0fbe39b997b9fb1739d24713e7f83b58e987c5e56a32
diff --git a/dev-python/editorconfig/editorconfig-0.12.4-r1.ebuild b/dev-python/editorconfig/editorconfig-0.12.4-r1.ebuild
new file mode 100644
index 000000000000..3c2d38743f70
--- /dev/null
+++ b/dev-python/editorconfig/editorconfig-0.12.4-r1.ebuild
@@ -0,0 +1,55 @@
+# 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..13} )
+
+inherit cmake distutils-r1
+
+MY_P=editorconfig-core-py-${PV}
+TESTVER="abb579e00f2deeede91cb485e53512efab9c6474"
+DESCRIPTION="Clone of EditorConfig core written in Python"
+HOMEPAGE="
+ https://editorconfig.org/
+ https://github.com/editorconfig/editorconfig-core-py/
+ https://pypi.org/project/EditorConfig/
+"
+SRC_URI="
+ https://github.com/editorconfig/editorconfig-core-py/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+ test? (
+ https://github.com/editorconfig/editorconfig-core-test/archive/${TESTVER}.tar.gz
+ -> editorconfig-core-test-${TESTVER}.gh.tar.gz
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="PYTHON BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+IUSE="cli test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ cli? ( !app-text/editorconfig-core-c[cli] )
+"
+
+src_prepare() {
+ if use test; then
+ mv "${WORKDIR}"/editorconfig-core-test-${TESTVER}/* "${S}"/tests || die
+ fi
+ if ! use cli; then
+ sed -i -e '/editorconfig\.__main__/d' setup.cfg || die
+ fi
+
+ cmake_src_prepare
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ cmake_src_configure
+ cmake_src_compile
+ cmake_src_test
+}
diff --git a/dev-python/editorconfig-core-py/metadata.xml b/dev-python/editorconfig/metadata.xml
index 70597073fdfd..70597073fdfd 100644
--- a/dev-python/editorconfig-core-py/metadata.xml
+++ b/dev-python/editorconfig/metadata.xml
diff --git a/dev-python/elastic-transport/Manifest b/dev-python/elastic-transport/Manifest
index 00992c931f13..778fa5921c37 100644
--- a/dev-python/elastic-transport/Manifest
+++ b/dev-python/elastic-transport/Manifest
@@ -1 +1 @@
-DIST elastic-transport-python-8.10.0.gh.tar.gz 71836 BLAKE2B 1be9a93b6b8cb9b7987de721e65ce532fb247fca931179f99dcdee197cec314a8b3626e0db569a494bab45a194530abccbfd8946d66d03c6bedfb17252a8fb3b SHA512 a883509ec8f0000c4a8aeb435d4dee1cbc4563157668c5e1378e16be9d1a5f5a16927de4df9c5244ca6f1c6f2f273ad513c2d29beaa081b11b34416da2883359
+DIST elastic-transport-python-8.13.1.gh.tar.gz 76370 BLAKE2B 7f4584953c243547a73ee48c9033dc212a837bf0977f1a2329365805705ce1317bc9fa6e35f22affe9cc8f9b3fd6725b44c8a45dde02ac835195d4a6d33964b1 SHA512 a025b80e86163ee25798aba7ebf75f4c481c4f6cbcda0542ab80c0c9899988fc608ad41a2593a2f0371eb6cde2ca8da8c72dd843a03f9b2312d65bddc903dec4
diff --git a/dev-python/elastic-transport/elastic-transport-8.10.0.ebuild b/dev-python/elastic-transport/elastic-transport-8.10.0.ebuild
deleted file mode 100644
index 9f2dbfa5496e..000000000000
--- a/dev-python/elastic-transport/elastic-transport-8.10.0.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=elastic-transport-python-${PV}
-DESCRIPTION="Transport classes and utilities shared among Python Elastic client libraries"
-HOMEPAGE="
- https://github.com/elastic/elastic-transport-python/
- https://pypi.org/project/elastic-transport/
-"
-SRC_URI="
- https://github.com/elastic/elastic-transport-python/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-PROPERTIES="test_network"
-RESTRICT="test"
-
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.26.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-httpserver[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/trustme[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs/sphinx \
- dev-python/furo \
- dev-python/sphinx-autodoc-typehints
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e 's:, *<[0-9.]*::' setup.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # fragile to random warnings
- tests/node/test_http_aiohttp.py::TestAiohttpHttpNode::test_uses_https_if_verify_certs_is_off
- tests/node/test_urllib3_chain_certs.py::test_assert_fingerprint_in_cert_chain
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p asyncio -o addopts=
-}
diff --git a/dev-python/elastic-transport/elastic-transport-8.13.1.ebuild b/dev-python/elastic-transport/elastic-transport-8.13.1.ebuild
new file mode 100644
index 000000000000..8ae43202d660
--- /dev/null
+++ b/dev-python/elastic-transport/elastic-transport-8.13.1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1
+
+MY_P=elastic-transport-python-${PV}
+DESCRIPTION="Transport classes and utilities shared among Python Elastic client libraries"
+HOMEPAGE="
+ https://github.com/elastic/elastic-transport-python/
+ https://pypi.org/project/elastic-transport/
+"
+SRC_URI="
+ https://github.com/elastic/elastic-transport-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/certifi[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.26.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/opentelemetry-api[${PYTHON_USEDEP}]
+ dev-python/opentelemetry-sdk[${PYTHON_USEDEP}]
+ dev-python/orjson[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/respx[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/sphinx \
+ dev-python/furo \
+ dev-python/sphinx-autodoc-typehints
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Fails in upstream CI as well as of 8.13.1
+ # https://github.com/elastic/elastic-transport-python/commit/39488817cd5da824101322e40652d17938f0acac
+ tests/node/test_tls_versions.py::test_unsupported_tls_versions[https://tls-v1-2.badssl.com:1012-772-RequestsHttpNode]
+ # fragile to random warnings
+ tests/node/test_http_aiohttp.py::TestAiohttpHttpNode::test_uses_https_if_verify_certs_is_off
+ tests/node/test_urllib3_chain_certs.py::test_assert_fingerprint_in_cert_chain
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -o addopts=
+}
diff --git a/dev-python/elastic-transport/metadata.xml b/dev-python/elastic-transport/metadata.xml
index a37877aad185..67228b977fc9 100644
--- a/dev-python/elastic-transport/metadata.xml
+++ b/dev-python/elastic-transport/metadata.xml
@@ -10,7 +10,9 @@
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
+ <doc>https://elastic-transport-python.readthedocs.io/</doc>
<remote-id type="github">elastic/elastic-transport-python</remote-id>
<remote-id type="pypi">elastic-transport</remote-id>
</upstream>
+ <stabilize-allarches/>
</pkgmetadata>
diff --git a/dev-python/elasticsearch/Manifest b/dev-python/elasticsearch/Manifest
index eb1059cd1f9b..cef5d3153047 100644
--- a/dev-python/elasticsearch/Manifest
+++ b/dev-python/elasticsearch/Manifest
@@ -1 +1 @@
-DIST elasticsearch-py-8.11.0.gh.tar.gz 897889 BLAKE2B de1821f17c16198c8b85b863e06468715fb080b4e9354499bd4fc5c485dc81bb3747ee73bd5e26edcab71922d67699cbaba79b35a900b80020532bac805e5727 SHA512 914e909f5f2d6ee980d3cff981d1d605d9380211014381e9e998af46d52e0fc0568524c7c9e8d8fed710b855acdb15b1eeb0bcdb59607b67f2f8f99546a1bda8
+DIST elasticsearch-py-8.14.0.gh.tar.gz 1092912 BLAKE2B 4ee556bc475d63e33cec318936b2dbf8b280236bcdfe28bc90a4beb7e1d024b8d63180c29e42096cb32bf3da7c771532c57190d763651118603779f816e95656 SHA512 9e9821102659b4c877959e25c33e1b1942f6eabe62bb6de73cda4875c248b0f9285d948e535e9426ca42552f7aa3e75c459f991bfa574c1d8400d78486ee5493
diff --git a/dev-python/elasticsearch/elasticsearch-8.11.0.ebuild b/dev-python/elasticsearch/elasticsearch-8.11.0.ebuild
deleted file mode 100644
index 1888df04981f..000000000000
--- a/dev-python/elasticsearch/elasticsearch-8.11.0.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P="elasticsearch-py-${PV}"
-DESCRIPTION="Official Elasticsearch client library for Python"
-HOMEPAGE="
- https://ela.st/es-python
- https://github.com/elastic/elasticsearch-py/
- https://pypi.org/project/elasticsearch/
-"
-SRC_URI="
- https://github.com/elastic/elasticsearch-py/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0/$(ver_cut 1)"
-KEYWORDS="amd64 arm64 ~x86"
-
-RDEPEND="
- <dev-python/aiohttp-4[${PYTHON_USEDEP}]
- >=dev-python/aiohttp-3[${PYTHON_USEDEP}]
- <dev-python/elastic-transport-9[${PYTHON_USEDEP}]
- >=dev-python/elastic-transport-8[${PYTHON_USEDEP}]
- <dev-python/requests-3[${PYTHON_USEDEP}]
- >=dev-python/requests-2.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-python/mapbox-vector-tile[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
- dev-python/unasync[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # REST api tests are a black hole for effort. It downloads the tests
- # so its an ever moving target. It also requires effort to blacklist
- # tests for apis which are license restricted.
- "test_elasticsearch/test_server/test_rest_api_spec.py"
- # Counting deprecation warnings from python is bound to fail even
- # if all are fixed in this package. Not worth it.
- "test_elasticsearch/test_client/test_deprecated_options.py"
- # Running daemon for tests is finicky and upstream CI fails at it
- # as well.
- "test_elasticsearch/test_server/"
- "test_elasticsearch/test_async/test_server/"
-)
-
-distutils_enable_sphinx docs/sphinx \
- dev-python/sphinx-autodoc-typehints \
- dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -o addopts= -p asyncio
-}
diff --git a/dev-python/elasticsearch/elasticsearch-8.14.0.ebuild b/dev-python/elasticsearch/elasticsearch-8.14.0.ebuild
new file mode 100644
index 000000000000..0d52bab441a9
--- /dev/null
+++ b/dev-python/elasticsearch/elasticsearch-8.14.0.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1
+
+MY_P="elasticsearch-py-${PV}"
+DESCRIPTION="Official Elasticsearch client library for Python"
+HOMEPAGE="
+ https://ela.st/es-python
+ https://github.com/elastic/elasticsearch-py/
+ https://pypi.org/project/elasticsearch/
+"
+SRC_URI="
+ https://github.com/elastic/elasticsearch-py/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0/$(ver_cut 1)"
+KEYWORDS="amd64 arm64 ~x86"
+
+RDEPEND="
+ <dev-python/aiohttp-4[${PYTHON_USEDEP}]
+ >=dev-python/aiohttp-3[${PYTHON_USEDEP}]
+ <dev-python/elastic-transport-9[${PYTHON_USEDEP}]
+ >=dev-python/elastic-transport-8.13[${PYTHON_USEDEP}]
+ >=dev-python/orjson-3[${PYTHON_USEDEP}]
+ <dev-python/requests-3[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/mapbox-vector-tile[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/opentelemetry-api[${PYTHON_USEDEP}]
+ dev-python/opentelemetry-sdk[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.4[${PYTHON_USEDEP}]
+ dev-python/unasync[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/sphinx \
+ dev-python/sphinx-autodoc-typehints \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+src_prepare() {
+ # https://github.com/elastic/elasticsearch-py/pull/2552/
+ sed -i -e '/float_/d' elasticsearch/serializer.py \
+ test_elasticsearch/test_serializer.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # REST api tests are a black hole for effort. It downloads the tests
+ # so its an ever moving target. It also requires effort to blacklist
+ # tests for apis which are license restricted.
+ "test_elasticsearch/test_server/test_rest_api_spec.py"
+ # Counting deprecation warnings from python is bound to fail even
+ # if all are fixed in this package. Not worth it.
+ "test_elasticsearch/test_client/test_deprecated_options.py"
+ # Running daemon for tests is finicky and upstream CI fails at it
+ # as well.
+ "test_elasticsearch/test_server/"
+ "test_elasticsearch/test_async/test_server/"
+ )
+
+ local -x TEST_WITH_OTEL=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -p asyncio
+}
diff --git a/dev-python/elasticsearch/metadata.xml b/dev-python/elasticsearch/metadata.xml
index 2edf51fc8139..1c1a994f1ff7 100644
--- a/dev-python/elasticsearch/metadata.xml
+++ b/dev-python/elasticsearch/metadata.xml
@@ -10,6 +10,7 @@
<name>Proxy Maintainers</name>
</maintainer>
<upstream>
+ <doc>https://elasticsearch-py.readthedocs.io/</doc>
<remote-id type="github">elastic/elasticsearch-py</remote-id>
<remote-id type="pypi">elasticsearch</remote-id>
</upstream>
diff --git a/dev-python/elementpath/Manifest b/dev-python/elementpath/Manifest
index 444c0b51ad5a..b87441466f5a 100644
--- a/dev-python/elementpath/Manifest
+++ b/dev-python/elementpath/Manifest
@@ -1 +1 @@
-DIST elementpath-4.1.5.tar.gz 321891 BLAKE2B 70acff5974607a9ae79e90186f5477df8d85c5b42ff03625fbf006a02de82bbf14b79de3df55b38d65e9317fb5ab4ba4e27c38b8f7d8af11905340bb29e66731 SHA512 64a58dce8d7baf26286420ef15227804dd7f0296a8666929fbbb4425ee5523352dc8a0d610f6c7d1b9322a2292d6115ace79e0399f3c77cd074c85a4c9e0f0df
+DIST elementpath-4.4.0.tar.gz 330008 BLAKE2B 059b67c246052676b9514808dedad3b7dfa21a6e9291a52c9a56abb2d51e12fdf1271cd70978c83f861f76fc6d02a6b73180df7fb2e36a9c443ff344d13eb127 SHA512 ffa91ff55f893efed50620a0eae97dd0360f9eb80f264bd421a26215fe8fbcea715c1635465be3169c4d2be503a875f469b8507d12f8d44cb64f398accfd2750
diff --git a/dev-python/elementpath/elementpath-4.1.5.ebuild b/dev-python/elementpath/elementpath-4.1.5.ebuild
deleted file mode 100644
index 44c4310897a8..000000000000
--- a/dev-python/elementpath/elementpath-4.1.5.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="XPath 1.0/2.0 parsers and selectors for ElementTree and lxml"
-HOMEPAGE="
- https://github.com/sissaschool/elementpath/
- https://pypi.org/project/elementpath/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/xmlschema[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # fails for some reason, more fit for upstream testing anyway
- rm tests/test_typing.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/elementpath/elementpath-4.4.0.ebuild b/dev-python/elementpath/elementpath-4.4.0.ebuild
new file mode 100644
index 000000000000..67f73a2518b7
--- /dev/null
+++ b/dev-python/elementpath/elementpath-4.4.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="XPath 1.0/2.0 parsers and selectors for ElementTree and lxml"
+HOMEPAGE="
+ https://github.com/sissaschool/elementpath/
+ https://pypi.org/project/elementpath/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+BDEPEND="
+ test? (
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/xmlschema[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # fails for some reason, more fit for upstream testing anyway
+ tests/test_typing.py
+)
diff --git a/dev-python/email-validator/Manifest b/dev-python/email-validator/Manifest
index 5a00df26e2cf..1cc0196a4b49 100644
--- a/dev-python/email-validator/Manifest
+++ b/dev-python/email-validator/Manifest
@@ -1 +1 @@
-DIST email_validator-2.1.0.post1.tar.gz 46288 BLAKE2B 0321869435485f69bb31b5eb59b778e72add7df4c24815fded9f71740a3fabe48b0a2cf705df692a699d4370f8ab25af946c526b4cec2d9d04777fcb4f37f9ad SHA512 a9ed642bf3c8f80b3a5e832f31e4ea114dcb012afe162439803a499a7ad016b10f6a25092cc61e445f91a1fe1ab6cfb7eb0aca054fd5458c0b935baf92735739
+DIST email_validator-2.2.0.tar.gz 48967 BLAKE2B e4bd0bd77f86bfc93726d91cb3d3c983d230cf347cb449969e9010e98f79b18e138c51ca5d9909e97017e8983d90280aa55c904dc5e01692c494acff5f0b791a SHA512 ec6a3a330bbb32d1c097ff3f9604ec248b0599e43db7b08799b1764cf0e26c4ff544fc439c9e7fd7d1a7dfe07b618294bd31e3e4ce1de35676242f4dd0174d9c
diff --git a/dev-python/email-validator/email-validator-2.1.0_p1.ebuild b/dev-python/email-validator/email-validator-2.1.0_p1.ebuild
deleted file mode 100644
index c29250773727..000000000000
--- a/dev-python/email-validator/email-validator-2.1.0_p1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_PN=email-validator
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A robust email syntax and deliverability validation library"
-HOMEPAGE="
- https://github.com/JoshData/python-email-validator/
- https://pypi.org/project/email-validator/
-"
-
-LICENSE="CC0-1.0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/idna-2.8[${PYTHON_USEDEP}]
- >=dev-python/dnspython-1.15.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest -m "not network"
-}
diff --git a/dev-python/email-validator/email-validator-2.2.0.ebuild b/dev-python/email-validator/email-validator-2.2.0.ebuild
new file mode 100644
index 000000000000..de143f456e40
--- /dev/null
+++ b/dev-python/email-validator/email-validator-2.2.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=email-validator
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A robust email syntax and deliverability validation library"
+HOMEPAGE="
+ https://github.com/JoshData/python-email-validator/
+ https://pypi.org/project/email-validator/
+"
+
+LICENSE="CC0-1.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/idna-2.8[${PYTHON_USEDEP}]
+ >=dev-python/dnspython-1.15.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -m "not network"
+}
diff --git a/dev-python/emcee/Manifest b/dev-python/emcee/Manifest
index 50caf5d4435a..9bed9eb8fc10 100644
--- a/dev-python/emcee/Manifest
+++ b/dev-python/emcee/Manifest
@@ -1 +1,3 @@
DIST emcee-3.1.4.tar.gz 2869179 BLAKE2B 19e93a154a7c9f8c43389681b7318ff6e79aea8588af10bf86d63bdee51551c538ad8850b82c1233f656a45bbbd344655aad01ed93ddb30337ad49b6bfed8b46 SHA512 23f3945571bc4346c90026f9c675cb72a5cf173294eafd5bf02dc8572cfea63de3260ade91cb9360e420969f2a939fa8ac55961e808c55900fef903be357facf
+DIST emcee-3.1.5.tar.gz 2870972 BLAKE2B 49ddd0a41a61f33573f1b1e0b198306567e097b86153392fc0f874b3c7e728611fdfb2d45b8427c85208beb3c819ec174bdf5481005a3b17a4f5ea196a54ff3e SHA512 7cc6fe30ad472d4823b12c8bab50fa7d3aea49ca22d38479d77d90d357e715c0dadda7f96575291fbe05ff27962f8a180c49b6629ddb891b044db2719bd88610
+DIST emcee-3.1.6.tar.gz 2871117 BLAKE2B 07f1ff1af716f6ef3f3fe9091ec70f700bc9798da1609c13aa5718a4efb9d0e1e5e8c7e45d86fc3cd91b6faef348cfaa3ee402a1df825eb8ac3fdb6ab9a33bfa SHA512 4ea0a57c3c5e7a3c5976016c89ebddbe9a3e149615e48b39caed45d1b671e704ea0d3a765337c0b98a99fe4e74683c55b9ad5861bee59a09a6f0c756fcadfe51
diff --git a/dev-python/emcee/emcee-3.1.5.ebuild b/dev-python/emcee/emcee-3.1.5.ebuild
new file mode 100644
index 000000000000..4af1b70ed9fc
--- /dev/null
+++ b/dev-python/emcee/emcee-3.1.5.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Python ensemble sampling toolkit for affine-invariant MCMC"
+HOMEPAGE="
+ https://emcee.readthedocs.io/en/stable/
+ https://github.com/dfm/emcee/
+ https://pypi.org/project/emcee/
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( AUTHORS.rst README.rst )
+
+src_prepare() {
+ # unnecessary dep
+ sed -i -e '/wheel/d' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
diff --git a/dev-python/emcee/emcee-3.1.6.ebuild b/dev-python/emcee/emcee-3.1.6.ebuild
new file mode 100644
index 000000000000..4af1b70ed9fc
--- /dev/null
+++ b/dev-python/emcee/emcee-3.1.6.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Python ensemble sampling toolkit for affine-invariant MCMC"
+HOMEPAGE="
+ https://emcee.readthedocs.io/en/stable/
+ https://github.com/dfm/emcee/
+ https://pypi.org/project/emcee/
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( AUTHORS.rst README.rst )
+
+src_prepare() {
+ # unnecessary dep
+ sed -i -e '/wheel/d' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
diff --git a/dev-python/emoji/Manifest b/dev-python/emoji/Manifest
index 4339a427670b..2fc27d20084c 100644
--- a/dev-python/emoji/Manifest
+++ b/dev-python/emoji/Manifest
@@ -1,3 +1,3 @@
-DIST emoji-2.6.0.gh.tar.gz 417829 BLAKE2B f7633a3e1eeb007eb69dede86c24115d196112765424e8808c8a461e06c6eff681437fd170146f96f1892ef62d3b7b064a1b9a09ee940ac4bd624ad9b59f169c SHA512 5b4131708284f80ba6019a9eb7b4e1ad9e2d6212bdf8e112c93098a65b60535303c3545b6f556bbb63da957f74d757afeb9f189110b10fd5733fcd0febac0cb4
-DIST emoji-2.7.0.gh.tar.gz 424600 BLAKE2B 3d882651fd4796895db70aa1ef0fa2bd5e56f846e53b5043418678a4f0edf381512b248f3765ab69d99dd09166aa0c989b5eb4a9d6b490a0773d598240c1cfe0 SHA512 a44565e515d3a6279a9bd7ffcc31314b8d612aeedd8e02427a446e63b899b96ec63d934c29033c48d70ddc883215b92697b98d4ec0ab9437f9555e87ecfccfbf
-DIST emoji-2.8.0.gh.tar.gz 426886 BLAKE2B 14aa31cb08eb28d013992b518bb70804707ceff83a759a871b819d283e8f7da0697ede2ed0cccf6e0994e96ed830933e244aae7d5b4a8e8158f58ec1626915bb SHA512 d2a7db9628d2aed7374976376d7d38065bba7166c30f692495808c37ed39fc529c97deba8070ee5954661594c1afbbed85c5e9717de8032ad27e0465b3839638
+DIST emoji-2.11.0.gh.tar.gz 502049 BLAKE2B fe5ecfd85cbdf4812818538c601ae42e7fe50ab01da95af6f1a1f68cf11b9e4dfe8e66a191990f28bb92f5f21807c4fab80035488debe7cf90dedc6e132be189 SHA512 2b8263dcb84a73a54c17b63a878d2f6446b41742fd3148d0be6124acc176c97a6b5cdae72bd9bb22b7a384896a8f875f7dd6962cc5bd72700f9b7e5d568c7fd4
+DIST emoji-2.11.1.gh.tar.gz 502076 BLAKE2B 96ceee9822670ffafcd283535c1af89c7fa71f386ff62ed3417f9794298f5310aeebe75a71c5b11f00b0159cc1c4e111bd9b7701d704ce0b02ee98739c0eb3d4 SHA512 c200e3b143569ba6890b5c83721d9c8fbd76288e05e8d8dad02b853adc79fab5886a6a9606fd361430c9cd42689c24f05583bbe1c4aeff520fff4591aa443af5
+DIST emoji-2.12.1.gh.tar.gz 503707 BLAKE2B 75d81d99cbb5c89b3f63ccee57f20e13cae4b3d1bda5257c2f5382a6595d62c1159ecd51862b96ff6a5d9c920dfece6346d1ed36c2a6567d7c50eed69c5ac373 SHA512 98c1ecf986c7623122c9d101c82f7667d30b58b6e45c834f2644bae1659c67755dd9a4f025111b74508267861ad155131d4aefb8f951566f6950e64e7d3a3d24
diff --git a/dev-python/emoji/emoji-2.11.0.ebuild b/dev-python/emoji/emoji-2.11.0.ebuild
new file mode 100644
index 000000000000..e71c124e54b5
--- /dev/null
+++ b/dev-python/emoji/emoji-2.11.0.ebuild
@@ -0,0 +1,25 @@
+# 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
+
+DESCRIPTION="Emoji for Python"
+HOMEPAGE="
+ https://github.com/carpedm20/emoji/
+ https://pypi.org/project/emoji/
+"
+SRC_URI="
+ https://github.com/carpedm20/emoji/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+
+distutils_enable_tests pytest
diff --git a/dev-python/emoji/emoji-2.11.1.ebuild b/dev-python/emoji/emoji-2.11.1.ebuild
new file mode 100644
index 000000000000..f9e1e430589a
--- /dev/null
+++ b/dev-python/emoji/emoji-2.11.1.ebuild
@@ -0,0 +1,25 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Emoji for Python"
+HOMEPAGE="
+ https://github.com/carpedm20/emoji/
+ https://pypi.org/project/emoji/
+"
+SRC_URI="
+ https://github.com/carpedm20/emoji/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+
+distutils_enable_tests pytest
diff --git a/dev-python/emoji/emoji-2.12.1.ebuild b/dev-python/emoji/emoji-2.12.1.ebuild
new file mode 100644
index 000000000000..99c8258b7e13
--- /dev/null
+++ b/dev-python/emoji/emoji-2.12.1.ebuild
@@ -0,0 +1,29 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Emoji for Python"
+HOMEPAGE="
+ https://github.com/carpedm20/emoji/
+ https://pypi.org/project/emoji/
+"
+SRC_URI="
+ https://github.com/carpedm20/emoji/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.7.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/emoji/emoji-2.6.0.ebuild b/dev-python/emoji/emoji-2.6.0.ebuild
deleted file mode 100644
index 9cf0bc5fde70..000000000000
--- a/dev-python/emoji/emoji-2.6.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Emoji for Python"
-HOMEPAGE="
- https://github.com/carpedm20/emoji/
- https://pypi.org/project/emoji/
-"
-SRC_URI="
- https://github.com/carpedm20/emoji/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64"
-
-distutils_enable_tests pytest
diff --git a/dev-python/emoji/emoji-2.7.0.ebuild b/dev-python/emoji/emoji-2.7.0.ebuild
deleted file mode 100644
index 9cf0bc5fde70..000000000000
--- a/dev-python/emoji/emoji-2.7.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Emoji for Python"
-HOMEPAGE="
- https://github.com/carpedm20/emoji/
- https://pypi.org/project/emoji/
-"
-SRC_URI="
- https://github.com/carpedm20/emoji/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64"
-
-distutils_enable_tests pytest
diff --git a/dev-python/emoji/emoji-2.8.0.ebuild b/dev-python/emoji/emoji-2.8.0.ebuild
deleted file mode 100644
index 9cf0bc5fde70..000000000000
--- a/dev-python/emoji/emoji-2.8.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Emoji for Python"
-HOMEPAGE="
- https://github.com/carpedm20/emoji/
- https://pypi.org/project/emoji/
-"
-SRC_URI="
- https://github.com/carpedm20/emoji/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64"
-
-distutils_enable_tests pytest
diff --git a/dev-python/empy/Manifest b/dev-python/empy/Manifest
deleted file mode 100644
index 251da5dae65f..000000000000
--- a/dev-python/empy/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST empy-3.3.4.tar.gz 138495 BLAKE2B 0040b26966d3d6c7911cc7957159084ddb610085affaa5cf214121fdb292c43b071df8990749e02c0c3ef46cba131188e0907b8ab7c28a0834498b505bec0a2e SHA512 5de8de26484468d180a2575bfc8302cb3d32004ed4d70768310b7564a9ed1bb880b8c1d862f419588b2b5baa8c3da8bc707eac41f3921e6136cc5bc3f47f1a3d
diff --git a/dev-python/empy/empy-3.3.4-r1.ebuild b/dev-python/empy/empy-3.3.4-r1.ebuild
deleted file mode 100644
index f26277162f81..000000000000
--- a/dev-python/empy/empy-3.3.4-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A powerful and robust templating system for Python"
-HOMEPAGE="http://www.alcyone.com/software/empy/"
-SRC_URI="http://www.alcyone.com/software/${PN}/${P}.tar.gz"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~ia64 ppc x86"
-IUSE="doc"
-
-python_test() {
- "${PYTHON}" em.py sample.em | diff sample.bench -
- assert "Testing failed with ${EPYTHON}"
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use doc; then
- docinto examples
- dodoc sample.em sample.bench
- # 3.3 has the html in this funny place. Fix in later version:
- docinto html
- dodoc doc/home/max/projects/empy/doc/em/*
- dodoc doc/home/max/projects/empy/doc/em.html
- dodoc doc/index.html
- fi
-}
diff --git a/dev-python/empy/metadata.xml b/dev-python/empy/metadata.xml
deleted file mode 100644
index 9f0ae35b28d6..000000000000
--- a/dev-python/empy/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">empy</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/enrich/enrich-1.2.7-r1.ebuild b/dev-python/enrich/enrich-1.2.7-r1.ebuild
index 40e7e19b5be2..7588b2fe4538 100644
--- a/dev-python/enrich/enrich-1.2.7-r1.ebuild
+++ b/dev-python/enrich/enrich-1.2.7-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/ensurepip-pip/Manifest b/dev-python/ensurepip-pip/Manifest
index 92c4bb6040e9..998be6c39d43 100644
--- a/dev-python/ensurepip-pip/Manifest
+++ b/dev-python/ensurepip-pip/Manifest
@@ -1 +1,4 @@
-DIST pip-23.3.1-py3-none-any.whl 2107242 BLAKE2B d5ea7ead01468f1f6a5c60811de9410d260e820638c0073f70e480dd3678e7413ae612913c01456779d391a6108ce939eced95392696eb5b1cc26b3a7a04a99d SHA512 1a60d153982c1c5997d3826f4084b39ec4054228376093ee15c1f4be0781e78c4b1e5219b5f05cdc464588dec379f9f2cc21f075aa0a11a148d3545a547b9889
+DIST pip-24.0-py3-none-any.whl 2110226 BLAKE2B 6a0c8c9796cd574ef1d709de40a8530a15e50158143e332b79e5ad3edceda6ce93c5ef4df49b169062598618dcc6967c2115ac2c10b05abf345318204f1eeffc SHA512 5d7462a584105bccaa9cf376f5a8c5827ead099c813c8af7392d478a4398f373d9e8cac7bbad2db51b335411ab966b21e119b1b1234c9a7ab70c6ddfc9306da6
+DIST pip-24.1-py3-none-any.whl 1823006 BLAKE2B ca5282b1100243cc4e391ce30d5ae7d4978987e46323b7e151c87457c4ab762f909c88ae3cb72015d09bf7c1243ddb6ad791e991093713431961962fc6fdde83 SHA512 84e8318896294e5750f30a3fa55833e5e5c802066091802e05ff94fe139c825f3fe0fb5014b899f0afd844ad1129e8d04b9fedd74a7f46a1c248dac546ab16f8
+DIST pip-24.1.1-py3-none-any.whl 1824282 BLAKE2B dc8b4938002bc8ededf5f3fb5f47492b529cb846f145308d5392c04778417f7e85527064e791c4dec4bfe6fc407bcc4d7ad26ff84e0f4c436dce5db8d9ec1f25 SHA512 591c0862ca7469a00a4a0220ca9acbd4834394abb0abcd44bd071a1b392b46029d618c2219e327cd43bacdd5d62f0f47d88454d60d4028f0ba7cd02ce3e648bf
+DIST pip-24.1.2-py3-none-any.whl 1824406 BLAKE2B b3e951f444bc93cf64a35acbef5363f7e44607f567f73eff886f5a14bd97fe5b18aa5a8de01b899601847bccee24318843b41c35cd484e758ffb4c11460b458f SHA512 bc8ed36bc9e618b7e299d412d07472b46968ba6485dd1d7eee4e8583996aa29cb268ff5d3114a6e5efeae9f6407c9f9066a0e4f5c2a0be76e6cd234b85cc2bec
diff --git a/dev-python/ensurepip-pip/ensurepip-pip-23.3.1.ebuild b/dev-python/ensurepip-pip/ensurepip-pip-23.3.1.ebuild
deleted file mode 100644
index 4e55e335b00a..000000000000
--- a/dev-python/ensurepip-pip/ensurepip-pip-23.3.1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pypi
-
-DESCRIPTION="Shared pip wheel for ensurepip Python module"
-HOMEPAGE="https://pypi.org/project/pip/"
-SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
-S=${DISTDIR}
-
-LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MIT MPL-2.0 PSF-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- !<dev-python/ensurepip-wheels-100
-"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${A}"
-}
diff --git a/dev-python/ensurepip-pip/ensurepip-pip-24.0.ebuild b/dev-python/ensurepip-pip/ensurepip-pip-24.0.ebuild
new file mode 100644
index 000000000000..724559d6532a
--- /dev/null
+++ b/dev-python/ensurepip-pip/ensurepip-pip-24.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared pip wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/pip/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MIT MPL-2.0 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !<dev-python/ensurepip-wheels-100
+"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/ensurepip-pip/ensurepip-pip-24.1.1.ebuild b/dev-python/ensurepip-pip/ensurepip-pip-24.1.1.ebuild
new file mode 100644
index 000000000000..85e9351f85b0
--- /dev/null
+++ b/dev-python/ensurepip-pip/ensurepip-pip-24.1.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared pip wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/pip/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MIT MPL-2.0 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !<dev-python/ensurepip-wheels-100
+"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/ensurepip-pip/ensurepip-pip-24.1.2.ebuild b/dev-python/ensurepip-pip/ensurepip-pip-24.1.2.ebuild
new file mode 100644
index 000000000000..85e9351f85b0
--- /dev/null
+++ b/dev-python/ensurepip-pip/ensurepip-pip-24.1.2.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared pip wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/pip/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MIT MPL-2.0 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !<dev-python/ensurepip-wheels-100
+"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/ensurepip-pip/ensurepip-pip-24.1.ebuild b/dev-python/ensurepip-pip/ensurepip-pip-24.1.ebuild
new file mode 100644
index 000000000000..85e9351f85b0
--- /dev/null
+++ b/dev-python/ensurepip-pip/ensurepip-pip-24.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared pip wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/pip/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MIT MPL-2.0 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !<dev-python/ensurepip-wheels-100
+"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/ensurepip-setuptools/Manifest b/dev-python/ensurepip-setuptools/Manifest
index c47707e93289..c7c0f4f9245e 100644
--- a/dev-python/ensurepip-setuptools/Manifest
+++ b/dev-python/ensurepip-setuptools/Manifest
@@ -1,4 +1,4 @@
-DIST setuptools-68.2.2-py3-none-any.whl 807864 BLAKE2B 1ae4dab8a589c95281cac145c3e06b4027b585065a5191a9d6dd9c77730a096b592154863c555d8098c10425dfef315de3b79c6b631e8f6aacc0f234795f95fc SHA512 6e0d854040baff861e1647d2bece7d090bc793b2bd9819c56105b94090df54881a6a9b43ebd82578cd7c76d47181571b671e60672afd9def389d03c9dae84fcf
-DIST setuptools-69.0.0-py3-none-any.whl 819391 BLAKE2B 69b296d3f91a9aa35b9f01a3a9a49625677a9fc292163fbeac7e97b9ac7b2ac1a592feaf5c638705a8a586498f32adef187f24ed8f122014431a3c96f5d1c3bb SHA512 e52aeabb115aa65340b94ac4cede3c21b6a07f770fc2f17a59cc876557ee29f82d9149055b9c729b328271983bf0089f1b8392b4a77c9452bec2a0ff13cf353f
-DIST setuptools-69.0.1-py3-none-any.whl 819395 BLAKE2B bc209ba01605de0075771f62dfd3b103cb11e937aa38cca35af8fd1e77aa87f488d3c5b2ec3800616db1997b731d617e376e7ec2967191d349816d26d37bc565 SHA512 d19c7cec1e8d18c6e151f7d67b7b26abf26ce9f5f4a2ebc82ab983ba3b5efae4a657020fff279f7cca56c1f8a3b4564f86eb161b68069994e8543568793776f5
-DIST setuptools-69.0.2-py3-none-any.whl 819519 BLAKE2B 0145a60d8b2e2a2733a8c9281caf633241cadd6a84a1974cfbab4938ec310b3e2c7bbe0bf252a4dafee9b354c3b1822573b8abc6841df237ac54131a10e19571 SHA512 9c602118b656590dd02684f07ed4951198fa1929df5e3da3dd9624c83bcde481e2b01141963909b2c18c8a54c7e468050de0245adfe1a6f5bca6afc0c06513f5
+DIST setuptools-70.2.0-py3-none-any.whl 930834 BLAKE2B 7ef99e6c7c47fd306c4a136504a1d3285faa046da6a4b0be15ec66a2a2eccbe34f203bed794f0a9114ae6970aea163207d22bd4bf5aedf44a92cc2abcac3d881 SHA512 ed6b5199a795c776d653f02e665e560da27e515cf334a2afbbf7f7cb7eb9cd738ca685a2b52d43d68ce6f63486d8da5baa216e58af95e5fad03c6dd95d3d901a
+DIST setuptools-70.3.0-py3-none-any.whl 931070 BLAKE2B 92c424f7efc52f42bb4e04f3ddcc57eb079e2db3cb2af1a142520f656c05895ed5bde816e37f05d96d4c431fb888bf09d576956313667a029b6f8de9afc867b4 SHA512 085d39ef4426aa5f097fbc484595becc16e61ca23fc7da4d2a8bba540a3b82e789e390b176c7151bdc67d01735cce22b1562cdb2e31273225a2d3e275851a4ad
+DIST setuptools-71.0.4-py3-none-any.whl 2341127 BLAKE2B 6312511c9981ff41e0f8a7eb3da511c9bf35b52af9fb7cbd826d3fecf342008911d8b13a6a0747a1f3d0a8189fcf701d82b03b7b62c73774845d35dc38fb8743 SHA512 a5909a1bbc46924ac8ee89322ed35fbf5562397fc46f5d20d12f6d63dbd94355c4c9718c07597b6d50c7fe46a771b96c2c25f1f2f53d6ff17c4d7cbd9e6bcb09
+DIST setuptools-71.1.0-py3-none-any.whl 2341722 BLAKE2B 5d2aa4205b91f619a5c6e9596d9ac77aaef4759a98d4a2ee1cd706b01febadf2b94cc891f92640da185ac565d315b141c66f628a213fa199a3ab282250250d34 SHA512 3c2a49f5a3953b525885635bbd93a503e6bc378914da2a2ff658b5800b27848e91ee268d652176c7034f55b8937db10d7e68f3d4d315ca03124ee3054f58e36c
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-68.2.2.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-68.2.2.ebuild
deleted file mode 100644
index 3e2f8423f849..000000000000
--- a/dev-python/ensurepip-setuptools/ensurepip-setuptools-68.2.2.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pypi
-
-DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
-HOMEPAGE="https://pypi.org/project/setuptools/"
-SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
-S=${DISTDIR}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- !<dev-python/ensurepip-wheels-100
-"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${A}"
-}
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.0.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.0.ebuild
deleted file mode 100644
index 8346a1bd0f6d..000000000000
--- a/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.0.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pypi
-
-DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
-HOMEPAGE="https://pypi.org/project/setuptools/"
-SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
-S=${DISTDIR}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- !<dev-python/ensurepip-wheels-100
-"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${A}"
-}
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.1.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.1.ebuild
deleted file mode 100644
index 8346a1bd0f6d..000000000000
--- a/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pypi
-
-DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
-HOMEPAGE="https://pypi.org/project/setuptools/"
-SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
-S=${DISTDIR}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- !<dev-python/ensurepip-wheels-100
-"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${A}"
-}
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.2.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.2.ebuild
deleted file mode 100644
index 8346a1bd0f6d..000000000000
--- a/dev-python/ensurepip-setuptools/ensurepip-setuptools-69.0.2.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pypi
-
-DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
-HOMEPAGE="https://pypi.org/project/setuptools/"
-SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
-S=${DISTDIR}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- !<dev-python/ensurepip-wheels-100
-"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${A}"
-}
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-70.2.0.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-70.2.0.ebuild
new file mode 100644
index 000000000000..6e384d8b8a5b
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-70.2.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/setuptools/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !<dev-python/ensurepip-wheels-100
+"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-70.3.0.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-70.3.0.ebuild
new file mode 100644
index 000000000000..97aca4a61872
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-70.3.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/setuptools/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !<dev-python/ensurepip-wheels-100
+"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-71.0.4.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-71.0.4.ebuild
new file mode 100644
index 000000000000..97aca4a61872
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-71.0.4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/setuptools/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !<dev-python/ensurepip-wheels-100
+"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/ensurepip-setuptools/ensurepip-setuptools-71.1.0.ebuild b/dev-python/ensurepip-setuptools/ensurepip-setuptools-71.1.0.ebuild
new file mode 100644
index 000000000000..97aca4a61872
--- /dev/null
+++ b/dev-python/ensurepip-setuptools/ensurepip-setuptools-71.1.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared setuptools wheel for ensurepip Python module"
+HOMEPAGE="https://pypi.org/project/setuptools/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !<dev-python/ensurepip-wheels-100
+"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/ensurepip-wheel/Manifest b/dev-python/ensurepip-wheel/Manifest
index c79e6ce5808c..beaa1497d2b2 100644
--- a/dev-python/ensurepip-wheel/Manifest
+++ b/dev-python/ensurepip-wheel/Manifest
@@ -1,2 +1 @@
-DIST wheel-0.41.3-py3-none-any.whl 65801 BLAKE2B 93582f1ee65ccae9d1915d51ad8bca5fa8b0700f3ccbe1d572299eef2676c6d41162c6a2d6ac79c3c8ab02242235283e86b97a2d24137d0e116e7decd1738e8b SHA512 5be2eabac26432a03d6a81954e80f004617e372bdce1a8d4f562af227964cace6883ee41d9300e7ccc2bd39b5330c4578c33777e8420868bc7a416352aea0623
-DIST wheel-0.42.0-py3-none-any.whl 65375 BLAKE2B 36887c4203b1ebd6a675f3977f78cab89bcb1fe99c939648e81e6bef02d99a2559e6a2b4d1cf76957c30d2da9aa937335cf12e19d8b55fd4a04ceb32307c2e27 SHA512 59cbcab7516e698ec3bd9eeadc550920df9406b07c53eb9bc2023db0121ec3ad6ad2556ac3e13c7c7bda55e8131b1e13fb5e51a74906abec3914e11230428fb2
+DIST wheel-0.43.0-py3-none-any.whl 65775 BLAKE2B ae972f78acaf10c074dcfcc208aeb523f932564a9008612c7071b2bc4edae3a9a25f5c93bff37a39e6fd2f8e790db8bc2f500045e3141c8279fb329e8fff45b8 SHA512 5a637264ee0eba127aa72a372b111fe8a61f454fbd3fc02b39590fd2c6bf6f5e9ac4b0e18fd16ff5fdbb9f4b046c9237fd56b055c4cb595fb042e5aa94b336c5
diff --git a/dev-python/ensurepip-wheel/ensurepip-wheel-0.41.3.ebuild b/dev-python/ensurepip-wheel/ensurepip-wheel-0.41.3.ebuild
deleted file mode 100644
index 943741be4ad4..000000000000
--- a/dev-python/ensurepip-wheel/ensurepip-wheel-0.41.3.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pypi
-
-DESCRIPTION="Shared wheel wheel for use in pip tests"
-HOMEPAGE="https://pypi.org/project/wheel/"
-SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
-S=${DISTDIR}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${A}"
-}
diff --git a/dev-python/ensurepip-wheel/ensurepip-wheel-0.42.0.ebuild b/dev-python/ensurepip-wheel/ensurepip-wheel-0.42.0.ebuild
deleted file mode 100644
index e3e7fe90c1fa..000000000000
--- a/dev-python/ensurepip-wheel/ensurepip-wheel-0.42.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pypi
-
-DESCRIPTION="Shared wheel wheel for use in pip tests"
-HOMEPAGE="https://pypi.org/project/wheel/"
-SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
-S=${DISTDIR}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-src_install() {
- insinto /usr/lib/python/ensurepip
- doins "${A}"
-}
diff --git a/dev-python/ensurepip-wheel/ensurepip-wheel-0.43.0.ebuild b/dev-python/ensurepip-wheel/ensurepip-wheel-0.43.0.ebuild
new file mode 100644
index 000000000000..ec34d0093984
--- /dev/null
+++ b/dev-python/ensurepip-wheel/ensurepip-wheel-0.43.0.ebuild
@@ -0,0 +1,20 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pypi
+
+DESCRIPTION="Shared wheel wheel for use in pip tests"
+HOMEPAGE="https://pypi.org/project/wheel/"
+SRC_URI="$(pypi_wheel_url "${PN#ensurepip-}")"
+S=${DISTDIR}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+src_install() {
+ insinto /usr/lib/python/ensurepip
+ doins "${A}"
+}
diff --git a/dev-python/entrypoint2/entrypoint2-1.1.ebuild b/dev-python/entrypoint2/entrypoint2-1.1.ebuild
index c34a12beceb6..5b4475a8bea4 100644
--- a/dev-python/entrypoint2/entrypoint2-1.1.ebuild
+++ b/dev-python/entrypoint2/entrypoint2-1.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/entrypoints/entrypoints-0.4.ebuild b/dev-python/entrypoints/entrypoints-0.4.ebuild
index 84d5b361d9a5..3a9a21859537 100644
--- a/dev-python/entrypoints/entrypoints-0.4.ebuild
+++ b/dev-python/entrypoints/entrypoints-0.4.ebuild
@@ -1,15 +1,18 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="Discover and load entry points from installed packages"
-HOMEPAGE="https://github.com/takluyver/entrypoints"
+HOMEPAGE="
+ https://github.com/takluyver/entrypoints/
+ https://pypi.org/project/entrypoints/
+"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/environs/Manifest b/dev-python/environs/Manifest
index e0f3c8cfc3da..b0d31044d865 100644
--- a/dev-python/environs/Manifest
+++ b/dev-python/environs/Manifest
@@ -1 +1 @@
-DIST environs-9.5.0.gh.tar.gz 23614 BLAKE2B 118305f7d6d2906beff69aa028449f8a5f6eba7815ec63972593dd43930802b5d1bd60457edc9803ed8ad216ae8feaad0d77fc03cd21e9883c40dc6656b1102e SHA512 8a73f9f89efe4d72b9a7a5a48b21ccaafcf32d59a6153c7cfa1c91d90a3a8a75e6c05d0ff0fecb94f593008dfff4c3534195f258391cee8fb720ee93c4f42812
+DIST environs-11.0.0.gh.tar.gz 23916 BLAKE2B e9c186cd6e6da0ddeddb7d8f6c5a01d2039468d452af20d6a1637dbe01f8c09be7c890737f862e2dc9baf824b9d8878abca04a5ae237b58138e3026ac68e7d2c SHA512 540412bfb05dd798b57724390f3ae7dcba536550f909fbe2bb3f48fea77fed6cb9473fe526c3482ab7da48bec6ca886c85f07cf62c0fd23fa38087ea53b0e330
diff --git a/dev-python/environs/environs-11.0.0.ebuild b/dev-python/environs/environs-11.0.0.ebuild
new file mode 100644
index 000000000000..28662b82e90f
--- /dev/null
+++ b/dev-python/environs/environs-11.0.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for simplified environment variable parsing"
+HOMEPAGE="
+ https://github.com/sloria/environs/
+ https://pypi.org/project/environs/
+"
+SRC_URI="
+ https://github.com/sloria/environs/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ >=dev-python/marshmallow-3.13.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/django-cache-url[${PYTHON_USEDEP}]
+ dev-python/dj-database-url[${PYTHON_USEDEP}]
+ dev-python/dj-email-url[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( CHANGELOG.md CONTRIBUTING.md README.md )
+
+distutils_enable_tests pytest
diff --git a/dev-python/environs/environs-9.5.0-r1.ebuild b/dev-python/environs/environs-9.5.0-r1.ebuild
deleted file mode 100644
index fe7a5d785928..000000000000
--- a/dev-python/environs/environs-9.5.0-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python library for simplified environment variable parsing"
-HOMEPAGE="
- https://github.com/sloria/environs/
- https://pypi.org/project/environs/
-"
-SRC_URI="
- https://github.com/sloria/environs/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- dev-python/python-dotenv[${PYTHON_USEDEP}]
- dev-python/marshmallow[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/django-cache-url[${PYTHON_USEDEP}]
- dev-python/dj-database-url[${PYTHON_USEDEP}]
- dev-python/dj-email-url[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( CHANGELOG.md CONTRIBUTING.md README.md )
-
-distutils_enable_tests pytest
diff --git a/dev-python/enzyme/Manifest b/dev-python/enzyme/Manifest
index 6c3c8b58d118..ef761bd8f640 100644
--- a/dev-python/enzyme/Manifest
+++ b/dev-python/enzyme/Manifest
@@ -1,2 +1,2 @@
-DIST enzyme-0.4.1.tar.gz 47953 BLAKE2B e81faf1c0b3316511706c2a31f56cdc2230fbce468017134692f1892439c4aa043c5537b78fd267b83d84a1811e2c015aa37d724813da5864f14ae04a9fd961a SHA512 62a85c076a7eb320249a507dcc9dd26572e3a9b9643e0a960ed114a80c75213e6e5028a726fbcdd0c2c46c53af980a69828a54a66af9a17af3210273376395b3
+DIST enzyme-0.5.2.tar.gz 50543 BLAKE2B 87b45ac4e7e61b8c05aa9e8dc8c41a419850bff7bc5dc7532b2a9045c8871cd1d7241b00c6137200ae4d736d7fe83a1989adafa1865e106eb92e77d5284fdcf3 SHA512 f85d5ee536f2a60d401bc57640b6c989ec94b325dcc6b2a70c27deab2b7336b0fd6cdd3d93790128d6fb3fa72a783dd7814da8ca3665da19593c065af2b07131
DIST matroska_test_w1_1.zip 184550509 BLAKE2B f111725aa08267661942072c2d4ac019d3d322c4e933aad10afb3aa6f69bb3469114c4400d161e53d8a7618b818b22465177460003804a7ac3e69fa4f4db000d SHA512 f170a8e83dab15228f992b3692330163da2402b8e436c7fa195ac1ecc06cf1eaf1a48d8c99a85c031122c158c2d4006023aae75d5b7805385ba25a6d601cb78f
diff --git a/dev-python/enzyme/enzyme-0.4.1-r3.ebuild b/dev-python/enzyme/enzyme-0.4.1-r3.ebuild
deleted file mode 100644
index 4e6a35b08544..000000000000
--- a/dev-python/enzyme/enzyme-0.4.1-r3.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE='xml(+)'
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python video metadata parser"
-HOMEPAGE="
- https://github.com/Diaoul/enzyme/
- https://pypi.org/project/enzyme/
-"
-SRC_URI+="
- test? ( mirror://sourceforge/matroska/test_files/matroska_test_w1_1.zip )
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- app-arch/unzip
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_prepare_all() {
- if use test; then
- mkdir enzyme/tests/test_{mkv,parsers} || die
- ln -s "${WORKDIR}"/test*.mkv enzyme/tests/test_mkv/ || die
- ln -s "${WORKDIR}"/test*.mkv enzyme/tests/test_parsers/ || die
- fi
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/enzyme/enzyme-0.5.2.ebuild b/dev-python/enzyme/enzyme-0.5.2.ebuild
new file mode 100644
index 000000000000..ba08bbc5b82f
--- /dev/null
+++ b/dev-python/enzyme/enzyme-0.5.2.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..13} )
+PYTHON_REQ_USE='xml(+)'
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python video metadata parser"
+HOMEPAGE="
+ https://github.com/Diaoul/enzyme/
+ https://pypi.org/project/enzyme/
+"
+SRC_URI+="
+ test? (
+ https://downloads.sourceforge.net/matroska/test_files/matroska_test_w1_1.zip
+ )
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86"
+
+BDEPEND="
+ test? (
+ app-arch/unzip
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_unpack() {
+ unpack "${P}.tar.gz"
+
+ if use test; then
+ mkdir -p "${P}"/tests/data || die
+ cd "${P}"/tests/data || die
+ unpack matroska_test_w1_1.zip
+ fi
+}
diff --git a/dev-python/enzyme/metadata.xml b/dev-python/enzyme/metadata.xml
index 12b305f59db9..ba84fde8e981 100644
--- a/dev-python/enzyme/metadata.xml
+++ b/dev-python/enzyme/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<stabilize-allarches/>
<upstream>
<remote-id type="github">Diaoul/enzyme</remote-id>
diff --git a/dev-python/ephemeral-port-reserve/ephemeral-port-reserve-1.1.4.ebuild b/dev-python/ephemeral-port-reserve/ephemeral-port-reserve-1.1.4.ebuild
index ff9798e9127a..83c7b1fb6c2f 100644
--- a/dev-python/ephemeral-port-reserve/ephemeral-port-reserve-1.1.4.ebuild
+++ b/dev-python/ephemeral-port-reserve/ephemeral-port-reserve-1.1.4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/et_xmlfile/Manifest b/dev-python/et-xmlfile/Manifest
index f57537cad621..f57537cad621 100644
--- a/dev-python/et_xmlfile/Manifest
+++ b/dev-python/et-xmlfile/Manifest
diff --git a/dev-python/et-xmlfile/et-xmlfile-1.1.0-r1.ebuild b/dev-python/et-xmlfile/et-xmlfile-1.1.0-r1.ebuild
new file mode 100644
index 000000000000..664ed71ae829
--- /dev/null
+++ b/dev-python/et-xmlfile/et-xmlfile-1.1.0-r1.ebuild
@@ -0,0 +1,33 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+MY_PV=${PV%.0}
+MY_P=et_xmlfile-${MY_PV}
+
+DESCRIPTION="An implementation of lxml.xmlfile for the standard library"
+HOMEPAGE="
+ https://pypi.org/project/et-xmlfile/
+ https://foss.heptapod.net/openpyxl/et_xmlfile/
+"
+SRC_URI="
+ https://foss.heptapod.net/openpyxl/et_xmlfile/-/archive/${MY_PV}/${MY_P}.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-python/lxml[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc
diff --git a/dev-python/et_xmlfile/metadata.xml b/dev-python/et-xmlfile/metadata.xml
index cbbb83caf705..cbbb83caf705 100644
--- a/dev-python/et_xmlfile/metadata.xml
+++ b/dev-python/et-xmlfile/metadata.xml
diff --git a/dev-python/et_xmlfile/et_xmlfile-1.1.0-r1.ebuild b/dev-python/et_xmlfile/et_xmlfile-1.1.0-r1.ebuild
deleted file mode 100644
index ed337a0f1ce3..000000000000
--- a/dev-python/et_xmlfile/et_xmlfile-1.1.0-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-MY_PV=${PV%.0}
-MY_P=${PN}-${MY_PV}
-
-DESCRIPTION="An implementation of lxml.xmlfile for the standard library"
-HOMEPAGE="
- https://pypi.org/project/et-xmlfile/
- https://foss.heptapod.net/openpyxl/et_xmlfile/
-"
-SRC_URI="
- https://foss.heptapod.net/openpyxl/et_xmlfile/-/archive/${MY_PV}/${MY_P}.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-
-RDEPEND="
- dev-python/lxml[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc
diff --git a/dev-python/etuples/etuples-0.3.9.ebuild b/dev-python/etuples/etuples-0.3.9.ebuild
index 4c50254e81ef..b54758c2a685 100644
--- a/dev-python/etuples/etuples-0.3.9.ebuild
+++ b/dev-python/etuples/etuples-0.3.9.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/evdev/Manifest b/dev-python/evdev/Manifest
new file mode 100644
index 000000000000..274621e9d90a
--- /dev/null
+++ b/dev-python/evdev/Manifest
@@ -0,0 +1 @@
+DIST python-evdev-1.7.1.gh.tar.gz 88275 BLAKE2B 334f70785411bd0e8d348ddeb0a6a728dbfd5c3604a19e7153c47d6868f76b0d3c10317230b0d6874cc14b3765d0e520d932c551842bd0d758b7a735b30ba7cb SHA512 802ba7c252a8817c60480db90b28e89b8356580d7b7f6a35725c70fcacbcabb3d3216330f6639ece940d901434cf1617d7682d344b7428fd5c5b6ab940700ff8
diff --git a/dev-python/evdev/evdev-1.7.1.ebuild b/dev-python/evdev/evdev-1.7.1.ebuild
new file mode 100644
index 000000000000..061d69631833
--- /dev/null
+++ b/dev-python/evdev/evdev-1.7.1.ebuild
@@ -0,0 +1,44 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+MY_P=python-evdev-${PV}
+DESCRIPTION="Python library for evdev bindings"
+HOMEPAGE="
+ https://python-evdev.readthedocs.io/
+ https://github.com/gvalkov/python-evdev/
+ https://pypi.org/project/evdev/
+"
+SRC_URI="
+ https://github.com/gvalkov/python-evdev/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ tests/test_uinput.py
+)
+
+python_configure_all() {
+ esetup.py build_ecodes \
+ --evdev-headers \
+ "${ESYSROOT}/usr/include/linux/input.h:${ESYSROOT}/usr/include/linux/input-event-codes.h"
+}
+
+src_test() {
+ cd tests || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/python-evdev/metadata.xml b/dev-python/evdev/metadata.xml
index 123f4220f5a7..123f4220f5a7 100644
--- a/dev-python/python-evdev/metadata.xml
+++ b/dev-python/evdev/metadata.xml
diff --git a/dev-python/ewmh/ewmh-0.1.6.ebuild b/dev-python/ewmh/ewmh-0.1.6.ebuild
index 9c1636fe1750..da8b391017c5 100644
--- a/dev-python/ewmh/ewmh-0.1.6.ebuild
+++ b/dev-python/ewmh/ewmh-0.1.6.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
diff --git a/dev-python/exam/Manifest b/dev-python/exam/Manifest
deleted file mode 100644
index 4234b47f2bb9..000000000000
--- a/dev-python/exam/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST exam-0.10.6.tar.gz 15028 BLAKE2B 6d2a888b9adf14665e8f009bae7b2c724dcb60fe19efa98a189988a73a0cb5933179407c754ed1c19b24694080b6df31838768f694460fabd9196e58e8b4c94d SHA512 1cc082b4fb9a7270ea81750ee3f34400f3f6eac65dd1488af333a43d0623bf8f9176b73e2948c324bb9c0062296284bae66fe215263456baf9db378676c8a4f0
diff --git a/dev-python/exam/exam-0.10.6.ebuild b/dev-python/exam/exam-0.10.6.ebuild
deleted file mode 100644
index 1f47a5f02f0a..000000000000
--- a/dev-python/exam/exam-0.10.6.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Helpers for better testing"
-HOMEPAGE="https://github.com/fluxx/exam"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/mock[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/exam/metadata.xml b/dev-python/exam/metadata.xml
deleted file mode 100644
index 1306585334c9..000000000000
--- a/dev-python/exam/metadata.xml
+++ /dev/null
@@ -1,29 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>lssndrbarbieri@gmail.com</email>
- <name>Alessandro Barbieri</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <upstream>
- <remote-id type="github">fluxx/exam</remote-id>
- <remote-id type="pypi">exam</remote-id>
- </upstream>
- <longdescription lang="en">
-Exam is a Python toolkit for writing better tests. It aims to remove a lot of the boiler plate testing code one often writes, while still following Python conventions and adhering to the unit testing interface.
-
-Aside from the obvious "does the code work?", writings tests has many additional goals and benefits:
-
- If written semantically, reading tests can help demonstrate how the code is supposed to work to other developers.
- If quick running, tests provide feedback during development that your changes are working or not having an adverse side effects.
- If they're easy to write correctly, developers will write more tests and they will be of a higher quality.
-
-Unfortunately, the common pattern for writing Python unit tests tends to not offer any of these advantages. Often times results in inefficient and unnecessarily obtuse testing code. Additionally, common uses of the mock library can often result in repetitive boiler-plate code or inefficiency during test runs.
-
-exam aims to improve the state of Python test writing by providing a toolkit of useful functionality to make writing quick, correct and useful tests and as painless as possible.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-python/exceptiongroup/Manifest b/dev-python/exceptiongroup/Manifest
index d4de9b1ae807..a92d4983da6f 100644
--- a/dev-python/exceptiongroup/Manifest
+++ b/dev-python/exceptiongroup/Manifest
@@ -1,2 +1,2 @@
-DIST exceptiongroup-1.1.3.gh.tar.gz 24057 BLAKE2B c178152b92ac4079bb10614918d80f1b772f1d2c02e82fdbc19fc576c434df5f92d731116b46145ef3c3a3e57b4b899f6be11e2452a13170d27072b6b2ad74b5 SHA512 fddc52abb6b61c024c5832f6d2ed723a834c31e2bc713a3c5796581e8edbd3299d9342885cfcb5ed83ad7f7fdbb7c461ffcec354c0328a740a40d5340997d1c8
-DIST exceptiongroup-1.2.0.gh.tar.gz 27368 BLAKE2B 93ac3872fe9f9f0eab80b9e667308a8f1d06541dbfa19dda5bcbd7d9c7d6963872294b7549d88a10e0574e9db1aaa7bd39748e1237ac86e1f83dbb2ef89686d0 SHA512 eeac523fd338099dea66c5b2f7fcc070612746487be244deba8a1c731c1f23db24763dd9e35c28dfb9460b49c645f380e6858f998f95b9244dfb82f5549f159b
+DIST exceptiongroup-1.2.1.tar.gz 28717 BLAKE2B 70e8093ad6af81343bf90e349671265e612f12fe25e5caeaef5917353159415215e4bb1921d9a0fcde6c3bd1a31a84f032827a2d5d8884daea777d7b110d8995 SHA512 7e0216ac2d76f0b3d29a0690790aa98d8e0f019eaee74e37e4ddcb97553a6a4d5037982478e663e8dfba49731444decda06122a3cb68f1c538589f5b43bdebfc
+DIST exceptiongroup-1.2.2.tar.gz 28883 BLAKE2B 713a1dcce6575eb8513fc5016b5ef5c11cafeb910f96ab556916da4c109be228cabc078551244d04acb9521ae7af65e1d93a02d7f40fa985760421138f7ccb73 SHA512 dedee1401577d1047a99078552cf24346c55f1e9a281845f327d8ace30b22659877743ce1c8b60fa605988abcac14432138020e9d1c109df911f86993cbe2082
diff --git a/dev-python/exceptiongroup/exceptiongroup-1.1.3.ebuild b/dev-python/exceptiongroup/exceptiongroup-1.1.3.ebuild
deleted file mode 100644
index c06238b9a508..000000000000
--- a/dev-python/exceptiongroup/exceptiongroup-1.1.3.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit_scm
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=${P/_}
-DESCRIPTION="Backport of PEP 654 (exception groups)"
-HOMEPAGE="
- https://github.com/agronholm/exceptiongroup/
- https://pypi.org/project/exceptiongroup/
-"
-# pypi sdist does not include tests as of 1.1.1
-# https://github.com/agronholm/exceptiongroup/pull/59
-SRC_URI="
- https://github.com/agronholm/exceptiongroup/archive/${PV/_}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT PSF-2.4"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV/_}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/exceptiongroup/exceptiongroup-1.2.0.ebuild b/dev-python/exceptiongroup/exceptiongroup-1.2.0.ebuild
deleted file mode 100644
index df9172779f44..000000000000
--- a/dev-python/exceptiongroup/exceptiongroup-1.2.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit_scm
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=${P/_}
-DESCRIPTION="Backport of PEP 654 (exception groups)"
-HOMEPAGE="
- https://github.com/agronholm/exceptiongroup/
- https://pypi.org/project/exceptiongroup/
-"
-# pypi sdist does not include tests as of 1.1.1
-# https://github.com/agronholm/exceptiongroup/pull/59
-SRC_URI="
- https://github.com/agronholm/exceptiongroup/archive/${PV/_}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT PSF-2.4"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV/_}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/exceptiongroup/exceptiongroup-1.2.1.ebuild b/dev-python/exceptiongroup/exceptiongroup-1.2.1.ebuild
new file mode 100644
index 000000000000..112639c10e38
--- /dev/null
+++ b/dev-python/exceptiongroup/exceptiongroup-1.2.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit_scm
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Backport of PEP 654 (exception groups)"
+HOMEPAGE="
+ https://github.com/agronholm/exceptiongroup/
+ https://pypi.org/project/exceptiongroup/
+"
+
+LICENSE="MIT PSF-2.4"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # https://github.com/agronholm/exceptiongroup/issues/122
+ tests/test_formatting.py
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/exceptiongroup/exceptiongroup-1.2.2.ebuild b/dev-python/exceptiongroup/exceptiongroup-1.2.2.ebuild
new file mode 100644
index 000000000000..90abf7cf4769
--- /dev/null
+++ b/dev-python/exceptiongroup/exceptiongroup-1.2.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit_scm
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Backport of PEP 654 (exception groups)"
+HOMEPAGE="
+ https://github.com/agronholm/exceptiongroup/
+ https://pypi.org/project/exceptiongroup/
+"
+
+LICENSE="MIT PSF-2.4"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/execnet/Manifest b/dev-python/execnet/Manifest
index 5f52b581b9e2..d5960022bc9f 100644
--- a/dev-python/execnet/Manifest
+++ b/dev-python/execnet/Manifest
@@ -1 +1 @@
-DIST execnet-2.0.2.tar.gz 161098 BLAKE2B 2a0a4d3071a0436d7c6ec450f1b502047e6a367985771aa58050e149ea060e8a573844bd2380c66be914dd00e3f9491b126e84089006787c61c043116f9e5981 SHA512 9e2e7ff4e04f50b12a3dd47d3326a3ea229f64926e8598bdce6ea25bd57afb41e96249e1c9f7333927a38a2793f67cac77965c922980055ed758dee361bf2ce4
+DIST execnet-2.1.1.tar.gz 166524 BLAKE2B cf6ef7007ecee7cd3e205dfaefc7c46dcc555dd4290a9055413373cbc1f8b24c5769e8e2eb58c9d6169ad766539bf44139a691726d791a69a80a2f800fefcf4e SHA512 486f906ad653d16cce7337d9085c36070fe3dd721a3723ca62ceb25862c3ff837120062df028d5aadec17f854c0d46204537e9d75d22079a677f08c50dd48d21
diff --git a/dev-python/execnet/execnet-2.0.2.ebuild b/dev-python/execnet/execnet-2.0.2.ebuild
deleted file mode 100644
index c6707acf4de6..000000000000
--- a/dev-python/execnet/execnet-2.0.2.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Rapid multi-Python deployment"
-HOMEPAGE="
- https://codespeak.net/execnet/
- https://github.com/pytest-dev/execnet/
- https://pypi.org/project/execnet/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx doc
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTHONDONTWRITEBYTECODE=
- epytest testing
-}
diff --git a/dev-python/execnet/execnet-2.1.1.ebuild b/dev-python/execnet/execnet-2.1.1.ebuild
new file mode 100644
index 000000000000..c0e980e44d2d
--- /dev/null
+++ b/dev-python/execnet/execnet-2.1.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Rapid multi-Python deployment"
+HOMEPAGE="
+ https://codespeak.net/execnet/
+ https://github.com/pytest-dev/execnet/
+ https://pypi.org/project/execnet/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx doc
+distutils_enable_tests pytest
+
+python_test() {
+ # the test suite checks if bytecode writing can be disabled/enabled
+ local -x PYTHONDONTWRITEBYTECODE=
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # some tests are implicitly run against both sys.executable
+ # and pypy3, which is redundant and results in pypy3 bytecode being
+ # written to cpython install dirs
+ epytest testing -k "not pypy3"
+}
diff --git a/dev-python/executing/Manifest b/dev-python/executing/Manifest
index d2ce7ff6f380..8ba7530c201b 100644
--- a/dev-python/executing/Manifest
+++ b/dev-python/executing/Manifest
@@ -1 +1,2 @@
DIST executing-2.0.1.gh.tar.gz 837355 BLAKE2B 7d38890eb322809c2b705f51731fe7537f81a0775d99bebb4b4ae67453930daedd947b249385babbc2373969344b643f288441fc28f3588264e4ebc23e1c389d SHA512 8a753aab42ea2d3b61764ee77de3bb52ea7fcc2818298281180ffc47c7b22ee84974ee98b2137250f722ad559be92e72e8fc01d7b2d38ab6a01512618b65d4f3
+DIST executing-b3821ddf99132b61d8d32adfdae450e2418610ca.gh.tar.gz 983168 BLAKE2B 6f305aff1ff027efc5dc18288a1373623dc8e87f0a66f35ad6c92954fa1e6fc2422d50aaec128216efd1e090f1f69428447700b0adc8d4b61f40a777b3768c29 SHA512 049f95e363660052538b9d4c07123705663680d1c415ee43895678e4b740b3b2697c62c78e150fd14f75836727512e138c312ece7a48b2d3d11393f522b2ce60
diff --git a/dev-python/executing/executing-2.0.2_pre20240626.ebuild b/dev-python/executing/executing-2.0.2_pre20240626.ebuild
new file mode 100644
index 000000000000..2773da51d616
--- /dev/null
+++ b/dev-python/executing/executing-2.0.2_pre20240626.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2020-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..13} )
+
+inherit distutils-r1 optfeature
+
+# https://github.com/alexmojaki/executing/commits/3.13
+EGIT_COMMIT="b3821ddf99132b61d8d32adfdae450e2418610ca"
+MY_P="${PN}-${EGIT_COMMIT}"
+
+DESCRIPTION="Get information about what a Python frame is currently doing"
+HOMEPAGE="
+ https://github.com/alexmojaki/executing/
+ https://pypi.org/project/executing/
+"
+SRC_URI="
+ https://github.com/alexmojaki/executing/archive/${EGIT_COMMIT}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/asttokens-2.1.0[${PYTHON_USEDEP}]
+ dev-python/littleutils[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV/_pre/.dev}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ "tests/test_main.py::test_small_samples[22bc344a43584c051d8962116e8fd149d72e7e68bcb54caf201ee6e78986b167.py]"
+ "tests/test_main.py::test_small_samples[46597f8f896f11c5d7f432236344cc7e5645c2a39836eb6abdd2437c0422f0f4.py]"
+ )
+ ;;
+ esac
+ if ! has_version "dev-python/ipython[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_ipython.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "getting node's source code" dev-python/asttokens
+}
diff --git a/dev-python/expandvars/Manifest b/dev-python/expandvars/Manifest
index daa32f23ac2c..9077a823cf92 100644
--- a/dev-python/expandvars/Manifest
+++ b/dev-python/expandvars/Manifest
@@ -1 +1 @@
-DIST expandvars-0.11.0.gh.tar.gz 10663 BLAKE2B cfbcb8bedc61cc8b1e88d4774784518e15846f7ea5ddbf58bd016ea2043dd5b1c9e55af117f6482e05e9ae4ba07e01d0fb471a72719f38191f1a29a9f66387a9 SHA512 e8de6544f2d369728e35c8b862662f348f46673f836f8b14dbdcfdc3dbcb7efda80deb55f8bcd597037ac974752e2463d429ddda3b8502fe19c402c253babf7f
+DIST expandvars-0.12.0.tar.gz 10909 BLAKE2B 8d58396f237a0a157f4d57fe9cc79058cdb0b7c514eec405769f67f82b1cf0bd91a98a680e4e730c51d65b0fc57b529f33ef10b96159b6027e4c81cbdeb77fc6 SHA512 b6eeb4693800737aef6367f4fb6080963882c59de2276f187565a764f6b800c747c1d98a1dc2e5107a62ccab420e3528064a1b67ccff8494f8ca2ebf96f05cc6
diff --git a/dev-python/expandvars/expandvars-0.11.0.ebuild b/dev-python/expandvars/expandvars-0.11.0.ebuild
deleted file mode 100644
index 5d825a3d0ec0..000000000000
--- a/dev-python/expandvars/expandvars-0.11.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Expand system variables Unix style"
-HOMEPAGE="
- https://github.com/sayanarijit/expandvars/
- https://pypi.org/project/expandvars/
-"
-SRC_URI="
- https://github.com/sayanarijit/expandvars/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # requires toml, useless
- tests/test_expandvars.py::test_version
-)
-
-src_prepare() {
- # sigh
- cat >> pyproject.toml <<-EOF || die
- [build-system]
- requires = ["poetry-core"]
- build-backend = "poetry.core.masonry.api"
- EOF
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/expandvars/expandvars-0.12.0.ebuild b/dev-python/expandvars/expandvars-0.12.0.ebuild
new file mode 100644
index 000000000000..b8c4dc9e786e
--- /dev/null
+++ b/dev-python/expandvars/expandvars-0.12.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Expand system variables Unix style"
+HOMEPAGE="
+ https://github.com/sayanarijit/expandvars/
+ https://pypi.org/project/expandvars/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/expects/expects-0.9.0-r1.ebuild b/dev-python/expects/expects-0.9.0-r1.ebuild
index 0d09d318bc01..5e2c5d560a52 100644
--- a/dev-python/expects/expects-0.9.0-r1.ebuild
+++ b/dev-python/expects/expects-0.9.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/extras/extras-1.0.0-r2.ebuild b/dev-python/extras/extras-1.0.0-r2.ebuild
index 4e4df97d4a9b..121bc2be51f4 100644
--- a/dev-python/extras/extras-1.0.0-r2.ebuild
+++ b/dev-python/extras/extras-1.0.0-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/eyeD3/eyeD3-0.9.7-r1.ebuild b/dev-python/eyeD3/eyeD3-0.9.7-r1.ebuild
index af53db71b6cd..4db3514a1798 100644
--- a/dev-python/eyeD3/eyeD3-0.9.7-r1.ebuild
+++ b/dev-python/eyeD3/eyeD3-0.9.7-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/fakeredis/Manifest b/dev-python/fakeredis/Manifest
index 69a01305f1b7..2804c0a407a6 100644
--- a/dev-python/fakeredis/Manifest
+++ b/dev-python/fakeredis/Manifest
@@ -1 +1 @@
-DIST fakeredis-2.20.0.tar.gz 122679 BLAKE2B 2fd982761fe6e8bd66d2d93b7140b9b97e20d33e40827ac9ab7d050d6e9814891e8a1f95a4f789bc78a1589fe215b40834876da5a3dd0a0ea6f8f7a3489ba400 SHA512 3c71a42df92a92b02c4774cf120c697a5e7f376768923b74561fb4cbe10605b4d57ea826d2b8c4d304ff1e12cf4c84d0fbebc34edd0afa0b0241ff7cb707e5de
+DIST fakeredis-2.23.3.tar.gz 133000 BLAKE2B 7a7b352fb99541871476f75c0a84550a1e91d4eefa0c6edf060f06483cbcc69091b2fb017dfd0c8a142484324fb71c7b0c54263d7c908d3a12e77fa7907adc8b SHA512 0230774d5d4dba55cf0d8a875eda9992ffb7dd26e0078382756515b38c63eb9664ca293135b49c0c8cddcf0971f7e0e109e131a26150a8e2b2bbc0dc453fb79a
diff --git a/dev-python/fakeredis/fakeredis-2.20.0.ebuild b/dev-python/fakeredis/fakeredis-2.20.0.ebuild
deleted file mode 100644
index 96f1eacde523..000000000000
--- a/dev-python/fakeredis/fakeredis-2.20.0.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Fake implementation of redis API for testing purposes"
-HOMEPAGE="
- https://github.com/cunla/fakeredis-py/
- https://pypi.org/project/fakeredis/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/redis-4.2[${PYTHON_USEDEP}]
- <dev-python/sortedcontainers-3[${PYTHON_USEDEP}]
- >=dev-python/sortedcontainers-2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-db/redis
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # also lupa
- test/test_aioredis2.py::test_failed_script_error
- # TODO
- "test/test_fakeredis.py::test_set_get_nx[StrictRedis]"
- "test/test_fakeredis.py::test_lpop_count[StrictRedis]"
- "test/test_fakeredis.py::test_rpop_count[StrictRedis]"
- "test/test_fakeredis.py::test_zadd_minus_zero[StrictRedis]"
- "test/test_mixins/test_pubsub_commands.py::test_pubsub_channels[StrictRedis]"
- test/test_mixins/test_set_commands.py::test_smismember_wrong_type
- # new redis-server?
- "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[StrictRedis]"
- # json ext
- test/test_json/test_json.py
- test/test_json/test_json_arr_commands.py
- )
- local EPYTEST_IGNORE=(
- # these tests fail a lot...
- test/test_hypothesis.py
- )
- local args=(
- # tests requiring lupa (lua support)
- -k 'not test_eval and not test_lua and not test_script'
- )
- # Note: this package is not xdist-friendly
- epytest "${args[@]}"
-}
-
-src_test() {
- local redis_pid="${T}"/redis.pid
- local redis_port=6379
-
- einfo "Spawning Redis"
- einfo "NOTE: Port ${redis_port} must be free"
- "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
- daemonize yes
- pidfile ${redis_pid}
- port ${redis_port}
- bind 127.0.0.1
- EOF
-
- # Run the tests
- distutils-r1_src_test
-
- # Clean up afterwards
- kill "$(<"${redis_pid}")" || die
-}
diff --git a/dev-python/fakeredis/fakeredis-2.23.3.ebuild b/dev-python/fakeredis/fakeredis-2.23.3.ebuild
new file mode 100644
index 000000000000..79980da8bf31
--- /dev/null
+++ b/dev-python/fakeredis/fakeredis-2.23.3.ebuild
@@ -0,0 +1,89 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fake implementation of redis API for testing purposes"
+HOMEPAGE="
+ https://github.com/cunla/fakeredis-py/
+ https://pypi.org/project/fakeredis/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/redis-4.2[${PYTHON_USEDEP}]
+ <dev-python/sortedcontainers-3[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # also lupa
+ test/test_aioredis2.py::test_failed_script_error
+ # TODO
+ "test/test_fakeredis.py::test_set_get_nx[StrictRedis]"
+ "test/test_fakeredis.py::test_lpop_count[StrictRedis]"
+ "test/test_fakeredis.py::test_rpop_count[StrictRedis]"
+ "test/test_fakeredis.py::test_zadd_minus_zero[StrictRedis]"
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_channels[StrictRedis]"
+ test/test_mixins/test_set_commands.py::test_smismember_wrong_type
+ # new redis-server?
+ "test/test_mixins/test_pubsub_commands.py::test_pubsub_shardnumsub[StrictRedis]"
+ # json ext
+ test/test_json/test_json.py
+ test/test_json/test_json_arr_commands.py
+ # tdigest ext?
+ 'test/test_mixins/test_server_commands.py::test_command[FakeStrictRedis]'
+ )
+ local EPYTEST_IGNORE=(
+ # these tests fail a lot...
+ test/test_hypothesis.py
+ )
+ local args=(
+ # tests requiring lupa (lua support)
+ -k 'not test_eval and not test_lua and not test_script'
+ )
+ # Note: this package is not xdist-friendly
+ epytest "${args[@]}"
+}
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/fasteners/fasteners-0.19.ebuild b/dev-python/fasteners/fasteners-0.19.ebuild
index 12d8ef4c9801..26dfff132ab2 100644
--- a/dev-python/fasteners/fasteners-0.19.ebuild
+++ b/dev-python/fasteners/fasteners-0.19.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/fastimport/fastimport-0.9.14.ebuild b/dev-python/fastimport/fastimport-0.9.14.ebuild
index e94e501f5b95..6ba61a0921ab 100644
--- a/dev-python/fastimport/fastimport-0.9.14.ebuild
+++ b/dev-python/fastimport/fastimport-0.9.14.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ppc ~ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
python_test() {
"${EPYTHON}" -m unittest -v fastimport.tests.test_suite ||
diff --git a/dev-python/fastjsonschema/Manifest b/dev-python/fastjsonschema/Manifest
index 4da7cd5f9bc7..cb5819766185 100644
--- a/dev-python/fastjsonschema/Manifest
+++ b/dev-python/fastjsonschema/Manifest
@@ -1 +1 @@
-DIST fastjsonschema-2.19.0.tar.gz 371202 BLAKE2B 56103ae94d52a337ceb830b7dfe68b3e1c3d5bdfbe46c8c042b5bc1a6d4e36201176a274135779cbf50a9ce939d95f5bd3c5bd88b7a6483db4cc438bff1d986a SHA512 d26c7f44acfeb4210fad188e3fe5486231a516fb0a4fa7d756dd9d1378b22afd7b4acb6b34085cabcfe31dac44a605de6f90a158a3af69de97f8926d59b3a105
+DIST fastjsonschema-2.20.0.tar.gz 373056 BLAKE2B 99e80a6aa05aef421c5d95149f5f40f0a732bd686888f32067295c19d9c1d7569bf628d06b59bbeb68ea302e06de700b05c27e7a44e018b213e0c1a7f4dc1304 SHA512 7881937a02c7487d1dfd7499dbe85e8f8e359b9686673f32491d93cef1d7a949df5309b0d4a5cc525a7d9c8269568bc34e9d072ec1a49e44d5becbf8718b250d
diff --git a/dev-python/fastjsonschema/fastjsonschema-2.19.0.ebuild b/dev-python/fastjsonschema/fastjsonschema-2.19.0.ebuild
deleted file mode 100644
index a262d0691ff7..000000000000
--- a/dev-python/fastjsonschema/fastjsonschema-2.19.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2020-2023 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="Fast JSON schema validator for Python"
-HOMEPAGE="
- https://github.com/horejsek/python-fastjsonschema/
- https://pypi.org/project/fastjsonschema/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- tests/benchmarks
-)
diff --git a/dev-python/fastjsonschema/fastjsonschema-2.20.0.ebuild b/dev-python/fastjsonschema/fastjsonschema-2.20.0.ebuild
new file mode 100644
index 000000000000..d67b1dea983b
--- /dev/null
+++ b/dev-python/fastjsonschema/fastjsonschema-2.20.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2020-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fast JSON schema validator for Python"
+HOMEPAGE="
+ https://github.com/horejsek/python-fastjsonschema/
+ https://pypi.org/project/fastjsonschema/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ tests/benchmarks
+)
diff --git a/dev-python/fb-re2/Manifest b/dev-python/fb-re2/Manifest
deleted file mode 100644
index c0cdb49aee40..000000000000
--- a/dev-python/fb-re2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pyre2-1.0.7.gh.tar.gz 11684 BLAKE2B 748a409aa56dab0e088961bdd0b8659dfe0ed817ed1f6fe1dce15fd03e32b30472776c4e21a4f39e66aa5b3539650a657c36acf8b857332b255a139ef0f890a9 SHA512 c4579bf73af2f0a5ccbb6a28b87ce777ef08199947c1bdf740b426960f41b3530c97a7158fac7768b51c92b8a3797f8e66de61e0c942f239920bd5397d63e2c4
diff --git a/dev-python/fb-re2/fb-re2-1.0.7-r1.ebuild b/dev-python/fb-re2/fb-re2-1.0.7-r1.ebuild
deleted file mode 100644
index 31d33cd6b0eb..000000000000
--- a/dev-python/fb-re2/fb-re2-1.0.7-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=pyre2-${PV}
-DESCRIPTION="Python bindings for dev-libs/re2"
-HOMEPAGE="
- https://github.com/facebook/pyre2/
- https://pypi.org/project/fb-re2/
-"
-SRC_URI="
- https://github.com/facebook/pyre2/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- dev-libs/re2:=
-"
-RDEPEND="
- ${DEPEND}
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # py3.12
- # https://github.com/facebook/pyre2/pull/26
- sed -e 's:assertRaisesRegexp:assertRaisesRegex:' \
- -i tests/test_match.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/fb-re2/metadata.xml b/dev-python/fb-re2/metadata.xml
deleted file mode 100644
index 02411b37bc6a..000000000000
--- a/dev-python/fb-re2/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>chutzpah@gentoo.org</email>
- <name>Patrick McLean</name>
- </maintainer>
- <maintainer type="person">
- <email>zmedico@gentoo.org</email>
- <name>Zac Medico</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">fb-re2</remote-id>
- <remote-id type="github">facebook/pyre2</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/feedgenerator/feedgenerator-2.1.0.ebuild b/dev-python/feedgenerator/feedgenerator-2.1.0.ebuild
index a77e759f79a5..fcd0cc039a55 100644
--- a/dev-python/feedgenerator/feedgenerator-2.1.0.ebuild
+++ b/dev-python/feedgenerator/feedgenerator-2.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
+KEYWORDS="amd64 ~arm64 ~riscv x86"
RDEPEND="
dev-python/pytz[${PYTHON_USEDEP}]
diff --git a/dev-python/feedparser/Manifest b/dev-python/feedparser/Manifest
index c33b44d90596..4cfb87176dcc 100644
--- a/dev-python/feedparser/Manifest
+++ b/dev-python/feedparser/Manifest
@@ -1 +1 @@
-DIST feedparser-6.0.10.tar.gz 252872 BLAKE2B 5c3b32d264bd00225de20c56c664f369516ead06b33ed1f2ae4123002297b12cc78c2680366e125af1762e53cd4452f2070e5e726de2f0c9ccd71c78cc5ab3a2 SHA512 92f5608d1a12172bc1524d5c8caa75f1cc1a6d7d3456ecd585e6715209cdff469b775c677b8393e1d1e1a895b857fc3c048c36fb83b215308b707a1f71c6e9d3
+DIST feedparser-6.0.11.gh.tar.gz 253205 BLAKE2B 390a7e2cc5d8c1d0f5fa0d696990fe319ce61d0e65dc3f4eb6b3d21c3e11e06d1eb9aa48e72f55dd293364be555120e4e71d1673a04dbbade81be0f5c6853d92 SHA512 258e06d6077d92a75a899f0832c28587e52aff62b40b03af42effbeb9d5dc1d282f423fad762cf4ddeb854cf709346cf531e05b73aa753dbed97793981d20a97
diff --git a/dev-python/feedparser/feedparser-6.0.10.ebuild b/dev-python/feedparser/feedparser-6.0.10.ebuild
deleted file mode 100644
index dad64e40204d..000000000000
--- a/dev-python/feedparser/feedparser-6.0.10.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-MY_PV=${PV/_beta/b}
-MY_P=${PN}-${MY_PV}
-DESCRIPTION="Parse RSS and Atom feeds in Python"
-HOMEPAGE="
- https://github.com/kurtmckee/feedparser/
- https://pypi.org/project/feedparser/
-"
-SRC_URI="
- https://github.com/kurtmckee/feedparser/archive/${MY_PV}.tar.gz
- -> ${MY_P}.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/sgmllib3k[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- "${FILESDIR}/feedparser-6.0.8-fix-py3.10.patch"
-)
-
-src_prepare() {
- # broken
- rm \
- tests/illformed/chardet/big5.xml \
- tests/illformed/undeclared_namespace.xml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- "${EPYTHON}" tests/runtests.py -v || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/feedparser/feedparser-6.0.11.ebuild b/dev-python/feedparser/feedparser-6.0.11.ebuild
new file mode 100644
index 000000000000..8b60094fa097
--- /dev/null
+++ b/dev-python/feedparser/feedparser-6.0.11.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+MY_PV=${PV/_beta/b}
+MY_P=${PN}-${MY_PV}
+DESCRIPTION="Parse RSS and Atom feeds in Python"
+HOMEPAGE="
+ https://github.com/kurtmckee/feedparser/
+ https://pypi.org/project/feedparser/
+"
+SRC_URI="
+ https://github.com/kurtmckee/feedparser/archive/${MY_PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/sgmllib3k[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}/feedparser-6.0.8-fix-py3.10.patch"
+)
+
+src_prepare() {
+ # broken
+ rm \
+ tests/illformed/chardet/{big5,euckr,gb2312,windows1255}.xml \
+ tests/illformed/undeclared_namespace.xml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ "${EPYTHON}" tests/runtests.py -v || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/ffmpeg-python/Manifest b/dev-python/ffmpeg-python/Manifest
index c1f30ed46ffd..04812b910f61 100644
--- a/dev-python/ffmpeg-python/Manifest
+++ b/dev-python/ffmpeg-python/Manifest
@@ -1 +1 @@
-DIST ffmpeg-python-0.2.0.tar.gz 3267771 BLAKE2B 8bca4a24434b6c7a542e3c178cb7bf1e5650f9763636d5378f9652cdd07ef19b0e96007d6bb71fdf1664efb6e33d597844c7d6a44dc8dcb1c083e21f53649469 SHA512 933ed958d61536bbbc0e0b08e19521c4b1f7df1cfe97de0b3d149a2748c5bd74915a3134861e8ecb1f92d5860315228b76aefcd087fcf07e188a56c651f5e301
+DIST ffmpeg-python-0.2.0_p20220711.gh.tar.gz 3286678 BLAKE2B f2dd4445f43ebf2a867d528e24e80b137ddc099770069e1fdf081b640f8ea192ee0b17c26d9ee3d8a69a9c7bbd61d0b75cc3468aa5da4fdd809e50126dff4e06 SHA512 81f20e5cad819500b941d9ac579fe01efb4292f61e6279c6d560d70c11143d7c04146a8ccf9ae8ab6985cf04e6b7cc05849ec67df646caa75764f3a2c5761cde
diff --git a/dev-python/ffmpeg-python/ffmpeg-python-0.2.0.ebuild b/dev-python/ffmpeg-python/ffmpeg-python-0.2.0.ebuild
deleted file mode 100644
index 030b42d5156f..000000000000
--- a/dev-python/ffmpeg-python/ffmpeg-python-0.2.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for FFmpeg with complex filtering support"
-HOMEPAGE="https://github.com/kkroening/ffmpeg-python"
-
-if [[ "${PV}" == *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/kkroening/${PN}.git"
-else
- SRC_URI="https://github.com/kkroening/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-RDEPEND="
- dev-python/future[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- media-video/ffmpeg
-"
-BDEPEND="test? ( dev-python/pytest-mock[${PYTHON_USEDEP}] )"
-
-PATCHES=(
- "${FILESDIR}"/${P}-_run.py-collections.patch
- "${FILESDIR}"/${P}-setup.py-pytest-runner.patch
-)
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc/src
diff --git a/dev-python/ffmpeg-python/ffmpeg-python-0.2.0_p20220711-r1.ebuild b/dev-python/ffmpeg-python/ffmpeg-python-0.2.0_p20220711-r1.ebuild
new file mode 100644
index 000000000000..cbc299a460f9
--- /dev/null
+++ b/dev-python/ffmpeg-python/ffmpeg-python-0.2.0_p20220711-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+[[ "${PV}" == *_p20220711 ]] && COMMIT=df129c7ba30aaa9ffffb81a48f53aa7253b0b4e6
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for FFmpeg with complex filtering support"
+HOMEPAGE="https://github.com/kkroening/ffmpeg-python/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/kkroening/${PN}.git"
+else
+ SRC_URI="https://github.com/kkroening/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.gh.tar.gz"
+ S="${WORKDIR}/${PN}-${COMMIT}"
+
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ media-video/ffmpeg
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.2.0-no-future-795.patch"
+ "${FILESDIR}/${PN}-0.2.0-collections.patch"
+)
+
+EPYTEST_DESELECT=(
+ ffmpeg/tests/test_ffmpeg.py::test__probe
+ ffmpeg/tests/test_ffmpeg.py::test_pipe
+)
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc/src
diff --git a/dev-python/ffmpeg-python/files/ffmpeg-python-0.2.0-_run.py-collections.patch b/dev-python/ffmpeg-python/files/ffmpeg-python-0.2.0-_run.py-collections.patch
deleted file mode 100644
index 6231ba17b86e..000000000000
--- a/dev-python/ffmpeg-python/files/ffmpeg-python-0.2.0-_run.py-collections.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-index afc504d..bf43c06 100644
---- a/ffmpeg/_run.py
-+++ b/ffmpeg/_run.py
-@@ -137,7 +137,7 @@ def _get_output_args(node, stream_name_map):
- if 'video_size' in kwargs:
- video_size = kwargs.pop('video_size')
- if not isinstance(video_size, basestring) and isinstance(
-- video_size, collections.Iterable
-+ video_size, collections.abc.Iterable
- ):
- video_size = '{}x{}'.format(video_size[0], video_size[1])
- args += ['-video_size', video_size]
diff --git a/dev-python/ffmpeg-python/files/ffmpeg-python-0.2.0-collections.patch b/dev-python/ffmpeg-python/files/ffmpeg-python-0.2.0-collections.patch
new file mode 100644
index 000000000000..fe905e9670b7
--- /dev/null
+++ b/dev-python/ffmpeg-python/files/ffmpeg-python-0.2.0-collections.patch
@@ -0,0 +1,14 @@
+--- a/ffmpeg/_utils.py
++++ b/ffmpeg/_utils.py
+@@ -3,6 +3,11 @@ from builtins import str
+ import hashlib
+ import sys
+
++try:
++ from collections.abc import Iterable
++except ImportError:
++ from collections import Iterable
++
+
+ def with_metaclass(meta, *bases):
+ class metaclass(meta):
diff --git a/dev-python/ffmpeg-python/files/ffmpeg-python-0.2.0-no-future-795.patch b/dev-python/ffmpeg-python/files/ffmpeg-python-0.2.0-no-future-795.patch
new file mode 100644
index 000000000000..8bbc29ab8b21
--- /dev/null
+++ b/dev-python/ffmpeg-python/files/ffmpeg-python-0.2.0-no-future-795.patch
@@ -0,0 +1,189 @@
+From 6abf0354bced3fc5f3a592870723c7446ae8747d Mon Sep 17 00:00:00 2001
+From: Lumir Balhar <lbalhar@redhat.com>
+Date: Wed, 20 Sep 2023 14:18:16 +0200
+Subject: [PATCH] Remove dependency on `future`
+
+---
+ ffmpeg/_ffmpeg.py | 5 +----
+ ffmpeg/_run.py | 6 +++---
+ ffmpeg/_utils.py | 36 +-----------------------------------
+ ffmpeg/nodes.py | 3 +--
+ requirements.txt | 1 -
+ setup.py | 3 +--
+ tox.ini | 1 -
+ 7 files changed, 7 insertions(+), 48 deletions(-)
+
+diff --git a/ffmpeg/_ffmpeg.py b/ffmpeg/_ffmpeg.py
+index 007624bb..57dc0c96 100644
+--- a/ffmpeg/_ffmpeg.py
++++ b/ffmpeg/_ffmpeg.py
+@@ -1,8 +1,5 @@
+ from __future__ import unicode_literals
+
+-from past.builtins import basestring
+-from ._utils import basestring
+-
+ from .nodes import (
+ filter_operator,
+ GlobalNode,
+@@ -79,7 +76,7 @@ def output(*streams_and_filename, **kwargs):
+ """
+ streams_and_filename = list(streams_and_filename)
+ if 'filename' not in kwargs:
+- if not isinstance(streams_and_filename[-1], basestring):
++ if not isinstance(streams_and_filename[-1], str):
+ raise ValueError('A filename must be provided')
+ kwargs['filename'] = streams_and_filename.pop(-1)
+ streams = streams_and_filename
+diff --git a/ffmpeg/_run.py b/ffmpeg/_run.py
+index f42d1d73..7a8b3937 100644
+--- a/ffmpeg/_run.py
++++ b/ffmpeg/_run.py
+@@ -1,6 +1,6 @@
+ from __future__ import unicode_literals
+ from .dag import get_outgoing_edges, topo_sort
+-from ._utils import basestring, convert_kwargs_to_cmd_line_args
++from ._utils import convert_kwargs_to_cmd_line_args
+ from builtins import str
+ from functools import reduce
+ import copy
+@@ -140,7 +140,7 @@ def _get_output_args(node, stream_name_map):
+ args += ['-b:a', str(kwargs.pop('audio_bitrate'))]
+ if 'video_size' in kwargs:
+ video_size = kwargs.pop('video_size')
+- if not isinstance(video_size, basestring) and isinstance(video_size, Iterable):
++ if not isinstance(video_size, str) and isinstance(video_size, Iterable):
+ video_size = '{}x{}'.format(video_size[0], video_size[1])
+ args += ['-video_size', video_size]
+ args += convert_kwargs_to_cmd_line_args(kwargs)
+@@ -185,7 +185,7 @@ def compile(stream_spec, cmd='ffmpeg', overwrite_output=False):
+ This is the same as calling :meth:`get_args` except that it also
+ includes the ``ffmpeg`` command as the first argument.
+ """
+- if isinstance(cmd, basestring):
++ if isinstance(cmd, str):
+ cmd = [cmd]
+ elif type(cmd) != list:
+ cmd = list(cmd)
+diff --git a/ffmpeg/_utils.py b/ffmpeg/_utils.py
+index 9baa2c78..21f612ea 100644
+--- a/ffmpeg/_utils.py
++++ b/ffmpeg/_utils.py
+@@ -1,31 +1,9 @@
+ from __future__ import unicode_literals
+ from builtins import str
+-from past.builtins import basestring
+ import hashlib
+ import sys
+
+
+-if sys.version_info.major == 2:
+- # noinspection PyUnresolvedReferences,PyShadowingBuiltins
+- str = str
+-
+-try:
+- from collections.abc import Iterable
+-except ImportError:
+- from collections import Iterable
+-
+-
+-# `past.builtins.basestring` module can't be imported on Python3 in some environments (Ubuntu).
+-# This code is copy-pasted from it to avoid crashes.
+-class BaseBaseString(type):
+- def __instancecheck__(cls, instance):
+- return isinstance(instance, (bytes, str))
+-
+- def __subclasshook__(cls, thing):
+- # TODO: What should go here?
+- raise NotImplemented
+-
+-
+ def with_metaclass(meta, *bases):
+ class metaclass(meta):
+ __call__ = type.__call__
+@@ -39,25 +17,13 @@ def __new__(cls, name, this_bases, d):
+ return metaclass('temporary_class', None, {})
+
+
+-if sys.version_info.major >= 3:
+-
+- class basestring(with_metaclass(BaseBaseString)):
+- pass
+-
+-else:
+- # noinspection PyUnresolvedReferences,PyCompatibility
+- from builtins import basestring
+-
+-
+ def _recursive_repr(item):
+ """Hack around python `repr` to deterministically represent dictionaries.
+
+ This is able to represent more things than json.dumps, since it does not require
+ things to be JSON serializable (e.g. datetimes).
+ """
+- if isinstance(item, basestring):
+- result = str(item)
+- elif isinstance(item, list):
++ if isinstance(item, list):
+ result = '[{}]'.format(', '.join([_recursive_repr(x) for x in item]))
+ elif isinstance(item, dict):
+ kv_pairs = [
+diff --git a/ffmpeg/nodes.py b/ffmpeg/nodes.py
+index e8b28385..cc219c72 100644
+--- a/ffmpeg/nodes.py
++++ b/ffmpeg/nodes.py
+@@ -1,6 +1,5 @@
+ from __future__ import unicode_literals
+
+-from past.builtins import basestring
+ from .dag import KwargReprNode
+ from ._utils import escape_chars, get_hash_int
+ from builtins import object
+@@ -68,7 +67,7 @@ def __getitem__(self, index):
+ """
+ if self.selector is not None:
+ raise ValueError('Stream already has a selector: {}'.format(self))
+- elif not isinstance(index, basestring):
++ elif not isinstance(index, str):
+ raise TypeError("Expected string index (e.g. 'a'); got {!r}".format(index))
+ return self.node.stream(label=self.label, selector=index)
+
+diff --git a/requirements.txt b/requirements.txt
+index f8b347e9..b4bc370e 100644
+--- a/requirements.txt
++++ b/requirements.txt
+@@ -6,7 +6,6 @@ certifi==2019.3.9
+ chardet==3.0.4
+ docutils==0.14
+ filelock==3.0.12
+-future==0.17.1
+ idna==2.8
+ imagesize==1.1.0
+ importlib-metadata==0.17
+diff --git a/setup.py b/setup.py
+index 72f381cb..2fbf9a3d 100644
+--- a/setup.py
++++ b/setup.py
+@@ -68,10 +68,9 @@
+ download_url=download_url,
+ keywords=keywords,
+ long_description=long_description,
+- install_requires=['future'],
++ install_requires=[],
+ extras_require={
+ 'dev': [
+- 'future==0.17.1',
+ 'numpy==1.16.4',
+ 'pytest-mock==1.10.4',
+ 'pytest==4.6.1',
+diff --git a/tox.ini b/tox.ini
+index 98814078..eb8c6622 100644
+--- a/tox.ini
++++ b/tox.ini
+@@ -19,6 +19,5 @@ python =
+ [testenv]
+ commands = py.test -vv
+ deps =
+- future
+ pytest
+ pytest-mock
diff --git a/dev-python/ffmpeg-python/files/ffmpeg-python-0.2.0-setup.py-pytest-runner.patch b/dev-python/ffmpeg-python/files/ffmpeg-python-0.2.0-setup.py-pytest-runner.patch
deleted file mode 100644
index 67fbb2308a37..000000000000
--- a/dev-python/ffmpeg-python/files/ffmpeg-python-0.2.0-setup.py-pytest-runner.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-index 0282c67..2011d2c 100644
---- a/setup.py
-+++ b/setup.py
-@@ -60,7 +60,6 @@ keywords = misc_keywords + file_formats
- setup(
- name='ffmpeg-python',
- packages=['ffmpeg'],
-- setup_requires=['pytest-runner'],
- tests_require=['pytest', 'pytest-mock'],
- version=version,
- description='Python bindings for FFmpeg - with complex filtering support',
diff --git a/dev-python/fido2/Manifest b/dev-python/fido2/Manifest
index ba3468b940dc..b0ea538f0381 100644
--- a/dev-python/fido2/Manifest
+++ b/dev-python/fido2/Manifest
@@ -1,2 +1,2 @@
DIST fido2-0.9.3.tar.gz 217894 BLAKE2B ccc3a9b59045216037664b5bf4b969a79b86b300f67fc4253b563acbbee98912ea076996772f17b88141d2a36a933b4926de96f05c53e204d0bb4eaaa2daad6b SHA512 f105c347784cdfab88ab08852227d24f4bca623145f7f76bd066dadab6ada1eae751934fd4dc7436a5c5fb3a0ed2fc4d5c59bb2a93888d470028f0713ca7e09e
-DIST fido2-1.1.2.tar.gz 248554 BLAKE2B d2a8afb5fa00d3f3debd4632ae7e3bd4e28b10574d0fc76e78db4bb6408b308e4aa7378caf6fcd87ea3d49ce3db70b879288ea0cd5d0dbd7d5131bceb0eea137 SHA512 db62cfc05a8daa2224bae820ba3174f22d1e4711643d52f549e738e4af14537f92ca950c3904660f3bb360d6aadf236c9b19b8ac4816d99467a43e239b7c219a
+DIST fido2-1.1.3.tar.gz 252813 BLAKE2B f88ddd1c201aefddbf8c0a91040a121a3ba446229f90c17df6114c6b7fd3c047a4089475601f2d7d38d06fcd5fd14dba25177fa2b22360226a7c90d66137e978 SHA512 9ee226ab5762afe263c917d24ddfded9f3da40b38f97383c25c5fbfc3adc6085d3d218dc5f12b288689bf2e5e89fe9cecb2e40e45e5441d2001f945b336c2d0b
diff --git a/dev-python/fido2/fido2-0.9.3-r1.ebuild b/dev-python/fido2/fido2-0.9.3-r1.ebuild
index b4c92006b704..25d6084ff874 100644
--- a/dev-python/fido2/fido2-0.9.3-r1.ebuild
+++ b/dev-python/fido2/fido2-0.9.3-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/fido2/fido2-1.1.2.ebuild b/dev-python/fido2/fido2-1.1.2.ebuild
deleted file mode 100644
index f124d0cefb2d..000000000000
--- a/dev-python/fido2/fido2-1.1.2.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=poetry
-
-inherit distutils-r1
-
-DESCRIPTION="Python based FIDO 2.0 library"
-HOMEPAGE="
- https://github.com/Yubico/python-fido2/
- https://pypi.org/project/fido2/
-"
-SRC_URI="
- https://github.com/Yubico/python-fido2/releases/download/${PV}/${P}.tar.gz
-"
-
-LICENSE="Apache-2.0 BSD-2 MIT MPL-2.0"
-SLOT="0/1.0" # Bumped every time a backwards-incompatible version is released
-KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
-IUSE="examples"
-
-RDEPEND="
- <dev-python/cryptography-44[${PYTHON_USEDEP}]
- <dev-python/pyscard-3[${PYTHON_USEDEP}]
- examples? (
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use examples; then
- docinto examples
- dodoc -r "${S}"/examples/.
- docompress -x "/usr/share/doc/${PF}/examples"
- fi
-}
diff --git a/dev-python/fido2/fido2-1.1.3.ebuild b/dev-python/fido2/fido2-1.1.3.ebuild
new file mode 100644
index 000000000000..4f552ea75078
--- /dev/null
+++ b/dev-python/fido2/fido2-1.1.3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python based FIDO 2.0 library"
+HOMEPAGE="
+ https://github.com/Yubico/python-fido2/
+ https://pypi.org/project/fido2/
+"
+SRC_URI="
+ https://github.com/Yubico/python-fido2/releases/download/${PV}/${P}.tar.gz
+"
+
+LICENSE="Apache-2.0 BSD-2 MIT MPL-2.0"
+SLOT="0/1.0" # Bumped every time a backwards-incompatible version is released
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
+IUSE="examples"
+
+RDEPEND="
+ <dev-python/cryptography-44[${PYTHON_USEDEP}]
+ <dev-python/pyscard-3[${PYTHON_USEDEP}]
+ examples? (
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ docinto examples
+ dodoc -r "${S}"/examples/.
+ docompress -x "/usr/share/doc/${PF}/examples"
+ fi
+}
diff --git a/dev-python/fido2/metadata.xml b/dev-python/fido2/metadata.xml
index dd94ee93215a..0866150bdc9d 100644
--- a/dev-python/fido2/metadata.xml
+++ b/dev-python/fido2/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<longdescription>
fido2 provides library functionality for communicating with a FIDO
diff --git a/dev-python/fields/fields-5.0.0-r3.ebuild b/dev-python/fields/fields-5.0.0-r3.ebuild
index 663e02348ff1..c1b42e777cfa 100644
--- a/dev-python/fields/fields-5.0.0-r3.ebuild
+++ b/dev-python/fields/fields-5.0.0-r3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/filelock/Manifest b/dev-python/filelock/Manifest
index 8688577c8c30..a51ef64148ba 100644
--- a/dev-python/filelock/Manifest
+++ b/dev-python/filelock/Manifest
@@ -1 +1 @@
-DIST filelock-3.13.1.tar.gz 14553 BLAKE2B 3892d2b5b1716bf36afe189fb755e5db4310f9532da029ee9635c1c2cec1f3ee5a24485b2e020a6d230da7bdc2bc7a8abe5f51d5c12d2c6725fda8092d841ec9 SHA512 e9975a5b939ec0a417d1dbc5a3ca494aac3445c761f382849de5671ba1ae9a5f38e8a8714c7ed700fbb0d4cb161191917c439573993026f2e3efa1ada7d4f844
+DIST filelock-3.15.4.tar.gz 18007 BLAKE2B bf64d43b189453c8c1fcf258edefb2df340d20578d942d147197423c433cd6629d5e73615201d7ef84857450d7a4cf1375d0dfc69a422c4319a76f2dc157442f SHA512 d809df84f321ab9d99f46609cc664af2d9b73161906308e1a9f949c745694577901def228c40a860c606d652f9ecefe9014159eeea92266f94e981eecc4fe103
diff --git a/dev-python/filelock/filelock-3.13.1.ebuild b/dev-python/filelock/filelock-3.13.1.ebuild
deleted file mode 100644
index c2914f48e0de..000000000000
--- a/dev-python/filelock/filelock-3.13.1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2018-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A platform independent file lock for Python"
-HOMEPAGE="
- https://github.com/tox-dev/filelock/
- https://pypi.org/project/filelock/
-"
-
-LICENSE="Unlicense"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/filelock/filelock-3.15.4.ebuild b/dev-python/filelock/filelock-3.15.4.ebuild
new file mode 100644
index 000000000000..75d8883842dc
--- /dev/null
+++ b/dev-python/filelock/filelock-3.15.4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2018-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A platform independent file lock for Python"
+HOMEPAGE="
+ https://github.com/tox-dev/filelock/
+ https://pypi.org/project/filelock/
+"
+
+LICENSE="Unlicense"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/filetype/filetype-1.2.0.ebuild b/dev-python/filetype/filetype-1.2.0.ebuild
index 340996c95665..cb541a8b53c3 100644
--- a/dev-python/filetype/filetype-1.2.0.ebuild
+++ b/dev-python/filetype/filetype-1.2.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/findimports/Manifest b/dev-python/findimports/Manifest
index c1262f34a16c..89d5625bb736 100644
--- a/dev-python/findimports/Manifest
+++ b/dev-python/findimports/Manifest
@@ -1 +1,2 @@
-DIST findimports-2.3.0.gh.tar.gz 36667 BLAKE2B 3f0981a9819940d2fc5a1b1147b06552b5d98d90594ce94e3c02f1d69904dc65087603ae3375e5321386ae7d00eb82d4ed60d865829f56f6b4e8dbd7540c505c SHA512 f0023995bd5c79e33722a0af7f246e9a5a143fb7f5294b7e1e97b3eb82331f69f605d41551c09af53424d6bf8e41bd5817cc9e206a30d0fc0f1cc0131944e37c
+DIST findimports-2.4.0.gh.tar.gz 26597 BLAKE2B 8dc176a551a07f38996ddbcf0df865ad7c7c1c7f86036be0939578a932155f30bdff17d2880063edd49ae1d169ebfb5bbade771a626859ad8306d54df743ee79 SHA512 90dfc39a5f73ea86a9d5c3ebec0f220f2f428f5768edc9688c47079f555b44abb80b4945b38550032289a3bff659f3857019a50882b1b2f2e83570f3e36530be
+DIST findimports-2.5.0.gh.tar.gz 26899 BLAKE2B 0050f0f711c3deb449993f8a50f484076005d5956275ba62ea55150c40b04540c3a2d656188da3d02775de71fc2d29f24b0855e91f160d491e384880b0b39043 SHA512 f75c9312c888fb456fe73983a2790f6e6841fd76692f7bce6e6d2e7c85e7055ee9d982af1b7cc8490de47dd2957ba1f74234698a519c36982dcb92bea6894301
diff --git a/dev-python/findimports/findimports-2.3.0.ebuild b/dev-python/findimports/findimports-2.3.0.ebuild
deleted file mode 100644
index da2c3513447c..000000000000
--- a/dev-python/findimports/findimports-2.3.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python module import analysis tool"
-HOMEPAGE="
- https://github.com/mgedmin/findimports/
- https://pypi.org/project/findimports/
-"
-SRC_URI="
- https://github.com/mgedmin/findimports/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-python_test() {
- "${EPYTHON}" testsuite.py -v || die
-}
diff --git a/dev-python/findimports/findimports-2.4.0.ebuild b/dev-python/findimports/findimports-2.4.0.ebuild
new file mode 100644
index 000000000000..a41a1ff447f3
--- /dev/null
+++ b/dev-python/findimports/findimports-2.4.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2020-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
+
+DESCRIPTION="Python module import analysis tool"
+HOMEPAGE="
+ https://github.com/mgedmin/findimports/
+ https://pypi.org/project/findimports/
+"
+SRC_URI="
+ https://github.com/mgedmin/findimports/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+python_test() {
+ "${EPYTHON}" testsuite.py -v || die
+}
diff --git a/dev-python/findimports/findimports-2.5.0.ebuild b/dev-python/findimports/findimports-2.5.0.ebuild
new file mode 100644
index 000000000000..100f1a16e168
--- /dev/null
+++ b/dev-python/findimports/findimports-2.5.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python module import analysis tool"
+HOMEPAGE="
+ https://github.com/mgedmin/findimports/
+ https://pypi.org/project/findimports/
+"
+SRC_URI="
+ https://github.com/mgedmin/findimports/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+python_test() {
+ "${EPYTHON}" testsuite.py -v || die
+}
diff --git a/dev-python/findpython/Manifest b/dev-python/findpython/Manifest
index 8fee99c945ef..18923a5eeab5 100644
--- a/dev-python/findpython/Manifest
+++ b/dev-python/findpython/Manifest
@@ -1,2 +1 @@
-DIST findpython-0.3.1.tar.gz 17379 BLAKE2B 73be0b8c064f0417c7023b367328c2694e74de4559acd48cf9faac8cb73b1450c15269b0078bc20392275cb032e57615e2345e9b72b5623262816f2ea3901aa0 SHA512 a9931cd305a12302753fc74be24f845242ac1d4a0b0bc4494dfaec4a32cb1edc88cc30f0924b24109db01409e20a4aa8dc3c3e3136cc8e780b00cd3a0eeb9816
-DIST findpython-0.4.0.tar.gz 17460 BLAKE2B 08536fe5187f34fcd705afbe4fa796229b8ac5deed0c679c24830fe0dca431484b87e454b094f4ce2334b388a868abfd9bd75ad01b179ee2b613bcf1406738ab SHA512 cfe0152cf0cc76d70f5a0ecbfc0c0ffacde038cab9b35c5bc7960176d63743e9037c2a91cdff95cef35e02864777412bae5528089fc8f059b368b7ab9d472a03
+DIST findpython-0.6.1.tar.gz 17797 BLAKE2B 22008769317bd769768e06f991031c2fdfe1135864fd2df0ddfc43f95b5098cd35f254b005e4f682b4866a035516560c58b59609edcf223536446e08372dcc1e SHA512 4b915dd5ce4e4ae9e09adeec5ef6118c44e8adbc4a629b8c97d8141c85635ef3152b4cfe6acbb89684183f0217e5835779c9091e7271670adaf74b941e17a125
diff --git a/dev-python/findpython/findpython-0.3.1.ebuild b/dev-python/findpython/findpython-0.3.1.ebuild
deleted file mode 100644
index a7a71e6b2d92..000000000000
--- a/dev-python/findpython/findpython-0.3.1.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A utility to find python versions on your system"
-HOMEPAGE="
- https://pypi.org/project/findpython/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-distutils_enable_tests pytest
diff --git a/dev-python/findpython/findpython-0.4.0.ebuild b/dev-python/findpython/findpython-0.4.0.ebuild
deleted file mode 100644
index 6d87fd64cca9..000000000000
--- a/dev-python/findpython/findpython-0.4.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A utility to find python versions on your system"
-HOMEPAGE="
- https://github.com/frostming/findpython/
- https://pypi.org/project/findpython/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-distutils_enable_tests pytest
diff --git a/dev-python/findpython/findpython-0.6.1.ebuild b/dev-python/findpython/findpython-0.6.1.ebuild
new file mode 100644
index 000000000000..909f84893f36
--- /dev/null
+++ b/dev-python/findpython/findpython-0.6.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A utility to find python versions on your system"
+HOMEPAGE="
+ https://github.com/frostming/findpython/
+ https://pypi.org/project/findpython/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+distutils_enable_tests pytest
diff --git a/dev-python/fitsio/Manifest b/dev-python/fitsio/Manifest
index d9b26e709411..84fc18966eea 100644
--- a/dev-python/fitsio/Manifest
+++ b/dev-python/fitsio/Manifest
@@ -1,2 +1,2 @@
-DIST fitsio-1.2.0.gh.tar.gz 4582716 BLAKE2B a395318b7ae3f52f7c764dae81b9ba9e305cf92e140d7ee015e235c1448a8fb7b2f87ec6132b7d4322f5a468384f8b6a9a33382d0d9d2adc8924e9d3843d9901 SHA512 d701534d8615382dbe8e4134e0b47a2568194e746b75b6c0dc9172d30c79d2cd70052364b18506d275360c82811a7062832bb6f6d7bfb4b3be6ef51b19b62a95
-DIST fitsio-1.2.1.gh.tar.gz 4584464 BLAKE2B 376d2afe2e637075fca88c24c17117600973dc81fbb006e3e8bf4ddab023db6a466653187b686a4beb75339559cb4b77e0bf927f09c991d9205ffb0e66ad17a6 SHA512 645c117c394a18cdbb0c5033a1446e1f6e6473f54d9556b7591f33873855a70860343b3e4811284d7dfa16696ef23a1abb74ee638318d7295eb85ec4b17f0309
+DIST fitsio-1.2.3.gh.tar.gz 4507743 BLAKE2B 2b38b9b1be3eb7ab5ed67954f6c1310c03a99cbae71bb5716702d31bc69e09f8d73fb86696edb06bba78093d48ad784f280e7023fadc932190a82ce6748cf5af SHA512 11c2e8e26019bdc364d2a566c0680baa85d93a0a49eb9e5fc0ccc79f2566c616634a8bf10f1d8dbb4c1393675d11bb8d4e469d2f30a8cb88bfa73697ac9d4c57
+DIST fitsio-1.2.4.gh.tar.gz 4540756 BLAKE2B 445a6d2c5dd267fdf7eca5359eb378930b8a111c24c68c1728f00818aa2f04dabe486147e1c56fd36c8a096e4bcd89c6ed382b9bbfbd29f9b24f9a4195fa17ae SHA512 ca51957a413ee45b0adc71c97409e8055acf1c27f8f42838a4814ed9b5530a30c75579a4a567199d6524bdcd32de5c82fabdee1440577f1cc915543285ee7fe1
diff --git a/dev-python/fitsio/fitsio-1.2.0.ebuild b/dev-python/fitsio/fitsio-1.2.0.ebuild
deleted file mode 100644
index 543a39335611..000000000000
--- a/dev-python/fitsio/fitsio-1.2.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python library to read from and write to FITS files"
-HOMEPAGE="
- https://github.com/esheldon/fitsio/
- https://pypi.org/project/fitsio/
-"
-SRC_URI="
- https://github.com/esheldon/fitsio/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-DEPEND="
- >=dev-python/numpy-1.11[${PYTHON_USEDEP}]
- sci-libs/cfitsio:0=
-"
-RDEPEND="
- ${DEPEND}
-"
-
-distutils_enable_tests pytest
-
-export FITSIO_USE_SYSTEM_FITSIO=1
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- epytest
-}
diff --git a/dev-python/fitsio/fitsio-1.2.1.ebuild b/dev-python/fitsio/fitsio-1.2.1.ebuild
deleted file mode 100644
index 543a39335611..000000000000
--- a/dev-python/fitsio/fitsio-1.2.1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python library to read from and write to FITS files"
-HOMEPAGE="
- https://github.com/esheldon/fitsio/
- https://pypi.org/project/fitsio/
-"
-SRC_URI="
- https://github.com/esheldon/fitsio/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-DEPEND="
- >=dev-python/numpy-1.11[${PYTHON_USEDEP}]
- sci-libs/cfitsio:0=
-"
-RDEPEND="
- ${DEPEND}
-"
-
-distutils_enable_tests pytest
-
-export FITSIO_USE_SYSTEM_FITSIO=1
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- epytest
-}
diff --git a/dev-python/fitsio/fitsio-1.2.3.ebuild b/dev-python/fitsio/fitsio-1.2.3.ebuild
new file mode 100644
index 000000000000..816390c41e42
--- /dev/null
+++ b/dev-python/fitsio/fitsio-1.2.3.ebuild
@@ -0,0 +1,41 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library to read from and write to FITS files"
+HOMEPAGE="
+ https://github.com/esheldon/fitsio/
+ https://pypi.org/project/fitsio/
+"
+SRC_URI="
+ https://github.com/esheldon/fitsio/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ >=dev-python/numpy-1.11:=[${PYTHON_USEDEP}]
+ >=sci-libs/cfitsio-4.4.0:0=
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests pytest
+
+export FITSIO_USE_SYSTEM_FITSIO=1
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ epytest
+}
diff --git a/dev-python/fitsio/fitsio-1.2.4.ebuild b/dev-python/fitsio/fitsio-1.2.4.ebuild
new file mode 100644
index 000000000000..816390c41e42
--- /dev/null
+++ b/dev-python/fitsio/fitsio-1.2.4.ebuild
@@ -0,0 +1,41 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library to read from and write to FITS files"
+HOMEPAGE="
+ https://github.com/esheldon/fitsio/
+ https://pypi.org/project/fitsio/
+"
+SRC_URI="
+ https://github.com/esheldon/fitsio/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ >=dev-python/numpy-1.11:=[${PYTHON_USEDEP}]
+ >=sci-libs/cfitsio-4.4.0:0=
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests pytest
+
+export FITSIO_USE_SYSTEM_FITSIO=1
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ epytest
+}
diff --git a/dev-python/fixtures/fixtures-4.1.0.ebuild b/dev-python/fixtures/fixtures-4.1.0.ebuild
index ce29b321b94a..fc2070ba025a 100644
--- a/dev-python/fixtures/fixtures-4.1.0.ebuild
+++ b/dev-python/fixtures/fixtures-4.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=pbr
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/flake8-polyfill/Manifest b/dev-python/flake8-polyfill/Manifest
deleted file mode 100644
index e642a86f41ed..000000000000
--- a/dev-python/flake8-polyfill/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST flake8-polyfill-1.0.2.tar.gz 7591 BLAKE2B 59c55e054b04098ad2e1c95d3464f3582fdfe2a83da75c8cebf556e2e7e32abeccf1bf69ec2d0b5c9790179d1c905da21b27e60e1c9810b62502c455193851fe SHA512 767a599aacbe87328b3e36bd85e0841870760ed9bd95dd3a4a9084edc6f0ae89f8203d565c2b075f16f1db21b647c17b2aa59b08e4702109d7e5f79f36d9f3fa
diff --git a/dev-python/flake8-polyfill/flake8-polyfill-1.0.2-r1.ebuild b/dev-python/flake8-polyfill/flake8-polyfill-1.0.2-r1.ebuild
deleted file mode 100644
index 950b42dd36e7..000000000000
--- a/dev-python/flake8-polyfill/flake8-polyfill-1.0.2-r1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Polyfill package for Flake8 plugins"
-HOMEPAGE="
- https://gitlab.com/pycqa/flake8-polyfill/
- https://pypi.org/project/flake8-polyfill/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/flake8[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # Get rid of the test that seems to test only the migration from
- # pep8 to pycodestyle (bug 598918).
- tests/test_stdin.py
-)
-
-src_prepare() {
- sed -e 's|\[pytest\]|\[tool:pytest\]|' -i setup.cfg || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/flake8-polyfill/metadata.xml b/dev-python/flake8-polyfill/metadata.xml
deleted file mode 100644
index 1e661ba0fbb8..000000000000
--- a/dev-python/flake8-polyfill/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">flake8-polyfill</remote-id>
- <remote-id type="gitlab">pycqa/flake8-polyfill</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/flake8/Manifest b/dev-python/flake8/Manifest
index ac02cee4e44c..0cf8d7634cc2 100644
--- a/dev-python/flake8/Manifest
+++ b/dev-python/flake8/Manifest
@@ -1 +1 @@
-DIST flake8-6.1.0.gh.tar.gz 139267 BLAKE2B 69210f4ebe5dd4b56425fca9289349820cc5dcee515f75cb855b095dc1a0a6ba380448f14fca19423940d853383576ddc665c5a7bd27f8aa96940ac410d8742b SHA512 a44d245b023acbb89e64071f6cb76f5543e538472a8815fa329a3b3671133cc6f96f246d83877a2a9ac91c32ecdf65858f8edf996efba77906af74b1632b74c8
+DIST flake8-7.1.0.gh.tar.gz 138600 BLAKE2B df6781e676d4eccf296d5fc3d767643956799d1c99adccb32d0005951f0aca13b7e99ff7506f7026e9ed6c2dd78d5bdd02d9a25aaf64a1353097b8a9c02c5739 SHA512 0e970bdb0facff3a6e2ee33a74fe77ee1f7c80fbc517125df34d831ff897e222d0955d56fa9e9eedef83ccdc4e92aa7bbc583517d7b19a8cf1041790a225693a
diff --git a/dev-python/flake8/flake8-6.1.0.ebuild b/dev-python/flake8/flake8-6.1.0.ebuild
deleted file mode 100644
index 1d92666ad0fb..000000000000
--- a/dev-python/flake8/flake8-6.1.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A wrapper around PyFlakes, pep8 & mccabe"
-HOMEPAGE="
- https://github.com/PyCQA/flake8/
- https://pypi.org/project/flake8/
-"
-SRC_URI="
- https://github.com/PyCQA/flake8/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- <dev-python/pyflakes-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-3.1.0[${PYTHON_USEDEP}]
- <dev-python/pycodestyle-2.12.0[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.11.0[${PYTHON_USEDEP}]
-"
-PDEPEND="
- >=dev-python/mccabe-0.7.0[${PYTHON_USEDEP}]
- <dev-python/mccabe-0.8.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- ${PDEPEND}
- )
-"
-
-distutils_enable_sphinx docs/source \
- dev-python/sphinx-prompt \
- dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # fails if additional flake8 plugins are installed
- tests/integration/test_plugins.py::test_local_plugin_can_add_option
- )
- if [[ ${EPYTHON} == pypy3 ]]; then
- EPYTEST_DESELECT+=(
- # problem with pypy3.10 in dev-python/pyflakes
- # https://github.com/PyCQA/pyflakes/issues/779
- tests/integration/test_main.py::test_malformed_per_file_ignores_error
- tests/integration/test_main.py::test_tokenization_error_but_not_syntax_error
- tests/integration/test_main.py::test_tokenization_error_is_a_syntax_error
- )
- fi
-
- epytest
-}
diff --git a/dev-python/flake8/flake8-7.1.0.ebuild b/dev-python/flake8/flake8-7.1.0.ebuild
new file mode 100644
index 000000000000..32744afd4140
--- /dev/null
+++ b/dev-python/flake8/flake8-7.1.0.ebuild
@@ -0,0 +1,60 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A wrapper around PyFlakes, pep8 & mccabe"
+HOMEPAGE="
+ https://github.com/PyCQA/flake8/
+ https://pypi.org/project/flake8/
+"
+SRC_URI="
+ https://github.com/PyCQA/flake8/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ =dev-python/pyflakes-3.2*[${PYTHON_USEDEP}]
+ =dev-python/pycodestyle-2.12*[${PYTHON_USEDEP}]
+"
+PDEPEND="
+ =dev-python/mccabe-0.7*[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ ${PDEPEND}
+ )
+"
+
+distutils_enable_sphinx docs/source \
+ dev-python/sphinx-prompt \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # fails if additional flake8 plugins are installed
+ tests/integration/test_plugins.py::test_local_plugin_can_add_option
+ )
+ if [[ ${EPYTHON} == pypy3 ]]; then
+ EPYTEST_DESELECT+=(
+ # problem with pypy3.10 in dev-python/pyflakes
+ # https://github.com/PyCQA/pyflakes/issues/779
+ tests/integration/test_main.py::test_malformed_per_file_ignores_error
+ tests/integration/test_main.py::test_tokenization_error_but_not_syntax_error
+ tests/integration/test_main.py::test_tokenization_error_is_a_syntax_error
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/flaky/Manifest b/dev-python/flaky/Manifest
index 18849b18c5ea..c68e29a3bf17 100644
--- a/dev-python/flaky/Manifest
+++ b/dev-python/flaky/Manifest
@@ -1 +1 @@
-DIST flaky-3.7.0.tar.gz 29591 BLAKE2B 747fbda71055bba937abf3e7b97691c1f4b222f085069d1815d5a9eba669464d2ed5d6dcf1842ae82f1970de5cd5e3aea5b12476bfa2d9282549ad0cc62901e9 SHA512 b399f6e1323d6ca341803ac6f1eb318bf24dc37182d0b49b89bb81b9466dd36271ad6dbb9f48ea6fa4760ee631f1482bb6f49c64f4d4520c40634089c1b64f9a
+DIST flaky-3.8.1.tar.gz 25248 BLAKE2B 3ebc05777c5a6b3551b794516579b7985b06b0236889089643c028e55cdc7af777ae3a64f8e0464bd751f6ea4689067465ea94fde624743ddbed84f55e1bbe94 SHA512 486b8aeb9a63c5b4dfb0cf4a0ad86b29e90cdc4a604cdca7676c4b918fc4bb40e185fcc23a205a12916fd2b99316a2a89ca363b3f6efe2ebfb1e93722b4f4547
diff --git a/dev-python/flaky/flaky-3.7.0-r4.ebuild b/dev-python/flaky/flaky-3.7.0-r4.ebuild
deleted file mode 100644
index 31706c8905b4..000000000000
--- a/dev-python/flaky/flaky-3.7.0-r4.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Plugin for pytest that automatically reruns flaky tests"
-HOMEPAGE="
- https://github.com/box/flaky/
- https://pypi.org/project/flaky/
-"
-
-SLOT="0"
-LICENSE="Apache-2.0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- test? (
- dev-python/genty[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )
-"
-
-src_prepare() {
- rm flaky/flaky_nose_plugin.py || die
- sed -i -e '/flaky_nose_plugin/d' setup.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- epytest -k 'example and not options' --doctest-modules test/test_pytest/ || die
- epytest -p no:flaky test/test_pytest/test_flaky_pytest_plugin.py || die
- epytest --force-flaky --max-runs 2 test/test_pytest/test_pytest_options_example.py || die
-}
diff --git a/dev-python/flaky/flaky-3.8.1.ebuild b/dev-python/flaky/flaky-3.8.1.ebuild
new file mode 100644
index 000000000000..812512de69c7
--- /dev/null
+++ b/dev-python/flaky/flaky-3.8.1.ebuild
@@ -0,0 +1,37 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Plugin for pytest that automatically reruns flaky tests"
+HOMEPAGE="
+ https://github.com/box/flaky/
+ https://pypi.org/project/flaky/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/genty[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ epytest -k 'example and not options' --doctest-modules test/test_pytest/ || die
+ epytest -p no:flaky test/test_pytest/test_flaky_pytest_plugin.py || die
+ epytest --force-flaky --max-runs 2 test/test_pytest/test_pytest_options_example.py || die
+}
diff --git a/dev-python/flasgger/flasgger-0.9.7.1.ebuild b/dev-python/flasgger/flasgger-0.9.7.1.ebuild
index b18738655a34..5d4956b18381 100644
--- a/dev-python/flasgger/flasgger-0.9.7.1.ebuild
+++ b/dev-python/flasgger/flasgger-0.9.7.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/flask-0.10[${PYTHON_USEDEP}]
diff --git a/dev-python/flask-api/files/flask-api-3.1-flask-3.patch b/dev-python/flask-api/files/flask-api-3.1-flask-3.patch
new file mode 100644
index 000000000000..92eddb8d8df0
--- /dev/null
+++ b/dev-python/flask-api/files/flask-api-3.1-flask-3.patch
@@ -0,0 +1,84 @@
+From 9c998897f67d8aa959dc3005d7d22f36568b6938 Mon Sep 17 00:00:00 2001
+From: Arthur Taylor <arthur@codders.de>
+Date: Sat, 21 Oct 2023 09:53:02 +0200
+Subject: [PATCH] Add compatibility code to deal with Flask and Werkzeug
+ deprecations
+
+---
+ flask_api/helpers.py | 5 +++++
+ flask_api/parsers.py | 2 +-
+ flask_api/renderers.py | 11 +++++++++--
+ flask_api/request.py | 2 +-
+ 4 files changed, 16 insertions(+), 4 deletions(-)
+ create mode 100644 flask_api/helpers.py
+
+diff --git a/flask_api/helpers.py b/flask_api/helpers.py
+new file mode 100644
+index 0000000..f83dd31
+--- /dev/null
++++ b/flask_api/helpers.py
+@@ -0,0 +1,5 @@
++def url_decode_stream(stream):
++ import urllib
++ body = stream.read()
++ body_str = body.decode()
++ return dict(urllib.parse.parse_qsl(body_str))
+diff --git a/flask_api/parsers.py b/flask_api/parsers.py
+index 56f45f6..d056210 100644
+--- a/flask_api/parsers.py
++++ b/flask_api/parsers.py
+@@ -2,8 +2,8 @@
+
+ from werkzeug.formparser import MultiPartParser as WerkzeugMultiPartParser
+ from werkzeug.formparser import default_stream_factory
+-from werkzeug.urls import url_decode_stream
+
++from flask_api.helpers import url_decode_stream
+ from flask_api import exceptions
+
+
+diff --git a/flask_api/renderers.py b/flask_api/renderers.py
+index a9aed23..b5951a2 100644
+--- a/flask_api/renderers.py
++++ b/flask_api/renderers.py
+@@ -1,8 +1,8 @@
+ import pydoc
+ import re
+
++import flask
+ from flask import current_app, render_template, request
+-from flask.globals import _request_ctx_stack
+
+ from flask_api.compat import apply_markdown
+ from flask_api.mediatypes import MediaType
+@@ -95,7 +95,14 @@ def render(self, data, media_type, **options):
+ mock_content = self._html_escape(text)
+
+ # Determine the allowed methods on this view.
+- adapter = _request_ctx_stack.top.url_adapter
++ if hasattr(flask, 'globals') and \
++ hasattr(flask.globals, 'request_ctx'):
++ # update session for Flask >= 2.2
++ ctx = flask.globals.request_ctx._get_current_object()
++ else: # pragma: no cover
++ # update session for Flask < 2.2
++ ctx = flask._request_ctx_stack.top
++ adapter = ctx.url_adapter
+ allowed_methods = adapter.allowed_methods()
+
+ endpoint = request.url_rule.endpoint
+diff --git a/flask_api/request.py b/flask_api/request.py
+index 33c3eaa..647dfc6 100644
+--- a/flask_api/request.py
++++ b/flask_api/request.py
+@@ -2,9 +2,9 @@
+
+ from flask import Request
+ from werkzeug.datastructures import MultiDict
+-from werkzeug.urls import url_decode_stream
+ from werkzeug.wsgi import get_content_length
+
++from flask_api.helpers import url_decode_stream
+ from flask_api.negotiation import DefaultNegotiation
+ from flask_api.settings import default_settings
+
diff --git a/dev-python/flask-api/flask-api-3.1-r2.ebuild b/dev-python/flask-api/flask-api-3.1-r2.ebuild
new file mode 100644
index 000000000000..3cd8ec083ed0
--- /dev/null
+++ b/dev-python/flask-api/flask-api-3.1-r2.ebuild
@@ -0,0 +1,42 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Browsable web APIs for Flask"
+HOMEPAGE="
+ https://github.com/flask-api/flask-api/
+ https://pypi.org/project/Flask-API/
+"
+# pypi mirror don't have docs folder
+SRC_URI="
+ https://github.com/flask-api/flask-api/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/flask-api/flask-api/commit/9c998897f67d8aa959dc3005d7d22f36568b6938
+ "${FILESDIR}/${P}-flask-3.patch"
+)
+
+python_install_all() {
+ local DOCS=( docs/about/release-notes.md docs/api-guide/* docs/index.md )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flask-api/flask-api-3.1.ebuild b/dev-python/flask-api/flask-api-3.1.ebuild
deleted file mode 100644
index c77f8887c298..000000000000
--- a/dev-python/flask-api/flask-api-3.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Browsable web APIs for Flask"
-HOMEPAGE="
- https://github.com/flask-api/flask-api/
- https://pypi.org/project/Flask-API/
-"
-# pypi mirror don't have docs folder
-SRC_URI="
- https://github.com/flask-api/flask-api/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/markdown[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- local DOCS=( docs/about/release-notes.md docs/api-guide/* docs/index.md )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/flask-babel/flask-babel-4.0.0.ebuild b/dev-python/flask-babel/flask-babel-4.0.0.ebuild
index 2254ca7709f4..58d44d689e08 100644
--- a/dev-python/flask-babel/flask-babel-4.0.0.ebuild
+++ b/dev-python/flask-babel/flask-babel-4.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/flask-compress/Manifest b/dev-python/flask-compress/Manifest
index 37762b7840da..84ddfd07823c 100644
--- a/dev-python/flask-compress/Manifest
+++ b/dev-python/flask-compress/Manifest
@@ -1 +1 @@
-DIST Flask-Compress-1.14.tar.gz 13544 BLAKE2B 4a2ba809ef378aa8132a22c87acfb535946f347f41d05bf2d9d8de13d05cb0494000b8aa9ba40548236f0ec3e772159e091b41e0fe90f8d6f782a70aabd1e043 SHA512 7f30f64bddeaa06875725b6195348cdfb20d3fdd0d8a392f0fbeb209ad5a532bd222fc1c9ceadf7dcff614f2513a885724bfc165fccf162c889924e3b73bee3c
+DIST flask_compress-1.15.tar.gz 13944 BLAKE2B cdad9f1590b47ce7443d14cba9143f795cf355c2c6991d62ea362744366595b85c5ec8680b448af78c293519b50985a805d275227bf68628039293f72c68c890 SHA512 746fd7fb5efa2098d1aae179823b333ca083e6bb6945400d6a5401df0799a76733a67f8b38f952c59002c07705d7a7b0c6b43fbd291a368f98a363f3121dcd1f
diff --git a/dev-python/flask-compress/flask-compress-1.14.ebuild b/dev-python/flask-compress/flask-compress-1.14.ebuild
deleted file mode 100644
index 4ef1fd7b7989..000000000000
--- a/dev-python/flask-compress/flask-compress-1.14.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN="Flask-Compress"
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Compress responses in your Flask app with gzip"
-HOMEPAGE="
- https://github.com/colour-science/flask-compress/
- https://pypi.org/project/Flask-Compress/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-# brotli on cpython, brotlicffi on pypy3
-RDEPEND="
- app-arch/brotli[python,${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/flask-compress/flask-compress-1.15.ebuild b/dev-python/flask-compress/flask-compress-1.15.ebuild
new file mode 100644
index 000000000000..eaa2744e3574
--- /dev/null
+++ b/dev-python/flask-compress/flask-compress-1.15.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN="Flask-Compress"
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Compress responses in your Flask app with gzip"
+HOMEPAGE="
+ https://github.com/colour-science/flask-compress/
+ https://pypi.org/project/Flask-Compress/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+# brotli on cpython, brotlicffi on pypy3
+RDEPEND="
+ app-arch/brotli[python,${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/zstandard[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/flask-cors/Manifest b/dev-python/flask-cors/Manifest
index c5791930cf13..20195edb349a 100644
--- a/dev-python/flask-cors/Manifest
+++ b/dev-python/flask-cors/Manifest
@@ -1 +1 @@
-DIST flask-cors-4.0.0.gh.tar.gz 31586 BLAKE2B ac3713a08108a621fb0150039a2c40b87a3331084223ec73fb6cf76444e4a7681350a01f18f507b0ee942f01731c289e44950d99412373e7c889beaffa116513 SHA512 04f163d646d2f5fc96b397a3d52ad0e6b99ae6caaec67855e05b4330a323d1b28ab4d624000cbce9a897dba8a00317828e7056537454d1bb7febfcdddd37096d
+DIST flask-cors-4.0.1.gh.tar.gz 32226 BLAKE2B f6301842b20175587be43d3c1f22fb341463f25d21fcae9b6463e8c48b149ab7ddf000d5541645f217755bc43863ef060cf1e2f6e57941632db420efb1cd223e SHA512 51dd7c50d5db6a6b6985a32f08f9512603e64199bf90dd22349cd1dbff94f1706b1e26cbe7765fb6dc6310fce86ac470896b127dc83cc740436e1ae11c11f7eb
diff --git a/dev-python/flask-cors/flask-cors-4.0.0.ebuild b/dev-python/flask-cors/flask-cors-4.0.0.ebuild
deleted file mode 100644
index 716c8b9f4065..000000000000
--- a/dev-python/flask-cors/flask-cors-4.0.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/corydolphin/flask-cors.git"
- inherit git-r3
-else
- SRC_URI="
- https://github.com/corydolphin/flask-cors/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- "
- KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-fi
-
-DESCRIPTION="A Flask extension for Cross Origin Resource Sharing (CORS)"
-HOMEPAGE="
- https://github.com/corydolphin/flask-cors/
- https://pypi.org/project/Flask-Cors/
-"
-
-LICENSE="MIT"
-SLOT="0"
-
-RDEPEND="
- dev-python/flask[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/packaging[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/sphinx-rtd-theme \
- dev-python/sphinxcontrib-httpdomain
diff --git a/dev-python/flask-cors/flask-cors-4.0.1.ebuild b/dev-python/flask-cors/flask-cors-4.0.1.ebuild
new file mode 100644
index 000000000000..0995ced79cb4
--- /dev/null
+++ b/dev-python/flask-cors/flask-cors-4.0.1.ebuild
@@ -0,0 +1,43 @@
+# 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..13} )
+
+inherit distutils-r1
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://github.com/corydolphin/flask-cors.git"
+ inherit git-r3
+else
+ SRC_URI="
+ https://github.com/corydolphin/flask-cors/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+fi
+
+DESCRIPTION="A Flask extension for Cross Origin Resource Sharing (CORS)"
+HOMEPAGE="
+ https://github.com/corydolphin/flask-cors/
+ https://pypi.org/project/Flask-Cors/
+"
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ dev-python/flask[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme \
+ dev-python/sphinxcontrib-httpdomain
diff --git a/dev-python/flask-debug/flask-debug-0.4.3-r2.ebuild b/dev-python/flask-debug/flask-debug-0.4.3-r2.ebuild
index eb90e45da3b8..180ad7d17fad 100644
--- a/dev-python/flask-debug/flask-debug-0.4.3-r2.ebuild
+++ b/dev-python/flask-debug/flask-debug-0.4.3-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/flask-gravatar/Manifest b/dev-python/flask-gravatar/Manifest
deleted file mode 100644
index 4e741683fda4..000000000000
--- a/dev-python/flask-gravatar/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST Flask-Gravatar-0.5.0.tar.gz 17299 BLAKE2B 7dc16c609cdfbf690a39fbb3bd2810398030bd5c7a54394468902dd131116509da8de448a55907e4738fc984ef422f3c7970b8453b27971eadb106cbb8648562 SHA512 bb4ff064489a030fd763a46fc045109104535474d115aaabdf5c4d1a82a1e3303ee34f590a3f1203a9d009307fc8c45c37af7c30e76a4fb10bc46dd684d37751
diff --git a/dev-python/flask-gravatar/flask-gravatar-0.5.0-r2.ebuild b/dev-python/flask-gravatar/flask-gravatar-0.5.0-r2.ebuild
deleted file mode 100644
index 95e8deca89d9..000000000000
--- a/dev-python/flask-gravatar/flask-gravatar-0.5.0-r2.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYPI_NO_NORMALIZE=1
-PYPI_PN="Flask-Gravatar"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Small extension for Flask to make usage of Gravatar service easy"
-HOMEPAGE="
- https://github.com/zzzsochi/Flask-Gravatar/
- https://pypi.org/project/Flask-Gravatar/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-RDEPEND="
- <dev-python/flask-3[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/pytest-runner/d' setup.py || die
- sed -e 's:--pep8::' \
- -e 's:--cov=flask_gravatar --cov-report=term-missing::' \
- -i pytest.ini || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- cd tests || die
- epytest
-}
diff --git a/dev-python/flask-gravatar/metadata.xml b/dev-python/flask-gravatar/metadata.xml
deleted file mode 100644
index b0c16af1df81..000000000000
--- a/dev-python/flask-gravatar/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <maintainer type="person">
- <email>titanofold@gentoo.org</email>
- <name>Aaron W. Swenson</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">Flask-Gravatar</remote-id>
- <remote-id type="github">zzzsochi/Flask-Gravatar</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/flask-htmlmin/flask-htmlmin-2.2.1-r1.ebuild b/dev-python/flask-htmlmin/flask-htmlmin-2.2.1-r1.ebuild
index 000c8f323b6e..1064c476a123 100644
--- a/dev-python/flask-htmlmin/flask-htmlmin-2.2.1-r1.ebuild
+++ b/dev-python/flask-htmlmin/flask-htmlmin-2.2.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/flask-login/flask-login-0.6.3.ebuild b/dev-python/flask-login/flask-login-0.6.3.ebuild
index f0c0f2cf8399..fa99d8082c1e 100644
--- a/dev-python/flask-login/flask-login-0.6.3.ebuild
+++ b/dev-python/flask-login/flask-login-0.6.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/flask-migrate/Manifest b/dev-python/flask-migrate/Manifest
index 893877847e7e..a9ec36fee4e3 100644
--- a/dev-python/flask-migrate/Manifest
+++ b/dev-python/flask-migrate/Manifest
@@ -1 +1 @@
-DIST Flask-Migrate-4.0.5.gh.tar.gz 26827 BLAKE2B 4b674856bc1177857b1272740351e953099a22f981faf63714ac07748308c77a599ce942e273858df2b0e010a4b962e8c8c9488c3bb750f5c4e9037e4a0c58bf SHA512 cdc02e3f567119604e56e9cafed3e7b40e7335d4c3f42cffb26515a4cec12ff34c16f8d5ae036d841cf846985973980d820cdc5d87a99ebf634b3b17becaeb69
+DIST Flask-Migrate-4.0.7.gh.tar.gz 27172 BLAKE2B 743eccd8705c57a5748676e3f824632d2a547291d9816f903311c7abbc62eb418bf422aed183b10d986a923a00337310b7ab03bce774f839c81520686a9b90f5 SHA512 51da745b60d43d24ee5b63e5ee7d354d12e53b7c62a9c639f322443df62113485a42a6fd21e50673742d6a35c1f175e15a2a0af8f20918b44bf34fc4c2da4c7c
diff --git a/dev-python/flask-migrate/flask-migrate-4.0.5.ebuild b/dev-python/flask-migrate/flask-migrate-4.0.5.ebuild
deleted file mode 100644
index d06bc9aa7014..000000000000
--- a/dev-python/flask-migrate/flask-migrate-4.0.5.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P="Flask-Migrate-${PV}"
-DESCRIPTION="SQLAlchemy database migrations for Flask applications using Alembic"
-HOMEPAGE="
- https://github.com/miguelgrinberg/Flask-Migrate/
- https://pypi.org/project/Flask-Migrate/
-"
-SRC_URI="
- https://github.com/miguelgrinberg/Flask-Migrate/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- >=dev-python/alembic-1.9.0[${PYTHON_USEDEP}]
- >=dev-python/flask-0.9[${PYTHON_USEDEP}]
- >=dev-python/flask-sqlalchemy-1.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
-
-python_test() {
- local -x PATH=${T}/bin:${PATH}
-
- mkdir -p "${T}"/bin || die
- cat > "${T}"/bin/flask <<-EOF || die
- #!/bin/sh
- exec ${EPYTHON} -m flask "\${@}"
- EOF
- chmod +x "${T}"/bin/flask || die
-
- eunittest
-}
diff --git a/dev-python/flask-migrate/flask-migrate-4.0.7.ebuild b/dev-python/flask-migrate/flask-migrate-4.0.7.ebuild
new file mode 100644
index 000000000000..d6549d339cbf
--- /dev/null
+++ b/dev-python/flask-migrate/flask-migrate-4.0.7.ebuild
@@ -0,0 +1,46 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P="Flask-Migrate-${PV}"
+DESCRIPTION="SQLAlchemy database migrations for Flask applications using Alembic"
+HOMEPAGE="
+ https://github.com/miguelgrinberg/Flask-Migrate/
+ https://pypi.org/project/Flask-Migrate/
+"
+SRC_URI="
+ https://github.com/miguelgrinberg/Flask-Migrate/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ >=dev-python/alembic-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/flask-0.9[${PYTHON_USEDEP}]
+ >=dev-python/flask-sqlalchemy-1.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ local -x PATH=${T}/bin:${PATH}
+
+ mkdir -p "${T}"/bin || die
+ cat > "${T}"/bin/flask <<-EOF || die
+ #!/bin/sh
+ exec ${EPYTHON} -m flask "\${@}"
+ EOF
+ chmod +x "${T}"/bin/flask || die
+
+ eunittest
+}
diff --git a/dev-python/flask-paginate/Manifest b/dev-python/flask-paginate/Manifest
index 492e3eeb804f..a2bc3218849b 100644
--- a/dev-python/flask-paginate/Manifest
+++ b/dev-python/flask-paginate/Manifest
@@ -1,3 +1 @@
-DIST flask-paginate-2022.1.8.gh.tar.gz 120847 BLAKE2B 110d6f7bb6c244378a41ab26c914898b54fb05cc00cfc6c7c3e15ed96e2163f92cc89c4ce93199091d8ed2f52301e997ebc16a71a3d802b8107249f9f832ca25 SHA512 9f2e0e50d73ac15ec2a413671a52e9dbbbb7eac8576494483441ea1287a12e2076cf649ee9df0bf3b3d2c7e13eebe4a835031ab57a2e8b2015f383d53318a0b9
-DIST flask-paginate-2023.10.24.gh.tar.gz 121423 BLAKE2B 100cad03bb015fd5aba26faeaa1d9a62489b85cc0bf36176507af206bb01bdadae3c53802b53483d1482250ab4f0004c9800c61c8c210966b59b1339894d43d5 SHA512 9673698e394f9e11d56dec1a8a57310a963cd15f2fa4784d92e5a8af5d9fbe8e4b59bbd7e34e4e50a38c3ddc936222c19497ddcc233564c4a6aa61c83cd78efa
-DIST flask-paginate-2023.10.8.gh.tar.gz 120855 BLAKE2B c872cb635220b92c7fab5a997d8eb90c30fd5036acab81cc72ca9f5381f370faabb8a4d641b34c73f595e8b6f4a10bedbc1650a5bd57df292fcfd6a267cfc64c SHA512 4071fefe44cf0474e9b5716976d163449145f3ba4276e5d467bb513e1be371e044096d222e3f19b228041863f4f0136a1838c4d066a890c8c21359d17e674596
+DIST flask-paginate-2024.4.12.gh.tar.gz 121693 BLAKE2B 378b80ac50c059735b952a2bc72ef1cc1988385a10d21fdc79a58df047ef065094fb08c134a6c5fa6ab0b6456fd047d4b1761ab331f7c793b6e13431f9e7f09a SHA512 5847a0265cb62fa949835f9e30b171fe6db9cba97ce15b38fbceac71a4213ce82d65e17f78fb4b1c22d40c92c0da62951bf9a93a20a8b763c68bd14c60191404
diff --git a/dev-python/flask-paginate/flask-paginate-2022.1.8-r1.ebuild b/dev-python/flask-paginate/flask-paginate-2022.1.8-r1.ebuild
deleted file mode 100644
index 545297259bb7..000000000000
--- a/dev-python/flask-paginate/flask-paginate-2022.1.8-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Pagination support for flask"
-HOMEPAGE="
- https://flask-paginate.readthedocs.io/
- https://github.com/lixxu/flask-paginate/
- https://pypi.org/project/flask-paginate/
-"
-SRC_URI="
- https://github.com/lixxu/flask-paginate/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/flask[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest tests/tests.py
-}
diff --git a/dev-python/flask-paginate/flask-paginate-2023.10.24.ebuild b/dev-python/flask-paginate/flask-paginate-2023.10.24.ebuild
deleted file mode 100644
index 184e0a7cee2f..000000000000
--- a/dev-python/flask-paginate/flask-paginate-2023.10.24.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Pagination support for flask"
-HOMEPAGE="
- https://flask-paginate.readthedocs.io/
- https://github.com/lixxu/flask-paginate/
- https://pypi.org/project/flask-paginate/
-"
-SRC_URI="
- https://github.com/lixxu/flask-paginate/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/flask[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest tests/tests.py
-}
diff --git a/dev-python/flask-paginate/flask-paginate-2023.10.8.ebuild b/dev-python/flask-paginate/flask-paginate-2023.10.8.ebuild
deleted file mode 100644
index 545297259bb7..000000000000
--- a/dev-python/flask-paginate/flask-paginate-2023.10.8.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Pagination support for flask"
-HOMEPAGE="
- https://flask-paginate.readthedocs.io/
- https://github.com/lixxu/flask-paginate/
- https://pypi.org/project/flask-paginate/
-"
-SRC_URI="
- https://github.com/lixxu/flask-paginate/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/flask[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest tests/tests.py
-}
diff --git a/dev-python/flask-paginate/flask-paginate-2024.4.12.ebuild b/dev-python/flask-paginate/flask-paginate-2024.4.12.ebuild
new file mode 100644
index 000000000000..90f2bbdf1d7d
--- /dev/null
+++ b/dev-python/flask-paginate/flask-paginate-2024.4.12.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Pagination support for flask"
+HOMEPAGE="
+ https://flask-paginate.readthedocs.io/
+ https://github.com/lixxu/flask-paginate/
+ https://pypi.org/project/flask-paginate/
+"
+SRC_URI="
+ https://github.com/lixxu/flask-paginate/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/flask[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest tests/tests.py
+}
diff --git a/dev-python/flask-paranoid/flask-paranoid-0.3.0.ebuild b/dev-python/flask-paranoid/flask-paranoid-0.3.0.ebuild
index 3cc4a2f60f52..65c72e820f59 100644
--- a/dev-python/flask-paranoid/flask-paranoid-0.3.0.ebuild
+++ b/dev-python/flask-paranoid/flask-paranoid-0.3.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/flask-sqlalchemy/flask-sqlalchemy-3.1.1.ebuild b/dev-python/flask-sqlalchemy/flask-sqlalchemy-3.1.1.ebuild
index c483ddbf602c..b1b2fbe24c02 100644
--- a/dev-python/flask-sqlalchemy/flask-sqlalchemy-3.1.1.ebuild
+++ b/dev-python/flask-sqlalchemy/flask-sqlalchemy-3.1.1.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_USE_PEP517=flit
PYPI_PN="Flask-SQLAlchemy"
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/flask/Manifest b/dev-python/flask/Manifest
index b9096bed8fd7..31db193f2be0 100644
--- a/dev-python/flask/Manifest
+++ b/dev-python/flask/Manifest
@@ -1,2 +1 @@
-DIST flask-2.3.3.tar.gz 672756 BLAKE2B 70feb2f1ec8bc4742e8da978b7e1063c5f0bcbfda5321f397cba121283376b5b10a275635eac76383945415dbba3b2c4f917e1495851ee1dfd745db97caddec5 SHA512 801b2521c42de7a4cd16005ea6ea7737aaef6c88edacb38ab03e2d78bb4e080e35e540c23e157e2bcdb43e4818b4b7a856c50c6cf41bb17f0b7b2590c0c6aff2
-DIST flask-3.0.0.tar.gz 674171 BLAKE2B 5ae270b429d6ea344828bead0cab855b42f4c28821c843a7754f4741ef0320c190e386a08adb4c6a5018e6a2cc7be588d955ebd4edf31ae59ea9d511c9cd93cb SHA512 dab4f97909619e380e9d8f14cea346dbda8932f3e9d19ee45e3651faf51b94aa5ccaa658116c69abae680f5357235842c63f0c6ff2a191de70cc103f0e7624a4
+DIST flask-3.0.3.tar.gz 676315 BLAKE2B 19013ff4588dc057febe2720eadcfcadb0e1854731c2c9e391449696549106da930c11f94782610424ea40c1377e9b8aa52ca39fedc6ad0c98c9a70a56d01514 SHA512 977c0e5fd2d496fae8e34a035f211118642dc6518a14dc5f6c175b72c6a76407aeb9ff0ed1f5db636370a9aa7e0d36baa783713ea7bdabd7f28c8c2b94643cd1
diff --git a/dev-python/flask/flask-2.3.3.ebuild b/dev-python/flask/flask-2.3.3.ebuild
deleted file mode 100644
index 1e0e3c8be11c..000000000000
--- a/dev-python/flask/flask-2.3.3.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A microframework based on Werkzeug, Jinja2 and good intentions"
-HOMEPAGE="
- https://palletsprojects.com/p/flask/
- https://github.com/pallets/flask/
- https://pypi.org/project/Flask/
-"
-if [[ ${PV} == *9999* ]]; then
- EGIT_REPO_URI="https://github.com/mitsuhiko/flask.git"
- inherit git-r3
-else
- inherit pypi
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="examples"
-
-RDEPEND="
- >=dev-python/blinker-1.6.2[${PYTHON_USEDEP}]
- >=dev-python/click-8.1.3[${PYTHON_USEDEP}]
- >=dev-python/itsdangerous-2.1.2[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
- >=dev-python/werkzeug-2.3.7[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/asgiref-3.2[${PYTHON_USEDEP}]
- !!dev-python/shiboken2[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/pallets-sphinx-themes \
- dev-python/sphinx-issues \
- dev-python/sphinx-tabs \
- dev-python/sphinxcontrib-log-cabinet
-distutils_enable_tests pytest
-
-python_test() {
- epytest -p no:httpbin
-}
-
-python_install_all() {
- use examples && dodoc -r examples
- distutils-r1_python_install_all
-}
diff --git a/dev-python/flask/flask-3.0.0.ebuild b/dev-python/flask/flask-3.0.0.ebuild
deleted file mode 100644
index 13b7f4bfadfc..000000000000
--- a/dev-python/flask/flask-3.0.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A microframework based on Werkzeug, Jinja2 and good intentions"
-HOMEPAGE="
- https://palletsprojects.com/p/flask/
- https://github.com/pallets/flask/
- https://pypi.org/project/Flask/
-"
-if [[ ${PV} == *9999* ]]; then
- EGIT_REPO_URI="https://github.com/mitsuhiko/flask.git"
- inherit git-r3
-else
- inherit pypi
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86"
-fi
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="examples"
-
-RDEPEND="
- >=dev-python/blinker-1.6.2[${PYTHON_USEDEP}]
- >=dev-python/click-8.1.3[${PYTHON_USEDEP}]
- >=dev-python/itsdangerous-2.1.2[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
- >=dev-python/werkzeug-3.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/asgiref-3.2[${PYTHON_USEDEP}]
- !!dev-python/shiboken2[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/pallets-sphinx-themes \
- dev-python/sphinx-issues \
- dev-python/sphinx-tabs \
- dev-python/sphinxcontrib-log-cabinet
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-python_install_all() {
- use examples && dodoc -r examples
- distutils-r1_python_install_all
-}
diff --git a/dev-python/flask/flask-3.0.3.ebuild b/dev-python/flask/flask-3.0.3.ebuild
new file mode 100644
index 000000000000..d3089d23f34f
--- /dev/null
+++ b/dev-python/flask/flask-3.0.3.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A microframework based on Werkzeug, Jinja2 and good intentions"
+HOMEPAGE="
+ https://palletsprojects.com/p/flask/
+ https://github.com/pallets/flask/
+ https://pypi.org/project/Flask/
+"
+if [[ ${PV} == *9999* ]]; then
+ EGIT_REPO_URI="https://github.com/mitsuhiko/flask.git"
+ inherit git-r3
+else
+ inherit pypi
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+fi
+
+LICENSE="BSD"
+SLOT="0"
+IUSE="examples"
+
+RDEPEND="
+ >=dev-python/blinker-1.6.2[${PYTHON_USEDEP}]
+ >=dev-python/click-8.1.3[${PYTHON_USEDEP}]
+ >=dev-python/itsdangerous-2.1.2[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
+ >=dev-python/werkzeug-3.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/asgiref-3.2[${PYTHON_USEDEP}]
+ !!dev-python/shiboken2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/pallets-sphinx-themes \
+ dev-python/sphinx-issues \
+ dev-python/sphinx-tabs \
+ dev-python/sphinxcontrib-log-cabinet
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/flatbuffers/Manifest b/dev-python/flatbuffers/Manifest
index ff76ed194531..080fa756df8b 100644
--- a/dev-python/flatbuffers/Manifest
+++ b/dev-python/flatbuffers/Manifest
@@ -1 +1 @@
-DIST flatbuffers-23.5.26.gh.tar.gz 2257271 BLAKE2B 147425e7c018072f4ae4cdb3e034a4f434362d88d5e27b09375965993c279acfbed36064014c8f4fbe3fb81175ac0aa9b07629675e2c7ad33d59a9c85f2c3bb8 SHA512 cd0a5efad8016e1217d01a181d6b02e546f5693c6412361bfeaee820d5dfe5e2a424cee1963270e851c1a4f936ae8a0032a51c5bb16ee19313e0ecc77dc4ba31
+DIST flatbuffers-24.3.25.gh.tar.gz 2297829 BLAKE2B f3a5a94119a1b1b63fba9126e1cdff7ab712996bfc0d65626a679405f62dfa722bc5de244ef775fba336224b60feff3aa27acf54bed027c4013590b4afbefe7c SHA512 e2a614f4fc526ce07bfe1e1bc79efd3c87acbdb93aee7b42994d4855abd2593f36b5ca1edb53c7dcd470d5fbe14a3e394bd75dcebb4458cc0aeb33d622a3c662
diff --git a/dev-python/flatbuffers/files/flatbuffers-24.3.25-numpy-2.patch b/dev-python/flatbuffers/files/flatbuffers-24.3.25-numpy-2.patch
new file mode 100644
index 000000000000..cc5846404764
--- /dev/null
+++ b/dev-python/flatbuffers/files/flatbuffers-24.3.25-numpy-2.patch
@@ -0,0 +1,72 @@
+From d053fbd391610e72fff1f8ee02c1222305f15de9 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@gentoo.org>
+Date: Mon, 1 Jul 2024 10:29:39 +0000
+Subject: [PATCH] Support for Numpy 2.0 in tests
+
+The newbyteorder has been removed in Numpy 2.0 [1]. Its usages are
+replaced with respect to migration guide.
+
+[1] https://numpy.org/devdocs/numpy_2_0_migration_guide.html#ndarray-and-scalar-methods
+
+Fixes: #8332
+
+Upstream-PR: https://github.com/google/flatbuffers/pull/8346
+
+diff --git a/tests/py_test.py b/tests/py_test.py
+index 7d6c0a37966..fc13a490f71 100644
+--- a/tests/py_test.py
++++ b/tests/py_test.py
+@@ -1095,7 +1095,7 @@ def test_create_numpy_vector_int8(self):
+
+ # Reverse endian:
+ b = flatbuffers.Builder(0)
+- x_other_endian = x.byteswap().newbyteorder()
++ x_other_endian = x.byteswap().view(x.dtype.newbyteorder())
+ b.CreateNumpyVector(x_other_endian)
+ self.assertBuilderEquals(
+ b,
+@@ -1144,7 +1144,7 @@ def test_create_numpy_vector_uint16(self):
+
+ # Reverse endian:
+ b = flatbuffers.Builder(0)
+- x_other_endian = x.byteswap().newbyteorder()
++ x_other_endian = x.byteswap().view(x.dtype.newbyteorder())
+ b.CreateNumpyVector(x_other_endian)
+ self.assertBuilderEquals(
+ b,
+@@ -1213,7 +1213,7 @@ def test_create_numpy_vector_int64(self):
+
+ # Reverse endian:
+ b = flatbuffers.Builder(0)
+- x_other_endian = x.byteswap().newbyteorder()
++ x_other_endian = x.byteswap().view(x.dtype.newbyteorder())
+ b.CreateNumpyVector(x_other_endian)
+ self.assertBuilderEquals(
+ b,
+@@ -1287,7 +1287,7 @@ def test_create_numpy_vector_float32(self):
+
+ # Reverse endian:
+ b = flatbuffers.Builder(0)
+- x_other_endian = x.byteswap().newbyteorder()
++ x_other_endian = x.byteswap().view(x.dtype.newbyteorder())
+ b.CreateNumpyVector(x_other_endian)
+ self.assertBuilderEquals(
+ b,
+@@ -1361,7 +1361,7 @@ def test_create_numpy_vector_float64(self):
+
+ # Reverse endian:
+ b = flatbuffers.Builder(0)
+- x_other_endian = x.byteswap().newbyteorder()
++ x_other_endian = x.byteswap().view(x.dtype.newbyteorder())
+ b.CreateNumpyVector(x_other_endian)
+ self.assertBuilderEquals(
+ b,
+@@ -1427,7 +1427,7 @@ def test_create_numpy_vector_bool(self):
+
+ # Reverse endian:
+ b = flatbuffers.Builder(0)
+- x_other_endian = x.byteswap().newbyteorder()
++ x_other_endian = x.byteswap().view(x.dtype.newbyteorder())
+ b.CreateNumpyVector(x_other_endian)
+ self.assertBuilderEquals(
+ b,
diff --git a/dev-python/flatbuffers/flatbuffers-23.5.26.ebuild b/dev-python/flatbuffers/flatbuffers-23.5.26.ebuild
deleted file mode 100644
index 9bf2ca04b773..000000000000
--- a/dev-python/flatbuffers/flatbuffers-23.5.26.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="RFC 7049 - Concise Binary Object Representation"
-HOMEPAGE="
- https://github.com/google/flatbuffers/
- https://pypi.org/project/flatbuffers/
-"
-SRC_URI="
- https://github.com/google/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${P}/python
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~riscv ~sparc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- cd "${WORKDIR}/${P}/tests" || die
- # zeroes means without benchmarks
- "${EPYTHON}" py_test.py 0 0 0 false || die
- "${EPYTHON}" py_flexbuffers_test.py -v || die
-}
diff --git a/dev-python/flatbuffers/flatbuffers-24.3.25-r1.ebuild b/dev-python/flatbuffers/flatbuffers-24.3.25-r1.ebuild
new file mode 100644
index 000000000000..bfb978e1fb13
--- /dev/null
+++ b/dev-python/flatbuffers/flatbuffers-24.3.25-r1.ebuild
@@ -0,0 +1,46 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="RFC 7049 - Concise Binary Object Representation"
+HOMEPAGE="
+ https://github.com/google/flatbuffers/
+ https://pypi.org/project/flatbuffers/
+"
+SRC_URI="
+ https://github.com/google/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/${P}/python
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~riscv ~sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ cd "${WORKDIR}/${P}" || die
+ eapply "${FILESDIR}/${PN}-24.3.25-numpy-2.patch"
+ cd "${S}" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ cd "${WORKDIR}/${P}/tests" || die
+ # zeroes means without benchmarks
+ "${EPYTHON}" py_test.py 0 0 0 0 false || die
+ "${EPYTHON}" py_flexbuffers_test.py -v || die
+}
diff --git a/dev-python/flatbuffers/metadata.xml b/dev-python/flatbuffers/metadata.xml
index 9a6c6a85e4e6..244c8d53085d 100644
--- a/dev-python/flatbuffers/metadata.xml
+++ b/dev-python/flatbuffers/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>dolsen@gentoo.org</email>
- <name>Brian Dolbec</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/flatdict/flatdict-4.0.1.ebuild b/dev-python/flatdict/flatdict-4.0.1.ebuild
index 98cb0363bfff..c0b7f9dab665 100644
--- a/dev-python/flatdict/flatdict-4.0.1.ebuild
+++ b/dev-python/flatdict/flatdict-4.0.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/fleep/fleep-1.0.1-r1.ebuild b/dev-python/fleep/fleep-1.0.1-r1.ebuild
index 7c46bd0bd0e1..c697dad55e35 100644
--- a/dev-python/fleep/fleep-1.0.1-r1.ebuild
+++ b/dev-python/fleep/fleep-1.0.1-r1.ebuild
@@ -1,19 +1,20 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..12} )
+PYTHON_COMPAT=( python3_{10..13} )
+
inherit distutils-r1
if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://github.com/floyernick/fleep-py.git"
+ EGIT_REPO_URI="https://github.com/ua-nick/fleep-py.git"
inherit git-r3
else
# upstream aren't tagging the releases, just as commit title
COMMIT="994bc2c274482d80ab13d89d8f7343eb316d3e44"
- SRC_URI="https://github.com/floyernick/fleep-py/archive/${COMMIT}.tar.gz
+ SRC_URI="https://github.com/ua-nick/fleep-py/archive/${COMMIT}.tar.gz
-> ${P}.gh.tar.gz"
S="${WORKDIR}/fleep-py-${COMMIT}"
@@ -21,7 +22,10 @@ else
fi
DESCRIPTION="File format determination library for Python"
-HOMEPAGE="https://github.com/floyernick/fleep-py"
+HOMEPAGE="
+ https://github.com/ua-nick/fleep-py/
+ https://pypi.org/project/fleep/
+"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/fleep/fleep-9999.ebuild b/dev-python/fleep/fleep-9999.ebuild
index 0a6f6b209866..d7007f963039 100644
--- a/dev-python/fleep/fleep-9999.ebuild
+++ b/dev-python/fleep/fleep-9999.ebuild
@@ -1,19 +1,20 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..12} )
+PYTHON_COMPAT=( python3_{10..13} )
+
inherit distutils-r1
if [[ ${PV} == 9999 ]]; then
- EGIT_REPO_URI="https://github.com/floyernick/fleep-py.git"
+ EGIT_REPO_URI="https://github.com/ua-nick/fleep-py.git"
inherit git-r3
else
# upstream aren't tagging the releases, just as commit title
COMMIT="994bc2c274482d80ab13d89d8f7343eb316d3e44"
- SRC_URI="https://github.com/floyernick/fleep-py/archive/${COMMIT}.tar.gz
+ SRC_URI="https://github.com/ua-nick/fleep-py/archive/${COMMIT}.tar.gz
-> ${P}.tar.gz"
S="${WORKDIR}/fleep-py-${COMMIT}"
@@ -21,7 +22,10 @@ else
fi
DESCRIPTION="File format determination library for Python"
-HOMEPAGE="https://github.com/floyernick/fleep-py"
+HOMEPAGE="
+ https://github.com/ua-nick/fleep-py/
+ https://pypi.org/project/fleep/
+"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/fleep/metadata.xml b/dev-python/fleep/metadata.xml
index 34cefcfdb518..69a30fa8a583 100644
--- a/dev-python/fleep/metadata.xml
+++ b/dev-python/fleep/metadata.xml
@@ -11,6 +11,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">fleep</remote-id>
- <remote-id type="github">floyernick/fleep-py</remote-id>
+ <remote-id type="github">ua-nick/fleep-py</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/flexmock/Manifest b/dev-python/flexmock/Manifest
index fff180c05d39..9da2f3ecbc27 100644
--- a/dev-python/flexmock/Manifest
+++ b/dev-python/flexmock/Manifest
@@ -1 +1 @@
-DIST flexmock-0.11.3.tar.gz 52509 BLAKE2B 5246cedb3cae7aeb4ddee9158bc365be13bf81443711456a84abd3dfb30c8ea7cbca8fbce618efe26d33bc8185a9d7a52f1532934f7aad5fa11296ef21731963 SHA512 38387529d8b7e359cf6e578c9be8ae028cd28929567267bce1bb7f44032c00480520335315bb1c510229728e1101aa379b809fb89aeddafd19590e38e7ebdcf2
+DIST flexmock-0.12.1.tar.gz 52765 BLAKE2B 5b1317ff0d9b1a14d58b47d558a88f38ff7aef40fd349d0e70e9d9688a89b0464419aca953ba481afe3f4ccf88217b76c34e8bf1a053c62caaa1f9877ad35183 SHA512 898876695e9eff4fc37a9d3f6b93a34869500a3ce740e7c43cd4c4317ba59f2ea16ec11b4094037e6b56755047584870fa3af27a041003eb6200d79b3a716e63
diff --git a/dev-python/flexmock/flexmock-0.11.3.ebuild b/dev-python/flexmock/flexmock-0.11.3.ebuild
deleted file mode 100644
index 8486205d4766..000000000000
--- a/dev-python/flexmock/flexmock-0.11.3.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Testing library to create mocks, stubs and fakes"
-HOMEPAGE="https://flexmock.readthedocs.io/"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/test_teamcity.py
- tests/test_testtools.py
- tests/test_unittest.py
- )
- epytest -p no:flaky
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- dodoc -r docs
-}
diff --git a/dev-python/flexmock/flexmock-0.12.1.ebuild b/dev-python/flexmock/flexmock-0.12.1.ebuild
new file mode 100644
index 000000000000..0f0522dee2cf
--- /dev/null
+++ b/dev-python/flexmock/flexmock-0.12.1.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Testing library to create mocks, stubs and fakes"
+HOMEPAGE="
+ https://flexmock.readthedocs.io/
+ https://github.com/flexmock/flexmock/
+ https://pypi.org/project/flexmock/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/test_teamcity.py
+ tests/test_testtools.py
+ tests/test_unittest.py
+ )
+ epytest -p no:flaky
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ dodoc -r docs
+}
diff --git a/dev-python/flexmock/metadata.xml b/dev-python/flexmock/metadata.xml
index a8d9fae02cf4..d65fdb590232 100644
--- a/dev-python/flexmock/metadata.xml
+++ b/dev-python/flexmock/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/flit-core/flit-core-3.9.0.ebuild b/dev-python/flit-core/flit-core-3.9.0.ebuild
index f2c8e13d8ff9..884223238eb7 100644
--- a/dev-python/flit-core/flit-core-3.9.0.ebuild
+++ b/dev-python/flit-core/flit-core-3.9.0.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
EAPI=8
DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/flit/Manifest b/dev-python/flit/Manifest
index 2c1bc351649b..de0cf876779c 100644
--- a/dev-python/flit/Manifest
+++ b/dev-python/flit/Manifest
@@ -1 +1 @@
-DIST flit-3.8.0.tar.gz 139496 BLAKE2B 85ee9fb13af35bf6716713bd7cf3f5893cd729826ad362aa5ec22077f9b4d16db4d785f183dee37c725b771188f31f2cf38c8e4aedc3af25a3efdc8ff1460bc6 SHA512 08170ee710857fcbfc1f72dbb94c535d70a2477c7598eacacc9a0e2f90f4fe11f4d910f1fcc11de210a6b50d89049e5835127090c6acabb00c69a821919e68cc
+DIST flit-3.9.0.tar.gz 141104 BLAKE2B 4ca268c49a34817756dea5fe7d2bd2fa15fe8f4247bcdea50765d56c43fd9c89292f45ae2a68d6f210d994ed1bce159121aba02e769f22940c548baf3e212afe SHA512 3cbca4530fe463e27fb43130e0d00681e63434bdd552bd61b4a2f3b7967729d9d9a49c69b1a2380ed99bcca1e66a38e592f41cbe38a471d3e7297ab00cdabc29
diff --git a/dev-python/flit/flit-3.8.0.ebuild b/dev-python/flit/flit-3.8.0.ebuild
deleted file mode 100644
index 96da544a396c..000000000000
--- a/dev-python/flit/flit-3.8.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1 pypi
-
-DESCRIPTION="Simplified packaging of Python modules"
-HOMEPAGE="https://github.com/pypa/flit https://flit.readthedocs.io/"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~mips ~x86"
-
-RDEPEND="
- dev-python/docutils[${PYTHON_USEDEP}]
- >=dev-python/flit-core-${PV}[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/requests_download[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/tomli-w[${PYTHON_USEDEP}]
-"
-BDEPEND="${RDEPEND}
- sys-apps/grep
- test? (
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- dev-python/testpath[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # requires Internet
- tests/test_config.py::test_invalid_classifier
- # failing due to Gentoo pip patches
- tests/test_install.py::InstallTests::test_install_data_dir
- tests/test_install.py::InstallTests::test_install_module_pep621
- tests/test_install.py::InstallTests::test_symlink_data_dir
- tests/test_install.py::InstallTests::test_symlink_module_pep621
-)
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc \
- dev-python/sphinxcontrib-github-alt \
- dev-python/pygments-github-lexers \
- dev-python/sphinx-rtd-theme
-
-src_prepare() {
- # make sure system install is used
- rm -r flit_core || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/flit/flit-3.9.0-r1.ebuild b/dev-python/flit/flit-3.9.0-r1.ebuild
new file mode 100644
index 000000000000..3ac5b27b6582
--- /dev/null
+++ b/dev-python/flit/flit-3.9.0-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simplified packaging of Python modules"
+HOMEPAGE="https://github.com/pypa/flit https://flit.readthedocs.io/"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~mips ~x86"
+
+RDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ >=dev-python/flit-core-${PV}[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+"
+BDEPEND="${RDEPEND}
+ sys-apps/grep
+ test? (
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # requires Internet
+ tests/test_config.py::test_invalid_classifier
+ # failing due to Gentoo pip patches
+ tests/test_install.py::InstallTests::test_install_data_dir
+ tests/test_install.py::InstallTests::test_install_module_pep621
+ tests/test_install.py::InstallTests::test_symlink_data_dir
+ tests/test_install.py::InstallTests::test_symlink_module_pep621
+)
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc \
+ dev-python/sphinxcontrib-github-alt \
+ dev-python/pygments-github-lexers \
+ dev-python/sphinx-rtd-theme
+
+src_prepare() {
+ # make sure system install is used
+ rm -r flit_core || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/flit_scm/flit_scm-1.7.0.ebuild b/dev-python/flit_scm/flit_scm-1.7.0.ebuild
index cfba15e67f03..7f035aefd8be 100644
--- a/dev-python/flit_scm/flit_scm-1.7.0.ebuild
+++ b/dev-python/flit_scm/flit_scm-1.7.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -29,6 +29,9 @@ RDEPEND="
>=dev-python/tomli-2[${PYTHON_USEDEP}]
' 3.8 3.9 3.10 )
"
+BDEPEND="
+ ${RDEPEND}
+"
src_prepare() {
# unpin deps
diff --git a/dev-python/flufl-lock/Manifest b/dev-python/flufl-lock/Manifest
index 5f165a0164fe..83e89481700c 100644
--- a/dev-python/flufl-lock/Manifest
+++ b/dev-python/flufl-lock/Manifest
@@ -1 +1 @@
-DIST flufl_lock-8.0.2.tar.gz 34369 BLAKE2B e16af81933141628664bfcbece3ede038b150df468af00b840b9b7ad4aaa7e0e10c8a0ce415c685e2aa1e556198b2ac4f8339bdfa3e41c004c32592f0bd025bf SHA512 2ef382cf22be72ceace89ad01646db31186fa7f505d72306025b90e47dad46fa0831d951f515fc321b873acc4a339e2ae1ed1a4861c355bc9961e0a3ab209d7c
+DIST flufl_lock-8.1.0.tar.gz 32884 BLAKE2B 9d5f557d4664cda5fb31b4f73d79e99acac342462a94b4c1405f1032c25fd60785986e6ae9e48629b2bae0977517ec888eacc6e52d4f75b41887d14521a85f54 SHA512 3238d4c89c3702584c19882caa903a8efd33ad49ad9286d7965694f2cfdf626adee887d6a524d293457b3cd176fc02fc71edfdc0b807c3aaaed0aa77f2188a3b
diff --git a/dev-python/flufl-lock/flufl-lock-8.0.2.ebuild b/dev-python/flufl-lock/flufl-lock-8.0.2.ebuild
deleted file mode 100644
index 21e91e5e36f5..000000000000
--- a/dev-python/flufl-lock/flufl-lock-8.0.2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="NFS-safe file locking with timeouts for POSIX systems"
-HOMEPAGE="
- https://gitlab.com/warsaw/flufl.lock/
- https://pypi.org/project/flufl.lock/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/atpublic[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/sybil[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e '/addopts/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/flufl-lock/flufl-lock-8.1.0.ebuild b/dev-python/flufl-lock/flufl-lock-8.1.0.ebuild
new file mode 100644
index 000000000000..21729fd6e543
--- /dev/null
+++ b/dev-python/flufl-lock/flufl-lock-8.1.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="NFS-safe file locking with timeouts for POSIX systems"
+HOMEPAGE="
+ https://gitlab.com/warsaw/flufl.lock/
+ https://pypi.org/project/flufl.lock/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/atpublic[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/sybil[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -e '/addopts/d' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/fonttools/Manifest b/dev-python/fonttools/Manifest
index 8bd79ae49705..47f0caba5947 100644
--- a/dev-python/fonttools/Manifest
+++ b/dev-python/fonttools/Manifest
@@ -1,7 +1,2 @@
-DIST fonttools-4.43.1.gh.tar.gz 3770153 BLAKE2B d5abb086605126bbb814f4631e1da412f0f98f678274097340516bc0c9e8572039778ef3acd1fee1943e9bf431b1120de1a6809d64e64a77d81af63f61a49755 SHA512 5c505098c2f82421ef5daa0c3bad03910e978dc2dba17a80c9dcd27d5692822ae3579f1d6bc2184e80dcded0dcf61f4a859cc1b5951f07f3467197c21954ac38
-DIST fonttools-4.44.0.gh.tar.gz 3771969 BLAKE2B 26a9bef8e6f5595bca8a27ca1b46cfa16c2bb5741d82fdf203be163510f1380b76307e3fb4921200b49d422ef602134f399a502087dd4dc6ff959871deb92ef6 SHA512 c665e0cae9b486f5373eb775d3a38a2b5a794ce64a112cf83f1e86d1433481944c8db1b30a5c6ed047f3639ebe63ddcad800a871a9289d186be67c9c8c0afa0a
-DIST fonttools-4.44.1.gh.tar.gz 3772404 BLAKE2B 75ea507c234846e26d3e1693c3ae8c23ac45c1ed0496958cf9589928e2918b496038f8729c7418080adf64e94a1ae0cb156e2b5925b69885660225daa8596359 SHA512 574dc1661c5b6cd63d70f4195f06e2dc6fe75bf84912720390314c2b3ed5edaaf05cc8879520b356857aef4cfd23ef2ae4c42c5cf5048359be63f757644d95b2
-DIST fonttools-4.44.3.gh.tar.gz 3775926 BLAKE2B fcc482ffa6163f895cf6ea8721dae3ce85beea3bbf3d19c30e5f2a681356e66ff5ffc3ee4b228244eaebbcc76e397ec1e841ed3f96fda2eb2561e26f0b90a174 SHA512 cedac35c1273d95785095678a90aef58307b5c66bcd3c2e4f72f6642412265e783afc5e0e1e4cff77ceb31f1f5406ae24d130856c41821998da94e088628823e
-DIST fonttools-4.45.0.gh.tar.gz 3785706 BLAKE2B d5e9d4ec5b04e789379834846b4545a3aac7c793127aff017a09fd07439413890919241a3692416b7f570ccb8b41e86d46a7f3a132d86357b1c8f63a1cbc1b9f SHA512 6132912f547e5b74f06749bf098cd31e27b1ff4ecfee874a29a1b82d339575b94e5f1580ee4d5b8b7588ae7382f298fd5ef537b165477a2f37e9112d51c58c2d
-DIST fonttools-4.45.1.gh.tar.gz 3787665 BLAKE2B 5f7f821eda2fe3e9f9e72417e9e545d495322fa363a1b4760f46ade75c803ec8a66ed2c7e1ab7c7eb84ff7b375d038b8ac02f56201ed2b73844e83ed1dcf25d3 SHA512 58926a3e8cb27148753010c66b5eee071ea88cd8a568fe10e76c94de190fa0685acbb6be1393b03f8fddfe6142b0d523bb17573f4db25c0e057a26f9579c5219
-DIST fonttools-4.46.0.gh.tar.gz 3796675 BLAKE2B 5e8affb809cc2a66208636557c2bcfac58abbbd2cbb921923686153138ef011db1f00edafdf2b998c9d26924ceb6b3038b65d593892a379b7c72fdaf8df10304 SHA512 67e805f11b47d9bebd9a538aa775c109c81b6ab85b66cd479b7c8c0c222420cb5a5e30d993c04bd9b091ba457b3fb3673ff217ecf61feb40e189c60fa6d6c6d8
+DIST fonttools-4.53.0.gh.tar.gz 3847778 BLAKE2B 31cf6e495441aeee90f96d6f96b9eedb581f3ee7e5e6f00f7df41547738e7da24d58b4aeac691c44961f842bbf347b32965b052d84ced88c7ade9c0d95c0367a SHA512 f810c428680c4203af3450c4a4b3a1d0f3f5e06ec7d7aac65e1e4aadf5d1e98f9efa5fed75388c8b0a0dcef5094d9b0586c0a71587360bafc91ad683a961698a
+DIST fonttools-4.53.1.gh.tar.gz 3850978 BLAKE2B 9c6b5af2cbde939b82043e29ffbbb23434c7b4bb7d7ce68385de701cdf97792bfb58b39acf5e0843493d4b4c3b70f76df6194c9a2ba4f4dfa7ec46155b9f8ce0 SHA512 c51a439c4c760bc929359ff3010612d00280ff1bfa8e6dd5248f181b3244239b82089727b4b6c81594fec57407f4c20f95497e0e26fe0e75fde30f8680022d07
diff --git a/dev-python/fonttools/fonttools-4.43.1.ebuild b/dev-python/fonttools/fonttools-4.43.1.ebuild
deleted file mode 100644
index 520e47e722e9..000000000000
--- a/dev-python/fonttools/fonttools-4.43.1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts"
-HOMEPAGE="
- https://github.com/fonttools/fonttools/
- https://pypi.org/project/fonttools/
-"
-SRC_URI="
- https://github.com/fonttools/fonttools/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/fs-2.4.9[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- app-arch/brotli[python,${PYTHON_USEDEP}]
- app-arch/zopfli
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # When dev-python/pytest-shutil is installed, we get weird import errors.
- # This is due to incomplete nesting in the Tests/ tree:
- #
- # Tests/feaLib/__init__.py
- # Tests/ufoLib/__init__.py
- # Tests/svgLib/path/__init__.py
- # Tests/otlLib/__init__.py
- # Tests/varLib/__init__.py
- #
- # This tree requires an __init__.py in Tests/svgLib/ too, bug #701148.
- touch Tests/svgLib/__init__.py || die
-
- distutils-r1_python_prepare_all
-}
-
-src_configure() {
- export FONTTOOLS_WITH_CYTHON=1
-}
-
-src_test() {
- # virtualx used when matplotlib is installed causing plot module tests to run
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest Tests fontTools || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/fonttools/fonttools-4.44.0.ebuild b/dev-python/fonttools/fonttools-4.44.0.ebuild
deleted file mode 100644
index eb45479d5b14..000000000000
--- a/dev-python/fonttools/fonttools-4.44.0.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 multiprocessing virtualx
-
-DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts"
-HOMEPAGE="
- https://github.com/fonttools/fonttools/
- https://pypi.org/project/fonttools/
-"
-SRC_URI="
- https://github.com/fonttools/fonttools/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/fs-2.4.9[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- app-arch/brotli[python,${PYTHON_USEDEP}]
- app-arch/zopfli
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # When dev-python/pytest-shutil is installed, we get weird import errors.
- # This is due to incomplete nesting in the Tests/ tree:
- #
- # Tests/feaLib/__init__.py
- # Tests/ufoLib/__init__.py
- # Tests/svgLib/path/__init__.py
- # Tests/otlLib/__init__.py
- # Tests/varLib/__init__.py
- #
- # This tree requires an __init__.py in Tests/svgLib/ too, bug #701148.
- touch Tests/svgLib/__init__.py || die
-
- distutils-r1_python_prepare_all
-}
-
-src_configure() {
- export FONTTOOLS_WITH_CYTHON=1
-}
-
-src_test() {
- # virtualx used when matplotlib is installed causing plot module tests to run
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest Tests fontTools \
- -p rerunfailures --reruns=5 \
- -p xdist -n "$(makeopts_jobs)" --dist=worksteal ||
- die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/fonttools/fonttools-4.44.1.ebuild b/dev-python/fonttools/fonttools-4.44.1.ebuild
deleted file mode 100644
index eb45479d5b14..000000000000
--- a/dev-python/fonttools/fonttools-4.44.1.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 multiprocessing virtualx
-
-DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts"
-HOMEPAGE="
- https://github.com/fonttools/fonttools/
- https://pypi.org/project/fonttools/
-"
-SRC_URI="
- https://github.com/fonttools/fonttools/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/fs-2.4.9[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- app-arch/brotli[python,${PYTHON_USEDEP}]
- app-arch/zopfli
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # When dev-python/pytest-shutil is installed, we get weird import errors.
- # This is due to incomplete nesting in the Tests/ tree:
- #
- # Tests/feaLib/__init__.py
- # Tests/ufoLib/__init__.py
- # Tests/svgLib/path/__init__.py
- # Tests/otlLib/__init__.py
- # Tests/varLib/__init__.py
- #
- # This tree requires an __init__.py in Tests/svgLib/ too, bug #701148.
- touch Tests/svgLib/__init__.py || die
-
- distutils-r1_python_prepare_all
-}
-
-src_configure() {
- export FONTTOOLS_WITH_CYTHON=1
-}
-
-src_test() {
- # virtualx used when matplotlib is installed causing plot module tests to run
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest Tests fontTools \
- -p rerunfailures --reruns=5 \
- -p xdist -n "$(makeopts_jobs)" --dist=worksteal ||
- die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/fonttools/fonttools-4.44.3.ebuild b/dev-python/fonttools/fonttools-4.44.3.ebuild
deleted file mode 100644
index 8db4c2e810b3..000000000000
--- a/dev-python/fonttools/fonttools-4.44.3.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts"
-HOMEPAGE="
- https://github.com/fonttools/fonttools/
- https://pypi.org/project/fonttools/
-"
-SRC_URI="
- https://github.com/fonttools/fonttools/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-IUSE="+native-extensions"
-
-RDEPEND="
- >=dev-python/fs-2.4.9[${PYTHON_USEDEP}]
-"
-BDEPEND="
- native-extensions? (
- $(python_gen_cond_dep '
- dev-python/cython[${PYTHON_USEDEP}]
- ' 'python*')
- )
- test? (
- dev-python/brotlicffi[${PYTHON_USEDEP}]
- app-arch/zopfli
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # When dev-python/pytest-shutil is installed, we get weird import errors.
- # This is due to incomplete nesting in the Tests/ tree:
- #
- # Tests/feaLib/__init__.py
- # Tests/ufoLib/__init__.py
- # Tests/svgLib/path/__init__.py
- # Tests/otlLib/__init__.py
- # Tests/varLib/__init__.py
- #
- # This tree requires an __init__.py in Tests/svgLib/ too, bug #701148.
- touch Tests/svgLib/__init__.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- local -x FONTTOOLS_WITH_CYTHON=$(usex native-extensions)
- [[ ${EPYTHON} == pypy3 ]] && FONTTOOLS_WITH_CYTHON=0
- distutils-r1_python_compile
-}
-
-src_test() {
- # virtualx used when matplotlib is installed causing plot module tests to run
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- if [[ ${EPYTHON} == pypy3 ]] &&
- has_version "dev-python/pyxattr[${PYTHON_USEDEP}]"
- then
- EPYTEST_DESELECT+=(
- # affected by a bug in PyPy/pyxattr
- # https://github.com/iustin/pyxattr/issues/41
- Tests/t1Lib/t1Lib_test.py::ReadWriteTest::test_read_with_path
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest Tests fontTools || die -n "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/fonttools/fonttools-4.45.0.ebuild b/dev-python/fonttools/fonttools-4.45.0.ebuild
deleted file mode 100644
index 3d1e57011c88..000000000000
--- a/dev-python/fonttools/fonttools-4.45.0.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts"
-HOMEPAGE="
- https://github.com/fonttools/fonttools/
- https://pypi.org/project/fonttools/
-"
-SRC_URI="
- https://github.com/fonttools/fonttools/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-IUSE="+native-extensions"
-
-RDEPEND="
- >=dev-python/fs-2.4.9[${PYTHON_USEDEP}]
-"
-BDEPEND="
- native-extensions? (
- $(python_gen_cond_dep '
- dev-python/cython[${PYTHON_USEDEP}]
- ' 'python*')
- )
- test? (
- dev-python/brotlicffi[${PYTHON_USEDEP}]
- app-arch/zopfli
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # When dev-python/pytest-shutil is installed, we get weird import errors.
- # This is due to incomplete nesting in the Tests/ tree:
- #
- # Tests/feaLib/__init__.py
- # Tests/ufoLib/__init__.py
- # Tests/svgLib/path/__init__.py
- # Tests/otlLib/__init__.py
- # Tests/varLib/__init__.py
- #
- # This tree requires an __init__.py in Tests/svgLib/ too, bug #701148.
- touch Tests/svgLib/__init__.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- local -x FONTTOOLS_WITH_CYTHON=$(usex native-extensions)
- [[ ${EPYTHON} == pypy3 ]] && FONTTOOLS_WITH_CYTHON=0
- distutils-r1_python_compile
-}
-
-src_test() {
- # virtualx used when matplotlib is installed causing plot module tests to run
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- if [[ ${EPYTHON} == pypy3 ]] &&
- has_version "dev-python/pyxattr[${PYTHON_USEDEP}]" &&
- {
- has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
- has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
- }
- then
- EPYTEST_DESELECT+=(
- # affected by a bug in PyPy/pyxattr
- # https://github.com/iustin/pyxattr/issues/41
- Tests/t1Lib/t1Lib_test.py::ReadWriteTest::test_read_with_path
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest Tests fontTools || die -n "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/fonttools/fonttools-4.45.1.ebuild b/dev-python/fonttools/fonttools-4.45.1.ebuild
deleted file mode 100644
index 3d1e57011c88..000000000000
--- a/dev-python/fonttools/fonttools-4.45.1.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts"
-HOMEPAGE="
- https://github.com/fonttools/fonttools/
- https://pypi.org/project/fonttools/
-"
-SRC_URI="
- https://github.com/fonttools/fonttools/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-IUSE="+native-extensions"
-
-RDEPEND="
- >=dev-python/fs-2.4.9[${PYTHON_USEDEP}]
-"
-BDEPEND="
- native-extensions? (
- $(python_gen_cond_dep '
- dev-python/cython[${PYTHON_USEDEP}]
- ' 'python*')
- )
- test? (
- dev-python/brotlicffi[${PYTHON_USEDEP}]
- app-arch/zopfli
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # When dev-python/pytest-shutil is installed, we get weird import errors.
- # This is due to incomplete nesting in the Tests/ tree:
- #
- # Tests/feaLib/__init__.py
- # Tests/ufoLib/__init__.py
- # Tests/svgLib/path/__init__.py
- # Tests/otlLib/__init__.py
- # Tests/varLib/__init__.py
- #
- # This tree requires an __init__.py in Tests/svgLib/ too, bug #701148.
- touch Tests/svgLib/__init__.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- local -x FONTTOOLS_WITH_CYTHON=$(usex native-extensions)
- [[ ${EPYTHON} == pypy3 ]] && FONTTOOLS_WITH_CYTHON=0
- distutils-r1_python_compile
-}
-
-src_test() {
- # virtualx used when matplotlib is installed causing plot module tests to run
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- if [[ ${EPYTHON} == pypy3 ]] &&
- has_version "dev-python/pyxattr[${PYTHON_USEDEP}]" &&
- {
- has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
- has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
- }
- then
- EPYTEST_DESELECT+=(
- # affected by a bug in PyPy/pyxattr
- # https://github.com/iustin/pyxattr/issues/41
- Tests/t1Lib/t1Lib_test.py::ReadWriteTest::test_read_with_path
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest Tests fontTools || die -n "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/fonttools/fonttools-4.46.0.ebuild b/dev-python/fonttools/fonttools-4.46.0.ebuild
deleted file mode 100644
index 640e8996304e..000000000000
--- a/dev-python/fonttools/fonttools-4.46.0.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts"
-HOMEPAGE="
- https://github.com/fonttools/fonttools/
- https://pypi.org/project/fonttools/
-"
-SRC_URI="
- https://github.com/fonttools/fonttools/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-IUSE="+native-extensions"
-
-RDEPEND="
- >=dev-python/fs-2.4.9[${PYTHON_USEDEP}]
-"
-BDEPEND="
- native-extensions? (
- $(python_gen_cond_dep '
- dev-python/cython[${PYTHON_USEDEP}]
- ' 'python*')
- )
- test? (
- dev-python/brotlicffi[${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- app-arch/zopfli
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # When dev-python/pytest-shutil is installed, we get weird import errors.
- # This is due to incomplete nesting in the Tests/ tree:
- #
- # Tests/feaLib/__init__.py
- # Tests/ufoLib/__init__.py
- # Tests/svgLib/path/__init__.py
- # Tests/otlLib/__init__.py
- # Tests/varLib/__init__.py
- #
- # This tree requires an __init__.py in Tests/svgLib/ too, bug #701148.
- touch Tests/svgLib/__init__.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- local -x FONTTOOLS_WITH_CYTHON=$(usex native-extensions)
- [[ ${EPYTHON} == pypy3 ]] && FONTTOOLS_WITH_CYTHON=0
- distutils-r1_python_compile
-}
-
-src_test() {
- # virtualx used when matplotlib is installed causing plot module tests to run
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- if [[ ${EPYTHON} == pypy3 ]] &&
- has_version "dev-python/pyxattr[${PYTHON_USEDEP}]" &&
- {
- has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
- has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
- }
- then
- EPYTEST_DESELECT+=(
- # affected by a bug in PyPy/pyxattr
- # https://github.com/iustin/pyxattr/issues/41
- Tests/t1Lib/t1Lib_test.py::ReadWriteTest::test_read_with_path
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest \
- -p rerunfailures --reruns=5 \
- Tests fontTools || die -n "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/fonttools/fonttools-4.53.0.ebuild b/dev-python/fonttools/fonttools-4.53.0.ebuild
new file mode 100644
index 000000000000..c05be4485340
--- /dev/null
+++ b/dev-python/fonttools/fonttools-4.53.0.ebuild
@@ -0,0 +1,99 @@
+# 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..13} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts"
+HOMEPAGE="
+ https://github.com/fonttools/fonttools/
+ https://pypi.org/project/fonttools/
+"
+SRC_URI="
+ https://github.com/fonttools/fonttools/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="+native-extensions"
+
+RDEPEND="
+ >=dev-python/fs-2.4.9[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ $(python_gen_cond_dep '
+ dev-python/cython[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+ test? (
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ dev-python/munkres[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ app-arch/zopfli
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # When dev-python/pytest-shutil is installed, we get weird import errors.
+ # This is due to incomplete nesting in the Tests/ tree:
+ #
+ # Tests/feaLib/__init__.py
+ # Tests/ufoLib/__init__.py
+ # Tests/svgLib/path/__init__.py
+ # Tests/otlLib/__init__.py
+ # Tests/varLib/__init__.py
+ #
+ # This tree requires an __init__.py in Tests/svgLib/ too, bug #701148.
+ touch Tests/svgLib/__init__.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local -x FONTTOOLS_WITH_CYTHON=$(usex native-extensions)
+ [[ ${EPYTHON} == pypy3 ]] && FONTTOOLS_WITH_CYTHON=0
+ distutils-r1_python_compile
+}
+
+src_test() {
+ # virtualx used when matplotlib is installed causing plot module tests to run
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # flaky test
+ Tests/ttLib/woff2_test.py::WOFF2ReaderTest::test_get_normal_tables
+ )
+
+ if [[ ${EPYTHON} == pypy3 ]] &&
+ has_version "dev-python/pyxattr[${PYTHON_USEDEP}]" &&
+ {
+ has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
+ has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
+ }
+ then
+ EPYTEST_DESELECT+=(
+ # affected by a bug in PyPy/pyxattr
+ # https://github.com/iustin/pyxattr/issues/41
+ Tests/t1Lib/t1Lib_test.py::ReadWriteTest::test_read_with_path
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest \
+ -p rerunfailures --reruns=5 \
+ Tests fontTools || die -n "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/fonttools/fonttools-4.53.1.ebuild b/dev-python/fonttools/fonttools-4.53.1.ebuild
new file mode 100644
index 000000000000..789aac03de8f
--- /dev/null
+++ b/dev-python/fonttools/fonttools-4.53.1.ebuild
@@ -0,0 +1,99 @@
+# 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..13} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Library for manipulating TrueType, OpenType, AFM and Type1 fonts"
+HOMEPAGE="
+ https://github.com/fonttools/fonttools/
+ https://pypi.org/project/fonttools/
+"
+SRC_URI="
+ https://github.com/fonttools/fonttools/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="+native-extensions"
+
+RDEPEND="
+ >=dev-python/fs-2.4.9[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ $(python_gen_cond_dep '
+ dev-python/cython[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+ test? (
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ dev-python/munkres[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ app-arch/zopfli
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # When dev-python/pytest-shutil is installed, we get weird import errors.
+ # This is due to incomplete nesting in the Tests/ tree:
+ #
+ # Tests/feaLib/__init__.py
+ # Tests/ufoLib/__init__.py
+ # Tests/svgLib/path/__init__.py
+ # Tests/otlLib/__init__.py
+ # Tests/varLib/__init__.py
+ #
+ # This tree requires an __init__.py in Tests/svgLib/ too, bug #701148.
+ touch Tests/svgLib/__init__.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local -x FONTTOOLS_WITH_CYTHON=$(usex native-extensions)
+ [[ ${EPYTHON} == pypy3 ]] && FONTTOOLS_WITH_CYTHON=0
+ distutils-r1_python_compile
+}
+
+src_test() {
+ # virtualx used when matplotlib is installed causing plot module tests to run
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # flaky test
+ Tests/ttLib/woff2_test.py::WOFF2ReaderTest::test_get_normal_tables
+ )
+
+ if [[ ${EPYTHON} == pypy3 ]] &&
+ has_version "dev-python/pyxattr[${PYTHON_USEDEP}]" &&
+ {
+ has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
+ has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
+ }
+ then
+ EPYTEST_DESELECT+=(
+ # affected by a bug in PyPy/pyxattr
+ # https://github.com/iustin/pyxattr/issues/41
+ Tests/t1Lib/t1Lib_test.py::ReadWriteTest::test_read_with_path
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest \
+ -p rerunfailures --reruns=5 \
+ Tests fontTools || die -n "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/fpylll/Manifest b/dev-python/fpylll/Manifest
index 63a13560a3ef..1fb31581b7c1 100644
--- a/dev-python/fpylll/Manifest
+++ b/dev-python/fpylll/Manifest
@@ -1 +1 @@
-DIST fpylll-0.6.0.tar.gz 1084736 BLAKE2B de4fc2ef762a1dc931e728cae4857da34828fb929eec0cf05c076bce5b3f7475492871d016d94f9cac4515a04a7f652440511f4ba8f1b724c351a403d5375ea0 SHA512 e21ed21362cb9256dbc828f4d628602cd8b5c1a8640116f1c137e85056cedc89a73cab58c28ea12212ee92f4ed36b99796c5dbd30c55159baf9b33770b1a9aab
+DIST fpylll-0.6.1.tar.gz 1083895 BLAKE2B 091d757a1c64830307c0dffe10418305a625f1eceabee251a4f6d06e6fe7eb449ec85fdeb72fe8177d093c50e642e730283b0022fd70383338ca74ac6301e010 SHA512 3469c7b70cfdb0077a38f2c46c06901c4b2a1ac6db9fdab1e347c3b5ba147ee495aad56a6263d163e5f140cf9fa1591de98d01b83b92ec896092dd3e0a5d5a9b
diff --git a/dev-python/fpylll/files/fpylll-0.6.1-testfix.patch b/dev-python/fpylll/files/fpylll-0.6.1-testfix.patch
new file mode 100644
index 000000000000..4160fef6cf84
--- /dev/null
+++ b/dev-python/fpylll/files/fpylll-0.6.1-testfix.patch
@@ -0,0 +1,24 @@
+From fc432b21fa7e4b9891f5b761b3539989eb958f2b Mon Sep 17 00:00:00 2001
+From: "Martin R. Albrecht" <martinralbrecht@googlemail.com>
+Date: Sun, 28 Jan 2024 17:19:42 +0000
+Subject: [PATCH] we are not testing this code here
+
+avoids side-effects from doctest order
+---
+ src/fpylll/fplll/gso.pyx | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/src/fpylll/fplll/gso.pyx b/src/fpylll/fplll/gso.pyx
+index 3879f29b..e42a00b2 100644
+--- a/src/fpylll/fplll/gso.pyx
++++ b/src/fpylll/fplll/gso.pyx
+@@ -568,8 +568,7 @@ cdef class MatGSO:
+ >>> M = GSO.Mat(A)
+ >>> M.float_type
+ 'double'
+- >>> FPLLL.set_precision(100)
+- 53
++ >>> _ = FPLLL.set_precision(100)
+ >>> M = GSO.Mat(A, float_type='mpfr')
+ >>> M.float_type
+ 'mpfr'
diff --git a/dev-python/fpylll/fpylll-0.6.0-r1.ebuild b/dev-python/fpylll/fpylll-0.6.0-r1.ebuild
deleted file mode 100644
index dec92dae42e0..000000000000
--- a/dev-python/fpylll/fpylll-0.6.0-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=setuptools
-DISTUTILS_EXT=1
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings for sci-libs/fplll"
-HOMEPAGE="https://pypi.org/project/fpylll/
- https://github.com/fplll/fpylll"
-
-# setup.py says "or later"
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="test"
-
-RDEPEND="sci-libs/fplll
- dev-python/cysignals[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}"
-BDEPEND=">=dev-python/cython-3[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
-
-src_test(){
- PY_IGNORE_IMPORTMISMATCH=1 distutils-r1_src_test
-}
diff --git a/dev-python/fpylll/fpylll-0.6.1.ebuild b/dev-python/fpylll/fpylll-0.6.1.ebuild
new file mode 100644
index 000000000000..c0729e05aaed
--- /dev/null
+++ b/dev-python/fpylll/fpylll-0.6.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_EXT=1
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for sci-libs/fplll"
+HOMEPAGE="
+ https://github.com/fplll/fpylll/
+ https://pypi.org/project/fpylll/
+"
+
+# setup.py says "or later"
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="test"
+
+DEPEND="
+ dev-python/cysignals[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/fplll
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ >=dev-python/cython-3[${PYTHON_USEDEP}]
+"
+
+PATCHES=( "${FILESDIR}/${P}-testfix.patch" )
+
+distutils_enable_tests pytest
+
+python_test(){
+ local -x PY_IGNORE_IMPORTMISMATCH=1
+ epytest
+}
diff --git a/dev-python/fqdn/Manifest b/dev-python/fqdn/Manifest
index 84e2296515b2..9b67bc7d2ce7 100644
--- a/dev-python/fqdn/Manifest
+++ b/dev-python/fqdn/Manifest
@@ -1 +1 @@
-DIST fqdn-1.5.1.tar.gz 18334 BLAKE2B 24dfd88a8176e67209350fe20e446cfee848c392795cde09725526a52af0a9adc6908a4eb6d5dd3ad6f8a11546acb6b82a7b2ad591997010dfdd0a1d235f57ae SHA512 d9d7d1bb8798c63973534bf45fb9bc0ab57b1600c6597212129debb97a908140401f5477f33b83ea273e3f9a2a852072110245a09596ab9a58a10be8043c57fc
+DIST fqdn-1.5.1.gh.tar.gz 18334 BLAKE2B 24dfd88a8176e67209350fe20e446cfee848c392795cde09725526a52af0a9adc6908a4eb6d5dd3ad6f8a11546acb6b82a7b2ad591997010dfdd0a1d235f57ae SHA512 d9d7d1bb8798c63973534bf45fb9bc0ab57b1600c6597212129debb97a908140401f5477f33b83ea273e3f9a2a852072110245a09596ab9a58a10be8043c57fc
diff --git a/dev-python/fqdn/fqdn-1.5.1-r2.ebuild b/dev-python/fqdn/fqdn-1.5.1-r2.ebuild
index e0722ebec285..837ff99b034e 100644
--- a/dev-python/fqdn/fqdn-1.5.1-r2.ebuild
+++ b/dev-python/fqdn/fqdn-1.5.1-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2018-2023 Gentoo Authors
+# Copyright 2018-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -14,8 +14,8 @@ HOMEPAGE="
https://pypi.org/project/fqdn/
"
SRC_URI="
- https://github.com/ypcrts/${PN}/archive/v${PV}.tar.gz
- -> ${P}.tar.gz
+ https://github.com/ypcrts/fqdn/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
"
LICENSE="MPL-2.0"
diff --git a/dev-python/fqdn/metadata.xml b/dev-python/fqdn/metadata.xml
index 21a6b71c2d5d..3f253b305579 100644
--- a/dev-python/fqdn/metadata.xml
+++ b/dev-python/fqdn/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/freetype-py/freetype-py-2.4.0-r1.ebuild b/dev-python/freetype-py/freetype-py-2.4.0-r1.ebuild
index 91303ca21953..fe929e252885 100644
--- a/dev-python/freetype-py/freetype-py-2.4.0-r1.ebuild
+++ b/dev-python/freetype-py/freetype-py-2.4.0-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-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=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/freezegun/Manifest b/dev-python/freezegun/Manifest
index e5694ca118a4..b570fcc760c3 100644
--- a/dev-python/freezegun/Manifest
+++ b/dev-python/freezegun/Manifest
@@ -1 +1 @@
-DIST freezegun-1.2.2.tar.gz 30670 BLAKE2B 88941ccd9694c842e4999da47e1a8fbe9b82c1fa512467de174715e627c213167cf3c7f943b35d039ff118bae9d1bca4b64ceaa5683db818727cd9ad2533a827 SHA512 c6dc3da66a2d3063f819a104b6bc98eb3d4b772b8edb06bde130a6e355d96e1861e650c44eb691be892223150a652a528fda4237bd77b1bdcee1fcfad74f307c
+DIST freezegun-1.5.1.tar.gz 33697 BLAKE2B bb08703a7e6f6f4a2145c4dc7b10245af3ced5d1a0a9355df74acd03bfe1687ee22e54ffbbd791204a497b50d4a2c578eb531379dd9e55d274ede72785bb39fa SHA512 384122e31c1db90d4c30cc60ad6d693209c933538e4d507a45c6ff116dcfe2f5f2602116c31aae4576da876ea327d502b01f651414d41b6cb11cc6e98d2aacbc
diff --git a/dev-python/freezegun/files/freezegun-1.1.0-py310.patch b/dev-python/freezegun/files/freezegun-1.1.0-py310.patch
deleted file mode 100644
index 41bd7bc2712b..000000000000
--- a/dev-python/freezegun/files/freezegun-1.1.0-py310.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 57d024e4ce2516c55c715448296b9099db68343c Mon Sep 17 00:00:00 2001
-From: Karthikeyan Singaravelan <tir.karthi@gmail.com>
-Date: Fri, 7 May 2021 15:51:33 +0000
-Subject: [PATCH] Fix decorate_class for Python 3.10 where staticmethod is
- callable.
-
-(edited by mgorny for more readable indent)
----
- freezegun/api.py | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/freezegun/api.py b/freezegun/api.py
-index cab9ebe..eb3a931 100644
---- a/freezegun/api.py
-+++ b/freezegun/api.py
-@@ -598,7 +598,10 @@ class _freeze_time(object):
- continue
- seen.add(attr)
-
-- if not callable(attr_value) or inspect.isclass(attr_value):
-+ # staticmethods are callable from Python 3.10 . Hence skip them from decoration
-+ if (not callable(attr_value)
-+ or inspect.isclass(attr_value)
-+ or isinstance(attr_value, staticmethod)):
- continue
-
- try:
---
-2.31.1
-
diff --git a/dev-python/freezegun/freezegun-1.2.2.ebuild b/dev-python/freezegun/freezegun-1.2.2.ebuild
deleted file mode 100644
index a22769775121..000000000000
--- a/dev-python/freezegun/freezegun-1.2.2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Let your Python tests travel through time"
-HOMEPAGE="
- https://github.com/spulec/freezegun/
- https://pypi.org/project/freezegun/
-"
-
-LICENSE="Apache-2.0"
-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"
-
-RDEPEND="
- >dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- # https://github.com/spulec/freezegun/issues/396
- # https://github.com/spulec/freezegun/pull/397
- "${FILESDIR}"/${PN}-1.1.0-py310.patch
-)
diff --git a/dev-python/freezegun/freezegun-1.5.1.ebuild b/dev-python/freezegun/freezegun-1.5.1.ebuild
new file mode 100644
index 000000000000..a0a726d270f2
--- /dev/null
+++ b/dev-python/freezegun/freezegun-1.5.1.ebuild
@@ -0,0 +1,47 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Let your Python tests travel through time"
+HOMEPAGE="
+ https://github.com/spulec/freezegun/
+ https://pypi.org/project/freezegun/
+"
+
+LICENSE="Apache-2.0"
+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"
+
+RDEPEND="
+ >dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # https://github.com/spulec/freezegun/issues/547
+ tests/test_datetimes.py::TestUnitTestMethodDecorator::test_method_decorator_works_on_unittest_kwarg_frozen_time
+ tests/test_datetimes.py::TestUnitTestMethodDecorator::test_method_decorator_works_on_unittest_kwarg_frozen_time_with_func
+ tests/test_datetimes.py::TestUnitTestMethodDecorator::test_method_decorator_works_on_unittest_kwarg_hello
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/fritzconnection/Manifest b/dev-python/fritzconnection/Manifest
index d145a8ee0681..4b89d1a4cf05 100644
--- a/dev-python/fritzconnection/Manifest
+++ b/dev-python/fritzconnection/Manifest
@@ -1,4 +1 @@
-DIST fritzconnection-1.12.2.gh.tar.gz 157170 BLAKE2B 9d924ad3146361d9301f10154152cdf98987572880b79052bf9f2fa427fc8410bacae92e49219dd11372c2cce2d03fb0ffd4c732a45e210a05a0a561ba5fc155 SHA512 a9c62fdaa59f20e7661836888f49cadfc99d192c393f34d4cce59aa9b9a9eda162e25029933854e84de44e08190190f312bb3862d708e79d7cf1ee8496726eab
-DIST fritzconnection-1.13.0.gh.tar.gz 160654 BLAKE2B e3ed78640a015d2dc785b2e04f32f6d4e81ba88bf4d823cd643e0f4ebc2ec8396c79c8e368012944f5809512a05d6d4715cdf7d0d76e518479a0a77e20350fae SHA512 6776ba37b52a80eee57a77a75f7815491a575ab8a1c36d20633b39d61e8f0fc295c1ec1d20bb6620e43854b954d9fd044e88d0344a10c0b3707fffb3edc733a4
-DIST fritzconnection-1.13.1.gh.tar.gz 160742 BLAKE2B 61ad47e3e8d80bda9f5f9300292f86e83d548362a911376efcaa5ece42ccca04bcf61f09e66a5832bc2da43fabb0d80b80f5d45679633db4196cc8be4a0febff SHA512 0936a33c8ef83606e234858810f936c8df7e217e7ff27a7a03f8cbb0048e9d59d056e8f673ed2652aee033ab32f10fe08b82bab43d9c9830d927a2a0a9b9b129
DIST fritzconnection-1.13.2.gh.tar.gz 161752 BLAKE2B 9cd4af3ebaa3d617560ab833e4702b05d3bd6c8356242b4269506847760dad57c7f1d900d7da3092f4e07eb33c86f082c7d3dbc8179919b97422ad5eab78ef01 SHA512 c5e8566d2fde0b789269944df3c08f5cfb4b04ea4c91e5fc06eb97c6598f64b50b50778479948cb34c3a26d872e4d7c324a92791c3f593ec503a126d3b055062
diff --git a/dev-python/fritzconnection/fritzconnection-1.12.2.ebuild b/dev-python/fritzconnection/fritzconnection-1.12.2.ebuild
deleted file mode 100644
index 4f3353259b28..000000000000
--- a/dev-python/fritzconnection/fritzconnection-1.12.2.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Lib/tool to communicate with AVM FRITZ! devices using TR-064 protocol over UPnP"
-HOMEPAGE="
- https://github.com/kbr/fritzconnection/
- https://pypi.org/project/fritzconnection/
-"
-
-LICENSE="MIT"
-SLOT="0"
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/kbr/fritzconnection"
- inherit git-r3
-else
- SRC_URI="
- https://github.com/kbr/fritzconnection/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- "
- KEYWORDS="~amd64 ~x86"
-fi
-
-RDEPEND="
- >=dev-python/requests-2.22[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # flaky (relies on time.sleep(0.01) magically being sufficient)
- fritzconnection/tests/test_fritzmonitor.py::test_terminate_thread_on_failed_reconnection
-)
diff --git a/dev-python/fritzconnection/fritzconnection-1.13.0.ebuild b/dev-python/fritzconnection/fritzconnection-1.13.0.ebuild
deleted file mode 100644
index b1bee82fa217..000000000000
--- a/dev-python/fritzconnection/fritzconnection-1.13.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Lib/tool to communicate with AVM FRITZ! devices using TR-064 protocol over UPnP"
-HOMEPAGE="
- https://github.com/kbr/fritzconnection/
- https://pypi.org/project/fritzconnection/
-"
-
-LICENSE="MIT"
-SLOT="0"
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/kbr/fritzconnection"
- inherit git-r3
-else
- SRC_URI="
- https://github.com/kbr/fritzconnection/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- "
- KEYWORDS="~amd64 ~x86"
-fi
-
-RDEPEND="
- >=dev-python/requests-2.22[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # flaky (relies on time.sleep(0.01) magically being sufficient)
- fritzconnection/tests/test_fritzmonitor.py::test_terminate_thread_on_failed_reconnection
- )
-
- # "routertest" marks tests against live hardware
- epytest -m "not routertest"
-}
diff --git a/dev-python/fritzconnection/fritzconnection-1.13.1.ebuild b/dev-python/fritzconnection/fritzconnection-1.13.1.ebuild
deleted file mode 100644
index b1bee82fa217..000000000000
--- a/dev-python/fritzconnection/fritzconnection-1.13.1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Lib/tool to communicate with AVM FRITZ! devices using TR-064 protocol over UPnP"
-HOMEPAGE="
- https://github.com/kbr/fritzconnection/
- https://pypi.org/project/fritzconnection/
-"
-
-LICENSE="MIT"
-SLOT="0"
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/kbr/fritzconnection"
- inherit git-r3
-else
- SRC_URI="
- https://github.com/kbr/fritzconnection/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- "
- KEYWORDS="~amd64 ~x86"
-fi
-
-RDEPEND="
- >=dev-python/requests-2.22[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # flaky (relies on time.sleep(0.01) magically being sufficient)
- fritzconnection/tests/test_fritzmonitor.py::test_terminate_thread_on_failed_reconnection
- )
-
- # "routertest" marks tests against live hardware
- epytest -m "not routertest"
-}
diff --git a/dev-python/fritzconnection/fritzconnection-1.13.2-r1.ebuild b/dev-python/fritzconnection/fritzconnection-1.13.2-r1.ebuild
index d0e1c574f6d3..58059b742c1b 100644
--- a/dev-python/fritzconnection/fritzconnection-1.13.2-r1.ebuild
+++ b/dev-python/fritzconnection/fritzconnection-1.13.2-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/fritzconnection/fritzconnection-1.13.2.ebuild b/dev-python/fritzconnection/fritzconnection-1.13.2.ebuild
deleted file mode 100644
index b1bee82fa217..000000000000
--- a/dev-python/fritzconnection/fritzconnection-1.13.2.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Lib/tool to communicate with AVM FRITZ! devices using TR-064 protocol over UPnP"
-HOMEPAGE="
- https://github.com/kbr/fritzconnection/
- https://pypi.org/project/fritzconnection/
-"
-
-LICENSE="MIT"
-SLOT="0"
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://github.com/kbr/fritzconnection"
- inherit git-r3
-else
- SRC_URI="
- https://github.com/kbr/fritzconnection/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- "
- KEYWORDS="~amd64 ~x86"
-fi
-
-RDEPEND="
- >=dev-python/requests-2.22[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # flaky (relies on time.sleep(0.01) magically being sufficient)
- fritzconnection/tests/test_fritzmonitor.py::test_terminate_thread_on_failed_reconnection
- )
-
- # "routertest" marks tests against live hardware
- epytest -m "not routertest"
-}
diff --git a/dev-python/frozendict/Manifest b/dev-python/frozendict/Manifest
deleted file mode 100644
index d63e2694f4bf..000000000000
--- a/dev-python/frozendict/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST frozendict-2.3.8.gh.tar.gz 310193 BLAKE2B e21d278396bcc10d88dbc6d33c86027308f66c8de84015d1aa186f1f34e74e4be7c915459a694597e277aab0eaaa78fb716e51e5c0f9fba58bb1e8b8d22394bd SHA512 17f610fc12138446908dbd425b8b15d2b6b7d8ad2b41f68b9a03acbd096d173994049b86169c62b51732cacf1e19de77e58cd38edf3422413269bd9e4eb5ca6d
-DIST frozendict-2.3.9.gh.tar.gz 310538 BLAKE2B 9095cc85fc25ddab23a30879a623b4e09557d7c8d27f51199913002d8dffe58e965174360e964a7f87c556d0b282c2fe6718bf01dc4483bb642db431e53dd0ce SHA512 e724c316c9c4f9c11127bd70ac9dd8e9f9012c61797ca55593b405109d09277657c1c3177183051b6f7d8f7ac86e70715a3448136c2c196db5393271a2fd4fb7
diff --git a/dev-python/frozendict/frozendict-2.3.8.ebuild b/dev-python/frozendict/frozendict-2.3.8.ebuild
deleted file mode 100644
index 350d74f84327..000000000000
--- a/dev-python/frozendict/frozendict-2.3.8.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A simple immutable mapping for python"
-HOMEPAGE="
- https://github.com/Marco-Sulla/python-frozendict/
- https://pypi.org/project/frozendict/
-"
-SRC_URI="
- https://github.com/Marco-Sulla/python-frozendict/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/python-${P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64"
-
-distutils_enable_tests pytest
-
-python_compile() {
- # This prevents the build system from ignoring build failures, sigh.
- local -x CIBUILDWHEEL=1
-
- distutils-r1_python_compile
-}
-
-python_test() {
- rm -rf frozendict || die
- epytest
-}
diff --git a/dev-python/frozendict/frozendict-2.3.9.ebuild b/dev-python/frozendict/frozendict-2.3.9.ebuild
deleted file mode 100644
index 4b760aa0a439..000000000000
--- a/dev-python/frozendict/frozendict-2.3.9.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A simple immutable mapping for python"
-HOMEPAGE="
- https://github.com/Marco-Sulla/python-frozendict/
- https://pypi.org/project/frozendict/
-"
-SRC_URI="
- https://github.com/Marco-Sulla/python-frozendict/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/python-${P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64"
-
-distutils_enable_tests pytest
-
-python_compile() {
- # upstream provides a C extensions for python3.10 only, and errors out
- # if we enable it for newer versions, so the extra effort does not seem
- # to be worth it
- local -x FROZENDICT_PURE_PY=1
- distutils-r1_python_compile
-}
diff --git a/dev-python/frozendict/metadata.xml b/dev-python/frozendict/metadata.xml
deleted file mode 100644
index 99081d85e2f9..000000000000
--- a/dev-python/frozendict/metadata.xml
+++ /dev/null
@@ -1,16 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>arkamar@gentoo.org</email>
- <name>Petr Vaněk</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">frozendict</remote-id>
- <remote-id type="github">Marco-Sulla/python-frozendict</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/frozenlist/Manifest b/dev-python/frozenlist/Manifest
index e914f7657e33..bdd0f7ed2588 100644
--- a/dev-python/frozenlist/Manifest
+++ b/dev-python/frozenlist/Manifest
@@ -1,2 +1 @@
-DIST frozenlist-1.3.3.gh.tar.gz 27742 BLAKE2B cf0dcd2ed0e22cb7fa3d57a73177e53cace8e6301c462ab56544678f1f78f113ac3ad9ffb68dafb3ae957a1e52e2069dcec76b5adc27284587d614bbb6a8c139 SHA512 8f416996c18d352912e88dad6b503cb1e5ce566d69e97aad8d7eedc6415316e8c9e63eb2c341c5d2409ebf90fd58153ce642d5d88f277435bc6e5a4f1ce8b949
-DIST frozenlist-1.4.0.gh.tar.gz 29063 BLAKE2B ec33639c22448da84fda9eaa83a78737f20579061e0ae05699a361ac9a8646df0ebf5c31df69cd7c4ee1c1c7fc0e28d0f6050a1879c3d28bf83e2caf442eb2a3 SHA512 937f7684df3879596903b5ce2d9a38590383a7c319e3079bbd8fdcbea169c692d9feabac0a7e0646d334ec517a86f7d943e0b0107fd925203de1cc8029b252ba
+DIST frozenlist-1.4.1.gh.tar.gz 46357 BLAKE2B 44ee864cd6c7918634d2db85937d778a8526f3117e4d27e06267c979bda2228de5bacaa87d8e0339f7718d6c12325336025214b8d42bdcc744aac7adb63b736a SHA512 a82059fd7d16ec8e17cdf9d05eb128194fc3eed7c20ea4a3daf508a949e6c039fb5824794eac1ca768de11d883f55f46de45f5dcc5031f5cb31291b33df87023
diff --git a/dev-python/frozenlist/files/frozenlist-1.4.1-py313.patch b/dev-python/frozenlist/files/frozenlist-1.4.1-py313.patch
new file mode 100644
index 000000000000..5607461c9229
--- /dev/null
+++ b/dev-python/frozenlist/files/frozenlist-1.4.1-py313.patch
@@ -0,0 +1,13 @@
+diff --git a/tests/test_frozenlist.py b/tests/test_frozenlist.py
+index c0d91b5..b65a998 100644
+--- a/tests/test_frozenlist.py
++++ b/tests/test_frozenlist.py
+@@ -11,7 +11,7 @@ from frozenlist import FrozenList, PyFrozenList
+ class FrozenListMixin:
+ FrozenList = NotImplemented
+
+- SKIP_METHODS = {"__abstractmethods__", "__slots__"}
++ SKIP_METHODS = {"__abstractmethods__", "__slots__", "__static_attributes__", "__firstlineno__"}
+
+ def test___class_getitem__(self) -> None:
+ assert self.FrozenList[str] is not None
diff --git a/dev-python/frozenlist/frozenlist-1.3.3.ebuild b/dev-python/frozenlist/frozenlist-1.3.3.ebuild
deleted file mode 100644
index 64f40cf2af08..000000000000
--- a/dev-python/frozenlist/frozenlist-1.3.3.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A list-like structure which implements collections.abc.MutableSequence"
-HOMEPAGE="
- https://pypi.org/project/frozenlist/
- https://github.com/aio-libs/frozenlist/
-"
-SRC_URI="
- https://github.com/aio-libs/frozenlist/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- $(python_gen_cond_dep '
- dev-python/cython[${PYTHON_USEDEP}]
- ' 'python*')
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/addopts/d' pytest.ini || die
- distutils-r1_src_prepare
-}
-
-python_configure() {
- # pypy is not using the C extension
- if [[ ${EPYTHON} == python* ]]; then
- > .install-cython || die
- emake cythonize
- fi
-}
diff --git a/dev-python/frozenlist/frozenlist-1.4.0.ebuild b/dev-python/frozenlist/frozenlist-1.4.0.ebuild
deleted file mode 100644
index 0958c3e69d41..000000000000
--- a/dev-python/frozenlist/frozenlist-1.4.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A list-like structure which implements collections.abc.MutableSequence"
-HOMEPAGE="
- https://pypi.org/project/frozenlist/
- https://github.com/aio-libs/frozenlist/
-"
-SRC_URI="
- https://github.com/aio-libs/frozenlist/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="+native-extensions"
-
-BDEPEND="
- native-extensions? (
- $(python_gen_cond_dep '
- dev-python/cython[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/addopts/d' pytest.ini || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- # pypy is not using the C extension
- if use native-extensions && [[ ${EPYTHON} == python* ]]; then
- > .install-cython || die
- emake cythonize
- else
- local -x FROZENLIST_NO_EXTENSIONS=1
- fi
-
- distutils-r1_python_compile
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- rm -rf frozenlist || die
- epytest
-}
diff --git a/dev-python/frozenlist/frozenlist-1.4.1.ebuild b/dev-python/frozenlist/frozenlist-1.4.1.ebuild
new file mode 100644
index 000000000000..42b6ee7b5b7d
--- /dev/null
+++ b/dev-python/frozenlist/frozenlist-1.4.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A list-like structure which implements collections.abc.MutableSequence"
+HOMEPAGE="
+ https://pypi.org/project/frozenlist/
+ https://github.com/aio-libs/frozenlist/
+"
+SRC_URI="
+ https://github.com/aio-libs/frozenlist/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ dev-python/expandvars[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ native-extensions? (
+ $(python_gen_cond_dep '
+ dev-python/cython[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/aio-libs/frozenlist/issues/588#issuecomment-2139078800
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+python_compile() {
+ # pypy is not using the C extension
+ if ! use native-extensions || [[ ${EPYTHON} != python* ]]; then
+ local -x FROZENLIST_NO_EXTENSIONS=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf frozenlist || die
+ epytest -o addopts=
+}
diff --git a/dev-python/fs/fs-2.4.16.ebuild b/dev-python/fs/fs-2.4.16.ebuild
index 2ff4052187be..4634136fae74 100644
--- a/dev-python/fs/fs-2.4.16.ebuild
+++ b/dev-python/fs/fs-2.4.16.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 optfeature pypi
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
RDEPEND="
>=dev-python/appdirs-1.4.3[${PYTHON_USEDEP}]
diff --git a/dev-python/fsspec/Manifest b/dev-python/fsspec/Manifest
index 8e43e2a16328..be76d6abdb8b 100644
--- a/dev-python/fsspec/Manifest
+++ b/dev-python/fsspec/Manifest
@@ -1,2 +1 @@
-DIST filesystem_spec-2023.10.0.gh.tar.gz 404845 BLAKE2B 6c8cf801664c9fc848cb55660db1725c90facf534d58e49f604b2051d1b6a78d13d8f083282071beb7ab3dcb8d75f6d52fe24ce744c5cf1808b4ae3cb673998d SHA512 cb449052208516930c73dbe1de7c495d252677a3d3d85267836224d79c1b8cf9449ebdba8287f6f6206d5a8e631a99cd81c2fb62b82288a626a202876a45139c
-DIST filesystem_spec-2023.12.0.gh.tar.gz 408457 BLAKE2B d46383ff22124b714b58264e203a12fad13ee17fb8124d949c107546cceaf2713d52e1e33e0a9d63017695681ab9e8dfb86f85da809675fba7b1838f3a12a486 SHA512 87bdd147cfddaf971af6c0c34dafb47b6d1782c7a0eb2ec7fbcbf01f6d01b59ecea98b9bf75461827e9e1070f78346b53e753673838e1db505d33f9fa8d59349
+DIST filesystem_spec-2024.6.1.gh.tar.gz 409416 BLAKE2B c5b2ba4935dcf0a141c952d611b49c4370a07e3c9ed439ae4d7e98f86e93610a2b1eb8c394eb73ed4494555cca1ac169f1ee7b11144cf0d1ecae7316a46092b6 SHA512 67ecf2bc10c3ae28fa64be5ecb659fc466e97b52b152f3f223d347931b04730e58a48e90d7c546a47c5422831103711037fc268c24984cf77ef65ca4714b0e5e
diff --git a/dev-python/fsspec/fsspec-2023.10.0.ebuild b/dev-python/fsspec/fsspec-2023.10.0.ebuild
deleted file mode 100644
index 397fa9af6b6b..000000000000
--- a/dev-python/fsspec/fsspec-2023.10.0.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=filesystem_spec-${PV}
-DESCRIPTION="A specification that python filesystems should adhere to"
-HOMEPAGE="
- https://github.com/fsspec/filesystem_spec/
- https://pypi.org/project/fsspec/
-"
-SRC_URI="
- https://github.com/fsspec/filesystem_spec/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-
-BDEPEND="
- test? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/tqdm[${PYTHON_USEDEP}]
- dev-vcs/git
- )
-"
-
-# Note: this package is not xdist-friendly
-distutils_enable_tests pytest
-
-src_test() {
- git config --global user.email "you@example.com" || die
- git config --global user.name "Your Name" || die
- distutils-r1_src_test
-}
-
-EPYTEST_DESELECT=(
- fsspec/tests/test_spec.py::test_find
- # requires s3fs
- fsspec/implementations/tests/test_local.py::test_urlpath_inference_errors
- fsspec/tests/test_core.py::test_mismatch
- # requires pyarrow, fastparquet
- fsspec/implementations/tests/test_reference.py::test_df_single
- fsspec/implementations/tests/test_reference.py::test_df_multi
-)
-
-EPYTEST_IGNORE=(
- # sftp and smb require server started via docker
- fsspec/implementations/tests/test_dbfs.py
- fsspec/implementations/tests/test_sftp.py
- fsspec/implementations/tests/test_smb.py
- # unhappy about dev-python/fuse-python (?)
- fsspec/tests/test_fuse.py
-)
diff --git a/dev-python/fsspec/fsspec-2023.12.0.ebuild b/dev-python/fsspec/fsspec-2023.12.0.ebuild
deleted file mode 100644
index 1cdf466d85da..000000000000
--- a/dev-python/fsspec/fsspec-2023.12.0.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=filesystem_spec-${PV}
-DESCRIPTION="A specification that python filesystems should adhere to"
-HOMEPAGE="
- https://github.com/fsspec/filesystem_spec/
- https://pypi.org/project/fsspec/
-"
-SRC_URI="
- https://github.com/fsspec/filesystem_spec/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-BDEPEND="
- test? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/tqdm[${PYTHON_USEDEP}]
- dev-vcs/git
- )
-"
-
-# Note: this package is not xdist-friendly
-distutils_enable_tests pytest
-
-src_test() {
- git config --global user.email "you@example.com" || die
- git config --global user.name "Your Name" || die
- distutils-r1_src_test
-}
-
-EPYTEST_DESELECT=(
- fsspec/tests/test_spec.py::test_find
- # requires s3fs
- fsspec/implementations/tests/test_local.py::test_urlpath_inference_errors
- fsspec/tests/test_core.py::test_mismatch
- # requires pyarrow, fastparquet
- fsspec/implementations/tests/test_reference.py::test_df_single
- fsspec/implementations/tests/test_reference.py::test_df_multi
-)
-
-EPYTEST_IGNORE=(
- # sftp and smb require server started via docker
- fsspec/implementations/tests/test_dbfs.py
- fsspec/implementations/tests/test_sftp.py
- fsspec/implementations/tests/test_smb.py
- # unhappy about dev-python/fuse-python (?)
- fsspec/tests/test_fuse.py
-)
diff --git a/dev-python/fsspec/fsspec-2024.6.1.ebuild b/dev-python/fsspec/fsspec-2024.6.1.ebuild
new file mode 100644
index 000000000000..e06e223520d0
--- /dev/null
+++ b/dev-python/fsspec/fsspec-2024.6.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=filesystem_spec-${PV}
+DESCRIPTION="A specification that python filesystems should adhere to"
+HOMEPAGE="
+ https://github.com/fsspec/filesystem_spec/
+ https://pypi.org/project/fsspec/
+"
+# upstream removed tests in 2024.6.0
+SRC_URI="
+ https://github.com/fsspec/filesystem_spec/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/tqdm[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+# Note: this package is not xdist-friendly
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+src_test() {
+ git config --global user.email "you@example.com" || die
+ git config --global user.name "Your Name" || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p pytest_mock -o tmp_path_retention_policy=all
+}
diff --git a/dev-python/ftfy/Manifest b/dev-python/ftfy/Manifest
new file mode 100644
index 000000000000..9674b6ec25b7
--- /dev/null
+++ b/dev-python/ftfy/Manifest
@@ -0,0 +1 @@
+DIST ftfy-6.2.0.tar.gz 63675 BLAKE2B 4d2455c004737b2914edcdf22dc53e433f1f9d9a1b469f8b34069ce7a4b04c30a5b2a0d76db35d8e1f9ba0469cdff604271e7331f9fca0d8b579cc61c422cde1 SHA512 31724b3f65936a146f567a493988b3a3ce5ba87ac7578b97a64f0946cc20d09fcab040964cec9bcf3fbac1f79cad0b67c5e74aaa871a7d6c856f5939e7a30529
diff --git a/dev-python/ftfy/files/ftfy-6.2.0-poetry.patch b/dev-python/ftfy/files/ftfy-6.2.0-poetry.patch
new file mode 100644
index 000000000000..1766a9aa98b9
--- /dev/null
+++ b/dev-python/ftfy/files/ftfy-6.2.0-poetry.patch
@@ -0,0 +1,36 @@
+From 4ef6eeef8764086816034992705d4a4ebba4e88c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 3 Apr 2024 10:33:02 +0200
+Subject: [PATCH] fix pyproject.toml not to install stray files into
+ site-packages
+
+Fix the `include` directives in `pyproject.toml` to include the relevant
+files in `sdist` archives only and not in wheels, where they end up
+being installed straight into site-packages, e.g. as:
+
+ /usr/lib/python3.12/site-packages/CHANGELOG.md
+ /usr/lib/python3.12/site-packages/README.md
+---
+ pyproject.toml | 6 +++++-
+ 1 file changed, 5 insertions(+), 1 deletion(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index fc3e6b9..3bc68e2 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -4,7 +4,11 @@ version = "6.2.0"
+ description = "Fixes mojibake and other problems with Unicode, after the fact"
+ authors = ["Robyn Speer <rspeer@arborelia.net>"]
+ license = "Apache-2.0"
+-include = ["README.md", "CHANGELOG.md", "tests"]
++include = [
++ {path = "README.md", format = "sdist"},
++ {path = "CHANGELOG.md", format = "sdist"},
++ {path = "tests", format = "sdist"},
++]
+ readme = "README.md"
+
+ [tool.poetry.dependencies]
+--
+2.44.0
+
diff --git a/dev-python/ftfy/ftfy-6.2.0.ebuild b/dev-python/ftfy/ftfy-6.2.0.ebuild
new file mode 100644
index 000000000000..91e9718f0575
--- /dev/null
+++ b/dev-python/ftfy/ftfy-6.2.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fixes mojibake and other problems with Unicode, after the fact"
+HOMEPAGE="
+ https://ftfy.readthedocs.io/en/latest/
+ https://github.com/rspeer/python-ftfy/
+ https://pypi.org/project/ftfy/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ <dev-python/wcwidth-0.3[${PYTHON_USEDEP}]
+ >=dev-python/wcwidth-0.2.12[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/rspeer/python-ftfy/pull/204
+ "${FILESDIR}/${P}-poetry.patch"
+ )
+
+ # https://github.com/rspeer/python-ftfy/pull/205
+ sed -i -e "s:'poetry', 'run',::" tests/test_cli.py || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/ftfy/metadata.xml b/dev-python/ftfy/metadata.xml
new file mode 100644
index 000000000000..7facc3ac34b4
--- /dev/null
+++ b/dev-python/ftfy/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">rspeer/python-ftfy</remote-id>
+ <remote-id type="pypi">ftfy</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/funcparserlib/funcparserlib-1.0.1.ebuild b/dev-python/funcparserlib/funcparserlib-1.0.1.ebuild
index 8464ebc9f2ce..70c607105330 100644
--- a/dev-python/funcparserlib/funcparserlib-1.0.1.ebuild
+++ b/dev-python/funcparserlib/funcparserlib-1.0.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/funcy/funcy-2.0.ebuild b/dev-python/funcy/funcy-2.0.ebuild
index 1d410d996765..d8a103157f57 100644
--- a/dev-python/funcy/funcy-2.0.ebuild
+++ b/dev-python/funcy/funcy-2.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/furo/Manifest b/dev-python/furo/Manifest
index 3cf7370ce3d9..e0b47e55e011 100644
--- a/dev-python/furo/Manifest
+++ b/dev-python/furo/Manifest
@@ -1 +1,2 @@
-DIST furo-2023.9.10-py3-none-any.whl 324431 BLAKE2B 3a513e00c7a5856c19fda8e74c6a66fd89ea53ae5a8035969bc84b3827ec7f8b4c48bf964e3fd9d663f780b4621bdff31cc1bee2ffe0bc8e35700a41e4eb1bcc SHA512 67aba2f451beba1d2ecdcac8cd38db8a5b5952ccdd5d715d8b59ca68106214a8d9b8e0efe3adad6ee1ad84459904053b8fa038d8a334073b4879bd51934c28cf
+DIST furo-2024.5.6-py3-none-any.whl 341199 BLAKE2B 6cecc3407bb91f096ba755d2d36f8e165dd8887f513495013533907017248c8a1f15d8019d5b4d5e7acd2793d95dc82cf95fc5ca1d9ad42bdcc57983d451db97 SHA512 932336ddff321b5dcdf98ee6aeda2cd33ce7981fb3f74fad5c2c732ff7d5be9c8666dd89808630a24b7d610965f8921ad477e9409ba5c2b9ad112d338dd06629
+DIST furo-2024.7.18-py3-none-any.whl 340824 BLAKE2B 619e7183541921ec31f5a7e7ebcbc86f0507e04bf7e5c9e308a3b6a6b580cf734fe46b641b3bcaaeeaba39516ca27b49ef8faadd0d9d5864343aafc15a05037d SHA512 62c047742a0a851e5faf56013751d05a411920ca7659ef42fc06bcce6766a6605734b370a636f4b1c2805def42881c273a2b5eb6704484571d76a44145b0a346
diff --git a/dev-python/furo/furo-2023.9.10.ebuild b/dev-python/furo/furo-2023.9.10.ebuild
deleted file mode 100644
index 1c42bf8413e1..000000000000
--- a/dev-python/furo/furo-2023.9.10.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# sphinx-theme-builder is completely unusable, as it requires pinning
-# to a very-specific nodejs version number, and ofc loves fetching
-# everything from the Internet
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Clean customisable Sphinx documentation theme"
-HOMEPAGE="
- https://pypi.org/project/furo/
- https://github.com/pradyunsg/furo/
-"
-SRC_URI="$(pypi_wheel_url)"
-S=${WORKDIR}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx-basic-ng[${PYTHON_USEDEP}]
-"
-
-python_compile() {
- distutils_wheel_install "${BUILD_DIR}/install" \
- "${DISTDIR}/${P}-py3-none-any.whl"
-}
diff --git a/dev-python/furo/furo-2024.5.6.ebuild b/dev-python/furo/furo-2024.5.6.ebuild
new file mode 100644
index 000000000000..f6d61e40cff6
--- /dev/null
+++ b/dev-python/furo/furo-2024.5.6.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# sphinx-theme-builder is completely unusable, as it requires pinning
+# to a very-specific nodejs version number, and ofc loves fetching
+# everything from the Internet
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Clean customisable Sphinx documentation theme"
+HOMEPAGE="
+ https://pypi.org/project/furo/
+ https://github.com/pradyunsg/furo/
+"
+SRC_URI="$(pypi_wheel_url)"
+S=${WORKDIR}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-basic-ng[${PYTHON_USEDEP}]
+"
+
+src_unpack() {
+ if [[ ${PKGBUMPING} == ${PVR} ]]; then
+ unzip "${DISTDIR}/${A}" || die
+ fi
+}
+
+python_compile() {
+ distutils_wheel_install "${BUILD_DIR}/install" \
+ "${DISTDIR}/${P}-py3-none-any.whl"
+}
diff --git a/dev-python/furo/furo-2024.7.18.ebuild b/dev-python/furo/furo-2024.7.18.ebuild
new file mode 100644
index 000000000000..9afc06b408f3
--- /dev/null
+++ b/dev-python/furo/furo-2024.7.18.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# sphinx-theme-builder is completely unusable, as it requires pinning
+# to a very-specific nodejs version number, and ofc loves fetching
+# everything from the Internet
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Clean customisable Sphinx documentation theme"
+HOMEPAGE="
+ https://pypi.org/project/furo/
+ https://github.com/pradyunsg/furo/
+"
+SRC_URI="$(pypi_wheel_url)"
+S=${WORKDIR}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-basic-ng[${PYTHON_USEDEP}]
+"
+
+src_unpack() {
+ if [[ ${PKGBUMPING} == ${PVR} ]]; then
+ unzip "${DISTDIR}/${A}" || die
+ fi
+}
+
+python_compile() {
+ distutils_wheel_install "${BUILD_DIR}/install" \
+ "${DISTDIR}/${P}-py3-none-any.whl"
+}
diff --git a/dev-python/fuse-python/Manifest b/dev-python/fuse-python/Manifest
deleted file mode 100644
index dea8d245b362..000000000000
--- a/dev-python/fuse-python/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-fuse-1.0.5.gh.tar.gz 46592 BLAKE2B 9d33cf508a57b1a08f6c257ecee89386826f5f6c9be223f33c36789930baccaacab112305e264aa5c412f30bfff0562c6701b8ec1f9632d9d2e5ff8ea6013073 SHA512 e0d0cc0f3dee9416eefe430119e8f2f5a9bbc88a214d36d1d23c7e1f7ce78cc977a173f6d22c05cb928715d5c657ba29738f60453323b25299dddc08d57595d2
diff --git a/dev-python/fuse-python/fuse-python-1.0.5.ebuild b/dev-python/fuse-python/fuse-python-1.0.5.ebuild
deleted file mode 100644
index a45fa1f4a3ef..000000000000
--- a/dev-python/fuse-python/fuse-python-1.0.5.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-MY_P=python-fuse-${PV}
-DESCRIPTION="Python FUSE bindings"
-HOMEPAGE="https://github.com/libfuse/python-fuse"
-SRC_URI="
- https://github.com/libfuse/python-fuse/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="sys-fs/fuse:0="
-DEPEND="${RDEPEND}"
-BDEPEND="virtual/pkgconfig"
diff --git a/dev-python/fuse-python/metadata.xml b/dev-python/fuse-python/metadata.xml
deleted file mode 100644
index 85b1282ba244..000000000000
--- a/dev-python/fuse-python/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="github">libfuse/python-fuse</remote-id>
- <remote-id type="pypi">fuse-python</remote-id>
- <remote-id type="sourceforge">fuse</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/future/Manifest b/dev-python/future/Manifest
deleted file mode 100644
index fff2affc2df3..000000000000
--- a/dev-python/future/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST future-0.18.3-tests.patch.xz 2736 BLAKE2B 55f9f233fb65f006d2055adf8b5d5b3ab00b4cd9b9f5a78d09b3fa2c1e347ef2d8370569fa5374968bf3e84b4fcbc220ad8da1cc2b32da57c46d36050ba1440a SHA512 c18434bc6efe88381aed8c86ed494352a2749c5680a52f62ae043bec70e3adb0163f91a971daa04134508d59172fe2e71ebbf694a74afce060b7fa1e7c385810
-DIST future-0.18.3.tar.gz 840896 BLAKE2B 13172c639b0eee80581133a2d46b9fa3a38fb9c47ea6eecc8f0715782536be5965bbd153d6a6dda49d8fa9cfea29231c6cc60a4b3b3a6c0cc5406f02c494a425 SHA512 6de56a5aa5c5dd56a0dc5a6732c753530f9868036bd97e9d355f9ee6e1305e266a60c167de779cba93f09b5b3fae615193074caba2afe857ca7ea944532ef910
diff --git a/dev-python/future/files/future-0.18.2-py3.10.patch b/dev-python/future/files/future-0.18.2-py3.10.patch
deleted file mode 100644
index 65cbc8e7a40d..000000000000
--- a/dev-python/future/files/future-0.18.2-py3.10.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From ca1362a4250b7124d9ae03506eb80a767f06e282 Mon Sep 17 00:00:00 2001
-From: Arthur Zamarin <arthurzam@gentoo.org>
-Date: Fri, 20 Aug 2021 10:15:59 +0300
-Subject: [PATCH] Fix for Python3.10
-
-Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
----
- src/future/moves/test/support.py | 5 +++++
- 1 file changed, 5 insertions(+)
-
-diff --git a/src/future/moves/test/support.py b/src/future/moves/test/support.py
-index e9aa0f4..4ae2ffd 100644
---- a/src/future/moves/test/support.py
-+++ b/src/future/moves/test/support.py
-@@ -3,6 +3,11 @@ from future.standard_library import suspend_hooks
- from future.utils import PY3
-
- if PY3:
-+ try:
-+ from test.support.os_helper import *
-+ from test.support.warnings_helper import *
-+ except ImportError:
-+ pass
- from test.support import *
- else:
- __future_module__ = True
---
-2.33.0
-
diff --git a/dev-python/future/files/future-0.18.2-py39-fileurl.patch b/dev-python/future/files/future-0.18.2-py39-fileurl.patch
deleted file mode 100644
index 71ed088edcb5..000000000000
--- a/dev-python/future/files/future-0.18.2-py39-fileurl.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/tests/test_future/test_urllib_toplevel.py b/tests/test_future/test_urllib_toplevel.py
-index 68bc4c9..923b2e8 100644
---- a/tests/test_future/test_urllib_toplevel.py
-+++ b/tests/test_future/test_urllib_toplevel.py
-@@ -120,7 +120,7 @@ class urlopen_FileTests(unittest.TestCase):
- finally:
- f.close()
- self.pathname = support.TESTFN
-- self.returned_obj = urlopen("file:%s" % self.pathname)
-+ self.returned_obj = urlopen("file:%s" % urllib_parse.quote(self.pathname))
-
- def tearDown(self):
- """Shut down the open object"""
-@@ -167,7 +167,7 @@ class urlopen_FileTests(unittest.TestCase):
- self.assertIsInstance(self.returned_obj.info(), email_message.Message)
-
- def test_geturl(self):
-- self.assertEqual(self.returned_obj.geturl(), self.pathname)
-+ self.assertEqual(self.returned_obj.geturl(), urllib_parse.quote(self.pathname))
-
- def test_getcode(self):
- self.assertIsNone(self.returned_obj.getcode())
diff --git a/dev-python/future/files/future-0.18.2-py39.patch b/dev-python/future/files/future-0.18.2-py39.patch
deleted file mode 100644
index 4524cb0c093b..000000000000
--- a/dev-python/future/files/future-0.18.2-py39.patch
+++ /dev/null
@@ -1,65 +0,0 @@
-From edda349a2d4fffa6c7f277483ccb40a66c0795b9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
-Date: Mon, 10 Feb 2020 23:17:28 +0100
-Subject: [PATCH] Test fixes for Python 3.9
-
-Fixes https://github.com/PythonCharmers/python-future/issues/540
-Fixes https://github.com/PythonCharmers/python-future/issues/541
----
- src/future/moves/_dummy_thread.py | 2 +-
- src/future/standard_library/__init__.py | 2 +-
- tests/test_future/test_standard_library.py | 1 -
- tests/test_future/test_urllib_toplevel.py | 2 --
- 4 files changed, 2 insertions(+), 5 deletions(-)
-
-diff --git a/src/future/moves/_dummy_thread.py b/src/future/moves/_dummy_thread.py
-index 688d249b..cc2fc891 100644
---- a/src/future/moves/_dummy_thread.py
-+++ b/src/future/moves/_dummy_thread.py
-@@ -2,7 +2,7 @@
- from future.utils import PY3
-
- if PY3:
-- from _dummy_thread import *
-+ from _thread import *
- else:
- __future_module__ = True
- from dummy_thread import *
-diff --git a/src/future/standard_library/__init__.py b/src/future/standard_library/__init__.py
-index cff02f95..3e8da8a6 100644
---- a/src/future/standard_library/__init__.py
-+++ b/src/future/standard_library/__init__.py
-@@ -125,7 +125,7 @@
- # 'Tkinter': 'tkinter',
- '_winreg': 'winreg',
- 'thread': '_thread',
-- 'dummy_thread': '_dummy_thread',
-+ 'dummy_thread': '_thread',
- # 'anydbm': 'dbm', # causes infinite import loop
- # 'whichdb': 'dbm', # causes infinite import loop
- # anydbm and whichdb are handled by fix_imports2
-diff --git a/tests/test_future/test_standard_library.py b/tests/test_future/test_standard_library.py
-index 3ac5d2d7..8ab27a27 100644
---- a/tests/test_future/test_standard_library.py
-+++ b/tests/test_future/test_standard_library.py
-@@ -422,7 +422,6 @@ def test_urllib_imports_install_hooks(self):
-
- def test_underscore_prefixed_modules(self):
- import _thread
-- import _dummy_thread
- import _markupbase
- self.assertTrue(True)
-
-diff --git a/tests/test_future/test_urllib_toplevel.py b/tests/test_future/test_urllib_toplevel.py
-index 11e77201..25f4ca82 100644
---- a/tests/test_future/test_urllib_toplevel.py
-+++ b/tests/test_future/test_urllib_toplevel.py
-@@ -781,8 +781,6 @@ def test_unquoting(self):
- "%s" % result)
- self.assertRaises((TypeError, AttributeError), urllib_parse.unquote, None)
- self.assertRaises((TypeError, AttributeError), urllib_parse.unquote, ())
-- with support.check_warnings(('', BytesWarning), quiet=True):
-- self.assertRaises((TypeError, AttributeError), urllib_parse.unquote, bytes(b''))
-
- def test_unquoting_badpercent(self):
- # Test unquoting on bad percent-escapes
diff --git a/dev-python/future/future-0.18.3.ebuild b/dev-python/future/future-0.18.3.ebuild
deleted file mode 100644
index 37ee871979b9..000000000000
--- a/dev-python/future/future-0.18.3.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Easy, clean, reliable Python 2/3 compatibility"
-HOMEPAGE="
- https://python-future.org/
- https://github.com/PythonCharmers/python-future/
- https://pypi.org/project/future/
-"
-SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-0.18.3-tests.patch.xz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-PATCHES=(
- "${WORKDIR}"/${PN}-0.18.3-tests.patch
- "${FILESDIR}"/${PN}-0.18.2-py39.patch
- "${FILESDIR}"/${PN}-0.18.2-py39-fileurl.patch
- "${FILESDIR}"/${PN}-0.18.2-py3.10.patch
-)
-
-EPYTEST_DESELECT=(
- # tests requiring network access
- tests/test_future/test_requests.py
- tests/test_future/test_standard_library.py::TestStandardLibraryReorganization::test_moves_urllib_request_http
- tests/test_future/test_standard_library.py::TestStandardLibraryReorganization::test_urllib_request_http
-)
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/sphinx-bootstrap-theme
diff --git a/dev-python/future/metadata.xml b/dev-python/future/metadata.xml
deleted file mode 100644
index 0c1a2698ea45..000000000000
--- a/dev-python/future/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">future</remote-id>
- <remote-id type="github">PythonCharmers/python-future</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0-r1.ebuild b/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0-r1.ebuild
index bacc8e3d1aec..c544b7740849 100644
--- a/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0-r1.ebuild
+++ b/dev-python/fuzzywuzzy/fuzzywuzzy-0.18.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -14,9 +14,9 @@ HOMEPAGE="
https://pypi.org/project/fuzzywuzzy/
"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
LICENSE="GPL-2"
SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
dev-python/Levenshtein[${PYTHON_USEDEP}]
diff --git a/dev-python/gast/Manifest b/dev-python/gast/Manifest
index 89156d9adb0c..5e19b36bb297 100644
--- a/dev-python/gast/Manifest
+++ b/dev-python/gast/Manifest
@@ -1 +1,2 @@
-DIST gast-0.5.3.tar.gz 23455 BLAKE2B b7263e959178421a7ba1cdb41cb09edbe1c30680573e1ab3b4de114e0bd151d2278be799fcc1a01524bb5ee6f6d6764d9902dd0018e7cbe54ac7a3d1300bbeb1 SHA512 a836be76303591ca7c40596d98a29dbd53f281e277c8c23e3821b2003d4e8aaf4d806e7f532f27c0eadd4bdca5a28dc0a3902245505ab97497b9afbfee0c2e52
+DIST gast-0.5.5.tar.gz 26733 BLAKE2B bc309969ace97920b7278fb329ecaa050090df3b9624d70350ce16bb090dbb0f4474407c34457abc2d1b8e728671c0e886ec46b2c94237b678575be34d593e98 SHA512 7325c9096f99f43e2d791f39acd7e655724e23c9cd93a838ae703377eedd23190af0f52ae07330323b90ef95bdcf6d032d39030823749557fecd9d00321a4163
+DIST gast-0.6.0.tar.gz 27708 BLAKE2B d3084eee3d3b2665d8435450f0b7fad7979656c1d5e2fc474ea25918005ebd70dddc0e6b955c6bd7ab4cdedd3aa2547bbf8daacc47846313196508150e18c896 SHA512 a482d0ca489781b57c119169a9bc502a84ead352ed5c4edc078907e8baa4f9abd379ee01df9cad9565a33fa1d0f363bea7b5c17b7d3cf6d600ef96018b97191b
diff --git a/dev-python/gast/gast-0.5.3-r1.ebuild b/dev-python/gast/gast-0.5.3-r1.ebuild
deleted file mode 100644
index 0d5379c57d9c..000000000000
--- a/dev-python/gast/gast-0.5.3-r1.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A generic AST to represent Python2 and Python3's Abstract Syntax Tree (AST)"
-HOMEPAGE="https://pypi.org/project/gast/"
-
-LICENSE="BSD PSF-2"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
-
-distutils_enable_tests unittest
diff --git a/dev-python/gast/gast-0.5.5.ebuild b/dev-python/gast/gast-0.5.5.ebuild
new file mode 100644
index 000000000000..cff358b1264a
--- /dev/null
+++ b/dev-python/gast/gast-0.5.5.ebuild
@@ -0,0 +1,21 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A generic AST to represent Python2 and Python3's Abstract Syntax Tree (AST)"
+HOMEPAGE="
+ https://github.com/serge-sans-paille/gast/
+ https://pypi.org/project/gast/
+"
+
+LICENSE="BSD PSF-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
+
+distutils_enable_tests unittest
diff --git a/dev-python/gast/gast-0.6.0.ebuild b/dev-python/gast/gast-0.6.0.ebuild
new file mode 100644
index 000000000000..cff358b1264a
--- /dev/null
+++ b/dev-python/gast/gast-0.6.0.ebuild
@@ -0,0 +1,21 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A generic AST to represent Python2 and Python3's Abstract Syntax Tree (AST)"
+HOMEPAGE="
+ https://github.com/serge-sans-paille/gast/
+ https://pypi.org/project/gast/
+"
+
+LICENSE="BSD PSF-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
+
+distutils_enable_tests unittest
diff --git a/dev-python/gdb-pt-dump/Manifest b/dev-python/gdb-pt-dump/Manifest
new file mode 100644
index 000000000000..b69b7da870f8
--- /dev/null
+++ b/dev-python/gdb-pt-dump/Manifest
@@ -0,0 +1 @@
+DIST gdb-pt-dump-0.0.0_p20231111.gh.tar.gz 386894 BLAKE2B 31c15a7574ac37e859831e6b17d27ce47bc6aed4d3bb81a01c8492b803cd71ba28379777bd9c221c9f81585811bba4952fb8e5349104ff36e88efe3996715937 SHA512 c94cce47754b634a2fda267f715cdd7957ec0714c4ac96d6b9e20fa4cfdf6c026a3e0b351bf0e041ea0c2dbf253f547ede3d2b13b83c6316ef6222bac0e4b61b
diff --git a/dev-python/gdb-pt-dump/gdb-pt-dump-0.0.0_p20231111.ebuild b/dev-python/gdb-pt-dump/gdb-pt-dump-0.0.0_p20231111.ebuild
new file mode 100644
index 000000000000..f3cd9c8db265
--- /dev/null
+++ b/dev-python/gdb-pt-dump/gdb-pt-dump-0.0.0_p20231111.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+DISTUTILS_SINGLE_IMPL=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Examine the address space of a QEMU-based virtual machine"
+HOMEPAGE="https://github.com/martinradev/gdb-pt-dump"
+
+GDB_PT_DUMP_COMMIT="89ea252f6efc5d75eacca16fc17ff8966a389690"
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/martinradev/gdb-pt-dump.git"
+else
+ SRC_URI="https://github.com/martinradev/gdb-pt-dump/archive/${GDB_PT_DUMP_COMMIT}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="amd64 ~arm64 x86"
+ S="${WORKDIR}/${PN}-${GDB_PT_DUMP_COMMIT}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ dev-debug/gdb[python,${PYTHON_SINGLE_USEDEP}]
+"
diff --git a/dev-python/gdb-pt-dump/gdb-pt-dump-9999.ebuild b/dev-python/gdb-pt-dump/gdb-pt-dump-9999.ebuild
new file mode 100644
index 000000000000..306e29d54100
--- /dev/null
+++ b/dev-python/gdb-pt-dump/gdb-pt-dump-9999.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+DISTUTILS_SINGLE_IMPL=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Examine the address space of a QEMU-based virtual machine"
+HOMEPAGE="https://github.com/martinradev/gdb-pt-dump"
+
+GDB_PT_DUMP_COMMIT="89ea252f6efc5d75eacca16fc17ff8966a389690"
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/martinradev/gdb-pt-dump.git"
+else
+ SRC_URI="https://github.com/martinradev/gdb-pt-dump/archive/${GDB_PT_DUMP_COMMIT}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="~amd64 ~x86"
+ S="${WORKDIR}/${PN}-${GDB_PT_DUMP_COMMIT}"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ dev-debug/gdb[python,${PYTHON_SINGLE_USEDEP}]
+"
diff --git a/dev-python/gdb-pt-dump/metadata.xml b/dev-python/gdb-pt-dump/metadata.xml
new file mode 100644
index 000000000000..9d5cd75cb299
--- /dev/null
+++ b/dev-python/gdb-pt-dump/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>mario.haustein@hrz.tu-chemnitz.de</email>
+ <name>Mario Haustein</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">martinradev/gdb-pt-dump</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/genshi/Manifest b/dev-python/genshi/Manifest
index dde6ef2b7768..32a8fc55cd43 100644
--- a/dev-python/genshi/Manifest
+++ b/dev-python/genshi/Manifest
@@ -1 +1 @@
-DIST Genshi-0.7.7.tar.gz 267206 BLAKE2B 0bad4b26fbfda27572e78f87af6093c87d738ad6fdf2beea5e8b0b21b3f5245a4e239bbfbad63e71e73f6588e7cae97f2b3bc7295fa30ad7a203a7ceff7074c9 SHA512 b0a3dee68523292f0672a180c5f2cfbdf48205d82286359b9fac9f668cbc2806c649d1e158d6fb8ead5b1cc5cd44eefe9d1cd79077f96925b8d24dd8e746b40f
+DIST Genshi-0.7.9.tar.gz 269399 BLAKE2B 0603f2b7d8829eb09939c003485e1a9ef9c20ef5dce6452bbb1d667d4b42f4d3d24f10225de9a0d848b760cab30decae6b71768628540d7ae65a14df9c0fca19 SHA512 2e813e4374970e764ce1d7f3cbe6fd3557fb0bd178393f18c62ebe65b6acad0b03b0eaa16b218d337776808b7f25c2499984834ca2e3cd96009998675580862b
diff --git a/dev-python/genshi/genshi-0.7.7.ebuild b/dev-python/genshi/genshi-0.7.7.ebuild
deleted file mode 100644
index 898aad7839e3..000000000000
--- a/dev-python/genshi/genshi-0.7.7.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 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
-PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python toolkit for stream-based generation of output for the web"
-HOMEPAGE="https://genshi.edgewall.org/ https://pypi.org/project/Genshi/"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="doc examples test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- "${EPYTHON}" -m unittest -v genshi.tests.suite || die
-}
-
-python_install_all() {
- if use doc; then
- dodoc doc/*.txt
- fi
- 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/genshi/genshi-0.7.9.ebuild b/dev-python/genshi/genshi-0.7.9.ebuild
new file mode 100644
index 000000000000..3c66b1f5a790
--- /dev/null
+++ b/dev-python/genshi/genshi-0.7.9.ebuild
@@ -0,0 +1,49 @@
+# 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
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python toolkit for stream-based generation of output for the web"
+HOMEPAGE="
+ https://genshi.edgewall.org/
+ https://github.com/edgewall/genshi/
+ https://pypi.org/project/Genshi/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="doc examples test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ )
+"
+
+python_test() {
+ "${EPYTHON}" -m unittest -v genshi.tests.suite || die
+}
+
+python_install_all() {
+ if use doc; then
+ dodoc doc/*.txt
+ fi
+ 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/genson/Manifest b/dev-python/genson/Manifest
index 942a639b0da1..15fb1b41d7b9 100644
--- a/dev-python/genson/Manifest
+++ b/dev-python/genson/Manifest
@@ -1 +1,2 @@
DIST genson-1.2.2.tar.gz 34387 BLAKE2B 2e3c3b0fd96d93fe1e7244c11828dfb42d8e9bd97058a1b76d983e02094b2e62560e00b08e2ce1d21abf7e858f481a9e2a5678d51b27162fde1d60535031f54e SHA512 9caf1936518db5ffb412c6b1f1d28b33e9aef2e6f9b2fe50bcc2932a75522dcbc57bf7bc6b3df41244ee470060295a92fb6ba0be9f6fcf512950a81615f85f87
+DIST genson-1.3.0.tar.gz 34919 BLAKE2B 1aef0dd4ef0e6be9b9ac8adeaa58bf092dc8668842c5b8b48a3bdf0675cc1337ea6b265ade80f8f153368f81ae52573294f1c00add471b50fbb51b830fd17258 SHA512 1d5a5c98927e1fd36bedec8ba2479c5562a34af75239a93076d6012e82d9f33332533faef2d99e2481d30434abe710ccbfdea3640bd6d340cffe4c754e917794
diff --git a/dev-python/genson/genson-1.3.0.ebuild b/dev-python/genson/genson-1.3.0.ebuild
new file mode 100644
index 000000000000..7a6560389c09
--- /dev/null
+++ b/dev-python/genson/genson-1.3.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="GenSON is a powerful, user-friendly JSON Schema generator built in Python"
+HOMEPAGE="
+ https://github.com/wolverdude/GenSON/
+ https://pypi.org/project/genson/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ distutils-r1_src_prepare
+ # known broken in this release
+ [[ ${PV} != 1.3.0 ]] && die "Restore test_bin.py!"
+ rm test/test_bin.py || die
+}
diff --git a/dev-python/genty/genty-1.3.2-r2.ebuild b/dev-python/genty/genty-1.3.2-r2.ebuild
deleted file mode 100644
index 7d26078310b9..000000000000
--- a/dev-python/genty/genty-1.3.2-r2.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Allows you to run a test with multiple data sets"
-HOMEPAGE="
- https://pypi.org/project/genty/
- https://github.com/box/genty/
-"
-
-SLOT="0"
-LICENSE="Apache-2.0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
-"
-DEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/genty/genty-1.3.2-r3.ebuild b/dev-python/genty/genty-1.3.2-r3.ebuild
new file mode 100644
index 000000000000..7b98f3c057e8
--- /dev/null
+++ b/dev-python/genty/genty-1.3.2-r3.ebuild
@@ -0,0 +1,30 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Allows you to run a test with multiple data sets"
+HOMEPAGE="
+ https://pypi.org/project/genty/
+ https://github.com/box/genty/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ distutils-r1_src_prepare
+ sed -i -e 's:from mock:from unittest.mock:' test/test_genty.py || die
+}
diff --git a/dev-python/geographiclib/Manifest b/dev-python/geographiclib/Manifest
new file mode 100644
index 000000000000..fedefd0eb476
--- /dev/null
+++ b/dev-python/geographiclib/Manifest
@@ -0,0 +1 @@
+DIST geographiclib-2.0.tar.gz 36720 BLAKE2B 31759eda6b77b191c34c18c2c6abdcf04214391e7d77eb68aa000aff8ec35519ab705b358f76bb0a50aff74708bcada664bdf3a97a3fb3e482ca773d6f410eed SHA512 08e67317b83ed96dc45b013bfc0eac771f015250da07b1574252f566f48ce944ad0a5a0623b1bfc96c14e65658f2f39a069af5ceb6ffe153677cc2a023eeef91
diff --git a/dev-python/geographiclib/geographiclib-2.0.ebuild b/dev-python/geographiclib/geographiclib-2.0.ebuild
new file mode 100644
index 000000000000..de4041ccbc6c
--- /dev/null
+++ b/dev-python/geographiclib/geographiclib-2.0.ebuild
@@ -0,0 +1,18 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python implementation of the geodesic routines"
+HOMEPAGE="https://geographiclib.sourceforge.io/Python/ https://github.com/geographiclib/geographiclib-python"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+distutils_enable_tests unittest
diff --git a/dev-python/geographiclib/metadata.xml b/dev-python/geographiclib/metadata.xml
new file mode 100644
index 000000000000..0091cfde9a07
--- /dev/null
+++ b/dev-python/geographiclib/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci-geosciences@gentoo.org</email>
+ <name>Gentoo Geosciences Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">geographiclib</remote-id>
+ <remote-id type="sourceforge">geographiclib</remote-id>
+ <remote-id type="github">geographiclib/geographiclib-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/gfloat/Manifest b/dev-python/gfloat/Manifest
new file mode 100644
index 000000000000..d4627844d126
--- /dev/null
+++ b/dev-python/gfloat/Manifest
@@ -0,0 +1 @@
+DIST gfloat-0.3.tar.gz 43790 BLAKE2B 3b6628dd6410090a684bc253965e167297f4105e3690b9ac38c0192c202fbc7e02026103723721494d4826d835b70a217114335201ab1c329d6bac02412f9e7f SHA512 2df65a3a188e99d1aa3da1b067aa3eaa9aabc22f42414b773c312d9c8dae9baf34d797f947a1646ea89e1db8f2bdb5f97a9672c292e2e0a2a8312e0e6f2fc496
diff --git a/dev-python/gfloat/gfloat-0.3.ebuild b/dev-python/gfloat/gfloat-0.3.ebuild
new file mode 100644
index 000000000000..8ab9ff2664b2
--- /dev/null
+++ b/dev-python/gfloat/gfloat-0.3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 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="Generic floating-point types in Python"
+HOMEPAGE="
+ https://github.com/graphcore-research/gfloat/
+ https://pypi.org/project/gfloat/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ml-dtypes[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # requires mx (possibly git version), torch
+ test/test_microxcaling.py
+)
diff --git a/dev-python/gfloat/metadata.xml b/dev-python/gfloat/metadata.xml
new file mode 100644
index 000000000000..3c2f1ee74595
--- /dev/null
+++ b/dev-python/gfloat/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">graphcore-research/gfloat</remote-id>
+ <remote-id type="pypi">gfloat</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ghp-import/ghp-import-2.1.0-r1.ebuild b/dev-python/ghp-import/ghp-import-2.1.0-r1.ebuild
index 5a25a114cc6b..5c3bd480883a 100644
--- a/dev-python/ghp-import/ghp-import-2.1.0-r1.ebuild
+++ b/dev-python/ghp-import/ghp-import-2.1.0-r1.ebuild
@@ -1,16 +1,19 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
DESCRIPTION="Copy your docs directly to the gh-pages branch"
-HOMEPAGE="https://github.com/c-w/ghp-import"
+HOMEPAGE="
+ https://github.com/c-w/ghp-import/
+ https://pypi.org/project/ghp-import/
+"
LICENSE="Apache-2.0"
SLOT="0"
diff --git a/dev-python/git-review/Manifest b/dev-python/git-review/Manifest
index ff6d0c0e304c..7a968f87e8a2 100644
--- a/dev-python/git-review/Manifest
+++ b/dev-python/git-review/Manifest
@@ -1 +1 @@
-DIST git-review-2.3.1.tar.gz 66400 BLAKE2B 67b2bf60e91a127144995231b94a48eaa03cfe8cb8e27513183f21b4cae1fbe2eeaa00a23d21da2dd7258aa794ce4cb0ee06e91510d707116699da1702bbebac SHA512 b3fe0ab40c473c80da20c42b4104e82115c9ea02bda01580aedb69622e117d733160eb42027432eec12379250186ea7b6f9eb4cb86b128a591816243a0c0fadc
+DIST git-review-2.4.0.tar.gz 70859 BLAKE2B afe7da3e7efd3c26f55beb102f0961607d818dcdba47beef4f94bf4cbe67bfcdad7cd14bbe6767902f694844ebe94c2b547e9dc4f55f4b0c94e9b292913c3b98 SHA512 24b8b4813933a53158eacaff8b336da1e7c948377cd147487cfccab81c7211c55f8aa8348998bfdf161b4bb9ed107aaa841b643d045498690f75fa18be0aae1f
diff --git a/dev-python/git-review/git-review-2.3.1-r1.ebuild b/dev-python/git-review/git-review-2.3.1-r1.ebuild
deleted file mode 100644
index 23c03e82a407..000000000000
--- a/dev-python/git-review/git-review-2.3.1-r1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Tool to submit code to Gerrit"
-HOMEPAGE="https://git.openstack.org/cgit/openstack-infra/git-review"
-if [[ ${PV} == 9999* ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://opendev.org/opendev/${PN}.git"
-else
- inherit pypi
- KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-BDEPEND="
- >=dev-python/pbr-4.1.0[${PYTHON_USEDEP}]
-"
-RDEPEND="
- >=dev-python/requests-1.1[${PYTHON_USEDEP}]
-"
-
-python_prepare_all() {
- sed -i -e '/manpages/,+1d' setup.cfg || die
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- doman git-review.1
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/git-review/git-review-2.4.0.ebuild b/dev-python/git-review/git-review-2.4.0.ebuild
new file mode 100644
index 000000000000..05490757b80a
--- /dev/null
+++ b/dev-python/git-review/git-review-2.4.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Tool to submit code to Gerrit"
+HOMEPAGE="https://git.openstack.org/cgit/openstack-infra/git-review"
+if [[ ${PV} == 9999* ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://opendev.org/opendev/${PN}.git"
+else
+ inherit pypi
+ KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+BDEPEND="
+ >=dev-python/pbr-4.1.0[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ >=dev-python/requests-1.1[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ sed -i -e '/manpages/,+1d' setup.cfg || die
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ doman git-review.1
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/git-review/git-review-9999.ebuild b/dev-python/git-review/git-review-9999.ebuild
index 76be6a47d744..13ccd01484a3 100644
--- a/dev-python/git-review/git-review-9999.ebuild
+++ b/dev-python/git-review/git-review-9999.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1
diff --git a/dev-python/git-review/metadata.xml b/dev-python/git-review/metadata.xml
index 4c1a97b0e5e0..ff7384bc26b2 100644
--- a/dev-python/git-review/metadata.xml
+++ b/dev-python/git-review/metadata.xml
@@ -5,6 +5,7 @@
<email>prometheanfire@gentoo.org</email>
<name>Matthew Thode</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">git-review</remote-id>
</upstream>
diff --git a/dev-python/gitdb/gitdb-4.0.11.ebuild b/dev-python/gitdb/gitdb-4.0.11.ebuild
index 29f1be530228..4d4ef61bf90d 100644
--- a/dev-python/gitdb/gitdb-4.0.11.ebuild
+++ b/dev-python/gitdb/gitdb-4.0.11.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/github3-py/github3-py-4.0.1.ebuild b/dev-python/github3-py/github3-py-4.0.1.ebuild
index beebe6da4fb9..badec0cfd46e 100644
--- a/dev-python/github3-py/github3-py-4.0.1.ebuild
+++ b/dev-python/github3-py/github3-py-4.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=hatchling
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -41,5 +41,13 @@ BDEPEND="
distutils_enable_tests pytest
python_test() {
+ local EPYTEST_DESELECT=(
+ # betamax / urllib3 problem
+ # upstream marked these tests xfail...
+ # https://github.com/sigmavirus24/github3.py/commit/9d6124c09b0997b5e83579549bcf22b3e901d7e5
+ tests/integration/test_repos_repo.py::TestRepoCommit::test_{diff,patch}
+ tests/integration/test_repos_repo.py::TestComparison::test_{diff,patch}
+ )
+
epytest -o addopts=
}
diff --git a/dev-python/gmpy/Manifest b/dev-python/gmpy/Manifest
index 545491749d8f..188c6db696fa 100644
--- a/dev-python/gmpy/Manifest
+++ b/dev-python/gmpy/Manifest
@@ -1,3 +1,5 @@
DIST gmpy-2.1.5-cache.patch 19769 BLAKE2B 72d61ea00fda608ae92c5319828cb5c0003a69cd4be4bf3cde62574a93987b2316df5334d290eca7d48e44e423227d0b5a22c142c4a95b42aebb4560c3bf7ea6 SHA512 f16dbd78a99f27c6f588b814bb9b307429927eae9828fcea04225f163c1cd28968c2994689c4802dc0b619cdfd7c50401d1ec06c220756268af17499613fda1b
DIST gmpy-2.1.5-py3.12.patch.gz 1817 BLAKE2B cbea3a9c662d52c5bfddb82ab5e920474a52c1dd715b3b9fecf55e5ee097297168ddb7961b6156e4c1f902e911890c77252d119c3651f345f01cad144ed44127 SHA512 26195e8e9a87147a05fd07fa325f262c2004fcba2b8857dbc87ca7a1e9e5e64b4a47d35be77edc263829e5df1db6a0acda6904307d01529eba832feb4f0f3f71
DIST gmpy2-2.1.5.tar.gz 261709 BLAKE2B 50958868866fadc49c97534780fa491fadfaaea902f3fd4bd51f4e76a94602a6d030a1ee6685aac742e25b5fbe4865e1419307f7215c8fb553b166761d63607a SHA512 92e16359ee1df63faaeae4a3cbefe8cdbbc576d8eda377f08d59f12b70dfe9337a299686e85d1efee6c2f5b41fc4583643fecc68ea38a500c7f876c56fc169e7
+DIST gmpy2-2.2.0.tar.gz 233943 BLAKE2B e25f47fe25896df7e2ac7dce0eb8bdbe39bb6e12a07c600483bed534332b07f27bb70b23ae7801212df3c1a6c7731fba2f92f8215c618ea0fcc86d175abfc439 SHA512 402d7fc3c320e6d4742b3bd4dd3bf24c70192c1196f522def067f1b1d583c4b60d7497f95ba71691bafbccbe1e0fad8f0d2ec6fee455b9521bdc303510744188
+DIST gmpy2-2.2.1.tar.gz 234228 BLAKE2B 80188c6abd30ee5b5ebc4d233d3d97dd78be7f9d21d0649429e87b23d3e6d8b5b9269c792d481f24bd3b43d28e012bdd64ee6bb5d0137e3ac759742c845186c1 SHA512 2a3dc011295a373e10455e1f133aa3063cff24cdac0151cee9f29ce5855c3e44c3e3aab61bf13c11c9df1147b9183c6c387db1cb4dcb270b9dce1a9cb521f5dc
diff --git a/dev-python/gmpy/gmpy-2.1.5-r2.ebuild b/dev-python/gmpy/gmpy-2.1.5-r2.ebuild
index 7d2c6cc44fbd..bb936e447b02 100644
--- a/dev-python/gmpy/gmpy-2.1.5-r2.ebuild
+++ b/dev-python/gmpy/gmpy-2.1.5-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_PN="gmpy2"
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -23,7 +23,7 @@ SRC_URI+="
LICENSE="LGPL-3+"
SLOT="2"
-KEYWORDS="~alpha ~amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
DEPEND="
>=dev-libs/mpc-1.0.2:=
diff --git a/dev-python/gmpy/gmpy-2.1.5.ebuild b/dev-python/gmpy/gmpy-2.1.5.ebuild
deleted file mode 100644
index 458c53fc07e4..000000000000
--- a/dev-python/gmpy/gmpy-2.1.5.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYPI_PN="gmpy2"
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings for GMP, MPC, MPFR and MPIR libraries"
-HOMEPAGE="
- https://github.com/aleaxit/gmpy/
- https://pypi.org/project/gmpy2/
-"
-
-LICENSE="LGPL-3+"
-SLOT="2"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-DEPEND="
- >=dev-libs/mpc-1.0.2:=
- >=dev-libs/mpfr-3.1.2:=
- dev-libs/gmp:0=
-"
-RDEPEND="
- ${DEPEND}
-"
-
-distutils_enable_sphinx docs
-
-python_test() {
- cd test || die
- "${EPYTHON}" runtests.py || die "tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/gmpy/gmpy-2.2.0.ebuild b/dev-python/gmpy/gmpy-2.2.0.ebuild
new file mode 100644
index 000000000000..b6848a959c76
--- /dev/null
+++ b/dev-python/gmpy/gmpy-2.2.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_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN="gmpy2"
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for GMP, MPC, MPFR and MPIR libraries"
+HOMEPAGE="
+ https://github.com/aleaxit/gmpy/
+ https://pypi.org/project/gmpy2/
+"
+
+LICENSE="LGPL-3+"
+SLOT="2"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+DEPEND="
+ >=dev-libs/mpc-1.0.2:=
+ >=dev-libs/mpfr-3.1.2:=
+ dev-libs/gmp:0=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/mpmath[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ rm -rf gmpy2 || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/gmpy/gmpy-2.2.1.ebuild b/dev-python/gmpy/gmpy-2.2.1.ebuild
new file mode 100644
index 000000000000..4962df5e3ca3
--- /dev/null
+++ b/dev-python/gmpy/gmpy-2.2.1.ebuild
@@ -0,0 +1,45 @@
+# 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_PN="gmpy2"
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for GMP, MPC, MPFR and MPIR libraries"
+HOMEPAGE="
+ https://github.com/aleaxit/gmpy/
+ https://pypi.org/project/gmpy2/
+"
+
+LICENSE="LGPL-3+"
+SLOT="2"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+DEPEND="
+ >=dev-libs/mpc-1.0.2:=
+ >=dev-libs/mpfr-3.1.2:=
+ dev-libs/gmp:0=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/mpmath[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ rm -rf gmpy2 || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/google-api-core/Manifest b/dev-python/google-api-core/Manifest
index 98d5b6d5094b..fa801e06b6cb 100644
--- a/dev-python/google-api-core/Manifest
+++ b/dev-python/google-api-core/Manifest
@@ -1 +1 @@
-DIST python-api-core-2.14.0.gh.tar.gz 192103 BLAKE2B f1b05d3218392125600d113f35a726ada2f3247fca2fdce05f3a6419fe60bf59df8a3724fdd62d9047e55ecb39071527265fe86ba181f09e1bb5940b4b7dd4ba SHA512 a7641595f25d163b44906139df80e3581d52fb1078b70ec9b9a55583e148d82b51cfe3f710d04b776c7b038ef8c57b9b1119284711100e9681ee6f81b0ac6b58
+DIST python-api-core-2.19.1.gh.tar.gz 212130 BLAKE2B b68482540dfb896129d903d49623db88661652db9eef6d3bd0615746fe64bdcd1d83a3d284110cb7f617ae89ffbe47257d2db7a0fdc84c984c6321a51499d116 SHA512 0f4ffcfd2bf5458ebe942d2a601d8568026b280373538d2362379cc86200f5762eb9eb978a7f9cb5c8014d549c8e48d4acd6114ce54f90fe01f09814c720f589
diff --git a/dev-python/google-api-core/google-api-core-2.14.0.ebuild b/dev-python/google-api-core/google-api-core-2.14.0.ebuild
deleted file mode 100644
index cdc5bee61b39..000000000000
--- a/dev-python/google-api-core/google-api-core-2.14.0.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-MY_P=python-api-core-${PV}
-DESCRIPTION="Core Library for Google Client Libraries"
-HOMEPAGE="
- https://github.com/googleapis/python-api-core/
- https://pypi.org/project/google-api-core/
- https://googleapis.dev/python/google-api-core/latest/index.html
-"
-SRC_URI="
- https://github.com/googleapis/python-api-core/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-
-RDEPEND="
- >=dev-python/googleapis-common-protos-1.56.2[${PYTHON_USEDEP}]
- >=dev-python/google-auth-1.25.0[${PYTHON_USEDEP}]
- >=dev-python/protobuf-python-3.19.5[${PYTHON_USEDEP}]
- >=dev-python/requests-2.18.0[${PYTHON_USEDEP}]
- <dev-python/requests-3[${PYTHON_USEDEP}]
- !dev-python/namespace-google
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/proto-plus[${PYTHON_USEDEP}]
- dev-python/rsa[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # failing due to missing grpcio-status
- tests/asyncio/test_grpc_helpers_async.py::test_wrap_unary_errors
- tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_raised
- tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_read
- tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_aiter
- tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_write
- tests/unit/test_grpc_helpers.py::test_wrap_unary_errors
- tests/unit/test_grpc_helpers.py::test_wrap_stream_errors_invocation
- tests/unit/test_grpc_helpers.py::test_wrap_stream_errors_iterator_initialization
- tests/unit/test_grpc_helpers.py::test_wrap_stream_errors_during_iteration
-)
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-src_test() {
- rm -r google || die
- distutils-r1_src_test
-}
-
-python_test() {
- distutils_write_namespace google
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p asyncio tests
-}
diff --git a/dev-python/google-api-core/google-api-core-2.19.1.ebuild b/dev-python/google-api-core/google-api-core-2.19.1.ebuild
new file mode 100644
index 000000000000..c9866dd87e9b
--- /dev/null
+++ b/dev-python/google-api-core/google-api-core-2.19.1.ebuild
@@ -0,0 +1,65 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=python-api-core-${PV}
+DESCRIPTION="Core Library for Google Client Libraries"
+HOMEPAGE="
+ https://github.com/googleapis/python-api-core/
+ https://pypi.org/project/google-api-core/
+ https://googleapis.dev/python/google-api-core/latest/index.html
+"
+SRC_URI="
+ https://github.com/googleapis/python-api-core/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ >=dev-python/googleapis-common-protos-1.56.2[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-1.25.0[${PYTHON_USEDEP}]
+ >=dev-python/proto-plus-1.22.3[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-python-3.19.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.18.0[${PYTHON_USEDEP}]
+ <dev-python/requests-3[${PYTHON_USEDEP}]
+ !dev-python/namespace-google
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/rsa[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # failing due to missing grpcio-status
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_unary_errors
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_raised
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_read
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_aiter
+ tests/asyncio/test_grpc_helpers_async.py::test_wrap_stream_errors_write
+ tests/unit/test_grpc_helpers.py::test_wrap_unary_errors
+ tests/unit/test_grpc_helpers.py::test_wrap_stream_errors_invocation
+ tests/unit/test_grpc_helpers.py::test_wrap_stream_errors_iterator_initialization
+ tests/unit/test_grpc_helpers.py::test_wrap_stream_errors_during_iteration
+)
+
+python_test() {
+ rm -rf google || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio tests
+}
diff --git a/dev-python/google-api-python-client/Manifest b/dev-python/google-api-python-client/Manifest
index 229ceb263574..424ea804c100 100644
--- a/dev-python/google-api-python-client/Manifest
+++ b/dev-python/google-api-python-client/Manifest
@@ -1,2 +1,3 @@
-DIST google-api-python-client-2.108.0.tar.gz 12227437 BLAKE2B 7b8023f0e940730539bbfed2c213f6ec007b4e838eb87d8c7bd037c5f6dd73cbf97cdb6cec869d10f4c0135ff2989e1fa0b6a4b51cc118e7be2e45e2488d3b76 SHA512 baff038d8161de7150ac877dcca3af8a7f38fc9cfcdae9e70bdaf877f11fa35f572102ec1b6eda47a24f26386638285fc0ff31fbeb185d9174a40ca90cf20ba3
-DIST google-api-python-client-2.109.0.tar.gz 12264648 BLAKE2B b0ff31b5e770f38ac44569a3480a9d0a28988441a907c823be7603fd3a48a5d407aeafdc6de5e8cadf32693f3363f0231f82e692fdeabe1ceb42eaeb5c99595b SHA512 1e5cd06a49548536b53411aa247f9118e808b97dd4b110f614347329f148ba9bc89514e5c205c7e7a90f52c53ab944a3a16afa833dc4a458d9ab53dc093bad63
+DIST google-api-python-client-2.136.0.tar.gz 11443821 BLAKE2B ee313274ec25e1262ad54b800cf524e58400886876d9133b7c6e1d9668e81bce7b73f96511679bcc2a0f565ca9b89c7d6bc7087213e53575542c5e0b5e566ff9 SHA512 e5e8302c71953f0971d3b3159d7689cd76520efa4cee9ca541e78a5fcb14387506963cb20da06ac5760af814ece5ded0bc3942381aa9e96fd6c620eb8933a6ed
+DIST google_api_python_client-2.137.0.tar.gz 11477114 BLAKE2B e0d7e64bfdd86bd882c8762b8d78fcd390152e569ca32df16fcbe91290508565086e4ca7e958d8d48ecaa6d5d23a0b1188b85f6a53004af54139977602c4f72c SHA512 442c08033fb12dbdcab3e45b911a9d43d93a4841369cd14344c9201a40b453d88ce602c3f45d965713ca826bec1f3e333f9425008d1cf1f59b6441283eb09807
+DIST google_api_python_client-2.138.0.tar.gz 11595036 BLAKE2B 554abf4e58264d60a5a09174b7199f31ac6cf31bd024add66ff73a71992e9da077c8046abfd8d9400d1b17fa0ccd27ca484ae62dca8b6900bbad42e2a26af9ee SHA512 f9e7501a289e96aebe8db78e32dc30771a860af34808d1bc6d6192c4511ecbbf871cbbf8cdf50daeeb865908a86236400d651e159d913b415b1f2fdf8eb045ab
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.108.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.108.0.ebuild
deleted file mode 100644
index f0a73f2ae5ad..000000000000
--- a/dev-python/google-api-python-client/google-api-python-client-2.108.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google API Client for Python"
-HOMEPAGE="
- https://github.com/googleapis/google-api-python-client/
- https://pypi.org/project/google-api-python-client/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-
-RDEPEND="
- >=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
- <dev-python/httplib2-1[${PYTHON_USEDEP}]
- >=dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}]
- >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}]
- >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
- <dev-python/uritemplate-5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # require Internet access (and credentials)
- tests/test_discovery.py::DiscoveryErrors::test_credentials_and_credentials_file_mutually_exclusive
- tests/test_discovery.py::DiscoveryFromDocument::test_api_endpoint_override_from_client_options_mapping_object
- )
-
- epytest tests
-}
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.109.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.109.0.ebuild
deleted file mode 100644
index 0194f9640998..000000000000
--- a/dev-python/google-api-python-client/google-api-python-client-2.109.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google API Client for Python"
-HOMEPAGE="
- https://github.com/googleapis/google-api-python-client/
- https://pypi.org/project/google-api-python-client/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
- <dev-python/httplib2-1[${PYTHON_USEDEP}]
- >=dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}]
- >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}]
- >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
- <dev-python/uritemplate-5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # require Internet access (and credentials)
- tests/test_discovery.py::DiscoveryErrors::test_credentials_and_credentials_file_mutually_exclusive
- tests/test_discovery.py::DiscoveryFromDocument::test_api_endpoint_override_from_client_options_mapping_object
- )
-
- epytest tests
-}
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.136.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.136.0.ebuild
new file mode 100644
index 000000000000..eff0e425ea44
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.136.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google API Client for Python"
+HOMEPAGE="
+ https://github.com/googleapis/google-api-python-client/
+ https://pypi.org/project/google-api-python-client/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ >=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
+ <dev-python/httplib2-1[${PYTHON_USEDEP}]
+ >=dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/uritemplate-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require Internet access (and credentials)
+ tests/test_discovery.py::DiscoveryErrors::test_credentials_and_credentials_file_mutually_exclusive
+ tests/test_discovery.py::DiscoveryFromDocument::test_api_endpoint_override_from_client_options_mapping_object
+ tests/test_discovery.py::Universe::test_client_options_universe_configured_with_mtls
+ tests/test_discovery.py::Universe::test_universe_env_var_configured_with_mtls
+ )
+
+ epytest tests
+}
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.137.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.137.0.ebuild
new file mode 100644
index 000000000000..58a0eb467bad
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.137.0.ebuild
@@ -0,0 +1,50 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google API Client for Python"
+HOMEPAGE="
+ https://github.com/googleapis/google-api-python-client/
+ https://pypi.org/project/google-api-python-client/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
+ <dev-python/httplib2-1[${PYTHON_USEDEP}]
+ >=dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/uritemplate-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require Internet access (and credentials)
+ tests/test_discovery.py::DiscoveryErrors::test_credentials_and_credentials_file_mutually_exclusive
+ tests/test_discovery.py::DiscoveryFromDocument::test_api_endpoint_override_from_client_options_mapping_object
+ tests/test_discovery.py::Universe::test_client_options_universe_configured_with_mtls
+ tests/test_discovery.py::Universe::test_universe_env_var_configured_with_mtls
+ )
+
+ epytest tests
+}
diff --git a/dev-python/google-api-python-client/google-api-python-client-2.138.0.ebuild b/dev-python/google-api-python-client/google-api-python-client-2.138.0.ebuild
new file mode 100644
index 000000000000..58a0eb467bad
--- /dev/null
+++ b/dev-python/google-api-python-client/google-api-python-client-2.138.0.ebuild
@@ -0,0 +1,50 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google API Client for Python"
+HOMEPAGE="
+ https://github.com/googleapis/google-api-python-client/
+ https://pypi.org/project/google-api-python-client/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/httplib2-0.15[${PYTHON_USEDEP}]
+ <dev-python/httplib2-1[${PYTHON_USEDEP}]
+ >=dev-python/google-api-core-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-1.35.0[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-httplib2-0.1.0[${PYTHON_USEDEP}]
+ >=dev-python/uritemplate-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/uritemplate-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require Internet access (and credentials)
+ tests/test_discovery.py::DiscoveryErrors::test_credentials_and_credentials_file_mutually_exclusive
+ tests/test_discovery.py::DiscoveryFromDocument::test_api_endpoint_override_from_client_options_mapping_object
+ tests/test_discovery.py::Universe::test_client_options_universe_configured_with_mtls
+ tests/test_discovery.py::Universe::test_universe_env_var_configured_with_mtls
+ )
+
+ epytest tests
+}
diff --git a/dev-python/google-auth-httplib2/Manifest b/dev-python/google-auth-httplib2/Manifest
index 555d9ea7a803..af49a3dd4152 100644
--- a/dev-python/google-auth-httplib2/Manifest
+++ b/dev-python/google-auth-httplib2/Manifest
@@ -1 +1 @@
-DIST google-auth-library-python-httplib2-0.1.1.gh.tar.gz 43818 BLAKE2B 629e370d3509c8d7b47b9192f3192b013be184df8e245cd73941d233645344f019b760e92ed2119c3b0c1e6b5db0ebf74f52f7c56bd34f8c6f61cbb41311814d SHA512 2272c7019b0f47344c45d45d88f9a9de5be410764dda5ea22271a8661856abf3b3c5d92937aa126f51c385dc91b5c79578fbb81570d7f4b636a3229ad0a95403
+DIST google-auth-library-python-httplib2-0.2.0.gh.tar.gz 45105 BLAKE2B 096939bcf0b3d47fc57cbb249d0c80fc13c29d8fbde1a0ac7f490e0d1d817e550c74ac37ed460d9fb122c804cf97e9a796b2ef2191752bcfaf7c233fa7d38176 SHA512 d6bf677826b785775f126ca3f7962ca0684b33b424b0d3be15cc68c536d78ad61002166c90c959fd51736bc2f7d82b0b29778a7eae5aef6268953f07e64157d7
diff --git a/dev-python/google-auth-httplib2/google-auth-httplib2-0.1.1.ebuild b/dev-python/google-auth-httplib2/google-auth-httplib2-0.1.1.ebuild
deleted file mode 100644
index 081ad57f256a..000000000000
--- a/dev-python/google-auth-httplib2/google-auth-httplib2-0.1.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-MY_P="google-auth-library-python-httplib2-${PV}"
-DESCRIPTION="httplib2 Transport for Google Auth"
-HOMEPAGE="
- https://pypi.org/project/google-auth-httplib2/
- https://github.com/googleapis/google-auth-library-python-httplib2/
-"
-SRC_URI="
- https://github.com/googleapis/google-auth-library-python-httplib2/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-
-RDEPEND="
- dev-python/httplib2[${PYTHON_USEDEP}]
- dev-python/google-auth[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest-localserver[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/google-auth-httplib2/google-auth-httplib2-0.2.0.ebuild b/dev-python/google-auth-httplib2/google-auth-httplib2-0.2.0.ebuild
new file mode 100644
index 000000000000..75caae961c1d
--- /dev/null
+++ b/dev-python/google-auth-httplib2/google-auth-httplib2-0.2.0.ebuild
@@ -0,0 +1,38 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P="google-auth-library-python-httplib2-${PV}"
+DESCRIPTION="httplib2 Transport for Google Auth"
+HOMEPAGE="
+ https://pypi.org/project/google-auth-httplib2/
+ https://github.com/googleapis/google-auth-library-python-httplib2/
+"
+SRC_URI="
+ https://github.com/googleapis/google-auth-library-python-httplib2/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ dev-python/google-auth[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/google-auth-oauthlib/Manifest b/dev-python/google-auth-oauthlib/Manifest
index 0239e1ee653c..d012afa2abc5 100644
--- a/dev-python/google-auth-oauthlib/Manifest
+++ b/dev-python/google-auth-oauthlib/Manifest
@@ -1,2 +1 @@
-DIST google-auth-library-python-oauthlib-1.0.0.gh.tar.gz 71294 BLAKE2B f0f085ffbec620106f5e7ead56085cee4642932a0fea1bfeec01d1f3b77a8d97aa4e6cdbc29c303abebb30e1994de86cfbb6a950bb34fc243dd312b251afc5da SHA512 74eef43e4ce8de55170c7362eaddcd796c683b3d361d52ff02db1f74b301f12e57f0acb2b52fcc5a6e661b47e3066a780915955b8d933314646483b43c8c5b68
-DIST google-auth-library-python-oauthlib-1.1.0.gh.tar.gz 71790 BLAKE2B 0d30bcb076c53052ef1a5d75276266bbbd08940953589b73c370ce66f7f20f4b47d27be8f39bfcfcd109dc7c9e7c39ddfebc65aef4953f168493ad3decdd87dd SHA512 43cd5034ed73b6509861a85abe4090f03499a98de7d88a88adf976fb33e813d31fac067ce25257b540ef71794b0d6faf7dea3c9125c0ae4468a9b2b1ba7994c4
+DIST google-auth-library-python-oauthlib-1.2.1.gh.tar.gz 74582 BLAKE2B 668f4c7c6640e6fd71d9c6135f5cdfe822f4170c8640b574e8fa7eb4e29b9645b95c002d9df2a595d465daceea2c4eeb111811729915bcb508ae5dc911e2f738 SHA512 d4b53eeb72f25128230c94d909fac1814727ee09e2133e9481f8c608ecf18003d571504215dceb7ec6450b289efb8b393cd33d9cbed12072a228644cc48539b5
diff --git a/dev-python/google-auth-oauthlib/files/google-auth-oauthlib-1.2.0-setup-exclude.patch b/dev-python/google-auth-oauthlib/files/google-auth-oauthlib-1.2.0-setup-exclude.patch
new file mode 100644
index 000000000000..61349d1cce43
--- /dev/null
+++ b/dev-python/google-auth-oauthlib/files/google-auth-oauthlib-1.2.0-setup-exclude.patch
@@ -0,0 +1,25 @@
+From dffa74bf7cb25d4e7759b4d0cded68eabfaaf33b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Mon, 8 Jan 2024 15:58:00 +0100
+Subject: [PATCH] fix: do not include docs/conf.py & scripts in wheel
+
+---
+ setup.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index ea9796a..430db0c 100644
+--- a/setup.py
++++ b/setup.py
+@@ -37,7 +37,7 @@ setup(
+ description="Google Authentication Library",
+ long_description=long_description,
+ url="https://github.com/GoogleCloudPlatform/google-auth-library-python-oauthlib",
+- packages=find_namespace_packages(exclude=("tests*",)),
++ packages=find_namespace_packages(exclude=("docs*", "scripts*", "tests*",)),
+ install_requires=DEPENDENCIES,
+ extras_require={"tool": TOOL_DEPENDENCIES},
+ entry_points={
+--
+2.43.0
+
diff --git a/dev-python/google-auth-oauthlib/google-auth-oauthlib-1.0.0.ebuild b/dev-python/google-auth-oauthlib/google-auth-oauthlib-1.0.0.ebuild
deleted file mode 100644
index 395c2d95e16a..000000000000
--- a/dev-python/google-auth-oauthlib/google-auth-oauthlib-1.0.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-MY_P=google-auth-library-python-oauthlib-${PV}
-DESCRIPTION="Google Authentication Library"
-HOMEPAGE="
- https://github.com/googleapis/google-auth-library-python-oauthlib/
- https://pypi.org/project/google-auth-oauthlib/
-"
-SRC_URI="
- https://github.com/googleapis/google-auth-library-python-oauthlib/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/click-6.0.0[${PYTHON_USEDEP}]
- >=dev-python/google-auth-2.15.0[${PYTHON_USEDEP}]
- >=dev-python/requests-oauthlib-0.7.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/google-auth-oauthlib/google-auth-oauthlib-1.1.0.ebuild b/dev-python/google-auth-oauthlib/google-auth-oauthlib-1.1.0.ebuild
deleted file mode 100644
index 395c2d95e16a..000000000000
--- a/dev-python/google-auth-oauthlib/google-auth-oauthlib-1.1.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-MY_P=google-auth-library-python-oauthlib-${PV}
-DESCRIPTION="Google Authentication Library"
-HOMEPAGE="
- https://github.com/googleapis/google-auth-library-python-oauthlib/
- https://pypi.org/project/google-auth-oauthlib/
-"
-SRC_URI="
- https://github.com/googleapis/google-auth-library-python-oauthlib/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/click-6.0.0[${PYTHON_USEDEP}]
- >=dev-python/google-auth-2.15.0[${PYTHON_USEDEP}]
- >=dev-python/requests-oauthlib-0.7.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/google-auth-oauthlib/google-auth-oauthlib-1.2.1.ebuild b/dev-python/google-auth-oauthlib/google-auth-oauthlib-1.2.1.ebuild
new file mode 100644
index 000000000000..89195beeff06
--- /dev/null
+++ b/dev-python/google-auth-oauthlib/google-auth-oauthlib-1.2.1.ebuild
@@ -0,0 +1,44 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=google-auth-library-python-oauthlib-${PV}
+DESCRIPTION="Google Authentication Library"
+HOMEPAGE="
+ https://github.com/googleapis/google-auth-library-python-oauthlib/
+ https://pypi.org/project/google-auth-oauthlib/
+"
+SRC_URI="
+ https://github.com/googleapis/google-auth-library-python-oauthlib/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/click-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/google-auth-2.15.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-oauthlib-0.7.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/googleapis/google-auth-library-python-oauthlib/pull/328
+ "${FILESDIR}/${PN}-1.2.0-setup-exclude.patch"
+)
diff --git a/dev-python/google-auth/Manifest b/dev-python/google-auth/Manifest
index 007fab5f359a..763458762c46 100644
--- a/dev-python/google-auth/Manifest
+++ b/dev-python/google-auth/Manifest
@@ -1,2 +1,2 @@
-DIST google-auth-2.23.4.tar.gz 233560 BLAKE2B 3d058c9c16af4f982aac7411b306eeace70f17d23b7043328c235bff5233e79360cc5a9ca24b06e33d318606acd331b33fef14c7574338f9ac3caee3088c4f35 SHA512 561cff5003f5b6e37a0ab4fa4c827646bb9b3fee3dc500214b88ec3fc7203022f487abaee315751fb7d90b4ed9a9d9d0ab6f3dc7d3336d9df9d4b45e6146bc2f
-DIST google-auth-2.24.0.tar.gz 234771 BLAKE2B 05111637ae26529b9345ef1f3ce8334bbcfc782e93d560749205a18e50075593573130e6ba3d33e79cd0190305ae382d44aac071c12ab67df7a8064a041220f2 SHA512 e4987b8e52be45e2fd2906525e1a4645f73b2322a6d7055f9b9c00555f4ffe05b7cda6e21cbf9f491e1e0f2b43772050017b7473b24a92cf5ca6ae6e589a15e0
+DIST google-auth-2.31.0.tar.gz 252986 BLAKE2B 50e7554feadaa19644a2f41152d0d255729d19fbd9b6e1967233f9bfdb79968f45e2179effd73b0ab513b25255371b43aab946668aeb7155c827b536e4005afb SHA512 2a2eec2f3638ab855d20827068d64a9adb856d341fc70bdb6401813543f73631d998c38f8350e9ed2a85897b7f0ed7401fc973b066ee2b77ac7ff746dcd7315f
+DIST google_auth-2.32.0.tar.gz 254614 BLAKE2B fc419f1d751cf99497fb00c4cc5b8ff25380a3341970aa31bebadc5f0a84efd8b9d806f939c9137fd872063d6b3cd06eff0629beab8194e0bf6f7323124f8f90 SHA512 d72d9c367a47b3496dcaae9deec29315c65e43ddf9b3ee2838232ed2ac8aabdf5c91978a6d66700b5e9e77a0de8820ecf12b798fb65383600e08d47b732d1981
diff --git a/dev-python/google-auth/google-auth-2.23.4.ebuild b/dev-python/google-auth/google-auth-2.23.4.ebuild
deleted file mode 100644
index 4dac18775bcd..000000000000
--- a/dev-python/google-auth/google-auth-2.23.4.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google Authentication Library"
-HOMEPAGE="
- https://github.com/googleapis/google-auth-library-python/
- https://pypi.org/project/google-auth/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-
-RDEPEND="
- <dev-python/cachetools-6.0.0[${PYTHON_USEDEP}]
- >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
- >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}]
- >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/grpcio[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/moto[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/pytest-localserver[${PYTHON_USEDEP}]
- dev-python/pyu2f[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- # these are compatibility tests with oauth2client
- # disable them to unblock removal of that package
- tests/test__oauth2client.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/google-auth/google-auth-2.24.0.ebuild b/dev-python/google-auth/google-auth-2.24.0.ebuild
deleted file mode 100644
index 3136de42f585..000000000000
--- a/dev-python/google-auth/google-auth-2.24.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Google Authentication Library"
-HOMEPAGE="
- https://github.com/googleapis/google-auth-library-python/
- https://pypi.org/project/google-auth/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-
-RDEPEND="
- <dev-python/cachetools-6.0.0[${PYTHON_USEDEP}]
- >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
- >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}]
- >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/grpcio[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/moto[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/pytest-localserver[${PYTHON_USEDEP}]
- dev-python/pyu2f[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- # these are compatibility tests with oauth2client
- # disable them to unblock removal of that package
- tests/test__oauth2client.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/google-auth/google-auth-2.31.0.ebuild b/dev-python/google-auth/google-auth-2.31.0.ebuild
new file mode 100644
index 000000000000..3769f2621b5b
--- /dev/null
+++ b/dev-python/google-auth/google-auth-2.31.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google Authentication Library"
+HOMEPAGE="
+ https://github.com/googleapis/google-auth-library-python/
+ https://pypi.org/project/google-auth/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ <dev-python/cachetools-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/moto[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/pyu2f[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # these are compatibility tests with oauth2client
+ # disable them to unblock removal of that package
+ tests/test__oauth2client.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
diff --git a/dev-python/google-auth/google-auth-2.32.0.ebuild b/dev-python/google-auth/google-auth-2.32.0.ebuild
new file mode 100644
index 000000000000..5a88379ee7bb
--- /dev/null
+++ b/dev-python/google-auth/google-auth-2.32.0.ebuild
@@ -0,0 +1,58 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google Authentication Library"
+HOMEPAGE="
+ https://github.com/googleapis/google-auth-library-python/
+ https://pypi.org/project/google-auth/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ <dev-python/cachetools-6.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-modules-0.2.1[${PYTHON_USEDEP}]
+ >=dev-python/rsa-3.1.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/moto[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/pyu2f[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # these are compatibility tests with oauth2client
+ # disable them to unblock removal of that package
+ tests/test__oauth2client.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
diff --git a/dev-python/google-i18n-address/google-i18n-address-3.1.0-r1.ebuild b/dev-python/google-i18n-address/google-i18n-address-3.1.0-r1.ebuild
new file mode 100644
index 000000000000..984b7eb1c1e6
--- /dev/null
+++ b/dev-python/google-i18n-address/google-i18n-address-3.1.0-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Google's i18n address metadata repository"
+HOMEPAGE="
+ https://github.com/mirumee/google-i18n-address/
+ https://pypi.org/project/google-i18n-address/
+"
+# Using the github release, as it contains the tests (unlike the pypi artifact).
+SRC_URI="
+ https://github.com/mirumee/google-i18n-address/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/requests-2.7.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/google-i18n-address/google-i18n-address-3.1.0.ebuild b/dev-python/google-i18n-address/google-i18n-address-3.1.0.ebuild
deleted file mode 100644
index f9705d4c84a9..000000000000
--- a/dev-python/google-i18n-address/google-i18n-address-3.1.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Google's i18n address metadata repository"
-HOMEPAGE="
- https://github.com/mirumee/google-i18n-address/
- https://pypi.org/project/google-i18n-address/
-"
-# Using the github release, as it contains the tests (unlike the pypi artifact).
-SRC_URI="
- https://github.com/mirumee/google-i18n-address/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/google-pasta/google-pasta-0.2.0-r2.ebuild b/dev-python/google-pasta/google-pasta-0.2.0-r2.ebuild
index 97d28e37643b..6d8edaa5e772 100644
--- a/dev-python/google-pasta/google-pasta-0.2.0-r2.ebuild
+++ b/dev-python/google-pasta/google-pasta-0.2.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/googleapis-common-protos/Manifest b/dev-python/googleapis-common-protos/Manifest
index ae57a094a696..7ea7a283bffd 100644
--- a/dev-python/googleapis-common-protos/Manifest
+++ b/dev-python/googleapis-common-protos/Manifest
@@ -1 +1 @@
-DIST googleapis-common-protos-1.61.0.tar.gz 121129 BLAKE2B f7fa2bc1061bd7cba5db4327925ac221fff859a1077b177dd9606cb1d85ef42796a3c2fd6b9834d195a1d3d0638f07a735f64a9e4abd4b95b602f8f53a36d77d SHA512 2aac51d0ea414532f1b5991ad8d484a48d44682e1354deec4d1bb5a96d401a9f9983e613beea91d49c058d95a2d289be932229765c66c1fee18df5d8e9e873f2
+DIST googleapis-common-protos-1.63.2.tar.gz 112890 BLAKE2B c6b5262435e7458721fe63fcdc9f8c6485fda27b417619f597d662624b1be13380669d5467427e3f70755f64a187b320cf5954adc307242ae937830c3774aab9 SHA512 ec987acb6ead40771d69e851ca679e7985532a39821d5a2318f9e5ccfce17b9e6f9d4339266b77cb2e55f2c0de0256c80321677d026f4f2c830bdb435aeff676
diff --git a/dev-python/googleapis-common-protos/googleapis-common-protos-1.61.0.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.61.0.ebuild
deleted file mode 100644
index 3a8603d48dea..000000000000
--- a/dev-python/googleapis-common-protos/googleapis-common-protos-1.61.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2020-2023 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 pypi
-
-DESCRIPTION="Python classes generated from the common protos in the googleapis repository"
-HOMEPAGE="
- https://github.com/googleapis/python-api-common-protos/
- https://pypi.org/project/googleapis-common-protos/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-
-RDEPEND="
- <dev-python/protobuf-python-5[${PYTHON_USEDEP}]
- >=dev-python/protobuf-python-3.15.0[${PYTHON_USEDEP}]
- !dev-python/namespace-google
-"
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-# no tests as this is all generated code
diff --git a/dev-python/googleapis-common-protos/googleapis-common-protos-1.63.2-r1.ebuild b/dev-python/googleapis-common-protos/googleapis-common-protos-1.63.2-r1.ebuild
new file mode 100644
index 000000000000..9489baf555a5
--- /dev/null
+++ b/dev-python/googleapis-common-protos/googleapis-common-protos-1.63.2-r1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2020-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python classes generated from the common protos in the googleapis repository"
+HOMEPAGE="
+ https://github.com/googleapis/python-api-common-protos/
+ https://pypi.org/project/googleapis-common-protos/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86"
+
+RDEPEND="
+ <dev-python/protobuf-python-6[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-python-3.15.0[${PYTHON_USEDEP}]
+ !dev-python/namespace-google
+"
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+# no tests as this is all generated code
diff --git a/dev-python/gpep517/Manifest b/dev-python/gpep517/Manifest
index 457730369753..b9c77d05432c 100644
--- a/dev-python/gpep517/Manifest
+++ b/dev-python/gpep517/Manifest
@@ -1 +1 @@
-DIST gpep517-15.gh.tar.gz 17535 BLAKE2B 265c2392cc70f4a94f6b8329dbba0ec5eb821e687bba553009bdc5e230d856fe6f105c873a79ee7ca99fb75c072c3d3c3b4f716ca873d13a8e393b33a97c8540 SHA512 7c3b878220e907ef801301eadc0e3031dd3c31770cc50bb7119ab32f9244c8a33792b4896ddeffc5d4b7be9f1d881fba5179de155f11845f510e455be59fb92e
+DIST gpep517-16.gh.tar.gz 23951 BLAKE2B 9be3bf7845f85b756444e5699509cf12455ea71204fb0e9a4899000cd2802cc063cd785f490d6e3d9ac48bf79a9e43a0edcfb483d898f718be6d783a98834cdd SHA512 fcd7cb0f98003a8ecb9976cffe3d4140b16e537dbfcfa8e8416569cd7e38e8e9ab359b35c1e22b830dc2711b3c07f8e3113c0f6b73d415ce63ad5f7d76f180c6
diff --git a/dev-python/gpep517/gpep517-15.ebuild b/dev-python/gpep517/gpep517-15.ebuild
deleted file mode 100644
index e1b324df4976..000000000000
--- a/dev-python/gpep517/gpep517-15.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
-EAPI=7
-
-DISTUTILS_USE_PEP517=no
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A backend script to aid installing Python packages in Gentoo"
-HOMEPAGE="
- https://pypi.org/project/gpep517/
- https://github.com/projg2/gpep517/
-"
-SRC_URI="
- https://github.com/projg2/gpep517/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- >=dev-python/installer-0.5.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.2.3[${PYTHON_USEDEP}]
- ' 3.{9..10})
-"
-
-distutils_enable_tests pytest
-
-python_install() {
- python_domodule gpep517
- python_newscript - gpep517 <<-EOF
- #!${EPREFIX}/usr/bin/python
- import sys
- from gpep517.__main__ import main
- sys.exit(main())
- EOF
-}
diff --git a/dev-python/gpep517/gpep517-16.ebuild b/dev-python/gpep517/gpep517-16.ebuild
new file mode 100644
index 000000000000..54884440de1c
--- /dev/null
+++ b/dev-python/gpep517/gpep517-16.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=no
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A backend script to aid installing Python packages in Gentoo"
+HOMEPAGE="
+ https://pypi.org/project/gpep517/
+ https://github.com/projg2/gpep517/
+"
+SRC_URI="
+ https://github.com/projg2/gpep517/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ >=dev-python/installer-0.5.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.2.3[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o tmp_path_retention_policy=all
+}
+
+python_install() {
+ python_domodule gpep517
+ python_newscript - gpep517 <<-EOF
+ #!${EPREFIX}/usr/bin/python
+ import sys
+ from gpep517.__main__ import main
+ sys.exit(main())
+ EOF
+}
diff --git a/dev-python/graph-tool/Manifest b/dev-python/graph-tool/Manifest
index 6effef3aebdb..3e652f36da91 100644
--- a/dev-python/graph-tool/Manifest
+++ b/dev-python/graph-tool/Manifest
@@ -1 +1 @@
-DIST graph-tool-2.58.tar.bz2 15189499 BLAKE2B c3137df7e2c49bb453969f6355bda66090daaa993085ccffd0b055e6b6f55e5b7f13d851d860aaed08d961e47df360e88194cde6eced50a1d3e40701c9c823f2 SHA512 89d62c865ab7a2ade1fabf27fef3c74e7bc9fa85a25e3094941d9d7f1824dc2e426eae7a62660d57140c54bf6fefd07673ab9ec3a72ad05c63c84a7da9ba2ffa
+DIST graph-tool-2.71.tar.xz 14997876 BLAKE2B c23b4729065ebba43ba3501bca63980a40354e2ff6727ea3b663c60521cdf571ab794eb83f9cfb56909d92e3be90ac5d94c7dcd7f6639cb2c2fb9ee5c675697f SHA512 caedba222e499b81d93d51097c526a8a64dd1f3b91141012c67ffe40532f6168294e430887484522f75709828d280f95cc75bc400a886e71bf73d64efd9b7833
diff --git a/dev-python/graph-tool/files/0001-Fix-compilation-with-boost-1.83-and-boost-1.76.patch b/dev-python/graph-tool/files/0001-Fix-compilation-with-boost-1.83-and-boost-1.76.patch
deleted file mode 100644
index bac83a8c0337..000000000000
--- a/dev-python/graph-tool/files/0001-Fix-compilation-with-boost-1.83-and-boost-1.76.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 005b377fa09c28a5f61f11319f337ceea640f4ab Mon Sep 17 00:00:00 2001
-From: Tiago de Paula Peixoto <tiago@skewed.de>
-Date: Fri, 1 Sep 2023 10:27:28 +0200
-Subject: [PATCH] Fix compilation with boost 1.83 and boost < 1.76 This unites
- upstream commits: 0a837b40 and 5517e370.
-
----
- src/graph/gml.hh | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/src/graph/gml.hh b/src/graph/gml.hh
-index 7bea0ca3..b4cb84db 100644
---- a/src/graph/gml.hh
-+++ b/src/graph/gml.hh
-@@ -26,6 +26,10 @@
- #include <boost/variant/get.hpp>
- #include <boost/spirit/include/support_istream_iterator.hpp>
-
-+#if BOOST_VERSION >= 107600
-+#include <boost/regex/v5/unicode_iterator.hpp>
-+#endif
-+
- #include <boost/algorithm/string/replace.hpp>
-
- #include <boost/property_map/dynamic_property_map.hpp>
---
-2.41.0
-
diff --git a/dev-python/graph-tool/graph-tool-2.58.ebuild b/dev-python/graph-tool/graph-tool-2.58.ebuild
deleted file mode 100644
index 002fda98dac3..000000000000
--- a/dev-python/graph-tool/graph-tool-2.58.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit check-reqs python-r1 toolchain-funcs
-
-if [[ ${PV} == *9999 ]]; then
- EGIT_REPO_URI="https://git.skewed.de/count0/graph-tool.git"
- inherit autotools git-r3
-else
- SRC_URI="https://downloads.skewed.de/${PN}/${P}.tar.bz2"
- KEYWORDS="~amd64"
-fi
-
-DESCRIPTION="An efficient python module for manipulation and statistical analysis of graphs"
-HOMEPAGE="https://graph-tool.skewed.de/"
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="+cairo openmp"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-libs/boost:=[context,python,${PYTHON_USEDEP}]
- dev-libs/expat
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- sci-mathematics/cgal:=
- dev-python/matplotlib[${PYTHON_USEDEP}]
- cairo? (
- dev-cpp/cairomm:0
- dev-python/pycairo[${PYTHON_USEDEP}]
- x11-libs/cairo[X]
- )"
-DEPEND="${RDEPEND}
- dev-cpp/sparsehash"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}"/0001-Fix-compilation-with-boost-1.83-and-boost-1.76.patch # backport
-)
-
-# bug 453544
-CHECKREQS_DISK_BUILD="6G"
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
- check-reqs_pkg_pretend
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
-}
-
-src_prepare() {
- default
- [[ ${PV} == *9999 ]] && eautoreconf
- python_copy_sources
-}
-
-src_configure() {
- my_configure() {
- econf \
- --disable-static \
- $(use_enable openmp) \
- $(use_enable cairo) \
- --with-boost-python="boost_${EPYTHON/./}"
- }
- python_foreach_impl run_in_build_dir my_configure
-}
-
-src_compile() {
- python_foreach_impl run_in_build_dir emake
-}
-
-src_install() {
- my_python_install() {
- default
- python_optimize
- }
- python_foreach_impl run_in_build_dir my_python_install
-
- find "${ED}" -name '*.la' -delete || die
-}
diff --git a/dev-python/graph-tool/graph-tool-2.71.ebuild b/dev-python/graph-tool/graph-tool-2.71.ebuild
new file mode 100644
index 000000000000..933f090ee1fa
--- /dev/null
+++ b/dev-python/graph-tool/graph-tool-2.71.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit check-reqs python-r1 toolchain-funcs
+
+if [[ ${PV} == *9999 ]]; then
+ EGIT_REPO_URI="https://git.skewed.de/count0/graph-tool.git"
+ inherit autotools git-r3
+else
+ SRC_URI="https://downloads.skewed.de/${PN}/${P}.tar.xz"
+ KEYWORDS="~amd64"
+fi
+
+DESCRIPTION="An efficient python module for manipulation and statistical analysis of graphs"
+HOMEPAGE="https://graph-tool.skewed.de/"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+cairo openmp"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/boost:=[context,python,${PYTHON_USEDEP}]
+ dev-libs/expat
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ sci-mathematics/cgal:=
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ cairo? (
+ dev-cpp/cairomm:0
+ dev-python/pycairo[${PYTHON_USEDEP}]
+ x11-libs/cairo[X]
+ )"
+DEPEND="${RDEPEND}
+ dev-cpp/sparsehash"
+BDEPEND="virtual/pkgconfig"
+
+# bug 453544
+CHECKREQS_DISK_BUILD="6G"
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+ check-reqs_pkg_pretend
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && use openmp && tc-check-openmp
+}
+
+src_prepare() {
+ default
+ [[ ${PV} == *9999 ]] && eautoreconf
+ python_copy_sources
+}
+
+src_configure() {
+ my_configure() {
+ econf \
+ --disable-static \
+ $(use_enable openmp) \
+ $(use_enable cairo) \
+ --with-boost-python="boost_${EPYTHON/./}"
+ }
+ python_foreach_impl run_in_build_dir my_configure
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir emake
+}
+
+src_install() {
+ my_python_install() {
+ default
+ python_optimize
+ }
+ python_foreach_impl run_in_build_dir my_python_install
+
+ find "${ED}" -name '*.la' -delete || die
+}
diff --git a/dev-python/graph-tool/graph-tool-9999.ebuild b/dev-python/graph-tool/graph-tool-9999.ebuild
index b61774538a69..933f090ee1fa 100644
--- a/dev-python/graph-tool/graph-tool-9999.ebuild
+++ b/dev-python/graph-tool/graph-tool-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -11,7 +11,7 @@ if [[ ${PV} == *9999 ]]; then
EGIT_REPO_URI="https://git.skewed.de/count0/graph-tool.git"
inherit autotools git-r3
else
- SRC_URI="https://downloads.skewed.de/${PN}/${P}.tar.bz2"
+ SRC_URI="https://downloads.skewed.de/${PN}/${P}.tar.xz"
KEYWORDS="~amd64"
fi
diff --git a/dev-python/graphviz/Manifest b/dev-python/graphviz/Manifest
index c9275247c609..d81cb9cd0b07 100644
--- a/dev-python/graphviz/Manifest
+++ b/dev-python/graphviz/Manifest
@@ -1 +1 @@
-DIST graphviz-0.20.1.gh.tar.gz 188952 BLAKE2B 65d0b993e01492894b6d245c0869412b4956e5d55f9d8d490505c8f3477dc5ab98739cf0bf1aa1a15c4bacb2db4c2807659ce410ca65503c5876ffdc278e959f SHA512 34d340469856777f03b9c9e6d28f232908797bc1456a5b50104dd2f7dc8b7488afc7b29a564d57707ae96f3291f5ae90b8140ab64e378b82f271b5521763fb55
+DIST graphviz-0.20.3.gh.tar.gz 190499 BLAKE2B 841362c30feb7683371e557706fdcad27c52f6279bbb252a83f61127649e81f162ea80e8b2685dbf1c4f9e6f530409f7f5363ac573edf7d9942126be8ad85842 SHA512 e920093e499a539b1c8b5b250f2feeb0829caffd7ad27ae762cb7d4f8762e20bc4c9c72ac2a8d0efbbc81a3eef3289f5f66eed6c6db45353c9d802594449f6ae
diff --git a/dev-python/graphviz/files/graphviz-0.20.1_fix_python3_12_test_deprecated_escape.patch b/dev-python/graphviz/files/graphviz-0.20.1_fix_python3_12_test_deprecated_escape.patch
deleted file mode 100644
index 0193ef928775..000000000000
--- a/dev-python/graphviz/files/graphviz-0.20.1_fix_python3_12_test_deprecated_escape.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 5ce9fc5de4f2284baa27d7a8d68ab0885d032868 Mon Sep 17 00:00:00 2001
-From: Sebastian Bank <sebastian.bank@uni-leipzig.de>
-Date: Tue, 24 Oct 2023 20:39:52 +0200
-Subject: [PATCH] expect SyntaxWarning in test_deprecated_escape() under Python
- 3.12
-
-https://docs.python.org/3.12/whatsnew/3.12.html#other-language-changes
----
- tests/test_quoting.py | 4 +++-
- 1 file changed, 3 insertions(+), 1 deletion(-)
-
-diff --git a/tests/test_quoting.py b/tests/test_quoting.py
-index e4ece573bd..3692d38a12 100644
---- a/tests/test_quoting.py
-+++ b/tests/test_quoting.py
-@@ -1,3 +1,4 @@
-+import sys
- import warnings
-
- import pytest
-@@ -14,7 +15,8 @@ def test_deprecated_escape(recwarn, char):
- escape = eval(rf'"\{char}"')
-
- assert len(recwarn) == 1
-- w = recwarn.pop(DeprecationWarning)
-+ w = recwarn.pop(DeprecationWarning if sys.version_info < (3, 12)
-+ else SyntaxWarning)
- assert str(w.message).startswith('invalid escape sequence')
-
- assert escape == f'\\{char}'
diff --git a/dev-python/graphviz/graphviz-0.20.1-r1.ebuild b/dev-python/graphviz/graphviz-0.20.1-r1.ebuild
deleted file mode 100644
index 561c323eb2b1..000000000000
--- a/dev-python/graphviz/graphviz-0.20.1-r1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple Python interface for Graphviz"
-HOMEPAGE="
- https://graphviz.readthedocs.io/
- https://github.com/xflr6/graphviz/
- https://pypi.org/project/graphviz/
-"
-SRC_URI="
- https://github.com/xflr6/graphviz/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-KEYWORDS="amd64 ~riscv x86 ~amd64-linux ~x86-linux"
-SLOT="0"
-
-RDEPEND="
- media-gfx/graphviz
-"
-BDEPEND="
- test? (
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-1.8[${PYTHON_USEDEP}]
- media-gfx/graphviz[gts,pdf]
- )
-"
-
-PATCHES="
- ${FILESDIR}/${P}_fix_python3_12_test_deprecated_escape.patch
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e 's:license_file:license_files:' \
- -e 's:--cov --cov-report=term --cov-report=html::' \
- -i setup.cfg || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- "${EPYTHON}" run-tests.py -vv -ra -l -Wdefault -p no:xdoctest ||
- die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/graphviz/graphviz-0.20.1.ebuild b/dev-python/graphviz/graphviz-0.20.1.ebuild
deleted file mode 100644
index 7c5bdbfc0e27..000000000000
--- a/dev-python/graphviz/graphviz-0.20.1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple Python interface for Graphviz"
-HOMEPAGE="
- https://graphviz.readthedocs.io/
- https://github.com/xflr6/graphviz/
- https://pypi.org/project/graphviz/
-"
-SRC_URI="
- https://github.com/xflr6/graphviz/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-KEYWORDS="amd64 ~riscv x86 ~amd64-linux ~x86-linux"
-SLOT="0"
-
-RDEPEND="
- media-gfx/graphviz
-"
-BDEPEND="
- test? (
- >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-1.8[${PYTHON_USEDEP}]
- media-gfx/graphviz[gts,pdf]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e 's:--cov --cov-report=term --cov-report=html::' \
- -i setup.cfg || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- "${EPYTHON}" run-tests.py -vv -ra -l -Wdefault -p no:xdoctest ||
- die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/graphviz/graphviz-0.20.3.ebuild b/dev-python/graphviz/graphviz-0.20.3.ebuild
new file mode 100644
index 000000000000..ee3f5ef84e2c
--- /dev/null
+++ b/dev-python/graphviz/graphviz-0.20.3.ebuild
@@ -0,0 +1,54 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Simple Python interface for Graphviz"
+HOMEPAGE="
+ https://graphviz.readthedocs.io/
+ https://github.com/xflr6/graphviz/
+ https://pypi.org/project/graphviz/
+"
+SRC_URI="
+ https://github.com/xflr6/graphviz/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ media-gfx/graphviz
+"
+BDEPEND="
+ test? (
+ >=dev-python/mock-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-1.8[${PYTHON_USEDEP}]
+ media-gfx/graphviz[gts,pdf]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -e 's:license_file:license_files:' \
+ -e 's:--cov --cov-report=term --cov-report=html::' \
+ -i setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_IGNORE=(
+ # workaround https://github.com/pytest-dev/pytest/issues/12123
+ tests/backend/conftest.py
+ tests/conftest.py
+ )
+ epytest -p pytest_mock
+}
diff --git a/dev-python/greenlet/Manifest b/dev-python/greenlet/Manifest
index 7af0a71221bb..5cd84aac0f1e 100644
--- a/dev-python/greenlet/Manifest
+++ b/dev-python/greenlet/Manifest
@@ -1,3 +1 @@
-DIST greenlet-2.0.2.tar.gz 164980 BLAKE2B 1afa8390e96d7eeafd84a4323a4eb9e4b2cad50a3e6654b1609702a5a74dfb5dadc7a1ff81cc8e7718d0587728c2ec944069db8241f1aa0723d2f98e6911ddb6 SHA512 03d0b2764c52524c97930a7bd856a432360a96ddbe3d1f2352ec49750994e6811fd28378f83b96cac91520234d0a6e9e56232ff688c71ff57f6340d3d182635b
-DIST greenlet-3.0.0.tar.gz 174704 BLAKE2B d2bcb1760091434369032e26923a18c158b4d58b852f8db5c4f1a41e141723048553366879662760ca0390ee8b438e1b4c9df0fc4f2ea7f3bf25afa41d434a28 SHA512 422f6b525acbe9909fe8103635ecd83485ec753cc879c2e5c194ba0f35161412331cc00bc29c1221c69101feb84604737b215b2f3edbc397f7fada05c6fec20c
-DIST greenlet-3.0.1.tar.gz 174825 BLAKE2B a2c210ec558772aa0ade9255fa7b149e69cde3cb210cfdea3c1977377a80c0a535dac53306a1eb1c08f247b0da5205aa56b64d6564646572199ef6af0c4817ab SHA512 67d74352802331642eba0917550a75e9bc2a7d223bc0ce4ee7993d05197b4d0650813439e7c495baf2309303740cd21e60a157e634aafff470332a685603ffec
+DIST greenlet-3.0.3.tar.gz 182013 BLAKE2B 34ba9f13dd01f5bacedb69952b4d3d08e55eba82d94c5d95cf8bfeb0f1ce94dbde9d62f5e56c33cbf2467d82f6ffd8d05a37048d0292102b1dbb68c67e9398f4 SHA512 20d8818376a200332cbc2c85968317ddf828d2adf3fcc3c53623cd1504ec9a4e4e987e841bd2fe65e934e2b8a5e73a7205847526f0bd196e7afcdf3ae40e9d9b
diff --git a/dev-python/greenlet/files/greenlet-3.0.3-py313.patch b/dev-python/greenlet/files/greenlet-3.0.3-py313.patch
new file mode 100644
index 000000000000..195acae3fa6d
--- /dev/null
+++ b/dev-python/greenlet/files/greenlet-3.0.3-py313.patch
@@ -0,0 +1,225 @@
+diff --git a/src/greenlet/TPythonState.cpp b/src/greenlet/TPythonState.cpp
+index 465d4174..82eb34f0 100644
+--- a/src/greenlet/TPythonState.cpp
++++ b/src/greenlet/TPythonState.cpp
+@@ -18,7 +18,11 @@ PythonState::PythonState()
+ #else
+ ,recursion_depth(0)
+ #endif
++#if GREENLET_PY313
++ ,delete_later(nullptr)
++#else
+ ,trash_delete_nesting(0)
++#endif
+ #if GREENLET_PY311
+ ,current_frame(nullptr)
+ ,datastack_chunk(nullptr)
+@@ -130,11 +134,15 @@ void PythonState::operator<<(const PyThreadState *const tstate) noexcept
+ #if GREENLET_PY311
+ #if GREENLET_PY312
+ this->py_recursion_depth = tstate->py_recursion_limit - tstate->py_recursion_remaining;
+- this->c_recursion_depth = C_RECURSION_LIMIT - tstate->c_recursion_remaining;
++ this->c_recursion_depth = Py_C_RECURSION_LIMIT - tstate->c_recursion_remaining;
+ #else // not 312
+ this->recursion_depth = tstate->recursion_limit - tstate->recursion_remaining;
+ #endif // GREENLET_PY312
++ #if GREENLET_PY313
++ this->current_frame = tstate->current_frame;
++ #elif GREENLET_USE_CFRAME
+ this->current_frame = tstate->cframe->current_frame;
++ #endif
+ this->datastack_chunk = tstate->datastack_chunk;
+ this->datastack_top = tstate->datastack_top;
+ this->datastack_limit = tstate->datastack_limit;
+@@ -143,7 +151,9 @@ void PythonState::operator<<(const PyThreadState *const tstate) noexcept
+ Py_XDECREF(frame); // PyThreadState_GetFrame gives us a new
+ // reference.
+ this->_top_frame.steal(frame);
+- #if GREENLET_PY312
++ #if GREENLET_PY313
++ this->delete_later = Py_XNewRef(tstate->delete_later);
++ #elif GREENLET_PY312
+ this->trash_delete_nesting = tstate->trash.delete_nesting;
+ #else // not 312
+ this->trash_delete_nesting = tstate->trash_delete_nesting;
+@@ -199,17 +209,25 @@ void PythonState::operator>>(PyThreadState *const tstate) noexcept
+ #if GREENLET_PY311
+ #if GREENLET_PY312
+ tstate->py_recursion_remaining = tstate->py_recursion_limit - this->py_recursion_depth;
+- tstate->c_recursion_remaining = C_RECURSION_LIMIT - this->c_recursion_depth;
++ tstate->c_recursion_remaining = Py_C_RECURSION_LIMIT - this->c_recursion_depth;
+ this->unexpose_frames();
+ #else // \/ 3.11
+ tstate->recursion_remaining = tstate->recursion_limit - this->recursion_depth;
+ #endif // GREENLET_PY312
++ #if GREENLET_PY313
++ tstate->current_frame = this->current_frame;
++ #elif GREENLET_USE_CFRAME
+ tstate->cframe->current_frame = this->current_frame;
++ #endif
+ tstate->datastack_chunk = this->datastack_chunk;
+ tstate->datastack_top = this->datastack_top;
+ tstate->datastack_limit = this->datastack_limit;
+ this->_top_frame.relinquish_ownership();
+- #if GREENLET_PY312
++ #if GREENLET_PY313
++ Py_XDECREF(tstate->delete_later);
++ tstate->delete_later = this->delete_later;
++ Py_CLEAR(this->delete_later);
++ #elif GREENLET_PY312
+ tstate->trash.delete_nesting = this->trash_delete_nesting;
+ #else // not 3.12
+ tstate->trash_delete_nesting = this->trash_delete_nesting;
+@@ -238,7 +256,7 @@ void PythonState::set_initial_state(const PyThreadState* const tstate) noexcept
+ #if GREENLET_PY312
+ this->py_recursion_depth = tstate->py_recursion_limit - tstate->py_recursion_remaining;
+ // XXX: TODO: Comment from a reviewer:
+- // Should this be ``C_RECURSION_LIMIT - tstate->c_recursion_remaining``?
++ // Should this be ``Py_C_RECURSION_LIMIT - tstate->c_recursion_remaining``?
+ // But to me it looks more like that might not be the right
+ // initialization either?
+ this->c_recursion_depth = tstate->py_recursion_limit - tstate->py_recursion_remaining;
+diff --git a/src/greenlet/greenlet.cpp b/src/greenlet/greenlet.cpp
+index 5a9818e8..dfc748a8 100644
+--- a/src/greenlet/greenlet.cpp
++++ b/src/greenlet/greenlet.cpp
+@@ -1328,6 +1328,7 @@ mod_enable_optional_cleanup(PyObject* UNUSED(module), PyObject* flag)
+ Py_RETURN_NONE;
+ }
+
++#if !GREENLET_PY313
+ PyDoc_STRVAR(mod_get_tstate_trash_delete_nesting_doc,
+ "get_tstate_trash_delete_nesting() -> Integer\n"
+ "\n"
+@@ -1343,6 +1344,7 @@ mod_get_tstate_trash_delete_nesting(PyObject* UNUSED(module))
+ return PyLong_FromLong(tstate->trash_delete_nesting);
+ #endif
+ }
++#endif
+
+ static PyMethodDef GreenMethods[] = {
+ {"getcurrent",
+@@ -1356,7 +1358,9 @@ static PyMethodDef GreenMethods[] = {
+ {"get_total_main_greenlets", (PyCFunction)mod_get_total_main_greenlets, METH_NOARGS, mod_get_total_main_greenlets_doc},
+ {"get_clocks_used_doing_optional_cleanup", (PyCFunction)mod_get_clocks_used_doing_optional_cleanup, METH_NOARGS, mod_get_clocks_used_doing_optional_cleanup_doc},
+ {"enable_optional_cleanup", (PyCFunction)mod_enable_optional_cleanup, METH_O, mod_enable_optional_cleanup_doc},
++#if !GREENLET_PY313
+ {"get_tstate_trash_delete_nesting", (PyCFunction)mod_get_tstate_trash_delete_nesting, METH_NOARGS, mod_get_tstate_trash_delete_nesting_doc},
++#endif
+ {NULL, NULL} /* Sentinel */
+ };
+
+diff --git a/src/greenlet/greenlet_cpython_compat.hpp b/src/greenlet/greenlet_cpython_compat.hpp
+index cdc1617f..ce5fd882 100644
+--- a/src/greenlet/greenlet_cpython_compat.hpp
++++ b/src/greenlet/greenlet_cpython_compat.hpp
+@@ -12,19 +12,24 @@
+
+ #if PY_VERSION_HEX >= 0x30A00B1
+ # define GREENLET_PY310 1
++#else
++# define GREENLET_PY310 0
++#endif
++
+ /*
+ Python 3.10 beta 1 changed tstate->use_tracing to a nested cframe member.
+ See https://github.com/python/cpython/pull/25276
+ We have to save and restore this as well.
++
++Python 3.13 removed PyThreadState.cframe (GH-108035).
+ */
++#if GREENLET_PY310 && PY_VERSION_HEX < 0x30D0000
+ # define GREENLET_USE_CFRAME 1
+ #else
+ # define GREENLET_USE_CFRAME 0
+-# define GREENLET_PY310 0
+ #endif
+
+
+-
+ #if PY_VERSION_HEX >= 0x30B00A4
+ /*
+ Greenlet won't compile on anything older than Python 3.11 alpha 4 (see
+@@ -50,6 +55,12 @@ Greenlet won't compile on anything older than Python 3.11 alpha 4 (see
+ # define GREENLET_PY312 0
+ #endif
+
++#if PY_VERSION_HEX >= 0x30D0000
++# define GREENLET_PY313 1
++#else
++# define GREENLET_PY313 0
++#endif
++
+ #ifndef Py_SET_REFCNT
+ /* Py_REFCNT and Py_SIZE macros are converted to functions
+ https://bugs.python.org/issue39573 */
+@@ -124,4 +135,8 @@ static inline void PyThreadState_LeaveTracing(PyThreadState *tstate)
+ }
+ #endif
+
++#if !defined(Py_C_RECURSION_LIMIT) && defined(C_RECURSION_LIMIT)
++# define Py_C_RECURSION_LIMIT C_RECURSION_LIMIT
++#endif
++
+ #endif /* GREENLET_CPYTHON_COMPAT_H */
+diff --git a/src/greenlet/greenlet_greenlet.hpp b/src/greenlet/greenlet_greenlet.hpp
+index d52ce1fd..fbfdfbfc 100644
+--- a/src/greenlet/greenlet_greenlet.hpp
++++ b/src/greenlet/greenlet_greenlet.hpp
+@@ -23,6 +23,7 @@ using greenlet::refs::BorrowedGreenlet;
+ #endif
+
+ #if GREENLET_PY312
++# define Py_BUILD_CORE
+ # include "internal/pycore_frame.h"
+ #endif
+
+@@ -110,7 +111,11 @@ namespace greenlet
+ #else
+ int recursion_depth;
+ #endif
++#if GREENLET_PY313
++ PyObject *delete_later;
++#else
+ int trash_delete_nesting;
++#endif
+ #if GREENLET_PY311
+ _PyInterpreterFrame* current_frame;
+ _PyStackChunk* datastack_chunk;
+diff --git a/src/greenlet/tests/test_greenlet.py b/src/greenlet/tests/test_greenlet.py
+index 51849cd6..259707ae 100644
+--- a/src/greenlet/tests/test_greenlet.py
++++ b/src/greenlet/tests/test_greenlet.py
+@@ -471,7 +471,9 @@ def creator():
+ # Unfortunately, this doesn't actually clear the references, they're in the
+ # fast local array.
+ if not wait_for_cleanup:
+- result[0].gr_frame.f_locals.clear()
++ # f_locals has no clear method in Python 3.13
++ if hasattr(result[0].gr_frame.f_locals, 'clear'):
++ result[0].gr_frame.f_locals.clear()
+ else:
+ self.assertIsNone(result[0].gr_frame)
+
+diff --git a/src/greenlet/tests/test_greenlet_trash.py b/src/greenlet/tests/test_greenlet_trash.py
+index 8d9716e9..2bce8fd0 100644
+--- a/src/greenlet/tests/test_greenlet_trash.py
++++ b/src/greenlet/tests/test_greenlet_trash.py
+@@ -29,8 +29,17 @@
+
+ import unittest
+
++try:
++ from greenlet._greenlet import get_tstate_trash_delete_nesting
++except ImportError:
++ get_tstate_trash_delete_nesting = None
++
++
+ class TestTrashCanReEnter(unittest.TestCase):
+
++ # Python 3.13 has not "trash delete nesting" anymore (but "delete later")
++ @unittest.skipIf(get_tstate_trash_delete_nesting is None,
++ 'need get_tstate_trash_delete_nesting()')
+ def test_it(self):
+ # Try several times to trigger it, because it isn't 100%
+ # reliable.
diff --git a/dev-python/greenlet/greenlet-2.0.2.ebuild b/dev-python/greenlet/greenlet-2.0.2.ebuild
deleted file mode 100644
index f404b9d3bb61..000000000000
--- a/dev-python/greenlet/greenlet-2.0.2.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-# Note: greenlet is built-in in pypy
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Lightweight in-process concurrent programming"
-HOMEPAGE="
- https://greenlet.readthedocs.io/en/latest/
- https://github.com/python-greenlet/greenlet/
- https://pypi.org/project/greenlet/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 -hppa -ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-BDEPEND="
- test? (
- dev-python/objgraph[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs
-distutils_enable_tests unittest
-
-src_prepare() {
- # patch cflag manipulations out
- sed -i -e 's:global_compile_args[.]append.*:pass:' setup.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- eunittest greenlet.tests
-}
diff --git a/dev-python/greenlet/greenlet-3.0.0.ebuild b/dev-python/greenlet/greenlet-3.0.0.ebuild
deleted file mode 100644
index 159e76097dff..000000000000
--- a/dev-python/greenlet/greenlet-3.0.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-# Note: greenlet is built-in in pypy
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Lightweight in-process concurrent programming"
-HOMEPAGE="
- https://greenlet.readthedocs.io/en/latest/
- https://github.com/python-greenlet/greenlet/
- https://pypi.org/project/greenlet/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 -hppa -ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-BDEPEND="
- test? (
- dev-python/objgraph[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs
-distutils_enable_tests unittest
-
-src_prepare() {
- # patch cflag manipulations out
- sed -i -e 's:global_compile_args[.]append.*:pass:' setup.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- eunittest greenlet.tests
-}
diff --git a/dev-python/greenlet/greenlet-3.0.1.ebuild b/dev-python/greenlet/greenlet-3.0.1.ebuild
deleted file mode 100644
index ce661aed53fc..000000000000
--- a/dev-python/greenlet/greenlet-3.0.1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-# Note: greenlet is built-in in pypy
-# py3.12: https://github.com/python-greenlet/greenlet/issues/368
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Lightweight in-process concurrent programming"
-HOMEPAGE="
- https://greenlet.readthedocs.io/en/latest/
- https://github.com/python-greenlet/greenlet/
- https://pypi.org/project/greenlet/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 -hppa -ia64 ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-BDEPEND="
- test? (
- dev-python/objgraph[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs
-distutils_enable_tests unittest
-
-src_prepare() {
- # patch cflag manipulations out
- sed -i -e 's:global_compile_args[.]append.*:pass:' setup.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- eunittest greenlet.tests
-}
diff --git a/dev-python/greenlet/greenlet-3.0.3-r1.ebuild b/dev-python/greenlet/greenlet-3.0.3-r1.ebuild
new file mode 100644
index 000000000000..35dc7896bb52
--- /dev/null
+++ b/dev-python/greenlet/greenlet-3.0.3-r1.ebuild
@@ -0,0 +1,53 @@
+# 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
+# Note: greenlet is built-in in pypy
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Lightweight in-process concurrent programming"
+HOMEPAGE="
+ https://greenlet.readthedocs.io/en/latest/
+ https://github.com/python-greenlet/greenlet/
+ https://pypi.org/project/greenlet/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 -hppa -ia64 ~m68k ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+BDEPEND="
+ test? (
+ dev-python/objgraph[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/furo
+distutils_enable_tests unittest
+
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/python-greenlet/greenlet/pull/396
+ "${FILESDIR}/${P}-py313.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # patch cflag manipulations out
+ sed -i -e 's:global_compile_args[.]append.*:pass:' setup.py || die
+ # broken assertions on py3.12+
+ # https://github.com/python-greenlet/greenlet/issues/368
+ sed -e 's:test_trace_events_multiple_greenlets_switching:_&: ' \
+ -i src/greenlet/tests/test_tracing.py || die
+}
+
+python_test() {
+ eunittest greenlet.tests
+}
diff --git a/dev-python/greenlet/greenlet-3.0.3.ebuild b/dev-python/greenlet/greenlet-3.0.3.ebuild
new file mode 100644
index 000000000000..fcdecc644e74
--- /dev/null
+++ b/dev-python/greenlet/greenlet-3.0.3.ebuild
@@ -0,0 +1,43 @@
+# 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
+# Note: greenlet is built-in in pypy
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Lightweight in-process concurrent programming"
+HOMEPAGE="
+ https://greenlet.readthedocs.io/en/latest/
+ https://github.com/python-greenlet/greenlet/
+ https://pypi.org/project/greenlet/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 -hppa -ia64 ~m68k ~mips ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+BDEPEND="
+ test? (
+ dev-python/objgraph[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/furo
+distutils_enable_tests unittest
+
+src_prepare() {
+ # patch cflag manipulations out
+ sed -i -e 's:global_compile_args[.]append.*:pass:' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ eunittest greenlet.tests
+}
diff --git a/dev-python/greenstalk/greenstalk-2.0.2.ebuild b/dev-python/greenstalk/greenstalk-2.0.2.ebuild
index 85a3e4056252..f380eefd5133 100644
--- a/dev-python/greenstalk/greenstalk-2.0.2.ebuild
+++ b/dev-python/greenstalk/greenstalk-2.0.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/griffe/Manifest b/dev-python/griffe/Manifest
index 6e6f1116d680..c65ab5dc412c 100644
--- a/dev-python/griffe/Manifest
+++ b/dev-python/griffe/Manifest
@@ -1,3 +1,2 @@
-DIST griffe-0.36.9.gh.tar.gz 197054 BLAKE2B 0351e72bf119bd98c392c56f254bf632552077d340c0c27b51780934c8baff1e6d33712f65bf31fefd2a8864d110790a78de3d77e2f5cf19429c9b68a5a01b9c SHA512 1b4cdfcfe6c1946183d3445e16b6f689cecec259842c97793af7fb60be3b885da82fddcfba74bed3ba82a8f475fb0321c2ebb03fe02feca80888c244cc4493df
-DIST griffe-0.37.0.gh.tar.gz 200702 BLAKE2B 763c30608c7b7ba9cb514f99d19c3fff17811c71325416e9c810b45f4d61778c3d7630789635d6373694b5930532f297edc4f1f8109cc2b6f3273825e7a9be13 SHA512 c042d5fa7b1ecc474137006d54f7b0d68e84abe9db853083e2af9c2e144e1d9216e02ada31cfe8de8d278e892b100cf9e060609acb441c6b25c28a53400b9e2d
-DIST griffe-0.38.0.gh.tar.gz 200933 BLAKE2B f7c6ac0761cbb0ed71009e67311022725c3f9417065216abb1a7b49faf4b4fbe89ce70e46ed0261cf0209d48e135b571ecd1462fca747386b52b382784231a3a SHA512 cef4fb0b575e5a9343ce8090112e83be3d7127b8d5320b99a33b42aec8b38c2bf450ccadbeb23c5c371d528096ee02652d4e7c4d3ed458817794c32d6740aa91
+DIST griffe-0.47.0.gh.tar.gz 233418 BLAKE2B cb31882f9ddd7210ac36eb400d182395b0da3cd37e38458f23582117aae4c83e9cd62a3dfb16067ec518a42ed6b4f6d9d77d6927be2ca462297c6420bcd25cd8 SHA512 d1d0603a81a8c859c67791ceeaf3c03a134ae221d7554b2a1133ed60a3ca85d157980b26c6930c282c50d9d46a02f26a44dffcfe0c1bd844a3f0ba58f2a1c52c
+DIST griffe-0.48.0.gh.tar.gz 370711 BLAKE2B 197da160c0e20d9669a5347fbf256db58c5a3e5e33094ddd104ae02ac9112d2daa17778ba64bc6611117a7d20af42b1b3e4101b3ec56ef8cc0dc2297d6d38a3a SHA512 3b999fbd05b206c973fe5dc7c89500f2fbfe9376529d0b5cc1714dee30f2a17985e4ed6903e638e0b96600e546747f105cab11620190185c133c53dd1df9a364
diff --git a/dev-python/griffe/griffe-0.36.9.ebuild b/dev-python/griffe/griffe-0.36.9.ebuild
deleted file mode 100644
index c8d57610c9ff..000000000000
--- a/dev-python/griffe/griffe-0.36.9.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Signature generator for Python programs"
-HOMEPAGE="
- https://mkdocstrings.github.io/griffe/
- https://github.com/mkdocstrings/griffe/
- https://pypi.org/project/griffe/
-"
-# Tests need files absent from the PyPI tarballs
-SRC_URI="
- https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-
-RDEPEND="
- >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/jsonschema-4.17.3[${PYTHON_USEDEP}]
- >=dev-python/pytest-xdist-2.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export PDM_BUILD_SCM_VERSION=${PV}
-
-EPYTEST_DESELECT=(
- # fragile to installed packages
- # (failed on PySide2 for me)
- tests/test_stdlib.py::test_fuzzing_on_stdlib
-)
diff --git a/dev-python/griffe/griffe-0.37.0.ebuild b/dev-python/griffe/griffe-0.37.0.ebuild
deleted file mode 100644
index ea86f7d917ec..000000000000
--- a/dev-python/griffe/griffe-0.37.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Signature generator for Python programs"
-HOMEPAGE="
- https://mkdocstrings.github.io/griffe/
- https://github.com/mkdocstrings/griffe/
- https://pypi.org/project/griffe/
-"
-# Tests need files absent from the PyPI tarballs
-SRC_URI="
- https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-
-RDEPEND="
- >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/jsonschema-4.17[${PYTHON_USEDEP}]
- >=dev-python/pytest-xdist-2.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export PDM_BUILD_SCM_VERSION=${PV}
-
-EPYTEST_DESELECT=(
- # fragile to installed packages
- # (failed on PySide2 for me)
- tests/test_stdlib.py::test_fuzzing_on_stdlib
-)
diff --git a/dev-python/griffe/griffe-0.38.0.ebuild b/dev-python/griffe/griffe-0.38.0.ebuild
deleted file mode 100644
index 57eb05ec33db..000000000000
--- a/dev-python/griffe/griffe-0.38.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Signature generator for Python programs"
-HOMEPAGE="
- https://mkdocstrings.github.io/griffe/
- https://github.com/mkdocstrings/griffe/
- https://pypi.org/project/griffe/
-"
-# Tests need files absent from the PyPI tarballs
-SRC_URI="
- https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv"
-
-RDEPEND="
- >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/jsonschema-4.17[${PYTHON_USEDEP}]
- >=dev-python/pytest-xdist-2.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export PDM_BUILD_SCM_VERSION=${PV}
-
-EPYTEST_DESELECT=(
- # fragile to installed packages
- # (failed on PySide2 for me)
- tests/test_stdlib.py::test_fuzzing_on_stdlib
-)
diff --git a/dev-python/griffe/griffe-0.47.0.ebuild b/dev-python/griffe/griffe-0.47.0.ebuild
new file mode 100644
index 000000000000..482500b13259
--- /dev/null
+++ b/dev-python/griffe/griffe-0.47.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=pdm-backend
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Signature generator for Python programs"
+HOMEPAGE="
+ https://mkdocstrings.github.io/griffe/
+ https://github.com/mkdocstrings/griffe/
+ https://pypi.org/project/griffe/
+"
+# Tests need files absent from the PyPI tarballs
+SRC_URI="
+ https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/jsonschema-4.17[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-2.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export PDM_BUILD_SCM_VERSION=${PV}
+
+EPYTEST_DESELECT=(
+ # fragile to installed packages
+ # (failed on PySide2 for me)
+ tests/test_stdlib.py::test_fuzzing_on_stdlib
+)
diff --git a/dev-python/griffe/griffe-0.48.0.ebuild b/dev-python/griffe/griffe-0.48.0.ebuild
new file mode 100644
index 000000000000..97705a5b02ee
--- /dev/null
+++ b/dev-python/griffe/griffe-0.48.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Signature generator for Python programs"
+HOMEPAGE="
+ https://mkdocstrings.github.io/griffe/
+ https://github.com/mkdocstrings/griffe/
+ https://pypi.org/project/griffe/
+"
+# Tests need files absent from the PyPI tarballs
+SRC_URI="
+ https://github.com/mkdocstrings/griffe/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/backports-strenum-1.3[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ >=dev-python/jsonschema-4.17[${PYTHON_USEDEP}]
+ dev-python/mkdocstrings[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-2.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export PDM_BUILD_SCM_VERSION=${PV}
+
+EPYTEST_DESELECT=(
+ # fragile to installed packages
+ # (failed on PySide2 for me)
+ tests/test_stdlib.py::test_fuzzing_on_stdlib
+)
diff --git a/dev-python/griffe/metadata.xml b/dev-python/griffe/metadata.xml
index 494b1dde9407..07e25a12c577 100644
--- a/dev-python/griffe/metadata.xml
+++ b/dev-python/griffe/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
diff --git a/dev-python/grpcio-testing/Manifest b/dev-python/grpcio-testing/Manifest
deleted file mode 100644
index 254135ada0a6..000000000000
--- a/dev-python/grpcio-testing/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST grpcio-testing-1.51.0.tar.gz 22390 BLAKE2B 813ade1f3f44e3aeda7ca779f130897281036de111cb17f9297f267961a591e1fa3b88380ccbec42edd339487f1b3f1028dcd308c46ffd8fde5817e3909cfd41 SHA512 3fd9de9cd75aebcf1f6c3716bbacaf5cc9cc9aa74acb42dd128b5c158fa2d52549cdcc8f3ea9f2cb0b86d0b84c998acd55fa16e879ac9099a2348d889d35d837
diff --git a/dev-python/grpcio-testing/grpcio-testing-1.51.0.ebuild b/dev-python/grpcio-testing/grpcio-testing-1.51.0.ebuild
deleted file mode 100644
index 7dd1d26fa299..000000000000
--- a/dev-python/grpcio-testing/grpcio-testing-1.51.0.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Testing utilities for gRPC Python"
-HOMEPAGE="https://grpc.io"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-RDEPEND="
- ~dev-python/grpcio-${PV}[${PYTHON_USEDEP}]
- <dev-python/protobuf-python-5[${PYTHON_USEDEP}]
- >=dev-python/protobuf-python-4.21.3[${PYTHON_USEDEP}]
-"
-BDEPEND="${RDEPEND}"
diff --git a/dev-python/grpcio-testing/metadata.xml b/dev-python/grpcio-testing/metadata.xml
deleted file mode 100644
index c0bd21d5ddf3..000000000000
--- a/dev-python/grpcio-testing/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
- <upstream>
- <remote-id type="github">grpc/grpc</remote-id>
- <remote-id type="pypi">grpcio-testing</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/grpcio-tools/Manifest b/dev-python/grpcio-tools/Manifest
deleted file mode 100644
index f21c8b1d3670..000000000000
--- a/dev-python/grpcio-tools/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST grpcio-tools-1.51.0.tar.gz 2254565 BLAKE2B 7486c7c62d691cb3cbaf02a68e73d6d94ee48396b26c4d46c22776396ba7d637c9b6738c00e19a99101e189e7092b2240adbf53ae9d32188dc813a9b0a49c25d SHA512 fa76fd970c399aed7639d6ce343834a5e7d76f2247cc99e59d0bf29844fb2f366bc9b8e2124d7c9dd9163953741c06015ded7f400b8e77d0cdad8ac291a7af83
diff --git a/dev-python/grpcio-tools/grpcio-tools-1.51.0.ebuild b/dev-python/grpcio-tools/grpcio-tools-1.51.0.ebuild
deleted file mode 100644
index 92eb5d244d7a..000000000000
--- a/dev-python/grpcio-tools/grpcio-tools-1.51.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-
-inherit distutils-r1 multiprocessing prefix pypi
-
-DESCRIPTION="Protobuf code generator for gRPC"
-HOMEPAGE="https://grpc.io"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-RDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- ~dev-python/grpcio-${PV}[${PYTHON_USEDEP}]
- <dev-python/protobuf-python-5[${PYTHON_USEDEP}]
- >=dev-python/protobuf-python-4.21.3[${PYTHON_USEDEP}]
-"
-
-DEPEND="${RDEPEND}"
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- hprefixify setup.py
-}
-
-python_configure_all() {
- export GRPC_PYTHON_BUILD_WITH_CYTHON=1
- export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)"
-}
diff --git a/dev-python/grpcio-tools/metadata.xml b/dev-python/grpcio-tools/metadata.xml
deleted file mode 100644
index 3f3f6b68923f..000000000000
--- a/dev-python/grpcio-tools/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
- <upstream>
- <remote-id type="github">grpc/grpc</remote-id>
- <remote-id type="pypi">grpcio-tools</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/grpcio/Manifest b/dev-python/grpcio/Manifest
deleted file mode 100644
index 698e5d88b4e3..000000000000
--- a/dev-python/grpcio/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST grpcio-1.51.0.tar.gz 22142437 BLAKE2B 20acb52c89e41cd6e87ddb5554bcf79acc6fa18f4516c7be7a3fa1408ecb1e5800d6123bd7ac561093ca341344618de9701c3df75251e96cd9da5a3443568303 SHA512 3560e07df79143cb7a8a0a1f0dbaba2d164962ba712adf030a60654102bbd5ce6a08f88c133b81a3e471f1ec3d63de14f1b0567aa45bd641d958d3349ccef542
diff --git a/dev-python/grpcio/files/1.51.0-cython3.patch b/dev-python/grpcio/files/1.51.0-cython3.patch
deleted file mode 100644
index 97e70e150455..000000000000
--- a/dev-python/grpcio/files/1.51.0-cython3.patch
+++ /dev/null
@@ -1,150 +0,0 @@
-https://bugs.gentoo.org/911370
-https://github.com/grpc/grpc/issues/33918#issuecomment-1703386656
-https://github.com/grpc/grpc/issues/33918#issuecomment-1788823585
-https://github.com/grpc/grpc/pull/34242
-https://src.fedoraproject.org/rpms/grpc/blob/8bf11b8c20d2c54dcf7b88777d7590237b6b0555/f/0001-Specify-noexcept-for-cdef-functions.patch
-
-From 45d31dba83999638808891ee7bf93638106bdb71 Mon Sep 17 00:00:00 2001
-From: Atri Bhattacharya <badshah400@gmail.com>
-Date: Thu, 7 Sep 2023 07:06:56 +0200
-Subject: [PATCH] Specify noexcept for cdef functions.
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-To build against cython 3.0, cdef functions that do not raise exceptions
-need to be explicitly declared as noexcept. Fixes issue #33918.
-
-Co-Authored-By: Miro HronĨok <miro@hroncok.cz>
----
- .../grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi | 2 +-
- .../grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi | 2 +-
- .../grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi | 2 +-
- .../grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi | 12 ++++++------
- .../grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi | 6 +++---
- .../grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi | 6 +++---
- 6 files changed, 15 insertions(+), 15 deletions(-)
-
-diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi
-index e54e510..26edbdb 100644
---- a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi
-+++ b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pxd.pxi
-@@ -48,7 +48,7 @@ cdef class CallbackWrapper:
- @staticmethod
- cdef void functor_run(
- grpc_completion_queue_functor* functor,
-- int succeed)
-+ int succeed) noexcept
-
- cdef grpc_completion_queue_functor *c_functor(self)
-
-diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi
-index f2d94a9..5dda90a 100644
---- a/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi
-+++ b/src/python/grpcio/grpc/_cython/_cygrpc/aio/callback_common.pyx.pxi
-@@ -50,7 +50,7 @@ cdef class CallbackWrapper:
- @staticmethod
- cdef void functor_run(
- grpc_completion_queue_functor* functor,
-- int success):
-+ int success) noexcept:
- cdef CallbackContext *context = <CallbackContext *>functor
- cdef object waiter = <object>context.waiter
- if not waiter.cancelled():
-diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi
-index 23de3a0..52071f5 100644
---- a/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi
-+++ b/src/python/grpcio/grpc/_cython/_cygrpc/credentials.pyx.pxi
-@@ -314,7 +314,7 @@ def server_credentials_ssl_dynamic_cert_config(initial_cert_config,
- return credentials
-
- cdef grpc_ssl_certificate_config_reload_status _server_cert_config_fetcher_wrapper(
-- void* user_data, grpc_ssl_server_certificate_config **config) with gil:
-+ void* user_data, grpc_ssl_server_certificate_config **config) noexcept with gil:
- # This is a credentials.ServerCertificateConfig
- cdef ServerCertificateConfig cert_config = None
- if not user_data:
-diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi
-index a925bdd..5e97a6d 100644
---- a/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi
-+++ b/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pxd.pxi
-@@ -15,15 +15,15 @@
-
- cdef extern from "pthread.h" nogil:
- int pthread_atfork(
-- void (*prepare)() nogil,
-- void (*parent)() nogil,
-- void (*child)() nogil)
-+ void (*prepare)() noexcept nogil,
-+ void (*parent)() noexcept nogil,
-+ void (*child)() noexcept nogil) noexcept
-
-
--cdef void __prefork() nogil
-+cdef void __prefork() noexcept nogil
-
-
--cdef void __postfork_parent() nogil
-+cdef void __postfork_parent() noexcept nogil
-
-
--cdef void __postfork_child() nogil
-\ No newline at end of file
-+cdef void __postfork_child() noexcept nogil
-\ No newline at end of file
-diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi
-index 53657e8..d4d1cff 100644
---- a/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi
-+++ b/src/python/grpcio/grpc/_cython/_cygrpc/fork_posix.pyx.pxi
-@@ -34,7 +34,7 @@ _GRPC_ENABLE_FORK_SUPPORT = (
-
- _fork_handler_failed = False
-
--cdef void __prefork() nogil:
-+cdef void __prefork() noexcept nogil:
- with gil:
- global _fork_handler_failed
- _fork_handler_failed = False
-@@ -48,14 +48,14 @@ cdef void __prefork() nogil:
- _fork_handler_failed = True
-
-
--cdef void __postfork_parent() nogil:
-+cdef void __postfork_parent() noexcept nogil:
- with gil:
- with _fork_state.fork_in_progress_condition:
- _fork_state.fork_in_progress = False
- _fork_state.fork_in_progress_condition.notify_all()
-
-
--cdef void __postfork_child() nogil:
-+cdef void __postfork_child() noexcept nogil:
- with gil:
- try:
- if _fork_handler_failed:
-diff --git a/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi b/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi
-index da4b81b..f594100 100644
---- a/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi
-+++ b/src/python/grpcio/grpc/_cython/_cygrpc/vtable.pyx.pxi
-@@ -13,16 +13,16 @@
- # limitations under the License.
-
- # TODO(https://github.com/grpc/grpc/issues/15662): Reform this.
--cdef void* _copy_pointer(void* pointer):
-+cdef void* _copy_pointer(void* pointer) noexcept:
- return pointer
-
-
- # TODO(https://github.com/grpc/grpc/issues/15662): Reform this.
--cdef void _destroy_pointer(void* pointer):
-+cdef void _destroy_pointer(void* pointer) noexcept:
- pass
-
-
--cdef int _compare_pointer(void* first_pointer, void* second_pointer):
-+cdef int _compare_pointer(void* first_pointer, void* second_pointer) noexcept:
- if first_pointer < second_pointer:
- return -1
- elif first_pointer > second_pointer:
---
-2.41.0
diff --git a/dev-python/grpcio/files/1.51.0-respect-cc.patch b/dev-python/grpcio/files/1.51.0-respect-cc.patch
deleted file mode 100644
index 8a2c8313aa8f..000000000000
--- a/dev-python/grpcio/files/1.51.0-respect-cc.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-From 209e9e0c21dd5bdf62d943dfd9caca40565734b5 Mon Sep 17 00:00:00 2001
-From: Georgy Yakovlev <gyakovlev@gentoo.org>
-Date: Mon, 28 Nov 2022 14:08:17 -0800
-Subject: [PATCH] respect CC variable
-
-https://github.com/grpc/grpc/pull/26480
-Signed-off-by: Georgy Yakovlev <gyakovlev@gentoo.org>
----
- src/python/grpcio/commands.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/src/python/grpcio/commands.py b/src/python/grpcio/commands.py
-index 58ab57be47..6d8228ffa0 100644
---- a/src/python/grpcio/commands.py
-+++ b/src/python/grpcio/commands.py
-@@ -228,7 +228,8 @@ class BuildExt(build_ext.build_ext):
- """
- try:
- # TODO(lidiz) Remove the generated a.out for success tests.
-- cc_test = subprocess.Popen(['cc', '-x', 'c', '-std=c++14', '-'],
-+ cc = os.environ.get('CC', 'cc')
-+ cc_test = subprocess.Popen([cc, '-x', 'c', '-std=c++14', '-'],
- stdin=subprocess.PIPE,
- stdout=subprocess.PIPE,
- stderr=subprocess.PIPE)
---
-2.38.1
-
diff --git a/dev-python/grpcio/grpcio-1.51.0-r1.ebuild b/dev-python/grpcio/grpcio-1.51.0-r1.ebuild
deleted file mode 100644
index c913ad233af6..000000000000
--- a/dev-python/grpcio/grpcio-1.51.0-r1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 multiprocessing prefix pypi
-
-DESCRIPTION="High-performance RPC framework (python libraries)"
-HOMEPAGE="https://grpc.io"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-libs/openssl-1.1.1:0=[-bindist(-)]
- >=dev-libs/re2-0.2021.11.01:=
- <dev-python/protobuf-python-5[${PYTHON_USEDEP}]
- >=dev-python/protobuf-python-4.21.3[${PYTHON_USEDEP}]
- net-dns/c-ares:=
- sys-libs/zlib:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="dev-python/cython[${PYTHON_USEDEP}]"
-
-PATCHES=(
- "${FILESDIR}/1.51.0-respect-cc.patch"
- "${FILESDIR}/1.51.0-cython3.patch"
-)
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- hprefixify setup.py
-}
-
-python_configure_all() {
- # os.environ.get('GRPC_BUILD_WITH_BORING_SSL_ASM', True)
- export GRPC_BUILD_WITH_BORING_SSL_ASM=
- export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY=1
- export GRPC_PYTHON_BUILD_SYSTEM_CARES=1
- export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
- export GRPC_PYTHON_BUILD_WITH_SYSTEM_RE2=1
- export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1
- export GRPC_PYTHON_BUILD_WITH_CYTHON=1
- export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)"
-}
diff --git a/dev-python/grpcio/grpcio-1.51.0.ebuild b/dev-python/grpcio/grpcio-1.51.0.ebuild
deleted file mode 100644
index aa28d810ed2f..000000000000
--- a/dev-python/grpcio/grpcio-1.51.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 multiprocessing prefix pypi
-
-DESCRIPTION="High-performance RPC framework (python libraries)"
-HOMEPAGE="https://grpc.io"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-
-# <cython-3: bug #911370
-RDEPEND="
- >=dev-libs/openssl-1.1.1:0=[-bindist(-)]
- >=dev-libs/re2-0.2021.11.01:=
- <dev-python/cython-3[${PYTHON_USEDEP}]
- <dev-python/protobuf-python-5[${PYTHON_USEDEP}]
- >=dev-python/protobuf-python-4.21.3[${PYTHON_USEDEP}]
- net-dns/c-ares:=
- sys-libs/zlib:=
-"
-
-DEPEND="${RDEPEND}"
-
-PATCHES=( "${FILESDIR}/1.51.0-respect-cc.patch" )
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- hprefixify setup.py
-}
-
-python_configure_all() {
- # os.environ.get('GRPC_BUILD_WITH_BORING_SSL_ASM', True)
- export GRPC_BUILD_WITH_BORING_SSL_ASM=
- export GRPC_PYTHON_DISABLE_LIBC_COMPATIBILITY=1
- export GRPC_PYTHON_BUILD_SYSTEM_CARES=1
- export GRPC_PYTHON_BUILD_SYSTEM_OPENSSL=1
- export GRPC_PYTHON_BUILD_WITH_SYSTEM_RE2=1
- export GRPC_PYTHON_BUILD_SYSTEM_ZLIB=1
- export GRPC_PYTHON_BUILD_WITH_CYTHON=1
- export GRPC_PYTHON_BUILD_EXT_COMPILER_JOBS="$(makeopts_jobs)"
-}
diff --git a/dev-python/grpcio/metadata.xml b/dev-python/grpcio/metadata.xml
deleted file mode 100644
index 767bf123003c..000000000000
--- a/dev-python/grpcio/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
- <upstream>
- <remote-id type="github">grpc/grpc</remote-id>
- <remote-id type="pypi">grpcio</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/gsd/Manifest b/dev-python/gsd/Manifest
index 16c07fc59498..3ea7ca0ce492 100644
--- a/dev-python/gsd/Manifest
+++ b/dev-python/gsd/Manifest
@@ -1,4 +1,2 @@
-DIST gsd-3.0.1.tar.gz 106692 BLAKE2B d65b4bda7ffbba315f83a4cda8188181616a1a351d6848b91984ac97b404e5f134be567c3c616c7ff31a1402f828d76658c59b6fedeb6bcd32667ce6c7135518 SHA512 011f640aaf14e685edabd4438c93c2821cd056ba98bf2b29d3f207bf0384ccb0745580c07e1dea98790667d81d69f74b7a9a6efb019def236b515f76895a84fe
-DIST gsd-3.1.0.tar.gz 106081 BLAKE2B a3c1a13c4c733aa0f46b4f0ecd92c7055036ecee0b63d755b84f6b62d04401295cb403151bb1460a95b94d7f46abf9d8bc5b33d627cc7b15444a3478eee35651 SHA512 68a096e44584683eeff0ac13037388ffe9c8c680e371a7a1bfeff84df937a3b4860cad15a42c4766c338da59e6a9393f92a83f2546f00e0c0d013648fac50273
-DIST gsd-3.1.1.tar.gz 106574 BLAKE2B f8f4e2a41fd7ba0245ab97eef04ba10828f6866178fdd1120feba0f5b3fef2743e47ea4e780111338c8527e822ce24273a68760424ae0b63d0fe487237cf2451 SHA512 3396c7e064bb496fa4a01dc5c1413f2cff5e64731e73d88f3a547121335cfda150cd6c044880376a9adfe44b9f6ae7b679d9aa7d77f43e836b68df9e76678978
-DIST gsd-3.2.0.tar.gz 107175 BLAKE2B e5bcd1ec39066b872efba605dbbe316cd957341c45c5c3fecbc6d1653f91b2cd9154ecdd8123aedf697608dfa1f311996e088724e803929399395befe062a58d SHA512 4bc4d5a4186234d339e488db7c1f4efc6e0a2afe9b1d1ca8d75f65ae25119a2782311bfbc000ab12668fe4326fa737509c16d447252693becf6218ac8d22921f
+DIST gsd-3.2.1.tar.gz 108463 BLAKE2B d944a1a7f991e0894bfa1e42aa891ed02f0bbbf91efda39ab45b87f21c17bcc16251a51a34682efb67b6b85cf7fc9d6d92108d85d9643ab8e19aed584397779f SHA512 e889b72d3857d41e68d9515d5857d99f8f6ceead4b8a43019ddf11c4600054c7af3e046792ce154031bfb439c57ecd9d0e553a574cbbf7bce2578b90da631230
+DIST gsd-3.3.0.tar.gz 108961 BLAKE2B 1f734534717af776ebb5a62ddf67eabcc5bc99a814e48ac8d962fc034f24e4eb87a3e45087f3e2f7db757bfd57e44668e41a3ca1fccf406d964024a3a2d399ae SHA512 f01017f46626d19ae5e5bf683c719d6f74b0f3a9d295cd2e54d736f8ca9c25740389b9701b636b2513039919d52e6a6193215cdf759c1f5d3e686071c3888c27
diff --git a/dev-python/gsd/gsd-3.0.1.ebuild b/dev-python/gsd/gsd-3.0.1.ebuild
deleted file mode 100644
index c9851b2e7559..000000000000
--- a/dev-python/gsd/gsd-3.0.1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="GSD - file format specification and a library to read and write it"
-HOMEPAGE="
- https://github.com/glotzerlab/gsd/
- https://pypi.org/project/gsd/
-"
-SRC_URI="
- https://github.com/glotzerlab/gsd/releases/download/v${PV}/${P}.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- >=dev-python/numpy-1.24.2[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- cd "${T}" || die
- epytest --pyargs gsd
-}
diff --git a/dev-python/gsd/gsd-3.1.0.ebuild b/dev-python/gsd/gsd-3.1.0.ebuild
deleted file mode 100644
index c9851b2e7559..000000000000
--- a/dev-python/gsd/gsd-3.1.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="GSD - file format specification and a library to read and write it"
-HOMEPAGE="
- https://github.com/glotzerlab/gsd/
- https://pypi.org/project/gsd/
-"
-SRC_URI="
- https://github.com/glotzerlab/gsd/releases/download/v${PV}/${P}.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- >=dev-python/numpy-1.24.2[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- cd "${T}" || die
- epytest --pyargs gsd
-}
diff --git a/dev-python/gsd/gsd-3.1.1.ebuild b/dev-python/gsd/gsd-3.1.1.ebuild
deleted file mode 100644
index 444a21d246d2..000000000000
--- a/dev-python/gsd/gsd-3.1.1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="GSD - file format specification and a library to read and write it"
-HOMEPAGE="
- https://github.com/glotzerlab/gsd/
- https://pypi.org/project/gsd/
-"
-SRC_URI="
- https://github.com/glotzerlab/gsd/releases/download/v${PV}/${P}.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- >=dev-python/numpy-1.24.2[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- cd "${T}" || die
- epytest --pyargs gsd
-}
diff --git a/dev-python/gsd/gsd-3.2.0.ebuild b/dev-python/gsd/gsd-3.2.0.ebuild
deleted file mode 100644
index 444a21d246d2..000000000000
--- a/dev-python/gsd/gsd-3.2.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="GSD - file format specification and a library to read and write it"
-HOMEPAGE="
- https://github.com/glotzerlab/gsd/
- https://pypi.org/project/gsd/
-"
-SRC_URI="
- https://github.com/glotzerlab/gsd/releases/download/v${PV}/${P}.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- >=dev-python/numpy-1.24.2[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- cd "${T}" || die
- epytest --pyargs gsd
-}
diff --git a/dev-python/gsd/gsd-3.2.1.ebuild b/dev-python/gsd/gsd-3.2.1.ebuild
new file mode 100644
index 000000000000..a16117a836ec
--- /dev/null
+++ b/dev-python/gsd/gsd-3.2.1.ebuild
@@ -0,0 +1,40 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="GSD - file format specification and a library to read and write it"
+HOMEPAGE="
+ https://github.com/glotzerlab/gsd/
+ https://pypi.org/project/gsd/
+"
+SRC_URI="
+ https://github.com/glotzerlab/gsd/releases/download/v${PV}/${P}.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ >=dev-python/numpy-1.24.2[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ cd "${T}" || die
+ epytest --pyargs gsd
+}
diff --git a/dev-python/gsd/gsd-3.3.0.ebuild b/dev-python/gsd/gsd-3.3.0.ebuild
new file mode 100644
index 000000000000..a16117a836ec
--- /dev/null
+++ b/dev-python/gsd/gsd-3.3.0.ebuild
@@ -0,0 +1,40 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="GSD - file format specification and a library to read and write it"
+HOMEPAGE="
+ https://github.com/glotzerlab/gsd/
+ https://pypi.org/project/gsd/
+"
+SRC_URI="
+ https://github.com/glotzerlab/gsd/releases/download/v${PV}/${P}.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ >=dev-python/numpy-1.24.2[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ cd "${T}" || die
+ epytest --pyargs gsd
+}
diff --git a/dev-python/gssapi/gssapi-1.8.3-r1.ebuild b/dev-python/gssapi/gssapi-1.8.3-r1.ebuild
index 544bf665fd25..81612f0edadd 100644
--- a/dev-python/gssapi/gssapi-1.8.3-r1.ebuild
+++ b/dev-python/gssapi/gssapi-1.8.3-r1.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
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -30,10 +30,7 @@ RDEPEND="
"
BDEPEND="
- || (
- >=dev-python/cython-3.0.2-r1[${PYTHON_USEDEP}]
- <dev-python/cython-3[${PYTHON_USEDEP}]
- )
+ >=dev-python/cython-3.0.2-r1[${PYTHON_USEDEP}]
virtual/krb5
test? (
dev-python/k5test[${PYTHON_USEDEP}]
diff --git a/dev-python/gst-python/Manifest b/dev-python/gst-python/Manifest
index acd422bc00ab..670eba39788d 100644
--- a/dev-python/gst-python/Manifest
+++ b/dev-python/gst-python/Manifest
@@ -1,3 +1 @@
-DIST gst-python-1.20.5.tar.xz 161508 BLAKE2B 6f34e913e9770d729722f2bcfd18ba4aa9355583e31a5284710ec5584a52fb4c1c4fcfb469528c6e187a8da6dbdc6b35e8a9c382791a95b3617d86d2cdc35fd5 SHA512 4ca6ad292aba24600427f059b278e4245167352a24832209201bd6e201430187ba2028795ea78fc4cbc7a6bf47f8749c8bf4ecdd790d15152d0cb0f2007afd25
-DIST gst-python-1.20.6.tar.xz 162948 BLAKE2B fb0bf4344e64b25a679b54d281f97ce2fa02195b561e2bb0ce88697efecababcbf8c0be0619202b1d0d235e4763307608f6da17ebcbdba3fd8d56df4b9c80614 SHA512 008a2cc9c10976474042bd89a9703a1f7eb66dea7d9eb68a817fa73d606f20dbb3da5fbd69d351c01f40350cac950119ebc364fb20695cc5a342254f6104c7a3
-DIST gst-python-1.22.3.tar.xz 107336 BLAKE2B f34a4227aa30979c1c4220c89a0ab45268f3343115ae7f611b26893277385fc5b95b16c01f446759a96af06ab6739b7ff5873a2bc3151231ae0e6c348bd90b73 SHA512 92b31d1d38561bc6f1f31bb5d6cbd90226a960056cbe91fe4c177b0507f9bd635fc4c558a44984d578d2e413efac74a915f4066ec0875f69894819e4ffa3b114
+DIST gst-python-1.22.11.tar.xz 118072 BLAKE2B 7133bdc6462ed54669b18f0650ec9e9d5c90d406eadedccc2f125c01b05366c8cfd89ae17178a8197fd4c251d53fd848bdb498ff377076e402983a404f16c186 SHA512 749a3080ad56edfee66c6f24ab106b07cd2a7d6e5f704147a69e12fc0a1da9d9b8d8337c36ce62af459577df3f0804c60cbeb4a211454277ad0a46fd89edcfa5
diff --git a/dev-python/gst-python/gst-python-1.20.5.ebuild b/dev-python/gst-python/gst-python-1.20.5.ebuild
deleted file mode 100644
index e1c9054fd9b1..000000000000
--- a/dev-python/gst-python/gst-python-1.20.5.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit meson python-r1 xdg-utils
-
-DESCRIPTION="A Python Interface to GStreamer"
-HOMEPAGE="https://gstreamer.freedesktop.org/"
-SRC_URI="https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz"
-
-LICENSE="LGPL-2+"
-SLOT="1.0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- >=media-libs/gstreamer-${PV}:1.0[introspection]
- >=media-libs/gst-plugins-base-${PV}:1.0[introspection]
- >=dev-python/pygobject-3.8:3[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
-"
-
-src_prepare() {
- default
-
- # Avoid building & testing plugin - it must NOT be multi-python as gst-inspect will map in all libpython.so versions and crash or behave mysteriously.
- # Python plugin support is of limited use (GIL gets in the way). If it's ever requested or needed, it should be a
- # separate python-single-r1 media-plugins/gst-plugins-python package that only builds the plugin directory.
- sed -e '/subdir.*plugin/d' -i meson.build || die
- sed -e '/test_plugin.py/d' -i testsuite/meson.build || die
-
- xdg_environment_reset
-}
-
-src_configure() {
- configuring() {
- meson_src_configure \
- -Dpython="${EPYTHON}"
- }
- python_foreach_impl configuring
-}
-
-src_compile() {
- python_foreach_impl meson_src_compile
-}
-
-src_test() {
- python_foreach_impl meson_src_test
-}
-
-src_install() {
- installing() {
- meson_src_install
- python_optimize
- }
- python_foreach_impl installing
-}
diff --git a/dev-python/gst-python/gst-python-1.20.6.ebuild b/dev-python/gst-python/gst-python-1.20.6.ebuild
deleted file mode 100644
index e1c9054fd9b1..000000000000
--- a/dev-python/gst-python/gst-python-1.20.6.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit meson python-r1 xdg-utils
-
-DESCRIPTION="A Python Interface to GStreamer"
-HOMEPAGE="https://gstreamer.freedesktop.org/"
-SRC_URI="https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz"
-
-LICENSE="LGPL-2+"
-SLOT="1.0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- >=media-libs/gstreamer-${PV}:1.0[introspection]
- >=media-libs/gst-plugins-base-${PV}:1.0[introspection]
- >=dev-python/pygobject-3.8:3[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
-"
-
-src_prepare() {
- default
-
- # Avoid building & testing plugin - it must NOT be multi-python as gst-inspect will map in all libpython.so versions and crash or behave mysteriously.
- # Python plugin support is of limited use (GIL gets in the way). If it's ever requested or needed, it should be a
- # separate python-single-r1 media-plugins/gst-plugins-python package that only builds the plugin directory.
- sed -e '/subdir.*plugin/d' -i meson.build || die
- sed -e '/test_plugin.py/d' -i testsuite/meson.build || die
-
- xdg_environment_reset
-}
-
-src_configure() {
- configuring() {
- meson_src_configure \
- -Dpython="${EPYTHON}"
- }
- python_foreach_impl configuring
-}
-
-src_compile() {
- python_foreach_impl meson_src_compile
-}
-
-src_test() {
- python_foreach_impl meson_src_test
-}
-
-src_install() {
- installing() {
- meson_src_install
- python_optimize
- }
- python_foreach_impl installing
-}
diff --git a/dev-python/gst-python/gst-python-1.22.11.ebuild b/dev-python/gst-python/gst-python-1.22.11.ebuild
new file mode 100644
index 000000000000..4e57f899b8d1
--- /dev/null
+++ b/dev-python/gst-python/gst-python-1.22.11.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit meson python-r1 xdg-utils
+
+DESCRIPTION="A Python Interface to GStreamer"
+HOMEPAGE="https://gstreamer.freedesktop.org/"
+SRC_URI="https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz"
+
+LICENSE="LGPL-2+"
+SLOT="1.0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+RDEPEND="${PYTHON_DEPS}
+ >=media-libs/gstreamer-${PV}:1.0[introspection]
+ >=media-libs/gst-plugins-base-${PV}:1.0[introspection]
+ >=dev-python/pygobject-3.8:3[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+src_prepare() {
+ default
+
+ # Avoid building & testing plugin - it must NOT be multi-python as gst-inspect will map in all libpython.so versions and crash or behave mysteriously.
+ # Python plugin support is of limited use (GIL gets in the way). If it's ever requested or needed, it should be a
+ # separate python-single-r1 media-plugins/gst-plugins-python package that only builds the plugin directory.
+ sed -e '/subdir.*plugin/d' -i meson.build || die
+ sed -e '/test_plugin.py/d' -i testsuite/meson.build || die
+
+ xdg_environment_reset
+}
+
+src_configure() {
+ configuring() {
+ meson_src_configure \
+ -Dpython="${EPYTHON}"
+ }
+ python_foreach_impl configuring
+}
+
+src_compile() {
+ python_foreach_impl meson_src_compile
+}
+
+src_test() {
+ python_foreach_impl meson_src_test
+}
+
+src_install() {
+ installing() {
+ meson_src_install
+ python_optimize
+ }
+ python_foreach_impl installing
+}
diff --git a/dev-python/gst-python/gst-python-1.22.3.ebuild b/dev-python/gst-python/gst-python-1.22.3.ebuild
deleted file mode 100644
index c9cf1c309666..000000000000
--- a/dev-python/gst-python/gst-python-1.22.3.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit meson python-r1 xdg-utils
-
-DESCRIPTION="A Python Interface to GStreamer"
-HOMEPAGE="https://gstreamer.freedesktop.org/"
-SRC_URI="https://gstreamer.freedesktop.org/src/${PN}/${P}.tar.xz"
-
-LICENSE="LGPL-2+"
-SLOT="1.0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- >=media-libs/gstreamer-${PV}:1.0[introspection]
- >=media-libs/gst-plugins-base-${PV}:1.0[introspection]
- >=dev-python/pygobject-3.8:3[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- virtual/pkgconfig
-"
-
-src_prepare() {
- default
-
- # Avoid building & testing plugin - it must NOT be multi-python as gst-inspect will map in all libpython.so versions and crash or behave mysteriously.
- # Python plugin support is of limited use (GIL gets in the way). If it's ever requested or needed, it should be a
- # separate python-single-r1 media-plugins/gst-plugins-python package that only builds the plugin directory.
- sed -e '/subdir.*plugin/d' -i meson.build || die
- sed -e '/test_plugin.py/d' -i testsuite/meson.build || die
-
- xdg_environment_reset
-}
-
-src_configure() {
- configuring() {
- meson_src_configure \
- -Dpython="${EPYTHON}"
- }
- python_foreach_impl configuring
-}
-
-src_compile() {
- python_foreach_impl meson_src_compile
-}
-
-src_test() {
- python_foreach_impl meson_src_test
-}
-
-src_install() {
- installing() {
- meson_src_install
- python_optimize
- }
- python_foreach_impl installing
-}
diff --git a/dev-python/guessit/Manifest b/dev-python/guessit/Manifest
index 01f39379ffeb..218781eb61b4 100644
--- a/dev-python/guessit/Manifest
+++ b/dev-python/guessit/Manifest
@@ -1 +1 @@
-DIST guessit-3.7.1.tar.gz 161488 BLAKE2B 66851898aad5386692bd3535e01e74918b31c59d56c2b2a4ead3d126f0ce30c4f7388bcaa0acd06652f3b72bba99aacf29bd7d9d8abbc38d38f2d259a77bbe17 SHA512 4932407ca3a283a756291a69ef4cd4dcd96ea9c37b6d30331f134b2285960afb1f6adecdb299474ef7dfdea4b6e2e029ddab0789998efe7aea13d0e5bb8c54d6
+DIST guessit-3.8.0.tar.gz 271285 BLAKE2B 67ff29739839c79b95ad6022ad0329698af62abcbbbed7e9f52ba1c2e60f5c69defda5e87d97607d3eaeeb7668a9f4b82de05140f23555c800731c2236b0f7e6 SHA512 968e8f27dd41dcaece27444cd5117990726ef73467cedbc008dcf0fe2d1f2010209253e2fa6d645e30d9eaffe613080f1c2d77bda772227c1e6e04910d58f7ad
diff --git a/dev-python/guessit/guessit-3.7.1.ebuild b/dev-python/guessit/guessit-3.7.1.ebuild
deleted file mode 100644
index 04ce7f484f3d..000000000000
--- a/dev-python/guessit/guessit-3.7.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library for guessing information from video filenames"
-HOMEPAGE="
- https://github.com/guessit-io/guessit/
- https://pypi.org/project/guessit/
-"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-
-RDEPEND="
- >=dev-python/babelfish-0.5.5[${PYTHON_USEDEP}]
- >=dev-python/rebulk-3.2.0[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # Disable benchmarks as they require unavailable pytest-benchmark.
- guessit/test/test_benchmark.py
-)
diff --git a/dev-python/guessit/guessit-3.8.0.ebuild b/dev-python/guessit/guessit-3.8.0.ebuild
new file mode 100644
index 000000000000..579485bb2ac3
--- /dev/null
+++ b/dev-python/guessit/guessit-3.8.0.ebuild
@@ -0,0 +1,38 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library for guessing information from video filenames"
+HOMEPAGE="
+ https://github.com/guessit-io/guessit/
+ https://pypi.org/project/guessit/
+"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86"
+
+RDEPEND="
+ >=dev-python/babelfish-0.5.5[${PYTHON_USEDEP}]
+ >=dev-python/rebulk-3.2.0[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Disable benchmarks as they require unavailable pytest-benchmark.
+ guessit/test/test_benchmark.py
+)
diff --git a/dev-python/guzzle_sphinx_theme/Manifest b/dev-python/guzzle_sphinx_theme/Manifest
deleted file mode 100644
index 30e62b839d8e..000000000000
--- a/dev-python/guzzle_sphinx_theme/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST guzzle_sphinx_theme-0.7.11.tar.gz 2548612 BLAKE2B 797e44806ddf3e5f8dbd131db61e3fda33c5936b69a8672b73ed518557a62fbf35f968237ba508cbf1e447aa558a6cdf06e65d86ea52bb587b7c87a446047f20 SHA512 9aecdd4cf8ae286c9dd59a453790d957e96a57a9c9acd3aa38ff8fe64969cde4619c4154cd7304dd1c5bd0ea58fe71f556701b7a9b12f58fe3f5c1bdd2681da5
diff --git a/dev-python/guzzle_sphinx_theme/guzzle_sphinx_theme-0.7.11-r2.ebuild b/dev-python/guzzle_sphinx_theme/guzzle_sphinx_theme-0.7.11-r2.ebuild
deleted file mode 100644
index 5ca2bfca23bd..000000000000
--- a/dev-python/guzzle_sphinx_theme/guzzle_sphinx_theme-0.7.11-r2.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sphinx theme used by Guzzle"
-HOMEPAGE="https://github.com/guzzle/guzzle_sphinx_theme"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]"
diff --git a/dev-python/guzzle_sphinx_theme/metadata.xml b/dev-python/guzzle_sphinx_theme/metadata.xml
deleted file mode 100644
index 872cadbf672e..000000000000
--- a/dev-python/guzzle_sphinx_theme/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">guzzle_sphinx_theme</remote-id>
- <remote-id type="github">guzzle/guzzle_sphinx_theme</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/h11/h11-0.14.0.ebuild b/dev-python/h11/h11-0.14.0.ebuild
index dfa77d65629a..0a2937ba3039 100644
--- a/dev-python/h11/h11-0.14.0.ebuild
+++ b/dev-python/h11/h11-0.14.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/h2/Manifest b/dev-python/h2/Manifest
index 59642403e537..0dec06e1374a 100644
--- a/dev-python/h2/Manifest
+++ b/dev-python/h2/Manifest
@@ -1 +1 @@
-DIST h2-4.1.0.tar.gz 2143812 BLAKE2B b9d9a771340b4bde1675b9fd65c242732a1a262456f84a409662cf2b57326e24e0583160ba0531c0b105b79342578714127dddb560d2a27de58af34d1052c698 SHA512 4e9cf88b3ae702a8a42bded775ad337809787fe8172d501c230d55abbf1edd764acf3b227f2e58756d882499661ffcf6bbdd4812a4d938c04fac3f1aa2390b28
+DIST h2-4.1.0.tar.gz 2145593 BLAKE2B d4494ee58b97c3fb28f3480df3ecee9d8a0b6eec7165c692a6d33664eaf4e7a78a3e97f6644ba75a6bc1b67dfc3b6d0e431b90c6fe70ce4d4f3e22259419ace7 SHA512 89553cf1343de14b681706ac254b7e714574c777c6c81c934a00edc4f8fdde26f78fb90b4aebd9feec7893f4d1b68cf30dc9a404dd048cedbbfab3145720edc5
diff --git a/dev-python/h2/h2-4.1.0-r1.ebuild b/dev-python/h2/h2-4.1.0-r1.ebuild
index 7dee9b75abc0..9f5652a071f7 100644
--- a/dev-python/h2/h2-4.1.0-r1.ebuild
+++ b/dev-python/h2/h2-4.1.0-r1.ebuild
@@ -1,12 +1,12 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
-inherit distutils-r1
+inherit distutils-r1 pypi
DESCRIPTION="HTTP/2 State-Machine based protocol implementation"
HOMEPAGE="
@@ -14,7 +14,6 @@ HOMEPAGE="
https://github.com/python-hyper/h2/
https://pypi.org/project/h2/
"
-SRC_URI="https://github.com/python-hyper/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
LICENSE="MIT"
SLOT="0"
@@ -37,17 +36,3 @@ PATCHES=(
)
distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
- if [[ ${EPYTHON} == python3.11 ]]; then
- EPYTEST_DESELECT+=(
- test/test_events.py::TestEventReprs::test_remotesettingschanged_repr
- test/test_events.py::TestEventReprs::test_streamreset_repr
- test/test_events.py::TestEventReprs::test_settingsacknowledged_repr
- test/test_events.py::TestEventReprs::test_connectionterminated_repr
- )
- fi
-
- epytest
-}
diff --git a/dev-python/h5py/Manifest b/dev-python/h5py/Manifest
index 5f00a98654e5..39fe84b7e467 100644
--- a/dev-python/h5py/Manifest
+++ b/dev-python/h5py/Manifest
@@ -1 +1,2 @@
-DIST h5py-3.10.0.tar.gz 403716 BLAKE2B a8e4351a15aee5fe9d23f9c5f9b6ff44e688a391ba17e27338675bde60415c73e3cd97a4a0c05490df849f649d626450d3dbecc9ae6ea3d24d784a0a4aaa1850 SHA512 840d7f2b9b9d5e22e8edae21c84884abec64acdd6c36437a4921ce9dc1b343c55f66f72b699146d71fe55688f6f948787b62335a24906288e9565b2b19b24b01
+DIST h5py-3.10.0-cython3.patch.xz 3868 BLAKE2B 3c0d952bdca5307ebf0bf878c26b94d0593bb89ac538a51017fb94e1e488bffc1583dcf4e713005b87d1b5e20d7b73043b24d65404faf60fb69515e598ca2133 SHA512 a0a0e3d1a9bccad1c89aa7efe3ba1e080eb70cae1f42f8de1021c212817970eaaa7070131e8e39859eea3c18d6c1243a17e7f53f2179f34ff6c406b315bab8fa
+DIST h5py-3.11.0.tar.gz 406519 BLAKE2B a5568c96290eee1f6da965174b6fa398f94e2e1825ec4ec50efd856b37ccf2bf634cfeb32101c7c53712fe9c68b0617774e9339a3f0d9373d3df24e6763a20cf SHA512 05d99093d5e7c280779b4167bd3594488dfc348b800da95c2275ddc8d77b4208fd1353942bf8863c4859d0208e8aa8bf84e628b3c5942eb947ecdcf0a7d19e88
diff --git a/dev-python/h5py/h5py-3.10.0.ebuild b/dev-python/h5py/h5py-3.10.0.ebuild
deleted file mode 100644
index dccd94ae2ef6..000000000000
--- a/dev-python/h5py/h5py-3.10.0.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Simple Python interface to HDF5 files"
-HOMEPAGE="
- https://www.h5py.org/
- https://github.com/h5py/h5py/
- https://pypi.org/project/h5py/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-# disable mpi until mpi4py gets python3_8
-#IUSE="examples mpi"
-IUSE="examples"
-
-#RDEPEND="sci-libs/hdf5:=[mpi=,hl(+)]
-DEPEND="
- >=sci-libs/hdf5-1.10.4:=[hl(+)]
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/numpy-1.17.3[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- <dev-python/cython-3[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.14.5[${PYTHON_USEDEP}]
- dev-python/pkgconfig[${PYTHON_USEDEP}]
- test? (
- dev-python/QtPy[testlib,${PYTHON_USEDEP}]
- )
-"
-# mpi? ( virtual/mpi )
-# mpi? ( dev-python/mpi4py[${PYTHON_USEDEP}] )
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/alabaster
-
-#pkg_setup() {
-# use mpi && export CC=mpicc
-#}
-
-python_prepare_all() {
- # avoid pytest-mpi dep, we do not use mpi anyway
- sed -i -e 's:pytest-mpi::' pytest.ini || die
- distutils-r1_python_prepare_all
-
- export H5PY_SETUP_REQUIRES=0
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- epytest -m "not mpi"
-}
-
-python_install_all() {
- use examples && dodoc -r examples
- distutils-r1_python_install_all
-}
diff --git a/dev-python/h5py/h5py-3.11.0-r1.ebuild b/dev-python/h5py/h5py-3.11.0-r1.ebuild
new file mode 100644
index 000000000000..961ca41db084
--- /dev/null
+++ b/dev-python/h5py/h5py-3.11.0-r1.ebuild
@@ -0,0 +1,62 @@
+# 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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple Python interface to HDF5 files"
+HOMEPAGE="
+ https://www.h5py.org/
+ https://github.com/h5py/h5py/
+ https://pypi.org/project/h5py/
+"
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-3.10.0-cython3.patch.xz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="examples"
+
+DEPEND="
+ >=dev-python/numpy-1.17.3:=[${PYTHON_USEDEP}]
+ >=sci-libs/hdf5-1.10.4:=[hl(+)]
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+BDEPEND="
+ >=dev-python/cython-0.29.31[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.14.5[${PYTHON_USEDEP}]
+ dev-python/pkgconfig[${PYTHON_USEDEP}]
+ test? (
+ dev-python/QtPy[testlib,${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+
+python_prepare_all() {
+ # avoid pytest-mpi dep, we do not use mpi anyway
+ sed -i -e 's:pytest-mpi::' pytest.ini || die
+ distutils-r1_python_prepare_all
+
+ export H5PY_SETUP_REQUIRES=0
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ epytest -m "not mpi"
+}
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/hatch-fancy-pypi-readme/Manifest b/dev-python/hatch-fancy-pypi-readme/Manifest
index ac554e420572..e819ffc11b6c 100644
--- a/dev-python/hatch-fancy-pypi-readme/Manifest
+++ b/dev-python/hatch-fancy-pypi-readme/Manifest
@@ -1 +1 @@
-DIST hatch-fancy-pypi-readme-23.1.0.gh.tar.gz 27878 BLAKE2B 934e7e1b8000feb554014dd3594724943173f1b5d78d1072e5612dde744d3cea925e49e46e0eddff7408211439c9f9efc24c488e6ce73fe9955bb5bf5d851b6d SHA512 a26b8205877815292c7c65380f3fff43a3222ec5044556a29fb0b570f0822b548f8f4403cb6a800044671692806b257ecee5f9ec0f3efb597e9a5780a8885424
+DIST hatch-fancy-pypi-readme-24.1.0.gh.tar.gz 28370 BLAKE2B 5f0783e63d23f102dd43ddb8b0906ca5d971e2ab0db4055eef62fcf84476790910db006359c20277be902985b7d4ab8e90e1389456d514930cef67ccfee70cec SHA512 fc659ae9a3646e4d013827d82cc75545d2b6b7ea0fa72491b51acf63f264fd764ec0bf99e894244be6fe402eaf0fc458bc95f565822387dda528dbd0347e1202
diff --git a/dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-23.1.0.ebuild b/dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-23.1.0.ebuild
deleted file mode 100644
index 0b9007fcc258..000000000000
--- a/dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-23.1.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2022-2023 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
-
-DESCRIPTION="Fancy PyPI READMEs with Hatch"
-HOMEPAGE="
- https://pypi.org/project/hatch-fancy-pypi-readme/
- https://github.com/hynek/hatch-fancy-pypi-readme/
-"
-SRC_URI="
- https://github.com/hynek/hatch-fancy-pypi-readme/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- dev-python/hatchling[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{9..10})
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fails without Internet (via pip)
- tests/test_end_to_end.py
-)
diff --git a/dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-24.1.0.ebuild b/dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-24.1.0.ebuild
new file mode 100644
index 000000000000..17cf5b1dad8a
--- /dev/null
+++ b/dev-python/hatch-fancy-pypi-readme/hatch-fancy-pypi-readme-24.1.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Fancy PyPI READMEs with Hatch"
+HOMEPAGE="
+ https://pypi.org/project/hatch-fancy-pypi-readme/
+ https://github.com/hynek/hatch-fancy-pypi-readme/
+"
+SRC_URI="
+ https://github.com/hynek/hatch-fancy-pypi-readme/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-python/hatchling[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # fails without Internet (via pip)
+ tests/test_end_to_end.py
+)
diff --git a/dev-python/hatch-jupyter-builder/Manifest b/dev-python/hatch-jupyter-builder/Manifest
index 7fd144669a59..2f96d02f6119 100644
--- a/dev-python/hatch-jupyter-builder/Manifest
+++ b/dev-python/hatch-jupyter-builder/Manifest
@@ -1 +1 @@
-DIST hatch_jupyter_builder-0.8.3.tar.gz 54754 BLAKE2B d64a90ba0e06dbbcfa3f2d27d88185f68bc6cadd885fd3691e01d129cb1d73d62efd2d230fe80dd2d8d1323b5efa4d3208f099663b2ed082a196a1b8fc39412e SHA512 c4dc0605338bafeeba21cc7260005815654d3e4646296d91af6fb3199be8645a06b2226608e6b0558ee01c7eed682162eefcf686a7e20636031b95c3a11ae265
+DIST hatch_jupyter_builder-0.9.1.tar.gz 55953 BLAKE2B 3239511a86465cb7a199b4e3cd3fa85d9d5501f564f666f296b6358eb766af13635abb47a2354e31788e6c78c5a74174f9844432264da1a9c2f544ac2d7a9ff0 SHA512 705b4e9c1d73f81f7a6962070d9893c32ce61ee49d658ac053f508125b21e425a21732cd9ea8d1e9e1f8c62c2a14c0e7507418c8f2a4f77a5951ee03bbed171d
diff --git a/dev-python/hatch-jupyter-builder/hatch-jupyter-builder-0.8.3.ebuild b/dev-python/hatch-jupyter-builder/hatch-jupyter-builder-0.8.3.ebuild
deleted file mode 100644
index 999232ac52f2..000000000000
--- a/dev-python/hatch-jupyter-builder/hatch-jupyter-builder-0.8.3.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2023 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="A hatch plugin to help build Jupyter packages"
-HOMEPAGE="
- https://pypi.org/project/hatch-jupyter-builder/
- https://github.com/jupyterlab/hatch-jupyter-builder
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- dev-python/hatchling[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/twine[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # Calls pip, requires internet
- tests/test_plugin.py::test_hatch_build
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/hatch-jupyter-builder/hatch-jupyter-builder-0.9.1.ebuild b/dev-python/hatch-jupyter-builder/hatch-jupyter-builder-0.9.1.ebuild
new file mode 100644
index 000000000000..3c4c91850520
--- /dev/null
+++ b/dev-python/hatch-jupyter-builder/hatch-jupyter-builder-0.9.1.ebuild
@@ -0,0 +1,40 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A hatch plugin to help build Jupyter packages"
+HOMEPAGE="
+ https://pypi.org/project/hatch-jupyter-builder/
+ https://github.com/jupyterlab/hatch-jupyter-builder
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/hatchling-1.17[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ dev-python/twine[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # Calls pip, requires internet
+ tests/test_plugin.py::test_hatch_build
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/hatch-nodejs-version/Manifest b/dev-python/hatch-nodejs-version/Manifest
new file mode 100644
index 000000000000..988f3f42b9b9
--- /dev/null
+++ b/dev-python/hatch-nodejs-version/Manifest
@@ -0,0 +1 @@
+DIST hatch_nodejs_version-0.3.2.tar.gz 16942 BLAKE2B dd68166a4aa7112dee4b566a748a40f951b73a4c7a8f6435ff0dd6706fed7d520d17d9e55604f9c901688a751d62f1160de3618026bdb829e5989fad87efa268 SHA512 e781669c84c3e61333cbd47f078ff6f16dae5b3c6e7d2ea76ae20ee78012ea9686a2be684127db821a6128408030bc09a0210386424f155af5a044f0178d44d4
diff --git a/dev-python/hatch-nodejs-version/hatch-nodejs-version-0.3.2.ebuild b/dev-python/hatch-nodejs-version/hatch-nodejs-version-0.3.2.ebuild
new file mode 100644
index 000000000000..d7dba8a58910
--- /dev/null
+++ b/dev-python/hatch-nodejs-version/hatch-nodejs-version-0.3.2.ebuild
@@ -0,0 +1,25 @@
+# Copyright 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Hatch plugin for versioning from a package.json file"
+HOMEPAGE="
+ https://github.com/agoose77/hatch-nodejs-version/
+ https://pypi.org/project/hatch-nodejs-version/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/hatchling-0.21.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/hatch-nodejs-version/metadata.xml b/dev-python/hatch-nodejs-version/metadata.xml
new file mode 100644
index 000000000000..400fe916bf3d
--- /dev/null
+++ b/dev-python/hatch-nodejs-version/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">agoose77/hatch-nodejs-version</remote-id>
+ <remote-id type="pypi">hatch-nodejs-version</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/hatch-vcs/Manifest b/dev-python/hatch-vcs/Manifest
index db6cd674215e..217ef9dd6465 100644
--- a/dev-python/hatch-vcs/Manifest
+++ b/dev-python/hatch-vcs/Manifest
@@ -1,2 +1 @@
-DIST hatch-vcs-0.3.0.gh.tar.gz 10049 BLAKE2B 69f49e205b4e42b46a246cc2403d8e7bbd2b8f83a360f1100ba98ecf7308d445e265749bd1f5fa7cca84104436e2643fd3f95292f2dba3dc48584a0df5136136 SHA512 ce22937aae8130a485ab154378f6c58c1720d66d277349a95ccfb58fd748deb69cd17d34ec3a12f3201f9e348e5d5b1c6b977432e614bb42d0e3065ec5f7f9c6
DIST hatch-vcs-0.4.0.gh.tar.gz 10822 BLAKE2B 92b1ad1181a6bae815a6d01045836976b8767086f2a7001de9ad97f0d61737895da9a411419e28c5b2d830fca606d7d9c21265210965bc7691670f92aeab1b22 SHA512 bf40cc371c8d8e120fce83e5986fc2bdc2087fa5a4ac4a407d32617e98205ded79dcb29a00c7638ba68dd5ce09f31e84b34176627a6a34dfb7708031f4c4519a
diff --git a/dev-python/hatch-vcs/files/hatch-vcs-0.3.0-Work-with-setuptools_scm-7.1-fix-25-26.patch b/dev-python/hatch-vcs/files/hatch-vcs-0.3.0-Work-with-setuptools_scm-7.1-fix-25-26.patch
deleted file mode 100644
index 919036acd720..000000000000
--- a/dev-python/hatch-vcs/files/hatch-vcs-0.3.0-Work-with-setuptools_scm-7.1-fix-25-26.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 47364faf5563df0eaa631ed10383817762c6b547 Mon Sep 17 00:00:00 2001
-From: Ben Beasley <code@musicinmybrain.net>
-Date: Thu, 5 Jan 2023 18:49:54 -0500
-Subject: [PATCH] Work with setuptools_scm 7.1 (fix #25) (#26)
-
-Make test_write less brittle (see also #8, #9) so that it works with
-_version.py files generated by at least setuptools_scm 7.1, 7.0, and
-6.x.
----
- tests/test_build.py | 6 ++++--
- 1 file changed, 4 insertions(+), 2 deletions(-)
-
-diff --git a/tests/test_build.py b/tests/test_build.py
-index 2fde601..7c76343 100644
---- a/tests/test_build.py
-+++ b/tests/test_build.py
-@@ -75,8 +75,10 @@ def test_write(new_project_write):
- assert os.path.isfile(version_file)
-
- lines = read_file(version_file).splitlines()
-- assert lines[3].startswith(('version =', '__version__ ='))
-- assert lines[3].endswith("version = '1.2.3'")
-+ version_starts = ('version = ', '__version__ = ')
-+ assert any(line.startswith(version_starts) for line in lines)
-+ version_line = next(line for line in lines if line.startswith(version_starts))
-+ assert version_line.endswith(" = '1.2.3'")
-
-
- @pytest.mark.skipif(sys.version_info[0] == 2, reason='Depends on fix in 6.4.0 which is Python 3-only')
---
-2.39.1
-
diff --git a/dev-python/hatch-vcs/hatch-vcs-0.3.0.ebuild b/dev-python/hatch-vcs/hatch-vcs-0.3.0.ebuild
deleted file mode 100644
index b79b4f409c3b..000000000000
--- a/dev-python/hatch-vcs/hatch-vcs-0.3.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2022-2023 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
-
-DESCRIPTION="Hatch plugin for versioning with your preferred VCS"
-HOMEPAGE="
- https://pypi.org/project/hatch-vcs/
- https://github.com/ofek/hatch-vcs/
-"
-SRC_URI="
- https://github.com/ofek/hatch-vcs/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/setuptools-scm-6.4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-vcs/git
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-Work-with-setuptools_scm-7.1-fix-25-26.patch
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/hatch-vcs/hatch-vcs-0.4.0.ebuild b/dev-python/hatch-vcs/hatch-vcs-0.4.0.ebuild
index 4e6ad04a3a5d..60287b2f1dfa 100644
--- a/dev-python/hatch-vcs/hatch-vcs-0.4.0.ebuild
+++ b/dev-python/hatch-vcs/hatch-vcs-0.4.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
RDEPEND="
>=dev-python/setuptools-scm-6.4.0[${PYTHON_USEDEP}]
diff --git a/dev-python/hatchling/Manifest b/dev-python/hatchling/Manifest
index 3185ce5e3d2d..2971801b6913 100644
--- a/dev-python/hatchling/Manifest
+++ b/dev-python/hatchling/Manifest
@@ -1 +1 @@
-DIST hatch-hatchling-v1.18.0.gh.tar.gz 386992 BLAKE2B 9597d139ca0d59b82862a4b89208bf61ceb0859ed37e2f62c14f7f26550638716cd375082cae6ce0e233f92297b97015af5587144c2d801ecacdb15a07f32cf2 SHA512 e71e51fdace9b9aa276c2efba3a81a030ed934c21283057f83a6ce4a09f8feed8cd4386088280c9fe1381dd92e574daeda8c845a6a2cf6a015708126ca9788d7
+DIST hatch-hatchling-v1.25.0.gh.tar.gz 5276942 BLAKE2B 76de1a824086889370a996945ad031179132dc74f4ef8a79da29913fc587c85210db49e89f400f4db2533d6706452cd4c67b87ff4ca97be0c3dc1879cf2bd77e SHA512 54f4e5f9383e846a9192e47b61f5147d4c48f20c41df752898dc5e22dd0bf196ea60fe4866dd04dc09c763aac67f7c047c40d978398e910878eb772af887d607
diff --git a/dev-python/hatchling/hatchling-1.18.0.ebuild b/dev-python/hatchling/hatchling-1.18.0.ebuild
deleted file mode 100644
index c7e71af3f571..000000000000
--- a/dev-python/hatchling/hatchling-1.18.0.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( pypy3 python3_{10..12} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-
-inherit distutils-r1
-
-TAG=${P/-/-v}
-MY_P=hatch-${TAG}
-DESCRIPTION="Modern, extensible Python build backend"
-HOMEPAGE="
- https://pypi.org/project/hatchling/
- https://github.com/pypa/hatch/
-"
-SRC_URI="
- https://github.com/pypa/hatch/archive/${TAG}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}/backend
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-# deps are listed in backend/src/hatchling/ouroboros.py
-RDEPEND="
- >=dev-python/editables-0.3[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}]
- >=dev-python/pluggy-1.0.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
- dev-python/trove-classifiers[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/atomicwrites[${PYTHON_USEDEP}]
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/httpx[${PYTHON_USEDEP}]
- dev-python/platformdirs[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- dev-python/tomli-w[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return
- fi
-
- local -x EPYTEST_DESELECT=(
- # these run pip to install stuff
- tests/backend/dep/test_core.py::test_dependency_found
- tests/backend/dep/test_core.py::test_extra_met
- tests/backend/dep/test_core.py::test_extra_no_dependencies
- tests/backend/dep/test_core.py::test_extra_unmet
- tests/backend/dep/test_core.py::test_unknown_extra
- tests/backend/dep/test_core.py::test_version_unmet
- # broken if CARGO is set
- tests/backend/builders/test_app.py::TestBuildBootstrap::test_no_cargo
- )
-
- # top-level "tests" directory contains tests both for hatch
- # and hatchling
- cd "${WORKDIR}/${MY_P}" || die
- local -x PYTHONPATH="src:${PYTHONPATH}"
- # sigh; standalone test suites are overrated, right?
- echo "__version__ = '${PV}'" > src/hatch/_version.py || die
- # tests mock cargo subprocess call but the backend raises if CARGO
- # is not set and shutil.which() can't find it
- local -x CARGO=cargo
- epytest tests/backend
-}
diff --git a/dev-python/hatchling/hatchling-1.25.0.ebuild b/dev-python/hatchling/hatchling-1.25.0.ebuild
new file mode 100644
index 000000000000..4d265ef65886
--- /dev/null
+++ b/dev-python/hatchling/hatchling-1.25.0.ebuild
@@ -0,0 +1,105 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1
+
+TAG=${P/-/-v}
+MY_P=hatch-${TAG}
+DESCRIPTION="Modern, extensible Python build backend"
+HOMEPAGE="
+ https://pypi.org/project/hatchling/
+ https://github.com/pypa/hatch/
+"
+SRC_URI="
+ https://github.com/pypa/hatch/archive/${TAG}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}/backend
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# deps are listed in backend/src/hatchling/ouroboros.py
+# editables are optional but required for editable installs
+RDEPEND="
+ >=dev-python/editables-0.3[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.2[${PYTHON_USEDEP}]
+ >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1.0.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# always depend on the newest version available, at least until upstream
+# stops treating unknown classifiers as a fatal error
+# https://github.com/pypa/hatch/issues/1368
+RDEPEND+="
+ >=dev-python/trove-classifiers-2024.3.25[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/atomicwrites[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ # top-level "tests" directory contains tests both for hatch
+ # and hatchling
+ cd "${WORKDIR}/${MY_P}" || die
+
+ # sigh; standalone test suites are overrated, right?
+ echo "__version__ = '${PV}'" > src/hatch/_version.py || die
+ local -x PYTHONPATH="src:${PYTHONPATH}"
+
+ # do not require uv for portability, sigh
+ mkdir "${T}/bin" || die
+ cat > "${T}/bin/uv" <<-EOF || die
+ #!/bin/sh
+ exit 127
+ EOF
+ chmod +x "${T}/bin/uv" || die
+ local -x PATH=${T}/bin:${PATH}
+
+ # tests mock cargo subprocess call but the backend raises if CARGO
+ # is not set and shutil.which() can't find it
+ local -x CARGO=cargo
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x EPYTEST_DESELECT=(
+ # most of these run uv to install stuff
+ # the few remaining tests aren't worth running
+ tests/backend/dep/test_core.py
+ # broken if CARGO is set
+ tests/backend/builders/test_binary.py::TestBuildBootstrap::test_no_cargo
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock tests/backend
+}
diff --git a/dev-python/hcloud/Manifest b/dev-python/hcloud/Manifest
index 900357ff51db..ebd343b6e9ee 100644
--- a/dev-python/hcloud/Manifest
+++ b/dev-python/hcloud/Manifest
@@ -1 +1,2 @@
-DIST hcloud-python-1.32.0.gh.tar.gz 109858 BLAKE2B 7e242a92c81278facd7f9d2042d2d36787153215a72e97da7616f7d6b6ca6c06fadfd6b33bdab3699a8d8ac6ec1d7327b78a224a3f674a13a7d06791e91d4658 SHA512 013cd3a7e54b12348e4ec87e489b461c41822a85cd9fafc4421a8bb404ecf1fa079d99217db5f770e893ab9bb7223b588e4429968b8339b4d23654610dfa80c3
+DIST hcloud-python-2.0.1.gh.tar.gz 117015 BLAKE2B e795ea4a114c8e2c71554f84646b574e94030c6e724456786a437cc58d3dd96118c274111bc3787d8e7074b81f0c2493b3c6c5b824f6a8acb6d3a70b4dd75d29 SHA512 2507687324579240d2ff89287a6bd8e90dd33bb1290514c925e7e786330032187fdf133af196a6c0529ecb7018003356e299fc00cbf5bf2819d1f8e229702a04
+DIST hcloud-python-2.1.0.gh.tar.gz 118173 BLAKE2B f350db9a552507e4770df180f7df82cbd3943aea64d827d7c9b05eae63dee5a92e410ad2d68766920f5b65b85788b4762313190b53ebbdba07bd64c7d62a8565 SHA512 80d2aec96c1b4303ba4827e938f33191fb3c150c15e7809e4f5b99b3c0b2af40ce04c1737207568acf9b20b38f0bd47dd223fe18eb093129ccdfe84992969caf
diff --git a/dev-python/hcloud/hcloud-1.32.0.ebuild b/dev-python/hcloud/hcloud-1.32.0.ebuild
deleted file mode 100644
index 618acc93c166..000000000000
--- a/dev-python/hcloud/hcloud-1.32.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=hcloud-python-${PV}
-DESCRIPTION="Official Hetzner Cloud python library"
-HOMEPAGE="
- https://github.com/hetznercloud/hcloud-python/
- https://pypi.org/project/hcloud/
-"
-# sdist is missing doc assets as of 1.19.0
-# https://github.com/hetznercloud/hcloud-python/pull/183
-SRC_URI="
- https://github.com/hetznercloud/hcloud-python/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="examples"
-
-RDEPEND="
- >=dev-python/python-dateutil-2.7.5[${PYTHON_USEDEP}]
- >=dev-python/requests-2.20[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs \
- dev-python/myst-parser \
- dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # Integration tests need docker:
- # https://github.com/hetznercloud/hcloud-python/blob/master/.travis.yml#L16
- tests/integration
-)
-
-python_install_all() {
- use examples && dodoc -r examples
- distutils-r1_python_install_all
-}
diff --git a/dev-python/hcloud/hcloud-2.0.1.ebuild b/dev-python/hcloud/hcloud-2.0.1.ebuild
new file mode 100644
index 000000000000..dbe97c818fe5
--- /dev/null
+++ b/dev-python/hcloud/hcloud-2.0.1.ebuild
@@ -0,0 +1,49 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=hcloud-python-${PV}
+DESCRIPTION="Official Hetzner Cloud python library"
+HOMEPAGE="
+ https://github.com/hetznercloud/hcloud-python/
+ https://pypi.org/project/hcloud/
+"
+# sdist is missing doc assets as of 1.19.0
+# https://github.com/hetznercloud/hcloud-python/pull/183
+SRC_URI="
+ https://github.com/hetznercloud/hcloud-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="examples"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.7.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/myst-parser \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Integration tests need docker:
+ # https://github.com/hetznercloud/hcloud-python/blob/master/.travis.yml#L16
+ tests/integration
+)
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/hcloud/hcloud-2.1.0.ebuild b/dev-python/hcloud/hcloud-2.1.0.ebuild
new file mode 100644
index 000000000000..64eceb0a363c
--- /dev/null
+++ b/dev-python/hcloud/hcloud-2.1.0.ebuild
@@ -0,0 +1,49 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=hcloud-python-${PV}
+DESCRIPTION="Official Hetzner Cloud python library"
+HOMEPAGE="
+ https://github.com/hetznercloud/hcloud-python/
+ https://pypi.org/project/hcloud/
+"
+# sdist is missing doc assets as of 1.19.0
+# https://github.com/hetznercloud/hcloud-python/pull/183
+SRC_URI="
+ https://github.com/hetznercloud/hcloud-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.7.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/myst-parser \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # Integration tests need docker:
+ # https://github.com/hetznercloud/hcloud-python/blob/master/.travis.yml#L16
+ tests/integration
+)
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/helpdev/helpdev-0.7.1-r1.ebuild b/dev-python/helpdev/helpdev-0.7.1-r1.ebuild
index 6f63a43472b1..8987982d322b 100644
--- a/dev-python/helpdev/helpdev-0.7.1-r1.ebuild
+++ b/dev-python/helpdev/helpdev-0.7.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/hidapi/Manifest b/dev-python/hidapi/Manifest
index a8ac2690b7c7..b4e2a1bfbf3d 100644
--- a/dev-python/hidapi/Manifest
+++ b/dev-python/hidapi/Manifest
@@ -1,2 +1,2 @@
-DIST hidapi-0.13.1.tar.gz 130169 BLAKE2B 127e622e4b85880f1c20ccb819b806c66357d8cfa6c15d370c13a6a0a3838ac6acf0673c7edbf5309a91f55051b6177800328b8f897ff43cd1e0af1b511c52a6 SHA512 8e6a7a6bf47e24f6f637cc036dc306518d893fc9fdf94639f626725e8f8767d7e85496d8db5f9f394d648ef5af4dd5ead0f0a6d452a019b5d9fa0716371febed
+DIST hidapi-0.14.0.post2.tar.gz 172542 BLAKE2B 7f9028b913a3fcbe893ecbe73210ef465ce08cd12f807c234964550756a56aacc9a2a32c237e86d3028d5116dccabf67ee85cfaa4d806ef63357d57a8e65cddf SHA512 ae1bc66a42b6dbeae0913a62909d24ef11801f6709cef6a33fb9f888a985782b64452dea2f79caee5aa7c6a49cab7af9ff5717cee4fe52fe6137096332180bd4
DIST hidapi-0.14.0.tar.gz 143052 BLAKE2B ebf3fb9608b1f18d9fa24aaa4bca7b2e5cbbbbcbdb6a33da41456f614d0cace556231bb8eb17c21e2a79a5292970cb37f7a46fb6cd1e82efb0a646cf8a942d2a SHA512 228fac22621e36a3108cefd418937a7ed0153e334e19999e947aad341a753d614877cd3f7add90d78037ebe9c7b3f6cbc42973a8e680188da14928311d317b17
diff --git a/dev-python/hidapi/hidapi-0.13.1.ebuild b/dev-python/hidapi/hidapi-0.13.1.ebuild
deleted file mode 100644
index c1a9212c3318..000000000000
--- a/dev-python/hidapi/hidapi-0.13.1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 pypi
-
-DESCRIPTION="A Cython interface to HIDAPI library"
-HOMEPAGE="https://github.com/trezor/cython-hidapi"
-
-LICENSE="|| ( BSD GPL-3 )"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-
-DEPEND=">=dev-libs/hidapi-$(ver_cut 1-3)"
-RDEPEND="${DEPEND}"
-# <cython-3 for bug #898678
-BDEPEND="<dev-python/cython-3[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
-
-python_configure_all() {
- DISTUTILS_ARGS=( --with-system-hidapi )
-}
-
-python_test() {
- epytest tests.py
-}
diff --git a/dev-python/hidapi/hidapi-0.14.0.ebuild b/dev-python/hidapi/hidapi-0.14.0.ebuild
index 890f3675ed06..c3ee2cf692d0 100644
--- a/dev-python/hidapi/hidapi-0.14.0.ebuild
+++ b/dev-python/hidapi/hidapi-0.14.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
diff --git a/dev-python/hidapi/hidapi-0.14.0_p2.ebuild b/dev-python/hidapi/hidapi-0.14.0_p2.ebuild
new file mode 100644
index 000000000000..5b71e5edf404
--- /dev/null
+++ b/dev-python/hidapi/hidapi-0.14.0_p2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Cython interface to HIDAPI library"
+HOMEPAGE="
+ https://github.com/trezor/cython-hidapi/
+ https://pypi.org/project/hidapi/
+"
+
+LICENSE="|| ( BSD GPL-3 )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+DEPEND="
+ >=dev-libs/hidapi-$(ver_cut 1-3)
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+"
+
+distutils_enable_tests pytest
+
+python_configure_all() {
+ DISTUTILS_ARGS=(
+ --with-system-hidapi
+ )
+}
+
+python_test() {
+ epytest tests.py
+}
diff --git a/dev-python/hiredis/Manifest b/dev-python/hiredis/Manifest
index 247154493dad..9c650e9c85cb 100644
--- a/dev-python/hiredis/Manifest
+++ b/dev-python/hiredis/Manifest
@@ -1 +1,3 @@
-DIST hiredis-py-2.3.0.gh.tar.gz 18179 BLAKE2B d87460d3ea75f81f9017a837f44281e7733104e5772ed53dc9471eb18a38b0a9e1298ddb3c78b8d3c5ab7a8e1f71e966bbaa10e06969321e7940b8965ac56b2f SHA512 4e72f71719e9616913e5ed6dc9d2e01ad91d44715231c1eda1a1c6570d75c00be634093712444fc9a86bc6843278ab34c33c7362ffd5b8171f4ff775aaf0c4bd
+DIST hiredis-py-2.3.2.gh.tar.gz 19076 BLAKE2B 4a3e747765f559407b3ad84524bc1040e3a530723b5756320743fc20400bc70e867d48e71696d732a5fa5eb231199cbefb6f487d0b5ece6fc8f6c41f10f3c0d8 SHA512 1a22ab324f9675973c3dc37c55d6dd9cf43fbc161003003a73b2e1dfbb3fed7dcb1433f4fc51045a88cb2735f7c8495b93a819a0a9f6300e05b0cc85160eaace
+DIST hiredis-py-2.4.0.gh.tar.gz 19076 BLAKE2B a5b047db044801e5dabdd5bcaefb5a89cce472f45baa6a3d590b09014446695ed84baaa46bc4d8a809cc6ffa2a2e219e03b62268ee9f818ef5e9c770cd064591 SHA512 638184fff812cf2c0d0e731be98e22c37c2c07db539ce2ad1e5d45e8f399864bc49e5e26cd0b1fcdf7db9fc776a664f8541229ef00da0b597c4be4f3ab7461cf
+DIST hiredis-py-3.0.0.gh.tar.gz 19055 BLAKE2B 2ad3c185b6a70ebb509e0d34b1a1122784c74ecc843c966620a20d122e05dcb11129dbb7f76a7956081d147881edc2c66264fda1109e6990ef2171f15b339da7 SHA512 64abc15f73eaf65e16b1c3f98c21cf31823ffeb7131b89eeefee9856654c016867903d9a5d8c7ab0bdb24922076a67cb553c4298abcccd69ad0d5ba2d18c8a67
diff --git a/dev-python/hiredis/files/hiredis-2.4.0-system-libs.patch b/dev-python/hiredis/files/hiredis-2.4.0-system-libs.patch
new file mode 100644
index 000000000000..92a14f91d200
--- /dev/null
+++ b/dev-python/hiredis/files/hiredis-2.4.0-system-libs.patch
@@ -0,0 +1,33 @@
+--- hiredis-2.2.2.orig/setup.py
++++ hiredis-2.2.2/setup.py
+@@ -18,8 +18,7 @@
+
+
+ def get_sources():
+- hiredis_sources = ("alloc", "async", "hiredis", "net", "read", "sds", "sockcompat")
+- return sorted(glob.glob("src/*.c") + ["vendor/hiredis/%s.c" % src for src in hiredis_sources])
++ return sorted(glob.glob("src/*.c"))
+
+
+ def get_linker_args():
+@@ -38,17 +37,16 @@
+
+ def get_libraries():
+ if 'win32' in sys.platform:
+- return ["ws2_32", ]
++ return ["ws2_32", "hiredis"]
+ else:
+- return []
++ return ["hiredis"]
+
+
+ ext = Extension("hiredis.hiredis",
+ sources=get_sources(),
+ extra_compile_args=get_compiler_args(),
+ extra_link_args=get_linker_args(),
+- libraries=get_libraries(),
+- include_dirs=["vendor"])
++ libraries=get_libraries())
+
+ setup(
+ name="hiredis",
diff --git a/dev-python/hiredis/hiredis-2.3.0.ebuild b/dev-python/hiredis/hiredis-2.3.0.ebuild
deleted file mode 100644
index 6a9f11837121..000000000000
--- a/dev-python/hiredis/hiredis-2.3.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517="setuptools"
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-MY_P=hiredis-py-${PV}
-DESCRIPTION="Python extension that wraps hiredis"
-HOMEPAGE="
- https://github.com/redis/hiredis-py/
- https://pypi.org/project/hiredis/
-"
-SRC_URI="
- https://github.com/redis/hiredis-py/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
-
-DEPEND="
- >=dev-libs/hiredis-1.0.0:=
-"
-RDEPEND="
- ${DEPEND}
-"
-
-PATCHES=(
- "${FILESDIR}"/hiredis-2.2.2-system-libs.patch
-)
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- rm -rf hiredis || die
- epytest
-}
diff --git a/dev-python/hiredis/hiredis-2.3.2.ebuild b/dev-python/hiredis/hiredis-2.3.2.ebuild
new file mode 100644
index 000000000000..661374875657
--- /dev/null
+++ b/dev-python/hiredis/hiredis-2.3.2.ebuild
@@ -0,0 +1,45 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+MY_P=hiredis-py-${PV}
+DESCRIPTION="Python extension that wraps hiredis"
+HOMEPAGE="
+ https://github.com/redis/hiredis-py/
+ https://pypi.org/project/hiredis/
+"
+SRC_URI="
+ https://github.com/redis/hiredis-py/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
+
+DEPEND="
+ >=dev-libs/hiredis-1.0.0:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}"/hiredis-2.2.2-system-libs.patch
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf hiredis || die
+ epytest
+}
diff --git a/dev-python/hiredis/hiredis-2.4.0.ebuild b/dev-python/hiredis/hiredis-2.4.0.ebuild
new file mode 100644
index 000000000000..a7183e750350
--- /dev/null
+++ b/dev-python/hiredis/hiredis-2.4.0.ebuild
@@ -0,0 +1,45 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517="setuptools"
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+MY_P=hiredis-py-${PV}
+DESCRIPTION="Python extension that wraps hiredis"
+HOMEPAGE="
+ https://github.com/redis/hiredis-py/
+ https://pypi.org/project/hiredis/
+"
+SRC_URI="
+ https://github.com/redis/hiredis-py/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+DEPEND="
+ >=dev-libs/hiredis-1.0.0:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}"/hiredis-2.4.0-system-libs.patch
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf hiredis || die
+ epytest
+}
diff --git a/dev-python/hiredis/hiredis-3.0.0.ebuild b/dev-python/hiredis/hiredis-3.0.0.ebuild
new file mode 100644
index 000000000000..a7183e750350
--- /dev/null
+++ b/dev-python/hiredis/hiredis-3.0.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_EXT=1
+DISTUTILS_USE_PEP517="setuptools"
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+MY_P=hiredis-py-${PV}
+DESCRIPTION="Python extension that wraps hiredis"
+HOMEPAGE="
+ https://github.com/redis/hiredis-py/
+ https://pypi.org/project/hiredis/
+"
+SRC_URI="
+ https://github.com/redis/hiredis-py/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+DEPEND="
+ >=dev-libs/hiredis-1.0.0:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}"/hiredis-2.4.0-system-libs.patch
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf hiredis || die
+ epytest
+}
diff --git a/dev-python/hishel/Manifest b/dev-python/hishel/Manifest
new file mode 100644
index 000000000000..c3adb1866199
--- /dev/null
+++ b/dev-python/hishel/Manifest
@@ -0,0 +1,2 @@
+DIST hishel-0.0.29.gh.tar.gz 828680 BLAKE2B 2869f53e04e92d5c6ccaeb3234a299a075db8429b3b8f77ac9671764b65a4a7d360451e934651789caf2e654b3e5b18819b741b52abe89867157599b921d5a40 SHA512 a16b2c198ea93c2445e0f572e5432c1f44b12ed0e301e52ed46c2c849a5a324457f88ca50c5e98283ceb9aaddf1e1ea4a11644cf61dd0ca4a25f956950c6da23
+DIST hishel-0.0.30.gh.tar.gz 832978 BLAKE2B 932150b3464dcbc4fc2ff1361bafa6b2ea3fef496b0c89117c18b62122d07b0d71db66762e3eb87edb03f84eb4af0273f1792131e110291924bb29299051741a SHA512 f55f04badfe9ea161e20d8eca631cc02f9b1195ddaf3ba75b5e1a0ef143337a13438181ede9c853f30f7a24d3b6e59cffdc044860fc564d18392a59bd603c5c9
diff --git a/dev-python/hishel/hishel-0.0.29.ebuild b/dev-python/hishel/hishel-0.0.29.ebuild
new file mode 100644
index 000000000000..046e93ae7033
--- /dev/null
+++ b/dev-python/hishel/hishel-0.0.29.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+inherit distutils-r1
+
+DESCRIPTION="An elegant HTTP Cache implementation for HTTPX and HTTP Core"
+HOMEPAGE="
+ https://github.com/karpetrosyan/hishel
+ https://pypi.org/project/hishel/
+"
+SRC_URI="https://github.com/karpetrosyan/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ ${RDEPEND}
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ test? (
+ dev-db/redis
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/boto3[${PYTHON_USEDEP}]
+ dev-python/moto[${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -e 's:mock_s3:mock_aws:g' \
+ -e '/import anysqlite/ d' \
+ -i tests/_async/test_storages.py \
+ tests/_sync/test_storages.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ local EPYTEST_DESELECT=(
+ # tests that need anysqlite
+ tests/_async/test_storages.py::test_sqlitestorage
+ tests/_async/test_storages.py::test_sqlite_expired
+ tests/_async/test_storages.py::test_sqlite_ttl_after_hits
+ )
+
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ einfo "Starting Redis"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1 ::1
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/hishel/hishel-0.0.30.ebuild b/dev-python/hishel/hishel-0.0.30.ebuild
new file mode 100644
index 000000000000..046e93ae7033
--- /dev/null
+++ b/dev-python/hishel/hishel-0.0.30.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+inherit distutils-r1
+
+DESCRIPTION="An elegant HTTP Cache implementation for HTTPX and HTTP Core"
+HOMEPAGE="
+ https://github.com/karpetrosyan/hishel
+ https://pypi.org/project/hishel/
+"
+SRC_URI="https://github.com/karpetrosyan/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ ${RDEPEND}
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ test? (
+ dev-db/redis
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/boto3[${PYTHON_USEDEP}]
+ dev-python/moto[${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed -e 's:mock_s3:mock_aws:g' \
+ -e '/import anysqlite/ d' \
+ -i tests/_async/test_storages.py \
+ tests/_sync/test_storages.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ local EPYTEST_DESELECT=(
+ # tests that need anysqlite
+ tests/_async/test_storages.py::test_sqlitestorage
+ tests/_async/test_storages.py::test_sqlite_expired
+ tests/_async/test_storages.py::test_sqlite_ttl_after_hits
+ )
+
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ einfo "Starting Redis"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1 ::1
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/hishel/metadata.xml b/dev-python/hishel/metadata.xml
new file mode 100644
index 000000000000..5cf037972bfe
--- /dev/null
+++ b/dev-python/hishel/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">hishel</remote-id>
+ <remote-id type="github">karpetrosyan/hishel</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/housekeeping/Manifest b/dev-python/housekeeping/Manifest
new file mode 100644
index 000000000000..430cc0891856
--- /dev/null
+++ b/dev-python/housekeeping/Manifest
@@ -0,0 +1 @@
+DIST housekeeping-1.1.tar.gz 19346 BLAKE2B 01ae862662b60b784af84704c6a1f8eff719622657d9462dc5f72b2a5175e9b969c674656228048903982eb5feb83698a3cab2217266132717e15d58b90f0133 SHA512 de1dba70a28c50c88cf36de56f400fea4737f42d4497f0c3359a70a2e7e9884b13aab8094abb684be37caaff20aaa21894d3909d2454b473edef594534057644
diff --git a/dev-python/housekeeping/housekeeping-1.1.ebuild b/dev-python/housekeeping/housekeeping-1.1.ebuild
new file mode 100644
index 000000000000..777c82af50e6
--- /dev/null
+++ b/dev-python/housekeeping/housekeeping-1.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Reusable deprecation helpers for Python projects"
+HOMEPAGE="
+ https://github.com/beanbaginc/housekeeping/
+ https://pypi.org/project/housekeeping/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/kgb-7.1.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/housekeeping/metadata.xml b/dev-python/housekeeping/metadata.xml
new file mode 100644
index 000000000000..288da5447b95
--- /dev/null
+++ b/dev-python/housekeeping/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>graaff@gentoo.org</email>
+ <name>Hans de Graaff</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">beanbaginc/housekeeping</remote-id>
+ <remote-id type="pypi">housekeeping</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/hpack/Manifest b/dev-python/hpack/Manifest
index 854dd72c0ae9..6b5558390e71 100644
--- a/dev-python/hpack/Manifest
+++ b/dev-python/hpack/Manifest
@@ -1 +1 @@
-DIST hpack-4.0.0.tar.gz 5301419 BLAKE2B 0164f6aafc0d1f17f6c397efe710503a22501faae3c7dbba4e57ca2dc76e4d373bc5e65bf55acda8bc61975d12f8a2084de0e0c4587539e5a3102e3cf66d562b SHA512 f482d086d7a82649393e3cfea55c98966ce57055cb1826bc4dec1ea334661c02708e7903f2e8e588ee1c30df41373e1de9fb960c2e7bbc18d0ace0b8f97b195b
+DIST hpack-4.0.0.gh.tar.gz 5301419 BLAKE2B 0164f6aafc0d1f17f6c397efe710503a22501faae3c7dbba4e57ca2dc76e4d373bc5e65bf55acda8bc61975d12f8a2084de0e0c4587539e5a3102e3cf66d562b SHA512 f482d086d7a82649393e3cfea55c98966ce57055cb1826bc4dec1ea334661c02708e7903f2e8e588ee1c30df41373e1de9fb960c2e7bbc18d0ace0b8f97b195b
diff --git a/dev-python/hpack/hpack-4.0.0-r1.ebuild b/dev-python/hpack/hpack-4.0.0-r1.ebuild
index 213a5bca45cc..6f140d78135a 100644
--- a/dev-python/hpack/hpack-4.0.0-r1.ebuild
+++ b/dev-python/hpack/hpack-4.0.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -14,7 +14,11 @@ HOMEPAGE="
https://github.com/python-hyper/hpack/
https://pypi.org/project/hpack/
"
-SRC_URI="https://github.com/python-hyper/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+# PyPI sdist is missing test fixtures, as of 4.0.0
+SRC_URI="
+ https://github.com/python-hyper/hpack/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/hpack/metadata.xml b/dev-python/hpack/metadata.xml
index bf52e22daad9..3c801126a927 100644
--- a/dev-python/hpack/metadata.xml
+++ b/dev-python/hpack/metadata.xml
@@ -11,6 +11,7 @@
<name>Cory Benfield</name>
</maintainer>
<remote-id type="pypi">hpack</remote-id>
+ <remote-id type="github">python-hyper/hpack</remote-id>
</upstream>
<longdescription>This module contains a pure-Python HTTP/2 header encoding
(HPACK) logic for use in Python programs that implement HTTP/2. It
diff --git a/dev-python/html2text/Manifest b/dev-python/html2text/Manifest
index fe5f3e99f1a2..745d4c444039 100644
--- a/dev-python/html2text/Manifest
+++ b/dev-python/html2text/Manifest
@@ -1 +1 @@
-DIST html2text-2020.1.16.tar.gz 49464 BLAKE2B f0331daa63b9e5d7508e0446e19b4dd4d05e5f7af0279efd71dc43b633f8273666189899a27cb598e8afdd5bd8ffb3d566b97327d82870ef44a81310d8e7e7c9 SHA512 14453c98e81d05afb3241b04a9e50caf63e4b6f857337b4bd9f53e6b8fa7146aa6a1f4f64777db9fa350316b19fe62a0033dce5748191ca9fbd17a8757002855
+DIST html2text-2024.2.26.tar.gz 56527 BLAKE2B 898f69fd087405412ac75cb4e2e9544f1725b9b558c334e1183a79fb6440ab13c4dbfefe6059e1bcb7befc2d365f11887dccc8ba62936c2732a79034d6b00908 SHA512 8304dbc0a8d06ea1bbed4edccbbcb817423bab7acbaa9db84c6c9c3e74a8d1daec148cb591b76b7d5865224ea424b388316c867bda4b07b19ed91272b7beff88
diff --git a/dev-python/html2text/html2text-2020.1.16-r2.ebuild b/dev-python/html2text/html2text-2020.1.16-r2.ebuild
deleted file mode 100644
index 5fdca0830a8f..000000000000
--- a/dev-python/html2text/html2text-2020.1.16-r2.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-inherit distutils-r1 pypi
-
-DESCRIPTION="Turn HTML into equivalent Markdown-structured text"
-HOMEPAGE="https://github.com/Alir3z4/html2text
- https://pypi.org/project/html2text/"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~ppc ~ppc64 ~sparc x86"
-
-DOCS=( AUTHORS.rst ChangeLog.rst README.md )
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # naming conflict with app-text/html2text, bug 421647
- sed -e 's/html2text = html2text.cli:main/py\0/' -i setup.cfg || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/html2text/html2text-2024.2.26.ebuild b/dev-python/html2text/html2text-2024.2.26.ebuild
new file mode 100644
index 000000000000..0edfaf31546c
--- /dev/null
+++ b/dev-python/html2text/html2text-2024.2.26.ebuild
@@ -0,0 +1,29 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Turn HTML into equivalent Markdown-structured text"
+HOMEPAGE="
+ https://github.com/Alir3z4/html2text/
+ https://pypi.org/project/html2text/
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~sparc x86"
+
+DOCS=( AUTHORS.rst ChangeLog.rst README.md )
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # naming conflict with app-text/html2text, bug 421647
+ sed -e 's/html2text = html2text.cli:main/py\0/' -i setup.cfg || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/html5-parser/Manifest b/dev-python/html5-parser/Manifest
index d98780db4d4b..03cda8f52145 100644
--- a/dev-python/html5-parser/Manifest
+++ b/dev-python/html5-parser/Manifest
@@ -1,2 +1 @@
-DIST html5-parser-0.4.11.tar.gz 270735 BLAKE2B a2c1037b5bf6dcb8e69f18b3404273993ee325f05a0c5e194ace3f68e0034fa1ac119bb3dde4c4f26dea62928b4dfda9ed1453760a5bb5f8faa9397fb0276a1a SHA512 07123f0851e195e72c16ecdc97336c08278c8cdd10e89251c2ca80d8d90fc63ddd2a13d5a7b2bce430b6124e774fa236788b8eb0d03d6ed4c706d91e6bc4aa4a
DIST html5-parser-0.4.12.tar.gz 270861 BLAKE2B 34cd247004956205c8aa67b6863a16950b28b92274feb4ddf1fe5ab177bd6e58d2835775a6e12cb6ee56a9bfcf3ad40f5c645fc380be1364acb8cfbfd6eabb3e SHA512 5dc45c54c53fc6492b645977940ebaf4bc4fee141767d9d6066ecc1c8547a2343f29c39c65f97d827863c499d48f54fae9309b8b25aa636ae3e4e42e97ec1f17
diff --git a/dev-python/html5-parser/html5-parser-0.4.11.ebuild b/dev-python/html5-parser/html5-parser-0.4.11.ebuild
deleted file mode 100644
index df573a8afe43..000000000000
--- a/dev-python/html5-parser/html5-parser-0.4.11.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 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..12} )
-
-inherit distutils-r1 pypi toolchain-funcs
-
-DESCRIPTION="Fast C based HTML 5 parsing for python"
-HOMEPAGE="
- https://github.com/kovidgoyal/html5-parser/
- https://pypi.org/project/html5-parser/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- dev-libs/libxml2:=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/chardet[${PYTHON_USEDEP}]
- >=dev-python/lxml-3.8.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- virtual/pkgconfig
- test? (
- ${RDEPEND}
- )
-"
-
-src_prepare() {
- # Soup is not used when lxml is available.
- rm test/soup.py || die
- sed -i -e 's:-O3::' setup.py unix_build.py || die
- distutils-r1_src_prepare
-}
-
-src_configure() {
- export PKGCONFIG_EXE=$(tc-getPKG_CONFIG)
-}
-
-python_test() {
- "${EPYTHON}" run_tests.py || die
-}
diff --git a/dev-python/html5-parser/html5-parser-0.4.12.ebuild b/dev-python/html5-parser/html5-parser-0.4.12.ebuild
index 8dbd7222e8aa..eda30325cd42 100644
--- a/dev-python/html5-parser/html5-parser-0.4.12.ebuild
+++ b/dev-python/html5-parser/html5-parser-0.4.12.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi toolchain-funcs
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~x86"
+KEYWORDS="amd64 ~arm ~arm64 x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/html5lib/files/html5lib-1.1-pytest6.patch b/dev-python/html5lib/files/html5lib-1.1-pytest6.patch
index a511b40abeaa..d8df5f2cf2f6 100644
--- a/dev-python/html5lib/files/html5lib-1.1-pytest6.patch
+++ b/dev-python/html5lib/files/html5lib-1.1-pytest6.patch
@@ -1,41 +1,7 @@
# https://github.com/html5lib/html5lib-python/pull/506
# https://bugs.gentoo.org/754144
-From e6bd99e8f2497194ffd0a06c6954ebb28d7526bb Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
-Date: Sat, 8 Aug 2020 13:39:22 +0200
-Subject: [PATCH] Use Node.from_parent() constructor to support pytest 6
-Add a wrapper not to break pytest 4 (needed for Python 2 support).
-
- ============================= test session starts ==============================
- platform linux -- Python 3.9.0b5, pytest-6.0.1, py-1.9.0, pluggy-0.13.1
- rootdir: /builddir/build/BUILD/html5lib-1.1, configfile: pytest.ini
- plugins: expect-1.1.0
- collected 0 items / 1 error
-
- ==================================== ERRORS ====================================
- ________________________ ERROR collecting test session _________________________
- /usr/lib/python3.9/site-packages/pluggy/hooks.py:286: in __call__
- return self._hookexec(self, self.get_hookimpls(), kwargs)
- /usr/lib/python3.9/site-packages/pluggy/manager.py:93: in _hookexec
- return self._inner_hookexec(hook, methods, kwargs)
- /usr/lib/python3.9/site-packages/pluggy/manager.py:84: in <lambda>
- self._inner_hookexec = lambda hook, methods, kwargs: hook.multicall(
- html5lib/tests/conftest.py:105: in pytest_collect_file
- return TokenizerFile(path, parent)
- /usr/lib/python3.9/site-packages/_pytest/nodes.py:95: in __call__
- warnings.warn(NODE_USE_FROM_PARENT.format(name=self.__name__), stacklevel=2)
- E pytest.PytestDeprecationWarning: Direct construction of TokenizerFile has been deprecated, please use TokenizerFile.from_parent.
- E See https://docs.pytest.org/en/stable/deprecations.html#node-construction-changed-to-node-from-parent for more details.
-
-Fixes https://github.com/html5lib/html5lib-python/issues/505
----
- html5lib/tests/conftest.py | 15 ++++++++++++---
- html5lib/tests/sanitizer.py | 2 +-
- html5lib/tests/tokenizer.py | 10 +++++-----
- html5lib/tests/tree_construction.py | 20 ++++++++++----------
- requirements-test.txt | 2 +-
- 5 files changed, 29 insertions(+), 20 deletions(-)
+and part of 4a87368b71090f1432df6302f178c4babfcec93f
diff --git a/html5lib/tests/conftest.py b/html5lib/tests/conftest.py
index dad167c5..fffeb50c 100644
@@ -151,3 +117,33 @@ index 1ef6e725..fb0657bf 100644
item.add_marker(pytest.mark.treewalker)
yield item
+diff --git a/html5lib/tests/tokenizer.py b/html5lib/tests/tokenizer.py
+index cc9897a..b49d2e6 100644
+--- a/html5lib/tests/tokenizer.py
++++ b/html5lib/tests/tokenizer.py
+@@ -246,7 +246,9 @@ class TokenizerTest(pytest.Item):
+ def repr_failure(self, excinfo):
+ traceback = excinfo.traceback
+ ntraceback = traceback.cut(path=__file__)
+- excinfo.traceback = ntraceback.filter()
++ pytest_ver = getattr(pytest, "version_tuple", ())
++ filter_args = (excinfo,) if pytest_ver >= (7, 4, 0) else ()
++ excinfo.traceback = ntraceback.filter(*filter_args)
+
+ return excinfo.getrepr(funcargs=True,
+ showlocals=False,
+diff --git a/html5lib/tests/tree_construction.py b/html5lib/tests/tree_construction.py
+index fb0657b..363b48c 100644
+--- a/html5lib/tests/tree_construction.py
++++ b/html5lib/tests/tree_construction.py
+@@ -135,7 +135,9 @@ class ParserTest(pytest.Item):
+ def repr_failure(self, excinfo):
+ traceback = excinfo.traceback
+ ntraceback = traceback.cut(path=__file__)
+- excinfo.traceback = ntraceback.filter()
++ pytest_ver = getattr(pytest, "version_tuple", ())
++ filter_args = (excinfo,) if pytest_ver >= (7, 4, 0) else ()
++ excinfo.traceback = ntraceback.filter(*filter_args)
+
+ return excinfo.getrepr(funcargs=True,
+ showlocals=False,
diff --git a/dev-python/html5lib/html5lib-1.1-r1.ebuild b/dev-python/html5lib/html5lib-1.1-r1.ebuild
deleted file mode 100644
index 7aaf19a606af..000000000000
--- a/dev-python/html5lib/html5lib-1.1-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="HTML parser based on the HTML5 specification"
-HOMEPAGE="
- https://github.com/html5lib/html5lib-python/
- https://html5lib.readthedocs.io/
- https://pypi.org/project/html5lib/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-PATCHES=(
- "${FILESDIR}"/${P}-pytest6.patch
-)
-
-RDEPEND="
- >=dev-python/six-1.9[${PYTHON_USEDEP}]
- dev-python/webencodings[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-expect[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/html5lib/html5lib-1.1-r2.ebuild b/dev-python/html5lib/html5lib-1.1-r2.ebuild
new file mode 100644
index 000000000000..a9b9f9b3f205
--- /dev/null
+++ b/dev-python/html5lib/html5lib-1.1-r2.ebuild
@@ -0,0 +1,49 @@
+# 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..13} pypy3 )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="HTML parser based on the HTML5 specification"
+HOMEPAGE="
+ https://github.com/html5lib/html5lib-python/
+ https://html5lib.readthedocs.io/
+ https://pypi.org/project/html5lib/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-pytest6.patch
+)
+
+RDEPEND="
+ >=dev-python/six-1.9[${PYTHON_USEDEP}]
+ dev-python/webencodings[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-expect[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -e 's:from mock:from unittest.mock:' \
+ -i html5lib/tests/test_meta.py || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_expect
+}
diff --git a/dev-python/httmock/httmock-1.4.0-r1.ebuild b/dev-python/httmock/httmock-1.4.0-r1.ebuild
index a11b8caf1617..286f2d05ce57 100644
--- a/dev-python/httmock/httmock-1.4.0-r1.ebuild
+++ b/dev-python/httmock/httmock-1.4.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/httpauth/Manifest b/dev-python/httpauth/Manifest
index 8dff66939152..b7d147793fdd 100644
--- a/dev-python/httpauth/Manifest
+++ b/dev-python/httpauth/Manifest
@@ -1 +1,3 @@
DIST httpauth-0.3.tar.gz 4440 BLAKE2B 41c9ba9ee50b7fcc4ed409f4b34897b5243df4065fd081cd5c0951ebe2719a34a424e59c21adbcd9be133c8fe4fa4ad9dc7bec561285b873987f982f684b3682 SHA512 aa35148322a1c5ffc22a132d3062d300118aa23181a0008018d0aacfd473758d86d50ff1236d88126858a53e2f45aeea938988b2d1a8f62f80a97d8c2cc69822
+DIST httpauth-0.4.1.tar.gz 5526 BLAKE2B afa99c4cd1d2a8a0d776b8e68e4b5864db786713eba6213c18f5773d6347e70e785e03ba57ce23e89c8eb80c2f04829ed0c617c8ccdee802e394e5f39df6a858 SHA512 f9472aa8aa3e640bfd00b458fe356fa7d1d762d64ca5fececf7d679ce81c03b6efe22d7c224b09eed188b9289aa59efb43f9e626e71552285d886a1fab1318ef
+DIST httpauth-0.4.gh.tar.gz 5437 BLAKE2B 9db9085afab06a8189e6ecad38a7da8a5599a39f6ca257f3a29818eeea100ca8301c704873977177ca6f40f46953365d5af14a713f87ea85747d84d006787850 SHA512 3e42bd400447f0179ae70662d79c61378a20dd1fcec2684d6b374de3114e362d1ad177ac7dcd9624a167de213df67438933161c083515a1ec6d20aadc6003dc4
diff --git a/dev-python/httpauth/httpauth-0.3-r1.ebuild b/dev-python/httpauth/httpauth-0.3-r1.ebuild
index cba95c2a12f2..c1f53e87effa 100644
--- a/dev-python/httpauth/httpauth-0.3-r1.ebuild
+++ b/dev-python/httpauth/httpauth-0.3-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/httpauth/httpauth-0.4.1.ebuild b/dev-python/httpauth/httpauth-0.4.1.ebuild
new file mode 100644
index 000000000000..48b72a50aecc
--- /dev/null
+++ b/dev-python/httpauth/httpauth-0.4.1.ebuild
@@ -0,0 +1,21 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A WSGI middleware that secures routes using HTTP Digest Authentication"
+HOMEPAGE="
+ https://github.com/jonashaag/httpauth/
+ https://pypi.org/project/httpauth/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/httpauth/httpauth-0.4.ebuild b/dev-python/httpauth/httpauth-0.4.ebuild
new file mode 100644
index 000000000000..32e48b05348c
--- /dev/null
+++ b/dev-python/httpauth/httpauth-0.4.ebuild
@@ -0,0 +1,27 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A WSGI middleware that secures routes using HTTP Digest Authentication"
+HOMEPAGE="
+ https://github.com/jonashaag/httpauth/
+ https://pypi.org/project/httpauth/
+"
+# 0.4 has broken sdist
+# https://github.com/jonashaag/httpauth/issues/6
+SRC_URI="
+ https://github.com/jonashaag/httpauth/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/httpbin/Manifest b/dev-python/httpbin/Manifest
index 0dc9fe2291fa..f21fd6043cd9 100644
--- a/dev-python/httpbin/Manifest
+++ b/dev-python/httpbin/Manifest
@@ -1 +1 @@
-DIST httpbin-0.10.1.tar.gz 107058 BLAKE2B a46732946fc3454e2ae71c4eec4f88521e190b736445c54f555021a273a75f57acbc9234237e6973a21fc3bf8f71d8c8b51d6422d719f03546ecd6887a20fe1b SHA512 e3b851253c347893a80e866e7d0188c572f2a87a540125de3d9cbe0b8c3f1ddfab2c60ee3ffde3fd7274fc662294c978c39b1b52acfd92c52fd552966da203be
+DIST httpbin-0.10.2.tar.gz 107327 BLAKE2B 39ab1e518c9f7e1ede9cd0aa2e3155f7e36267c83d1d2537a5b6cb5aa1c9e70efe96c5bf98a5b22cd05e70368d1495f8e5364032fcf2f476d62512b7e7322652 SHA512 731b842090be516d9eccb1d2bb8303128d2b2e24b1ebf0b2018a2f0b8629b164c7de686e1775841cd57417ec89941d98fc81f878a284c7242bfef4db481a781b
diff --git a/dev-python/httpbin/files/httpbin-0.10.1-optional-flasgger.patch b/dev-python/httpbin/files/httpbin-0.10.1-optional-flasgger.patch
new file mode 100644
index 000000000000..d4695173dad5
--- /dev/null
+++ b/dev-python/httpbin/files/httpbin-0.10.1-optional-flasgger.patch
@@ -0,0 +1,65 @@
+From 65e397d7332ab87e3b2455ff9dc99af24861b58b Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sat, 3 Feb 2024 11:20:00 +0100
+Subject: [PATCH] Support using httpbin without flasgger
+
+Make the dependency on flasgger optional. The dependency has been added
+relatively recently (i.e. before the original package was abandoned but
+after its last release), and it is only used to provide a more dynamic
+landing page. This is unnecessary for use of httpbin for testing,
+and it introduces an indirect dependency on Rust that is problematic.
+
+With this change, flasgger is no longer installed by default. It can be
+enabled via "[flasgger]" extra. When flasgger is not available, httpbin
+redirects to the "legacy" index page.
+---
+ httpbin/core.py | 17 +++++++++++++++--
+ pyproject.toml | 4 +++-
+ tests/test_httpbin.py | 4 +++-
+ 3 files changed, 21 insertions(+), 4 deletions(-)
+
+diff --git a/httpbin/core.py b/httpbin/core.py
+index a82c1b8..77576a4 100644
+--- a/httpbin/core.py
++++ b/httpbin/core.py
+@@ -33,7 +33,10 @@ try:
+ except ImportError: # werkzeug < 2.1
+ from werkzeug.wrappers import BaseResponse as Response
+
+-from flasgger import Swagger, NO_SANITIZER
++try:
++ from flasgger import Swagger, NO_SANITIZER
++except ImportError:
++ Swagger = None
+
+ from . import filters
+ from .helpers import (
+@@ -165,7 +168,10 @@ swagger_config = {
+ "specs_route": "/",
+ }
+
+-swagger = Swagger(app, sanitizer=NO_SANITIZER, template=template, config=swagger_config)
++if Swagger is not None:
++ swagger = Swagger(app, sanitizer=NO_SANITIZER, template=template, config=swagger_config)
++else:
++ app.logger.warning("Swagger not found, legacy index will be used.")
+
+ # Set up Bugsnag exception tracking, if desired. To use Bugsnag, install the
+ # Bugsnag Python client with the command "pip install bugsnag", and set the
+@@ -244,6 +250,13 @@ def set_cors_headers(response):
+ # ------
+
+
++if Swagger is None:
++ @app.route("/")
++ def no_flasgger_index():
++ """Redirect to legacy index if flasgger is not available."""
++ return view_landing_page()
++
++
+ @app.route("/legacy")
+ def view_landing_page():
+ """Generates Landing Page in legacy layout."""
+--
+2.43.0
+
diff --git a/dev-python/httpbin/files/httpbin-0.10.1-werkzeug-3.patch b/dev-python/httpbin/files/httpbin-0.10.1-werkzeug-3.patch
deleted file mode 100644
index 5ad6f2743400..000000000000
--- a/dev-python/httpbin/files/httpbin-0.10.1-werkzeug-3.patch
+++ /dev/null
@@ -1,78 +0,0 @@
-diff --git a/httpbin/core.py b/httpbin/core.py
-index 5c1783a1..a82c1b88 100644
---- a/httpbin/core.py
-+++ b/httpbin/core.py
-@@ -32,7 +32,7 @@
- from werkzeug.wrappers import Response
- except ImportError: # werkzeug < 2.1
- from werkzeug.wrappers import BaseResponse as Response
--from werkzeug.http import parse_authorization_header
-+
- from flasgger import Swagger, NO_SANITIZER
-
- from . import filters
-@@ -47,6 +47,7 @@
- H,
- ROBOT_TXT,
- ANGRY_ASCII,
-+ parse_authorization_header,
- parse_multi_value_header,
- next_stale_after_value,
- digest_challenge_response,
-@@ -636,16 +637,13 @@ def redirect_to():
- args_dict = request.args.items()
- args = CaseInsensitiveDict(args_dict)
-
-- # We need to build the response manually and convert to UTF-8 to prevent
-- # werkzeug from "fixing" the URL. This endpoint should set the Location
-- # header to the exact string supplied.
- response = app.make_response("")
- response.status_code = 302
- if "status_code" in args:
- status_code = int(args["status_code"])
- if status_code >= 300 and status_code < 400:
- response.status_code = status_code
-- response.headers["Location"] = args["url"].encode("utf-8")
-+ response.headers["Location"] = args["url"]
-
- return response
-
-diff --git a/httpbin/helpers.py b/httpbin/helpers.py
-index b29e1835..836c8026 100644
---- a/httpbin/helpers.py
-+++ b/httpbin/helpers.py
-@@ -13,8 +13,14 @@
- import time
- import os
- from hashlib import md5, sha256, sha512
--from werkzeug.http import parse_authorization_header
- from werkzeug.datastructures import WWWAuthenticate
-+from werkzeug.http import dump_header
-+
-+try:
-+ from werkzeug.http import parse_authorization_header
-+except ImportError: # werkzeug < 2.3
-+ from werkzeug.datastructures import Authorization
-+ parse_authorization_header = Authorization.from_header
-
- from flask import request, make_response
- from six.moves.urllib.parse import urlparse, urlunparse
-@@ -466,9 +472,14 @@ def digest_challenge_response(app, qop, algorithm, stale = False):
- ]), algorithm)
- opaque = H(os.urandom(10), algorithm)
-
-- auth = WWWAuthenticate("digest")
-- auth.set_digest('me@kennethreitz.com', nonce, opaque=opaque,
-- qop=('auth', 'auth-int') if qop is None else (qop,), algorithm=algorithm)
-- auth.stale = stale
-+ values = {
-+ 'realm': 'me@kennethreitz.com',
-+ 'nonce': nonce,
-+ 'opaque': opaque,
-+ 'qop': dump_header(('auth', 'auth-int') if qop is None else (qop,)),
-+ 'algorithm': algorithm,
-+ 'stale': stale,
-+ }
-+ auth = WWWAuthenticate("digest", values=values)
- response.headers['WWW-Authenticate'] = auth.to_header()
- return response
diff --git a/dev-python/httpbin/httpbin-0.10.1-r3.ebuild b/dev-python/httpbin/httpbin-0.10.1-r3.ebuild
deleted file mode 100644
index e8432927b4c9..000000000000
--- a/dev-python/httpbin/httpbin-0.10.1-r3.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="HTTP Request and Response Service"
-HOMEPAGE="
- https://github.com/psf/httpbin/
- https://pypi.org/project/httpbin/
-"
-
-LICENSE="|| ( MIT ISC )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/brotlicffi[${PYTHON_USEDEP}]
- dev-python/decorator[${PYTHON_USEDEP}]
- dev-python/flasgger[${PYTHON_USEDEP}]
- >=dev-python/flask-2.2.4[${PYTHON_USEDEP}]
- dev-python/itsdangerous[${PYTHON_USEDEP}]
- dev-python/markupsafe[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- local PATCHES=(
- # https://github.com/psf/httpbin/pull/29
- "${FILESDIR}/${P}-werkzeug-3.patch"
- )
-
- # unpin greenlet
- sed -i -e '/greenlet/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/httpbin/httpbin-0.10.2.ebuild b/dev-python/httpbin/httpbin-0.10.2.ebuild
new file mode 100644
index 000000000000..cf036cbb5bba
--- /dev/null
+++ b/dev-python/httpbin/httpbin-0.10.2.ebuild
@@ -0,0 +1,54 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="HTTP Request and Response Service"
+HOMEPAGE="
+ https://github.com/psf/httpbin/
+ https://pypi.org/project/httpbin/
+"
+
+LICENSE="|| ( MIT ISC )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="test-rust"
+
+RDEPEND="
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ >=dev-python/flask-2.2.4[${PYTHON_USEDEP}]
+ dev-python/itsdangerous[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ >=dev-python/werkzeug-2.2.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ test-rust? (
+ dev-python/flasgger[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/psf/httpbin/pull/44 (simplified)
+ "${FILESDIR}/httpbin-0.10.1-optional-flasgger.patch"
+ )
+
+ # remove unnecessary deps
+ sed -i -e '/greenlet/d' -e '/flasgger/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+pkg_postinst() {
+ optfeature "Fancy index" dev-python/flasgger
+}
diff --git a/dev-python/httpcore/Manifest b/dev-python/httpcore/Manifest
index ab5b0b144c06..7a7176fa1fda 100644
--- a/dev-python/httpcore/Manifest
+++ b/dev-python/httpcore/Manifest
@@ -1 +1 @@
-DIST httpcore-1.0.2.gh.tar.gz 95549 BLAKE2B 92aa9a936d8c6933e1840ae50e6dfb70e61c756027a0448c2f0a5d270937342bd99cdb110aae152103c0d6c966e9288a22f7166a04dbb06dfb2a6f1bf1454d87 SHA512 6fc0c686b0b02b1e822550c18a7a90d2501f9d530598511877ee8cb09a0bdc4d56afe48cbb5fab5f8c1a12ea443055fe2a081b990fa4270f84db8197646b4979
+DIST httpcore-1.0.5.gh.tar.gz 97696 BLAKE2B 2e05f790e0e67c36f86ac1ee47eea716f820d68678eff63e73bce0f652448d782c66764e7f1ab3f8e891ebf2243b96ba79ca211ea769bbf5df117342e2942cbb SHA512 4b37f3874e65908598b906167d5b0840f66ffef95b65110d318d9e64df5fd23770a08ea44ea2f3cf6f9db50f20bb9fec99b40323b959675b37168414cf397bf8
diff --git a/dev-python/httpcore/httpcore-1.0.2.ebuild b/dev-python/httpcore/httpcore-1.0.2.ebuild
deleted file mode 100644
index 08ec98a9ea8d..000000000000
--- a/dev-python/httpcore/httpcore-1.0.2.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 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 optfeature
-
-DESCRIPTION="A minimal low-level HTTP client"
-HOMEPAGE="
- https://www.encode.io/httpcore/
- https://github.com/encode/httpcore/
- https://pypi.org/project/httpcore/
-"
-SRC_URI="
- https://github.com/encode/httpcore/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- <dev-python/anyio-5[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
- <dev-python/h11-0.15[${PYTHON_USEDEP}]
- <dev-python/h2-5[${PYTHON_USEDEP}]
- =dev-python/sniffio-1*[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-httpbin[${PYTHON_USEDEP}]
- dev-python/pytest-trio[${PYTHON_USEDEP}]
- dev-python/socksio[${PYTHON_USEDEP}]
- dev-python/trio[${PYTHON_USEDEP}]
- dev-python/trustme[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-pkg_postinst() {
- optfeature "SOCKS support" dev-python/socksio
-}
diff --git a/dev-python/httpcore/httpcore-1.0.5.ebuild b/dev-python/httpcore/httpcore-1.0.5.ebuild
new file mode 100644
index 000000000000..8c05f74f913c
--- /dev/null
+++ b/dev-python/httpcore/httpcore-1.0.5.ebuild
@@ -0,0 +1,69 @@
+# 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..13} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="A minimal low-level HTTP client"
+HOMEPAGE="
+ https://www.encode.io/httpcore/
+ https://github.com/encode/httpcore/
+ https://pypi.org/project/httpcore/
+"
+SRC_URI="
+ https://github.com/encode/httpcore/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ <dev-python/anyio-5[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+ <dev-python/h11-0.15[${PYTHON_USEDEP}]
+ <dev-python/h2-5[${PYTHON_USEDEP}]
+ =dev-python/sniffio-1*[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-httpbin[${PYTHON_USEDEP}]
+ dev-python/socksio[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/pytest-trio[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ ' 3.{10..13})
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local opts=()
+ local EPYTEST_IGNORE=()
+
+ if ! has_version "dev-python/trio[${PYTHON_USEDEP}]"; then
+ opts+=( -k "not trio" )
+ EPYTEST_IGNORE+=(
+ tests/_async/test_connection_pool.py
+ )
+ fi
+
+ if ! has_version "dev-python/pytest-trio[${PYTHON_USEDEP}]"; then
+ opts+=( -m "not trio" -o addopts= )
+ fi
+
+ epytest "${opts[@]}"
+}
+
+pkg_postinst() {
+ optfeature "SOCKS support" dev-python/socksio
+}
diff --git a/dev-python/httplib2/httplib2-0.22.0.ebuild b/dev-python/httplib2/httplib2-0.22.0.ebuild
index ed1ee5aad216..72bc26a4e64f 100644
--- a/dev-python/httplib2/httplib2-0.22.0.ebuild
+++ b/dev-python/httplib2/httplib2-0.22.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/httpretty/httpretty-1.1.4-r1.ebuild b/dev-python/httpretty/httpretty-1.1.4-r1.ebuild
index 13a6a1c00021..b3df1302ab77 100644
--- a/dev-python/httpretty/httpretty-1.1.4-r1.ebuild
+++ b/dev-python/httpretty/httpretty-1.1.4-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -39,11 +39,9 @@ BDEPEND+="
test-rust? (
dev-python/pyopenssl[${PYTHON_USEDEP}]
)
- $(python_gen_cond_dep '
- >=dev-python/boto3-1.17.72[${PYTHON_USEDEP}]
- dev-python/httplib2[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.18.1[${PYTHON_USEDEP}]
- ' python3_{8..11})
+ >=dev-python/boto3-1.17.72[${PYTHON_USEDEP}]
+ dev-python/httplib2[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.18.1[${PYTHON_USEDEP}]
)
"
@@ -62,6 +60,11 @@ python_test() {
# eventlet is masked for removal
tests/bugfixes/nosetests/test_eventlet.py
)
+ local EPYTEST_DESELECT=(
+ # regressions with newer dev-python/requests
+ tests/functional/test_requests.py::test_httpretty_should_allow_registering_regexes_with_streaming_responses
+ tests/functional/test_requests.py::test_httpretty_should_handle_paths_starting_with_two_slashes
+ )
local ignore_by_dep=(
dev-python/boto3:tests/bugfixes/nosetests/test_416_boto3.py
diff --git a/dev-python/httpx-socks/Manifest b/dev-python/httpx-socks/Manifest
index 99495a8dec0e..cac3b106869d 100644
--- a/dev-python/httpx-socks/Manifest
+++ b/dev-python/httpx-socks/Manifest
@@ -1 +1 @@
-DIST httpx-socks-0.8.0.gh.tar.gz 15285 BLAKE2B 1da3bffff2be273e62452d96c8e07f38cf3c488bb89704ab377565feecafc1f96e9b96b615dfca4c3721c295414005014f868982a440ed47f3454814545aa6c7 SHA512 f58555670bc689002633daf3cf373641cbab6417636d16e878d5f9fc796b8bf7111d7c6985909590ccaeedb95793f589676e7f36c217330cbf46b4778319a4b7
+DIST httpx-socks-0.9.1.gh.tar.gz 15210 BLAKE2B 88f38797110227c4e4f01fea7e47c9403573c3c06f6bd644858a6ad4947d90dcbd33c03a0d30a91f227b0e3f341c249dcdef2b009065447e95579e561fee7f4b SHA512 dec2a0eb2dbc692a7e45a2f0df3711057fdc50e7284985d234ed68b3af01372faaa532d070736a005eb49191d55927dc949e9297a6a471b89cf085ef38b56910
diff --git a/dev-python/httpx-socks/httpx-socks-0.8.0.ebuild b/dev-python/httpx-socks/httpx-socks-0.8.0.ebuild
deleted file mode 100644
index ce8d7e95504e..000000000000
--- a/dev-python/httpx-socks/httpx-socks-0.8.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2022-2023 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
-
-DESCRIPTION="Proxy (HTTP, SOCKS) transports for httpx"
-HOMEPAGE="
- https://github.com/romis2012/httpx-socks/
- https://pypi.org/project/httpx-socks/
-"
-# no tests in sdist, as of 0.7.6
-SRC_URI="
- https://github.com/romis2012/httpx-socks/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- <dev-python/httpx-0.26.0[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.21.0[${PYTHON_USEDEP}]
- <dev-python/httpcore-2[${PYTHON_USEDEP}]
- >=dev-python/httpcore-0.17.3[${PYTHON_USEDEP}]
- >=dev-python/python-socks-2.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/hypercorn-0.12.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-asyncio-0.18.3[${PYTHON_USEDEP}]
- >=dev-python/pytest-trio-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/starlette-0.19.1[${PYTHON_USEDEP}]
- >=dev-python/trio-0.18.0[${PYTHON_USEDEP}]
- >=dev-python/yarl-1.6.3[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/httpx-socks/httpx-socks-0.9.1.ebuild b/dev-python/httpx-socks/httpx-socks-0.9.1.ebuild
new file mode 100644
index 000000000000..4fa3fca34479
--- /dev/null
+++ b/dev-python/httpx-socks/httpx-socks-0.9.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Proxy (HTTP, SOCKS) transports for httpx"
+HOMEPAGE="
+ https://github.com/romis2012/httpx-socks/
+ https://pypi.org/project/httpx-socks/
+"
+# no tests in sdist, as of 0.7.6
+SRC_URI="
+ https://github.com/romis2012/httpx-socks/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/httpx-0.21.0[${PYTHON_USEDEP}]
+ >=dev-python/httpcore-0.17.3[${PYTHON_USEDEP}]
+ >=dev-python/python-socks-2.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/async-timeout-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/hypercorn-0.14.3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.18.3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-trio-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/starlette-0.25.0[${PYTHON_USEDEP}]
+ >=dev-python/tiny-proxy-0.1.1[${PYTHON_USEDEP}]
+ >=dev-python/trio-0.22.0[${PYTHON_USEDEP}]
+ >=dev-python/trustme-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/yarl-1.6.3[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin dependencies
+ sed -i -e 's:,<[0-9.]*::' setup.py || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/httpx/Manifest b/dev-python/httpx/Manifest
index 76a9d4f786aa..6dfbfb2e792e 100644
--- a/dev-python/httpx/Manifest
+++ b/dev-python/httpx/Manifest
@@ -1,2 +1 @@
-DIST httpx-0.25.1.gh.tar.gz 2162706 BLAKE2B f13340d5b051fa2020c12825c31df8f5566c3900baa54267cf0718eaff35b600186cfee5a0db5d7fd1a86fbb94bb0d164c7c9be3d6508cd30fc2fbc75cc0c833 SHA512 ad67f45162e328dba3d74abc75cdae02cc4da1605e21456fbb2023f9f515efa6ec6c5799927a4a4557cf439819f9b05dc2805002e29b97102dadcf934cbd0e2b
-DIST httpx-0.25.2.gh.tar.gz 2162693 BLAKE2B 8ae9fd692341ae3224c73c1f6837489819df1a00e13702a7af72143bf291cfcae23807fd51a6e1092672d0b5595f9557084151f3d07fbdd4e7fce8f5860a879f SHA512 7e62fcea55b7d0710f6d50581c8dd1ff5ae594a673a9b1cea5c03487eb3402ca96d44c311a9bcef14f20a7faa03462a3fab07edfe1ce2b11ecd66e4f7e1a06d5
+DIST httpx-0.27.0.gh.tar.gz 2168004 BLAKE2B 2bfe58ffa9bd75b602acf844967d399c2173499981e73296bfc0726ee738219031ac3ac04517dd027f769966b77bf225287490c55435a53aec44b9784a0c4b2e SHA512 9db19cced6554effdb5fb0b442cbe05dc66cbfbdb23e8fbc19f43e1acc81028bca9e0fba5d2dae617b19be9f64baa0f02e727e92fef3f3f1288aa19ae07f35c6
diff --git a/dev-python/httpx/files/httpx-0.27.0-opt-trio.patch b/dev-python/httpx/files/httpx-0.27.0-opt-trio.patch
new file mode 100644
index 000000000000..6c2c9e67255f
--- /dev/null
+++ b/dev-python/httpx/files/httpx-0.27.0-opt-trio.patch
@@ -0,0 +1,17 @@
+diff --git a/tests/concurrency.py b/tests/concurrency.py
+index a8ed558..d5ce803 100644
+--- a/tests/concurrency.py
++++ b/tests/concurrency.py
+@@ -5,11 +5,11 @@ Async environment-agnostic concurrency utilities that are only used in tests.
+ import asyncio
+
+ import sniffio
+-import trio
+
+
+ async def sleep(seconds: float) -> None:
+ if sniffio.current_async_library() == "trio":
++ import trio
+ await trio.sleep(seconds) # pragma: no cover
+ else:
+ await asyncio.sleep(seconds)
diff --git a/dev-python/httpx/httpx-0.25.1.ebuild b/dev-python/httpx/httpx-0.25.1.ebuild
deleted file mode 100644
index 54df36feaba2..000000000000
--- a/dev-python/httpx/httpx-0.25.1.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2022-2023 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 optfeature
-
-DESCRIPTION="Fully-featured HTTP client which provides sync and async APIs"
-HOMEPAGE="
- https://www.python-httpx.org/
- https://github.com/encode/httpx/
- https://pypi.org/project/httpx/
-"
-SRC_URI="
- https://github.com/encode/httpx/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="cli"
-
-RDEPEND="
- dev-python/anyio[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
- dev-python/httpcore[${PYTHON_USEDEP}]
- dev-python/idna[${PYTHON_USEDEP}]
- dev-python/sniffio[${PYTHON_USEDEP}]
- cli? (
- =dev-python/click-8*[${PYTHON_USEDEP}]
- =dev-python/pygments-2*[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
- test? (
- dev-python/brotlicffi[${PYTHON_USEDEP}]
- dev-python/chardet[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/h2[${PYTHON_USEDEP}]
- dev-python/socksio[${PYTHON_USEDEP}]
- dev-python/trio[${PYTHON_USEDEP}]
- dev-python/trustme[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- dev-python/uvicorn[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- if ! use cli; then
- sed -i -e '/^httpx =/d' pyproject.toml || die
- fi
- sed -i -e '/rich/s:,<14::' pyproject.toml || die
-
- # use brotlicffi instead of brotli in tests
- sed -i -e 's:import brotli:import brotlicffi as brotli:' \
- tests/test_decoders.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Internet
- tests/client/test_proxies.py::test_async_proxy_close
- tests/client/test_proxies.py::test_sync_proxy_close
- )
-
- use cli || EPYTEST_IGNORE+=(
- tests/test_main.py
- )
-
- epytest
-}
-
-pkg_postinst() {
- optfeature "HTTP/2 support" dev-python/h2
- optfeature "SOCKS proxy support" dev-python/socksio
- optfeature "Decoding for brotli compressed responses" dev-python/brotlicffi
-}
diff --git a/dev-python/httpx/httpx-0.25.2.ebuild b/dev-python/httpx/httpx-0.25.2.ebuild
deleted file mode 100644
index 1bdfd22a73b0..000000000000
--- a/dev-python/httpx/httpx-0.25.2.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 2022-2023 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 optfeature
-
-DESCRIPTION="Fully-featured HTTP client which provides sync and async APIs"
-HOMEPAGE="
- https://www.python-httpx.org/
- https://github.com/encode/httpx/
- https://pypi.org/project/httpx/
-"
-SRC_URI="
- https://github.com/encode/httpx/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="cli"
-
-RDEPEND="
- dev-python/anyio[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
- =dev-python/httpcore-1*[${PYTHON_USEDEP}]
- dev-python/idna[${PYTHON_USEDEP}]
- dev-python/sniffio[${PYTHON_USEDEP}]
- cli? (
- =dev-python/click-8*[${PYTHON_USEDEP}]
- =dev-python/pygments-2*[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
- test? (
- dev-python/brotlicffi[${PYTHON_USEDEP}]
- dev-python/chardet[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/h2[${PYTHON_USEDEP}]
- dev-python/socksio[${PYTHON_USEDEP}]
- dev-python/trio[${PYTHON_USEDEP}]
- dev-python/trustme[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- dev-python/uvicorn[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- if ! use cli; then
- sed -i -e '/^httpx =/d' pyproject.toml || die
- fi
- sed -i -e '/rich/s:,<14::' pyproject.toml || die
-
- # use brotlicffi instead of brotli in tests
- sed -i -e 's:import brotli:import brotlicffi as brotli:' \
- tests/test_decoders.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Internet
- tests/client/test_proxies.py::test_async_proxy_close
- tests/client/test_proxies.py::test_sync_proxy_close
- )
-
- use cli || EPYTEST_IGNORE+=(
- tests/test_main.py
- )
-
- epytest
-}
-
-pkg_postinst() {
- optfeature "HTTP/2 support" dev-python/h2
- optfeature "SOCKS proxy support" dev-python/socksio
- optfeature "Decoding for brotli compressed responses" dev-python/brotlicffi
-}
diff --git a/dev-python/httpx/httpx-0.27.0.ebuild b/dev-python/httpx/httpx-0.27.0.ebuild
new file mode 100644
index 000000000000..45884552b14d
--- /dev/null
+++ b/dev-python/httpx/httpx-0.27.0.ebuild
@@ -0,0 +1,94 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Fully-featured HTTP client which provides sync and async APIs"
+HOMEPAGE="
+ https://www.python-httpx.org/
+ https://github.com/encode/httpx/
+ https://pypi.org/project/httpx/
+"
+SRC_URI="
+ https://github.com/encode/httpx/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="cli"
+
+RDEPEND="
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+ =dev-python/httpcore-1*[${PYTHON_USEDEP}]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/sniffio[${PYTHON_USEDEP}]
+ cli? (
+ =dev-python/click-8*[${PYTHON_USEDEP}]
+ =dev-python/pygments-2*[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ test? (
+ dev-python/brotlicffi[${PYTHON_USEDEP}]
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/h2[${PYTHON_USEDEP}]
+ dev-python/socksio[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/uvicorn[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/trio[${PYTHON_USEDEP}]
+ ' 3.{10..13})
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/${P}-opt-trio.patch"
+ )
+
+ if ! use cli; then
+ sed -i -e '/^httpx =/d' pyproject.toml || die
+ fi
+ sed -i -e '/rich/s:,<14::' pyproject.toml || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local args=()
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/client/test_proxies.py::test_async_proxy_close
+ tests/client/test_proxies.py::test_sync_proxy_close
+ )
+
+ use cli || EPYTEST_IGNORE+=(
+ tests/test_main.py
+ )
+
+ if ! has_version "dev-python/trio[${PYTHON_USEDEP}]"; then
+ args+=( -o filterwarnings= -k "not trio" )
+ fi
+
+ epytest "${args[@]}"
+}
+
+pkg_postinst() {
+ optfeature "HTTP/2 support" dev-python/h2
+ optfeature "SOCKS proxy support" dev-python/socksio
+ optfeature "Decoding for brotli compressed responses" dev-python/brotlicffi
+}
diff --git a/dev-python/huawei-lte-api/Manifest b/dev-python/huawei-lte-api/Manifest
index 806f4f4a07a9..78eaa5f3bb82 100644
--- a/dev-python/huawei-lte-api/Manifest
+++ b/dev-python/huawei-lte-api/Manifest
@@ -1 +1 @@
-DIST huawei-lte-api-1.7.3.gh.tar.gz 39166 BLAKE2B 52e2ab89a2ab6aadccd92192c73f1ef5ac4aa376dc6b5e29f9460881ccd3e600744789d33d490efa86315b5ad9f6090d56a45132ae3dc421dc5025032319ed59 SHA512 83bdfae0b8d44789ebfe8f94233b4d5b49fe3e379f25205fe71970d533ecbd0611c13cfbe3471c9331b4bcde6c737aaf53156c397d7016e5de5cc053f221374b
+DIST huawei-lte-api-1.9.3.gh.tar.gz 41344 BLAKE2B 3812c2dd5404320eb24bbe6e1e5819effad06641e96289ac279e5fe96add8880d837bf6770816f1bdce553cbf1aad73d370377c7f0713428d6ac46906d88602c SHA512 4f5f00dd416b017422753940ae69a1c24b424692fdf9e6ea29073035d381b5434462b022ebe44bf4d911eafe07f9ff57b8d349bf7140e0f33daba6384a73cd24
diff --git a/dev-python/huawei-lte-api/huawei-lte-api-1.7.3.ebuild b/dev-python/huawei-lte-api/huawei-lte-api-1.7.3.ebuild
deleted file mode 100644
index fb395ee8d1e6..000000000000
--- a/dev-python/huawei-lte-api/huawei-lte-api-1.7.3.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="API For huawei LAN/WAN LTE Modems"
-HOMEPAGE="
- https://github.com/Salamek/huawei-lte-api/
- https://pypi.org/project/huawei-lte-api/
-"
-SRC_URI="
- https://github.com/Salamek/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/pycryptodome[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/xmltodict[${PYTHON_USEDEP}]
-"
-
-python_prepare_all() {
- # make cryptodome-friendly
- sed -i -e 's:pycryptodomex:pycryptodome:' setup.py || die
- find -name '*.py' -exec \
- sed -i -e 's:Cryptodome:Crypto:g' {} + || die
-
- distutils-r1_python_prepare_all
-}
-
-distutils_enable_tests pytest
diff --git a/dev-python/huawei-lte-api/huawei-lte-api-1.9.3.ebuild b/dev-python/huawei-lte-api/huawei-lte-api-1.9.3.ebuild
new file mode 100644
index 000000000000..4315d293fdf2
--- /dev/null
+++ b/dev-python/huawei-lte-api/huawei-lte-api-1.9.3.ebuild
@@ -0,0 +1,40 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="API For huawei LAN/WAN LTE Modems"
+HOMEPAGE="
+ https://github.com/Salamek/huawei-lte-api/
+ https://pypi.org/project/huawei-lte-api/
+"
+SRC_URI="
+ https://github.com/Salamek/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+"
+
+python_prepare_all() {
+ # make cryptodome-friendly
+ sed -i -e 's:pycryptodomex:pycryptodome:' setup.py || die
+ find -name '*.py' -exec \
+ sed -i -e 's:Cryptodome:Crypto:g' {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+distutils_enable_tests pytest
diff --git a/dev-python/humanfriendly/files/humanfriendly-10.0-py3.13.patch b/dev-python/humanfriendly/files/humanfriendly-10.0-py3.13.patch
new file mode 100644
index 000000000000..467d3862d331
--- /dev/null
+++ b/dev-python/humanfriendly/files/humanfriendly-10.0-py3.13.patch
@@ -0,0 +1,74 @@
+From 13d05b8057010121acd2a402a337ef4ee5834062 Mon Sep 17 00:00:00 2001
+From: "Benjamin A. Beasley" <code@musicinmybrain.net>
+Date: Thu, 30 May 2024 23:05:14 -0400
+Subject: [PATCH] Replace pipes.quote with shlex.quote on Python 3
+
+The shlex.quote() API is available from Python 3.3 on; pipes.quote() was
+never documented, and is removed in Python 3.13.
+
+Fixes #73.
+
+Upstream-PR: https://github.com/xolox/python-humanfriendly/pull/75
+Upstream-Issue: https://github.com/xolox/python-humanfriendly/issues/73
+
+diff --git a/humanfriendly/cli.py b/humanfriendly/cli.py
+index eb81db1..5dfc14a 100644
+--- a/humanfriendly/cli.py
++++ b/humanfriendly/cli.py
+@@ -79,10 +79,14 @@
+ # Standard library modules.
+ import functools
+ import getopt
+-import pipes
+ import subprocess
+ import sys
+
++try:
++ from shlex import quote # Python 3
++except ImportError:
++ from pipes import quote # Python 2 (removed in 3.13)
++
+ # Modules included in our package.
+ from humanfriendly import (
+ Timer,
+@@ -176,7 +180,7 @@ def main():
+ def run_command(command_line):
+ """Run an external command and show a spinner while the command is running."""
+ timer = Timer()
+- spinner_label = "Waiting for command: %s" % " ".join(map(pipes.quote, command_line))
++ spinner_label = "Waiting for command: %s" % " ".join(map(quote, command_line))
+ with Spinner(label=spinner_label, timer=timer) as spinner:
+ process = subprocess.Popen(command_line)
+ while True:
+diff --git a/humanfriendly/testing.py b/humanfriendly/testing.py
+index f6abddf..f9d66e4 100644
+--- a/humanfriendly/testing.py
++++ b/humanfriendly/testing.py
+@@ -25,13 +25,17 @@
+ import functools
+ import logging
+ import os
+-import pipes
+ import shutil
+ import sys
+ import tempfile
+ import time
+ import unittest
+
++try:
++ from shlex import quote # Python 3
++except ImportError:
++ from pipes import quote # Python 2 (removed in 3.13)
++
+ # Modules included in our package.
+ from humanfriendly.compat import StringIO
+ from humanfriendly.text import random_string
+@@ -521,7 +525,7 @@ def __enter__(self):
+ pathname = os.path.join(directory, self.program_name)
+ with open(pathname, 'w') as handle:
+ handle.write('#!/bin/sh\n')
+- handle.write('echo > %s\n' % pipes.quote(self.program_signal_file))
++ handle.write('echo > %s\n' % quote(self.program_signal_file))
+ if self.program_script:
+ handle.write('%s\n' % self.program_script.strip())
+ handle.write('exit %i\n' % self.program_returncode)
diff --git a/dev-python/humanfriendly/humanfriendly-10.0-r1.ebuild b/dev-python/humanfriendly/humanfriendly-10.0-r1.ebuild
deleted file mode 100644
index 5b3d86ca62e8..000000000000
--- a/dev-python/humanfriendly/humanfriendly-10.0-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 pypi
-
-DESCRIPTION="Human friendly output for text interfaces using Python"
-HOMEPAGE="https://pypi.org/project/humanfriendly/
- https://github.com/xolox/python-humanfriendly/
- https://humanfriendly.readthedocs.io/"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
-
-# This is completely broken
-# AttributeError: module 'humanfriendly.tests' has no attribute 'connect'
-RESTRICT="test"
-
-BDEPEND="
- test? (
- dev-python/capturer[${PYTHON_USEDEP}]
- >=dev-python/coloredlogs-15.0.1[${PYTHON_USEDEP}]
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs
-
-python_test() {
- epytest humanfriendly/tests.py
-}
diff --git a/dev-python/humanfriendly/humanfriendly-10.0-r2.ebuild b/dev-python/humanfriendly/humanfriendly-10.0-r2.ebuild
new file mode 100644
index 000000000000..96e56068f96d
--- /dev/null
+++ b/dev-python/humanfriendly/humanfriendly-10.0-r2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_REQ_USE="threads(+)"
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 pypi
+
+DESCRIPTION="Human friendly output for text interfaces using Python"
+HOMEPAGE="https://pypi.org/project/humanfriendly/
+ https://github.com/xolox/python-humanfriendly/
+ https://humanfriendly.readthedocs.io/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ test? (
+ dev-python/capturer[${PYTHON_USEDEP}]
+ >=dev-python/coloredlogs-15.0.1[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-10.0-py3.13.patch"
+)
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs
+
+python_test() {
+ epytest humanfriendly/tests.py
+}
diff --git a/dev-python/humanize/Manifest b/dev-python/humanize/Manifest
index fcb410323166..c62b2f90136b 100644
--- a/dev-python/humanize/Manifest
+++ b/dev-python/humanize/Manifest
@@ -1,2 +1,2 @@
-DIST humanize-4.8.0.tar.gz 72894 BLAKE2B 905c9499c9e57959cda3c66d98f4ddb1ddd04278ad53e1d139ca5ff65cf84d526ec7ba5766a6fffecda7e4f31ce9a6b1e59c377b7f37bad3c929ea3bcc77d44f SHA512 2372b9518c6037bbd6bda341cce7f04e6acd0f68c1fe7218e3201477ce12324f6b98efca2bc7024222bfcc222840cd5a6a04649269c86ded7bb81b30d1602cc9
+DIST humanize-4.10.0.tar.gz 79192 BLAKE2B 398fe1eb3b39cfc93096f7e12f057959f3e336721fe05be4bfe0bf16d3470a04a33b978c6e4ffb73c58bfb1032f9ec48b29397ef51073aa881b036427e73eb10 SHA512 973fe7aecffcc7c9b56426b5a143402a97833122e63362115ae50318c909188bbe872fbfdfaa3015298ecd44c6ebc4223d9abd202c47622066b730908a6dda44
DIST humanize-4.9.0.tar.gz 78465 BLAKE2B bb13199f7ed9b833891e1e5f166dce33e167224c5fb75ab33130a551680e802aa347f5e19cd1162caa79917af6e0acbbb36226d5051a9d4eef07bc554ba0e19e SHA512 64238f6717302cec4cac853fd2813647132eb4f6cd73cc61fd43346577cd42bbc2cf5a7345910393cd9a4e9c2b5e949a50c6259b0bd8254a05e08d0d8d70a5d5
diff --git a/dev-python/humanize/humanize-4.10.0.ebuild b/dev-python/humanize/humanize-4.10.0.ebuild
new file mode 100644
index 000000000000..5d18d9873a5a
--- /dev/null
+++ b/dev-python/humanize/humanize-4.10.0.ebuild
@@ -0,0 +1,33 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Common humanization utilities"
+HOMEPAGE="
+ https://github.com/python-humanize/humanize/
+ https://pypi.org/project/humanize/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -e '/coverage/d' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/humanize/humanize-4.8.0.ebuild b/dev-python/humanize/humanize-4.8.0.ebuild
deleted file mode 100644
index 49c71858c30b..000000000000
--- a/dev-python/humanize/humanize-4.8.0.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2023 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="Common humanization utilities"
-HOMEPAGE="
- https://github.com/python-humanize/humanize/
- https://pypi.org/project/humanize/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/humanize/humanize-4.9.0.ebuild b/dev-python/humanize/humanize-4.9.0.ebuild
index e7f52432b88b..603f71746b6e 100644
--- a/dev-python/humanize/humanize-4.9.0.ebuild
+++ b/dev-python/humanize/humanize-4.9.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
BDEPEND="
dev-python/hatch-vcs[${PYTHON_USEDEP}]
diff --git a/dev-python/hvac/Manifest b/dev-python/hvac/Manifest
index 7739b25d23a6..f98fdfa75535 100644
--- a/dev-python/hvac/Manifest
+++ b/dev-python/hvac/Manifest
@@ -1,4 +1 @@
-DIST hvac-1.1.1.gh.tar.gz 317494 BLAKE2B 3a6849a1f41a8e45f436baae3f5e2ba400c4b7cc49b253eca1741d8685d0499a9cfd42d3eaaac330ac949f64b6e9dc66d209df0efe2e9248b5750eedecca924e SHA512 f5de49b33c257ccfcdc662ed269e843d3f76912bc2e773663e72c8425d1ccc317cdc137dc7bb978e0e966bc6248f34953306fc919fba2cc8f97f0a695b5daf2b
-DIST hvac-1.2.0.tar.gz 310344 BLAKE2B be81cfb9b2632da9146ef9153017e478e121a908bfb7a4838169f0a1984b91fe29d9efeb887352e02244136ba96c1ae98618de88ecc238f2f1a6cf2d46b45401 SHA512 61fee19dae22661c8c9aac56656b3038083ff6487773ea7fd62cb9655b55f8aaf60d40760125179c790a02323ea8711829261969695459c67834c4bdd315312d
-DIST hvac-1.2.1.tar.gz 310371 BLAKE2B c7d0f10b7721035d1e474d4d5aeab636c2475b5532e2ef79be1f7e1f5e854363f56fcf8c46ace3b10725fca029d2da0358af321c37842696b6ab5010c481eb58 SHA512 17d0bb485714e85937dc74a96530a921767efb7f10facb211d68e9e0bb39477ca105bdeafbe9979a390d05a6af66a8aabbf1ada75b391bea8e091a62ad1a49bf
-DIST hvac-2.0.0.tar.gz 316473 BLAKE2B 72da5325e560ff07a08296403d1b9c8182d2b75ed1b1d5b33474d95816ccc735306b2d7a4489d3c40a975915ea69be9afde4e0291ce2a5e7c22f0b3e074093ff SHA512 ba9114005e3610146fe69d3739daf36fd0b83cd22f5d89546dd7a7b43e9b1b704ce544b6d2ca3c0b93fd309587076266786ab81bde3dc4209a44ee4456eb8f35
+DIST hvac-2.3.0.tar.gz 332660 BLAKE2B 6b1d7f91301e328987e7fd36382ecb64fc42df98f5dad400c27fb92a27f739be87ac4f2ba2704ac53cab8aaa19a439f9e052b9b814a1e6b384bec636e7ddc7f9 SHA512 2df43c9a0c01a44580d2eb4b57d0dcfc387f15b1ebbcf7907d62a3fdc36ffa4239bc19b3c0a43f1806c98f8cd894df32df731b247a2305354b6ab67c1ace0a40
diff --git a/dev-python/hvac/hvac-1.1.1.ebuild b/dev-python/hvac/hvac-1.1.1.ebuild
deleted file mode 100644
index dd7f68729f0b..000000000000
--- a/dev-python/hvac/hvac-1.1.1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="HashiCorp Vault API client"
-HOMEPAGE="
- https://github.com/hvac/hvac/
- https://pypi.org/project/hvac/
-"
-SRC_URI="
- https://github.com/hvac/hvac/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/pyhcl-0.4.4[${PYTHON_USEDEP}]
- >=dev-python/requests-2.24.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
- dev-python/jwcrypto[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- dev-python/semantic-version[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # ldap_test is not packaged.
- tests/integration_tests/api/auth_methods/test_ldap.py
- # https://github.com/lepture/authlib is not packaged.
- tests/integration_tests/api/auth_methods/test_oidc.py
-)
diff --git a/dev-python/hvac/hvac-1.2.0.ebuild b/dev-python/hvac/hvac-1.2.0.ebuild
deleted file mode 100644
index 143be3d93ea6..000000000000
--- a/dev-python/hvac/hvac-1.2.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="HashiCorp Vault API client"
-HOMEPAGE="
- https://github.com/hvac/hvac/
- https://pypi.org/project/hvac/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/pyhcl-0.4.4[${PYTHON_USEDEP}]
- >=dev-python/requests-2.24.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
- dev-python/jwcrypto[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- dev-python/semantic-version[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # ldap_test is not packaged.
- tests/integration_tests/api/auth_methods/test_ldap.py
- # https://github.com/lepture/authlib is not packaged.
- tests/integration_tests/api/auth_methods/test_oidc.py
-)
diff --git a/dev-python/hvac/hvac-1.2.1.ebuild b/dev-python/hvac/hvac-1.2.1.ebuild
deleted file mode 100644
index 143be3d93ea6..000000000000
--- a/dev-python/hvac/hvac-1.2.1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="HashiCorp Vault API client"
-HOMEPAGE="
- https://github.com/hvac/hvac/
- https://pypi.org/project/hvac/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/pyhcl-0.4.4[${PYTHON_USEDEP}]
- >=dev-python/requests-2.24.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
- dev-python/jwcrypto[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- dev-python/semantic-version[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # ldap_test is not packaged.
- tests/integration_tests/api/auth_methods/test_ldap.py
- # https://github.com/lepture/authlib is not packaged.
- tests/integration_tests/api/auth_methods/test_oidc.py
-)
diff --git a/dev-python/hvac/hvac-2.0.0.ebuild b/dev-python/hvac/hvac-2.0.0.ebuild
deleted file mode 100644
index 143be3d93ea6..000000000000
--- a/dev-python/hvac/hvac-2.0.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="HashiCorp Vault API client"
-HOMEPAGE="
- https://github.com/hvac/hvac/
- https://pypi.org/project/hvac/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/pyhcl-0.4.4[${PYTHON_USEDEP}]
- >=dev-python/requests-2.24.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
- dev-python/jwcrypto[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/parameterized[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- dev-python/semantic-version[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # ldap_test is not packaged.
- tests/integration_tests/api/auth_methods/test_ldap.py
- # https://github.com/lepture/authlib is not packaged.
- tests/integration_tests/api/auth_methods/test_oidc.py
-)
diff --git a/dev-python/hvac/hvac-2.3.0.ebuild b/dev-python/hvac/hvac-2.3.0.ebuild
new file mode 100644
index 000000000000..3672b3bfaabf
--- /dev/null
+++ b/dev-python/hvac/hvac-2.3.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="HashiCorp Vault API client"
+HOMEPAGE="
+ https://github.com/hvac/hvac/
+ https://pypi.org/project/hvac/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/pyhcl-0.4.4[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.24.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/flask-sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/jwcrypto[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/semantic-version[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # ldap_test is not packaged.
+ tests/integration_tests/api/auth_methods/test_ldap.py
+ # https://github.com/lepture/authlib is not packaged.
+ tests/integration_tests/api/auth_methods/test_oidc.py
+)
diff --git a/dev-python/hypercorn/Manifest b/dev-python/hypercorn/Manifest
index 685dee3ef8ac..3b4d3e8aec3c 100644
--- a/dev-python/hypercorn/Manifest
+++ b/dev-python/hypercorn/Manifest
@@ -1,2 +1 @@
-DIST hypercorn-0.14.4.gh.tar.gz 156001 BLAKE2B 262cbaba3df674b07dd5f6c15418cac18b46c2303a8ff616c8d2e968ff233d15bf616f2d3d0dbacda03f819251453be1b00cee4b98fdfaaed49f40cdcfb43119 SHA512 461b6fab72586b3bdea25ded6c0439595a8f84d5fb0b1a264f976926d9d34cb21f52bd10c84b9180d08fb05942f9fdb842343d4c6c476dcd60a26399387a2373
-DIST hypercorn-0.15.0.gh.tar.gz 156271 BLAKE2B 906b1b9c90c8150498ce6b8ac6f5de50373980381cd5ead206dd38be166b7e2ff0a1460aa08b2e4039d70b0412f2e38646836a867c623a2f0ff820f985cd79bc SHA512 a110f7e74eab99924c842715bdd9b32f0b3003eab4a4105968cf6779b69cb6e403dd8fd1b9910400994d25b9bf1a4d0956c99458bfcda70b1b8db2688859bacd
+DIST hypercorn-0.17.3.gh.tar.gz 162354 BLAKE2B 60e5e0edbf60330e1a172d8b86ed1e0b2bfbb047dca22bf9eecfd672d8bdcf7a224658d0b5b123fb5f63fcff74ad2928760df58c1be065e4849c5bd36cc5f90f SHA512 d1dd42445af580d4083cfae906cbed7d74b9378be93b476ef2188744f9f17a041b496b270847a8a47ffd99198513f6133942367fc7a11d4d502353c1204a1abb
diff --git a/dev-python/hypercorn/hypercorn-0.14.4.ebuild b/dev-python/hypercorn/hypercorn-0.14.4.ebuild
deleted file mode 100644
index a6d2d16cb137..000000000000
--- a/dev-python/hypercorn/hypercorn-0.14.4.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A ASGI Server based on Hyper libraries and inspired by Gunicorn"
-HOMEPAGE="
- https://github.com/pgjones/hypercorn/
- https://pypi.org/project/hypercorn/
-"
-SRC_URI="
- https://github.com/pgjones/hypercorn/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/h11[${PYTHON_USEDEP}]
- >=dev-python/h2-3.1.0[${PYTHON_USEDEP}]
- dev-python/priority[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/exceptiongroup-1.1.0[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{8..10})
- >=dev-python/wsproto-0.14.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-trio[${PYTHON_USEDEP}]
- >=dev-python/trio-0.22.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e 's:--no-cov-on-fail::' pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/hypercorn/hypercorn-0.15.0.ebuild b/dev-python/hypercorn/hypercorn-0.15.0.ebuild
deleted file mode 100644
index 8c37ffd920d3..000000000000
--- a/dev-python/hypercorn/hypercorn-0.15.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A ASGI Server based on Hyper libraries and inspired by Gunicorn"
-HOMEPAGE="
- https://github.com/pgjones/hypercorn/
- https://pypi.org/project/Hypercorn/
-"
-SRC_URI="
- https://github.com/pgjones/hypercorn/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ia64 ~ppc ~ppc64 ~riscv sparc x86"
-
-RDEPEND="
- >=dev-python/exceptiongroup-1.1.0[${PYTHON_USEDEP}]
- dev-python/h11[${PYTHON_USEDEP}]
- >=dev-python/h2-3.1.0[${PYTHON_USEDEP}]
- dev-python/priority[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/taskgroup[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- >=dev-python/wsproto-0.14.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-trio[${PYTHON_USEDEP}]
- >=dev-python/trio-0.22.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e 's:--no-cov-on-fail::' pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/hypercorn/hypercorn-0.17.3.ebuild b/dev-python/hypercorn/hypercorn-0.17.3.ebuild
new file mode 100644
index 000000000000..be3a6279a284
--- /dev/null
+++ b/dev-python/hypercorn/hypercorn-0.17.3.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A ASGI Server based on Hyper libraries and inspired by Gunicorn"
+HOMEPAGE="
+ https://github.com/pgjones/hypercorn/
+ https://pypi.org/project/Hypercorn/
+"
+SRC_URI="
+ https://github.com/pgjones/hypercorn/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/h11[${PYTHON_USEDEP}]
+ >=dev-python/h2-3.1.0[${PYTHON_USEDEP}]
+ dev-python/priority[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.1.0[${PYTHON_USEDEP}]
+ dev-python/taskgroup[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10)
+ >=dev-python/wsproto-0.14.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-trio[${PYTHON_USEDEP}]
+ >=dev-python/trio-0.22.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e 's:--no-cov-on-fail::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/hyperframe/hyperframe-6.0.1-r1.ebuild b/dev-python/hyperframe/hyperframe-6.0.1-r1.ebuild
index fd61495e21b9..5c0ad3bfcc12 100644
--- a/dev-python/hyperframe/hyperframe-6.0.1-r1.ebuild
+++ b/dev-python/hyperframe/hyperframe-6.0.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/hyperlink/hyperlink-21.0.0-r1.ebuild b/dev-python/hyperlink/hyperlink-21.0.0-r1.ebuild
index 61ec4a926554..b992c0472523 100644
--- a/dev-python/hyperlink/hyperlink-21.0.0-r1.ebuild
+++ b/dev-python/hyperlink/hyperlink-21.0.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/hypothesis/Manifest b/dev-python/hypothesis/Manifest
index 0804cb2ad869..1e5e3f928c75 100644
--- a/dev-python/hypothesis/Manifest
+++ b/dev-python/hypothesis/Manifest
@@ -1,2 +1,5 @@
-DIST hypothesis-6.90.0.gh.tar.gz 9395761 BLAKE2B fb910f8f885355d6045f1f218dedf35e6713fbed8d9d247310ec7a8b7aa4549b30715a50ebb0daa5e48f863b6c582a8cbc8910f26ab0da0476bc423f942534fc SHA512 02ca4f5b4c0c6cc2b949d46ac221a3c06a9d05fb89fc17c1a8e42813172b914822ba484970a20d1be1900e5396bf020ba1e274344aa8bf16253f18a6f11c6ac1
-DIST hypothesis-6.91.0.gh.tar.gz 9396774 BLAKE2B c2db54aa0cb95725c2ef38854ee04d756551746ea2b9eb5b79728dec274ffed08b9e8357616ce7057f4e988d3194017ea35849bfb88a35ce8d9574dd6710c582 SHA512 e6280e14e600305a0d9007c086fb55a2c5f441e40274d920d627d7cf12f07b0fe65d1e64c42ad712d662cf0f5aa41bfbb00b6ae3a716e88dacb7c72c3067601c
+DIST hypothesis-6.104.1.gh.tar.gz 9466716 BLAKE2B 5ddefd5199bfb22ef8c2c2ae995de5353e7d067f044788f4cd9423cfa4674ff1c5a05760d686f4b4dd5fe9afb2b4ba1cdb38aa7d590575f79d75c460adde63ab SHA512 a9eef39e3cc8fde806cb860f47190239a680c3203ca0228450a7c999ee9618964e201c05a994835e5513f7945b3a5f830fd9fa941d4cfdf4793e5e2fb266df47
+DIST hypothesis-6.107.0.gh.tar.gz 9470192 BLAKE2B 721d9ee1281600bca8387e396c1d79316db3130061ac40635f8cb8ba3cf91ad0417debe1276efb21cadf5e5f8ae856d13b82fc674313a21549adff645ce07b1f SHA512 13403073167d24e80fec4ed256a60e696b79b900a45dbd9f349b123fbefe3c7fa5daac6f35200d5198d4565033b65792cd1fd8a7816955aeddbbc0c7bb93d578
+DIST hypothesis-6.108.0.gh.tar.gz 9472307 BLAKE2B 778c0c33b29fdf933d8321f0b5f0b7c14390ee5511da2290c398c47a9c787274430a3465ab0084aece7363112a7de2465bd1ab0e00984eca067ec672915079d0 SHA512 93b3028025a3c799a796b8781551b04d1eeb9ca41b924c17a275c394f25a552d33a0fd0fa28f24bf0d39eb8dc85d4af57979d9f3321b6901ddc0c56695deef5b
+DIST hypothesis-6.108.2.gh.tar.gz 9472513 BLAKE2B 1d3175fe390699e503d1341274461b5855cbfb934760ce47f53a546193ac71b66f06dbb8089c6af7a623a2cc6c62416f35851bb69ef49f13f622b7cefea37c6c SHA512 967b5f6372d5fd32aaf8258e03dca8d0f794908d34883295269ad271f8d0a89a5a433ba170d22a844d27c0145e74ee6c656577055b89aaa4e354955f93f5a55c
+DIST hypothesis-6.108.4.gh.tar.gz 9472674 BLAKE2B 88983672fc7161ce44c88cd47cfb0fd44a66dcb6c6245e0f1d38e4811b11ff844022515e0655d61a40e9c0f195b930cc1c3ca0cee54a443e07b163bd276147d1 SHA512 cba9a16713ae4d646e4e9db0711191157580776327e590785be86d59863c843649a06535b3e3b766c4aef6344d6046879cf69e224d4a6c9fab0ec7dcda17063d
diff --git a/dev-python/hypothesis/hypothesis-6.104.1.ebuild b/dev-python/hypothesis/hypothesis-6.104.1.ebuild
new file mode 100644
index 000000000000..e5f588dc4dcf
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.104.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( "${CLI_COMPAT[@]}" )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ !!<dev-python/requests-toolbelt-0.10.1
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # failing due to warnings from numpy/cython
+ hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= tests/cover tests/pytest tests/quality
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/hypothesis/hypothesis-6.107.0.ebuild b/dev-python/hypothesis/hypothesis-6.107.0.ebuild
new file mode 100644
index 000000000000..d401f55b2788
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.107.0.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( "${CLI_COMPAT[@]}" )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ !!<dev-python/requests-toolbelt-0.10.1
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # failing due to warnings from numpy/cython
+ hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= tests/cover tests/pytest tests/quality
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/hypothesis/hypothesis-6.108.0.ebuild b/dev-python/hypothesis/hypothesis-6.108.0.ebuild
new file mode 100644
index 000000000000..d401f55b2788
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.108.0.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( "${CLI_COMPAT[@]}" )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ !!<dev-python/requests-toolbelt-0.10.1
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # failing due to warnings from numpy/cython
+ hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= tests/cover tests/pytest tests/quality
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/hypothesis/hypothesis-6.108.2.ebuild b/dev-python/hypothesis/hypothesis-6.108.2.ebuild
new file mode 100644
index 000000000000..d401f55b2788
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.108.2.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( "${CLI_COMPAT[@]}" )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ !!<dev-python/requests-toolbelt-0.10.1
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # failing due to warnings from numpy/cython
+ hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= tests/cover tests/pytest tests/quality
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/hypothesis/hypothesis-6.108.4.ebuild b/dev-python/hypothesis/hypothesis-6.108.4.ebuild
new file mode 100644
index 000000000000..d401f55b2788
--- /dev/null
+++ b/dev-python/hypothesis/hypothesis-6.108.4.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+CLI_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( "${CLI_COMPAT[@]}" )
+PYTHON_REQ_USE="threads(+),sqlite"
+
+inherit distutils-r1 optfeature
+
+TAG=hypothesis-python-${PV}
+MY_P=hypothesis-${TAG}
+DESCRIPTION="A library for property based testing"
+HOMEPAGE="
+ https://github.com/HypothesisWorks/hypothesis/
+ https://pypi.org/project/hypothesis/
+"
+SRC_URI="
+ https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/hypothesis-python"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="cli"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ ' 3.9 3.10)
+ cli? (
+ $(python_gen_cond_dep '
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/click[${PYTHON_USEDEP}]
+ ' "${CLI_COMPAT[@]}")
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ !!<dev-python/requests-toolbelt-0.10.1
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ # subtests are broken by warnings from random plugins
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
+ local -x HYPOTHESIS_NO_PLUGINS=1
+
+ # NB: paths need to be relative to pytest.ini,
+ # i.e. start with hypothesis-python/
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # failing due to warnings from numpy/cython
+ hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
+ )
+ ;;
+ esac
+
+ epytest -o filterwarnings= tests/cover tests/pytest tests/quality
+}
+
+src_install() {
+ local HAD_CLI=
+
+ distutils-r1_src_install
+
+ if [[ ! ${HAD_CLI} ]]; then
+ rm -r "${ED}/usr/bin" || die
+ fi
+}
+
+python_install() {
+ distutils-r1_python_install
+ if use cli && has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
+ HAD_CLI=1
+ else
+ rm -r "${D}$(python_get_scriptdir)" || die
+ fi
+}
+
+pkg_postinst() {
+ optfeature "datetime support" dev-python/pytz
+ optfeature "dateutil support" dev-python/python-dateutil
+ optfeature "numpy support" dev-python/numpy
+ optfeature "django support" dev-python/django dev-python/pytz
+ optfeature "pandas support" dev-python/pandas
+ optfeature "pytest support" dev-python/pytest
+}
diff --git a/dev-python/hypothesis/hypothesis-6.90.0.ebuild b/dev-python/hypothesis/hypothesis-6.90.0.ebuild
deleted file mode 100644
index a61663724aa9..000000000000
--- a/dev-python/hypothesis/hypothesis-6.90.0.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-CLI_COMPAT=( python3_{10..12} )
-PYTHON_COMPAT=( "${CLI_COMPAT[@]}" pypy3 )
-PYTHON_REQ_USE="threads(+),sqlite"
-
-inherit distutils-r1 multiprocessing optfeature
-
-TAG=hypothesis-python-${PV}
-MY_P=hypothesis-${TAG}
-DESCRIPTION="A library for property based testing"
-HOMEPAGE="
- https://github.com/HypothesisWorks/hypothesis/
- https://pypi.org/project/hypothesis/
-"
-SRC_URI="
- https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/hypothesis-python"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="cli"
-
-RDEPEND="
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
- ' 3.9 3.10)
- cli? (
- $(python_gen_cond_dep '
- dev-python/black[${PYTHON_USEDEP}]
- dev-python/click[${PYTHON_USEDEP}]
- ' "${CLI_COMPAT[@]}")
- )
-"
-BDEPEND="
- test? (
- dev-python/pexpect[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- !!<dev-python/requests-toolbelt-0.10.1
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- # subtests are broken by warnings from random plugins
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
- local -x HYPOTHESIS_NO_PLUGINS=1
-
- # NB: paths need to be relative to pytest.ini,
- # i.e. start with hypothesis-python/
- local EPYTEST_DESELECT=()
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # failing due to warnings from numpy/cython
- hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
- )
- ;;
- esac
-
- epytest -o filterwarnings= -n "$(makeopts_jobs)" --dist=worksteal \
- tests/cover tests/pytest tests/quality
-}
-
-python_install() {
- distutils-r1_python_install
- if ! use cli || ! has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
- rm -r "${ED}/usr/bin" "${D}$(python_get_scriptdir)" || die
- fi
-}
-
-pkg_postinst() {
- optfeature "datetime support" dev-python/pytz
- optfeature "dateutil support" dev-python/python-dateutil
- optfeature "numpy support" dev-python/numpy
- optfeature "django support" dev-python/django dev-python/pytz
- optfeature "pandas support" dev-python/pandas
- optfeature "pytest support" dev-python/pytest
-}
diff --git a/dev-python/hypothesis/hypothesis-6.91.0.ebuild b/dev-python/hypothesis/hypothesis-6.91.0.ebuild
deleted file mode 100644
index ad99abb563b8..000000000000
--- a/dev-python/hypothesis/hypothesis-6.91.0.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-CLI_COMPAT=( python3_{10..12} )
-PYTHON_COMPAT=( "${CLI_COMPAT[@]}" pypy3 )
-PYTHON_REQ_USE="threads(+),sqlite"
-
-inherit distutils-r1 multiprocessing optfeature
-
-TAG=hypothesis-python-${PV}
-MY_P=hypothesis-${TAG}
-DESCRIPTION="A library for property based testing"
-HOMEPAGE="
- https://github.com/HypothesisWorks/hypothesis/
- https://pypi.org/project/hypothesis/
-"
-SRC_URI="
- https://github.com/HypothesisWorks/hypothesis/archive/${TAG}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/hypothesis-python"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="cli"
-
-RDEPEND="
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- >=dev-python/sortedcontainers-2.1.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
- ' 3.9 3.10)
- cli? (
- $(python_gen_cond_dep '
- dev-python/black[${PYTHON_USEDEP}]
- dev-python/click[${PYTHON_USEDEP}]
- ' "${CLI_COMPAT[@]}")
- )
-"
-BDEPEND="
- test? (
- dev-python/pexpect[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- !!<dev-python/requests-toolbelt-0.10.1
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- # subtests are broken by warnings from random plugins
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=xdist.plugin,_hypothesis_pytestplugin
- local -x HYPOTHESIS_NO_PLUGINS=1
-
- # NB: paths need to be relative to pytest.ini,
- # i.e. start with hypothesis-python/
- local EPYTEST_DESELECT=()
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # failing due to warnings from numpy/cython
- hypothesis-python/tests/pytest/test_fixtures.py::test_given_plus_overridden_fixture
- )
- ;;
- esac
-
- epytest -o filterwarnings= -n "$(makeopts_jobs)" --dist=worksteal \
- tests/cover tests/pytest tests/quality
-}
-
-python_install() {
- distutils-r1_python_install
- if ! use cli || ! has "${EPYTHON}" "${CLI_COMPAT[@]/_/.}"; then
- rm -r "${ED}/usr/bin" "${D}$(python_get_scriptdir)" || die
- fi
-}
-
-pkg_postinst() {
- optfeature "datetime support" dev-python/pytz
- optfeature "dateutil support" dev-python/python-dateutil
- optfeature "numpy support" dev-python/numpy
- optfeature "django support" dev-python/django dev-python/pytz
- optfeature "pandas support" dev-python/pandas
- optfeature "pytest support" dev-python/pytest
-}
diff --git a/dev-python/icalendar/Manifest b/dev-python/icalendar/Manifest
index cc24d252ef12..fb7ca1bb5883 100644
--- a/dev-python/icalendar/Manifest
+++ b/dev-python/icalendar/Manifest
@@ -1 +1,2 @@
-DIST icalendar-5.0.11.tar.gz 112178 BLAKE2B 6b71d0a391643435729ed39caadffb0aff6893be26d1e3bd887a69d9156df30d0b798fb3c5d2f268f602a9953400a30c3aae49698008108f2ba810d2bba1eb5e SHA512 ac567ac761fde076d5895a3353fff4de9244847689d4f5366d918223a49f1ffa87063f8bb55b7458092369482868e40d2c9925ea7d95e77feeaf3d9711a5b7d9
+DIST icalendar-5.0.13.tar.gz 119371 BLAKE2B ab0673af636b76682f1b0409df4333511c9cb19623dbdc639d84f46dcb9c14580ebfc1ea0465aa22b729852d5eaf76b12aa76041d189bcb3099f205caf43fac4 SHA512 df688298acc0bf3cf25aa08b16e149abab696e44540f11695a654065b90316189460481bde17d68e7c6760c1c4bfbbc74e9d7c7e3e640b5a1978d2c6faafbb78
+DIST icalendar-6.0.0a0.tar.gz 133899 BLAKE2B 33cc480e4c5422223837094f341b4057b374c0ec54ff56a27f9ade09a9dfe4f9c8c0ba295a811a9e2c457229183d5b4e335eff1fdd2f70d323664c4ba7203967 SHA512 79d7e4a634bbb68fbac1eccfb208f11bcf1ecfc061fd764e7370c0a33f8ae660e82d5d729404e87e6b1f8c5b3b35f1dbd1c2d22eb27ae5305efdd20177791fec
diff --git a/dev-python/icalendar/icalendar-5.0.11.ebuild b/dev-python/icalendar/icalendar-5.0.11.ebuild
deleted file mode 100644
index 9a5e613bc389..000000000000
--- a/dev-python/icalendar/icalendar-5.0.11.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Package used for parsing and generating iCalendar files (RFC 2445)"
-HOMEPAGE="
- https://github.com/collective/icalendar/
- https://pypi.org/project/icalendar/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # reset conf.py to not read version from an installed instance
- sed -e "s:pkg_resources.get_distribution('icalendar').version:'${PV}':" \
- -i docs/conf.py || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/icalendar/icalendar-5.0.13.ebuild b/dev-python/icalendar/icalendar-5.0.13.ebuild
new file mode 100644
index 000000000000..5c66a30dc530
--- /dev/null
+++ b/dev-python/icalendar/icalendar-5.0.13.ebuild
@@ -0,0 +1,39 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Package used for parsing and generating iCalendar files (RFC 2445)"
+HOMEPAGE="
+ https://github.com/collective/icalendar/
+ https://pypi.org/project/icalendar/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # reset conf.py to not read version from an installed instance
+ sed -e "s:pkg_resources.get_distribution('icalendar').version:'${PV}':" \
+ -i docs/conf.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/icalendar/icalendar-6.0.0_alpha0.ebuild b/dev-python/icalendar/icalendar-6.0.0_alpha0.ebuild
new file mode 100644
index 000000000000..6ea93a735836
--- /dev/null
+++ b/dev-python/icalendar/icalendar-6.0.0_alpha0.ebuild
@@ -0,0 +1,42 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Package used for parsing and generating iCalendar files (RFC 2445)"
+HOMEPAGE="
+ https://github.com/collective/icalendar/
+ https://pypi.org/project/icalendar/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/tzdata[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-copybutton \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # reset conf.py to not read version from an installed instance
+ sed -e "s:pkg_resources.get_distribution('icalendar').version:'${PV}':" \
+ -i docs/conf.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/identify/Manifest b/dev-python/identify/Manifest
index 9fda44126e9f..00725cece12e 100644
--- a/dev-python/identify/Manifest
+++ b/dev-python/identify/Manifest
@@ -1,2 +1,2 @@
-DIST identify-2.5.31.gh.tar.gz 101612 BLAKE2B 1b74bf8b352cc0f6f0051ccdba192515a1436bfa9e41f971ac929e356737c586c48d1684b982d468e42489e97913a46357dc705a766066c9edb6e6d43f1bbf89 SHA512 00116339c82625087c58a7393bf88800608a152a56fd03b13d1e9ff8c404fa9cfc6ac6824ac1b6eadba572f0e13fb0010789bcdefb7f551b15df4c3de98f77bc
-DIST identify-2.5.32.gh.tar.gz 101673 BLAKE2B a24c0df85c482fbc04adce0be258aa96ffa387eb569365fcdf589cf5fc4d3823ade3c60a0e2e9df65610506bc0d74c532b9964af1fea367191e3c4572e62388f SHA512 104326e2c1529c89425eeaf738a65bf9fc7f2dfa99e7aae18b33c8250aa34f3ead0371dbd2dad9253100de59f618c6c8d3c033f406eec179f1dcce47fe43fc36
+DIST identify-2.5.36.gh.tar.gz 101732 BLAKE2B c0f7d7f57a757ec828b7def3a0e7e544855bf4eed8f3b612cc35acda34f05379c5267eb33a0110080708c50a838983a6d662130e297f2e0a00382025c58ccf61 SHA512 713ce08bafc076d2724f847c0b051036072d6b8d53c77a0ca011b7ec3af4ec27381de3ef4622235db0791ef4fc449514f78c2ad250d77c055e9fec9dc6f14a57
+DIST identify-2.6.0.gh.tar.gz 101732 BLAKE2B 0c6cdd8801861ac2b33c812766008d3e1a689ea09ee698441439aa2c02207f9f05983f7cbbdf1e999cdf4b34a6994a60c12249cf6722b690ae05126bc3178273 SHA512 0e7b27783fc9133d76247811e1bbd92b1c2f54c2feef6a603e725f92af44b8f595a5b39162db3b9f4cebdf2fe58587bb10f9d93a745d5cb6b507892d67c32899
diff --git a/dev-python/identify/identify-2.5.31.ebuild b/dev-python/identify/identify-2.5.31.ebuild
deleted file mode 100644
index 83e6e1b17c1f..000000000000
--- a/dev-python/identify/identify-2.5.31.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="File identification library for Python"
-HOMEPAGE="
- https://github.com/pre-commit/identify/
- https://pypi.org/project/identify/
-"
-SRC_URI="
- https://github.com/pre-commit/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~hppa ~ppc ~ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/ukkonen[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/identify/identify-2.5.32.ebuild b/dev-python/identify/identify-2.5.32.ebuild
deleted file mode 100644
index 906b58d7a709..000000000000
--- a/dev-python/identify/identify-2.5.32.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="File identification library for Python"
-HOMEPAGE="
- https://github.com/pre-commit/identify/
- https://pypi.org/project/identify/
-"
-SRC_URI="
- https://github.com/pre-commit/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- dev-python/ukkonen[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/identify/identify-2.5.36.ebuild b/dev-python/identify/identify-2.5.36.ebuild
new file mode 100644
index 000000000000..90e00b762c78
--- /dev/null
+++ b/dev-python/identify/identify-2.5.36.ebuild
@@ -0,0 +1,29 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="File identification library for Python"
+HOMEPAGE="
+ https://github.com/pre-commit/identify/
+ https://pypi.org/project/identify/
+"
+SRC_URI="
+ https://github.com/pre-commit/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~hppa ~ppc ~ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/ukkonen[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/identify/identify-2.6.0.ebuild b/dev-python/identify/identify-2.6.0.ebuild
new file mode 100644
index 000000000000..6294eec35289
--- /dev/null
+++ b/dev-python/identify/identify-2.6.0.ebuild
@@ -0,0 +1,29 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="File identification library for Python"
+HOMEPAGE="
+ https://github.com/pre-commit/identify/
+ https://pypi.org/project/identify/
+"
+SRC_URI="
+ https://github.com/pre-commit/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/ukkonen[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/identify/metadata.xml b/dev-python/identify/metadata.xml
index 9e1cf7348f8c..331006424b6f 100644
--- a/dev-python/identify/metadata.xml
+++ b/dev-python/identify/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/idna/Manifest b/dev-python/idna/Manifest
index 9bbd0102a95b..ca35c4d0d260 100644
--- a/dev-python/idna/Manifest
+++ b/dev-python/idna/Manifest
@@ -1,3 +1 @@
-DIST idna-3.4.tar.gz 183077 BLAKE2B dd6c94104e17b441a7a63aec4e28f1969278996964c402865da8ad1040878539f798956e26532281cc44934544fd6fa33407949caf4a34fa2b48d7aafbb8fb5e SHA512 4060a9304c9bac04efdd0b97ec8f5aeb7e17417e767bf51c5dfc26605edad25ab67456cf6f6a3c5a9f32b8247e46f6343edfd8a6ffbcd6d1075c71e66d089d6a
-DIST idna-3.5.gh.tar.gz 184973 BLAKE2B 68b39c00850663f5966ed1ee8c287a0026c441ed052b52aa6243cd595f6cd6fe62a7fe61b9b855c4ee851144fae2e88eda7bbd8405c66e37a9ad42ddc87cf361 SHA512 a806e4f96f2f1034dd634f3c86e80c6e7929a80c0773e4b2749466b691d38b94b6ea64994613cb5f8764754c1c9813eade4b74105f64233671b8eeaca7125bdc
-DIST idna-3.6.tar.gz 175426 BLAKE2B 962f2e1fdeb4abe28a198f2b469142df1ca336298dd4727c1d51871e747a17da0b946d09ef32b820b23e5fb103f5ab74234b31bd8540c52cf9d87e901326ca19 SHA512 8bea880d1b2fae1511f21381d73445f62e786c385eb949d2c39e611f71cb6f31f7e54927833a0f456e340857d384d960ab9e6ae31ac7481314254646de656cc0
+DIST idna-3.7.tar.gz 189575 BLAKE2B b604f5e69775b6052e3358a31ea0154832264979a992db51130a0f0e7c5ef9163e97e15956cfd599212ba233c789706a4a2ea8051c3baeda5abc3657bdf40902 SHA512 b50e5ae117b67c7076125d6943e3436200676f85d7dd1b5a5414e217e73904ef077f0b1108d9781ab4afe2a66f7c9e1ce8262ce51edeb2d29e4c504147b6c4cc
diff --git a/dev-python/idna/idna-3.4.ebuild b/dev-python/idna/idna-3.4.ebuild
deleted file mode 100644
index a6ed17f15814..000000000000
--- a/dev-python/idna/idna-3.4.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
-EAPI=7
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Internationalized Domain Names in Applications (IDNA)"
-HOMEPAGE="
- https://github.com/kjd/idna/
- https://pypi.org/project/idna/
-"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-distutils_enable_tests unittest
diff --git a/dev-python/idna/idna-3.5.ebuild b/dev-python/idna/idna-3.5.ebuild
deleted file mode 100644
index 5eb91e865ff8..000000000000
--- a/dev-python/idna/idna-3.5.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Internationalized Domain Names in Applications (IDNA)"
-HOMEPAGE="
- https://github.com/kjd/idna/
- https://pypi.org/project/idna/
-"
-SRC_URI="
- https://github.com/kjd/idna/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
-"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-distutils_enable_tests unittest
diff --git a/dev-python/idna/idna-3.6.ebuild b/dev-python/idna/idna-3.6.ebuild
deleted file mode 100644
index 863c51847bdb..000000000000
--- a/dev-python/idna/idna-3.6.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Internationalized Domain Names in Applications (IDNA)"
-HOMEPAGE="
- https://github.com/kjd/idna/
- https://pypi.org/project/idna/
-"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-distutils_enable_tests unittest
diff --git a/dev-python/idna/idna-3.7.ebuild b/dev-python/idna/idna-3.7.ebuild
new file mode 100644
index 000000000000..9188787397d2
--- /dev/null
+++ b/dev-python/idna/idna-3.7.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Internationalized Domain Names in Applications (IDNA)"
+HOMEPAGE="
+ https://github.com/kjd/idna/
+ https://pypi.org/project/idna/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+distutils_enable_tests unittest
diff --git a/dev-python/ifaddr/ifaddr-0.2.0.ebuild b/dev-python/ifaddr/ifaddr-0.2.0.ebuild
index a8fee4f9a39e..506535880b0a 100644
--- a/dev-python/ifaddr/ifaddr-0.2.0.ebuild
+++ b/dev-python/ifaddr/ifaddr-0.2.0.ebuild
@@ -1,21 +1,21 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="Enumerate IP addresses on the local network adapters"
HOMEPAGE="
- https://github.com/pydron/ifaddr/
+ https://github.com/ifaddr/ifaddr/
https://pypi.org/project/ifaddr/
"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 ~arm arm64 x86 ~amd64-linux ~x86-linux"
distutils_enable_tests pytest
diff --git a/dev-python/ifaddr/metadata.xml b/dev-python/ifaddr/metadata.xml
index 00e0660e689b..9a07761404bb 100644
--- a/dev-python/ifaddr/metadata.xml
+++ b/dev-python/ifaddr/metadata.xml
@@ -11,6 +11,6 @@
<!-- not suitable for ALLARCHES - uses cdll -->
<upstream>
<remote-id type="pypi">ifaddr</remote-id>
- <remote-id type="github">pydron/ifaddr</remote-id>
+ <remote-id type="github">ifaddr/ifaddr</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/ijson/Manifest b/dev-python/ijson/Manifest
index 088eea6410ef..76200d550012 100644
--- a/dev-python/ijson/Manifest
+++ b/dev-python/ijson/Manifest
@@ -1 +1 @@
-DIST ijson-3.2.3.tar.gz 57596 BLAKE2B e85465829f8319e2e227b7b72633b65e7e77a8cd24fee877aded1f50383ffbbaddd82e5e3942c0b3f637a8e601c5101aa390889e8509ee2c61b6f3c9cf9a7249 SHA512 ca72ed08c7804611d7f9c5218d217087fe17358859d080741726b42072df1407afcf1f701e30d33f3f615e8c78ba247a3cc45e8e7e373f1d3168a63f397fd6eb
+DIST ijson-3.3.0.tar.gz 60079 BLAKE2B 53c92015c30ed285acec1f9e811521eeb9d22b2011b0398b23e44c1b0fff2b97e87b48b9058733db6002222913ebeb1a304763e7c5f8fe6c2d872f791d80ce39 SHA512 9517919b98904608f81ee0292968e9c8951e3e96cdec286d945eebcd94ae6322c08a878ebfabce3e226646bf04488710274563b1f48048707bc78e51941b5d23
diff --git a/dev-python/ijson/ijson-3.2.3.ebuild b/dev-python/ijson/ijson-3.2.3.ebuild
deleted file mode 100644
index 1133665c1e15..000000000000
--- a/dev-python/ijson/ijson-3.2.3.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Iterative JSON parser with a Pythonic interface"
-HOMEPAGE="
- https://github.com/ICRAR/ijson/
- https://pypi.org/project/ijson/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 x86"
-
-DEPEND="
- dev-libs/yajl
-"
-RDEPEND="
- ${DEPEND}
-"
-
-distutils_enable_tests pytest
-
-export IJSON_BUILD_YAJL2C=1
-
-python_test() {
- rm -rf ijson || die
- epytest
-}
diff --git a/dev-python/ijson/ijson-3.3.0.ebuild b/dev-python/ijson/ijson-3.3.0.ebuild
new file mode 100644
index 000000000000..6b47952e3db5
--- /dev/null
+++ b/dev-python/ijson/ijson-3.3.0.ebuild
@@ -0,0 +1,36 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Iterative JSON parser with a Pythonic interface"
+HOMEPAGE="
+ https://github.com/ICRAR/ijson/
+ https://pypi.org/project/ijson/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86"
+
+DEPEND="
+ dev-libs/yajl:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests pytest
+
+export IJSON_BUILD_YAJL2C=1
+
+python_test() {
+ rm -rf ijson || die
+ epytest
+}
diff --git a/dev-python/imageio-ffmpeg/Manifest b/dev-python/imageio-ffmpeg/Manifest
index e63e7f0825f6..b784b0c55423 100644
--- a/dev-python/imageio-ffmpeg/Manifest
+++ b/dev-python/imageio-ffmpeg/Manifest
@@ -1,2 +1,3 @@
-DIST imageio-ffmpeg-0.4.8.gh.tar.gz 27124 BLAKE2B 84ba7cbb46feae7e95b9d6f61e9b3289a753da7d78ad2848b593969c7f2a6f9e36307ca07a4b03f672fe8f61c697dcbf2dc236a2545b9ca9547fa6f174c96220 SHA512 aa6179d8c8cdbb49a60bea5ad570c6343d5e6b5a2678e88bacc484916ff806311c121143342f039ba9d41c8ac46ffbfe0adefe298e5eba0052d72c6e1707c4a6
DIST imageio-ffmpeg-0.4.9.gh.tar.gz 27344 BLAKE2B f9bf6421859f8b17aee5300613a14de9883436aaa724b61b8068498f533cc24ab4c8372a6de6ce4ab49218abb84af8a35e29e1ccbe9c913fcdcf2db159f13a92 SHA512 ebf63b9ac9c733d4c12d3aa4c6a9e81dd0128795a040e65df03bfae00e3562a3976eaa2f4058562bbddc3f8d63d6bf2a38133de4d2ddb0d2dc62ffab2449e143
+DIST imageio-ffmpeg-0.5.0.gh.tar.gz 27594 BLAKE2B 371aceb4760aac6a593d72f58526cedde2ce16c177adf421f5a9edecc1b6ae3eba0af307514014f1a8b45bf58375d9d3367167242d660f1b5e94778bc13bcc13 SHA512 e38d28da5b06f70e0a53647a2d490efb2c4b0201fd81395163bb1ed1dec3db4a1a29802ff1c6cbed0d7714db710304fe58b8e8e4f7cc0553f77417e97af21551
+DIST imageio-ffmpeg-0.5.1.gh.tar.gz 27587 BLAKE2B da508b5627e7b842e123a6b56302f8c4a6f6d8a5fe6a7ff82949a6d3f156b898c05e4f2ffe2b074223e788b31a68d6b49f8165f55d9aa5ab1e5c5a3b16ba10c5 SHA512 7971417ff3c5b36b2b0e09da6ee52a19efd662a3f8896a316e537d0c72ff7d65bffb87c2d01a6bd72ec6442d3aa736ebe38785e82cbe1d4b27a653fb83d08bef
diff --git a/dev-python/imageio-ffmpeg/files/imageio-ffmpeg-0.4.9-ffmpeg-6.patch b/dev-python/imageio-ffmpeg/files/imageio-ffmpeg-0.4.9-ffmpeg-6.patch
new file mode 100644
index 000000000000..196c21523426
--- /dev/null
+++ b/dev-python/imageio-ffmpeg/files/imageio-ffmpeg-0.4.9-ffmpeg-6.patch
@@ -0,0 +1,25 @@
+From e2ec5ea3b7d9e5fd3225a05891f3611e29adbd1d Mon Sep 17 00:00:00 2001
+From: Tom Vercauteren <tom.vercauteren@kcl.ac.uk>
+Date: Thu, 7 Mar 2024 14:28:21 +0000
+Subject: [PATCH] Add a null filter to re-enable frame count
+
+This aims at addressing https://github.com/imageio/imageio-ffmpeg/issues/99
+---
+ imageio_ffmpeg/_io.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/imageio_ffmpeg/_io.py b/imageio_ffmpeg/_io.py
+index b85c453..faf1ee8 100644
+--- a/imageio_ffmpeg/_io.py
++++ b/imageio_ffmpeg/_io.py
+@@ -153,8 +153,8 @@ def count_frames_and_secs(path):
+ path,
+ "-map",
+ "0:v:0",
+- "-c",
+- "copy",
++ "-vf",
++ "null",
+ "-f",
+ "null",
+ "-",
diff --git a/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.4.8.ebuild b/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.4.8.ebuild
deleted file mode 100644
index 5270c885eb44..000000000000
--- a/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.4.8.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="FFMPEG wrapper for Python"
-HOMEPAGE="
- https://github.com/imageio/imageio-ffmpeg/
- https://pypi.org/project/imageio-ffmpeg/
-"
-SRC_URI="
- https://github.com/imageio/imageio-ffmpeg/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-PROPERTIES="test_network"
-RESTRICT="test"
-
-# ffmpeg is used as an executable during runtime
-RDEPEND="
- media-video/ffmpeg:*
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e '/setup_requires/d' -i setup.py || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.4.9-r1.ebuild b/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.4.9-r1.ebuild
new file mode 100644
index 000000000000..375a32f86b2f
--- /dev/null
+++ b/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.4.9-r1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="FFMPEG wrapper for Python"
+HOMEPAGE="
+ https://github.com/imageio/imageio-ffmpeg/
+ https://pypi.org/project/imageio-ffmpeg/
+"
+SRC_URI="
+ https://github.com/imageio/imageio-ffmpeg/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+PROPERTIES="test_network"
+RESTRICT="test"
+
+# ffmpeg is used as an executable during runtime
+RDEPEND="
+ media-video/ffmpeg:*
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/imageio/imageio-ffmpeg/pull/107
+ "${FILESDIR}/${P}-ffmpeg-6.patch"
+)
diff --git a/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.4.9.ebuild b/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.4.9.ebuild
deleted file mode 100644
index caabdf39b65d..000000000000
--- a/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.4.9.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="FFMPEG wrapper for Python"
-HOMEPAGE="
- https://github.com/imageio/imageio-ffmpeg/
- https://pypi.org/project/imageio-ffmpeg/
-"
-SRC_URI="
- https://github.com/imageio/imageio-ffmpeg/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-PROPERTIES="test_network"
-RESTRICT="test"
-
-# ffmpeg is used as an executable during runtime
-RDEPEND="
- media-video/ffmpeg:*
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.5.0.ebuild b/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.5.0.ebuild
new file mode 100644
index 000000000000..ccbb512610be
--- /dev/null
+++ b/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.5.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="FFMPEG wrapper for Python"
+HOMEPAGE="
+ https://github.com/imageio/imageio-ffmpeg/
+ https://pypi.org/project/imageio-ffmpeg/
+"
+SRC_URI="
+ https://github.com/imageio/imageio-ffmpeg/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+PROPERTIES="test_network"
+RESTRICT="test"
+
+# ffmpeg is used as an executable during runtime
+RDEPEND="
+ media-video/ffmpeg:*
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.5.1.ebuild b/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.5.1.ebuild
new file mode 100644
index 000000000000..ccbb512610be
--- /dev/null
+++ b/dev-python/imageio-ffmpeg/imageio-ffmpeg-0.5.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="FFMPEG wrapper for Python"
+HOMEPAGE="
+ https://github.com/imageio/imageio-ffmpeg/
+ https://pypi.org/project/imageio-ffmpeg/
+"
+SRC_URI="
+ https://github.com/imageio/imageio-ffmpeg/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+PROPERTIES="test_network"
+RESTRICT="test"
+
+# ffmpeg is used as an executable during runtime
+RDEPEND="
+ media-video/ffmpeg:*
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/imageio/Manifest b/dev-python/imageio/Manifest
index aea1c401d9c1..6668c1e25857 100644
--- a/dev-python/imageio/Manifest
+++ b/dev-python/imageio/Manifest
@@ -1,5 +1,3 @@
-DIST imageio-2.31.6.gh.tar.gz 412220 BLAKE2B b8eb95d8bf4fd1f8a0873581f401667e5ad4bb1a4cc43527e163e292cac6177e095c140857e8acdd483029f8d155a7e7bde33b41fc53d5945ff42e2685f74d03 SHA512 10f9fc7ac7ef1c3352659ec29c66684133c51350e33f16c617806f75b6137aeb8a580975ae430afab16f06843efa3e41b7e4ab042fb183d44f1a3e5c1d68efeb
-DIST imageio-2.32.0.gh.tar.gz 412403 BLAKE2B 7e29d7e8008caeecbc4c76293da77fe85b0d3d4e6cd12b7ab8f5d0ab895bb22ff6d29bf70469ff848a8bc8449d5211d96f5a2fd9a31ec88beb93d1568ab78f50 SHA512 b2a1accdf48e23f1b3813fae5f68afa4501fad47968e20f91af2ba433c629748d6cec5a914c4b2288ce527c81aadea296bf1b2d877ef39b3ac99f85a60aa854d
-DIST imageio-2.33.0.gh.tar.gz 412609 BLAKE2B 4219199e7ba4810299f66b6d4870875e822d1db87dbfd3eb1e9cea2e74edc3c8f17625d7fdb7a8761db9127e85ccac090a68d01fb4bdf458474823f87cd1d55b SHA512 2dfbddf9489748a3d15851a711bbce9da039a8f3b81638124c51b3b96f06ea83de257132043113b8f5431c987d0701794fe341a17a4623a00c2fa827e6e5e4a1
-DIST imageio-chelsea.png 221294 BLAKE2B 58537d7a1678fa5be4cc899e5bacd925bfc180eb4ae691330a53749a49ff544e979609b529ed27e5c1fc9efe4bc050ca1ce49b777f4016fb1d66affd926ef9d3 SHA512 48470cdb843eed4dfa6673811c09c5aac9869ee23dd36be0c6b653d9f108d61d21b148c2a4435aaa6604887ba030e5bbc5e35d378da876366445dfc2d0ba4e27
-DIST imageio-cockatoo.mp4 728751 BLAKE2B 45b22cd517c1cb7c0cd12f8865facaca6a847047aea716e49633cf2b1dc13826f94787c8a8f9dd5f48c6a896f5d37794c0058da1bde9e1469f196916476dbfa2 SHA512 e9cb7c25de8019c59ba4090cf10ab29f2b5d62ada37a877081ca07d2ecfe010036222ae843b41bbcc843130d97fa5e14421de252639e9481df1d1c27b19add49
+DIST imageio-2.34.1.gh.tar.gz 413414 BLAKE2B 59371d0aeace317b9006a0b3b182b97259a53ca0d2288d8ee497234e4f2e7e253c1c27b40b2c5c1f531555a71c7f426ae6d4555043525aa88ca2818d26adfd7d SHA512 d7d1f99f735447e559c0b1fdc2dbe19f2991fb3c640cb9f1396d149c3c44f05e1c357ca8753fff8130625f8fb40a72f277ef09e7cec2b060d1a4f3a675e086a0
+DIST imageio-2.34.2.gh.tar.gz 413832 BLAKE2B 1aec3797a5ddf1d644577246e5aab4cde84913aea6befa66d038e1819fac50006fa44bcdac68d46acb0de723b538a88bb7985aa0f855ea62a0403600334a5e43 SHA512 07e5f2fbb46ba653eb3de4f59d4c04d77405e4c7d680a4f853b9b95bc7de48f33866a53f37f56cc8ae0b9e0f505771ab1aa57db9dd975db90077ce8ba0060f9f
+DIST imageio-test_images-1121036015c70cdbb3015e5c5ba0aaaf7d3d6021.gh.tar.gz 195497374 BLAKE2B 0083212fd63c196dc2e721bff8f89c177b6741317b6b1c6ae9d00a8dd5fb6366efa3f01b9bffafafac7177cfdaa4d700077a2bad42ada735f5553e97f651c4ad SHA512 1bb1f36a069bfaa0d0ffe5258534e02e49237fc6ce85fe3d3648650130165abc9b3d5ff0e7e5861ee1d94add00d4258575f9c2f8556debecf597bdaa5499efe0
diff --git a/dev-python/imageio/files/imageio-2.34.1-numpy-2.patch b/dev-python/imageio/files/imageio-2.34.1-numpy-2.patch
new file mode 100644
index 000000000000..c5c8288da471
--- /dev/null
+++ b/dev-python/imageio/files/imageio-2.34.1-numpy-2.patch
@@ -0,0 +1,36 @@
+From 511ad9b3705fc09d4654d69e42bbafef97bcb0a8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Sebastian=20Wallk=C3=B6tter?= <sebastian@wallkoetter.net>
+Date: Sat, 22 Jun 2024 14:56:11 +0200
+Subject: [PATCH] support numpy 2.0
+
+---
+ imageio/core/util.py | 2 ++
+ imageio/plugins/_dicom.py | 2 +-
+ 2 files changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/imageio/core/util.py b/imageio/core/util.py
+index 6b2830421..bfb7e9fe9 100644
+--- a/imageio/core/util.py
++++ b/imageio/core/util.py
+@@ -163,6 +163,8 @@ def __array_wrap__(self, out, context=None):
+ return out.dtype.type(out) # Scalar
+ elif out.shape != self.shape:
+ return out.view(type=np.ndarray)
++ elif not isinstance(out, Array):
++ return Array(out, self.meta)
+ else:
+ return out # Type Array
+
+diff --git a/imageio/plugins/_dicom.py b/imageio/plugins/_dicom.py
+index 96fb6fcde..2f2f7ac51 100644
+--- a/imageio/plugins/_dicom.py
++++ b/imageio/plugins/_dicom.py
+@@ -531,7 +531,7 @@ def _apply_slope_and_offset(self, data):
+ data = data.astype(np.float32)
+ else:
+ # Determine required range
+- minReq, maxReq = data.min(), data.max()
++ minReq, maxReq = data.min().item(), data.max().item()
+ minReq = min([minReq, minReq * slope + offset, maxReq * slope + offset])
+ maxReq = max([maxReq, minReq * slope + offset, maxReq * slope + offset])
+
diff --git a/dev-python/imageio/imageio-2.31.6.ebuild b/dev-python/imageio/imageio-2.31.6.ebuild
deleted file mode 100644
index 12482c30948d..000000000000
--- a/dev-python/imageio/imageio-2.31.6.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-BIN_COMMIT=224074bca448815e421a59266864c23041531a42
-DESCRIPTION="Python library for reading and writing image data"
-HOMEPAGE="
- https://imageio.readthedocs.io/en/stable/
- https://github.com/imageio/imageio/
- https://pypi.org/project/imageio/
-"
-SRC_URI="
- https://github.com/imageio/imageio/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- test? (
- https://github.com/imageio/imageio-binaries/raw/${BIN_COMMIT}/images/chelsea.png
- -> ${PN}-chelsea.png
- https://github.com/imageio/imageio-binaries/raw/${BIN_COMMIT}/images/cockatoo.mp4
- -> ${PN}-cockatoo.mp4
- )
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-# over 50% of tests rely on Internet
-PROPERTIES="test_network"
-RESTRICT="test"
-
-RDEPEND="
- >=dev-python/numpy-1.20.0[${PYTHON_USEDEP}]
- <dev-python/pillow-10.1[${PYTHON_USEDEP}]
- >=dev-python/pillow-8.3.2[${PYTHON_USEDEP}]
- media-libs/freeimage
-"
-# requests for fsspec[github]
-BDEPEND="
- test? (
- dev-python/fsspec[${PYTHON_USEDEP}]
- dev-python/imageio-ffmpeg[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/tifffile[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- local PATCHES=(
- # block silently downloading vulnerable libraries from the Internet
- "${FILESDIR}"/imageio-2.22.0-block-download.patch
- )
-
- if use test; then
- mkdir -p "${HOME}"/.imageio/images || die
- local i
- for i in chelsea.png cockatoo.mp4; do
- cp "${DISTDIR}/${PN}-${i}" "${HOME}/.imageio/images/${i}" || die
- done
- fi
-
- distutils-r1_src_prepare
-}
-
-EPYTEST_DESELECT=(
- # Fails because of system installed freeimage
- tests/test_core.py::test_findlib2
- # Tries to download ffmpeg binary ?!
- tests/test_ffmpeg.py::test_get_exe_installed
- # blocked by our patch
- tests/test_core.py::test_fetching
- tests/test_core.py::test_request
- # known broken
- # https://github.com/imageio/imageio/issues/890
- tests/test_freeimage.py::test_exr_write
-)
diff --git a/dev-python/imageio/imageio-2.32.0.ebuild b/dev-python/imageio/imageio-2.32.0.ebuild
deleted file mode 100644
index 4fd056e9c83f..000000000000
--- a/dev-python/imageio/imageio-2.32.0.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-BIN_COMMIT=224074bca448815e421a59266864c23041531a42
-DESCRIPTION="Python library for reading and writing image data"
-HOMEPAGE="
- https://imageio.readthedocs.io/en/stable/
- https://github.com/imageio/imageio/
- https://pypi.org/project/imageio/
-"
-SRC_URI="
- https://github.com/imageio/imageio/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- test? (
- https://github.com/imageio/imageio-binaries/raw/${BIN_COMMIT}/images/chelsea.png
- -> ${PN}-chelsea.png
- https://github.com/imageio/imageio-binaries/raw/${BIN_COMMIT}/images/cockatoo.mp4
- -> ${PN}-cockatoo.mp4
- )
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-# over 50% of tests rely on Internet
-PROPERTIES="test_network"
-RESTRICT="test"
-
-RDEPEND="
- >=dev-python/numpy-1.20.0[${PYTHON_USEDEP}]
- <dev-python/pillow-10.1[${PYTHON_USEDEP}]
- >=dev-python/pillow-8.3.2[${PYTHON_USEDEP}]
- media-libs/freeimage
-"
-# requests for fsspec[github]
-BDEPEND="
- test? (
- dev-python/fsspec[${PYTHON_USEDEP}]
- dev-python/imageio-ffmpeg[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/tifffile[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- local PATCHES=(
- # block silently downloading vulnerable libraries from the Internet
- "${FILESDIR}"/imageio-2.22.0-block-download.patch
- )
-
- if use test; then
- mkdir -p "${HOME}"/.imageio/images || die
- local i
- for i in chelsea.png cockatoo.mp4; do
- cp "${DISTDIR}/${PN}-${i}" "${HOME}/.imageio/images/${i}" || die
- done
- fi
-
- distutils-r1_src_prepare
-}
-
-EPYTEST_DESELECT=(
- # Fails because of system installed freeimage
- tests/test_core.py::test_findlib2
- # Tries to download ffmpeg binary ?!
- tests/test_ffmpeg.py::test_get_exe_installed
- # blocked by our patch
- tests/test_core.py::test_fetching
- tests/test_core.py::test_request
- # known broken
- # https://github.com/imageio/imageio/issues/890
- tests/test_freeimage.py::test_exr_write
- # requires pillow-heif, also possibly Internet
- tests/test_pillow.py::test_heif_remote
-)
diff --git a/dev-python/imageio/imageio-2.33.0.ebuild b/dev-python/imageio/imageio-2.33.0.ebuild
deleted file mode 100644
index 7e128e3c50b8..000000000000
--- a/dev-python/imageio/imageio-2.33.0.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-BIN_COMMIT=224074bca448815e421a59266864c23041531a42
-DESCRIPTION="Python library for reading and writing image data"
-HOMEPAGE="
- https://imageio.readthedocs.io/en/stable/
- https://github.com/imageio/imageio/
- https://pypi.org/project/imageio/
-"
-SRC_URI="
- https://github.com/imageio/imageio/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- test? (
- https://github.com/imageio/imageio-binaries/raw/${BIN_COMMIT}/images/chelsea.png
- -> ${PN}-chelsea.png
- https://github.com/imageio/imageio-binaries/raw/${BIN_COMMIT}/images/cockatoo.mp4
- -> ${PN}-cockatoo.mp4
- )
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-# over 50% of tests rely on Internet
-PROPERTIES="test_network"
-RESTRICT="test"
-
-RDEPEND="
- >=dev-python/numpy-1.20.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-8.3.2[${PYTHON_USEDEP}]
- media-libs/freeimage
-"
-# requests for fsspec[github]
-BDEPEND="
- test? (
- dev-python/fsspec[${PYTHON_USEDEP}]
- dev-python/imageio-ffmpeg[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/tifffile[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- local PATCHES=(
- # block silently downloading vulnerable libraries from the Internet
- "${FILESDIR}"/imageio-2.22.0-block-download.patch
- )
-
- if use test; then
- mkdir -p "${HOME}"/.imageio/images || die
- local i
- for i in chelsea.png cockatoo.mp4; do
- cp "${DISTDIR}/${PN}-${i}" "${HOME}/.imageio/images/${i}" || die
- done
- fi
-
- distutils-r1_src_prepare
-}
-
-EPYTEST_DESELECT=(
- # Fails because of system installed freeimage
- tests/test_core.py::test_findlib2
- # Tries to download ffmpeg binary ?!
- tests/test_ffmpeg.py::test_get_exe_installed
- # blocked by our patch
- tests/test_core.py::test_fetching
- tests/test_core.py::test_request
- # known broken
- # https://github.com/imageio/imageio/issues/890
- tests/test_freeimage.py::test_exr_write
- # requires pillow-heif, also possibly Internet
- tests/test_pillow.py::test_avif_remote
- tests/test_pillow.py::test_heif_remote
-)
diff --git a/dev-python/imageio/imageio-2.34.1-r1.ebuild b/dev-python/imageio/imageio-2.34.1-r1.ebuild
new file mode 100644
index 000000000000..7b5206ac9e00
--- /dev/null
+++ b/dev-python/imageio/imageio-2.34.1-r1.ebuild
@@ -0,0 +1,104 @@
+# 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
+
+TEST_IMAGES_COMMIT=1121036015c70cdbb3015e5c5ba0aaaf7d3d6021
+DESCRIPTION="Python library for reading and writing image data"
+HOMEPAGE="
+ https://imageio.readthedocs.io/en/stable/
+ https://github.com/imageio/imageio/
+ https://pypi.org/project/imageio/
+"
+SRC_URI="
+ https://github.com/imageio/imageio/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/imageio/test_images/archive/${TEST_IMAGES_COMMIT}.tar.gz
+ -> imageio-test_images-${TEST_IMAGES_COMMIT}.gh.tar.gz
+ )
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/numpy-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.3.2[${PYTHON_USEDEP}]
+ media-libs/freeimage
+"
+BDEPEND="
+ test? (
+ >=dev-python/imageio-ffmpeg-0.4.9-r1[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/tifffile[${PYTHON_USEDEP}]
+ || (
+ media-video/ffmpeg[openh264]
+ media-video/ffmpeg[x264]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # block silently downloading vulnerable libraries from the Internet
+ "${FILESDIR}/imageio-2.22.0-block-download.patch"
+ # https://github.com/imageio/imageio/pull/1089
+ "${FILESDIR}/${P}-numpy-2.patch"
+ )
+
+ if use test; then
+ mv "${WORKDIR}/test_images-${TEST_IMAGES_COMMIT}" .test_images || die
+ # upstream tries to update the image cache, and invalidates it
+ # if "git pull" fails
+ sed -i -e 's:git pull:true:' tests/conftest.py || die
+ # ffmpeg tests expect it there
+ mkdir -p "${HOME}/.imageio/images" || die
+ cp .test_images/cockatoo.mp4 "${HOME}/.imageio/images" || die
+ fi
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # uses fsspec to grab prebuilt .so from GitHub, sigh
+ tests/test_freeimage.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # Note: upstream has a needs_internet marker but it is also
+ # used to mark tests that require test_images checkout that we
+ # supply
+
+ # Tries to download ffmpeg binary ?!
+ tests/test_ffmpeg.py::test_get_exe_installed
+ # blocked by our patch
+ tests/test_core.py::test_fetching
+ tests/test_core.py::test_request
+ # Internet
+ tests/test_bsdf.py::test_from_url
+ tests/test_core.py::test_mvolread_out_of_bytes
+ tests/test_core.py::test_request_read_sources
+ tests/test_pillow.py::test_gif_first_p_frame
+ tests/test_pillow.py::test_png_remote
+ tests/test_pillow_legacy.py::test_png_remote
+ tests/test_swf.py::test_read_from_url
+ # requires pillow-heif, also possibly Internet
+ tests/test_pillow.py::test_avif_remote
+ tests/test_pillow.py::test_heif_remote
+ # not important, requires random system libs
+ tests/test_core.py::test_findlib2
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/imageio/imageio-2.34.1.ebuild b/dev-python/imageio/imageio-2.34.1.ebuild
new file mode 100644
index 000000000000..75d05d734168
--- /dev/null
+++ b/dev-python/imageio/imageio-2.34.1.ebuild
@@ -0,0 +1,103 @@
+# 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
+
+TEST_IMAGES_COMMIT=1121036015c70cdbb3015e5c5ba0aaaf7d3d6021
+DESCRIPTION="Python library for reading and writing image data"
+HOMEPAGE="
+ https://imageio.readthedocs.io/en/stable/
+ https://github.com/imageio/imageio/
+ https://pypi.org/project/imageio/
+"
+SRC_URI="
+ https://github.com/imageio/imageio/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/imageio/test_images/archive/${TEST_IMAGES_COMMIT}.tar.gz
+ -> imageio-test_images-${TEST_IMAGES_COMMIT}.gh.tar.gz
+ )
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ <dev-python/numpy-2[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.3.2[${PYTHON_USEDEP}]
+ media-libs/freeimage
+"
+BDEPEND="
+ test? (
+ >=dev-python/imageio-ffmpeg-0.4.9-r1[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/tifffile[${PYTHON_USEDEP}]
+ || (
+ media-video/ffmpeg[openh264]
+ media-video/ffmpeg[x264]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # block silently downloading vulnerable libraries from the Internet
+ "${FILESDIR}"/imageio-2.22.0-block-download.patch
+ )
+
+ if use test; then
+ mv "${WORKDIR}/test_images-${TEST_IMAGES_COMMIT}" .test_images || die
+ # upstream tries to update the image cache, and invalidates it
+ # if "git pull" fails
+ sed -i -e 's:git pull:true:' tests/conftest.py || die
+ # ffmpeg tests expect it there
+ mkdir -p "${HOME}/.imageio/images" || die
+ cp .test_images/cockatoo.mp4 "${HOME}/.imageio/images" || die
+ fi
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # uses fsspec to grab prebuilt .so from GitHub, sigh
+ tests/test_freeimage.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # Note: upstream has a needs_internet marker but it is also
+ # used to mark tests that require test_images checkout that we
+ # supply
+
+ # Tries to download ffmpeg binary ?!
+ tests/test_ffmpeg.py::test_get_exe_installed
+ # blocked by our patch
+ tests/test_core.py::test_fetching
+ tests/test_core.py::test_request
+ # Internet
+ tests/test_bsdf.py::test_from_url
+ tests/test_core.py::test_mvolread_out_of_bytes
+ tests/test_core.py::test_request_read_sources
+ tests/test_pillow.py::test_gif_first_p_frame
+ tests/test_pillow.py::test_png_remote
+ tests/test_pillow_legacy.py::test_png_remote
+ tests/test_swf.py::test_read_from_url
+ # requires pillow-heif, also possibly Internet
+ tests/test_pillow.py::test_avif_remote
+ tests/test_pillow.py::test_heif_remote
+ # not important, requires random system libs
+ tests/test_core.py::test_findlib2
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/imageio/imageio-2.34.2.ebuild b/dev-python/imageio/imageio-2.34.2.ebuild
new file mode 100644
index 000000000000..60659ad9b971
--- /dev/null
+++ b/dev-python/imageio/imageio-2.34.2.ebuild
@@ -0,0 +1,103 @@
+# 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
+
+TEST_IMAGES_COMMIT=1121036015c70cdbb3015e5c5ba0aaaf7d3d6021
+DESCRIPTION="Python library for reading and writing image data"
+HOMEPAGE="
+ https://imageio.readthedocs.io/en/stable/
+ https://github.com/imageio/imageio/
+ https://pypi.org/project/imageio/
+"
+SRC_URI="
+ https://github.com/imageio/imageio/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/imageio/test_images/archive/${TEST_IMAGES_COMMIT}.tar.gz
+ -> imageio-test_images-${TEST_IMAGES_COMMIT}.gh.tar.gz
+ )
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/numpy-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.3.2[${PYTHON_USEDEP}]
+ media-libs/freeimage
+"
+BDEPEND="
+ test? (
+ >=dev-python/imageio-ffmpeg-0.4.9-r1[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/tifffile[${PYTHON_USEDEP}]
+ || (
+ media-video/ffmpeg[openh264]
+ media-video/ffmpeg[x264]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # block silently downloading vulnerable libraries from the Internet
+ "${FILESDIR}/imageio-2.22.0-block-download.patch"
+ )
+
+ if use test; then
+ mv "${WORKDIR}/test_images-${TEST_IMAGES_COMMIT}" .test_images || die
+ # upstream tries to update the image cache, and invalidates it
+ # if "git pull" fails
+ sed -i -e 's:git pull:true:' tests/conftest.py || die
+ # ffmpeg tests expect it there
+ mkdir -p "${HOME}/.imageio/images" || die
+ cp .test_images/cockatoo.mp4 "${HOME}/.imageio/images" || die
+ fi
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # uses fsspec to grab prebuilt .so from GitHub, sigh
+ tests/test_freeimage.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # Note: upstream has a needs_internet marker but it is also
+ # used to mark tests that require test_images checkout that we
+ # supply
+
+ # Tries to download ffmpeg binary ?!
+ tests/test_ffmpeg.py::test_get_exe_installed
+ # blocked by our patch
+ tests/test_core.py::test_fetching
+ tests/test_core.py::test_request
+ # Internet
+ tests/test_bsdf.py::test_from_url
+ tests/test_core.py::test_mvolread_out_of_bytes
+ tests/test_core.py::test_request_read_sources
+ tests/test_pillow.py::test_gif_first_p_frame
+ tests/test_pillow.py::test_png_remote
+ tests/test_pillow.py::test_webp_remote
+ tests/test_pillow_legacy.py::test_png_remote
+ tests/test_swf.py::test_read_from_url
+ # requires pillow-heif, also possibly Internet
+ tests/test_pillow.py::test_avif_remote
+ tests/test_pillow.py::test_heif_remote
+ # not important, requires random system libs
+ tests/test_core.py::test_findlib2
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/imagesize/imagesize-1.4.1.ebuild b/dev-python/imagesize/imagesize-1.4.1.ebuild
index bc4a64bf8c86..f76e3800428f 100644
--- a/dev-python/imagesize/imagesize-1.4.1.ebuild
+++ b/dev-python/imagesize/imagesize-1.4.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/imapclient/Manifest b/dev-python/imapclient/Manifest
index e7f0fb02e9e7..58df94c4468f 100644
--- a/dev-python/imapclient/Manifest
+++ b/dev-python/imapclient/Manifest
@@ -1,3 +1 @@
-DIST imapclient-2.3.1.gh.tar.gz 91141 BLAKE2B c4efbdb4a513277039389e13d0f86498df3bb4c466026510fba55a8cf88316a3c5b02c15215e3e40e8e0b6206e8bd4659e75b1f83ba2a905a2aaec21f8af4b48 SHA512 06a9264e8cc001b8a4a6a855032bbb9b904c94999d090c3f1bedea1ae3a16524f668eb4dfa36e7a23a0622bd9d3e83191dcc1e5e30275cb6fcb7604142e5e2a6
-DIST imapclient-3.0.0.gh.tar.gz 93743 BLAKE2B f1477cc01076876f65afc4e1ca8dcdc5964a2ec129f8decc7c963361a94e262d1312f70959d82772e077062d15d758289fe6942c8395ccea124fbf83ebcc0505 SHA512 01f2b0eaa148e84bf3aae428888da55dec80c3738d31989644da9f7f476fc22877348e9db737d420bbdcc3986e0e74825666ba6970a43d5e2ab6b53b3fee6c1e
DIST imapclient-3.0.1.gh.tar.gz 93611 BLAKE2B aff08b392cb15d00d66833c7fba1147202ef37ff5f0ad9fb2c6e79daf67126cea00caaacfa6945b53f2e31b7d1525f4043aaacc94b34e695e26cf35b90f25259 SHA512 36c8740a93d137c5648a20cbe6f1260b3c0e9288ac9d776d318212dad9aebcbfd81e2ff78bc172d29abd97f797c3b494375c6614c2b11a239048c9e747b7a509
diff --git a/dev-python/imapclient/imapclient-2.3.1.ebuild b/dev-python/imapclient/imapclient-2.3.1.ebuild
deleted file mode 100644
index da997065b844..000000000000
--- a/dev-python/imapclient/imapclient-2.3.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="easy-to-use, pythonic, and complete IMAP client library"
-HOMEPAGE="
- https://github.com/mjs/imapclient/
- https://pypi.org/project/IMAPClient/
-"
-SRC_URI="
- https://github.com/mjs/imapclient/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE="doc examples"
-
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-
-distutils_enable_sphinx doc/src
-distutils_enable_tests unittest
-
-python_install_all() {
- distutils-r1_python_install_all
- use examples && dodoc -r examples
-}
diff --git a/dev-python/imapclient/imapclient-3.0.0.ebuild b/dev-python/imapclient/imapclient-3.0.0.ebuild
deleted file mode 100644
index d61d26f53c6b..000000000000
--- a/dev-python/imapclient/imapclient-3.0.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="easy-to-use, pythonic, and complete IMAP client library"
-HOMEPAGE="
- https://github.com/mjs/imapclient/
- https://pypi.org/project/IMAPClient/
-"
-SRC_URI="
- https://github.com/mjs/imapclient/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="doc examples"
-
-distutils_enable_sphinx doc/src
-distutils_enable_tests unittest
-
-python_install_all() {
- distutils-r1_python_install_all
- use examples && dodoc -r examples
-}
diff --git a/dev-python/imapclient/imapclient-3.0.1.ebuild b/dev-python/imapclient/imapclient-3.0.1.ebuild
index d61d26f53c6b..6685339123a3 100644
--- a/dev-python/imapclient/imapclient-3.0.1.ebuild
+++ b/dev-python/imapclient/imapclient-3.0.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 arm64 x86"
IUSE="doc examples"
distutils_enable_sphinx doc/src
diff --git a/dev-python/iminuit/Manifest b/dev-python/iminuit/Manifest
index d138b0e73d9f..582a1079db8e 100644
--- a/dev-python/iminuit/Manifest
+++ b/dev-python/iminuit/Manifest
@@ -1,2 +1 @@
-DIST iminuit-2.21.3.tar.gz 437827 BLAKE2B 5196e896769f6312bb6ba9af8d6f03bea6023a9459ccbe8553e4c10ba5dc2ed90e4e4b57bdd104f7b72e7514a50c0d4c717c76adf206d7eaddcd3c4c54c4d210 SHA512 5e48d4451caf56688143fa4590528fb4ed0660e144dbb3d1c409b84f793593478979728b4af9748b7bbdb7063e2ef7e05476a2ecd52af089f351522aadfc9ba4
-DIST iminuit-2.24.0.tar.gz 2326542 BLAKE2B 98713f814f9c6c58e18c0e468037717c846dce02cedeb86320d47f8515d2e6309bd0f4600e404905235de0e84b6e188c90f6b3776affe607c54df5f721035d75 SHA512 d4c439ddba950b82c5f665cffe099ea593d9f154ecc00dd23359e2fba057bb11e86b832465fbb6f19cd68717913b34f818e434205270f5292b0dc6c2237cf4cc
+DIST iminuit-2.26.0.tar.gz 2945757 BLAKE2B 361c84731ab3ddb01d940d5082b7170cde73ee1f1015724ea78e8dc9d910dcf4614c2ac7eb508a7efaed2abc259b5ffe09103ba921cd3f29c56daf227226e54f SHA512 6caa59c1dd3446f650bae490ef2c24b3f512284745d75e1acf714a3c440964017a68455fcc008b4176c5cbb9a4fadfc699bc01c7734a5b94ff521fe24a1b579a
diff --git a/dev-python/iminuit/files/iminuit-2.21.3-gcc-13.patch b/dev-python/iminuit/files/iminuit-2.21.3-gcc-13.patch
deleted file mode 100644
index 765b2f555ac4..000000000000
--- a/dev-python/iminuit/files/iminuit-2.21.3-gcc-13.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-From c26e9b3882d68fbef471bd67c7ea0eeb5a26c481 Mon Sep 17 00:00:00 2001
-From: andriish <andriish@users.noreply.github.com>
-Date: Thu, 4 May 2023 19:08:37 +0200
-Subject: [PATCH] Update fcn.hpp
-
----
- src/fcn.hpp | 1 +
- 1 file changed, 1 insertion(+)
-
-diff --git a/src/fcn.hpp b/src/fcn.hpp
-index 3e2ff80c..0c53e1be 100644
---- a/src/fcn.hpp
-+++ b/src/fcn.hpp
-@@ -1,6 +1,7 @@
- #include <Minuit2/FCNGradientBase.h>
- #include <pybind11/pytypes.h>
- #include <vector>
-+#include <cstdint>
-
- namespace py = pybind11;
-
diff --git a/dev-python/iminuit/iminuit-2.21.3.ebuild b/dev-python/iminuit/iminuit-2.21.3.ebuild
deleted file mode 100644
index 19e4fd25024d..000000000000
--- a/dev-python/iminuit/iminuit-2.21.3.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-# forced implicitly
-CMAKE_MAKEFILE_GENERATOR=emake
-inherit cmake distutils-r1 virtualx pypi
-
-DESCRIPTION="Minuit numerical function minimization in Python"
-HOMEPAGE="https://github.com/scikit-hep/iminuit/
- https://pypi.org/project/iminuit/"
-
-SLOT="0"
-LICENSE="MIT LGPL-2.1"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=( "${FILESDIR}"/${P}-gcc-13.patch )
-
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- epytest -p no:pytest-describe || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/iminuit/iminuit-2.24.0-r1.ebuild b/dev-python/iminuit/iminuit-2.24.0-r1.ebuild
deleted file mode 100644
index 2513fa8870b7..000000000000
--- a/dev-python/iminuit/iminuit-2.24.0-r1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=scikit-build-core
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit cmake distutils-r1 virtualx pypi
-
-DESCRIPTION="Minuit numerical function minimization in Python"
-HOMEPAGE="
- https://github.com/scikit-hep/iminuit/
- https://pypi.org/project/iminuit/
-"
-
-LICENSE="MIT LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-DEPEND="
- dev-python/pybind11[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${BDEPEND}
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- dev-python/annotated-types[${PYTHON_USEDEP}]
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # warnings caught as exceptions, sigh
- # https://github.com/scikit-hep/iminuit/pull/907
- tests/test_cost.py::test_UnbinnedNLL_visualize
-
- # precision error
- tests/test_cost.py::test_Template_with_model_2D
-
- # TODO
- tests/test_describe.py::test_with_pydantic_types
- )
-
- epytest -p no:pytest-describe || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/iminuit/iminuit-2.24.0.ebuild b/dev-python/iminuit/iminuit-2.24.0.ebuild
deleted file mode 100644
index 645fe8b086f8..000000000000
--- a/dev-python/iminuit/iminuit-2.24.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=scikit-build-core
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit cmake distutils-r1 virtualx pypi
-
-DESCRIPTION="Minuit numerical function minimization in Python"
-HOMEPAGE="
- https://github.com/scikit-hep/iminuit/
- https://pypi.org/project/iminuit/
-"
-
-LICENSE="MIT LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-DEPEND="
- dev-python/pybind11[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${BDEPEND}
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- dev-python/annotated-types[${PYTHON_USEDEP}]
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # warnings caught as exceptions, sigh
- # https://github.com/scikit-hep/iminuit/pull/907
- tests/test_cost.py::test_UnbinnedNLL_visualize
-
- # precision error
- tests/test_cost.py::test_Template_with_model_2D
-
- # TODO
- tests/test_describe.py::test_with_pydantic_types
- )
-
- epytest -p no:pytest-describe || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/iminuit/iminuit-2.26.0.ebuild b/dev-python/iminuit/iminuit-2.26.0.ebuild
new file mode 100644
index 000000000000..c9795273e9af
--- /dev/null
+++ b/dev-python/iminuit/iminuit-2.26.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=scikit-build-core
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit cmake distutils-r1 virtualx pypi
+
+DESCRIPTION="Minuit numerical function minimization in Python"
+HOMEPAGE="
+ https://github.com/scikit-hep/iminuit/
+ https://pypi.org/project/iminuit/
+"
+
+LICENSE="MIT LGPL-2.1"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+DEPEND="
+ >=dev-python/pybind11-2.12[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${DEPEND}
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-python/annotated-types[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # precision error
+ tests/test_cost.py::test_Template_with_model_2D
+
+ # TODO
+ tests/test_describe.py::test_with_pydantic_types
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # nonfatal implied by virtx
+ nonfatal epytest || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/immutabledict/Manifest b/dev-python/immutabledict/Manifest
index b0a013aca266..8d959079bcca 100644
--- a/dev-python/immutabledict/Manifest
+++ b/dev-python/immutabledict/Manifest
@@ -1,2 +1 @@
-DIST immutabledict-3.0.0.tar.gz 4478 BLAKE2B 7b5344f5153d28914da7124c3ca95e9b5c6422788259170de9f301de0a145324157635ca3543be824e9a0ebf93efe99a30dc1c8882bf926927023f2d06e318ad SHA512 90170703c1226e06d6726285005689cf66804ed2b3fda08c0350d9eeca6ec7427bd4004d42168e2f5ae7302acf1d16274a16d0e132bd81fbc8d470d75ec064a5
-DIST immutabledict-4.0.0.tar.gz 5696 BLAKE2B 409b0d130c70fbc03bb261e9a6352bc155f26f9f2ad77d1bc171fb16e1e8f54671b8421b685804d9e6da1b7bb37ec0bc2c5625e3d5aa2e926e65e69436f3843f SHA512 36378a4b5de7c2dd79ccc478972c66769822044948863444380360c22f45031d5de247050fc4f6dac1b8cdb481827e70fbbb74ea410d1481334ab72387d8afd4
+DIST immutabledict-4.2.0.tar.gz 6165 BLAKE2B 6176a186e8108134f3e54e8d98712f2f825f3750685da72bb654b0eb2a1c75e87f6c8bf95dc6c4c06b2da68b4fa541fde32f2988735bf93cf57f772a29c8368b SHA512 56be1239ea8161e54744a7bf5d17c0cc29410d7a7327fe97b3290f9e566dd19f662bac0e4e9f3c060cceece0df5d39638bf4258f3edfcf693f7f9b2bddc1d6b7
diff --git a/dev-python/immutabledict/immutabledict-3.0.0.ebuild b/dev-python/immutabledict/immutabledict-3.0.0.ebuild
deleted file mode 100644
index 6d340afbba1f..000000000000
--- a/dev-python/immutabledict/immutabledict-3.0.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="An immutable wrapper around dictionaries"
-HOMEPAGE="
- https://github.com/corenting/immutabledict/
- https://pypi.org/project/immutabledict/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64"
-
-distutils_enable_tests pytest
diff --git a/dev-python/immutabledict/immutabledict-4.0.0.ebuild b/dev-python/immutabledict/immutabledict-4.0.0.ebuild
deleted file mode 100644
index 3884d17d62bb..000000000000
--- a/dev-python/immutabledict/immutabledict-4.0.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="An immutable wrapper around dictionaries"
-HOMEPAGE="
- https://github.com/corenting/immutabledict/
- https://pypi.org/project/immutabledict/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64"
-
-distutils_enable_tests pytest
diff --git a/dev-python/immutabledict/immutabledict-4.2.0.ebuild b/dev-python/immutabledict/immutabledict-4.2.0.ebuild
new file mode 100644
index 000000000000..e63cebb5b1ff
--- /dev/null
+++ b/dev-python/immutabledict/immutabledict-4.2.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="An immutable wrapper around dictionaries"
+HOMEPAGE="
+ https://github.com/corenting/immutabledict/
+ https://pypi.org/project/immutabledict/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # performance test which fails occasionally under heavy load,
+ # see bug 924831
+ tests/test_immutabledict.py::TestImmutableDict::test_performance
+)
diff --git a/dev-python/immutables/files/immutables-0.20-opt-ext.patch b/dev-python/immutables/files/immutables-0.20-opt-ext.patch
new file mode 100644
index 000000000000..6dbcb183a612
--- /dev/null
+++ b/dev-python/immutables/files/immutables-0.20-opt-ext.patch
@@ -0,0 +1,28 @@
+From b1cb26389d8c8aa646c4debae429fb1515408812 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Mon, 13 May 2024 15:51:04 +0200
+Subject: [PATCH] Support disabling C extensions via IMMUTABLES_EXT=0
+
+Support using IMMUTABLES_EXT environment variable to control whether
+the C extension is built explicitly. When set to a value other than 1,
+the extension built is disabled. This is helpful e.g. for future Python
+versions where the extension does not work (this is affecting 3.13 right
+now, but having an explicit option is more future-proof).
+---
+ setup.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/setup.py b/setup.py
+index 8cfc9c97..870de2d1 100644
+--- a/setup.py
++++ b/setup.py
+@@ -27,7 +27,8 @@
+ 'unable to read the version from immutables/_version.py')
+
+
+-if platform.python_implementation() == 'CPython':
++if (platform.python_implementation() == 'CPython' and
++ os.environ.get('IMMUTABLES_EXT', '1') == '1'):
+ if os.environ.get("DEBUG_IMMUTABLES") == '1':
+ define_macros = []
+ undef_macros = ['NDEBUG']
diff --git a/dev-python/immutables/immutables-0.20.ebuild b/dev-python/immutables/immutables-0.20.ebuild
index bac9e6016261..a3dda207372a 100644
--- a/dev-python/immutables/immutables-0.20.ebuild
+++ b/dev-python/immutables/immutables-0.20.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -27,17 +27,26 @@ IUSE="+native-extensions"
distutils_enable_tests pytest
src_prepare() {
+ local PATCHES=(
+ # https://github.com/MagicStack/immutables/pull/117
+ "${FILESDIR}/${P}-opt-ext.patch"
+ )
+
sed -i -e '/mypy/d' tests/conftest.py || die
- # NB: upstream never builds extensions on PyPy
- if ! use native-extensions; then
- sed -i -e '/ext_modules=/d' setup.py || die
- fi
distutils-r1_src_prepare
}
python_compile() {
# upstream controls NDEBUG explicitly
use debug && local -x DEBUG_IMMUTABLES=1
+ local -x IMMUTABLES_EXT=$(usex native-extensions 1 0)
+ case ${EPYTHON} in
+ python3.13)
+ # https://github.com/MagicStack/immutables/issues/116
+ IMMUTABLES_EXT=0
+ ;;
+ esac
+
distutils-r1_python_compile
}
@@ -47,5 +56,6 @@ python_test() {
)
rm -rf immutables || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest
}
diff --git a/dev-python/importlib-metadata/Manifest b/dev-python/importlib-metadata/Manifest
index c53a18f4a245..2a04c2d6c864 100644
--- a/dev-python/importlib-metadata/Manifest
+++ b/dev-python/importlib-metadata/Manifest
@@ -1,2 +1,4 @@
-DIST importlib_metadata-6.8.0.tar.gz 53494 BLAKE2B b4bb1b423cb470f5aa26d763e459f40a49b3163fc74d2d0e1883e1308c775393ebcbd369bbc4233398e38190ba683ffd7e14c0b355a289daa81eaeddbb7d1414 SHA512 04746aac8278f2fb0064df36a558890a0c9de7c8e61c31d7548ff8ad27091e3dcbda79903eb01053f7ad85b91274d92ded40b730c095ad56672427ab17e3f921
-DIST importlib_metadata-6.9.0.tar.gz 53933 BLAKE2B 741f42f675d13ed619f3e0fff22186f6946d380898cb899a065238c3c9be45c7b790fcddf086400468766346e6b3769e268f8905d02a3d55c9a6534e53415515 SHA512 e3ed9a9a7c7b4170ca5ef25e4dcd12d7a7c6f7eea88682a9ce19632362849ddb46cc76b3431a6df3ea7a24da2e1530ead02b0404ec163137498afaaa86b58a19
+DIST importlib_metadata-7.1.0.tar.gz 52120 BLAKE2B a43a1f0724b3197f51c055d36d31700d67b3bcae849fd648c7cd1ac158a410fdf05a27f2c7003a30e566f86ec5dcbf7cf386ebe4e0ed0a1ce2e89e280ab9e1d3 SHA512 e75db6da03c251acc690ceef6ab2b668acfcf5499032cff370a574b31a5fd7afcbf9756bc20e44e6e649767c1609c7ebb40203aa6406ec5341f27fba886d208e
+DIST importlib_metadata-8.0.0.tar.gz 52667 BLAKE2B 5ca77157938dcced0c32a526e760a2d29bae5c34fa5a8f5711f3746278a9843ca85d82405eafe18821b5f7956bf75cdb2b619db903be8de96d60462b4af7fb62 SHA512 07245e6ba3f47ecc7ff4201b2dd24e6970317fe7ef0a39d74a66de180269f480c09e12601738c7c11e720a2e7c78347871ff83700c7f796a01fb1a12c8e46ff6
+DIST importlib_metadata-8.1.0.tar.gz 53881 BLAKE2B b441a78e12b1f2f360deeed5d54d2694d97994881ee18a5e7c2790c96d25b433385fe20b38b70b075ced138853ac242792e098105f53c40d7f749864d06c511f SHA512 98a5f72eab0871b55a394de5e18ab74c225515620eed62ee0273de2c23607566af7a449ffc4b3900f8d0fd8e6eb7bd2a893666c1b459f9f07b700319a7236ac0
+DIST importlib_metadata-8.2.0.tar.gz 53907 BLAKE2B 3864e1fcea4f0c30134c401f787b83500b8c13860a69784f769a67d1db1d4345c8a289fec2a21812f29dc3f07c522836dc1271f33eaf4592bcb709561f0adbe6 SHA512 cc0467f5ac95503b4fcbce6bf0b4211a5bf9ba8389a714c6d0cb3f35756b7c5bcb6359873cfeb1dbd068b0a41ddf57b27a564aeaad9bc17cb8a5e4d71fa12e8a
diff --git a/dev-python/importlib-metadata/importlib-metadata-6.8.0.ebuild b/dev-python/importlib-metadata/importlib-metadata-6.8.0.ebuild
deleted file mode 100644
index 67f495f16cf3..000000000000
--- a/dev-python/importlib-metadata/importlib-metadata-6.8.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-# NB: this package extends beyond built-in importlib stuff in py3.8+
-# new entry_point API not yet included in cpython release
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Read metadata from Python packages"
-HOMEPAGE="
- https://github.com/python/importlib_metadata/
- https://pypi.org/project/importlib-metadata/
-"
-
-LICENSE="Apache-2.0"
-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"
-
-RDEPEND="
- dev-python/zipp[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pyfakefs[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_configure() {
- grep -q 'build-backend = "setuptools' pyproject.toml ||
- die "Upstream changed build-backend, recheck"
- # write a custom pyproject.toml to ease setuptools bootstrap
- cat > pyproject.toml <<-EOF || die
- [build-system]
- requires = ["flit_core >=3.2,<4"]
- build-backend = "flit_core.buildapi"
-
- [project]
- name = "importlib_metadata"
- version = "${PV}"
- description = "Read metadata from Python packages"
- EOF
-}
diff --git a/dev-python/importlib-metadata/importlib-metadata-6.9.0.ebuild b/dev-python/importlib-metadata/importlib-metadata-6.9.0.ebuild
deleted file mode 100644
index b944433689b4..000000000000
--- a/dev-python/importlib-metadata/importlib-metadata-6.9.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-# NB: this package extends beyond built-in importlib stuff in py3.8+
-# new entry_point API not yet included in cpython release
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Read metadata from Python packages"
-HOMEPAGE="
- https://github.com/python/importlib_metadata/
- https://pypi.org/project/importlib-metadata/
-"
-
-LICENSE="Apache-2.0"
-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"
-
-RDEPEND="
- dev-python/zipp[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pyfakefs[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_configure() {
- grep -q 'build-backend = "setuptools' pyproject.toml ||
- die "Upstream changed build-backend, recheck"
- # write a custom pyproject.toml to ease setuptools bootstrap
- cat > pyproject.toml <<-EOF || die
- [build-system]
- requires = ["flit_core >=3.2,<4"]
- build-backend = "flit_core.buildapi"
-
- [project]
- name = "importlib_metadata"
- version = "${PV}"
- description = "Read metadata from Python packages"
- EOF
-}
diff --git a/dev-python/importlib-metadata/importlib-metadata-7.1.0.ebuild b/dev-python/importlib-metadata/importlib-metadata-7.1.0.ebuild
new file mode 100644
index 000000000000..ef0dcef3964a
--- /dev/null
+++ b/dev-python/importlib-metadata/importlib-metadata-7.1.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+# NB: this package extends beyond built-in importlib stuff in py3.8+
+# new entry_point API not yet included in cpython release
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Read metadata from Python packages"
+HOMEPAGE="
+ https://github.com/python/importlib_metadata/
+ https://pypi.org/project/importlib-metadata/
+"
+
+LICENSE="Apache-2.0"
+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"
+
+RDEPEND="
+ dev-python/zipp[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/jaraco-test-5.4[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pyfakefs[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "importlib_metadata"
+ version = "${PV}"
+ description = "Read metadata from Python packages"
+ EOF
+}
diff --git a/dev-python/importlib-metadata/importlib-metadata-8.0.0.ebuild b/dev-python/importlib-metadata/importlib-metadata-8.0.0.ebuild
new file mode 100644
index 000000000000..fe401ea3a89b
--- /dev/null
+++ b/dev-python/importlib-metadata/importlib-metadata-8.0.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+# NB: this package extends beyond built-in importlib stuff in py3.8+
+# new entry_point API not yet included in cpython release
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Read metadata from Python packages"
+HOMEPAGE="
+ https://github.com/python/importlib_metadata/
+ https://pypi.org/project/importlib-metadata/
+"
+
+LICENSE="Apache-2.0"
+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"
+
+RDEPEND="
+ dev-python/zipp[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/jaraco-test-5.4[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pyfakefs[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "importlib_metadata"
+ version = "${PV}"
+ description = "Read metadata from Python packages"
+ EOF
+}
diff --git a/dev-python/importlib-metadata/importlib-metadata-8.1.0.ebuild b/dev-python/importlib-metadata/importlib-metadata-8.1.0.ebuild
new file mode 100644
index 000000000000..d5ec47e2e06a
--- /dev/null
+++ b/dev-python/importlib-metadata/importlib-metadata-8.1.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+# NB: this package extends beyond built-in importlib stuff in py3.8+
+# new entry_point API not yet included in cpython release
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Read metadata from Python packages"
+HOMEPAGE="
+ https://github.com/python/importlib_metadata/
+ https://pypi.org/project/importlib-metadata/
+"
+
+LICENSE="Apache-2.0"
+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"
+
+RDEPEND="
+ dev-python/zipp[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/jaraco-test-5.4[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pyfakefs[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "importlib_metadata"
+ version = "${PV}"
+ description = "Read metadata from Python packages"
+ EOF
+}
diff --git a/dev-python/importlib-metadata/importlib-metadata-8.2.0.ebuild b/dev-python/importlib-metadata/importlib-metadata-8.2.0.ebuild
new file mode 100644
index 000000000000..d5ec47e2e06a
--- /dev/null
+++ b/dev-python/importlib-metadata/importlib-metadata-8.2.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+# NB: this package extends beyond built-in importlib stuff in py3.8+
+# new entry_point API not yet included in cpython release
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Read metadata from Python packages"
+HOMEPAGE="
+ https://github.com/python/importlib_metadata/
+ https://pypi.org/project/importlib-metadata/
+"
+
+LICENSE="Apache-2.0"
+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"
+
+RDEPEND="
+ dev-python/zipp[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/jaraco-test-5.4[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pyfakefs[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "importlib_metadata"
+ version = "${PV}"
+ description = "Read metadata from Python packages"
+ EOF
+}
diff --git a/dev-python/importlib-resources/Manifest b/dev-python/importlib-resources/Manifest
new file mode 100644
index 000000000000..27040acd0be1
--- /dev/null
+++ b/dev-python/importlib-resources/Manifest
@@ -0,0 +1 @@
+DIST importlib_resources-6.4.0.tar.gz 42040 BLAKE2B 55b52a42051c6900af7b5b70783476a48398ae02539871a3f508df08fd5b4ec03bbe40980de8cd49a60cc022905a4ffdfd95b55d70e0cfb5d64497b02cc9b88f SHA512 c600e7ba96431f15a929e5acda89a262ceef33a3f44ae361fad4201dde8033dd8f0f2bcb856619fd5e21209a5d17cf9ae3610e65c3e6ecd0e36545437d0064b9
diff --git a/dev-python/importlib-resources/files/importlib-resources-6.4.0-be.patch b/dev-python/importlib-resources/files/importlib-resources-6.4.0-be.patch
new file mode 100644
index 000000000000..a4c20249af4f
--- /dev/null
+++ b/dev-python/importlib-resources/files/importlib-resources-6.4.0-be.patch
@@ -0,0 +1,40 @@
+From 3167e4b9de35ea3010d84429b7eafb9a7c2afbb4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Wed, 10 Jul 2024 07:33:47 +0200
+Subject: [PATCH] Fix functional API tests to be endian-agnostic
+
+Fix the "backslashreplace" tests for the functional API to be
+endian-agnostic. The tests used to rely on `.encode("utf-16")`
+producing the same data as found in the test file. However, on big
+endian platforms it would produce a big endian encoding, while the test
+file is little endian. To avoid the problem, explicitly specify
+`utf-16-le` encoding. Since this meant that the BOM is no longer
+produced, explicitly include it in input.
+
+Fixes #312
+---
+ importlib_resources/tests/test_functional.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/importlib_resources/tests/test_functional.py b/importlib_resources/tests/test_functional.py
+index 69706cf..255bd13 100644
+--- a/importlib_resources/tests/test_functional.py
++++ b/importlib_resources/tests/test_functional.py
+@@ -82,7 +82,7 @@ def test_read_text(self):
+ 'utf-16.file',
+ errors='backslashreplace',
+ ),
+- 'Hello, UTF-16 world!\n'.encode('utf-16').decode(
++ '\ufeffHello, UTF-16 world!\n'.encode('utf-16-le').decode(
+ errors='backslashreplace',
+ ),
+ )
+@@ -130,7 +130,7 @@ def test_open_text(self):
+ ) as f:
+ self.assertEqual(
+ f.read(),
+- 'Hello, UTF-16 world!\n'.encode('utf-16').decode(
++ '\ufeffHello, UTF-16 world!\n'.encode('utf-16-le').decode(
+ errors='backslashreplace',
+ ),
+ )
diff --git a/dev-python/importlib-resources/importlib-resources-6.4.0.ebuild b/dev-python/importlib-resources/importlib-resources-6.4.0.ebuild
new file mode 100644
index 000000000000..da08cc37d4f0
--- /dev/null
+++ b/dev-python/importlib-resources/importlib-resources-6.4.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+# backport from py3.12
+PYTHON_COMPAT=( pypy3 python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Read resources from Python packages"
+HOMEPAGE="
+ https://github.com/python/importlib_resources/
+ https://pypi.org/project/importlib-resources/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/jaraco-test-5.4[${PYTHON_USEDEP}]
+ >=dev-python/zipp-3.17[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+PATCHES=(
+ # https://github.com/python/importlib_resources/pull/313
+ "${FILESDIR}/${P}-be.patch"
+)
diff --git a/dev-python/importlib-resources/metadata.xml b/dev-python/importlib-resources/metadata.xml
new file mode 100644
index 000000000000..672c6b745d18
--- /dev/null
+++ b/dev-python/importlib-resources/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">importlib-resources</remote-id>
+ <remote-id type="github">python/importlib_resources</remote-id>
+ <bugs-to>https://github.com/python/importlib_resources/issues</bugs-to>
+ <doc>https://importlib-resources.readthedocs.io/</doc>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/incremental/incremental-22.10.0-r1.ebuild b/dev-python/incremental/incremental-22.10.0-r1.ebuild
index f61cdd0845f9..97f9891f64f9 100644
--- a/dev-python/incremental/incremental-22.10.0-r1.ebuild
+++ b/dev-python/incremental/incremental-22.10.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/indexed-gzip/Manifest b/dev-python/indexed-gzip/Manifest
index f5b28859b80d..c598e074137a 100644
--- a/dev-python/indexed-gzip/Manifest
+++ b/dev-python/indexed-gzip/Manifest
@@ -1,2 +1 @@
-DIST indexed_gzip-1.8.5.tar.gz 74696 BLAKE2B 5db7a9c372950e60f4e6f5905a6bf5b01c76007174a77393176d969e87197beefc81d72e5280ac057fcfd3c752e5f8b2923326e3ed2e825fd34315dd23a179b0 SHA512 617b7406ff2e579c41ceafcfb64bd9ba33599f9f810afb5b3abad49825ae274265b8f8eeaf54285d8df11dd9c498a13752455263a51817be11301ed73aeb0230
DIST indexed_gzip-1.8.7.tar.gz 74172 BLAKE2B a3feddb50a165a73dcf5af79f1470c0ec2933002ef162fc323a66d8d4782b318f52dd92ca81f413b6b4571f2fcc5be7f74e088de6876bd180a2cf7d3360f18b9 SHA512 89b902d3511927d45d424ea09dfcec3037ec1f295cdac30aa5ae50d664bdb75ef1bdaad6e12f317a51bb9c01485aa09d2c0a07923b544307f762dc280048327a
diff --git a/dev-python/indexed-gzip/indexed-gzip-1.8.5-r1.ebuild b/dev-python/indexed-gzip/indexed-gzip-1.8.5-r1.ebuild
deleted file mode 100644
index 87f340fb4b75..000000000000
--- a/dev-python/indexed-gzip/indexed-gzip-1.8.5-r1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="Fast random access of gzip files in Python"
-HOMEPAGE="
- https://pypi.org/project/indexed-gzip/
- https://github.com/pauldmccarthy/indexed_gzip/
-"
-
-LICENSE="ZLIB"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- sys-libs/zlib:=
-"
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_compile() {
- # This actually enables line tracing, so it fits USE=debug more.
- if use debug; then
- export INDEXED_GZIP_TESTING=1
- fi
- # Fix implicit dependency on numpy that is used to build test
- # extensions.
- if ! use test; then
- local -x PYTHONPATH="${T}:${PYTHONPATH}"
- cat >> "${T}"/numpy.py <<-EOF || die
- raise ImportError("I am not here!")
- EOF
- fi
- distutils-r1_src_compile
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)/indexed_gzip/tests" || die
- epytest -n "$(makeopts_jobs)" --dist=worksteal
- # temporary files and test extensions
- # (to achieve equivalence with USE=-test)
- rm ctest*.{c,gz,so,tmp} || die
-}
diff --git a/dev-python/indexed-gzip/indexed-gzip-1.8.7.ebuild b/dev-python/indexed-gzip/indexed-gzip-1.8.7.ebuild
index 45265669e01d..0b994e128eed 100644
--- a/dev-python/indexed-gzip/indexed-gzip-1.8.7.ebuild
+++ b/dev-python/indexed-gzip/indexed-gzip-1.8.7.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
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/inflect/Manifest b/dev-python/inflect/Manifest
index 38f75d1b5a45..3e069c9b0baa 100644
--- a/dev-python/inflect/Manifest
+++ b/dev-python/inflect/Manifest
@@ -1 +1 @@
-DIST inflect-7.0.0.tar.gz 70963 BLAKE2B ae896109acd33946e05902d121ecbd95e04dc33a1d6da6035148521de5baff8cff877a5c56c104bde29d56025e231e20f97e0ee50686de0ec19b567d53612314 SHA512 b2ca39d0e36cda8c8c42d208443d3b84b10d659dcd0d368273503d6e76df19c61ac3c623d526ea918ca8b347d6db8bdfb691609e480eaa33dd4f1c37e008473b
+DIST inflect-7.3.1.tar.gz 71980 BLAKE2B efb1224ec0514403db5db7cc572335a7f3dab09e7fe57559df736fee4598782c12fc9ae1d3ade89b41acc492996c7a93f04eff86c712b1c3f98f9404694f643c SHA512 562107d500ee488a35d809e4b7888af31fb90d7b07b9f6c328f66d8723a171227e639e0cbf43cb9610227faff6690a8af7205bc509f6764c9e22e9160f7ba5e1
diff --git a/dev-python/inflect/inflect-7.0.0.ebuild b/dev-python/inflect/inflect-7.0.0.ebuild
deleted file mode 100644
index 24d03c10562d..000000000000
--- a/dev-python/inflect/inflect-7.0.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Correctly inflect words and numbers"
-HOMEPAGE="
- https://pypi.org/project/inflect/
- https://github.com/jaraco/inflect/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- >=dev-python/pydantic-1.9.1[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-3.4.1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/inflect/inflect-7.3.1.ebuild b/dev-python/inflect/inflect-7.3.1.ebuild
new file mode 100644
index 000000000000..49c815a7f8f9
--- /dev/null
+++ b/dev-python/inflect/inflect-7.3.1.ebuild
@@ -0,0 +1,29 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Correctly inflect words and numbers"
+HOMEPAGE="
+ https://pypi.org/project/inflect/
+ https://github.com/jaraco/inflect/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ >=dev-python/typeguard-4.0.1[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.5.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-3.4.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/inflection/inflection-0.5.1-r1.ebuild b/dev-python/inflection/inflection-0.5.1-r1.ebuild
index 794220dcbe5e..f7fe702a89a3 100644
--- a/dev-python/inflection/inflection-0.5.1-r1.ebuild
+++ b/dev-python/inflection/inflection-0.5.1-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
diff --git a/dev-python/ini2toml/Manifest b/dev-python/ini2toml/Manifest
index b52a49ba0198..a9ac7a8a4912 100644
--- a/dev-python/ini2toml/Manifest
+++ b/dev-python/ini2toml/Manifest
@@ -1 +1 @@
-DIST ini2toml-0.13.tar.gz 102729 BLAKE2B 27094e0f329ce5d0da3ca1793b5b92e97eba5068225c55fcc9e0c61ead607967b8718976bfa13f76638c1b2bd8ee2a532b8eaf2023895f2ffdeacacd072fff9c SHA512 9700affeeb0434699e708fbeffb34e68f54882d7c5ada25cbdcdf47fed70bf8b5e8ff46503c19aa135079bc8770bdc48e991212b07b6409adf57d197a5ed998e
+DIST ini2toml-0.15.tar.gz 109236 BLAKE2B d844f45e14379af974c86283daa1aa6fa5d9934b219fdf02be9abbeb873487b36eecede39dafc261f5ab2a6bfadceaea3b16611f5d6c1f3bc88a28574a11dc14 SHA512 5726c745972fbdf6a254ccd44133c5c65368f531c17efda3b83323c2c9e450d508fe57f1aa0919c0de6cc6e18d6a974b75dc50ecf29c852d367bc03891f0486c
diff --git a/dev-python/ini2toml/ini2toml-0.13.ebuild b/dev-python/ini2toml/ini2toml-0.13.ebuild
deleted file mode 100644
index 7d727f2ab4f7..000000000000
--- a/dev-python/ini2toml/ini2toml-0.13.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2022-2023 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="Automatically conversion of .ini/.cfg files to TOML equivalents"
-HOMEPAGE="
- https://pypi.org/project/ini2toml/
- https://github.com/abravalheri/ini2toml/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/packaging-20.7[${PYTHON_USEDEP}]
- >=dev-python/setuptools-59.6[${PYTHON_USEDEP}]
- >=dev-python/tomli-w-0.4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/configupdater[${PYTHON_USEDEP}]
- >=dev-python/pyproject-fmt-0.4.0[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # validate_pyproject is not packaged
- tests/test_examples.py
-)
-
-src_prepare() {
- sed -i -e 's:--cov ini2toml --cov-report term-missing::' setup.cfg || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/ini2toml/ini2toml-0.15.ebuild b/dev-python/ini2toml/ini2toml-0.15.ebuild
new file mode 100644
index 000000000000..2d64a412ee78
--- /dev/null
+++ b/dev-python/ini2toml/ini2toml-0.15.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Automatically conversion of .ini/.cfg files to TOML equivalents"
+HOMEPAGE="
+ https://pypi.org/project/ini2toml/
+ https://github.com/abravalheri/ini2toml/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/packaging-20.7[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-59.6[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-0.4.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/configupdater[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e 's:--cov ini2toml --cov-report term-missing::' setup.cfg || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # validate_pyproject is not packaged
+ tests/test_examples.py
+ )
+ local EPYTEST_DESELECT=()
+
+ # Incompatible with pyproject-fmt-2 API:
+ # https://github.com/abravalheri/ini2toml/issues/103
+ if ! has_version "<dev-python/pyproject-fmt-2[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_cli.py::test_auto_formatting
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/iniconfig/iniconfig-2.0.0.ebuild b/dev-python/iniconfig/iniconfig-2.0.0.ebuild
index 3518b8c151bb..1117f65f2acb 100644
--- a/dev-python/iniconfig/iniconfig-2.0.0.ebuild
+++ b/dev-python/iniconfig/iniconfig-2.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/iniparse/files/iniparse-0.5_p20221102-py3.11.7.patch b/dev-python/iniparse/files/iniparse-0.5_p20221102-py3.11.7.patch
new file mode 100644
index 000000000000..e2c71c0fd582
--- /dev/null
+++ b/dev-python/iniparse/files/iniparse-0.5_p20221102-py3.11.7.patch
@@ -0,0 +1,27 @@
+From 033c0aa3e1a51cb70a97762252059e70cc2f671c Mon Sep 17 00:00:00 2001
+From: Daniel Garcia Moreno <daniel.garcia@suse.com>
+Date: Wed, 20 Dec 2023 12:40:14 +0100
+Subject: [PATCH] Fix tests with python 3.11.7
+
+---
+ tests/test_compat.py | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/tests/test_compat.py b/tests/test_compat.py
+index 8d7c785..86d0524 100644
+--- a/tests/test_compat.py
++++ b/tests/test_compat.py
+@@ -1,3 +1,4 @@
++import os
+ from iniparse import compat as ConfigParser
+ from io import StringIO
+ try:
+@@ -263,6 +264,8 @@ class mystr(str):
+
+ def test_read_returns_file_list(self):
+ file1 = test_support.findfile("cfgparser.1")
++ if not os.path.exists(file1):
++ file1 = test_support.findfile("configdata/cfgparser.1")
+ # check when we pass a mix of readable and non-readable files:
+ cf = self.newconfig()
+ parsed_files = cf.read([file1, "nonexistant-file"])
diff --git a/dev-python/iniparse/iniparse-0.5_p20221102.ebuild b/dev-python/iniparse/iniparse-0.5_p20221102.ebuild
index f6c69f6ad934..fdf3b827d469 100644
--- a/dev-python/iniparse/iniparse-0.5_p20221102.ebuild
+++ b/dev-python/iniparse/iniparse-0.5_p20221102.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -33,8 +33,21 @@ BDEPEND="
${RDEPEND}
"
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/candlepin/python-iniparse/pull/29
+ "${FILESDIR}/${P}-py3.11.7.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # https://src.fedoraproject.org/rpms/python-iniparse/blob/rawhide/f/python-iniparse.spec
+ sed -e "s/unittest.makeSuite(\(.*\), 'test')/unittest.defaultTestLoader.loadTestsFromTestCase(\1)/g" \
+ -i tests/test*.py || die
+}
+
python_test() {
- "${EPYTHON}" runtests.py || die
+ "${EPYTHON}" runtests.py -v || die
}
python_install_all() {
diff --git a/dev-python/insipid-sphinx-theme/Manifest b/dev-python/insipid-sphinx-theme/Manifest
index 63bcca72aaf5..3526152b8a53 100644
--- a/dev-python/insipid-sphinx-theme/Manifest
+++ b/dev-python/insipid-sphinx-theme/Manifest
@@ -1,2 +1 @@
-DIST insipid-sphinx-theme-0.4.1.tar.gz 73400 BLAKE2B 1b156787354219ba9b31905748c6d786021ce6e349a120e60416fc1de215d6f8d898bc0e91514043bb2e5c13d4004f22a906e525a4b0d610de4024b07e81af5f SHA512 aa7eb3768f48c481518984028c7911810afca3a6c4c93ec50efcf6f7b41efe9959acdf4b24d54bf8402eee829789b6945a2fa1a7648011d4566e174a7c5ca99e
DIST insipid-sphinx-theme-0.4.2.tar.gz 73415 BLAKE2B 0f17fc5fec19926ec6e134b716ef36617e0be66d771c76237923b3f77508b1fc1fb39b790d5ac72c1cff61e4f7a484b42bd6b0eec954afac1d758284cc073ed3 SHA512 934208afcc88a72b188c64f147ff0bc6508ad1b8aa5ee061620ec53725d2a9781ea503a16fb42db3f2bcd45774d3a9f611de251f71ca0b6162cf0d6653a1a058
diff --git a/dev-python/insipid-sphinx-theme/insipid-sphinx-theme-0.4.1.ebuild b/dev-python/insipid-sphinx-theme/insipid-sphinx-theme-0.4.1.ebuild
deleted file mode 100644
index 5c440d6eecdd..000000000000
--- a/dev-python/insipid-sphinx-theme/insipid-sphinx-theme-0.4.1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2022-2023 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} pypy3 )
-inherit distutils-r1 pypi
-
-DESCRIPTION="Insipid Sphinx theme"
-HOMEPAGE="
- https://pypi.org/project/insipid-sphinx-theme/
- https://github.com/mgeier/insipid-sphinx-theme
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/jinja[${PYTHON_USEDEP}]
- >=dev-python/sphinx-5[${PYTHON_USEDEP}]
- >=dev-python/docutils-0.18[${PYTHON_USEDEP}]
-"
-
-DOCS=( {CONTRIBUTING,NEWS,README}.rst )
-
-# needs sphinx_last_updated_by_git
-#distutils_enable_sphinx "doc"
diff --git a/dev-python/installer/installer-0.7.0.ebuild b/dev-python/installer/installer-0.7.0.ebuild
index 1d8b92cdcbda..1dbc58a0a422 100644
--- a/dev-python/installer/installer-0.7.0.ebuild
+++ b/dev-python/installer/installer-0.7.0.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
EAPI=8
DISTUTILS_USE_PEP517=no
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/intelhex/intelhex-2.3.0-r1.ebuild b/dev-python/intelhex/intelhex-2.3.0-r1.ebuild
index f1cab5be51d3..07dd19dc7949 100644
--- a/dev-python/intelhex/intelhex-2.3.0-r1.ebuild
+++ b/dev-python/intelhex/intelhex-2.3.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -16,6 +16,6 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~mips ~riscv ~x86"
+KEYWORDS="amd64 ~arm ~arm64 ~mips ~riscv x86"
distutils_enable_tests unittest
diff --git a/dev-python/intervaltree/intervaltree-3.1.0-r1.ebuild b/dev-python/intervaltree/intervaltree-3.1.0-r1.ebuild
index a1a366d75741..2657b926bef0 100644
--- a/dev-python/intervaltree/intervaltree-3.1.0-r1.ebuild
+++ b/dev-python/intervaltree/intervaltree-3.1.0-r1.ebuild
@@ -1,19 +1,25 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
inherit distutils-r1 pypi
DESCRIPTION="Editable interval tree data structure for Python 2 and 3"
-HOMEPAGE="https://pypi.org/project/intervaltree/"
+HOMEPAGE="
+ https://github.com/chaimleib/intervaltree/
+ https://pypi.org/project/intervaltree/
+"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 arm64 ~riscv x86"
-RDEPEND="dev-python/sortedcontainers[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/sortedcontainers[${PYTHON_USEDEP}]
+"
distutils_enable_tests pytest
diff --git a/dev-python/iocapture/Manifest b/dev-python/iocapture/Manifest
index add4c55af684..fae68f0937f0 100644
--- a/dev-python/iocapture/Manifest
+++ b/dev-python/iocapture/Manifest
@@ -1 +1 @@
-DIST iocapture-0.1.2.tar.gz 13114 BLAKE2B 4404ed96cda15db41d30c10fd68747e61980c1ee173671ff496ba05af5d122eeebcbd7fa901a8ad43ffd46efe219e437e205236392855d43fa3bfdd1416ca6d9 SHA512 1205d13b107d83dcb45d5546038d8b0b5417a20a51149c405123111488c351ff81a447f10653cd3dd9ecc236e01a0fcceb6647091e38ff2fa34c69e0baff1567
+DIST iocapture-0.1.2.gh.tar.gz 13114 BLAKE2B 4404ed96cda15db41d30c10fd68747e61980c1ee173671ff496ba05af5d122eeebcbd7fa901a8ad43ffd46efe219e437e205236392855d43fa3bfdd1416ca6d9 SHA512 1205d13b107d83dcb45d5546038d8b0b5417a20a51149c405123111488c351ff81a447f10653cd3dd9ecc236e01a0fcceb6647091e38ff2fa34c69e0baff1567
diff --git a/dev-python/iocapture/iocapture-0.1.2-r3.ebuild b/dev-python/iocapture/iocapture-0.1.2-r3.ebuild
index 22892654d5ca..8300e1e2d1e3 100644
--- a/dev-python/iocapture/iocapture-0.1.2-r3.ebuild
+++ b/dev-python/iocapture/iocapture-0.1.2-r3.ebuild
@@ -1,23 +1,31 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
inherit distutils-r1
DESCRIPTION="Capture stdout, stderr easily"
-HOMEPAGE="https://pypi.org/project/iocapture/"
-SRC_URI="https://github.com/oinume/iocapture/archive/${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/oinume/iocapture/
+ https://pypi.org/project/iocapture/
+"
+SRC_URI="
+ https://github.com/oinume/iocapture/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-LICENSE="MIT"
BDEPEND="
test? (
dev-python/six[${PYTHON_USEDEP}]
- )"
+ )
+"
distutils_enable_tests pytest
diff --git a/dev-python/ipykernel/Manifest b/dev-python/ipykernel/Manifest
index 88fd57a2f4b2..0b297ebe6e55 100644
--- a/dev-python/ipykernel/Manifest
+++ b/dev-python/ipykernel/Manifest
@@ -1,3 +1,2 @@
-DIST ipykernel-6.26.0.tar.gz 157526 BLAKE2B 8ba5cf820cf03d7735a4dbcb613925b9f9f83d949e065d61f546f3b8ded17accdfdcb4d72718fa644f2233f0397afe8f77437fed1d219710ecac6c9db523e08e SHA512 8199f59ac0147e3b21a07f28d64bf73311ccbf6b48b060979a520ac798a058496e659d08a7b41b1321b4be7092e09fe793d80fb061fc2706b46aa17e93e142f8
-DIST ipykernel-6.27.0.tar.gz 157721 BLAKE2B ea34d02f57f67d720fb744f8bd7fd9a191ec2c104aafca2741eb50b4a28519e609efc465e73dbd2aad5ce1c0e383ea33115f13171deee70825d734a42f38c852 SHA512 13c9c1c2083def67b3fa5e93b03d77a40b14d2505a07386554e03f896e9ca961c54ab6b7d51fbe05bd684f1acf651196a2b0f804ded23461eac5b6500b829c45
-DIST ipykernel-6.27.1.tar.gz 157828 BLAKE2B d81c241d55a6b45098bd38805dd8db2dd10c13bd290102f96011fc134b54925218da03ee6bdddd2de137089017e157cd6806ce3884279d3bc00684a357b60c7a SHA512 c4ee96c934e66a1d27d680bb43adb88affb49e605310d4d619cd42b0a294d82ad7884a110998eb3004be4f010d847968694b4c8327efa26976062249895132c6
+DIST ipykernel-6.29.4.tar.gz 162958 BLAKE2B 887d33b433f5fba70273e4020a79bb511bd076fe536c04ebc5f7e838637ff120889789783f9a3a41b4669b0b51d44401215ed3feac413382b953edf9d1b6cb48 SHA512 488d43c1c9f416281b23ba0f31311c7327ef97034d6cf1776392c0f7b193f52f1434e81ae0c45759a0b15354ef9d178c3fc835c6be4408880209e41b91e5602b
+DIST ipykernel-6.29.5.tar.gz 163367 BLAKE2B ac1a48093b68a79c9b656cc3960f35ae2e28ac110b4a560b7434b853e37e505034d7822fc2d6557f03e1f82a260abba53cf53ba9dde4fc6fc468fd65fb46875a SHA512 271232ad6168ff00d6eb729bb38804f6a030b85be9bd75341b4af8ca1feb9f3c6b088eff77f4efcc503512559c93f1d78c13904089b7acb5205c4039daf0cea0
diff --git a/dev-python/ipykernel/ipykernel-6.26.0.ebuild b/dev-python/ipykernel/ipykernel-6.26.0.ebuild
deleted file mode 100644
index 491e8a363589..000000000000
--- a/dev-python/ipykernel/ipykernel-6.26.0.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2023 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 pypi virtualx
-
-DESCRIPTION="IPython Kernel for Jupyter"
-HOMEPAGE="
- https://github.com/ipython/ipykernel/
- https://pypi.org/project/ipykernel/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/comm-0.1.1[${PYTHON_USEDEP}]
- !elibc_Darwin? (
- $(python_gen_cond_dep '
- >=dev-python/debugpy-1.6.5[${PYTHON_USEDEP}]
- ' 'python*')
- )
- >=dev-python/ipython-7.23.1[${PYTHON_USEDEP}]
- >=dev-python/jupyter-client-8[${PYTHON_USEDEP}]
- >=dev-python/jupyter-core-4.12[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-inline-0.1[${PYTHON_USEDEP}]
- dev-python/nest-asyncio[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-20[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.1[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.4.0[${PYTHON_USEDEP}]
-"
-# RDEPEND seems specifically needed in BDEPEND, at least jupyter
-# bug #816486
-BDEPEND="
- ${RDEPEND}
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/ipyparallel[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_compile() {
- distutils-r1_python_compile
- # Use python3 in kernel.json configuration, bug #784764
- sed -i -e '/python3.[0-9]\+/s//python3/' \
- "${BUILD_DIR}/install${EPREFIX}/usr/share/jupyter/kernels/python3/kernel.json" || die
-}
-
-src_test() {
- local EPYTEST_DESELECT=(
- # TODO
- tests/test_debugger.py::test_attach_debug
- tests/test_debugger.py::test_breakpoint_in_cell_with_leading_empty_lines
- tests/test_debugger.py::test_rich_inspect_at_breakpoint
- tests/test_debugger.py::test_rich_inspect_not_at_breakpoint
- tests/test_debugger.py::test_set_breakpoints
- tests/test_debugger.py::test_stop_on_breakpoint
- tests/test_debugger.py::test_copy_to_globals
- # hangs?
- tests/test_eventloop.py::test_tk_loop
- # doesn't like pyside2?
- tests/test_eventloop.py::test_qt_enable_gui
- )
-
- virtx distutils-r1_src_test
-}
diff --git a/dev-python/ipykernel/ipykernel-6.27.0.ebuild b/dev-python/ipykernel/ipykernel-6.27.0.ebuild
deleted file mode 100644
index 5c20d40e3a48..000000000000
--- a/dev-python/ipykernel/ipykernel-6.27.0.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2023 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 pypi virtualx
-
-DESCRIPTION="IPython Kernel for Jupyter"
-HOMEPAGE="
- https://github.com/ipython/ipykernel/
- https://pypi.org/project/ipykernel/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/comm-0.1.1[${PYTHON_USEDEP}]
- !elibc_Darwin? (
- $(python_gen_cond_dep '
- >=dev-python/debugpy-1.6.5[${PYTHON_USEDEP}]
- ' 'python*')
- )
- >=dev-python/ipython-7.23.1[${PYTHON_USEDEP}]
- >=dev-python/jupyter-client-8[${PYTHON_USEDEP}]
- >=dev-python/jupyter-core-4.12[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-inline-0.1[${PYTHON_USEDEP}]
- dev-python/nest-asyncio[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-20[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.1[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.4.0[${PYTHON_USEDEP}]
-"
-# RDEPEND seems specifically needed in BDEPEND, at least jupyter
-# bug #816486
-BDEPEND="
- ${RDEPEND}
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/ipyparallel[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_compile() {
- distutils-r1_python_compile
- # Use python3 in kernel.json configuration, bug #784764
- sed -i -e '/python3.[0-9]\+/s//python3/' \
- "${BUILD_DIR}/install${EPREFIX}/usr/share/jupyter/kernels/python3/kernel.json" || die
-}
-
-src_test() {
- local EPYTEST_DESELECT=(
- # TODO
- tests/test_debugger.py::test_attach_debug
- tests/test_debugger.py::test_breakpoint_in_cell_with_leading_empty_lines
- tests/test_debugger.py::test_rich_inspect_at_breakpoint
- tests/test_debugger.py::test_rich_inspect_not_at_breakpoint
- tests/test_debugger.py::test_set_breakpoints
- tests/test_debugger.py::test_stop_on_breakpoint
- tests/test_debugger.py::test_copy_to_globals
- # hangs?
- tests/test_eventloop.py::test_tk_loop
- # doesn't like pyside2?
- tests/test_eventloop.py::test_qt_enable_gui
- )
-
- virtx distutils-r1_src_test
-}
diff --git a/dev-python/ipykernel/ipykernel-6.27.1.ebuild b/dev-python/ipykernel/ipykernel-6.27.1.ebuild
deleted file mode 100644
index 5c20d40e3a48..000000000000
--- a/dev-python/ipykernel/ipykernel-6.27.1.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2023 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 pypi virtualx
-
-DESCRIPTION="IPython Kernel for Jupyter"
-HOMEPAGE="
- https://github.com/ipython/ipykernel/
- https://pypi.org/project/ipykernel/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/comm-0.1.1[${PYTHON_USEDEP}]
- !elibc_Darwin? (
- $(python_gen_cond_dep '
- >=dev-python/debugpy-1.6.5[${PYTHON_USEDEP}]
- ' 'python*')
- )
- >=dev-python/ipython-7.23.1[${PYTHON_USEDEP}]
- >=dev-python/jupyter-client-8[${PYTHON_USEDEP}]
- >=dev-python/jupyter-core-4.12[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-inline-0.1[${PYTHON_USEDEP}]
- dev-python/nest-asyncio[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-20[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.1[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.4.0[${PYTHON_USEDEP}]
-"
-# RDEPEND seems specifically needed in BDEPEND, at least jupyter
-# bug #816486
-BDEPEND="
- ${RDEPEND}
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/ipyparallel[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_compile() {
- distutils-r1_python_compile
- # Use python3 in kernel.json configuration, bug #784764
- sed -i -e '/python3.[0-9]\+/s//python3/' \
- "${BUILD_DIR}/install${EPREFIX}/usr/share/jupyter/kernels/python3/kernel.json" || die
-}
-
-src_test() {
- local EPYTEST_DESELECT=(
- # TODO
- tests/test_debugger.py::test_attach_debug
- tests/test_debugger.py::test_breakpoint_in_cell_with_leading_empty_lines
- tests/test_debugger.py::test_rich_inspect_at_breakpoint
- tests/test_debugger.py::test_rich_inspect_not_at_breakpoint
- tests/test_debugger.py::test_set_breakpoints
- tests/test_debugger.py::test_stop_on_breakpoint
- tests/test_debugger.py::test_copy_to_globals
- # hangs?
- tests/test_eventloop.py::test_tk_loop
- # doesn't like pyside2?
- tests/test_eventloop.py::test_qt_enable_gui
- )
-
- virtx distutils-r1_src_test
-}
diff --git a/dev-python/ipykernel/ipykernel-6.29.4.ebuild b/dev-python/ipykernel/ipykernel-6.29.4.ebuild
new file mode 100644
index 000000000000..b780d9ae2f01
--- /dev/null
+++ b/dev-python/ipykernel/ipykernel-6.29.4.ebuild
@@ -0,0 +1,80 @@
+# 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 pypi virtualx
+
+DESCRIPTION="IPython Kernel for Jupyter"
+HOMEPAGE="
+ https://github.com/ipython/ipykernel/
+ https://pypi.org/project/ipykernel/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/comm-0.1.1[${PYTHON_USEDEP}]
+ >=dev-python/ipython-7.23.1[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-8[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-4.12[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-inline-0.1[${PYTHON_USEDEP}]
+ dev-python/nest-asyncio[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-24[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.1[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.4.0[${PYTHON_USEDEP}]
+"
+# RDEPEND seems specifically needed in BDEPEND, at least jupyter
+# bug #816486
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.23.5[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/ipyparallel[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # debugpy is actually optional
+ sed -i -e '/debugpy/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ # Use python3 in kernel.json configuration, bug #784764
+ sed -i -e '/python3.[0-9]\+/s//python3/' \
+ "${BUILD_DIR}/install${EPREFIX}/usr/share/jupyter/kernels/python3/kernel.json" || die
+}
+
+src_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_debugger.py::test_attach_debug
+ tests/test_debugger.py::test_breakpoint_in_cell_with_leading_empty_lines
+ tests/test_debugger.py::test_rich_inspect_at_breakpoint
+ tests/test_debugger.py::test_rich_inspect_not_at_breakpoint
+ tests/test_debugger.py::test_set_breakpoints
+ tests/test_debugger.py::test_stop_on_breakpoint
+ tests/test_debugger.py::test_copy_to_globals
+ # hangs?
+ tests/test_eventloop.py::test_tk_loop
+ # doesn't like pyside2?
+ tests/test_eventloop.py::test_qt_enable_gui
+ )
+
+ virtx distutils-r1_src_test
+}
diff --git a/dev-python/ipykernel/ipykernel-6.29.5.ebuild b/dev-python/ipykernel/ipykernel-6.29.5.ebuild
new file mode 100644
index 000000000000..383567063ae2
--- /dev/null
+++ b/dev-python/ipykernel/ipykernel-6.29.5.ebuild
@@ -0,0 +1,84 @@
+# 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..13} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="IPython Kernel for Jupyter"
+HOMEPAGE="
+ https://github.com/ipython/ipykernel/
+ https://pypi.org/project/ipykernel/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/comm-0.1.1[${PYTHON_USEDEP}]
+ >=dev-python/ipython-7.23.1[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-8[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-4.12[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-inline-0.1[${PYTHON_USEDEP}]
+ dev-python/nest-asyncio[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-24[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.1[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.4.0[${PYTHON_USEDEP}]
+"
+# RDEPEND seems specifically needed in BDEPEND, at least jupyter
+# bug #816486
+# pytest-8 runs a small subset of tests, we allow newer for 3.13
+# since a few tests are better than skipping entirely
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+ ' 3.{10..12})
+ >=dev-python/pytest-asyncio-0.23.5[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/ipyparallel[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # debugpy is actually optional
+ sed -i -e '/debugpy/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ # Use python3 in kernel.json configuration, bug #784764
+ sed -i -e '/python3.[0-9]\+/s//python3/' \
+ "${BUILD_DIR}/install${EPREFIX}/usr/share/jupyter/kernels/python3/kernel.json" || die
+}
+
+src_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_debugger.py::test_attach_debug
+ tests/test_debugger.py::test_breakpoint_in_cell_with_leading_empty_lines
+ tests/test_debugger.py::test_rich_inspect_at_breakpoint
+ tests/test_debugger.py::test_rich_inspect_not_at_breakpoint
+ tests/test_debugger.py::test_set_breakpoints
+ tests/test_debugger.py::test_stop_on_breakpoint
+ tests/test_debugger.py::test_copy_to_globals
+ # hangs?
+ tests/test_eventloop.py::test_tk_loop
+ # doesn't like pyside2?
+ tests/test_eventloop.py::test_qt_enable_gui
+ )
+
+ virtx distutils-r1_src_test
+}
diff --git a/dev-python/ipyparallel/Manifest b/dev-python/ipyparallel/Manifest
index 8902b2bc34fe..69b0638f5f73 100644
--- a/dev-python/ipyparallel/Manifest
+++ b/dev-python/ipyparallel/Manifest
@@ -1 +1 @@
-DIST ipyparallel-8.6.1.tar.gz 6807935 BLAKE2B 23847974e9d5d1d06a64a6b01c845f539848c602b6ba6a22c64d8e0bd35a783ec3a09fc6618ae08490d35e49d497c1db61176f8c70065c4e61ec234a7fd00545 SHA512 e83447f9d52eed87e8513d2ee74d2d6b589a5c04b5bf6dfece6d87565dd9c5e46abd280eb5ab64266b2e759dec1007ab007d0b8232b6239768190bd6900f53ff
+DIST ipyparallel-8.8.0.tar.gz 6800541 BLAKE2B ae40aa60eec2c07bb1ecce696df9f8429293e1602bced8e6220e6a93b780b44131a4fcbd01c921952cae9945fc509f6084570b96ce0c3da7ce4f0cc1d853db1b SHA512 9b0a03e1f581acbe56e3b51331d9fb97c422469e1d93348e6403d7c95a985f1f5a2a390645222fc4b60c0027ba168933679662561adb618d19ae7d680a2bb680
diff --git a/dev-python/ipyparallel/files/ipyparallel-8.6.1-pypy310.patch b/dev-python/ipyparallel/files/ipyparallel-8.6.1-pypy310.patch
deleted file mode 100644
index fae998d51972..000000000000
--- a/dev-python/ipyparallel/files/ipyparallel-8.6.1-pypy310.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 401980b2a79ef15cc3b35fad51163339c8654751 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Mon, 20 Nov 2023 15:45:04 +0100
-Subject: [PATCH] Use pre-3.10 serialization code on PyPy3.10
-
-The new serialization code for Python 3.10+ does not seem to work
-on PyPy3.10 7.3.13, as it causes:
-
- ValueError: no signature found for builtin type <class 'code'>
-
-Switch back to the old code if PyPy is used, at least for the time
-being. With this change, the test suite passes on PyPy3.10.
-
-Fixes #845
----
- ipyparallel/serialize/codeutil.py | 3 ++-
- 1 file changed, 2 insertions(+), 1 deletion(-)
-
-diff --git a/ipyparallel/serialize/codeutil.py b/ipyparallel/serialize/codeutil.py
-index 2d3acfa2a..80d107765 100644
---- a/ipyparallel/serialize/codeutil.py
-+++ b/ipyparallel/serialize/codeutil.py
-@@ -27,7 +27,8 @@ def code_ctor(*args):
- }
- # pass every supported arg to the code constructor
- # this should be more forward-compatible
--if sys.version_info >= (3, 10):
-+# (broken on pypy: https://github.com/ipython/ipyparallel/issues/845)
-+if sys.version_info >= (3, 10) and not hasattr(sys, "pypy_version_info"):
- _code_attr_names = tuple(
- _code_attr_map.get(name, name)
- for name, param in inspect.signature(types.CodeType).parameters.items()
diff --git a/dev-python/ipyparallel/ipyparallel-8.6.1.ebuild b/dev-python/ipyparallel/ipyparallel-8.6.1.ebuild
deleted file mode 100644
index 96ee69b90056..000000000000
--- a/dev-python/ipyparallel/ipyparallel-8.6.1.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2023 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-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
- # https://github.com/ipython/ipyparallel/pull/846
- "${FILESDIR}"/${P}-pypy310.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/ipyparallel/ipyparallel-8.8.0.ebuild b/dev-python/ipyparallel/ipyparallel-8.8.0.ebuild
new file mode 100644
index 000000000000..914e39f18627
--- /dev/null
+++ b/dev-python/ipyparallel/ipyparallel-8.8.0.ebuild
@@ -0,0 +1,86 @@
+# 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..13} )
+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-5[${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/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
+ )
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p tornado
+}
+
+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 d4ce9c320981..062a0f892705 100644
--- a/dev-python/ipython/Manifest
+++ b/dev-python/ipython/Manifest
@@ -1,2 +1,3 @@
-DIST ipython-8.17.2.tar.gz 5486488 BLAKE2B 7af4b4964527de8e74247ce05e9b1c8ab9a16e8784e0e07129859d01ffef0a976c8de7661821b131c125a8d1c2ac29d09d8e81a741f7180219a0c429530391cd SHA512 87039da43cb942c78238c4c69a2e2e7d6d1757a9ce8aac5f1bcd30a112a38f1b4f51672749ed469945844070eec661c6bb2f137405336f71d6adc1f5d26a11e2
-DIST ipython-8.18.1.tar.gz 5486330 BLAKE2B 3d05ad34a78aff4f426fd6aeb5f4b322601a0daba0d68141a19301f2dd98499603d7a64ec20daee3f753eb40e3b8f954912bc4d0d488fae41a5a66b5e25af628 SHA512 7c1ace56c8d8c4c1e42a8db8cee73f7e0ce195fcd9d6bfc2c4a68391c3c3341dd5a228c85fc79ffb2cd4693817312162f7905ec2049a7523be345a78b4f66d9b
+DIST ipython-8.24.0.tar.gz 5491819 BLAKE2B 49ca26f4ab6ceb7c787038db5b1073790d7a32cb96951bcc2ffa4ac05b3a689507e654344fda196560e2dc4b9e2225335e27bc3fb7472ba487adebb1ebba44e1 SHA512 adf032a93e94e1e8008a1cc106fb348d0bccb914a335e0ad04490531e7a7d16e7a2dc4a345f7faf1b3151d60a649413fa78130688cb59de088e5eb4291689310
+DIST ipython-8.25.0.tar.gz 5492936 BLAKE2B 1abb407e60d04e9f7834ee112f68bc1152b5693880dc091103ee015b1749949f9522537f183fd598992a5fe26124408bcfa8ad8550779fe94c0f2223b4879dca SHA512 b048a7bf65a16a1bc0d451a547998458ebfe93b4576bb89080f99d3e6ccbba34cfb1d3d33e2d32a6d1f6e8b2f3cf1b102b775f66c6610272ee8ffe15222d951f
+DIST ipython-8.26.0.tar.gz 5493422 BLAKE2B 2d05630d64d932190bf07c233e4241f5ce4830e62a3fb3551a93d9bfa83545de8090902a0528004b8233169d20652b7a3bbf1913ce078254246002956b1e44e1 SHA512 05f331cd39b75aed78bb06460f56145d9cefa2d65d818ae0fd25b3739d2c11830e3d6c427206787d3b3efec10de8ed4c966c25a70e4b7a7e1c914cfe8fba6a70
diff --git a/dev-python/ipython/files/ipython-8.24.0-mpl-3.9.patch b/dev-python/ipython/files/ipython-8.24.0-mpl-3.9.patch
new file mode 100644
index 000000000000..927cc95ccf29
--- /dev/null
+++ b/dev-python/ipython/files/ipython-8.24.0-mpl-3.9.patch
@@ -0,0 +1,72 @@
+diff --git a/IPython/core/pylabtools.py b/IPython/core/pylabtools.py
+index 1f5a11f37e..4287834418 100644
+--- a/IPython/core/pylabtools.py
++++ b/IPython/core/pylabtools.py
+@@ -345,8 +345,10 @@ def find_gui_and_backend(gui=None, gui_select=None):
+ backend = matplotlib.rcParamsOrig["backend"]
+ backend, gui = backend_registry.resolve_backend(backend)
+ else:
++ gui = _convert_gui_to_matplotlib(gui)
+ backend, gui = backend_registry.resolve_gui_or_backend(gui)
+
++ gui = _convert_gui_from_matplotlib(gui)
+ return gui, backend
+
+ # Fallback to previous behaviour (Matplotlib < 3.9)
+@@ -509,10 +511,28 @@ def _list_matplotlib_backends_and_gui_loops() -> list[str]:
+ if _matplotlib_manages_backends():
+ from matplotlib.backends.registry import backend_registry
+
+- ret = backend_registry.list_all() + backend_registry.list_gui_frameworks()
++ ret = backend_registry.list_all() + [
++ _convert_gui_from_matplotlib(gui)
++ for gui in backend_registry.list_gui_frameworks()
++ ]
+ else:
+ from IPython.core import pylabtools
+
+ ret = list(pylabtools.backends.keys())
+
+ return sorted(["auto"] + ret)
++
++
++# Matplotlib and IPython do not always use the same gui framework name.
++# Always use the approprate one of these conversion functions when passing a
++# gui framework name to/from Matplotlib.
++def _convert_gui_to_matplotlib(gui: str | None) -> str | None:
++ if gui and gui.lower() == "osx":
++ return "macosx"
++ return gui
++
++
++def _convert_gui_from_matplotlib(gui: str | None) -> str | None:
++ if gui and gui.lower() == "macosx":
++ return "osx"
++ return gui
+diff --git a/IPython/core/tests/test_pylabtools.py b/IPython/core/tests/test_pylabtools.py
+index 4099f04044..6bddb34807 100644
+--- a/IPython/core/tests/test_pylabtools.py
++++ b/IPython/core/tests/test_pylabtools.py
+@@ -276,11 +276,11 @@ def test_figure_no_canvas():
+ # name is gui
+ ("gtk3", "gtk3", "gtk3agg"),
+ ("gtk4", "gtk4", "gtk4agg"),
+- ("headless", "headless", "agg"),
++ ("headless", None, "agg"),
+ ("osx", "osx", "macosx"),
+ ("qt", "qt", "qtagg"),
+ ("qt5", "qt5", "qt5agg"),
+- ("qt6", "qt6", "qt6agg"),
++ ("qt6", "qt6", "qtagg"),
+ ("tk", "tk", "tkagg"),
+ ("wx", "wx", "wxagg"),
+ # name is backend
+@@ -301,8 +301,6 @@ def test_figure_no_canvas():
+ ("qtcairo", "qt", "qtcairo"),
+ ("qt5agg", "qt5", "qt5agg"),
+ ("qt5cairo", "qt5", "qt5cairo"),
+- ("qt6agg", "qt", "qt6agg"),
+- ("qt6cairo", "qt", "qt6cairo"),
+ ("tkagg", "tk", "tkagg"),
+ ("tkcairo", "tk", "tkcairo"),
+ ("webagg", "webagg", "webagg"),
diff --git a/dev-python/ipython/files/ipython-8.24.0-pytest-8.patch b/dev-python/ipython/files/ipython-8.24.0-pytest-8.patch
new file mode 100644
index 000000000000..04f1a1534ac5
--- /dev/null
+++ b/dev-python/ipython/files/ipython-8.24.0-pytest-8.patch
@@ -0,0 +1,125 @@
+From 7df70a3cd79068be6f98596e427d60a5d0cfe5b3 Mon Sep 17 00:00:00 2001
+From: Steve Kowalik <steven@wedontsleep.org>
+Date: Thu, 23 May 2024 13:00:43 +1000
+Subject: [PATCH] Support pytest 8.1+ changes in pytest plugin
+
+Pytest 8.1 has also changed the plugin API, as well as required new
+keyword arguments. I've shifted the pytest version calculation to the
+module level so we can use it everywhere, and continue supporting all
+versions of pytest that we can.
+
+Fixes #14390
+---
+ IPython/testing/plugin/pytest_ipdoctest.py | 36 ++++++++++++++++------
+ 1 file changed, 26 insertions(+), 10 deletions(-)
+
+diff --git a/IPython/testing/plugin/pytest_ipdoctest.py b/IPython/testing/plugin/pytest_ipdoctest.py
+index fc8af13b579..40a3ae92b40 100644
+--- a/IPython/testing/plugin/pytest_ipdoctest.py
++++ b/IPython/testing/plugin/pytest_ipdoctest.py
+@@ -38,7 +38,11 @@
+ from _pytest.compat import safe_getattr
+ from _pytest.config import Config
+ from _pytest.config.argparsing import Parser
+-from _pytest.fixtures import FixtureRequest
++
++try:
++ from _pytest.fixtures import TopRequest as FixtureRequest
++except ImportError:
++ from _pytest.fixtures import FixtureRequest
+ from _pytest.nodes import Collector
+ from _pytest.outcomes import OutcomeException
+ from _pytest.pathlib import fnmatch_ex, import_path
+@@ -69,6 +73,8 @@
+ # Lazy definition of output checker class
+ CHECKER_CLASS: Optional[Type["IPDoctestOutputChecker"]] = None
+
++pytest_version = tuple([int(part) for part in pytest.__version__.split(".")])
++
+
+ def pytest_addoption(parser: Parser) -> None:
+ parser.addini(
+@@ -143,7 +149,7 @@ def pytest_collect_file(
+ return None
+
+
+-if int(pytest.__version__.split(".")[0]) < 7:
++if pytest_version[0] < 7:
+ _collect_file = pytest_collect_file
+
+ def pytest_collect_file(
+@@ -448,7 +454,7 @@ def reportinfo(self) -> Tuple[Union["os.PathLike[str]", str], Optional[int], str
+ assert self.dtest is not None
+ return self.path, self.dtest.lineno, "[ipdoctest] %s" % self.name
+
+- if int(pytest.__version__.split(".")[0]) < 7:
++ if pytest_version[0] < 7:
+
+ @property
+ def path(self) -> Path:
+@@ -521,7 +527,7 @@ def collect(self) -> Iterable[IPDoctestItem]:
+ self, name=test.name, runner=runner, dtest=test
+ )
+
+- if int(pytest.__version__.split(".")[0]) < 7:
++ if pytest_version[0] < 7:
+
+ @property
+ def path(self) -> Path:
+@@ -636,20 +642,26 @@ def _find(
+ )
+
+ if self.path.name == "conftest.py":
+- if int(pytest.__version__.split(".")[0]) < 7:
++ if pytest_version[0] < 7:
+ module = self.config.pluginmanager._importconftest(
+ self.path,
+ self.config.getoption("importmode"),
+ )
+ else:
++ kwargs = {"rootpath": self.config.rootpath}
++ if pytest_version >= (8, 1):
++ kwargs["consider_namespace_packages"] = False
+ module = self.config.pluginmanager._importconftest(
+ self.path,
+ self.config.getoption("importmode"),
+- rootpath=self.config.rootpath,
++ **kwargs,
+ )
+ else:
+ try:
+- module = import_path(self.path, root=self.config.rootpath)
++ kwargs = {"root": self.config.rootpath}
++ if pytest_version >= (8, 1):
++ kwargs["consider_namespace_packages"] = False
++ module = import_path(self.path, **kwargs)
+ except ImportError:
+ if self.config.getvalue("ipdoctest_ignore_import_errors"):
+ pytest.skip("unable to import module %r" % self.path)
+@@ -671,7 +683,7 @@ def _find(
+ self, name=test.name, runner=runner, dtest=test
+ )
+
+- if int(pytest.__version__.split(".")[0]) < 7:
++ if pytest_version[0] < 7:
+
+ @property
+ def path(self) -> Path:
+@@ -701,11 +713,15 @@ def func() -> None:
+
+ doctest_item.funcargs = {} # type: ignore[attr-defined]
+ fm = doctest_item.session._fixturemanager
++ kwargs = {"node": doctest_item, "func": func, "cls": None}
++ if pytest_version <= (8, 0):
++ kwargs["funcargs"] = False
+ doctest_item._fixtureinfo = fm.getfixtureinfo( # type: ignore[attr-defined]
+- node=doctest_item, func=func, cls=None, funcargs=False
++ **kwargs
+ )
+ fixture_request = FixtureRequest(doctest_item, _ispytest=True)
+- fixture_request._fillfixtures()
++ if pytest_version <= (8, 0):
++ fixture_request._fillfixtures()
+ return fixture_request
+
+
diff --git a/dev-python/ipython/ipython-8.17.2.ebuild b/dev-python/ipython/ipython-8.17.2.ebuild
deleted file mode 100644
index 358f802d559a..000000000000
--- a/dev-python/ipython/ipython-8.17.2.ebuild
+++ /dev/null
@@ -1,172 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( 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.38[${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.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/exceptiongroup[${PYTHON_USEDEP}]
- ' 3.10)
-"
-
-BDEPEND="
- 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.22[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- dev-python/pickleshare[${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
- 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
- optfeature "%mprun magic command" dev-python/memory-profiler
-
- 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/ipython/ipython-8.18.1.ebuild b/dev-python/ipython/ipython-8.18.1.ebuild
deleted file mode 100644
index 014524900579..000000000000
--- a/dev-python/ipython/ipython-8.18.1.ebuild
+++ /dev/null
@@ -1,172 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( 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.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/exceptiongroup[${PYTHON_USEDEP}]
- ' 3.10)
-"
-
-BDEPEND="
- 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.22[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- dev-python/pickleshare[${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
- 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
- optfeature "%mprun magic command" dev-python/memory-profiler
-
- 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/ipython/ipython-8.24.0-r1.ebuild b/dev-python/ipython/ipython-8.24.0-r1.ebuild
new file mode 100644
index 000000000000..f4db7e09820a
--- /dev/null
+++ b/dev-python/ipython/ipython-8.24.0-r1.ebuild
@@ -0,0 +1,182 @@
+# 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)
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10 3.11)
+"
+
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ app-text/dvipng[truetype]
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-3.9[${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-asyncio[${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
+ # https://github.com/ipython/ipython/pull/14441
+ "${FILESDIR}/${P}-pytest-8.patch"
+ # https://github.com/ipython/ipython/pull/14420
+ "${FILESDIR}/${P}-mpl-3.9.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 -p asyncio --asyncio-mode=auto ||
+ die "Tests failed on ${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/ipython/ipython-8.24.0.ebuild b/dev-python/ipython/ipython-8.24.0.ebuild
new file mode 100644
index 000000000000..bbb1d7e16ff3
--- /dev/null
+++ b/dev-python/ipython/ipython-8.24.0.ebuild
@@ -0,0 +1,179 @@
+# 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)
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10 3.11)
+"
+
+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/pytest-asyncio[${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 -p asyncio --asyncio-mode=auto ||
+ die "Tests failed on ${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/ipython/ipython-8.25.0.ebuild b/dev-python/ipython/ipython-8.25.0.ebuild
new file mode 100644
index 000000000000..aadbb2c3a170
--- /dev/null
+++ b/dev-python/ipython/ipython-8.25.0.ebuild
@@ -0,0 +1,152 @@
+# 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="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)
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10 3.11)
+"
+
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ app-text/dvipng[truetype]
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-3.9[${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-asyncio[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/testpath[${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}]
+ )
+"
+
+python_prepare_all() {
+ # 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
+}
+
+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/ipython/ipython/issues/14244
+ IPython/lib/tests/test_display.py::TestAudioDataWithoutNumpy
+ )
+ ;;
+ esac
+
+ # nonfatal implied by virtx
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest -p asyncio --asyncio-mode=auto ||
+ die "Tests failed on ${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/ipython/ipython-8.26.0.ebuild b/dev-python/ipython/ipython-8.26.0.ebuild
new file mode 100644
index 000000000000..b492448b16c1
--- /dev/null
+++ b/dev-python/ipython/ipython-8.26.0.ebuild
@@ -0,0 +1,161 @@
+# 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..13} )
+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="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)
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10 3.11)
+"
+
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ app-text/dvipng[truetype]
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-3.9[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pickleshare[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+RDEPEND+="
+ nbconvert? (
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ $(python_gen_cond_dep '
+ qt5? ( dev-python/qtconsole[${PYTHON_USEDEP}] )
+ ' 'python*')
+ $(python_gen_cond_dep '
+ notebook? (
+ dev-python/notebook[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/widgetsnbextension[${PYTHON_USEDEP}]
+ )
+ ' 3.{10..12})
+ smp? (
+ >=dev-python/ipykernel-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ipyparallel-6.2.3[${PYTHON_USEDEP}]
+ )
+"
+
+python_prepare_all() {
+ # 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
+}
+
+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/ipython/ipython/issues/14244
+ IPython/lib/tests/test_display.py::TestAudioDataWithoutNumpy
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # docstring mismatch?
+ IPython/core/tests/test_debugger.py::IPython.core.tests.test_debugger.test_ipdb_magics
+ )
+ ;;
+ esac
+
+ # nonfatal implied by virtx
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest -p asyncio --asyncio-mode=auto ||
+ die "Tests failed on ${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/ipython_genutils/ipython_genutils-0.2.0-r4.ebuild b/dev-python/ipython_genutils/ipython_genutils-0.2.0-r4.ebuild
index f25bd3446f45..95009cf0bf6d 100644
--- a/dev-python/ipython_genutils/ipython_genutils-0.2.0-r4.ebuild
+++ b/dev-python/ipython_genutils/ipython_genutils-0.2.0-r4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/ipywidgets/Manifest b/dev-python/ipywidgets/Manifest
index a1592647360d..6566d8777047 100644
--- a/dev-python/ipywidgets/Manifest
+++ b/dev-python/ipywidgets/Manifest
@@ -1 +1 @@
-DIST ipywidgets-8.1.1.tar.gz 116420 BLAKE2B 9f138178dc213cac8d3c21a366f47c10675d8d74eb3e29f07c12b10c3a99281896f15afc4f609a4f9ad5f0eac5c60507b10cc98a01500d46150dd6ce36b15b3c SHA512 287f4cb56fe08b1ca01c7f226d7c8a1471d33bb1c36053e705326356c82de8686d6d59be0b50c3016c6c168c743f37de366a5fdf5f8a00c9d0678773e8c1618e
+DIST ipywidgets-8.1.3.tar.gz 116515 BLAKE2B b7a11e7078ddbd99b8713fc3aa63c78118bf00b64c376412c608a622fda1e7d0430accb0959a56a474d2eeba4b5ce531255b52bba591f2806833644e47f2a7bd SHA512 3722e3716f367c6dce88c6ec401d23240c214793672ae76a12b672f77c7c801775d3253e1202749e54832d9dc13e4bb5984ec57e21607f12c22aced8874538db
diff --git a/dev-python/ipywidgets/files/ipywidgets-8.1.3-py313.patch b/dev-python/ipywidgets/files/ipywidgets-8.1.3-py313.patch
new file mode 100644
index 000000000000..c8bd3e22a8a6
--- /dev/null
+++ b/dev-python/ipywidgets/files/ipywidgets-8.1.3-py313.patch
@@ -0,0 +1,30 @@
+From acfa9a3539648a04b11331ad07cab4393069f87f Mon Sep 17 00:00:00 2001
+From: Lumir Balhar <lbalhar@redhat.com>
+Date: Tue, 18 Jun 2024 11:58:07 +0200
+Subject: [PATCH] Make tests compatible with Python 3.13
+
+Python compiler newly removes indent from docstrings
+https://github.com/python/cpython/issues/81283
+---
+ python/ipywidgets/ipywidgets/widgets/tests/test_docutils.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/ipywidgets/widgets/tests/test_docutils.py b/ipywidgets/widgets/tests/test_docutils.py
+index 1f8b09aa34..462293326c 100644
+--- a/ipywidgets/widgets/tests/test_docutils.py
++++ b/ipywidgets/widgets/tests/test_docutils.py
+@@ -15,7 +15,7 @@ def test_substitution(self):
+ def f():
+ """ Docstring with value {key} """
+
+- assert f.__doc__ == " Docstring with value 62 "
++ assert "Docstring with value 62" in f.__doc__
+
+ def test_unused_keys(self):
+ snippets = {'key': '62', 'other-key': 'unused'}
+@@ -24,4 +24,4 @@ def test_unused_keys(self):
+ def f():
+ """ Docstring with value {key} """
+
+- assert f.__doc__ == " Docstring with value 62 "
++ assert "Docstring with value 62" in f.__doc__
diff --git a/dev-python/ipywidgets/files/ipywidgets-8.1.3-pytest-8.patch b/dev-python/ipywidgets/files/ipywidgets-8.1.3-pytest-8.patch
new file mode 100644
index 000000000000..0294ec1ce604
--- /dev/null
+++ b/dev-python/ipywidgets/files/ipywidgets-8.1.3-pytest-8.patch
@@ -0,0 +1,91 @@
+From bbc6c064aa797eb21bd5a9b441dbbc76925a72db Mon Sep 17 00:00:00 2001
+From: Lumir Balhar <lbalhar@redhat.com>
+Date: Thu, 11 Apr 2024 11:40:15 +0200
+Subject: [PATCH] Fix compatibility with pytest 8
+
+Resolves: https://github.com/jupyter-widgets/ipywidgets/issues/3883
+---
+ .../ipywidgets/ipywidgets/widgets/tests/test_interaction.py | 2 --
+ python/ipywidgets/ipywidgets/widgets/tests/test_link.py | 1 -
+ .../ipywidgets/ipywidgets/widgets/tests/test_send_state.py | 2 +-
+ .../ipywidgets/ipywidgets/widgets/tests/test_set_state.py | 2 +-
+ python/ipywidgets/ipywidgets/widgets/tests/utils.py | 6 +++---
+ 5 files changed, 5 insertions(+), 8 deletions(-)
+
+diff --git a/ipywidgets/widgets/tests/test_interaction.py b/ipywidgets/widgets/tests/test_interaction.py
+index 0dc7e5fcfc..feb1afe50c 100644
+--- a/ipywidgets/widgets/tests/test_interaction.py
++++ b/ipywidgets/widgets/tests/test_interaction.py
+@@ -19,8 +19,6 @@
+ # Utility stuff
+ #-----------------------------------------------------------------------------
+
+-from .utils import setup, teardown
+-
+ def f(**kwargs):
+ pass
+
+diff --git a/ipywidgets/widgets/tests/test_link.py b/ipywidgets/widgets/tests/test_link.py
+index 0c92dfdcb2..9301764d40 100644
+--- a/ipywidgets/widgets/tests/test_link.py
++++ b/ipywidgets/widgets/tests/test_link.py
+@@ -4,7 +4,6 @@
+ import pytest
+
+ from .. import jslink, jsdlink, ToggleButton
+-from .utils import setup, teardown
+
+ def test_jslink_args():
+ with pytest.raises(TypeError):
+diff --git a/ipywidgets/widgets/tests/test_send_state.py b/ipywidgets/widgets/tests/test_send_state.py
+index ec18ae4af1..98465b9b7d 100644
+--- a/ipywidgets/widgets/tests/test_send_state.py
++++ b/ipywidgets/widgets/tests/test_send_state.py
+@@ -3,7 +3,7 @@
+
+ from traitlets import Bool, Tuple, List
+
+-from .utils import setup, teardown, DummyComm
++from .utils import setup
+
+ from ..widget import Widget
+
+diff --git a/ipywidgets/widgets/tests/test_set_state.py b/ipywidgets/widgets/tests/test_set_state.py
+index 82ecbd9311..22ec54d90f 100644
+--- a/ipywidgets/widgets/tests/test_set_state.py
++++ b/ipywidgets/widgets/tests/test_set_state.py
+@@ -6,7 +6,7 @@
+
+ from traitlets import Bool, Tuple, List, Instance, CFloat, CInt, Float, Int, TraitError, observe
+
+-from .utils import setup, teardown
++from .utils import setup
+
+ import ipywidgets
+ from ipywidgets import Widget
+diff --git a/ipywidgets/widgets/tests/utils.py b/ipywidgets/widgets/tests/utils.py
+index 260485e3f8..8dbbcb355b 100644
+--- a/ipywidgets/widgets/tests/utils.py
++++ b/ipywidgets/widgets/tests/utils.py
+@@ -12,7 +12,7 @@
+ NEW_COMM_PACKAGE = False
+
+ import ipykernel.comm
+-
++import pytest
+
+ class DummyComm():
+ comm_id = 'a-b-c-d'
+@@ -87,10 +87,10 @@ def teardown_test_comm():
+ setattr(Widget, attr, value)
+ _widget_attrs.clear()
+
++@pytest.fixture(autouse=True)
+ def setup():
+ setup_test_comm()
+-
+-def teardown():
++ yield
+ teardown_test_comm()
+
+ def call_method(method, *args, **kwargs):
diff --git a/dev-python/ipywidgets/ipywidgets-8.1.1-r1.ebuild b/dev-python/ipywidgets/ipywidgets-8.1.1-r1.ebuild
deleted file mode 100644
index dfa7fcea4a60..000000000000
--- a/dev-python/ipywidgets/ipywidgets-8.1.1-r1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="IPython HTML widgets for Jupyter"
-HOMEPAGE="
- https://ipywidgets.readthedocs.io/
- https://github.com/jupyter-widgets/ipywidgets/
- https://pypi.org/project/ipywidgets/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/comm-0.1.3[${PYTHON_USEDEP}]
- >=dev-python/ipython_genutils-0.2.0[${PYTHON_USEDEP}]
- >=dev-python/traitlets-4.3.1[${PYTHON_USEDEP}]
- >=dev-python/widgetsnbextension-4.0.9[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-PDEPEND="
- >=dev-python/ipython-6.1.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # upstream hack to autoconfigure ipywidgets in jupyter
- # we don't have jupyterlab_widgets packaged
- sed -i -e '/jupyterlab_widgets/d' setup.cfg || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/ipywidgets/ipywidgets-8.1.3.ebuild b/dev-python/ipywidgets/ipywidgets-8.1.3.ebuild
new file mode 100644
index 000000000000..2d8b2a1677c2
--- /dev/null
+++ b/dev-python/ipywidgets/ipywidgets-8.1.3.ebuild
@@ -0,0 +1,64 @@
+# 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..13} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="IPython HTML widgets for Jupyter"
+HOMEPAGE="
+ https://ipywidgets.readthedocs.io/
+ https://github.com/jupyter-widgets/ipywidgets/
+ https://pypi.org/project/ipywidgets/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/comm-0.1.3[${PYTHON_USEDEP}]
+ >=dev-python/ipython_genutils-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-4.3.1[${PYTHON_USEDEP}]
+ >=dev-python/widgetsnbextension-4.0.11[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-widgets-3.0.11[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+PDEPEND="
+ >=dev-python/ipython-6.1.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/jupyter-widgets/ipywidgets/pull/3903
+ "${FILESDIR}/${P}-pytest-8.patch"
+ # https://github.com/jupyter-widgets/ipywidgets/pull/3924
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # https://github.com/pypy/pypy/issues/4892
+ ipywidgets/widgets/tests/test_interaction.py::test_interact_noinspect
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/irc/Manifest b/dev-python/irc/Manifest
index 60503a1b7559..8db3bcd6e902 100644
--- a/dev-python/irc/Manifest
+++ b/dev-python/irc/Manifest
@@ -1 +1,4 @@
-DIST irc-20.3.0.tar.gz 90906 BLAKE2B d26c31f2bfa31d2eb49f658535eb636e8f7d264b7da9211b197e387e18ce5544a5af0ea19455d3611d1338ddec2bb93e928a31f22abeef154151691b37182ce5 SHA512 875f049e96b145ad26a6733aac7b1067fc17ef01023b94024079153dd1dd097eb421ac7d6b062216ce132bd475fe6f2f6adb2f7f2f27bbcbbe4de5c86efedc51
+DIST irc-20.4.1.tar.gz 91229 BLAKE2B 05518a19821016e5a10173a5ee20a0d3cb6047eb87f4a153331bc8458abb365d27cde8ae02b1e7c12a86957adc7811511f61c516bdb1c6f0f03f4a5186524eb5 SHA512 e57e18c7c8111c883737cbaa176e0e895c182e43208ff784abf382bcab0b613287076ec35cfe266d78418e27b38a6443344b03bd90ea768c1c50ce0c32453d89
+DIST irc-20.4.2.tar.gz 91206 BLAKE2B 4a2b16581bc863774180e9fe67b564be50cfa3ea192999153426bbe883b5360ccaf053fab6e7a9fb47262d0a7f3f97a2dd2eab8f2a6f16223e4fd12b0f333f45 SHA512 18a767ad99cbc387b9c785da9334a96822092eb90e7fdb913af92cb7ea973fc2e54cb59942a025e33630ff3a78b6a52910a92c053daa4f25ef37d851f58a62e4
+DIST irc-20.4.3.tar.gz 91219 BLAKE2B 8a18c569489f8b4cbc6d631aad410705f3b27d764c7acfc862daeb57626cc7677e6b3f7192fc0cfc8f1d3882f2cc200d4895192282e98aa428ca82286020cf95 SHA512 233e6a57435194de4365fe619c43316c5ff588b1ccda16351af841469d5902e9217911c50a464bc12ffd6b7dd5cbc5ff77ab5650d1beb73bc59a0d39b3436725
+DIST irc-20.5.0.tar.gz 92150 BLAKE2B 4a0d600fc4184e8fe1e9b16be4c45d00033120ec1b61b40cda7c859aceae66021abab462acb517a0c52eda52895e93314829ce4181e0efa630de8d4a5a8111fa SHA512 599cc837d8f624699004eb01181af6437e5a3d15e647f6d3ac8b014bfed467196ac3850f4d3ed33095f7a64177b0b22959f46e3b80aaa9c93570d141ace9a9d0
diff --git a/dev-python/irc/irc-20.3.0.ebuild b/dev-python/irc/irc-20.3.0.ebuild
deleted file mode 100644
index 25cf72b8e617..000000000000
--- a/dev-python/irc/irc-20.3.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="IRC client framework written in Python"
-HOMEPAGE="
- https://github.com/jaraco/irc/
- https://pypi.org/project/irc/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-IUSE="examples"
-
-RDEPEND="
- dev-python/jaraco-collections[${PYTHON_USEDEP}]
- >=dev-python/jaraco-functools-1.20[${PYTHON_USEDEP}]
- >=dev-python/jaraco-itertools-1.8[${PYTHON_USEDEP}]
- dev-python/jaraco-logging[${PYTHON_USEDEP}]
- dev-python/jaraco-stream[${PYTHON_USEDEP}]
- dev-python/jaraco-text[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- >=dev-python/tempora-1.6[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-3.4.1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- if use examples; then
- docompress -x "/usr/share/doc/${PF}/scripts"
- dodoc -r scripts
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/irc/irc-20.4.1.ebuild b/dev-python/irc/irc-20.4.1.ebuild
new file mode 100644
index 000000000000..b24c5740eeaa
--- /dev/null
+++ b/dev-python/irc/irc-20.4.1.ebuild
@@ -0,0 +1,50 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="IRC client framework written in Python"
+HOMEPAGE="
+ https://github.com/jaraco/irc/
+ https://pypi.org/project/irc/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/jaraco-collections[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-functools-1.20[${PYTHON_USEDEP}]
+ dev-python/jaraco-logging[${PYTHON_USEDEP}]
+ dev-python/jaraco-stream[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-text-3.10[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/tempora-1.6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-3.4.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # https://github.com/jaraco/irc/issues/231
+ rm -r docs || die
+ distutils-r1_src_prepare
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/scripts"
+ dodoc -r scripts
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/irc/irc-20.4.2.ebuild b/dev-python/irc/irc-20.4.2.ebuild
new file mode 100644
index 000000000000..0a2a0ab2df22
--- /dev/null
+++ b/dev-python/irc/irc-20.4.2.ebuild
@@ -0,0 +1,44 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="IRC client framework written in Python"
+HOMEPAGE="
+ https://github.com/jaraco/irc/
+ https://pypi.org/project/irc/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/jaraco-collections[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-functools-1.20[${PYTHON_USEDEP}]
+ dev-python/jaraco-logging[${PYTHON_USEDEP}]
+ dev-python/jaraco-stream[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-text-3.10[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/tempora-1.6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-3.4.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/scripts"
+ dodoc -r scripts
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/irc/irc-20.4.3.ebuild b/dev-python/irc/irc-20.4.3.ebuild
new file mode 100644
index 000000000000..0a2a0ab2df22
--- /dev/null
+++ b/dev-python/irc/irc-20.4.3.ebuild
@@ -0,0 +1,44 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="IRC client framework written in Python"
+HOMEPAGE="
+ https://github.com/jaraco/irc/
+ https://pypi.org/project/irc/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/jaraco-collections[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-functools-1.20[${PYTHON_USEDEP}]
+ dev-python/jaraco-logging[${PYTHON_USEDEP}]
+ dev-python/jaraco-stream[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-text-3.10[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/tempora-1.6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-3.4.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/scripts"
+ dodoc -r scripts
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/irc/irc-20.5.0.ebuild b/dev-python/irc/irc-20.5.0.ebuild
new file mode 100644
index 000000000000..8a83c41a565a
--- /dev/null
+++ b/dev-python/irc/irc-20.5.0.ebuild
@@ -0,0 +1,47 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="IRC client framework written in Python"
+HOMEPAGE="
+ https://github.com/jaraco/irc/
+ https://pypi.org/project/irc/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/jaraco-collections[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-functools-1.20[${PYTHON_USEDEP}]
+ dev-python/jaraco-logging[${PYTHON_USEDEP}]
+ dev-python/jaraco-stream[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-text-3.14[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/tempora-1.6[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/importlib-resources[${PYTHON_USEDEP}]
+ ' 3.10 3.11)
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-3.4.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/scripts"
+ dodoc -r scripts
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/irctokens/irctokens-2.0.2.ebuild b/dev-python/irctokens/irctokens-2.0.2.ebuild
index ddf4c05d60c2..b151b080168b 100644
--- a/dev-python/irctokens/irctokens-2.0.2.ebuild
+++ b/dev-python/irctokens/irctokens-2.0.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/iso8601/iso8601-2.1.0.ebuild b/dev-python/iso8601/iso8601-2.1.0.ebuild
index d6dcf0a800fe..ae33a8c0c802 100644
--- a/dev-python/iso8601/iso8601-2.1.0.ebuild
+++ b/dev-python/iso8601/iso8601-2.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/isodate/isodate-0.6.1-r1.ebuild b/dev-python/isodate/isodate-0.6.1-r1.ebuild
index 17b514d09b1c..7ee131e789ff 100644
--- a/dev-python/isodate/isodate-0.6.1-r1.ebuild
+++ b/dev-python/isodate/isodate-0.6.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/isoduration/isoduration-20.11.0-r1.ebuild b/dev-python/isoduration/isoduration-20.11.0-r1.ebuild
index 9f3939e12bef..6b1de6ccffa4 100644
--- a/dev-python/isoduration/isoduration-20.11.0-r1.ebuild
+++ b/dev-python/isoduration/isoduration-20.11.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/isort/Manifest b/dev-python/isort/Manifest
index 5f6b11e3a97e..9122a8f7a2dc 100644
--- a/dev-python/isort/Manifest
+++ b/dev-python/isort/Manifest
@@ -1 +1 @@
-DIST isort-5.12.0.gh.tar.gz 743141 BLAKE2B a7f8deef02b57162eebe15b35e71382c654372a80dedba7eee63d0c9b0899c053fb517401585af17014db3cf9ed44089f6cbd1e2b0ed17393cc667de06bfbddd SHA512 ceb861d1a077be6fecd82fde775bded1fb676c77135e2004c92a6221762e0b3ff6c1071d17957e1add4062ec26ba6c9264e4905724f2c659339cbd0601f4b45e
+DIST isort-5.13.2.gh.tar.gz 755256 BLAKE2B 4cc8a0209ba954d93c030e6ad038933b50aa2f17b173762f598bc8038f36f72ecd1e7a3f6e73398bbfc99f464d14927f77044ca68126815023a8d456497985a1 SHA512 fe2bd27f0aa6219d44c3124782d400338a801a911d6a09ad51e7f80cbcbce250838350ad6cc80a35f641e0a319778ddcfb4dc61c8c76999ebc63a5147953e378
diff --git a/dev-python/isort/files/isort-5.12.0-py312.patch b/dev-python/isort/files/isort-5.12.0-py312.patch
deleted file mode 100644
index a6de4a75311b..000000000000
--- a/dev-python/isort/files/isort-5.12.0-py312.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From abfb91fd7da34111828d81a20fe7aeaaab7a58c7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Mon, 6 Nov 2023 13:29:21 +0100
-Subject: [PATCH] Fix assertions in `test_git_hook`
-
-Fix `called_once()` assertions in `test_git_hook` to use the correct
-`assert_called_once()` method. The former does not exist, so it
-evaluates to a mocked method in Python < 3.12, making the assert
-meaningless, and it triggers an error in Python 3.12+.
-
-While at it, split the mock into two because otherwise the test would
-fail because two `hooks.git_hook()` calls imply two mock calls.
----
- tests/unit/test_hooks.py | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/tests/unit/test_hooks.py b/tests/unit/test_hooks.py
-index 2757f414f..29685f503 100644
---- a/tests/unit/test_hooks.py
-+++ b/tests/unit/test_hooks.py
-@@ -11,7 +11,7 @@ def test_git_hook(src_dir):
- # Ensure correct subprocess command is called
- with patch("subprocess.run", MagicMock()) as run_mock:
- hooks.git_hook()
-- assert run_mock.called_once()
-+ run_mock.assert_called_once()
- assert run_mock.call_args[0][0] == [
- "git",
- "diff-index",
-@@ -21,8 +21,9 @@ def test_git_hook(src_dir):
- "HEAD",
- ]
-
-+ with patch("subprocess.run", MagicMock()) as run_mock:
- hooks.git_hook(lazy=True)
-- assert run_mock.called_once()
-+ run_mock.assert_called_once()
- assert run_mock.call_args[0][0] == [
- "git",
- "diff-index",
diff --git a/dev-python/isort/isort-5.12.0.ebuild b/dev-python/isort/isort-5.12.0.ebuild
deleted file mode 100644
index 261752344ba9..000000000000
--- a/dev-python/isort/isort-5.12.0.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A python utility/library to sort imports"
-HOMEPAGE="
- https://github.com/PyCQA/isort/
- https://pypi.org/project/isort/
-"
-SRC_URI="
- https://github.com/PyCQA/isort/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/tomli[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/black[${PYTHON_USEDEP}]
- dev-python/colorama[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/natsort[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-vcs/git
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- local PATCHES=(
- # https://github.com/PyCQA/isort/pull/2196
- "${FILESDIR}/${P}-py312.patch"
- )
-
- # unbundle tomli
- sed -i -e 's:from ._vendored ::' isort/settings.py || die
- rm -r isort/_vendored || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- cp -a "${BUILD_DIR}"/{install,test} || die
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- # Install necessary plugins
- local p
- for p in example*/; do
- pushd "${p}" >/dev/null || die
- distutils_pep517_install "${BUILD_DIR}"/test
- popd >/dev/null || die
- done
-
- local EPYTEST_IGNORE=(
- # Excluded from upstream's test script
- tests/unit/test_deprecated_finders.py
- )
-
- if ! has_version "dev-python/pylama[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- tests/unit/test_importable.py
- tests/unit/test_pylama_isort.py
- )
- fi
-
- epytest tests/unit
-}
diff --git a/dev-python/isort/isort-5.13.2.ebuild b/dev-python/isort/isort-5.13.2.ebuild
new file mode 100644
index 000000000000..51f0b4b4c9d3
--- /dev/null
+++ b/dev-python/isort/isort-5.13.2.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A python utility/library to sort imports"
+HOMEPAGE="
+ https://github.com/PyCQA/isort/
+ https://pypi.org/project/isort/
+"
+SRC_URI="
+ https://github.com/PyCQA/isort/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/black[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4.6[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/natsort[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unbundle tomli
+ sed -i -e 's:from ._vendored ::' isort/settings.py || die
+ rm -r isort/_vendored || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ # Install necessary plugins
+ local p
+ for p in example*/; do
+ pushd "${p}" >/dev/null || die
+ distutils_pep517_install "${BUILD_DIR}"/test
+ popd >/dev/null || die
+ done
+
+ local EPYTEST_DESELECT=(
+ # relies on black 23.* output
+ tests/unit/profiles/test_black.py::test_black_pyi_file
+ # pytest-8
+ tests/unit/test_ticketed_features.py::test_isort_should_warn_on_empty_custom_config_issue_1433
+ )
+ local EPYTEST_IGNORE=(
+ # Excluded from upstream's test script
+ tests/unit/test_deprecated_finders.py
+ )
+
+ if ! has_version "dev-python/pylama[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/unit/test_importable.py
+ tests/unit/test_pylama_isort.py
+ )
+ fi
+
+ epytest tests/unit
+}
diff --git a/dev-python/itsdangerous/Manifest b/dev-python/itsdangerous/Manifest
index fbb0fcf1d8c2..54a714671d39 100644
--- a/dev-python/itsdangerous/Manifest
+++ b/dev-python/itsdangerous/Manifest
@@ -1 +1 @@
-DIST itsdangerous-2.1.2.tar.gz 56143 BLAKE2B 4c36cb26bcc6b6821b92b88b0254711ebe00bfda2193cecf0a7eb1fd514806f366fc0b4dc587a383003ec1272a2bc732418a46b44fa711beaedc06c379635ddc SHA512 e4d870a33992b309ed778f403c0c1e098983a693d1165260748bf36385ebfadb583811e05ddd48001a33cf6a4e963b7dd8a8c68919c5b4b86f63621d8869e259
+DIST itsdangerous-2.2.0.tar.gz 54410 BLAKE2B 8179d8bc705a9d695046c8ec5e37df5a0f7f8e8c7e000d2a25b684ab0292874fa2a79085326a4001df4a782247f5ce1c1425f8c4a6490818929ae80a146f140b SHA512 ed046cc371ea9aa1f7cd3bd201f1b68910a2b008bd8434c425332cecec6539cf031df6e2223a1fdccd68c12ccf5486e80f178d5906911b19417f0ea244e367f8
diff --git a/dev-python/itsdangerous/itsdangerous-2.1.2.ebuild b/dev-python/itsdangerous/itsdangerous-2.1.2.ebuild
deleted file mode 100644
index 9ef836ae8a8b..000000000000
--- a/dev-python/itsdangerous/itsdangerous-2.1.2.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Various helpers to pass trusted data to untrusted environments and back"
-HOMEPAGE="
- https://palletsprojects.com/p/itsdangerous/
- https://github.com/pallets/itsdangerous/
- https://pypi.org/project/itsdangerous/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-BDEPEND="
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/itsdangerous/itsdangerous-2.2.0.ebuild b/dev-python/itsdangerous/itsdangerous-2.2.0.ebuild
new file mode 100644
index 000000000000..8bddd59f6cd8
--- /dev/null
+++ b/dev-python/itsdangerous/itsdangerous-2.2.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Various helpers to pass trusted data to untrusted environments and back"
+HOMEPAGE="
+ https://palletsprojects.com/p/itsdangerous/
+ https://github.com/pallets/itsdangerous/
+ https://pypi.org/project/itsdangerous/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+BDEPEND="
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/itunespy/Manifest b/dev-python/itunespy/Manifest
index eaf9e6ec9e6c..f0451eba8382 100644
--- a/dev-python/itunespy/Manifest
+++ b/dev-python/itunespy/Manifest
@@ -1 +1,2 @@
+DIST itunespy-1.6.1.gh.tar.gz 10139 BLAKE2B 41eac172835cb440016a5d835f188e9cda72f3291983e35f44e2f2c9ceed6663784789761e88784e42f4586d5dcd0471661a8bec7586ea1b429d54419277aefe SHA512 b30dac3d498fe0e108bbab7480c45245ee18247c91b3b685761b1e6df7f285e93777080a1aced2f436837d48b122c3f7b91274069529a5370ef9cf158b0fc4eb
DIST itunespy-1.6.tar.gz 9724 BLAKE2B c46ccfd00a3dec1772499d3299dae7c20355628176db4e660aca0b2b819b81423ac78ce55319c822c15e1c4bf0641c2fc3c4d9ba94dafad1ffdeb503be4f76f9 SHA512 d91428e23a71bdbc62e6b8126b379aa48f06a365056147cf30eb4fa6132243d35c8a8d6dc536174a53f206bf7bcb4dcebb5a3697fac0fd88cbcb38205202ad81
diff --git a/dev-python/itunespy/itunespy-1.6-r1.ebuild b/dev-python/itunespy/itunespy-1.6-r1.ebuild
deleted file mode 100644
index b59e2cdfb61b..000000000000
--- a/dev-python/itunespy/itunespy-1.6-r1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A simple library to fetch data from the iTunes Store API"
-HOMEPAGE="https://github.com/sleepyfran/itunespy/"
-
-if [[ "${PV}" == *9999* ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/sleepyfran/${PN}.git"
-else
- SRC_URI="https://github.com/sleepyfran/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
- KEYWORDS="amd64 ~x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-RDEPEND="
- dev-python/pycountry[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
-"
-
-PATCHES=( "${FILESDIR}"/${P}-setup.cfg-description_file.patch )
diff --git a/dev-python/itunespy/itunespy-1.6-r2.ebuild b/dev-python/itunespy/itunespy-1.6-r2.ebuild
new file mode 100644
index 000000000000..1e17aa89d5ea
--- /dev/null
+++ b/dev-python/itunespy/itunespy-1.6-r2.ebuild
@@ -0,0 +1,30 @@
+# 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_{9..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple library to fetch data from the iTunes Store API"
+HOMEPAGE="https://github.com/sleepyfran/itunespy/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/sleepyfran/${PN}.git"
+else
+ SRC_URI="https://github.com/sleepyfran/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+ KEYWORDS="amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+RDEPEND="
+ dev-python/pycountry[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+
+PATCHES=( "${FILESDIR}"/${P}-setup.cfg-description_file.patch )
diff --git a/dev-python/itunespy/itunespy-1.6.1.ebuild b/dev-python/itunespy/itunespy-1.6.1.ebuild
new file mode 100644
index 000000000000..828f19fa8547
--- /dev/null
+++ b/dev-python/itunespy/itunespy-1.6.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A simple library to fetch data from the iTunes Store API"
+HOMEPAGE="https://github.com/sleepyfran/itunespy/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/sleepyfran/${PN}.git"
+else
+ SRC_URI="https://github.com/sleepyfran/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz"
+
+ KEYWORDS="~amd64 ~x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+RDEPEND="
+ dev-python/pycountry[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ rm setup.cfg || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/jack-client/jack-client-0.5.4.ebuild b/dev-python/jack-client/jack-client-0.5.4.ebuild
index 5d69fec70b24..6fd87327c3c2 100644
--- a/dev-python/jack-client/jack-client-0.5.4.ebuild
+++ b/dev-python/jack-client/jack-client-0.5.4.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN="JACK-Client"
diff --git a/dev-python/jack-client/metadata.xml b/dev-python/jack-client/metadata.xml
index eba2072d3363..59860b7baeaf 100644
--- a/dev-python/jack-client/metadata.xml
+++ b/dev-python/jack-client/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>proaudio@gentoo.org</email>
+ <name>Gentoo ProAudio Project</name>
</maintainer>
<upstream>
<remote-id type="pypi">JACK-Client</remote-id>
diff --git a/dev-python/jaraco-classes/Manifest b/dev-python/jaraco-classes/Manifest
index ea646c14a446..c8963662aa34 100644
--- a/dev-python/jaraco-classes/Manifest
+++ b/dev-python/jaraco-classes/Manifest
@@ -1 +1 @@
-DIST jaraco.classes-3.3.0.tar.gz 10729 BLAKE2B 05791a799e4d5bbce94b111e7acc922f46cf2eb409c6043f997482960ad3b4a29b0d2f9afc7f1fdc07363f0a0b6403077d685831baf909ecd93adac71611ac30 SHA512 8099c85c93ed0eff37b1f870e2577b20488dea7b10273c00a89b43c0ef759c17c9a835916eef0fd97b3944bc5cd50b32e1393ac7c80cf7c7bfd1ee0d639d16cf
+DIST jaraco.classes-3.4.0.tar.gz 11780 BLAKE2B e16f76f58fae8b42864e5055e8fd97fff634223aa28499fcc8a204f52aec9f2cc66b5cdf53e08acac85bfdeff46b7bdeb8b5bcc9da10fee16f3a5bd84026cd1d SHA512 94e5163120117c51f129d43e85f92ee19efcf8b10683142679511f8b33f4a1fd6c51516b7551aeab9d68c1936791bafc47328b5560ee3fe28e553fe463ea968f
diff --git a/dev-python/jaraco-classes/jaraco-classes-3.3.0.ebuild b/dev-python/jaraco-classes/jaraco-classes-3.3.0.ebuild
deleted file mode 100644
index 93248d49e97c..000000000000
--- a/dev-python/jaraco-classes/jaraco-classes-3.3.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Classes used by other projects by developer jaraco"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.classes/
- https://pypi.org/project/jaraco.classes/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/jaraco-classes/jaraco-classes-3.4.0.ebuild b/dev-python/jaraco-classes/jaraco-classes-3.4.0.ebuild
new file mode 100644
index 000000000000..06f374c35e21
--- /dev/null
+++ b/dev-python/jaraco-classes/jaraco-classes-3.4.0.ebuild
@@ -0,0 +1,27 @@
+# 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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Classes used by other projects by developer jaraco"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.classes/
+ https://pypi.org/project/jaraco.classes/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/jaraco-collections/Manifest b/dev-python/jaraco-collections/Manifest
index ddd3686f4d04..81f7518a5e1f 100644
--- a/dev-python/jaraco-collections/Manifest
+++ b/dev-python/jaraco-collections/Manifest
@@ -1 +1 @@
-DIST jaraco.collections-4.3.0.tar.gz 17862 BLAKE2B f40c6f40fb7fea5c74244b24a8121471ce4e33615d6db7f0db660f669c8aca65f9fb1986d2213762883b671067c8137c21694e41e7276cd4a9b00bc1989f022d SHA512 cee6169dfbe71752e6ed93db35a41896d891932cab949fed534bb90d5ac246eba3fb19105d39981b5cff9996331914e67858cc1158c23ffa702cf1cdcdced90e
+DIST jaraco.collections-5.0.1.tar.gz 17990 BLAKE2B a78de1a3222492dde34271edd8032dc5b8737dc428c1aa6b55ebda799ef4ff986cb0cf495bdbc35f9c776e1d576c2970ae6736ba8d8aa7f2fcc2e6766aefbbc3 SHA512 88b0f261acd91d585e643b810818762af7165eaf505099701b99ee3be6955eebcfd1c95690faa3ecb56b25f6982a8cee242e687e50ead56a557a5b2b72ec6dfe
diff --git a/dev-python/jaraco-collections/jaraco-collections-4.3.0.ebuild b/dev-python/jaraco-collections/jaraco-collections-4.3.0.ebuild
deleted file mode 100644
index c07100fd2439..000000000000
--- a/dev-python/jaraco-collections/jaraco-collections-4.3.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Models and classes to supplement the stdlib collections module"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.collections/
- https://pypi.org/project/jaraco.collections/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- dev-python/jaraco-text[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-1.15.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/jaraco-collections/jaraco-collections-5.0.1.ebuild b/dev-python/jaraco-collections/jaraco-collections-5.0.1.ebuild
new file mode 100644
index 000000000000..692debc04a80
--- /dev/null
+++ b/dev-python/jaraco-collections/jaraco-collections-5.0.1.ebuild
@@ -0,0 +1,35 @@
+# 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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Models and classes to supplement the stdlib collections module"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.collections/
+ https://pypi.org/project/jaraco.collections/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/jaraco-text[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-1.15.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/jaraco-context/Manifest b/dev-python/jaraco-context/Manifest
index 1564c9707741..ecd56663a6b7 100644
--- a/dev-python/jaraco-context/Manifest
+++ b/dev-python/jaraco-context/Manifest
@@ -1 +1 @@
-DIST jaraco.context-4.3.0.tar.gz 9764 BLAKE2B 2905723ec54c6ae63b2088d677cd486dcdc06dfea06bb058eeb512da508b2ae74990894cb62f3751321cb4c813b66ffe9a3084b21eb0cb4236a9515969432dfc SHA512 8882229fa1a68f2733ec4103fbeaf47625b19790f4461ab18df4c1f1a99d4d26d10d7381ab68ba5df48616a1fdb2d5e4a767496a0e40658fd011ed9cd39255de
+DIST jaraco.context-5.3.0.tar.gz 13345 BLAKE2B d2f429335ea80a6b50ea9574adc45c25c0fc78e8ebb5edde218bcbbe7a2b27ae6b5c17453e71904240d0d873ebef36f7c7aeda4424d3fea2dd9aaf01af6fb4c5 SHA512 f63bf272c45ff5c43499621651b78841259040ac98d67c9db75fadebb1c497c1156e05f23bf7c91df3e91f1e070acb9f7dc665e7b242ba7b1ac1cf99a619494d
diff --git a/dev-python/jaraco-context/jaraco-context-4.3.0.ebuild b/dev-python/jaraco-context/jaraco-context-4.3.0.ebuild
deleted file mode 100644
index b0c8171ea6e6..000000000000
--- a/dev-python/jaraco-context/jaraco-context-4.3.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
-EAPI=7
-
-DISTUTILS_USE_PEP517=flit
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Context managers by jaraco"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.context/
- https://pypi.org/project/jaraco.context/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-distutils_enable_tests pytest
-
-src_configure() {
- grep -q 'build-backend = "setuptools' pyproject.toml ||
- die "Upstream changed build-backend, recheck"
- # write a custom pyproject.toml to ease setuptools bootstrap
- cat > pyproject.toml <<-EOF || die
- [build-system]
- requires = ["flit_core >=3.2,<4"]
- build-backend = "flit_core.buildapi"
-
- [project]
- name = "jaraco.context"
- version = "${PV}"
- description = "Context managers by jaraco"
- EOF
-}
-
-python_install() {
- distutils-r1_python_install
- # rename to workaround a bug in pkg_resources
- # https://bugs.gentoo.org/834522
- mv "${D}$(python_get_sitedir)"/jaraco{_,.}context-${PV}.dist-info || die
-}
diff --git a/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild b/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild
new file mode 100644
index 000000000000..8cb625122fb3
--- /dev/null
+++ b/dev-python/jaraco-context/jaraco-context-5.3.0.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Context managers by jaraco"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.context/
+ https://pypi.org/project/jaraco.context/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/backports-tarfile[${PYTHON_USEDEP}]
+ ' 3.10 3.11)
+"
+BDEPEND="
+ test? (
+ dev-python/portend[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "jaraco.context"
+ version = "${PV}"
+ description = "Context managers by jaraco"
+ EOF
+}
+
+python_install() {
+ distutils-r1_python_install
+ # rename to workaround a bug in pkg_resources
+ # https://bugs.gentoo.org/834522
+ mv "${D}$(python_get_sitedir)"/jaraco{_,.}context-${PV}.dist-info || die
+}
diff --git a/dev-python/jaraco-env/jaraco-env-1.0.0.ebuild b/dev-python/jaraco-env/jaraco-env-1.0.0.ebuild
index 1f1fda78a4b8..7d3d28992d61 100644
--- a/dev-python/jaraco-env/jaraco-env-1.0.0.ebuild
+++ b/dev-python/jaraco-env/jaraco-env-1.0.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
diff --git a/dev-python/jaraco-envs/jaraco-envs-2.6.0.ebuild b/dev-python/jaraco-envs/jaraco-envs-2.6.0.ebuild
index c74d398bc787..a78c1ec42274 100644
--- a/dev-python/jaraco-envs/jaraco-envs-2.6.0.ebuild
+++ b/dev-python/jaraco-envs/jaraco-envs-2.6.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
RDEPEND="
dev-python/path[${PYTHON_USEDEP}]
diff --git a/dev-python/jaraco-functools/Manifest b/dev-python/jaraco-functools/Manifest
index af2b5b49dc72..eed4c2506fb3 100644
--- a/dev-python/jaraco-functools/Manifest
+++ b/dev-python/jaraco-functools/Manifest
@@ -1 +1 @@
-DIST jaraco.functools-4.0.0.tar.gz 17779 BLAKE2B ef403411f60e956a723350c949cdbd13fa36473ce77f6b1cea4eb5eaedbd2edd4ea902b8c062d53411c7bc12dcfd3879b0f1c82a1d21c28575f0298eb03f868d SHA512 2545bf3b9c9357ae867e7a5627582e14d0bdf25bac6acc5fbbb7e86f7aa24bc33b5bca584543b4180abdde203610b9716950110253045c1fe11f8bd045283c78
+DIST jaraco_functools-4.0.1.tar.gz 18169 BLAKE2B 86d5b8020f9c44b8dc373fd2f07a8c5f11cb2a7ec069541763ce92562fb230b557a4c3783e899713136c71e457985bc7e4abb0becde9ca7eaacf7798b5815269 SHA512 04e0ea4719ec8c4439e5a1dd3c3ba0241b21b54b06d53ecc44263046e994aa736b9d196490edd3fd9d7ea997c23c177b30db506b2088bd9de62c637856101982
diff --git a/dev-python/jaraco-functools/jaraco-functools-4.0.0.ebuild b/dev-python/jaraco-functools/jaraco-functools-4.0.0.ebuild
deleted file mode 100644
index 56f61ce83156..000000000000
--- a/dev-python/jaraco-functools/jaraco-functools-4.0.0.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Additional functions used by other projects by developer jaraco"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.functools/
- https://pypi.org/project/jaraco.functools/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- >=dev-python/more-itertools-0.12.0-r1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jaraco-classes[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_configure() {
- grep -q 'build-backend = "setuptools' pyproject.toml ||
- die "Upstream changed build-backend, recheck"
- # write a custom pyproject.toml to ease setuptools bootstrap
- cat > pyproject.toml <<-EOF || die
- [build-system]
- requires = ["flit_core >=3.2,<4"]
- build-backend = "flit_core.buildapi"
-
- [project]
- name = "jaraco.functools"
- version = "${PV}"
- description = "Functools like those found in stdlib"
- EOF
-}
-
-python_install() {
- distutils-r1_python_install
- # rename to workaround a bug in pkg_resources
- # https://bugs.gentoo.org/834522
- mv "${D}$(python_get_sitedir)"/jaraco{_,.}functools-${PV}.dist-info || die
-}
diff --git a/dev-python/jaraco-functools/jaraco-functools-4.0.1.ebuild b/dev-python/jaraco-functools/jaraco-functools-4.0.1.ebuild
new file mode 100644
index 000000000000..b81cb08e6bbc
--- /dev/null
+++ b/dev-python/jaraco-functools/jaraco-functools-4.0.1.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Additional functions used by other projects by developer jaraco"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.functools/
+ https://pypi.org/project/jaraco.functools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ >=dev-python/more-itertools-0.12.0-r1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "jaraco.functools"
+ version = "${PV}"
+ description = "Functools like those found in stdlib"
+ EOF
+}
+
+python_install() {
+ distutils-r1_python_install
+ # rename to workaround a bug in pkg_resources
+ # https://bugs.gentoo.org/834522
+ mv "${D}$(python_get_sitedir)"/jaraco{_,.}functools-${PV}.dist-info || die
+}
diff --git a/dev-python/jaraco-itertools/jaraco-itertools-6.4.1.ebuild b/dev-python/jaraco-itertools/jaraco-itertools-6.4.1.ebuild
index cb4f9a22a429..9c9df5728272 100644
--- a/dev-python/jaraco-itertools/jaraco-itertools-6.4.1.ebuild
+++ b/dev-python/jaraco-itertools/jaraco-itertools-6.4.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
RDEPEND="
dev-python/inflect[${PYTHON_USEDEP}]
diff --git a/dev-python/jaraco-logging/Manifest b/dev-python/jaraco-logging/Manifest
index 3bec9ab4b81d..ebc159c91d92 100644
--- a/dev-python/jaraco-logging/Manifest
+++ b/dev-python/jaraco-logging/Manifest
@@ -1 +1 @@
-DIST jaraco.logging-3.2.0.tar.gz 8907 BLAKE2B 9329655842f1e46af1a8eff72d97bd8c46dea60bdf1fb1e4decf5a47a95d162b825c6586db6629529a833b36944a38c536d0bb8127c60ac04e91d9553cf49682 SHA512 dd5a66bf03d01378e542553c08f8daf6aa2ec9aa8087b8d11f34b4527a1fb1e41b20142ac9b5d9e5eb8f510f50f7d1a3ec11a8eff9871190b4d4392b68bbada7
+DIST jaraco.logging-3.3.0.tar.gz 9082 BLAKE2B 8dadd0ef5c13fda35c580a4ff4fb011d35f28461471f353efe1211240e5bac52419bb1d7a6034db3d46c1bb0a73654ded5f50b296b3c5f16e821588d445e597f SHA512 edb0ce89420a05d0f0634b3486b831e01a51e9a8e186afc3a496013c4326aeb3f67f5492900de8991e18faf171ae1785eda60b0523da7065da9fdb0a2fa10a5d
diff --git a/dev-python/jaraco-logging/jaraco-logging-3.2.0.ebuild b/dev-python/jaraco-logging/jaraco-logging-3.2.0.ebuild
deleted file mode 100644
index a00fbac6b4f3..000000000000
--- a/dev-python/jaraco-logging/jaraco-logging-3.2.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Additional facilities to supplement Python's stdlib logging module"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.logging/
- https://pypi.org/project/jaraco.logging/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/tempora[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-1.15.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- # create a pkgutil-style __init__.py in order to fix pytest's
- # determination of package paths
- cat > jaraco/__init__.py <<-EOF || die
- __path__ = __import__("pkgutil").extend_path(__path__, __name__)
- EOF
- epytest --doctest-modules
-}
diff --git a/dev-python/jaraco-logging/jaraco-logging-3.3.0.ebuild b/dev-python/jaraco-logging/jaraco-logging-3.3.0.ebuild
new file mode 100644
index 000000000000..1f8957828d68
--- /dev/null
+++ b/dev-python/jaraco-logging/jaraco-logging-3.3.0.ebuild
@@ -0,0 +1,39 @@
+# 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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Additional facilities to supplement Python's stdlib logging module"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.logging/
+ https://pypi.org/project/jaraco.logging/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ dev-python/tempora[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-1.15.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # create a pkgutil-style __init__.py in order to fix pytest's
+ # determination of package paths
+ cat > jaraco/__init__.py <<-EOF || die
+ __path__ = __import__("pkgutil").extend_path(__path__, __name__)
+ EOF
+ epytest --doctest-modules
+}
diff --git a/dev-python/jaraco-path/jaraco-path-3.7.0.ebuild b/dev-python/jaraco-path/jaraco-path-3.7.0.ebuild
index 47bb3cf8e848..b0fdda03077b 100644
--- a/dev-python/jaraco-path/jaraco-path-3.7.0.ebuild
+++ b/dev-python/jaraco-path/jaraco-path-3.7.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/jaraco-stream/jaraco-stream-3.0.3-r1.ebuild b/dev-python/jaraco-stream/jaraco-stream-3.0.3-r1.ebuild
index 2fdadea0c5cb..1ead9f9f6404 100644
--- a/dev-python/jaraco-stream/jaraco-stream-3.0.3-r1.ebuild
+++ b/dev-python/jaraco-stream/jaraco-stream-3.0.3-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/jaraco-test/Manifest b/dev-python/jaraco-test/Manifest
index 26f232a151f5..4bb20d6aab0f 100644
--- a/dev-python/jaraco-test/Manifest
+++ b/dev-python/jaraco-test/Manifest
@@ -1 +1 @@
-DIST jaraco.test-5.3.0.tar.gz 8199 BLAKE2B bb44899e9d459350b7edff1a0212afada0765b250e7450c28e15da958632b33a17777d6db2b7ae9984772928003fbd368b6482889816198c971c77fd1f967bcd SHA512 31d2ea0557023c6996b786ee1b2a385ac8f22c2af66baab98c3a6b894bf1eaa7378a595d00bc46a537cc89fe87c9193733968fc8a586a58654b468b712d63728
+DIST jaraco.test-5.4.0.tar.gz 8838 BLAKE2B 3abdff298a61015363bda3e52d3b5226993169128386dbb620487dcf8b29926c9be0415a2a263ad311db04a591d446b9e6efaece2ab2bfbe7b2781ee2e6dcdd6 SHA512 ab260c3c5ef16e83e8be0821cb735941764c06bb414c3f913bf337b62267b177f3102f7a87241b182ef20760fdcce98f4f9c705335b0744b69f9a296d5215b1b
diff --git a/dev-python/jaraco-test/jaraco-test-5.3.0.ebuild b/dev-python/jaraco-test/jaraco-test-5.3.0.ebuild
deleted file mode 100644
index 89eaf4b7d78a..000000000000
--- a/dev-python/jaraco-test/jaraco-test-5.3.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Testing support by jaraco"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.test/
- https://pypi.org/project/jaraco.test/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/jaraco-context[${PYTHON_USEDEP}]
- dev-python/jaraco-functools[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- # while technically these tests are skipped when Internet is
- # not available (they test whether auto-skipping works), we don't
- # want any Internet access whenever possible
- local EPYTEST_DESELECT=(
- tests/test_http.py::test_needs_internet
- )
- epytest -m "not network"
-}
diff --git a/dev-python/jaraco-test/jaraco-test-5.4.0.ebuild b/dev-python/jaraco-test/jaraco-test-5.4.0.ebuild
new file mode 100644
index 000000000000..ad20feadc830
--- /dev/null
+++ b/dev-python/jaraco-test/jaraco-test-5.4.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Testing support by jaraco"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.test/
+ https://pypi.org/project/jaraco.test/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/jaraco-collections[${PYTHON_USEDEP}]
+ dev-python/jaraco-context[${PYTHON_USEDEP}]
+ dev-python/jaraco-functools[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ # workaround namespaces blocking test.support import (sigh!)
+ mv jaraco/test jaraco_test || die
+ rmdir jaraco || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ # while technically these tests are skipped when Internet is
+ # not available (they test whether auto-skipping works), we don't
+ # want any Internet access whenever possible
+ local EPYTEST_DESELECT=(
+ tests/test_http.py::test_needs_internet
+ )
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m "not network"
+}
diff --git a/dev-python/jaraco-text/Manifest b/dev-python/jaraco-text/Manifest
index bb4ce43c72d0..22da7a46eef1 100644
--- a/dev-python/jaraco-text/Manifest
+++ b/dev-python/jaraco-text/Manifest
@@ -1,2 +1,2 @@
-DIST jaraco.text-3.11.1.tar.gz 16083 BLAKE2B f7268128209fbdc849a745595339f4dc9a097f3f4f8f0cdcb05ca3106ed5a45460126fbb2b7d9c3b01b63aa3f750175e8cd366034183b7d8804a1650fe493e4b SHA512 b4066589e9d4c9a2a82ae2b0825d34b22b93ee179d29c3666e9b978390121520afcb8fc5ffa6457022d2e8477f4cf2b76485d9896438ee46275326577609f201
-DIST jaraco.text-3.12.0.tar.gz 16329 BLAKE2B e1314b3121d5d75ac4a986a342c3290f5523bb45be8bf8e994ed87188712464e75a805498a7d846aea157aa8592fbca444842d1b70a21e0add49e89dfa743a7a SHA512 75068006c96dae3b8d21228f2ae21820939c68b1fb7e5db35bd0c1126a20399eb4d99c6bea15e88076599956c4b41104558cd32d860d8f4fd4e96aeeb22711c9
+DIST jaraco_text-3.12.1.tar.gz 16580 BLAKE2B 89f11877052e6b7cacbee4ae53ea140ce337a3a8f25657c558e3634378d20ac70206fd188f8492bdc725ebfec94c7f553ec61a9a3be97738918746fab79a9414 SHA512 4a459e497259de8dc37fbe92eec19973f5d1425f23212221885339a9c7b0f432301978c3c918f4cdd4e1cb3e50b465aad07634ab8cf40f86151d08b150d097e4
+DIST jaraco_text-3.14.0.tar.gz 16824 BLAKE2B 62a4db8fc6e7148d81dacaab08a3dd3478a74e9cb0377a3b9cbce538575542cd99b42f599af04fdfa62be06d3edb7a7f7f4b27883e91608e8d1033c655ee8304 SHA512 3557876c0ab2e1a54c8ce85663b45c9c143a88bb64a5d9c3e2354b2af229b25983b7977c576f83add1b5bae79cceebb01206c756a354eca24681a57a0ee14fb4
diff --git a/dev-python/jaraco-text/jaraco-text-3.11.1-r1.ebuild b/dev-python/jaraco-text/jaraco-text-3.11.1-r1.ebuild
deleted file mode 100644
index 407c5792a3af..000000000000
--- a/dev-python/jaraco-text/jaraco-text-3.11.1-r1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Text utilities used by other projects by developer jaraco"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.text/
- https://pypi.org/project/jaraco.text/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- >=dev-python/jaraco-context-4.1.1-r1[${PYTHON_USEDEP}]
- >=dev-python/jaraco-functools-3.5.0-r1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_configure() {
- grep -q 'build-backend = "setuptools' pyproject.toml ||
- die "Upstream changed build-backend, recheck"
- # write a custom pyproject.toml to ease setuptools bootstrap
- cat > pyproject.toml <<-EOF || die
- [build-system]
- requires = ["flit_core >=3.2,<4"]
- build-backend = "flit_core.buildapi"
-
- [project]
- name = "jaraco.text"
- version = "${PV}"
- description = "Module for text manipulation"
- EOF
-
- # remove CLI tools, they have annoying deps, no entry points
- # and since there are dashes in their names, they can't be imported
- # anyway
- rm jaraco/text/*-*.py || die
-}
-
-python_install() {
- distutils-r1_python_install
- # rename to workaround a bug in pkg_resources
- # https://bugs.gentoo.org/834522
- mv "${D}$(python_get_sitedir)"/jaraco{_,.}text-${PV}.dist-info || die
-}
diff --git a/dev-python/jaraco-text/jaraco-text-3.12.0.ebuild b/dev-python/jaraco-text/jaraco-text-3.12.0.ebuild
deleted file mode 100644
index c1747da85d28..000000000000
--- a/dev-python/jaraco-text/jaraco-text-3.12.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Text utilities used by other projects by developer jaraco"
-HOMEPAGE="
- https://github.com/jaraco/jaraco.text/
- https://pypi.org/project/jaraco.text/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- >=dev-python/jaraco-context-4.1.1-r1[${PYTHON_USEDEP}]
- >=dev-python/jaraco-functools-3.5.0-r1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_configure() {
- grep -q 'build-backend = "setuptools' pyproject.toml ||
- die "Upstream changed build-backend, recheck"
- # write a custom pyproject.toml to ease setuptools bootstrap
- cat > pyproject.toml <<-EOF || die
- [build-system]
- requires = ["flit_core >=3.2,<4"]
- build-backend = "flit_core.buildapi"
-
- [project]
- name = "jaraco.text"
- version = "${PV}"
- description = "Module for text manipulation"
- EOF
-
- # remove CLI tools, they have annoying deps, no entry points
- # and since there are dashes in their names, they can't be imported
- # anyway
- rm jaraco/text/*-*.py || die
-}
-
-python_install() {
- distutils-r1_python_install
- # rename to workaround a bug in pkg_resources
- # https://bugs.gentoo.org/834522
- mv "${D}$(python_get_sitedir)"/jaraco{_,.}text-${PV}.dist-info || die
-}
diff --git a/dev-python/jaraco-text/jaraco-text-3.12.1.ebuild b/dev-python/jaraco-text/jaraco-text-3.12.1.ebuild
new file mode 100644
index 000000000000..c7c66c18cb59
--- /dev/null
+++ b/dev-python/jaraco-text/jaraco-text-3.12.1.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Text utilities used by other projects by developer jaraco"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.text/
+ https://pypi.org/project/jaraco.text/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ >=dev-python/jaraco-context-4.1.1-r1[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-functools-3.5.0-r1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "jaraco.text"
+ version = "${PV}"
+ description = "Module for text manipulation"
+ EOF
+
+ # remove CLI tools, they have annoying deps, no entry points
+ # and since there are dashes in their names, they can't be imported
+ # anyway
+ rm jaraco/text/*-*.py || die
+}
+
+python_install() {
+ distutils-r1_python_install
+ # rename to workaround a bug in pkg_resources
+ # https://bugs.gentoo.org/834522
+ mv "${D}$(python_get_sitedir)"/jaraco{_,.}text-${PV}.dist-info || die
+}
diff --git a/dev-python/jaraco-text/jaraco-text-3.14.0.ebuild b/dev-python/jaraco-text/jaraco-text-3.14.0.ebuild
new file mode 100644
index 000000000000..09e788276ec8
--- /dev/null
+++ b/dev-python/jaraco-text/jaraco-text-3.14.0.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Text utilities used by other projects by developer jaraco"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.text/
+ https://pypi.org/project/jaraco.text/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ >=dev-python/jaraco-context-4.1.1-r1[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-functools-3.5.0-r1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "jaraco.text"
+ version = "${PV}"
+ description = "Module for text manipulation"
+ EOF
+
+ # remove CLI tools, they have annoying deps, no entry points
+ # and since there are dashes in their names, they can't be imported
+ # anyway
+ rm jaraco/text/*-*.py || die
+}
+
+python_install() {
+ distutils-r1_python_install
+ # rename to workaround a bug in pkg_resources
+ # https://bugs.gentoo.org/834522
+ mv "${D}$(python_get_sitedir)"/jaraco{_,.}text-${PV}.dist-info || die
+}
diff --git a/dev-python/jaraco-vcs/Manifest b/dev-python/jaraco-vcs/Manifest
new file mode 100644
index 000000000000..55cbc77f462a
--- /dev/null
+++ b/dev-python/jaraco-vcs/Manifest
@@ -0,0 +1 @@
+DIST jaraco_vcs-2.2.0.tar.gz 16660 BLAKE2B 9d48f78839e0e13aa5a520a167144deadce0d607c0bb378370d930d0aa1d94fe5778206384f29a449499e73b3cafc716358417d41f3016115b347d686e557269 SHA512 a842db1dac4beca4273b4a3afaec804bfc89286ad6eba6f9f47cd2b4dab7e04d9d12136bf555108fdbfe133fe62c71935be990b79cb0801766cc565c21343339
diff --git a/dev-python/jaraco-vcs/jaraco-vcs-2.2.0.ebuild b/dev-python/jaraco-vcs/jaraco-vcs-2.2.0.ebuild
new file mode 100644
index 000000000000..1b6d2926e012
--- /dev/null
+++ b/dev-python/jaraco-vcs/jaraco-vcs-2.2.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Facilities for working with VCS repositories"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.vcs/
+ https://pypi.org/project/jaraco.vcs/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+ dev-python/jaraco-versioning[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/jaraco-path[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # assumes running inside the git repo
+ jaraco/vcs/__init__.py::jaraco.vcs
+)
diff --git a/dev-python/jaraco-vcs/metadata.xml b/dev-python/jaraco-vcs/metadata.xml
new file mode 100644
index 000000000000..d2bc5e8640ce
--- /dev/null
+++ b/dev-python/jaraco-vcs/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">jaraco/jaraco.vcs</remote-id>
+ <remote-id type="pypi">jaraco.vcs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jaraco-versioning/Manifest b/dev-python/jaraco-versioning/Manifest
new file mode 100644
index 000000000000..d44373184e38
--- /dev/null
+++ b/dev-python/jaraco-versioning/Manifest
@@ -0,0 +1 @@
+DIST jaraco.versioning-1.1.0.tar.gz 9193 BLAKE2B 53839065296a9ae0ecf48553ee4beeffa5771257c58ae2799c15d58a9d0e0accb5b361ca0ac67bc6d69ae3c15aaece96aa479159a3df7ecd545eb75e21240d8b SHA512 aa2e93bb13fa4ca9f2df07f65bc801b3f03566df06be1b388fd1651c3610c59f691170db8de27146c602ef5df2306809efe3a84dc23c1a9e9d6806ad4ce27906
diff --git a/dev-python/jaraco-versioning/jaraco-versioning-1.1.0.ebuild b/dev-python/jaraco-versioning/jaraco-versioning-1.1.0.ebuild
new file mode 100644
index 000000000000..b23ae4a2b0c4
--- /dev/null
+++ b/dev-python/jaraco-versioning/jaraco-versioning-1.1.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="More sophisticated version manipulation (than packaging)"
+HOMEPAGE="
+ https://github.com/jaraco/jaraco.versioning/
+ https://pypi.org/project/jaraco.versioning/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/jaraco-versioning/metadata.xml b/dev-python/jaraco-versioning/metadata.xml
new file mode 100644
index 000000000000..22a407f2797a
--- /dev/null
+++ b/dev-python/jaraco-versioning/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">jaraco/jaraco.versioning</remote-id>
+ <remote-id type="pypi">jaraco.versioning</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jc/Manifest b/dev-python/jc/Manifest
index d72bf249ab37..dcddadd6b14d 100644
--- a/dev-python/jc/Manifest
+++ b/dev-python/jc/Manifest
@@ -1,3 +1 @@
-DIST jc-1.23.4.gh.tar.gz 12920166 BLAKE2B 3980f0564121362028c03fcdab653ef449bd6706eded19276cdcad7a5a18c819ae89fb5d82157af7add190203af2a9900d185aa54b0620357e6b639934bee0bf SHA512 e757e06e8eb740c85df03a92184fc285f35806365fffd4b8459e73fe54d7fcc4e476a4886daa713cd0fe1c5712aa867478a339eb208b55ef92e88945c4ae63a9
-DIST jc-1.23.5.gh.tar.gz 12938443 BLAKE2B 4234adb9eb402bc7f86abb47831b4803de71d1c193625ca20866d0cf53e9f7a70af2d8e1ec2b3a3414f2df7977a51e72dad95dc893e0e49f7d1e97a590f5a40b SHA512 595f50041b08c3b1e3d6dd65b4b0ed00e381860c87f3a79cf674f675f7c1aba56317b2cab8cac384cbbc6e36d1fa2144624e588fbb004c669d9998cf765c4ff8
-DIST jc-1.23.6.gh.tar.gz 12948974 BLAKE2B be4e0468a18859080e0d6536961a6c6cd8c43384c174437c12e6bcae1a0e323297c45b469bb8b5ab7ef02cb69f225a817effbccc48bb0c1ac934d11b227707cd SHA512 a79a289f9d30dc8827f1276e34dcd80af60800b5b4b4eb8d0c4bfbea4a996e932efe2242adad2e1b58cbfb4f1ff8a0bcc591df5c9d630226201d347d0d8d9c47
+DIST jc-1.25.2.gh.tar.gz 13483247 BLAKE2B 2c7ff002d45ed587e1d6578a8f4be9f25a3e1f182e2652faceaa513684b5a02616708f0225217942ba9a20df54675d7cee792ad11bdfdef5bd89f87e53d2df86 SHA512 853c1c4e2b63c2ba1e428a429e7b0635c1916cfd9f8df6026acd7b761c051efd1052328ebfbcc503aa3d36429ee5c7ce0cb76a178cf3d3724f0597e229d57123
diff --git a/dev-python/jc/jc-1.23.4.ebuild b/dev-python/jc/jc-1.23.4.ebuild
deleted file mode 100644
index c000229f5977..000000000000
--- a/dev-python/jc/jc-1.23.4.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Converts the output of popular command-line tools and file-types to JSON"
-HOMEPAGE="
- https://github.com/kellyjonbrazil/jc/
- https://pypi.org/project/jc/
-"
-# no tests in sdist, as of 1.23.2
-SRC_URI="
- https://github.com/kellyjonbrazil/jc/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64"
-
-RDEPEND="
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- dev-python/xmltodict[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/jc/jc-1.23.5.ebuild b/dev-python/jc/jc-1.23.5.ebuild
deleted file mode 100644
index c000229f5977..000000000000
--- a/dev-python/jc/jc-1.23.5.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Converts the output of popular command-line tools and file-types to JSON"
-HOMEPAGE="
- https://github.com/kellyjonbrazil/jc/
- https://pypi.org/project/jc/
-"
-# no tests in sdist, as of 1.23.2
-SRC_URI="
- https://github.com/kellyjonbrazil/jc/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64"
-
-RDEPEND="
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- dev-python/xmltodict[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/jc/jc-1.23.6.ebuild b/dev-python/jc/jc-1.23.6.ebuild
deleted file mode 100644
index 927fe5190177..000000000000
--- a/dev-python/jc/jc-1.23.6.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Converts the output of popular command-line tools and file-types to JSON"
-HOMEPAGE="
- https://github.com/kellyjonbrazil/jc/
- https://pypi.org/project/jc/
-"
-# no tests in sdist, as of 1.23.2
-SRC_URI="
- https://github.com/kellyjonbrazil/jc/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64"
-
-RDEPEND="
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- dev-python/xmltodict[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/jc/jc-1.25.2.ebuild b/dev-python/jc/jc-1.25.2.ebuild
new file mode 100644
index 000000000000..3d8d793333ec
--- /dev/null
+++ b/dev-python/jc/jc-1.25.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2022-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
+
+DESCRIPTION="Converts the output of popular command-line tools and file-types to JSON"
+HOMEPAGE="
+ https://github.com/kellyjonbrazil/jc/
+ https://pypi.org/project/jc/
+"
+# no tests in sdist, as of 1.23.2
+SRC_URI="
+ https://github.com/kellyjonbrazil/jc/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64"
+
+RDEPEND="
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/jdcal/jdcal-1.4.1-r1.ebuild b/dev-python/jdcal/jdcal-1.4.1-r1.ebuild
index d841468f664c..6527a91c2ed8 100644
--- a/dev-python/jdcal/jdcal-1.4.1-r1.ebuild
+++ b/dev-python/jdcal/jdcal-1.4.1-r1.ebuild
@@ -1,18 +1,21 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
DESCRIPTION="Julian dates from proleptic Gregorian and Julian calendars"
-HOMEPAGE="https://github.com/phn/jdcal"
+HOMEPAGE="
+ https://github.com/phn/jdcal/
+ https://pypi.org/project/jdcal/
+"
LICENSE="BSD"
-KEYWORDS="amd64 ~arm arm64 x86 ~amd64-linux ~x86-linux"
SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86 ~amd64-linux ~x86-linux"
distutils_enable_tests pytest
diff --git a/dev-python/jedi/Manifest b/dev-python/jedi/Manifest
index 9ac00c7dec03..292e876933b4 100644
--- a/dev-python/jedi/Manifest
+++ b/dev-python/jedi/Manifest
@@ -1,3 +1,4 @@
DIST django-stubs-fd057010f6cbf176f57d1099e82be46d39b99cb9.tar.gz 183312 BLAKE2B a68f6139903f5001db994ee0d881f40ab74932e81c3e2c3a0c22dc56e6be681d0fb42ce837603b21e4d0d448ccb25884ef0f69039305f309e82603267cee9f6a SHA512 506322c132f94e6a1e88cdbde6027a566387731fa6ad59934f95c3511f49d90eff2a3138363811be648b096407d418cd1f801df0bc35b1e464ef181e4076ada1
DIST jedi-0.19.1.gh.tar.gz 472341 BLAKE2B 34238969acb5b6e6db0307d1d18c1c6f3cf666c00e590c5f2338584526135b75e56a3b4e0cef63dc52fd96db4078cb4b82e0652a9ca092c99f4da8448bf65d1f SHA512 aaa2684b787ec99d2477755d7b6ef4ec727fd244bb55178cf3a9e78b50f660c6fab7b88d09e3d02e76f17e656cd1cdb6078282b63516e5e52a1852a821540105
+DIST jedi-82d1902f382ddac5b0e6647646b72f28a3181ec3.gh.tar.gz 475311 BLAKE2B bb525951a57fd979f4b5dfc49c536b79e3713deb479062abaf668cadc005da98b3d921c48fd5e2d2e8a6ab62dbcae76fcf9cb9e7e26f94cb7d95c363e89c5b5b SHA512 bcfd6b676370363cd9568cf25775bc8a5b0362b04247e2cf5cba828f2578f4b16bb1550fd3bcf227bc6b80601b3de3074d32ea59a1c97673787dad098cc8afbe
DIST typeshed-ae9d4f4b21bb5e1239816c301da7b1ea904b44c3.tar.gz 602044 BLAKE2B 53298918a7e9a1163e76d4c70ad2a2117ee90b49329aa82d82b2aaaeaf000c971872f83ed283af6dc4be068b813876760c8b1b4acb4131865572a4aed3ea9230 SHA512 b3b9da66b6c6e03e0b262b3262df31215a5e080468ca9ebf4332ed53d715cd3956db7067fad3ec267042ff704f81ac665c703ef2fd0c5b445d440bd8e52bf1aa
diff --git a/dev-python/jedi/jedi-0.19.1_p20240706.ebuild b/dev-python/jedi/jedi-0.19.1_p20240706.ebuild
new file mode 100644
index 000000000000..f32adda36a15
--- /dev/null
+++ b/dev-python/jedi/jedi-0.19.1_p20240706.ebuild
@@ -0,0 +1,86 @@
+# 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..13} )
+
+inherit distutils-r1
+
+TYPESHED_P="typeshed-ae9d4f4b21bb5e1239816c301da7b1ea904b44c3"
+DJANGO_STUBS_P="django-stubs-fd057010f6cbf176f57d1099e82be46d39b99cb9"
+EGIT_COMMIT="82d1902f382ddac5b0e6647646b72f28a3181ec3"
+MY_P="${PN}-${EGIT_COMMIT}"
+
+DESCRIPTION="Autocompletion library for Python"
+HOMEPAGE="
+ https://github.com/davidhalter/jedi/
+ https://pypi.org/project/jedi/
+"
+SRC_URI="
+ https://github.com/davidhalter/jedi/archive/${EGIT_COMMIT}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+ https://github.com/davidhalter/typeshed/archive/${TYPESHED_P#typeshed-}.tar.gz
+ -> ${TYPESHED_P}.tar.gz
+ https://github.com/davidhalter/django-stubs/archive/${DJANGO_STUBS_P#django-stubs-}.tar.gz
+ -> ${DJANGO_STUBS_P/v/}.tar.gz
+"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="
+ MIT
+ test? ( Apache-2.0 )
+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ <dev-python/parso-0.9[${PYTHON_USEDEP}]
+ >=dev-python/parso-0.8.3[${PYTHON_USEDEP}]
+"
+
+# RDEPEND needed because of an import jedi inside conf.py
+distutils_enable_sphinx docs \
+ dev-python/parso \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # upstream includes these as submodules ...
+ rmdir "${S}"/jedi/third_party/{django-stubs,typeshed} || die
+ mv "${WORKDIR}/${DJANGO_STUBS_P/v/}" \
+ "${S}/jedi/third_party/django-stubs" || die
+ mv "${WORKDIR}/${TYPESHED_P}" \
+ "${S}/jedi/third_party/typeshed" || die
+
+ # test_complete_expanduser relies on $HOME not being empty
+ > "${HOME}"/somefile || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # fragile
+ test/test_speed.py
+ # assumes pristine virtualenv
+ test/test_inference/test_imports.py::test_os_issues
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ test/test_api/test_api.py::test_preload_modules
+ test/test_api/test_interpreter.py::test_param_infer_default
+ test/test_inference/test_compiled.py::test_next_docstr
+ test/test_inference/test_compiled.py::test_time_docstring
+ )
+ ;;
+ esac
+
+ # some plugin breaks case-insensitivity on completions
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # django and pytest tests are very version dependent
+ epytest -o addopts= -k "not django and not pytest"
+}
diff --git a/dev-python/jeepney/jeepney-0.8.0.ebuild b/dev-python/jeepney/jeepney-0.8.0.ebuild
index 0535bb47b0a8..ca914cf5d96c 100644
--- a/dev-python/jeepney/jeepney-0.8.0.ebuild
+++ b/dev-python/jeepney/jeepney-0.8.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/jellyfish/Manifest b/dev-python/jellyfish/Manifest
index 18b17f77d226..12bf1d5842a4 100644
--- a/dev-python/jellyfish/Manifest
+++ b/dev-python/jellyfish/Manifest
@@ -1,76 +1,53 @@
-DIST ahash-0.8.3.crate 42416 BLAKE2B 84836a4e33451012ff32c1a1a90500d87eb7ce649b60dff4eecfb0d25b9782a186376c154673c3121b154ff4616016d1718dfd687b88f4772c2c89eeb2f119b6 SHA512 cf2d2f1201ac0969cf4e2a0c47090bee971b2287ac44b5e091c90a9eced03cf6ff56d7900cc0f529d4acedc30bd400261c15e50efabdd1731f79951b449af53e
-DIST ahash-0.8.6.crate 42780 BLAKE2B ce2fb8201a484715d42bbd9ca1bfe2d5f541d90e3619ebd437c34a018920b679d5a11f9e96be48fbdabd2e98a379c0395d118616f21eb9004724d8fcb04b2b2b SHA512 46428b27e96be1f30058b9383a94988beeb5064dfb4df04d6959b451d0c77ef69fc51f07fdf9511ab9728295eb6beee7783c31a2297f9e473fc537883e722b73
-DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
-DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST ahash-0.8.11.crate 43607 BLAKE2B 7dff8e41798ba25df8c4827ff414a182bb25da4825f0119a74916fe775db5445b87be8fc87f7c7f98d3b5053e1d47546f98873de1a942d36e5f308a3fb7dd620 SHA512 47d211b2422de0b381dfe32229faa346406eb7a22dff867dc04c22389609a8671ce3218e662000c49891a06c259d82e0ff4413740f007729d80e097a6c3f0d9d
+DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635
+DIST bitflags-2.5.0.crate 43821 BLAKE2B 2d2a78b0a19dcb39580e6f73ed6c468b0626043010b34661084944c83561fe49db24bee1ab57fd692d57617be6506d529e095aea27b753a77e26d0b1ebf7ed78 SHA512 75d7a89e53e5e7582591932bc430e6a1db7ed0f914ded6dbcf957125be52975598df7fee14ef816f66544432ef0505f0a081f3794d17138ec429e283fe14fcf9
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST csv-1.2.2.crate 887958 BLAKE2B f1a5c11e2bb721dc235ee59e02861125535cab2fba6bafbbc166c8f6a2e5616b11c70ddfac5d4e092bc29207ccf9c1f4c4b893da4645d595e1f7afd409731727 SHA512 7176b683f016e8872395eb5b153634926e5cf449147e690a2e08b79e8068c111d2ebab40fb6c4b3b03d34b7c1facf3ac1e04a69e079e7b0e0592691dc2d2d790
DIST csv-1.3.0.crate 888212 BLAKE2B df05956223c50cde32f4ae6df922fbdedd8b50008a8898dd49bcc8bb7430d25727a03430c32ec23cc44ced043709de1f80f4d750e335bd12b22d0b06050881c6 SHA512 1b9e870c433e4d37e61cd604d2712c59ccd392cab55b8c88596a7094245072dcae02ecc80d3ee7cdaaa083ec2c2865b71712330c55e93715917a86106a2230ed
-DIST csv-core-0.1.10.crate 25668 BLAKE2B 8e9a56c26e75f4c4c9e90a21cc30c60cc3fff17515ac93bc858e8ec45e130df2ecabafa7c513b2d2815269fbbd98c418269dfb1bf1425d2fd32fe46823cee6c8 SHA512 2a269d050fbe5d9e0f5dcda2de1e84bfeb69538dde86040ad1ec7307a214eed813a1482acb5029a51f18126d384d5238355e021964e47811db971a0821bcc328
DIST csv-core-0.1.11.crate 25852 BLAKE2B 9f56cea786b5b35f6fd5c4f41fc3cc06d777f6d643d939ca7d57b1f1a24d4ee16ae3a4de629e484b0e4cf87009abf4911dc4d1bc199968ef5c7f4100cd238d1a SHA512 0445c8a4d4d0f90f03e5d6507c26454aaeac0b355fb39d19e1676a7cb27b4372db3541367ce838d38151862b7bfbf19750cb550e24e74ab5e07ae9bb4edeedee
-DIST getrandom-0.2.10.crate 34955 BLAKE2B 8e7b8554ae360484ceca2a05f834c2664b08f41cbc6c955663e1f8f22fb5750481518bf1c7b49f49223a99a66914ef013347b9186acc97a20249f3222a13f9d4 SHA512 82af9e0417bff9272ed0478be4ac90426405ce210014b21899c6b95fde1b16893bf46295388ff5f13fa712a04c99c46b770fab83f41a1343af1590a86ca8da3b
-DIST getrandom-0.2.11.crate 35391 BLAKE2B cc3af20769f8effebcd6fe4f48bb762211f78cfad016b796ce4b6b83a25d0a758ecee4352af18ef97e84c17fb4efb0c7bf113b53d2dd30eaa32067fed97978fa SHA512 2230c219e1080b4b13f207bdfd54b1acff37d9e5fec5263ec9952df9c0279939b231c722b54524deab85002caf1047a471f3fba8090428d918e99d53edf82345
+DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb
DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
-DIST indoc-1.0.9.crate 13475 BLAKE2B a9696788574e56dd125c3371169fd59d6947d188f76e2669b21c0304692efd6709cd048920f7822e92c6a5620fb178e0e85c7776118cef8ccee0f58398e14abf SHA512 db8aef4a7bb606452dc8ed45aa29a255c7a135357a0bd586fb4429c5f56a1aa2ca9400d6fac39956aeb486a15d25cf5d1b9524967867f2c651d9d563e3e85be8
-DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
-DIST itoa-1.0.9.crate 10492 BLAKE2B 0d5acef9ae72d3f4b5a387d231952e6025def69da81d38269b4882bc534be7acadc073e526fd8bebdca898a98b2c741735c541e0b6a35ed0f8f8799b906b65b1 SHA512 95f7906edb7d6a2690389167f8c4d01bc37827205bca87d527f2eb33722419ed2f2e8afaa559cc5a0a7e7fac76515c9c44c71c42b536aa34b0e2858c40946b6d
-DIST jellyfish-1.0.1.tar.gz 363239 BLAKE2B a0ca4633e8f7356d9cbe14e7dfa5adcc6a037b2bc4aa3a946ca8c8d709aed0b1a6cb9f8c4c1bc258ea289fd4dc7b554c5078a28e6157badab16c4b384abfaf80 SHA512 12cf8ea56c42cd91fdf9199802af6e8f97bb9d6f44fd291c46e9d1a445d39e2eee1fce2677eeb22c9d27453a54e95d5a2c4fae011846ec16178b2c5a588a342e
-DIST jellyfish-1.0.3.tar.gz 363670 BLAKE2B eea18515960933fe98ecea1928b2d5e31ca6daacac9f8c4b52004cce8f37c5288e4358e04d662d119b96060cf5d1b15d4aa09ffa51c4829eb004dd2e7eb5494d SHA512 dc977cff57c3aaad3564dabcae1155e05389bd16c37f0b836f81fea26df42dc0b4397ed17ee3f130d53c967007c3c7a322a917dfdc7a87cf2c340ce33552b09a
-DIST libc-0.2.148.crate 690988 BLAKE2B 41dd38cfff1431cd8184220745697d794a66f6badec750be3910ddc4a6ddcf964692b5b28a5a9714592c5579da26248092facb9407920330b55aaef38501420c SHA512 1dec9ec8f4c610c08f62bc2b45dd32f1e4528a045161d848b5c4f0382be1158a690f4d7760203d7d2347a80422671f43b07531871cf44990887eaaed35d924d4
-DIST libc-0.2.150.crate 719359 BLAKE2B d08e17fb29992c76337bb5862cbc1cdaf7b9d7749cd65021f145fcf49fa7954d6251c8c2f3c9a796b46283c3bc014bccfd259ea52824459841911ad847fd7f5a SHA512 7ae8fe6a1db38ac6d951c0b4880d25a02f064f5e61d6057c20f7208dec8395d58efd085e41857bcf5f4da2b014d2952dc4ddaf18ac4acd3a23675bb659e70385
-DIST lock_api-0.4.10.crate 26713 BLAKE2B 113adf8554c65e9782e8fd0360d0398567dfbfddb1fea4928cc152fbab98dbe086e42b81170f6f5c333d61dd3261e8a1ebfbaed786e6bf6378e6afde6d7f9e5c SHA512 ffe8cad8099bc382832181c1ff95e0935993491f247114604201be7d4ddf8402fd4db8fd6499c611f95fbce7d57dc3d3738eddfab31c52f50ab8709e549697db
-DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3
-DIST memchr-2.6.3.crate 94377 BLAKE2B 5f1603397d6703ddd9a1e68429cb6e9dae9021e14692c1e084f3b5c82d36645a1fa930c7a76b97df8e1919402fa7e1c621969ce85ce20c82b3087104afe18f25 SHA512 8d5e1425ea702a0950c95271dfd2e81610731496f77af0d683536b074a22922a7d7ec6da41577487d1d658e3b27257b7d1e142761b523e68760a2f5f24f049bc
-DIST memchr-2.6.4.crate 94439 BLAKE2B d1136f7105a33565214fdeecdc5a95e74d7fc7cf45997f81bf3cf389f3015fa561ab326433ddcff2db0b7259246eb6d26fc7b4e3c90c3af8b9b7ed7e8ec56ba0 SHA512 1065a67e04ec9210c70e430288e0a8d39f36ce6414722099553e99112ea2f8f710eae44bf39f8775b9850e6c8a50e634a1b1b084a8eb4f6b2eae6697dcf5b5f4
-DIST memoffset-0.8.0.crate 8912 BLAKE2B 19ad3abed21fc39461b0382b15a8cc312378aba36f042b1e5335012115d31b350a4e3bc720f1eea300d7d19b9b317f75a28d4ccd78ff3b31defd9e4b3147899c SHA512 47adcae0848ff967035e10543ea599c7af9c5bad387023eb4dc77c9e8d875994ec8139b9941b3ecc4fc17214d80944a47a3be174a45b334661914a5a7382dfbe
-DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
-DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
-DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
-DIST parking_lot_core-0.9.8.crate 32383 BLAKE2B 2f9666872894d1c85895437d1353f9e15be2bc8d004ffc8f0e5be95e9dd4b274797db3752eba1c0b5b6071c1b8a71e4857cae0b2aff1afdaa39e92e70be2e6fd SHA512 8d6dfdf661b0f7d0774cb9f61121f2daefd182ac8a2a0d24eab451febfbe1a664c815c163d34a7f3d15a54915a8e22e6c6cd10e89cb7d7598d48d81ad6a3c256
-DIST parking_lot_core-0.9.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032
-DIST proc-macro2-1.0.67.crate 43683 BLAKE2B a7f485d058ffb654c22ad01088756d8050780e559d86f96590e284c3babf1bb59ce347400c1681b296c6f58e2d42ed67d3e458483368399c22d7810685adcbc6 SHA512 3827f5f698aaecc168a03643e330e03aca7b0de98bd57dc97507c1bd53b6ec64752a1f4dee4c8a12ab02f410775a11f5ce7b0d36ec0e1fbbec197e3d7e199eab
-DIST proc-macro2-1.0.69.crate 44271 BLAKE2B 9d1531a0b123e6238363d574bee03ad050454b65710b9800c12597f3a9ae2f9bf50c617da0472b7ac0b549afaca19c546ccd6519e648598500efda9c0db2ef6d SHA512 d197cbe9b6100c3193a01fd7dd6b4e49d440290012ababb5d9f139409f0afe816f213d67a03abeb1f3227228e0a1f2446d1dc0a2775363a15d1237c38b45d6a1
-DIST pyo3-0.18.3.crate 420236 BLAKE2B bc00a825a67ed3590b31d3ea6bd77f6c4c927c0355d9d03ce64ca44e36ae3e29ab4d891bf2d94ca074b3bf858e077c516dc64e4620f875fe1e8fbffb5c9db1ec SHA512 39f044a19a42a5e2f46049431fbe3fe10c14d12a4741cc789b42de7cbf448bcbded7fe38a0f124d994ff9bcd3d95a19305dbfdc7462331fda3e6686cc4289be5
-DIST pyo3-0.20.0.crate 431766 BLAKE2B 104bc21ce2c6931753ca0c7b2d91693f454c964260ca3c4628a899fc8e7edbe4238db913ed7356f3beff154d88a60a17c0e252b655768e75483e1d9d9b86f40b SHA512 85d9533c75f905752c62f6a4898582ae48daf085e287b44949c47260301205a5f00477927877ce46300d2801d22fbc04a958c058a37eb28374c834fff27feca1
-DIST pyo3-build-config-0.18.3.crate 29137 BLAKE2B 5fa645b64f50a078f38cc10a27ed52bd7e7aadd8a069c05ec2963f0b7c869b94d29eddda97cc31d200cf749ab8e2cd9cd1ea00e75620287e9187745ae0e100a5 SHA512 7ccad5f245e84895e147389f05270f32d12f81aba46bcd0dc184b8d62af2ea579efc50383502efda40601c981c4dbcf911aa7d8192364caa2e177ad939062cdb
-DIST pyo3-build-config-0.20.0.crate 29534 BLAKE2B eb1d5f75276533483c52c6fcae49b294d6d8edf504859dae18811c1ef695dc6d0a055f2a34bea305975e4c1492c312433d2dcb7753484f793376c62cd59c8e40 SHA512 a01d06ebeb4b9cfe6ff6731046101e9437498453ca5aa68ec53df3bfb2f34665a489f8072636c2da16c1e867f536032fd293f05a43561117fd131bde5fe5aac7
-DIST pyo3-ffi-0.18.3.crate 64474 BLAKE2B 32bedfb4c7d88e539e958af0dd48af311934a817282a01f860af7cd824fa1e3825c505463b78cda57541bea8ccbbedacdc0f67bef686e6775fab3787c26c6d2c SHA512 55240c7824ad1e5c69e05a31ec03e2064290c89c4c98f06c3ebc38c311a10b1690571c977a103790ddcc9623ac42fbf525fb028e910baedb9acafe39fd6e4a82
-DIST pyo3-ffi-0.20.0.crate 64220 BLAKE2B dfe75b9459b4a564d1dd9f907166b76d00c5b50ba027db65d11540a7b993f3ef4e19e574135b538635ebb9c9eba66115c09198c7b6071b0b82fd94faccb1bb63 SHA512 a68f0b1380f2ac3d3034ac8b3788cd6573850137c6678694cbcc3e814b619510b9b21b11704c2e702d4eb7433d8b1d3a6dac663501b6db5197a409407802b714
-DIST pyo3-macros-0.18.3.crate 7175 BLAKE2B 424cda4d0d75c7d4df6aeab0a475fc744039c9a663215c633e62762083930eb6736348f431b6f00d11a093961433fb13fb4c9da8a18268d1904e933157255646 SHA512 2b643ec3451267e836076bd79d110826fa0a2407955543c8a6a46b0dd16c477eb3ad919d51b7beca90eca2938a59577b32e1e67169df67429fac4cfaae5bf5ab
-DIST pyo3-macros-0.20.0.crate 7678 BLAKE2B 03fdc0cc9c735086ca2d27e0bcd197e69538c3640ba7f87bc3d65907db374ac7283f61bdb67a1d45b66ce972072ddcb3b1daed4aeb9a66100d11bba6515cdc86 SHA512 79b61f55010dad60dda2c5061c9736bef3f6805f28db230726937340a5c40a3fcfb727a0db7779c3eb094ebd45492f7af4f40a3fcaef42f160989a8ef6174e7e
-DIST pyo3-macros-backend-0.18.3.crate 48922 BLAKE2B 4937f6d9459c6651f85fd520e4783c051f28932192d02aba5711fbf0294ed617f5b0b35ebbac74f3e6048a3fd3b75028518ebadf1277eefaa501015a91269c77 SHA512 1e607e4925486e1a48748ef3163666910a06f9a4f4a2fd7eb6a6af87ea37b5b7edb9d3ab4958e6fe907a55c5f4bcb702a251d836dc3b57c4ab1c5d9248b8cd35
-DIST pyo3-macros-backend-0.20.0.crate 49383 BLAKE2B a239042abdfcf5ad38505b57bc6b858ba346bf8681e24acf2e433f53e4a40bf0b28928b434b96f596d12acbb602b14b7e1bbf4be1e5789e6d9c754368db00a1e SHA512 c823caba48b4a30aaf84c23f80934f0172f2c76a41b538b69ebc25afcb61611b54b8fbb4ab6cac1c7a78b4e6f9f909f22748a2cd279b508d3897b74b17021d56
-DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c
-DIST redox_syscall-0.3.5.crate 23404 BLAKE2B 85aa4299d9816666bf576f523da5cdeae87b3c8fbb2af103e82258d23f73303c068a4b6c3ef4117ad67958cb31e41f836a9f59f2ce1bc52c23605e34399afcf1 SHA512 16f8f4766932bb54e4740cfdb4f0802f76246c0bf88c1d76c69c115949b124b625d8c3b85d8947073c2e9544f425aa16c10f71fabe3c03d29e424c47fe4ccdde
-DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
-DIST ryu-1.0.15.crate 46906 BLAKE2B 6d6949e43aaa27fba0ec6002fa11ba859af8d867f87c90d88413267186abbf6302b817985bca3d577ab3fab2e319e11756f144473a16330dfd8fc7b604cdc4b3 SHA512 4655b5647f919082a9b84b889539ae7fb23a1201057cf280efe79c58cb5f040864efb7812cda5021bf6d34838a15d173ac8bdb0fb9fa2dba85173d3efa5a826b
+DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
+DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311
+DIST jellyfish-1.0.4.tar.gz 363993 BLAKE2B 55f24ffe9345c5b38018de1fd887c8ac4ab9d71cd9b34771d9125a1f7dab92e15464f9fa7ceaab4ebf56c8bdadfa546ec2e944388fb1fb418e76b6c3c2045a21 SHA512 2120d09681eabf9571f87eb7518d941193c3ac46895f605b78994117cd65f7cd804f76edd4f42ba789f93e0b7afdd9ace1cc0ceac927e9d43a5a108604af6ebc
+DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807
+DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7
+DIST memchr-2.7.2.crate 96220 BLAKE2B 2399064b6db21838d4aa0b25ed0bf04940ee3820741658cc6bf62e5ade08f41320df743ff13f99b2781da7b844e18deb1cfe25fe570f0e93f98ff03ca5d442e3 SHA512 cadcb4239c7f3aaab042592c5186770a225621e32f8583052fd3dbebb4a6d9b99be28f589b39b5ca36cb2d56fb3709e7d4ba91838ebb882e28e51280c02bbc40
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
+DIST parking_lot-0.12.3.crate 41860 BLAKE2B d1899a1132035aaea3a784290cf4951ea3b36b2018d407e27d333b2a2ce3820e040d635009c44cb6e58ad07cec6565c0347af6f6fb02954eac2d4c348bb036f0 SHA512 368c17203fb5b9e4ecfd4857e3b1ab96b86da3770b8f21be392818c845952f72dde1072a10265760a62aa8a1dd65332bfd585667444e5fbb9dbe3280b5862703
+DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac00288b1472d784c0aa7fa2953fcf9279c750d243ce69744993ee8cbe6899633e71e0a54ffc11e39247755685107f2f8dea54 SHA512 4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
+DIST proc-macro2-1.0.84.crate 48922 BLAKE2B 51f73a6bbc3cc42aa5bb5c3f4bf404a0c7803f7219673771d375ab288c638113f496e932b98981ef56dac755d9387f888a4147864d8f9364cef47644ea179161 SHA512 0d0bd0cc1f457b6d5feb9fd6da670f2a0662d15d88e5d20d4d308103c689a103861b3838eb25e5144cf24fb87abffdebb3175989285a03f08730ce3daa55e35e
+DIST pyo3-0.20.3.crate 434673 BLAKE2B 1dcb881fd1fe5c76e9b4951f4d95fcd1daa1845c226a4ab1db4283cabe67bda822ff03e3cc85d797fe4665a1614229e7406dea65ec5e99ce4aac96b973a7f55d SHA512 77cce558fa60bbd8d9981ff5e62fdfa9bac94bd650b287fbf14ac93ef1c326c8ae7fda82d744e3582df03cab8adf490e0f2752fabd9ae3de044e7d80984e0350
+DIST pyo3-build-config-0.20.3.crate 30060 BLAKE2B ef122b0b7d840d5362928bac76e1299b333775ec5c49a3bf23a19eccec074917931356bbf719c6d700999941bb6a396948ee7f8761e685c8e9251af07ba0cadc SHA512 70685415bba443787dabb9c61ca3702aefbcacb0705471b496b4f01efe34291735321d91243355b4be9aed8b243e393c09fb65556f1b926ac7f22f64560bd927
+DIST pyo3-ffi-0.20.3.crate 65024 BLAKE2B 33e79a02c7ab85f4767e02a39d8553ddc015c80d13bea674885ad8a18d89bd90f866cc39d81ecbf56270ebe87d29bca48f635c4e73ec99df02ce425f1427cb31 SHA512 3d1ced58e243be7cee4a3ca831dc08a1631fcd511c707dd3bada87d7662807dea2d88393d76e56ff19a6d1c2804d93b5b6b7b5efd36b9c275d66fa1bb1bfc384
+DIST pyo3-macros-0.20.3.crate 7920 BLAKE2B 0510accf51cd83390cbb7b6ba4ec9f4610e3dbb7448d1213994013487ae81bb087df1ba0076a3862e5ecfd172b7846f9439a2d86950a93b016aae565ced4f03b SHA512 454f3c0c054aa131ffe955e4be1af061005b9c81b4d80702827e19b983224c118dfea474da515d5fc2c79cfd3fa21204ed4af2d9e81427123e0a78bd246a23f8
+DIST pyo3-macros-backend-0.20.3.crate 49797 BLAKE2B 59c55d482577ce105db3e19a1db794eaab8221d7de01197716b75d5d2602e0f27c86aaae527eae7098eafad311144550bd597efe8cd6560c82dc435021f3428f SHA512 e177ee0d6a538a555fbe9108e3e2c20102622b2c9b9696ae309189e5c4d068efad2132afd4a97d734ebabb4d7146980a26cb68dc05d5eb88f338be2ad0cd651f
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
+DIST redox_syscall-0.5.1.crate 22536 BLAKE2B b7766fcf35dd865fc98495f60da54ca9a6b4cff007f4323d1c63de5d1152766aa5517139b5ec50afca39d934360c701a180c4516feccbc2600085d5d72dabd2a SHA512 0952b5f4f79f2cff04b4c21d964df7b56bc0cbff8d8a2a9a7d38ba66fd69cbd0fb004cd3d8ac6feadde8d9590858cd7e1763da7e4a5de840cdef42b1b6f1e460
+DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84
DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
-DIST serde-1.0.188.crate 76230 BLAKE2B 81e92adf17e3f2ce73c82e3069b8fd656211cfeb6755abd338b74d52f748f5bba6690abf5c83ea2a126fbd6187bc587b539f0ebcf621e928085876f28fbb9513 SHA512 7d42ce834bcd1034f8ccbcd6646cc93f8e189e344f29f4d7b0ab148ba11ce7848d0ab986dce7a0245fcd6893243f5768f7bc0ca9c24c75c53585ecc899d312d2
-DIST serde-1.0.192.crate 76866 BLAKE2B 4920089921e23bbc9180d413cff34277683db1881d7e65c5fd9dc8bad2beae954d2429c9c2049b3e98bc04314ef059e59562c936d6c767681e75b84aa0a2a468 SHA512 b34cea6034a14a6785b3023d0a1c2cb5b1c2756c28f02ea20ba62a657ba54e9d04096a54c4fdde3ff4094913dba46c99713828de4287186bf9dd3f7d89dda0c3
-DIST serde_derive-1.0.188.crate 55563 BLAKE2B 3b24044915a704d9d8a2cae6e6547ecffea7ee3fd4260ddb2bf7fa38b23fd7fc597b61ac28bf65b9f0d45e18ffd6bc7596f5a3d602cc79835697fb3f5440242f SHA512 fa9132a319f7829e6afad65289031be99255466d76270875d9d81f82f63e53592eaef5452d0df38da92e9d0b6f2b37e91026635fff4bf597b0ae662b71b5eff0
-DIST serde_derive-1.0.192.crate 55690 BLAKE2B 1e9706fdf38880989cf907c36d1f72b5b211fc6f263a4ee35d5f7106aea0a792fd79a3361d09f831e06ce0a43680647952a8478bd1001f617d2571be428b5516 SHA512 67ad208291c8d7063adce4bface5d963488c43a326e77a89970f86f65e8f77856e173d134718f64eb80dce67283df1951022c12300dea0b4d9570fb7f637643a
-DIST smallvec-1.11.0.crate 34680 BLAKE2B e54d56f6bbffbfa7ce5fe5f04e325b2e5cf19d290e4be278bc00a136e26284625b9c18c7c2b10b7fb8fad0ea7e3770f3cdbcfbaa913f5ac08d0a2f8b4e0de188 SHA512 41bfbecbc2c244497568a41724d65791ec3fd6d8057813d521367cca316c09c2b28fb3973826236b01c1f5d2f905d8d22b0c3c47f957a9ff5d7685591f15ccd7
-DIST smallvec-1.11.2.crate 34801 BLAKE2B 58645e99db8f02db64d02c75860c7ea41836c427c03ee3b0b23365e73a406e4fd6ac312bf13fc5faef8bb6111c10fcfd5f839d5b3686e9b34d1626f8469fc327 SHA512 5cfb427c3b99b0dbd71f6154ed899abcde9d7d2992977ac7b2ef3a4c3ff51e4efafd133071a69609b4ed6cb269bdc26b79eb72e1988f10dfcaef8185d950cd1d
-DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
-DIST syn-2.0.37.crate 243250 BLAKE2B b81750ed52bf75bf944542c373a88f5a54421c230c86f23d0ed3e5680d85bb454251bf43e0ad7bd3e2464e6df579550cca1e17e8b044ba62a27a25f3940ff20b SHA512 5cc8f2a17f891477a9b2078580bcb4c5dec0b540fdc4d2c0b8dd51972c734ff4519e891166c1c5f6d35b73bfb564ac747836f7487481a2ea26fb7d8405835023
-DIST syn-2.0.39.crate 244129 BLAKE2B 2cff6626624d03f70f1662af45a8644c28a9f92e2dfe38999bef3ba4a4c1ce825ae598277e9cb7abd5585eebfb17b239effc8d0bbf1c6ac196499f0d288e5e01 SHA512 96cc347cfdb0f9ca0b6c7289279a1cad8fc401625783742292564f7ceca8237ced8d9a3f62069696f6132ed06092dff2baaf4be09ef53b21260d93785b0e27c3
-DIST target-lexicon-0.12.11.crate 24594 BLAKE2B cf06720caecb5b5758f05c6375fa600da9260aac04017458060406a042dc578d51a2c5b6f189345d45dacea42ba01fbe46853d07f70d7b37cba17d87aa101f9a SHA512 f38701a8e9dd17b7db591b1b4c82c3b75d317e003262bb7b09b9cabd3afab5ab79c02a7dd524910b6941ada3a8f1378ea9e199b2b5938f8f01ee75bb0eae8718
-DIST target-lexicon-0.12.12.crate 25156 BLAKE2B f3803596c75f6c89438592a1176c3748fc2c0524d7d50a20056de1cd26d40c572b05bafcdf6dd702752864bea37c8b4f28f96dadc12a5b3bb1d279b25e489f85 SHA512 6147295c43ba1b7b087a3c5ab51534b2985e4e77e5e15687978cfb9d07e21c4fd9bc7191576d6cabd268d08a44dc733c4a957e59dba8b948c2055d8bb433aeca
+DIST serde-1.0.203.crate 77935 BLAKE2B 3d3dd4f81f7d74b60483d6759879a9f87c0c7d615aec308bad1bc575fac4e2071dc86551c2789e87331dbf8089e923ae56fff82e6f5a9992cf850121b052ce1d SHA512 a8d302589244e41f6f675e8d199b2532b29f62b63e45aee141a93dad96033e4bbb27ed01c11e329ec2266cdcc6f2a40f41dfc7d1b9bada69aea81d35d2d82cec
+DIST serde_derive-1.0.203.crate 55867 BLAKE2B 1bc8aa96328bb83e4e4ff527b1df855bbcefd333f0c43c96d1e0b93f98a46273dd88a21653bccc8f517c4fc06d17b9b44332a963d024796e0a2c18a5bfecc824 SHA512 b2aeeab33395ac11ebdbd922fcdbda29f2592e7a20e78aef250713baf269cacf497271be7aa407f657aba33da132df0e035be046fef070f915f234097d1dd392
+DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
+DIST syn-2.0.66.crate 264855 BLAKE2B 5029091b2cfa88e5c739be913a647dc9492696398c09b891f84089350e6f09baafd9935b81e0f3519d5465eff2e1822ef6cdc96c15d6a40d1b6b8dd2f9e7d073 SHA512 60a617bfd37d74c52e4d4d63ef0a27a2f9b982469a6926922f2f6e96754a0c66affb0847b9a44d505c053cbd788b97e998efb8d1e558ea00ae4a0b7f15bed9b0
+DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a
DIST tinyvec-1.6.0.crate 45991 BLAKE2B e9699d4d80a78978f0ebfd049f5b33d7f23d401cf4f4439ccb168e8c0e322473ad0ea7e2ff0ff69e9aac3e5c4c9ae5a7102185533bfbf96dbe77b3526e700bc9 SHA512 e5acaf353c58c60ae5556130a934f1048abb79cf6668ae467d308bac44b689d8a9997227ea879f4b5fe50f29cde8761801b088d7149bcd063b973056c381921c
DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e
DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
-DIST unicode-normalization-0.1.22.crate 122604 BLAKE2B 3f3430b279cc0ce1595392c869442ce676ab097154c688779ebcf726e10c497df59be2cd7bb2f84f99499a9df0654760a10ac92224c17d74775aeebe291241e1 SHA512 a5810d5e9cd93dbb80e013997aa9d38e60834619483a6623eb2859ec5d59a5aec3fc4db123dc7f4e2fe9f2b8799cf6af48bdff22d69a00a23707240e8bf3bb3c
-DIST unicode-segmentation-1.10.1.crate 98416 BLAKE2B 4c391ad34c5f8a00096ce89793b15212555f2d8a367f3ae78f26a36c5897b69f3efcd280a1bd3eb3f61c87b8a26061804b1cd56e1c1500cbcd62e8bc74520014 SHA512 e96224bba73fe9a167bbf226bb13fe5bea085765a90f7232cb20b42f3c584242b7291aeba1eb8edbe2ae40e5bee2f4714f434324f79316b22e8437c77a50e86b
-DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
+DIST unicode-normalization-0.1.23.crate 122649 BLAKE2B 22ea5ce3f5a2b371c3c8782321b1bbbee724db1e4d8c1d43af4e6bd8044b99307c227d93631d178d10fda445a941a485882ae0015a6e3d3c347e4bd465bbe1d9 SHA512 539f04010810d73fde7b0ab314faf813f3e7ecd2e51d7975281554b7cba4a8706e2b5523c4b7840568593652360ca59e9db0e1ce342e71c28db635ff55ffb0f5
+DIST unicode-segmentation-1.11.0.crate 102740 BLAKE2B 6ab5de53073ff56da4924e8c6ecbfa4bbd72a66b8d86f2c32b2f0ccfefee8064997a6b5311af5de2b71943089c9f52862e3cb13cf366cd645f57c96f2ac8673a SHA512 4914543cf022680f341c4a235f6d9204b3ac9a9098f34a80ee8c94e3d8ccbb82e78af016978eda910987533044593ac629a35286dc80707d349b33e405e86bef
DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
-DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
-DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
-DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
-DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
-DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
-DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
-DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
-DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
-DIST zerocopy-0.7.26.crate 128648 BLAKE2B cd26ca75197d2f74e091359f72743b8b0c92774ce4466ee47bd23854dd7c5fdf09be89ee2412bdb0e52b3c73a169b8d5c172c13285a8931c74f106970deafa60 SHA512 3789e845ec87beaf84ff9cf8d72e9968a2c7ed2350cca24836b24c16b791867db0d9a580fdb7aa2187b35ac88723932498c44d10eccc756ae92f31a97ac6771b
-DIST zerocopy-derive-0.7.26.crate 528381 BLAKE2B 4be2168e3af5a5c541be49159f7d37405eceaa9e914d670899c814076e7240781d580007d906f8433e469ffad8e7abed3e18dc8b5e80ec09837f13a28976af57 SHA512 1e28e957d1a9cb5164bc839750ecad26ccd280dc9f5ee58a02a09d2135dc097991be2755d7b87f360863f1ab030f772963677d61861f7d33699a631eb9026829
+DIST windows-targets-0.52.5.crate 6376 BLAKE2B 1d39fd86380ab086c536d88e67b60956410b345790ccea62a25e6a700757b2a9cfa6dfeb7b86934cf47b981ea2e5f42dddf49780ad9829a551dc507fcf108641 SHA512 d00d7bc7eec3c10272e803ee5c9ea0d9b07c43311124dae975b4f5aae7408c5f2ccb2fe6e68228ea3d4e70b6b658382cac6992ea177f43a9cba2ef95c4fda0ee
+DIST windows_aarch64_gnullvm-0.52.5.crate 433266 BLAKE2B dee1b69cdf1fbd4143136909e4df3adaa7b80d7630a01ca9a42fc5ad0d5a4d9a9e2873b43c6d8e55de59f237d9199fad0768c4e1cda3b1e5354847bd70d4c79e SHA512 b4cf511025458fe30d5b11368af285610e1654a8986ea9f78fa81b8bb87d38a00c4869441c62692534df66d06baf14c8a4d17f8eb06468eb260b99e2fda6439d
+DIST windows_aarch64_msvc-0.52.5.crate 827944 BLAKE2B 3bcb16d527be1dfdf18a9105ab259a064f00e949937ca423c8dcd1d2b90090d85aa7e42ca6ccc50c9baeee1aa144123d0a04643f9ff1147e62b2fce28b8a697b SHA512 c8974f81e37a43d92c4a8b142705e36b7acc58d9150d80ffa3997433da878044c467a2d9167ba792d37a183a0082d912500fea8c8fed743f395b63ca62a5758d
+DIST windows_i686_gnu-0.52.5.crate 875699 BLAKE2B 528ea431d080c5326e4c6ed316d9ea3e38b40c2e1322a12a432506a2c11555a94537661a0941e90c20eff4a9ce42c12539876dae6e77a1df18b522529928b309 SHA512 cc3e0362fb62dd5e8a855bda3be0177708ec8629ee9685f1f9aaac3f71a8cb082387388bdf49b09d3f5ee24a636b0b4f933d2c8bb75db434ee0192c8ce0547d2
+DIST windows_i686_gnullvm-0.52.5.crate 473064 BLAKE2B abe41ee330c05ee1366b3a835d15c6db3964ffd7b340ee69d215056b0d4b65c67f2782b0c04a55db64001098de87c93e2d447e25ef2a27f2cfa6685b8cf20c88 SHA512 da45c882248070911bf55698f62c245cb081a23254cdcf578df053905adb9117454235e52dcf1dd97c0d2248f92ff1d2fd3e18844a7be8d93ba08590c1eca22b
+DIST windows_i686_msvc-0.52.5.crate 895404 BLAKE2B 02555169f8c5b944231a877de8693fc871ea0d7d33f52f60e164bacb35cec13d463af07c57fec4667948047cc222d8bda7f6a0be01a07e7184b69e4adc2b4577 SHA512 08c96f8e9385ac121549bae8ed228741b32004be20b2955d163a98d4b62af464f1682cb813681fa22823d20646f19335cf0a66203a876b105e119e05a4db0634
+DIST windows_x86_64_gnu-0.52.5.crate 831539 BLAKE2B 54f84c19988addeb7cbbbddb940e430e7345944589419592b99addf9b83bf6d801b18f4e80399b85bbb0b0ccf4608e36d9a50b79d8b1d6ce2b93745856e06eba SHA512 d9bf91765d02d2727344e42081f4bcfa73be97991495126f7e633f27e56a261ada3a8b865a559cfe71f9bc9aed5b14504f89138796766937b3521009726dfab8
+DIST windows_x86_64_gnullvm-0.52.5.crate 433246 BLAKE2B f34328a6d100e092ecb34a6305daedf4fecd71840432f104e8707f049b60d784584ce4f02fabdd0281fdb8bc7ebed34b38fdacf3be9c8abd60084e9a4ee9fd56 SHA512 22a978c40df9705cd94e4c52f2b706e477e667b564c608d0adb144b38cb486c279c09d1eb1dd2d6c7bd3401b75a2dc5eafe0f7d642ffe6453f394d1f59483a08
+DIST windows_x86_64_msvc-0.52.5.crate 827905 BLAKE2B fd5dac198bfbf29878cb461a7338c289c9af16ea80b3e5fa567980d2a6a5ea6a1cd83729ce6fd67e4da171873083dbeb1d6e16a287620f0245201f9cb29c29b4 SHA512 81176090dc725d7fe3867e6322fdc4a4065168580847b35e6f8da345f685c4f66a81e35cd1880dbaabdd4cdc82446dde9d6a0e583cf0b7fe47dda8bc8002f1c6
+DIST zerocopy-0.7.34.crate 151177 BLAKE2B 30b65131370dfa4f41d3c2705d3b75da9b76f2a4ed723dec66345939de8bafe2c181ab6c98036c25a30739cae1720d927e27e5fa5587442d5cfb7f39a7018c8f SHA512 4d27b1230ebcea4e9d4c15f38a979aa3fe8b23833e95df781a0a67054e920637642b89345596fe331907edc27abab83c766967f2a04399a6fe0a4e89fa0dd148
+DIST zerocopy-derive-0.7.34.crate 37907 BLAKE2B 23a698c3c892187307007cbc76c9338dbe163e4f14d4ea73969ba834f5c6732d16f5bc26e2e85c5e3df2100b28e6e72ae6473b2159f5160ee19befdef3615f98 SHA512 1bd93062b0d2c699066f8a991326b4470426aae0517d33748a8f0e52b009fc46e6b0b238abe97462a2e13c870fa3d0d070615870e6dbbf8b6991c0e3fb5c3e63
diff --git a/dev-python/jellyfish/jellyfish-1.0.1.ebuild b/dev-python/jellyfish/jellyfish-1.0.1.ebuild
deleted file mode 100644
index 483b20d40ffe..000000000000
--- a/dev-python/jellyfish/jellyfish-1.0.1.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-CRATES="
- ahash@0.8.3
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- csv-core@0.1.10
- csv@1.2.2
- getrandom@0.2.10
- indoc@1.0.9
- itoa@1.0.9
- libc@0.2.148
- lock_api@0.4.10
- memchr@2.6.3
- memoffset@0.8.0
- once_cell@1.18.0
- parking_lot@0.12.1
- parking_lot_core@0.9.8
- proc-macro2@1.0.67
- pyo3-build-config@0.18.3
- pyo3-ffi@0.18.3
- pyo3-macros-backend@0.18.3
- pyo3-macros@0.18.3
- pyo3@0.18.3
- quote@1.0.33
- redox_syscall@0.3.5
- ryu@1.0.15
- scopeguard@1.2.0
- serde@1.0.188
- serde_derive@1.0.188
- smallvec@1.11.0
- syn@1.0.109
- syn@2.0.37
- target-lexicon@0.12.11
- tinyvec@1.6.0
- tinyvec_macros@0.1.1
- unicode-ident@1.0.12
- unicode-normalization@0.1.22
- unicode-segmentation@1.10.1
- unindent@0.1.11
- version_check@0.9.4
- wasi@0.11.0+wasi-snapshot-preview1
- windows-targets@0.48.5
- windows_aarch64_gnullvm@0.48.5
- windows_aarch64_msvc@0.48.5
- windows_i686_gnu@0.48.5
- windows_i686_msvc@0.48.5
- windows_x86_64_gnu@0.48.5
- windows_x86_64_gnullvm@0.48.5
- windows_x86_64_msvc@0.48.5
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Python module for doing approximate and phonetic matching of strings"
-HOMEPAGE="
- https://github.com/jamesturk/jellyfish/
- https://pypi.org/project/jellyfish/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
-"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~riscv x86"
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/jellyfish/_rustyfish.*.so"
-
-distutils_enable_tests pytest
diff --git a/dev-python/jellyfish/jellyfish-1.0.3.ebuild b/dev-python/jellyfish/jellyfish-1.0.3.ebuild
deleted file mode 100644
index 08fdddaa8a91..000000000000
--- a/dev-python/jellyfish/jellyfish-1.0.3.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-CRATES="
- ahash@0.8.6
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- csv-core@0.1.11
- csv@1.3.0
- getrandom@0.2.11
- heck@0.4.1
- indoc@2.0.4
- itoa@1.0.9
- libc@0.2.150
- lock_api@0.4.11
- memchr@2.6.4
- memoffset@0.9.0
- once_cell@1.18.0
- parking_lot@0.12.1
- parking_lot_core@0.9.9
- proc-macro2@1.0.69
- pyo3-build-config@0.20.0
- pyo3-ffi@0.20.0
- pyo3-macros-backend@0.20.0
- pyo3-macros@0.20.0
- pyo3@0.20.0
- quote@1.0.33
- redox_syscall@0.4.1
- ryu@1.0.15
- scopeguard@1.2.0
- serde@1.0.192
- serde_derive@1.0.192
- smallvec@1.11.2
- syn@2.0.39
- target-lexicon@0.12.12
- tinyvec@1.6.0
- tinyvec_macros@0.1.1
- unicode-ident@1.0.12
- unicode-normalization@0.1.22
- unicode-segmentation@1.10.1
- unindent@0.2.3
- version_check@0.9.4
- wasi@0.11.0+wasi-snapshot-preview1
- windows-targets@0.48.5
- windows_aarch64_gnullvm@0.48.5
- windows_aarch64_msvc@0.48.5
- windows_i686_gnu@0.48.5
- windows_i686_msvc@0.48.5
- windows_x86_64_gnu@0.48.5
- windows_x86_64_gnullvm@0.48.5
- windows_x86_64_msvc@0.48.5
- zerocopy-derive@0.7.26
- zerocopy@0.7.26
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Python module for doing approximate and phonetic matching of strings"
-HOMEPAGE="
- https://github.com/jamesturk/jellyfish/
- https://pypi.org/project/jellyfish/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
- || ( Apache-2.0 Boost-1.0 )
-"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/jellyfish/_rustyfish.*.so"
-
-distutils_enable_tests pytest
diff --git a/dev-python/jellyfish/jellyfish-1.0.4.ebuild b/dev-python/jellyfish/jellyfish-1.0.4.ebuild
new file mode 100644
index 000000000000..619937b0d6f6
--- /dev/null
+++ b/dev-python/jellyfish/jellyfish-1.0.4.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+CRATES="
+ ahash@0.8.11
+ autocfg@1.3.0
+ bitflags@2.5.0
+ cfg-if@1.0.0
+ csv-core@0.1.11
+ csv@1.3.0
+ getrandom@0.2.15
+ heck@0.4.1
+ indoc@2.0.5
+ itoa@1.0.11
+ libc@0.2.155
+ lock_api@0.4.12
+ memchr@2.7.2
+ memoffset@0.9.1
+ once_cell@1.19.0
+ parking_lot@0.12.3
+ parking_lot_core@0.9.10
+ portable-atomic@1.6.0
+ proc-macro2@1.0.84
+ pyo3-build-config@0.20.3
+ pyo3-ffi@0.20.3
+ pyo3-macros-backend@0.20.3
+ pyo3-macros@0.20.3
+ pyo3@0.20.3
+ quote@1.0.36
+ redox_syscall@0.5.1
+ ryu@1.0.18
+ scopeguard@1.2.0
+ serde@1.0.203
+ serde_derive@1.0.203
+ smallvec@1.13.2
+ syn@2.0.66
+ target-lexicon@0.12.14
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ unicode-ident@1.0.12
+ unicode-normalization@0.1.23
+ unicode-segmentation@1.11.0
+ unindent@0.2.3
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.52.5
+ windows_aarch64_gnullvm@0.52.5
+ windows_aarch64_msvc@0.52.5
+ windows_i686_gnu@0.52.5
+ windows_i686_gnullvm@0.52.5
+ windows_i686_msvc@0.52.5
+ windows_x86_64_gnu@0.52.5
+ windows_x86_64_gnullvm@0.52.5
+ windows_x86_64_msvc@0.52.5
+ zerocopy-derive@0.7.34
+ zerocopy@0.7.34
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Python module for doing approximate and phonetic matching of strings"
+HOMEPAGE="
+ https://github.com/jamesturk/jellyfish/
+ https://pypi.org/project/jellyfish/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/jellyfish/_rustyfish.*.so"
+
+distutils_enable_tests pytest
+
+export UNSAFE_PYO3_SKIP_VERSION_CHECK=1
+
+python_test_all() {
+ cargo_src_test
+}
diff --git a/dev-python/jinja/Manifest b/dev-python/jinja/Manifest
index e6fcb661fffd..bfa1bf69488e 100644
--- a/dev-python/jinja/Manifest
+++ b/dev-python/jinja/Manifest
@@ -1 +1 @@
-DIST jinja-3.1.2.gh.tar.gz 272546 BLAKE2B dc4bc81900c07e7816ff63259073409650f1f679e00d76b9574aaba301b36a7037aaf77a87cc1c160ea2aa2272ceb67e2fd20fbd74bb9850880fb909babded8e SHA512 50feebc7eed4c8b5bb0c2951784c1c115e3ee1c0e0c91bbf1884551b1312ef8fce24804a2ca1dfd8c543406529afe4817567c39e7cfd15028b54049853623144
+DIST jinja2-3.1.4.tar.gz 240245 BLAKE2B cb70699cea93ddf53b7c8876b9006cc70599d49f8c64ab615759a53db6829cab7b55ac673777bc4c8dc5dfc68efada29d37f47fe7cf449044721f659fe6a654d SHA512 d07d68a2687af68c705d3b7f5a2c67aca7b9d125316b15085888b9d0d6e769981af76f6f524728b89b5501bd671d518fcb2638f9ae112e57ca2bf2a53482cd89
diff --git a/dev-python/jinja/files/jinja-3.1.4-py313.patch b/dev-python/jinja/files/jinja-3.1.4-py313.patch
new file mode 100644
index 000000000000..b68091e5397a
--- /dev/null
+++ b/dev-python/jinja/files/jinja-3.1.4-py313.patch
@@ -0,0 +1,67 @@
+From 679af7f816ced8941ed5cf9b151a0cac543d0336 Mon Sep 17 00:00:00 2001
+From: Thomas Grainger <tagrain@gmail.com>
+Date: Mon, 13 May 2024 18:02:35 +0100
+Subject: [PATCH] fix test_package_zip_list on 3.13
+
+---
+ src/jinja2/loaders.py | 32 ++++++++++++++++++++++++++------
+ tests/test_loader.py | 2 +-
+ 2 files changed, 27 insertions(+), 7 deletions(-)
+
+diff --git a/src/jinja2/loaders.py b/src/jinja2/loaders.py
+index 9eaf647ba..8c2c86cd0 100644
+--- a/src/jinja2/loaders.py
++++ b/src/jinja2/loaders.py
+@@ -238,6 +238,30 @@ def list_templates(self) -> t.List[str]:
+ return sorted(found)
+
+
++if sys.version_info >= (3, 13):
++
++ def _get_zipimporter_files(z: t.Any) -> t.Dict[str, object]:
++ try:
++ get_files = z._get_files
++ except AttributeError as e:
++ raise TypeError(
++ "This zip import does not have the required"
++ " metadata to list templates."
++ ) from e
++ return get_files()
++else:
++
++ def _get_zipimporter_files(z: t.Any) -> t.Dict[str, object]:
++ try:
++ files = z._files
++ except AttributeError as e:
++ raise TypeError(
++ "This zip import does not have the required"
++ " metadata to list templates."
++ ) from e
++ return files # type: ignore[no-any-return]
++
++
+ class PackageLoader(BaseLoader):
+ """Load templates from a directory in a Python package.
+
+@@ -382,11 +406,7 @@ def list_templates(self) -> t.List[str]:
+ for name in filenames
+ )
+ else:
+- if not hasattr(self._loader, "_files"):
+- raise TypeError(
+- "This zip import does not have the required"
+- " metadata to list templates."
+- )
++ files = _get_zipimporter_files(self._loader)
+
+ # Package is a zip file.
+ prefix = (
+@@ -395,7 +415,7 @@ def list_templates(self) -> t.List[str]:
+ )
+ offset = len(prefix)
+
+- for name in self._loader._files.keys():
++ for name in files:
+ # Find names under the templates directory that aren't directories.
+ if name.startswith(prefix) and name[-1] != os.path.sep:
+ results.append(name[offset:].replace(os.path.sep, "/"))
diff --git a/dev-python/jinja/jinja-3.1.2.ebuild b/dev-python/jinja/jinja-3.1.2.ebuild
deleted file mode 100644
index 40981227476a..000000000000
--- a/dev-python/jinja/jinja-3.1.2.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="A full-featured template engine for Python"
-HOMEPAGE="
- https://palletsprojects.com/p/jinja/
- https://github.com/pallets/jinja/
- https://pypi.org/project/Jinja2/
-"
-SRC_URI="
- https://github.com/pallets/jinja/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
-IUSE="examples"
-
-RDEPEND="
- >=dev-python/markupsafe-2.0.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx-issues \
- dev-python/pallets-sphinx-themes
-distutils_enable_tests pytest
-
-# XXX: handle Babel better?
-
-src_prepare() {
- # avoid unnecessary dep on extra sphinxcontrib modules
- sed -i '/sphinxcontrib.log_cabinet/ d' docs/conf.py || die
-
- distutils-r1_src_prepare
-}
-
-python_install_all() {
- if use examples ; then
- docinto examples
- dodoc -r examples/.
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- if ! has_version dev-python/Babel; then
- elog "For i18n support, please emerge dev-python/Babel."
- fi
-}
diff --git a/dev-python/jinja/jinja-3.1.4.ebuild b/dev-python/jinja/jinja-3.1.4.ebuild
new file mode 100644
index 000000000000..7374d12a4a67
--- /dev/null
+++ b/dev-python/jinja/jinja-3.1.4.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_PN=jinja2
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A full-featured template engine for Python"
+HOMEPAGE="
+ https://palletsprojects.com/p/jinja/
+ https://github.com/pallets/jinja/
+ https://pypi.org/project/Jinja2/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ >=dev-python/markupsafe-2.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-issues \
+ dev-python/pallets-sphinx-themes
+distutils_enable_tests pytest
+
+# XXX: handle Babel better?
+
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/pallets/jinja/pull/1979
+ "${FILESDIR}/${P}-py313.patch"
+ )
+
+ # avoid unnecessary dep on extra sphinxcontrib modules
+ sed -i '/sphinxcontrib.log_cabinet/ d' docs/conf.py || die
+
+ distutils-r1_src_prepare
+}
+
+pkg_postinst() {
+ if ! has_version dev-python/Babel; then
+ elog "For i18n support, please emerge dev-python/Babel."
+ fi
+}
diff --git a/dev-python/jinja2-time/jinja2-time-0.2.0-r1.ebuild b/dev-python/jinja2-time/jinja2-time-0.2.0-r1.ebuild
index e1f064fa6fd8..69621700ac1b 100644
--- a/dev-python/jinja2-time/jinja2-time-0.2.0-r1.ebuild
+++ b/dev-python/jinja2-time/jinja2-time-0.2.0-r1.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/jmespath/jmespath-1.0.1.ebuild b/dev-python/jmespath/jmespath-1.0.1.ebuild
index feef6572c14e..7bbeafaf84ad 100644
--- a/dev-python/jmespath/jmespath-1.0.1.ebuild
+++ b/dev-python/jmespath/jmespath-1.0.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/joblib/Manifest b/dev-python/joblib/Manifest
index 69a1fe52955c..0ea7d8f50d4b 100644
--- a/dev-python/joblib/Manifest
+++ b/dev-python/joblib/Manifest
@@ -1 +1 @@
-DIST joblib-1.3.2.tar.gz 1987720 BLAKE2B f16235ead3ef0172a1e0dc2abad44967b029196f6c8c7a7e0c64283cac80e2b942ebfc2df5fa975bc152f574db023a9705f48b38855a11878e5c21e04cf7d831 SHA512 9b5acba1321351cf2ae548161ced18774b8b316aaf883cc8e77bf58898d1913361a3845d64f1f1f87e4e2394eafd92e0a6a8d67947db0c9a95a40e5f579baae6
+DIST joblib-1.4.2.tar.gz 2116621 BLAKE2B e6c00a2308099690ddb89956b090996405d0b1c214e810b4c6ea4fe32bec8f297a324e6faa7c5f459c5ade84230d9b09e263b344069f43523208acf761d7b006 SHA512 d4c84803207ace0025701261f9e7976329e2ff9fa18a3155be1afe1f03ebfd470772e39e94b3ed01f9d1409589991c9592dc4188bca86dba158c44c70355441b
diff --git a/dev-python/joblib/files/joblib-1.3.2-py3.12-avoid-ast.num-and-node.n.patch b/dev-python/joblib/files/joblib-1.3.2-py3.12-avoid-ast.num-and-node.n.patch
deleted file mode 100644
index a9865e00380e..000000000000
--- a/dev-python/joblib/files/joblib-1.3.2-py3.12-avoid-ast.num-and-node.n.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/joblib/_utils.py b/joblib/_utils.py
-index 7693310e0..6cd99ad31 100644
---- a/joblib/_utils.py
-+++ b/joblib/_utils.py
-@@ -35,8 +35,8 @@ def eval_expr(expr):
-
-
- def eval_(node):
-- if isinstance(node, ast.Num): # <number>
-- return node.n
-+ if isinstance(node, ast.Constant): # <constant>
-+ return node.value
- elif isinstance(node, ast.BinOp): # <left> <operator> <right>
- return operators[type(node.op)](eval_(node.left), eval_(node.right))
- elif isinstance(node, ast.UnaryOp): # <operator> <operand> e.g., -1
diff --git a/dev-python/joblib/files/joblib-1.3.2-py3.12-no-depr-warn.patch b/dev-python/joblib/files/joblib-1.3.2-py3.12-no-depr-warn.patch
deleted file mode 100644
index 4d5a28815e4a..000000000000
--- a/dev-python/joblib/files/joblib-1.3.2-py3.12-no-depr-warn.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/joblib/test/test_parallel.py b/joblib/test/test_parallel.py
-index 906d436..c4a727c 100644
---- a/joblib/test/test_parallel.py
-+++ b/joblib/test/test_parallel.py
-@@ -189,6 +189,10 @@ def test_main_thread_renamed_no_warning(backend, monkeypatch):
- # warninfo catches Warnings from worker timeouts. We remove it if it exists
- warninfo = [w for w in warninfo if "worker timeout" not in str(w.message)]
-
-+ # We don't want to count DeprecationWarnings
-+ warninfo = [w for w in warninfo
-+ if not isinstance(w.message, DeprecationWarning)]
-+
- # The multiprocessing backend will raise a warning when detecting that is
- # started from the non-main thread. Let's check that there is no false
- # positive because of the name change.
diff --git a/dev-python/joblib/joblib-1.3.2.ebuild b/dev-python/joblib/joblib-1.3.2.ebuild
deleted file mode 100644
index eacb811bfeb7..000000000000
--- a/dev-python/joblib/joblib-1.3.2.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Tools to provide lightweight pipelining in Python"
-HOMEPAGE="
- https://joblib.readthedocs.io/en/latest/
- https://github.com/joblib/joblib/
- https://pypi.org/project/joblib/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- dev-python/loky[${PYTHON_USEDEP}]
-"
-# joblib is imported by setup.py so we need ${RDEPEND}
-BDEPEND="
- ${RDEPEND}
- test? (
- dev-python/threadpoolctl[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- # Borrowed from Fedora: https://github.com/joblib/joblib/issues/1478
- "${FILESDIR}/${P}-py3.12-no-depr-warn.patch"
- # https://github.com/joblib/joblib/pull/1518
- "${FILESDIR}/${P}-py3.12-avoid-ast.num-and-node.n.patch"
-)
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # https://github.com/joblib/joblib/issues/1115
- joblib/test/test_memory.py::test_parallel_call_cached_function_defined_in_jupyter
- # unexpectedly pickleable?
- joblib/test/test_hashing.py::test_hashing_pickling_error
-)
-
-python_prepare_all() {
- # unbundle
- rm -r joblib/externals || die
- sed -e "/joblib.externals/d" -i pyproject.toml || die
- find -name '*.py' -exec \
- sed -e 's:\(joblib\)\?\.externals\.::' \
- -e 's:from \.externals ::' \
- -i {} + || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/joblib/joblib-1.4.2.ebuild b/dev-python/joblib/joblib-1.4.2.ebuild
new file mode 100644
index 000000000000..3cf8cc823974
--- /dev/null
+++ b/dev-python/joblib/joblib-1.4.2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Tools to provide lightweight pipelining in Python"
+HOMEPAGE="
+ https://joblib.readthedocs.io/en/latest/
+ https://github.com/joblib/joblib/
+ https://pypi.org/project/joblib/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ dev-python/loky[${PYTHON_USEDEP}]
+"
+# joblib is imported by setup.py so we need ${RDEPEND}
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/threadpoolctl[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+python_prepare_all() {
+ # unbundle
+ rm -r joblib/externals || die
+ sed -e "/joblib.externals/d" -i pyproject.toml || die
+ find -name '*.py' -exec \
+ sed -e 's:\(joblib\)\?\.externals\.::' \
+ -e 's:from \.externals ::' \
+ -i {} + || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # https://github.com/joblib/joblib/issues/1115
+ joblib/test/test_memory.py::test_parallel_call_cached_function_defined_in_jupyter
+ # https://github.com/joblib/joblib/issues/1478
+ joblib/test/test_parallel.py::test_main_thread_renamed_no_warning
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio
+}
diff --git a/dev-python/josepy/josepy-1.14.0.ebuild b/dev-python/josepy/josepy-1.14.0.ebuild
index 8a586a4a7835..561a5ed665fa 100644
--- a/dev-python/josepy/josepy-1.14.0.ebuild
+++ b/dev-python/josepy/josepy-1.14.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/jq/Manifest b/dev-python/jq/Manifest
index a4a6ab185189..df3fd7230d38 100644
--- a/dev-python/jq/Manifest
+++ b/dev-python/jq/Manifest
@@ -1 +1 @@
-DIST jq.py-1.6.0.gh.tar.gz 2842673 BLAKE2B 5ef2d2c6641483123b030c508b04e8f1574a5ca3168a2bacfd7c5a4ad01344d677f723cc3317677275496bd56412c5ab64370ed87b70dcb91dd1d8328daf65a8 SHA512 91e2c0890cece4f09e362c0ae691c768be64ba0d8e0d7441c9a459be37ff70ee816d179c21759ee053b2b434fc0a6998d90b660ae1f1456d4f506474cb80d88e
+DIST jq.py-1.7.0.gh.tar.gz 1953673 BLAKE2B 861dcb706ef801ff3abb47a6b85fb8aad03988c717a67063d737667ce6853c89dbe10bf61dac517701b8b3e3af6b97d12a15ed03aa0d5a6e6d0d3fa2697e9284 SHA512 918e4537eacf55d0cce888b1946b13acb6d177906d704c99e0b1cc88a55a2929fbeccef7d3fa61daaf0290a97afec581d23a641bdbfc0c700744422135fbcad6
diff --git a/dev-python/jq/jq-1.6.0-r1.ebuild b/dev-python/jq/jq-1.6.0-r1.ebuild
deleted file mode 100644
index 28c6e6e21da8..000000000000
--- a/dev-python/jq/jq-1.6.0-r1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P="jq.py-${PV}"
-DESCRIPTION="Python bindings for jq"
-HOMEPAGE="
- https://github.com/mwilliamson/jq.py/
- https://pypi.org/project/jq/
-"
-SRC_URI="
- https://github.com/mwilliamson/jq.py/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-# Minimum versions of jq + onigurama are from setup.py's bundled versions
-RDEPEND="
- >=app-misc/jq-1.7:=
- >=dev-libs/oniguruma-6.9.8:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_compile() {
- local -x JQPY_USE_SYSTEM_LIBS=1
-
- # Cython compilation isn't part of setup.py, so do it manually
- "${EPYTHON}" -m cython -3 jq.pyx -o jq.c || die
- distutils-r1_python_compile
-}
diff --git a/dev-python/jq/jq-1.7.0.ebuild b/dev-python/jq/jq-1.7.0.ebuild
new file mode 100644
index 000000000000..ba3780636e9d
--- /dev/null
+++ b/dev-python/jq/jq-1.7.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2021-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..13} )
+
+inherit distutils-r1
+
+MY_P="jq.py-${PV}"
+DESCRIPTION="Python bindings for jq"
+HOMEPAGE="
+ https://github.com/mwilliamson/jq.py/
+ https://pypi.org/project/jq/
+"
+# pypi sdist is missing .pyx
+SRC_URI="
+ https://github.com/mwilliamson/jq.py/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+# Minimum versions of jq + onigurama are from setup.py's bundled versions
+DEPEND="
+ >=app-misc/jq-1.7.1:=
+ >=dev-libs/oniguruma-6.9.8:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ local -x JQPY_USE_SYSTEM_LIBS=1
+
+ # Cython compilation isn't part of setup.py, so do it manually
+ "${EPYTHON}" -m cython -3 jq.pyx -o jq.c || die
+ distutils-r1_python_compile
+}
diff --git a/dev-python/js2py/files/js2py-0.74-CVE-2024-28397.patch b/dev-python/js2py/files/js2py-0.74-CVE-2024-28397.patch
new file mode 100644
index 000000000000..c8ecfab22485
--- /dev/null
+++ b/dev-python/js2py/files/js2py-0.74-CVE-2024-28397.patch
@@ -0,0 +1,21 @@
+# https://nvd.nist.gov/vuln/detail/CVE-2024-28397
+# https://github.com/Marven11/CVE-2024-28397-js2py-Sandbox-Escape/blob/main/patch.txt
+# https://github.com/PiotrDabkowski/Js2Py/pull/323
+# https://github.com/Marven11/Js2Py/commit/56e244eb
+
+Author: Marven11 <110723864+Marven11@users.noreply.github.com>
+Date: Fri, 1 Mar 2024 12:53:58 +0800
+
+diff --git a/js2py/constructors/jsobject.py b/js2py/constructors/jsobject.py
+index c4e0ada3..b1806ea6 100644
+--- a/js2py/constructors/jsobject.py
++++ b/js2py/constructors/jsobject.py
+@@ -49,7 +49,7 @@ def getOwnPropertyNames(obj):
+ raise MakeError(
+ 'TypeError',
+ 'Object.getOwnPropertyDescriptor called on non-object')
+- return obj.own.keys()
++ return list(obj.own.keys())
+
+ def create(obj):
+ if not (obj.is_object() or obj.is_null()):
diff --git a/dev-python/js2py/files/js2py-0.74-py312-load_attr.patch b/dev-python/js2py/files/js2py-0.74-py312-load_attr.patch
new file mode 100644
index 000000000000..6dfa467cc41f
--- /dev/null
+++ b/dev-python/js2py/files/js2py-0.74-py312-load_attr.patch
@@ -0,0 +1,57 @@
+From fd7df4a91fb08060914c7b1d9e94583d18f3371b Mon Sep 17 00:00:00 2001
+From: Felix Yan <felixonmars@archlinux.org>
+Date: Wed, 17 Apr 2024 16:47:47 +0300
+Subject: [PATCH] Fix bytecode for Python 3.12
+
+`LOAD_ATTR` has been changed in Python 3.12 and it seems reusing the
+`LOAD_GLOBAL` logic makes the simple tests passing.
+
+I am not sure if this is correct since I'm pretty new to the code, but
+maybe it's still helpful.
+---
+ js2py/translators/translating_nodes.py | 2 +-
+ js2py/utils/injector.py | 4 +++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/js2py/translators/translating_nodes.py b/js2py/translators/translating_nodes.py
+index 4e2b5760..a780ba73 100644
+--- a/js2py/translators/translating_nodes.py
++++ b/js2py/translators/translating_nodes.py
+@@ -543,7 +543,7 @@ def TryStatement(type, block, handler, handlers, guardedHandlers, finalizer):
+ if handler:
+ identifier = handler['param']['name']
+ holder = 'PyJsHolder_%s_%d' % (to_hex(identifier),
+- random.randrange(1e8))
++ random.randrange(six.integer_types[-1](1e8)))
+ identifier = repr(identifier)
+ result += 'except PyJsException as PyJsTempException:\n'
+ # fill in except ( catch ) block and remember to recover holder variable to its previous state
+diff --git a/js2py/utils/injector.py b/js2py/utils/injector.py
+index 88e0d93e..835229f0 100644
+--- a/js2py/utils/injector.py
++++ b/js2py/utils/injector.py
+@@ -14,6 +14,7 @@
+ # Opcode constants used for comparison and replacecment
+ LOAD_FAST = opcode.opmap['LOAD_FAST']
+ LOAD_GLOBAL = opcode.opmap['LOAD_GLOBAL']
++LOAD_ATTR = opcode.opmap['LOAD_ATTR']
+ STORE_FAST = opcode.opmap['STORE_FAST']
+
+
+@@ -79,6 +80,7 @@ def append_arguments(code_obj, new_locals):
+ (co_names.index(name), varnames.index(name)) for name in new_locals)
+
+ is_new_bytecode = sys.version_info >= (3, 11)
++ is_new_load_attr = sys.version_info >= (3, 12)
+ # Now we modify the actual bytecode
+ modified = []
+ drop_future_cache = False
+@@ -97,7 +99,7 @@ def append_arguments(code_obj, new_locals):
+ # it's one of the globals that we are replacing. Either way,
+ # update its arg using the appropriate dict.
+ drop_future_cache = False
+- if inst.opcode == LOAD_GLOBAL:
++ if inst.opcode == LOAD_GLOBAL or (is_new_load_attr and inst.opcode == LOAD_ATTR):
+ idx = inst.arg
+ if is_new_bytecode:
+ idx = idx // 2
diff --git a/dev-python/js2py/js2py-0.74-r2.ebuild b/dev-python/js2py/js2py-0.74-r2.ebuild
new file mode 100644
index 000000000000..025770effe38
--- /dev/null
+++ b/dev-python/js2py/js2py-0.74-r2.ebuild
@@ -0,0 +1,47 @@
+# 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
+PYPI_PN="Js2Py"
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="JavaScript to Python Translator & JavaScript interpreter in Python"
+HOMEPAGE="http://piter.io/projects/js2py
+ https://github.com/PiotrDabkowski/Js2Py
+ https://pypi.org/project/Js2Py/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-python/pyjsparser-2.5.1[${PYTHON_USEDEP}]
+ >=dev-python/tzlocal-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-0.74-CVE-2024-28397.patch"
+ "${FILESDIR}/${PN}-0.74-py312-load_attr.patch"
+)
+
+python_test() {
+ pushd ./tests >/dev/null || die
+
+ # run.py requires "node_failed.txt" file
+ touch ./node_failed.txt || die
+
+ # https://bugs.gentoo.org/831356
+ # make run.py return a non-zero exit code if any test failed
+ echo 'sys.exit(len(FAILING))' >> ./run.py || die
+
+ "${EPYTHON}" ./run.py || die "tests failed with ${EPYTHON}"
+
+ popd >/dev/null || die
+}
diff --git a/dev-python/js2py/js2py-0.74.ebuild b/dev-python/js2py/js2py-0.74.ebuild
deleted file mode 100644
index 22032fcf8e3b..000000000000
--- a/dev-python/js2py/js2py-0.74.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN="Js2Py"
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="JavaScript to Python Translator & JavaScript interpreter in Python"
-HOMEPAGE="http://piter.io/projects/js2py/
- https://github.com/PiotrDabkowski/Js2Py/
- https://pypi.org/project/Js2Py/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
-
-RDEPEND="
- >=dev-python/pyjsparser-2.5.1[${PYTHON_USEDEP}]
- >=dev-python/tzlocal-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
-"
-
-python_test() {
- pushd ./tests >/dev/null || die
-
- # Tests require "node_failed.txt" file where the logs are kept
- if [[ -f ./node_failed.txt ]] ; then
- rm ./node_failed.txt || die
- fi
-
- touch ./node_failed.txt || die
- "${EPYTHON}" ./run.py || die "tests failed with ${EPYTHON}"
-
- popd >/dev/null || die
-}
diff --git a/dev-python/jschema-to-python/jschema-to-python-1.2.3-r1.ebuild b/dev-python/jschema-to-python/jschema-to-python-1.2.3-r1.ebuild
index 3242552e8673..a9d537a134cc 100644
--- a/dev-python/jschema-to-python/jschema-to-python-1.2.3-r1.ebuild
+++ b/dev-python/jschema-to-python/jschema-to-python-1.2.3-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm64 ~riscv x86"
RDEPEND="
dev-python/attrs[${PYTHON_USEDEP}]
diff --git a/dev-python/jsmin/jsmin-3.0.1.ebuild b/dev-python/jsmin/jsmin-3.0.1.ebuild
index 6ce6d117b6ba..8e829c251042 100644
--- a/dev-python/jsmin/jsmin-3.0.1.ebuild
+++ b/dev-python/jsmin/jsmin-3.0.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
DESCRIPTION="JavaScript minifier"
@@ -13,8 +13,8 @@ HOMEPAGE="
https://github.com/tikitu/jsmin/
"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
LICENSE="MIT"
SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
distutils_enable_tests unittest
diff --git a/dev-python/json-rpc/json-rpc-1.15.0.ebuild b/dev-python/json-rpc/json-rpc-1.15.0.ebuild
index c150dde004ab..fc473f92338e 100644
--- a/dev-python/json-rpc/json-rpc-1.15.0.ebuild
+++ b/dev-python/json-rpc/json-rpc-1.15.0.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/json-rpc/metadata.xml b/dev-python/json-rpc/metadata.xml
index f2199a43db02..cb5767cf9cf7 100644
--- a/dev-python/json-rpc/metadata.xml
+++ b/dev-python/json-rpc/metadata.xml
@@ -5,10 +5,6 @@
<email>chutzpah@gentoo.org</email>
<name>Patrick McLean</name>
</maintainer>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
- </maintainer>
<longdescription lang="en">
JSON-RPC is a stateless, light-weight remote procedure call (RPC) protocol.
Primarily this specification defines several data structures and the rules
diff --git a/dev-python/json5/Manifest b/dev-python/json5/Manifest
index a0492fac5922..f2fca4b3dfca 100644
--- a/dev-python/json5/Manifest
+++ b/dev-python/json5/Manifest
@@ -1 +1 @@
-DIST pyjson5-0.9.11.gh.tar.gz 111445 BLAKE2B 038ac1fab6e56e6dc45dc9bff1fc5e0da21c594cb0ac1f6d888f0207fddace9663b0dbd6abbfabce857cb9fcb40348002b10a6b4133e2f2ebb2081c543e1ad9c SHA512 aca3f38cd79d4bf52ceaf1b3dd27e30bf7598fa0b369216ac820f0c913797ebf542c9eaac17e562ee07006bf83c09210c799bc1b715c7b6e7689d2dcd702d414
+DIST json5-0.9.25.tar.gz 40332 BLAKE2B 4b24a2f3047c04ce80b0415340ce2d957d319bd45e804147710eb7c1eb0da97b083220839a6e11b852d8c9df5036e2a401060cdec93442245e220fc816d7811f SHA512 0ce3943af45e22415b30a3d43497236a1437adb67b739b97db7bb25b156bb254d0daf613f1f0ba5fafc5904708db81c8a786237ade757267f767afa88d5aa2f2
diff --git a/dev-python/json5/json5-0.9.11.ebuild b/dev-python/json5/json5-0.9.11.ebuild
deleted file mode 100644
index b87e3bc9caec..000000000000
--- a/dev-python/json5/json5-0.9.11.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=pyjson5-${PV}
-DESCRIPTION="A Python implementation of the JSON5 data format"
-HOMEPAGE="
- https://github.com/dpranke/pyjson5/
- https://pypi.org/project/json5/
-"
-SRC_URI="
- https://github.com/dpranke/pyjson5/archive/refs/tags/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/json5/json5-0.9.25.ebuild b/dev-python/json5/json5-0.9.25.ebuild
new file mode 100644
index 000000000000..a2ec656fb628
--- /dev/null
+++ b/dev-python/json5/json5-0.9.25.ebuild
@@ -0,0 +1,21 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python implementation of the JSON5 data format"
+HOMEPAGE="
+ https://github.com/dpranke/pyjson5/
+ https://pypi.org/project/json5/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/jsondiff/Manifest b/dev-python/jsondiff/Manifest
index 342d8e6c22e1..15f88ed6bc2f 100644
--- a/dev-python/jsondiff/Manifest
+++ b/dev-python/jsondiff/Manifest
@@ -1,2 +1,5 @@
DIST jsondiff-2.0.0-nose2pytest.diff 11525 BLAKE2B e1e9f6996448c5f8454a74dbe5782684d68cbb00eae1793fd010bccd80b682e6f3869082df9546603ce87bee82a99148a948db675b1da8f2815e5290eb632763 SHA512 791e4f8473459e374892067cf90099df23d981857b81cc164e2d0c35c51cbbede160de1b46474b6cb817b8811e2481172807eff31847a7847fc847948cf402f7
DIST jsondiff-2.0.0.gh.tar.gz 15405 BLAKE2B d69e5a9316e8ce32c6fd3e62162b609a471ff57bacb77f47a192b85352e77135a37c964d0ade5df4b4e37fe7d996eab13649dd4c6a3bc3fc0479294f840c82f9 SHA512 ca266040294c064b499763174613628125a9d426f37eddb8f63806d5774ce8828d514ca30ea4b42f6e2529aa34344c601ece05b6c1b42dcedd71c7b62ed0afba
+DIST jsondiff-2.1.1.gh.tar.gz 18691 BLAKE2B 4b58ce8d637b139c233860f21a98e6561f620bcabb8239e651bc34300163684f16ebbc8c1cd4d619ce7ffdd118e78db497a2897b176727942594c3ac8c7c41cf SHA512 d906cce6ff94e475f079e9ef2210fbb200a134ac3723cf36f3737c2bc722892eef74860c30feba7961b75b320882bed74921150173852b5154406259184715a5
+DIST jsondiff-2.1.2.gh.tar.gz 22307 BLAKE2B 33a95eb842659e4d0d02aa7f591f942e5bc1b361e99860fbda57d7743cbed9951a4509571e53a44c66c6c7ecccd90985abeb577a80c2f8c7cb58b104e0e409e9 SHA512 c4d8aac26a2c094178ff21dc7f3aee919bf49c18fd2b0ffdb993c32fb2575b18b60b49db784a14059709ecaf928eb8ff18ca1731e2ed26dd587c69d40adca260
+DIST jsondiff-2.2.0.gh.tar.gz 22672 BLAKE2B 64af3c3f0aa9c7c6380af30ae303c230a04ba02d9e97d25b46348134312ea53d869e74c24a1b0d72983d731dda6d74a3fee3d89df6e9a6ef083321fe9b501ec3 SHA512 a1da92a1a38047947c2ee6057c641930c1b141889f992723c250a4444871170e2b10c892595a3bce026339b1d03c91d157cdf918fb36d4b916131bee5db969e5
diff --git a/dev-python/jsondiff/jsondiff-2.0.0-r1.ebuild b/dev-python/jsondiff/jsondiff-2.0.0-r1.ebuild
index ea2d7a917ad2..cadb65795ab0 100644
--- a/dev-python/jsondiff/jsondiff-2.0.0-r1.ebuild
+++ b/dev-python/jsondiff/jsondiff-2.0.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/jsondiff/jsondiff-2.1.1.ebuild b/dev-python/jsondiff/jsondiff-2.1.1.ebuild
new file mode 100644
index 000000000000..1f6ddda4fc90
--- /dev/null
+++ b/dev-python/jsondiff/jsondiff-2.1.1.ebuild
@@ -0,0 +1,41 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Diff JSON and JSON-like structures in Python"
+HOMEPAGE="
+ https://github.com/xlwings/jsondiff/
+ https://pypi.org/project/jsondiff/
+"
+SRC_URI="
+ https://github.com/xlwings/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+}
diff --git a/dev-python/jsondiff/jsondiff-2.1.2.ebuild b/dev-python/jsondiff/jsondiff-2.1.2.ebuild
new file mode 100644
index 000000000000..1f6ddda4fc90
--- /dev/null
+++ b/dev-python/jsondiff/jsondiff-2.1.2.ebuild
@@ -0,0 +1,41 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Diff JSON and JSON-like structures in Python"
+HOMEPAGE="
+ https://github.com/xlwings/jsondiff/
+ https://pypi.org/project/jsondiff/
+"
+SRC_URI="
+ https://github.com/xlwings/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+}
diff --git a/dev-python/jsondiff/jsondiff-2.2.0.ebuild b/dev-python/jsondiff/jsondiff-2.2.0.ebuild
new file mode 100644
index 000000000000..1f6ddda4fc90
--- /dev/null
+++ b/dev-python/jsondiff/jsondiff-2.2.0.ebuild
@@ -0,0 +1,41 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Diff JSON and JSON-like structures in Python"
+HOMEPAGE="
+ https://github.com/xlwings/jsondiff/
+ https://pypi.org/project/jsondiff/
+"
+SRC_URI="
+ https://github.com/xlwings/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+}
diff --git a/dev-python/jsonext/jsonext-0.4.2-r1.ebuild b/dev-python/jsonext/jsonext-0.4.2-r1.ebuild
index 2a7b50f6a05d..aed483232d75 100644
--- a/dev-python/jsonext/jsonext-0.4.2-r1.ebuild
+++ b/dev-python/jsonext/jsonext-0.4.2-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/jsonmerge/jsonmerge-1.9.2.ebuild b/dev-python/jsonmerge/jsonmerge-1.9.2.ebuild
index 059f3dc68c7d..8002cd5cc257 100644
--- a/dev-python/jsonmerge/jsonmerge-1.9.2.ebuild
+++ b/dev-python/jsonmerge/jsonmerge-1.9.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/jsonpatch/jsonpatch-1.33.ebuild b/dev-python/jsonpatch/jsonpatch-1.33.ebuild
index 0dcdc83e1831..cdd23d1e88f9 100644
--- a/dev-python/jsonpatch/jsonpatch-1.33.ebuild
+++ b/dev-python/jsonpatch/jsonpatch-1.33.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -35,6 +35,14 @@ BDEPEND="
)
"
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # https://github.com/stefankoegl/python-json-patch/pull/159
+ sed -e 's/unittest.makeSuite/unittest.defaultTestLoader.loadTestsFromTestCase/' \
+ -i ext_tests.py tests.py
+}
+
python_test() {
"${EPYTHON}" tests.py || die "Tests of tests.py fail with ${EPYTHON}"
"${EPYTHON}" ext_tests.py || die "Tests of ext_tests.py fail with ${EPYTHON}"
diff --git a/dev-python/jsonpath-ng/Manifest b/dev-python/jsonpath-ng/Manifest
index 739fddd28291..7d340c03496d 100644
--- a/dev-python/jsonpath-ng/Manifest
+++ b/dev-python/jsonpath-ng/Manifest
@@ -1 +1 @@
-DIST jsonpath-ng-1.6.0.tar.gz 37132 BLAKE2B 5af13db8ab85482656d5c1501edfb2c61dc62a08a2c90a12a7ba7b141b538b5ebfca86c856b9f65ef1c1b82329eb0ed7db5c1890d881e4cb968cb6ca31ddeb6f SHA512 46eefe57330887143b98ef4deb97c5d7242f0cfbd923dffc17bd4147326ea4333c76df2451fbbb27933ada872628ad1ec04bdb9fc8e2c288c89bf37ec3783c43
+DIST jsonpath-ng-1.6.1.tar.gz 36024 BLAKE2B ed6b47974e55c8bb5e086249c24d847dc0e1719d6912c0097bf6bcc06ad096f54b99f9c7053c088bb2efae4c612a49364cae3b061593890508e408b6776e73fb SHA512 84f4ceb3b2e76665b56df6c6cd9bf8c155d3677cc6b4798531bb35e95a591e98186c7fa756d400cbbde4c62acc7da077d0fdf989f5101846fb74bba83dd4be58
diff --git a/dev-python/jsonpath-ng/jsonpath-ng-1.6.0.ebuild b/dev-python/jsonpath-ng/jsonpath-ng-1.6.0.ebuild
deleted file mode 100644
index af33bf631ad5..000000000000
--- a/dev-python/jsonpath-ng/jsonpath-ng-1.6.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{11..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python JSONPath Next-Generation"
-HOMEPAGE="
- https://github.com/h2non/jsonpath-ng/
- https://pypi.org/project/jsonpath-ng/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64"
-
-RDEPEND="
- dev-python/ply[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/oslotest[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/jsonpath-ng/jsonpath-ng-1.6.1.ebuild b/dev-python/jsonpath-ng/jsonpath-ng-1.6.1.ebuild
new file mode 100644
index 000000000000..009e09ee11df
--- /dev/null
+++ b/dev-python/jsonpath-ng/jsonpath-ng-1.6.1.ebuild
@@ -0,0 +1,31 @@
+# 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_{11..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python JSONPath Next-Generation"
+HOMEPAGE="
+ https://github.com/h2non/jsonpath-ng/
+ https://pypi.org/project/jsonpath-ng/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ dev-python/ply[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/oslotest[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/jsonpickle/Manifest b/dev-python/jsonpickle/Manifest
index 4fdd40978b2f..ad17d8f010d8 100644
--- a/dev-python/jsonpickle/Manifest
+++ b/dev-python/jsonpickle/Manifest
@@ -1 +1 @@
-DIST jsonpickle-3.0.2.gh.tar.gz 258895 BLAKE2B 51af5841fada084c4fdb27d2d9c95ba0a790027d6a67b37bee6cbf9f256ee2778cffa38fd994de728b58c03536a07492335fbe6d4e7eed875561a3264232f81e SHA512 ed2552a68ca05a6e7e01169697c1c46735f99df95d126007ac02c0315b32da45ddbb1265ab53e39e9f4f1b54029a764cb50a05f31d773bda46f349f53929f888
+DIST jsonpickle-3.2.2.gh.tar.gz 321994 BLAKE2B 1e126e0f1f336e5b64631a874c379b39665b324ccbc4c87d7becba302568f61df2d576732ea9165514791e6b2dd122e7008d43090d634d4d30fdde5c7d0600f9 SHA512 20e28885e637f8dba5965e22dc9960acb7c10fb25d78f2ba9bf6fb94d55a968e2245d577dbe19a32153e12af2ffa7dad6ae3e1897c426c25fa544796606736a6
diff --git a/dev-python/jsonpickle/jsonpickle-3.0.2.ebuild b/dev-python/jsonpickle/jsonpickle-3.0.2.ebuild
deleted file mode 100644
index 3d699d4d629e..000000000000
--- a/dev-python/jsonpickle/jsonpickle-3.0.2.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Python library for serializing any arbitrary object graph into JSON"
-HOMEPAGE="
- https://github.com/jsonpickle/jsonpickle/
- https://pypi.org/project/jsonpickle/
-"
-SRC_URI="
- https://github.com/jsonpickle/jsonpickle/archive/refs/tags/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/feedparser[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/simplejson[${PYTHON_USEDEP}]
- dev-python/sqlalchemy[${PYTHON_USEDEP}]
- dev-python/ujson[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/gmpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- ' python3_{10..11})
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -i -e 's:--cov::' pytest.ini || die
- distutils-r1_python_prepare_all
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # problem when pandas are built with Cython 3.0.0
- # https://github.com/jsonpickle/jsonpickle/issues/460
- tests/pandas_test.py::test_timedelta_index_roundtrip
- )
- local EPYTEST_IGNORE=(
- # unpackaged bson dependency
- tests/bson_test.py
- )
-
- if ! has_version "dev-python/gmpy[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=( jsonpickle/ext/gmpy.py )
- fi
- if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=( jsonpickle/ext/pandas.py )
- fi
-
- epytest
-}
-
-pkg_postinst() {
- # Unpackaged optional backends: yajl, demjson
- optfeature "encoding numpy-based data" dev-python/numpy
- optfeature "encoding pandas objects" dev-python/pandas
- optfeature "fast JSON backend" dev-python/simplejson
-}
diff --git a/dev-python/jsonpickle/jsonpickle-3.2.2.ebuild b/dev-python/jsonpickle/jsonpickle-3.2.2.ebuild
new file mode 100644
index 000000000000..9afbace177cf
--- /dev/null
+++ b/dev-python/jsonpickle/jsonpickle-3.2.2.ebuild
@@ -0,0 +1,70 @@
+# 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..13} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Python library for serializing any arbitrary object graph into JSON"
+HOMEPAGE="
+ https://github.com/jsonpickle/jsonpickle/
+ https://pypi.org/project/jsonpickle/
+"
+SRC_URI="
+ https://github.com/jsonpickle/jsonpickle/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/feedparser[${PYTHON_USEDEP}]
+ dev-python/gmpy[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/pandas[${PYTHON_USEDEP}]
+ ' 3.{10..12})
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/ujson[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ sed -i -e 's:--cov::' pytest.ini || die
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # unpackaged bson dependency
+ tests/bson_test.py
+ )
+
+ if ! has_version "dev-python/gmpy[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=( jsonpickle/ext/gmpy.py )
+ fi
+ if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=( jsonpickle/ext/pandas.py )
+ fi
+
+ epytest
+}
+
+pkg_postinst() {
+ # Unpackaged optional backends: yajl, demjson
+ optfeature "encoding numpy-based data" dev-python/numpy
+ optfeature "encoding pandas objects" dev-python/pandas
+ optfeature "fast JSON backend" dev-python/simplejson
+}
diff --git a/dev-python/jsonpointer/Manifest b/dev-python/jsonpointer/Manifest
index 316fa5dc2861..c3b9811e2314 100644
--- a/dev-python/jsonpointer/Manifest
+++ b/dev-python/jsonpointer/Manifest
@@ -1 +1,2 @@
DIST jsonpointer-2.4.tar.gz 9254 BLAKE2B 423a4ef71cd1029fe2c473940794a041df4c3422b8292d80290be7f11ac0e6b123d3074cb6f66a3d860274bdf5b0cd0716d24c9ee50b65e06139375dc93c84ad SHA512 41cc0f8b525bec4b18801aeaec1b2432c5f6475dd3f2bc0fb363cf6ceaac5c64e7993c72130a40c64427218a1eac352e93464137fe17427b9f8a34ae09699f4e
+DIST jsonpointer-3.0.0.tar.gz 9114 BLAKE2B b285d75277a6454831490bb906d95f49843fed02aed249e9ea961aa1f9c3f60b4ca9995003310dfc827741670a18fecdfa9e1552cfecd317e5a0a4967b33ef70 SHA512 417bde94da9f1bbddc478201d601c25ca524590cae7c6ef390a3ad223b127fef8b7e7c4bb28f893fb14116e005e0736baf78845d6ed1aac3196ca15c5e35918f
diff --git a/dev-python/jsonpointer/jsonpointer-2.4.ebuild b/dev-python/jsonpointer/jsonpointer-2.4.ebuild
index 88ebf8e38935..633d2c32567a 100644
--- a/dev-python/jsonpointer/jsonpointer-2.4.ebuild
+++ b/dev-python/jsonpointer/jsonpointer-2.4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/jsonpointer/jsonpointer-3.0.0.ebuild b/dev-python/jsonpointer/jsonpointer-3.0.0.ebuild
new file mode 100644
index 000000000000..633d2c32567a
--- /dev/null
+++ b/dev-python/jsonpointer/jsonpointer-3.0.0.ebuild
@@ -0,0 +1,23 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Identify specific nodes in a JSON document (according to draft 08)"
+HOMEPAGE="
+ https://github.com/stefankoegl/python-json-pointer/
+ https://pypi.org/project/jsonpointer/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+
+python_test() {
+ "${EPYTHON}" tests.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/jsonref/jsonref-1.1.0.ebuild b/dev-python/jsonref/jsonref-1.1.0.ebuild
index 59041a7158cf..c4838053296c 100644
--- a/dev-python/jsonref/jsonref-1.1.0.ebuild
+++ b/dev-python/jsonref/jsonref-1.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-DISTUTILS_USE_PEP517=pdm
-PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/jsonschema-path/Manifest b/dev-python/jsonschema-path/Manifest
index 37d779c809dd..bc31266c0988 100644
--- a/dev-python/jsonschema-path/Manifest
+++ b/dev-python/jsonschema-path/Manifest
@@ -1 +1 @@
-DIST jsonschema-path-0.3.2.gh.tar.gz 39521 BLAKE2B 871bb33c7839a3b9bf66e145c239cd6715cfaa2ae782f28b77de83228136af5259e1757856e47f0ac26f46572911553510a153f4f48e3b1d2a813160eb65c143 SHA512 e49b32c4609238d2808938976bd0022f86837e9d7d296a137d42f8e8c80d20d20fdd23a07b898063536290b36bd72df0abef64b65997a66cb3fb9c403cc275d3
+DIST jsonschema-path-0.3.3.gh.tar.gz 40104 BLAKE2B 00f3551f807a76ca59d7dca55d28dc86f36f94ad03be52376a67f29936a1215e50dc5d4af33aabe29026913737e9f453d466450122411297f714e3557fe06d2e SHA512 846d476285b4c89d0241d18be09eb7c12df855f7b28f0d3ea9942a9d23977f3c051b93a1281f6f5323c2c4bc9c86fe82b5eae1bce647f58d9d2acce65d4f54a8
diff --git a/dev-python/jsonschema-path/jsonschema-path-0.3.2.ebuild b/dev-python/jsonschema-path/jsonschema-path-0.3.2.ebuild
deleted file mode 100644
index 3cc2225e3980..000000000000
--- a/dev-python/jsonschema-path/jsonschema-path-0.3.2.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="JSONSchema Spec with object-oriented paths"
-HOMEPAGE="
- https://pypi.org/project/jsonschema-path/
- https://github.com/p1c2u/jsonschema-path/
-"
-SRC_URI="
- https://github.com/p1c2u/jsonschema-path/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/pathable-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
- >=dev-python/referencing-0.28.1[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/responses[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/--cov/d' pyproject.toml || die
- # remove random pins due to caret operator
- sed -i -e 's:\^:>=:' -e 's:,<[0-9.]*::' pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/jsonschema-path/jsonschema-path-0.3.3.ebuild b/dev-python/jsonschema-path/jsonschema-path-0.3.3.ebuild
new file mode 100644
index 000000000000..5ebaaaf5149e
--- /dev/null
+++ b/dev-python/jsonschema-path/jsonschema-path-0.3.3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="JSONSchema Spec with object-oriented paths"
+HOMEPAGE="
+ https://pypi.org/project/jsonschema-path/
+ https://github.com/p1c2u/jsonschema-path/
+"
+SRC_URI="
+ https://github.com/p1c2u/jsonschema-path/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+# requests seem "optional" but they failed at properly making it
+# optional in poetry, sigh
+RDEPEND="
+ >=dev-python/pathable-0.4.1[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ >=dev-python/referencing-0.28.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.31.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/--cov/d' pyproject.toml || die
+ # remove random pins due to caret operator
+ sed -i -e 's:\^:>=:' -e 's:,<[0-9.]*::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/jsonschema-spec/jsonschema-spec-0.2.4-r1.ebuild b/dev-python/jsonschema-spec/jsonschema-spec-0.2.4-r1.ebuild
new file mode 100644
index 000000000000..989ad27dfe3a
--- /dev/null
+++ b/dev-python/jsonschema-spec/jsonschema-spec-0.2.4-r1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="JSONSchema Spec with object-oriented paths"
+HOMEPAGE="
+ https://pypi.org/project/jsonschema-spec/
+ https://github.com/p1c2u/jsonschema-spec/
+"
+SRC_URI="
+ https://github.com/p1c2u/jsonschema-spec/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+# requests seem "optional" but they failed at properly making it
+# optional in poetry, sigh
+RDEPEND="
+ >=dev-python/pathable-0.4.1[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ >=dev-python/referencing-0.28.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.31.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/--cov/d' pyproject.toml || die
+ # remove random pins due to caret operator
+ sed -i -e 's:\^:>=:' -e 's:,<[0-9.]*::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/jsonschema-spec/jsonschema-spec-0.2.4.ebuild b/dev-python/jsonschema-spec/jsonschema-spec-0.2.4.ebuild
deleted file mode 100644
index 81eeedc289a1..000000000000
--- a/dev-python/jsonschema-spec/jsonschema-spec-0.2.4.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="JSONSchema Spec with object-oriented paths"
-HOMEPAGE="
- https://pypi.org/project/jsonschema-spec/
- https://github.com/p1c2u/jsonschema-spec/
-"
-SRC_URI="
- https://github.com/p1c2u/jsonschema-spec/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/pathable-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
- >=dev-python/referencing-0.28.1[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/responses[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/--cov/d' pyproject.toml || die
- # remove random pins due to caret operator
- sed -i -e 's:\^:>=:' -e 's:,<[0-9.]*::' pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/jsonschema-specifications/Manifest b/dev-python/jsonschema-specifications/Manifest
index a50891116099..9003b4f491b0 100644
--- a/dev-python/jsonschema-specifications/Manifest
+++ b/dev-python/jsonschema-specifications/Manifest
@@ -1,2 +1 @@
-DIST jsonschema_specifications-2023.11.1.tar.gz 12935 BLAKE2B 317c6c937f0939ec59e25f2d84a6eea30ae4d8f14c4787e282dc9d6d4b74d84ab4985fde8f78f0cffa0fc61efe44493afe9d79182f4c02b0d6caff18f15dfd08 SHA512 a917226f5341c2a8913fa87a9640e1a5fdb34c857a8be1a0618db15cd09de0d45e82b294f759177de5fbe002f1ad9a04196c1c0976cc99ec685764b30e648b8d
-DIST jsonschema_specifications-2023.11.2.tar.gz 13033 BLAKE2B a9e64f1956a80f040eb300b772e10c7f75ed36502b69899bcadaef79086bc209d63b139bfe94cc3f30ee250bd50b9e0021e3c7616cecd08b322160cadba69046 SHA512 de990c8e6976a2a5915f9b5882f4b9da1cbe8c63a9de70aff74efeb2c659f041815186c6cb38ca9df14fefc211cae2b3c7c8af838fc4b9b853b07f7a5362f181
+DIST jsonschema_specifications-2023.12.1.tar.gz 13983 BLAKE2B db3cad7a900b114eff4827b6653da9e88b80cedae8f724fe030f373d98c7771f427a9960fa47cbe4d4b677805385a059aca08665271659b3e5ab43719c9d74d1 SHA512 7027641c65a6f7c618fd8c3b91af10bc45604966b6cf50780ca72c31f2135ec9d8b14de35049b4897586ad651b65392bb650d162f3bb546c9d250a8cd257ad30
diff --git a/dev-python/jsonschema-specifications/jsonschema-specifications-2023.11.1.ebuild b/dev-python/jsonschema-specifications/jsonschema-specifications-2023.11.1.ebuild
deleted file mode 100644
index 1ee6a611c7f2..000000000000
--- a/dev-python/jsonschema-specifications/jsonschema-specifications-2023.11.1.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2023 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="The JSON Schema meta-schemas and vocabularies, exposed as a Registry"
-HOMEPAGE="
- https://github.com/python-jsonschema/jsonschema-specifications/
- https://pypi.org/project/jsonschema-specifications/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/referencing-0.31.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/jsonschema-specifications/jsonschema-specifications-2023.11.2.ebuild b/dev-python/jsonschema-specifications/jsonschema-specifications-2023.11.2.ebuild
deleted file mode 100644
index 9c3a40e4cef7..000000000000
--- a/dev-python/jsonschema-specifications/jsonschema-specifications-2023.11.2.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2023 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="The JSON Schema meta-schemas and vocabularies, exposed as a Registry"
-HOMEPAGE="
- https://github.com/python-jsonschema/jsonschema-specifications/
- https://pypi.org/project/jsonschema-specifications/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/referencing-0.31.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/jsonschema-specifications/jsonschema-specifications-2023.12.1.ebuild b/dev-python/jsonschema-specifications/jsonschema-specifications-2023.12.1.ebuild
new file mode 100644
index 000000000000..50d28d04e35d
--- /dev/null
+++ b/dev-python/jsonschema-specifications/jsonschema-specifications-2023.12.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="The JSON Schema meta-schemas and vocabularies, exposed as a Registry"
+HOMEPAGE="
+ https://github.com/python-jsonschema/jsonschema-specifications/
+ https://pypi.org/project/jsonschema-specifications/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/referencing-0.31.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/jsonschema/Manifest b/dev-python/jsonschema/Manifest
index 7acecefd78df..c2e9a5c8ec07 100644
--- a/dev-python/jsonschema/Manifest
+++ b/dev-python/jsonschema/Manifest
@@ -1,2 +1,2 @@
-DIST jsonschema-4.17.3.tar.gz 297785 BLAKE2B a0383bf5612ae50e94c95dbc1774d796b62c74a7aae3056a40edb7e042ad07fd7885e61d86220120a906a4017afe30d8ee8edbbf0cf01a6dec1f212984ff1c1e SHA512 626fc913c37d2e49e4b47c9e058aab4a96c1dc50c35d8def0b2ea0ca464dc25e3318d4fde4927c11ca38068743cd81779d5189464b821407ac1de1788bad30e2
-DIST jsonschema-4.20.0.tar.gz 320243 BLAKE2B 7782665aa97d080a3ade9f0ed600d84602135ba80641c75d027f31f118432d206d5c61243e90a59aa134bce2fcf6bed6aed685bca9ad243178c78d3002d43b66 SHA512 916ce6e5a1cce19e52d34394797d59c4821a3e7abad0248d929a8d5975e8e5a2c0a270b2839d6e1800037a53d0ed8fd38ca44264a88653b5aaba1705d459cb47
+DIST jsonschema-4.22.0.tar.gz 325490 BLAKE2B aa0fcd9cb35ffe93d9e7ae940f9fbfc6e20656b09bdec91163ee7120b3495210522c2354dd3e74b33274f61bd9364b6b33f9e6482bac58b2ee0c6dd4bba3658e SHA512 72c9ffd1edf8820696d831062cfae2d38729935b32d12b7fa5171fefa3d38d495b588152c07224a5c9d1f4b9f97bd9b2aa7919d3d4ecdae0ba396e60e954b1c5
+DIST jsonschema-4.23.0.tar.gz 325778 BLAKE2B ccfcfa2b8f27e1d1f3a7d282f4701b04e3711bb57853f5f252ea286bb240395814c33219fff1b2bea661f462d1fc20fcf7d919fe85593d2e1dd89ac289f18ced SHA512 3bc3f7c4bb22dc0233bf99ca5cb8e22002cc3b097c7ae8a78c83ae106e4791dcaca228a6830074b1c42312889374b66c1f5390932768110a1e453babd7302bf9
diff --git a/dev-python/jsonschema/jsonschema-4.17.3.ebuild b/dev-python/jsonschema/jsonschema-4.17.3.ebuild
deleted file mode 100644
index 792a13cb03f3..000000000000
--- a/dev-python/jsonschema/jsonschema-4.17.3.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 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="An implementation of JSON-Schema validation for Python"
-HOMEPAGE="
- https://pypi.org/project/jsonschema/
- https://github.com/python-jsonschema/jsonschema/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/attrs-17.4.0[${PYTHON_USEDEP}]
- >=dev-python/pyrsistent-0.18.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
-"
-
-# formatter deps
-RDEPEND+="
- dev-python/fqdn[${PYTHON_USEDEP}]
- dev-python/idna[${PYTHON_USEDEP}]
- dev-python/isoduration[${PYTHON_USEDEP}]
- >=dev-python/jsonpointer-1.13[${PYTHON_USEDEP}]
- dev-python/rfc3339-validator[${PYTHON_USEDEP}]
- dev-python/rfc3986-validator[${PYTHON_USEDEP}]
- dev-python/rfc3987[${PYTHON_USEDEP}]
- dev-python/uri-template[${PYTHON_USEDEP}]
- >=dev-python/webcolors-1.11[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # requires pip, does not make much sense for the users
- jsonschema/tests/test_cli.py::TestCLIIntegration::test_license
- # fragile warning tests
- jsonschema/tests/test_deprecations.py
- # wtf?
- jsonschema/tests/test_jsonschema_test_suite.py::test_suite_bug
-)
diff --git a/dev-python/jsonschema/jsonschema-4.20.0.ebuild b/dev-python/jsonschema/jsonschema-4.20.0.ebuild
deleted file mode 100644
index 3ef304302a53..000000000000
--- a/dev-python/jsonschema/jsonschema-4.20.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2023 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="An implementation of JSON-Schema validation for Python"
-HOMEPAGE="
- https://pypi.org/project/jsonschema/
- https://github.com/python-jsonschema/jsonschema/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-specifications-2023.03.6[${PYTHON_USEDEP}]
- >=dev-python/referencing-0.28.4[${PYTHON_USEDEP}]
- >=dev-python/rpds-py-0.7.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
- test? (
- !!dev-python/shiboken6
- )
-"
-
-# formatter deps
-RDEPEND+="
- dev-python/fqdn[${PYTHON_USEDEP}]
- dev-python/idna[${PYTHON_USEDEP}]
- dev-python/isoduration[${PYTHON_USEDEP}]
- >=dev-python/jsonpointer-1.13[${PYTHON_USEDEP}]
- dev-python/rfc3339-validator[${PYTHON_USEDEP}]
- dev-python/rfc3986-validator[${PYTHON_USEDEP}]
- dev-python/rfc3987[${PYTHON_USEDEP}]
- dev-python/uri-template[${PYTHON_USEDEP}]
- >=dev-python/webcolors-1.11[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # requires pip, does not make much sense for the users
- jsonschema/tests/test_cli.py::TestCLIIntegration::test_license
- # fragile warning tests
- jsonschema/tests/test_deprecations.py
- # wtf?
- jsonschema/tests/test_jsonschema_test_suite.py::test_suite_bug
-)
diff --git a/dev-python/jsonschema/jsonschema-4.22.0.ebuild b/dev-python/jsonschema/jsonschema-4.22.0.ebuild
new file mode 100644
index 000000000000..1132d7dff5e8
--- /dev/null
+++ b/dev-python/jsonschema/jsonschema-4.22.0.ebuild
@@ -0,0 +1,57 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="An implementation of JSON-Schema validation for Python"
+HOMEPAGE="
+ https://pypi.org/project/jsonschema/
+ https://github.com/python-jsonschema/jsonschema/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-specifications-2023.03.6[${PYTHON_USEDEP}]
+ >=dev-python/referencing-0.28.4[${PYTHON_USEDEP}]
+ >=dev-python/rpds-py-0.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ test? (
+ !!dev-python/shiboken6
+ )
+"
+
+# formatter deps
+RDEPEND+="
+ dev-python/fqdn[${PYTHON_USEDEP}]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/isoduration[${PYTHON_USEDEP}]
+ >=dev-python/jsonpointer-1.13[${PYTHON_USEDEP}]
+ dev-python/rfc3339-validator[${PYTHON_USEDEP}]
+ dev-python/rfc3986-validator[${PYTHON_USEDEP}]
+ dev-python/rfc3987[${PYTHON_USEDEP}]
+ dev-python/uri-template[${PYTHON_USEDEP}]
+ >=dev-python/webcolors-1.11[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires pip, does not make much sense for the users
+ jsonschema/tests/test_cli.py::TestCLIIntegration::test_license
+ # fragile warning tests
+ jsonschema/tests/test_deprecations.py
+ # wtf?
+ jsonschema/tests/test_jsonschema_test_suite.py::test_suite_bug
+)
diff --git a/dev-python/jsonschema/jsonschema-4.23.0.ebuild b/dev-python/jsonschema/jsonschema-4.23.0.ebuild
new file mode 100644
index 000000000000..6c03f86de51f
--- /dev/null
+++ b/dev-python/jsonschema/jsonschema-4.23.0.ebuild
@@ -0,0 +1,57 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="An implementation of JSON-Schema validation for Python"
+HOMEPAGE="
+ https://pypi.org/project/jsonschema/
+ https://github.com/python-jsonschema/jsonschema/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-specifications-2023.03.6[${PYTHON_USEDEP}]
+ >=dev-python/referencing-0.28.4[${PYTHON_USEDEP}]
+ >=dev-python/rpds-py-0.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ test? (
+ !!dev-python/shiboken6
+ )
+"
+
+# formatter deps
+RDEPEND+="
+ dev-python/fqdn[${PYTHON_USEDEP}]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/isoduration[${PYTHON_USEDEP}]
+ >=dev-python/jsonpointer-1.13[${PYTHON_USEDEP}]
+ dev-python/rfc3339-validator[${PYTHON_USEDEP}]
+ dev-python/rfc3986-validator[${PYTHON_USEDEP}]
+ dev-python/rfc3987[${PYTHON_USEDEP}]
+ dev-python/uri-template[${PYTHON_USEDEP}]
+ >=dev-python/webcolors-24.6.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires pip, does not make much sense for the users
+ jsonschema/tests/test_cli.py::TestCLIIntegration::test_license
+ # fragile warning tests
+ jsonschema/tests/test_deprecations.py
+ # wtf?
+ jsonschema/tests/test_jsonschema_test_suite.py::test_suite_bug
+)
diff --git a/dev-python/jsonxs/jsonxs-0.6-r1.ebuild b/dev-python/jsonxs/jsonxs-0.6-r1.ebuild
index 39aeaffc85bd..05b7899d3e9a 100644
--- a/dev-python/jsonxs/jsonxs-0.6-r1.ebuild
+++ b/dev-python/jsonxs/jsonxs-0.6-r1.ebuild
@@ -1,15 +1,18 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="Get/set values in JSON and Python datastructures"
-HOMEPAGE="https://github.com/fboender/jsonxs"
+HOMEPAGE="
+ https://github.com/fboender/jsonxs/
+ https://pypi.org/project/jsonxs/
+"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/junit-xml/junit-xml-1.9-r1.ebuild b/dev-python/junit-xml/junit-xml-1.9-r1.ebuild
index dd86eb10ad8d..017d20cc87c9 100644
--- a/dev-python/junit-xml/junit-xml-1.9-r1.ebuild
+++ b/dev-python/junit-xml/junit-xml-1.9-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/jupyter-client/Manifest b/dev-python/jupyter-client/Manifest
index 57f31a992f86..1e50bf347970 100644
--- a/dev-python/jupyter-client/Manifest
+++ b/dev-python/jupyter-client/Manifest
@@ -1 +1 @@
-DIST jupyter_client-8.6.0.tar.gz 339721 BLAKE2B 80786453526899cfff2e5335009d90f0dd636da33a5778868ba8913be488e9c1512beffc1b5e658dee215bdee9e264c9a5c6621490c2efb8f4784557735f736e SHA512 84e913c46f5e0298b699c4d1c6de27fd2b9861bc29f7a5a456c20c7100aaedf399eb6c09ff28bd3bb20945a3bea84bd0bda8688f32815fa7bdd375f091817e4a
+DIST jupyter_client-8.6.2.tar.gz 341102 BLAKE2B d9d04b6b965aa34f6b1dd228d1389a36509415e57cb66b4aede37963b6a48f5133c48e8343bbb54bd775b3faa59db8b248f515caca9dbbe594a9d4ba93a668d7 SHA512 ce0ae60b083ce0a37ddd0249d3caef0581ece61927ae685ee80b55d9431557352f1dce6cf81894d39343087b15cc6ac3449abe88cb4119a0d03824b3642f84ff
diff --git a/dev-python/jupyter-client/jupyter-client-8.6.0.ebuild b/dev-python/jupyter-client/jupyter-client-8.6.0.ebuild
deleted file mode 100644
index e6812b228d48..000000000000
--- a/dev-python/jupyter-client/jupyter-client-8.6.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 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 pypi
-
-DESCRIPTION="Jupyter protocol implementation and client libraries"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/jupyter_client/
- https://pypi.org/project/jupyter-client/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/jupyter-core-5.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-23.0[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0[${PYTHON_USEDEP}]
- dev-python/traitlets[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib-metadata-4.8.3[${PYTHON_USEDEP}]
- ' 3.{8,9})
-"
-BDEPEND="
- test? (
- >=dev-python/ipykernel-6.14[${PYTHON_USEDEP}]
- >=dev-python/pytest-asyncio-0.18[${PYTHON_USEDEP}]
- >=dev-python/pytest-jupyter-0.4.1[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # TODO: times out
- tests/test_client.py::TestAsyncKernelClient::test_input_request
- # TODO
- tests/test_multikernelmanager.py::TestKernelManager::test_tcp_cinfo
-)
diff --git a/dev-python/jupyter-client/jupyter-client-8.6.2.ebuild b/dev-python/jupyter-client/jupyter-client-8.6.2.ebuild
new file mode 100644
index 000000000000..f26eb205da53
--- /dev/null
+++ b/dev-python/jupyter-client/jupyter-client-8.6.2.ebuild
@@ -0,0 +1,56 @@
+# 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..13} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Jupyter protocol implementation and client libraries"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/jupyter_client/
+ https://pypi.org/project/jupyter-client/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/jupyter-core-5.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-23.0[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.0[${PYTHON_USEDEP}]
+ dev-python/traitlets[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib-metadata-4.8.3[${PYTHON_USEDEP}]
+ ' 3.{8,9})
+"
+BDEPEND="
+ test? (
+ >=dev-python/ipykernel-6.14[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.18[${PYTHON_USEDEP}]
+ >=dev-python/pytest-jupyter-0.4.1[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: times out
+ tests/test_client.py::TestAsyncKernelClient::test_input_request
+ # TODO
+ tests/test_multikernelmanager.py::TestKernelManager::test_tcp_cinfo
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o tmp_path_retention_policy=all \
+ -p asyncio -p rerunfailures --reruns=3 -p timeout
+}
diff --git a/dev-python/jupyter-console/jupyter-console-6.6.3.ebuild b/dev-python/jupyter-console/jupyter-console-6.6.3.ebuild
index 1ae3b69d02e3..c718a5ec6798 100644
--- a/dev-python/jupyter-console/jupyter-console-6.6.3.ebuild
+++ b/dev-python/jupyter-console/jupyter-console-6.6.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
+KEYWORDS="amd64 arm64 ~riscv x86"
RDEPEND="
>=dev-python/ipykernel-6.14[${PYTHON_USEDEP}]
diff --git a/dev-python/jupyter-core/Manifest b/dev-python/jupyter-core/Manifest
index d868459524a9..d0fffd3eeb2c 100644
--- a/dev-python/jupyter-core/Manifest
+++ b/dev-python/jupyter-core/Manifest
@@ -1 +1 @@
-DIST jupyter_core-5.5.0.tar.gz 85369 BLAKE2B 41fa2381023c8f2313607d2ac989d1f35dcd362abd4b9573affaf9fc34cd48eb260d2ad68af97be2d47aa4a077f1756e6e291a4f0dd48c9774df2d31dda7e9b4 SHA512 92ca5ddc69d58ecdf1f707104e950ba43c88630991b0a6951fb6ba83260573b9f48c7903b25ae7bc105c08b3179de4bebb5a87b66453b96ceed631cbf555d631
+DIST jupyter_core-5.7.2.tar.gz 87629 BLAKE2B b8d460f239419c7f648a856e55e1570646b6a6cd38ee900bbeac0aa64965f8868a88be20f6b890f2f424f0752f0da44d79abd0b3d18d275ac3f9c574ad7d18b4 SHA512 1eb4766dbc10afdcbc469853b391a88a2551a0ee2b2a3f93a316b407371ca10f546746aa4a327f8c0423cc10e4de022630c04ca7547dcf7ee8d9a911e9a0e572
diff --git a/dev-python/jupyter-core/jupyter-core-5.5.0.ebuild b/dev-python/jupyter-core/jupyter-core-5.5.0.ebuild
deleted file mode 100644
index e23f9ad5b076..000000000000
--- a/dev-python/jupyter-core/jupyter-core-5.5.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Core common functionality of Jupyter projects"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/jupyter_core/
- https://pypi.org/project/jupyter-core/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/platformdirs-2.5[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.11.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/ipython-4.0.1[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/myst-parser \
- dev-python/pydata-sphinx-theme \
- dev-python/sphinx-autodoc-typehints \
- dev-python/sphinxcontrib-github-alt \
- dev-python/sphinxcontrib-spelling \
- dev-python/traitlets
-distutils_enable_tests pytest
diff --git a/dev-python/jupyter-core/jupyter-core-5.7.2.ebuild b/dev-python/jupyter-core/jupyter-core-5.7.2.ebuild
new file mode 100644
index 000000000000..fc05f3254d18
--- /dev/null
+++ b/dev-python/jupyter-core/jupyter-core-5.7.2.ebuild
@@ -0,0 +1,39 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Core common functionality of Jupyter projects"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/jupyter_core/
+ https://pypi.org/project/jupyter-core/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/platformdirs-2.5[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.11.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pip[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/myst-parser \
+ dev-python/pydata-sphinx-theme \
+ dev-python/sphinx-autodoc-typehints \
+ dev-python/sphinxcontrib-github-alt \
+ dev-python/sphinxcontrib-spelling \
+ dev-python/traitlets
+distutils_enable_tests pytest
diff --git a/dev-python/jupyter-events/Manifest b/dev-python/jupyter-events/Manifest
index b142abbaa9c8..a455c9ed0764 100644
--- a/dev-python/jupyter-events/Manifest
+++ b/dev-python/jupyter-events/Manifest
@@ -1 +1 @@
-DIST jupyter_events-0.9.0.tar.gz 60502 BLAKE2B faf2c7b1b1403c809e98673dc2600750d5c18ff2578b7f1f6f569fa5ac5e955384eda69f0d281a8aa504a1bbeba639931b0fc01bd117b1621fdeb64d4c6881bb SHA512 7b70edd79b80a3d73f0fedd21f0dba8060cb190b0dc8a6d7d9d11fdfd5b219c7a2f54438f0888c062e00b7def37fa0d7cfb0213bfa8d93737a83802079e4b103
+DIST jupyter_events-0.10.0.tar.gz 61516 BLAKE2B 12cf323f65cd52a6c0aa29e7b75e7899ec245752a7c4e17d32650ae3e9b27f47a7e593b491747667dfc58bde5e0745077c72317dbfa6db1f266d7ada14bc8f6a SHA512 6e56b48a238353fbd5e6a1a8cb3fcc5a506063aa555c96172ec2e03a14fb527b39d03a9897de49353927e8993a770d028d6d0d2c9a92785c4b727e3da66676df
diff --git a/dev-python/jupyter-events/files/jupyter-events-0.10.0-test.patch b/dev-python/jupyter-events/files/jupyter-events-0.10.0-test.patch
new file mode 100644
index 000000000000..44695c174cdd
--- /dev/null
+++ b/dev-python/jupyter-events/files/jupyter-events-0.10.0-test.patch
@@ -0,0 +1,93 @@
+From 6c6219710e08784b3b8beed25d17240ea7f9ef93 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Fri, 12 Jul 2024 11:05:40 +0200
+Subject: [PATCH 1/2] Improve compatibility with patched python-json-logger on
+ py3.12+
+
+Discard the `taskName` field from event capsule, to preserve
+compatibility both with current python-json-logger versions, and with
+versions containing the Python 3.12 fix
+from madzak/python-json-logger#188 that removes the reserved `taskName`
+field.
+---
+ tests/test_logger.py | 15 +++++----------
+ 1 file changed, 5 insertions(+), 10 deletions(-)
+
+diff --git a/tests/test_logger.py b/tests/test_logger.py
+index 8a0a499..986aade 100644
+--- a/tests/test_logger.py
++++ b/tests/test_logger.py
+@@ -166,8 +166,7 @@ def test_emit():
+ "__metadata_version__": 1,
+ "something": "blah",
+ }
+- if sys.version_info >= (3, 12):
+- expected["taskName"] = None
++ event_capsule.pop("taskName", None)
+ assert event_capsule == expected
+
+
+@@ -214,8 +213,7 @@ def test_message_field():
+ "something": "blah",
+ "message": "a message was seen",
+ }
+- if sys.version_info >= (3, 12):
+- expected["taskName"] = None
++ event_capsule.pop("taskName", None)
+ assert event_capsule == expected
+
+
+@@ -263,8 +261,7 @@ def test_nested_message_field():
+ "__metadata_version__": 1,
+ "thing": {"message": "a nested message was seen"},
+ }
+- if sys.version_info >= (3, 12):
+- expected["taskName"] = None
++ event_capsule.pop("taskName", None)
+ assert event_capsule == expected
+
+
+@@ -428,8 +425,7 @@ def test_unique_logger_instances():
+ "__metadata_version__": 1,
+ "something": "blah",
+ }
+- if sys.version_info >= (3, 12):
+- expected["taskName"] = None
++ event_capsule0.pop("taskName", None)
+ assert event_capsule0 == expected
+
+ event_capsule1 = json.loads(output1.getvalue())
+@@ -443,8 +439,7 @@ def test_unique_logger_instances():
+ "__metadata_version__": 1,
+ "something": "blah",
+ }
+- if sys.version_info >= (3, 12):
+- expected["taskName"] = None
++ event_capsule1.pop("taskName", None)
+ assert event_capsule1 == expected
+
+
+
+From 5ad1b27eb8424f1c33067eb68859f9ed0d7ede74 Mon Sep 17 00:00:00 2001
+From: "pre-commit-ci[bot]"
+ <66853113+pre-commit-ci[bot]@users.noreply.github.com>
+Date: Fri, 12 Jul 2024 09:08:44 +0000
+Subject: [PATCH 2/2] [pre-commit.ci] auto fixes from pre-commit.com hooks
+
+for more information, see https://pre-commit.ci
+---
+ tests/test_logger.py | 1 -
+ 1 file changed, 1 deletion(-)
+
+diff --git a/tests/test_logger.py b/tests/test_logger.py
+index 986aade..ecd56ab 100644
+--- a/tests/test_logger.py
++++ b/tests/test_logger.py
+@@ -3,7 +3,6 @@
+ import io
+ import json
+ import logging
+-import sys
+ from datetime import datetime, timedelta, timezone
+ from unittest.mock import MagicMock
+
diff --git a/dev-python/jupyter-events/jupyter-events-0.10.0.ebuild b/dev-python/jupyter-events/jupyter-events-0.10.0.ebuild
new file mode 100644
index 000000000000..241a36a33ff2
--- /dev/null
+++ b/dev-python/jupyter-events/jupyter-events-0.10.0.ebuild
@@ -0,0 +1,47 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Jupyter Event System library"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/jupyter_events/
+ https://pypi.org/project/jupyter-events/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+# jsonschema[format-nongpl] deps are always on in our ebuild
+RDEPEND="
+ >=dev-python/jsonschema-4.18.0[${PYTHON_USEDEP}]
+ >=dev-python/python-json-logger-2.0.4[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.3[${PYTHON_USEDEP}]
+ dev-python/referencing[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ )
+"
+
+# TODO: package jupyterlite-sphinx
+# distutils_enable_sphinx docs
+distutils_enable_tests pytest
+
+PATCHES=(
+ # fix compatibility with patched python-json-logger
+ # https://github.com/jupyter/jupyter_events/pull/100
+ "${FILESDIR}/${P}-test.patch"
+)
diff --git a/dev-python/jupyter-events/jupyter-events-0.9.0.ebuild b/dev-python/jupyter-events/jupyter-events-0.9.0.ebuild
deleted file mode 100644
index 528914b4387b..000000000000
--- a/dev-python/jupyter-events/jupyter-events-0.9.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2023 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="Jupyter Event System library"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/jupyter_events/
- https://pypi.org/project/jupyter-events/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-# jsonschema[format-nongpl] deps are always on in our ebuild
-RDEPEND="
- >=dev-python/jsonschema-4.18.0[${PYTHON_USEDEP}]
- >=dev-python/python-json-logger-2.0.4[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.3[${PYTHON_USEDEP}]
- dev-python/referencing[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- )
-"
-
-# TODO: package jupyterlite-sphinx
-# distutils_enable_sphinx docs
-distutils_enable_tests pytest
diff --git a/dev-python/jupyter-kernel-test/Manifest b/dev-python/jupyter-kernel-test/Manifest
index 55071eb7764c..243cfbe349fa 100644
--- a/dev-python/jupyter-kernel-test/Manifest
+++ b/dev-python/jupyter-kernel-test/Manifest
@@ -1 +1 @@
-DIST jupyter_kernel_test-0.6.0.tar.gz 15445 BLAKE2B 7739ad85edce96b2bd41ee2af2552f4643a301e33978438f546fb7dbe6e449e89ee1a5dc588af30b4df9786f6cc627fe46c2d43bac43cad86693f0a6d0f9bc10 SHA512 ff518d89f9a32f714a9335e4ee151f205b629399dab84217466ca018556d927a3f91c4cb8b599879946b5332b2b3367c62a6bcc10e20cf43c3f2c3b257bc0d90
+DIST jupyter_kernel_test-0.7.0.tar.gz 17122 BLAKE2B dea62f5960cbf5fcd6d5b3592800d1772c42ff6332e448c2f4ac8ee90952696243d44a02b8dfe1bc4e3b02c03b299b4c25649175ba96701c2a793bf104e3b781 SHA512 f44a230ab28584fd86f21a528309f78a90cd3711a890b6e3b91af85e73d7556b9849df188dcd5be356564bd9b3bf9d96c54865ce0c2145c48afdbe3c65b0fe9a
diff --git a/dev-python/jupyter-kernel-test/jupyter-kernel-test-0.6.0.ebuild b/dev-python/jupyter-kernel-test/jupyter-kernel-test-0.6.0.ebuild
deleted file mode 100644
index 10d144e7bdf1..000000000000
--- a/dev-python/jupyter-kernel-test/jupyter-kernel-test-0.6.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A tool for testing Jupyter kernels"
-HOMEPAGE="
- https://github.com/jupyter/jupyter_kernel_test/
- https://pypi.org/project/jupyter-kernel-test/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/jupyter-client-6.1.13[${PYTHON_USEDEP}]
- dev-python/jsonschema[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/jupyter-kernel-test/jupyter-kernel-test-0.7.0.ebuild b/dev-python/jupyter-kernel-test/jupyter-kernel-test-0.7.0.ebuild
new file mode 100644
index 000000000000..96db6f033c05
--- /dev/null
+++ b/dev-python/jupyter-kernel-test/jupyter-kernel-test-0.7.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A tool for testing Jupyter kernels"
+HOMEPAGE="
+ https://github.com/jupyter/jupyter_kernel_test/
+ https://pypi.org/project/jupyter-kernel-test/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/jupyter-client-6.1.13[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/jupyter-lsp/Manifest b/dev-python/jupyter-lsp/Manifest
index 04a061ed5252..b4c5d786072f 100644
--- a/dev-python/jupyter-lsp/Manifest
+++ b/dev-python/jupyter-lsp/Manifest
@@ -1,2 +1 @@
-DIST jupyter-lsp-2.2.0.tar.gz 45769 BLAKE2B 7004a1bc6b8ece280df1bb54a80ca8b7d93a4995a92c909dcc7f6193500b1881ca5beb6fc3b0c1a4e7659465216b05b4ee7b83b1d2973fce5b74a304e87e3fd4 SHA512 0f6d844be172054eed7599eb5f2c2be4c1ebb749176af3f08aa3327849fa045de2b8f9003c67188ed0f1b7ba2e28f1223d0dcca008eaa528caacf38a95c3f59b
-DIST jupyter-lsp-2.2.1.tar.gz 45839 BLAKE2B 5f7af7a335f97f8f35ebcd2cabb9b6377ec3bbc9b756bcd9c02e3b2ab8798855c2de9df7b9c3f1b832672030de660e1b6a475de70708911c1deca128d1cbfe44 SHA512 2f8d5a7a19daedd649810baa43bed5ae994dec7245a793298f5de4c32fd22190ffa3c4a356b3bfda3422fcdce5a34ea081c7f49030db8fcb633f761719ecfe4b
+DIST jupyter-lsp-2.2.5.tar.gz 48741 BLAKE2B c5ab6d735cab3585b5093bb3a60ae360c33414fe32ddd85bd926d71f92bb4997e846d3ac75ac8d502aacd1a296d7fd447d71cdc7d3c76f2856b2e5f5fd60f7dd SHA512 16c3b40a1557d0417553f0a9371dfa49e1b510a8fef77f4420adc2a521eeb57bb3d28d9c905388211174f47ae4dedf0c9213756288712dbe7430178d832f698b
diff --git a/dev-python/jupyter-lsp/jupyter-lsp-2.2.0.ebuild b/dev-python/jupyter-lsp/jupyter-lsp-2.2.0.ebuild
deleted file mode 100644
index bc36b977c024..000000000000
--- a/dev-python/jupyter-lsp/jupyter-lsp-2.2.0.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYPI_NO_NORMALIZE=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab"
-HOMEPAGE="
- https://github.com/jupyter-lsp/jupyterlab-lsp
- https://pypi.org/project/jupyter-lsp/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/entrypoints[${PYTHON_USEDEP}]
- >=dev-python/jupyter-server-1.1.2[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Do not depend on pytest-cov or flake8
- sed -i -e '/--cov/d' -e '/--flake8/d' setup.cfg || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Not packaged
- jupyter_lsp/tests/test_detect.py::test_r_package_detection
- "jupyter_lsp/tests/test_listener.py::test_listeners[bash-language-server]"
- "jupyter_lsp/tests/test_listener.py::test_listeners[dockerfile-language-server-nodejs]"
- "jupyter_lsp/tests/test_listener.py::test_listeners[pylsp]"
- "jupyter_lsp/tests/test_listener.py::test_listeners[sql-language-server]"
- "jupyter_lsp/tests/test_listener.py::test_listeners[typescript-language-server]"
- "jupyter_lsp/tests/test_listener.py::test_listeners[unified-language-server]"
- "jupyter_lsp/tests/test_listener.py::test_listeners[vscode-css-languageserver-bin]"
- "jupyter_lsp/tests/test_listener.py::test_listeners[vscode-html-languageserver-bin]"
- "jupyter_lsp/tests/test_listener.py::test_listeners[vscode-json-languageserver-bin]"
- "jupyter_lsp/tests/test_listener.py::test_listeners[yaml-language-server]"
- "jupyter_lsp/tests/test_session.py::test_start_known[bash-language-server]"
- "jupyter_lsp/tests/test_session.py::test_start_known[dockerfile-language-server-nodejs]"
- "jupyter_lsp/tests/test_session.py::test_start_known[pylsp]"
- "jupyter_lsp/tests/test_session.py::test_start_known[sql-language-server]"
- "jupyter_lsp/tests/test_session.py::test_start_known[typescript-language-server]"
- "jupyter_lsp/tests/test_session.py::test_start_known[unified-language-server]"
- "jupyter_lsp/tests/test_session.py::test_start_known[vscode-css-languageserver-bin]"
- "jupyter_lsp/tests/test_session.py::test_start_known[vscode-html-languageserver-bin]"
- "jupyter_lsp/tests/test_session.py::test_start_known[vscode-json-languageserver-bin]"
- "jupyter_lsp/tests/test_session.py::test_start_known[yaml-language-server]"
- )
-
- case ${EPYTHON} in
- python3.12)
- EPYTEST_DESELECT+=(
- jupyter_lsp/tests/test_session.py::test_start_unknown
- )
- ;;
- esac
-
- epytest
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- mv "${ED}/usr/etc" "${ED}/etc" || die
-}
-
-pkg_postinst() {
- optfeature "Language server for Python" dev-python/python-lsp-server
-}
diff --git a/dev-python/jupyter-lsp/jupyter-lsp-2.2.1.ebuild b/dev-python/jupyter-lsp/jupyter-lsp-2.2.1.ebuild
deleted file mode 100644
index 871b1fc88973..000000000000
--- a/dev-python/jupyter-lsp/jupyter-lsp-2.2.1.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYPI_NO_NORMALIZE=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab"
-HOMEPAGE="
- https://github.com/jupyter-lsp/jupyterlab-lsp
- https://pypi.org/project/jupyter-lsp/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- dev-python/entrypoints[${PYTHON_USEDEP}]
- >=dev-python/jupyter-server-1.1.2[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Do not depend on pytest-cov or flake8
- sed -i -e '/--cov/d' -e '/--flake8/d' setup.cfg || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Not packaged
- jupyter_lsp/tests/test_detect.py::test_r_package_detection
- "jupyter_lsp/tests/test_listener.py::test_listeners[bash-language-server]"
- "jupyter_lsp/tests/test_listener.py::test_listeners[dockerfile-language-server-nodejs]"
- "jupyter_lsp/tests/test_listener.py::test_listeners[pylsp]"
- "jupyter_lsp/tests/test_listener.py::test_listeners[sql-language-server]"
- "jupyter_lsp/tests/test_listener.py::test_listeners[typescript-language-server]"
- "jupyter_lsp/tests/test_listener.py::test_listeners[unified-language-server]"
- "jupyter_lsp/tests/test_listener.py::test_listeners[vscode-css-languageserver-bin]"
- "jupyter_lsp/tests/test_listener.py::test_listeners[vscode-html-languageserver-bin]"
- "jupyter_lsp/tests/test_listener.py::test_listeners[vscode-json-languageserver-bin]"
- "jupyter_lsp/tests/test_listener.py::test_listeners[yaml-language-server]"
- "jupyter_lsp/tests/test_session.py::test_start_known[bash-language-server]"
- "jupyter_lsp/tests/test_session.py::test_start_known[dockerfile-language-server-nodejs]"
- "jupyter_lsp/tests/test_session.py::test_start_known[pylsp]"
- "jupyter_lsp/tests/test_session.py::test_start_known[sql-language-server]"
- "jupyter_lsp/tests/test_session.py::test_start_known[typescript-language-server]"
- "jupyter_lsp/tests/test_session.py::test_start_known[unified-language-server]"
- "jupyter_lsp/tests/test_session.py::test_start_known[vscode-css-languageserver-bin]"
- "jupyter_lsp/tests/test_session.py::test_start_known[vscode-html-languageserver-bin]"
- "jupyter_lsp/tests/test_session.py::test_start_known[vscode-json-languageserver-bin]"
- "jupyter_lsp/tests/test_session.py::test_start_known[yaml-language-server]"
- )
-
- case ${EPYTHON} in
- python3.12)
- EPYTEST_DESELECT+=(
- jupyter_lsp/tests/test_session.py::test_start_unknown
- )
- ;;
- esac
-
- epytest
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- mv "${ED}/usr/etc" "${ED}/etc" || die
-}
-
-pkg_postinst() {
- optfeature "Language server for Python" dev-python/python-lsp-server
-}
diff --git a/dev-python/jupyter-lsp/jupyter-lsp-2.2.5.ebuild b/dev-python/jupyter-lsp/jupyter-lsp-2.2.5.ebuild
new file mode 100644
index 000000000000..75d26fc45fe4
--- /dev/null
+++ b/dev-python/jupyter-lsp/jupyter-lsp-2.2.5.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYPI_NO_NORMALIZE=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Multi-Language Server WebSocket proxy for Jupyter Notebook/Lab"
+HOMEPAGE="
+ https://github.com/jupyter-lsp/jupyterlab-lsp
+ https://pypi.org/project/jupyter-lsp/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/entrypoints[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-1.1.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Do not depend on pytest-cov or flake8
+ sed -i -e '/--cov/d' -e '/--flake8/d' setup.cfg || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # hangs
+ jupyter_lsp/tests/test_auth.py
+ # Not packaged
+ jupyter_lsp/tests/test_detect.py::test_r_package_detection
+ "jupyter_lsp/tests/test_listener.py::test_listeners[bash-language-server]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[dockerfile-language-server-nodejs]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[pylsp]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[r-languageserver]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[sql-language-server]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[typescript-language-server]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[unified-language-server]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[vscode-css-languageserver-bin]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[vscode-html-languageserver-bin]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[vscode-json-languageserver-bin]"
+ "jupyter_lsp/tests/test_listener.py::test_listeners[yaml-language-server]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[bash-language-server]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[dockerfile-language-server-nodejs]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[pylsp]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[r-languageserver]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[sql-language-server]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[typescript-language-server]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[unified-language-server]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[vscode-css-languageserver-bin]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[vscode-html-languageserver-bin]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[vscode-json-languageserver-bin]"
+ "jupyter_lsp/tests/test_session.py::test_start_known[yaml-language-server]"
+
+ # TODO
+ 'jupyter_lsp/tests/test_session.py::test_start_unknown[foo-language-server]'
+ jupyter_lsp/tests/test_session.py::test_substitute_env
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
+
+pkg_postinst() {
+ optfeature "Language server for Python" dev-python/python-lsp-server
+}
diff --git a/dev-python/jupyter-packaging/jupyter-packaging-0.12.3.ebuild b/dev-python/jupyter-packaging/jupyter-packaging-0.12.3.ebuild
index 196ac3deae15..07d170d1109b 100644
--- a/dev-python/jupyter-packaging/jupyter-packaging-0.12.3.ebuild
+++ b/dev-python/jupyter-packaging/jupyter-packaging-0.12.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -35,8 +35,13 @@ BDEPEND="
distutils_enable_tests pytest
-EPYTEST_DESELECT=(
- # require Internet
- tests/test_build_api.py::test_build_package
- tests/test_build_api.py::test_deprecated_metadata
-)
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require Internet
+ tests/test_build_api.py::test_build_package
+ tests/test_build_api.py::test_deprecated_metadata
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock -o tmp_path_retention_policy=all
+}
diff --git a/dev-python/jupyter-server-fileid/Manifest b/dev-python/jupyter-server-fileid/Manifest
deleted file mode 100644
index 53a47de12c53..000000000000
--- a/dev-python/jupyter-server-fileid/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST jupyter_server_fileid-0.9.0.tar.gz 52294 BLAKE2B fcaa279b0bbc9a2d4e7303dbb6cc6b72321c774132f346c9388552b55a713f553409b98970a80b9c966527b03f1430a45b7b5f838115140bac6b8a55c3433616 SHA512 eaac93995e52e2187cfc72cd7d3eb625e5b83f21095412b6eb466834561c6bff17ef34e994c4c3e743c07baa171a99a96dea66c653643df1f72a68bb3f3bf0d3
diff --git a/dev-python/jupyter-server-fileid/jupyter-server-fileid-0.9.0.ebuild b/dev-python/jupyter-server-fileid/jupyter-server-fileid-0.9.0.ebuild
deleted file mode 100644
index a3ce21ee9149..000000000000
--- a/dev-python/jupyter-server-fileid/jupyter-server-fileid-0.9.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="An extension that maintains file IDs for documents in a running Jupyter Server"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter-server/jupyter_server_fileid/
- https://pypi.org/project/jupyter-server-fileid/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/jupyter-server[${PYTHON_USEDEP}]
- ~dev-python/jupyter-events-0.5.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/pytest-jupyter[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # unreliable on tmpfs
- # https://github.com/jupyter-server/jupyter_server_fileid/issues/58
- tests/test_manager.py::test_get_path_oob_move_nested
- tests/test_manager.py::test_get_path_oob_move_deeply_nested
-)
-
-python_install_all() {
- distutils-r1_python_install_all
- mv "${ED}/usr/etc" "${ED}/etc" || die
-}
diff --git a/dev-python/jupyter-server-fileid/metadata.xml b/dev-python/jupyter-server-fileid/metadata.xml
deleted file mode 100644
index fb76de150888..000000000000
--- a/dev-python/jupyter-server-fileid/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">jupyter-server-fileid</remote-id>
- <remote-id type="github">jupyter-server/jupyter_server_fileid</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/jupyter-server-proxy/Manifest b/dev-python/jupyter-server-proxy/Manifest
index f38de51d3986..d2a7888ba7e2 100644
--- a/dev-python/jupyter-server-proxy/Manifest
+++ b/dev-python/jupyter-server-proxy/Manifest
@@ -1 +1 @@
-DIST jupyter-server-proxy-3.2.2.tar.gz 121353 BLAKE2B 4f7c8af14a149f13272ea2802e830b38a5167f1de80dab21e1d175cb96ba3b908bd268f6dbb02cfd4fb8991ffb3315c044405925358904f82b26d55f74f97dbe SHA512 320765a8a8b1c6f213bd9c8cf514aac44f40ce93fb27fa890d8c6a9ae158f92f1b3a7119b47067db1c4f38925815f647559b3c618a9a85553cdbf7d2dc0a3872
+DIST jupyter_server_proxy-4.1.2.tar.gz 133085 BLAKE2B a859938f7ab5570e978b3afa71a924b882bcc1e788181bbdee1b2dd22d9b2e7bf706d130b04dc9a0871c3a3046041b939d8da82af5abe093ba2a2d0f9451cb20 SHA512 9dc8c84b28f79dd2f89ceb6012f0bf69d43c8c59ffe73d1559aee9d7f6d90cce93fc8b277fe3ad83197fd3d5f7aaad60c3353b0618967e51ed3749e12db4bd3c
diff --git a/dev-python/jupyter-server-proxy/jupyter-server-proxy-3.2.2.ebuild b/dev-python/jupyter-server-proxy/jupyter-server-proxy-3.2.2.ebuild
deleted file mode 100644
index 00efa2d027c5..000000000000
--- a/dev-python/jupyter-server-proxy/jupyter-server-proxy-3.2.2.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1 pypi
-
-DESCRIPTION="Jupyter notebook server extension to proxy web services"
-HOMEPAGE="https://github.com/jupyterhub/jupyter-server-proxy"
-# The GitHub tarball includes the tests, but does not have the js stuff we need
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/aiohttp[${PYTHON_USEDEP}]
- >=dev-python/jupyter-server-1.0[${PYTHON_USEDEP}]
- >=dev-python/simpervisor-0.4[${PYTHON_USEDEP}]
-"
-BDEPEND="dev-python/jupyter-packaging[${PYTHON_USEDEP}]"
-
-src_install() {
- distutils-r1_src_install
- mv "${ED}/usr/etc" "${ED}/etc" || die
-}
diff --git a/dev-python/jupyter-server-proxy/jupyter-server-proxy-4.1.2.ebuild b/dev-python/jupyter-server-proxy/jupyter-server-proxy-4.1.2.ebuild
new file mode 100644
index 000000000000..bab5f5dbb961
--- /dev/null
+++ b/dev-python/jupyter-server-proxy/jupyter-server-proxy-4.1.2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..12} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="Jupyter notebook server extension to proxy web services"
+HOMEPAGE="https://github.com/jupyterhub/jupyter-server-proxy"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# Connection refused, even without network-sandbox
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-1.0[${PYTHON_USEDEP}]
+ >=dev-python/simpervisor-1.0[${PYTHON_USEDEP}]
+ >=dev-python/tornado-5.1[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-4.2.1[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ >=dev-python/hatch-jupyter-builder-0.8.3[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-4.0.6[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ sed \
+ -e "/--cov.*,/d" \
+ -e "/--no-cov.*,/d" \
+ -e "/--html.*,/d" \
+ -i pyproject.toml || die
+ distutils-r1_python_prepare_all
+}
+
+src_install() {
+ distutils-r1_src_install
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
diff --git a/dev-python/jupyter-server-terminals/Manifest b/dev-python/jupyter-server-terminals/Manifest
index e8e5545fa08c..35f5a7436bc6 100644
--- a/dev-python/jupyter-server-terminals/Manifest
+++ b/dev-python/jupyter-server-terminals/Manifest
@@ -1 +1 @@
-DIST jupyter_server_terminals-0.4.4.tar.gz 29850 BLAKE2B 064876d7a10e7ff66da83e07d562abe53d609caeb27bcd7b7181d10c06af4406ee048b45b73092c8f3b0c10df40494eca1edb5234030154c63ea6a330f85a115 SHA512 5b1a6a9cfd550108be7f6664eac5ab7581d75e78a7dfc9825af2346b0d9b19f05543dcce010dafb9554c0782bf8e7929bf0ef96bdf2db392ab9b9ec1a3633fdd
+DIST jupyter_server_terminals-0.5.3.tar.gz 31430 BLAKE2B 1633bd67b775a5d76870530705d13adea49bd5f583cf93a7cf7e713d8fa75e50012ff5c1bdd9b23ad0f3636347618cf01c04e1c546172dbe1031b507b597fb25 SHA512 dcb9d460b9f2fde1a2614dd202c25329bea5870846d0431af21659ab4fef2ea1671beea73c8f61bffb224984a39eb0b69bac12244426f940d9bc6a82202393c9
diff --git a/dev-python/jupyter-server-terminals/jupyter-server-terminals-0.4.4.ebuild b/dev-python/jupyter-server-terminals/jupyter-server-terminals-0.4.4.ebuild
deleted file mode 100644
index 00a0c9f51739..000000000000
--- a/dev-python/jupyter-server-terminals/jupyter-server-terminals-0.4.4.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 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="A Jupyter Server Extension Providing Terminals"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter-server/jupyter_server_terminals/
- https://pypi.org/project/jupyter-server-terminals/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/terminado[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/jupyter-server[${PYTHON_USEDEP}]
- dev-python/pytest-jupyter[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # Fails if shell is not bash
- tests/test_terminal.py::test_terminal_create_with_cwd
- tests/test_terminal.py::test_terminal_create_with_relative_cwd
-)
-
-distutils_enable_tests pytest
-
-python_install_all() {
- distutils-r1_python_install_all
- mv "${ED}/usr/etc" "${ED}/etc" || die
-}
diff --git a/dev-python/jupyter-server-terminals/jupyter-server-terminals-0.5.3.ebuild b/dev-python/jupyter-server-terminals/jupyter-server-terminals-0.5.3.ebuild
new file mode 100644
index 000000000000..303dd9d52756
--- /dev/null
+++ b/dev-python/jupyter-server-terminals/jupyter-server-terminals-0.5.3.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=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Jupyter Server Extension Providing Terminals"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter-server/jupyter_server_terminals/
+ https://pypi.org/project/jupyter-server-terminals/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/terminado[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/jupyter-server[${PYTHON_USEDEP}]
+ dev-python/pytest-jupyter[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # Fails if shell is not bash
+ tests/test_terminal.py::test_terminal_create_with_cwd
+ tests/test_terminal.py::test_terminal_create_with_relative_cwd
+)
+
+distutils_enable_tests pytest
+
+python_install_all() {
+ distutils-r1_python_install_all
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
diff --git a/dev-python/jupyter-server-ydoc/Manifest b/dev-python/jupyter-server-ydoc/Manifest
deleted file mode 100644
index 098e5d9e9b7b..000000000000
--- a/dev-python/jupyter-server-ydoc/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST jupyter_server_ydoc-0.8.0.tar.gz 25769 BLAKE2B 72f9082b4c459474910e795ab94da0482f073923f89610a1ecea2663ecc94adec3979bd353bba45388a31ca1bf5918e061a7b660f37cefa34a4e09217c2e9443 SHA512 a09b099257943e30187c9b66d53a922b4b197f62af648d7177abca2c60f0538f4ef8a6dc330b2019f79848b0c8bd93645b8cf9eb657334282f4317cee93ab571
diff --git a/dev-python/jupyter-server-ydoc/jupyter-server-ydoc-0.8.0.ebuild b/dev-python/jupyter-server-ydoc/jupyter-server-ydoc-0.8.0.ebuild
deleted file mode 100644
index f46dfaf11d98..000000000000
--- a/dev-python/jupyter-server-ydoc/jupyter-server-ydoc-0.8.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A Jupyter Server Extension Providing Y Documents"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter-server/jupyter_server_ydoc/
- https://pypi.org/project/jupyter-server-ydoc/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/jupyter-ydoc[${PYTHON_USEDEP}]
- dev-python/ypy-websocket[${PYTHON_USEDEP}]
- dev-python/jupyter-server-fileid[${PYTHON_USEDEP}]
-
-"
-BDEPEND="
- test? (
- dev-python/pytest-jupyter[${PYTHON_USEDEP}]
- dev-python/pytest-tornasync[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- distutils-r1_python_install_all
- mv "${ED}/usr/etc" "${ED}/etc" || die
-}
diff --git a/dev-python/jupyter-server-ydoc/metadata.xml b/dev-python/jupyter-server-ydoc/metadata.xml
deleted file mode 100644
index a18bea1761f5..000000000000
--- a/dev-python/jupyter-server-ydoc/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">jupyter-server-ydoc</remote-id>
- <remote-id type="github">jupyter-server/jupyter_server_ydoc</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/jupyter-server/Manifest b/dev-python/jupyter-server/Manifest
index dbbf00c083a9..3f3470dac17e 100644
--- a/dev-python/jupyter-server/Manifest
+++ b/dev-python/jupyter-server/Manifest
@@ -1,4 +1,2 @@
-DIST jupyter_server-2.10.1.tar.gz 709933 BLAKE2B dd05748eb9e4a1af7adeb8a023c9e1336483f48d32e100f0e8dc8d80bf94afe1fb57343f168828a5856cfa0ccd0f4ffeaa6c0da50e6c98d5ed1f254a87878803 SHA512 15a65df22aa7908d3dd6d694306250e71ddc31b1e66969986ed59d9ed517c28ed474c530916b1de7eab25677f9cec29318798b0b7368c4b37ca92a1adbdfbc8d
-DIST jupyter_server-2.11.0.tar.gz 710596 BLAKE2B 61a4d4b23df22625ed0adb5c783e16ee6fe4ee46ffccfd74f0ddf4324056a18c001e4cd1369ee023357cceb6ac73fce6e1cec61d3b6bac7dae2b023806ac59f8 SHA512 fbcc6964ce31cf5285201a91d5a53157bd7feb9c405a8bc6abb64f4373478fbc59de9a8c1e69c27962f04426cd8ef31c2360c549eed4b90fe4d317a4104ed43b
-DIST jupyter_server-2.11.1.tar.gz 712608 BLAKE2B 5d33f55d82bca6cb6680f2a44394c6588836e4d63ccfa9b9765582b41f46958e5ffa8949737089b2b3f9673a19c342fd64d9dd962cbecd47cc2ef697c91916c3 SHA512 42822a68efae6385dfd60bc9061310b7d0d38693e6af4a0e8e87b12f0bbc9d88196d1c61e0ee43da5e5fb15033a2de993f27a816bd57f3560ee798893dce90ae
-DIST jupyter_server-2.9.1.tar.gz 709013 BLAKE2B dee0de771bb8488cccaecb49e2b4a2003f2530243013cafa7f170384380423a7c190504baabf458c59ffece28c4f60662c0530f55535dae25699be269f159743 SHA512 148c3eaa4b6ca1147961c1188e0016a634e5adae350e762903bdde000acde7ab62507e71dbe1278c2b9358ce2cf1c28c17ea8b184f3d4a2d59277910b5b44965
+DIST jupyter_server-2.14.1.tar.gz 719107 BLAKE2B 2b38fbc709346bdb8c2734dd5f22cf958f0555660af0df23b08b6af8b3dee9130daa0538b7e78c5a0c63d66511a973babbb544c638d1aed267368ebba7d10c36 SHA512 1770fe0fc34c164952a74b75bf765fc737ab59cc52c04f61c0a28d5f6c747587ddee4c6cd3dcb90e2ccb72029d0f52de321569ed7a55bddbad50326e728b53fd
+DIST jupyter_server-2.14.2.tar.gz 719933 BLAKE2B 2d8a8a283b394ceaabde14b2a997fc71d7dccc80a284ef7770d948634e48c8689c8393c77992d685abd7d8766b8608cfd279a47b5cc9569b6f6c98d416f284c8 SHA512 ea8fbf93c1bafcdb77c95cc65e2e7c6e9d010add7fb8b2b1d4538f415c4b39a89cf18a58795da05dd41a838fc1057fadde3f68d9bc73d532aec76ae5cab357a7
diff --git a/dev-python/jupyter-server/files/jupyter-server-2.0.1-skip-npm.patch b/dev-python/jupyter-server/files/jupyter-server-2.0.1-skip-npm.patch
deleted file mode 100644
index f7b484e020b6..000000000000
--- a/dev-python/jupyter-server/files/jupyter-server-2.0.1-skip-npm.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-diff --git a/pyproject.toml b/pyproject.toml
-index a23f5e1..203f47f 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -140,17 +140,6 @@ validate-bump = false
- [tool.hatch.build]
- artifacts = ["jupyter_server/static/style"]
-
--[tool.hatch.build.hooks.jupyter-builder]
--dependencies = ["hatch-jupyter-builder>=0.8.1"]
--build-function = "hatch_jupyter_builder.npm_builder"
--ensured-targets = [
-- "jupyter_server/static/style/bootstrap.min.css",
-- "jupyter_server/static/style/bootstrap-theme.min.css"
--]
--skip-if-exists = ["jupyter_server/static/style/bootstrap.min.css"]
--install-pre-commit-hook = true
--optional-editable-build = true
--
- [tool.black]
- line-length = 100
- target-version = ["py38"]
diff --git a/dev-python/jupyter-server/jupyter-server-2.10.1.ebuild b/dev-python/jupyter-server/jupyter-server-2.10.1.ebuild
deleted file mode 100644
index 34f922c29397..000000000000
--- a/dev-python/jupyter-server/jupyter-server-2.10.1.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2023 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 ~ppc64 ~riscv ~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[${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
-}
diff --git a/dev-python/jupyter-server/jupyter-server-2.11.0.ebuild b/dev-python/jupyter-server/jupyter-server-2.11.0.ebuild
deleted file mode 100644
index 8a318a5326c5..000000000000
--- a/dev-python/jupyter-server/jupyter-server-2.11.0.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2023 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 ~ppc64 ~riscv ~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[${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
-}
diff --git a/dev-python/jupyter-server/jupyter-server-2.11.1.ebuild b/dev-python/jupyter-server/jupyter-server-2.11.1.ebuild
deleted file mode 100644
index 8a318a5326c5..000000000000
--- a/dev-python/jupyter-server/jupyter-server-2.11.1.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2023 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 ~ppc64 ~riscv ~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[${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
-}
diff --git a/dev-python/jupyter-server/jupyter-server-2.14.1.ebuild b/dev-python/jupyter-server/jupyter-server-2.14.1.ebuild
new file mode 100644
index 000000000000..d9c36c44ae83
--- /dev/null
+++ b/dev-python/jupyter-server/jupyter-server-2.14.1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+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-21.1[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.3[${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-0.4.4[${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-5.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-22.0[${PYTHON_USEDEP}]
+ >=dev-python/prometheus-client-0.9[${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-1.7[${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/jupyter-server/jupyter-server-2.14.2.ebuild b/dev-python/jupyter-server/jupyter-server-2.14.2.ebuild
new file mode 100644
index 000000000000..f3b40005cedc
--- /dev/null
+++ b/dev-python/jupyter-server/jupyter-server-2.14.2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+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-21.1[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.3[${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-0.4.4[${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-5.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-22.0[${PYTHON_USEDEP}]
+ >=dev-python/prometheus-client-0.9[${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-1.7[${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/jupyter-server/jupyter-server-2.9.1.ebuild b/dev-python/jupyter-server/jupyter-server-2.9.1.ebuild
deleted file mode 100644
index a4b2697224da..000000000000
--- a/dev-python/jupyter-server/jupyter-server-2.9.1.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( 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.6.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="
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
- dev-python/pytest-jupyter[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pytest-tornasync[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-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
-)
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.0.1-skip-npm.patch"
-)
-
-python_test() {
- # 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
-}
diff --git a/dev-python/jupyter-ydoc/Manifest b/dev-python/jupyter-ydoc/Manifest
deleted file mode 100644
index 4eb404d3ef72..000000000000
--- a/dev-python/jupyter-ydoc/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST jupyter_ydoc-1.0.2.gh.tar.gz 983893 BLAKE2B 2066efe6a48bae692be978c12c879e211f62f5e6544832ab6f8c96077a45362acef1857f575f87a67730cd3bb35d3805022a402881d6919fce45464d7fdcb83e SHA512 895fc7e96f3ec9aa4451763cbeb77e4e389c8193098329c1b97ff3dab13bcf8beb2a5c5300cebe5a8d574ffdccbc1526e591b1230421fd58f276aedc4e83927c
diff --git a/dev-python/jupyter-ydoc/files/jupyter-ydoc-1.0.2-no-node-for-version.patch b/dev-python/jupyter-ydoc/files/jupyter-ydoc-1.0.2-no-node-for-version.patch
deleted file mode 100644
index bfd138ce0d66..000000000000
--- a/dev-python/jupyter-ydoc/files/jupyter-ydoc-1.0.2-no-node-for-version.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-diff --git a/pyproject.toml b/pyproject.toml
-index 6e0a069..42f76c1 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -2,12 +2,12 @@
- # Distributed under the terms of the Modified BSD License.
-
- [build-system]
--requires = ["hatchling>=1.10.0", "hatch-nodejs-version"]
-+requires = ["hatchling>=1.10.0"]
- build-backend = "hatchling.build"
-
- [project]
- name = "jupyter-ydoc"
--dynamic = ["version"]
-+version = "1.0.2"
- description = "Document structures for collaborative editing using Ypy"
- requires-python = ">=3.7"
- keywords = ["jupyter", "ypy"]
-@@ -56,10 +56,6 @@ text = "BSD 3-Clause License"
- Homepage = "https://jupyter.org"
- Source = "https://github.com/jupyter-server/jupyter_ydoc"
-
--[tool.hatch.version]
--source = "nodejs"
--path = "javascript/package.json"
--
- [tool.hatch.build]
- exclude = ["javascript", "!javascript/package.json"]
-
diff --git a/dev-python/jupyter-ydoc/jupyter-ydoc-1.0.2.ebuild b/dev-python/jupyter-ydoc/jupyter-ydoc-1.0.2.ebuild
deleted file mode 100644
index 91c65f7bf3af..000000000000
--- a/dev-python/jupyter-ydoc/jupyter-ydoc-1.0.2.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-MY_P=${PN/-/_}-${PV}
-DESCRIPTION="Document structures for collaborative editing using Ypy"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter-server/jupyter_ydoc/
- https://pypi.org/project/jupyter-ydoc/
-"
-SRC_URI="
- https://github.com/jupyter-server/jupyter_ydoc/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-# Requires node
-RESTRICT="test"
-
-RDEPEND="
- >=dev-python/y-py-0.6.0[${PYTHON_USEDEP}]
- <dev-python/y-py-0.7.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- >=dev-python/websockets-10.0[${PYTHON_USEDEP}]
- <dev-python/ypy-websocket-0.9.0[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-no-node-for-version.patch"
-)
-
-distutils_enable_tests pytest
-# Hangs for some reason
-#distutils_enable_sphinx docs/source dev-python/myst-parser dev-python/pydata-sphinx-theme
diff --git a/dev-python/jupyter-ydoc/metadata.xml b/dev-python/jupyter-ydoc/metadata.xml
deleted file mode 100644
index a7e33c55e1cf..000000000000
--- a/dev-python/jupyter-ydoc/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">jupyter-ydoc</remote-id>
- <remote-id type="github">jupyter-server/jupyter_ydoc</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/jupyter/jupyter-1.0.0-r4.ebuild b/dev-python/jupyter/jupyter-1.0.0-r4.ebuild
index 7d40d7733b05..8262bd0d987e 100644
--- a/dev-python/jupyter/jupyter-1.0.0-r4.ebuild
+++ b/dev-python/jupyter/jupyter-1.0.0-r4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,7 +17,7 @@ SRC_URI+="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
+KEYWORDS="amd64 ~arm64 ~riscv x86"
RDEPEND="
dev-python/notebook[${PYTHON_USEDEP}]
diff --git a/dev-python/jupyterlab-lsp/Manifest b/dev-python/jupyterlab-lsp/Manifest
index ec7ed5ec374d..430554111965 100644
--- a/dev-python/jupyterlab-lsp/Manifest
+++ b/dev-python/jupyterlab-lsp/Manifest
@@ -1,2 +1,2 @@
-DIST jupyterlab-lsp-5.0.0.tar.gz 753429 BLAKE2B bd9fac94edea990943ce839c773270f14a5afd646b312c3c6888a0230c2846968388862c01c4954830d85c3eebcd6699aed79cc7861e4fb8d19d576cf0ba938b SHA512 a6e586cf19707a6aec91f495fbb437ce2aaa6b827964c06d4479d056b0a8eca525c46a3e3e8c7891e0f486cde9b63416a80188c623f71948e4b1658a751d98b1
-DIST jupyterlab-lsp-5.0.1.tar.gz 755832 BLAKE2B d8082aaf9c1219fedeebd6a717b81f08a7bba2a8618dc99b2ecf9a6d28c4e6cbf34b711c4fae4a847675ea05d2dc7acd0c812a772e9d51f37f563d088398c088 SHA512 7fef1ab7309978aa9185afdc895a7adefc72210842228d055150b231b70980e772abf166762820971f653cf0f5abd65e9bdfe3a206c4aed99b4586fec684399e
+DIST jupyterlab-lsp-5.0.3.tar.gz 757263 BLAKE2B df2a3a1a1cb0a9a9345f151ae5c510056ca26868353d457b7aa4b6405041f0b4e55afba09019722a1f37592b46b1a8e53b40c8f595215f74cea29a598b029648 SHA512 20d5a3e33fbab8b5e47a10f23b12cf7e91ca5d4ac9020345e3cc973a391643cd380ff182f1109a387a7ebcced6becd1b7847a888829cb30be1f4ed536177575f
+DIST jupyterlab-lsp-5.1.0.tar.gz 760295 BLAKE2B 08113210cdafe14e4dacccc1916ab58eb455064d4869ba82f87d3c2ef92d696152058f45eee092653db869d44344a1de8784bea0cc9d27d7888bf0c3d6dcae5f SHA512 c06e88803af956c00b91aac70c2421fade39d29b8e20ac5a77ac7dff9767160b1d79ef5b2aff270a126442675790f1286ad73b947af72218d8a668117b647f29
diff --git a/dev-python/jupyterlab-lsp/jupyterlab-lsp-5.0.0.ebuild b/dev-python/jupyterlab-lsp/jupyterlab-lsp-5.0.0.ebuild
deleted file mode 100644
index 41562289e7f4..000000000000
--- a/dev-python/jupyterlab-lsp/jupyterlab-lsp-5.0.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Coding assistance for JupyterLab with Language Server Protocol"
-HOMEPAGE="
- https://github.com/jupyter-lsp/jupyterlab-lsp/
- https://pypi.org/project/jupyterlab-lsp/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/jupyterlab-4.0.0[${PYTHON_USEDEP}]
- <dev-python/jupyterlab-5.0.0[${PYTHON_USEDEP}]
- >=dev-python/jupyter-lsp-2.0.0[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/jupyterlab-lsp/jupyterlab-lsp-5.0.1.ebuild b/dev-python/jupyterlab-lsp/jupyterlab-lsp-5.0.1.ebuild
deleted file mode 100644
index 41562289e7f4..000000000000
--- a/dev-python/jupyterlab-lsp/jupyterlab-lsp-5.0.1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Coding assistance for JupyterLab with Language Server Protocol"
-HOMEPAGE="
- https://github.com/jupyter-lsp/jupyterlab-lsp/
- https://pypi.org/project/jupyterlab-lsp/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/jupyterlab-4.0.0[${PYTHON_USEDEP}]
- <dev-python/jupyterlab-5.0.0[${PYTHON_USEDEP}]
- >=dev-python/jupyter-lsp-2.0.0[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/jupyterlab-lsp/jupyterlab-lsp-5.0.3.ebuild b/dev-python/jupyterlab-lsp/jupyterlab-lsp-5.0.3.ebuild
new file mode 100644
index 000000000000..d87eafa065c7
--- /dev/null
+++ b/dev-python/jupyterlab-lsp/jupyterlab-lsp-5.0.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Coding assistance for JupyterLab with Language Server Protocol"
+HOMEPAGE="
+ https://github.com/jupyter-lsp/jupyterlab-lsp/
+ https://pypi.org/project/jupyterlab-lsp/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/jupyterlab-4.0.0[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-lsp-2.0.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/jupyterlab-lsp/jupyterlab-lsp-5.1.0.ebuild b/dev-python/jupyterlab-lsp/jupyterlab-lsp-5.1.0.ebuild
new file mode 100644
index 000000000000..3f5f03ffb226
--- /dev/null
+++ b/dev-python/jupyterlab-lsp/jupyterlab-lsp-5.1.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Coding assistance for JupyterLab with Language Server Protocol"
+HOMEPAGE="
+ https://github.com/jupyter-lsp/jupyterlab-lsp/
+ https://pypi.org/project/jupyterlab-lsp/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/jupyterlab-4.1.0[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-5.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-lsp-2.0.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/jupyterlab-pygments/Manifest b/dev-python/jupyterlab-pygments/Manifest
index 6dc1da3ee40a..4d69ae3113ef 100644
--- a/dev-python/jupyterlab-pygments/Manifest
+++ b/dev-python/jupyterlab-pygments/Manifest
@@ -1,2 +1 @@
-DIST jupyterlab_pygments-0.2.2.tar.gz 132378 BLAKE2B a9db4c3bfea9e8e6f357c90e9b1861cf2bcb796fe5d7ea9a0f02677773b18dd5a02966d8555cd17e8314b283056ac9423948077d6cdc127985f34a5faf892ec1 SHA512 59d328522b11ecae6ae67ef8f9eb7168b0e4241cc6a68765096bf0ad26a20489f302179d50e7e46efd5b9de711520e2c67ab1e634cc583416277a98a5f663daa
DIST jupyterlab_pygments-0.3.0-py3-none-any.whl 15884 BLAKE2B 09c7190853999513a326464de056e8aa5e0bbe02713c42a4e3dc05f67153891fef78388799465293d40b4069c2d9d1b45eaea5c1a92b10e069e4bf88308247b3 SHA512 12132631d0e35c9698c60370277325ffaaeb967314c8c4cf820045b0f6138e860682699381fce4a37402ecf0854bac344c4be22d15c1d543bebdbb4cf8f43d9b
diff --git a/dev-python/jupyterlab-pygments/jupyterlab-pygments-0.2.2.ebuild b/dev-python/jupyterlab-pygments/jupyterlab-pygments-0.2.2.ebuild
deleted file mode 100644
index 11cd4ace6802..000000000000
--- a/dev-python/jupyterlab-pygments/jupyterlab-pygments-0.2.2.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=jupyter
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Pygments theme making use of JupyterLab CSS variables"
-HOMEPAGE="
- https://pypi.org/project/jupyterlab-pygments/
- https://github.com/jupyterlab/jupyterlab_pygments/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/pygments[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/jupyterlab-pygments/jupyterlab-pygments-0.3.0.ebuild b/dev-python/jupyterlab-pygments/jupyterlab-pygments-0.3.0.ebuild
index 011c3409a41f..0d4e2c1f745a 100644
--- a/dev-python/jupyterlab-pygments/jupyterlab-pygments-0.3.0.ebuild
+++ b/dev-python/jupyterlab-pygments/jupyterlab-pygments-0.3.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -18,12 +18,18 @@ S=${WORKDIR}
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
dev-python/pygments[${PYTHON_USEDEP}]
"
+src_unpack() {
+ if [[ ${PKGBUMPING} == ${PVR} ]]; then
+ unzip "${DISTDIR}/${A}" || die
+ fi
+}
+
python_compile() {
distutils_wheel_install "${BUILD_DIR}/install" \
"${DISTDIR}/$(pypi_wheel_name)"
diff --git a/dev-python/jupyterlab-server/Manifest b/dev-python/jupyterlab-server/Manifest
index ae0ef217cb91..f80976699e63 100644
--- a/dev-python/jupyterlab-server/Manifest
+++ b/dev-python/jupyterlab-server/Manifest
@@ -1,2 +1,2 @@
-DIST jupyterlab_server-2.25.1.tar.gz 73845 BLAKE2B a2eb8ac0d6ffe76cf8e2bc2464c9466ed098acb03ad8fd50bfcf87b461366d0a877d3e3311382c1c1f0e4046a42b8adb58ffd21ef5a58611115e5a5986f20316 SHA512 179c3fc0f09c2456b5be8ae2d35e809df63766dd3e5b740eb9e9d5630152aa8bef6f1ad08602e0bda5860cdad0d681d771cd22eac4ea8b6fc07ad8609e83e810
-DIST jupyterlab_server-2.25.2.tar.gz 74028 BLAKE2B 6dffdea7c002fee946a8af728592ea2404f4568bdfaae1727da5c3725edb284a7ad8594efdf71a4671249a4164878288bcb4aa588a59f45fa83fbda0656db89b SHA512 6270505170e7586fae8c4f7fcabaed6e2ef2068ec35bc5eb630e1b5177aab24d8e8be4755ad6dd3f97c5e3a1aa6c770f554efe92a2db5a5bfe99bf420e2b5a34
+DIST jupyterlab_server-2.27.2.tar.gz 75817 BLAKE2B fff1e7e274d500c8a0dc9c7c7edd6630c9587b758ad40184917e9bf3d32ba95d0e4b3b8ea5b47a359100e09779f846f97bf197d0094d148c8431c9fc8c839329 SHA512 621e1d4816301fc7c9276b5c2a2448803f79c43775cd9559399a38c9c24020ccaa2adf680cf769f769f87dbcc185bc28753c9f5130e08429b9866f32ce32dc8c
+DIST jupyterlab_server-2.27.3.tar.gz 76173 BLAKE2B 628947c066f432148e52726439743379f36c78da29d0b7596402f3ea619bc8c03a36017c130cf4700c1659a6e2ba25c28b02aaf529fc071291252dbbee3615fc SHA512 b4d2e91da8c92896958bb2adcb844d8a48f1b8df1ab8c3ff81511d0f3488c27f70f67c9f8731181fbc27836652e805efa869123ccb4d59d1098cd283a4fbcd10
diff --git a/dev-python/jupyterlab-server/jupyterlab-server-2.25.1.ebuild b/dev-python/jupyterlab-server/jupyterlab-server-2.25.1.ebuild
deleted file mode 100644
index badcc2aee93b..000000000000
--- a/dev-python/jupyterlab-server/jupyterlab-server-2.25.1.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Server components for JupyterLab and JupyterLab like applications"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyterlab/jupyterlab_server/
- https://pypi.org/project/jupyterlab-server/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/Babel-2.10[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
- >=dev-python/json5-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-4.18.0[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- >=dev-python/requests-2.31[${PYTHON_USEDEP}]
- >=dev-python/jupyter-server-1.21[${PYTHON_USEDEP}]
- <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/jupyter-server[${PYTHON_USEDEP}]
- <dev-python/openapi-core-0.19[${PYTHON_USEDEP}]
- >=dev-python/openapi-core-0.18[${PYTHON_USEDEP}]
- <dev-python/openapi-spec-validator-0.8[${PYTHON_USEDEP}]
- >=dev-python/openapi-spec-validator-0.6[${PYTHON_USEDEP}]
- dev-python/pytest-jupyter[${PYTHON_USEDEP}]
- dev-python/pytest-tornasync[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- dev-python/strict-rfc3339[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-# TODO: package autodoc_traits
-#distutils_enable_sphinx docs/source dev-python/pydata-sphinx-theme dev-python/myst-parser
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/test_translation_api.py
- )
-
- EPYTEST_DESELECT=(
- # Fails if terminal not available
- tests/test_labapp.py::test_page_config
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_tornasync.plugin -p timeout
-}
diff --git a/dev-python/jupyterlab-server/jupyterlab-server-2.25.2.ebuild b/dev-python/jupyterlab-server/jupyterlab-server-2.25.2.ebuild
deleted file mode 100644
index e2e7854aad78..000000000000
--- a/dev-python/jupyterlab-server/jupyterlab-server-2.25.2.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2023 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="Server components for JupyterLab and JupyterLab like applications"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyterlab/jupyterlab_server/
- https://pypi.org/project/jupyterlab-server/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/Babel-2.10[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
- >=dev-python/json5-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-4.18.0[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- >=dev-python/requests-2.31[${PYTHON_USEDEP}]
- >=dev-python/jupyter-server-1.21[${PYTHON_USEDEP}]
- <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/jupyter-server[${PYTHON_USEDEP}]
- <dev-python/openapi-core-0.19[${PYTHON_USEDEP}]
- >=dev-python/openapi-core-0.18[${PYTHON_USEDEP}]
- <dev-python/openapi-spec-validator-0.8[${PYTHON_USEDEP}]
- >=dev-python/openapi-spec-validator-0.6[${PYTHON_USEDEP}]
- dev-python/pytest-jupyter[${PYTHON_USEDEP}]
- dev-python/pytest-tornasync[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- dev-python/strict-rfc3339[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-# TODO: package autodoc_traits
-#distutils_enable_sphinx docs/source dev-python/pydata-sphinx-theme dev-python/myst-parser
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/test_translation_api.py
- )
-
- EPYTEST_DESELECT=(
- # Fails if terminal not available
- tests/test_labapp.py::test_page_config
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_tornasync.plugin -p timeout
-}
diff --git a/dev-python/jupyterlab-server/jupyterlab-server-2.27.2.ebuild b/dev-python/jupyterlab-server/jupyterlab-server-2.27.2.ebuild
new file mode 100644
index 000000000000..7183b9ba07be
--- /dev/null
+++ b/dev-python/jupyterlab-server/jupyterlab-server-2.27.2.ebuild
@@ -0,0 +1,64 @@
+# 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="Server components for JupyterLab and JupyterLab like applications"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyterlab/jupyterlab_server/
+ https://pypi.org/project/jupyterlab-server/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/Babel-2.10[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
+ >=dev-python/json5-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.18.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.31[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-1.21[${PYTHON_USEDEP}]
+ <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/jupyter-server[${PYTHON_USEDEP}]
+ >=dev-python/openapi-core-0.18[${PYTHON_USEDEP}]
+ >=dev-python/openapi-spec-validator-0.6[${PYTHON_USEDEP}]
+ dev-python/pytest-jupyter[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ dev-python/strict-rfc3339[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+# TODO: package autodoc_traits
+#distutils_enable_sphinx docs/source dev-python/pydata-sphinx-theme dev-python/myst-parser
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/test_translation_api.py
+ )
+
+ EPYTEST_DESELECT=(
+ # Fails if terminal not available
+ tests/test_labapp.py::test_page_config
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_tornasync.plugin -p timeout
+}
diff --git a/dev-python/jupyterlab-server/jupyterlab-server-2.27.3.ebuild b/dev-python/jupyterlab-server/jupyterlab-server-2.27.3.ebuild
new file mode 100644
index 000000000000..0b24f00e45da
--- /dev/null
+++ b/dev-python/jupyterlab-server/jupyterlab-server-2.27.3.ebuild
@@ -0,0 +1,64 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Server components for JupyterLab and JupyterLab like applications"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyterlab/jupyterlab_server/
+ https://pypi.org/project/jupyterlab-server/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/Babel-2.10[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
+ >=dev-python/json5-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.18.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.31[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-1.21[${PYTHON_USEDEP}]
+ <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/jupyter-server[${PYTHON_USEDEP}]
+ >=dev-python/openapi-core-0.18[${PYTHON_USEDEP}]
+ >=dev-python/openapi-spec-validator-0.6[${PYTHON_USEDEP}]
+ dev-python/pytest-jupyter[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ dev-python/strict-rfc3339[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+# TODO: package autodoc_traits
+#distutils_enable_sphinx docs/source dev-python/pydata-sphinx-theme dev-python/myst-parser
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/test_translation_api.py
+ )
+
+ EPYTEST_DESELECT=(
+ # Fails if terminal not available
+ tests/test_labapp.py::test_page_config
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_tornasync.plugin -p timeout
+}
diff --git a/dev-python/jupyterlab-widgets/Manifest b/dev-python/jupyterlab-widgets/Manifest
new file mode 100644
index 000000000000..5c493a3b3e9a
--- /dev/null
+++ b/dev-python/jupyterlab-widgets/Manifest
@@ -0,0 +1 @@
+DIST jupyterlab_widgets-3.0.11.tar.gz 203538 BLAKE2B 8208afd3dc9e8dd36a6ab77ac20d935b53a8c200401e9e423ca154e87c50379cced5ff785dc625ead7f09aaffd9af5835151a853224abce6e7c84c6ce199259e SHA512 27e8fec4817d3e37e1976c30db21f914b11dc3bb1e0aa7c584c811b3f9a54422136c7702bd32f7494851d87108182a8a9fe11686d515f4da19ee2a8f7a930755
diff --git a/dev-python/jupyterlab-widgets/jupyterlab-widgets-3.0.11.ebuild b/dev-python/jupyterlab-widgets/jupyterlab-widgets-3.0.11.ebuild
new file mode 100644
index 000000000000..b67d02e57296
--- /dev/null
+++ b/dev-python/jupyterlab-widgets/jupyterlab-widgets-3.0.11.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=jupyter
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Jupyter interactive widgets for JupyterLab"
+HOMEPAGE="
+ https://ipython.org/
+ https://pypi.org/project/jupyterlab-widgets/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+BDEPEND="
+ dev-python/jupyter-packaging[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/jupyterlab-widgets/metadata.xml b/dev-python/jupyterlab-widgets/metadata.xml
new file mode 100644
index 000000000000..c648ebb8fde1
--- /dev/null
+++ b/dev-python/jupyterlab-widgets/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">jupyterlab-widgets</remote-id>
+ <remote-id type="github">jupyter-widgets/ipywidgets</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/jupyterlab/Manifest b/dev-python/jupyterlab/Manifest
index d9fe64fa94ab..2a4d23478f8a 100644
--- a/dev-python/jupyterlab/Manifest
+++ b/dev-python/jupyterlab/Manifest
@@ -1 +1,2 @@
-DIST jupyterlab-4.0.9.tar.gz 18347162 BLAKE2B b4a62088dd8b3b646af1ea02a57c915d659f31e716e6db27c076c945340a53c742cff49518e5b13ada32a9b00f83f143e5504ae897a7abf454a7c997f72e00e6 SHA512 c87451821afa28e7016acdcff315cc48578ea1735b74c2732ed2570c326901acc38fa333344e89ba1c15799ac6bf3f9332c67cdd0ce8ac38713e0be6973d1c1a
+DIST jupyterlab-4.2.3.tar.gz 21505072 BLAKE2B 8cc9aaed2fb848ecad6fb408968d66583ed69752cd8b5f62e19949b7aa5180d66950802649c137feddeab9e26f5ecb0394b7fdba751a4d784d00625d9b750fd3 SHA512 4ed3dd40ee43a05c8393531b87f568f3ffab43f20d1e8c8ad96c90bed4f67d6c83ab0a2664098cd5e39580427e03f4170eb4d91e9b8cc924b70f977db3cdc7de
+DIST jupyterlab-4.2.4.tar.gz 21506914 BLAKE2B b130f91807c96d57d01127a37dcac1589422ef36023e9b02a32ade9c2ceedf128fce49d1a11dfbb5836dd5f40a0828e32f625cb3d99eb0098785b5be6b56eeba SHA512 2327c7d7b63185c9e1a90acfcac4b31224835601ed8e0bb545077e0c68f6cbb612af884fef288b7e28245b83a035542590cbd721b0f9e44af27bb4aa8a00acab
diff --git a/dev-python/jupyterlab/jupyterlab-4.0.9.ebuild b/dev-python/jupyterlab/jupyterlab-4.0.9.ebuild
deleted file mode 100644
index 36d022d1e630..000000000000
--- a/dev-python/jupyterlab/jupyterlab-4.0.9.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2023 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 xdg
-
-DESCRIPTION="JupyterLab computational environment"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyterlab/jupyterlab/
- https://pypi.org/project/jupyterlab/
-"
-
-LICENSE="BSD MIT GPL-3 Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/async-lru[${PYTHON_USEDEP}]
- dev-python/ipykernel[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
- dev-python/jupyter-core[${PYTHON_USEDEP}]
- >=dev-python/jupyter-lsp-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/jupyter-server-2.4.0[${PYTHON_USEDEP}]
- <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
- >=dev-python/jupyterlab-server-2.19[${PYTHON_USEDEP}]
- <dev-python/jupyterlab-server-3[${PYTHON_USEDEP}]
- >=dev-python/notebook-shim-0.2[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.2[${PYTHON_USEDEP}]
- dev-python/traitlets[${PYTHON_USEDEP}]
- net-libs/nodejs
-"
-
-BDEPEND="
- dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
- >=dev-python/pytest-jupyter-0.5.3[${PYTHON_USEDEP}]
- dev-python/pytest-tornasync[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/requests-cache[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # These tests call npm and want internet
- jupyterlab/tests/test_jupyterlab.py::TestExtension::test_uninstall_core_extension
- jupyterlab/tests/test_jupyterlab.py::TestExtension::test_install_and_uninstall_pinned_folder
- jupyterlab/tests/test_jupyterlab.py::TestExtension::test_install_and_uninstall_pinned
- jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_custom_minimal_core_config
- jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_custom
- jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_check
- jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build
- jupyterlab/tests/test_build_api.py::TestBuildAPI::test_clear
- jupyterlab/tests/test_build_api.py::TestBuildAPI::test_build
-)
-
-EPYTEST_IGNORE=(
- jupyterlab/tests/test_announcements.py
-)
-
-distutils_enable_tests pytest
-# TODO: package sphinx_copybutton
-#distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme dev-python/myst-parser
-
-python_install_all() {
- distutils-r1_python_install_all
- mv "${ED}/usr/etc" "${ED}/etc" || die
-}
diff --git a/dev-python/jupyterlab/jupyterlab-4.2.3.ebuild b/dev-python/jupyterlab/jupyterlab-4.2.3.ebuild
new file mode 100644
index 000000000000..81ef015903dd
--- /dev/null
+++ b/dev-python/jupyterlab/jupyterlab-4.2.3.ebuild
@@ -0,0 +1,81 @@
+# 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 xdg
+
+DESCRIPTION="JupyterLab computational environment"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyterlab/jupyterlab/
+ https://pypi.org/project/jupyterlab/
+"
+
+LICENSE="BSD MIT GPL-3 Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/async-lru[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.25.0[${PYTHON_USEDEP}]
+ >=dev-python/ipykernel-6.5.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
+ dev-python/jupyter-core[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-lsp-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-2.4.0[${PYTHON_USEDEP}]
+ <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-server-2.27.1[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-server-3[${PYTHON_USEDEP}]
+ >=dev-python/notebook-shim-0.2[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-40.0.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}]
+ ' 3.10)
+ >=dev-python/tornado-6.2.0[${PYTHON_USEDEP}]
+ dev-python/traitlets[${PYTHON_USEDEP}]
+ net-libs/nodejs
+"
+
+BDEPEND="
+ dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
+ >=dev-python/pytest-jupyter-0.5.3[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-cache[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # These tests call npm and want internet
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_uninstall_core_extension
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_install_and_uninstall_pinned_folder
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_install_and_uninstall_pinned
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_custom_minimal_core_config
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_custom
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_check
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build
+ jupyterlab/tests/test_build_api.py::TestBuildAPI::test_clear
+ jupyterlab/tests/test_build_api.py::TestBuildAPI::test_build
+)
+
+EPYTEST_IGNORE=(
+ jupyterlab/tests/test_announcements.py
+)
+
+distutils_enable_tests pytest
+# TODO: package sphinx_copybutton
+#distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme dev-python/myst-parser
+
+python_install_all() {
+ distutils-r1_python_install_all
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
diff --git a/dev-python/jupyterlab/jupyterlab-4.2.4.ebuild b/dev-python/jupyterlab/jupyterlab-4.2.4.ebuild
new file mode 100644
index 000000000000..70f94aa414ed
--- /dev/null
+++ b/dev-python/jupyterlab/jupyterlab-4.2.4.ebuild
@@ -0,0 +1,81 @@
+# 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 xdg
+
+DESCRIPTION="JupyterLab computational environment"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyterlab/jupyterlab/
+ https://pypi.org/project/jupyterlab/
+"
+
+LICENSE="BSD MIT GPL-3 Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/async-lru[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.25.0[${PYTHON_USEDEP}]
+ >=dev-python/ipykernel-6.5.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.3[${PYTHON_USEDEP}]
+ dev-python/jupyter-core[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-lsp-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-2.4.0[${PYTHON_USEDEP}]
+ <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-server-2.27.1[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-server-3[${PYTHON_USEDEP}]
+ >=dev-python/notebook-shim-0.2[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-40.0.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}]
+ ' 3.10)
+ >=dev-python/tornado-6.2.0[${PYTHON_USEDEP}]
+ dev-python/traitlets[${PYTHON_USEDEP}]
+ net-libs/nodejs
+"
+
+BDEPEND="
+ dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
+ >=dev-python/pytest-jupyter-0.5.3[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-cache[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # These tests call npm and want internet
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_uninstall_core_extension
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_install_and_uninstall_pinned_folder
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_install_and_uninstall_pinned
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_custom_minimal_core_config
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_custom
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build_check
+ jupyterlab/tests/test_jupyterlab.py::TestExtension::test_build
+ jupyterlab/tests/test_build_api.py::TestBuildAPI::test_clear
+ jupyterlab/tests/test_build_api.py::TestBuildAPI::test_build
+)
+
+EPYTEST_IGNORE=(
+ jupyterlab/tests/test_announcements.py
+)
+
+distutils_enable_tests pytest
+# TODO: package sphinx_copybutton
+#distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme dev-python/myst-parser
+
+python_install_all() {
+ distutils-r1_python_install_all
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
diff --git a/dev-python/jwcrypto/Manifest b/dev-python/jwcrypto/Manifest
index 9c81f01d3e75..397258f89f39 100644
--- a/dev-python/jwcrypto/Manifest
+++ b/dev-python/jwcrypto/Manifest
@@ -1 +1 @@
-DIST jwcrypto-1.5.0.gh.tar.gz 95669 BLAKE2B c8a408e3bdd929a939562eeebe59b33eb422fdf3251b8572b362a08286975220810bf7b2d0d937ef4f20c76ff133b5246f810a3cb7fa7caf685ecd03729ba5e0 SHA512 92c8c735dffe3664e93ead9a5764139f188d349b78c45d09ea9ede68b271f19f4cd16418f9184df49f2f9def16864624edc3d08bda30fd73fbf3daa2b12157a4
+DIST jwcrypto-1.5.6.gh.tar.gz 97053 BLAKE2B 1955cd4289a8f73b29b3fccb73ae25133c5760949051598e03c262be047094e6d2caf9be928f2f32ee93720f28525e42abb5b7f3ee0efade3036a80332c65d98 SHA512 8a20ee05fc6e63fd30742872650511fa0b635a9545223eb5d25d8a11cc65a4c460ce9182b2f30caee99357e8b1f3f0ac08c2c3a6612bb4e7ee5238ef61398bb4
diff --git a/dev-python/jwcrypto/jwcrypto-1.5.0.ebuild b/dev-python/jwcrypto/jwcrypto-1.5.0.ebuild
deleted file mode 100644
index e54a6318a3d8..000000000000
--- a/dev-python/jwcrypto/jwcrypto-1.5.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Implements JWK,JWS,JWE specifications using python-cryptography"
-HOMEPAGE="
- https://github.com/latchset/jwcrypto/
- https://pypi.org/project/jwcrypto/
-"
-SRC_URI="
- https://github.com/latchset/jwcrypto/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/cryptography-3.4[${PYTHON_USEDEP}]
- dev-python/deprecated[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs/source
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Do not install doc in non-standard paths
- sed -e "/data_files/d" -i setup.py || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/jwcrypto/jwcrypto-1.5.6.ebuild b/dev-python/jwcrypto/jwcrypto-1.5.6.ebuild
new file mode 100644
index 000000000000..a0f75d972215
--- /dev/null
+++ b/dev-python/jwcrypto/jwcrypto-1.5.6.ebuild
@@ -0,0 +1,37 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Implements JWK,JWS,JWE specifications using python-cryptography"
+HOMEPAGE="
+ https://github.com/latchset/jwcrypto/
+ https://pypi.org/project/jwcrypto/
+"
+SRC_URI="
+ https://github.com/latchset/jwcrypto/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/cryptography-3.4[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs/source
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Do not install doc in non-standard paths
+ sed -e "/data_files/d" -i setup.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/k5test/Manifest b/dev-python/k5test/Manifest
index 6376de936aa0..15f289c04d2b 100644
--- a/dev-python/k5test/Manifest
+++ b/dev-python/k5test/Manifest
@@ -1 +1 @@
-DIST k5test-0.10.3.tar.gz 13580 BLAKE2B dd2775494de32b3eec92d387a2c907a82c4858c169f286152eb79ea16c5ad1e89b21df840a727df07e879583f6e3006687e339f876456be5628134fa2fdefea3 SHA512 8c07677fbed5189d4ef905d6b201470871eab96700318194527514e7d841a8ec2c28c4f5139dbb2d7fe9be0db4046656d0b3f69ace86c1bbbd3886096adb5792
+DIST k5test-0.10.4.tar.gz 13661 BLAKE2B ece8c900e595cf72bc499b795c564b77f70c656a4edba0060e6e307065b0152a8f7cb80cd00589cb3c2eb264aa01279d3c30510e5457d6f557cdd467e2cd2e7b SHA512 98d76e9df0a4afc0e6eada4909f9eb01b6fd96d53003bb0e8dcda01cd25ab3e338f917a00e985ec23b9fc8756ced6927f0578864c1c06a365e23268dd16d8401
diff --git a/dev-python/k5test/k5test-0.10.3.ebuild b/dev-python/k5test/k5test-0.10.3.ebuild
deleted file mode 100644
index ade2a8c31da1..000000000000
--- a/dev-python/k5test/k5test-0.10.3.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Library for testing Python applications in Kerberos 5 environments"
-HOMEPAGE="
- https://github.com/pythongssapi/k5test/
- https://pypi.org/project/k5test/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
diff --git a/dev-python/k5test/k5test-0.10.4.ebuild b/dev-python/k5test/k5test-0.10.4.ebuild
new file mode 100644
index 000000000000..0d6bd808011e
--- /dev/null
+++ b/dev-python/k5test/k5test-0.10.4.ebuild
@@ -0,0 +1,19 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Library for testing Python applications in Kerberos 5 environments"
+HOMEPAGE="
+ https://github.com/pythongssapi/k5test/
+ https://pypi.org/project/k5test/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
diff --git a/dev-python/kafka-python/Manifest b/dev-python/kafka-python/Manifest
deleted file mode 100644
index 036ad2744e38..000000000000
--- a/dev-python/kafka-python/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST kafka-python-2.0.2.gh.tar.gz 327238 BLAKE2B 9d8bdee1cedcc3c7c0bee9d900bb815552b29f50ec45b7db9d1052a26eb772c84d92648ccc0d498189fc44314f5c8c30529fa61cb983481f2e2480e009630f91 SHA512 e193a8fe5852d2134e854749115feba46a0b8ff748336989a27bf56acba1124dbb8a5d841670a67ee26eef030a686d931d03d329f978b2eef7904183e83d2594
diff --git a/dev-python/kafka-python/files/kafka-python-2.0.2-py311-test-fixes.patch b/dev-python/kafka-python/files/kafka-python-2.0.2-py311-test-fixes.patch
deleted file mode 100644
index 8b983952fd47..000000000000
--- a/dev-python/kafka-python/files/kafka-python-2.0.2-py311-test-fixes.patch
+++ /dev/null
@@ -1,26 +0,0 @@
-Fix tests for Py3.11
-
-Upstream-PR: https://github.com/dpkp/kafka-python/pull/2358
-
-diff --git a/test/test_assignors.py b/test/test_assignors.py
-index 67e91e131..a1214d8fa 100644
---- a/test/test_assignors.py
-+++ b/test/test_assignors.py
-@@ -661,7 +661,7 @@ def test_reassignment_with_random_subscriptions_and_changes(mocker, execution_nu
-
- subscriptions = defaultdict(set)
- for i in range(n_consumers):
-- topics_sample = sample(all_topics, randint(1, len(all_topics) - 1))
-+ topics_sample = sample(sorted(all_topics), randint(1, len(all_topics) - 1))
- subscriptions['C{}'.format(i)].update(topics_sample)
-
- member_metadata = make_member_metadata(subscriptions)
-@@ -671,7 +671,7 @@ def test_reassignment_with_random_subscriptions_and_changes(mocker, execution_nu
-
- subscriptions = defaultdict(set)
- for i in range(n_consumers):
-- topics_sample = sample(all_topics, randint(1, len(all_topics) - 1))
-+ topics_sample = sample(sorted(all_topics), randint(1, len(all_topics) - 1))
- subscriptions['C{}'.format(i)].update(topics_sample)
-
- member_metadata = {}
diff --git a/dev-python/kafka-python/kafka-python-2.0.2-r1.ebuild b/dev-python/kafka-python/kafka-python-2.0.2-r1.ebuild
deleted file mode 100644
index d0963154542f..000000000000
--- a/dev-python/kafka-python/kafka-python-2.0.2-r1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Kafka protocol support in Python"
-HOMEPAGE="
- https://github.com/dpkp/kafka-python/
- https://pypi.org/project/kafka-python/
-"
-SRC_URI="
- https://github.com/dpkp/kafka-python/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/xxhash[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/lz4[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/zstandard[${PYTHON_USEDEP}]
- dev-python/python-snappy[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-py311-test-fixes.patch"
-)
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Needs the unpackaged crc32c module
- "test/record/test_util.py::test_crc32c[None]"
- # Needs kafka server running
- test/test_consumer_integration.py::test_kafka_consumer_offsets_for_time_old
-)
-
-pkg_postinst() {
- optfeature "LZ4 compression/decompression support" dev-python/lz4
- optfeature "Snappy compression support" dev-python/python-snappy
- optfeature "ZSTD compression/decompression support" dev-python/zstandard
-}
diff --git a/dev-python/kafka-python/metadata.xml b/dev-python/kafka-python/metadata.xml
deleted file mode 100644
index 2b4d2f740461..000000000000
--- a/dev-python/kafka-python/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">dpkp/kafka-python</remote-id>
- <remote-id type="pypi">kafka-python</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/kaitaistruct/kaitaistruct-0.10.ebuild b/dev-python/kaitaistruct/kaitaistruct-0.10.ebuild
index d207860de9f6..d2186f5cfcf4 100644
--- a/dev-python/kaitaistruct/kaitaistruct-0.10.ebuild
+++ b/dev-python/kaitaistruct/kaitaistruct-0.10.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1 pypi
diff --git a/dev-python/kaitaistruct/metadata.xml b/dev-python/kaitaistruct/metadata.xml
index 03df5426a71b..956764ec6616 100644
--- a/dev-python/kaitaistruct/metadata.xml
+++ b/dev-python/kaitaistruct/metadata.xml
@@ -2,10 +2,7 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<stabilize-allarches/>
- <maintainer type="person">
- <email>matthew@gentoo.org</email>
- <name>Matthew Smith</name>
- </maintainer>
+ <!-- maintainer-needed -->
<longdescription lang="en">
Kaitai Struct is a declarative language used for
describe various binary data structures, laid out in
diff --git a/dev-python/kaptan/kaptan-0.6.0.ebuild b/dev-python/kaptan/kaptan-0.6.0.ebuild
index 4bd5dac5511c..44af3adea9fe 100644
--- a/dev-python/kaptan/kaptan-0.6.0.ebuild
+++ b/dev-python/kaptan/kaptan-0.6.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/kconfiglib/kconfiglib-14.1.0-r1.ebuild b/dev-python/kconfiglib/kconfiglib-14.1.0-r1.ebuild
index 2a7b13228389..8e0268162530 100644
--- a/dev-python/kconfiglib/kconfiglib-14.1.0-r1.ebuild
+++ b/dev-python/kconfiglib/kconfiglib-14.1.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
PYTHON_REQ_USE="ncurses"
inherit distutils-r1
diff --git a/dev-python/keep/metadata.xml b/dev-python/keep/metadata.xml
index c0085185fab3..63db9a734f72 100644
--- a/dev-python/keep/metadata.xml
+++ b/dev-python/keep/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>kensington@gentoo.org</email>
- <name>Michael Palimaka</name>
- </maintainer>
+ <!-- maintainer-needed -->
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">keep</remote-id>
diff --git a/dev-python/kerberos/kerberos-1.3.1-r2.ebuild b/dev-python/kerberos/kerberos-1.3.1-r2.ebuild
index 90f3f8fb914a..17004a9cc0ba 100644
--- a/dev-python/kerberos/kerberos-1.3.1-r2.ebuild
+++ b/dev-python/kerberos/kerberos-1.3.1-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
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -24,7 +24,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86"
# test environment is non-trivial to set up, so just use docker
# (see python_test below)
# also for alpha/beta Python releases support:
diff --git a/dev-python/keyring/Manifest b/dev-python/keyring/Manifest
index 4cb392d97f3c..e89f1ce3c0b2 100644
--- a/dev-python/keyring/Manifest
+++ b/dev-python/keyring/Manifest
@@ -1 +1,2 @@
-DIST keyring-24.3.0.tar.gz 59666 BLAKE2B 6f68a6057f25c4e9841e04f2977da0401f09e15c6aeb04d12440de054049af9ece867befdd9fd26acab27cf0a00f3eeba9b7989c74eae88f96411f53cf86e594 SHA512 22467924420cc8646ebb10e2aa851e734c0a2ba9a7298987eba0849dbcba0abd295705f3b80fb6975c24e07ec029c0e406213275fa209fe2ca3e5b0c114e1612
+DIST keyring-24.3.1.tar.gz 60454 BLAKE2B cb0a9b82163febbbd737f2f25353bf96cbb7b8a87c7db00523960b3fce5595c6af65bc02b7d070b0fa5a466fc53530975de8f7a44ab9a9f783d2db34b1a67901 SHA512 53f26763175c7f1de041d8805062696ef3ef6c79792cdc75ae72621da8e729ac4cbb6e76937db2a0a5ce4bc41ab92c164d62e4627f92edab8c0d0fc02ca4980e
+DIST keyring-25.2.1.tar.gz 60797 BLAKE2B 706eb0cb1cb5e7f22e603df3b2ab9c95421a389d5bec8034ac452d37e754564379d6133a195e7c7fcbb1f96a8f964e5de505a39dce1da72090daad01d144c213 SHA512 4512c79a1f0c05cd5d28919f55f19c142488d69d9bf7a27e9d7b3aace36535cf43a4522a4ea4b4738f21c82a6980932bd9d1c7ae62592242c333161e791cdb2e
diff --git a/dev-python/keyring/keyring-24.3.0.ebuild b/dev-python/keyring/keyring-24.3.0.ebuild
deleted file mode 100644
index 6e7bd6e64c34..000000000000
--- a/dev-python/keyring/keyring-24.3.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Provides access to the system keyring service"
-HOMEPAGE="
- https://github.com/jaraco/keyring/
- https://pypi.org/project/keyring/
-"
-
-SLOT="0"
-LICENSE="PSF-2"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/secretstorage-3.2[${PYTHON_USEDEP}]
- dev-python/jaraco-classes[${PYTHON_USEDEP}]
- >=dev-python/jeepney-0.4.2[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/importlib-metadata-4.11.4[${PYTHON_USEDEP}]
- ' 3.10 3.11)
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # this test fails if importlib-metadata returns more than one
- # entry, i.e. when keyring is installed already
- tests/test_packaging.py::test_entry_point
-)
-
-EPYTEST_IGNORE=(
- # apparently does not unlock the keyring properly
- tests/backends/test_libsecret.py
- # hangs
- tests/backends/test_kwallet.py
-)
diff --git a/dev-python/keyring/keyring-24.3.1.ebuild b/dev-python/keyring/keyring-24.3.1.ebuild
new file mode 100644
index 000000000000..dc123238abaa
--- /dev/null
+++ b/dev-python/keyring/keyring-24.3.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Provides access to the system keyring service"
+HOMEPAGE="
+ https://github.com/jaraco/keyring/
+ https://pypi.org/project/keyring/
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/secretstorage-3.2[${PYTHON_USEDEP}]
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+ >=dev-python/jeepney-0.4.2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib-metadata-4.11.4[${PYTHON_USEDEP}]
+ ' 3.10 3.11)
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # this test fails if importlib-metadata returns more than one
+ # entry, i.e. when keyring is installed already
+ tests/test_packaging.py::test_entry_point
+)
+
+EPYTEST_IGNORE=(
+ # apparently does not unlock the keyring properly
+ tests/backends/test_libsecret.py
+ # hangs
+ tests/backends/test_kwallet.py
+)
diff --git a/dev-python/keyring/keyring-25.2.1.ebuild b/dev-python/keyring/keyring-25.2.1.ebuild
new file mode 100644
index 000000000000..4a297476f86c
--- /dev/null
+++ b/dev-python/keyring/keyring-25.2.1.ebuild
@@ -0,0 +1,52 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Provides access to the system keyring service"
+HOMEPAGE="
+ https://github.com/jaraco/keyring/
+ https://pypi.org/project/keyring/
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/secretstorage-3.2[${PYTHON_USEDEP}]
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+ dev-python/jaraco-context[${PYTHON_USEDEP}]
+ dev-python/jaraco-functools[${PYTHON_USEDEP}]
+ >=dev-python/jeepney-0.4.2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/importlib-metadata-4.11.4[${PYTHON_USEDEP}]
+ ' 3.10 3.11)
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # this test fails if importlib-metadata returns more than one
+ # entry, i.e. when keyring is installed already
+ tests/test_packaging.py::test_entry_point
+ )
+ local EPYTEST_IGNORE=(
+ # apparently does not unlock the keyring properly
+ tests/backends/test_libsecret.py
+ # hangs
+ tests/backends/test_kwallet.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts=
+}
diff --git a/dev-python/keyrings-alt/Manifest b/dev-python/keyrings-alt/Manifest
index b331da519b49..f452ef154b85 100644
--- a/dev-python/keyrings-alt/Manifest
+++ b/dev-python/keyrings-alt/Manifest
@@ -1 +1,2 @@
DIST keyrings.alt-5.0.0.tar.gz 28346 BLAKE2B 10add32203dec361637bf723ddd12c0176a6999c8ebc7cda476ad174e54f0a770ceee81ed11aa325ba39b0813a45d9be21af12351f4bb3e98cca560507167423 SHA512 ba6171ffd9f5c549694f2d7bd27595efa0cbd4deae9561a5ff61114f15337f67923f6f3b003a611aa3342c49dd9c511946d28bbad492469bb393407dec81aa1d
+DIST keyrings.alt-5.0.1.tar.gz 28876 BLAKE2B 5d4ec5e5044de52c1bd197257b79fa49909b8f0ebfc604eaf672eccaf4f8fbe8aaa8bb0606bfd06bb7790141459d61e5a3d88ed1a9f8c95084fcd561f7986b12 SHA512 7fb082794f7d024fd61f64883ed325c84ea5b97a7fbeb33e7f83ad0139782610e4e611c79227b736fa7c7716a9c09154df403b4b3832b5867ad9a5d0f69da110
diff --git a/dev-python/keyrings-alt/keyrings-alt-5.0.1.ebuild b/dev-python/keyrings-alt/keyrings-alt-5.0.1.ebuild
new file mode 100644
index 000000000000..20d784b8a5e1
--- /dev/null
+++ b/dev-python/keyrings-alt/keyrings-alt-5.0.1.ebuild
@@ -0,0 +1,44 @@
+# 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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Alternate keyring implementations"
+HOMEPAGE="
+ https://github.com/jaraco/keyrings.alt/
+ https://pypi.org/project/keyrings.alt/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/jaraco-classes[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-3.4.1[${PYTHON_USEDEP}]
+ test? (
+ dev-python/keyring[${PYTHON_USEDEP}]
+ dev-python/pycryptodome[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # oldschool namespaces
+ rm keyrings/__init__.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ epytest -k 'not Cryptodome'
+}
diff --git a/dev-python/keystoneauth1/Manifest b/dev-python/keystoneauth1/Manifest
index d137c911bd60..e4af4b8d6fd5 100644
--- a/dev-python/keystoneauth1/Manifest
+++ b/dev-python/keystoneauth1/Manifest
@@ -1,2 +1 @@
-DIST keystoneauth1-5.3.0.tar.gz 274216 BLAKE2B 873a0bde2507b4b4b2bfc748d77b1c0b8be321c51cff0376020e84a63cebd030b118c90765302ce8cd51467f5c615a9b289480a1105f4d7a4a86e96fe44f7089 SHA512 91a9f9359926932a2e78a9164f8a1f2d08da306cc83f011f9a19535795b6a7faa3af0673665444532893325a2fe752f1d6a18e04b84ea1b3db8c9d1647b4f3cb
-DIST keystoneauth1-5.4.0.tar.gz 275020 BLAKE2B 10ef3799f4f3d06e966816cb6e6802511597e7371f96a75f31abfb2ad33832e90588b466fe0653ab0e7fb6728564e4b056bd208ee08184d7e44a6f230ac1b66f SHA512 874de3a0dded74ca96727b7c0149cdaddf2e3576632e76f84ca4d1810379f9db46ad4139317e36c5815d3340d18e12372bc1c942868c07e9f2800a53356142fc
+DIST keystoneauth1-5.7.0.tar.gz 275942 BLAKE2B 71e94ed879cb79b65ea19cb06718c10268979a4f271e04314b24db648eccf3b0003826e71942854360d3df7563c893ee73590a826337fe1c0aafb67245f58f2e SHA512 529a831b6ec51e780fae09d6368d32eabfc843d019a16101c66a6cf2b8ed6b246e1d9e8def5ed11154115b460e806f29a47cb419e1c72da43b7348480843255b
diff --git a/dev-python/keystoneauth1/keystoneauth1-5.3.0.ebuild b/dev-python/keystoneauth1/keystoneauth1-5.3.0.ebuild
deleted file mode 100644
index 0087295bf84e..000000000000
--- a/dev-python/keystoneauth1/keystoneauth1-5.3.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="This package contains tools for authenticating to an OpenStack-based cloud"
-HOMEPAGE="
- https://opendev.org/openstack/keystoneauth/
- https://github.com/openstack/keystoneauth/
- https://pypi.org/project/keystoneauth1/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
- >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
- >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
- >=dev-python/os-service-types-1.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/betamax-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/oauthlib-0.6.2[${PYTHON_USEDEP}]
- >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
- >=dev-python/requests-kerberos-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/testresources-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to test runner name
- keystoneauth1/tests/unit/test_session.py::SessionTests::test_user_agent
-)
-
-EPYTEST_IGNORE=(
- # require hacking
- keystoneauth1/tests/unit/test_hacking_checks.py
-)
diff --git a/dev-python/keystoneauth1/keystoneauth1-5.4.0.ebuild b/dev-python/keystoneauth1/keystoneauth1-5.4.0.ebuild
deleted file mode 100644
index 7a46f3199ebf..000000000000
--- a/dev-python/keystoneauth1/keystoneauth1-5.4.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="This package contains tools for authenticating to an OpenStack-based cloud"
-HOMEPAGE="
- https://opendev.org/openstack/keystoneauth/
- https://github.com/openstack/keystoneauth/
- https://pypi.org/project/keystoneauth1/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
- >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
- >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
- >=dev-python/os-service-types-1.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/betamax-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/oauthlib-0.6.2[${PYTHON_USEDEP}]
- >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
- >=dev-python/requests-kerberos-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/testresources-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to test runner name
- keystoneauth1/tests/unit/test_session.py::SessionTests::test_user_agent
-)
-
-EPYTEST_IGNORE=(
- # require hacking
- keystoneauth1/tests/unit/test_hacking_checks.py
-)
diff --git a/dev-python/keystoneauth1/keystoneauth1-5.7.0.ebuild b/dev-python/keystoneauth1/keystoneauth1-5.7.0.ebuild
new file mode 100644
index 000000000000..5957f0726301
--- /dev/null
+++ b/dev-python/keystoneauth1/keystoneauth1-5.7.0.ebuild
@@ -0,0 +1,60 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="This package contains tools for authenticating to an OpenStack-based cloud"
+HOMEPAGE="
+ https://opendev.org/openstack/keystoneauth/
+ https://github.com/openstack/keystoneauth/
+ https://pypi.org/project/keystoneauth1/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/os-service-types-1.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/betamax-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oauthlib-0.6.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
+ >=dev-python/requests-kerberos-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testresources-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # fragile to test runner name
+ keystoneauth1/tests/unit/test_session.py::SessionTests::test_user_agent
+ # broken betamax
+ keystoneauth1/tests/unit/test_betamax_fixture.py::TestBetamaxFixture::test_keystoneauth_betamax_fixture
+)
+
+EPYTEST_IGNORE=(
+ # require hacking
+ keystoneauth1/tests/unit/test_hacking_checks.py
+)
diff --git a/dev-python/keyutils/keyutils-0.6-r2.ebuild b/dev-python/keyutils/keyutils-0.6-r2.ebuild
index d8772811e093..b745cedffdc8 100644
--- a/dev-python/keyutils/keyutils-0.6-r2.ebuild
+++ b/dev-python/keyutils/keyutils-0.6-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/kgb/kgb-7.1.1.ebuild b/dev-python/kgb/kgb-7.1.1.ebuild
index 9167429c4851..c91e01ad0b6b 100644
--- a/dev-python/kgb/kgb-7.1.1.ebuild
+++ b/dev-python/kgb/kgb-7.1.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/kiwisolver/Manifest b/dev-python/kiwisolver/Manifest
index 8fc3163399dd..cead14b39286 100644
--- a/dev-python/kiwisolver/Manifest
+++ b/dev-python/kiwisolver/Manifest
@@ -1,2 +1 @@
-DIST kiwi-1.4.4.gh.tar.gz 91343 BLAKE2B a5e345509e7294eaf89e1361c035b3ef5d672d335682dbb426196d22876762b1f729cc728300f731a42afbfdf2828591f83cc53daf28e8d4c451a1b246b4800f SHA512 9a7ed487bb28f8c430543dc21ea59156078c129fd29b1382f1578368e72f312f4e813eb4501e4c9387647b42b085b93d4bd27d0e846f1396fa4ce68fd9e9ba5f
DIST kiwi-1.4.5.gh.tar.gz 91741 BLAKE2B cebdf8269b063d10f85a303cf5fa850f87c911aff9be37ae2b6762f021ea25b8b8cb3759e7e4292bc8c2fdbdf5d73ef6295263f541adb283969509cc11d8428a SHA512 889e106c27915cb773bc13969605812c1ca01a139e992d2b3517eb20989ae41392bfdcdd63184a7777b13eff5109d167869087ea09149b1527e56a3455213b14
diff --git a/dev-python/kiwisolver/files/kiwisolver-1.4.4-pypy3-tests.patch b/dev-python/kiwisolver/files/kiwisolver-1.4.4-pypy3-tests.patch
deleted file mode 100644
index 705855f02f61..000000000000
--- a/dev-python/kiwisolver/files/kiwisolver-1.4.4-pypy3-tests.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Patch provided upstream as https://github.com/nucleic/kiwi/pull/158
-from issue created at https://github.com/nucleic/kiwi/issues/157
-
-commit ad1c62f046dc14c1e85e4e1c1b8e175eda08838e
-Author: Jérôme Carretero <cJ-kiwisolver@zougloub.eu>
-Date: Fri Feb 17 18:40:45 2023 -0500
-
- py: tests: make tests run under PyPy
-
-diff --git a/py/tests/test_expression.py b/py/tests/test_expression.py
-index 671dd7f..6b5d8e5 100644
---- a/py/tests/test_expression.py
-+++ b/py/tests/test_expression.py
-@@ -8,6 +8,7 @@
- import gc
- import math
- import operator
-+import sys
- from typing import Tuple
-
- import pytest
-@@ -264,4 +265,7 @@ def test_expression_rich_compare_operations(op, symbol) -> None:
- else:
- with pytest.raises(TypeError) as excinfo:
- op(e1, e2)
-- assert "kiwisolver.Expression" in excinfo.exconly()
-+ if "PyPy" in sys.version:
-+ assert "Expression" in excinfo.exconly()
-+ else:
-+ assert "kiwisolver.Expression" in excinfo.exconly()
diff --git a/dev-python/kiwisolver/kiwisolver-1.4.4-r1.ebuild b/dev-python/kiwisolver/kiwisolver-1.4.4-r1.ebuild
deleted file mode 100644
index 96b90cf0ac22..000000000000
--- a/dev-python/kiwisolver/kiwisolver-1.4.4-r1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-MY_P=kiwi-${PV}
-DESCRIPTION="An efficient C++ implementation of the Cassowary constraint solving algorithm"
-HOMEPAGE="
- https://github.com/nucleic/kiwi/
- https://pypi.org/project/kiwisolver/
-"
-SRC_URI="
- https://github.com/nucleic/kiwi/archive/${PV}.tar.gz -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Clear-BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-COMMON_DEPEND="
- >=dev-python/cppy-1.2.0[${PYTHON_USEDEP}]
-"
-
-RDEPEND="
- ${COMMON_DEPEND}
-"
-BDEPEND="
- ${COMMON_DEPEND}
- >=dev-python/setuptools-scm-3.4.3[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.4.4-pypy3-tests.patch"
-)
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/kiwisolver/kiwisolver-1.4.5.ebuild b/dev-python/kiwisolver/kiwisolver-1.4.5.ebuild
index 67fbe0a49dde..bb2c79b2d431 100644
--- a/dev-python/kiwisolver/kiwisolver-1.4.5.ebuild
+++ b/dev-python/kiwisolver/kiwisolver-1.4.5.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
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -22,7 +22,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="Clear-BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
COMMON_DEPEND="
>=dev-python/cppy-1.2.0[${PYTHON_USEDEP}]
diff --git a/dev-python/klein/Manifest b/dev-python/klein/Manifest
index f3d4c7ef9d5a..0acad6869039 100644
--- a/dev-python/klein/Manifest
+++ b/dev-python/klein/Manifest
@@ -1 +1 @@
-DIST klein-23.5.0.tar.gz 100691 BLAKE2B 913f48d975ef94787da910f217e687046e6d60273aac455eecae89378742cb7533ff5ab0a8ad868d5b363f27af1d0ee68f3b17a16b51482b5e4c015e7a779b53 SHA512 10d7bb1a5aabc035aa69a0f9c25516ee9b6043f442b35b31f5687c249370e4674c4488a9531ff4bc06ea40574fd9a7974343899de3d5b3895f28a2feb70ae543
+DIST klein-23.12.0.tar.gz 103287 BLAKE2B ee6afe720a8cb68a28dd0dfc666de713c2188efbd92d31a669ac2db0c49afa3b61860bd2db216d0f846fb5d273105a18b8d443813c8e5d0e970ae9bece66e521 SHA512 2833d3b4ea53ccb62eccf72051b66867ca73c43dee0eb84aac9bd4ec4ba04b1b00acc5391863f0960eda2e5c329fc5b9537603997b9fa703750a3906febbbf72
diff --git a/dev-python/klein/klein-23.12.0.ebuild b/dev-python/klein/klein-23.12.0.ebuild
new file mode 100644
index 000000000000..72025544865e
--- /dev/null
+++ b/dev-python/klein/klein-23.12.0.ebuild
@@ -0,0 +1,41 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Micro-framework for developing production-ready web services with Python"
+HOMEPAGE="
+ https://pypi.org/project/klein/
+ https://github.com/twisted/klein/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~riscv"
+
+RDEPEND="
+ >=dev-python/attrs-20.1.0[${PYTHON_USEDEP}]
+ dev-python/hyperlink[${PYTHON_USEDEP}]
+ dev-python/incremental[${PYTHON_USEDEP}]
+ dev-python/tubes[${PYTHON_USEDEP}]
+ >=dev-python/twisted-16.6[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/treq[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/klein/klein-23.5.0.ebuild b/dev-python/klein/klein-23.5.0.ebuild
deleted file mode 100644
index 5894803fc2ec..000000000000
--- a/dev-python/klein/klein-23.5.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Micro-framework for developing production-ready web services with Python"
-HOMEPAGE="
- https://pypi.org/project/klein/
- https://github.com/twisted/klein/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-
-RDEPEND="
- >=dev-python/attrs-20.1.0[${PYTHON_USEDEP}]
- dev-python/hyperlink[${PYTHON_USEDEP}]
- dev-python/incremental[${PYTHON_USEDEP}]
- dev-python/tubes[${PYTHON_USEDEP}]
- >=dev-python/twisted-16.6[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/zope-interface[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/treq[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Failing hypothesis health checks... so upstream reinvented
- # hypothesis in trunk. This is too big to backport, and the package
- # is too awful to install from snapshot.
- src/klein/test/test_headers.py::{Frozen,Mutable}HTTPHeadersTests::test_getTextName{,BinaryValues}
- src/klein/test/test_headers_compat.py::HTTPHeadersWrappingHeadersTests::test_getTextName{,BinaryValues}
- src/klein/test/test_response.py::FrozenHTTPResponseTests::test_bodyAsBytesFrom{Bytes,Fount}{,Cached}
- src/klein/test/test_response.py::FrozenHTTPResponseTests::test_bodyAsFountFrom{Bytes,Fount}{,Twice}
-)
diff --git a/dev-python/klein/metadata.xml b/dev-python/klein/metadata.xml
index e577189c8d50..d0f1798d394d 100644
--- a/dev-python/klein/metadata.xml
+++ b/dev-python/klein/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>dolsen@gentoo.org</email>
- <name>Brian Dolbec</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/kombu/Manifest b/dev-python/kombu/Manifest
index f030fcd4b3f2..4a73fa39879a 100644
--- a/dev-python/kombu/Manifest
+++ b/dev-python/kombu/Manifest
@@ -1,3 +1 @@
-DIST kombu-5.3.2.tar.gz 431102 BLAKE2B d617868a851382055acb44313f928aa2f1458700c29ee008f6eb7226010537bfbda6b306907e4901db1e51300abee969d574842a65f049f50507376103dbc670 SHA512 2960b3a2c8ef067d2cd82c8930ff00ffa8ce17d40a3b73597d274a289dec4ea24a2f250b19f4f02198be8cb5da067b9b45b7d07f4b15632ef96e9919bab739ea
-DIST kombu-5.3.3.tar.gz 436079 BLAKE2B 4ebc4fa529ff232a871b3c0ec2c200c88186785eb7beaa2abb1ddd87f67b74708b7af10a38babac6bd29c465c5e89ac2ae7325216f1e68e50a02f6636b6d4e47 SHA512 9f34d9f57383b8791cf3c625562c273232d24a32aadb60a8fdac26c0c3afa968eeb1b9523dcb5f498360820828203e570fda4f98940521d753a93691ab16de44
-DIST kombu-5.3.4.tar.gz 437599 BLAKE2B 111f6e36fe7fd0715fd843f234c99144713ed73ad18d4100f1beedf7277ec4690788b115000c722bdd75081bffab0938879e799e2e5356f3a5b58c897222433b SHA512 5f0823a1295c4035076654723beb26c90cfd4708dcc72d09c4b72b4c84c295817e1bc95c6799557a0654b9cbae0f8ea421c340d5b914a5f75aa71de07f5388b4
+DIST kombu-5.3.7.tar.gz 439344 BLAKE2B 9443cb7d9d03ca7ed49b1e2c5a413e5d5633ccaf8cb2b8545b4bd0a7a7699f7fc773f735e6b26abf582502f1dbf11b088c612d749f09cab99950e145e8ee82e0 SHA512 48104d61a7c38a211ec378f90aade09d682a99d4f8b3d18b4bce49b51c80be794ab4b012d2974893fbc630a37c52dad10fb57f8335238b3002a64e025a148ee2
diff --git a/dev-python/kombu/files/kombu-5.3.7-py313.patch b/dev-python/kombu/files/kombu-5.3.7-py313.patch
new file mode 100644
index 000000000000..7a359db0e022
--- /dev/null
+++ b/dev-python/kombu/files/kombu-5.3.7-py313.patch
@@ -0,0 +1,28 @@
+From d26e891025f55ecbdc577fcbd4bc1f19c9e020d9 Mon Sep 17 00:00:00 2001
+From: Roman Inflianskas <rominf@pm.me>
+Date: Fri, 5 Jul 2024 21:44:58 +0300
+Subject: [PATCH] Add support for Python 3.13
+
+Fixes https://github.com/celery/kombu/issues/2051.
+---
+ .github/workflows/ci.yaml | 16 ++++++++++++++--
+ kombu/transport/redis.py | 2 +-
+ requirements/extras/confluentkafka.txt | 2 +-
+ requirements/extras/zstd.txt | 2 +-
+ t/unit/transport/test_redis.py | 15 ++++++++++-----
+ tox.ini | 18 ++++++++++--------
+ 6 files changed, 37 insertions(+), 18 deletions(-)
+
+diff --git a/kombu/transport/redis.py b/kombu/transport/redis.py
+index 515d6f7d7..29909dbe5 100644
+--- a/kombu/transport/redis.py
++++ b/kombu/transport/redis.py
+@@ -89,7 +89,7 @@
+
+
+ logger = get_logger('kombu.transport.redis')
+-crit, warn = logger.critical, logger.warn
++crit, warn = logger.critical, logger.warning
+
+ DEFAULT_PORT = 6379
+ DEFAULT_DB = 0
diff --git a/dev-python/kombu/kombu-5.3.2.ebuild b/dev-python/kombu/kombu-5.3.2.ebuild
deleted file mode 100644
index 317c0bea36ac..000000000000
--- a/dev-python/kombu/kombu-5.3.2.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="AMQP Messaging Framework for Python"
-HOMEPAGE="
- https://github.com/celery/kombu/
- https://pypi.org/project/kombu/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="examples"
-
-RDEPEND="
- >=dev-python/amqp-5.1.1[${PYTHON_USEDEP}]
- <dev-python/amqp-6.0.0[${PYTHON_USEDEP}]
- dev-python/vine[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- app-arch/brotli[python,${PYTHON_USEDEP}]
- >=dev-python/boto3-1.22.2[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- >=dev-python/msgpack-0.3.0[${PYTHON_USEDEP}]
- dev-python/pycurl[${PYTHON_USEDEP}]
- >=dev-python/pymongo-4.1.1[${PYTHON_USEDEP}]
- dev-python/pytest-freezegun[${PYTHON_USEDEP}]
- dev-python/zstandard[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
- >=dev-python/redis-4.2.2[${PYTHON_USEDEP}]
- dev-python/sqlalchemy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/sphinx-celery
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- t/unit/transport/test_redis.py::test_Channel::test_connparams_health_check_interval_supported
- )
- local EPYTEST_IGNORE=(
- # obsolete Pyro4
- t/unit/transport/test_pyro.py
- # unpackaged azure
- t/unit/transport/test_azurestoragequeues.py
- )
-
- epytest
-}
-
-python_install_all() {
- if use examples; then
- docompress -x "/usr/share/doc/${PF}/examples"
- docinto examples
- dodoc -r examples/.
- fi
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "Amazon SQS backend" "dev-python/boto3 dev-python/pycurl"
- optfeature "Etcd backend" dev-python/python-etcd
- optfeature "MongoDB backend" dev-python/pymongo
- optfeature "Redis backend" dev-python/redis
- optfeature "sqlalchemy backend" dev-python/sqlalchemy
- optfeature "yaml backend" dev-python/pyyaml
- optfeature "MessagePack (de)serializer for Python" dev-python/msgpack
- optfeature "brotli compression" "app-arch/brotli[python]"
- optfeature "zstd compression" dev-python/zstandard
-}
diff --git a/dev-python/kombu/kombu-5.3.3.ebuild b/dev-python/kombu/kombu-5.3.3.ebuild
deleted file mode 100644
index 2f37847c4901..000000000000
--- a/dev-python/kombu/kombu-5.3.3.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="AMQP Messaging Framework for Python"
-HOMEPAGE="
- https://github.com/celery/kombu/
- https://pypi.org/project/kombu/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="examples"
-
-RDEPEND="
- >=dev-python/amqp-5.1.1[${PYTHON_USEDEP}]
- <dev-python/amqp-6.0.0[${PYTHON_USEDEP}]
- dev-python/vine[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- app-arch/brotli[python,${PYTHON_USEDEP}]
- >=dev-python/boto3-1.22.2[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- >=dev-python/msgpack-0.3.0[${PYTHON_USEDEP}]
- dev-python/pycurl[${PYTHON_USEDEP}]
- >=dev-python/pymongo-4.1.1[${PYTHON_USEDEP}]
- dev-python/pytest-freezegun[${PYTHON_USEDEP}]
- dev-python/zstandard[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
- >=dev-python/redis-4.2.2[${PYTHON_USEDEP}]
- dev-python/sqlalchemy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/sphinx-celery
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- t/unit/transport/test_redis.py::test_Channel::test_connparams_health_check_interval_supported
- )
- local EPYTEST_IGNORE=(
- # obsolete Pyro4
- t/unit/transport/test_pyro.py
- # unpackaged azure
- t/unit/transport/test_azurestoragequeues.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-python_install_all() {
- if use examples; then
- docompress -x "/usr/share/doc/${PF}/examples"
- docinto examples
- dodoc -r examples/.
- fi
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "Amazon SQS backend" "dev-python/boto3 dev-python/pycurl"
- optfeature "Etcd backend" dev-python/python-etcd
- optfeature "MongoDB backend" dev-python/pymongo
- optfeature "Redis backend" dev-python/redis
- optfeature "sqlalchemy backend" dev-python/sqlalchemy
- optfeature "yaml backend" dev-python/pyyaml
- optfeature "MessagePack (de)serializer for Python" dev-python/msgpack
- optfeature "brotli compression" "app-arch/brotli[python]"
- optfeature "zstd compression" dev-python/zstandard
-}
diff --git a/dev-python/kombu/kombu-5.3.4.ebuild b/dev-python/kombu/kombu-5.3.4.ebuild
deleted file mode 100644
index 2f37847c4901..000000000000
--- a/dev-python/kombu/kombu-5.3.4.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="AMQP Messaging Framework for Python"
-HOMEPAGE="
- https://github.com/celery/kombu/
- https://pypi.org/project/kombu/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="examples"
-
-RDEPEND="
- >=dev-python/amqp-5.1.1[${PYTHON_USEDEP}]
- <dev-python/amqp-6.0.0[${PYTHON_USEDEP}]
- dev-python/vine[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- app-arch/brotli[python,${PYTHON_USEDEP}]
- >=dev-python/boto3-1.22.2[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- >=dev-python/msgpack-0.3.0[${PYTHON_USEDEP}]
- dev-python/pycurl[${PYTHON_USEDEP}]
- >=dev-python/pymongo-4.1.1[${PYTHON_USEDEP}]
- dev-python/pytest-freezegun[${PYTHON_USEDEP}]
- dev-python/zstandard[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
- >=dev-python/redis-4.2.2[${PYTHON_USEDEP}]
- dev-python/sqlalchemy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/sphinx-celery
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- t/unit/transport/test_redis.py::test_Channel::test_connparams_health_check_interval_supported
- )
- local EPYTEST_IGNORE=(
- # obsolete Pyro4
- t/unit/transport/test_pyro.py
- # unpackaged azure
- t/unit/transport/test_azurestoragequeues.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-python_install_all() {
- if use examples; then
- docompress -x "/usr/share/doc/${PF}/examples"
- docinto examples
- dodoc -r examples/.
- fi
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "Amazon SQS backend" "dev-python/boto3 dev-python/pycurl"
- optfeature "Etcd backend" dev-python/python-etcd
- optfeature "MongoDB backend" dev-python/pymongo
- optfeature "Redis backend" dev-python/redis
- optfeature "sqlalchemy backend" dev-python/sqlalchemy
- optfeature "yaml backend" dev-python/pyyaml
- optfeature "MessagePack (de)serializer for Python" dev-python/msgpack
- optfeature "brotli compression" "app-arch/brotli[python]"
- optfeature "zstd compression" dev-python/zstandard
-}
diff --git a/dev-python/kombu/kombu-5.3.7.ebuild b/dev-python/kombu/kombu-5.3.7.ebuild
new file mode 100644
index 000000000000..8d4a9966b9e7
--- /dev/null
+++ b/dev-python/kombu/kombu-5.3.7.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=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="AMQP Messaging Framework for Python"
+HOMEPAGE="
+ https://github.com/celery/kombu/
+ https://pypi.org/project/kombu/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="examples"
+
+RDEPEND="
+ >=dev-python/amqp-5.1.1[${PYTHON_USEDEP}]
+ <dev-python/amqp-6.0.0[${PYTHON_USEDEP}]
+ dev-python/vine[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ app-arch/brotli[python,${PYTHON_USEDEP}]
+ >=dev-python/boto3-1.22.2[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-0.3.0[${PYTHON_USEDEP}]
+ dev-python/pycurl[${PYTHON_USEDEP}]
+ >=dev-python/pymongo-4.1.1[${PYTHON_USEDEP}]
+ dev-python/pytest-freezer[${PYTHON_USEDEP}]
+ dev-python/zstandard[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.10[${PYTHON_USEDEP}]
+ >=dev-python/redis-4.2.2[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/sphinx-celery
+
+PATCHES=(
+ # https://github.com/celery/kombu/pull/2052
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ t/unit/transport/test_redis.py::test_Channel::test_connparams_health_check_interval_supported
+ )
+ local EPYTEST_IGNORE=(
+ # obsolete Pyro4
+ t/unit/transport/test_pyro.py
+ # unpackaged azure
+ t/unit/transport/test_azurestoragequeues.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ docinto examples
+ dodoc -r examples/.
+ fi
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Amazon SQS backend" "dev-python/boto3 dev-python/pycurl"
+ optfeature "Etcd backend" dev-python/python-etcd
+ optfeature "MongoDB backend" dev-python/pymongo
+ optfeature "Redis backend" dev-python/redis
+ optfeature "sqlalchemy backend" dev-python/sqlalchemy
+ optfeature "yaml backend" dev-python/pyyaml
+ optfeature "MessagePack (de)serializer for Python" dev-python/msgpack
+ optfeature "brotli compression" "app-arch/brotli[python]"
+ optfeature "zstd compression" dev-python/zstandard
+}
diff --git a/dev-python/krb5/Manifest b/dev-python/krb5/Manifest
index 3e65c0787c02..44d11365f056 100644
--- a/dev-python/krb5/Manifest
+++ b/dev-python/krb5/Manifest
@@ -1 +1,2 @@
DIST krb5-0.5.1.tar.gz 221059 BLAKE2B ca7bff0caa192af0493b58e5254bcc45f43aece32ae2d57950d6293506ff8261a53d5990905d4d3a974c9843f6435dd6526c3d3210b9ebe8cda76d640410f213 SHA512 474484d2ffcf94e9855b017a7f8ca29894c4e3c1f4c0d872952bb1b7c1772b319b7a358c5e44cb3be036ea707a58fc1c526f8abb2c3d1d9b8af8525bb769923f
+DIST krb5-0.6.0.tar.gz 230384 BLAKE2B 0a1dc0dfadba71505b6e03a68f62cfb9bb41e8f9f8345196be241e72c4ea7653fd9575b4924a5a58436da40c8637260a64525c92b2d6481c2c3b931b84d96d81 SHA512 e8f4638b19949b4235564e622adec92d0620442cddd87f777e09e1724735504cc1f86fbe8fee444246e5f532a5c72742146866d0d176d7151d959167d43dcfd9
diff --git a/dev-python/krb5/krb5-0.5.1.ebuild b/dev-python/krb5/krb5-0.5.1.ebuild
index 4a3bacb22774..32cb457dd23d 100644
--- a/dev-python/krb5/krb5-0.5.1.ebuild
+++ b/dev-python/krb5/krb5-0.5.1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-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_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/krb5/krb5-0.6.0.ebuild b/dev-python/krb5/krb5-0.6.0.ebuild
new file mode 100644
index 000000000000..be03a22b7531
--- /dev/null
+++ b/dev-python/krb5/krb5-0.6.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2021-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Kerberos API bindings for Python"
+HOMEPAGE="
+ https://github.com/jborean93/pykrb5/
+ https://pypi.org/project/krb5/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ virtual/krb5
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-python/k5test[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/lark/Manifest b/dev-python/lark/Manifest
index 97f0f458e754..75498eec6a3c 100644
--- a/dev-python/lark/Manifest
+++ b/dev-python/lark/Manifest
@@ -1 +1 @@
-DIST lark-1.1.8.tar.gz 255316 BLAKE2B 40f0590ee313e5da57e593fe1cd311dfe1222cea1be83c5d1686d9a74983c8abc4f4f913f456993c51df4ce79eced10412ff9bf3dfafbeaa30f11e1301c84f60 SHA512 e51ecb38d9e7c25cca2845c56cd3cce1b1b3940ec8f0e135373726ffb23bda46f750b03f0f0b8edc750794c2b2aab9c327ff9f381faaabd53f09e76760548957
+DIST lark-1.1.9.tar.gz 255451 BLAKE2B 0bdb34a75c17800cc6819413011de879a163317c7414b260e1a4a0ccc4b40d11636fad1ae84946e0408096525b6cfeb6f725c95caed8043d3dff3e318d15be1f SHA512 4d711451f129312a28cff84239a2928fdff96df1445f77ae7a9d882d13791a58e44663ef70fd064df954094878214611ee1313ce9315c8dcfb0833b003a3774f
diff --git a/dev-python/lark/lark-1.1.8.ebuild b/dev-python/lark/lark-1.1.8.ebuild
deleted file mode 100644
index ebc8caa6fd91..000000000000
--- a/dev-python/lark/lark-1.1.8.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python module to propose a modern general-purpose parsing library for Python"
-HOMEPAGE="
- https://github.com/lark-parser/lark/
- https://pypi.org/project/lark/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-BDEPEND="
- test? (
- dev-python/atomicwrites[${PYTHON_USEDEP}]
- dev-python/regex[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- # require dev-python/js2py which is a really bad quality package
- tests/test_nearley/test_nearley.py
- )
-
- if has "${EPYTHON}" pypy3 python3.{8,9}; then
- EPYTEST_IGNORE+=(
- # test using Python 3.10+ syntax
- tests/test_pattern_matching.py
- )
- fi
-
- epytest
-}
diff --git a/dev-python/lark/lark-1.1.9.ebuild b/dev-python/lark/lark-1.1.9.ebuild
new file mode 100644
index 000000000000..6cccd93b1cec
--- /dev/null
+++ b/dev-python/lark/lark-1.1.9.ebuild
@@ -0,0 +1,40 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python module to propose a modern general-purpose parsing library for Python"
+HOMEPAGE="
+ https://github.com/lark-parser/lark/
+ https://pypi.org/project/lark/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+# dev-python/regex doesn't support pypy
+BDEPEND="
+ test? (
+ dev-python/atomicwrites[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/regex[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # require dev-python/js2py which is a really bad quality package
+ tests/test_nearley/test_nearley.py
+ )
+
+ epytest
+}
diff --git a/dev-python/latexcodec/Manifest b/dev-python/latexcodec/Manifest
index 769d7951f0d7..46d0916cf595 100644
--- a/dev-python/latexcodec/Manifest
+++ b/dev-python/latexcodec/Manifest
@@ -1 +1 @@
-DIST latexcodec-2.0.1.tar.gz 30131 BLAKE2B 8af9cf81a1e0a8b72bf4eb1be206d2f2029598372872f1c43d8abe5e69efeba957d610102f44a5da552325f5525e1668e52ba2cc6c9a2d3f4b7c59c375f040e0 SHA512 e7f23b91904e0bd4a3f052f5f201b125e84c1f94a247b869e14c8f45ee8bc2c478e8887a792efa8c9b6d2b7fefed43fc66e797206b6e40aedaedc68ce7865cab
+DIST latexcodec-3.0.0.tar.gz 31023 BLAKE2B 3612275cec0d5d20c838dd8edd2799d34da59c5593362a86eb002fde287e3195f7167351f516c4333877798d94e767e7babde144dbf2161dcf82998c67460403 SHA512 f715e61620237267b69f178b620100ac37011093a64e2663fd64b476194e2e0d29ca0ee3169ce3edb11955ef61c64109c8e1b549a800bf4d52e8a75630baaa58
diff --git a/dev-python/latexcodec/latexcodec-2.0.1-r1.ebuild b/dev-python/latexcodec/latexcodec-2.0.1-r1.ebuild
deleted file mode 100644
index 673f1e4b29e3..000000000000
--- a/dev-python/latexcodec/latexcodec-2.0.1-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Lexer and codec to work with LaTeX code in Python"
-HOMEPAGE="
- https://github.com/mcmtroffaes/latexcodec/
- https://pypi.org/project/latexcodec/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/latexcodec/latexcodec-3.0.0.ebuild b/dev-python/latexcodec/latexcodec-3.0.0.ebuild
new file mode 100644
index 000000000000..6466221b8173
--- /dev/null
+++ b/dev-python/latexcodec/latexcodec-3.0.0.ebuild
@@ -0,0 +1,21 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Lexer and codec to work with LaTeX code in Python"
+HOMEPAGE="
+ https://github.com/mcmtroffaes/latexcodec/
+ https://pypi.org/project/latexcodec/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/latexcodec/metadata.xml b/dev-python/latexcodec/metadata.xml
index 4861356934d1..d1b0baf52d3e 100644
--- a/dev-python/latexcodec/metadata.xml
+++ b/dev-python/latexcodec/metadata.xml
@@ -9,6 +9,10 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy maintainers</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<longdescription>
Latexcodec provides a convenient way of going between text written in LaTeX and unicode. Since it is not a LaTeX compiler, it is more appropriate for short chunks of text, such as a paragraph or the values of a BibTeX entry, and it is not appropriate for a full LaTeX document. In particular, its behavior on the LaTeX commands that do not simply select characters is intended to allow the unicode representation to be understandable by a human reader, but is not canonical and may require hand tuning to produce the desired effect.
</longdescription>
diff --git a/dev-python/lazy-loader/Manifest b/dev-python/lazy-loader/Manifest
new file mode 100644
index 000000000000..5b84c0cdfed2
--- /dev/null
+++ b/dev-python/lazy-loader/Manifest
@@ -0,0 +1,2 @@
+DIST lazy_loader-0.3.tar.gz 12268 BLAKE2B b4b38202fa5c4558934dc6e2090b0585d9245a69824fb9548f5f24c3538232ce35fc1096978c4bb385bbc19b1008487cbe5b2e5a81f672acc790bfc1ac4b1bd7 SHA512 282efef8a20321bda07be382871fa3314ebf6c59f2451b33e613a72dd5b875fe7a7b8ea1336c879d79bf78cb808e1220a68ba30cd4e948d8c10ab0ca9ec23938
+DIST lazy_loader-0.4.tar.gz 15431 BLAKE2B 6b6eee0ac8976b224cc16e09e3317197164b547b4be834711bacffefcd186fe98cdde3237d5093ca41a80ab7d5db043fc3dbbae50416bb771b27ee6b0934037d SHA512 29e3589929869351ea62cf7cbba86b581bd7935918b54cfd5ac107cbf7cc427d6d4e050ec1f9bef084587e55286d7afa31d5cdb6deb7d072d25493d19d6bbce6
diff --git a/dev-python/lazy-loader/lazy-loader-0.3.ebuild b/dev-python/lazy-loader/lazy-loader-0.3.ebuild
new file mode 100644
index 000000000000..c34141a1a717
--- /dev/null
+++ b/dev-python/lazy-loader/lazy-loader-0.3.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Populate library namespace without incurring immediate import costs"
+HOMEPAGE="
+ https://github.com/scientific-python/lazy_loader
+ https://pypi.org/project/lazy_loader/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/lazy-loader/lazy-loader-0.4.ebuild b/dev-python/lazy-loader/lazy-loader-0.4.ebuild
new file mode 100644
index 000000000000..d72746629473
--- /dev/null
+++ b/dev-python/lazy-loader/lazy-loader-0.4.ebuild
@@ -0,0 +1,25 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Populate library namespace without incurring immediate import costs"
+HOMEPAGE="
+ https://github.com/scientific-python/lazy_loader
+ https://pypi.org/project/lazy-loader/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/lazy-loader/metadata.xml b/dev-python/lazy-loader/metadata.xml
new file mode 100644
index 000000000000..be659ac63cdb
--- /dev/null
+++ b/dev-python/lazy-loader/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">lazy-loader</remote-id>
+ <remote-id type="github">scientific-python/lazy_loader</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/lazy-object-proxy/Manifest b/dev-python/lazy-object-proxy/Manifest
index 2aed049b9fb2..abb574d0db45 100644
--- a/dev-python/lazy-object-proxy/Manifest
+++ b/dev-python/lazy-object-proxy/Manifest
@@ -1 +1 @@
-DIST lazy-object-proxy-1.9.0.tar.gz 42830 BLAKE2B 565315a3e855bc5335af717d1edc947fef57514c06036280d1f4666ab9642cf7e7b4bb145da87cbca14d9efa9f4869d7ad256031983a773580dc398fb7ce25e0 SHA512 2168254a71cf52ef406e5edf4653b9c8ae05392d4ad3c2e5e8e9f8db56152d968a77d14226acdf7d962f66d460c40add335615442f6f176d697c071f9cb137f5
+DIST lazy-object-proxy-1.10.0.tar.gz 43271 BLAKE2B f2146db4ebb3e48b4af36fa56a1656c3316896eab9e9b9c5450106b18df27a48a04c7ab8609384caf81899f956a20990e54818c836bd20b607766652d9797eca SHA512 0693a2b6d13909580e7b568a030b884f84fc1578b17e49ac4246572e3e8b18c05a2613572f24b908630528ecb606d149a106b46d079f2c42ced5172146e413c5
diff --git a/dev-python/lazy-object-proxy/files/lazy-object-proxy-1.10.0-pure-tests.patch b/dev-python/lazy-object-proxy/files/lazy-object-proxy-1.10.0-pure-tests.patch
new file mode 100644
index 000000000000..c7806c68bb7a
--- /dev/null
+++ b/dev-python/lazy-object-proxy/files/lazy-object-proxy-1.10.0-pure-tests.patch
@@ -0,0 +1,29 @@
+From 25decee2bd5a68d290dd3349aa9a72ce41b398b6 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Fri, 15 Dec 2023 17:45:42 +0100
+Subject: [PATCH] Support SETUPPY_FORCE_PURE in tests
+
+Support testing without the C extension if SETUPPY_FORCE_PURE is set.
+This makes the test suite behavior consistent with setup.py behavior.
+---
+ tests/conftest.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 11d0379..2ba3209 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -1,3 +1,4 @@
++import os
+ import sys
+
+ import pytest
+@@ -19,7 +20,7 @@ class FakeModule:
+ try:
+ from lazy_object_proxy.cext import Proxy
+ except ImportError:
+- if PYPY:
++ if PYPY or os.environ.get('SETUPPY_FORCE_PURE'):
+ pytest.skip(reason='C Extension not available.')
+ else:
+ raise
diff --git a/dev-python/lazy-object-proxy/lazy-object-proxy-1.10.0.ebuild b/dev-python/lazy-object-proxy/lazy-object-proxy-1.10.0.ebuild
new file mode 100644
index 000000000000..200c5a450cd6
--- /dev/null
+++ b/dev-python/lazy-object-proxy/lazy-object-proxy-1.10.0.ebuild
@@ -0,0 +1,50 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A fast and thorough lazy object proxy"
+HOMEPAGE="
+ https://github.com/ionelmc/python-lazy-object-proxy/
+ https://pypi.org/project/lazy-object-proxy/
+ https://python-lazy-object-proxy.readthedocs.io/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="+native-extensions"
+
+BDEPEND="
+ >=dev-python/setuptools-scm-8[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/ionelmc/python-lazy-object-proxy/pull/79
+ "${FILESDIR}/${P}-pure-tests.patch"
+)
+
+python_prepare_all() {
+ # No need to benchmark
+ sed \
+ -e '/benchmark/s:test_:_&:g' \
+ -e '/pytest.mark.benchmark/d' \
+ -i tests/test_lazy_object_proxy.py || die
+
+ distutils-r1_python_prepare_all
+
+ if use native-extensions; then
+ unset SETUPPY_FORCE_PURE
+ else
+ export SETUPPY_FORCE_PURE=1
+ fi
+}
diff --git a/dev-python/lazy-object-proxy/lazy-object-proxy-1.9.0.ebuild b/dev-python/lazy-object-proxy/lazy-object-proxy-1.9.0.ebuild
deleted file mode 100644
index 388ac18b33a2..000000000000
--- a/dev-python/lazy-object-proxy/lazy-object-proxy-1.9.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 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..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A fast and thorough lazy object proxy"
-HOMEPAGE="
- https://github.com/ionelmc/python-lazy-object-proxy/
- https://pypi.org/project/lazy-object-proxy/
- https://python-lazy-object-proxy.readthedocs.io/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # No need to benchmark
- sed \
- -e '/benchmark/s:test_:_&:g' \
- -e '/pytest.mark.benchmark/d' \
- -i tests/test_lazy_object_proxy.py || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/lazy_loader/Manifest b/dev-python/lazy_loader/Manifest
deleted file mode 100644
index d48894649f58..000000000000
--- a/dev-python/lazy_loader/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST lazy_loader-0.3.tar.gz 12268 BLAKE2B b4b38202fa5c4558934dc6e2090b0585d9245a69824fb9548f5f24c3538232ce35fc1096978c4bb385bbc19b1008487cbe5b2e5a81f672acc790bfc1ac4b1bd7 SHA512 282efef8a20321bda07be382871fa3314ebf6c59f2451b33e613a72dd5b875fe7a7b8ea1336c879d79bf78cb808e1220a68ba30cd4e948d8c10ab0ca9ec23938
diff --git a/dev-python/lazy_loader/lazy_loader-0.3.ebuild b/dev-python/lazy_loader/lazy_loader-0.3.ebuild
deleted file mode 100644
index b3bb79623b29..000000000000
--- a/dev-python/lazy_loader/lazy_loader-0.3.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Populate library namespace without incurring immediate import costs"
-HOMEPAGE="
- https://github.com/scientific-python/lazy_loader
- https://pypi.org/project/lazy_loader/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/lazy_loader/metadata.xml b/dev-python/lazy_loader/metadata.xml
deleted file mode 100644
index 55037c181b9e..000000000000
--- a/dev-python/lazy_loader/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">lazy_loader</remote-id>
- <remote-id type="github">scientific-python/lazy_loader</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/ldap3/ldap3-2.9.1.ebuild b/dev-python/ldap3/ldap3-2.9.1.ebuild
index f9c7db6383f0..b0ac8b607961 100644
--- a/dev-python/ldap3/ldap3-2.9.1.ebuild
+++ b/dev-python/ldap3/ldap3-2.9.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
DESCRIPTION="A strictly RFC 4511 conforming LDAP V3 pure Python client"
diff --git a/dev-python/leather/Manifest b/dev-python/leather/Manifest
index e5864e33e632..e1f1600c8146 100644
--- a/dev-python/leather/Manifest
+++ b/dev-python/leather/Manifest
@@ -1 +1 @@
-DIST leather-0.3.4.gh.tar.gz 41368 BLAKE2B a1181da5904234677290134726da33a71e0f37e6f0161beb0ec7a73efca1b2b26e973221f2f42b72fd2640ef503a8adc905273885deef212ee9d1aae6d91f804 SHA512 0547adf5d455afe9397cf9c597cc7edbcdbe25bb56e32d764c67119bfe1329d959834f2a41720adb51ec926065e044feb27f7a5e3f800c8636a22d4f96752212
+DIST leather-0.4.0.gh.tar.gz 41100 BLAKE2B fdba2a55f631b783095af37ed944c388865d2ffe9e9ddc943ab4ce4bb6718135fa459d21f28f914fa16bbdde96ec4773e689feece6eddda894683572bf8bae2b SHA512 04341b5806484482374514c0efe47550b7b0ea1106bbebaa8b221366b8d4e36ef555e5dcb93227a97191d4fc7ba3483966db74bd51f25c7f08f4d1e9a08f0caf
diff --git a/dev-python/leather/leather-0.3.4-r1.ebuild b/dev-python/leather/leather-0.3.4-r1.ebuild
deleted file mode 100644
index 6419257a63ca..000000000000
--- a/dev-python/leather/leather-0.3.4-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python charting for 80% of humans"
-HOMEPAGE="
- https://github.com/wireservice/leather/
- https://pypi.org/project/leather/
-"
-SRC_URI="
- https://github.com/wireservice/leather/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv ~arm64-macos ~x64-macos"
-
-RDEPEND="
- dev-python/cssselect[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/sphinx-rtd-theme
diff --git a/dev-python/leather/leather-0.4.0.ebuild b/dev-python/leather/leather-0.4.0.ebuild
new file mode 100644
index 000000000000..83ee4f5f4a5e
--- /dev/null
+++ b/dev-python/leather/leather-0.4.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python charting for 80% of humans"
+HOMEPAGE="
+ https://github.com/wireservice/leather/
+ https://pypi.org/project/leather/
+"
+SRC_URI="
+ https://github.com/wireservice/leather/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~arm64-macos ~x64-macos"
+
+BDEPEND="
+ test? (
+ >=dev-python/cssselect-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/lxml-3.6.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/furo
diff --git a/dev-python/leechcorepyc/Manifest b/dev-python/leechcorepyc/Manifest
index 97630a1da22a..9e7551f1078f 100644
--- a/dev-python/leechcorepyc/Manifest
+++ b/dev-python/leechcorepyc/Manifest
@@ -1 +1,2 @@
-DIST leechcorepyc-2.16.5.tar.gz 177365 BLAKE2B a5193e6e6c3fc2dc63358f62a2240b3a186b2acb37968597c5b5c690fbc94487c17bef55e8123bfdc55df2aa8668f667750a850fe4480b08d85bc311b1d2a95d SHA512 8d9b556d7ebc7de474dc853f9dfa005f91a19e6f7672d4021bc83c48b7d3ab0b6617bdbaf79e79b2fc930b64f448e3b8849d83c735077fd98776b026cff57a30
+DIST leechcorepyc-2.17.4.tar.gz 180273 BLAKE2B 09c6d8b4bba14d645c1718f6fd5c32d08715e2f8bc0b065ff08823bb95d2aad025452388f4d26b2b61c703a8a796d1b8999f1461b1a8ae5c7479e60e204a8489 SHA512 6948f09d53e3d2a47611f7d414c06712850427aecd43035c571daad61bdff2cd5f0c9799b7bf74b042ad66d7686258210a3bc7bb29af0b632025fbf8ca458cb0
+DIST leechcorepyc-2.18.0.tar.gz 234411 BLAKE2B ebf2dba7cc20bdf8fdcac65d889fe3fab0e5c5b11509468f2733ef6a20bc0ccf6e0fc6788ac6ec62101a996ae983b3dbbab3afde1573b76d84ee4e0bd224e749 SHA512 c85fbc2eb2a62929f232f0657944406cc3918320a11fb3824fbe60889ff3c61796a99c39d7083b895868a0bbf2d2dacc473db59d9e4c183aeae3528bb03a0b4f
diff --git a/dev-python/leechcorepyc/files/leechcorepyc-2.16.0-respect-CC.patch b/dev-python/leechcorepyc/files/leechcorepyc-2.16.0-respect-CC.patch
deleted file mode 100644
index ce29c885512b..000000000000
--- a/dev-python/leechcorepyc/files/leechcorepyc-2.16.0-respect-CC.patch
+++ /dev/null
@@ -1,30 +0,0 @@
---- a/leechcore/Makefile
-+++ b/leechcore/Makefile
-@@ -1,5 +1,6 @@
--CC=gcc
--CFLAGS += -I. -D LINUX -D _GNU_SOURCE -shared -fPIC -fvisibility=hidden -pthread `pkg-config libusb-1.0 --libs --cflags`
-+CC?=gcc
-+PKG_CONFIG ?= pkg-config
-+CFLAGS += -I. -D LINUX -D _GNU_SOURCE -shared -fPIC -fvisibility=hidden -pthread `$(PKG_CONFIG) libusb-1.0 --libs --cflags`
- # DEBUG FLAGS BELOW
- # export ASAN_OPTIONS=strict_string_checks=1:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1:detect_invalid_pointer_pairs=2
- # CFLAGS += -g -O0 -Wextra -Wno-unused-parameter -Wno-cast-function-type
---- a/leechcore_device_rawtcp/Makefile
-+++ b/leechcore_device_rawtcp/Makefile
-@@ -1,4 +1,4 @@
--CC=gcc
-+CC?=gcc
- CFLAGS += -I. -I../includes -D LINUX -shared -fPIC -fvisibility=hidden
- LDFLAGS += -g -shared
- DEPS =
---- a/leechcore_ft601_driver_linux/Makefile
-+++ b/leechcore_ft601_driver_linux/Makefile
-@@ -1,5 +1,6 @@
--CC=gcc
--CFLAGS += -I. -D LINUX -shared -fPIC -fvisibility=hidden `pkg-config libusb-1.0 --libs --cflags`
-+CC?=gcc
-+PKG_CONFIG ?= pkg-config
-+CFLAGS += -I. -D LINUX -shared -fPIC -fvisibility=hidden `$(PKG_CONFIG) libusb-1.0 --libs --cflags`
- LDFLAGS += -g -shared
- DEPS = leechcore_ft601_driver_linux.h
- OBJ = fpga_libusb.o leechcore_ft601_driver_linux.o
diff --git a/dev-python/leechcorepyc/files/leechcorepyc-2.16.9-respect-CC.patch b/dev-python/leechcorepyc/files/leechcorepyc-2.16.9-respect-CC.patch
new file mode 100644
index 000000000000..7ad3aac070ab
--- /dev/null
+++ b/dev-python/leechcorepyc/files/leechcorepyc-2.16.9-respect-CC.patch
@@ -0,0 +1,30 @@
+--- a/leechcore/Makefile
++++ b/leechcore/Makefile
+@@ -1,5 +1,6 @@
+-CC=gcc
+-CFLAGS += -I. -D LINUX -D _GNU_SOURCE -shared -fPIC -fvisibility=hidden -pthread `pkg-config libusb-1.0 --libs --cflags`
++CC?=gcc
++PKG_CONFIG ?= pkg-config
++CFLAGS += -I. -D LINUX -D _GNU_SOURCE -shared -fPIC -fvisibility=hidden -pthread `$(PKG_CONFIG) libusb-1.0 --libs --cflags`
+ # DEBUG FLAGS BELOW
+ # export ASAN_OPTIONS=strict_string_checks=1:detect_stack_use_after_return=1:check_initialization_order=1:strict_init_order=1:detect_invalid_pointer_pairs=2
+ # CFLAGS += -g -O0 -Wextra -Wno-unused-parameter -Wno-cast-function-type
+--- a/leechcore_device_rawtcp/Makefile
++++ b/leechcore_device_rawtcp/Makefile
+@@ -1,4 +1,4 @@
+-CC=gcc
++CC?=gcc
+ CFLAGS += -I. -I../includes -D LINUX -shared -fPIC -fvisibility=hidden
+ LDFLAGS += -g -shared
+ DEPS =
+--- a/leechcore_ft601_driver_linux/Makefile
++++ b/leechcore_ft601_driver_linux/Makefile
+@@ -1,5 +1,6 @@
+-CC=gcc
+-CFLAGS += -I. -D LINUX -shared -fPIC -fvisibility=hidden `pkg-config libusb-1.0 --libs --cflags`
++CC?=gcc
++PKG_CONFIG ?= pkg-config
++CFLAGS += -I. -D LINUX -shared -fPIC -fvisibility=hidden `$(PKG_CONFIG) libusb-1.0 --libs --cflags`
+ LDFLAGS += -g -shared
+ DEPS = leechcore_ft601_driver_linux.h
+ OBJ = fpga_libusb.o leechcore_ft601_driver_linux.o
diff --git a/dev-python/leechcorepyc/leechcorepyc-2.16.5.ebuild b/dev-python/leechcorepyc/leechcorepyc-2.16.5.ebuild
deleted file mode 100644
index 3d5864425db6..000000000000
--- a/dev-python/leechcorepyc/leechcorepyc-2.16.5.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 toolchain-funcs pypi
-
-DESCRIPTION="Python binding for LeechCore Physical Memory Acquisition Library"
-HOMEPAGE="https://github.com/ufrisk/LeechCore"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-# leechcorepyc ships with a bundled version of the LeechCore library. So we
-# don't depend on the library here. But we must be aware this module doesn't
-# use the system library.
-DEPEND="virtual/libusb:="
-RDEPEND="${DEPEND}"
-BDEPEND="virtual/pkgconfig"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2.16.0-respect-CC.patch"
-)
-
-src_prepare() {
- default
-
- # Avoid redefining _FORTIFY_SOURCE. See #893824, #906715.
- sed -i -e 's/ -D_FORTIFY_SOURCE=2 / /g' leechcore/Makefile || die
-}
-
-src_configure() {
- tc-export CC
-
- distutils-r1_src_configure
-}
diff --git a/dev-python/leechcorepyc/leechcorepyc-2.17.4.ebuild b/dev-python/leechcorepyc/leechcorepyc-2.17.4.ebuild
new file mode 100644
index 000000000000..2c256d774426
--- /dev/null
+++ b/dev-python/leechcorepyc/leechcorepyc-2.17.4.ebuild
@@ -0,0 +1,41 @@
+# 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} )
+
+inherit distutils-r1 toolchain-funcs pypi
+
+DESCRIPTION="Python binding for LeechCore Physical Memory Acquisition Library"
+HOMEPAGE="https://github.com/ufrisk/LeechCore"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+# leechcorepyc ships with a bundled version of the LeechCore library. So we
+# don't depend on the library here. But we must be aware this module doesn't
+# use the system library.
+DEPEND="virtual/libusb:="
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.16.9-respect-CC.patch"
+)
+
+src_prepare() {
+ default
+
+ # Avoid redefining _FORTIFY_SOURCE. See #893824, #906715.
+ sed -i -e 's/ -D_FORTIFY_SOURCE=2 / /g' leechcore/Makefile || die
+}
+
+src_configure() {
+ tc-export CC
+
+ distutils-r1_src_configure
+}
diff --git a/dev-python/leechcorepyc/leechcorepyc-2.18.0.ebuild b/dev-python/leechcorepyc/leechcorepyc-2.18.0.ebuild
new file mode 100644
index 000000000000..2c256d774426
--- /dev/null
+++ b/dev-python/leechcorepyc/leechcorepyc-2.18.0.ebuild
@@ -0,0 +1,41 @@
+# 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} )
+
+inherit distutils-r1 toolchain-funcs pypi
+
+DESCRIPTION="Python binding for LeechCore Physical Memory Acquisition Library"
+HOMEPAGE="https://github.com/ufrisk/LeechCore"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+# leechcorepyc ships with a bundled version of the LeechCore library. So we
+# don't depend on the library here. But we must be aware this module doesn't
+# use the system library.
+DEPEND="virtual/libusb:="
+RDEPEND="${DEPEND}"
+BDEPEND="virtual/pkgconfig"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.16.9-respect-CC.patch"
+)
+
+src_prepare() {
+ default
+
+ # Avoid redefining _FORTIFY_SOURCE. See #893824, #906715.
+ sed -i -e 's/ -D_FORTIFY_SOURCE=2 / /g' leechcore/Makefile || die
+}
+
+src_configure() {
+ tc-export CC
+
+ distutils-r1_src_configure
+}
diff --git a/dev-python/legacy-cgi/Manifest b/dev-python/legacy-cgi/Manifest
new file mode 100644
index 000000000000..6effbd44b8ce
--- /dev/null
+++ b/dev-python/legacy-cgi/Manifest
@@ -0,0 +1 @@
+DIST legacy_cgi-2.6.1.tar.gz 24782 BLAKE2B 4a147583a951e128282eef445fce9ad0acc6f63036d115b9f048956f17999946808f563e025bc6f45687e6ea095b459c10e90e01c114ff535a485de1fe344917 SHA512 584ed4c2fdf05e89944dc86dc31dd4de80efbad3e43f15e411f9eff0fabbeeaf3df757faa2a56527f61d661b6d73eb258135ab7763dd3a58c9611829c6d28cb0
diff --git a/dev-python/legacy-cgi/legacy-cgi-2.6.1.ebuild b/dev-python/legacy-cgi/legacy-cgi-2.6.1.ebuild
new file mode 100644
index 000000000000..130b03cfd8d1
--- /dev/null
+++ b/dev-python/legacy-cgi/legacy-cgi-2.6.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_13 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Fork of the standard library cgi and cgitb modules (deprecated)"
+HOMEPAGE="
+ https://github.com/jackrosenthal/legacy-cgi/
+ https://pypi.org/project/legacy-cgi/
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/legacy-cgi/metadata.xml b/dev-python/legacy-cgi/metadata.xml
new file mode 100644
index 000000000000..ebecdf1b43ed
--- /dev/null
+++ b/dev-python/legacy-cgi/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">jackrosenthal/legacy-cgi</remote-id>
+ <remote-id type="pypi">legacy-cgi</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/lesscpy/lesscpy-0.15.1.ebuild b/dev-python/lesscpy/lesscpy-0.15.1.ebuild
index 8f8d8abf760a..c44dfd14643f 100644
--- a/dev-python/lesscpy/lesscpy-0.15.1.ebuild
+++ b/dev-python/lesscpy/lesscpy-0.15.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/libarchive-c/Manifest b/dev-python/libarchive-c/Manifest
index f7d764a464da..0922822df8aa 100644
--- a/dev-python/libarchive-c/Manifest
+++ b/dev-python/libarchive-c/Manifest
@@ -1 +1 @@
-DIST python-libarchive-c-5.0.gh.tar.gz 48751 BLAKE2B 2ab737c7493c202ba9a1ad57e1066aad12ea984bfa0e63115f59491ea14b3bd1d46d2bb20f033bf5bae64a6badf73b641183f63cc79c9f0e6141792a35521dc4 SHA512 df4758f4b7207fe77ae650aa78c302e9e2a0c7ba81fbeae70af8cb37789a056bc420acd73c1d5baec7b0e93a47fd3e5130db8e43c983f4723366f75a58823f75
+DIST python-libarchive-c-5.1.gh.tar.gz 48816 BLAKE2B 5b727c88eca866f69eda701ca8898d4bd3b68adefb8234a501cb280fae2be98f1314bb64ff94bcc5e1c0cae9ffc6866ee70aa4fbc4353eac1f16d59f9a789ebc SHA512 a2026aba3ef325f10e981e15e50de0435d7371642b0e6df8cd5ab64e76186b2a72297b32f429547e091fb799c9d0fa41be5a6824408c08f6c71585d59175d7a0
diff --git a/dev-python/libarchive-c/libarchive-c-5.0.ebuild b/dev-python/libarchive-c/libarchive-c-5.0.ebuild
deleted file mode 100644
index 46d37e5e969c..000000000000
--- a/dev-python/libarchive-c/libarchive-c-5.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=python-libarchive-c-${PV}
-DESCRIPTION="A Python interface to libarchive"
-HOMEPAGE="
- https://github.com/Changaco/python-libarchive-c/
- https://pypi.org/project/libarchive-c/
-"
-SRC_URI="
- https://github.com/Changaco/python-libarchive-c/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="CC0-1.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc64 x86"
-
-RDEPEND="
- app-arch/libarchive
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/libarchive-c/libarchive-c-5.1.ebuild b/dev-python/libarchive-c/libarchive-c-5.1.ebuild
new file mode 100644
index 000000000000..36b4328ddba6
--- /dev/null
+++ b/dev-python/libarchive-c/libarchive-c-5.1.ebuild
@@ -0,0 +1,31 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=python-libarchive-c-${PV}
+DESCRIPTION="A Python interface to libarchive"
+HOMEPAGE="
+ https://github.com/Changaco/python-libarchive-c/
+ https://pypi.org/project/libarchive-c/
+"
+SRC_URI="
+ https://github.com/Changaco/python-libarchive-c/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="CC0-1.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc64 x86"
+
+RDEPEND="
+ app-arch/libarchive
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/libcst/Manifest b/dev-python/libcst/Manifest
new file mode 100644
index 000000000000..cdda2f319f33
--- /dev/null
+++ b/dev-python/libcst/Manifest
@@ -0,0 +1,115 @@
+DIST aho-corasick-1.0.4.crate 171175 BLAKE2B b3d450533f0799a18fa6ceba41ce841573a3b9fe9bc66745aba9b5a1ef4d86b107aa68c049bd30df7bc86229c71264142e40da8e1d145e776017269a01aed86e SHA512 7cb8feb3289a508b1345b3cc04b59f2f730b80f561b17c7605ce23bf92780b5b3714ec84f5e3c5f4ba0c3abd47ac44fd0064a8bf4c5a7d00bd580774c6a3aee8
+DIST anes-0.1.6.crate 23857 BLAKE2B 9ef464a964709b408c7d7846b9b1e54e52d6ae8f21f22ccfe509ef7197d4694f439084dbdb01fdf88829d181965ea9d1452253789a46fdf6d0520e3413c50d61 SHA512 f9dfaaca9ca327881ec30efaf24e208daae668b1e9d6963c8b0ca9f9fd13be777c793076a87980429f0dfa4db28ef5331ce6652a76da4d5a87485b23fc2fde29
+DIST annotate-snippets-0.6.1.crate 21894 BLAKE2B 4684eb9c7aaaf7e34808338d05c523482709de2c79245df30e1d1148b79de77fc4bff88adefdb85d0675799749c9ed8bd1a14be0d75f68c2c7664ea5db13ec16 SHA512 3354bc87d4ff32f73db98546a6e434f3ecfe6d290f08df5ebaf6afec15dfbe105e6b4e91133f442246a7c2e534730550010ef18ff075f1f7d6267799962e2b23
+DIST anstyle-1.0.2.crate 13983 BLAKE2B 4274b101d1cab2b62f9bb7637dab35f4b16e8c08a080355a2ea53e2b7b353ff230aa77fb3a244e0d6ff0dcd27abe5895eb306c630aa0822d0c608f041d4abfea SHA512 09220abfc844192ca698589897845752e02666b4ecd6529af4cde9f260ef36694e6e631c7503fc0e438ac72c88c419043b78399385cb248e789e86404503935a
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST bitflags-2.4.0.crate 36954 BLAKE2B 1d6cfeb0a17dc53a6249a83c8c7ad7c102985ffcfd7f7f76506889684235e78fe489d23b5a5f9018f0bd526a38d6b1449784c62322fb01f4bb507c0af8bd545c SHA512 0c3d6667abea48811a792749702136ee3db97518b33bc4c7d35737505bf56315e0e5810deeea28b7a1b540ec0e21bd319ba0b3c5c4aef0ba8ed5499ffdfd9b0c
+DIST bumpalo-3.12.0.crate 81604 BLAKE2B 2370094f0c23a3e9b75c8e523e54637189543d9df90ae7ddc349d316054d3d1abd1319e51cf1578f1630be0673fd7f65d130469b2729aa32617372e8bc5dd5f7 SHA512 37f2228f251340e82c27f2b34da2af6eb520077b3809331547cbe4887c0b4791b1a7d75a017decccef162cd02a088d504214b7a44b484a7d93eb6a278b329ee4
+DIST cast-0.3.0.crate 11452 BLAKE2B fe6edddd0589fa436cda32342d7beaabe4003afdbdf1d7c5db7e8748adf23b1b2cdcdd286235837c735d2143f29e692c152a5d56fb0458a54961e4dea303b2cb SHA512 4a3e19bc1e9e5ecc03aaef9bcdce01624ac0e6858c065fa1c41693db0ac172b9735ce872064561347cd9e79f00a274129011f6e4ccf9e61d960c8bb684b6d396
+DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST chic-1.2.2.crate 10269 BLAKE2B 2c792e22b71347e34769e4c43d12dccb92c9c2a3e502f144e5078e71bb6192700d3e783c5c3d6046c0c7070d27f1b19c1dffddd59f4fc4a9b755353c9c0b8340 SHA512 f143424b5d0e5366328a1bea169bd99ab214214c51223974ca847b36e3225f4946a57542a673fb2fb43e0b620782de4e4c87ed4ef22e97905aede4419a8c0603
+DIST ciborium-0.2.0.crate 30130 BLAKE2B 69896bd45dc95fb38df5f6b7f0952866c8efcb65490ad64447e1a645b5558c00a56d81aafe1ff6d2477daab4050c1f69598f0a3f2a74f644e090006291b9af0d SHA512 05f906ca1eec19e903652f2cfe86de36c25f6019af0e10212720bfdb2260a90426cea3acbab6acf64cb059fd138883e5cd4e46032b9a2d7a021715243ca6ecc1
+DIST ciborium-io-0.2.0.crate 2738 BLAKE2B 6f59c4e8d9c91bec47775d96d1089fa3989d347f7138f73f73cda02842a0409d96f32ce25f371a8a7dd5b34706c457b6815aeafeac36a61e309e828f9cc2edd3 SHA512 814059cf5c32c3ca2eab6877eeb73074d38f3419c04137ba345f83c7dc0222b983166e869e0ae9f22d9c604a162555926bff92a3ff57c076d72c9cb39072db63
+DIST ciborium-ll-0.2.0.crate 10740 BLAKE2B f2ab6870bf68d238d51617e17a6a50fb7894d11d7428305fa0ef590b825fa9351dcfec02e27d5cdf716bf392d0a996ecee2a475297de02ed99c65d8fc06f2c08 SHA512 73a7507332c8d941c82e7ff8cc707168f8d231db7531fd28eaba1be341f1511cd494c61f531852e0c5e37a65153addf259ebceac70f70185ede287d93b911845
+DIST clap-4.4.0.crate 54523 BLAKE2B 0292f888fc6426d4e79fbc82fe382be091c222371d2920cfca93cce9a16b3781d7d9bdddb1be62c4593a18d1bc0be0424139ef26745cb26e2ffbe33e684e30df SHA512 359d61374fe40f00a3b3af0e2962e80829cdd34f91b05c7c2347cf58568913037acda79409e44b25f7529901def008c0da0acf5837f784acc45d14936172f2eb
+DIST clap_builder-4.4.0.crate 162489 BLAKE2B 0856a43db80c074ee98477a5a83260b56c8fbf73b00855e0120969fb643211955403045c7354878d4774d81df2e3035b9aa361172cd5286adf164565391f6d8b SHA512 2a79dda8d5dc4a0fc7d43f714d003096bacbb6a2c58f5085732f1a9b73d5f8f6346f4d9195a2e5a8d683cc206d59e54e400c9c748c0bc7abb176f6ed62bb3c33
+DIST clap_lex-0.5.1.crate 11793 BLAKE2B 8e3d2dc120401fdd0cf0bf069119c8b7eafa13e5f682c56499062fc09acc05f443caafa6fca791ea53e693a83de69e98fd0488726a4170db037c37118ce0edf1 SHA512 ea5e49e9a8536093f7de89be30add7c3d880b232b0ce393b0429fd4402db2518036998689817bdfd472b6400224fd3c42fec1b5f8538dc433c31dadeb6281e80
+DIST criterion-0.5.1.crate 110088 BLAKE2B b99018b6a6f97fe47d90a2135e3d483ee624d43088d7881bafb2c35ba385629f1a4353110bf190c04903abc4ee99ad1735bc9c5afc6c2854a1aa9221fd714617 SHA512 6a1a32437bdb95f8472bafb5b04bb5999a6ff6fee4ca5965028ec53b4867d01b529241d01809a003722ec7d5710c323274b6f3b50ca0935919a9dee693f4d3b0
+DIST criterion-plot-0.5.0.crate 22706 BLAKE2B 28a50375f2871ce6f168aafabff46f4368bf55cac379c67a2b4396403259372759dba3355786e695b566b1cddee9091a469755a04c06ee949f00aee8e9a28699 SHA512 971e96dcc64a5afa7488f1a99475f0f5639c0ef63f9eeebcada351868697cbff397e99827cc07c0a52e7d7d1a87856fe1fc48c22075776b3bc9c94af62d79f14
+DIST crossbeam-channel-0.5.5.crate 90326 BLAKE2B 0dfbb516facd1b8b7ad7259a434839a4fc279f61389edbbd4241aab771f03daea6a897f9ed039d43b65f736400b160b6c053cb01544f5636ae2260eb96f3802c SHA512 c38bfc10bb1fcfaf067679165eb31b54b4ef05bf6e8e3465f856e3fc717d4f521b2eb98bd441a738eb7fac34472b7b9a030873c3595a267f19b26908713e2218
+DIST crossbeam-deque-0.8.1.crate 20852 BLAKE2B 0e7a2616b82c5e501c0f74935adfea3ee09db5475408be83db8f1b6faab4cd5509de2e029bdf6df90435e474ef91f3fc8d482ce3a72966b2a3bec5967666bdc4 SHA512 44a4fe1d4ab7457e2b0950be787b76b15e1bb0b1c108d032381ce3fe99bf7bf76f3d1718085660083d813e2639e66fdd3635d9186e85a9eb7267063b117eaca4
+DIST crossbeam-epoch-0.9.9.crate 46185 BLAKE2B 1baff196581d02bd7adb32a7e05976dc2c2ab1a289a59d0b0050a22c010e73e6fb01a0005f837c5b7b4836896584fe83587ce39fc6918f6659c1256c5ce3a5d8 SHA512 d32003cf7bac8690c3d8a2cd9393bf06f2a5da8b6371aff68de28be379a86b5b183b67fa6cf397b1a164379e0b095f4c9e6bc7803e229b3867d2c69cdc235085
+DIST crossbeam-utils-0.8.10.crate 40672 BLAKE2B fbc65ab8a68d66f27cfc8495652ec5ff31a3b8c4de41464bf3a9f673249c2fd5ba4bff7ec8c7b838d5903328346214f91fe075bbe7a05a9b11055b7b17376ac6 SHA512 e0ac772262677e7228e4f2e06099ca788f4906f40fe5dbfb0891431c993c7e4d755d3ad93f55570ae06c1f06df14801edb3ba4f28271c4e83c80dbba2fffe24c
+DIST difference-2.0.0.crate 147616 BLAKE2B d720202ba8d73fb9b3cc6a982208e4fbe22eda4b3e296f4238a7b2d8ed0339827ca5a3d93a983396901614a9eabe36a0baf55ecc5f55075ebf7fa1e4c0699eb2 SHA512 cc9956757770ecf237d8f46abef25ce219193c877be6cf83163e87c494956cca3202951ac01bba0728e7202fcde2261009c1b4599f389cf979858f25936a5482
+DIST either-1.6.1.crate 13641 BLAKE2B e5f40c40a5edb6dcb07a10bf79183cbe42438f1f70f3932dce72f6f6e91f75f24d17d82bc447507def4dad4345ffc9dd9162dde778afb253bdb1218e91887949 SHA512 4bfe56920e30cbc8eb4f90162db618f7dca653b42db35ab6a7045d3fd9a24ceb1778b1f79613850bdb1a87ad3794fa0d73015e46c48d513f368d8c3776fc9ddf
+DIST errno-0.3.2.crate 10424 BLAKE2B 3061d5a5abee015bf41c11ef31dd0f38a738c51992e3bf9f9ec98f67a87b88341c97901211718a5f103b8cf021c875f8fc799fb217ad69fd27371326b5aa40e7 SHA512 b728704f11cfb2bffd421ad39e7bab79b11e548e336e9dd1cfb902bdfbb78a8afb102ae5684fbd6ac4b01b12603a1011a1faa21cfd0702bb25a300364b17ff84
+DIST errno-dragonfly-0.1.2.crate 1810 BLAKE2B 781fc26dce5c33d83b9a1fd9be2b2ce9ac2559aaa858957ba6777e143b1e44cdfee48e1b47e3c91a95075a51921d1a421d0b45eb3d8de827cf4dd0ad744a7d8c SHA512 f853f1e1b8dd0f359a8f9a0399b3384c1103cd090d96e2b2204f91a40d40a9eb99383d4aa6a11e5470c51557afacf452d4be2049600d4235d27f59870fa3b916
+DIST glob-0.3.0.crate 18724 BLAKE2B 1f1dd380e7d668a0c2cff9134279ebda958b4bccdd4a65ff01f9665b45ec4cce8ffbd47eb46e52cf516c5fd5803561e6bcb60cdee21ddfbb8601a95d45500620 SHA512 87098ffdbc518442995c422120cef71f83069c8f88a1970ecec5105b0f284ddd92bcee929f5c230d5b90ae1ead7e1214c3eea26f4a8b26715a00c1ab8b09bc46
+DIST half-1.8.2.crate 41874 BLAKE2B c3c5c01771f05b7af652abb8e5490dde7afd04de130537e67845fe7ed58904e7ad66c7286a4e7deca3641876a6d12c5b6e95883fee2809c8e685d2f79cf96610 SHA512 5eb128e41b8b7f9769a669834b2f8380b115395bf2a2a181732bf6c71234d978dbc4c527fddadaa7bd7fae9add77958b27616bfa1767fd123d3cfb887663292e
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a
+DIST hermit-abi-0.3.2.crate 13783 BLAKE2B 43089507a5ca0731a9e9a54fdc8f4dd5f807244797eba5bdcc072c2c2b3761481df65b8cc65900769777d9d21f8345b502cb1915ec36747160e87f179469a661 SHA512 22901ec8976a7c96e93c9e07a2c5d3db49d7af60ce60c7ee6f61c3cbe93190d1f285e737c1c8b2236d540ab14e5d92e42828ec05f1b212332a862baf2b1b57f6
+DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
+DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407
+DIST is-terminal-0.4.9.crate 8109 BLAKE2B 0fa495da123f6fe5e3ba5f643f1ee097fc4f8e8aa54d9525b6108855a6a2e58556534a5e8dbfe7b5f8e2f1932003ac63f6aa3384317de7b385cf724bee294468 SHA512 0803ea53945715333d9b5fb18feec7230a49cb1a5f7308e2ea8d06a650e376794dd372be111e85622fd21320228706dd589423510dd010cd6ea112f185c46966
+DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3
+DIST itertools-0.11.0.crate 125074 BLAKE2B 8e686f176764e92e4da3697eb781e1bc30d6c57ac61d97343b4fc3a48e4febf669d5771fa8620005c620cce52c236760ee2e1bc344cf602e878bc168a2e69cab SHA512 8ece00ba0a7cf481ad4586da24385a6f0b1719b9c3f0c25b9b5b373dd1a0ca7b9687a77cd179853392890b7bf4d31e0356a4e5fd540465b4ac62bd74ef717fd8
+DIST itoa-1.0.2.crate 11112 BLAKE2B e277db8e2f506d4d20b6888b609d9726d594e1cb2c9f21df60a8cf8dcbad1808d8c1bdb0b7857ce7734b92c0f23fb1ec56f8564e779f27eea953d0ffbfcd3f84 SHA512 44a732a102d60b58e72fe76c43a1d185fa12ff08d04eeacf03234368552f84d3de87a2ea0a6e7a56b8cfa74cb6f6697005afcee26f45afe0c2fc7dce5da3b593
+DIST js-sys-0.3.58.crate 78794 BLAKE2B d664fda1e19a7ebb621596cd4773e7ebe86b3749ec8e0e45477d170aa472a80a75bd0ca7f6ca47c9aace5e3962451039b1bf44615ac77ee4db21f46d673943e5 SHA512 74656493c36d9110aae99f58cf1f72a1c89bd971c574ceef8194f68387bcefaa5e93aee736b41a1de1c192113257bd544948dd79a227b5451d13ba2319b58a15
+DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
+DIST libc-0.2.149.crate 715592 BLAKE2B 21dd5d4f9351f3c75790077c7b025046db665f2d48d7a72cda7667bc60febf79d82708cf7d39a323a594397cd590bd3d2a2f85349b4473b90ea4da918382ed0a SHA512 0def64d400d473d6eed30e985522d36801ee6472b15f90e74dc4592e0a8ffbaf30b731be280de52b30255cf60aeca8efe817b67049227dc7000c807e007d7289
+DIST libcst-1.3.1.tar.gz 765034 BLAKE2B 0a7a4b26402d0f7cae851eb2d5a45b845ce42878a30cd9608eec85d637e43874f4d2ba591486684da1bca4711b08046e518892a5a1864a91af9fc17d5108eb53 SHA512 c5ac467bab0ff2808db4510620444cb7705d1af88f0e3f41c43c9ab493206d58561ca2ffb9ee98f14286ee182b4271103d9ca3c3935fef5a8f8dcf60dfae5b50
+DIST libcst-1.4.0.tar.gz 771364 BLAKE2B 8ff1eac643b78e25e295d878bb4c74b503911083f4781fb3be162ad679fb92dbfcb77d85d3dde9413bf041f2fc73d5c1b5a293e167df753ae54781e6e6e4de95 SHA512 4f83f072d5adf120be80713b9553261fcd40842fdca4eb29a5d2beb2d6581f02d7c7eb77770845f183860b23f91482907df847e276d385f19e802088568eadce
+DIST linux-raw-sys-0.4.10.crate 1407767 BLAKE2B 8bc633d99bc1ee1a6fdfa19501fd034a4475fa9ebe18a206e4254309d91aee7a91fc70faf9775efa5157a1b2fb7e5f827bde40a770b066643356113f2cf38b5d SHA512 107f61add087bff55869798d5c71bc6ac9ecb27a603d8f9071b856189de8b7b0a7f9243fa1433700f52a0c3020eff5604dbf6e0653109d0dd277b98ab45fae21
+DIST lock_api-0.4.7.crate 25371 BLAKE2B 9ed08433ffa70af60193dcf307287991a3154f0ef16b485f32a6c83e64962661a6e08ef83a6b217d6cbf5bd964c0638d8ed86b290087677c1fb3218321c4bbf8 SHA512 b1a5227fd131edaa70e017f7ddb43af8b4efa58488007b898ca1dfc818a3a441b732b7adbf1270e72a68ee5d2a99a5d48f33b2bca8e2cf78694953d20d27636d
+DIST log-0.4.17.crate 38028 BLAKE2B b46be3719fc0a53e50b1f342762e188587e9f1ceb692c72473ce2663edfb8253742d30024e68c1444780ab7fc0e2d5b0601b8ea7228dc3405a9342a57548e605 SHA512 2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2
+DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa
+DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f
+DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
+DIST num-traits-0.2.15.crate 49262 BLAKE2B 942ab170b2acce1cb40e6847f766bf810a79edd293d34f3a27864f464c16fe2b99fb13171ba429cc6d584248de879434beaadf1b231a4001b0e8389ed6c1be04 SHA512 5228498af0f15daeac3c9210f3e6e71cfaaeb30beea81dd37f8eb06b9592c8bf3226a47597cd8592ad4c513964a9a40f1ab2c33102ef3dfe3800d22c8d4528e8
+DIST num_cpus-1.13.1.crate 14752 BLAKE2B 27490aeee349d944c29e50b44e9a84371030459353a9316ffaa0245ce499df4424e39c25a81be59cd0f9a19c3214c78bdc7a84b632059282be476d8f918c44d6 SHA512 91ffe0ec792228621d6c2d5cc544ef4744203d19fc9c86e0aad2610038c43aca0448b6c27d82979417a0f6c939ea73523303a44c28df0d1c1b8d09814d5306d9
+DIST once_cell-1.16.0.crate 32120 BLAKE2B 59bfc8a44f1fec72442e3d34bf4be3a5af073f854f07b3618b2857c759dca4a0fa6ba358514ae28c25d745b01bb7b390ffe9ed6e296d163fd3dd67e49092b87a SHA512 bc199570ee43bde9245a2c4637ae738e370ce9988635c8342349ceb6fb158f376247b69f9ec4ea0e6d76b934decdc77a524299ebde96c0a2c2d29d9501b9a568
+DIST oorandom-11.1.3.crate 10068 BLAKE2B 443ced49f63015823866257a36a88e566f75adaa79511c1c73f1190ec8855ca590d2b6ece07c2ad5e9e47a89f7891af6e9e43b7d74d9ac57cb3551e60b50aca1 SHA512 51ae60ef51da56d7673f36a6c5b99b743580c5f5be54fdcb54b69e5e2f6bbba3267f96b74e7cd6dee6962dfa6696fd9ed073f22726a2861b8f2601946a8efab9
+DIST parking_lot-0.11.2.crate 39869 BLAKE2B 67c555e87b68f5763a7790563fd8d542e126bcb77f91267f3b76c51fd73060a2c32dcb91f9d0db7ea772e555d91576c8d7ff48053a9c35fbd3b749d2459a660c SHA512 526b176363dffa59501c18324bb723a3846ef5b0ff9bf1d890e40ad10e7023284f7c8012eda87520eaa94515ee828d9ef52692a9ed590a55e176383d6d472f9e
+DIST parking_lot_core-0.8.5.crate 32466 BLAKE2B 44d9cb65444ea93fded7e216e3bdbe2256ba1611f5cb6f80d67a01e71d428b81e6c7fc73cb928e2125f34bac0abf4d1da39f622e813dff89b01fed7632308b7e SHA512 c4315df551748d1ae77655e4d9f8c90f911498856e5358009e9e02e410bb8085f006f369188b0753a298371ebd74a5c383d848b65e31b55f3462381308c83a00
+DIST paste-1.0.9.crate 17752 BLAKE2B 5480193f6e99b13a887413c5b3522a0e9c670ba9685a86bee1c0b0353e1e2b9505de914b30db18106346b65d0c1e3ca0b7a3d88561a174e9d5a4cb1145f81997 SHA512 7e35cd5ac36b2414b67aa0cbbd6ba42dfd6f0a652f258d0a76134a3f185f49f0fb9a75e40cb03c262adc834ac53561b08eef3f487e62215726d662ac181f8a59
+DIST peg-0.8.1.crate 17093 BLAKE2B 9cef0848d005fac3cd767dff16c1226bac39b1fbf9ab4730a03226249c672fc7d75c964eee0a6c109e631a43a1d9a161cb1093d2e98c29e03631af47c133b681 SHA512 e2b88ee2f55e1761b46191bd79a945261bbc7ce327a98cbd47394e5d60608a47cc845cdb0d834149e43d694ff542fb9eadbbc2b628facfe492f89a6bd1786d38
+DIST peg-macros-0.8.1.crate 27881 BLAKE2B 70705aa86c901bd54cfc8e1bc37d5cfcc4e932e2953e4b2f70be862df938d5e0b57258d0ff7812f217ae19b9dbb3f2a40161a2392d4877b040892d8c61e22593 SHA512 84f7fb240ea3c543df4d28f3bbcd80fa6d68133af3557c214eca2298a8e988dbbea84fda85fc87d1f1149dcf4cf6e8b83e23c3a75525409aa0d02758fcf2cfc1
+DIST peg-runtime-0.8.1.crate 4019 BLAKE2B 48293433e655ee0a243361f1af0fd35160a32a41cb40d5acbbffafec0d9adac9c7b01668288f4108d896c1509abccedac5ba9c08b2ab38482efafee2394c66bc SHA512 360677e388c0d98053bf60d7ae003bafae38e892d4f30e5f31f6fe26f13e236aa1e0dfc7c4d741604b4df601a1cbee376b5a32078ec6b0abe0b2062ab0d136cc
+DIST plotters-0.3.1.crate 8595577 BLAKE2B 7c500c43c2b2875d9dc17e4eab57cbd8a470c6064deadf4e78c429abe2f1e97511f64bc67782b4e03e7cc47c8ac54aadfa5f7cc8c27d3b4453d2ee8252896c99 SHA512 c7bcdf9da56c2d1c03053f61256d44d2384fac1a9a7e0db058090c13b359bce76a2a96bbcbfde04fdcde0a9dd3db8a1a22bc57508b0b6e4a374c8b35ec6c9707
+DIST plotters-backend-0.3.2.crate 13524 BLAKE2B cfd42df0fcea4e5ee944a6b8c48e3b7fcecefd6d97f07e1c333067193c211da9eba29fb56e9fc8b861cfa2d1baa3c042fddb494bb66b9109656b26bde7901f7d SHA512 116bc6866094a2ec40a9ab9363378566ff37eeb4a4e3805562dd3e95f1d5e8664b54d3dc858a2c9974b125e308e46b77c294de2a655f836d342712c32f0242a3
+DIST plotters-svg-0.3.1.crate 7596 BLAKE2B ac8dffc5dea833c0506c472567056be0804e5519828b68f7b3bec9ee63dd59f9aa828c10732a50e004214512df06c7eaf164eb9613cda75b2753270fa358c0d6 SHA512 4d3cd02534440dc26f5eaa3b4966081901626c61d9fabe0092fed87c48929cb9be070d9c34486fc7c7bef308337ff4890d30f9581a613549e507db60dd9d8876
+DIST proc-macro2-1.0.70.crate 44343 BLAKE2B fff0dec06b21e391783cc136790238acb783780eaedcf14875a350e7ceb46fdc100c8b9e3f09fb7f4c2196c25d4c6b61e574c0dad762d94533b628faab68cf5c SHA512 ae9366856853f7d96caf7a7581843d36bfc7843f8683897b19ffc666c03b0b1eff502ddb18ca4c1c1a239a368f03f6cc258b0e2795f64b61c6a31404462eec5f
+DIST pyo3-0.20.2.crate 434326 BLAKE2B 3114fd6f3fb8ae7d1b35c9d2ac5ba6a49c5ac911ee3a5b941c5063263ca7cce47fa4b4f7ec34cbfe3083f3d1303fd7f061639fba833a04fedb9d5098f5784028 SHA512 cc5151a116179157046ec92677e5a72318b4cdb13a7d7e3bb83778739b5758040e5020f667dd83554a66b758581a08f5de05eb38e7b339813cec85e0712e6355
+DIST pyo3-build-config-0.20.2.crate 30029 BLAKE2B 846eb95d1417a658763417a2750dca1c55201105a3978d61b1db5e3962680ede188f8285dd7deec778ea9860d43e40513b88f5a54f0b1881b08416760bdbbedf SHA512 9dbc669ec69d38716c3909fa8f3b6c5be13c717b20bfd5dd11edab59b8eb35247d7996acd260fec88f92eb3e71248c86e9b40c1a700827889e2990bba20ecddf
+DIST pyo3-ffi-0.20.2.crate 64601 BLAKE2B cf1141ad34a13dcb46de0d1e15dda192ca41a7441bfc92a9295861876dcc690d1d5d6d39dafa51cd70c4627353efa91563eaefee8c39f655d12818003f9524da SHA512 ee6386b6fdb80689d104f9cd5229f02e1893d00a52be710bd36882c47305abbe24ef2f3cdef8200fddc0bb97e29001fa3a2fd9d3d2673ecd9a104a070420d01e
+DIST pyo3-macros-0.20.2.crate 7925 BLAKE2B 00fc60becfa39bf452786d8a612247785f1737cc3e627700d0d144ab2efaadfb34ce8a8f46e932382a1ea99caebfe1946fbc517b5c26fadb0822ecaa8b2e9df0 SHA512 dd9ea9acda95dfc53689a4c26d8c2139f8a90a05ab06737037f19b8bccd5e52b0da5f297a29194b958f5f8b59cbb566b5f409b3f17a863eddf855ecb755d2719
+DIST pyo3-macros-backend-0.20.2.crate 49710 BLAKE2B 711b18984e61219555df4b62667f7f376951c6cb47e6dd947fc24618b923c4f4f790eb1aba1901abea4761632cdb58cfa81cce91f33586da3022e6c7d126bc9f SHA512 c6ca2a2cdae8630fba3f8e4122e81b60ef2ef0905ad2a3fbcfae134456d5ca9e73690b61590e391f3b9d82c24725809f18544c5dfa0b36ffdb1914844fe65d3a
+DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c
+DIST rayon-1.7.0.crate 169488 BLAKE2B 518f0eda1fcbd1b1b230587ea18cab0023a699e796c819bf35a6492b7edb051137446bfbc49aaab0a68aef8280c970ad14301a9f8f7461d537af119a65b33a38 SHA512 d999c811b701d0aa4e547234bdc20a7df56728e142c4aa882bae081b7b057e8c3a72f4a62fb35535e57501e8c2ba7ff072068b59d6b5374e9ca6bb66cc0984d3
+DIST rayon-core-1.11.0.crate 73118 BLAKE2B 313d65bb6e3a010569b317b32ac91c72e38282f4fcddbcb56ffa97de42d88c0d34f35f76b62e1ad60ee96b596aa681caf2071a8d5dfdca085fb1fbafb07c3ee4 SHA512 00ac782f49d688da90e823980e83b5ccd858f93769e2d801061fdef78728cff37d3a9fa4fd47a5cddb058f28f3289de349f8c8fdd94fa2f8c400d73bc4529800
+DIST redox_syscall-0.2.13.crate 23759 BLAKE2B b59c3e923b7bddc84285377eca86e649c21ee7dd61924245d43c6554124adf689f9b92841ca64876b34797249698511b322f6e8e639d71e45e1ae9da5f8b7834 SHA512 6551f503ba52c4edc0cb4a418ff212188ddc7be80dcb39eaf3bfb82faa9a76cdf359f604d6b32be6c6a335b54180c9399a0e32670333a5a08351957308486100
+DIST regex-1.9.3.crate 252676 BLAKE2B dd419b02b7dbd28a71e14c90bc538e98a63c0b9cc2ea01e7d8f6a0075c723c42c3d7bcbb45391431dec3008e6709e9d1d396d8e505f7f8d5d3a629ededf74b4d SHA512 ef5ece7d2b80a136d437ac42c5395cb01f6d357dcc490c8f6c89657f3f97af6befcc699008535c27583d7354e979418d1d933e36e8774ff2bb62750b9009d5d6
+DIST regex-automata-0.3.6.crate 607174 BLAKE2B 6d02512501b45b0e87d8746c894009ec669fbfdeb742966e8ba8960ebf692f3b2c3df44ce5ee03e7d5320136709ad83b532dbc322a779e3c21ff0f65768c0d0e SHA512 ab3da2e63ff2c6a4da2c149dd34e565303f961f38547db7b34fbe984cf90aac107d4ec116111c765c9b71c4bf26022742151e1d4c5d01a6beac0a8a0887e30ce
+DIST regex-syntax-0.7.4.crate 343365 BLAKE2B b50c01f02e08729496e8bcf023949d088463bf62348b4a1043fe5205650da37863b2ca51f683662a4df33bd56085e0501e50410106c9c471a0daec4c71dfe945 SHA512 b33713c71f6f753820ca6405e8415e5eeed457efd01e81b0b720e48c135b9bb0973962269587ddca31350233aec6d3f598596cb48310db0633bf67f8970f0e18
+DIST rustix-0.38.19.crate 357358 BLAKE2B 02968a58324ee719d424d0087ee7fed8b83979ab5be2aab3738cb577ef2c09f01eeaf1bbf12aef6c56c61c01b80600beef22f663301db0dcc429c6232ecb3b60 SHA512 1ea995a053d1bb36ff1459b5b25b2ec7d02e28a2973554737688f61079bdf1b87c8c139b0284beeea26a404ba3b9e2e4d4d61b13524dd20e15acc2b7218118af
+DIST ryu-1.0.10.crate 48485 BLAKE2B cbc0ab4e0b2031f4ca3a34914bd61395d14706d42e2414757aa23a67530d549382d61b630159c92a169d1dd3315951b0071ff18349d2b090ae262de536aa29e2 SHA512 1bd0af71a20715251dd42596df6e7677e44f712bbb40b0d9544109c1b2478a7bd2c9393535f0d4f3bfe2d1b75b3a2b899044051715a7da7d165d6d586e0775f2
+DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c
+DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
+DIST serde-1.0.145.crate 76568 BLAKE2B 2d38e4ced18d204d8c36122ad09fc00f0378c7e9014d3bc67fb7c3e5ab0f923aeabb6a5fefc8699e80e220b12601d01dbe3ae5267a124164bee2e4d9897aa0fd SHA512 8146c39249ad54028717bcfd916fa5abd8b1ddaec54c4d0de485bf10cb6a85676a53068a07b9563e1717fedb4746ef672ae0c285a8998543cf92d7a157f2d442
+DIST serde_derive-1.0.145.crate 54860 BLAKE2B 0c80f1b8844e044bce28c3fd8e46ac732de21736622fd7b2235c41d9a909d7ad224e8e7ba5fa3e5de2cfba5e48a4116f97e9b7eb31b0201c01bc98d40a78d16d SHA512 267389f8cd6d3a7b7d4a4d3226346999294e2fbef7446ff1cd1183dfb4fd17409f5891f6c2cae113b79cffdaca07f2037fd2f4108f93723e6baa5153bb9a61c6
+DIST serde_json-1.0.81.crate 144480 BLAKE2B 3c95d56e65c6673ebe9ef0aa41ba184c5246cbcfb0dd9edf8e87ca6cab736d195ce8b6349846806ba7047854d579517d2d19bbfa932c90b700f06e54cf49b131 SHA512 9f224b2182db2fdddfe1878d05d857c52a60a38f9b4fdfc87c09c20efc8b6ec2419bc60e4b18a0852ed080b09332773eac372f8356af5ac0ddf3da8212345cb8
+DIST smallvec-1.8.1.crate 28295 BLAKE2B c776b37e8cda81fe1df6ace794739b7e0cb1e3c5d5c1ffa57656ef0c0d0aec354c2c93ae23ff895996ab50a26ced28b913fab89ced27cb2f1d15568ab45957c7 SHA512 e93cbce48b81fe1a26d6016ad15b27ede8ae7162933e8923d3eb9c93f61910fee177c1aff16a1dd60c9917e41f8b7e474601a60c6d6d6867ef33c6d2e5fdf688
+DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
+DIST syn-2.0.41.crate 246016 BLAKE2B 9d389f2e2a0acb4c84c309456e8ffcc88c5d4d541535ed136832d7a6054dde45a598bb68e8a6f3062ca2a96e1ceae947d54b3aec9bad65b0c51d6733aa6c80db SHA512 6bbaf69ca783025dfb81ac3612ac60bfbed31b2d87792909b35c12892dadebdaff2ddf9463105e536b671dce5870610ab90fe29471284bbd3014dca8d6993f1a
+DIST target-lexicon-0.12.4.crate 23020 BLAKE2B ad9780b9478b00b4fdcb07bd016d83216695413090ac29cca06388c3790e2832c978b1c7e69f6d34bb6fc9adc39c0a0b6b6636e50a9715a9f5f16445dba22d19 SHA512 194fe1946ad8d9fdb383bf8a65374e24d216382c1ed5379dabc98d58842512624c32838b8d6d0658d866f6559d37f1343a30c5809e8914dd85790399252b3e06
+DIST termcolor-1.1.3.crate 17242 BLAKE2B 5aef69c0004081bd3cc4d531d13d63627cc02313868c0faab62358d13abfa7b4ba82f142c2801d25a6ae46ecbc8b7bdbeaa21c9105ea3b8950ab6a38cdb88513 SHA512 5838fcbfd70f300cb4b62aab50565db52074c56b152ccc8ac1173e4676c0d5a636271bf5a645a77da6e1d4edbf0091af2cd4dd6d73b85c3d198c760898c06f3a
+DIST thiserror-1.0.37.crate 18752 BLAKE2B b8d792715cfdffccba72af132e414a6ef28f8e4dfc0608bea49bda1bde5b6acb13da24feaabf4467b8aeace9b6d90a97e2202f7d24bfb753cc4019c2243bda25 SHA512 07f0cf9da1bf1029d70c1b6f0c54bc41ed759214683f35cf6b321ec2d69173e3da0abf80a692115a1e4630400b1fbf462878053853fdc6026edb40f7e13be72e
+DIST thiserror-impl-1.0.37.crate 15428 BLAKE2B d91e9f058e1a2b722f604d9a399c0f291c5309299c4bc103427f8927ba41c9937c7e7cd4c0f394dfb9d96799be8a3d5b33f8e869045f58228a43354dead5117b SHA512 37d90875118fe45b51afa89dd0acfbe4d9852b899ad391b419b5181a92bda115cf5569ffef57caf6020964d5d847c2b1f191c99e2c0caf7d4166f531bd19f952
+DIST tinytemplate-1.2.1.crate 26490 BLAKE2B af39d96f33f63238e455a4e38fde1d1730fd9661ae68be7b05df6ef9d2ab1a04db1332cc4ec9deb6da3a8e22b124df81b0fa8916d8491b808742bb733c8e48be SHA512 0cc080057e096f0796e72004343e1a8332c2e8a12e43f6ade150ebf632e9c29c7ad04de0b940cd57df81efdc4d07a6607da9b86a30d8383e39ac3d7be185edb9
+DIST toml-0.5.9.crate 55667 BLAKE2B f2bbcac136e0182cad9b51f07943610c8700b68afd08fdbb822b47bb79d215e8132376da8ac61fd550e86c353a83b007297b6ac92ef5d503e1b90e746c40c649 SHA512 7151bcafbe2bdb1d2bb91562daebd357c884819af047843f1b4a56bc3812d4153eaf70683d0f9bff51bd1048700920322d64d41da13ebb4cbf34f0f7822d7ce7
+DIST trybuild-1.0.71.crate 38006 BLAKE2B d3c4b93148a17e176f76c947d267a83a82606c2a31e8e487bbff1eea4e9385b6de7d7f0226d14cb89fb7552490209c06d2ff300302df86865d434021a390e566 SHA512 d46bc06b5f3f1ed92231745a7f7cbace77d365242742eedc5f6d7c0246549aa69d3713e3179c5449956d70122cec217d800b0111a0717c5f2f88dc2e55d986c7
+DIST unicode-ident-1.0.1.crate 33770 BLAKE2B e028e9f1d6c01a7a37c8f9ecd6b1d99041b45674bc7699066bb7479822cb8d5a1b4083db1117d9d44ab05096d8a37a9bd5d93dfe8cc5db6bb58950b4f5d5c8e8 SHA512 505650712a51c6f309c97bf72029de1eede33c71b84de9733f5f987859a61225e3d07d369b85a89797d870ea436f30b5b5046306f3d5fd672551a4b30c43e428
+DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
+DIST walkdir-2.3.2.crate 23516 BLAKE2B 473f2b51aafd6ac17e5c3da8d545d179b31486b3a65ab39fbd8bd7fbb2ebcc24bebf01781200a26a68f0b1cb464f5763a919aead3b03eba5a7e1be6efec5500b SHA512 6c44071354faf37720ec4117ded34c8d530489542ee107ac26a7a56ef4a882b9003e22e84f1d61f6078643521343e35aa1f7b57c838779e78e5937a667bf82da
+DIST wasm-bindgen-0.2.81.crate 165467 BLAKE2B 4b02ad703362d89c280bff92552a632b6cc50a586db4a476fa4f476118b94a89707712c1f6ff65c49a4d6001e9c9e16922a35e36b315b8f544e261ceb43dd5a4 SHA512 dd9a9902789dc8c7c3a8107c52018783b505efcc534c94c95ce55ad735c51489c928f767c319d97f78868a58d4aff7a71b2d1513350c30adb9122401b493906b
+DIST wasm-bindgen-backend-0.2.81.crate 25737 BLAKE2B dbfbd09a4d5a1c585fbd8cf8a29dd375c887e77fb5759c74bfbf0dbf012a0340df06f063e1a4908a80a2ff8298689cfb92ef67707e5d2e163abe155523c2029c SHA512 0d3b14b530adb2a32ad3ea169f0555973a25232613ff4269600dc1e86a6d75e4717be2388f132b6bab9a12625f645f644f59dc30a0b4ff3f20c20106083bcfa3
+DIST wasm-bindgen-macro-0.2.81.crate 11796 BLAKE2B 3fb6a60ca59279d3921dd65f7e7d4d91a457e31524671d465c5ce8fb31db7f28f49d80fc0161c2faa9f5a7dbad4c44584f0fed6177e8908de2a421951c62479d SHA512 f1164f7a4413685ec34e22c462b4a4cbaa79eba47079d90b7e15304db222afcc8e966f3bc994a231f21e29ba68a844b3e6622f840e0c335d09201c1dfa046ea3
+DIST wasm-bindgen-macro-support-0.2.81.crate 17855 BLAKE2B 2afb7807913ba01d99ea93030461842b7eeb405f4be0f0d671e1d430b6cc0aa111518c9549b71c8a94dda418c149050fc9d0613e10cdc7fd0dce354d87b8c4c0 SHA512 1fac5ac8b546e4fe55484649d7e2a39537b49797e20a2859a17ac98cc8c25cb3d91dca09e94c33651b9963efed6045ddd79bf646489bbd11065c62e66a59cda4
+DIST wasm-bindgen-shared-0.2.81.crate 7194 BLAKE2B bc31b0e75cafc2dcd207ffcf44b9ae84de4e5bebebe471404736352e9aaa1c2da45e22892a548c05cda24750be028dcaf66e6529d1ff2f833986ab2085b74fb9 SHA512 5ca631a720623e42caf737d3f8faa4961a051eb71b6b0854e4f697f753889cd58df980962d39650acce7712449ae50cf86effa542bd85e451cdb86767aa7ab34
+DIST web-sys-0.3.58.crate 696212 BLAKE2B a76b29a2a1b46239e1e6b134004bf43bd127466d9920077196e59b3ff419e059f433f94a68c24f3a6361d4f751ad3b69c6bfa67cacec0f0a2a58c87f319cd475 SHA512 58215a0d34bf0478514affa8d85f46017ab565b1dafd36f98a1d0f93e04f909b8b09348c06a189700111b5a8bee2049640a3a3a1433c4939e60bb12f32092b05
+DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-util-0.1.5.crate 10164 BLAKE2B fc800aceae5249a858c806c3e969ef2545766099872d856ebee51c883d9acf1122278db9607d50ca53eac351502b700fd2463900932d342240f97f683d517963 SHA512 7baeb661f397c4693dfa001fdc774b323c51a7c55caad40f2de5112a1cefd1d6151e3df41fa4ee193460a5905917c83d2b1de5fa10b4bd014ad96690af95c0fd
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed
+DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
diff --git a/dev-python/libcst/libcst-1.3.1.ebuild b/dev-python/libcst/libcst-1.3.1.ebuild
new file mode 100644
index 000000000000..19fd96d2908f
--- /dev/null
+++ b/dev-python/libcst/libcst-1.3.1.ebuild
@@ -0,0 +1,187 @@
+# Copyright 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} )
+
+CRATES="
+ aho-corasick@1.0.4
+ anes@0.1.6
+ annotate-snippets@0.6.1
+ anstyle@1.0.2
+ autocfg@1.1.0
+ bitflags@1.3.2
+ bitflags@2.4.0
+ bumpalo@3.12.0
+ cast@0.3.0
+ cc@1.0.83
+ cfg-if@1.0.0
+ chic@1.2.2
+ ciborium-io@0.2.0
+ ciborium-ll@0.2.0
+ ciborium@0.2.0
+ clap@4.4.0
+ clap_builder@4.4.0
+ clap_lex@0.5.1
+ criterion-plot@0.5.0
+ criterion@0.5.1
+ crossbeam-channel@0.5.5
+ crossbeam-deque@0.8.1
+ crossbeam-epoch@0.9.9
+ crossbeam-utils@0.8.10
+ difference@2.0.0
+ either@1.6.1
+ errno-dragonfly@0.1.2
+ errno@0.3.2
+ glob@0.3.0
+ half@1.8.2
+ heck@0.4.1
+ hermit-abi@0.1.19
+ hermit-abi@0.3.2
+ indoc@2.0.4
+ instant@0.1.12
+ is-terminal@0.4.9
+ itertools@0.10.5
+ itertools@0.11.0
+ itoa@1.0.2
+ js-sys@0.3.58
+ lazy_static@1.4.0
+ libc@0.2.149
+ linux-raw-sys@0.4.10
+ lock_api@0.4.7
+ log@0.4.17
+ memchr@2.5.0
+ memoffset@0.6.5
+ memoffset@0.9.0
+ num-traits@0.2.15
+ num_cpus@1.13.1
+ once_cell@1.16.0
+ oorandom@11.1.3
+ parking_lot@0.11.2
+ parking_lot_core@0.8.5
+ paste@1.0.9
+ peg-macros@0.8.1
+ peg-runtime@0.8.1
+ peg@0.8.1
+ plotters-backend@0.3.2
+ plotters-svg@0.3.1
+ plotters@0.3.1
+ proc-macro2@1.0.70
+ pyo3-build-config@0.20.2
+ pyo3-ffi@0.20.2
+ pyo3-macros-backend@0.20.2
+ pyo3-macros@0.20.2
+ pyo3@0.20.2
+ quote@1.0.33
+ rayon-core@1.11.0
+ rayon@1.7.0
+ redox_syscall@0.2.13
+ regex-automata@0.3.6
+ regex-syntax@0.7.4
+ regex@1.9.3
+ rustix@0.38.19
+ ryu@1.0.10
+ same-file@1.0.6
+ scopeguard@1.1.0
+ serde@1.0.145
+ serde_derive@1.0.145
+ serde_json@1.0.81
+ smallvec@1.8.1
+ syn@1.0.109
+ syn@2.0.41
+ target-lexicon@0.12.4
+ termcolor@1.1.3
+ thiserror-impl@1.0.37
+ thiserror@1.0.37
+ tinytemplate@1.2.1
+ toml@0.5.9
+ trybuild@1.0.71
+ unicode-ident@1.0.1
+ unindent@0.2.3
+ walkdir@2.3.2
+ wasm-bindgen-backend@0.2.81
+ wasm-bindgen-macro-support@0.2.81
+ wasm-bindgen-macro@0.2.81
+ wasm-bindgen-shared@0.2.81
+ wasm-bindgen@0.2.81
+ web-sys@0.3.58
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.5
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-sys@0.48.0
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="A concrete syntax tree with AST-like properties for Python"
+HOMEPAGE="
+ https://github.com/Instagram/LibCST/
+ https://pypi.org/project/libcst/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT Apache-2.0 PSF-2"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/pyyaml-5.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/black[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/libcst/native.*"
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # fuzzing, require hypothesmith
+ libcst/tests/test_fuzz.py
+ # require pyre-check
+ libcst/metadata/tests/test_type_inference_provider.py
+ # requires `python -m libcst.codegen.generate` which has extra
+ # deps and needs patching to work in our venv
+ # TODO: figure out if we don't need that for revdeps anyway
+ libcst/codegen/tests/test_codegen_clean.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ # fixtures
+ ln -s "${S}/native" . || die
+
+ nonfatal epytest
+ local ret=${?}
+
+ rm native || die
+
+ [[ ${ret} -ne 0 ]] && die "Tests failed on ${EPYTHON}"
+}
+
+python_test_all() {
+ cd native || die
+ cargo_src_test
+}
diff --git a/dev-python/libcst/libcst-1.4.0.ebuild b/dev-python/libcst/libcst-1.4.0.ebuild
new file mode 100644
index 000000000000..2168ffb417d4
--- /dev/null
+++ b/dev-python/libcst/libcst-1.4.0.ebuild
@@ -0,0 +1,187 @@
+# Copyright 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} )
+
+CRATES="
+ aho-corasick@1.0.4
+ anes@0.1.6
+ annotate-snippets@0.6.1
+ anstyle@1.0.2
+ autocfg@1.1.0
+ bitflags@1.3.2
+ bitflags@2.4.0
+ bumpalo@3.12.0
+ cast@0.3.0
+ cc@1.0.83
+ cfg-if@1.0.0
+ chic@1.2.2
+ ciborium-io@0.2.0
+ ciborium-ll@0.2.0
+ ciborium@0.2.0
+ clap@4.4.0
+ clap_builder@4.4.0
+ clap_lex@0.5.1
+ criterion-plot@0.5.0
+ criterion@0.5.1
+ crossbeam-channel@0.5.5
+ crossbeam-deque@0.8.1
+ crossbeam-epoch@0.9.9
+ crossbeam-utils@0.8.10
+ difference@2.0.0
+ either@1.6.1
+ errno-dragonfly@0.1.2
+ errno@0.3.2
+ glob@0.3.0
+ half@1.8.2
+ heck@0.4.1
+ hermit-abi@0.1.19
+ hermit-abi@0.3.2
+ indoc@2.0.4
+ instant@0.1.12
+ is-terminal@0.4.9
+ itertools@0.10.5
+ itertools@0.11.0
+ itoa@1.0.2
+ js-sys@0.3.58
+ lazy_static@1.4.0
+ libc@0.2.149
+ linux-raw-sys@0.4.10
+ lock_api@0.4.7
+ log@0.4.17
+ memchr@2.5.0
+ memoffset@0.6.5
+ memoffset@0.9.0
+ num-traits@0.2.15
+ num_cpus@1.13.1
+ once_cell@1.16.0
+ oorandom@11.1.3
+ parking_lot@0.11.2
+ parking_lot_core@0.8.5
+ paste@1.0.9
+ peg-macros@0.8.1
+ peg-runtime@0.8.1
+ peg@0.8.1
+ plotters-backend@0.3.2
+ plotters-svg@0.3.1
+ plotters@0.3.1
+ proc-macro2@1.0.70
+ pyo3-build-config@0.20.2
+ pyo3-ffi@0.20.2
+ pyo3-macros-backend@0.20.2
+ pyo3-macros@0.20.2
+ pyo3@0.20.2
+ quote@1.0.33
+ rayon-core@1.11.0
+ rayon@1.7.0
+ redox_syscall@0.2.13
+ regex-automata@0.3.6
+ regex-syntax@0.7.4
+ regex@1.9.3
+ rustix@0.38.19
+ ryu@1.0.10
+ same-file@1.0.6
+ scopeguard@1.1.0
+ serde@1.0.145
+ serde_derive@1.0.145
+ serde_json@1.0.81
+ smallvec@1.8.1
+ syn@1.0.109
+ syn@2.0.41
+ target-lexicon@0.12.4
+ termcolor@1.1.3
+ thiserror-impl@1.0.37
+ thiserror@1.0.37
+ tinytemplate@1.2.1
+ toml@0.5.9
+ trybuild@1.0.71
+ unicode-ident@1.0.1
+ unindent@0.2.3
+ walkdir@2.3.2
+ wasm-bindgen-backend@0.2.81
+ wasm-bindgen-macro-support@0.2.81
+ wasm-bindgen-macro@0.2.81
+ wasm-bindgen-shared@0.2.81
+ wasm-bindgen@0.2.81
+ web-sys@0.3.58
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.5
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-sys@0.48.0
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="A concrete syntax tree with AST-like properties for Python"
+HOMEPAGE="
+ https://github.com/Instagram/LibCST/
+ https://pypi.org/project/libcst/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT Apache-2.0 PSF-2"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="
+ >=dev-python/pyyaml-5.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/black[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/libcst/native.*"
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # fuzzing, require hypothesmith
+ libcst/tests/test_fuzz.py
+ # require pyre-check
+ libcst/metadata/tests/test_type_inference_provider.py
+ # requires `python -m libcst.codegen.generate` which has extra
+ # deps and needs patching to work in our venv
+ # TODO: figure out if we don't need that for revdeps anyway
+ libcst/codegen/tests/test_codegen_clean.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ # fixtures
+ ln -s "${S}/native" . || die
+
+ nonfatal epytest
+ local ret=${?}
+
+ rm native || die
+
+ [[ ${ret} -ne 0 ]] && die "Tests failed on ${EPYTHON}"
+}
+
+python_test_all() {
+ cd native || die
+ cargo_src_test
+}
diff --git a/dev-python/libcst/metadata.xml b/dev-python/libcst/metadata.xml
new file mode 100644
index 000000000000..2d277a084361
--- /dev/null
+++ b/dev-python/libcst/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">Instagram/LibCST</remote-id>
+ <remote-id type="pypi">libcst</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/libevdev/libevdev-0.11.ebuild b/dev-python/libevdev/libevdev-0.11.ebuild
index 7417614b81cc..6b5ec029cf4d 100644
--- a/dev-python/libevdev/libevdev-0.11.ebuild
+++ b/dev-python/libevdev/libevdev-0.11.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/liblarch/Manifest b/dev-python/liblarch/Manifest
index 641ffc51b3a2..24c50b543486 100644
--- a/dev-python/liblarch/Manifest
+++ b/dev-python/liblarch/Manifest
@@ -1,2 +1 @@
-DIST liblarch-3.1.0.tar.gz 55727 BLAKE2B 531602b43f7729f59f59394aa1dd6d3ee4ad653d4ef8802de2074c9a9746d43da1638941c1e8f2075d9092810ba680f2e01bee360c55b0826bb725d6515b31df SHA512 042a763dd12612d6630c064b5af84011f1fb908626f17f866e103743cdaabb4983f922290287b0138938488a7c9bff33680ef8157f8bbcbc166e4f4f2d008951
DIST liblarch-3.2.0.tar.gz 56733 BLAKE2B 92bf0c51b2f16e84633c75f51ccf321c8756b154bfa76412db5ff7b1879e27f0a24f69e2be94db10c9409b0b326d5ac4477c88eaf8f1be80ef9f3390ea26f879 SHA512 d356535f2e60885249be009f7e671fcb1ee02b7d32b7abecc3805c5f6b6e231fc34be0d7a73cd9f9a68dfaae0b1cf0a5bdc54ed3075901a149d58ad6577d92ab
diff --git a/dev-python/liblarch/liblarch-3.1.0-r1.ebuild b/dev-python/liblarch/liblarch-3.1.0-r1.ebuild
deleted file mode 100644
index ffb1c12cf78c..000000000000
--- a/dev-python/liblarch/liblarch-3.1.0-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Library to handle directed acyclic graphs"
-HOMEPAGE="https://wiki.gnome.org/Projects/liblarch"
-SRC_URI="
- https://github.com/getting-things-gnome/liblarch/archive/v${PV}.tar.gz
- -> ${P}.tar.gz
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-DEPEND="
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
-"
-RDEPEND="
- ${DEPEND}
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
diff --git a/dev-python/liblarch/liblarch-3.2.0.ebuild b/dev-python/liblarch/liblarch-3.2.0.ebuild
index 375932865f1c..42ab1029c56a 100644
--- a/dev-python/liblarch/liblarch-3.2.0.ebuild
+++ b/dev-python/liblarch/liblarch-3.2.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 virtualx
diff --git a/dev-python/libnacl/libnacl-2.1.0.ebuild b/dev-python/libnacl/libnacl-2.1.0.ebuild
index b15bb3def49a..1eb373e41673 100644
--- a/dev-python/libnacl/libnacl-2.1.0.ebuild
+++ b/dev-python/libnacl/libnacl-2.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/libpillowfight/libpillowfight-0.3.0_p20210816-r1.ebuild b/dev-python/libpillowfight/libpillowfight-0.3.0_p20210816-r1.ebuild
index 729c78ebf43d..40fbe6ee7378 100644
--- a/dev-python/libpillowfight/libpillowfight-0.3.0_p20210816-r1.ebuild
+++ b/dev-python/libpillowfight/libpillowfight-0.3.0_p20210816-r1.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
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/libsass/Manifest b/dev-python/libsass/Manifest
index 1e50ee28909d..92e51663d386 100644
--- a/dev-python/libsass/Manifest
+++ b/dev-python/libsass/Manifest
@@ -1 +1 @@
-DIST libsass-python-0.22.0.gh.tar.gz 55135 BLAKE2B 8495462fa8e6a68bf73ecdf68771c577bad1affa1121c1781dac41c912aae731df88c2b1d1a4ef363e50a98ff1b471e7c45562faa6f2425e8ec5f47f9cf76c6c SHA512 13914b60fe19fc70d197a948a2bc83f7646e4acaa45caed6df68bf2eb10e0a7ef811cdbbcc7a4338f9c1433cba8e316146c20072dc4ff34f51e094ead1bfdcd7
+DIST libsass-python-0.23.0.gh.tar.gz 54783 BLAKE2B b2113d295370391c6b92c2561873cc1c58c3acdcc5c4adb6c50e717bb963bbf5d4e29e97290e2b4743508c0f1a73be373233205a79c31b6f6a0262559adcf924 SHA512 fb0836cce26ef8cdfb90cb50842e66f83ed47d06327272a49db3f2cf4b7f1bc29560d0126f00ff13db626d0624ff154c342a0f2433802d4c1b582b8d74a50337
diff --git a/dev-python/libsass/libsass-0.22.0-r1.ebuild b/dev-python/libsass/libsass-0.22.0-r1.ebuild
deleted file mode 100644
index 3d1c0f0daa50..000000000000
--- a/dev-python/libsass/libsass-0.22.0-r1.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
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=libsass-python-${PV}
-DESCRIPTION="A straightforward binding of libsass for Python"
-HOMEPAGE="
- https://github.com/sass/libsass-python/
- https://pypi.org/project/libsass/
-"
-SRC_URI="
- https://github.com/sass/libsass-python/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-DEPEND="
- >=dev-libs/libsass-3.6.5
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- test? (
- dev-python/PyQt5[testlib,${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- echo "${PV}" > .libsass-upstream-version || die
- distutils-r1_src_prepare
- export SYSTEM_SASS=1
- # https://bugs.gentoo.org/881339
- # the package is applying C++ flags to C sources
- sed -i -e "s:'-std=gnu++0x',::" -e "s:'-lstdc++'::" setup.py || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # probably broken by removal of sassc
- sasstests.py::SasscTestCase::test_sassc_stdout
- # skip the pip tests because they need an internet connection
- # not relevant for gentoo anyway
- sasstests.py::DistutilsTestCase::test_build_sass
- sasstests.py::DistutilsTestCase::test_output_style
- )
-
- epytest sasstests.py
-}
diff --git a/dev-python/libsass/libsass-0.23.0.ebuild b/dev-python/libsass/libsass-0.23.0.ebuild
new file mode 100644
index 000000000000..be82fc293d96
--- /dev/null
+++ b/dev-python/libsass/libsass-0.23.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_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=libsass-python-${PV}
+DESCRIPTION="A straightforward binding of libsass for Python"
+HOMEPAGE="
+ https://github.com/sass/libsass-python/
+ https://pypi.org/project/libsass/
+"
+SRC_URI="
+ https://github.com/sass/libsass-python/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+DEPEND="
+ >=dev-libs/libsass-3.6.5
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-python/PyQt5[testlib,${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+ export SYSTEM_SASS=1
+ # https://bugs.gentoo.org/881339
+ # the package is applying C++ flags to C sources
+ sed -i -e "s:'-std=gnu++0x',::" -e "s:'-lstdc++'::" setup.py || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # probably broken by removal of sassc
+ sasstests.py::SasscTestCase::test_sassc_stdout
+ # skip the pip tests because they need an internet connection
+ # not relevant for gentoo anyway
+ sasstests.py::DistutilsTestCase::test_build_sass
+ sasstests.py::DistutilsTestCase::test_output_style
+ )
+
+ epytest sasstests.py
+}
diff --git a/dev-python/libtmux/Manifest b/dev-python/libtmux/Manifest
index 42020a779f5f..5ae36e7af8b9 100644
--- a/dev-python/libtmux/Manifest
+++ b/dev-python/libtmux/Manifest
@@ -1,6 +1,11 @@
DIST libtmux-0.21.0.gh.tar.gz 267484 BLAKE2B 36d7af1bd90ff5a9639587d79f49643eec1e218d3b1839f5febdd9b6b402886e577b15c920cf458ecb14b4e6d532955b6d71ecf932060e6f8ba32193d6bb0162 SHA512 27000581396d79665e34b67a9e59bf639ca0fbd855ada9648750750e41e732cdcde15a05c6548993f08a8637783ddb478de24b75d5c18a198541c36b4b08b9cc
-DIST libtmux-0.22.1.gh.tar.gz 266173 BLAKE2B 743d43fcebfb0058c9ff13f0fb9ad811403f85bf80dd68dbeead86fe079b4176db15c9bf0a8dd48fae67cb9fa968633595a51e6fcf6091bff54df911d2dd17bf SHA512 f056ecbf793cd90bb60d50252c78eb67a8312eb3eda92d68ff69ed85270f23c9d4489789438fb9d228600320a2afb64a29a70c00a415604b65079167381c46d6
-DIST libtmux-0.23.0.gh.tar.gz 267917 BLAKE2B 55b564ca517b346cdcb81b114cb62d3a10d94aad7be54b5172669a4c42f9d01d54c467ba32d818ec4851ae148bc0cadf174e47f5026a5025d015bc1e294802d9 SHA512 28b2b356e2f774085ffd03a1c63b1b7d6ece24765c54728a3e71fabe7b46b15f61a0a0263366bb67dfc440129c07cb6ff6f6dc6141b8d1f2e9fe96fc05b8b88a
-DIST libtmux-0.23.2.gh.tar.gz 268237 BLAKE2B a5e7aece4d7160f87c48c2c02371c6d6b423aad979d91683561b1d8a7f750c626b522af5d1d97157c536adfd612948750433e77faaeb633343af37648bc9bf01 SHA512 f8952cffa94fcf9b345275d3d5e59ea0a164bbcb93aacbd2820c8127b34526635d7b9a25f5684cd385744b1de626b8bce19d2c735579c2bdffed6a17c9f8f394
-DIST libtmux-0.24.1.gh.tar.gz 265873 BLAKE2B 4dbc6ef078ed2fb83115b54b2b78b2076a0296b3b76e4710e7fbb9de0a0add2d2eb1d99ecfb835d6eec22ed6b0993cf3de04062c3855e8f5edc45de13f5076e6 SHA512 1d2246c8032b4f8bb220f63aac6db96cf4a7eeba31137399a539195789a0f76bd7ec37cfd4d9ace4380ed63f4fabed6673e3926ba789fcc14da7bdf200279da3
-DIST libtmux-0.25.0.gh.tar.gz 268260 BLAKE2B ac9da378491acbb91eb8e67e47ef213206d77f618a35fd6cba1014435c70b82eca712f764ccc4f2fa14f4027001678e31743ade9b28ffbc9e5509e2592afab48 SHA512 72cf2a24af0407baa775f1be13490c45b573cfaabc6803b57d77cc0eac5de0ef9b8c3a8923437163d1b6b9486a86b71076df40761f302d3534d36d94c68bd6bb
+DIST libtmux-0.27.0.gh.tar.gz 270128 BLAKE2B 330335e24ff5f1777d3a4ebd4746adcc391919a129c08c1bfe80d7ef61e962dc550690a68055390c58e8e6c539edcac74def8646d4b1055503496ac38f72fc0d SHA512 fd847524bf6b0742bac4eca2c1032e069be09081e9107a6403eebfce0f6ca4e624f717aae0794ece54065d50cc1eb6ef48327ef1e9aea794328c42a5d7bbb293
+DIST libtmux-0.28.0.gh.tar.gz 273309 BLAKE2B 9bc5b3068e64f09af0411f68f22cd23535b084175970338c827783741c8abde03548996cd573c6b58ce49298582f8e159dcab569fb6d19560229187a8da269b1 SHA512 8a6457c82cb06c72c0382c362e5d84d0a5498a01e8806adffd7e8c3a67c1b741fbd11892a3cca2156f940a954684e2d6f85ee7ad14f582f5727b977d433dd707
+DIST libtmux-0.30.1.gh.tar.gz 276505 BLAKE2B 508e9b15183ecf7c3c006145fbbc9580e7180fd39b453b8a9589f644f8fddcf14144e9989c92a581c7c10a95660d9c5b9f7f5544e51e202634407c0a1914c6a2 SHA512 9ec06901f978a631b9d8085806b71912f5b582d20e917ed4409f870ec2e873095044779b1d0db2cbe0285e11a043c44cd801fa60cb2f57d9d31fb95e3015daf8
+DIST libtmux-0.30.2.gh.tar.gz 276498 BLAKE2B 13d7940d7f0f2f71819c2a5747f73fb5f0319179ec57a974461552f3de5804bc30d35c8790d8ae63bb9797b3b1aea54ab94e1f593a37cbac286b297d70d33ed0 SHA512 503dd5e7325073cc57ab9a553c3b3cf7c7cd12a506a8a59dcfd84c5902f0a1b2adab507c5b95e9abc97c9384d282bb866d8772c93b23b101d0ec8ded8f2a280d
+DIST libtmux-0.32.0.gh.tar.gz 278651 BLAKE2B c6b98925f258fb5a2c25b08ee835faf6f1189413041e592da396d0934ad712d3494c8b0985352f96fff998ecd051c0cc433377697333a88225f55392d3a1971b SHA512 daa97cdba7c07ea35c8658263a6dc3a533b6422449a31d83cb3cac4c47c2be32f3c60556ea05e5d098c090582697de0192725453d61e89ecc31f79309b1700ac
+DIST libtmux-0.33.0.gh.tar.gz 282114 BLAKE2B d1b9b1e0789c81dab17a1d0be3708f34388952b2ea583f0efac280503365dba033d0c181f6ae1eb247ea2252288d47d4ab5b2a227077a5653e3e842bf8f01fa7 SHA512 30641730c57b68fc887513618596f951dd60ddf97c0bc6acaf1c489abbfc91ee1439ab158b9453df382fcb8163c0b7812de20955909950c173042103707c3705
+DIST libtmux-0.35.0.gh.tar.gz 282514 BLAKE2B b940e3833a54f949a73e19e1c8cdb97f91300425b4eff9f5b4ed0b60bfb117d0c670f3e450937bb453e0a7c2b7c623691d1ad8c42611bc486d65992680cbed9a SHA512 a847a5cd14f0daefaa7582610bcc5ab707aed16b73e4ff53f630bd27794dbdabf1c1d42635d30a3e3823413be79e9c2fcf3710096080b0eac3c49adecb816d59
+DIST libtmux-0.35.1.gh.tar.gz 282665 BLAKE2B 7b28e4a4dbbea86102aa37bc1bca6d7de7d184b999dd4cbbe739770a32e0bcc5069f5822a79af426f41dc9ad25fda0cb3e23cba7a5b340b88259d552cb380356 SHA512 400eb10594032e9387a7408626d3be3281fdcb66ed06cc839732ccb39278c20f3f8d8f07e88ea03876a5afe38cb567e585c45716b1edb12cc8f6a89f20873a34
+DIST libtmux-0.36.0.gh.tar.gz 282828 BLAKE2B 247f98ae47093090187f2d52792f850f7476427b368f46970ef3fe9bd6449c03ac23101c8c7af711167bbd92e9e2cff3754474375dabd48157154ed89975a71a SHA512 2fa16a55d4b46461d1266179cfa6cf8d710fdbe435369ff195a683a96243b2b7cd2fbeb47b88e3a660c23d3ca57e1c2722bc12492c52ee0961a1c5cc99ceb093
+DIST libtmux-0.37.0.gh.tar.gz 283496 BLAKE2B ef8c9c05cc20f549fc13ffb05276e1ba5b24c366c9cf44eb5ffe609cfe0e603ab7a90747b5df03afa62a6a9d8c81904e7fa7e4598092d3b11c0e9295e413d88d SHA512 8876ad13613d367d6a6ea5945b5a0a495460b5ad68a14d89d20a41f0e5b421e0007041e4e8356e88a8eefb2b2422be306aebd2452e3be556f1cc4fd232327499
diff --git a/dev-python/libtmux/libtmux-0.22.1.ebuild b/dev-python/libtmux/libtmux-0.22.1.ebuild
deleted file mode 100644
index 499498389f30..000000000000
--- a/dev-python/libtmux/libtmux-0.22.1.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python API for tmux"
-HOMEPAGE="
- https://libtmux.git-pull.com/
- https://github.com/tmux-python/libtmux/
- https://pypi.org/project/libtmux/
-"
-SRC_URI="
- https://github.com/tmux-python/libtmux/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-RDEPEND="
- >=app-misc/tmux-3.0a
-"
-BDEPEND="
- test? (
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/twine[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- libtmux/pane.py::libtmux.pane.Pane.send_keys
-)
-
-python_prepare_all() {
- local issues="https://github.com/tmux-python/libtmux/issues/"
- sed -r -i "s|:issue:\`([[:digit:]]+)\`|\`issue \1 ${issues}\1\`|" CHANGES || die
- rm requirements/doc.txt || die
-
- # increase timeouts for tests
- sed -e 's/0.01/0.1/' -i tests/test_test.py || die
-
- sed -e '/addopts/s:--doctest-docutils-modules::' \
- -e '/README\.md/d' \
- -i setup.cfg || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/libtmux/libtmux-0.23.0.ebuild b/dev-python/libtmux/libtmux-0.23.0.ebuild
deleted file mode 100644
index f6219acb462a..000000000000
--- a/dev-python/libtmux/libtmux-0.23.0.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python API for tmux"
-HOMEPAGE="
- https://libtmux.git-pull.com/
- https://github.com/tmux-python/libtmux/
- https://pypi.org/project/libtmux/
-"
-SRC_URI="
- https://github.com/tmux-python/libtmux/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-RDEPEND="
- >=app-misc/tmux-3.0a
-"
-BDEPEND="
- test? (
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- libtmux/pane.py::libtmux.pane.Pane.send_keys
-)
-
-python_prepare_all() {
- local issues="https://github.com/tmux-python/libtmux/issues/"
- sed -r -i "s|:issue:\`([[:digit:]]+)\`|\`issue \1 ${issues}\1\`|" CHANGES || die
- rm requirements/{doc,dev}.txt || die
-
- # increase timeouts for tests
- sed -e 's/0.01/0.1/' -i tests/test_test.py || die
-
- sed -e '/addopts/s:--doctest-docutils-modules::' \
- -e '/README\.md/d' \
- -i setup.cfg || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/libtmux/libtmux-0.23.2.ebuild b/dev-python/libtmux/libtmux-0.23.2.ebuild
deleted file mode 100644
index 1ba8d07bbcf7..000000000000
--- a/dev-python/libtmux/libtmux-0.23.2.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python API for tmux"
-HOMEPAGE="
- https://libtmux.git-pull.com/
- https://github.com/tmux-python/libtmux/
- https://pypi.org/project/libtmux/
-"
-SRC_URI="
- https://github.com/tmux-python/libtmux/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
-
-RDEPEND="
- >=app-misc/tmux-3.0a
-"
-BDEPEND="
- test? (
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- libtmux/pane.py::libtmux.pane.Pane.send_keys
- tests/legacy_api/test_test.py
-)
-
-python_prepare_all() {
- local issues="https://github.com/tmux-python/libtmux/issues/"
- sed -r -i "s|:issue:\`([[:digit:]]+)\`|\`issue \1 ${issues}\1\`|" CHANGES || die
- rm requirements/{doc,dev}.txt || die
-
- # increase timeouts for tests
- sed -e 's/0.01/0.1/' -i tests/test_test.py || die
-
- sed -e '/addopts/s:--doctest-docutils-modules::' \
- -e '/README\.md/d' \
- -i setup.cfg || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/libtmux/libtmux-0.24.1.ebuild b/dev-python/libtmux/libtmux-0.24.1.ebuild
deleted file mode 100644
index 0e68ab26e7bf..000000000000
--- a/dev-python/libtmux/libtmux-0.24.1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python API for tmux"
-HOMEPAGE="
- https://libtmux.git-pull.com/
- https://github.com/tmux-python/libtmux/
- https://pypi.org/project/libtmux/
-"
-SRC_URI="
- https://github.com/tmux-python/libtmux/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-RDEPEND="
- >=app-misc/tmux-3.0a
-"
-BDEPEND="
- test? (
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- libtmux/pane.py::libtmux.pane.Pane.send_keys
- tests/legacy_api/test_test.py
-)
-
-python_prepare_all() {
- local issues="https://github.com/tmux-python/libtmux/issues/"
- sed -r -i "s|:issue:\`([[:digit:]]+)\`|\`issue \1 ${issues}\1\`|" CHANGES || die
-
- # increase timeouts for tests
- sed -e 's/0.01/0.1/' -i tests/test_test.py || die
-
- sed -r -e '/addopts/s:--doctest-docutils-modules::' \
- -e '/^[[:space:]]+"README\.md"/d' \
- -i pyproject.toml || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/libtmux/libtmux-0.25.0.ebuild b/dev-python/libtmux/libtmux-0.25.0.ebuild
deleted file mode 100644
index 0e68ab26e7bf..000000000000
--- a/dev-python/libtmux/libtmux-0.25.0.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python API for tmux"
-HOMEPAGE="
- https://libtmux.git-pull.com/
- https://github.com/tmux-python/libtmux/
- https://pypi.org/project/libtmux/
-"
-SRC_URI="
- https://github.com/tmux-python/libtmux/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-RDEPEND="
- >=app-misc/tmux-3.0a
-"
-BDEPEND="
- test? (
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- libtmux/pane.py::libtmux.pane.Pane.send_keys
- tests/legacy_api/test_test.py
-)
-
-python_prepare_all() {
- local issues="https://github.com/tmux-python/libtmux/issues/"
- sed -r -i "s|:issue:\`([[:digit:]]+)\`|\`issue \1 ${issues}\1\`|" CHANGES || die
-
- # increase timeouts for tests
- sed -e 's/0.01/0.1/' -i tests/test_test.py || die
-
- sed -r -e '/addopts/s:--doctest-docutils-modules::' \
- -e '/^[[:space:]]+"README\.md"/d' \
- -i pyproject.toml || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/libtmux/libtmux-0.27.0.ebuild b/dev-python/libtmux/libtmux-0.27.0.ebuild
new file mode 100644
index 000000000000..5131b7f304b5
--- /dev/null
+++ b/dev-python/libtmux/libtmux-0.27.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{9..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Typed library that provides an ORM wrapper for tmux, a terminal multiplexer"
+HOMEPAGE="
+ https://libtmux.git-pull.com/
+ https://github.com/tmux-python/libtmux/
+ https://pypi.org/project/libtmux/
+"
+SRC_URI="
+ https://github.com/tmux-python/libtmux/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ >=app-misc/tmux-3.0a
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local issues="https://github.com/tmux-python/libtmux/issues/"
+ sed -r -i "s|:issue:\`([[:digit:]]+)\`|\`issue \1 ${issues}\1\`|" CHANGES || die
+
+ # increase timeouts for tests
+ sed -e 's/0.01/0.1/' -i tests/test_test.py || die
+
+ sed -r -e '/addopts/s:--doctest-docutils-modules::' \
+ -e '/^[[:space:]]+"README\.md"/d' \
+ -i pyproject.toml || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -a EPYTEST_DESELECT=(
+ libtmux/pane.py::libtmux.pane.Pane.send_keys
+ tests/legacy_api/test_test.py
+ )
+
+ epytest
+}
diff --git a/dev-python/libtmux/libtmux-0.28.0.ebuild b/dev-python/libtmux/libtmux-0.28.0.ebuild
new file mode 100644
index 000000000000..5131b7f304b5
--- /dev/null
+++ b/dev-python/libtmux/libtmux-0.28.0.ebuild
@@ -0,0 +1,59 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{9..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Typed library that provides an ORM wrapper for tmux, a terminal multiplexer"
+HOMEPAGE="
+ https://libtmux.git-pull.com/
+ https://github.com/tmux-python/libtmux/
+ https://pypi.org/project/libtmux/
+"
+SRC_URI="
+ https://github.com/tmux-python/libtmux/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ >=app-misc/tmux-3.0a
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local issues="https://github.com/tmux-python/libtmux/issues/"
+ sed -r -i "s|:issue:\`([[:digit:]]+)\`|\`issue \1 ${issues}\1\`|" CHANGES || die
+
+ # increase timeouts for tests
+ sed -e 's/0.01/0.1/' -i tests/test_test.py || die
+
+ sed -r -e '/addopts/s:--doctest-docutils-modules::' \
+ -e '/^[[:space:]]+"README\.md"/d' \
+ -i pyproject.toml || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -a EPYTEST_DESELECT=(
+ libtmux/pane.py::libtmux.pane.Pane.send_keys
+ tests/legacy_api/test_test.py
+ )
+
+ epytest
+}
diff --git a/dev-python/libtmux/libtmux-0.30.1.ebuild b/dev-python/libtmux/libtmux-0.30.1.ebuild
new file mode 100644
index 000000000000..3347c96865a2
--- /dev/null
+++ b/dev-python/libtmux/libtmux-0.30.1.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{9..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Typed library that provides an ORM wrapper for tmux, a terminal multiplexer"
+HOMEPAGE="
+ https://libtmux.git-pull.com/
+ https://github.com/tmux-python/libtmux/
+ https://pypi.org/project/libtmux/
+"
+SRC_URI="
+ https://github.com/tmux-python/libtmux/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ >=app-misc/tmux-3.0a
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local issues="https://github.com/tmux-python/libtmux/issues/"
+ sed -r -i "s|:issue:\`([[:digit:]]+)\`|\`issue \1 ${issues}\1\`|" CHANGES || die
+
+ # increase timeouts for tests
+ sed -e 's/0.01/0.1/' -i tests/test_test.py || die
+
+ sed -r -e '/addopts/s:--doctest-docutils-modules::' \
+ -e '/^[[:space:]]+"README\.md"/d' \
+ -i pyproject.toml || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -a EPYTEST_DESELECT=(
+ libtmux/pane.py::libtmux.pane.Pane.send_keys
+ )
+ epytest
+}
diff --git a/dev-python/libtmux/libtmux-0.30.2.ebuild b/dev-python/libtmux/libtmux-0.30.2.ebuild
new file mode 100644
index 000000000000..8dcc7ee19960
--- /dev/null
+++ b/dev-python/libtmux/libtmux-0.30.2.ebuild
@@ -0,0 +1,60 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Typed library that provides an ORM wrapper for tmux, a terminal multiplexer"
+HOMEPAGE="
+ https://libtmux.git-pull.com/
+ https://github.com/tmux-python/libtmux/
+ https://pypi.org/project/libtmux/
+"
+SRC_URI="
+ https://github.com/tmux-python/libtmux/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ >=app-misc/tmux-3.0a
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local issues="https://github.com/tmux-python/libtmux/issues/"
+ sed -r -i "s|:issue:\`([[:digit:]]+)\`|\`issue \1 ${issues}\1\`|" CHANGES || die
+
+ # increase timeouts for tests
+ sed -e 's/0.01/0.1/' -i tests/test_test.py || die
+
+ sed -r -e '/addopts/s:--doctest-docutils-modules::' \
+ -e '/^[[:space:]]+"README\.md"/d' \
+ -i pyproject.toml || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -a EPYTEST_DESELECT=(
+ libtmux/pane.py::libtmux.pane.Pane.send_keys
+ )
+ # tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set
+ # https://bugs.gentoo.org/927158
+ local -x TMUX_PANE=
+ epytest
+}
diff --git a/dev-python/libtmux/libtmux-0.32.0.ebuild b/dev-python/libtmux/libtmux-0.32.0.ebuild
new file mode 100644
index 000000000000..495a7ad4e9f9
--- /dev/null
+++ b/dev-python/libtmux/libtmux-0.32.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=poetry
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Typed library that provides an ORM wrapper for tmux, a terminal multiplexer"
+HOMEPAGE="
+ https://libtmux.git-pull.com/
+ https://github.com/tmux-python/libtmux/
+ https://pypi.org/project/libtmux/
+"
+SRC_URI="
+ https://github.com/tmux-python/libtmux/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ >=app-misc/tmux-3.0a
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local issues="https://github.com/tmux-python/libtmux/issues/"
+ sed -r -i "s|:issue:\`([[:digit:]]+)\`|\`issue \1 ${issues}\1\`|" CHANGES || die
+
+ # increase timeouts for tests
+ sed -e 's/0.01/0.1/' -i tests/test_test.py || die
+
+ sed -r -e '/addopts/s:--doctest-docutils-modules::' \
+ -e '/^[[:space:]]+"README\.md"/d' \
+ -i pyproject.toml || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -a EPYTEST_DESELECT=(
+ libtmux/pane.py::libtmux.pane.Pane.send_keys
+ )
+ # tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set
+ # https://bugs.gentoo.org/927158
+ local -x TMUX_PANE=
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=libtmux.pytest_plugin
+ epytest -p pytest_mock -p rerunfailures
+}
diff --git a/dev-python/libtmux/libtmux-0.33.0.ebuild b/dev-python/libtmux/libtmux-0.33.0.ebuild
new file mode 100644
index 000000000000..83478dc1b926
--- /dev/null
+++ b/dev-python/libtmux/libtmux-0.33.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Typed library that provides an ORM wrapper for tmux, a terminal multiplexer"
+HOMEPAGE="
+ https://libtmux.git-pull.com/
+ https://github.com/tmux-python/libtmux/
+ https://pypi.org/project/libtmux/
+"
+SRC_URI="
+ https://github.com/tmux-python/libtmux/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ >=app-misc/tmux-3.0a
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local issues="https://github.com/tmux-python/libtmux/issues/"
+ sed -r -i "s|:issue:\`([[:digit:]]+)\`|\`issue \1 ${issues}\1\`|" CHANGES || die
+
+ # increase timeouts for tests
+ sed -e 's/0.01/0.1/' -i tests/test_test.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set
+ # https://bugs.gentoo.org/927158
+ local -x TMUX_PANE=
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=libtmux.pytest_plugin
+ epytest -o addopts= -p pytest_mock -p rerunfailures tests
+}
diff --git a/dev-python/libtmux/libtmux-0.35.0.ebuild b/dev-python/libtmux/libtmux-0.35.0.ebuild
new file mode 100644
index 000000000000..60bbba2f66cb
--- /dev/null
+++ b/dev-python/libtmux/libtmux-0.35.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=poetry
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Typed library that provides an ORM wrapper for tmux, a terminal multiplexer"
+HOMEPAGE="
+ https://libtmux.git-pull.com/
+ https://github.com/tmux-python/libtmux/
+ https://pypi.org/project/libtmux/
+"
+SRC_URI="
+ https://github.com/tmux-python/libtmux/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ >=app-misc/tmux-3.0a
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local issues="https://github.com/tmux-python/libtmux/issues/"
+ sed -r -i "s|:issue:\`([[:digit:]]+)\`|\`issue \1 ${issues}\1\`|" CHANGES || die
+
+ # increase timeouts for tests
+ sed -e 's/0.01/0.1/' -i tests/test_test.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set
+ # https://bugs.gentoo.org/927158
+ local -x TMUX_PANE=
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=libtmux.pytest_plugin
+
+ local EPYTEST_DESELECT=(
+ # flaky tests
+ tests/legacy_api/test_test.py::test_function_times_out
+ tests/legacy_api/test_test.py::test_function_times_out_no_raise
+ tests/legacy_api/test_test.py::test_function_times_out_no_raise_assert
+ )
+ epytest -o addopts= -p pytest_mock -p rerunfailures tests
+}
diff --git a/dev-python/libtmux/libtmux-0.35.1.ebuild b/dev-python/libtmux/libtmux-0.35.1.ebuild
new file mode 100644
index 000000000000..60bbba2f66cb
--- /dev/null
+++ b/dev-python/libtmux/libtmux-0.35.1.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=poetry
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Typed library that provides an ORM wrapper for tmux, a terminal multiplexer"
+HOMEPAGE="
+ https://libtmux.git-pull.com/
+ https://github.com/tmux-python/libtmux/
+ https://pypi.org/project/libtmux/
+"
+SRC_URI="
+ https://github.com/tmux-python/libtmux/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ >=app-misc/tmux-3.0a
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local issues="https://github.com/tmux-python/libtmux/issues/"
+ sed -r -i "s|:issue:\`([[:digit:]]+)\`|\`issue \1 ${issues}\1\`|" CHANGES || die
+
+ # increase timeouts for tests
+ sed -e 's/0.01/0.1/' -i tests/test_test.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set
+ # https://bugs.gentoo.org/927158
+ local -x TMUX_PANE=
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=libtmux.pytest_plugin
+
+ local EPYTEST_DESELECT=(
+ # flaky tests
+ tests/legacy_api/test_test.py::test_function_times_out
+ tests/legacy_api/test_test.py::test_function_times_out_no_raise
+ tests/legacy_api/test_test.py::test_function_times_out_no_raise_assert
+ )
+ epytest -o addopts= -p pytest_mock -p rerunfailures tests
+}
diff --git a/dev-python/libtmux/libtmux-0.36.0.ebuild b/dev-python/libtmux/libtmux-0.36.0.ebuild
new file mode 100644
index 000000000000..1543b2497e75
--- /dev/null
+++ b/dev-python/libtmux/libtmux-0.36.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=poetry
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Typed library that provides an ORM wrapper for tmux, a terminal multiplexer"
+HOMEPAGE="
+ https://libtmux.git-pull.com/
+ https://github.com/tmux-python/libtmux/
+ https://pypi.org/project/libtmux/
+"
+SRC_URI="
+ https://github.com/tmux-python/libtmux/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
+
+RDEPEND="
+ >=app-misc/tmux-3.0a
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local issues="https://github.com/tmux-python/libtmux/issues/"
+ sed -r -i "s|:issue:\`([[:digit:]]+)\`|\`issue \1 ${issues}\1\`|" CHANGES || die
+
+ # increase timeouts for tests
+ sed -e 's/0.01/0.1/' -i tests/test_test.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set
+ # https://bugs.gentoo.org/927158
+ local -x TMUX_PANE=
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=libtmux.pytest_plugin
+
+ local EPYTEST_DESELECT=(
+ # flaky tests
+ tests/legacy_api/test_test.py::test_function_times_out
+ tests/legacy_api/test_test.py::test_function_times_out_no_raise
+ tests/legacy_api/test_test.py::test_function_times_out_no_raise_assert
+ )
+ epytest -o addopts= -p pytest_mock -p rerunfailures tests
+}
diff --git a/dev-python/libtmux/libtmux-0.37.0.ebuild b/dev-python/libtmux/libtmux-0.37.0.ebuild
new file mode 100644
index 000000000000..e44dc88af006
--- /dev/null
+++ b/dev-python/libtmux/libtmux-0.37.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=poetry
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Typed library that provides an ORM wrapper for tmux, a terminal multiplexer"
+HOMEPAGE="
+ https://libtmux.git-pull.com/
+ https://github.com/tmux-python/libtmux/
+ https://pypi.org/project/libtmux/
+"
+SRC_URI="
+ https://github.com/tmux-python/libtmux/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 x86"
+
+RDEPEND="
+ >=app-misc/tmux-3.0a
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local issues="https://github.com/tmux-python/libtmux/issues/"
+ sed -r -i "s|:issue:\`([[:digit:]]+)\`|\`issue \1 ${issues}\1\`|" CHANGES || die
+
+ # increase timeouts for tests
+ sed -e 's/0.01/0.1/' -i tests/test_test.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # tests/test_window.py::test_fresh_window_data fails if TMUX_PANE is set
+ # https://bugs.gentoo.org/927158
+ local -x TMUX_PANE=
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=libtmux.pytest_plugin
+
+ local EPYTEST_DESELECT=(
+ # flaky tests
+ tests/legacy_api/test_test.py::test_function_times_out
+ tests/legacy_api/test_test.py::test_function_times_out_no_raise
+ tests/legacy_api/test_test.py::test_function_times_out_no_raise_assert
+ )
+ epytest -o addopts= -p pytest_mock -p rerunfailures tests
+}
diff --git a/dev-python/libvirt-python/Manifest b/dev-python/libvirt-python/Manifest
index 8eff26eb4185..8e28cc93f790 100644
--- a/dev-python/libvirt-python/Manifest
+++ b/dev-python/libvirt-python/Manifest
@@ -1,11 +1,13 @@
-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-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-10.1.0.tar.gz 246933 BLAKE2B f95757c6e88271874f2e6c5efd52f4b075dee96902287b66f535f3d154eea58f7fa5156c7303c108eed34552917227cd0e1abbf4ce78d619dd113d24763780bb SHA512 b1a316703f577ebeafc6f96b5988f3716c24acfea674834c9034d488c456ca1d0386d602942ff4e0d2e947252a2d7049af4c6531407f9ff9a3b981c7c6c3fd37
+DIST libvirt-python-10.1.0.tar.gz.asc 833 BLAKE2B ae970da8b897efa3c8abf596fa653e2fed23e11dc1e1531093ce7fb1c3f9c76659fb71aab828a02c141bd59695eb6989a39f2c99fdd8494e40a8ded43c727fb8 SHA512 deb6af1a7d59bae6498175c842be7995262d0503a0614267b4fa8a157d5d094d8aacd34184b4149a0821750d57ba3ad36af1fec1f7e9532625bb620229bf404d
+DIST libvirt-python-10.2.0.tar.gz 246954 BLAKE2B a6987539386acae3f06d97fa3fbe9b53eb93b3877ee0e4f0c2a068104f12c5c7b116392fc078c30ef297c108128eaf29075974502dee75e84c96c8288ab70809 SHA512 36c79491a9be24fc118cbaddcd96c02c7df05c3808cd8f7dbc2d143330aa8f4a6cf8ea90fc1901dcb43d9c2b52edd1a013d01b88a82b1d3ec6a2ab88b671ac61
+DIST libvirt-python-10.2.0.tar.gz.asc 833 BLAKE2B 0aaf3853f27e7f2157fed61e1a4dedd80cc70a95b2a265a46d04eb97d0e4b583779eb072f7c94f478c20340f09266079204d9c1805987c3a512f96c4d7f670d4 SHA512 b9fd2d958c3afd23e18559d913dabd3409d68c2eb0094e485f5131e8278f25569c88d443b1ac1b30cad87cd02d9335c5e09a3ea87e37a3a73df650f57d647b11
+DIST libvirt-python-10.3.0.tar.gz 238840 BLAKE2B 35f4b15609550f9f255ee046fda4df22099926779ded4e7a75c02cdfef9156a366f3aa62a92d75bb7bfaa4c5220679ac3231844dc35c0f7db6dd362c81b9ed77 SHA512 5c5b4b6e52887a5fe0436581ef6233e78abbf702db87936743329e62a1e3c66c124ed6e2c2b92d6215027e6cbe459c536a8436ac3cea63269bff78ec3c9efc98
+DIST libvirt-python-10.3.0.tar.gz.asc 833 BLAKE2B 75f38beedc069543f634f0b880e439a6dbc4aea6eec29bbc229a5169f09aa55c5207a3f445f5e70da2b4cb94e7397bdd937f7d5088f7cd7b4f57d3d57e6196c1 SHA512 adeb63e8ecbdbac498d0971bea837f6a8ef5fa673bbade52a623e2f7a70600c443b87ca32cfe9c61c33f9f785eb1215815bf12fbd3cc4d9d4f60a3b898bb3cfb
+DIST libvirt-python-10.5.0.tar.gz 240191 BLAKE2B d4f801f89f1db1b84c565d53b048b9ae8b61127d6c99e0d463fd7cd7d666cc108e4157cdd483e33d3716db14e29ebdcbea82b4196b9c9bd6e9092233a54a267e SHA512 1114405f52c9bfcfd733a26d7d2a51439fca6012313c22f40c4b488f55690d2564a26ab9376c285245e9899ef68fa136bb943ebb3702aa679874d0b98f3cebd7
+DIST libvirt-python-10.5.0.tar.gz.asc 833 BLAKE2B 88bacd298472f540b9a099a2c8600964df4460ec31b7b614441c98801b40c4fb72d168fd12862fcf286650aa87532a6c2f5dccfca40658e48855201434943693 SHA512 06eebf7f869a67b0bd9d64bbcf8df5ed339c2650525464bc579ffc53a9f84a146fbd83027bbbf30bab7b3d46de360a3a73941f752a4f000194a1d806be9ea837
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
diff --git a/dev-python/libvirt-python/libvirt-python-10.0.0.ebuild b/dev-python/libvirt-python/libvirt-python-10.0.0.ebuild
new file mode 100644
index 000000000000..83f8a3a26364
--- /dev/null
+++ b/dev-python/libvirt-python/libvirt-python-10.0.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 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-10.1.0.ebuild b/dev-python/libvirt-python/libvirt-python-10.1.0.ebuild
new file mode 100644
index 000000000000..5c8628103631
--- /dev/null
+++ b/dev-python/libvirt-python/libvirt-python-10.1.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 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-10.2.0.ebuild b/dev-python/libvirt-python/libvirt-python-10.2.0.ebuild
new file mode 100644
index 000000000000..83f8a3a26364
--- /dev/null
+++ b/dev-python/libvirt-python/libvirt-python-10.2.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 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-10.3.0.ebuild b/dev-python/libvirt-python/libvirt-python-10.3.0.ebuild
new file mode 100644
index 000000000000..2013ca02d675
--- /dev/null
+++ b/dev-python/libvirt-python/libvirt-python-10.3.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 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..13} )
+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-10.5.0.ebuild b/dev-python/libvirt-python/libvirt-python-10.5.0.ebuild
new file mode 100644
index 000000000000..9b1751db4dfd
--- /dev/null
+++ b/dev-python/libvirt-python/libvirt-python-10.5.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 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..13} )
+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.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/libvirt-python/libvirt-python-9.8.0.ebuild b/dev-python/libvirt-python/libvirt-python-9.8.0.ebuild
index a7bd9b417949..5c8628103631 100644
--- a/dev-python/libvirt-python/libvirt-python-9.8.0.ebuild
+++ b/dev-python/libvirt-python/libvirt-python-9.8.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,7 +23,7 @@ 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"
+ KEYWORDS="amd64 ~arm arm64 ppc64 x86"
RDEPEND="app-emulation/libvirt:0/${PV}"
fi
S="${WORKDIR}/${P%_rc*}"
diff --git a/dev-python/libvirt-python/libvirt-python-9999.ebuild b/dev-python/libvirt-python/libvirt-python-9999.ebuild
index cd5a82350d8e..9b1751db4dfd 100644
--- a/dev-python/libvirt-python/libvirt-python-9999.ebuild
+++ b/dev-python/libvirt-python/libvirt-python-9999.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 verify-sig
if [[ ${PV} == *9999* ]]; then
diff --git a/dev-python/libvirt-python/metadata.xml b/dev-python/libvirt-python/metadata.xml
index 72e1e3f0e193..d863982122c0 100644
--- a/dev-python/libvirt-python/metadata.xml
+++ b/dev-python/libvirt-python/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>tamiko@gentoo.org</email>
- <name>Matthias Maier</name>
- </maintainer>
<maintainer type="project">
<email>virtualization@gentoo.org</email>
<name>Gentoo Virtualization Project</name>
diff --git a/dev-python/license-expression/Manifest b/dev-python/license-expression/Manifest
index 998b3d8320c9..6dcd4de36899 100644
--- a/dev-python/license-expression/Manifest
+++ b/dev-python/license-expression/Manifest
@@ -1,2 +1 @@
-DIST license-expression-30.1.1.gh.tar.gz 165700 BLAKE2B b79dcb1966658ceb78fcc8a335c90d08c1aaf1933251a14cfa3caf97bbacea9090103727811b654c7c013b24f97ca0529c1589cef5ea096079c33df761ad2ebd SHA512 83a683b7479088f5f4b0d4c4854d17150dd07b60231ebcea5a299e0a3109a833477f86b3dbb2f7d7da932f610fc0489fd019b823ad6e0554f7cc372dfcabdbc1
-DIST license-expression-30.2.0.gh.tar.gz 170391 BLAKE2B 38e934fa4c442b797be34b4431955bba5eae589247288f827753fdd167177839faac057448422fe1176127b0c96734c19c185c11814dc7d7765538b3d4184bd1 SHA512 13a9dea381088d95421aca8d096c54e9537bd0671000a21067257d01ced28a5c778bf8adff3d6e83ed89559ed62a0d08ccf98c88c0974c913b199f68d0a4336c
+DIST license-expression-30.3.0.gh.tar.gz 170159 BLAKE2B 6db3c9c3a1c6551fd22a338c74b75b595df5fe59fcde526baf2ddc52329b20cc4fd9848b986acc62709054c8d1f297879d0636e0c75ec30112cc654c41c7efec SHA512 10e141c9f7d05353ff2d76053497a72aebee6bbda6f263cb4fa69d1ab0ada8331bd0a126558b89bd7db428fc55a87bb5c88f1d5217cfb9640dbd10c1975bd08c
diff --git a/dev-python/license-expression/license-expression-30.1.1.ebuild b/dev-python/license-expression/license-expression-30.1.1.ebuild
deleted file mode 100644
index a4698a67936f..000000000000
--- a/dev-python/license-expression/license-expression-30.1.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2022-2023 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
-
-DESCRIPTION="Parse, compare, simplify and normalize license expressions"
-HOMEPAGE="
- https://pypi.org/project/license-expression/
- https://github.com/nexB/license-expression/
-"
-SRC_URI="
- https://github.com/nexB/license-expression/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/boolean-py-4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-4[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/license-expression/license-expression-30.2.0.ebuild b/dev-python/license-expression/license-expression-30.2.0.ebuild
deleted file mode 100644
index 570871137320..000000000000
--- a/dev-python/license-expression/license-expression-30.2.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2022-2023 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
-
-DESCRIPTION="Parse, compare, simplify and normalize license expressions"
-HOMEPAGE="
- https://pypi.org/project/license-expression/
- https://github.com/nexB/license-expression/
-"
-SRC_URI="
- https://github.com/nexB/license-expression/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/boolean-py-4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-4[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/license-expression/license-expression-30.3.0.ebuild b/dev-python/license-expression/license-expression-30.3.0.ebuild
new file mode 100644
index 000000000000..f882561e93d0
--- /dev/null
+++ b/dev-python/license-expression/license-expression-30.3.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Parse, compare, simplify and normalize license expressions"
+HOMEPAGE="
+ https://pypi.org/project/license-expression/
+ https://github.com/nexB/license-expression/
+"
+SRC_URI="
+ https://github.com/nexB/license-expression/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/boolean-py-4.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/line-profiler/Manifest b/dev-python/line-profiler/Manifest
index d99c4fc434ff..e961efc57d9d 100644
--- a/dev-python/line-profiler/Manifest
+++ b/dev-python/line-profiler/Manifest
@@ -1,3 +1 @@
-DIST line_profiler-4.1.0.gh.tar.gz 99250 BLAKE2B aa875dfb8cdbaaa701a03d10fd904504825d58e551dddabddbe0abca777a584bae5c37f4b3ab80d10dc869138106d70c3ff243a7d28e570983427520dd4ee569 SHA512 08e0395b80f8c111725227abea7e8b2d6864da840a0a6f4de5eb71a2df2ae78871c930897b49d75a184973c1ce21d61106817bd0b8d4556462f0505bbbc21fe1
-DIST line_profiler-4.1.1.gh.tar.gz 99299 BLAKE2B fa5e1588167d4e1b451ebeef6bd625c25053e0370268fb435ae6cd72e5e56c0a6252cf3970d8e2bd7952bf61d16662128f68d5106aee8190bc9fe65d3180cf2d SHA512 4170d1b89b3b8e4bbeaf9ce145f67214ef133ea87d6c02d59f5da0ddab30fc14a89d11bbd749e9707c4a0654db23b22eef7f73749ee3023544835f562da62762
-DIST line_profiler-4.1.2.gh.tar.gz 100514 BLAKE2B 4e9fa1f2bcc39658f50b5832a8c2ee15090e03532d574cfa06db846beb191b8e2f19c82e5b03f91f2fc7b9de2a024e86909191982a03702690820972e10b7b2b SHA512 feb3f799770057b1b2dbc5601e497ce8fbc3f802e48e652b30486d453710c811bf46f3c22c0e706bbcce8cf4ef3c6e118bcc4917d8d72ff8bb0bb975324dfa16
+DIST line_profiler-4.1.3.gh.tar.gz 103226 BLAKE2B 209fe81bfd29cad1fe5866af792294d956a8f5d4d20948335a418aa0c7c3c5ff23e271c49cfc6cf228287cb1031e00a0f540fc88f52ccc3a0c329443de17b188 SHA512 cc8367b40558647f097e33152bd1d8b241720a1ed79c1f1930a7958e333cecdf38bc7d1ab0a8ebfb11e3251fa076966076ec42a8b633dfcb9de0c598c02b8b93
diff --git a/dev-python/line-profiler/line-profiler-4.1.0.ebuild b/dev-python/line-profiler/line-profiler-4.1.0.ebuild
deleted file mode 100644
index 5ffe92f3463f..000000000000
--- a/dev-python/line-profiler/line-profiler-4.1.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-MY_P=line_profiler-${PV}
-DESCRIPTION="Line-by-line profiler"
-HOMEPAGE="
- https://github.com/pyutils/line_profiler/
- https://pypi.org/project/line-profiler/
-"
-SRC_URI="
- https://github.com/pyutils/line_profiler/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/ipython[${PYTHON_USEDEP}]
-"
-# <cython-3: https://bugs.gentoo.org/911735
-BDEPEND="
- <dev-python/cython-3[${PYTHON_USEDEP}]
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/ubelt[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export LINE_PROFILER_BUILD_METHOD=cython
-
-python_test() {
- cd tests || die
- epytest
-}
diff --git a/dev-python/line-profiler/line-profiler-4.1.1.ebuild b/dev-python/line-profiler/line-profiler-4.1.1.ebuild
deleted file mode 100644
index 5ffe92f3463f..000000000000
--- a/dev-python/line-profiler/line-profiler-4.1.1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-MY_P=line_profiler-${PV}
-DESCRIPTION="Line-by-line profiler"
-HOMEPAGE="
- https://github.com/pyutils/line_profiler/
- https://pypi.org/project/line-profiler/
-"
-SRC_URI="
- https://github.com/pyutils/line_profiler/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/ipython[${PYTHON_USEDEP}]
-"
-# <cython-3: https://bugs.gentoo.org/911735
-BDEPEND="
- <dev-python/cython-3[${PYTHON_USEDEP}]
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/ubelt[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export LINE_PROFILER_BUILD_METHOD=cython
-
-python_test() {
- cd tests || die
- epytest
-}
diff --git a/dev-python/line-profiler/line-profiler-4.1.2.ebuild b/dev-python/line-profiler/line-profiler-4.1.2.ebuild
deleted file mode 100644
index 86f554b5e75d..000000000000
--- a/dev-python/line-profiler/line-profiler-4.1.2.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=line_profiler-${PV}
-DESCRIPTION="Line-by-line profiler"
-HOMEPAGE="
- https://github.com/pyutils/line_profiler/
- https://pypi.org/project/line-profiler/
-"
-SRC_URI="
- https://github.com/pyutils/line_profiler/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/ipython[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/ubelt[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export LINE_PROFILER_BUILD_METHOD=cython
-
-python_test() {
- cd tests || die
- epytest
-}
diff --git a/dev-python/line-profiler/line-profiler-4.1.3.ebuild b/dev-python/line-profiler/line-profiler-4.1.3.ebuild
new file mode 100644
index 000000000000..be13f5e4f4d7
--- /dev/null
+++ b/dev-python/line-profiler/line-profiler-4.1.3.ebuild
@@ -0,0 +1,46 @@
+# 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} )
+
+inherit distutils-r1
+
+MY_P=line_profiler-${PV}
+DESCRIPTION="Line-by-line profiler"
+HOMEPAGE="
+ https://github.com/pyutils/line_profiler/
+ https://pypi.org/project/line-profiler/
+"
+SRC_URI="
+ https://github.com/pyutils/line_profiler/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/ipython[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/ubelt[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export LINE_PROFILER_BUILD_METHOD=cython
+
+python_test() {
+ cd tests || die
+ epytest
+}
diff --git a/dev-python/linkify-it-py/Manifest b/dev-python/linkify-it-py/Manifest
index 1581c8d3feb6..e0addc5ca664 100644
--- a/dev-python/linkify-it-py/Manifest
+++ b/dev-python/linkify-it-py/Manifest
@@ -1 +1 @@
-DIST linkify-it-py-2.0.2.gh.tar.gz 76692 BLAKE2B b702ed78b002eac4f902dccf595150734de820b8e09e92d8339951ecbb348640d21605b7627f0ba208426f755c68f809dc6c82ec7c1b5eb450240ca4600d5355 SHA512 141002cf5c2b2760f242eb1d294833437e0df0caf671103ddb6099a083e2b6e8f20f35508b164b14206ceae2ffecb5361aa4d839152f7c52f3cfa83e905f12a7
+DIST linkify-it-py-2.0.3.gh.tar.gz 76727 BLAKE2B df0d2c8f31a9715c6eadd1f8fb295990b5ed82b8f49231071f8220045d9b64ec21098477d43a74afa21592b2a345357654a23df38636e852a767c62443580e34 SHA512 6621533246a42f3b13fb7dd9f1366cadb0e3c291bcb92fd899bc6389cb9f7904ababf4b5dbae51a561a4f50f8a20597badf03c82653ae8db75d9a5a484bc1229
diff --git a/dev-python/linkify-it-py/linkify-it-py-2.0.2.ebuild b/dev-python/linkify-it-py/linkify-it-py-2.0.2.ebuild
deleted file mode 100644
index fd7dcdc29cf5..000000000000
--- a/dev-python/linkify-it-py/linkify-it-py-2.0.2.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2022-2023 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
-
-DESCRIPTION="Links recognition library with full unicode support"
-HOMEPAGE="
- https://github.com/tsutsu3/linkify-it-py/
- https://pypi.org/project/linkify-it-py/
-"
-# no tests in sdist, as of 2.0.1
-SRC_URI="
- https://github.com/tsutsu3/linkify-it-py/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/uc-micro-py[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/linkify-it-py/linkify-it-py-2.0.3.ebuild b/dev-python/linkify-it-py/linkify-it-py-2.0.3.ebuild
new file mode 100644
index 000000000000..7631b68e9f10
--- /dev/null
+++ b/dev-python/linkify-it-py/linkify-it-py-2.0.3.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Links recognition library with full unicode support"
+HOMEPAGE="
+ https://github.com/tsutsu3/linkify-it-py/
+ https://pypi.org/project/linkify-it-py/
+"
+# no tests in sdist, as of 2.0.1
+SRC_URI="
+ https://github.com/tsutsu3/linkify-it-py/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/uc-micro-py[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/linode-metadata/Manifest b/dev-python/linode-metadata/Manifest
new file mode 100644
index 000000000000..47e91663f874
--- /dev/null
+++ b/dev-python/linode-metadata/Manifest
@@ -0,0 +1 @@
+DIST linode_metadata-0.3.0.tar.gz 17719 BLAKE2B 9dfb95117cbeb6f8e05dce6d43d4b03a831784c5db9e639d4214b72add2cea46152ff9eac800946dffd925ff0eef2a9ad31fcf0088f6e990c09c65561940ef42 SHA512 e0ba3927deb82b1f4f0b596d1f5d12cd2e25713e2e77e79c710bcc055748930c25dcc7b0722a78da9d048f788519856d06584eb17f5f1a80aa4824d1a9a1a14f
diff --git a/dev-python/linode-metadata/linode-metadata-0.3.0.ebuild b/dev-python/linode-metadata/linode-metadata-0.3.0.ebuild
new file mode 100644
index 000000000000..5edf9e7930d6
--- /dev/null
+++ b/dev-python/linode-metadata/linode-metadata-0.3.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for the Linode Metadata Service"
+HOMEPAGE="https://github.com/linode/py-metadata https://www.linode.com/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# Tests require network, a linode account, an API key and a ssh key.
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/httpx[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/linode-metadata/metadata.xml b/dev-python/linode-metadata/metadata.xml
new file mode 100644
index 000000000000..c7d75351c088
--- /dev/null
+++ b/dev-python/linode-metadata/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version='1.0' encoding='UTF-8'?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>ceamac@gentoo.org</email>
+ <name>Viorel Munteanu</name>
+ </maintainer>
+ <upstream>
+ <maintainer>
+ <name>Linode</name>
+ <email>developers@linode.com</email>
+ </maintainer>
+ <remote-id type="github">linode/py-metadata</remote-id>
+ <remote-id type="pypi">linode-metadata</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/lit/Manifest b/dev-python/lit/Manifest
index 8af9207eb1ab..696909e4b68c 100644
--- a/dev-python/lit/Manifest
+++ b/dev-python/lit/Manifest
@@ -1,12 +1,11 @@
-DIST llvm-project-14.0.6.src.tar.xz 105618228 BLAKE2B ee67c5407df8cef493b9c0004f15e428f22a536a17e5f4e3eb29a003b8a8ec0abe0fa3e072591161d5f30ef7d8867c1ce34d1b341ad858e93c00263499941a99 SHA512 6fc6eeb60fac698702d1aac495fc0161eb7216a1f8db2020af8fccec5837831f7cc20dc2a169bf4f0b5f520748280b4a86621f3697d622aa58faaa45dbfaad13
-DIST llvm-project-14.0.6.src.tar.xz.sig 566 BLAKE2B cb658ad43d8ab6c43a5773aedadf0569c97b5ee4b1bd58eceb10e1879a30880c741c3d66bedd462c892309b688fb7b2673115a62d1f74d71ee375a578de9547f SHA512 b4a7b368532a7a4a24376cfa7db8f6d3478f6d4446474342fc00b474ecf466330cd0f16783209263c4c72d5fc7ddedfb11b95578842e700cfb7ee0bb34cc95d6
+DIST llvm-project-0b9f2847da79298ed09c29493245113f02b32d9f.tar.gz 216399453 BLAKE2B ed13e6639d40bdda6dbd09eba0cc8e4f82f4f53ce3cff9742e902af1c306c60dcb6d5fb008057829d46bbbde391697726cba2096c52cf1592c00faf1e37430e4 SHA512 a5b0bf59fa228a41f0c904a42b4b96740fc5e5caa63248c546eb4a810e86d5d8d1d8df663051ed4444cc0389ffa6ec12ee5dbf7d94d6211a253319550d7fac1c
DIST llvm-project-15.0.7.src.tar.xz 110936452 BLAKE2B f3d277e2029157329e5be78b78af36b0826a1dfd9a337992499bf701e33149665bfc47d5e14978e38f342559629a559f8b2ce328705ba34fdf6830f5ae9721a5 SHA512 4836d3603f32e8e54434cbfa8ef33d9d473ac5dc20ebf9c67132653c73f4524931abd1084655eaee5f20bcfcb91bcc4bbc5c4a0b603ad0c9029c556e14dc4c52
DIST llvm-project-15.0.7.src.tar.xz.sig 566 BLAKE2B 47dc8c82d86237b80c6d85f83a6c9a6e9e174cf8e7f367b071e0cd9481d7cd408e991337c5624e07f3f370f26387c814f212808575ed1c1b58404d3e3836b7df SHA512 fc6891b440dd1175eb8df3790590af8d36bc92301660f84744ae15123475aeb900a151e6a8e7998ded27ec4d86871903ad0b89cd61164943054c2e3bc8d8beb2
DIST llvm-project-16.0.6.src.tar.xz 118013488 BLAKE2B 95192d39cbd2914e5609db365965f1c00bfea6c2d653b3996bd2acef8a2b37e37f6fc8a9d2b65711ad72657e0ef52c42f733053cf65051e7822f27396c30406d SHA512 89a67ebfbbc764cc456e8825ecfa90707741f8835b1b2adffae0b227ab1fe5ca9cce75b0efaffc9ca8431cae528dc54fd838867a56a2b645344d9e82d19ab1b7
DIST llvm-project-16.0.6.src.tar.xz.sig 566 BLAKE2B 2060cebd5ed57cb8a86a44238c43dfd4b921649298b10c3d19da308374c1e49869174294e29943c2af459fe06428264e26881d6c1288ebbc48686cc2cf467c7a SHA512 ca249262c7102e0889ec1bdc6f71a3a6f0e7e5d5fbab8abcd6fccd2871e7955eff7af5b055a76006097baf0dfaf2f5069eff3035b3107fc552abdb2481b21447
-DIST llvm-project-17.0.5.src.tar.xz 127842560 BLAKE2B 2d657ff14ad2dc932a5cdc6605ad30cba8e22ed8f4adb5ed53bfd9b5b654496023df9eb895f9691e98bba6b6a341b81d8a17361daf81ce4c3cd6a2b3602cd90e SHA512 793b63aa875b6d02e3a2803815cc9361b76c9ab1506967e18630fc3d6811bf51c73f53c51d148a5fc72e87e35dc2b88cb18b48419939c436451fe65c5a326022
-DIST llvm-project-17.0.5.src.tar.xz.sig 438 BLAKE2B d65bfe2816c49a4b3dda2c70fe5ca6a6b7e922338219e7a62b2f33082d88b700781e184f2b3b0758c1d46825cf369ddd6f8824f3be8d8f3a70a88cfbc06bba45 SHA512 509a61434471463459d3ec837e3f3cce662650d4e72ffc7d28fbeb0d5cfe92d5b1dc4fa568e40f48757b1e708de793bc157de7225ac15a00221191e6c1e660d9
DIST llvm-project-17.0.6.src.tar.xz 127838860 BLAKE2B d6ede1a9fda8756995c3e0654111941649e15794179641806f18919f1dc68c41ca0cabd5693b5096d05dccc3a391cd20d34af1137bf8af92ed3117a1ce84d1b2 SHA512 6d85bf749e0d77553cc215cbfa61cec4ac4f4f652847f56f946b6a892a99a5ea40b6ab8b39a9708a035001f007986941ccf17e4635260a8b0c1fa59e78d41e30
DIST llvm-project-17.0.6.src.tar.xz.sig 438 BLAKE2B 186e75b6a0fbfe1e85408589c149e1800fcc47d685b74e4260018e05cd08bc793d1d1197c9c50e177eea941a3d0c65cb0c583ce6dae449099b920adf8a508ef7 SHA512 f78c55053a6450625f3e95f52c305110b4468a9854fec75831b65b8d6ceee3c9206ab9e63c4b5fda8be9bd344f72cfbdaae0520ed240abd505e08ebeaa25d340
-DIST llvm-project-5237193b87721134541f228e28edfd544a9c8ac8.tar.gz 201404340 BLAKE2B f028b8b100721202007e3106d8ee91bcf2ac90588f9268ec835dc4ea3941363d4b796338146c65d1a9e88957d18738030f713b3fed770616c79cb40043e706db SHA512 40a4d4f99f1a690a0f8737261aeeaa61af6124eeadcb6bab5c3828e88b36b8cce42a8caee6d3f01e675047c59b62210de017d207e341f680eff97758f798ad45
-DIST llvm-project-6a4489a73337907d52e7eaf3716f3de9008e6e53.tar.gz 201703120 BLAKE2B 7de783df15ff30ab85aad2f02a5a043d09b18dd7b212c19e21b045870497e2b17a53527523cd533c4ef61b22d605026a9322d2f8d02f0d4f76ed26ab693b788c SHA512 ffc31d7037255d608717faff84e858d63b37abed5659d66599864ae44ed00fc5902e9851eb1b8c848b500623681ef5782b39ad2bf8bcf96ac4f35032efde1490
+DIST llvm-project-18.1.8.src.tar.xz 132067260 BLAKE2B a950492f1dbfb874dff63b1ffef86468169ba2f211a9733ec2d4cf30040f7f277ef00f048bb44dee9f97d7d762f0f241f19e5a2a7b0b49217d3821ddfc8c354f SHA512 25eeee9984c8b4d0fbc240df90f33cbb000d3b0414baff5c8982beafcc5e59e7ef18f6f85d95b3a5f60cb3d4cd4f877c80487b5768bc21bc833f107698ad93db
+DIST llvm-project-18.1.8.src.tar.xz.sig 566 BLAKE2B 6ab0efc5b38d4483f4e32e8b85774b2edd5d88fdf29f23b88eb0b5130a7a7f0e80549612b025f927e92de4a08ff7c292cff224dbda91a5d598244e98f7ad0fbd SHA512 ddfd1e8a06756759af6cbe488c82a6d6a62ba91f3e8a0eb4cece561321824f5d165b08ed91010588790b76e19790931d2651b24dba8567e3b151d3cb43bec25b
+DIST llvm-project-1bad7024561bc64ed4bfda0772b16376b475eba5.tar.gz 216657623 BLAKE2B 99c48a95c427e8fae5568e5f59ab9bec8b2d8bec0c5d3cf453c261a738fe1c295b34e2e10e6b08d2b02cae43e3b0cd4c8eb025d19a83ee51f47a49afadd56d3f SHA512 08fc904122ab346edbfc3903cafae4f50ba57e146b2d821a568f8378c0f3ab4d413e07c5df2bf061374f9db4634b5f6b27f204fc4f2f68984303ceec9c963c0c
+DIST llvm-project-72d8c2737bb557af9d0c735b9fa30b1b03485627.tar.gz 217324958 BLAKE2B d43c161ac98860e2ce03e7e2474c55766e7496200b090ebb1cb6dcf0c2ad3a32bae76249feca53cd8b56c63806a740c280e6306890cd28429c4a7e84cae5eada SHA512 af3b44ec3f96d636d919906cf20547eb91d0a83d07731c9db38f28311a52011d8ec66833422fad9bb89ca9ac546e308b02015a7b365086341bee1f3de1b6c5e2
diff --git a/dev-python/lit/lit-14.0.6.ebuild b/dev-python/lit/lit-14.0.6.ebuild
deleted file mode 100644
index 61c5fe909b13..000000000000
--- a/dev-python/lit/lit-14.0.6.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1 llvm.org
-
-DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv sparc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-# Tests require 'FileCheck' and 'not' utilities (from llvm)
-BDEPEND="
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- sys-devel/llvm
- )
-"
-
-LLVM_COMPONENTS=( llvm/utils/lit )
-llvm.org_set_globals
-
-# TODO: move the manpage generation here (from sys-devel/llvm)
-
-src_prepare() {
- cd "${WORKDIR}" || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x LIT_PRESERVES_TMP=1
- local litflags=$(get_lit_flags)
- ./lit.py ${litflags//;/ } tests || die
-}
diff --git a/dev-python/lit/lit-17.0.5.ebuild b/dev-python/lit/lit-17.0.5.ebuild
deleted file mode 100644
index bcea2ae88c3e..000000000000
--- a/dev-python/lit/lit-17.0.5.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 llvm.org
-
-DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-# Tests require 'FileCheck' and 'not' utilities (from llvm)
-BDEPEND="
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- sys-devel/llvm
- )
-"
-
-LLVM_COMPONENTS=( llvm/utils/lit )
-llvm.org_set_globals
-
-# TODO: move the manpage generation here (from sys-devel/llvm)
-
-src_prepare() {
- # flaky test
- # https://github.com/llvm/llvm-project/issues/72022
- rm tests/progress-bar.py || die
-
- cd "${WORKDIR}" || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x LIT_PRESERVES_TMP=1
- local litflags=$(get_lit_flags)
- ./lit.py ${litflags//;/ } tests || die
-}
diff --git a/dev-python/lit/lit-17.0.6.ebuild b/dev-python/lit/lit-17.0.6.ebuild
index bcea2ae88c3e..24220a780e24 100644
--- a/dev-python/lit/lit-17.0.6.ebuild
+++ b/dev-python/lit/lit-17.0.6.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ HOMEPAGE="https://llvm.org/"
LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/lit/lit-18.0.0.9999.ebuild b/dev-python/lit/lit-18.0.0.9999.ebuild
deleted file mode 100644
index bd8eed55b536..000000000000
--- a/dev-python/lit/lit-18.0.0.9999.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 llvm.org
-
-DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-# Tests require 'FileCheck' and 'not' utilities (from llvm)
-BDEPEND="
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- sys-devel/llvm
- )
-"
-
-LLVM_COMPONENTS=( llvm/utils/lit )
-llvm.org_set_globals
-
-# TODO: move the manpage generation here (from sys-devel/llvm)
-
-src_prepare() {
- # flaky test
- # https://github.com/llvm/llvm-project/issues/72022
- rm tests/progress-bar.py || die
-
- cd "${WORKDIR}" || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x LIT_PRESERVES_TMP=1
- local litflags=$(get_lit_flags)
- ./lit.py ${litflags//;/ } tests || die
-}
diff --git a/dev-python/lit/lit-18.0.0_pre20231119.ebuild b/dev-python/lit/lit-18.0.0_pre20231119.ebuild
deleted file mode 100644
index bd8eed55b536..000000000000
--- a/dev-python/lit/lit-18.0.0_pre20231119.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 llvm.org
-
-DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-# Tests require 'FileCheck' and 'not' utilities (from llvm)
-BDEPEND="
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- sys-devel/llvm
- )
-"
-
-LLVM_COMPONENTS=( llvm/utils/lit )
-llvm.org_set_globals
-
-# TODO: move the manpage generation here (from sys-devel/llvm)
-
-src_prepare() {
- # flaky test
- # https://github.com/llvm/llvm-project/issues/72022
- rm tests/progress-bar.py || die
-
- cd "${WORKDIR}" || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x LIT_PRESERVES_TMP=1
- local litflags=$(get_lit_flags)
- ./lit.py ${litflags//;/ } tests || die
-}
diff --git a/dev-python/lit/lit-18.0.0_pre20231129.ebuild b/dev-python/lit/lit-18.0.0_pre20231129.ebuild
deleted file mode 100644
index bd8eed55b536..000000000000
--- a/dev-python/lit/lit-18.0.0_pre20231129.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 llvm.org
-
-DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
-HOMEPAGE="https://llvm.org/"
-
-LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-# Tests require 'FileCheck' and 'not' utilities (from llvm)
-BDEPEND="
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- sys-devel/llvm
- )
-"
-
-LLVM_COMPONENTS=( llvm/utils/lit )
-llvm.org_set_globals
-
-# TODO: move the manpage generation here (from sys-devel/llvm)
-
-src_prepare() {
- # flaky test
- # https://github.com/llvm/llvm-project/issues/72022
- rm tests/progress-bar.py || die
-
- cd "${WORKDIR}" || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x LIT_PRESERVES_TMP=1
- local litflags=$(get_lit_flags)
- ./lit.py ${litflags//;/ } tests || die
-}
diff --git a/dev-python/lit/lit-18.1.8.ebuild b/dev-python/lit/lit-18.1.8.ebuild
new file mode 100644
index 000000000000..6b9e078a9f68
--- /dev/null
+++ b/dev-python/lit/lit-18.1.8.ebuild
@@ -0,0 +1,46 @@
+# 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..13} )
+
+inherit distutils-r1 llvm.org
+
+DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# Tests require 'FileCheck' and 'not' utilities (from llvm)
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ sys-devel/llvm
+ )
+"
+
+LLVM_COMPONENTS=( llvm/utils/lit )
+llvm.org_set_globals
+
+# TODO: move the manpage generation here (from sys-devel/llvm)
+
+src_prepare() {
+ # flaky test
+ # https://github.com/llvm/llvm-project/issues/72022
+ rm tests/progress-bar.py || die
+
+ cd "${WORKDIR}" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x LIT_PRESERVES_TMP=1
+ local litflags=$(get_lit_flags)
+ ./lit.py ${litflags//;/ } tests || die
+}
diff --git a/dev-python/lit/lit-19.0.0.9999.ebuild b/dev-python/lit/lit-19.0.0.9999.ebuild
new file mode 100644
index 000000000000..d862b4f8cd03
--- /dev/null
+++ b/dev-python/lit/lit-19.0.0.9999.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..13} )
+
+inherit distutils-r1 llvm.org
+
+DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# Tests require 'FileCheck' and 'not' utilities (from llvm)
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ sys-devel/llvm
+ )
+"
+
+LLVM_COMPONENTS=( llvm/utils/lit )
+llvm.org_set_globals
+
+# TODO: move the manpage generation here (from sys-devel/llvm)
+
+src_prepare() {
+ # flaky test
+ # https://github.com/llvm/llvm-project/issues/72022
+ rm tests/progress-bar.py || die
+
+ cd "${WORKDIR}" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x LIT_PRESERVES_TMP=1
+ local litflags=$(get_lit_flags)
+ ./lit.py ${litflags//;/ } tests || die
+}
diff --git a/dev-python/lit/lit-19.0.0_pre20240706.ebuild b/dev-python/lit/lit-19.0.0_pre20240706.ebuild
new file mode 100644
index 000000000000..d862b4f8cd03
--- /dev/null
+++ b/dev-python/lit/lit-19.0.0_pre20240706.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..13} )
+
+inherit distutils-r1 llvm.org
+
+DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# Tests require 'FileCheck' and 'not' utilities (from llvm)
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ sys-devel/llvm
+ )
+"
+
+LLVM_COMPONENTS=( llvm/utils/lit )
+llvm.org_set_globals
+
+# TODO: move the manpage generation here (from sys-devel/llvm)
+
+src_prepare() {
+ # flaky test
+ # https://github.com/llvm/llvm-project/issues/72022
+ rm tests/progress-bar.py || die
+
+ cd "${WORKDIR}" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x LIT_PRESERVES_TMP=1
+ local litflags=$(get_lit_flags)
+ ./lit.py ${litflags//;/ } tests || die
+}
diff --git a/dev-python/lit/lit-19.0.0_pre20240712.ebuild b/dev-python/lit/lit-19.0.0_pre20240712.ebuild
new file mode 100644
index 000000000000..d862b4f8cd03
--- /dev/null
+++ b/dev-python/lit/lit-19.0.0_pre20240712.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..13} )
+
+inherit distutils-r1 llvm.org
+
+DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# Tests require 'FileCheck' and 'not' utilities (from llvm)
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ sys-devel/llvm
+ )
+"
+
+LLVM_COMPONENTS=( llvm/utils/lit )
+llvm.org_set_globals
+
+# TODO: move the manpage generation here (from sys-devel/llvm)
+
+src_prepare() {
+ # flaky test
+ # https://github.com/llvm/llvm-project/issues/72022
+ rm tests/progress-bar.py || die
+
+ cd "${WORKDIR}" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x LIT_PRESERVES_TMP=1
+ local litflags=$(get_lit_flags)
+ ./lit.py ${litflags//;/ } tests || die
+}
diff --git a/dev-python/lit/lit-19.0.0_pre20240720.ebuild b/dev-python/lit/lit-19.0.0_pre20240720.ebuild
new file mode 100644
index 000000000000..d862b4f8cd03
--- /dev/null
+++ b/dev-python/lit/lit-19.0.0_pre20240720.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..13} )
+
+inherit distutils-r1 llvm.org
+
+DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# Tests require 'FileCheck' and 'not' utilities (from llvm)
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ sys-devel/llvm
+ )
+"
+
+LLVM_COMPONENTS=( llvm/utils/lit )
+llvm.org_set_globals
+
+# TODO: move the manpage generation here (from sys-devel/llvm)
+
+src_prepare() {
+ # flaky test
+ # https://github.com/llvm/llvm-project/issues/72022
+ rm tests/progress-bar.py || die
+
+ cd "${WORKDIR}" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x LIT_PRESERVES_TMP=1
+ local litflags=$(get_lit_flags)
+ ./lit.py ${litflags//;/ } tests || die
+}
diff --git a/dev-python/lit/lit-20.0.0.9999.ebuild b/dev-python/lit/lit-20.0.0.9999.ebuild
new file mode 100644
index 000000000000..d862b4f8cd03
--- /dev/null
+++ b/dev-python/lit/lit-20.0.0.9999.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..13} )
+
+inherit distutils-r1 llvm.org
+
+DESCRIPTION="A stand-alone install of the LLVM suite testing tool"
+HOMEPAGE="https://llvm.org/"
+
+LICENSE="Apache-2.0-with-LLVM-exceptions UoI-NCSA"
+SLOT="0"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# Tests require 'FileCheck' and 'not' utilities (from llvm)
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ sys-devel/llvm
+ )
+"
+
+LLVM_COMPONENTS=( llvm/utils/lit )
+llvm.org_set_globals
+
+# TODO: move the manpage generation here (from sys-devel/llvm)
+
+src_prepare() {
+ # flaky test
+ # https://github.com/llvm/llvm-project/issues/72022
+ rm tests/progress-bar.py || die
+
+ cd "${WORKDIR}" || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x LIT_PRESERVES_TMP=1
+ local litflags=$(get_lit_flags)
+ ./lit.py ${litflags//;/ } tests || die
+}
diff --git a/dev-python/littleutils/Manifest b/dev-python/littleutils/Manifest
index 575ccdc8356b..e10f67079bb8 100644
--- a/dev-python/littleutils/Manifest
+++ b/dev-python/littleutils/Manifest
@@ -1 +1,2 @@
DIST littleutils-0.2.2.tar.gz 6579 BLAKE2B 80aec2c133e39eb0e18c948b15d475e60842689fd0e758c43511a8b014648d7c9e843182e2a87c0b3f9933f748340f2059653f0885cf416edbc5a60457c70629 SHA512 ce0b3af4ef5db634ce0dbb916deb767260f66418abbdca2b289386ecd4c2e44602cb95d568c70588ef9a40e3d700f33cbc5bcdbf859f5030795f79f11871a6ff
+DIST littleutils-0.2.4.tar.gz 9526 BLAKE2B e9db85044f137aa794c5fe4bee7f456d6437313f856a810f6a28f58a3d516a35288079fb08ab0ba2604dd2bb10b4a43790584a607a727497133d0bab66a00589 SHA512 818eb4a1264188cf2edd392602cb4235590fed6a7542870748a3a5a52b6ee303436e2462991a437d19916a39303694e49c7f10282524a569346541bc4eebf515
diff --git a/dev-python/littleutils/littleutils-0.2.2-r1.ebuild b/dev-python/littleutils/littleutils-0.2.2-r1.ebuild
index b0852a24909a..1250c642f808 100644
--- a/dev-python/littleutils/littleutils-0.2.2-r1.ebuild
+++ b/dev-python/littleutils/littleutils-0.2.2-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/littleutils/littleutils-0.2.4.ebuild b/dev-python/littleutils/littleutils-0.2.4.ebuild
new file mode 100644
index 000000000000..8ccf5b6473f9
--- /dev/null
+++ b/dev-python/littleutils/littleutils-0.2.4.ebuild
@@ -0,0 +1,24 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Small personal collection of Python utility functions"
+HOMEPAGE="
+ https://pypi.org/project/littleutils/
+ https://github.com/alexmojaki/littleutils/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+python_test() {
+ "${EPYTHON}" -m doctest -v littleutils/__init__.py ||
+ die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/livereload/Manifest b/dev-python/livereload/Manifest
index f63cedbe64d4..000ced2b8c60 100644
--- a/dev-python/livereload/Manifest
+++ b/dev-python/livereload/Manifest
@@ -1,2 +1 @@
-DIST livereload-2.6.3.tar.gz 29407 BLAKE2B 39f030dbc21bec1b132fd9d43f9072f4c35d23ccdca56819e2c6b35277e9eac9caeeff7052fc766359e34bf415319f809ebd45927bd2cc223be7ac88594feef7 SHA512 ccccb17cb4d835eb9e812f8076f871164f6afb2fdc1aee9e35c5ef2d75be2c0403cee51d4eb30b029d7b35522f357ee8c3e9df926fd93511ba7d010ed2a69e8e
-DIST python-livereload-2.6.3.gh.tar.gz 29407 BLAKE2B 39f030dbc21bec1b132fd9d43f9072f4c35d23ccdca56819e2c6b35277e9eac9caeeff7052fc766359e34bf415319f809ebd45927bd2cc223be7ac88594feef7 SHA512 ccccb17cb4d835eb9e812f8076f871164f6afb2fdc1aee9e35c5ef2d75be2c0403cee51d4eb30b029d7b35522f357ee8c3e9df926fd93511ba7d010ed2a69e8e
+DIST python-livereload-2.7.0.gh.tar.gz 26138 BLAKE2B 4cb2fd5352cbb68f09c914000e37b8305d66c9735e232e5eccad3ea1016ffc6d3da0846ebce048385f6606ceaa176b8df77461d9a0ca939a2f65d089cec9c3e9 SHA512 676f50b9300e1582177493cef24f4e2b10a4e385d0de780bf9161dee66e3063420338021464477c8079bffd0e4690a4b0d15c71025ebf1959addbaa6e69fa8bb
diff --git a/dev-python/livereload/livereload-2.6.3-r1.ebuild b/dev-python/livereload/livereload-2.6.3-r1.ebuild
deleted file mode 100644
index cabb382eb15f..000000000000
--- a/dev-python/livereload/livereload-2.6.3-r1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=python-livereload-${PV}
-DESCRIPTION="livereload server in Python"
-HOMEPAGE="
- https://github.com/lepture/python-livereload/
- https://pypi.org/project/livereload/
-"
-SRC_URI="
- https://github.com/lepture/python-livereload/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-IUSE="examples"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/tornado[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/flask-sphinx-themes
-
-EPYTEST_DESELECT=(
- tests/test_watcher.py::TestWatcher::test_watch_multiple_dirs
-)
-
-python_install_all() {
- if use examples; then
- docinto examples
- dodoc -r example/.
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/livereload/livereload-2.6.3.ebuild b/dev-python/livereload/livereload-2.6.3.ebuild
deleted file mode 100644
index 7880cadc435e..000000000000
--- a/dev-python/livereload/livereload-2.6.3.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python LiveReload is an awesome tool for web developers"
-HOMEPAGE="https://github.com/lepture/python-livereload"
-SRC_URI="https://github.com/lepture/python-${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-S="${WORKDIR}/python-${P}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-IUSE="examples"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/tornado[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/flask-sphinx-themes
-
-python_prepare_all() {
- # AssertionError: assert (None, None) == ('/var/tmp/portage/dev-python/livereload-2.6.1/work/livereload-2.6.1/tests/tmp/first/foo',\n None)
- sed -i -e 's:test_watch_multiple_dirs:_&:' tests/test_watcher.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- if use examples; then
- docinto examples
- dodoc -r example/.
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/livereload/livereload-2.7.0.ebuild b/dev-python/livereload/livereload-2.7.0.ebuild
new file mode 100644
index 000000000000..3d444865528f
--- /dev/null
+++ b/dev-python/livereload/livereload-2.7.0.ebuild
@@ -0,0 +1,46 @@
+# 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
+
+MY_P=python-livereload-${PV}
+DESCRIPTION="livereload server in Python"
+HOMEPAGE="
+ https://github.com/lepture/python-livereload/
+ https://pypi.org/project/livereload/
+"
+SRC_URI="
+ https://github.com/lepture/python-livereload/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/tornado[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/furo \
+ dev-python/myst-parser \
+ dev-python/sphinxcontrib-programoutput
+
+python_install_all() {
+ if use examples; then
+ docinto examples
+ dodoc -r example/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/livereload/metadata.xml b/dev-python/livereload/metadata.xml
index 6765f659eb72..1046423122c7 100644
--- a/dev-python/livereload/metadata.xml
+++ b/dev-python/livereload/metadata.xml
@@ -1,7 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <!-- maintainer-needed -->
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<stabilize-allarches/>
<upstream>
<remote-id type="github">lepture/python-livereload</remote-id>
diff --git a/dev-python/llfuse/llfuse-1.5.0.ebuild b/dev-python/llfuse/llfuse-1.5.0.ebuild
index ff89a2a3ce4f..ad33c51e4923 100644
--- a/dev-python/llfuse/llfuse-1.5.0.ebuild
+++ b/dev-python/llfuse/llfuse-1.5.0.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
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/lmdb/Manifest b/dev-python/lmdb/Manifest
index cd6420e0bfa4..5855f60da74d 100644
--- a/dev-python/lmdb/Manifest
+++ b/dev-python/lmdb/Manifest
@@ -1 +1 @@
-DIST lmdb-1.4.1.tar.gz 881549 BLAKE2B a821473c2c026a3c5f0b2686414c4dd102ae82cba7db12fbaadd5dde5b03f22e9eae630ca87424cc55d3964b40437cfbd833ab7fb237544771cf48429810af96 SHA512 96b39a45c6e7c0fcc0b6f913337d07adb5c8883d0b6a95102b0227b6b92ac3fcdcaf09c132e44f2d3779b5066692b407bb1afd19ae8d87feda56047652a07354
+DIST lmdb-1.5.1.tar.gz 881246 BLAKE2B 49fbb09a3205aa1d3ea82427a03493aa579e201e831a5d61774d130b2600673892fc1b37fc30e5a6614f98e4f9f3672d5351e2a77ba24abd3999c5d5f18a58e9 SHA512 3f5f7e91813fc2a621ea6ec40e4d85c42d996a8424d5181ce5dab4e414ef17e949c6297c41ccd03b8bb749d1038ed8b143ee5d4e93f38ffcde993beeeacd3aea
diff --git a/dev-python/lmdb/lmdb-1.4.1.ebuild b/dev-python/lmdb/lmdb-1.4.1.ebuild
deleted file mode 100644
index 871b9ec426f6..000000000000
--- a/dev-python/lmdb/lmdb-1.4.1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings for the Lightning Database"
-HOMEPAGE="
- https://github.com/jnwatson/py-lmdb/
- https://pypi.org/project/lmdb/
-"
-
-LICENSE="OPENLDAP"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-# cffi is used only on pypy, so no dep
-DEPEND="
- >=dev-db/lmdb-0.9.28:=
-"
-RDEPEND="
- ${DEPEND}
-"
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-src_compile() {
- local -x LMDB_FORCE_SYSTEM=1
- distutils-r1_src_compile
-}
-
-python_test() {
- rm -rf lmdb || die
- epytest tests
-}
diff --git a/dev-python/lmdb/lmdb-1.5.1.ebuild b/dev-python/lmdb/lmdb-1.5.1.ebuild
new file mode 100644
index 000000000000..42e292f5163f
--- /dev/null
+++ b/dev-python/lmdb/lmdb-1.5.1.ebuild
@@ -0,0 +1,40 @@
+# 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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for the Lightning Database"
+HOMEPAGE="
+ https://github.com/jnwatson/py-lmdb/
+ https://pypi.org/project/lmdb/
+"
+
+LICENSE="OPENLDAP"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+# cffi is used only on pypy, so no dep
+DEPEND="
+ >=dev-db/lmdb-0.9.28:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests pytest
+
+src_compile() {
+ local -x LMDB_FORCE_SYSTEM=1
+ distutils-r1_src_compile
+}
+
+python_test() {
+ rm -rf lmdb || die
+ epytest tests
+}
diff --git a/dev-python/lmfit/Manifest b/dev-python/lmfit/Manifest
index 551f6cecb01d..9cfa98af0dd0 100644
--- a/dev-python/lmfit/Manifest
+++ b/dev-python/lmfit/Manifest
@@ -1 +1,2 @@
-DIST lmfit-1.2.2.tar.gz 336346 BLAKE2B 78819c8be935f330b2f0eaad09ff9201c80e12d571571d8ee5088100c4d19a6a78d2e860e7b240fb6f2eea5f27bd0fc72538fdb04e6cc4e3e1d801f4f5fc5110 SHA512 f667bf8eb9c4090beda33de8a32c284a1f1eb2f1643085191943517acf61e125c7bafed37b634267fdc69e49338397248673fc62f8afc8fc8cc6733726cd0313
+DIST lmfit-1.3.1.tar.gz 629917 BLAKE2B 6cb5f478bf0b31ce6fe6ccfc97d216fae63f8efa159b30151896254352d3d0e1667d276101f93d357a0dabc39462bd110f115ff6e89c18739c1728f089f54d89 SHA512 b6766224ecd4c75e09a935ab86041852f22491870191c6b6b8cc0e5a873e7c69cb6f11517afa987289c63fb249a8ceef7c336e1c7c4e19d33a2e1bc04fbe6aa6
+DIST lmfit-1.3.2.tar.gz 623945 BLAKE2B aa2f1a98a842199271c09297d1399fdc408c58114e67324503151e7701c7176e6b03d218d668d6bf002c0ad61474e18d11edbdacfb4b621533b8f958d0f2026d SHA512 2dbba258aa14bd9bdb032cfe93086e207da5398137a06031aa1f09a0f9c35636e89488ed1bd348cdc2a5ea140df839f5cb414d9d208ac7ddda5f7f11d0c058d4
diff --git a/dev-python/lmfit/files/lmfit-1.3.1-np2.patch b/dev-python/lmfit/files/lmfit-1.3.1-np2.patch
new file mode 100644
index 000000000000..6b6bbb2308cf
--- /dev/null
+++ b/dev-python/lmfit/files/lmfit-1.3.1-np2.patch
@@ -0,0 +1,39 @@
+diff --git a/lmfit/parameter.py b/lmfit/parameter.py
+index ca9ccc72..a7ec9a65 100644
+--- a/lmfit/parameter.py
++++ b/lmfit/parameter.py
+@@ -181,9 +181,8 @@ def __reduce__(self):
+ params = [self[k] for k in self]
+
+ # find the symbols from _asteval.symtable, that need to be remembered.
+- sym_unique = self._asteval.user_defined_symbols()
+ unique_symbols = {key: deepcopy(self._asteval.symtable[key])
+- for key in sym_unique}
++ for key in self._asteval.user_defined_symbols()}
+
+ return self.__class__, (), {'unique_symbols': unique_symbols,
+ 'params': params}
+@@ -567,9 +566,8 @@ def dumps(self, **kws):
+
+ """
+ params = [p.__getstate__() for p in self.values()]
+- sym_unique = self._asteval.user_defined_symbols()
+ unique_symbols = {key: encode4js(deepcopy(self._asteval.symtable[key]))
+- for key in sym_unique}
++ for key in self._asteval.user_defined_symbols()}
+ return json.dumps({'unique_symbols': unique_symbols,
+ 'params': params}, **kws)
+
+diff --git a/tests/test_model.py b/tests/test_model.py
+index 396ea0b1..24dfbfcd 100644
+--- a/tests/test_model.py
++++ b/tests/test_model.py
+@@ -900,7 +900,7 @@ def test_independent_var_parsing(self):
+ yatan = stepmod2.eval(pars, x=x)
+
+ assert (yatan-yline).std() > 0.1
+- assert (yatan-yline).ptp() > 1.0
++ assert np.ptp(yatan-yline) > 1.0
+
+ voigtmod = Model(voigt)
+ assert 'x' in voigtmod.independent_vars
diff --git a/dev-python/lmfit/lmfit-1.2.2.ebuild b/dev-python/lmfit/lmfit-1.2.2.ebuild
deleted file mode 100644
index 228886d33208..000000000000
--- a/dev-python/lmfit/lmfit-1.2.2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Non-Linear Least-Squares Minimization and Curve-Fitting for Python"
-HOMEPAGE="
- https://lmfit.github.io/lmfit-py/
- https://github.com/lmfit/lmfit-py/
- https://pypi.org/project/lmfit/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/asteval-0.9.28[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.19[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.6[${PYTHON_USEDEP}]
- >=dev-python/uncertainties-3.1.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-6.2[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest -o addopts=
-}
diff --git a/dev-python/lmfit/lmfit-1.3.1-r1.ebuild b/dev-python/lmfit/lmfit-1.3.1-r1.ebuild
new file mode 100644
index 000000000000..7f6e86d4ee69
--- /dev/null
+++ b/dev-python/lmfit/lmfit-1.3.1-r1.ebuild
@@ -0,0 +1,42 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Non-Linear Least-Squares Minimization and Curve-Fitting for Python"
+HOMEPAGE="
+ https://lmfit.github.io/lmfit-py/
+ https://github.com/lmfit/lmfit-py/
+ https://pypi.org/project/lmfit/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/asteval-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/dill-0.3.4[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.19[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.6[${PYTHON_USEDEP}]
+ >=dev-python/uncertainties-3.1.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/lmfit/lmfit-py/pull/959
+ "${FILESDIR}/${P}-np2.patch"
+)
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/lmfit/lmfit-1.3.1.ebuild b/dev-python/lmfit/lmfit-1.3.1.ebuild
new file mode 100644
index 000000000000..93e1d36d7e10
--- /dev/null
+++ b/dev-python/lmfit/lmfit-1.3.1.ebuild
@@ -0,0 +1,37 @@
+# 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="Non-Linear Least-Squares Minimization and Curve-Fitting for Python"
+HOMEPAGE="
+ https://lmfit.github.io/lmfit-py/
+ https://github.com/lmfit/lmfit-py/
+ https://pypi.org/project/lmfit/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/asteval-0.9.28[${PYTHON_USEDEP}]
+ >=dev-python/dill-0.3.4[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.19[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.6[${PYTHON_USEDEP}]
+ >=dev-python/uncertainties-3.1.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/lmfit/lmfit-1.3.2.ebuild b/dev-python/lmfit/lmfit-1.3.2.ebuild
new file mode 100644
index 000000000000..8c8e470ae48b
--- /dev/null
+++ b/dev-python/lmfit/lmfit-1.3.2.ebuild
@@ -0,0 +1,37 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Non-Linear Least-Squares Minimization and Curve-Fitting for Python"
+HOMEPAGE="
+ https://lmfit.github.io/lmfit-py/
+ https://github.com/lmfit/lmfit-py/
+ https://pypi.org/project/lmfit/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/asteval-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/dill-0.3.4[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.19[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.6[${PYTHON_USEDEP}]
+ >=dev-python/uncertainties-3.2.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/locket/locket-1.0.0.ebuild b/dev-python/locket/locket-1.0.0.ebuild
index a26d8463b7d2..c176848261a1 100644
--- a/dev-python/locket/locket-1.0.0.ebuild
+++ b/dev-python/locket/locket-1.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/lockfile/lockfile-0.12.2-r3.ebuild b/dev-python/lockfile/lockfile-0.12.2-r3.ebuild
index 25378bb65c27..f552d0d8c473 100644
--- a/dev-python/lockfile/lockfile-0.12.2-r3.ebuild
+++ b/dev-python/lockfile/lockfile-0.12.2-r3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/logbook/logbook-1.7.0.ebuild b/dev-python/logbook/logbook-1.7.0.ebuild
index cbf91d4941f2..3e935b81ead4 100644
--- a/dev-python/logbook/logbook-1.7.0.ebuild
+++ b/dev-python/logbook/logbook-1.7.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/logical-unification/logical-unification-0.4.6.ebuild b/dev-python/logical-unification/logical-unification-0.4.6.ebuild
index 1ce1c386d007..4ea633920417 100644
--- a/dev-python/logical-unification/logical-unification-0.4.6.ebuild
+++ b/dev-python/logical-unification/logical-unification-0.4.6.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/loguru/Manifest b/dev-python/loguru/Manifest
index 63c4e36dc3ec..4d7b0008da94 100644
--- a/dev-python/loguru/Manifest
+++ b/dev-python/loguru/Manifest
@@ -1 +1 @@
-DIST loguru-0.7.0.gh.tar.gz 430544 BLAKE2B 13ee91da7c7bc0b29297cb70235c26e0517939c332dde342c14cb937112d5a0b9c467ec273f2034875a52902ffc05dd780fd349498d8a0b65efd6ecf6a947056 SHA512 02d2a0c7c54a5083a444a23222854ee4587da3f7a490ec193d0bae2f3c464c0a86102417f5886205e73c0a149694b931f39f3c5a1ade605cf2b2799395a478a0
+DIST loguru-0.7.2.gh.tar.gz 443643 BLAKE2B 208c4ad989257e0e0d5cecf41c9722f398e5c73528f8a88c92e28490121723d5c19b4170ff246446e94237e8bb732f83e4b9fcc66c42aa7e3c1ba25aaa069e34 SHA512 e4d358f12ec33393bdac836206a15a3161653684b69839f58bbdc692155e4aee4b6ec700ab13b83f431a67df5ec86cacf2cb90fa052827e5e03c68c1f132e339
diff --git a/dev-python/loguru/loguru-0.7.0.ebuild b/dev-python/loguru/loguru-0.7.0.ebuild
deleted file mode 100644
index d81e7c00a5a4..000000000000
--- a/dev-python/loguru/loguru-0.7.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python logging made (stupidly) simple"
-HOMEPAGE="
- https://github.com/Delgan/loguru/
- https://pypi.org/project/loguru/
-"
-SRC_URI="
- https://github.com/Delgan/loguru/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
-
-BDEPEND="
- test? (
- >=dev-python/colorama-0.4.6[${PYTHON_USEDEP}]
- >=dev-python/freezegun-1.2.2[${PYTHON_USEDEP}]
- dev-python/mypy[${PYTHON_USEDEP}]
- )
-"
-
-# filesystem buffering tests may fail
-# on tmpfs with 64k PAGESZ, but pass fine on ext4
-distutils_enable_tests pytest
diff --git a/dev-python/loguru/loguru-0.7.2.ebuild b/dev-python/loguru/loguru-0.7.2.ebuild
new file mode 100644
index 000000000000..5cf11ffbbb57
--- /dev/null
+++ b/dev-python/loguru/loguru-0.7.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2019-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
+
+DESCRIPTION="Python logging made (stupidly) simple"
+HOMEPAGE="
+ https://github.com/Delgan/loguru/
+ https://pypi.org/project/loguru/
+"
+SRC_URI="
+ https://github.com/Delgan/loguru/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ test? (
+ >=dev-python/colorama-0.4.6[${PYTHON_USEDEP}]
+ >=dev-python/freezegun-1.2.2[${PYTHON_USEDEP}]
+ dev-python/mypy[${PYTHON_USEDEP}]
+ )
+"
+
+# filesystem buffering tests may fail
+# on tmpfs with 64k PAGESZ, but pass fine on ext4
+distutils_enable_tests pytest
diff --git a/dev-python/loguru/metadata.xml b/dev-python/loguru/metadata.xml
index e9467c36ed42..726516bfb038 100644
--- a/dev-python/loguru/metadata.xml
+++ b/dev-python/loguru/metadata.xml
@@ -1,13 +1,16 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<longdescription lang="en">
- This library is intended to make Python logging less painful by adding a bunch of useful functionalities that solve caveats of the standard loggers.
- Using logs in your application should be an automatism, Loguru tries to make it both pleasant and powerful.
+ This library is intended to make Python logging less painful
+ by adding a bunch of useful functionalities that solve caveats
+ of the standard loggers. Using logs in your application should
+ be an automatism, Loguru tries to make it both pleasant
+ and powerful.
</longdescription>
<upstream>
<remote-id type="github">Delgan/loguru</remote-id>
diff --git a/dev-python/logutils/logutils-0.3.5-r1.ebuild b/dev-python/logutils/logutils-0.3.5-r1.ebuild
index b33eb0e6696f..fd886838498d 100644
--- a/dev-python/logutils/logutils-0.3.5-r1.ebuild
+++ b/dev-python/logutils/logutils-0.3.5-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1 pypi
@@ -13,7 +13,7 @@ HOMEPAGE="https://bitbucket.org/vinay.sajip/logutils"
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm64 ppc64 ~riscv x86"
BDEPEND="
test? (
diff --git a/dev-python/loky/loky-3.4.1.ebuild b/dev-python/loky/loky-3.4.1.ebuild
index 97ce588e59b8..ee013356837d 100644
--- a/dev-python/loky/loky-3.4.1.ebuild
+++ b/dev-python/loky/loky-3.4.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 multiprocessing
diff --git a/dev-python/looseversion/looseversion-1.3.0.ebuild b/dev-python/looseversion/looseversion-1.3.0.ebuild
index 6654b11d9f0b..60a6c58d6f8e 100644
--- a/dev-python/looseversion/looseversion-1.3.0.ebuild
+++ b/dev-python/looseversion/looseversion-1.3.0.ebuild
@@ -1,22 +1,22 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-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_COMPAT=( pypy3 python3_{10..13} )
inherit pypi distutils-r1
DESCRIPTION="A backwards/forwards-compatible fork of distutils.version.LooseVersion"
HOMEPAGE="
https://pypi.org/project/looseversion/
- https://github.com/effigies/looseversion
+ https://github.com/effigies/looseversion/
"
LICENSE="PSF-2"
SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
+KEYWORDS="amd64 ~riscv ~x86"
distutils_enable_tests pytest
diff --git a/dev-python/lxml-html-clean/Manifest b/dev-python/lxml-html-clean/Manifest
new file mode 100644
index 000000000000..377c78223a4e
--- /dev/null
+++ b/dev-python/lxml-html-clean/Manifest
@@ -0,0 +1 @@
+DIST lxml_html_clean-0.1.1.tar.gz 14086 BLAKE2B 5ff4c01847298fc7c63b3243805ae9cd9013a4bc0b263d3235344cb6a46b4e09d4f2c5d559e4fb311f7dc1c92262feaa53caa3562dff1e65b302af65abbd025a SHA512 f297a17f84cec472026d12246f95013bf6c0cab932dccb6432a1140503d62255a3a9357798047044175ce8f9d1d86d3ea9a73a732ec299d65263ccf637315e95
diff --git a/dev-python/lxml-html-clean/lxml-html-clean-0.1.1.ebuild b/dev-python/lxml-html-clean/lxml-html-clean-0.1.1.ebuild
new file mode 100644
index 000000000000..af89140a5b4d
--- /dev/null
+++ b/dev-python/lxml-html-clean/lxml-html-clean-0.1.1.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Separate project for HTML cleaning functionalities copied from lxml.html.clean"
+HOMEPAGE="
+ https://pypi.org/project/lxml-html-clean/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/lxml-5.2.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/lxml-html-clean/metadata.xml b/dev-python/lxml-html-clean/metadata.xml
new file mode 100644
index 000000000000..83c5369b6c54
--- /dev/null
+++ b/dev-python/lxml-html-clean/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>eschwartz@gentoo.org</email>
+ <name>Eli Schwartz</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">lxml-html-clean</remote-id>
+ <remote-id type="github">fedora-python/lxml_html_clean</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/lxml/Manifest b/dev-python/lxml/Manifest
index a697a511ea4f..8e6b184f8dd6 100644
--- a/dev-python/lxml/Manifest
+++ b/dev-python/lxml/Manifest
@@ -1,2 +1 @@
-DIST lxml-4.9.3-patches-2.tar.xz 24288 BLAKE2B 47b7c486a1c1616c875111bd53b14d4211a1eee3f412985f4022e71b85b087abd71d36919fb025257f17de404329284898ddc639f85e8b15ade21778fa218d98 SHA512 713172b4c907db6479a0a803a842824825b212a9b645c1ca356f793658bd6c63113ea248278e7c46b512e22e3130696e9fc5127fea82a67372d920733fc160b0
-DIST lxml-4.9.3.gh.tar.gz 958628 BLAKE2B ffdf3fe781a03815f7c026229d313721c93375ebafad9b4a20c5d8a380a631401e546d8701a94d8c49615fb6a71e84940d8ca0299b47a37c1c9596db36659113 SHA512 903bd4935c7708b459aee9befcf3f6e3e3aaa9adc122591ea923b6e3d8fd288f07cab3f5f0edb08e3bf9db80414324f0a1a8e5a5089f9cda82f6c50f5df59423
+DIST lxml-5.2.2.gh.tar.gz 950650 BLAKE2B d9e3bd96f386a808eca58ffa9a6b5a79e43102b7161fac9b97905de2bd22d21feaddb093e27463f597ef5378d754011c2999a38953e6288595b8dd171976688b SHA512 20b87a2d6e7ac82b6979d6fd18ecd5c224fec6eeee6b69d47a5bf2947ce53e6a517d1b86ab68836a5974f78ce86551ddc2317c1a7255932b418b98dc64d59376
diff --git a/dev-python/lxml/files/lxml-5.1.1-pypy.patch b/dev-python/lxml/files/lxml-5.1.1-pypy.patch
new file mode 100644
index 000000000000..2f6a75781fb8
--- /dev/null
+++ b/dev-python/lxml/files/lxml-5.1.1-pypy.patch
@@ -0,0 +1,162 @@
+diff --git a/src/lxml/tests/test_http_io.py b/src/lxml/tests/test_http_io.py
+index 8385e393..0b259299 100644
+--- a/src/lxml/tests/test_http_io.py
++++ b/src/lxml/tests/test_http_io.py
+@@ -10,3 +10,3 @@ import gzip
+
+-from .common_imports import etree, HelperTestCase, BytesIO, _bytes
++from .common_imports import etree, HelperTestCase, BytesIO, _bytes, IS_PYPY
+ from .dummy_http_server import webserver, HTTPRequestCollector
+@@ -14,2 +14,3 @@ from .dummy_http_server import webserver, HTTPRequestCollector
+
++@unittest.skipIf(IS_PYPY, "broken on pypy")
+ class HttpIOTestCase(HelperTestCase):
+diff --git a/src/lxml/tests/test_nsclasses.py b/src/lxml/tests/test_nsclasses.py
+index 750dc1ed..adbec11c 100644
+--- a/src/lxml/tests/test_nsclasses.py
++++ b/src/lxml/tests/test_nsclasses.py
+@@ -8,3 +8,3 @@ import unittest
+
+-from .common_imports import etree, HelperTestCase, _bytes, make_doctest
++from .common_imports import etree, HelperTestCase, _bytes, make_doctest, IS_PYPY
+
+@@ -45,2 +45,3 @@ class ETreeNamespaceClassesTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_ns_classes(self):
+diff --git a/src/lxml/tests/test_objectify.py b/src/lxml/tests/test_objectify.py
+index 1c8ff47c..326c5316 100644
+--- a/src/lxml/tests/test_objectify.py
++++ b/src/lxml/tests/test_objectify.py
+@@ -10,3 +10,4 @@ import unittest
+ from .common_imports import (
+- etree, HelperTestCase, fileInTestDir, doctest, make_doctest, _bytes, _str, BytesIO
++ etree, HelperTestCase, fileInTestDir, doctest, make_doctest, _bytes, _str, BytesIO,
++ IS_PYPY
+ )
+@@ -383,2 +384,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_setattr(self):
+@@ -818,2 +820,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_build_tree(self):
+@@ -847,2 +850,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_bool(self):
+@@ -884,2 +888,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_str(self):
+@@ -891,2 +896,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_str_intliteral(self):
+@@ -898,2 +904,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_str_floatliteral(self):
+@@ -905,2 +912,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_str_mul(self):
+@@ -917,2 +925,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_str_add(self):
+@@ -992,2 +1001,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_ustr(self):
+@@ -999,2 +1009,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_ustr_intliteral(self):
+@@ -1006,2 +1017,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_ustr_floatliteral(self):
+@@ -1013,2 +1025,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_ustr_mul(self):
+@@ -1025,2 +1038,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_ustr_add(self):
+@@ -1050,2 +1064,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_int(self):
+@@ -1066,2 +1081,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_float(self):
+@@ -1082,2 +1098,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_float_precision(self):
+@@ -1101,2 +1118,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_float_precision_consistency(self):
+@@ -1187,2 +1205,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_unregistered(self):
+@@ -1349,2 +1368,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_str_cmp(self):
+@@ -1376,2 +1396,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_int_cmp(self):
+@@ -1398,2 +1419,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_type_bool_cmp(self):
+@@ -2067,2 +2089,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_registered_type_stringify(self):
+@@ -2537,2 +2560,3 @@ class ObjectifyTestCase(HelperTestCase):
+ # type-looked-up as ObjectifiedElement (no annotations)
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_efactory_int(self):
+@@ -2542,2 +2566,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_efactory_float(self):
+@@ -2547,2 +2572,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_efactory_str(self):
+@@ -2552,2 +2578,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_efactory_unicode(self):
+@@ -2557,2 +2584,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_efactory_bool(self):
+@@ -2562,2 +2590,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_efactory_none(self):
+@@ -2567,2 +2596,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_efactory_value_concatenation(self):
+@@ -2577,2 +2607,3 @@ class ObjectifyTestCase(HelperTestCase):
+
++ @unittest.skipIf(IS_PYPY, "broken on pypy")
+ def test_efactory_nested(self):
+@@ -2745,3 +2776,4 @@ def test_suite():
+ suite.addTests(doctest.DocTestSuite(objectify))
+- suite.addTests([make_doctest('../../../doc/objectify.txt')])
++ if not IS_PYPY:
++ suite.addTests([make_doctest('../../../doc/objectify.txt')])
+ return suite
diff --git a/dev-python/lxml/lxml-4.9.3-r2.ebuild b/dev-python/lxml/lxml-4.9.3-r2.ebuild
deleted file mode 100644
index cd6b75b3c807..000000000000
--- a/dev-python/lxml/lxml-4.9.3-r2.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 optfeature toolchain-funcs
-
-DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
-HOMEPAGE="
- https://lxml.de/
- https://pypi.org/project/lxml/
- https://github.com/lxml/lxml/
-"
-SRC_URI="
- https://github.com/lxml/lxml/archive/${P}.tar.gz
- -> ${P}.gh.tar.gz
- https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-4.9.3-patches-2.tar.xz
-"
-S=${WORKDIR}/lxml-${P}
-
-LICENSE="BSD ElementTree GPL-2 PSF-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="doc examples +threads test"
-RESTRICT="!test? ( test )"
-
-# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
-DEPEND="
- >=dev-libs/libxml2-2.10.3
- >=dev-libs/libxslt-1.1.38
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- virtual/pkgconfig
- >=dev-python/cython-0.29.35[${PYTHON_USEDEP}]
- doc? (
- $(python_gen_any_dep '
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
- ')
- )
- test? (
- dev-python/cssselect[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${WORKDIR}"/${PN}-4.9.3-patches-2
-)
-
-python_check_deps() {
- use doc || return 0
- python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
- python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
-}
-
-python_prepare_all() {
- # avoid replacing PYTHONPATH in tests.
- sed -i -e '/sys\.path/d' test.py || die
-
- # don't use some random SDK on Darwin
- sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
- setupinfo.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- local DISTUTILS_ARGS=(
- # by default it adds -w to CFLAGS
- --warnings
- )
- tc-export PKG_CONFIG
- distutils-r1_python_compile
-}
-
-python_compile_all() {
- use doc && emake html
-}
-
-python_test() {
- local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
- local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
-
- cp -al "${BUILD_DIR}"/{install,test} || die
- cp -al src/lxml/tests "${dir}/" || die
- cp -al src/lxml/html/tests "${dir}/html/" || die
- ln -rs "${S}"/doc "${dir}"/../../ || die
-
- "${EPYTHON}" test.py -vv --all-levels -p || die "Test ${test} fails with ${EPYTHON}"
-}
-
-python_install_all() {
- if use doc; then
- local DOCS=( README.rst *.txt doc/*.txt )
- local HTML_DOCS=( doc/html/. )
- fi
- if use examples; then
- dodoc -r samples
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
- optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
-}
diff --git a/dev-python/lxml/lxml-5.2.2.ebuild b/dev-python/lxml/lxml-5.2.2.ebuild
new file mode 100644
index 000000000000..ffb3da192041
--- /dev/null
+++ b/dev-python/lxml/lxml-5.2.2.ebuild
@@ -0,0 +1,119 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 optfeature toolchain-funcs
+
+DESCRIPTION="A Pythonic binding for the libxml2 and libxslt libraries"
+HOMEPAGE="
+ https://lxml.de/
+ https://pypi.org/project/lxml/
+ https://github.com/lxml/lxml/
+"
+SRC_URI="
+ https://github.com/lxml/lxml/archive/${P}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/lxml-${P}
+
+LICENSE="BSD ElementTree GPL-2 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="doc examples +threads test"
+RESTRICT="!test? ( test )"
+
+# Note: lib{xml2,xslt} are used as C libraries, not Python modules.
+DEPEND="
+ >=dev-libs/libxml2-2.10.3
+ >=dev-libs/libxslt-1.1.38
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+ >=dev-python/cython-3.0.10[${PYTHON_USEDEP}]
+ doc? (
+ $(python_gen_any_dep '
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]
+ ')
+ )
+ test? (
+ dev-python/cssselect[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-5.1.1-pypy.patch"
+)
+
+python_check_deps() {
+ use doc || return 0
+ python_has_version -b "dev-python/docutils[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/pygments[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx[${PYTHON_USEDEP}]" &&
+ python_has_version -b "dev-python/sphinx-rtd-theme[${PYTHON_USEDEP}]"
+}
+
+python_prepare_all() {
+ # avoid replacing PYTHONPATH in tests.
+ sed -i -e '/sys\.path/d' test.py || die
+
+ # don't use some random SDK on Darwin
+ sed -i -e '/_ldflags =/s/=.*isysroot.*darwin.*None/= None/' \
+ setupinfo.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ local DISTUTILS_ARGS=(
+ # by default it adds -w to CFLAGS
+ --warnings
+ )
+ tc-export PKG_CONFIG
+ distutils-r1_python_compile
+}
+
+python_compile_all() {
+ use doc && emake html
+}
+
+python_test() {
+ local dir=${BUILD_DIR}/test$(python_get_sitedir)/lxml
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ cp -al "${BUILD_DIR}"/{install,test} || die
+ cp -al src/lxml/tests "${dir}/" || die
+ cp -al src/lxml/html/tests "${dir}/html/" || die
+ ln -rs "${S}"/doc "${dir}"/../../ || die
+
+ "${EPYTHON}" test.py -vv --all-levels -p ||
+ die "Tests fail on ${EPYTHON}"
+}
+
+python_install_all() {
+ if use doc; then
+ local DOCS=( README.rst *.txt doc/*.txt )
+ local HTML_DOCS=( doc/html/. )
+ fi
+ if use examples; then
+ dodoc -r samples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Support for BeautifulSoup as a parser backend" dev-python/beautifulsoup4
+ optfeature "Translates CSS selectors to XPath 1.0 expressions" dev-python/cssselect
+ optfeature "Support for lxml.html.clean sanitizer" dev-python/lxml-html-clean
+}
diff --git a/dev-python/lz4/Manifest b/dev-python/lz4/Manifest
index 0ddd165a0b07..7ffa09f55d9e 100644
--- a/dev-python/lz4/Manifest
+++ b/dev-python/lz4/Manifest
@@ -1 +1 @@
-DIST lz4-4.3.2.tar.gz 170869 BLAKE2B bd6ddcb7294cbfaf2a2a0de78c49434956c376a38de08b457283684ac3e7b394da1e7964221de44bb91197511a40fda9103ec53478437daa4460d7fabeaef5a1 SHA512 c2e7d3ec0954110c9b21e562147e80c8abddd21ebb213491d1072454834151a0f3a0935c0f3eebec34c024fe6e79136ccf6363dcb5390aa03cb52489fcb4113c
+DIST lz4-4.3.3.tar.gz 171509 BLAKE2B 7db336fd488ca1ba6bb80ba6a6e66bf1499004bb1ba46a3451c90721d7bb76f49ac5fc5bb5f884e350a29b565a7db14fccb907da925f7b5d14474e030e967e77 SHA512 9bdacf6766cca5d1c59f0a0f795910da104ce51d4c43057c4c07fed98765881a702604d60d22a10dea937c4d683e3fcf07c26a6c7a7b5a15b45759fcedb55900
diff --git a/dev-python/lz4/lz4-4.3.2.ebuild b/dev-python/lz4/lz4-4.3.2.ebuild
deleted file mode 100644
index ef9a2537225b..000000000000
--- a/dev-python/lz4/lz4-4.3.2.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="LZ4 Bindings for Python"
-HOMEPAGE="
- https://github.com/python-lz4/python-lz4/
- https://pypi.org/project/lz4/
-"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="amd64 arm arm64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-DEPEND="
- app-arch/lz4:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- dev-python/pkgconfig[${PYTHON_USEDEP}]
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # lz4.stream is not officially supported and not installed by default
- # (we do not support installing it at the moment)
- tests/stream
-)
diff --git a/dev-python/lz4/lz4-4.3.3.ebuild b/dev-python/lz4/lz4-4.3.3.ebuild
new file mode 100644
index 000000000000..e2db3e16a6a4
--- /dev/null
+++ b/dev-python/lz4/lz4-4.3.3.ebuild
@@ -0,0 +1,49 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="LZ4 Bindings for Python"
+HOMEPAGE="
+ https://github.com/python-lz4/python-lz4/
+ https://pypi.org/project/lz4/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ app-arch/lz4:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ dev-python/pkgconfig[${PYTHON_USEDEP}]
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+# note: test suite fails with xdist
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # lz4.stream is not officially supported and not installed by default
+ # (we do not support installing it at the moment)
+ tests/stream
+ )
+
+ rm -rf lz4 || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/m2crypto/Manifest b/dev-python/m2crypto/Manifest
index f051e75a625e..3574714ad39a 100644
--- a/dev-python/m2crypto/Manifest
+++ b/dev-python/m2crypto/Manifest
@@ -1 +1 @@
-DIST M2Crypto-0.40.1.tar.gz 1266138 BLAKE2B a44de6b66695e0fbbba671682a7773ddbbd15225d27329d357e0005e395a70c6b006401ec30fb6938c9c4683377519844ea646df7c176181977139f6381c6907 SHA512 ca914de14621af4aa9b7f11664702557e596438cc76869478a2a75eb37ca14243e7064db7e32985834260ffa9136836884e60916d542a685ac3f1481b9320b69
+DIST M2Crypto-0.41.0.tar.gz 1151680 BLAKE2B 6c5294294fd62ca69eec8222324ce8a1012c999aab241eba2e5b0085c0d7b598fd62f26e106bea95bfad3199abb2db9876547f521b34f45930b00540a6ecc24a SHA512 50ca5e32ae999b9ecdc7f3bbd35221b4a7523ef29e54eb4bc266457723117718955f99b9e7ac42a4cb982f0e22a94e5c852d6886d7dfb157d040ad86c17660fb
diff --git a/dev-python/m2crypto/m2crypto-0.40.1.ebuild b/dev-python/m2crypto/m2crypto-0.40.1.ebuild
deleted file mode 100644
index e2cd29f218d2..000000000000
--- a/dev-python/m2crypto/m2crypto-0.40.1.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 2018-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-PYTHON_COMPAT=( python3_{10..12} )
-PYPI_NO_NORMALIZE=1
-PYPI_PN="M2Crypto"
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 toolchain-funcs pypi
-
-DESCRIPTION="A Python crypto and SSL toolkit"
-HOMEPAGE="
- https://gitlab.com/m2crypto/m2crypto/
- https://pypi.org/project/M2Crypto/
-"
-
-# openssl via src/SWIG/_lib11_compat.i
-LICENSE="MIT openssl"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="test abi_mips_n32 abi_mips_n64 abi_mips_o32"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- >=dev-lang/swig-2.0.9
-"
-RDEPEND="
- dev-libs/openssl:=
-"
-DEPEND="${RDEPEND}"
-
-distutils_enable_tests setup.py
-
-swig_define() {
- local x
- for x; do
- if tc-cpp-is-true "defined(${x})"; then
- SWIG_FEATURES+=" -D${x}"
- fi
- done
-}
-
-src_prepare() {
- # relies on very exact clock behavior which apparently fails
- # with inconvenient CONFIG_HZ*
- sed -e 's:test_server_simple_timeouts:_&:' \
- -i tests/test_ssl.py || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- # setup.py looks at platform.machine() to determine swig options.
- # For exotic ABIs, we need to give swig a hint.
- local -x SWIG_FEATURES=
-
- # https://bugs.gentoo.org/617946
- swig_define __ILP32__
-
- # https://bugs.gentoo.org/674112
- swig_define __ARM_PCS_VFP
-
- # Avoid similar errors to bug #688668 for MIPS
- if use abi_mips_n32; then
- swig_define _MIPS_SIM = _ABIN32
- elif use abi_mips_n64; then
- swig_define _MIPS_SIM = _ABI64
- elif use abi_mips_o32; then
- swig_define _MIPS_SIM = _ABIO32
- fi
-
- distutils-r1_python_compile --openssl="${ESYSROOT}"/usr
-}
diff --git a/dev-python/m2crypto/m2crypto-0.41.0.ebuild b/dev-python/m2crypto/m2crypto-0.41.0.ebuild
new file mode 100644
index 000000000000..6e63f27ac8f0
--- /dev/null
+++ b/dev-python/m2crypto/m2crypto-0.41.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2018-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} )
+PYPI_NO_NORMALIZE=1
+PYPI_PN="M2Crypto"
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 toolchain-funcs pypi
+
+DESCRIPTION="A Python crypto and SSL toolkit"
+HOMEPAGE="
+ https://gitlab.com/m2crypto/m2crypto/
+ https://pypi.org/project/M2Crypto/
+"
+
+# openssl via src/SWIG/_lib11_compat.i
+LICENSE="MIT openssl"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="abi_mips_n32 abi_mips_n64 abi_mips_o32"
+
+DEPEND="
+ dev-libs/openssl:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ >=dev-lang/swig-2.0.9
+"
+
+swig_define() {
+ local x
+ for x; do
+ if tc-cpp-is-true "defined(${x})"; then
+ SWIG_FEATURES+=" -D${x}"
+ fi
+ done
+}
+
+src_prepare() {
+ # relies on very exact clock behavior which apparently fails
+ # with inconvenient CONFIG_HZ*
+ sed -e 's:test_server_simple_timeouts:_&:' \
+ -i tests/test_ssl.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ # setup.py looks at platform.machine() to determine swig options.
+ # For exotic ABIs, we need to give swig a hint.
+ local -x SWIG_FEATURES=
+
+ # https://bugs.gentoo.org/617946
+ swig_define __ILP32__
+
+ # https://bugs.gentoo.org/674112
+ swig_define __ARM_PCS_VFP
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ "${EPYTHON}" -m unittest -b -v tests.alltests.suite ||
+ die "Tests failed for ${EPYTHON}"
+}
diff --git a/dev-python/magic-wormhole-mailbox-server/Manifest b/dev-python/magic-wormhole-mailbox-server/Manifest
index e8cc680fa013..e81188bf7051 100644
--- a/dev-python/magic-wormhole-mailbox-server/Manifest
+++ b/dev-python/magic-wormhole-mailbox-server/Manifest
@@ -1 +1,2 @@
DIST magic-wormhole-mailbox-server-0.4.1_p20230525.gh.tar.gz 69218 BLAKE2B 10c85d41ebd3b9e4918ca6d85f7f69dfe945f3e3282fb83ab5c846d3a633b897a48ee3c91476292bf048fe56f39d3e7fc8b721a74ff56c060ef660d3b47ea122 SHA512 69ff60637092443fa458b4d5def9e99c4eb942046b6ea5023b63a85b4562a23fc0fc8e4137c1a59c0192e6820af60e75c27f616c70d75ee6e5afabcf52d81bd8
+DIST magic-wormhole-mailbox-server-0.4.1_p20231111.gh.tar.gz 73753 BLAKE2B 91a6059f19aafe74416df7bf43dbd27ff333950bf315e0e5c1ab83b696a6ea074d239db4127a6aaf171cc1a31d566439508dafbd8d4eba52729af0c981325f58 SHA512 4d0f2a8a74a7ba2c3f0635af4d4e44485df81858207eba1e3d0c0c1dea7554dedb653ee69ea82e220f0fedfe553e461feb047f3faa83cff613f0d9745a85aed9
diff --git a/dev-python/magic-wormhole-mailbox-server/magic-wormhole-mailbox-server-0.4.1_p20231111.ebuild b/dev-python/magic-wormhole-mailbox-server/magic-wormhole-mailbox-server-0.4.1_p20231111.ebuild
new file mode 100644
index 000000000000..18ecc3e6ef95
--- /dev/null
+++ b/dev-python/magic-wormhole-mailbox-server/magic-wormhole-mailbox-server-0.4.1_p20231111.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+
+# Version 0.4.1 with additional upstream fixes for python 3.12 support
+COMMIT_SHA1="30ecb6e3f6f487c915e7ff0acdf2e630cbe17dc8"
+
+inherit distutils-r1
+
+DESCRIPTION="Mailbox server for magic-wormhole"
+HOMEPAGE="https://magic-wormhole.readthedocs.io/en/latest/ https://pypi.org/project/magic-wormhole-mailbox-server/"
+SRC_URI="https://github.com/magic-wormhole/${PN}/archive/${COMMIT_SHA1}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+S="${WORKDIR}/magic-wormhole-mailbox-server-${COMMIT_SHA1}"
+
+RDEPEND="
+ dev-python/autobahn[${PYTHON_USEDEP}]
+ dev-python/twisted[ssl,${PYTHON_USEDEP}]"
+
+BDEPEND="test? (
+ dev-python/treq[${PYTHON_USEDEP}]
+ )"
+
+distutils_enable_tests pytest
diff --git a/dev-python/magic-wormhole-transit-relay/Manifest b/dev-python/magic-wormhole-transit-relay/Manifest
index 6ddedcfde874..18a8da210227 100644
--- a/dev-python/magic-wormhole-transit-relay/Manifest
+++ b/dev-python/magic-wormhole-transit-relay/Manifest
@@ -1,2 +1,3 @@
DIST magic-wormhole-transit-relay-0.2.1.gh.tar.gz 45936 BLAKE2B ffb05c716a35e688801150c3fd6de28cf557ed346091400f9eeb9335b6815425624e70d61f54be8f0a1e8bb15e874528f7cfcef1e8f0a2f8d3cd4285adb1db3a SHA512 dcc309de800d9023ff106ea7b67da4814006ee50e517570c046f2dff20573306b3d5f7c4e227186b2b6f8ff7cb71e02e41499766badf299d859a0e5628066162
DIST magic-wormhole-transit-relay-0.2.1_p20230525.gh.tar.gz 55549 BLAKE2B 36184ce5034f8a5b684fb82a9e6debd1f945a119c9daa155e5bec0041dd986668573b7843efde8bbce2dbf2630774b7a195e28443c070760e234e0214c51dcc3 SHA512 c8270b8daebaf2d6403f0cbc6ff8a5c37fec6fd28ce0d441c834f5bcfcb1e0dedfb953acdf9711b6077c0e5fce3fba37447f2c29ed424ba64d8c2a9519b5eed8
+DIST magic-wormhole-transit-relay-0.2.1_p20231025.gh.tar.gz 60237 BLAKE2B 79b711aaff5d0c19b8a127d7dbe6146cfe6b8278e9c952f400862c4a7a9808f9ff03996d6d96d3ac4a61a1def263be2c3d9f4d7115639000e53881317eb07bc9 SHA512 98ce7af3be438eaf60465a055f4baac2f1bfda413ee0b78a804ba7e510805e68bc4fea309585961622e91a4208edd376f631052a6666d69c28b154941a3f6c6e
diff --git a/dev-python/magic-wormhole-transit-relay/magic-wormhole-transit-relay-0.2.1_p20230525.ebuild b/dev-python/magic-wormhole-transit-relay/magic-wormhole-transit-relay-0.2.1_p20230525.ebuild
index b6e1274e5e74..7515f032d641 100644
--- a/dev-python/magic-wormhole-transit-relay/magic-wormhole-transit-relay-0.2.1_p20230525.ebuild
+++ b/dev-python/magic-wormhole-transit-relay/magic-wormhole-transit-relay-0.2.1_p20230525.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -25,10 +25,6 @@ RDEPEND="
dev-python/autobahn[${PYTHON_USEDEP}]
dev-python/twisted[ssl,${PYTHON_USEDEP}]"
-BDEPEND="test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )"
-
distutils_enable_tests pytest
python_test() {
diff --git a/dev-python/magic-wormhole-transit-relay/magic-wormhole-transit-relay-0.2.1_p20231025.ebuild b/dev-python/magic-wormhole-transit-relay/magic-wormhole-transit-relay-0.2.1_p20231025.ebuild
new file mode 100644
index 000000000000..5e1e17fc1c50
--- /dev/null
+++ b/dev-python/magic-wormhole-transit-relay/magic-wormhole-transit-relay-0.2.1_p20231025.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+
+# Version 0.2.1 with additional upstream fixes for python 3.12 support and
+# miscelleanous bufixes
+COMMIT_SHA1="3b298558e419b0f575f4026be02dd369a4e5f245"
+
+inherit distutils-r1
+
+DESCRIPTION="Transit relay server for magic-wormhole"
+HOMEPAGE="https://magic-wormhole.readthedocs.io/en/latest/ https://pypi.org/project/magic-wormhole-transit-relay/"
+SRC_URI="https://github.com/magic-wormhole/${PN}/archive/${COMMIT_SHA1}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+S="${WORKDIR}/magic-wormhole-transit-relay-${COMMIT_SHA1}"
+
+RDEPEND="
+ dev-python/autobahn[${PYTHON_USEDEP}]
+ dev-python/twisted[ssl,${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # deselect test_buff_fill test because it exhibits intermittent hangs,
+ # bug #907200
+ local EPYTEST_DESELECT=(
+ src/wormhole_transit_relay/test/test_backpressure.py::TransitWebSockets::test_buffer_fill
+ )
+ epytest
+}
diff --git a/dev-python/magic-wormhole/Manifest b/dev-python/magic-wormhole/Manifest
index 07a5706deb32..e6d8d6116190 100644
--- a/dev-python/magic-wormhole/Manifest
+++ b/dev-python/magic-wormhole/Manifest
@@ -1,2 +1 @@
-DIST magic-wormhole-0.12.0_p20230525.gh.tar.gz 281332 BLAKE2B daf9e39c89d8591584b25f142de2e66757a31970179f38e2fb74e112295e637f94930127bd3c0c1cc1243ac559dc4885bab3e7892b112dbf174b0514b49051c0 SHA512 ef5be6396fb9d6e35c64baeeaaea269526f9f8127eaf1bdd7b7b693a0272885388c4d6dc9fac87f6355eff5e9fe94450aebeafd2009b7d74f6772922a2796cbd
DIST magic-wormhole-0.13.0.tar.gz 274564 BLAKE2B 51752204231be0f3eac8765387386435830e91f541aaada7ca6ee52c8334879cdce68c31d40c3207a7bdb5657a5240930aedc36bab8e765f1081b20624ebdf3f SHA512 5c26da12ae94202684da14d7e3fa84ef173a31a3e5e42a40dcc2b8d3a6475943c813bcef9fbf904e419152a16e2cb4a85c2a69bbf0528f5fa63d056bf5f348e2
diff --git a/dev-python/magic-wormhole/magic-wormhole-0.12.0_p20230525.ebuild b/dev-python/magic-wormhole/magic-wormhole-0.12.0_p20230525.ebuild
deleted file mode 100644
index 4afc806872fe..000000000000
--- a/dev-python/magic-wormhole/magic-wormhole-0.12.0_p20230525.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-# Version 0.12.0 with additional upstream fixes for python 3.11 support and
-# miscellanous improvements
-COMMIT_SHA1="8af8888d171791943b9fab036f0e0067b87c9b59"
-
-inherit distutils-r1
-
-DESCRIPTION="Get Things From One Computer To Another, Safely"
-HOMEPAGE="https://magic-wormhole.readthedocs.io/en/latest/ https://pypi.org/project/magic-wormhole/"
-SRC_URI="https://github.com/${PN}/${PN}/archive/${COMMIT_SHA1}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-S="${WORKDIR}/magic-wormhole-${COMMIT_SHA1}"
-
-RDEPEND="
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/autobahn[${PYTHON_USEDEP}]
- dev-python/automat[${PYTHON_USEDEP}]
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/humanize[${PYTHON_USEDEP}]
- dev-python/noiseprotocol[${PYTHON_USEDEP}]
- dev-python/pynacl[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/spake2[${PYTHON_USEDEP}]
- dev-python/tqdm[${PYTHON_USEDEP}]
- dev-python/twisted[ssl,${PYTHON_USEDEP}]
- dev-python/txtorcon[${PYTHON_USEDEP}]"
-
-#
-# magic-wormhole-0.12.0_p20230525 requires the released
-# magic-wormhole-transit-relay-0.21 for setting up its unit tests. This
-# hopefully will be resolved soon with the upcoming releases (of wormhole,
-# mailbox-server, and transit-relay).
-#
-BDEPEND="
- test? (
- dev-python/magic-wormhole-mailbox-server[${PYTHON_USEDEP}]
- ~dev-python/magic-wormhole-transit-relay-0.2.1[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
diff --git a/dev-python/makefun/Manifest b/dev-python/makefun/Manifest
index 37e5a01e8007..8789a69768c9 100644
--- a/dev-python/makefun/Manifest
+++ b/dev-python/makefun/Manifest
@@ -1 +1,2 @@
-DIST makefun-1.15.2.tar.gz 74602 BLAKE2B 1992eebfdbff6062ed60e1f66891995a91b7155792ef7b6e701d1d3ee5939ab40d3ab976674e25a5b97030cd7de59db2c69f3c215681cef2f80f2b64523f822b SHA512 b6cb588ebf491176b06e97201846b2a5cee65f60e34b5dbcc4878d8a55e7f9fcf4b58126cb3a4ca47f5d2726422dff9ee685566c5d093dbd8fd75119ecc796b2
+DIST makefun-1.15.3.tar.gz 71799 BLAKE2B 3500be7bc5b0e86a6f75781bb8fb7156624e4c910f54dfd7498268f96cd3df84e1f4d4502f4705f9a278948043e571951137e420358e94e051ba81387b14d4ba SHA512 6d48d8e1bdd60ab440b31241a957ba60aa5ae6c77a7a4785dd0a3c6cf4cedd5389ff76d7a309d230bdf1db9be577ab85446741febb30dae0be87e9c3a2d003a0
+DIST makefun-1.15.4.tar.gz 72160 BLAKE2B 361e598bf17c3e235934d65de48e638897dae9f93285269c39d97d1202506dd7e0c688b628d1811571fc259c39dbe345e8b269809c5079bf651a9ef09b681331 SHA512 eb6ed268137726ed306c7b118307ada365832d6f17a50da2804cc55708d114ad7e630ed4fdbd15a411d92ce601c4cc10d671d1ade7e270349009c10fd82618d7
diff --git a/dev-python/makefun/files/makefun-1.15.3-test.patch b/dev-python/makefun/files/makefun-1.15.3-test.patch
new file mode 100644
index 000000000000..bed2b01c01d4
--- /dev/null
+++ b/dev-python/makefun/files/makefun-1.15.3-test.patch
@@ -0,0 +1,80 @@
+diff --git a/tests/test_partial_and_macros.py b/tests/test_partial_and_macros.py
+index 6fd4503..3ce0a33 100644
+--- a/tests/test_partial_and_macros.py
++++ b/tests/test_partial_and_macros.py
+@@ -1,5 +1,6 @@
+ import functools
+ import pytest
++import re
+ import sys
+
+ import makefun
+@@ -11,6 +12,11 @@ except ImportError:
+
+ PY2 = sys.version_info < (3, )
+
++# Python 3.13 dedents docstrings, earlier versions just strip initial
++# whitespace. Use a regexp to get a consistently dedented docstring
++# for comparison across Python versions.
++DOCSTRING_NORMALIZE_RE = re.compile(r"^ +", re.MULTILINE)
++
+
+ def test_doc():
+ def foo(x, y):
+@@ -41,15 +47,15 @@ def test_doc():
+
+ sig_actual_call = ref_sig_str.replace("*, ", "")
+
+- assert bar.__doc__ \
++ assert DOCSTRING_NORMALIZE_RE.sub("", bar.__doc__) \
+ == """<This function is equivalent to 'foo%s', see original 'foo' doc below.>
+
+- a `foo` function
++a `foo` function
+
+- :param x:
+- :param y:
+- :return:
+- """ % sig_actual_call
++:param x:
++:param y:
++:return:
++""" % sig_actual_call
+
+
+ def test_partial():
+@@ -78,16 +84,16 @@ def test_partial():
+
+ sig_actual_call = "(x, y='hello', a)" # if PY2 else "(x, *, y='hello', a)"
+
+- assert foo.__doc__.replace("=KW_ONLY_ARG!", "") \
++ assert DOCSTRING_NORMALIZE_RE.sub("", foo.__doc__.replace("=KW_ONLY_ARG!", "")) \
+ == """<This function is equivalent to 'foo%s', see original 'foo' doc below.>
+
+- a `foo` function
++a `foo` function
+
+- :param x:
+- :param y:
+- :param a:
+- :return:
+- """ % sig_actual_call
++:param x:
++:param y:
++:param a:
++:return:
++""" % sig_actual_call
+
+
+ def test_issue_57():
+@@ -127,9 +133,7 @@ def test_create_with_partial():
+ assert m() == -1
+ assert m.i == 1
+ # the doc remains untouched in create_function as opposed to wraps, this is normal
+- assert m.__doc__ == """partial(func, *args, **keywords) - new function with partial application
+- of the given arguments and keywords.
+-"""
++ assert m.__doc__ == functools.partial.__doc__
+
+
+ def test_args_order_and_kind():
diff --git a/dev-python/makefun/makefun-1.15.2.ebuild b/dev-python/makefun/makefun-1.15.2.ebuild
deleted file mode 100644
index e422b0555e2d..000000000000
--- a/dev-python/makefun/makefun-1.15.2.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Small library to dynamically create Python functions"
-HOMEPAGE="
- https://pypi.org/project/makefun/
- https://github.com/smarie/python-makefun/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e '/pytest-runner/d' -i setup.cfg || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/makefun/makefun-1.15.3.ebuild b/dev-python/makefun/makefun-1.15.3.ebuild
new file mode 100644
index 000000000000..b27a70e4e38d
--- /dev/null
+++ b/dev-python/makefun/makefun-1.15.3.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Small library to dynamically create Python functions"
+HOMEPAGE="
+ https://pypi.org/project/makefun/
+ https://github.com/smarie/python-makefun/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/smarie/python-makefun/pull/104
+ "${FILESDIR}/${P}-test.patch"
+ )
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/makefun/makefun-1.15.4.ebuild b/dev-python/makefun/makefun-1.15.4.ebuild
new file mode 100644
index 000000000000..f926c1a858f8
--- /dev/null
+++ b/dev-python/makefun/makefun-1.15.4.ebuild
@@ -0,0 +1,25 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Small library to dynamically create Python functions"
+HOMEPAGE="
+ https://pypi.org/project/makefun/
+ https://github.com/smarie/python-makefun/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/makefun/metadata.xml b/dev-python/makefun/metadata.xml
index 0a2fbcffabe0..b2d6c0fc7615 100644
--- a/dev-python/makefun/metadata.xml
+++ b/dev-python/makefun/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
diff --git a/dev-python/mako/Manifest b/dev-python/mako/Manifest
index ac2aac6c6a52..5195bf443d2d 100644
--- a/dev-python/mako/Manifest
+++ b/dev-python/mako/Manifest
@@ -1 +1 @@
-DIST Mako-1.3.0.tar.gz 386252 BLAKE2B 7364a4eeb8d71d7bdeabc6c6df863c4cec5094ae2f858c8c23d4287bbeded62325c3f4fe122c19950043dc32480f2b46c72771fab2f89a339202cfbe387f61f6 SHA512 1be454ceff8942ee50052b3b2dec392f236aad2111828a6962ca80bc0d9692f632b7d992b161fb206c10db19e94f96a0688633d03c7b54e01b4f843283b80cb4
+DIST Mako-1.3.5.tar.gz 392738 BLAKE2B 566d4126a1c2ece5b2b3f2bec8470d97cc44e512987103f7027d6433418e50bff1cfad7ba510b88f38537c92d3a69d9a85e5b28cd759dbaa29ec19702461e359 SHA512 9a2f96bcb650f40cc2a9daa05904e54efca1fa30022ab641c850f6e32b84a38368d4c5d328f94ac4495ed97778d6ab0b661bc93a14740ed7e5d518f03bc9a59f
diff --git a/dev-python/mako/mako-1.3.0.ebuild b/dev-python/mako/mako-1.3.0.ebuild
deleted file mode 100644
index d282e3c6190c..000000000000
--- a/dev-python/mako/mako-1.3.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN^}
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A Python templating language"
-HOMEPAGE="
- https://www.makotemplates.org/
- https://github.com/sqlalchemy/mako/
- https://pypi.org/project/Mako/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="doc"
-
-RDEPEND="
- >=dev-python/markupsafe-0.9.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/Babel[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- test/test_exceptions.py::ExceptionsTest::test_alternating_file_names
- )
- epytest
-}
-
-python_install_all() {
- rm -r doc/build || die
-
- use doc && local HTML_DOCS=( doc/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/mako/mako-1.3.5.ebuild b/dev-python/mako/mako-1.3.5.ebuild
new file mode 100644
index 000000000000..9326b022e66f
--- /dev/null
+++ b/dev-python/mako/mako-1.3.5.ebuild
@@ -0,0 +1,55 @@
+# 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
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Python templating language"
+HOMEPAGE="
+ https://www.makotemplates.org/
+ https://github.com/sqlalchemy/mako/
+ https://pypi.org/project/Mako/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="doc"
+
+RDEPEND="
+ >=dev-python/markupsafe-0.9.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/Babel[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ test/test_exceptions.py::ExceptionsTest::test_alternating_file_names
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_install_all() {
+ rm -r doc/build || die
+
+ use doc && local HTML_DOCS=( doc/. )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mamba/mamba-0.11.3.ebuild b/dev-python/mamba/mamba-0.11.3.ebuild
index 942234350825..06f75d041da0 100644
--- a/dev-python/mamba/mamba-0.11.3.ebuild
+++ b/dev-python/mamba/mamba-0.11.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/mando/mando-0.7.1.ebuild b/dev-python/mando/mando-0.7.1.ebuild
index d64a4c497634..0c5d1c3608ce 100644
--- a/dev-python/mando/mando-0.7.1.ebuild
+++ b/dev-python/mando/mando-0.7.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/manuel/Manifest b/dev-python/manuel/Manifest
index 46991793c680..288e3f7d0e6c 100644
--- a/dev-python/manuel/Manifest
+++ b/dev-python/manuel/Manifest
@@ -1 +1 @@
-DIST manuel-1.12.4.tar.gz 45369 BLAKE2B e15f9261854fbad8ee1e1dc8645ec286a212c460a78fff1576b6886d8bf462ffe9a5484338fd9efc2bf053a7689e16b08de55f763ae319e66a363c5c28cf2a60 SHA512 cd65307f2ca94e66d88bc0c7c75702d49f505b358ebb812fd20906036ba10f2d1d11d2d69404b88c5f10b584dea05a988b5dc8ba07210b9d20ebd8a11b701633
+DIST manuel-3f4d94d2ace3bdab4acad6896c93f5c96d6bee92.tar.gz 39774 BLAKE2B 7be5bad5ee39358e1b0229c02c86c9492cae09684d8a942b9f5dcf0afe31037f635295019306d404a1fb0b81e40bb523d194cc499a89b32600f1a330ddaf4d2d SHA512 f96fe6c9438b00d7562d64ead32ef84dcc4746281f066e4e7c175b1b274691ccd615c31e1d26fdc25a67e67d03f28b52182652921ab2c9ff365f59aaa475adaf
diff --git a/dev-python/manuel/files/manuel-1.12.4-tests-python311.patch b/dev-python/manuel/files/manuel-1.12.4-tests-python311.patch
deleted file mode 100644
index 5a6ef9dc3b7d..000000000000
--- a/dev-python/manuel/files/manuel-1.12.4-tests-python311.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-https://github.com/benji-york/manuel/pull/32
-
-From d9f12d03e39bb76e4bb3ba43ad51af6d3e9d45c0 Mon Sep 17 00:00:00 2001
-From: Matt Jolly <Matt.Jolly@footclan.ninja>
-Date: Mon, 6 Jun 2022 22:44:22 +1000
-Subject: [PATCH] Replace TextTestResult with TestResult for Py3.11
-
---- a/src/manuel/index.txt
-+++ b/src/manuel/index.txt
-@@ -211,10 +211,7 @@ When tests are run this way:
-
- >>> sys.stdout.writeln = lambda s: sys.stdout.write(s+'\n')
- >>> suite = loader.loadTestsFromTestCase(MyTest)
-- >>> result = suite.run(unittest.TextTestResult(sys.stdout, True, 3))
-- test1 (tests.MyTest) ... ok
-- test2 (tests.MyTest) ... ok
-- test3 (tests.MyTest) ... FAIL
-+ >>> result = suite.run(unittest.TestResult(True, 3))
-
- >>> for _, e in result.errors:
- ... print(e); print
-
diff --git a/dev-python/manuel/manuel-1.12.4.ebuild b/dev-python/manuel/manuel-1.12.4.ebuild
deleted file mode 100644
index 99f6fb6c3452..000000000000
--- a/dev-python/manuel/manuel-1.12.4.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Lets you mix and match traditional doctests with custom test syntax"
-HOMEPAGE="
- https://github.com/benji-york/manuel/
- https://pypi.org/project/manuel/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/zope-testing[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-tests-python311.patch
-)
-
-distutils_enable_tests setup.py
-
-src_prepare() {
- # unused rdep
- sed -e "/'setuptools'/d" -i setup.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/manuel/manuel-1.12.4_p20231129.ebuild b/dev-python/manuel/manuel-1.12.4_p20231129.ebuild
new file mode 100644
index 000000000000..45f5edbe154c
--- /dev/null
+++ b/dev-python/manuel/manuel-1.12.4_p20231129.ebuild
@@ -0,0 +1,48 @@
+# 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..13} )
+
+inherit distutils-r1
+
+EGIT_COMMIT=3f4d94d2ace3bdab4acad6896c93f5c96d6bee92
+MY_P=${PN}-${EGIT_COMMIT}
+
+DESCRIPTION="Lets you mix and match traditional doctests with custom test syntax"
+HOMEPAGE="
+ https://github.com/benji-york/manuel/
+ https://pypi.org/project/manuel/
+"
+SRC_URI="
+ https://github.com/benji-york/manuel/archive/${EGIT_COMMIT}.tar.gz
+ -> ${MY_P}.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/zope-testing[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ # unused rdep
+ sed -e "/'setuptools'/d" -i setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # tests are installed to site-packages but dependent data files
+ # are not, so run them from src instead
+ local -x PYTHONPATH=src
+ "${EPYTHON}" -m unittest -vv manuel.tests.test_suite || die
+}
diff --git a/dev-python/mapbox_earcut/Manifest b/dev-python/mapbox-earcut/Manifest
index c972a5a3bb86..c972a5a3bb86 100644
--- a/dev-python/mapbox_earcut/Manifest
+++ b/dev-python/mapbox-earcut/Manifest
diff --git a/dev-python/mapbox-earcut/mapbox-earcut-1.0.1-r1.ebuild b/dev-python/mapbox-earcut/mapbox-earcut-1.0.1-r1.ebuild
new file mode 100644
index 000000000000..abcd6023943f
--- /dev/null
+++ b/dev-python/mapbox-earcut/mapbox-earcut-1.0.1-r1.ebuild
@@ -0,0 +1,37 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P="mapbox_earcut_python-${PV}"
+DESCRIPTION="Python bindings to the mapbox earcut C++ library"
+HOMEPAGE="https://github.com/skogler/mapbox_earcut_python"
+SRC_URI="
+ https://github.com/skogler/mapbox_earcut_python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+
+DEPEND="
+ dev-python/numpy:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/pybind11[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+DOCS=( CHANGELOG.md README.md )
diff --git a/dev-python/mapbox-earcut/metadata.xml b/dev-python/mapbox-earcut/metadata.xml
new file mode 100644
index 000000000000..bee4f6515e1f
--- /dev/null
+++ b/dev-python/mapbox-earcut/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">skogler/mapbox_earcut_python</remote-id>
+ <remote-id type="pypi">mapbox-earcut</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mapbox-vector-tile/Manifest b/dev-python/mapbox-vector-tile/Manifest
index 03b05a5c321d..c73b228afbb9 100644
--- a/dev-python/mapbox-vector-tile/Manifest
+++ b/dev-python/mapbox-vector-tile/Manifest
@@ -1 +1 @@
-DIST mapbox-vector-tile-2.0.1.gh.tar.gz 229202 BLAKE2B 9afa12583f1f2697c8fd3a7ad540851c2b3ea7bca26bf7945aa52ad9c2486f4b6ec0a0bc84e750e18ecb55a51558659284d52efedcb724ec5de98f965d78b954 SHA512 67648c27792557a5e011732c31f8a0a3e6efca8630086e55e6fdc433953b820ef6405031d10692999026c604f3977eb00bafa9a1a7015f02c3dca87ca91eadf6
+DIST mapbox-vector-tile-2.1.0.gh.tar.gz 229585 BLAKE2B d4ed6034b8cea35b3bfe0db8ed3f9f094021654045dce560e36d9d21398c8cd41975848dd44de13c1e9f0a4c37d94835e349c9df7283b994fde60ff66eceda9d SHA512 d2ab9f0aba5150a4e9e0e7c9b29a3754f25ac9a1368e5c2909d773e1dc2197dcab59c047f68cdcf217727e0422bd8670ade797db74b26b95ce04f24564938c1d
diff --git a/dev-python/mapbox-vector-tile/mapbox-vector-tile-2.0.1.ebuild b/dev-python/mapbox-vector-tile/mapbox-vector-tile-2.0.1.ebuild
deleted file mode 100644
index 39672a8ec882..000000000000
--- a/dev-python/mapbox-vector-tile/mapbox-vector-tile-2.0.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
-
-DESCRIPTION="Mapbox Vector Tile encoding and decoding."
-HOMEPAGE="
- https://github.com/tilezen/mapbox-vector-tile/
- https://pypi.org/project/mapbox-vector-tile/
-"
-SRC_URI="https://github.com/tilezen/mapbox-vector-tile/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-
-RDEPEND="
- dev-python/protobuf-python[${PYTHON_USEDEP}]
- dev-python/pyclipper[${PYTHON_USEDEP}]
- dev-python/pyproj[${PYTHON_USEDEP}]
- dev-python/shapely[${PYTHON_USEDEP}]
-"
-BDEPEND="test? ( ${RDEPEND} )"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # Dont install into top-level
- sed -Ei '/include = \[/,/\]/ { /(README|CHANGELOG)/d }' pyproject.toml || die
- default
-}
diff --git a/dev-python/mapbox-vector-tile/mapbox-vector-tile-2.1.0.ebuild b/dev-python/mapbox-vector-tile/mapbox-vector-tile-2.1.0.ebuild
new file mode 100644
index 000000000000..e5df10ee0026
--- /dev/null
+++ b/dev-python/mapbox-vector-tile/mapbox-vector-tile-2.1.0.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Mapbox Vector Tile encoding and decoding."
+HOMEPAGE="
+ https://github.com/tilezen/mapbox-vector-tile/
+ https://pypi.org/project/mapbox-vector-tile/
+"
+SRC_URI="https://github.com/tilezen/mapbox-vector-tile/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+
+RDEPEND="
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ >=dev-python/pyclipper-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/pyproj-3.4.1[${PYTHON_USEDEP}]
+ >=dev-python/shapely-2.0.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # don't install into top-level
+ sed -Ei '/include = \[/,/\]/ { /(README|CHANGELOG)/d }' pyproject.toml || die
+ # relax the dep
+ sed -i -e '/protobuf/s:\^[0-9.]*:*:' pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/mapbox_earcut/mapbox_earcut-1.0.1.ebuild b/dev-python/mapbox_earcut/mapbox_earcut-1.0.1.ebuild
deleted file mode 100644
index 9f5a45d3b9d1..000000000000
--- a/dev-python/mapbox_earcut/mapbox_earcut-1.0.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P="mapbox_earcut_python-${PV}"
-DESCRIPTION="Python bindings to the mapbox earcut C++ library"
-HOMEPAGE="https://github.com/skogler/mapbox_earcut_python"
-SRC_URI="
- https://github.com/skogler/mapbox_earcut_python/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/pybind11[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-DOCS=( CHANGELOG.md README.md )
diff --git a/dev-python/mapbox_earcut/metadata.xml b/dev-python/mapbox_earcut/metadata.xml
deleted file mode 100644
index fa95aa220ef5..000000000000
--- a/dev-python/mapbox_earcut/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
- <upstream>
- <remote-id type="github">skogler/mapbox_earcut_python</remote-id>
- <remote-id type="pypi">mapbox-earcut</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/markdown-exec/Manifest b/dev-python/markdown-exec/Manifest
index 09b8bf35f86a..cef5284faa98 100644
--- a/dev-python/markdown-exec/Manifest
+++ b/dev-python/markdown-exec/Manifest
@@ -1,2 +1,3 @@
-DIST markdown_exec-1.6.0.tar.gz 18880 BLAKE2B 374f62c112efcf7f02c6b55f1348a3b38ad574240ca2e0af88af52343eb8cd2c0001d3b3dbe629e8917c40a602311e389683abd374e4ce62209bc051ea722389 SHA512 d05d3ede2f0280e8406b7cde7e555f2a1f796101c2cd336883b0e045837767a90fa6beb4ff624fa9029343bd2c3628219f387f438fcdbb661d91219134bf312c
-DIST markdown_exec-1.7.0.tar.gz 20221 BLAKE2B 5b091b5569caea247e268208a93fbc2bd9f57b76361e549eba6572684a1dcae420471c8cf2fd9be9e63f6a1a29e698ad5ac01491f58b07ec37b18d651c7ddff4 SHA512 67ff69a5be5e69496cdc8d29cd259cff99c641717f2e63199c3a245c03cac805be557d2f1559cfa218a4a7520fb851b310adba180889e2c515a42bbc161e002b
+DIST markdown_exec-1.9.1.tar.gz 24932 BLAKE2B 1b9b9904f8f6d7cc58f643bb537f2b4b3fa07f86c809590284eda5a714a998238910ae1356d58c7aab8e472ebcbc0511965ac3951b17a568128eafd9a3d0c852 SHA512 8c89cbea29c821a8110fed1825cec215a772753fd2bef96c26beb91dd8af34c905eedd4101fbf99b427cf9b9b2b4de08d69769dba66ad9b16bc72f16bec92a48
+DIST markdown_exec-1.9.2.tar.gz 25316 BLAKE2B 3f36b88f17f6c0444a60cf4846bf2358acf579a312a95d545339547aa5c1431acc265255dc60ee9cb06cc5cb9cd5b77d9c93bb9d0a6b04c7227f30aa2e013980 SHA512 d98a66ca9b3c5e1c748fafcada658623759d09038ed6a3b8b04767ee6133b90e767f5a0dc171814aa5ef9fdb7a6e7698539f3406d7e21ba5a9f50e3d709f9a39
+DIST markdown_exec-1.9.3.tar.gz 74674 BLAKE2B fc0b9a47f379aabe389b20a3b301a40d9db145234761ff5f7b1b5f2762db45e148006da6193d08463472e109a3a9215736e2ff1b78e4144076a64dacfadc968e SHA512 c4256ec4bcfa6559a169771dcdecbfe104445c237fdd85b6bd06baf5b6f9871713307303b45e1e18a15a9145f63ca952a8d2f7b082c1059d0ba6c29249acbac4
diff --git a/dev-python/markdown-exec/markdown-exec-1.6.0.ebuild b/dev-python/markdown-exec/markdown-exec-1.6.0.ebuild
deleted file mode 100644
index dcd59b62a3f2..000000000000
--- a/dev-python/markdown-exec/markdown-exec-1.6.0.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Utilities to execute code blocks in Markdown files"
-HOMEPAGE="
- https://pawamoy.github.io/markdown-exec/
- https://pypi.org/project/markdown-exec/
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-IUSE="ansi"
-
-RDEPEND="
- >=dev-python/pymdown-extensions-9[${PYTHON_USEDEP}]
- ansi? ( dev-python/pygments-ansi-color[${PYTHON_USEDEP}] )
-"
-BDEPEND="test? ( dev-python/markupsafe[${PYTHON_USEDEP}] )"
-
-distutils_enable_tests pytest
diff --git a/dev-python/markdown-exec/markdown-exec-1.7.0.ebuild b/dev-python/markdown-exec/markdown-exec-1.7.0.ebuild
deleted file mode 100644
index 51d8599bf695..000000000000
--- a/dev-python/markdown-exec/markdown-exec-1.7.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Utilities to execute code blocks in Markdown files"
-HOMEPAGE="
- https://pawamoy.github.io/markdown-exec/
- https://pypi.org/project/markdown-exec/
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv"
-IUSE="ansi"
-
-RDEPEND="
- >=dev-python/pymdown-extensions-9[${PYTHON_USEDEP}]
- ansi? (
- dev-python/pygments-ansi-color[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- test? (
- dev-python/markupsafe[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/markdown-exec/markdown-exec-1.9.1.ebuild b/dev-python/markdown-exec/markdown-exec-1.9.1.ebuild
new file mode 100644
index 000000000000..686021e27eb9
--- /dev/null
+++ b/dev-python/markdown-exec/markdown-exec-1.9.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+# py3.13: https://github.com/pawamoy/markdown-exec/issues/58
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Utilities to execute code blocks in Markdown files"
+HOMEPAGE="
+ https://pawamoy.github.io/markdown-exec/
+ https://pypi.org/project/markdown-exec/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE="ansi"
+
+RDEPEND="
+ >=dev-python/pymdown-extensions-9[${PYTHON_USEDEP}]
+ ansi? (
+ dev-python/pygments-ansi-color[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/markdown-exec/markdown-exec-1.9.2.ebuild b/dev-python/markdown-exec/markdown-exec-1.9.2.ebuild
new file mode 100644
index 000000000000..686021e27eb9
--- /dev/null
+++ b/dev-python/markdown-exec/markdown-exec-1.9.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+# py3.13: https://github.com/pawamoy/markdown-exec/issues/58
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Utilities to execute code blocks in Markdown files"
+HOMEPAGE="
+ https://pawamoy.github.io/markdown-exec/
+ https://pypi.org/project/markdown-exec/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE="ansi"
+
+RDEPEND="
+ >=dev-python/pymdown-extensions-9[${PYTHON_USEDEP}]
+ ansi? (
+ dev-python/pygments-ansi-color[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/markdown-exec/markdown-exec-1.9.3.ebuild b/dev-python/markdown-exec/markdown-exec-1.9.3.ebuild
new file mode 100644
index 000000000000..7b72094caba1
--- /dev/null
+++ b/dev-python/markdown-exec/markdown-exec-1.9.3.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Utilities to execute code blocks in Markdown files"
+HOMEPAGE="
+ https://pawamoy.github.io/markdown-exec/
+ https://pypi.org/project/markdown-exec/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE="ansi"
+
+RDEPEND="
+ >=dev-python/pymdown-extensions-9[${PYTHON_USEDEP}]
+ ansi? (
+ dev-python/pygments-ansi-color[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/markdown-exec/metadata.xml b/dev-python/markdown-exec/metadata.xml
index fcffb03da573..8f4e0da85ce8 100644
--- a/dev-python/markdown-exec/metadata.xml
+++ b/dev-python/markdown-exec/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
diff --git a/dev-python/markdown-include/markdown-include-0.8.1.ebuild b/dev-python/markdown-include/markdown-include-0.8.1.ebuild
index d177caa08c2c..956353d06991 100644
--- a/dev-python/markdown-include/markdown-include-0.8.1.ebuild
+++ b/dev-python/markdown-include/markdown-include-0.8.1.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -19,8 +19,12 @@ LICENSE="GPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~riscv"
-RDEPEND=">=dev-python/markdown-3.0[${PYTHON_USEDEP}]"
-BDEPEND=">=dev-python/setuptools-scm-6.2[${PYTHON_USEDEP}]"
+RDEPEND="
+ >=dev-python/markdown-3.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2[${PYTHON_USEDEP}]
+"
PATCHES=(
"${FILESDIR}"/${PN}-0.8.1-setup.patch
diff --git a/dev-python/markdown-include/metadata.xml b/dev-python/markdown-include/metadata.xml
index c226bbb1484d..bc3d08fe2235 100644
--- a/dev-python/markdown-include/metadata.xml
+++ b/dev-python/markdown-include/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
<maintainer type="person" proxied="yes">
<email>torokhov-s-a@yandex.ru</email>
<name>Sergey Torokhov</name>
diff --git a/dev-python/markdown-it-py/markdown-it-py-3.0.0.ebuild b/dev-python/markdown-it-py/markdown-it-py-3.0.0.ebuild
index af127216b1a8..f782d6911686 100644
--- a/dev-python/markdown-it-py/markdown-it-py-3.0.0.ebuild
+++ b/dev-python/markdown-it-py/markdown-it-py-3.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/markdown/Manifest b/dev-python/markdown/Manifest
index 6f51ba5425e2..dcb3b8d1fe19 100644
--- a/dev-python/markdown/Manifest
+++ b/dev-python/markdown/Manifest
@@ -1 +1 @@
-DIST Markdown-3.5.1.tar.gz 348575 BLAKE2B 4400158e11e17c3ae5714928ccc5a964d76459a6ff7b5721f246e58bff31828f6eef5ef0928a82c0e5bd7776a6fc55457634870e79443893bd2a529560ca900d SHA512 72771300bded3a12b0f1addfcdb124c8e12d3b42672c62b92b7565a03d8ba108fe9d156a59c1783295059a11e6e2d312ec4f60de2bc6c0ee7b853c0a56e2e97c
+DIST Markdown-3.6.tar.gz 354715 BLAKE2B bd8cb489fb20c0d8416361c435113a6057ced5f4baceba8665e1afc70efcbd6a52153785a436c94ff9d68571d668b7898c6717851b10814d89e46e2b9daba3e7 SHA512 a523f75ea72fa71f4f0f1a59523bb1a6c5c7605ba5a0be4dc37aa5bd5c87e32563f5253404485c99c13caa27501c9003aea524154a7999a22e6497829492b997
diff --git a/dev-python/markdown/markdown-3.5.1.ebuild b/dev-python/markdown/markdown-3.5.1.ebuild
deleted file mode 100644
index 821c0be6d383..000000000000
--- a/dev-python/markdown/markdown-3.5.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python implementation of the markdown markup language"
-HOMEPAGE="
- https://python-markdown.github.io/
- https://pypi.org/project/Markdown/
- https://github.com/Python-Markdown/markdown/
-"
-
-LICENSE="BSD"
-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"
-IUSE="doc"
-
-BDEPEND="
- test? (
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/pytidylib[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_install_all() {
- use doc && dodoc -r docs/
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/markdown/markdown-3.6.ebuild b/dev-python/markdown/markdown-3.6.ebuild
new file mode 100644
index 000000000000..a3c2cd9bfff5
--- /dev/null
+++ b/dev-python/markdown/markdown-3.6.ebuild
@@ -0,0 +1,39 @@
+# 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
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python implementation of the markdown markup language"
+HOMEPAGE="
+ https://python-markdown.github.io/
+ https://pypi.org/project/Markdown/
+ https://github.com/Python-Markdown/markdown/
+"
+
+LICENSE="BSD"
+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"
+IUSE="doc"
+
+BDEPEND="
+ test? (
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/pytidylib[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_install_all() {
+ use doc && dodoc -r docs/
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/markdown2/Manifest b/dev-python/markdown2/Manifest
index d70355b6b1ed..e498b6876786 100644
--- a/dev-python/markdown2/Manifest
+++ b/dev-python/markdown2/Manifest
@@ -1 +1,2 @@
-DIST markdown2-2.4.10.tar.gz 123813 BLAKE2B 4aee5ece385a6987fc9d8fccbd3141f42f6469328d0c6ddd7bfeb4bcbffb2cdf2a6375bd9fab8dbc79b099894303e94f15df334b244d877970cc5e52d2f0bf5f SHA512 1053d5e13dfe83158c7e1b87a68f12a2d5bdeddf1cae359c2992028687d18e69d71c1347ac04cbfcbcb4a6c629eeb1f465537e2e4b47c0594f0c5d175b9ce04f
+DIST markdown2-2.4.13.tar.gz 130464 BLAKE2B 64a1dd8ecb607495042fbf49cbbee5b383eca0c942816c2ff83565ef1c677f6bc851f8921dfc73d68ef6e6b070ac0a4a372421218231f6655dab5c41a1743aea SHA512 df015b53a87138b55fb6ab28c5b4cc8b1a36867a9a1b0fab962399c467e9847b249bff6a8ad920d56c4b72a02b46ffc536e61fa3168794403602926e65091748
+DIST markdown2-2.5.0.tar.gz 138574 BLAKE2B 989a8c8c528ecc0feb4073f02119ee351f4c4ece2e23f03159d3cb76123838e55a5ece846c7bc66fb37760a171606312c3854726d6abeb3a258223500a139fbe SHA512 1fead06f1f1692908f6be3da8f11a010a541cf0c5e38db6744b84aa9b6e2b45ac7a0b3a06427d5dedf0c5bb5eae4636973e625ffbcf066febeb752965c594579
diff --git a/dev-python/markdown2/markdown2-2.4.10.ebuild b/dev-python/markdown2/markdown2-2.4.10.ebuild
deleted file mode 100644
index 624adcdad0a2..000000000000
--- a/dev-python/markdown2/markdown2-2.4.10.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python Markdown language reimplementation"
-HOMEPAGE="
- https://github.com/trentm/python-markdown2/
- https://pypi.org/project/markdown2/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc ~ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/pygments-2.7.3[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
-
-python_test() {
- cd test || die
- "${EPYTHON}" -m unittest test_markdown2.py -v ||
- die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/markdown2/markdown2-2.4.13.ebuild b/dev-python/markdown2/markdown2-2.4.13.ebuild
new file mode 100644
index 000000000000..132d6d6e712f
--- /dev/null
+++ b/dev-python/markdown2/markdown2-2.4.13.ebuild
@@ -0,0 +1,31 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python Markdown language reimplementation"
+HOMEPAGE="
+ https://github.com/trentm/python-markdown2/
+ https://pypi.org/project/markdown2/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/pygments-2.7.3[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ cd test || die
+ "${EPYTHON}" -m unittest test_markdown2.py -v ||
+ die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/markdown2/markdown2-2.5.0.ebuild b/dev-python/markdown2/markdown2-2.5.0.ebuild
new file mode 100644
index 000000000000..7b18bd75a79e
--- /dev/null
+++ b/dev-python/markdown2/markdown2-2.5.0.ebuild
@@ -0,0 +1,31 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python Markdown language reimplementation"
+HOMEPAGE="
+ https://github.com/trentm/python-markdown2/
+ https://pypi.org/project/markdown2/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/pygments-2.7.3[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ cd test || die
+ "${EPYTHON}" -m unittest test_markdown2.py -v ||
+ die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/markups/markups-4.0.0.ebuild b/dev-python/markups/markups-4.0.0.ebuild
index 6513b424c7ac..159306d28f7c 100644
--- a/dev-python/markups/markups-4.0.0.ebuild
+++ b/dev-python/markups/markups-4.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/markupsafe/Manifest b/dev-python/markupsafe/Manifest
index 5fcbfad2ed2e..f4ec7c22901f 100644
--- a/dev-python/markupsafe/Manifest
+++ b/dev-python/markupsafe/Manifest
@@ -1 +1 @@
-DIST MarkupSafe-2.1.3.tar.gz 19132 BLAKE2B 1edca84c47c93fddfd22ee2fef2ba3907921ecb2d807c0e105c403d235e5abacba929be94970ad693f4c7d019653ece8255238d825bfc84d1a4a604fb476a783 SHA512 97dcfa9277c8b34e5ebf899069f690452e90943e0f84ba8ffac725263d84e7c2b782294f9f386be31e8b6846505f0ec70835e3965fc76a1ce07b19432de4a7de
+DIST MarkupSafe-2.1.5.tar.gz 19384 BLAKE2B d6ae0e1864983f4ab92f2fd9b58a012a8c76e6f47957681d4acc362b2129d63fe4f4625600a89081afe0e99f868eb604d6c75fec88de9a18ebb32c15f091681b SHA512 3ba5af43d23c266377f5d32b11e1faa7955ea8c67eb1c32886c308527f93e75e387294d0eec7794c0c20aad0c705b27f3d1f86b04202f3b63068d12d4053cc71
diff --git a/dev-python/markupsafe/markupsafe-2.1.3.ebuild b/dev-python/markupsafe/markupsafe-2.1.3.ebuild
deleted file mode 100644
index 98f64d68c96f..000000000000
--- a/dev-python/markupsafe/markupsafe-2.1.3.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 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
-PYPI_PN="MarkupSafe"
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Implements a XML/HTML/XHTML Markup safe string for Python"
-HOMEPAGE="
- https://palletsprojects.com/p/markupsafe/
- https://github.com/pallets/markupsafe/
- https://pypi.org/project/MarkupSafe/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
-
-distutils_enable_tests pytest
diff --git a/dev-python/markupsafe/markupsafe-2.1.5.ebuild b/dev-python/markupsafe/markupsafe-2.1.5.ebuild
new file mode 100644
index 000000000000..a33b310f9b7c
--- /dev/null
+++ b/dev-python/markupsafe/markupsafe-2.1.5.ebuild
@@ -0,0 +1,41 @@
+# 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
+PYPI_PN="MarkupSafe"
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Implements a XML/HTML/XHTML Markup safe string for Python"
+HOMEPAGE="
+ https://palletsprojects.com/p/markupsafe/
+ https://github.com/pallets/markupsafe/
+ https://pypi.org/project/MarkupSafe/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # https://github.com/pallets/markupsafe/issues/445
+ tests/test_leak.py::test_markup_leaks
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/marshmallow/Manifest b/dev-python/marshmallow/Manifest
index 61307dde8e2f..9e56b67589b9 100644
--- a/dev-python/marshmallow/Manifest
+++ b/dev-python/marshmallow/Manifest
@@ -1 +1,2 @@
-DIST marshmallow-3.20.1.gh.tar.gz 183718 BLAKE2B f1e8011be42f6a94d8d2bfde70d2761b3a3efdbce1ca61445d11b8b1e2e2f79953abd4fcefcd9bfcb3370458c9bb0084a2697b8537af8f58d161bb0d19559170 SHA512 8d2eeadad42811b2311f70c8eb0101d88a53fa8d4216a2ab44e67a508f5514c65c35932e1d3d2000b5cbd77ee4aae2be0e29a82576c3917f5db640f4af078b53
+DIST marshmallow-3.21.2.gh.tar.gz 183818 BLAKE2B 01e14514d836c36c9f24a6e0a527271bd17ea5ce1ce35cabb6200a886c85ef970e7d54191307d1580568f05b501ec6028c7f126475ac64c160fec75c247a4c20 SHA512 b151f7e712dc5dd5d7f592942a6a4b09d462b684f542406c8bc57237e4b2402eb287d02e4ca2ef65e10dccb1e200b9ff8ae24f69160af1c6aa02fc5dfdc9eeba
+DIST marshmallow-3.21.3.gh.tar.gz 183813 BLAKE2B c5b0165be783e87149c1f1b7f0e370c0c0b33cd5e34b0a91b1510b81e840ca1f87c34b13f00e0c22b5a34d8fec62bba4a66f889a450a4f03fda7a85a63bf71bf SHA512 522d015d4207b1258ef92901f106f94bd412e011c26ad074ca9ee3156e51a1d873063f0ebd24b613cd95f34397f29e79358bb420ee0eef51095e6e8858d61fca
diff --git a/dev-python/marshmallow/marshmallow-3.20.1.ebuild b/dev-python/marshmallow/marshmallow-3.20.1.ebuild
deleted file mode 100644
index 6238f7c18ef0..000000000000
--- a/dev-python/marshmallow/marshmallow-3.20.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A library for converting to and from native Python datatypes"
-HOMEPAGE="
- https://github.com/marshmallow-code/marshmallow/
- https://pypi.org/project/marshmallow/
-"
-SRC_URI="
- https://github.com/marshmallow-code/marshmallow/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/packaging-0.17[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/simplejson[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/marshmallow/marshmallow-3.21.2.ebuild b/dev-python/marshmallow/marshmallow-3.21.2.ebuild
new file mode 100644
index 000000000000..f7d269422f0f
--- /dev/null
+++ b/dev-python/marshmallow/marshmallow-3.21.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A library for converting to and from native Python datatypes"
+HOMEPAGE="
+ https://github.com/marshmallow-code/marshmallow/
+ https://pypi.org/project/marshmallow/
+"
+SRC_URI="
+ https://github.com/marshmallow-code/marshmallow/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/packaging-17.0[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/marshmallow/marshmallow-3.21.3.ebuild b/dev-python/marshmallow/marshmallow-3.21.3.ebuild
new file mode 100644
index 000000000000..f7d269422f0f
--- /dev/null
+++ b/dev-python/marshmallow/marshmallow-3.21.3.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A library for converting to and from native Python datatypes"
+HOMEPAGE="
+ https://github.com/marshmallow-code/marshmallow/
+ https://pypi.org/project/marshmallow/
+"
+SRC_URI="
+ https://github.com/marshmallow-code/marshmallow/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/packaging-17.0[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/simplejson[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/matplotlib-inline/Manifest b/dev-python/matplotlib-inline/Manifest
index 3712c797f69c..f2bb96d1af9a 100644
--- a/dev-python/matplotlib-inline/Manifest
+++ b/dev-python/matplotlib-inline/Manifest
@@ -1 +1 @@
-DIST matplotlib-inline-0.1.6.gh.tar.gz 7526 BLAKE2B fd8fde8e218e19fdf7a09bd7f36abd2e4422ed7de8ed8e2d6e52d995e76b62d8e60223fc43a243f2a0ca545037b44ead9520b67cf54b173d95389eb401b17e9a SHA512 7d34f5a86d65d7a2017cf924dc363d7578d1eb14943c3de56e5a0ac79d92d674b387c5528ea76e9e11e0193e71d8cd1315ceb517e9c9678c41ed412e8fd42c04
+DIST matplotlib-inline-0.1.7.gh.tar.gz 8112 BLAKE2B 1c1dc0f0d5a86dc5e8fae013f569f16c90466765643a7c2ef7359f906bec18bbe4bd27502cef78a3edc4f3a617416389648cbb9abab75ba804fbce85de838cec SHA512 b424b42c221227fe8807a4c56207aa3f0830cd857b816e278d4d22a57091598b9a4f3de5f046d9e8722a6cae13a8f187ffc24927071592ff514b1add3962d03f
diff --git a/dev-python/matplotlib-inline/matplotlib-inline-0.1.6-r1.ebuild b/dev-python/matplotlib-inline/matplotlib-inline-0.1.6-r1.ebuild
deleted file mode 100644
index 14ef9c39ed45..000000000000
--- a/dev-python/matplotlib-inline/matplotlib-inline-0.1.6-r1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2021-2023 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
-
-DESCRIPTION="Inline Matplotlib backend for Jupyter"
-HOMEPAGE="
- https://github.com/ipython/matplotlib-inline/
- https://pypi.org/project/matplotlib-inline/
-"
-SRC_URI="
- https://github.com/ipython/matplotlib-inline/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-# Although in theory we could depend on matplotlib, upstream does not.
-# This is because the sole purpose of the package is to be loaded by
-# ipython (also not a dependency!) as a response to interactive use of
-# the "%matplotlib" magic.
-#
-# In order to be seamless and straightforward, this backend is always
-# installed and just requires users using matplotlib, to install
-# matplotlib before importing and using it.
-RDEPEND="
- dev-python/traitlets[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/matplotlib-inline/matplotlib-inline-0.1.7.ebuild b/dev-python/matplotlib-inline/matplotlib-inline-0.1.7.ebuild
new file mode 100644
index 000000000000..8185c47b80cc
--- /dev/null
+++ b/dev-python/matplotlib-inline/matplotlib-inline-0.1.7.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2021-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Inline Matplotlib backend for Jupyter"
+HOMEPAGE="
+ https://github.com/ipython/matplotlib-inline/
+ https://pypi.org/project/matplotlib-inline/
+"
+SRC_URI="
+ https://github.com/ipython/matplotlib-inline/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+# Although in theory we could depend on matplotlib, upstream does not.
+# This is because the sole purpose of the package is to be loaded by
+# ipython (also not a dependency!) as a response to interactive use of
+# the "%matplotlib" magic.
+#
+# In order to be seamless and straightforward, this backend is always
+# installed and just requires users using matplotlib, to install
+# matplotlib before importing and using it.
+RDEPEND="
+ dev-python/traitlets[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/matplotlib/Manifest b/dev-python/matplotlib/Manifest
index c6b5d58b1634..3f5e79091727 100644
--- a/dev-python/matplotlib/Manifest
+++ b/dev-python/matplotlib/Manifest
@@ -1,7 +1,3 @@
DIST freetype-2.6.1.tar.gz 2302080 BLAKE2B 6a5fb98e5fa6cf4b7d7533ad44e364227d8c2f7dded4c552d6e22e204c32b7858f20d41d1e809ecdad6e5353d6cec81bea0e0b06a4533363a41ecab83ce3f7ca SHA512 ff2daed64d712737085924c50e75862fafbcbb24eef6d72dac9eaae63bb656d7245397fd828f5d3e47ac847f7ff83d73dedfdd61fde1f7d6e0f0cdeb49bcf83b
-DIST matplotlib-3.7.1.tar.gz 38003777 BLAKE2B a387d23b58e09011cd3ae1f8c0ebf5dd8c04c8c15c1f6453c92cd22b2439fcabcf384f39ae8d2d2c6b7d2645817cd57a60856a4c05728e8f8aff9dd163af5083 SHA512 d7db4213d5b38eba779ba06ffaa8e67a435192e4a8cf62f8e1cd4b8079cd257b2e83cb79926df012b7084c785c0ce8b03275035f68cfcf0a36b0dda7322f2e67
-DIST matplotlib-3.7.2.tar.gz 38095843 BLAKE2B e26e78ce3a27604ff3d0f4d280798715b21a89104908e4fa66f96e32152d61f4f640e02e1eb2327563c71f3391c03716b5f6a1e769a07725d02c042b21973a4a SHA512 3ddb223c869c01cf71ab65a628a3c996eed1ff8b2375c02e3158a5750652a5d8277a55706e50890c15c14c7a104db01f01b01ca8964f85b6ffec104fc273872d
-DIST matplotlib-3.7.3.tar.gz 38097222 BLAKE2B e0207c8f8bda2db3f9e45d2f606f01374c8d829d747f29d6a5e46cbfc215960b1bf3f5ee471c2c73f4200ebb0a7c9e8b783cb8569ecbb26a3fbc0d802592db0e SHA512 034b81ef4811089e845855eb339155b18b1221ffd325ea73c83e83bb433374dfa4e650e29bbae5ad63a84090eb4b013d0f106ff37c30fd661b4d071004745caa
-DIST matplotlib-3.8.0.tar.gz 35864435 BLAKE2B d0eb2893447782f54ca9c8101ca54fa9d86a9f2ef89fb0a17d32c74f3e46728b55c6bed476852d0c11286dc0030028c241adce29024b34845546af6f579ac7bf SHA512 0f75495210946adf0a36af13a75bc9910d345cc05636019952f35856b4c2bfac8a79c48d5a3348e844cfdac797f3ce490fe6a4e1a4fc7033092fee61f9913e21
-DIST matplotlib-3.8.1.tar.gz 35868840 BLAKE2B beec824c46279cb92608ffca0dc1835c1d82ef32d68b547c9a5088404a0b37044c1860c59ac16c0c1b65658c7d64b7b4c83b65b38ffb0b320d4c5a3cc4383fb9 SHA512 bb933361caba0f4ea590df56569edf4cb728f1daa1219f8793b5ae6ba591cb5d1600fdd1693b7c72a8bb70b0da696b05f1b6ddcabe93d723f29d8541fbf0372c
-DIST matplotlib-3.8.2.tar.gz 35866957 BLAKE2B 17b3de0101c4e9d76cddc7fa5e44507f1dd628fa70ac0d3c55fb83ca5d36156904bfab50212aaeb0fb89d17615799fe22082ecc1ababd172e39a069b38519064 SHA512 4336ca9799bb03fc2f885e35889ad1c62412f7d7b6aa8e284049f75d1166d2f6753c27cf827f0e7f0bb461d3707ccf63a3172ed82f26ec413c0a6578791f957b
+DIST matplotlib-3.9.0.tar.gz 36069890 BLAKE2B 02ddb25901b5a93a8daf6f26c98b92d5e35abe2e98783b039928338abb1d628adbf3fd4786c08cb1610bf405cb558ca31fc12dbde77ec5f2a633143c7ea659a1 SHA512 135ee2f97c26cb60479cc10bf8a833384c393993d8a905ab869f4c73b91a50ffa596f84ce349af7f1a0b08a21e1906394cf6a702bb567a9c3999d40f54974326
+DIST matplotlib-3.9.1.tar.gz 36084124 BLAKE2B b7cc9e219664849411cc3133afbdb676f956c943f92d447ba5cca0467da56d1575796fe1046e7503e6d7c4dfdfad6e5181404f331ed7ac1397c8c61f4a30bd23 SHA512 a1d48c42a5f4f04b57e34d25df842917e6380b8d6b6d1018c9b630cbbea4619b1d75729a218a6f52b63d4a61c2204bb26ad8f741566f84e41ca73190e419f672
diff --git a/dev-python/matplotlib/files/matplotlib-3.3.3-disable-lto.patch b/dev-python/matplotlib/files/matplotlib-3.3.3-disable-lto.patch
deleted file mode 100644
index ab377e7f19b2..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.3.3-disable-lto.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From 7382d6205bfdc647a8e47c8e417c991d3822eace Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Mon, 4 Jan 2021 10:03:32 +0100
-Subject: [PATCH] Disable -flto
-
----
- setup.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/setup.py b/setup.py
-index 6e1d19d..ed85d14 100644
---- a/setup.py
-+++ b/setup.py
-@@ -147,7 +147,7 @@ class BuildExtraLibraries(BuildExtCommand):
- ranlib = True
- else:
- ranlib = shutil.which('llvm-ranlib')
-- if ranlib and has_flag(self.compiler, '-flto'):
-+ if False and ranlib and has_flag(self.compiler, '-flto'):
- for ext in self.extensions:
- ext.extra_compile_args.append('-flto')
- cppflags.append('-flto')
---
-2.30.0
-
diff --git a/dev-python/matplotlib/files/matplotlib-3.7.1-test.patch b/dev-python/matplotlib/files/matplotlib-3.7.1-test.patch
deleted file mode 100644
index e2471a4282c2..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.7.1-test.patch
+++ /dev/null
@@ -1,244 +0,0 @@
-From 2290694d52ef1af255b9f0fa0d9c3c9ebcee9264 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Tue, 14 Feb 2023 20:46:30 +0100
-Subject: [PATCH] Adjust tolerances to make tests pass on real hardware
-
----
- lib/matplotlib/tests/test_arrow_patches.py | 6 +++---
- lib/matplotlib/tests/test_axes.py | 6 +++---
- lib/matplotlib/tests/test_colorbar.py | 2 +-
- lib/matplotlib/tests/test_constrainedlayout.py | 8 ++++----
- lib/matplotlib/tests/test_contour.py | 3 +--
- lib/matplotlib/tests/test_figure.py | 2 +-
- lib/matplotlib/tests/test_image.py | 2 +-
- lib/matplotlib/tests/test_legend.py | 6 +++---
- lib/matplotlib/tests/test_lines.py | 2 +-
- lib/matplotlib/tests/test_units.py | 4 ++--
- lib/matplotlib/tests/test_usetex.py | 3 ++-
- 11 files changed, 22 insertions(+), 22 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
-index 8d573b4adb..dfc42efcb9 100644
---- a/lib/matplotlib/tests/test_arrow_patches.py
-+++ b/lib/matplotlib/tests/test_arrow_patches.py
-@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
-
-
- @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02,
-+ tol=0.015 if platform.machine() == 'x86_64' else 0.02,
- savefig_kwarg=dict(dpi=100))
- def test_fancyarrow_dpi_cor_100dpi():
- """
-@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
-
-
- @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02,
-+ tol=0.018 if platform.machine() == 'x86_64' else 0.02,
- savefig_kwarg=dict(dpi=200))
- def test_fancyarrow_dpi_cor_200dpi():
- """
-@@ -115,7 +115,7 @@ def test_fancyarrow_dash():
-
-
- @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.005)
-+ tol=0.005)
- def test_arrow_styles():
- styles = mpatches.ArrowStyle.get_styles()
-
-diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index 004f6320de..63d705cb91 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -1034,7 +1034,7 @@ def test_imshow():
-
- @image_comparison(
- ['imshow_clip'], style='mpl20',
-- tol=1.24 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=1.24)
- def test_imshow_clip():
- # As originally reported by Gellule Xg <gellule.xg@free.fr>
- # use former defaults to match existing baseline image
-@@ -2364,7 +2364,7 @@ def test_contour_hatching():
-
- @image_comparison(
- ['contour_colorbar'], style='mpl20',
-- tol=0.02 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=0.02)
- def test_contour_colorbar():
- x, y, z = contour_dat()
-
-@@ -4704,7 +4704,7 @@ def test_vertex_markers():
-
-
- @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
-- tol=0 if platform.machine() == 'x86_64' else 0.02)
-+ tol=0.015 if platform.machine() == 'x86_64' else 0.02)
- def test_eb_line_zorder():
- x = list(range(10))
-
-diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
-index e39d007378..fa0cb2e72f 100644
---- a/lib/matplotlib/tests/test_colorbar.py
-+++ b/lib/matplotlib/tests/test_colorbar.py
-@@ -237,7 +237,7 @@ def test_colorbar_single_ax_panchor_east(constrained):
-
- @image_comparison(
- ['contour_colorbar.png'], remove_text=True,
-- tol=0.01 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=0.01)
- def test_contour_colorbar():
- fig, ax = plt.subplots(figsize=(4, 2))
- data = np.arange(1200).reshape(30, 40) - 500
-diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
-index b0833052ad..c7633f6842 100644
---- a/lib/matplotlib/tests/test_constrainedlayout.py
-+++ b/lib/matplotlib/tests/test_constrainedlayout.py
-@@ -651,11 +651,11 @@ def test_compressed1():
- fig.draw_without_rendering()
-
- pos = axs[0, 0].get_position()
-- np.testing.assert_allclose(pos.x0, 0.06195, atol=1e-3)
-- np.testing.assert_allclose(pos.y1, 0.8537, atol=1e-3)
-+ np.testing.assert_allclose(pos.x0, 0.06195, atol=2e-3)
-+ np.testing.assert_allclose(pos.y1, 0.8537, atol=2e-3)
- pos = axs[1, 2].get_position()
-- np.testing.assert_allclose(pos.x1, 0.8618, atol=1e-3)
-- np.testing.assert_allclose(pos.y0, 0.1934, atol=1e-3)
-+ np.testing.assert_allclose(pos.x1, 0.8618, atol=2e-3)
-+ np.testing.assert_allclose(pos.y0, 0.1934, atol=2e-3)
-
-
- @pytest.mark.parametrize('arg, state', [
-diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
-index 41d4dc8501..e0f9f5c112 100644
---- a/lib/matplotlib/tests/test_contour.py
-+++ b/lib/matplotlib/tests/test_contour.py
-@@ -316,8 +316,7 @@ def test_contourf_log_extension():
-
- @image_comparison(
- ['contour_addlines.png'], remove_text=True, style='mpl20',
-- tol=0.15 if platform.machine() in ('aarch64', 'ppc64le', 's390x')
-- else 0.03)
-+ tol=0.15)
- # tolerance is because image changed minutely when tick finding on
- # colorbars was cleaned up...
- def test_contour_addlines():
-diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
-index f3ece07660..18c95e4a55 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -26,7 +26,7 @@ import matplotlib.dates as mdates
-
-
- @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_align_labels():
- fig = plt.figure(layout='tight')
- gs = gridspec.GridSpec(3, 3)
-diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
-index 76a622181d..af81d2fc0d 100644
---- a/lib/matplotlib/tests/test_image.py
-+++ b/lib/matplotlib/tests/test_image.py
-@@ -1339,7 +1339,7 @@ def test_nonuniform_and_pcolor():
-
- @image_comparison(
- ['rgba_antialias.png'], style='mpl20', remove_text=True,
-- tol=0.007 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=0.007)
- def test_rgba_antialias():
- fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False,
- sharey=False, constrained_layout=True)
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index a8d7fd107d..2f658bc116 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -174,7 +174,7 @@ def test_multiple_keys():
-
-
- @image_comparison(['rgba_alpha.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_alpha_rgba():
- fig, ax = plt.subplots()
- ax.plot(range(10), lw=5)
-@@ -183,7 +183,7 @@ def test_alpha_rgba():
-
-
- @image_comparison(['rcparam_alpha.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_alpha_rcparam():
- fig, ax = plt.subplots()
- ax.plot(range(10), lw=5)
-@@ -209,7 +209,7 @@ def test_fancy():
-
-
- @image_comparison(['framealpha'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02)
-+ tol=0.02)
- def test_framealpha():
- x = np.linspace(1, 100, 100)
- y = x
-diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
-index b75d3c01b2..d08cc79172 100644
---- a/lib/matplotlib/tests/test_lines.py
-+++ b/lib/matplotlib/tests/test_lines.py
-@@ -185,7 +185,7 @@ def test_set_drawstyle():
-
- @image_comparison(
- ['line_collection_dashes'], remove_text=True, style='mpl20',
-- tol=0.65 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=0.65)
- def test_set_line_coll_dash_image():
- fig, ax = plt.subplots()
- np.random.seed(0)
-diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
-index d3b8c5a716..56a1d0a0a4 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -79,7 +79,7 @@ def quantity_converter():
- # Tests that the conversion machinery works properly for classes that
- # work as a facade over numpy arrays (like pint)
- @image_comparison(['plot_pint.png'], style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.002 if platform.machine() == 'x86_64' else 0.01)
- def test_numpy_facade(quantity_converter):
- # use former defaults to match existing baseline image
- plt.rcParams['axes.formatter.limits'] = -7, 7
-@@ -106,7 +106,7 @@ def test_numpy_facade(quantity_converter):
-
- # Tests gh-8908
- @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_plot_masked_units():
- data = np.linspace(-5, 5)
- data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
-diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
-index 0f01ebaffb..5e44dc8d22 100644
---- a/lib/matplotlib/tests/test_usetex.py
-+++ b/lib/matplotlib/tests/test_usetex.py
-@@ -14,6 +14,7 @@ import matplotlib.pyplot as plt
- pytestmark = needs_usetex
-
-
-+@pytest.mark.skip(reason="TODO: broken")
- @image_comparison(
- baseline_images=['test_usetex'],
- extensions=['pdf', 'png'],
-@@ -64,7 +65,7 @@ def test_mathdefault():
- fig.canvas.draw()
-
-
--@image_comparison(['eqnarray.png'])
-+@image_comparison(['eqnarray.png'], tol=23)
- def test_multiline_eqnarray():
- text = (
- r'\begin{eqnarray*}'
---
-2.39.2
-
diff --git a/dev-python/matplotlib/files/matplotlib-3.7.2-macOS_no-Cocoa.patch b/dev-python/matplotlib/files/matplotlib-3.7.2-macOS_no-Cocoa.patch
deleted file mode 100644
index 3f29134be621..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.7.2-macOS_no-Cocoa.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Do not automatically build against Cocoa on macOS.
-
-At Prefix/macOS, we do not support the propietary Cocoa SDK. GUI
-applications use X11.
-
-The patch is specific to our need and not forwarded upstream.
-
-Signed-off-by: Benda Xu <heroxbd@gentoo.org>
-
-Index: matplotlib-3.7.2/setup.py
-===================================================================
---- matplotlib-3.7.2.orig/setup.py
-+++ matplotlib-3.7.2/setup.py
-@@ -49,7 +49,6 @@ mpl_packages = [
- setupext.FreeType(),
- setupext.Qhull(),
- setupext.Tests(),
-- setupext.BackendMacOSX(),
- ]
-
-
diff --git a/dev-python/matplotlib/files/matplotlib-3.7.2-pyparsing-3.1.patch b/dev-python/matplotlib/files/matplotlib-3.7.2-pyparsing-3.1.patch
deleted file mode 100644
index 44082b5c0227..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.7.2-pyparsing-3.1.patch
+++ /dev/null
@@ -1,274 +0,0 @@
-https://bugs.gentoo.org/911127
-https://github.com/matplotlib/matplotlib/issues/26152
-https://github.com/matplotlib/matplotlib/pull/26432
-
-From c5183789d7d0cd151c201eeb2ce4fc786b6e43c2 Mon Sep 17 00:00:00 2001
-From: Jody Klymak <jklymak@gmail.com>
-Date: Tue, 1 Aug 2023 13:41:44 -0700
-Subject: [PATCH 1/2] Backport PR #26431: MNT: Unpin pyparsing, xfail error
- message tests for pyparsing 3.1.0
-
---- a/environment.yml
-+++ b/environment.yml
-@@ -19,7 +19,7 @@ dependencies:
- - pillow>=6.2
- - pybind11>=2.6.0
- - pygobject
-- - pyparsing!=3.1.0
-+ - pyparsing>=2.3.1
- - pyqt
- - python-dateutil>=2.1
- - setuptools
---- a/lib/matplotlib/tests/test_mathtext.py
-+++ b/lib/matplotlib/tests/test_mathtext.py
-@@ -6,13 +6,18 @@
- from xml.etree import ElementTree as ET
-
- import numpy as np
-+from packaging.version import parse as parse_version
-+import pyparsing
- import pytest
-
-+
- import matplotlib as mpl
- from matplotlib.testing.decorators import check_figures_equal, image_comparison
- import matplotlib.pyplot as plt
- from matplotlib import mathtext, _mathtext
-
-+pyparsing_version = parse_version(pyparsing.__version__)
-+
-
- # If test is removed, use None as placeholder
- math_tests = [
-@@ -270,6 +275,9 @@ def test_fontinfo():
- assert table['version'] == (1, 0)
-
-
-+# See gh-26152 for more context on this xfail
-+@pytest.mark.xfail(pyparsing_version.release == (3, 1, 0),
-+ reason="Error messages are incorrect for this version")
- @pytest.mark.parametrize(
- 'math, msg',
- [
---- a/lib/matplotlib/tests/test_text.py
-+++ b/lib/matplotlib/tests/test_text.py
-@@ -4,6 +4,8 @@
-
- import numpy as np
- from numpy.testing import assert_almost_equal
-+from packaging.version import parse as parse_version
-+import pyparsing
- import pytest
-
- import matplotlib as mpl
-@@ -16,6 +18,8 @@
- from matplotlib.testing._markers import needs_usetex
- from matplotlib.text import Text
-
-+pyparsing_version = parse_version(pyparsing.__version__)
-+
-
- @image_comparison(['font_styles'])
- def test_font_styles():
-@@ -809,6 +813,9 @@ def test_unsupported_script(recwarn):
- (r"Matplotlib currently does not support Bengali natively.",)])
-
-
-+# See gh-26152 for more information on this xfail
-+@pytest.mark.xfail(pyparsing_version.release == (3, 1, 0),
-+ reason="Error messages are incorrect with pyparsing 3.1.0")
- def test_parse_math():
- fig, ax = plt.subplots()
- ax.text(0, 0, r"$ \wrong{math} $", parse_math=False)
-@@ -819,6 +826,9 @@ def test_parse_math():
- fig.canvas.draw()
-
-
-+# See gh-26152 for more information on this xfail
-+@pytest.mark.xfail(pyparsing_version.release == (3, 1, 0),
-+ reason="Error messages are incorrect with pyparsing 3.1.0")
- def test_parse_math_rcparams():
- # Default is True
- fig, ax = plt.subplots()
---- a/setup.py
-+++ b/setup.py
-@@ -325,7 +325,7 @@ def make_release_tree(self, base_dir, files):
- "numpy>=1.20",
- "packaging>=20.0",
- "pillow>=6.2.0",
-- "pyparsing>=2.3.1,<3.1",
-+ "pyparsing>=2.3.1",
- "python-dateutil>=2.7",
- ] + (
- # Installing from a git checkout that is not producing a wheel.
-
-From 7f475c5088a826adffac2885d027d4f8b3cba218 Mon Sep 17 00:00:00 2001
-From: Kyle Sunden <git@ksunden.space>
-Date: Mon, 26 Jun 2023 22:17:27 -0500
-Subject: [PATCH 2/2] Manual backport of #26198
-
-Cherry picked and fixed up, ignored changes to the pyi file (which doesn't exist on this branch).
---- a/lib/matplotlib/_mathtext.py
-+++ b/lib/matplotlib/_mathtext.py
-@@ -1802,8 +1802,11 @@ def __init__(self):
- def set_names_and_parse_actions():
- for key, val in vars(p).items():
- if not key.startswith('_'):
-- # Set names on everything -- very useful for debugging
-- val.setName(key)
-+ # Set names on (almost) everything -- very useful for debugging
-+ # token, placeable, and auto_delim are forward references which
-+ # are left without names to ensure useful error messages
-+ if key not in ("token", "placeable", "auto_delim"):
-+ val.setName(key)
- # Set actions
- if hasattr(self, key):
- val.setParseAction(getattr(self, key))
-@@ -1840,63 +1843,39 @@ def csnames(group, names):
- p.unknown_symbol = Regex(r"\\[A-Za-z]*")("name")
-
- p.font = csnames("font", self._fontnames)
-- p.start_group = (
-- Optional(r"\math" + oneOf(self._fontnames)("font")) + "{")
-+ p.start_group = Optional(r"\math" + oneOf(self._fontnames)("font")) + "{"
- p.end_group = Literal("}")
-
- p.delim = oneOf(self._delims)
-
-- set_names_and_parse_actions() # for root definitions.
--
- # Mutually recursive definitions. (Minimizing the number of Forward
- # elements is important for speed.)
-- p.accent = Forward()
- p.auto_delim = Forward()
-- p.binom = Forward()
-- p.customspace = Forward()
-- p.frac = Forward()
-- p.dfrac = Forward()
-- p.function = Forward()
-- p.genfrac = Forward()
-- p.group = Forward()
-- p.operatorname = Forward()
-- p.overline = Forward()
-- p.overset = Forward()
- p.placeable = Forward()
- p.required_group = Forward()
-- p.simple = Forward()
- p.optional_group = Forward()
-- p.sqrt = Forward()
-- p.subsuper = Forward()
- p.token = Forward()
-- p.underset = Forward()
-
- set_names_and_parse_actions() # for mutually recursive definitions.
-
-- p.customspace <<= cmd(r"\hspace", "{" + p.float_literal("space") + "}")
-+ p.optional_group <<= "{" + ZeroOrMore(p.token)("group") + "}"
-+ p.required_group <<= "{" + OneOrMore(p.token)("group") + "}"
-
-- p.accent <<= (
-+ p.customspace = cmd(r"\hspace", "{" + p.float_literal("space") + "}")
-+
-+ p.accent = (
- csnames("accent", [*self._accent_map, *self._wide_accents])
- - p.placeable("sym"))
-
-- p.function <<= csnames("name", self._function_names)
-- p.operatorname <<= cmd(
-- r"\operatorname",
-- "{" + ZeroOrMore(p.simple | p.unknown_symbol)("name") + "}")
-+ p.function = csnames("name", self._function_names)
-
-- p.group <<= p.start_group + ZeroOrMore(p.token)("group") + p.end_group
-+ p.group = p.start_group + ZeroOrMore(p.token)("group") + p.end_group
-
-- p.optional_group <<= "{" + ZeroOrMore(p.token)("group") + "}"
-- p.required_group <<= "{" + OneOrMore(p.token)("group") + "}"
--
-- p.frac <<= cmd(
-- r"\frac", p.required_group("num") + p.required_group("den"))
-- p.dfrac <<= cmd(
-- r"\dfrac", p.required_group("num") + p.required_group("den"))
-- p.binom <<= cmd(
-- r"\binom", p.required_group("num") + p.required_group("den"))
-+ p.frac = cmd(r"\frac", p.required_group("num") + p.required_group("den"))
-+ p.dfrac = cmd(r"\dfrac", p.required_group("num") + p.required_group("den"))
-+ p.binom = cmd(r"\binom", p.required_group("num") + p.required_group("den"))
-
-- p.genfrac <<= cmd(
-+ p.genfrac = cmd(
- r"\genfrac",
- "{" + Optional(p.delim)("ldelim") + "}"
- + "{" + Optional(p.delim)("rdelim") + "}"
-@@ -1905,20 +1884,38 @@ def csnames(group, names):
- + p.required_group("num")
- + p.required_group("den"))
-
-- p.sqrt <<= cmd(
-+ p.sqrt = cmd(
- r"\sqrt{value}",
- Optional("[" + OneOrMore(NotAny("]") + p.token)("root") + "]")
- + p.required_group("value"))
-
-- p.overline <<= cmd(r"\overline", p.required_group("body"))
-+ p.overline = cmd(r"\overline", p.required_group("body"))
-
-- p.overset <<= cmd(
-+ p.overset = cmd(
- r"\overset",
- p.optional_group("annotation") + p.optional_group("body"))
-- p.underset <<= cmd(
-+ p.underset = cmd(
- r"\underset",
- p.optional_group("annotation") + p.optional_group("body"))
-
-+ p.subsuper = (
-+ (Optional(p.placeable)("nucleus")
-+ + OneOrMore(oneOf(["_", "^"]) - p.placeable)("subsuper")
-+ + Regex("'*")("apostrophes"))
-+ | Regex("'+")("apostrophes")
-+ | (p.placeable("nucleus") + Regex("'*")("apostrophes"))
-+ )
-+
-+ p.simple = p.space | p.customspace | p.font | p.subsuper
-+
-+ p.token <<= (
-+ p.simple
-+ | p.auto_delim
-+ | p.unknown_symbol # Must be last
-+ )
-+
-+ p.operatorname = cmd(r"\operatorname", "{" + ZeroOrMore(p.simple)("name") + "}")
-+
- p.placeable <<= (
- p.accent # Must be before symbol as all accents are symbols
- | p.symbol # Must be second to catch all named symbols and single
-@@ -1936,27 +1933,6 @@ def csnames(group, names):
- | p.overline
- )
-
-- p.simple <<= (
-- p.space
-- | p.customspace
-- | p.font
-- | p.subsuper
-- )
--
-- p.subsuper <<= (
-- (Optional(p.placeable)("nucleus")
-- + OneOrMore(oneOf(["_", "^"]) - p.placeable)("subsuper")
-- + Regex("'*")("apostrophes"))
-- | Regex("'+")("apostrophes")
-- | (p.placeable("nucleus") + Regex("'*")("apostrophes"))
-- )
--
-- p.token <<= (
-- p.simple
-- | p.auto_delim
-- | p.unknown_symbol # Must be last
-- )
--
- p.auto_delim <<= (
- r"\left" - (p.delim("left") | Error("Expected a delimiter"))
- + ZeroOrMore(p.simple | p.auto_delim)("mid")
-
diff --git a/dev-python/matplotlib/files/matplotlib-3.8.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.8.0-test.patch
deleted file mode 100644
index 5653ed6a697e..000000000000
--- a/dev-python/matplotlib/files/matplotlib-3.8.0-test.patch
+++ /dev/null
@@ -1,263 +0,0 @@
-From a39e8395b7f1a6388c4c0897aade3a176b7644a3 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Tue, 14 Feb 2023 20:46:30 +0100
-Subject: [PATCH] Adjust tolerances to make tests pass on real hardware
-
----
- lib/matplotlib/tests/test_arrow_patches.py | 6 +++---
- lib/matplotlib/tests/test_axes.py | 9 +++++----
- lib/matplotlib/tests/test_colorbar.py | 2 +-
- lib/matplotlib/tests/test_constrainedlayout.py | 8 ++++----
- lib/matplotlib/tests/test_contour.py | 3 +--
- lib/matplotlib/tests/test_figure.py | 2 +-
- lib/matplotlib/tests/test_image.py | 2 +-
- lib/matplotlib/tests/test_legend.py | 6 +++---
- lib/matplotlib/tests/test_lines.py | 2 +-
- lib/matplotlib/tests/test_units.py | 4 ++--
- lib/matplotlib/tests/test_usetex.py | 5 +++--
- 11 files changed, 25 insertions(+), 24 deletions(-)
-
-diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
-index 8d573b4adb..dfc42efcb9 100644
---- a/lib/matplotlib/tests/test_arrow_patches.py
-+++ b/lib/matplotlib/tests/test_arrow_patches.py
-@@ -67,7 +67,7 @@ def __prepare_fancyarrow_dpi_cor_test():
-
-
- @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02,
-+ tol=0.015 if platform.machine() == 'x86_64' else 0.02,
- savefig_kwarg=dict(dpi=100))
- def test_fancyarrow_dpi_cor_100dpi():
- """
-@@ -82,7 +82,7 @@ def test_fancyarrow_dpi_cor_100dpi():
-
-
- @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02,
-+ tol=0.018 if platform.machine() == 'x86_64' else 0.02,
- savefig_kwarg=dict(dpi=200))
- def test_fancyarrow_dpi_cor_200dpi():
- """
-@@ -115,7 +115,7 @@ def test_fancyarrow_dash():
-
-
- @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.005)
-+ tol=0.005)
- def test_arrow_styles():
- styles = mpatches.ArrowStyle.get_styles()
-
-diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
-index 30992d5780..0a254c95ca 100644
---- a/lib/matplotlib/tests/test_axes.py
-+++ b/lib/matplotlib/tests/test_axes.py
-@@ -1132,7 +1132,7 @@ def test_imshow():
-
- @image_comparison(
- ['imshow_clip'], style='mpl20',
-- tol=1.24 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=1.24)
- def test_imshow_clip():
- # As originally reported by Gellule Xg <gellule.xg@free.fr>
- # use former defaults to match existing baseline image
-@@ -2502,7 +2502,7 @@ def test_contour_hatching():
-
- @image_comparison(
- ['contour_colorbar'], style='mpl20',
-- tol=0.54 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=0.54)
- def test_contour_colorbar():
- x, y, z = contour_dat()
-
-@@ -4856,7 +4856,7 @@ def test_vertex_markers():
-
-
- @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
-- tol=0 if platform.machine() == 'x86_64' else 0.02)
-+ tol=0.015 if platform.machine() == 'x86_64' else 0.02)
- def test_eb_line_zorder():
- x = list(range(10))
-
-@@ -8709,7 +8709,8 @@ def test_zorder_and_explicit_rasterization():
- fig.savefig(b, format='pdf')
-
-
--@image_comparison(["preset_clip_paths.png"], remove_text=True, style="mpl20")
-+@image_comparison(["preset_clip_paths.png"], remove_text=True, style="mpl20",
-+ tol=0.02)
- def test_preset_clip_paths():
- fig, ax = plt.subplots()
-
-diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
-index 73c4dab9a8..ddae80c449 100644
---- a/lib/matplotlib/tests/test_colorbar.py
-+++ b/lib/matplotlib/tests/test_colorbar.py
-@@ -236,7 +236,7 @@ def test_colorbar_single_ax_panchor_east(constrained):
-
- @image_comparison(
- ['contour_colorbar.png'], remove_text=True,
-- tol=0.01 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=0.01)
- def test_contour_colorbar():
- fig, ax = plt.subplots(figsize=(4, 2))
- data = np.arange(1200).reshape(30, 40) - 500
-diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
-index 6703dfe315..da7770b7c7 100644
---- a/lib/matplotlib/tests/test_constrainedlayout.py
-+++ b/lib/matplotlib/tests/test_constrainedlayout.py
-@@ -652,11 +652,11 @@ def test_compressed1():
- fig.draw_without_rendering()
-
- pos = axs[0, 0].get_position()
-- np.testing.assert_allclose(pos.x0, 0.06195, atol=1e-3)
-- np.testing.assert_allclose(pos.y1, 0.8537, atol=1e-3)
-+ np.testing.assert_allclose(pos.x0, 0.06195, atol=2e-3)
-+ np.testing.assert_allclose(pos.y1, 0.8537, atol=2e-3)
- pos = axs[1, 2].get_position()
-- np.testing.assert_allclose(pos.x1, 0.8618, atol=1e-3)
-- np.testing.assert_allclose(pos.y0, 0.1934, atol=1e-3)
-+ np.testing.assert_allclose(pos.x1, 0.8618, atol=2e-3)
-+ np.testing.assert_allclose(pos.y0, 0.1934, atol=2e-3)
-
-
- @pytest.mark.parametrize('arg, state', [
-diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
-index 4a32fdc6ce..e745abb9dc 100644
---- a/lib/matplotlib/tests/test_contour.py
-+++ b/lib/matplotlib/tests/test_contour.py
-@@ -383,8 +383,7 @@ def test_contourf_log_extension(split_collections):
- @pytest.mark.parametrize("split_collections", [False, True])
- @image_comparison(
- ['contour_addlines.png'], remove_text=True, style='mpl20',
-- tol=0.15 if platform.machine() in ('aarch64', 'ppc64le', 's390x')
-- else 0.03)
-+ tol=0.15)
- # tolerance is because image changed minutely when tick finding on
- # colorbars was cleaned up...
- def test_contour_addlines(split_collections):
-diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
-index 6d6a3d772f..d6b5797b52 100644
---- a/lib/matplotlib/tests/test_figure.py
-+++ b/lib/matplotlib/tests/test_figure.py
-@@ -27,7 +27,7 @@ import matplotlib.dates as mdates
-
-
- @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_align_labels():
- fig = plt.figure(layout='tight')
- gs = gridspec.GridSpec(3, 3)
-diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
-index aeeebd136b..2e5a44a9e6 100644
---- a/lib/matplotlib/tests/test_image.py
-+++ b/lib/matplotlib/tests/test_image.py
-@@ -1352,7 +1352,7 @@ def test_nonuniform_and_pcolor():
-
- @image_comparison(
- ['rgba_antialias.png'], style='mpl20', remove_text=True,
-- tol=0.007 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=0.007)
- def test_rgba_antialias():
- fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False,
- sharey=False, constrained_layout=True)
-diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
-index 759ac6aada..fc35d42542 100644
---- a/lib/matplotlib/tests/test_legend.py
-+++ b/lib/matplotlib/tests/test_legend.py
-@@ -173,7 +173,7 @@ def test_multiple_keys():
-
-
- @image_comparison(['rgba_alpha.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_alpha_rgba():
- fig, ax = plt.subplots()
- ax.plot(range(10), lw=5)
-@@ -182,7 +182,7 @@ def test_alpha_rgba():
-
-
- @image_comparison(['rcparam_alpha.png'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_alpha_rcparam():
- fig, ax = plt.subplots()
- ax.plot(range(10), lw=5)
-@@ -210,7 +210,7 @@ def test_fancy():
-
-
- @image_comparison(['framealpha'], remove_text=True,
-- tol=0 if platform.machine() == 'x86_64' else 0.02)
-+ tol=0.02)
- def test_framealpha():
- x = np.linspace(1, 100, 100)
- y = x
-diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
-index 4f23e6969b..952c643e35 100644
---- a/lib/matplotlib/tests/test_lines.py
-+++ b/lib/matplotlib/tests/test_lines.py
-@@ -187,7 +187,7 @@ def test_set_drawstyle():
-
- @image_comparison(
- ['line_collection_dashes'], remove_text=True, style='mpl20',
-- tol=0.65 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
-+ tol=0.65)
- def test_set_line_coll_dash_image():
- fig, ax = plt.subplots()
- np.random.seed(0)
-diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
-index d3b8c5a716..56a1d0a0a4 100644
---- a/lib/matplotlib/tests/test_units.py
-+++ b/lib/matplotlib/tests/test_units.py
-@@ -79,7 +79,7 @@ def quantity_converter():
- # Tests that the conversion machinery works properly for classes that
- # work as a facade over numpy arrays (like pint)
- @image_comparison(['plot_pint.png'], style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.002 if platform.machine() == 'x86_64' else 0.01)
- def test_numpy_facade(quantity_converter):
- # use former defaults to match existing baseline image
- plt.rcParams['axes.formatter.limits'] = -7, 7
-@@ -106,7 +106,7 @@ def test_numpy_facade(quantity_converter):
-
- # Tests gh-8908
- @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
-- tol=0 if platform.machine() == 'x86_64' else 0.01)
-+ tol=0.02)
- def test_plot_masked_units():
- data = np.linspace(-5, 5)
- data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
-diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
-index 342face450..c7256586bc 100644
---- a/lib/matplotlib/tests/test_usetex.py
-+++ b/lib/matplotlib/tests/test_usetex.py
-@@ -15,6 +15,7 @@ import matplotlib.pyplot as plt
- pytestmark = needs_usetex
-
-
-+@pytest.mark.skip(reason="TODO: broken")
- @image_comparison(
- baseline_images=['test_usetex'],
- extensions=['pdf', 'png'],
-@@ -65,7 +66,7 @@ def test_mathdefault():
- fig.canvas.draw()
-
-
--@image_comparison(['eqnarray.png'])
-+@image_comparison(['eqnarray.png'], tol=23)
- def test_multiline_eqnarray():
- text = (
- r'\begin{eqnarray*}'
-@@ -163,7 +164,7 @@ except mpl.ExecutableNotFoundError:
-
-
- @image_comparison(baseline_images=['rotation'], extensions=['eps', 'pdf', 'png', 'svg'],
-- style='mpl20', tol=3.91 if _old_gs_version else 0)
-+ style='mpl20', tol=30)
- def test_rotation():
- mpl.rcParams['text.usetex'] = True
-
---
-2.42.0
-
diff --git a/dev-python/matplotlib/files/matplotlib-3.9.0-test.patch b/dev-python/matplotlib/files/matplotlib-3.9.0-test.patch
new file mode 100644
index 000000000000..db8ab5e2a0fb
--- /dev/null
+++ b/dev-python/matplotlib/files/matplotlib-3.9.0-test.patch
@@ -0,0 +1,249 @@
+diff --git a/lib/matplotlib/tests/test_arrow_patches.py b/lib/matplotlib/tests/test_arrow_patches.py
+index 254b86cb54..1f93b1a476 100644
+--- a/lib/matplotlib/tests/test_arrow_patches.py
++++ b/lib/matplotlib/tests/test_arrow_patches.py
+@@ -68,7 +68,7 @@ def __prepare_fancyarrow_dpi_cor_test():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_100dpi.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02,
++ tol=0.015 if platform.machine() == 'x86_64' else 0.02,
+ savefig_kwarg=dict(dpi=100))
+ def test_fancyarrow_dpi_cor_100dpi():
+ """
+@@ -83,7 +83,7 @@ def test_fancyarrow_dpi_cor_100dpi():
+
+
+ @image_comparison(['fancyarrow_dpi_cor_200dpi.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02,
++ tol=0.018 if platform.machine() == 'x86_64' else 0.02,
+ savefig_kwarg=dict(dpi=200))
+ def test_fancyarrow_dpi_cor_200dpi():
+ """
+@@ -116,7 +116,7 @@ def test_fancyarrow_dash():
+
+
+ @image_comparison(['arrow_styles.png'], style='mpl20', remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.02)
++ tol=0.005 if platform.machine() == 'x86_64' else 0.02)
+ def test_arrow_styles():
+ styles = mpatches.ArrowStyle.get_styles()
+
+diff --git a/lib/matplotlib/tests/test_axes.py b/lib/matplotlib/tests/test_axes.py
+index 0ed5a11c13..c57ed9934e 100644
+--- a/lib/matplotlib/tests/test_axes.py
++++ b/lib/matplotlib/tests/test_axes.py
+@@ -1157,7 +1157,7 @@ def test_imshow():
+
+ @image_comparison(
+ ['imshow_clip'], style='mpl20',
+- tol=1.24 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
++ tol=1.24)
+ def test_imshow_clip():
+ # As originally reported by Gellule Xg <gellule.xg@free.fr>
+ # use former defaults to match existing baseline image
+@@ -2541,7 +2541,7 @@ def test_contour_hatching():
+
+ @image_comparison(
+ ['contour_colorbar'], style='mpl20',
+- tol=0.54 if platform.machine() in ('aarch64', 'ppc64le', 's390x') else 0)
++ tol=0.54)
+ def test_contour_colorbar():
+ x, y, z = contour_dat()
+
+@@ -4902,7 +4902,7 @@ def test_vertex_markers():
+
+
+ @image_comparison(['vline_hline_zorder', 'errorbar_zorder'],
+- tol=0 if platform.machine() == 'x86_64' else 0.026)
++ tol=0.015 if platform.machine() == 'x86_64' else 0.026)
+ def test_eb_line_zorder():
+ x = list(range(10))
+
+@@ -8810,7 +8810,7 @@ def test_zorder_and_explicit_rasterization():
+
+
+ @image_comparison(["preset_clip_paths.png"], remove_text=True, style="mpl20",
+- tol=0.027 if platform.machine() == "arm64" else 0)
++ tol=0.027 if platform.machine() == "arm64" else 0.02)
+ def test_preset_clip_paths():
+ fig, ax = plt.subplots()
+
+diff --git a/lib/matplotlib/tests/test_colorbar.py b/lib/matplotlib/tests/test_colorbar.py
+index 35911afc79..852075c78d 100644
+--- a/lib/matplotlib/tests/test_colorbar.py
++++ b/lib/matplotlib/tests/test_colorbar.py
+@@ -235,7 +235,7 @@ def test_colorbar_single_ax_panchor_east(constrained):
+
+
+ @image_comparison(['contour_colorbar.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.054)
++ tol=0.01 if platform.machine() == 'x86_64' else 0.054)
+ def test_contour_colorbar():
+ fig, ax = plt.subplots(figsize=(4, 2))
+ data = np.arange(1200).reshape(30, 40) - 500
+diff --git a/lib/matplotlib/tests/test_constrainedlayout.py b/lib/matplotlib/tests/test_constrainedlayout.py
+index 4dc4d9501e..015e46cbe4 100644
+--- a/lib/matplotlib/tests/test_constrainedlayout.py
++++ b/lib/matplotlib/tests/test_constrainedlayout.py
+@@ -655,11 +655,11 @@ def test_compressed1():
+ fig.draw_without_rendering()
+
+ pos = axs[0, 0].get_position()
+- np.testing.assert_allclose(pos.x0, 0.06195, atol=1e-3)
+- np.testing.assert_allclose(pos.y1, 0.8537, atol=1e-3)
++ np.testing.assert_allclose(pos.x0, 0.06195, atol=2e-3)
++ np.testing.assert_allclose(pos.y1, 0.8537, atol=2e-3)
+ pos = axs[1, 2].get_position()
+- np.testing.assert_allclose(pos.x1, 0.8618, atol=1e-3)
+- np.testing.assert_allclose(pos.y0, 0.1934, atol=1e-3)
++ np.testing.assert_allclose(pos.x1, 0.8618, atol=2e-3)
++ np.testing.assert_allclose(pos.y0, 0.1934, atol=2e-3)
+
+
+ @pytest.mark.parametrize('arg, state', [
+diff --git a/lib/matplotlib/tests/test_contour.py b/lib/matplotlib/tests/test_contour.py
+index d4600a14fe..d2deff9362 100644
+--- a/lib/matplotlib/tests/test_contour.py
++++ b/lib/matplotlib/tests/test_contour.py
+@@ -442,8 +442,7 @@ def test_contourf_log_extension(split_collections):
+ @pytest.mark.parametrize("split_collections", [False, True])
+ @image_comparison(
+ ['contour_addlines.png'], remove_text=True, style='mpl20',
+- tol=0.15 if platform.machine() in ('aarch64', 'ppc64le', 's390x')
+- else 0.03)
++ tol=0.15)
+ # tolerance is because image changed minutely when tick finding on
+ # colorbars was cleaned up...
+ def test_contour_addlines(split_collections):
+diff --git a/lib/matplotlib/tests/test_figure.py b/lib/matplotlib/tests/test_figure.py
+index 58aecd3dea..53f3145cbd 100644
+--- a/lib/matplotlib/tests/test_figure.py
++++ b/lib/matplotlib/tests/test_figure.py
+@@ -26,7 +26,7 @@ import matplotlib.dates as mdates
+
+
+ @image_comparison(['figure_align_labels'], extensions=['png', 'svg'],
+- tol=0 if platform.machine() == 'x86_64' else 0.01)
++ tol=0.02)
+ def test_align_labels():
+ fig = plt.figure(layout='tight')
+ gs = gridspec.GridSpec(3, 3)
+@@ -68,7 +68,7 @@ def test_align_labels():
+
+ @image_comparison(['figure_align_titles_tight.png',
+ 'figure_align_titles_constrained.png'],
+- tol=0 if platform.machine() == 'x86_64' else 0.022,
++ tol=0.01 if platform.machine() == 'x86_64' else 0.022,
+ style='mpl20')
+ def test_align_titles():
+ for layout in ['tight', 'constrained']:
+diff --git a/lib/matplotlib/tests/test_image.py b/lib/matplotlib/tests/test_image.py
+index 1602f86716..c2bc71e22f 100644
+--- a/lib/matplotlib/tests/test_image.py
++++ b/lib/matplotlib/tests/test_image.py
+@@ -1416,7 +1416,7 @@ def test_nonuniform_and_pcolor():
+
+ @image_comparison(
+ ['rgba_antialias.png'], style='mpl20', remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.007)
++ tol=0.007)
+ def test_rgba_antialias():
+ fig, axs = plt.subplots(2, 2, figsize=(3.5, 3.5), sharex=False,
+ sharey=False, constrained_layout=True)
+diff --git a/lib/matplotlib/tests/test_legend.py b/lib/matplotlib/tests/test_legend.py
+index 0353f1408b..4c15058e7a 100644
+--- a/lib/matplotlib/tests/test_legend.py
++++ b/lib/matplotlib/tests/test_legend.py
+@@ -177,7 +177,7 @@ def test_multiple_keys():
+
+
+ @image_comparison(['rgba_alpha.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.03)
++ tol=0.02 if platform.machine() == 'x86_64' else 0.03)
+ def test_alpha_rgba():
+ fig, ax = plt.subplots()
+ ax.plot(range(10), lw=5)
+@@ -186,7 +186,7 @@ def test_alpha_rgba():
+
+
+ @image_comparison(['rcparam_alpha.png'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.03)
++ tol=0.02 if platform.machine() == 'x86_64' else 0.03)
+ def test_alpha_rcparam():
+ fig, ax = plt.subplots()
+ ax.plot(range(10), lw=5)
+@@ -214,7 +214,7 @@ def test_fancy():
+
+
+ @image_comparison(['framealpha'], remove_text=True,
+- tol=0 if platform.machine() == 'x86_64' else 0.024)
++ tol=0.02 if platform.machine() == 'x86_64' else 0.024)
+ def test_framealpha():
+ x = np.linspace(1, 100, 100)
+ y = x
+diff --git a/lib/matplotlib/tests/test_lines.py b/lib/matplotlib/tests/test_lines.py
+index 531237b2ba..0e37450e1a 100644
+--- a/lib/matplotlib/tests/test_lines.py
++++ b/lib/matplotlib/tests/test_lines.py
+@@ -185,7 +185,7 @@ def test_set_drawstyle():
+
+ @image_comparison(
+ ['line_collection_dashes'], remove_text=True, style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.65)
++ tol=0.65)
+ def test_set_line_coll_dash_image():
+ fig, ax = plt.subplots()
+ np.random.seed(0)
+diff --git a/lib/matplotlib/tests/test_units.py b/lib/matplotlib/tests/test_units.py
+index ae6372fea1..4f0dc25732 100644
+--- a/lib/matplotlib/tests/test_units.py
++++ b/lib/matplotlib/tests/test_units.py
+@@ -79,7 +79,7 @@ def quantity_converter():
+ # Tests that the conversion machinery works properly for classes that
+ # work as a facade over numpy arrays (like pint)
+ @image_comparison(['plot_pint.png'], style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.03)
++ tol=0.002 if platform.machine() == 'x86_64' else 0.03)
+ def test_numpy_facade(quantity_converter):
+ # use former defaults to match existing baseline image
+ plt.rcParams['axes.formatter.limits'] = -7, 7
+@@ -106,7 +106,7 @@ def test_numpy_facade(quantity_converter):
+
+ # Tests gh-8908
+ @image_comparison(['plot_masked_units.png'], remove_text=True, style='mpl20',
+- tol=0 if platform.machine() == 'x86_64' else 0.02)
++ tol=0.02)
+ def test_plot_masked_units():
+ data = np.linspace(-5, 5)
+ data_masked = np.ma.array(data, mask=(data > -2) & (data < 2))
+diff --git a/lib/matplotlib/tests/test_usetex.py b/lib/matplotlib/tests/test_usetex.py
+index 342face450..c7256586bc 100644
+--- a/lib/matplotlib/tests/test_usetex.py
++++ b/lib/matplotlib/tests/test_usetex.py
+@@ -15,6 +15,7 @@ import matplotlib.pyplot as plt
+ pytestmark = needs_usetex
+
+
++@pytest.mark.skip(reason="TODO: broken")
+ @image_comparison(
+ baseline_images=['test_usetex'],
+ extensions=['pdf', 'png'],
+@@ -65,7 +66,7 @@ def test_mathdefault():
+ fig.canvas.draw()
+
+
+-@image_comparison(['eqnarray.png'])
++@image_comparison(['eqnarray.png'], tol=23)
+ def test_multiline_eqnarray():
+ text = (
+ r'\begin{eqnarray*}'
+@@ -163,7 +164,7 @@ except mpl.ExecutableNotFoundError:
+
+
+ @image_comparison(baseline_images=['rotation'], extensions=['eps', 'pdf', 'png', 'svg'],
+- style='mpl20', tol=3.91 if _old_gs_version else 0)
++ style='mpl20', tol=30)
+ def test_rotation():
+ mpl.rcParams['text.usetex'] = True
+
diff --git a/dev-python/matplotlib/matplotlib-3.7.1.ebuild b/dev-python/matplotlib/matplotlib-3.7.1.ebuild
deleted file mode 100644
index 6d55e63a2d55..000000000000
--- a/dev-python/matplotlib/matplotlib-3.7.1.ebuild
+++ /dev/null
@@ -1,331 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix pypi
-inherit toolchain-funcs virtualx
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="
- https://matplotlib.org/
- https://github.com/matplotlib/matplotlib/
- https://pypi.org/project/matplotlib/
-"
-SRC_URI+="
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )
-"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- >=media-libs/qhull-2013:=
- virtual/imagemagick-tools[jpeg,tiff]
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- )
- qt5? (
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- )
- webagg? (
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- )
- wxwidgets? (
- $(python_gen_cond_dep '
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- ' python3_{8..10})
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- dev-python/pybind11[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- virtual/latex-base
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- )
-"
-
-distutils_enable_tests pytest
-
-use_setup() {
- local uword="${2:-${1}}"
- if use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
- # Affects installed _version.py, bug #854600
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
- "${FILESDIR}"/matplotlib-3.7.1-test.patch
- )
-
- sed \
- -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
- -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
- || die "sed pyparsing failed"
- sed -i -e '/setuptools_scm/s:,<7::' setup.py || die
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-
- unset DISPLAY # bug #278524
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [libs]
- system_freetype = True
- system_qhull = True
- [packages]
- tests = True
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- macosx = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- mkdir build || die
- ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken by -Wdefault
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
- tests/test_testing.py::test_warn_to_fail
- # TODO?
- tests/test_backend_qt.py::test_fig_sigint_override
- # unhappy about xdist
- tests/test_widgets.py::test_span_selector_animated_artists_callback
- )
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # https://github.com/matplotlib/matplotlib/issues/23384
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
- )
-
- case "${ABI}" in
- alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
- EPYTEST_DESELECT+=(
- # too large for 32-bit platforms
- 'tests/test_axes.py::test_psd_csd[png]'
- )
- ;;
- *)
- ;;
- esac
-
- if use hppa ; then
- EPYTEST_DESELECT+=(
- 'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
- 'tests/test_quiver.py::test_barbs[png]'
- 'tests/test_quiver.py::test_barbs_pivot[png]'
- 'tests/test_quiver.py::test_barbs_flip[png]'
- 'tests/test_text.py::test_parse_math'
- 'tests/test_text.py::test_parse_math_rcparams'
- )
- fi
-
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
- > "${BUILD_DIR}"/test-setup.cfg || die
- local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-
- esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- # speed tests up
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest --pyargs matplotlib -m "not network" \
- -p xdist.plugin -n "$(makeopts_jobs)" || die
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/dev-python/matplotlib/matplotlib-3.7.2-r1.ebuild b/dev-python/matplotlib/matplotlib-3.7.2-r1.ebuild
deleted file mode 100644
index c9db102721f2..000000000000
--- a/dev-python/matplotlib/matplotlib-3.7.2-r1.ebuild
+++ /dev/null
@@ -1,334 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix pypi
-inherit toolchain-funcs virtualx
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="
- https://matplotlib.org/
- https://github.com/matplotlib/matplotlib/
- https://pypi.org/project/matplotlib/
-"
-SRC_URI+="
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )
-"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- >=media-libs/qhull-2013:=
- virtual/imagemagick-tools[jpeg,tiff]
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- )
- qt5? (
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- )
- webagg? (
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- )
- wxwidgets? (
- $(python_gen_cond_dep '
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- ' python3_{8..10})
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- dev-python/pybind11[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- virtual/latex-base
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- )
-"
-
-distutils_enable_tests pytest
-
-use_setup() {
- local uword="${2:-${1}}"
- if use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
- # Affects installed _version.py, bug #854600
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
- "${FILESDIR}"/matplotlib-3.7.1-test.patch
- "${FILESDIR}"/matplotlib-3.7.2-macOS_no-Cocoa.patch
- "${FILESDIR}"/matplotlib-3.7.2-pyparsing-3.1.patch
- )
-
- sed \
- -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
- -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
- || die "sed pyparsing failed"
- sed -i -e '/setuptools_scm/s:,<7::' setup.py || die
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-
- unset DISPLAY # bug #278524
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [libs]
- system_freetype = True
- system_qhull = True
- [packages]
- tests = True
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- macosx = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- mkdir build || die
- ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken by -Wdefault
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
- tests/test_testing.py::test_warn_to_fail
- # TODO?
- tests/test_backend_qt.py::test_fig_sigint_override
- # unhappy about xdist
- tests/test_widgets.py::test_span_selector_animated_artists_callback
- )
-
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # https://github.com/matplotlib/matplotlib/issues/23384
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
- )
-
- case "${ABI}" in
- alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
- EPYTEST_DESELECT+=(
- # too large for 32-bit platforms
- 'tests/test_axes.py::test_psd_csd[png]'
- )
- ;;
- *)
- ;;
- esac
-
- if use hppa ; then
- EPYTEST_DESELECT+=(
- 'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
- 'tests/test_quiver.py::test_barbs[png]'
- 'tests/test_quiver.py::test_barbs_pivot[png]'
- 'tests/test_quiver.py::test_barbs_flip[png]'
- 'tests/test_text.py::test_parse_math'
- 'tests/test_text.py::test_parse_math_rcparams'
- )
- fi
-
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
- > "${BUILD_DIR}"/test-setup.cfg || die
- local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-
- esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- # speed tests up
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest --pyargs matplotlib -m "not network" \
- -p xdist.plugin -n "$(makeopts_jobs)" || die
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/dev-python/matplotlib/matplotlib-3.7.2.ebuild b/dev-python/matplotlib/matplotlib-3.7.2.ebuild
deleted file mode 100644
index 8c0235df7092..000000000000
--- a/dev-python/matplotlib/matplotlib-3.7.2.ebuild
+++ /dev/null
@@ -1,336 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix pypi
-inherit toolchain-funcs virtualx
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="
- https://matplotlib.org/
- https://github.com/matplotlib/matplotlib/
- https://pypi.org/project/matplotlib/
-"
-SRC_URI+="
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )
-"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~arm64-macos ~x64-macos"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-#
-# <pyparsing-3.1.0 for https://github.com/matplotlib/matplotlib/issues/26152
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
- <dev-python/pyparsing-3.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- >=media-libs/qhull-2013:=
- virtual/imagemagick-tools[jpeg,tiff]
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- )
- qt5? (
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- )
- webagg? (
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- )
- wxwidgets? (
- $(python_gen_cond_dep '
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- ' python3_{8..10})
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- dev-python/pybind11[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- virtual/latex-base
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- )
-"
-
-distutils_enable_tests pytest
-
-use_setup() {
- local uword="${2:-${1}}"
- if use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
- # Affects installed _version.py, bug #854600
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
- "${FILESDIR}"/matplotlib-3.7.1-test.patch
- "${FILESDIR}"/matplotlib-3.7.2-macOS_no-Cocoa.patch
- )
-
- sed \
- -e 's/matplotlib.pyparsing_py[23]/pyparsing/g' \
- -i lib/matplotlib/{mathtext,fontconfig_pattern}.py \
- || die "sed pyparsing failed"
- sed -i -e '/setuptools_scm/s:,<7::' setup.py || die
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-
- unset DISPLAY # bug #278524
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [libs]
- system_freetype = True
- system_qhull = True
- [packages]
- tests = True
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- macosx = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- mkdir build || die
- ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken by -Wdefault
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
- tests/test_testing.py::test_warn_to_fail
- # TODO?
- tests/test_backend_qt.py::test_fig_sigint_override
- # unhappy about xdist
- tests/test_widgets.py::test_span_selector_animated_artists_callback
- )
-
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # https://github.com/matplotlib/matplotlib/issues/23384
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
- )
-
- case "${ABI}" in
- alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
- EPYTEST_DESELECT+=(
- # too large for 32-bit platforms
- 'tests/test_axes.py::test_psd_csd[png]'
- )
- ;;
- *)
- ;;
- esac
-
- if use hppa ; then
- EPYTEST_DESELECT+=(
- 'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
- 'tests/test_quiver.py::test_barbs[png]'
- 'tests/test_quiver.py::test_barbs_pivot[png]'
- 'tests/test_quiver.py::test_barbs_flip[png]'
- 'tests/test_text.py::test_parse_math'
- 'tests/test_text.py::test_parse_math_rcparams'
- )
- fi
-
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
- > "${BUILD_DIR}"/test-setup.cfg || die
- local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-
- esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- # speed tests up
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest --pyargs matplotlib -m "not network" \
- -p xdist.plugin -n "$(makeopts_jobs)" || die
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/dev-python/matplotlib/matplotlib-3.7.3.ebuild b/dev-python/matplotlib/matplotlib-3.7.3.ebuild
deleted file mode 100644
index c140325a5722..000000000000
--- a/dev-python/matplotlib/matplotlib-3.7.3.ebuild
+++ /dev/null
@@ -1,328 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix pypi
-inherit toolchain-funcs virtualx
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="
- https://matplotlib.org/
- https://github.com/matplotlib/matplotlib/
- https://pypi.org/project/matplotlib/
-"
-SRC_URI+="
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )
-"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-IUSE="cairo doc excel examples gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
- <dev-python/numpy-2[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- >=media-libs/qhull-2013:=
- virtual/imagemagick-tools[jpeg,tiff]
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- )
- qt5? (
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- )
- webagg? (
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- )
- wxwidgets? (
- $(python_gen_cond_dep '
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- ' python3_{8..10})
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- dev-python/pybind11[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- virtual/latex-base
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- )
-"
-
-distutils_enable_tests pytest
-
-use_setup() {
- local uword="${2:-${1}}"
- if use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
- # Affects installed _version.py, bug #854600
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
- "${FILESDIR}"/matplotlib-3.7.1-test.patch
- "${FILESDIR}"/matplotlib-3.7.2-macOS_no-Cocoa.patch
- )
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-
- unset DISPLAY # bug #278524
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [libs]
- system_freetype = True
- system_qhull = True
- [packages]
- tests = True
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- macosx = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- mkdir build || die
- ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken by -Wdefault
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
- tests/test_testing.py::test_warn_to_fail
- # TODO?
- tests/test_backend_qt.py::test_fig_sigint_override
- # unhappy about xdist
- tests/test_widgets.py::test_span_selector_animated_artists_callback
- )
-
- [[ ${EPYTHON} == python3.11 ]] && EPYTEST_DESELECT+=(
- # https://github.com/matplotlib/matplotlib/issues/23384
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
- )
-
- case "${ABI}" in
- alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
- EPYTEST_DESELECT+=(
- # too large for 32-bit platforms
- 'tests/test_axes.py::test_psd_csd[png]'
- )
- ;;
- *)
- ;;
- esac
-
- if use hppa ; then
- EPYTEST_DESELECT+=(
- 'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
- 'tests/test_quiver.py::test_barbs[png]'
- 'tests/test_quiver.py::test_barbs_pivot[png]'
- 'tests/test_quiver.py::test_barbs_flip[png]'
- 'tests/test_text.py::test_parse_math'
- 'tests/test_text.py::test_parse_math_rcparams'
- )
- fi
-
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
- > "${BUILD_DIR}"/test-setup.cfg || die
- local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-
- esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- # speed tests up
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest --pyargs matplotlib -m "not network" \
- -p xdist.plugin -n "$(makeopts_jobs)" || die
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/dev-python/matplotlib/matplotlib-3.8.0.ebuild b/dev-python/matplotlib/matplotlib-3.8.0.ebuild
deleted file mode 100644
index 4f9c75f2e269..000000000000
--- a/dev-python/matplotlib/matplotlib-3.8.0.ebuild
+++ /dev/null
@@ -1,332 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix pypi
-inherit toolchain-funcs virtualx
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="
- https://matplotlib.org/
- https://github.com/matplotlib/matplotlib/
- https://pypi.org/project/matplotlib/
-"
-SRC_URI+="
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )
-"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 sparc ~x86 ~arm64-macos ~x64-macos"
-IUSE="cairo doc excel gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.2.0[${PYTHON_USEDEP}]
- <dev-python/numpy-2[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.25[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-7.1.1[jpeg,webp,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- >=media-libs/qhull-2013:=
- virtual/imagemagick-tools[jpeg,tiff]
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- )
- qt5? (
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- )
- webagg? (
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- )
- wxwidgets? (
- $(python_gen_cond_dep '
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- ' python3_{10..11})
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- dev-python/pybind11[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- virtual/latex-base
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- )
-"
-
-distutils_enable_tests pytest
-
-use_setup() {
- local uword="${2:-${1}}"
- if use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
- # Affects installed _version.py, bug #854600
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
- "${FILESDIR}"/matplotlib-3.8.0-test.patch
- )
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-
- unset DISPLAY # bug #278524
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [libs]
- system_freetype = True
- system_qhull = True
- [packages]
- tests = True
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- macosx = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- mkdir build || die
- ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken by -Wdefault
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
- tests/test_testing.py::test_warn_to_fail
- # TODO?
- tests/test_backend_qt.py::test_fig_sigint_override
- # unhappy about xdist
- tests/test_widgets.py::test_span_selector_animated_artists_callback
- # timeout
- tests/test_backends_interactive.py::test_webagg
- )
-
- case ${EPYTHON} in
- python3.11)
- EPYTEST_DESELECT+=(
- # https://github.com/matplotlib/matplotlib/issues/23384
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
- )
- ;;
- python3.12)
- EPYTEST_DESELECT+=(
- tests/test_constrainedlayout.py::test_compressed1
- )
- ;;
- esac
-
- case "${ABI}" in
- alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
- EPYTEST_DESELECT+=(
- # too large for 32-bit platforms
- 'tests/test_axes.py::test_psd_csd[png]'
- )
- ;;
- *)
- ;;
- esac
-
- if use hppa ; then
- EPYTEST_DESELECT+=(
- 'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
- 'tests/test_quiver.py::test_barbs[png]'
- 'tests/test_quiver.py::test_barbs_pivot[png]'
- 'tests/test_quiver.py::test_barbs_flip[png]'
- 'tests/test_text.py::test_parse_math'
- 'tests/test_text.py::test_parse_math_rcparams'
- )
- fi
-
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
- > "${BUILD_DIR}"/test-setup.cfg || die
- local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-
- esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- # speed tests up
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest --pyargs matplotlib -m "not network" \
- -p xdist.plugin -n "$(makeopts_jobs)" || die
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/matplotlib/matplotlib-3.8.1.ebuild b/dev-python/matplotlib/matplotlib-3.8.1.ebuild
deleted file mode 100644
index 4784569e6848..000000000000
--- a/dev-python/matplotlib/matplotlib-3.8.1.ebuild
+++ /dev/null
@@ -1,332 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic multiprocessing prefix pypi
-inherit toolchain-funcs virtualx
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="
- https://matplotlib.org/
- https://github.com/matplotlib/matplotlib/
- https://pypi.org/project/matplotlib/
-"
-SRC_URI+="
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )
-"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-IUSE="cairo doc excel gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.3.1[${PYTHON_USEDEP}]
- <dev-python/numpy-2[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.25[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-8[jpeg,webp,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- >=media-libs/qhull-2013:=
- virtual/imagemagick-tools[jpeg,tiff]
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- )
- qt5? (
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- )
- webagg? (
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- )
- wxwidgets? (
- $(python_gen_cond_dep '
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- ' python3_{10..11})
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- dev-python/pybind11[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- virtual/latex-base
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- )
-"
-
-distutils_enable_tests pytest
-
-use_setup() {
- local uword="${2:-${1}}"
- if use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
- # Affects installed _version.py, bug #854600
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
- "${FILESDIR}"/matplotlib-3.8.0-test.patch
- )
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-
- unset DISPLAY # bug #278524
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [libs]
- system_freetype = True
- system_qhull = True
- [packages]
- tests = True
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- macosx = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- mkdir build || die
- ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken by -Wdefault
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
- tests/test_testing.py::test_warn_to_fail
- # TODO?
- tests/test_backend_qt.py::test_fig_sigint_override
- # unhappy about xdist
- tests/test_widgets.py::test_span_selector_animated_artists_callback
- # timeout
- tests/test_backends_interactive.py::test_webagg
- )
-
- case ${EPYTHON} in
- python3.11)
- EPYTEST_DESELECT+=(
- # https://github.com/matplotlib/matplotlib/issues/23384
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
- )
- ;;
- python3.12)
- EPYTEST_DESELECT+=(
- tests/test_constrainedlayout.py::test_compressed1
- )
- ;;
- esac
-
- case "${ABI}" in
- alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
- EPYTEST_DESELECT+=(
- # too large for 32-bit platforms
- 'tests/test_axes.py::test_psd_csd[png]'
- )
- ;;
- *)
- ;;
- esac
-
- if use hppa ; then
- EPYTEST_DESELECT+=(
- 'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
- 'tests/test_quiver.py::test_barbs[png]'
- 'tests/test_quiver.py::test_barbs_pivot[png]'
- 'tests/test_quiver.py::test_barbs_flip[png]'
- 'tests/test_text.py::test_parse_math'
- 'tests/test_text.py::test_parse_math_rcparams'
- )
- fi
-
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
- > "${BUILD_DIR}"/test-setup.cfg || die
- local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-
- esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- # speed tests up
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest --pyargs matplotlib -m "not network" \
- -p xdist.plugin -n "$(makeopts_jobs)" || die
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/matplotlib/matplotlib-3.8.2.ebuild b/dev-python/matplotlib/matplotlib-3.8.2.ebuild
deleted file mode 100644
index a584e278e598..000000000000
--- a/dev-python/matplotlib/matplotlib-3.8.2.ebuild
+++ /dev/null
@@ -1,365 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 flag-o-matic prefix pypi toolchain-funcs virtualx
-
-FT_PV=2.6.1
-DESCRIPTION="Pure python plotting library with matlab like syntax"
-HOMEPAGE="
- https://matplotlib.org/
- https://github.com/matplotlib/matplotlib/
- https://pypi.org/project/matplotlib/
-"
-SRC_URI+="
- test? (
- https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
- )
-"
-
-# Main license: matplotlib
-# Some modules: BSD
-# matplotlib/backends/qt4_editor: MIT
-# Fonts: BitstreamVera, OFL-1.1
-LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 sparc ~x86 ~arm64-macos ~x64-macos"
-IUSE="cairo doc excel gtk3 latex qt5 tk webagg wxwidgets"
-
-# internal copy of pycxx highly patched
-# dev-python/pycxx
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
- >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
- >=dev-python/kiwisolver-1.3.1[${PYTHON_USEDEP}]
- <dev-python/numpy-2[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.25[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-8[jpeg,webp,${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- media-fonts/dejavu
- media-fonts/stix-fonts
- media-libs/freetype:2
- media-libs/libpng:0
- >=media-libs/qhull-2013:=
- virtual/imagemagick-tools[jpeg,tiff]
- cairo? (
- dev-python/cairocffi[${PYTHON_USEDEP}]
- )
- excel? (
- dev-python/xlwt[${PYTHON_USEDEP}]
- )
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- latex? (
- virtual/latex-base
- app-text/dvipng
- app-text/ghostscript-gpl
- app-text/poppler[utils]
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- )
- qt5? (
- $(python_gen_cond_dep '
- dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
- ' 'python3*')
- )
- webagg? (
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- )
- wxwidgets? (
- $(python_gen_cond_dep '
- dev-python/wxpython:*[${PYTHON_USEDEP}]
- ' python3_{10..11})
- )
-"
-
-BDEPEND="
- ${RDEPEND}
- dev-python/pybind11[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? (
- >=app-text/dvipng-1.15-r1
- >=dev-python/colorspacious-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/ipython-1.18.2[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.3.1[${PYTHON_USEDEP}]
- >=dev-python/sphinx-gallery-0.3.1-r1[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0-r1[${PYTHON_USEDEP}]
- virtual/latex-base
- dev-texlive/texlive-latexextra
- dev-texlive/texlive-fontsrecommended
- dev-texlive/texlive-latexrecommended
- dev-texlive/texlive-luatex
- dev-texlive/texlive-xetex
- >=media-gfx/graphviz-2.42.3[cairo]
- )
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- gtk3? (
- >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
- x11-libs/gtk+:3[introspection]
- )
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-use_setup() {
- local uword="${2:-${1}}"
- if use "${1}"; then
- echo "${uword} = True"
- echo "${uword}agg = True"
- else
- echo "${uword} = False"
- echo "${uword}agg = False"
- fi
-}
-
-python_prepare_all() {
-# Generates test failures, but fedora does it
-# local PATCHES=(
-# "${FILESDIR}"/${P}-unbundle-pycxx.patch
-# "${FILESDIR}"/${P}-unbundle-agg.patch
-# )
-# rm -r agg24 CXX || die
-# rm -r agg24 || die
-
- # Affects installed _version.py, bug #854600
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
- local PATCHES=(
- "${FILESDIR}"/matplotlib-3.3.3-disable-lto.patch
- "${FILESDIR}"/matplotlib-3.8.0-test.patch
- )
-
- # increase lock timeout to 30 s
- sed -i -e 's:retries = 50:retries = 300:' lib/matplotlib/cbook.py || die
-
- hprefixify setupext.py
-
- rm -rf libqhull || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- append-flags -fno-strict-aliasing
- append-cppflags -DNDEBUG # or get old trying to do triangulation
- tc-export PKG_CONFIG
-
- unset DISPLAY # bug #278524
- export XDG_RUNTIME_DIR="${T}/runtime-dir"
- mkdir "${XDG_RUNTIME_DIR}" || die
- chmod 0700 "${XDG_RUNTIME_DIR}" || die
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
-
- # create setup.cfg (see setup.cfg.template for any changes).
-
- # common switches.
- cat > "${BUILD_DIR}"/setup.cfg <<- EOF || die
- [directories]
- basedirlist = ${EPREFIX}/usr
- [provide_packages]
- pytz = False
- dateutil = False
- [libs]
- system_freetype = True
- system_qhull = True
- [packages]
- tests = True
- [gui_support]
- agg = True
- gtk = False
- gtkagg = False
- macosx = False
- pyside = False
- pysideagg = False
- qt4 = False
- qt4agg = False
- $(use_setup cairo)
- $(use_setup gtk3)
- $(use_setup qt5)
- $(use_setup tk)
- $(use_setup wxwidgets wx)
- EOF
-
- if use gtk3 && use cairo; then
- echo "gtk3cairo = True" >> "${BUILD_DIR}"/setup.cfg || die
- else
- echo "gtk3cairo = False" >> "${BUILD_DIR}"/setup.cfg || die
- fi
-}
-
-wrap_setup() {
- local MAKEOPTS=-j1
- local -x MPLSETUPCFG="${BUILD_DIR}"/setup.cfg
- "$@"
-}
-
-python_compile() {
- wrap_setup distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_compile_all() {
- if use doc; then
- cd doc || die
-
- VARTEXFONTS="${T}"/fonts \
- emake SPHINXOPTS= O=-Dplot_formats=png:100 html
- fi
-}
-
-src_test() {
- mkdir build || die
- ln -s "${WORKDIR}/freetype-${FT_PV}" build/ || die
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken by -Wdefault
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
- "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
- tests/test_testing.py::test_warn_to_fail
- # TODO?
- tests/test_backend_qt.py::test_fig_sigint_override
- # leak tests are fragile
- tests/test_backends_interactive.py::test_figure_leak_20490
- )
-
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # TODO: warning isn't passed through
- tests/test_image.py::test_large_image
- # TODO
- tests/test_pickle.py::test_complete
- tests/test_pickle.py::test_no_pyplot
- tests/test_pickle.py::test_pickle_load_from_subprocess
- tests/test_pickle.py::test_simple
- tests/test_texmanager.py::test_openin_any_paranoid
- tests/test_widgets.py::test_check_buttons
- tests/test_widgets.py::test_check_buttons_lines
- tests/test_widgets.py::test_check_radio_buttons_image
- tests/test_widgets.py::test_radio_buttons
- )
- if has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
- has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
- then
- EPYTEST_DESELECT+=(
- # TypeError is raised when exception is raised in a starred
- # expression referencing a generator that uses "yield from"
- # and raises -- non-critical, since some exception is raised
- # after all
- # https://foss.heptapod.net/pypy/pypy/-/issues/4032
- tests/test_axes.py::test_bad_plot_args
- tests/test_axes.py::test_plot_errors
- tests/test_axes.py::test_plot_format_errors
- )
- fi
- ;;
- python3.11)
- EPYTEST_DESELECT+=(
- # https://github.com/matplotlib/matplotlib/issues/23384
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
- "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
- )
- ;;
- python3.12)
- EPYTEST_DESELECT+=(
- tests/test_constrainedlayout.py::test_compressed1
- )
- ;;
- esac
-
- case "${ABI}" in
- alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
- EPYTEST_DESELECT+=(
- # too large for 32-bit platforms
- 'tests/test_axes.py::test_psd_csd[png]'
- )
- ;;
- *)
- ;;
- esac
-
- if use hppa ; then
- EPYTEST_DESELECT+=(
- 'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
- 'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
- 'tests/test_quiver.py::test_barbs[png]'
- 'tests/test_quiver.py::test_barbs_pivot[png]'
- 'tests/test_quiver.py::test_barbs_flip[png]'
- 'tests/test_text.py::test_parse_math'
- 'tests/test_text.py::test_parse_math_rcparams'
- )
- fi
-
- # we need to rebuild mpl against bundled freetype, otherwise
- # over 1000 tests will fail because of mismatched font rendering
- grep -v system_freetype "${BUILD_DIR}"/setup.cfg \
- > "${BUILD_DIR}"/test-setup.cfg || die
- local -x MPLSETUPCFG="${BUILD_DIR}"/test-setup.cfg
-
- esetup.py build -j1 --build-lib="${BUILD_DIR}"/test-lib
- local -x PYTHONPATH=${BUILD_DIR}/test-lib:${PYTHONPATH}
-
- # speed tests up
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # pretend we're on CI to increase timeouts
- local -x CI=1
- nonfatal epytest --pyargs matplotlib -m "not network" || die
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( doc/build/html/. )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/matplotlib/matplotlib-3.9.0-r1.ebuild b/dev-python/matplotlib/matplotlib-3.9.0-r1.ebuild
new file mode 100644
index 000000000000..e9f01aed789a
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.9.0-r1.ebuild
@@ -0,0 +1,300 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 pypi virtualx
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="
+ https://matplotlib.org/
+ https://github.com/matplotlib/matplotlib/
+ https://pypi.org/project/matplotlib/
+"
+SRC_URI+="
+ test? (
+ https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
+ )
+"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+IUSE="cairo excel gtk3 latex qt5 tk webagg wxwidgets"
+
+DEPEND="
+ media-libs/freetype:2
+ >=media-libs/qhull-2013:=
+ >=dev-python/numpy-1.25:=[${PYTHON_USEDEP}]
+"
+# internal copy of pycxx highly patched
+# dev-python/pycxx
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
+ >=dev-python/kiwisolver-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8[jpeg,webp,${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ media-fonts/dejavu
+ media-fonts/stix-fonts
+ media-libs/libpng:0
+ virtual/imagemagick-tools[jpeg,tiff]
+ cairo? (
+ dev-python/cairocffi[${PYTHON_USEDEP}]
+ )
+ excel? (
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ )
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ latex? (
+ virtual/latex-base
+ app-text/dvipng
+ app-text/ghostscript-gpl
+ app-text/poppler[utils]
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ dev-texlive/texlive-xetex
+ )
+ qt5? (
+ $(python_gen_cond_dep '
+ dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+ ' 'python3*')
+ )
+ webagg? (
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ )
+ wxwidgets? (
+ $(python_gen_cond_dep '
+ dev-python/wxpython:*[${PYTHON_USEDEP}]
+ ' python3_{10..12})
+ )
+"
+
+BDEPEND="
+ ${RDEPEND}
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ !hppa? ( !s390? (
+ || (
+ media-video/ffmpeg[openh264]
+ media-video/ffmpeg[x264]
+ )
+ ) )
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_unpack() {
+ # do not unpack freetype
+ unpack "${P}.tar.gz"
+}
+
+python_prepare_all() {
+ # Affects installed _version.py, bug #854600
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+ local PATCHES=(
+ "${FILESDIR}"/matplotlib-3.9.0-test.patch
+ )
+
+ # increase lock timeout to 30 s
+ sed -i -e 's:retries = 50:retries = 300:' lib/matplotlib/cbook.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ unset DISPLAY # bug #278524
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ DISTUTILS_ARGS=(
+ -Dsystem-freetype=true
+ -Dsystem-qhull=true
+ -Dmacosx=false
+ )
+}
+
+src_test() {
+ mkdir subprojects/packagecache || die
+ cp "${DISTDIR}/freetype-${FT_PV}.tar.gz" subprojects/packagecache/ || die
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken by -Wdefault
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
+ tests/test_testing.py::test_warn_to_fail
+ tests/test_legend.py::test_legend_nolabels_warning
+ # TODO?
+ tests/test_backend_qt.py::test_fig_sigint_override
+ tests/test_backend_qt.py::test_ipython
+ tests/test_backend_nbagg.py::test_ipynb
+ # leak tests are fragile
+ tests/test_backends_interactive.py::test_figure_leak_20490
+ # major "images not close", new texlive perhaps
+ tests/test_contour.py::test_all_algorithms
+ # "no warnings"
+ tests/test_backend_pdf.py::test_invalid_metadata
+ tests/test_figure.py::test_too_many_figures
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # TODO: warning isn't passed through
+ tests/test_image.py::test_large_image
+ # TODO
+ tests/test_pickle.py::test_complete
+ tests/test_pickle.py::test_no_pyplot
+ tests/test_pickle.py::test_pickle_load_from_subprocess
+ tests/test_pickle.py::test_simple
+ tests/test_texmanager.py::test_openin_any_paranoid
+ tests/test_widgets.py::test_check_buttons
+ tests/test_widgets.py::test_check_buttons_lines
+ tests/test_widgets.py::test_check_radio_buttons_image
+ tests/test_widgets.py::test_radio_buttons
+ )
+ if has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
+ has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
+ then
+ EPYTEST_DESELECT+=(
+ # TypeError is raised when exception is raised in a starred
+ # expression referencing a generator that uses "yield from"
+ # and raises -- non-critical, since some exception is raised
+ # after all
+ # https://foss.heptapod.net/pypy/pypy/-/issues/4032
+ tests/test_axes.py::test_bad_plot_args
+ tests/test_axes.py::test_plot_errors
+ tests/test_axes.py::test_plot_format_errors
+ )
+ fi
+ ;;
+ python3.11)
+ EPYTEST_DESELECT+=(
+ # https://github.com/matplotlib/matplotlib/issues/23384
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
+ )
+ ;;
+ python3.12)
+ EPYTEST_DESELECT+=(
+ tests/test_constrainedlayout.py::test_compressed1
+ )
+ ;;
+ esac
+
+ case ${ABI} in
+ hppa)
+ EPYTEST_DESELECT+=(
+ 'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
+ 'tests/test_quiver.py::test_barbs[png]'
+ 'tests/test_quiver.py::test_barbs_pivot[png]'
+ 'tests/test_quiver.py::test_barbs_flip[png]'
+ 'tests/test_text.py::test_parse_math'
+ 'tests/test_text.py::test_parse_math_rcparams'
+ )
+ ;&
+ alpha|arm|m68k|o32|ppc|s390|sh|sparc|x86)
+ EPYTEST_DESELECT+=(
+ # too large for 32-bit platforms
+ 'tests/test_axes.py::test_psd_csd[png]'
+ )
+ ;;
+ *)
+ ;;
+ esac
+
+ # we need to rebuild mpl against bundled freetype, otherwise
+ # over 1000 tests will fail because of mismatched font rendering
+ local DISTUTILS_ARGS=(
+ "${DISTUTILS_ARGS[@]}"
+ -Dsystem-freetype=false
+ )
+ distutils_pep517_install "${BUILD_DIR}"/test
+ cp -r "${BUILD_DIR}"/{install,test}"${EPREFIX}/usr/bin" || die
+ local -x PATH=${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH}
+
+ pushd lib >/dev/null || die
+ local path
+ local sitedir=${BUILD_DIR}/test$(python_get_sitedir)
+ # sigh, upstream doesn't install these
+ while IFS= read -d '' path; do
+ cp -r "${path}" "${sitedir}/${path}" || die
+ done < <(
+ find \( \
+ -name baseline_images -o \
+ -name '*.ipynb' -o \
+ -name '*.pfb' -o \
+ -name '*.ttf' -o \
+ -name tinypages \
+ \) -print0
+ )
+ popd >/dev/null || die
+
+ # speed tests up
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # pretend we're on CI to increase timeouts
+ local -x CI=1
+ nonfatal epytest --pyargs matplotlib -m "not network" \
+ -p rerunfailures --reruns=3 \
+ -o tmp_path_retention_policy=all || die
+}
diff --git a/dev-python/matplotlib/matplotlib-3.9.1.ebuild b/dev-python/matplotlib/matplotlib-3.9.1.ebuild
new file mode 100644
index 000000000000..faecb8d9630c
--- /dev/null
+++ b/dev-python/matplotlib/matplotlib-3.9.1.ebuild
@@ -0,0 +1,301 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 pypi virtualx
+
+FT_PV=2.6.1
+DESCRIPTION="Pure python plotting library with matlab like syntax"
+HOMEPAGE="
+ https://matplotlib.org/
+ https://github.com/matplotlib/matplotlib/
+ https://pypi.org/project/matplotlib/
+"
+SRC_URI+="
+ test? (
+ https://downloads.sourceforge.net/project/freetype/freetype2/${FT_PV}/freetype-${FT_PV}.tar.gz
+ )
+"
+
+# Main license: matplotlib
+# Some modules: BSD
+# matplotlib/backends/qt4_editor: MIT
+# Fonts: BitstreamVera, OFL-1.1
+LICENSE="BitstreamVera BSD matplotlib MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
+IUSE="cairo excel gtk3 latex qt5 tk webagg wxwidgets"
+
+DEPEND="
+ media-libs/freetype:2
+ >=media-libs/qhull-2013:=
+ >=dev-python/numpy-1.25:=[${PYTHON_USEDEP}]
+"
+# internal copy of pycxx highly patched
+# dev-python/pycxx
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/contourpy-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/cycler-0.10.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/fonttools-4.22.0[${PYTHON_USEDEP}]
+ >=dev-python/kiwisolver-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8[jpeg,webp,${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ media-fonts/dejavu
+ media-fonts/stix-fonts
+ media-libs/libpng:0
+ virtual/imagemagick-tools[jpeg,tiff]
+ cairo? (
+ dev-python/cairocffi[${PYTHON_USEDEP}]
+ )
+ excel? (
+ dev-python/xlwt[${PYTHON_USEDEP}]
+ )
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ latex? (
+ virtual/latex-base
+ app-text/dvipng
+ app-text/ghostscript-gpl
+ app-text/poppler[utils]
+ dev-texlive/texlive-fontsrecommended
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ dev-texlive/texlive-xetex
+ )
+ qt5? (
+ $(python_gen_cond_dep '
+ dev-python/PyQt5[gui,widgets,${PYTHON_USEDEP}]
+ ' 'python3*')
+ )
+ webagg? (
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ )
+ wxwidgets? (
+ $(python_gen_cond_dep '
+ dev-python/wxpython:*[${PYTHON_USEDEP}]
+ ' python3_{10..12})
+ )
+"
+
+BDEPEND="
+ ${RDEPEND}
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-7[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ test? (
+ $(python_gen_impl_dep 'tk')
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ !hppa? ( !s390? (
+ || (
+ media-video/ffmpeg[openh264]
+ media-video/ffmpeg[x264]
+ )
+ ) )
+ gtk3? (
+ >=dev-python/pygobject-3.40.1-r1:3[cairo?,${PYTHON_USEDEP}]
+ x11-libs/gtk+:3[introspection]
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_unpack() {
+ # do not unpack freetype
+ unpack "${P}.tar.gz"
+}
+
+python_prepare_all() {
+ # Affects installed _version.py, bug #854600
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+ local PATCHES=(
+ "${FILESDIR}"/matplotlib-3.9.0-test.patch
+ )
+
+ # increase lock timeout to 30 s
+ sed -i -e 's:retries = 50:retries = 300:' lib/matplotlib/cbook.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ unset DISPLAY # bug #278524
+ export XDG_RUNTIME_DIR="${T}/runtime-dir"
+ mkdir "${XDG_RUNTIME_DIR}" || die
+ chmod 0700 "${XDG_RUNTIME_DIR}" || die
+
+ DISTUTILS_ARGS=(
+ -Dsystem-freetype=true
+ -Dsystem-qhull=true
+ -Dmacosx=false
+ )
+}
+
+src_test() {
+ mkdir subprojects/packagecache || die
+ cp "${DISTDIR}/freetype-${FT_PV}.tar.gz" subprojects/packagecache/ || die
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken by -Wdefault
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg6-MatplotlibDeprecationWarning]"
+ "tests/test_rcparams.py::test_validator_invalid[validate_strlist-arg7-MatplotlibDeprecationWarning]"
+ tests/test_testing.py::test_warn_to_fail
+ tests/test_legend.py::test_legend_nolabels_warning
+ # TODO?
+ tests/test_backend_qt.py::test_fig_sigint_override
+ tests/test_backend_qt.py::test_ipython
+ tests/test_backend_nbagg.py::test_ipynb
+ # leak tests are fragile
+ tests/test_backends_interactive.py::test_figure_leak_20490
+ # major "images not close", new texlive perhaps
+ tests/test_contour.py::test_all_algorithms
+ # "no warnings"
+ tests/test_backend_pdf.py::test_invalid_metadata
+ tests/test_figure.py::test_too_many_figures
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # TODO: warning isn't passed through
+ tests/test_image.py::test_large_image
+ # TODO
+ tests/test_pickle.py::test_complete
+ tests/test_pickle.py::test_no_pyplot
+ tests/test_pickle.py::test_pickle_load_from_subprocess
+ tests/test_pickle.py::test_simple
+ tests/test_texmanager.py::test_openin_any_paranoid
+ tests/test_widgets.py::test_check_buttons
+ tests/test_widgets.py::test_check_buttons_lines
+ tests/test_widgets.py::test_check_radio_buttons_image
+ tests/test_widgets.py::test_radio_buttons
+ )
+ if has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
+ has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
+ then
+ EPYTEST_DESELECT+=(
+ # TypeError is raised when exception is raised in a starred
+ # expression referencing a generator that uses "yield from"
+ # and raises -- non-critical, since some exception is raised
+ # after all
+ # https://foss.heptapod.net/pypy/pypy/-/issues/4032
+ tests/test_axes.py::test_bad_plot_args
+ tests/test_axes.py::test_plot_errors
+ tests/test_axes.py::test_plot_format_errors
+ )
+ fi
+ ;;
+ python3.11)
+ EPYTEST_DESELECT+=(
+ # https://github.com/matplotlib/matplotlib/issues/23384
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtagg', 'QT_API': 'PyQt5'}]"
+ "tests/test_backends_interactive.py::test_figure_leak_20490[time_mem1-{'MPLBACKEND': 'qtcairo', 'QT_API': 'PyQt5'}]"
+ )
+ ;;
+ python3.12)
+ EPYTEST_DESELECT+=(
+ tests/test_constrainedlayout.py::test_compressed1
+ )
+ ;;
+ esac
+
+ case ${ABI} in
+ hppa)
+ EPYTEST_DESELECT+=(
+ 'tests/test_mathtext.py::test_mathtext_exceptions[hspace without value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[hspace with invalid value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[function without space]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[accent without space]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[frac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[frac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[binom without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[binom with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[genfrac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[sqrt with invalid value]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overline without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overline with empty parameter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[left with invalid delimiter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[right with invalid delimiter]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses with sizing]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unclosed parentheses without sizing]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[dfrac with empty parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[overset without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[underset without parameters]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[unknown symbol]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[double superscript]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[double subscript]'
+ 'tests/test_mathtext.py::test_mathtext_exceptions[super on sub without braces]'
+ 'tests/test_quiver.py::test_barbs[png]'
+ 'tests/test_quiver.py::test_barbs_pivot[png]'
+ 'tests/test_quiver.py::test_barbs_flip[png]'
+ 'tests/test_text.py::test_parse_math'
+ 'tests/test_text.py::test_parse_math_rcparams'
+ )
+ ;&
+ alpha|arm|m68k|o32|ppc|s390|sh|sparc|x86)
+ EPYTEST_DESELECT+=(
+ # too large for 32-bit platforms
+ 'tests/test_axes.py::test_psd_csd[png]'
+ )
+ ;;
+ *)
+ ;;
+ esac
+
+ # we need to rebuild mpl against bundled freetype, otherwise
+ # over 1000 tests will fail because of mismatched font rendering
+ local DISTUTILS_ARGS=(
+ "${DISTUTILS_ARGS[@]}"
+ -Dsystem-freetype=false
+ )
+ distutils_pep517_install "${BUILD_DIR}"/test
+ cp -r "${BUILD_DIR}"/{install,test}"${EPREFIX}/usr/bin" || die
+ local -x PATH=${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH}
+
+ pushd lib >/dev/null || die
+ local path
+ local sitedir=${BUILD_DIR}/test$(python_get_sitedir)
+ # sigh, upstream doesn't install these
+ while IFS= read -d '' path; do
+ cp -r "${path}" "${sitedir}/${path}" || die
+ done < <(
+ find \( \
+ -name baseline_images -o \
+ -name '*.ipynb' -o \
+ -name '*.pfb' -o \
+ -name '*.ttf' -o \
+ -name tinypages \
+ \) -print0
+ )
+ popd >/dev/null || die
+
+ # speed tests up
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # pretend we're on CI to increase timeouts
+ local -x CI=1
+ nonfatal epytest --pyargs matplotlib -m "not network" \
+ -p rerunfailures --reruns=3 \
+ -o tmp_path_retention_policy=all || die
+}
diff --git a/dev-python/matrix-common/matrix-common-1.3.0-r1.ebuild b/dev-python/matrix-common/matrix-common-1.3.0-r1.ebuild
index 74fc5be99547..631212dea5d4 100644
--- a/dev-python/matrix-common/matrix-common-1.3.0-r1.ebuild
+++ b/dev-python/matrix-common/matrix-common-1.3.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -22,7 +22,7 @@ S="${WORKDIR}/matrix-python-common-${PV}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ~ppc64"
RDEPEND="
dev-python/attrs[${PYTHON_USEDEP}]
diff --git a/dev-python/mcbootflash/Manifest b/dev-python/mcbootflash/Manifest
new file mode 100644
index 000000000000..e5f404ed8d5e
--- /dev/null
+++ b/dev-python/mcbootflash/Manifest
@@ -0,0 +1,2 @@
+DIST mcbootflash-9.0.1.tar.gz 26858 BLAKE2B d8d8486a8713d46f7b93443dcfd9cbd9a93452fa7c8e76aeba1f4bfbf52765fbe3807fe8206b994015c094f9fba1626d5a3bb2fa93bd6b6400a9cbaaee7c19a9 SHA512 0c001a0a2c10e9d4bf111136d08ec89c4bc62568934ef9d8b75d7c58d59f451f5459ccc387c72424e8d16c5e49e7bba903efce403f41923ca33d87c2290a84e9
+DIST test_mcbootflash.jsonl 9259 BLAKE2B d05287760b3dc82ccf720a140390e027758a4e1e79d72364aed741937298d872127f11db8d5a4c07a93cb72f091ab89bd606062446f9108359205ec75c92321f SHA512 b9f5ea649a8cff9ea576b96e22bb352c61f8cd1f3e7ca0a7a0ae84a2c03fa07b1ecc7a3d8a83de868e4f946ef9fb22a5fc757038be4c5ba2398c483c67bbd9ca
diff --git a/dev-python/mcbootflash/mcbootflash-9.0.1.ebuild b/dev-python/mcbootflash/mcbootflash-9.0.1.ebuild
new file mode 100644
index 000000000000..47a2cf61611b
--- /dev/null
+++ b/dev-python/mcbootflash/mcbootflash-9.0.1.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=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Flash firmware to devices running Microchip's 16-bit bootloader"
+HOMEPAGE="
+ https://pypi.org/project/mcbootflash/
+ https://github.com/bessman/mcbootflash/
+"
+SRC_URI+="
+ https://github.com/bessman/mcbootflash/raw/eb940f0324eb0c6822a0feca48449f5191cf5a00/tests/test_mcbootflash.jsonl
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ >=dev-python/bincopy-20.0.0[${PYTHON_USEDEP}]
+ dev-python/pyserial[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-reserial[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_unpack() {
+ default
+ # sigh, pytest-reserial arbitrarily changed output format
+ # without caring for backwards compatibility
+ cp "${DISTDIR}"/test_mcbootflash.jsonl "${S}"/tests/ || die
+}
+
+python_test() {
+ epytest --replay
+}
diff --git a/dev-python/mcbootflash/metadata.xml b/dev-python/mcbootflash/metadata.xml
new file mode 100644
index 000000000000..08ebfa0fe859
--- /dev/null
+++ b/dev-python/mcbootflash/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">mcbootflash</remote-id>
+ <remote-id type="github">bessman/mcbootflash</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mccabe/mccabe-0.7.0.ebuild b/dev-python/mccabe/mccabe-0.7.0.ebuild
index f226517744e6..4967b77a5e8f 100644
--- a/dev-python/mccabe/mccabe-0.7.0.ebuild
+++ b/dev-python/mccabe/mccabe-0.7.0.ebuild
@@ -1,24 +1,32 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
+
inherit distutils-r1 pypi
DESCRIPTION="flake8 plugin: McCabe complexity checker"
-HOMEPAGE="https://github.com/PyCQA/mccabe"
+HOMEPAGE="
+ https://github.com/PyCQA/mccabe/
+ https://pypi.org/project/mccabe/
+"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~x64-solaris"
LICENSE="MIT"
SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~x64-solaris"
-RDEPEND="dev-python/flake8[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/flake8[${PYTHON_USEDEP}]
+"
-BDEPEND="test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
-)"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
PATCHES=(
"${FILESDIR}/${P}-fix-tests-without-hypothesmith.patch"
diff --git a/dev-python/mdit-py-plugins/Manifest b/dev-python/mdit-py-plugins/Manifest
index c41343c6b8c4..b52e68f41f37 100644
--- a/dev-python/mdit-py-plugins/Manifest
+++ b/dev-python/mdit-py-plugins/Manifest
@@ -1 +1 @@
-DIST mdit-py-plugins-0.4.0.gh.tar.gz 62199 BLAKE2B d8e69022ecceed436cd28202406bd46e786d40d3527f1c2c9311c4c32c59a4806cde9dc386309976c185522dd6286aec2542dabd31e08b8d7322fd02ae07186d SHA512 cdcce7a3819120923b7725daae0bf7a833c4da4487c49ff1a067fecf7d5e8f7a7be2fae03f3b821c766d7d6ebed4a298755ad5edb00adf73300a76a5663d67d6
+DIST mdit-py-plugins-0.4.1.gh.tar.gz 63342 BLAKE2B 3db6312e4d36cd7e870a707cbd2b99a4c954e40da2c34711a4b1f1fbd4086231f8e6013c99abdf3dc294acdfdc2706f2353151d2766223e141a0c6aa90e27996 SHA512 d2f5c59bf2a17ce441de18f815624cb6f61202f111176c5f1c7745e430d59e8690ce8a5f9da2402bd34dcc5cf4dc38377990df649fbf3256216bc82cdfc6333a
diff --git a/dev-python/mdit-py-plugins/mdit-py-plugins-0.4.0.ebuild b/dev-python/mdit-py-plugins/mdit-py-plugins-0.4.0.ebuild
deleted file mode 100644
index 7db41515dbf8..000000000000
--- a/dev-python/mdit-py-plugins/mdit-py-plugins-0.4.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Collection of plugins for markdown-it-py"
-HOMEPAGE="
- https://pypi.org/project/mdit-py-plugins/
- https://github.com/executablebooks/mdit-py-plugins/
-"
-SRC_URI="
- https://github.com/executablebooks/mdit-py-plugins/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- <dev-python/markdown-it-py-4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-regressions[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/mdit-py-plugins/mdit-py-plugins-0.4.1.ebuild b/dev-python/mdit-py-plugins/mdit-py-plugins-0.4.1.ebuild
new file mode 100644
index 000000000000..de2cbcc9f8c0
--- /dev/null
+++ b/dev-python/mdit-py-plugins/mdit-py-plugins-0.4.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Collection of plugins for markdown-it-py"
+HOMEPAGE="
+ https://pypi.org/project/mdit-py-plugins/
+ https://github.com/executablebooks/mdit-py-plugins/
+"
+SRC_URI="
+ https://github.com/executablebooks/mdit-py-plugins/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ <dev-python/markdown-it-py-4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-regressions[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mdurl/mdurl-0.1.2.ebuild b/dev-python/mdurl/mdurl-0.1.2.ebuild
index b158718cedf0..61b7f94188d5 100644
--- a/dev-python/mdurl/mdurl-0.1.2.ebuild
+++ b/dev-python/mdurl/mdurl-0.1.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/mdx-gh-links/Manifest b/dev-python/mdx-gh-links/Manifest
index 708ded85b8b6..ba2f5efdcf1d 100644
--- a/dev-python/mdx-gh-links/Manifest
+++ b/dev-python/mdx-gh-links/Manifest
@@ -1 +1 @@
-DIST github-links-0.3.1.gh.tar.gz 7004 BLAKE2B fbb84d75ee1976f7a160e7b561413d0e2721158b812d395c5b78c8b2dfc7600561a082f9caa32fd2a1d0fec86674555258f71abaede0e539f519f1656f416e0d SHA512 3d201b00fcef7185c616534bbd16c0ce54aacf368a76c6e44328579b270ff4f34803b8c69dec958266407608b2bc3f6e8d141f803961ca65b48257d5c460c403
+DIST github-links-0.4.gh.tar.gz 7099 BLAKE2B aeac7dced6091a375d56c4302b5faebc2b47466b9452490537c51b1ef55ebebd7316df28654ca0c3f1edc56fbacb04642eefbd6ed4cec0c319240c075c5c1967 SHA512 15164f9ab29afd94823e9ac23e5afe00c6e2c862216db5ad6f742c2ee9f384e07e1c6f5875503011774aa9b11d6fe879bd72bfb50998deb8491795a151342391
diff --git a/dev-python/mdx-gh-links/mdx-gh-links-0.3.1.ebuild b/dev-python/mdx-gh-links/mdx-gh-links-0.3.1.ebuild
deleted file mode 100644
index 4e69109b13a4..000000000000
--- a/dev-python/mdx-gh-links/mdx-gh-links-0.3.1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-MY_P=github-links-${PV}
-DESCRIPTION="An extension which adds links to GitHub users, repositories, issues and commits"
-HOMEPAGE="
- https://github.com/Python-Markdown/github-links/
- https://pypi.org/project/mdx-gh-links/
-"
-SRC_URI="
- https://github.com/Python-Markdown/github-links/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/markdown-3.0.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/mdx-gh-links/mdx-gh-links-0.4.ebuild b/dev-python/mdx-gh-links/mdx-gh-links-0.4.ebuild
new file mode 100644
index 000000000000..3f151bddacd4
--- /dev/null
+++ b/dev-python/mdx-gh-links/mdx-gh-links-0.4.ebuild
@@ -0,0 +1,31 @@
+# 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
+
+MY_P=github-links-${PV}
+DESCRIPTION="An extension which adds links to GitHub users, repositories, issues and commits"
+HOMEPAGE="
+ https://github.com/Python-Markdown/github-links/
+ https://pypi.org/project/mdx-gh-links/
+"
+SRC_URI="
+ https://github.com/Python-Markdown/github-links/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/markdown-3.0.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/mechanize/Manifest b/dev-python/mechanize/Manifest
index 0679fda04d7d..9d6be2a45653 100644
--- a/dev-python/mechanize/Manifest
+++ b/dev-python/mechanize/Manifest
@@ -1 +1 @@
-DIST mechanize-0.4.9.tar.gz 218286 BLAKE2B 42ea97f843ec61b5ae05913e564f0cdb473976ea4e08a886c3bed15b27cea64def7fe5c73c1b809e48688d5ae41c269e85b633a24731c83409bf9855fc72b85f SHA512 a0c5d6e01ddabd35dded9908e4f7e24cb0a8c20a674af603cd2f5f146c75d38dc96c36af0898646691206ce41745dff9a736ce53efd03ff48e55e763814b893c
+DIST mechanize-0.4.10.tar.gz 218291 BLAKE2B 7a6f293ac5622b4ac01d1b84327e4dd41132eb2fdfaf9826e6c7a8b088890ae8b4b5f4e90aca930761d532702138f0be6f9394e48ee2defc48dcb5f19ee22a79 SHA512 76d13ac8ac06e8e3836ba814259e1ec8495ebbfc259d4f8652f3ed23863b6a5f6fc5983409083ad9f5d0312db6581b0e7b32bfe6d46ecd190006188ac4cf3fc8
diff --git a/dev-python/mechanize/mechanize-0.4.10.ebuild b/dev-python/mechanize/mechanize-0.4.10.ebuild
new file mode 100644
index 000000000000..fbe873ed2791
--- /dev/null
+++ b/dev-python/mechanize/mechanize-0.4.10.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Stateful programmatic web browsing in Python"
+HOMEPAGE="
+ https://github.com/python-mechanize/mechanize/
+ https://pypi.org/project/mechanize/
+"
+
+LICENSE="|| ( BSD ZPL )"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/html5lib-0.999999999[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ )
+"
+
+python_test() {
+ "${EPYTHON}" run_tests.py -v || die
+}
diff --git a/dev-python/mechanize/mechanize-0.4.9.ebuild b/dev-python/mechanize/mechanize-0.4.9.ebuild
deleted file mode 100644
index 9f450d7fd6b3..000000000000
--- a/dev-python/mechanize/mechanize-0.4.9.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Stateful programmatic web browsing in Python"
-HOMEPAGE="
- https://github.com/python-mechanize/mechanize/
- https://pypi.org/project/mechanize/
-"
-
-LICENSE="|| ( BSD ZPL )"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/html5lib-0.999999999[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- )
-"
-
-python_test() {
- "${EPYTHON}" run_tests.py || die
-}
diff --git a/dev-python/memory-allocator/Manifest b/dev-python/memory-allocator/Manifest
index e77cefba6398..55b8884f8be1 100644
--- a/dev-python/memory-allocator/Manifest
+++ b/dev-python/memory-allocator/Manifest
@@ -1 +1 @@
-DIST memory_allocator-0.1.3.tar.gz 19692 BLAKE2B e3e33b4d35455c7cf38eede4f8acfb5bddada59364de53c8ac37fc18e0824a947b85b4c6e3ce9b2f817948c6e83709c17cdf68fa3ebbe6b562d315420235f0cf SHA512 41cb850346b1aead18c82b0eca48791336315b5da8c2beeccec4eae90f55425f545a7cfd42c8cb9bd9f8c25a3a31b7334e304c0d726fdd848df26ae72ec7b7a7
+DIST memory_allocator-0.1.4.tar.gz 19723 BLAKE2B 22643aa32ac43f0e80e76b9d214c5decb70fbb83ddf4e116739bd257df1a2f2f02cf33c4a8925d0a38af2c59b90ee4fb6ccdfe2256fccae00ad98b2a9596e1db SHA512 0cd8b4d5878fa86972f9aa91e1fef4c074c3a0afe25ac1e54a3ad5e3b1ec5e4907cdd067d790f4e2ab7706f5dc2ff44c43ca0bc8e03b1b4dc90d66d8aa49ba0f
diff --git a/dev-python/memory-allocator/memory-allocator-0.1.3.ebuild b/dev-python/memory-allocator/memory-allocator-0.1.3.ebuild
deleted file mode 100644
index 46aff436fd1d..000000000000
--- a/dev-python/memory-allocator/memory-allocator-0.1.3.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=setuptools
-DISTUTILS_EXT=1
-inherit distutils-r1 pypi
-
-DESCRIPTION="An extension class for memory allocation in cython"
-HOMEPAGE="https://pypi.org/project/memory-allocator/
- https://github.com/sagemath/memory_allocator"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64"
-
-BDEPEND="dev-python/cython[${PYTHON_USEDEP}]"
-
-python_test() {
- # The test script tries to "import memory_allocator.test" which, so
- # long as a memory_allocator directory exists inside CWD, will look
- # for a memory_allocator/test.py there. But there is no such file;
- # the "test" module is a compiled extension. To let the search fall
- # back to the correct location, we temporarily rename the directory
- # that misleads it.
- mv memory_allocator mv_memory_allocator || die
- ${EPYTHON} test.py || die
- mv mv_memory_allocator memory_allocator || die
-}
diff --git a/dev-python/memory-allocator/memory-allocator-0.1.4.ebuild b/dev-python/memory-allocator/memory-allocator-0.1.4.ebuild
new file mode 100644
index 000000000000..35542831649a
--- /dev/null
+++ b/dev-python/memory-allocator/memory-allocator-0.1.4.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2021-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="An extension class for memory allocation in cython"
+HOMEPAGE="
+ https://pypi.org/project/memory-allocator/
+ https://github.com/sagemath/memory_allocator/
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64"
+
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ # The test script tries to "import memory_allocator.test" which, so
+ # long as a memory_allocator directory exists inside CWD, will look
+ # for a memory_allocator/test.py there. But there is no such file;
+ # the "test" module is a compiled extension. To let the search fall
+ # back to the correct location, we temporarily rename the directory
+ # that misleads it.
+ rm -rf memory_allocator || die
+ "${EPYTHON}" test.py || die
+}
diff --git a/dev-python/merge3/Manifest b/dev-python/merge3/Manifest
index 179de351f99e..b4a2a2e8168b 100644
--- a/dev-python/merge3/Manifest
+++ b/dev-python/merge3/Manifest
@@ -1,2 +1 @@
-DIST merge3-0.0.13.gh.tar.gz 15980 BLAKE2B c194573667f9e1f5ad60627a26f90f8c7ff28c160f5c0e9fe3e76e95cea8d0ce17d0d0241a2d20f3169d57ae35cada3dcabc25604331014180cea352e1f0e4cf SHA512 235f5f99c0156511ebe25a7a5568ac10ed26645a395cc464800b1417b1d7655c9de218afbe1c612409608e0d34fafa57ce44de362965d6bd381bf7e45742e9e0
-DIST merge3-0.0.14.gh.tar.gz 16109 BLAKE2B 482ad2aa32cbfc535c0c96d8c7d25fff4dad3e3ea00ccc48c7c89086e143e2d4c13b49eef79532123f282ac81b3797f6358fccf7115c1b2776c80df76ea6cc82 SHA512 62ed82925838329be7cf1e9456bb6bb02e85a41a0c54cff94f32624c29d9c15c47c3f3f7ec6b1e8f421f3648000964e1afff36a913ca49bf3fb95a52faa71b83
+DIST merge3-0.0.15.gh.tar.gz 16783 BLAKE2B 6c6a7ac8e8be8d4711c8dbf69fb38eb3b90b93281295d5ae172f371d3c8a1647a2f0e3c14725b760d9dcc0dfd77583170487956e9de87f21720d6db1be19e3eb SHA512 d87ead80219e14b210840333396e274d46ef282c12a3de61ae06efb186f0bfd9c65f3ccbd7566ec62766201ed33a962bdc3ea3c30efbd241fd0018b69b94e3e4
diff --git a/dev-python/merge3/merge3-0.0.13.ebuild b/dev-python/merge3/merge3-0.0.13.ebuild
deleted file mode 100644
index 43b8cbc8211a..000000000000
--- a/dev-python/merge3/merge3-0.0.13.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python implementation of 3-way merge"
-HOMEPAGE="
- https://github.com/breezy-team/merge3
- https://pypi.org/project/merge3/
-"
-SRC_URI="https://github.com/breezy-team/merge3/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-distutils_enable_tests unittest
diff --git a/dev-python/merge3/merge3-0.0.14.ebuild b/dev-python/merge3/merge3-0.0.14.ebuild
deleted file mode 100644
index 470baaecca23..000000000000
--- a/dev-python/merge3/merge3-0.0.14.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python implementation of 3-way merge"
-HOMEPAGE="
- https://github.com/breezy-team/merge3
- https://pypi.org/project/merge3/
-"
-SRC_URI="
- https://github.com/breezy-team/merge3/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-distutils_enable_tests unittest
diff --git a/dev-python/merge3/merge3-0.0.15.ebuild b/dev-python/merge3/merge3-0.0.15.ebuild
new file mode 100644
index 000000000000..2ed6bf5a197e
--- /dev/null
+++ b/dev-python/merge3/merge3-0.0.15.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python implementation of 3-way merge"
+HOMEPAGE="
+ https://github.com/breezy-team/merge3
+ https://pypi.org/project/merge3/
+"
+SRC_URI="
+ https://github.com/breezy-team/merge3/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+distutils_enable_tests unittest
diff --git a/dev-python/mergedeep/mergedeep-1.3.4-r1.ebuild b/dev-python/mergedeep/mergedeep-1.3.4-r1.ebuild
index 6bba49617efd..eea554e14a92 100644
--- a/dev-python/mergedeep/mergedeep-1.3.4-r1.ebuild
+++ b/dev-python/mergedeep/mergedeep-1.3.4-r1.ebuild
@@ -1,15 +1,18 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
DESCRIPTION="A deep merge tool for Python"
-HOMEPAGE="https://github.com/clarketm/mergedeep/"
+HOMEPAGE="
+ https://github.com/clarketm/mergedeep/
+ https://pypi.org/project/mergedeep/
+"
SRC_URI="
https://github.com/clarketm/${PN}/archive/refs/tags/v${PV}.tar.gz
-> ${P}.gh.tar.gz
diff --git a/dev-python/mergedict/mergedict-1.0.0-r1.ebuild b/dev-python/mergedict/mergedict-1.0.0-r1.ebuild
index b8ad34b49b9d..a1bffd46e9f7 100644
--- a/dev-python/mergedict/mergedict-1.0.0-r1.ebuild
+++ b/dev-python/mergedict/mergedict-1.0.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/meshio/Manifest b/dev-python/meshio/Manifest
index a388531bfe34..af6a8fd1c05a 100644
--- a/dev-python/meshio/Manifest
+++ b/dev-python/meshio/Manifest
@@ -1 +1 @@
-DIST meshio-5.3.4.tar.gz 492100 BLAKE2B 2eda13879b5cfd777201a668accfea82ee852ba729f5037584b9760eb1e9a2482a8d2e3ef7774271a38d88fba2533f012049040783e8abbd35ec4c3bb720ae52 SHA512 d8e7228045aa70d0a3ca5b113a24889f97aa327abe10d2c7bbc54ec358735117b6ba37b40fbf1a168f00f96a055d6940fd2f5cd0250e20c43c50ea7827e4d53d
+DIST meshio-5.3.5.tar.gz 490922 BLAKE2B ff6635db062b5e4041d7a4389f1e2fefc20cf55c1c0e70be1796c9e65e87daf503c7446224130eee94a3a2d0fb52dcd57ce3fa169afe7ca7fe32c3037fa21e00 SHA512 dcf6b914536b5b109ead378b7314de8f6f65ca7eb9b8c1092ce51308c32175c92a8f6386087b00770cd64eddcbc3fa80232dd30b370880894c0fa0b074bd7313
diff --git a/dev-python/meshio/meshio-5.3.4.ebuild b/dev-python/meshio/meshio-5.3.4.ebuild
deleted file mode 100644
index 796393b37fba..000000000000
--- a/dev-python/meshio/meshio-5.3.4.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Input/output for many mesh formats"
-HOMEPAGE="
- https://github.com/nschloe/meshio/
- https://pypi.org/project/meshio/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-IUSE="hdf5 netcdf"
-
-RDEPEND="
- >=dev-python/numpy-1.20.0[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- hdf5? ( dev-python/h5py[${PYTHON_USEDEP}] )
- netcdf? ( dev-python/netcdf4[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? ( dev-python/h5py[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/meshio/meshio-5.3.5.ebuild b/dev-python/meshio/meshio-5.3.5.ebuild
new file mode 100644
index 000000000000..8bb43bf2183b
--- /dev/null
+++ b/dev-python/meshio/meshio-5.3.5.ebuild
@@ -0,0 +1,32 @@
+# 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="Input/output for many mesh formats"
+HOMEPAGE="
+ https://github.com/nschloe/meshio/
+ https://pypi.org/project/meshio/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+IUSE="hdf5 netcdf"
+
+RDEPEND="
+ >=dev-python/numpy-1.20.0[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ hdf5? ( dev-python/h5py[${PYTHON_USEDEP}] )
+ netcdf? ( dev-python/netcdf4[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? ( dev-python/h5py[${PYTHON_USEDEP}] )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/meshio/metadata.xml b/dev-python/meshio/metadata.xml
index 7dae8a217668..91a5a01bec0f 100644
--- a/dev-python/meshio/metadata.xml
+++ b/dev-python/meshio/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/meson-python/Manifest b/dev-python/meson-python/Manifest
index 375d728e0b2c..7fc18303f4f4 100644
--- a/dev-python/meson-python/Manifest
+++ b/dev-python/meson-python/Manifest
@@ -1 +1 @@
-DIST meson-python-0.15.0.gh.tar.gz 73063 BLAKE2B 280c01b08fb8264d268797d199b59f7d02cac88e49333de4a38f9e22a1e724586b7ffcddc4e9a411c0d660560892134cb742136334aad8caacd9db37580fce8f SHA512 f1fce89bb0a3d279b9900c4ecec78e5f24da92d72f64ebf6c27648b4201a75a65204c3fac08aaa3e8d70dbeef245c3235e39994c7c0b9cba27c0df528211c7f7
+DIST meson-python-0.16.0.gh.tar.gz 74975 BLAKE2B af74d62a4567bc0a7524e815f1bb4ef3ae7290ccea38c00c3b0013f5e7777d6a41c1631b0c1d83fdd930836599752e3bba3c381c137d275103409a986df4e040 SHA512 99ea4304f15e2e13adf031e7c8cacbbc48c0c80f42a81f9d84242b6279ac9c1a13e3f162be5f472a1e498dc7cf3cba6799bf765b3fd441ac10cd87dc0db38678
diff --git a/dev-python/meson-python/files/meson-python-0.16.0-pyproject-metadata-0.8.patch b/dev-python/meson-python/files/meson-python-0.16.0-pyproject-metadata-0.8.patch
new file mode 100644
index 000000000000..834aed4d2fb4
--- /dev/null
+++ b/dev-python/meson-python/files/meson-python-0.16.0-pyproject-metadata-0.8.patch
@@ -0,0 +1,68 @@
+From ba14bfdffceb571a5e8c1406c76b7b77634bcb7f Mon Sep 17 00:00:00 2001
+From: Daniele Nicolodi <daniele@grinta.net>
+Date: Mon, 15 Apr 2024 22:34:36 +0200
+Subject: [PATCH 2/2] TST: Adapt to changes in pyproject-metadata 0.8.0
+
+---
+ tests/test_metadata.py | 8 +++++++-
+ tests/test_sdist.py | 9 +++++++--
+ 2 files changed, 14 insertions(+), 3 deletions(-)
+
+diff --git a/tests/test_metadata.py b/tests/test_metadata.py
+index 0c278da6..088e82f7 100644
+--- a/tests/test_metadata.py
++++ b/tests/test_metadata.py
+@@ -3,6 +3,7 @@
+ # SPDX-License-Identifier: MIT
+
+ import pathlib
++import re
+
+ import packaging.version
+ import pyproject_metadata
+@@ -48,5 +49,10 @@ def test_missing_version(package_missing_version):
+ pyproject = {'project': {
+ 'name': 'missing-version',
+ }}
+- with pytest.raises(pyproject_metadata.ConfigurationError, match='Required "project.version" field is missing'):
++ match = '|'.join((
++ re.escape('Required "project.version" field is missing'),
++ # pyproject-metatadata 0.8.0 and later
++ re.escape('Field "project.version" missing and "version" not specified in "project.dynamic"'),
++ ))
++ with pytest.raises(pyproject_metadata.ConfigurationError, match=match):
+ Metadata.from_pyproject(pyproject, pathlib.Path())
+diff --git a/tests/test_sdist.py b/tests/test_sdist.py
+index 6e337617..fb698b53 100644
+--- a/tests/test_sdist.py
++++ b/tests/test_sdist.py
+@@ -3,6 +3,7 @@
+ # SPDX-License-Identifier: MIT
+
+ import os
++import re
+ import stat
+ import sys
+ import tarfile
+@@ -30,7 +31,7 @@ def test_pep621(sdist_full_metadata):
+ with tarfile.open(sdist_full_metadata, 'r:gz') as sdist:
+ sdist_pkg_info = sdist.extractfile('full_metadata-1.2.3/PKG-INFO').read().decode()
+
+- assert sdist_pkg_info == textwrap.dedent('''\
++ metadata = re.escape(textwrap.dedent('''\
+ Metadata-Version: 2.1
+ Name: full-metadata
+ Version: 1.2.3
+@@ -65,7 +66,11 @@ def test_pep621(sdist_full_metadata):
+ # full-metadata
+
+ An example package with all of the PEP 621 metadata!
+- ''')
++ '''))
++
++ # pyproject-metadata 0.8.0 and later uses a comma to separate keywords
++ expr = metadata.replace(r'Keywords:\ full\ metadata', r'Keywords:\ full[ ,]metadata')
++ assert re.fullmatch(expr, sdist_pkg_info)
+
+
+ def test_dynamic_version(sdist_dynamic_version):
diff --git a/dev-python/meson-python/meson-python-0.15.0.ebuild b/dev-python/meson-python/meson-python-0.15.0.ebuild
deleted file mode 100644
index 1fe63ab1279f..000000000000
--- a/dev-python/meson-python/meson-python-0.15.0.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Meson PEP 517 Python build backend"
-HOMEPAGE="
- https://pypi.org/project/meson-python/
- https://github.com/mesonbuild/meson-python/
-"
-SRC_URI="
- https://github.com/mesonbuild/meson-python/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/pyproject-metadata-0.7.1[${PYTHON_USEDEP}]
- >=dev-util/meson-0.63.0[${PYTHON_USEDEP}]
- !kernel_Darwin? ( dev-util/patchelf )
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- >=dev-python/cython-0.29.34[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-vcs/git
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # requires network access
- tests/test_pep518.py::test_pep518
- # requires git repo
- # https://github.com/mesonbuild/meson-python/issues/397
- tests/test_project.py::test_user_args
- )
- unset NINJA
-
- if [[ ${EPYTHON} == pypy3 ]]; then
- EPYTEST_DESELECT+=(
- # broken venv usage that copies pypy3 executable, making it
- # unable to find lib_pypy
- tests/test_editable.py::test_editable_install
- tests/test_editable.py::test_editble_reentrant
- tests/test_examples.py::test_spam
- tests/test_wheel.py::test_local_lib
- )
- fi
-
- epytest
-
- rm -rf docs/examples/spam/build/ || die # remove artifacts
-}
diff --git a/dev-python/meson-python/meson-python-0.16.0-r1.ebuild b/dev-python/meson-python/meson-python-0.16.0-r1.ebuild
new file mode 100644
index 000000000000..a02cea3dff98
--- /dev/null
+++ b/dev-python/meson-python/meson-python-0.16.0-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Meson PEP 517 Python build backend"
+HOMEPAGE="
+ https://pypi.org/project/meson-python/
+ https://github.com/mesonbuild/meson-python/
+"
+SRC_URI="
+ https://github.com/mesonbuild/meson-python/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/pyproject-metadata-0.7.1[${PYTHON_USEDEP}]
+ >=dev-build/meson-0.63.0
+ !kernel_Darwin? ( dev-util/patchelf )
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ >=dev-python/cython-0.29.34[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/mesonbuild/meson-python/pull/612
+ "${FILESDIR}/${P}-pyproject-metadata-0.8.patch"
+)
+
+python_test() {
+ unset NINJA
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/metakernel/Manifest b/dev-python/metakernel/Manifest
index 4bb473ef7492..c47c9c82a18f 100644
--- a/dev-python/metakernel/Manifest
+++ b/dev-python/metakernel/Manifest
@@ -1 +1,2 @@
DIST metakernel-0.30.1.tar.gz 190577 BLAKE2B fe048fefb5e2ab8f67f4092208a1d4f2a0ff268079fea89a72d6837d6937c72e1891a3a36d93650fb7d02521384ab17d51b3ccf43f7f7f7a83231d1a3b3fccbd SHA512 47c7132d9cff170c596f74ec56bbd04f4eb3f8b30a77f39fc6a1b8969e49d721eaa3eba4c629b06bbe794ebefff2feab5a32929f6540f7bbfec760822c151908
+DIST metakernel-0.30.2.tar.gz 191708 BLAKE2B 16189dd6b0f1f1dc1a9b56de152fee07f6a0d702f46bb8686580a1bdf2c008f4a3b8cda26b83f75ed4b71695b912caa02889edcf1b1d229e5202cec63929b77a SHA512 2561514764af0dbef0c674c44f5bbd73cd88c760a7836a7679da88c68bcce2791b8db3ecfb55e3b01aa7a544d08681216c1d113939be06b7715850f427cbec7c
diff --git a/dev-python/metakernel/metakernel-0.30.2.ebuild b/dev-python/metakernel/metakernel-0.30.2.ebuild
new file mode 100644
index 000000000000..37a0e3dda6e2
--- /dev/null
+++ b/dev-python/metakernel/metakernel-0.30.2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Metakernel for Jupyter"
+HOMEPAGE="
+ https://github.com/Calysto/metakernel/
+ https://pypi.org/project/metakernel/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/ipykernel-5.5.6[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-4.9.2[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.18[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.8[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/jupyter-kernel-test[${PYTHON_USEDEP}]
+ dev-python/pydot[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # fragile
+ metakernel/tests/test_parser.py::test_path_completions
+ # broken by color codes in output
+ # https://github.com/Calysto/metakernel/issues/266
+ metakernel/tests/test_replwrap.py::REPLWrapTestCase::test_bash
+ # requires starting ipycluster
+ metakernel/magics/tests/test_parallel_magic.py::test_parallel_magic
+)
diff --git a/dev-python/micawber/micawber-0.5.5.ebuild b/dev-python/micawber/micawber-0.5.5.ebuild
index b1027ab35829..0105f7b273fe 100644
--- a/dev-python/micawber/micawber-0.5.5.ebuild
+++ b/dev-python/micawber/micawber-0.5.5.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/mido/Manifest b/dev-python/mido/Manifest
index c53baa6af83f..5aa1724421c4 100644
--- a/dev-python/mido/Manifest
+++ b/dev-python/mido/Manifest
@@ -1 +1 @@
-DIST mido-1.3.0.tar.gz 121330 BLAKE2B bf6a20e12b609dc89600fa3b93ccf857fe9aad47ea71564773280c5cf0069b59deec3f8f7263d9949ccf0848b2b73e3e904057c3645069097a85469c8d78a391 SHA512 7e91daa704e72204af30af9c16a2e712a60794f8180c49d78de870381d50aac31029c01ae23fbb7c00947e299c1feba89622ea2648d54bd8786f497cf0a1bd20
+DIST mido-1.3.2.tar.gz 124216 BLAKE2B f6eb230ad8ec02a9a2f0e5e1b332a70334433a1decddb341b1c315b878bdc2e7aefed3527c408a3da9264e7344439a69bf28bd2b4d810c29e4f4278aee8303b9 SHA512 5f31057a972f8ecdadcd135f2ffd68f70388bb8777f6bc7fa14c84aa8c57988a4f7443283dd093930352989d8a097177c6543a38440184c705cfaf82e3aaff83
diff --git a/dev-python/mido/metadata.xml b/dev-python/mido/metadata.xml
index 0751ee0b29fc..aec9329bea15 100644
--- a/dev-python/mido/metadata.xml
+++ b/dev-python/mido/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<upstream>
<remote-id type="pypi">mido</remote-id>
diff --git a/dev-python/mido/mido-1.3.0.ebuild b/dev-python/mido/mido-1.3.0.ebuild
deleted file mode 100644
index a1a52e0f5cdd..000000000000
--- a/dev-python/mido/mido-1.3.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="MIDI Objects, a library for working with MIDI messages and ports"
-HOMEPAGE="
- https://pypi.org/project/mido/
- https://github.com/mido/mido
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="+portmidi rtmidi"
-
-RDEPEND="
- >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
- portmidi? ( media-libs/portmidi )
- rtmidi? ( dev-python/python-rtmidi[${PYTHON_USEDEP}] )
-"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
diff --git a/dev-python/mido/mido-1.3.2.ebuild b/dev-python/mido/mido-1.3.2.ebuild
new file mode 100644
index 000000000000..fc7fb16de40f
--- /dev/null
+++ b/dev-python/mido/mido-1.3.2.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="MIDI Objects, a library for working with MIDI messages and ports"
+HOMEPAGE="
+ https://pypi.org/project/mido/
+ https://github.com/mido/mido
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+portmidi rtmidi"
+
+RDEPEND="
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ portmidi? ( media-libs/portmidi )
+ rtmidi? ( dev-python/python-rtmidi[${PYTHON_USEDEP}] )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # performance test
+ tests/midifiles/test_tracks.py::test_merge_large_midifile
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/mimerender/mimerender-0.6.0-r1.ebuild b/dev-python/mimerender/mimerender-0.6.0-r1.ebuild
index dbdeca61cf48..0b6dac66d151 100644
--- a/dev-python/mimerender/mimerender-0.6.0-r1.ebuild
+++ b/dev-python/mimerender/mimerender-0.6.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/minidb/Manifest b/dev-python/minidb/Manifest
index 01ec6158bfab..0ec6101b0871 100644
--- a/dev-python/minidb/Manifest
+++ b/dev-python/minidb/Manifest
@@ -1 +1 @@
-DIST minidb-2.0.7.tar.gz 12282 BLAKE2B 349aff4ec7497fc74edd632f719a6f67a2e7c1dff38ea1ea579c820e00dbad4e7269355e4b19ccfe53cf637f0ebdd6cd512e1af84456ef70c05d8e19024ae94d SHA512 dc04d2d51fdc4ecf30e234cb25e17bf0cd5c320dfca6bdd306b61eced89fe8f1fb5df93111ec0c04f1b258ecde467203a968e61b913feee87301dec7e93d9412
+DIST minidb-2.0.8.tar.gz 15404 BLAKE2B 5cf612036ed18ddd8f42da1ceab398cfe092acbdc11ac75693d1aa3c84960a375db6816dbe1a0ed244d83a4c6958661ba2db6e489ee4b5ab7df359332382f524 SHA512 04cdf6ae3a537aa421cd9ca9c283ac3c721ce35a6e23bf71f56ff70ee94dfad4672feb9cea7490e6747f9c2cfaabc7d163559cce3a40cf643df0287cbea6f994
diff --git a/dev-python/minidb/minidb-2.0.7.ebuild b/dev-python/minidb/minidb-2.0.7.ebuild
deleted file mode 100644
index 893a70346d32..000000000000
--- a/dev-python/minidb/minidb-2.0.7.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="sqlite"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Simple SQLite-based object store"
-HOMEPAGE="
- https://thp.io/2010/minidb/
- https://pypi.org/project/minidb/
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/minidb/minidb-2.0.8.ebuild b/dev-python/minidb/minidb-2.0.8.ebuild
new file mode 100644
index 000000000000..718447e88b2d
--- /dev/null
+++ b/dev-python/minidb/minidb-2.0.8.ebuild
@@ -0,0 +1,22 @@
+# 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..13} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple SQLite-based object store"
+HOMEPAGE="
+ https://thp.io/2010/minidb/
+ https://pypi.org/project/minidb/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/minify-html/Manifest b/dev-python/minify-html/Manifest
index 08ba725a6c64..645ce2128bba 100644
--- a/dev-python/minify-html/Manifest
+++ b/dev-python/minify-html/Manifest
@@ -1,49 +1,2 @@
-DIST aho-corasick-0.7.20.crate 111440 BLAKE2B 3f5d54fea2793ce1c2c4d5b3049b910f45a5721e7538cb2557df63dc3069ab3f6b66aceb5e9a48f21c43ae29778fd045428ea103b2a6de81659e605e30e64ca6 SHA512 ad31f3d1b3fe41e593d4ca7e721bbad62936f2e6a17fd1e0997353edb6fc906d1bef2b79f0ac7c7676abe637bbabb23ff22059947be379a2441011f8178983c5
-DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
-DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
-DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST convert_case-0.4.0.crate 8098 BLAKE2B cd038a7b0d52a9e183a96cbd548a8deefbe0c60d6aea15d7c6f92a4bbf991444d401b5cd3c944f3d37019e7e3db2a648e321402e13803768556f32c08ec00084 SHA512 e17e92b94b030e39f368ef0dd0288dbb45f77c8ce3034c1a6fd2fd43f38cf10a1af5aa7bebdfb447c335d9593c32dde7262e13f97c271c419c6106cf47dc01e1
-DIST css-minify-0.3.1.crate 19917 BLAKE2B cca84773519e54f14bbfd202d8ccfb5b2e9e60c4166c5880f7283d6a853bcc9510d671b391fdb7946b4d6db7a62f4794090707f9981e0d1a304decfe18a83634 SHA512 d750040fb4c64386e5a578b120b9762d9b9e87184e32723481d2379f82f521df6fb96026e30a1a67f061e6e4e1281357316573631f8e54cc0bb8f48b3b747bb8
-DIST derive_more-0.99.17.crate 55771 BLAKE2B b290bfbf06119018206be0f8ad4c92508be4cbc443f1a937c38961e207fc3f433d8a87b2b5a17e72aa1735520799540557d9dd9e49e26b8eb7cc80289afd44bd SHA512 0bb5a94e56d35a17ff4deed61c437ba75c9063694032ba98b58be1b072d33f2fb170d51bd262a17ff1beed2110b334528de75d5315ac627202ccb13d8c490baf
-DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
-DIST indexmap-1.9.3.crate 54653 BLAKE2B 7bc1768589e74020dc15d3dd064009edaaef39b7aeb682d0ca8e49944e3f020b9c04d64feb102e88b22feb40863479dfaf4722d6a77b5d19e7ca553f4bf64c1b SHA512 2aa8069eb07a814c8fa3e11296c9f032ef60963520d7786ad20cca5cb7e73b8f76d97722a994d65295bb713020aadce5008cd3df5e99d8bd968ef1979f910a37
-DIST indoc-1.0.9.crate 13475 BLAKE2B a9696788574e56dd125c3371169fd59d6947d188f76e2669b21c0304692efd6709cd048920f7822e92c6a5620fb178e0e85c7776118cef8ccee0f58398e14abf SHA512 db8aef4a7bb606452dc8ed45aa29a255c7a135357a0bd586fb4429c5f56a1aa2ca9400d6fac39956aeb486a15d25cf5d1b9524967867f2c651d9d563e3e85be8
-DIST lazy_static-1.4.0.crate 10443 BLAKE2B 25b2e61bbac48f0dcbc79c81d7bf01f2403d8269ecb6be3ea6147bd00f7a588df15a91f44dfc18ada19b21faa71de4637c7d493a8628cbecd0e547d74e616a23 SHA512 e124c0521ec7c950f3c4a066821918da7a9c6e711115d98009ae7c351928fdddead852e7596fea5937a9c30e4e4ce8eee7099b20248b5d6e3b2494b6a6d88cb8
-DIST libc-0.2.143.crate 681601 BLAKE2B edce6a36697c4c0f9b31e6c380235c0f36c39b98316cc35ed341ed2d4d95aa2a50dad3e9d0d44330e6a5cea77191f97e79703f298f3e1cbebed1a0eaba71014b SHA512 245590127b37b5c3f66392f8f143f872f769f283c77b68b88e23d5e14aa1b9770347021f4d81e81225ca4ed09db6e925d47602131edd83c6d995875766824b6e
-DIST lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990
-DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa
-DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f
-DIST minify-js-0.4.3.crate 18268 BLAKE2B a64c99431850ec60fce05d78d191a4824441586f4a884251e3fb9e5fcc91d497fd40a2ce954e246fb513081736a284a4f28c3e2309516fd230f82c49d72e460e SHA512 e53af3733a2828ca049a51f2088dcf5a3c151210e06f54d1ded9799cb292a142fc87f4f071b870fa8e326dbf58bcf07bc1604ca53296a2192aa4ae3bc16cc1e9
-DIST minify_html-0.11.1.tar.gz 136368 BLAKE2B c28f860868f6456dd67bc64960270bf94af58b3cc72c131ba03c3ca999747f0d35a1fcf1db6859bab962f80157decc8a9d7bd693fbb3477f7e59a9d8f0fec36b SHA512 36c494c57eab502b17752359197d9062c4f928031dbd9c642b09fc8d26ff9f93c7031e845d6b3a2a82f4200e95bc7446b239cb9683b104d86062c2d28e41e33a
-DIST minimal-lexical-0.2.1.crate 94841 BLAKE2B e6b8919b80d938d0b98d60d4f5f29ce43d77ebfcf8b18bde08909141915c6ef4f0d07a543538d4f3ba8527a9f55926d4a8e83473248469d087e80b274d701d61 SHA512 385fab51884bdcc7b0f2728a219ab164d0dc8efe42160b918f2c09f79ecf853fb12bda006d11e649f097bae1499dcd41ddf2a8784ee7d178cf2c28059e46078c
-DIST nom-7.1.3.crate 117570 BLAKE2B 5643b67990b7305e101b16b8cd27c447e162a7adc6d0dfac00920b0cb50fea98c9d4edca63c34f6845cba05f8d0acb407cf3045cf64a4cb28e53c8b6bc9090cf SHA512 1ffce08dde299bc0e0367ad59c7b6a83e23decfa11115ee076ab91ec53cdd9ef37e4c2103c96eff23a7b6b8b5c3f67c83ce1917928c7d4c6462083bdfa0c9cad
-DIST once_cell-1.17.1.crate 32856 BLAKE2B 8bde2aaaf9ef45d1f6b8458686179f1fe9295ee8faea269e9b49779583ce26ab9dafe988c3584e841a9e5d05e28430ca967ef3b25e755f48f0120d9c99cdb7bc SHA512 1302d51801e38bfee23e74c0046f1ecb1d3c27309b5fe11c2b6c99553b357db502ce1718695602f9d8b10429e8ff03f91c016d5d604957083728293824c05904
-DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
-DIST parking_lot_core-0.9.7.crate 32412 BLAKE2B fec3ed2cf28e6d5090aae6a7c0ad583acf3ce6e54e881b78a9cb6721ca1e7040d46c044d405852728e74baff6ff1feaee7a89a64c69d20531f29942dfaafcc72 SHA512 1f232f1a87ba9377621244ba49378663f3113da7192a399fdb70be971ff5e5ca0d0601e1210a3fd8ab75ef464dc8505e719f81902e3448cce5e7848ef4bdbef0
-DIST parse-js-0.10.3.crate 49643 BLAKE2B 25baa7a37814c448d7099c7f44e98e3c328f2b14ba6ead471f5ceec9000d1c2f302c046ddb5d7aa05afca88358159280b4d30ed0ae270be3bbb8526e3bd3164e SHA512 b64b9b9c818c080e0537c6d80db6895ccf64ff60fd21e513bac77dbbee52495565fd4d7e7f7e8f18b6fbc2c7a971d47261b1257e08d17eff067c4e8ed784e038
-DIST proc-macro2-1.0.56.crate 44454 BLAKE2B b2a1f28979245a784a4b3a0af8cb04bd01ef3e7aba32c45122fc05a6cceddb1b7303890827f1a2cb99b0b2ae013cd772bffd6e94ea226f0030cde867d6c22aad SHA512 511fd8332eca47ed834736d405e18d53d83642cf528bebb8fd67fa5561e19b0a43c359b3e8020ecd28f9fafdb065c484ca360abc0287a0f97e94d4f779145f03
-DIST pyo3-0.17.3.crate 408939 BLAKE2B e67ce34c626dbede3c76abf66ba5078827e8a75644ff9fbd83eccf3d53096a3c2e0991da8b3489ea9984c665751308bcf4aa9c3d31dd62c72127694156a7a0a9 SHA512 5c83ea76202edce13c370d023562a9009382e36fdf3fcd7c4dea844ab8e5e048db4cc79a9c0ea98fb7017a83da16924ba0981ad98bd83e75e2fac434738e9740
-DIST pyo3-build-config-0.17.3.crate 29230 BLAKE2B 193df0c15a2150505c823338e76f4d75e2f28158626edf332da2b10b6a81bfaf7f95a3a32c9f218717504b2f0dd80d3fb61c78ab3df9cb9024c3686f8ca002b0 SHA512 92652ffdfb3f6c3c8a1c2f97f5e2ed19175ba6bad5cd0f0c113b569369193aa18d95adc780bbdb8202d815a1ec0b6aeaf40d93d64faab42f4e8b452c806906a2
-DIST pyo3-ffi-0.17.3.crate 62854 BLAKE2B 3f1c519b210de0aee19b832845c1d44237f780f18173ddc1b1cef5eac1060fab40fd8dbec067a49e4d28fc7edcd0bd751f54438ad42a8b98641de0517052c64b SHA512 c08481d1530207fee544a5dde14253415e5451c1c013b86ac1f0e9bcb3c1df7866764cd11bad523105b6821725560329b89ff689b3aa2f0698cdab148d0fc12e
-DIST pyo3-macros-0.17.3.crate 7257 BLAKE2B 4c5e166a37c31f2cc21b7dce9b46dcdaeea0f12299c421430efe72b47ac954f10680bf6ecb28a5f0058abaf22519f6ce05d21e5de534e362ceb9847049601f4f SHA512 f99d38ea69b1d46599d203908d12eb3fe4869a48b21b3eaba0c9c8e52b9f2b3c5ea72505dcb9b3330450dd724eeba859eef724fe9624ebbd8bd3cbcff7372df1
-DIST pyo3-macros-backend-0.17.3.crate 49992 BLAKE2B a922c3c2c1f494002fa8592704c43ddbb4d9bf650187adcfc94f82c1275bcb69d444ede404d1b40bdf1e199427e8de880464b76c7385c2f96633544ad021c4b4 SHA512 b4dbddc3ac7ae542560459376127cabdbb4de83c04d70a4efe0976fa94e6ce94a7a62723f689a8fbb1d795fc235b1ac3611f8b4985ae2af0db4a9dc08de48927
-DIST quote-1.0.26.crate 28397 BLAKE2B b468a5e9350843ea81e540d17c9fcb302b46fbd450e10280c5fff6fd7c98a439df8c3d3d47e551bc6d67ed02052b5b5c65d215d5ff8ee34f045747e75c1ba37e SHA512 6fcfe4d31f601aa60beb858c25df217421b0a184d185eebc7a4cb9fbf97c687992b77bebd8671a9e6193716387c3e926fed9b75a08684eb2d9a5b155fbc321a5
-DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
-DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
-DIST rustc_version-0.4.0.crate 12175 BLAKE2B 6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da SHA512 f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db
-DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
-DIST semver-1.0.17.crate 29685 BLAKE2B b9beb685eb9f6cffe557d1185997e1a93d0e50ecd8e9719d9855347f12dd430ed1020df81839b7924a984596437ae7fb2951e7ae44c5540692a7f37b591bee2e SHA512 5199923757e675506d68c252182b10f55955e47054880492e5471a0a0f9ad13ef25d552d2ab9bd68fba37121b8026d9989bf15db67e95265b3aa53d06377fda7
-DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
-DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
-DIST target-lexicon-0.12.7.crate 24402 BLAKE2B 3715b15649566b9f26fe02aad818325a43b54512008e4ea9fcda9ea15a87b8f4baf4ffd7343fc12456c97d8a6b1e121158c4cb61997de0e2d24d1bce93d86850 SHA512 0f3cdbd7515141315934b6ca61c5666f3bf60e259711f68ed3c33468e2bd400cedf824db7158a80fa07e78cc7ac2a0a1eed2df199352176148e9df34b06511a2
-DIST unicode-ident-1.0.8.crate 41962 BLAKE2B 3e3394a421460b0cdd56f96e1149b3816651ffd7064f9ec85c12050917d0b271eeee4bc3f6d3f0a3c1596635df3dac54bd610243d34e459743fe29b3b931a237 SHA512 8104999c6fff002c5aa109e2ca75ce3eaf772155d31dff87bcf39e3eb3da58b6cb543717be7b55acdb0cb1a4bd2a3d2e9c9974f7f75b6528668f5ef665ef4088
-DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
-DIST windows-sys-0.45.0.crate 2568659 BLAKE2B 6f2d634d121a9bf41e2887e277a73f33aee69b04c7fcfc6ff973d21902787997f1e186f530e9226cddc003ffc3f85a179c069c8a8688de459f617df92d33f94f SHA512 f239346c0141b95aa76e0771e2f4e38b9a592f3cd92c6001de353637cd65cd73b94cbf9917a4eaa9b0c0b2e6e2af920b9cf6b3fccb52770df5160254cffc1c47
-DIST windows-targets-0.42.2.crate 5492 BLAKE2B 42fc4a7d3e287fe2a70637e890304b49737776596f4a94a6d216668247092135e84322bd04caddd19c83b7700b0f27278e600ce8ed326957fabc21bffcae89b0 SHA512 84fbaffcad9a80beca77506aac26d0c5cb75aa0f21a5a70bcd3f6a16e71e8753ae00d3b89da9262c99756624163dcc0d6074fa9f99dfaae0dc098018209025f9
-DIST windows_aarch64_gnullvm-0.42.2.crate 364071 BLAKE2B 97c4e3b2a2dd3f936f9bfcdad23639c9c4c499eed220aec361d26d6013d798efa118e6b298f9cf841ac149d2ae5d58ca653731718450fcf2910bb5f6fa39159f SHA512 75cd7eb1def8ce9d0ff3d7468d2b1cc31cc76c08f981a2460c3d1eb09cff7100d7442863a3591621c1f5f3b3f4badf0b5c95285b6ed583e37283a8403f1095f1
-DIST windows_aarch64_msvc-0.42.2.crate 666981 BLAKE2B 9f3cc5592cdede08bcdc1e7c455325279e3b763d96942695e10dccf1dfc37a81c749b69a7d6de883d4c0fa6e8a0d2f578fe2a8d6c42ad8ef6282590bf8fc87b7 SHA512 d2dafa8c94d01c1b65ca1bd631d31f2ef842f1db7accb132ff78c3f8483221b991afd3391563e03dcec42bbc9cbdc0ebdab47b991d25af85b5ba2ac1bbf8db63
-DIST windows_i686_gnu-0.42.2.crate 736236 BLAKE2B 4ef0496462afc73d9d72af7e5da1e6d3506a92f8172930e88ae64ab97596ffd31c4f97fb969e9b677e30159c27f00a8e756deb006b630fb98ce83f03c8b762e2 SHA512 ad09d650a05cb91cb6b40f59025c023a4c286bc1194586697c506016df2b9b0d5b02606b81687bc634795a0d9a9b8a73e486599328ae09c853e8e5ba662fc59c
-DIST windows_i686_msvc-0.42.2.crate 724951 BLAKE2B b084286cd4927efd2889b149abf8a9fe9d3d777130db9e592982660dbf9a96a0f5e723ca121465787aa11877d2d29a5a7d7cf066cdc8fa7e90d7ca7dcb7677f1 SHA512 c1706fc36d4b157c020744a11b3eb5d7dfbf05a0b56775bc717e94b7fd725816b20154fdbcd69ac08dbfb8b8bbfa74fab72d7a9c10399aad6a1cc54cf597e804
-DIST windows_x86_64_gnu-0.42.2.crate 699373 BLAKE2B 01c70809d564b16b268656e47295e99c992d8f9839fac8a51338a0e7c3b9cdcd0429c456ca8c1c139a8c687ed7ed6c43a82250889d881aadaa65bd037223e0a6 SHA512 5767af3c86e717f93137a89d442230e6b60a649057edb3ab104b1f82c0bcd64fe089dcdf2f4fd486a799bece1ddb5f0449641536b678211945e749ae24f35c1f
-DIST windows_x86_64_gnullvm-0.42.2.crate 364068 BLAKE2B 64bc53e98eb3fc649c9b43a6e734de4e65088e41edacabd49f7afcc5dc6e1065c563ecfc682747dda05978dea2dba4f45c16fcc18c3b00684c3d93681e5a7deb SHA512 d39a8bc948110fe612d3f8d6628b3f0d56620df11d8a49e0fabb6c90389ad407582b3af10e4eab46c79b3d11d2e10753d73d9e55963fbeac085f41e9749bdba3
-DIST windows_x86_64_msvc-0.42.2.crate 666936 BLAKE2B bc3a456e7f8bc272f8978ec69506ec9d89f97b7582ebbe05d8bd57bdf8156ef62d0d2dc6137a97e81d54059d70db97a24af9a038adff357f5dfd28805d6193b5 SHA512 53a35f438903fceb59e36bd2ac331773fb8e6c8c5a6d984e79021761f91b3b4a23efe49d219667a4d0d23dcdbf906da9c24e74fb1cff93395b5c55ff524e3788
+DIST minify_html-0.15.0-crates.tar.xz 22011872 BLAKE2B e23d0b978708995f75aa2ca0a4bdf9bcd5a967a310d7a709941ba83a54487018071a9ab4794232f9963807308e3d63afa7e219b112ea73dfe29ff828d66b84b2 SHA512 7f15918faaa634d1ac9ddff071f410594eb4a1a432b74eb999dc037d5734b0c17c9e831440b50797f025a010d51e7b84cd9f2cf6e645b726a796612d6b4ea710
+DIST minify_html-0.15.0.tar.gz 96948 BLAKE2B 24fe7b747d389a2876210b2774cfad8a623a5549c86fdcb9304d6521a7ef1ab85c770fbfe03a5d6812c7a1d282f409e93132db83b64ea16d4b3fe88c762ea71f SHA512 89b4e40a3572958b6d79985537f9fe9aa917ff94afc72b44f74202298128af71fb0618c1ca50af445da678806b44959d390113d404ae8ad0b75660564095159f
diff --git a/dev-python/minify-html/minify-html-0.11.1.ebuild b/dev-python/minify-html/minify-html-0.11.1.ebuild
deleted file mode 100644
index 44e74a0cee0a..000000000000
--- a/dev-python/minify-html/minify-html-0.11.1.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-CRATES="
- aho-corasick@0.7.20
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- convert_case@0.4.0
- css-minify@0.3.1
- derive_more@0.99.17
- hashbrown@0.12.3
- indexmap@1.9.3
- indoc@1.0.9
- lazy_static@1.4.0
- libc@0.2.143
- lock_api@0.4.9
- memchr@2.5.0
- memoffset@0.6.5
- minify-js@0.4.3
- minimal-lexical@0.2.1
- nom@7.1.3
- once_cell@1.17.1
- parking_lot@0.12.1
- parking_lot_core@0.9.7
- parse-js@0.10.3
- proc-macro2@1.0.56
- pyo3-build-config@0.17.3
- pyo3-ffi@0.17.3
- pyo3-macros-backend@0.17.3
- pyo3-macros@0.17.3
- pyo3@0.17.3
- quote@1.0.26
- redox_syscall@0.2.16
- rustc-hash@1.1.0
- rustc_version@0.4.0
- scopeguard@1.1.0
- semver@1.0.17
- smallvec@1.10.0
- syn@1.0.109
- target-lexicon@0.12.7
- unicode-ident@1.0.8
- unindent@0.1.11
- windows-sys@0.45.0
- windows-targets@0.42.2
- windows_aarch64_gnullvm@0.42.2
- windows_aarch64_msvc@0.42.2
- windows_i686_gnu@0.42.2
- windows_i686_msvc@0.42.2
- windows_x86_64_gnu@0.42.2
- windows_x86_64_gnullvm@0.42.2
- windows_x86_64_msvc@0.42.2
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Extremely fast and smart HTML + JS + CSS minifier"
-HOMEPAGE="
- https://github.com/wilsonzlin/minify-html/
- https://pypi.org/project/minify-html/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
-"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/minify_html/minify_html.*.so"
diff --git a/dev-python/minify-html/minify-html-0.15.0.ebuild b/dev-python/minify-html/minify-html-0.15.0.ebuild
new file mode 100644
index 000000000000..d92e86491d41
--- /dev/null
+++ b/dev-python/minify-html/minify-html-0.15.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+CRATES="
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Extremely fast and smart HTML + JS + CSS minifier"
+HOMEPAGE="
+ https://github.com/wilsonzlin/minify-html/
+ https://pypi.org/project/minify-html/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/${P/-/_}-crates.tar.xz
+ "
+fi
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD ISC MIT MPL-2.0
+ Unicode-DFS-2016
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/minify_html/minify_html.*.so"
+
+src_prepare() {
+ sed -i -e '/strip/d' Cargo.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test_all() {
+ cargo_src_test
+}
diff --git a/dev-python/minikanren/minikanren-1.0.3-r1.ebuild b/dev-python/minikanren/minikanren-1.0.3-r1.ebuild
index 47bdfc3bdfd6..382d64524f76 100644
--- a/dev-python/minikanren/minikanren-1.0.3-r1.ebuild
+++ b/dev-python/minikanren/minikanren-1.0.3-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/minimock/minimock-1.3.0-r1.ebuild b/dev-python/minimock/minimock-1.3.0-r1.ebuild
index 6c7b4f0631ce..eb064a624e67 100644
--- a/dev-python/minimock/minimock-1.3.0-r1.ebuild
+++ b/dev-python/minimock/minimock-1.3.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/miniupnpc/Manifest b/dev-python/miniupnpc/Manifest
index d3a8e9d2df1e..d3817492ccb5 100644
--- a/dev-python/miniupnpc/Manifest
+++ b/dev-python/miniupnpc/Manifest
@@ -1,4 +1,2 @@
-DIST miniupnpc-2.2.4.tar.gz 102932 BLAKE2B ebfea3fe978280825b7beefb8fe799685a72b0a74c589f5f55c7fde3d8c0d4bbb3d50fa0ff3aed554fa1e24ada0a1ab578328373f0295020415998fe35cde0a0 SHA512 f6515bda86405114016474fef6332c0c09a56b9293cf4391113f549444bab67e7d031af7b94dacff5e7c96d6508527204498c00fb67d6067685ef606b2152595
-DIST miniupnpc-2.2.4.tar.gz.sig 543 BLAKE2B 14a1a1979e2d248bb721c66db3e28c1d6f970477e94235bdfa77763d5f9d4c0da42b23d026e861f48cc34a17e009bf8c57aacc648435ec9e31c3c4b6c3347ffb SHA512 476d1a6cfc519f82461bf4d516f73d40cc3ef27886da68d2e805a24d9c4609c53566e258bd2b622e7716f43c81c14bc0f01b189d23b46b87afc3c76d4e6fa23e
-DIST miniupnpc-2.2.5.tar.gz 103654 BLAKE2B 9cd3fee7bb4934610d57340d29ef61bbca8a94e230a0d35a26cfe4eec347f6807f7d5ab6edb38354ec82aa11bb7a83869169b3c322931f96a1e3a4dd6eec123c SHA512 32d362c43cf5c9f6c1546d85c2dd780f9701f3137bc78471b3670c4c0862b7fc4f081e6cb6fd14e5c0d3ec0602714756959491688998335c8a7b324e6c53aa2f
-DIST miniupnpc-2.2.5.tar.gz.sig 543 BLAKE2B ea7b5c254684f52485bc18ad4820c41e7c70a4eb5e552cb5f9d937a4927c9655a4fb959d32930299f1f863d4dbb5894ce76d693ce5a9996a44180038a02a0d5a SHA512 b23d35610d41c9dfc5af78de5329e9c28976685435bdff041759ab6e9f54154e7a082bcd313c682141fda8ba1e1c3b246e49109ad9a5323f003528d0ba71f880
+DIST miniupnpc-2.2.8.tar.gz 104603 BLAKE2B eae4d97bdf8c494ea6744edfeb870f9d92df8468d23f974e0e44e735fc7c8925189ea58f60a71c37315aebff1269ae69e9413cdf80dc292c4b90df5f12bf58a4 SHA512 526c9df1485302d4c9c78062fb058cfd433463f6e7a9f4025a9f5228aef41ee61a4b9e7a76b6cfa8779b91cc3c663846a997dc1470902d7108b129155e6a3360
+DIST miniupnpc-2.2.8.tar.gz.sig 543 BLAKE2B b4d056972fc7e46c1e41a658d301db8e9a0d3b99af2220c264d06267b4e8ae45847e2bf2cd6583fded67f12c2e0a3c833ba7e38d9c05b5a0cc363e0c1fc8feae SHA512 b5eec0d24a84183021cd16bfd6ecedda587dee0bbb017fe6d107e8c2815ef90cf5f904c6fb9aa32e2e4d5f0b63de8566814c9a0d921b338b26b60ea35c23ecae
diff --git a/dev-python/miniupnpc/files/miniupnpc-2.2.3-shared-lib.patch b/dev-python/miniupnpc/files/miniupnpc-2.2.3-shared-lib.patch
index 6fbb17e60e9f..48002fb47a82 100644
--- a/dev-python/miniupnpc/files/miniupnpc-2.2.3-shared-lib.patch
+++ b/dev-python/miniupnpc/files/miniupnpc-2.2.3-shared-lib.patch
@@ -25,10 +25,7 @@ index b84146f..73b05b7 100644
setup(name="miniupnpc",
version=open('VERSION').read().strip(),
author='Thomas BERNARD',
-@@ -27,9 +20,8 @@ setup(name="miniupnpc",
- license=open('LICENSE').read(),
- url='http://miniupnp.free.fr/',
- description='miniUPnP client',
+@@ -30,6 +23,5 @@ setup(name="miniupnpc",
- cmdclass={'build_ext': make_then_build_ext},
ext_modules=[
Extension(name="miniupnpc", sources=["src/miniupnpcmodule.c"],
diff --git a/dev-python/miniupnpc/miniupnpc-2.2.4.ebuild b/dev-python/miniupnpc/miniupnpc-2.2.4.ebuild
deleted file mode 100644
index 5bd7fde82b3a..000000000000
--- a/dev-python/miniupnpc/miniupnpc-2.2.4.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1 verify-sig
-
-MY_P=${P/python-}
-DESCRIPTION="Python bindings for UPnP client library"
-HOMEPAGE="
- http://miniupnp.free.fr/
- https://miniupnp.tuxfamily.org/
- https://github.com/miniupnp/miniupnp/
-"
-SRC_URI="
- https://miniupnp.tuxfamily.org/files/${MY_P}.tar.gz
- verify-sig? (
- https://miniupnp.tuxfamily.org/files/${MY_P}.tar.gz.sig
- )
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86"
-IUSE=""
-
-DEPEND="
- >=net-libs/miniupnpc-${PV}:0=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- verify-sig? ( sec-keys/openpgp-keys-miniupnp )
-"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/miniupnp.asc
-
-PATCHES=(
- "${FILESDIR}"/miniupnpc-2.2.3-shared-lib.patch
-)
-
-# DOCS are installed by net-libs/miniupnpc.
-DOCS=()
-
-# Example test command:
-# python -c 'import miniupnpc; u = miniupnpc.UPnP(); u.discover(); u.selectigd(); print(u.externalipaddress())'
diff --git a/dev-python/miniupnpc/miniupnpc-2.2.5.ebuild b/dev-python/miniupnpc/miniupnpc-2.2.5.ebuild
deleted file mode 100644
index e2a6f43c4b5e..000000000000
--- a/dev-python/miniupnpc/miniupnpc-2.2.5.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 verify-sig
-
-MY_P=${P/python-}
-DESCRIPTION="Python bindings for UPnP client library"
-HOMEPAGE="
- http://miniupnp.free.fr/
- https://miniupnp.tuxfamily.org/
- https://github.com/miniupnp/miniupnp/
-"
-SRC_URI="
- https://miniupnp.tuxfamily.org/files/${MY_P}.tar.gz
- verify-sig? (
- https://miniupnp.tuxfamily.org/files/${MY_P}.tar.gz.sig
- )
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ppc ppc64 x86"
-IUSE=""
-
-DEPEND="
- >=net-libs/miniupnpc-${PV}:0=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- verify-sig? ( sec-keys/openpgp-keys-miniupnp )
-"
-
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/miniupnp.asc
-
-PATCHES=(
- "${FILESDIR}"/miniupnpc-2.2.3-shared-lib.patch
-)
-
-# DOCS are installed by net-libs/miniupnpc.
-DOCS=()
-
-# Example test command:
-# python -c 'import miniupnpc; u = miniupnpc.UPnP(); u.discover(); u.selectigd(); print(u.externalipaddress())'
diff --git a/dev-python/miniupnpc/miniupnpc-2.2.8-r1.ebuild b/dev-python/miniupnpc/miniupnpc-2.2.8-r1.ebuild
new file mode 100644
index 000000000000..d6d330eae5f9
--- /dev/null
+++ b/dev-python/miniupnpc/miniupnpc-2.2.8-r1.ebuild
@@ -0,0 +1,52 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 verify-sig
+
+MY_P=${P/python-}
+DESCRIPTION="Python bindings for UPnP client library"
+HOMEPAGE="
+ http://miniupnp.free.fr/
+ https://miniupnp.tuxfamily.org/
+ https://github.com/miniupnp/miniupnp/
+"
+SRC_URI="
+ https://miniupnp.tuxfamily.org/files/${MY_P}.tar.gz
+ verify-sig? (
+ https://miniupnp.tuxfamily.org/files/${MY_P}.tar.gz.sig
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~ppc64 ~x86"
+
+DEPEND="
+ >=net-libs/miniupnpc-${PV}:0=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ verify-sig? ( sec-keys/openpgp-keys-miniupnp )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/miniupnp.asc
+
+PATCHES=(
+ "${FILESDIR}"/miniupnpc-2.2.3-shared-lib.patch
+)
+
+# DOCS are installed by net-libs/miniupnpc.
+DOCS=()
+
+# Example test command:
+# python -c 'import miniupnpc; u = miniupnpc.UPnP(); u.discover(); u.selectigd(); print(u.externalipaddress())'
+distutils_enable_tests import-check
diff --git a/dev-python/miniupnpc/miniupnpc-2.2.8.ebuild b/dev-python/miniupnpc/miniupnpc-2.2.8.ebuild
new file mode 100644
index 000000000000..cb0ab1a5907e
--- /dev/null
+++ b/dev-python/miniupnpc/miniupnpc-2.2.8.ebuild
@@ -0,0 +1,51 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 verify-sig
+
+MY_P=${P/python-}
+DESCRIPTION="Python bindings for UPnP client library"
+HOMEPAGE="
+ http://miniupnp.free.fr/
+ https://miniupnp.tuxfamily.org/
+ https://github.com/miniupnp/miniupnp/
+"
+SRC_URI="
+ https://miniupnp.tuxfamily.org/files/${MY_P}.tar.gz
+ verify-sig? (
+ https://miniupnp.tuxfamily.org/files/${MY_P}.tar.gz.sig
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ppc ppc64 x86"
+
+DEPEND="
+ >=net-libs/miniupnpc-${PV}:0=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ verify-sig? ( sec-keys/openpgp-keys-miniupnp )
+"
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/miniupnp.asc
+
+PATCHES=(
+ "${FILESDIR}"/miniupnpc-2.2.3-shared-lib.patch
+)
+
+# DOCS are installed by net-libs/miniupnpc.
+DOCS=()
+
+# Example test command:
+# python -c 'import miniupnpc; u = miniupnpc.UPnP(); u.discover(); u.selectigd(); print(u.externalipaddress())'
diff --git a/dev-python/mistletoe/Manifest b/dev-python/mistletoe/Manifest
index fd28c59376eb..8b453491ac40 100644
--- a/dev-python/mistletoe/Manifest
+++ b/dev-python/mistletoe/Manifest
@@ -1 +1,2 @@
-DIST mistletoe-1.2.1.gh.tar.gz 118396 BLAKE2B 0b8d442b9dce20f8b5f7619969761693a5c2a04cf99d35a9771ce7b4e073d993705ba4ddedd929c0535b526ef0dea64824fac82403e7b1743b3b80d4292c1772 SHA512 a6dc5dc021d001a0b34a4d6cb5007ef55958b93d143937ecde07602aaf25e3a9c3116be2ed8f8cd90353524cf8d4058239f4018b726bec007b13d917e6deefac
+DIST mistletoe-1.3.0.gh.tar.gz 121653 BLAKE2B 32c106e349cbbb4f9f197df30bb42b108228fecb021d8482a18e4e859936bce250960a39ec02c98aac53dc75b9315dac1db052647417a3fdaa99f7cefafa49de SHA512 44094989ee95445c8330223bf095808e755eb2f59ce6984362f0b6c293a72397f7d340430aac618f635f1042466b6d48171a406ecc3ea17c69435f4b254d77ab
+DIST mistletoe-1.4.0.gh.tar.gz 122220 BLAKE2B ca82e85a5900a07ce97749d4e199b6a938e26f25154123a64cb26bdfb4efcdc60ac4bec8d43dc4c1fa33417f1e34772ea6cd7fe59db5a2f0a5aa8fbb73dac33e SHA512 6896be4a6eb377699e97d16d1224165a14dc238047490125d29cbcced6121afd7df70497434f6bea0aa4e2e2a086c31176ecc79d38943f18d0b72f36894c7eec
diff --git a/dev-python/mistletoe/mistletoe-1.2.1.ebuild b/dev-python/mistletoe/mistletoe-1.2.1.ebuild
deleted file mode 100644
index 3bffe147f759..000000000000
--- a/dev-python/mistletoe/mistletoe-1.2.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2023 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
-
-DESCRIPTION="A fast, extensible Markdown parser in pure Python"
-HOMEPAGE="
- https://github.com/miyuchina/mistletoe/
- https://pypi.org/project/mistletoe/
-"
-# pypi has incomplete test suite
-SRC_URI="
- https://github.com/miyuchina/mistletoe/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-# NB: pygments is technically optional but we like syntax highlighting
-RDEPEND="
- dev-python/pygments[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/parameterized[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/mistletoe/mistletoe-1.3.0.ebuild b/dev-python/mistletoe/mistletoe-1.3.0.ebuild
new file mode 100644
index 000000000000..b6101a6dd72f
--- /dev/null
+++ b/dev-python/mistletoe/mistletoe-1.3.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A fast, extensible Markdown parser in pure Python"
+HOMEPAGE="
+ https://github.com/miyuchina/mistletoe/
+ https://pypi.org/project/mistletoe/
+"
+# pypi has incomplete test suite
+SRC_URI="
+ https://github.com/miyuchina/mistletoe/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+# NB: pygments is technically optional but we like syntax highlighting
+RDEPEND="
+ dev-python/pygments[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mistletoe/mistletoe-1.4.0.ebuild b/dev-python/mistletoe/mistletoe-1.4.0.ebuild
new file mode 100644
index 000000000000..d48d8d1d09c9
--- /dev/null
+++ b/dev-python/mistletoe/mistletoe-1.4.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A fast, extensible Markdown parser in pure Python"
+HOMEPAGE="
+ https://github.com/miyuchina/mistletoe/
+ https://pypi.org/project/mistletoe/
+"
+# pypi has incomplete test suite
+SRC_URI="
+ https://github.com/miyuchina/mistletoe/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+# NB: pygments is technically optional but we like syntax highlighting
+RDEPEND="
+ dev-python/pygments[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mistune/mistune-3.0.2.ebuild b/dev-python/mistune/mistune-3.0.2.ebuild
index 84e08e11881e..a2aaab5930d5 100644
--- a/dev-python/mistune/mistune-3.0.2.ebuild
+++ b/dev-python/mistune/mistune-3.0.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -14,8 +14,8 @@ HOMEPAGE="
https://pypi.org/project/mistune/
"
-SLOT="0"
LICENSE="BSD"
+SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
distutils_enable_tests pytest
diff --git a/dev-python/mitmproxy_wireguard/metadata.xml b/dev-python/mitmproxy_wireguard/metadata.xml
index 2a2bcd405035..ca0a0fc771f9 100644
--- a/dev-python/mitmproxy_wireguard/metadata.xml
+++ b/dev-python/mitmproxy_wireguard/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>matthew@gentoo.org</email>
- <name>Matthew Smith</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">decathorpe/mitmproxy_wireguard</remote-id>
<remote-id type="pypi">mitmproxy_wireguard</remote-id>
diff --git a/dev-python/mkautodoc/mkautodoc-0.2.0.ebuild b/dev-python/mkautodoc/mkautodoc-0.2.0.ebuild
index 6943c42ff665..80a67c0365e7 100644
--- a/dev-python/mkautodoc/mkautodoc-0.2.0.ebuild
+++ b/dev-python/mkautodoc/mkautodoc-0.2.0.ebuild
@@ -1,10 +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
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
inherit distutils-r1
DESCRIPTION="Auto documentation for MkDocs"
@@ -12,17 +13,24 @@ HOMEPAGE="
https://github.com/tomchristie/mkautodoc/
https://pypi.org/project/mkautodoc/
"
-SRC_URI="https://github.com/tomchristie/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+SRC_URI="
+ https://github.com/tomchristie/mkautodoc/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="BSD"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~x86"
-RDEPEND="dev-python/markdown[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/markdown[${PYTHON_USEDEP}]
+"
-BDEPEND="test? (
- dev-python/mock[${PYTHON_USEDEP}]
-)"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
distutils_enable_tests pytest
diff --git a/dev-python/mkdocs-ansible/Manifest b/dev-python/mkdocs-ansible/Manifest
index 9e21c7f1d379..d031514580f8 100644
--- a/dev-python/mkdocs-ansible/Manifest
+++ b/dev-python/mkdocs-ansible/Manifest
@@ -1,2 +1 @@
-DIST mkdocs-ansible-0.1.6.tar.gz 27829 BLAKE2B ee1248c2301d841876abfde43e0a883d553f7848b9be367634c4332ceccff4f9aa5e22b58c38f997ffc9c861ac36a0b9e40e4ca445aff7dc040f953f83f3fab8 SHA512 96235bc91d86e52781ae190ab6bc83fc086fa5fdd2ecb21a544549bd49d94b0ea99e56956442884930a6d20c975970942ca3bc0c62cee23b17a3884989420672
-DIST mkdocs-ansible-0.2.0.tar.gz 29254 BLAKE2B 3d9582c50a3e6abad56bae2f78ff2970b96b768fd8dbc0aa60d15a0acfc23535acae42b7b7f585db3165bf658b3f18c483484b630b350aff97ebb97edb2abcae SHA512 8e0a3b447a4a31f3d48fef5e381d01e0f2ebee2dd317a699b30e83e483234ebac1ad265f66f15dfa92c52f6c1c4a0a77aacef2915b0a60b11ffe5960cd774820
+DIST mkdocs-ansible-24.3.0.tar.gz 45471 BLAKE2B 54b6320a7b1f03d4f05b5a7617100575178206742bebda007cd276e9c1a663e82f46149fc6ec3e7e3d22f01be63afb6a72febe72f3e3969ea3acb6a75b1c38ec SHA512 a391bb28b2870efebf621998f810521667beb8b3b9603f5b35e169a9ab23b2f640531a2441b11b8044b36c49eacccd3da72b0224a0ac664d59fd97de7eb0b094
diff --git a/dev-python/mkdocs-ansible/files/mkdocs-ansible-0.1.6-prune_deps.patch b/dev-python/mkdocs-ansible/files/mkdocs-ansible-0.1.6-prune_deps.patch
deleted file mode 100644
index dd6b81b59a84..000000000000
--- a/dev-python/mkdocs-ansible/files/mkdocs-ansible-0.1.6-prune_deps.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-As of 0.1.6, no mention of pipdeptree anywhere in the actual code.
-
---- a/.config/requirements.in
-+++ b/.config/requirements.in
-@@ -11,5 +11,4 @@
- mkdocstrings-python>=0.8.3
- mkdocstrings>=0.21.2
- pillow>=9.4.0
--pipdeptree>=2.4.0
- pymdown-extensions>=9.9.2
---- a/.config/requirements.txt
-+++ b/.config/requirements.txt
-@@ -39,7 +39,6 @@
- mkdocstrings-python==1.1.0
- packaging==23.1
- pillow==9.5.0
--pipdeptree==2.7.1
- pycparser==2.21
- pygments==2.15.1
- pymdown-extensions==10.0.1
diff --git a/dev-python/mkdocs-ansible/files/mkdocs-ansible-0.2.0-prune_deps.patch b/dev-python/mkdocs-ansible/files/mkdocs-ansible-0.2.0-prune_deps.patch
deleted file mode 100644
index 7c8c5cbfe590..000000000000
--- a/dev-python/mkdocs-ansible/files/mkdocs-ansible-0.2.0-prune_deps.patch
+++ /dev/null
@@ -1,20 +0,0 @@
-As of 0.2.0, no mention of pipdeptree anywhere in the actual code.
-
---- a/.config/requirements.in
-+++ b/.config/requirements.in
-@@ -11,5 +11,4 @@
- mkdocstrings-python>=0.8.3
- mkdocstrings>=0.21.2
- pillow>=9.4.0
--pipdeptree>=2.4.0
- pymdown-extensions>=9.9.2
---- a/.config/requirements.txt
-+++ b/.config/requirements.txt
-@@ -42,7 +42,6 @@
- paginate==0.5.6
- pathspec==0.11.2
- pillow==10.0.1
--pipdeptree==2.13.0
- platformdirs==3.10.0
- pycparser==2.21
- pygments==2.16.1
diff --git a/dev-python/mkdocs-ansible/files/mkdocs-ansible-24.2.1-prune_deps.patch b/dev-python/mkdocs-ansible/files/mkdocs-ansible-24.2.1-prune_deps.patch
new file mode 100644
index 000000000000..ecddf3a347b3
--- /dev/null
+++ b/dev-python/mkdocs-ansible/files/mkdocs-ansible-24.2.1-prune_deps.patch
@@ -0,0 +1,10 @@
+As of 24.2.1, no mention of pipdeptree anywhere in the actual code.
+
+--- a/.config/requirements.in
++++ b/.config/requirements.in
+@@ -11,5 +11,4 @@
+ mkdocstrings-python>=0.8.3
+ mkdocstrings>=0.21.2
+ pillow>=9.4.0
+-pipdeptree>=2.4.0
+ pymdown-extensions>=9.9.2
diff --git a/dev-python/mkdocs-ansible/metadata.xml b/dev-python/mkdocs-ansible/metadata.xml
index a74faa0cf828..4b3f3c5e3837 100644
--- a/dev-python/mkdocs-ansible/metadata.xml
+++ b/dev-python/mkdocs-ansible/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
+ <!-- maintainer-needed -->
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">mkdocs-ansible</remote-id>
diff --git a/dev-python/mkdocs-ansible/mkdocs-ansible-0.1.6-r1.ebuild b/dev-python/mkdocs-ansible/mkdocs-ansible-0.1.6-r1.ebuild
deleted file mode 100644
index f13655d4f5dc..000000000000
--- a/dev-python/mkdocs-ansible/mkdocs-ansible-0.1.6-r1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Ansible theme for MkDocs"
-HOMEPAGE="
- https://github.com/ansible/mkdocs-ansible/
- https://pypi.org/project/mkdocs-ansible/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-
-RDEPEND="
- >=dev-python/markdown-exec-1.3.0[${PYTHON_USEDEP}]
- >=dev-python/markdown-include-0.8.1[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-gen-files-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-htmlproofer-plugin-0.10.2[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-material-extensions-1.1.1[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-material-9.0.13[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-minify-plugin-0.6.2[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-monorepo-plugin-1.0.4[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.4.2[${PYTHON_USEDEP}]
- >=dev-python/mkdocstrings-python-0.8.3[${PYTHON_USEDEP}]
- >=dev-python/mkdocstrings-0.21.2[${PYTHON_USEDEP}]
- >=dev-python/pillow-9.4.0[${PYTHON_USEDEP}]
- >=dev-python/pymdown-extensions-9.9.2[${PYTHON_USEDEP}]
- >=media-gfx/cairosvg-2.6.0[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.1.6-prune_deps.patch
-)
diff --git a/dev-python/mkdocs-ansible/mkdocs-ansible-0.2.0.ebuild b/dev-python/mkdocs-ansible/mkdocs-ansible-0.2.0.ebuild
deleted file mode 100644
index c0105064a6ad..000000000000
--- a/dev-python/mkdocs-ansible/mkdocs-ansible-0.2.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Ansible theme for MkDocs"
-HOMEPAGE="
- https://github.com/ansible/mkdocs-ansible/
- https://pypi.org/project/mkdocs-ansible/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-
-RDEPEND="
- >=dev-python/markdown-exec-1.3.0[${PYTHON_USEDEP}]
- >=dev-python/markdown-include-0.8.1[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-gen-files-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-htmlproofer-plugin-0.10.2[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-material-extensions-1.1.1[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-material-9.0.13[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-minify-plugin-0.6.2[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-monorepo-plugin-1.0.4[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.4.2[${PYTHON_USEDEP}]
- >=dev-python/mkdocstrings-python-0.8.3[${PYTHON_USEDEP}]
- >=dev-python/mkdocstrings-0.21.2[${PYTHON_USEDEP}]
- >=dev-python/pillow-9.4.0[${PYTHON_USEDEP}]
- >=dev-python/pymdown-extensions-9.9.2[${PYTHON_USEDEP}]
- >=media-gfx/cairosvg-2.6.0[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.2.0-prune_deps.patch
-)
diff --git a/dev-python/mkdocs-ansible/mkdocs-ansible-24.3.0.ebuild b/dev-python/mkdocs-ansible/mkdocs-ansible-24.3.0.ebuild
new file mode 100644
index 000000000000..49f1072aa0e3
--- /dev/null
+++ b/dev-python/mkdocs-ansible/mkdocs-ansible-24.3.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Ansible theme for MkDocs"
+HOMEPAGE="
+ https://github.com/ansible/mkdocs-ansible/
+ https://pypi.org/project/mkdocs-ansible/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="
+ >=dev-python/markdown-exec-1.3.0[${PYTHON_USEDEP}]
+ >=dev-python/markdown-include-0.8.1[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-gen-files-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-htmlproofer-plugin-0.10.2[${PYTHON_USEDEP}]
+ dev-python/mkdocs-macros-plugin[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-material-extensions-1.1.1[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-material-9.0.13[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-minify-plugin-0.6.2[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-monorepo-plugin-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.4.2[${PYTHON_USEDEP}]
+ >=dev-python/mkdocstrings-python-0.8.3[${PYTHON_USEDEP}]
+ >=dev-python/mkdocstrings-0.21.2[${PYTHON_USEDEP}]
+ >=dev-python/pillow-9.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pymdown-extensions-9.9.2[${PYTHON_USEDEP}]
+ >=media-gfx/cairosvg-2.6.0[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-24.2.1-prune_deps.patch
+)
diff --git a/dev-python/mkdocs-autorefs/Manifest b/dev-python/mkdocs-autorefs/Manifest
index 2f8eaa75997a..2be334e063bb 100644
--- a/dev-python/mkdocs-autorefs/Manifest
+++ b/dev-python/mkdocs-autorefs/Manifest
@@ -1 +1 @@
-DIST mkdocs_autorefs-0.5.0.tar.gz 12517 BLAKE2B 34672364f158a3cae5786cfe8576d0bd8cfad4fb21ecd72a29eae11a5d74994ae68920232ba07f306b87f8f7b8523c37e8557f537b98c3be5fe3e4bdee1ecb80 SHA512 b7bdf1b7d085fdf167d13a776369f1b9a2fd220d6e6c7061ab6c8386e734a34ce522fd69b9b16910bab51c80deac1bb820425f4b42c2d89e59b0ef5db95ffcb4
+DIST mkdocs_autorefs-1.0.1.tar.gz 17743 BLAKE2B 400a640bf200276744b2ad8694cfc37818526e725c9c5b551ad585c2f6dc2edc63f253228c6717a44d86c912d9dbe9625569fce716d6ca7041cd777046fd11d2 SHA512 2494cea8bee86f2d996347a71f775ec428d76f7cc2060e51b6d8df573fbabc6c848d3055636e81329236ea4aa14fa7b97070e1d3af93d5a7242118be7c02629d
diff --git a/dev-python/mkdocs-autorefs/metadata.xml b/dev-python/mkdocs-autorefs/metadata.xml
index 5276fcb1d79c..70f93f62ef4f 100644
--- a/dev-python/mkdocs-autorefs/metadata.xml
+++ b/dev-python/mkdocs-autorefs/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
diff --git a/dev-python/mkdocs-autorefs/mkdocs-autorefs-0.5.0.ebuild b/dev-python/mkdocs-autorefs/mkdocs-autorefs-0.5.0.ebuild
deleted file mode 100644
index 559c6a22b008..000000000000
--- a/dev-python/mkdocs-autorefs/mkdocs-autorefs-0.5.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-DISTUTILS_USE_PEP517=pdm-backend
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Automatically link across pages in MkDoc"
-HOMEPAGE="
- https://mkdocstrings.github.io/autorefs/
- https://github.com/mkdocstrings/autorefs/
- https://pypi.org/project/mkdocs-autorefs/
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv"
-
-RDEPEND="
- dev-python/markdown[${PYTHON_USEDEP}]
- dev-python/mkdocs[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/mkdocs-autorefs/mkdocs-autorefs-1.0.1.ebuild b/dev-python/mkdocs-autorefs/mkdocs-autorefs-1.0.1.ebuild
new file mode 100644
index 000000000000..97383ef46311
--- /dev/null
+++ b/dev-python/mkdocs-autorefs/mkdocs-autorefs-1.0.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+DISTUTILS_USE_PEP517=pdm-backend
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Automatically link across pages in MkDoc"
+HOMEPAGE="
+ https://mkdocstrings.github.io/autorefs/
+ https://github.com/mkdocstrings/autorefs/
+ https://pypi.org/project/mkdocs-autorefs/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/markdown-3.3[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/pygments-2.16[${PYTHON_USEDEP}]
+ >=dev-python/pymdown-extensions-10.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mkdocs-gen-files/metadata.xml b/dev-python/mkdocs-gen-files/metadata.xml
index 44177d653b70..c850f170c089 100644
--- a/dev-python/mkdocs-gen-files/metadata.xml
+++ b/dev-python/mkdocs-gen-files/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
diff --git a/dev-python/mkdocs-gen-files/mkdocs-gen-files-0.5.0.ebuild b/dev-python/mkdocs-gen-files/mkdocs-gen-files-0.5.0.ebuild
index c3da12db2be8..f5924f0e0336 100644
--- a/dev-python/mkdocs-gen-files/mkdocs-gen-files-0.5.0.ebuild
+++ b/dev-python/mkdocs-gen-files/mkdocs-gen-files-0.5.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -18,7 +18,13 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~riscv"
-RDEPEND=">=dev-python/mkdocs-1.0.3[${PYTHON_USEDEP}]"
-BDEPEND="test? ( dev-python/pytest-golden[${PYTHON_USEDEP}] )"
+RDEPEND="
+ >=dev-python/mkdocs-1.0.3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-golden[${PYTHON_USEDEP}]
+ )
+"
distutils_enable_tests pytest
diff --git a/dev-python/mkdocs-get-deps/Manifest b/dev-python/mkdocs-get-deps/Manifest
new file mode 100644
index 000000000000..8c70f83de18a
--- /dev/null
+++ b/dev-python/mkdocs-get-deps/Manifest
@@ -0,0 +1 @@
+DIST mkdocs_get_deps-0.2.0.tar.gz 10239 BLAKE2B 2fceb113b499f5c7433ef5ffbde60c8c1f2ae0817285ee41d4889c01283783959673609721766e70dc5888285d497e2b94c5462140d3119922b16c0071b13624 SHA512 3fdf445923b82544fc9feaddd6a99638901f9c88a34f404c38ce510934245bd836d1491a9c5561f7b49ae0aa006c58a83ac946449713b0504c0da788d8233d5e
diff --git a/dev-python/mkdocs-get-deps/metadata.xml b/dev-python/mkdocs-get-deps/metadata.xml
new file mode 100644
index 000000000000..3433311b0649
--- /dev/null
+++ b/dev-python/mkdocs-get-deps/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">mkdocs/get-deps</remote-id>
+ <remote-id type="pypi">mkdocs-get-deps</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mkdocs-get-deps/mkdocs-get-deps-0.2.0.ebuild b/dev-python/mkdocs-get-deps/mkdocs-get-deps-0.2.0.ebuild
new file mode 100644
index 000000000000..18add6bc773a
--- /dev/null
+++ b/dev-python/mkdocs-get-deps/mkdocs-get-deps-0.2.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="extension that lists all dependencies according to a mkdocs.yml file"
+HOMEPAGE="
+ https://github.com/mkdocs/get-deps/
+ https://pypi.org/project/mkdocs-get-deps/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/mergedeep-1.3.4[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mkdocs-git-authors-plugin/Manifest b/dev-python/mkdocs-git-authors-plugin/Manifest
index 752a2a427cca..72aa8538dc03 100644
--- a/dev-python/mkdocs-git-authors-plugin/Manifest
+++ b/dev-python/mkdocs-git-authors-plugin/Manifest
@@ -1 +1 @@
-DIST mkdocs-git-authors-plugin-0.7.2.gh.tar.gz 29300 BLAKE2B a93e87cde212fe15c1986bfdeeef207637b1bb10de1f864b0014b6dc0c74a64dbe152eae33c176adbb0e148cebd15717a307f874fd218e638835ce0687de14d8 SHA512 6fdaa7d06f0f0326b4123be546f0ad78ee3769a0048528e866b5c787ccaad9ba33e9c47b3597eea5b43d91f949d07b5cae9eca167b12978c7f577314e55c2721
+DIST mkdocs-git-authors-plugin-0.9.0.gh.tar.gz 30785 BLAKE2B babf9c6b200ee3ea6839e4b35c78e83c727477b9dbaee027fda49500d7b8bb57ffea2d960a2ca979ee8cb2e499a004dc49ca417c4a96054dad27408e4bbb0607 SHA512 66527124217eecef80025517b1fabe9b81c3b65808f0c32610a8333ace2bec1dbb316ad35aec819c03482e9a09961f8cf84f8b1c2f5bdfbd5e270c07019f06e6
diff --git a/dev-python/mkdocs-git-authors-plugin/mkdocs-git-authors-plugin-0.7.2.ebuild b/dev-python/mkdocs-git-authors-plugin/mkdocs-git-authors-plugin-0.7.2.ebuild
deleted file mode 100644
index 6bdf2722195f..000000000000
--- a/dev-python/mkdocs-git-authors-plugin/mkdocs-git-authors-plugin-0.7.2.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517="setuptools"
-PYTHON_COMPAT=( python3_{10..12} )
-
-# Requires self to be installed to build docs
-# TODO: Do this a bit better
-DOCS_BUILDER="mkdocs"
-DOCS_DEPEND="
- dev-python/regex
- dev-python/mkdocs-material
- dev-python/mkdocs-git-authors-plugin
-"
-DOCS_INITIALIZE_GIT=1
-
-inherit distutils-r1 docs
-
-DESCRIPTION="Mkdocs plugin to display git authors of a page"
-HOMEPAGE="
- https://github.com/timvink/mkdocs-git-authors-plugin/
- https://pypi.org/project/mkdocs-git-authors-plugin/
-"
-SRC_URI="https://github.com/timvink/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
-
-# Tests are broken outside of upstream git repo
-RESTRICT="test"
-
-RDEPEND="
- dev-python/GitPython[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/mkdocs-material[${PYTHON_USEDEP}]
- dev-python/mkdocs-git-revision-date-localized-plugin[${PYTHON_USEDEP}]
- dev-vcs/git
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # mkdocs-git-authors tests need git repo
- use test && initialize_git_repo
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/mkdocs-git-authors-plugin/mkdocs-git-authors-plugin-0.9.0.ebuild b/dev-python/mkdocs-git-authors-plugin/mkdocs-git-authors-plugin-0.9.0.ebuild
new file mode 100644
index 000000000000..092949b40893
--- /dev/null
+++ b/dev-python/mkdocs-git-authors-plugin/mkdocs-git-authors-plugin-0.9.0.ebuild
@@ -0,0 +1,55 @@
+# 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..13} )
+
+# Requires self to be installed to build docs
+# TODO: Do this a bit better
+DOCS_BUILDER="mkdocs"
+DOCS_DEPEND="
+ dev-python/regex
+ dev-python/mkdocs-material
+ dev-python/mkdocs-git-authors-plugin
+"
+DOCS_INITIALIZE_GIT=1
+
+inherit distutils-r1 docs
+
+DESCRIPTION="Mkdocs plugin to display git authors of a page"
+HOMEPAGE="
+ https://github.com/timvink/mkdocs-git-authors-plugin/
+ https://pypi.org/project/mkdocs-git-authors-plugin/
+"
+SRC_URI="https://github.com/timvink/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+
+# Tests are broken outside of upstream git repo
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/GitPython[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/mkdocs-material[${PYTHON_USEDEP}]
+ dev-python/mkdocs-git-revision-date-localized-plugin[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # mkdocs-git-authors tests need git repo
+ use test && initialize_git_repo
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/mkdocs-git-revision-date-localized-plugin/Manifest b/dev-python/mkdocs-git-revision-date-localized-plugin/Manifest
index 9406a74d3a94..d979150ad392 100644
--- a/dev-python/mkdocs-git-revision-date-localized-plugin/Manifest
+++ b/dev-python/mkdocs-git-revision-date-localized-plugin/Manifest
@@ -1,2 +1 @@
-DIST mkdocs-git-revision-date-localized-plugin-1.2.0.gh.tar.gz 378268 BLAKE2B ee4270e60a23b4c040de1b931c1d18f785d95b1947facd66d0b9180452dd30fee518fcdf24840b6523ee4944cf363ebbf9a27c93b09f45cc09daf277d4fd7085 SHA512 627c1b6c955f8c787ac01e9be5827648a8c9bbd1f9449c8a734f47fc83d28e3eba5faad142f69da12291c4ac3f728ae2c090e9b8e0a84b585557977a9fe04241
-DIST mkdocs-git-revision-date-localized-plugin-1.2.1.gh.tar.gz 377237 BLAKE2B 86e9b15c79cd9b1a17d3231cefd8ccf86afab8fc013e82ae116a38a5094386c6e450fde8a3fc0ecbc82dfe699c1973c86d9cc0f39f89b67617b0f9f0b37da0cf SHA512 4d2ad4406a2eb1a672ff4ce4b78a4b46a53a4189bbc5bff29d8682e7dbfc95ce5e22cf6f0865dca3941aa430b2f10e6bbd3bd8bddf2076190d14a21ca88e7a10
+DIST mkdocs-git-revision-date-localized-plugin-1.2.6.gh.tar.gz 377371 BLAKE2B a24dc76fcaa8e38f20ed751cb3976ef3b1a6898c1b4c52631e1b2f87119ee6ca448413d7e45bb312a64075534973b4b9c649a770cec1281f5cbe9783c112c7f2 SHA512 a230f3e3e6aba437f42eda16e577d6f6dd13ac693e801d4e77c2261f8ed6efba3317803f566581d2cb2f847bbc5d23750f5bc932bd881f892b34484d6448e661
diff --git a/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.2.0.ebuild b/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.2.0.ebuild
deleted file mode 100644
index c064a42f2c6d..000000000000
--- a/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.2.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
-
-DISTUTILS_USE_PEP517="setuptools"
-PYTHON_COMPAT=( python3_{9..11} )
-
-DOCS_BUILDER="mkdocs"
-DOCS_DEPEND="
- dev-python/regex
- dev-python/mkdocs-i18n
- dev-python/mkdocs-material
- dev-python/mkdocs-git-authors-plugin
- dev-python/mkdocs-git-revision-date-localized-plugin
-"
-
-inherit distutils-r1 docs
-
-DESCRIPTION="Display the localized date of the last git modification of a markdown file"
-HOMEPAGE="
- https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/
- https://pypi.org/project/mkdocs-git-revision-date-localized-plugin/
-"
-SRC_URI="
- https://github.com/timvink/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/Babel-2.7.0[${PYTHON_USEDEP}]
- dev-python/GitPython[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.0[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/mkdocs-material[${PYTHON_USEDEP}]
- dev-python/mkdocs-i18n[${PYTHON_USEDEP}]
- dev-vcs/git
- )
- doc? ( dev-vcs/git )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # mkdocs-git-revision-date-localized-plugin's tests need git repo
- if use test || use doc; then
- git init -q || die
- git config --global user.email "you@example.com" || die
- git config --global user.name "Your Name" || die
- git add . || die
- git commit -qm 'init' || die
- fi
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.2.1.ebuild b/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.2.1.ebuild
deleted file mode 100644
index e98698762ed0..000000000000
--- a/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.2.1.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
-
-DISTUTILS_USE_PEP517="setuptools"
-PYTHON_COMPAT=( python3_{10..12} )
-
-DOCS_BUILDER="mkdocs"
-DOCS_DEPEND="
- dev-python/regex
- dev-python/mkdocs-i18n
- dev-python/mkdocs-material
- dev-python/mkdocs-git-authors-plugin
- dev-python/mkdocs-git-revision-date-localized-plugin
-"
-
-inherit distutils-r1 docs
-
-DESCRIPTION="Display the localized date of the last git modification of a markdown file"
-HOMEPAGE="
- https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/
- https://pypi.org/project/mkdocs-git-revision-date-localized-plugin/
-"
-SRC_URI="
- https://github.com/timvink/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/Babel-2.7.0[${PYTHON_USEDEP}]
- dev-python/GitPython[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.0[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/mkdocs-material[${PYTHON_USEDEP}]
- dev-python/mkdocs-i18n[${PYTHON_USEDEP}]
- dev-vcs/git
- )
- doc? ( dev-vcs/git )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # mkdocs-git-revision-date-localized-plugin's tests need git repo
- if use test || use doc; then
- git init -q || die
- git config --global user.email "you@example.com" || die
- git config --global user.name "Your Name" || die
- git add . || die
- git commit -qm 'init' || die
- fi
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.2.6.ebuild b/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.2.6.ebuild
new file mode 100644
index 000000000000..9eb735876697
--- /dev/null
+++ b/dev-python/mkdocs-git-revision-date-localized-plugin/mkdocs-git-revision-date-localized-plugin-1.2.6.ebuild
@@ -0,0 +1,63 @@
+# 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..13} )
+
+DOCS_BUILDER="mkdocs"
+DOCS_DEPEND="
+ dev-python/regex
+ dev-python/mkdocs-static-i18n
+ dev-python/mkdocs-material
+ dev-python/mkdocs-git-authors-plugin
+ dev-python/mkdocs-git-revision-date-localized-plugin
+"
+
+inherit distutils-r1 docs
+
+DESCRIPTION="Display the localized date of the last git modification of a markdown file"
+HOMEPAGE="
+ https://github.com/timvink/mkdocs-git-revision-date-localized-plugin/
+ https://pypi.org/project/mkdocs-git-revision-date-localized-plugin/
+"
+SRC_URI="
+ https://github.com/timvink/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/Babel-2.7.0[${PYTHON_USEDEP}]
+ dev-python/GitPython[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.0[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/mkdocs-material[${PYTHON_USEDEP}]
+ dev-python/mkdocs-static-i18n[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+ doc? ( dev-vcs/git )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # mkdocs-git-revision-date-localized-plugin's tests need git repo
+ if use test || use doc; then
+ git init -q || die
+ git config --global user.email "larry@gentoo.org" || die
+ git config --global user.name "Larry the Cow" || die
+ git add . || die
+ git commit -qm 'init' || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/mkdocs-htmlproofer-plugin/Manifest b/dev-python/mkdocs-htmlproofer-plugin/Manifest
index 88a75b9b0360..06631621ae2d 100644
--- a/dev-python/mkdocs-htmlproofer-plugin/Manifest
+++ b/dev-python/mkdocs-htmlproofer-plugin/Manifest
@@ -1 +1 @@
-DIST mkdocs-htmlproofer-plugin-1.0.0.gh.tar.gz 14534 BLAKE2B 361c422e985dd00c12ffa6bcd1ba02df0ef18fb37f7290660963832b38dd0f2c8e79662780224588f626eaa9215afa9852aed59fc6771a3877f779f40493f54d SHA512 083103ca8a1e1f63a22fb877ec3d123549745157f3f8bc3b10364c271b7975c09222b850ddef4bc9a1aa9d168711764f74c91bed50d8a48c4c7415f894df5fb3
+DIST mkdocs-htmlproofer-plugin-1.2.1.gh.tar.gz 15783 BLAKE2B 182f2cf64742edfb27be41df839952d874716dd4937269344cc2b32255ed1978ed479b9b9df86e9fe076153eeafed05367cf78dba464d8b5d9b025c13d889662 SHA512 1963efffa62ff911bc2c5adc1af51b9711cc830e12ebafcbb5e83508cb3471faeecec5929086ade81a34a95fdd00b9d3c3ce3b1f4575d75300294c8b0fb30027
diff --git a/dev-python/mkdocs-htmlproofer-plugin/metadata.xml b/dev-python/mkdocs-htmlproofer-plugin/metadata.xml
index bca7db4cb903..2b3a2c20bcaf 100644
--- a/dev-python/mkdocs-htmlproofer-plugin/metadata.xml
+++ b/dev-python/mkdocs-htmlproofer-plugin/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
diff --git a/dev-python/mkdocs-htmlproofer-plugin/mkdocs-htmlproofer-plugin-1.0.0.ebuild b/dev-python/mkdocs-htmlproofer-plugin/mkdocs-htmlproofer-plugin-1.0.0.ebuild
deleted file mode 100644
index b823df527cb5..000000000000
--- a/dev-python/mkdocs-htmlproofer-plugin/mkdocs-htmlproofer-plugin-1.0.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A MkDocs plugin that validates URLs in rendered HTML files"
-HOMEPAGE="
- https://github.com/manuzhang/mkdocs-htmlproofer-plugin/
- https://pypi.org/project/mkdocs-htmlproofer-plugin/
-"
-# No tests in PyPI tarballs
-SRC_URI="
- https://github.com/manuzhang/mkdocs-htmlproofer-plugin/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv"
-
-RDEPEND="
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/markdown[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.4.0[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/mkdocs-htmlproofer-plugin/mkdocs-htmlproofer-plugin-1.2.1.ebuild b/dev-python/mkdocs-htmlproofer-plugin/mkdocs-htmlproofer-plugin-1.2.1.ebuild
new file mode 100644
index 000000000000..85e5eba02bc6
--- /dev/null
+++ b/dev-python/mkdocs-htmlproofer-plugin/mkdocs-htmlproofer-plugin-1.2.1.ebuild
@@ -0,0 +1,33 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A MkDocs plugin that validates URLs in rendered HTML files"
+HOMEPAGE="
+ https://github.com/manuzhang/mkdocs-htmlproofer-plugin/
+ https://pypi.org/project/mkdocs-htmlproofer-plugin/
+"
+# No tests in PyPI tarballs
+SRC_URI="
+ https://github.com/manuzhang/mkdocs-htmlproofer-plugin/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.4.0[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mkdocs-i18n/mkdocs-i18n-0.4.6.ebuild b/dev-python/mkdocs-i18n/mkdocs-i18n-0.4.6.ebuild
index a813583fad70..c3005833e740 100644
--- a/dev-python/mkdocs-i18n/mkdocs-i18n-0.4.6.ebuild
+++ b/dev-python/mkdocs-i18n/mkdocs-i18n-0.4.6.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="AGPL-3"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
RDEPEND="
>=dev-python/mkdocs-1.1[${PYTHON_USEDEP}]
diff --git a/dev-python/mkdocs-macros-plugin/Manifest b/dev-python/mkdocs-macros-plugin/Manifest
new file mode 100644
index 000000000000..8398cc363077
--- /dev/null
+++ b/dev-python/mkdocs-macros-plugin/Manifest
@@ -0,0 +1 @@
+DIST mkdocs-macros-plugin-1.0.5.tar.gz 566013 BLAKE2B f984cced060f09060bd63c7c204799dd9b318fa98229b2a86b034165190a76ccac7c8d37bf084c56ba0673105a818c0a0d210121d01e6b677349488aa0730160 SHA512 38fa2f2522f08b418ef8dc8fd222ba6b0feb2cb81bcaed98017e9641b66f249e77d93334850a6e6e8dcb91f2d3cfc16e3348b5a1f0103bb93512465a8b095f35
diff --git a/dev-python/mkdocs-macros-plugin/metadata.xml b/dev-python/mkdocs-macros-plugin/metadata.xml
new file mode 100644
index 000000000000..f62fed301d7c
--- /dev/null
+++ b/dev-python/mkdocs-macros-plugin/metadata.xml
@@ -0,0 +1,10 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- maintainer-needed -->
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">mkdocs-macros-plugin</remote-id>
+ <remote-id type="github">fralau/mkdocs-macros-plugin</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/mkdocs-macros-plugin/mkdocs-macros-plugin-1.0.5.ebuild b/dev-python/mkdocs-macros-plugin/mkdocs-macros-plugin-1.0.5.ebuild
new file mode 100644
index 000000000000..83f8ce26363b
--- /dev/null
+++ b/dev-python/mkdocs-macros-plugin/mkdocs-macros-plugin-1.0.5.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Mkdocs plug-in allowing the use of macros and variables in Markdown"
+HOMEPAGE="
+ https://mkdocs-macros-plugin.readthedocs.io/
+ https://pypi.org/project/mkdocs-macros-plugin/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+# TODO: enable these once the relevant deps have been packaged
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-python/mkdocs-0.17[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/termcolor[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.3.1.ebuild b/dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.3.1.ebuild
index 1b7f413397f0..c21ed128e1dc 100644
--- a/dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.3.1.ebuild
+++ b/dev-python/mkdocs-material-extensions/mkdocs-material-extensions-1.3.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
RDEPEND="
>=dev-python/mkdocs-material-5.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/mkdocs-material/Manifest b/dev-python/mkdocs-material/Manifest
index 853587305436..68bad461c5cd 100644
--- a/dev-python/mkdocs-material/Manifest
+++ b/dev-python/mkdocs-material/Manifest
@@ -1 +1,3 @@
-DIST mkdocs-material-9.4.14.gh.tar.gz 14563700 BLAKE2B 313698c16f79cc11fc9aa2905313871605f683fad32073e956402728e0b51cbd2788947c11711eb1fc9a0addb8cdc1d7382703cc5a6684a72541f40a1afb699f SHA512 1102c1003562af2fc7126d85d8e5b0556cd240d6c56273f811947bbfc650fd7554b8b979ab9e14a43ed3dc44688c7ce277e28fdd4cbb6787b83b9f76d80a3bbf
+DIST mkdocs-material-9.5.28.gh.tar.gz 14934242 BLAKE2B 6f45fe353569623cb8c77f43cf372a5f62a48812b40aba5351c86cd941dee3e19f9af31ada73188bc3e8b5426a11041a10611761e7b5a12d7ffbcf64aa081b6d SHA512 34e3dc512c1d9a19406afb49aae38e7e4e2689cec6a9418b90271eff7ae1c4bc820e7ff51c6fa20639dda6d51ca1b70b97da0e4e3795b6cee1fb9bf756df6a68
+DIST mkdocs-material-9.5.29.gh.tar.gz 14923128 BLAKE2B 646f58cab9d58d15f73e1b38bf165a819d70f3ebb39a75190fd03dc5baa04e92a0b73174c8ca9420602aabec00a4d1b51dadf2b8df57694365826d9b35387d14 SHA512 12b3c48c55f1fe32a6387cc18d9c102de8c1dc8a45ee28089236702ff0d0e7a3abb1032e4bdab206e45c24201f92a4c7aa8de10556d3034e953d2f57508398e6
+DIST mkdocs-material-9.5.30.gh.tar.gz 14925913 BLAKE2B 291d9302e8c49724e31493176ad72f6ad7926f167ff1e761087b83158f6689cf081ab0155eeff29985ae5f4ca5bdf36e988515e128c86506fb742ff7e3105a14 SHA512 67afb9b558368922aaf585f797b054b7a1eb32d47653212723fa57fc6f6f52e540fadf0d90fdb9e1043e5f60e2210fe9225746caf53451163700ad0319caf522
diff --git a/dev-python/mkdocs-material/mkdocs-material-9.4.14.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.4.14.ebuild
deleted file mode 100644
index 308a60334790..000000000000
--- a/dev-python/mkdocs-material/mkdocs-material-9.4.14.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-DOCS_BUILDER="mkdocs"
-DOCS_DEPEND="
- dev-python/mkdocs-material-extensions
- dev-python/mkdocs-minify-plugin
- dev-python/mkdocs-redirects
-"
-
-inherit distutils-r1 docs
-
-DESCRIPTION="A Material Design theme for MkDocs"
-HOMEPAGE="
- https://github.com/squidfunk/mkdocs-material/
- https://pypi.org/project/mkdocs-material/
-"
-SRC_URI="
- https://github.com/squidfunk/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
-IUSE="social"
-
-RDEPEND="
- >=dev-python/Babel-2.10.3[${PYTHON_USEDEP}]
- >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.6[${PYTHON_USEDEP}]
- >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.5.3[${PYTHON_USEDEP}]
- >=dev-python/paginate-0.5.6[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.16[${PYTHON_USEDEP}]
- >=dev-python/pymdown-extensions-10.2[${PYTHON_USEDEP}]
- >=dev-python/readtime-2.0[${PYTHON_USEDEP}]
- >=dev-python/regex-2022.4.24[${PYTHON_USEDEP}]
- >=dev-python/requests-2.26[${PYTHON_USEDEP}]
- social? (
- >=dev-python/pillow-9.0[${PYTHON_USEDEP}]
- >=media-gfx/cairosvg-2.5[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- >=dev-python/trove-classifiers-2023.10.18[${PYTHON_USEDEP}]
-"
-# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
-PDEPEND="
- >=dev-python/mkdocs-material-extensions-1.2[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- # simplify pyproject to remove extra deps for metadata
- "${FILESDIR}/${PN}-8.5.7-simplify-build.patch"
-)
-
-src_prepare() {
- echo "__version__ = '${PV}'" > gentoo_version.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/mkdocs-material/mkdocs-material-9.5.28.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.5.28.ebuild
new file mode 100644
index 000000000000..d79902da91b8
--- /dev/null
+++ b/dev-python/mkdocs-material/mkdocs-material-9.5.28.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+DOCS_BUILDER="mkdocs"
+DOCS_DEPEND="
+ dev-python/mkdocs-material-extensions
+ dev-python/mkdocs-minify-plugin
+ dev-python/mkdocs-redirects
+"
+
+inherit distutils-r1 docs
+
+DESCRIPTION="A Material Design theme for MkDocs"
+HOMEPAGE="
+ https://github.com/squidfunk/mkdocs-material/
+ https://pypi.org/project/mkdocs-material/
+"
+SRC_URI="
+ https://github.com/squidfunk/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+IUSE="social"
+
+RDEPEND="
+ >=dev-python/Babel-2.10.3[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.6[${PYTHON_USEDEP}]
+ >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.5.3[${PYTHON_USEDEP}]
+ >=dev-python/paginate-0.5.6[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.16[${PYTHON_USEDEP}]
+ >=dev-python/pymdown-extensions-10.2[${PYTHON_USEDEP}]
+ >=dev-python/readtime-2.0[${PYTHON_USEDEP}]
+ >=dev-python/regex-2022.4.24[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.26[${PYTHON_USEDEP}]
+ social? (
+ >=dev-python/pillow-10.2[${PYTHON_USEDEP}]
+ >=media-gfx/cairosvg-2.5[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ >=dev-python/trove-classifiers-2023.10.18[${PYTHON_USEDEP}]
+"
+# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
+PDEPEND="
+ >=dev-python/mkdocs-material-extensions-1.2[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ # simplify pyproject to remove extra deps for metadata
+ "${FILESDIR}/${PN}-8.5.7-simplify-build.patch"
+)
+
+src_prepare() {
+ echo "__version__ = '${PV}'" > gentoo_version.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/mkdocs-material/mkdocs-material-9.5.29.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.5.29.ebuild
new file mode 100644
index 000000000000..0aabdac3ae43
--- /dev/null
+++ b/dev-python/mkdocs-material/mkdocs-material-9.5.29.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+DOCS_BUILDER="mkdocs"
+DOCS_DEPEND="
+ dev-python/mkdocs-material-extensions
+ dev-python/mkdocs-minify-plugin
+ dev-python/mkdocs-redirects
+"
+
+inherit distutils-r1 docs
+
+DESCRIPTION="A Material Design theme for MkDocs"
+HOMEPAGE="
+ https://github.com/squidfunk/mkdocs-material/
+ https://pypi.org/project/mkdocs-material/
+"
+SRC_URI="
+ https://github.com/squidfunk/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="social"
+
+RDEPEND="
+ >=dev-python/Babel-2.10.3[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.6[${PYTHON_USEDEP}]
+ >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.5.3[${PYTHON_USEDEP}]
+ >=dev-python/paginate-0.5.6[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.16[${PYTHON_USEDEP}]
+ >=dev-python/pymdown-extensions-10.2[${PYTHON_USEDEP}]
+ >=dev-python/readtime-2.0[${PYTHON_USEDEP}]
+ >=dev-python/regex-2022.4.24[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.26[${PYTHON_USEDEP}]
+ social? (
+ >=dev-python/pillow-10.2[${PYTHON_USEDEP}]
+ >=media-gfx/cairosvg-2.5[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ >=dev-python/trove-classifiers-2023.10.18[${PYTHON_USEDEP}]
+"
+# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
+PDEPEND="
+ >=dev-python/mkdocs-material-extensions-1.2[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ # simplify pyproject to remove extra deps for metadata
+ "${FILESDIR}/${PN}-8.5.7-simplify-build.patch"
+)
+
+src_prepare() {
+ echo "__version__ = '${PV}'" > gentoo_version.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/mkdocs-material/mkdocs-material-9.5.30.ebuild b/dev-python/mkdocs-material/mkdocs-material-9.5.30.ebuild
new file mode 100644
index 000000000000..0aabdac3ae43
--- /dev/null
+++ b/dev-python/mkdocs-material/mkdocs-material-9.5.30.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+DOCS_BUILDER="mkdocs"
+DOCS_DEPEND="
+ dev-python/mkdocs-material-extensions
+ dev-python/mkdocs-minify-plugin
+ dev-python/mkdocs-redirects
+"
+
+inherit distutils-r1 docs
+
+DESCRIPTION="A Material Design theme for MkDocs"
+HOMEPAGE="
+ https://github.com/squidfunk/mkdocs-material/
+ https://pypi.org/project/mkdocs-material/
+"
+SRC_URI="
+ https://github.com/squidfunk/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+IUSE="social"
+
+RDEPEND="
+ >=dev-python/Babel-2.10.3[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.6[${PYTHON_USEDEP}]
+ >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.5.3[${PYTHON_USEDEP}]
+ >=dev-python/paginate-0.5.6[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.16[${PYTHON_USEDEP}]
+ >=dev-python/pymdown-extensions-10.2[${PYTHON_USEDEP}]
+ >=dev-python/readtime-2.0[${PYTHON_USEDEP}]
+ >=dev-python/regex-2022.4.24[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.26[${PYTHON_USEDEP}]
+ social? (
+ >=dev-python/pillow-10.2[${PYTHON_USEDEP}]
+ >=media-gfx/cairosvg-2.5[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ >=dev-python/trove-classifiers-2023.10.18[${PYTHON_USEDEP}]
+"
+# mkdocs-material-extensions depends on mkdocs-material creating a circular dep
+PDEPEND="
+ >=dev-python/mkdocs-material-extensions-1.2[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ # simplify pyproject to remove extra deps for metadata
+ "${FILESDIR}/${PN}-8.5.7-simplify-build.patch"
+)
+
+src_prepare() {
+ echo "__version__ = '${PV}'" > gentoo_version.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/mkdocs-minify-plugin/Manifest b/dev-python/mkdocs-minify-plugin/Manifest
index 9923c578dc00..4a27a03e9cd4 100644
--- a/dev-python/mkdocs-minify-plugin/Manifest
+++ b/dev-python/mkdocs-minify-plugin/Manifest
@@ -1 +1 @@
-DIST mkdocs-minify-plugin-0.7.1.gh.tar.gz 8935 BLAKE2B d5b29515a40068dd01894f7dffc54ad627fbaa6e3efaea91c19ab4fb3571dcfba00f1ec9f2e23869dc4bd2bf97dec2a872a8e91fd928dc628f6a0fc8fe455539 SHA512 c8d732cf7906c37b754ad7d5c2132a88d1175f5da453aa53ac390ae2c0461e8a8ed6ffb88c64c8bc627be593e5f9e1f9b8d9e44181c29bee60188d4a9a3a254b
+DIST mkdocs-minify-plugin-0.8.0.gh.tar.gz 9241 BLAKE2B 98686884c7122b2731a1b923099f59af8cea4364d544ccbf9c07c34b293531f47ea5d0a6ef60054e88e54a4a97cf37d4f5ecfd27351b6efa85ae26e14545e841 SHA512 d810d3a9e72a59771cf28950ea82ff8021ac12734f38abf2d10d1d0bb4ef248678ca2116378798a613f0fc60997c5714ecb711496d2fcc2ff79c1a90948dbc0f
diff --git a/dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.7.1.ebuild b/dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.7.1.ebuild
deleted file mode 100644
index 2a7905511fe7..000000000000
--- a/dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.7.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="An MkDocs plugin to minify HTML and/or JS files prior to being written to disk"
-HOMEPAGE="
- https://github.com/byrnereese/mkdocs-minify-plugin
- https://pypi.org/project/mkdocs-minify-plugin/
-"
-# pypi sdist lacks tests, as of 0.6.4
-SRC_URI="
- https://github.com/byrnereese/mkdocs-minify-plugin/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
-
-# https://bugs.gentoo.org/911738
-# The tests compare hard coded hashes, since we cannot guarantee reproducibility
-# of our own build the test will likely fail.
-RESTRICT="test"
-
-RDEPEND="
- >=dev-python/csscompressor-0.9.5[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.4.1[${PYTHON_USEDEP}]
- >=app-text/htmlmin-0.1.12[${PYTHON_USEDEP}]
- >=dev-python/jsmin-3.0.1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # this is a fork of htmlmin with the same patches that we have
- sed -i -e '/htmlmin2/d' setup.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x PATH=${T}:${PATH}
- cat > "${T}"/mkdocs <<-EOF || die
- #!/bin/sh
- exec "${EPYTHON}" -m mkdocs "\${@}"
- EOF
- chmod +x "${T}"/mkdocs || die
- epytest
-}
diff --git a/dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.8.0.ebuild b/dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.8.0.ebuild
new file mode 100644
index 000000000000..2e6089630c3a
--- /dev/null
+++ b/dev-python/mkdocs-minify-plugin/mkdocs-minify-plugin-0.8.0.ebuild
@@ -0,0 +1,51 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="An MkDocs plugin to minify HTML and/or JS files prior to being written to disk"
+HOMEPAGE="
+ https://github.com/byrnereese/mkdocs-minify-plugin
+ https://pypi.org/project/mkdocs-minify-plugin/
+"
+# pypi sdist lacks tests, as of 0.6.4
+SRC_URI="
+ https://github.com/byrnereese/mkdocs-minify-plugin/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+# https://bugs.gentoo.org/931325
+RESTRICT="test"
+
+RDEPEND="
+ >=dev-python/csscompressor-0.9.5[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.4.1[${PYTHON_USEDEP}]
+ >=app-text/htmlmin-0.1.12[${PYTHON_USEDEP}]
+ >=dev-python/jsmin-3.0.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # this is a fork of htmlmin with the same patches that we have
+ sed -i -e '/htmlmin2/d' setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PATH=${T}:${PATH}
+ cat > "${T}"/mkdocs <<-EOF || die
+ #!/bin/sh
+ exec "${EPYTHON}" -m mkdocs "\${@}"
+ EOF
+ chmod +x "${T}"/mkdocs || die
+ epytest
+}
diff --git a/dev-python/mkdocs-monorepo-plugin/Manifest b/dev-python/mkdocs-monorepo-plugin/Manifest
index d1dc8d0474e3..c9a507cd5ba5 100644
--- a/dev-python/mkdocs-monorepo-plugin/Manifest
+++ b/dev-python/mkdocs-monorepo-plugin/Manifest
@@ -1 +1 @@
-DIST mkdocs-monorepo-plugin-1.0.5.tar.gz 9510 BLAKE2B 96b63fabe344f99aaefd0d3d0f547f0695fcee5b7f6d5ce027fc52ef27c1a70353c3835d0a0d02c753c48a67123bc6776a8060fa0a07640ca26f008df8f3611d SHA512 ed3c011d9a7b5a32868a4a16cbdfa1fd4ce036da2d73d59645aa5f42895f12ce7fe6d1681b53d72248b09fbdb343b2cfad3846e7005dbc8977c7ae40b8e29b30
+DIST mkdocs-monorepo-plugin-1.1.0.tar.gz 13435 BLAKE2B 5e3b0af987f0125595c32e9a68fbc5d41936081fff17a69f381789df03870cfc7efcca768de4de5663998e5437d25d24b91ab60a32106e027c5c76204aaeeaaa SHA512 8820bea9dc7e8754832c85e8b8a5e369f5ab28d388d6386912b0903739dd8bafc7dfda59bf7e4b98938ac171c7d76c9bd2e836a9c0fd05f0a61e1787e959f5da
diff --git a/dev-python/mkdocs-monorepo-plugin/metadata.xml b/dev-python/mkdocs-monorepo-plugin/metadata.xml
index 62f26ac9e62a..2becf1e7c270 100644
--- a/dev-python/mkdocs-monorepo-plugin/metadata.xml
+++ b/dev-python/mkdocs-monorepo-plugin/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
diff --git a/dev-python/mkdocs-monorepo-plugin/mkdocs-monorepo-plugin-1.0.5.ebuild b/dev-python/mkdocs-monorepo-plugin/mkdocs-monorepo-plugin-1.0.5.ebuild
deleted file mode 100644
index fef027857a21..000000000000
--- a/dev-python/mkdocs-monorepo-plugin/mkdocs-monorepo-plugin-1.0.5.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Build multiple documentation folders in a single Mkdocs"
-HOMEPAGE="
- https://backstage.github.io/mkdocs-monorepo-plugin/
- https://pypi.org/project/mkdocs-monorepo-plugin/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv"
-
-RDEPEND="
- >=dev-python/mkdocs-1.0.4[${PYTHON_USEDEP}]
- >=dev-python/python-slugify-4.0.1[${PYTHON_USEDEP}]
-"
-
-# Data files required by this test are not included in PyPI tarballs,
-# and upstream has not tagged any releases in their GitHub repository since 2019.
-EPYTEST_DESELECT=(
- mkdocs_monorepo_plugin/tests/test_plugin.py::TestMonorepoPlugin::test_plugin_on_config_with_nav
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/mkdocs-monorepo-plugin/mkdocs-monorepo-plugin-1.1.0.ebuild b/dev-python/mkdocs-monorepo-plugin/mkdocs-monorepo-plugin-1.1.0.ebuild
new file mode 100644
index 000000000000..c5258577baac
--- /dev/null
+++ b/dev-python/mkdocs-monorepo-plugin/mkdocs-monorepo-plugin-1.1.0.ebuild
@@ -0,0 +1,33 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Build multiple documentation folders in a single Mkdocs"
+HOMEPAGE="
+ https://backstage.github.io/mkdocs-monorepo-plugin/
+ https://pypi.org/project/mkdocs-monorepo-plugin/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/mkdocs-1.0.4[${PYTHON_USEDEP}]
+ >=dev-python/python-slugify-4.0.1[${PYTHON_USEDEP}]
+"
+
+# Data files required by this test are not included in PyPI tarballs,
+# and upstream has not tagged any releases in their GitHub repository since 2019.
+EPYTEST_DESELECT=(
+ mkdocs_monorepo_plugin/tests/test_plugin.py::TestMonorepoPlugin::test_plugin_on_config_with_nav
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/mkdocs-pymdownx-material-extras/Manifest b/dev-python/mkdocs-pymdownx-material-extras/Manifest
index 5bcbf5736e31..33d3e1bb1f50 100644
--- a/dev-python/mkdocs-pymdownx-material-extras/Manifest
+++ b/dev-python/mkdocs-pymdownx-material-extras/Manifest
@@ -1,2 +1 @@
-DIST mkdocs_pymdownx_material_extras-2.5.5.tar.gz 22591 BLAKE2B 192474ce7e632ba419f6f92830d6d167f9706f4af301fdce8f50db3e7ca647d40318be845b3bd8deb695c9a0a5e490550c54ade7028166cbc64cc3704f825084 SHA512 76e7aa03853dffcae53e25dba29787331d6e4c0604bb1334f9666043d6794cd434d6e9646922a4f329d78dbb49ea2e5f0ed5fd5c843277b21aa6486c016b74c2
DIST mkdocs_pymdownx_material_extras-2.5.6.tar.gz 25534 BLAKE2B e87b37a06e1c528cd869361faa9b823ee3eb207d93c05f6f1d67653aec041dc0c6ab3937c51c9340999bc08a4cde52d5eab71abb3d84b9bacee7d1cfa4b0a3c8 SHA512 379a666dba2cafd4b1895f75f7ad430379b1088c2b373c93742a0d5f3555f30ed86b8a153fedb6e7555d0664b6c102a699f47671d6729027ba02cf14a49e963a
diff --git a/dev-python/mkdocs-pymdownx-material-extras/metadata.xml b/dev-python/mkdocs-pymdownx-material-extras/metadata.xml
index f4fb8893a051..d1478ff202e9 100644
--- a/dev-python/mkdocs-pymdownx-material-extras/metadata.xml
+++ b/dev-python/mkdocs-pymdownx-material-extras/metadata.xml
@@ -1,18 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>lssndrbarbieri@gmail.com</email>
- <name>Alessandro Barbieri</name>
- </maintainer>
<maintainer type="person">
<email>andrewammerlaan@gentoo.org</email>
<name>Andrew Ammerlaan</name>
</maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<upstream>
<remote-id type="github">facelessuser/mkdocs_pymdownx_material_extras</remote-id>
<remote-id type="pypi">mkdocs-pymdownx-material-extras</remote-id>
diff --git a/dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.5.5.ebuild b/dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.5.5.ebuild
deleted file mode 100644
index 05bd6fd0c034..000000000000
--- a/dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.5.5.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Custom alterations based on Mkdocs-Material"
-HOMEPAGE="
- https://github.com/facelessuser/mkdocs_pymdownx_material_extras/
- https://pypi.org/project/mkdocs-pymdownx-material-extras/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/mkdocs-material-8.3.3[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.5.6.ebuild b/dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.5.6.ebuild
index 1a9cabf7d77e..a110bdeb727e 100644
--- a/dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.5.6.ebuild
+++ b/dev-python/mkdocs-pymdownx-material-extras/mkdocs-pymdownx-material-extras-2.5.6.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
RDEPEND="
>=dev-python/mkdocs-material-8.3.3[${PYTHON_USEDEP}]
diff --git a/dev-python/mkdocs-redirects/mkdocs-redirects-1.2.1-r1.ebuild b/dev-python/mkdocs-redirects/mkdocs-redirects-1.2.1-r1.ebuild
new file mode 100644
index 000000000000..866c45fc50fc
--- /dev/null
+++ b/dev-python/mkdocs-redirects/mkdocs-redirects-1.2.1-r1.ebuild
@@ -0,0 +1,31 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Plugin for Mkdocs page redirects"
+HOMEPAGE="
+ https://github.com/mkdocs/mkdocs-redirects
+ https://pypi.org/project/mkdocs-redirects/
+"
+SRC_URI="
+ https://github.com/mkdocs/mkdocs-redirects/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/mkdocs-1.0.4[${PYTHON_USEDEP}]
+ <dev-python/mkdocs-2[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mkdocs-redirects/mkdocs-redirects-1.2.1.ebuild b/dev-python/mkdocs-redirects/mkdocs-redirects-1.2.1.ebuild
deleted file mode 100644
index 6e9f661ea205..000000000000
--- a/dev-python/mkdocs-redirects/mkdocs-redirects-1.2.1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Plugin for Mkdocs page redirects"
-HOMEPAGE="
- https://github.com/mkdocs/mkdocs-redirects
- https://pypi.org/project/mkdocs-redirects/
-"
-SRC_URI="
- https://github.com/mkdocs/mkdocs-redirects/archive/refs/tags/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/mkdocs-1.0.4[${PYTHON_USEDEP}]
- <dev-python/mkdocs-2[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/twine[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/mkdocs-static-i18n/Manifest b/dev-python/mkdocs-static-i18n/Manifest
new file mode 100644
index 000000000000..3f33a2bf3f99
--- /dev/null
+++ b/dev-python/mkdocs-static-i18n/Manifest
@@ -0,0 +1 @@
+DIST mkdocs_static_i18n-1.2.3.tar.gz 1370068 BLAKE2B 500046d2a84ec8654a8d51f7a57bc2da04cb0f65a2103b05305494db5ac1217b5e0834b3363683513a33bd87cecfad2eb1ff4b8928a81293b756e268d45e674a SHA512 1728846c7be845abd498cca523087e37049ed2fc3b32235188e633365cb28eab13d4da28921e8406f2bbfce296de48d9280ac562dbe825b4de486d0a8cde92a3
diff --git a/dev-python/mkdocs-static-i18n/metadata.xml b/dev-python/mkdocs-static-i18n/metadata.xml
new file mode 100644
index 000000000000..a47c902ad629
--- /dev/null
+++ b/dev-python/mkdocs-static-i18n/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ultrabug/mkdocs-static-i18n</remote-id>
+ <remote-id type="pypi">mkdocs-static-i18n</remote-id>
+ </upstream>
+ <stabilize-allarches/>
+</pkgmetadata>
diff --git a/dev-python/mkdocs-static-i18n/mkdocs-static-i18n-1.2.3.ebuild b/dev-python/mkdocs-static-i18n/mkdocs-static-i18n-1.2.3.ebuild
new file mode 100644
index 000000000000..1868e6989342
--- /dev/null
+++ b/dev-python/mkdocs-static-i18n/mkdocs-static-i18n-1.2.3.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517="hatchling"
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="MkDocs i18n plugin using static translation markdown files"
+HOMEPAGE="
+ https://github.com/ultrabug/mkdocs-static-i18n
+ https://pypi.org/project/mkdocs-static-i18n/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/mkdocs-1.5.2[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/mkdocs-material[${PYTHON_USEDEP}]
+ !!dev-python/mkdocs-i18n
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/mkdocs/Manifest b/dev-python/mkdocs/Manifest
index 8b6da2ece664..85bbbffbd546 100644
--- a/dev-python/mkdocs/Manifest
+++ b/dev-python/mkdocs/Manifest
@@ -1 +1 @@
-DIST mkdocs-1.5.3.gh.tar.gz 4057780 BLAKE2B d1e7ac739ea3a78f2a2d294a28c721f95cb8be6c114a5131893e346254ed1937218cc0d247e75092876d7f42dc04c8060fdc8d7535326f26a8f68ec11bc7045b SHA512 3f7d0af4b071ac6998e82cefb18df27f1cc98d91c7902d2943acdaa08c56f90e36c1c5d1df1c1f61a1c50d8fecc2fb0014497f2436be89d52b17959808c31abc
+DIST mkdocs-1.6.0.gh.tar.gz 4494411 BLAKE2B 2a0d55c54509827fcff39c04812be6cff6b1ccbf823cc05a48fa154745a49aed08d811147fc5f64db138ede952dc89241b156f8e0e01e42a468f73309eece0fb SHA512 330dfb7cd390b320ca9c2bfd2dc248d877b95713ec3c1d2c9d5b28be52a42276c58412bc77527a492e4b1b31608e3093dbad2a983bfe6396577ec7464e274609
diff --git a/dev-python/mkdocs/mkdocs-1.5.3-r1.ebuild b/dev-python/mkdocs/mkdocs-1.5.3-r1.ebuild
deleted file mode 100644
index 3d6d031a3430..000000000000
--- a/dev-python/mkdocs/mkdocs-1.5.3-r1.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Project documentation with Markdown"
-HOMEPAGE="
- https://www.mkdocs.org/
- https://github.com/mkdocs/mkdocs/
- https://pypi.org/project/mkdocs/
-"
-SRC_URI="
- https://github.com/mkdocs/mkdocs/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
-
-# https://bugs.gentoo.org/873349
-# Building documentation requires packaging: callouts and mkdocs-autorefs
-#
-# IUSE="doc"
-#
-# BDEPEND="
-# doc? (
-# $(python_gen_any_dep '
-# dev-python/mdx-gh-links[${PYTHON_USEDEP}]
-# dev-python/mkdocs-redirects[${PYTHON_USEDEP}]
-# ')
-# )
-# "
-RDEPEND="
- >=dev-python/Babel-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/click-7.0[${PYTHON_USEDEP}]
- >=dev-python/jinja-2.11.1[${PYTHON_USEDEP}]
- >=dev-python/markdown-3.3.3[${PYTHON_USEDEP}]
- >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
- >=dev-python/watchdog-2.0[${PYTHON_USEDEP}]
- >=dev-python/ghp-import-1.0[${PYTHON_USEDEP}]
- >=dev-python/pathspec-0.11.1[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml_env_tag-0.1[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.5[${PYTHON_USEDEP}]
- >=dev-python/mergedeep-1.3.4[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Tests fails if additional themes are installed
- mkdocs/tests/utils/utils_tests.py::UtilsTests::test_get_themes
- mkdocs/tests/utils/utils_tests.py::UtilsTests::test_get_themes_error
- mkdocs/tests/utils/utils_tests.py::UtilsTests::test_get_themes_warning
-
- # Does not work in emerge env
- mkdocs/tests/config/config_options_tests.py::ListOfPathsTest::test_paths_localized_to_config
-
- # TODO
- mkdocs/tests/build_tests.py::testing_server
- mkdocs/tests/livereload_tests.py::testing_server
-)
-
-python_compile_all() {
- default
-# if use doc; then
-# # cannot just do mkdocs build, because that fails if
-# # the package isn't already installed
-# python -m mkdocs build || die "Failed to make docs"
-# # Colliding files found by ecompress:
-# rm site/sitemap.xml.gz || die
-# HTML_DOCS=( "site/." )
-# fi
-}
-
-python_test() {
- epytest '-opython_files=*tests.py' mkdocs/tests
-}
diff --git a/dev-python/mkdocs/mkdocs-1.5.3.ebuild b/dev-python/mkdocs/mkdocs-1.5.3.ebuild
deleted file mode 100644
index 6f8d245a4902..000000000000
--- a/dev-python/mkdocs/mkdocs-1.5.3.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Project documentation with Markdown"
-HOMEPAGE="
- https://www.mkdocs.org/
- https://github.com/mkdocs/mkdocs/
- https://pypi.org/project/mkdocs/
-"
-SRC_URI="
- https://github.com/mkdocs/mkdocs/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
-
-# https://bugs.gentoo.org/873349
-# Building documentation requires packaging: callouts and mkdocs-autorefs
-#
-# IUSE="doc"
-#
-# BDEPEND="
-# doc? (
-# $(python_gen_any_dep '
-# dev-python/mdx-gh-links[${PYTHON_USEDEP}]
-# dev-python/mkdocs-redirects[${PYTHON_USEDEP}]
-# ')
-# )
-# "
-RDEPEND="
- >=dev-python/Babel-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/click-7.0[${PYTHON_USEDEP}]
- >=dev-python/jinja-2.11.1[${PYTHON_USEDEP}]
- >=dev-python/markdown-3.3.3[${PYTHON_USEDEP}]
- >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
- >=dev-python/watchdog-2.0[${PYTHON_USEDEP}]
- >=dev-python/ghp-import-1.0[${PYTHON_USEDEP}]
- >=dev-python/pathspec-0.11.1[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml_env_tag-0.1[${PYTHON_USEDEP}]
- >=dev-python/importlib-metadata-4.3[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.5[${PYTHON_USEDEP}]
- >=dev-python/mergedeep-1.3.4[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Tests fails if additional themes are installed
- mkdocs/tests/utils/utils_tests.py::UtilsTests::test_get_themes
- mkdocs/tests/utils/utils_tests.py::UtilsTests::test_get_themes_error
- mkdocs/tests/utils/utils_tests.py::UtilsTests::test_get_themes_warning
-
- # Does not work in emerge env
- mkdocs/tests/config/config_options_tests.py::ListOfPathsTest::test_paths_localized_to_config
-
- # TODO
- mkdocs/tests/build_tests.py::testing_server
- mkdocs/tests/livereload_tests.py::testing_server
-)
-
-python_compile_all() {
- default
-# if use doc; then
-# # cannot just do mkdocs build, because that fails if
-# # the package isn't already installed
-# python -m mkdocs build || die "Failed to make docs"
-# # Colliding files found by ecompress:
-# rm site/sitemap.xml.gz || die
-# HTML_DOCS=( "site/." )
-# fi
-}
-
-python_test() {
- epytest '-opython_files=*tests.py' mkdocs/tests
-}
diff --git a/dev-python/mkdocs/mkdocs-1.6.0.ebuild b/dev-python/mkdocs/mkdocs-1.6.0.ebuild
new file mode 100644
index 000000000000..46c0d5058326
--- /dev/null
+++ b/dev-python/mkdocs/mkdocs-1.6.0.ebuild
@@ -0,0 +1,86 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Project documentation with Markdown"
+HOMEPAGE="
+ https://www.mkdocs.org/
+ https://github.com/mkdocs/mkdocs/
+ https://pypi.org/project/mkdocs/
+"
+SRC_URI="
+ https://github.com/mkdocs/mkdocs/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+
+# https://bugs.gentoo.org/873349
+# Building documentation requires packaging: callouts and mkdocs-autorefs
+#
+# IUSE="doc"
+#
+# BDEPEND="
+# doc? (
+# $(python_gen_any_dep '
+# dev-python/mdx-gh-links[${PYTHON_USEDEP}]
+# dev-python/mkdocs-redirects[${PYTHON_USEDEP}]
+# ')
+# )
+# "
+RDEPEND="
+ >=dev-python/Babel-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/click-7.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.11.1[${PYTHON_USEDEP}]
+ >=dev-python/markdown-3.3.6[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ >=dev-python/watchdog-2.0[${PYTHON_USEDEP}]
+ >=dev-python/ghp-import-1.0[${PYTHON_USEDEP}]
+ >=dev-python/pathspec-0.11.1[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-env-tag-0.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.5[${PYTHON_USEDEP}]
+ >=dev-python/mergedeep-1.3.4[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-get-deps-0.2.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Tests fails if additional themes are installed
+ mkdocs/tests/utils/utils_tests.py::UtilsTests::test_get_themes
+ mkdocs/tests/utils/utils_tests.py::UtilsTests::test_get_themes_error
+ mkdocs/tests/utils/utils_tests.py::UtilsTests::test_get_themes_warning
+
+ # Does not work in emerge env
+ mkdocs/tests/config/config_options_tests.py::ListOfPathsTest::test_paths_localized_to_config
+
+ # TODO
+ mkdocs/tests/build_tests.py::testing_server
+ mkdocs/tests/livereload_tests.py::testing_server
+)
+
+python_compile_all() {
+ default
+# if use doc; then
+# # cannot just do mkdocs build, because that fails if
+# # the package isn't already installed
+# python -m mkdocs build || die "Failed to make docs"
+# # Colliding files found by ecompress:
+# rm site/sitemap.xml.gz || die
+# HTML_DOCS=( "site/." )
+# fi
+}
+
+python_test() {
+ epytest '-opython_files=*tests.py' mkdocs/tests
+}
diff --git a/dev-python/mkdocstrings-python/Manifest b/dev-python/mkdocstrings-python/Manifest
index 4ae2d86e27d3..6c465af4171e 100644
--- a/dev-python/mkdocstrings-python/Manifest
+++ b/dev-python/mkdocstrings-python/Manifest
@@ -1,3 +1,2 @@
-DIST mkdocstrings-python-1.7.3.gh.tar.gz 136488 BLAKE2B 470f7d69819222a9c1620f5a5ab57a9e884bc9cb1e4d536f35458c0f4c08c5442da1d31522665077ee848e2b241c7fa50ae3a73f5f570599fadb0ee9f2fcc2f8 SHA512 d5c5e9eeaa13a951cffe4fdc6f9a6bf6e3e3cb0615f7180db91446c6e8060c061682e5d717616d8dbf66009a650d363b25a4124b750f760e60bd1ffdca8e0164
-DIST mkdocstrings-python-1.7.4.gh.tar.gz 139739 BLAKE2B 31e88172d745c165aa13b27078118e0a877f1bd70336d35d43ce57ec1ac5ca8b019a588491e2544b8413252a236d872c91af41b63996d8d6878975d45f3739a1 SHA512 a6445ae3e20117c73b3f3d1bc673fe6824790622931cf1fc0f1178456a9b331a514146e56c279cb046a6e50bb43da2f20abab93441359a183f06ffa794d8b1b2
-DIST mkdocstrings-python-1.7.5.gh.tar.gz 140386 BLAKE2B dec768e60ca09befe8f790bf211960222b45319cdbf00a97c072cb18b42ccfd71ac41079a7a0bdb9a94ff562181290d309a3e69f3cebc4f7b86e05553381d655 SHA512 6d595b777d4ff1661301fda7fa198bdafb7f62b356bdf5e579b808dda1f33a8f29e266be0bf51da52bc41cbbf3b0544a65750fc67d545b3dae7634798d0f3bf9
+DIST mkdocstrings-python-1.10.5.gh.tar.gz 157091 BLAKE2B 1f0685fc8b04ea4e5f33e3e4ca9637d590bd45b5be85d856ea0f6693d3be2a7d215751b68f811ca73afec078ffa5cc1acf88ab1907bd9842c6e390eb14fd71c0 SHA512 0bc3b103a99add6d38621243d2a21339efd837fb3476feb13bc55afabcee481d45ea7b410f8d16312583f308ee9f36f387762cdd1ef1e9758ecdb5b1be9dcb9e
+DIST mkdocstrings_python-1.10.7.tar.gz 161638 BLAKE2B f62bd6b8f04223ba3ae479b04928888770cad02f5a060fcd39e5f20ddf80d88ff267f9826644cf80704a10f2f98320d1a5784c5bada43e845c07ab9c8a2d0d05 SHA512 1df467957e138f7fa474c2799b1cf254994b11b75217d90ff9c8a1f2d4c72817ecab80724c9da84721dbbde52c7074833534cde0ce8f50de6aae09b6edb25e03
diff --git a/dev-python/mkdocstrings-python/metadata.xml b/dev-python/mkdocstrings-python/metadata.xml
index 61498f99a3a5..64d01ca6f56a 100644
--- a/dev-python/mkdocstrings-python/metadata.xml
+++ b/dev-python/mkdocstrings-python/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
diff --git a/dev-python/mkdocstrings-python/mkdocstrings-python-1.10.5.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.10.5.ebuild
new file mode 100644
index 000000000000..6be494880e25
--- /dev/null
+++ b/dev-python/mkdocstrings-python/mkdocstrings-python-1.10.5.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python handler for dev-python/mkdocstrings"
+HOMEPAGE="
+ https://mkdocstrings.github.io/python/
+ https://github.com/mkdocstrings/python/
+ https://pypi.org/project/mkdocstrings-python/
+"
+# Tests need files absent from the PyPI tarballs
+SRC_URI="
+ https://github.com/mkdocstrings/python/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/python-${PV}"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/griffe-0.47[${PYTHON_USEDEP}]
+ >=dev-python/mkdocstrings-0.25.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mkdocs-material[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export PDM_BUILD_SCM_VERSION=${PV}
diff --git a/dev-python/mkdocstrings-python/mkdocstrings-python-1.10.7.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.10.7.ebuild
new file mode 100644
index 000000000000..c226feabda3a
--- /dev/null
+++ b/dev-python/mkdocstrings-python/mkdocstrings-python-1.10.7.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python handler for dev-python/mkdocstrings"
+HOMEPAGE="
+ https://mkdocstrings.github.io/python/
+ https://github.com/mkdocstrings/python/
+ https://pypi.org/project/mkdocstrings-python/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND="
+ >=dev-python/griffe-0.48[${PYTHON_USEDEP}]
+ >=dev-python/mkdocstrings-0.25.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mkdocs-material[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export PDM_BUILD_SCM_VERSION=${PV}
diff --git a/dev-python/mkdocstrings-python/mkdocstrings-python-1.7.3.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.7.3.ebuild
deleted file mode 100644
index f0b94cc2c39d..000000000000
--- a/dev-python/mkdocstrings-python/mkdocstrings-python-1.7.3.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-DISTUTILS_USE_PEP517=pdm-backend
-
-inherit distutils-r1
-
-DESCRIPTION="Python handler for dev-python/mkdocstrings"
-HOMEPAGE="
- https://mkdocstrings.github.io/python/
- https://github.com/mkdocstrings/python/
- https://pypi.org/project/mkdocstrings-python/
-"
-# Tests need files absent from the PyPI tarballs
-SRC_URI="
- https://github.com/mkdocstrings/python/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/python-${PV}"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-
-RDEPEND="
- >=dev-python/griffe-0.35[${PYTHON_USEDEP}]
- dev-python/mkdocstrings[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mkdocs-material[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export PDM_BUILD_SCM_VERSION=${PV}
diff --git a/dev-python/mkdocstrings-python/mkdocstrings-python-1.7.4.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.7.4.ebuild
deleted file mode 100644
index d5b461fb79c9..000000000000
--- a/dev-python/mkdocstrings-python/mkdocstrings-python-1.7.4.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=pdm-backend
-
-inherit distutils-r1
-
-DESCRIPTION="Python handler for dev-python/mkdocstrings"
-HOMEPAGE="
- https://mkdocstrings.github.io/python/
- https://github.com/mkdocstrings/python/
- https://pypi.org/project/mkdocstrings-python/
-"
-# Tests need files absent from the PyPI tarballs
-SRC_URI="
- https://github.com/mkdocstrings/python/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/python-${PV}"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-
-RDEPEND="
- >=dev-python/griffe-0.37[${PYTHON_USEDEP}]
- dev-python/mkdocstrings[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mkdocs-material[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export PDM_BUILD_SCM_VERSION=${PV}
diff --git a/dev-python/mkdocstrings-python/mkdocstrings-python-1.7.5.ebuild b/dev-python/mkdocstrings-python/mkdocstrings-python-1.7.5.ebuild
deleted file mode 100644
index 2559c63067c4..000000000000
--- a/dev-python/mkdocstrings-python/mkdocstrings-python-1.7.5.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=pdm-backend
-
-inherit distutils-r1
-
-DESCRIPTION="Python handler for dev-python/mkdocstrings"
-HOMEPAGE="
- https://mkdocstrings.github.io/python/
- https://github.com/mkdocstrings/python/
- https://pypi.org/project/mkdocstrings-python/
-"
-# Tests need files absent from the PyPI tarballs
-SRC_URI="
- https://github.com/mkdocstrings/python/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/python-${PV}"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv"
-
-RDEPEND="
- >=dev-python/griffe-0.37[${PYTHON_USEDEP}]
- dev-python/mkdocstrings[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mkdocs-material[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export PDM_BUILD_SCM_VERSION=${PV}
diff --git a/dev-python/mkdocstrings/Manifest b/dev-python/mkdocstrings/Manifest
index 78ccd3a06a7f..ab24442c604f 100644
--- a/dev-python/mkdocstrings/Manifest
+++ b/dev-python/mkdocstrings/Manifest
@@ -1,3 +1,2 @@
-DIST mkdocstrings-0.22.0.gh.tar.gz 81345 BLAKE2B ee2bcc0084c5d17368bc1a04db2f097f997872b38fd6b3d32f7daaefe78a496bb0a23d6588458a65b827954382e11c6b6d81baa2117af4b3341e9e727c616ca0 SHA512 c6226d50aaf029a139f51bb1f7101446e11a3e1337f7cd1c9324a2e258753cf25911b2da7042a08a64ae4cf51987b0b2a6ab752af408cdb54d436bcc908d66ff
-DIST mkdocstrings-0.23.0.gh.tar.gz 80975 BLAKE2B fb561b46f98372093846d28890b3d7e1a65f89007a6d321c08535eeefc82ee9c06d447c594a53ef2109ed58286d8e1a8202e1678f77328c3ec5a3150bfc129ea SHA512 e1d9be20691f2272d64d746dd6af8c152f7d6eabef1e6c03f7e0b36af4e04591a8d878d036c0bb448483759311abc652db09e5b705569ddb83f81ad785ad5005
-DIST mkdocstrings-0.24.0.gh.tar.gz 85474 BLAKE2B f43c0842bd5c8f52700e572964948f362112c073992c8aa7d6df8ecc0a266b22122988c944e36d5edf6d227a2cf9e2a9a95222146139d8577001833c729ad7ca SHA512 0cc03cb68679958d77a5f1d10e96411271de2db2c89b1c27d151d7d6673a94c967024c377cb22a612a8079a0ea736b921384518869e1475797ed94c8c92d4dbb
+DIST mkdocstrings-0.25.1.gh.tar.gz 89869 BLAKE2B 248436eeabafbb7cbee27362b43d2feadeadda7692b5843621bd97261e17a93783c38f37850700c6e79b7f23f15fdc8f21567329afba9b4fb0618f277acc1865 SHA512 155dc5d15fd71f9c5dbd5d5f70f380ad5197fc0c1dc0fe722205b30decbd19307daa631d3a4a40206cdf36981f414ea1a4c001d8cef517ffed569e96ea0e8302
+DIST mkdocstrings-0.25.2.tar.gz 91796 BLAKE2B d666d402fc94f00df107f54ae6057fbdaba2a2da20c283fe5f1bfb33cf4cca4dc882e9132156434439560848dfea224916c96450a759924175fe6244e75dac43 SHA512 ad1d771ffbbb04bfa9b8a4190c41303fe6d78f9bb07fe3236ccb284836886d759a9031c42192e2608fc3941a0a59c149c241d193cbc2fe96462605b4f37b2545
diff --git a/dev-python/mkdocstrings/metadata.xml b/dev-python/mkdocstrings/metadata.xml
index 7eaef3684e1f..36ddf1fffeeb 100644
--- a/dev-python/mkdocstrings/metadata.xml
+++ b/dev-python/mkdocstrings/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
diff --git a/dev-python/mkdocstrings/mkdocstrings-0.22.0.ebuild b/dev-python/mkdocstrings/mkdocstrings-0.22.0.ebuild
deleted file mode 100644
index a60f88888c9b..000000000000
--- a/dev-python/mkdocstrings/mkdocstrings-0.22.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Automatic documentation from sources, for MkDocs"
-HOMEPAGE="
- https://mkdocstrings.github.io/
- https://github.com/mkdocstrings/mkdocstrings/
- https://pypi.org/project/mkdocstrings/
-"
-# Tests require files absent from PyPI tarballs
-SRC_URI="
- https://github.com/mkdocstrings/mkdocstrings/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-
-RDEPEND="
- >=dev-python/jinja-2.11.1[${PYTHON_USEDEP}]
- >=dev-python/markdown-3.3[${PYTHON_USEDEP}]
- >=dev-python/markupsafe-1.1[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.2[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-autorefs-0.3.1[${PYTHON_USEDEP}]
- >=dev-python/pymdown-extensions-6.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mkdocs-material[${PYTHON_USEDEP}]
- dev-python/mkdocstrings-python[${PYTHON_USEDEP}]
- )
-"
-
-# mkdocstrings documentation generation requires several currently
-# unpackaged mkdocs extensions and plug-ins, and this test
-# makes use of mkdocs configuration
-EPYTEST_DESELECT=(
- tests/test_plugin.py::test_disabling_plugin
- # WTF, it tries to unlink installed files from installed package?!
- tests/test_handlers.py::test_extended_templates
- # TODO: package markdown-exec
- tests/test_inventory.py::test_sphinx_load_mkdocstrings_inventory_file
- # Internet
- tests/test_inventory.py::test_load_inventory
-)
-
-distutils_enable_tests pytest
-
-export PDM_BUILD_SCM_VERSION=${PV}
diff --git a/dev-python/mkdocstrings/mkdocstrings-0.23.0.ebuild b/dev-python/mkdocstrings/mkdocstrings-0.23.0.ebuild
deleted file mode 100644
index 0e8648a7cba5..000000000000
--- a/dev-python/mkdocstrings/mkdocstrings-0.23.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# py3.12 blocked by mkdocs-material
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Automatic documentation from sources, for MkDocs"
-HOMEPAGE="
- https://mkdocstrings.github.io/
- https://github.com/mkdocstrings/mkdocstrings/
- https://pypi.org/project/mkdocstrings/
-"
-# Tests require files absent from PyPI tarballs
-SRC_URI="
- https://github.com/mkdocstrings/mkdocstrings/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-
-RDEPEND="
- >=dev-python/jinja-2.11.1[${PYTHON_USEDEP}]
- >=dev-python/markdown-3.3[${PYTHON_USEDEP}]
- >=dev-python/markupsafe-1.1[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.5[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-autorefs-0.3.1[${PYTHON_USEDEP}]
- >=dev-python/pymdown-extensions-6.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/markdown-exec[${PYTHON_USEDEP}]
- dev-python/mkdocs-material[${PYTHON_USEDEP}]
- dev-python/mkdocstrings-python[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- )
-"
-
-# mkdocstrings documentation generation requires several currently
-# unpackaged mkdocs extensions and plug-ins, and this test
-# makes use of mkdocs configuration
-EPYTEST_DESELECT=(
- tests/test_plugin.py::test_disabling_plugin
- # WTF, it tries to unlink installed files from installed package?!
- tests/test_handlers.py::test_extended_templates
- # Needs unpackaged mkdocs-callouts, mkdocs-literate-nav, and possibly more
- tests/test_inventory.py::test_sphinx_load_mkdocstrings_inventory_file
- # Internet
- tests/test_inventory.py::test_load_inventory
-)
-
-distutils_enable_tests pytest
-
-export PDM_BUILD_SCM_VERSION=${PV}
diff --git a/dev-python/mkdocstrings/mkdocstrings-0.24.0.ebuild b/dev-python/mkdocstrings/mkdocstrings-0.24.0.ebuild
deleted file mode 100644
index e44997f0f451..000000000000
--- a/dev-python/mkdocstrings/mkdocstrings-0.24.0.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# py3.12 blocked by mkdocs-material
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Automatic documentation from sources, for MkDocs"
-HOMEPAGE="
- https://mkdocstrings.github.io/
- https://github.com/mkdocstrings/mkdocstrings/
- https://pypi.org/project/mkdocstrings/
-"
-# Tests require files absent from PyPI tarballs
-SRC_URI="
- https://github.com/mkdocstrings/mkdocstrings/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv"
-
-RDEPEND="
- >=dev-python/click-7.0[${PYTHON_USEDEP}]
- >=dev-python/jinja-2.11.1[${PYTHON_USEDEP}]
- >=dev-python/markdown-3.3[${PYTHON_USEDEP}]
- >=dev-python/markupsafe-1.1[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-1.5[${PYTHON_USEDEP}]
- >=dev-python/mkdocs-autorefs-0.3.1[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/pymdown-extensions-6.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/markdown-exec[${PYTHON_USEDEP}]
- dev-python/mkdocs-material[${PYTHON_USEDEP}]
- dev-python/mkdocstrings-python[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- )
-"
-
-# mkdocstrings documentation generation requires several currently
-# unpackaged mkdocs extensions and plug-ins, and this test
-# makes use of mkdocs configuration
-EPYTEST_DESELECT=(
- tests/test_plugin.py::test_disabling_plugin
- # WTF, it tries to unlink installed files from installed package?!
- tests/test_handlers.py::test_extended_templates
- # Needs unpackaged mkdocs-callouts, mkdocs-literate-nav, and possibly more
- tests/test_inventory.py::test_sphinx_load_mkdocstrings_inventory_file
- # Internet
- tests/test_inventory.py::test_load_inventory
-)
-
-distutils_enable_tests pytest
-
-export PDM_BUILD_SCM_VERSION=${PV}
diff --git a/dev-python/mkdocstrings/mkdocstrings-0.25.1.ebuild b/dev-python/mkdocstrings/mkdocstrings-0.25.1.ebuild
new file mode 100644
index 000000000000..aca612affa27
--- /dev/null
+++ b/dev-python/mkdocstrings/mkdocstrings-0.25.1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Automatic documentation from sources, for MkDocs"
+HOMEPAGE="
+ https://mkdocstrings.github.io/
+ https://github.com/mkdocstrings/mkdocstrings/
+ https://pypi.org/project/mkdocstrings/
+"
+# Tests require files absent from PyPI tarballs
+SRC_URI="
+ https://github.com/mkdocstrings/mkdocstrings/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/click-7.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.11.1[${PYTHON_USEDEP}]
+ >=dev-python/markdown-3.3[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-1.1[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.5[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-autorefs-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pymdown-extensions-6.3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/markdown-exec[${PYTHON_USEDEP}]
+ dev-python/mkdocs-material[${PYTHON_USEDEP}]
+ dev-python/mkdocstrings-python[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ )
+"
+
+# mkdocstrings documentation generation requires several currently
+# unpackaged mkdocs extensions and plug-ins, and this test
+# makes use of mkdocs configuration
+EPYTEST_DESELECT=(
+ tests/test_plugin.py::test_disabling_plugin
+ # WTF, it tries to unlink installed files from installed package?!
+ tests/test_handlers.py::test_extended_templates
+ # Needs unpackaged mkdocs-callouts, mkdocs-literate-nav, and possibly more
+ tests/test_inventory.py::test_sphinx_load_mkdocstrings_inventory_file
+ # Internet
+ tests/test_inventory.py::test_load_inventory
+)
+
+distutils_enable_tests pytest
+
+export PDM_BUILD_SCM_VERSION=${PV}
diff --git a/dev-python/mkdocstrings/mkdocstrings-0.25.2.ebuild b/dev-python/mkdocstrings/mkdocstrings-0.25.2.ebuild
new file mode 100644
index 000000000000..4100955b993d
--- /dev/null
+++ b/dev-python/mkdocstrings/mkdocstrings-0.25.2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Automatic documentation from sources, for MkDocs"
+HOMEPAGE="
+ https://mkdocstrings.github.io/
+ https://github.com/mkdocstrings/mkdocstrings/
+ https://pypi.org/project/mkdocstrings/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/click-7.0[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.11.1[${PYTHON_USEDEP}]
+ >=dev-python/markdown-3.3[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-1.1[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-1.5[${PYTHON_USEDEP}]
+ >=dev-python/mkdocs-autorefs-0.3.1[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pymdown-extensions-6.3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/markdown-exec[${PYTHON_USEDEP}]
+ dev-python/mkdocs-material[${PYTHON_USEDEP}]
+ dev-python/mkdocstrings-python[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ )
+"
+
+# mkdocstrings documentation generation requires several currently
+# unpackaged mkdocs extensions and plug-ins, and this test
+# makes use of mkdocs configuration
+EPYTEST_DESELECT=(
+ tests/test_plugin.py::test_disabling_plugin
+ # WTF, it tries to unlink installed files from installed package?!
+ tests/test_handlers.py::test_extended_templates
+ # Needs unpackaged mkdocs-callouts, mkdocs-literate-nav, and possibly more
+ tests/test_inventory.py::test_sphinx_load_mkdocstrings_inventory_file
+ # Internet
+ tests/test_inventory.py::test_load_inventory
+)
+
+distutils_enable_tests pytest
+
+export PDM_BUILD_SCM_VERSION=${PV}
diff --git a/dev-python/ml-dtypes/Manifest b/dev-python/ml-dtypes/Manifest
new file mode 100644
index 000000000000..d916007cea0c
--- /dev/null
+++ b/dev-python/ml-dtypes/Manifest
@@ -0,0 +1,2 @@
+DIST eigen-7bf2968fed5f246c0589e1111004cb420fcd7c71.tar.bz2 2239233 BLAKE2B 3a7e81c302cb11ae1d6ef9433a9ec41506c1f37d04cfb8744ac3fcf7dbe9430c1b48d7197ca3b8e1f9354398bac3d0dbc3e0599c0b649acd6175e906befe2973 SHA512 29ee89770726e6e0f5135b7fab24649f3e69223caed90d2daa6f0014783e69fe98f0551de49bd4e393d7b7938f2943caf1ed00f3933fa771ac14fae3c63fd5dd
+DIST ml_dtypes-0.4.0.gh.tar.gz 72894 BLAKE2B a2d70369f8fc72b8234d198ee4517dd3666b6e5a82ea8bca28973966e141426ef5517d441cfdd4cc00146d534194378c191b29f695f1d8c6b9d2785c84d2548c SHA512 a4674c352a641ceab212ff1da25168823d43016dbe00ae06885ef787f1bc0814ae61e595d5f9d43710da29c12e70e3c616e1c634560b911bdb25f4c40b6ba324
diff --git a/dev-python/ml-dtypes/metadata.xml b/dev-python/ml-dtypes/metadata.xml
new file mode 100644
index 000000000000..9175a762fe69
--- /dev/null
+++ b/dev-python/ml-dtypes/metadata.xml
@@ -0,0 +1,16 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>perfinion@gentoo.org</email>
+ <name>Jason Zaman</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">jax-ml/ml_dtypes</remote-id>
+ <remote-id type="pypi">ml-dtypes</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/ml-dtypes/ml-dtypes-0.4.0.ebuild b/dev-python/ml-dtypes/ml-dtypes-0.4.0.ebuild
new file mode 100644
index 000000000000..ce13d94000fc
--- /dev/null
+++ b/dev-python/ml-dtypes/ml-dtypes-0.4.0.ebuild
@@ -0,0 +1,62 @@
+# Copyright 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} )
+
+inherit distutils-r1
+
+MY_P=${PN/-/_}-${PV}
+EIGEN_CommitId="7bf2968fed5f246c0589e1111004cb420fcd7c71"
+
+DESCRIPTION="A stand-alone implementation of several NumPy dtype extensions"
+HOMEPAGE="
+ https://github.com/jax-ml/ml_dtypes/
+ https://pypi.org/project/ml-dtypes/
+"
+SRC_URI="
+ https://github.com/jax-ml/ml_dtypes/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+ https://gitlab.com/libeigen/eigen/-/archive/${EIGEN_CommitId}/eigen-${EIGEN_CommitId}.tar.bz2
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86"
+
+DEPEND="
+ dev-python/numpy:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ test? (
+ dev-python/absl-py[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ rmdir third_party/eigen || die
+ mv "${WORKDIR}/eigen-${EIGEN_CommitId}" third_party/eigen || die
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ mv ml_dtypes/tests . || die
+ rm -r ml_dtypes || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ epytest
+}
diff --git a/dev-python/mock/mock-5.1.0.ebuild b/dev-python/mock/mock-5.1.0.ebuild
index 9be742b3f2d2..1b73fb163233 100644
--- a/dev-python/mock/mock-5.1.0.ebuild
+++ b/dev-python/mock/mock-5.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/moddb/Manifest b/dev-python/moddb/Manifest
index d3a5849cfc5f..9c1c386346a7 100644
--- a/dev-python/moddb/Manifest
+++ b/dev-python/moddb/Manifest
@@ -1,3 +1 @@
-DIST moddb-0.10.0.gh.tar.gz 14174575 BLAKE2B cffcdb27d3bd43da412d9ce689ba06d59ee013d4b78b75fddc8749243aaa6abb50c576811ef8e8e88c66ff41b578a79daec4ce0dbe56f444c94eeabedb0fef89 SHA512 5b21aea8a76c2b28579dbb3587956042126b65248684c2c6caef43793b8e7dd1d318434783c252ef191ee7832ea9fe1a434797797a9a76804133a53ede7674f9
-DIST moddb-0.8.1.gh.tar.gz 68417 BLAKE2B e013c6a2c315eb3f36ace6f37eadacd50a5854726cb6cbcbc6d16170bc1af06bf973d9874909ecb6e70c5a3cb896ef559eb6e915eed41217069fc3c7f468e57e SHA512 3557881f9bc33c911ba2e3d845a8294116c5ea394de4f24ab05a0d0af07ae000e972db9077fad8a1a30941a66b7f560cfce0616df93f1bae835efb51ee6035e2
-DIST moddb-0.9.0.gh.tar.gz 70547 BLAKE2B 34382e117d6dc184fb63626062b4b2cb11bb155a74069bc69688ad4696f8646fc5e214e0aeea64093ebedad0c032d263174692278d149468fffb44aabeec32dd SHA512 2735e0f34cb9efa74debf9be5aaad63911b0a2aaab38bca223598e29a560d2480fc03b56e8847a9fb14e80462b824054c58475e733a2ebc63ab2ec0eaa753c9f
+DIST moddb-0.11.0.gh.tar.gz 10528613 BLAKE2B 109c1758362e2655209173d581f1234f15725b8d0b25ed8024ecdfc4da45e30530c87fa9b8a19b556f4cfa60549c38bc552751a39a5dad28f04e58f53d1f484f SHA512 fe064fb7b02553d614477f122013c98257c6fd4d428538681ea97706425480d7fb4a25f49b8673dfba706e33766420c930cee1fae0c93a6b3d2f766b609596ca
diff --git a/dev-python/moddb/moddb-0.10.0.ebuild b/dev-python/moddb/moddb-0.10.0.ebuild
deleted file mode 100644
index 588d82aa4a6c..000000000000
--- a/dev-python/moddb/moddb-0.10.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python scrapper to access ModDB mods, games and more as objects"
-HOMEPAGE="https://github.com/ClementJ18/moddb"
-SRC_URI="https://github.com/ClementJ18/moddb/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-# Connects to moddb.com
-PROPERTIES="test_network"
-RESTRICT="test"
-
-RDEPEND="
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/toolz[${PYTHON_USEDEP}]
- <dev-python/pyrate-limiter-3.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="test? (
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
-)"
-
-EPYTEST_DESELECT=(
- # These tests require valid moddb.com login information
- "tests/test_base.py::TestLogin::test_login"
- "tests/test_client.py::TestClient::test_get_watched"
- "tests/test_client.py::TestClient::test_get_updates"
- "tests/test_client.py::TestClient::test_posts"
- "tests/test_client.py::TestClient::test_friends"
- "tests/test_client.py::TestClient::test_messages"
-)
-
-distutils_enable_sphinx docs/source dev-python/sphinx-autodoc-typehints
-distutils_enable_tests pytest
-
-python_test() {
- # Dummy moddb.com login information
- export USERNAME="portage"
- export SENDER_USERNAME="portage"
- export PASSWORD="testing"
- export SENDER_PASSWORD="testing"
- epytest
-}
diff --git a/dev-python/moddb/moddb-0.11.0.ebuild b/dev-python/moddb/moddb-0.11.0.ebuild
new file mode 100644
index 000000000000..ce605c46602e
--- /dev/null
+++ b/dev-python/moddb/moddb-0.11.0.ebuild
@@ -0,0 +1,52 @@
+# 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
+
+DESCRIPTION="Python scrapper to access ModDB mods, games and more as objects"
+HOMEPAGE="https://github.com/ClementJ18/moddb"
+SRC_URI="https://github.com/ClementJ18/moddb/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+# Connects to moddb.com
+PROPERTIES="test_network"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+
+BDEPEND="test? (
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+)"
+
+EPYTEST_DESELECT=(
+ # These tests require valid moddb.com login information
+ "tests/test_base.py::TestLogin::test_login"
+ "tests/test_client.py::TestClient::test_get_watched"
+ "tests/test_client.py::TestClient::test_get_updates"
+ "tests/test_client.py::TestClient::test_posts"
+ "tests/test_client.py::TestClient::test_friends"
+ "tests/test_client.py::TestClient::test_messages"
+)
+
+distutils_enable_sphinx docs/source dev-python/sphinx-autodoc-typehints
+distutils_enable_tests pytest
+
+python_test() {
+ # Dummy moddb.com login information
+ export USERNAME="portage"
+ export SENDER_USERNAME="portage"
+ export PASSWORD="testing"
+ export SENDER_PASSWORD="testing"
+ epytest
+}
diff --git a/dev-python/moddb/moddb-0.8.1.ebuild b/dev-python/moddb/moddb-0.8.1.ebuild
deleted file mode 100644
index 6376ed6ed966..000000000000
--- a/dev-python/moddb/moddb-0.8.1.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python scrapper to access ModDB mods, games and more as objects"
-HOMEPAGE="https://github.com/ClementJ18/moddb"
-SRC_URI="https://github.com/ClementJ18/moddb/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-# Connects to moddb.com
-PROPERTIES="test_network"
-RESTRICT="test"
-
-RDEPEND="
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/toolz[${PYTHON_USEDEP}]
- dev-python/pyrate-limiter[${PYTHON_USEDEP}]
-"
-
-BDEPEND="test? (
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
-)"
-
-EPYTEST_DESELECT=(
- # These tests require valid moddb.com login information
- "tests/test_base.py::TestLogin::test_login"
- "tests/test_client.py::TestClient::test_get_watched"
- "tests/test_client.py::TestClient::test_get_updates"
- "tests/test_client.py::TestClient::test_posts"
- "tests/test_client.py::TestClient::test_friends"
- "tests/test_client.py::TestClient::test_messages"
-)
-
-distutils_enable_sphinx docs/source dev-python/sphinx-autodoc-typehints
-distutils_enable_tests pytest
-
-python_test() {
- # Dummy moddb.com login information
- export USERNAME="portage"
- export SENDER_USERNAME="portage"
- export PASSWORD="testing"
- export SENDER_PASSWORD="testing"
- epytest
-}
diff --git a/dev-python/moddb/moddb-0.9.0.ebuild b/dev-python/moddb/moddb-0.9.0.ebuild
deleted file mode 100644
index 588d82aa4a6c..000000000000
--- a/dev-python/moddb/moddb-0.9.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python scrapper to access ModDB mods, games and more as objects"
-HOMEPAGE="https://github.com/ClementJ18/moddb"
-SRC_URI="https://github.com/ClementJ18/moddb/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-# Connects to moddb.com
-PROPERTIES="test_network"
-RESTRICT="test"
-
-RDEPEND="
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/toolz[${PYTHON_USEDEP}]
- <dev-python/pyrate-limiter-3.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="test? (
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
-)"
-
-EPYTEST_DESELECT=(
- # These tests require valid moddb.com login information
- "tests/test_base.py::TestLogin::test_login"
- "tests/test_client.py::TestClient::test_get_watched"
- "tests/test_client.py::TestClient::test_get_updates"
- "tests/test_client.py::TestClient::test_posts"
- "tests/test_client.py::TestClient::test_friends"
- "tests/test_client.py::TestClient::test_messages"
-)
-
-distutils_enable_sphinx docs/source dev-python/sphinx-autodoc-typehints
-distutils_enable_tests pytest
-
-python_test() {
- # Dummy moddb.com login information
- export USERNAME="portage"
- export SENDER_USERNAME="portage"
- export PASSWORD="testing"
- export SENDER_PASSWORD="testing"
- epytest
-}
diff --git a/dev-python/more-itertools/Manifest b/dev-python/more-itertools/Manifest
index e221a1919e77..e3e759cdd461 100644
--- a/dev-python/more-itertools/Manifest
+++ b/dev-python/more-itertools/Manifest
@@ -1 +1 @@
-DIST more-itertools-10.1.0.tar.gz 111235 BLAKE2B 457eb62d735ac0d0f4a93a6a79c747ac965c1af394a1d894c4f80abfa0a94de76d804c7e68d4122fabf09b7c8e2f1d59bb1c43ff54c7cd5c2d52b5a1280b0290 SHA512 520cf4a5cfce314bb43a052962b478be27f0459735902c45384ad785cd678b493bab87f5736aa6be8d742911c4e8b02c597859428b1f459550b27f7751a53494
+DIST more-itertools-10.3.0.tar.gz 118147 BLAKE2B 7205050f4cb3e705e3ad7f477baba0e3976b7b48fae44622014efb56fbae85efc1abfee5f6c3075326b53ffbae2bf1e626a524d2cb9241e033a75525e8b747d4 SHA512 fed7c1b085aafd5c50bbc5304f29a098d4ba96e4b253c2e5ab7fd995e895f5cdf63edada93f039b1a71e0f913c0902d8836f73de270bd1048a5fd8ed4f3d45a4
diff --git a/dev-python/more-itertools/more-itertools-10.1.0.ebuild b/dev-python/more-itertools/more-itertools-10.1.0.ebuild
deleted file mode 100644
index 5755901270bc..000000000000
--- a/dev-python/more-itertools/more-itertools-10.1.0.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="More routines for operating on iterables, beyond itertools"
-HOMEPAGE="
- https://github.com/more-itertools/more-itertools/
- https://pypi.org/project/more-itertools/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx-rtd-theme
-distutils_enable_tests unittest
diff --git a/dev-python/more-itertools/more-itertools-10.3.0.ebuild b/dev-python/more-itertools/more-itertools-10.3.0.ebuild
new file mode 100644
index 000000000000..36b8551dc13b
--- /dev/null
+++ b/dev-python/more-itertools/more-itertools-10.3.0.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="More routines for operating on iterables, beyond itertools"
+HOMEPAGE="
+ https://github.com/more-itertools/more-itertools/
+ https://pypi.org/project/more-itertools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests unittest
diff --git a/dev-python/moto/Manifest b/dev-python/moto/Manifest
index 53c74e2e4986..aa7ff0d059c8 100644
--- a/dev-python/moto/Manifest
+++ b/dev-python/moto/Manifest
@@ -1,6 +1,3 @@
-DIST moto-4.2.10.tar.gz 4784297 BLAKE2B ece1bc4f67c427890bb6f2e029d3bca44045ce5cf522944f9770b1ab61ad21ba3ee485a74e99eb92d1de4552c670bcd36e74ee83bfc90676b6d53cfc06fc4025 SHA512 69b3a3e9231844e728b068d5e4a3e5bc690237d68708c90e10198467ffcd6b5339f8f3b24029102ea0b0d3fcacef4b1a509be1b097d93b9f5456c8d6fcc8df95
-DIST moto-4.2.11.tar.gz 4796124 BLAKE2B 980db98cf688631ba2f88ca44e858b739b103a672668a6a4bf26d752aab946b74a46c746c1e4666d0079597dd219bebf104e36a39a2ed53091c0bdf67efcd4ad SHA512 51cb0d4d26e7b88af439a0a346698a081e823443ffd3c0bc64d864ca56e960d8cebb3045c8fb5f293d3059f9f15c46b966d1d8bb09eb2cb1b10156094588c8a0
-DIST moto-4.2.6.tar.gz 4745145 BLAKE2B 76610aafe3ea4106454aadbc8cf853ff5d4617202a62ae92e6cbe46c75a17d1dd8e63e8188c0c17a88af080bfe6c3466ed420378cee27d0287fe617d3412807e SHA512 0bef11a2600d48349735e7d118f6f28b02fb85e2b5e7310aaa0651444740ad4657470a59c59dab75084cb4250c6b5b725eda5e996b9acbc927529850cabc4c1c
-DIST moto-4.2.7.tar.gz 4756973 BLAKE2B 2ab27952abd6faaa2bbe7b6565f5d5403ea4e2c5c87e262b9b8fce9efbd7bb6972e295476426026f4ab7c000da33dfed2d401c04514b1c87bb15a1ae36c4c9cb SHA512 b23272d125b8fcc57cc72243d559cd985f7b96b3e38df31cc83792dc2b830e17a0cf4e44eaec81473b567a2203014d3cfa1f2bfb77f994ca46fb3013d47da704
-DIST moto-4.2.8.tar.gz 4769361 BLAKE2B 2e7d6a7cac04655aa9f05af463e57689c0fc2b67cec27644fdf7fd658d988d33f311e43323599a0f91325f7b4e61630a3066d3fda2a15b0c0ca50e6a7cf34e22 SHA512 5a40d44ad46083b6e7c8753e8986316a5beb5b352e7e7b0eefe2b3f3ed2d760f0745f835b6e7d6b2d7b039db0b6f2fad095f047795d2d08093257fa68db1ceee
-DIST moto-4.2.9.tar.gz 4775687 BLAKE2B af626a18c9487c08172813ddf2f1112d4bba80dbb64bf8deaf63079a6d4c12464e70d7c99d5a65fd1018f9f3a08bd0b12183e04a549fdfe580942086d49b9e21 SHA512 4cca0bdbe106faa84fa3893eb1dc2b2972a85c98ca718a10fd08a06757e1634954c5576c82b66d88c431a51b989cfedb2a52e6455d718330d4a5dd6e95a90225
+DIST moto-4.2.14.tar.gz 4933741 BLAKE2B 4c50a808dc8f27cfbcd0ba234d268084ee9a32f36cb5d6af61aacc4ee79f7bf5cf1045147c4642472129eee37bef8bc2c1953d140260d39d7f333ae0f5e5cf95 SHA512 d4079118ed1d2eef9134575e33dc0ed749bff0293d753baa63a630dbb987914b9933445027abdc344bb93fa1d6e483baf8a337a444c9dd055dda50b095ff9937
+DIST moto-5.0.10.tar.gz 5284881 BLAKE2B aba9845e0ffc3e4148f3c3950a4c590d86784c8634e4d7f93eb0a0cc9b725dcaa088a717ce493792c9962a0b9fddf582fe92edd8d0cdbb7e7ec7c4fae05722d1 SHA512 cb805a497bca4b315b6e9d92b9825ad1d4112366fdc4710fa5aa13fcefe4a7bf7c677dea413c9126c900e85acaa00d954b5d55f98493f646981d07fdd13d7108
+DIST moto-5.0.11.tar.gz 5295376 BLAKE2B c2077e020918940ee3642b7b0a8c467df48122e3ef8317a9c13b038fa01fe724efb0ebb44c8bb095fa9071dfb0dde85d8be6fef99929add2ae532615c22803cf SHA512 6d4515918d9192b7f308f18a975e435712912a5d1a856b314d538cb4b7f4c3127407ddff2130ea28488a30d35f25ab0341d4c7d752fef22692de302b5dda71cd
diff --git a/dev-python/moto/moto-4.2.10.ebuild b/dev-python/moto/moto-4.2.10.ebuild
deleted file mode 100644
index 346d7f5f663b..000000000000
--- a/dev-python/moto/moto-4.2.10.ebuild
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Mock library for boto"
-HOMEPAGE="
- https://github.com/getmoto/moto/
- https://pypi.org/project/moto/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm arm64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}]
- >=dev-python/cfn-lint-0.40.0[${PYTHON_USEDEP}]
- >=dev-python/cryptography-3.3.1[${PYTHON_USEDEP}]
- dev-python/cookies[${PYTHON_USEDEP}]
- >=dev-python/docker-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/idna-2.5[${PYTHON_USEDEP}]
- >=dev-python/jinja-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/jsondiff-1.1.2[${PYTHON_USEDEP}]
- dev-python/boto3[${PYTHON_USEDEP}]
- dev-python/botocore[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/flask-cors[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}]
- >=dev-python/openapi-spec-validator-0.5.0[${PYTHON_USEDEP}]
- dev-python/pyaml[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/python-jose[${PYTHON_USEDEP}]
- >=dev-python/responses-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.5[${PYTHON_USEDEP}]
- dev-python/sshpubkeys[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- dev-python/xmltodict[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/zipp[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- >=dev-python/sure-1.4.11[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- tests/test_firehose/test_firehose_put.py::test_put_record_http_destination
- tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination
- # broken code (local variable used referenced before definition)
- tests/test_appsync/test_appsync_schema.py
- # Needs network (or docker?) but not marked as such, bug #807031
- # TODO: report upstream
- tests/test_awslambda/test_lambda_layers_invoked.py::test_invoke_local_lambda_layers
- tests/test_batch/test_batch_jobs.py::test_cancel_pending_job
- tests/test_batch/test_batch_jobs.py::test_cancel_running_job
- tests/test_batch/test_batch_jobs.py::test_container_overrides
- tests/test_batch/test_batch_jobs.py::test_dependencies
- tests/test_batch/test_batch_jobs.py::test_failed_dependencies
- tests/test_batch/test_batch_jobs.py::test_failed_job
- tests/test_batch/test_batch_jobs.py::test_submit_job_array_size
- tests/test_batch/test_batch_jobs.py::test_terminate_job
- tests/test_batch/test_batch_jobs.py::test_terminate_nonexisting_job
- tests/test_cloudformation/test_cloudformation_custom_resources.py::test_create_custom_lambda_resource__verify_cfnresponse_failed
-
- tests/test_cloudformation/test_cloudformation_stack_integration.py::test_lambda_function
- tests/test_core/test_docker.py::test_docker_is_running_and_available
- tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_aws_and_http_requests
- tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_http_requests
- tests/test_events/test_events_lambdatriggers_integration.py::test_creating_bucket__invokes_lambda
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events0-ObjectCreated:Put]"
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events1-ObjectCreated:Put]"
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events3-ObjectCreated:Put]"
- # TODO
- tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_queue
- tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_fifo_queue
- # require py_partiql_parser
- tests/test_s3/test_s3_select.py
- tests/test_dynamodb/test_dynamodb_statements.py
- # broken by new urllib3
- tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_data
- tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_file_using_requests
- tests/test_s3/test_s3.py::test_upload_from_file_to_presigned_url
- tests/test_s3/test_s3.py::test_put_chunked_with_v4_signature_in_body
- tests/test_s3/test_s3.py::test_presigned_put_url_with_approved_headers
- tests/test_s3/test_s3.py::test_presigned_put_url_with_custom_headers
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x TZ=UTC
-
- local serial_tests=(
- # these tests set up credentials that are needed by the tests below
- tests/test_core/test_importorder.py
- # these tests apparently rely on some other test setting credentials
- # up for them, so they need to be run separately, after the above
- tests/test_dynamodb/exceptions/test_dynamodb_exceptions.py
- tests/test_dynamodb/test_dynamodb.py::test_transact_write_items_put_conditional_expressions
- tests/test_dynamodb/test_dynamodb.py::test_transact_write_items_failure__return_item
- tests/test_lakeformation/test_resource_tags_integration.py
- tests/test_redshiftdata
- tests/test_resourcegroupstaggingapi/test_server.py::test_resourcegroupstaggingapi_list
- tests/test_s3/test_s3.py::test_delete_bucket_cors
- tests/test_s3/test_s3.py::test_delete_objects_percent_encoded
- tests/test_s3/test_s3.py::test_delete_versioned_bucket_returns_metadata
- tests/test_s3/test_s3_file_handles.py::TestS3FileHandleClosuresUsingMocks
- tests/test_s3control/test_s3control_access_points.py::test_delete_access_point
- tests/test_utilities/test_threaded_server.py::TestThreadedMotoServer::test_server_can_handle_multiple_services
- )
-
- EPYTEST_XDIST= epytest "${serial_tests[@]}"
-
- EPYTEST_DESELECT+=( "${serial_tests[@]}" )
- epytest -m 'not network'
-}
diff --git a/dev-python/moto/moto-4.2.11.ebuild b/dev-python/moto/moto-4.2.11.ebuild
deleted file mode 100644
index 62383625ee74..000000000000
--- a/dev-python/moto/moto-4.2.11.ebuild
+++ /dev/null
@@ -1,132 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Mock library for boto"
-HOMEPAGE="
- https://github.com/getmoto/moto/
- https://pypi.org/project/moto/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}]
- >=dev-python/cfn-lint-0.40.0[${PYTHON_USEDEP}]
- >=dev-python/cryptography-3.3.1[${PYTHON_USEDEP}]
- dev-python/cookies[${PYTHON_USEDEP}]
- >=dev-python/docker-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/idna-2.5[${PYTHON_USEDEP}]
- >=dev-python/jinja-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/jsondiff-1.1.2[${PYTHON_USEDEP}]
- dev-python/boto3[${PYTHON_USEDEP}]
- dev-python/botocore[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/flask-cors[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}]
- >=dev-python/openapi-spec-validator-0.5.0[${PYTHON_USEDEP}]
- dev-python/pyaml[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/python-jose[${PYTHON_USEDEP}]
- >=dev-python/responses-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.5[${PYTHON_USEDEP}]
- dev-python/sshpubkeys[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- dev-python/xmltodict[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/zipp[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- >=dev-python/sure-1.4.11[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- tests/test_firehose/test_firehose_put.py::test_put_record_http_destination
- tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination
- # broken code (local variable used referenced before definition)
- tests/test_appsync/test_appsync_schema.py
- # Needs network (or docker?) but not marked as such, bug #807031
- # TODO: report upstream
- tests/test_awslambda/test_lambda_layers_invoked.py::test_invoke_local_lambda_layers
- tests/test_batch/test_batch_jobs.py::test_cancel_pending_job
- tests/test_batch/test_batch_jobs.py::test_cancel_running_job
- tests/test_batch/test_batch_jobs.py::test_container_overrides
- tests/test_batch/test_batch_jobs.py::test_dependencies
- tests/test_batch/test_batch_jobs.py::test_failed_dependencies
- tests/test_batch/test_batch_jobs.py::test_failed_job
- tests/test_batch/test_batch_jobs.py::test_submit_job_array_size
- tests/test_batch/test_batch_jobs.py::test_terminate_job
- tests/test_batch/test_batch_jobs.py::test_terminate_nonexisting_job
- tests/test_cloudformation/test_cloudformation_custom_resources.py::test_create_custom_lambda_resource__verify_cfnresponse_failed
-
- tests/test_cloudformation/test_cloudformation_stack_integration.py::test_lambda_function
- tests/test_core/test_docker.py::test_docker_is_running_and_available
- tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_aws_and_http_requests
- tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_http_requests
- tests/test_events/test_events_lambdatriggers_integration.py::test_creating_bucket__invokes_lambda
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events0-ObjectCreated:Put]"
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events1-ObjectCreated:Put]"
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events3-ObjectCreated:Put]"
- # TODO
- tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_queue
- tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_fifo_queue
- # require py_partiql_parser
- tests/test_s3/test_s3_select.py
- tests/test_dynamodb/test_dynamodb_statements.py
- # broken by new urllib3
- tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_data
- tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_file_using_requests
- tests/test_s3/test_s3.py::test_upload_from_file_to_presigned_url
- tests/test_s3/test_s3.py::test_put_chunked_with_v4_signature_in_body
- tests/test_s3/test_s3.py::test_presigned_put_url_with_approved_headers
- tests/test_s3/test_s3.py::test_presigned_put_url_with_custom_headers
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x TZ=UTC
-
- local serial_tests=(
- # these tests set up credentials that are needed by the tests below
- tests/test_core/test_importorder.py
- # these tests apparently rely on some other test setting credentials
- # up for them, so they need to be run separately, after the above
- tests/test_dynamodb/exceptions/test_dynamodb_exceptions.py
- tests/test_dynamodb/exceptions/test_dynamodb_transactions.py::test_transaction_with_empty_key
- tests/test_dynamodb/test_dynamodb.py::test_transact_write_items_put_conditional_expressions
- tests/test_dynamodb/test_dynamodb.py::test_transact_write_items_failure__return_item
- tests/test_lakeformation/test_resource_tags_integration.py
- tests/test_redshiftdata
- tests/test_resourcegroupstaggingapi/test_server.py::test_resourcegroupstaggingapi_list
- tests/test_s3/test_s3.py::test_delete_bucket_cors
- tests/test_s3/test_s3.py::test_delete_objects_percent_encoded
- tests/test_s3/test_s3.py::test_delete_versioned_bucket_returns_metadata
- tests/test_s3/test_s3_file_handles.py::TestS3FileHandleClosuresUsingMocks
- tests/test_s3control/test_s3control_access_points.py::test_delete_access_point
- tests/test_utilities/test_threaded_server.py::TestThreadedMotoServer::test_server_can_handle_multiple_services
- )
-
- EPYTEST_XDIST= epytest "${serial_tests[@]}"
-
- EPYTEST_DESELECT+=( "${serial_tests[@]}" )
- epytest -m 'not network'
-}
diff --git a/dev-python/moto/moto-4.2.14.ebuild b/dev-python/moto/moto-4.2.14.ebuild
new file mode 100644
index 000000000000..bba938f523cc
--- /dev/null
+++ b/dev-python/moto/moto-4.2.14.ebuild
@@ -0,0 +1,139 @@
+# 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="Mock library for boto"
+HOMEPAGE="
+ https://github.com/getmoto/moto/
+ https://pypi.org/project/moto/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}]
+ >=dev-python/cfn-lint-0.40.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-3.3.1[${PYTHON_USEDEP}]
+ dev-python/cookies[${PYTHON_USEDEP}]
+ >=dev-python/docker-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.5[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.10.1[${PYTHON_USEDEP}]
+ >=dev-python/jsondiff-1.1.2[${PYTHON_USEDEP}]
+ dev-python/boto3[${PYTHON_USEDEP}]
+ dev-python/botocore[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/flask-cors[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}]
+ >=dev-python/openapi-spec-validator-0.5.0[${PYTHON_USEDEP}]
+ dev-python/pyaml[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/python-jose[${PYTHON_USEDEP}]
+ >=dev-python/responses-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.5[${PYTHON_USEDEP}]
+ dev-python/sshpubkeys[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zipp[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ >=dev-python/sure-1.4.11[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_firehose/test_firehose_put.py::test_put_record_http_destination
+ tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination
+ # broken code (local variable used referenced before definition)
+ tests/test_appsync/test_appsync_schema.py
+ # Needs network (or docker?) but not marked as such, bug #807031
+ # TODO: report upstream
+ tests/test_awslambda/test_lambda_layers_invoked.py::test_invoke_local_lambda_layers
+ tests/test_batch/test_batch_jobs.py::test_cancel_pending_job
+ tests/test_batch/test_batch_jobs.py::test_cancel_running_job
+ tests/test_batch/test_batch_jobs.py::test_container_overrides
+ tests/test_batch/test_batch_jobs.py::test_dependencies
+ tests/test_batch/test_batch_jobs.py::test_failed_dependencies
+ tests/test_batch/test_batch_jobs.py::test_failed_job
+ tests/test_batch/test_batch_jobs.py::test_submit_job_array_size
+ tests/test_batch/test_batch_jobs.py::test_terminate_job
+ tests/test_batch/test_batch_jobs.py::test_terminate_nonexisting_job
+ tests/test_cloudformation/test_cloudformation_custom_resources.py::test_create_custom_lambda_resource__verify_cfnresponse_failed
+
+ tests/test_cloudformation/test_cloudformation_stack_integration.py::test_lambda_function
+ tests/test_core/test_docker.py::test_docker_is_running_and_available
+ tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_aws_and_http_requests
+ tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_http_requests
+ tests/test_events/test_events_lambdatriggers_integration.py::test_creating_bucket__invokes_lambda
+ "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events0-ObjectCreated:Put]"
+ "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events1-ObjectCreated:Put]"
+ "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events3-ObjectCreated:Put]"
+ # TODO
+ tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_queue
+ tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_fifo_queue
+ # require py_partiql_parser
+ tests/test_s3/test_s3_select.py
+ tests/test_dynamodb/test_dynamodb_statements.py
+ # broken by new urllib3
+ tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_data
+ tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_file_using_requests
+ tests/test_s3/test_s3.py::test_upload_from_file_to_presigned_url
+ tests/test_s3/test_s3.py::test_put_chunked_with_v4_signature_in_body
+ tests/test_s3/test_s3.py::test_presigned_put_url_with_approved_headers
+ tests/test_s3/test_s3.py::test_presigned_put_url_with_custom_headers
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x TZ=UTC
+
+ local serial_tests=(
+ # these tests set up credentials that are needed by the tests below
+ tests/test_core/test_importorder.py
+ # these tests apparently rely on some other test setting credentials
+ # up for them, so they need to be run separately, after the above
+ tests/test_awslambda_simple/test_lambda_simple.py::test_run_function{,_no_log}
+ tests/test_dynamodb/exceptions/test_dynamodb_exceptions.py
+ tests/test_dynamodb/exceptions/test_dynamodb_transactions.py::test_transaction_with_empty_key
+ tests/test_dynamodb/test_dynamodb.py::test_transact_write_items_failure__return_item
+ tests/test_dynamodb/test_dynamodb.py::test_transact_write_items_put_conditional_expressions
+ tests/test_dynamodb/test_dynamodb_update_expressions.py::test_update_different_map_elements_in_single_request
+ tests/test_events/test_events.py::test_start_replay_send_to_log_group
+ tests/test_lakeformation/test_resource_tags_integration.py
+ tests/test_redshiftdata
+ tests/test_resourcegroupstaggingapi/test_server.py::test_resourcegroupstaggingapi_list
+ tests/test_s3/test_s3.py::test_delete_bucket_cors
+ tests/test_s3/test_s3.py::test_delete_objects_percent_encoded
+ tests/test_s3/test_s3.py::test_delete_versioned_bucket_returns_metadata
+ tests/test_s3/test_s3_copyobject.py::test_copy_key_boto3_with_args
+ tests/test_s3/test_s3_copyobject.py::test_copy_key_boto3_with_args__using_multipart
+ tests/test_s3/test_s3_file_handles.py::TestS3FileHandleClosuresUsingMocks
+ tests/test_s3/test_s3_list_object_versions.py
+ tests/test_s3/test_s3_tagging.py
+ tests/test_s3control/test_s3control_access_points.py::test_delete_access_point
+ tests/test_utilities/test_threaded_server.py::TestThreadedMotoServer::test_server_can_handle_multiple_services
+ )
+
+ EPYTEST_XDIST= epytest "${serial_tests[@]}"
+
+ EPYTEST_DESELECT+=( "${serial_tests[@]}" )
+ epytest -m 'not network'
+}
diff --git a/dev-python/moto/moto-4.2.6.ebuild b/dev-python/moto/moto-4.2.6.ebuild
deleted file mode 100644
index 43c4cc5d1165..000000000000
--- a/dev-python/moto/moto-4.2.6.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="Mock library for boto"
-HOMEPAGE="
- https://github.com/getmoto/moto/
- https://pypi.org/project/moto/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}]
- >=dev-python/cfn-lint-0.40.0[${PYTHON_USEDEP}]
- >=dev-python/cryptography-3.3.1[${PYTHON_USEDEP}]
- dev-python/cookies[${PYTHON_USEDEP}]
- >=dev-python/docker-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/idna-2.5[${PYTHON_USEDEP}]
- >=dev-python/jinja-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/jsondiff-1.1.2[${PYTHON_USEDEP}]
- dev-python/boto3[${PYTHON_USEDEP}]
- dev-python/botocore[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/flask-cors[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}]
- >=dev-python/openapi-spec-validator-0.2.8[${PYTHON_USEDEP}]
- dev-python/pyaml[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/python-jose[${PYTHON_USEDEP}]
- >=dev-python/responses-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.5[${PYTHON_USEDEP}]
- dev-python/sshpubkeys[${PYTHON_USEDEP}]
- dev-python/xmltodict[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/zipp[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- >=dev-python/sure-1.4.11[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- tests/test_firehose/test_firehose_put.py::test_put_record_http_destination
- tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination
- # broken code (local variable used referenced before definition)
- tests/test_appsync/test_appsync_schema.py
- # Needs network (or docker?) but not marked as such, bug #807031
- # TODO: report upstream
- tests/test_awslambda/test_lambda_layers_invoked.py::test_invoke_local_lambda_layers
- tests/test_batch/test_batch_jobs.py::test_cancel_pending_job
- tests/test_batch/test_batch_jobs.py::test_cancel_running_job
- tests/test_batch/test_batch_jobs.py::test_container_overrides
- tests/test_batch/test_batch_jobs.py::test_dependencies
- tests/test_batch/test_batch_jobs.py::test_failed_dependencies
- tests/test_batch/test_batch_jobs.py::test_failed_job
- tests/test_batch/test_batch_jobs.py::test_submit_job_array_size
- tests/test_batch/test_batch_jobs.py::test_terminate_job
- tests/test_batch/test_batch_jobs.py::test_terminate_nonexisting_job
- tests/test_cloudformation/test_cloudformation_custom_resources.py::test_create_custom_lambda_resource__verify_cfnresponse_failed
-
- tests/test_cloudformation/test_cloudformation_stack_integration.py::test_lambda_function
- tests/test_core/test_docker.py::test_docker_is_running_and_available
- tests/test_events/test_events_lambdatriggers_integration.py::test_creating_bucket__invokes_lambda
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events0-ObjectCreated:Put]"
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events1-ObjectCreated:Put]"
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events3-ObjectCreated:Put]"
- # TODO
- tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_queue
- tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_fifo_queue
- # require py_partiql_parser
- tests/test_s3/test_s3_select.py
- tests/test_dynamodb/test_dynamodb_statements.py
- # broken by new urllib3
- tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_data
- tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_file_using_requests
- tests/test_s3/test_s3.py::test_upload_from_file_to_presigned_url
- tests/test_s3/test_s3.py::test_put_chunked_with_v4_signature_in_body
- tests/test_s3/test_s3.py::test_presigned_put_url_with_approved_headers
- tests/test_s3/test_s3.py::test_presigned_put_url_with_custom_headers
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x TZ=UTC
-
- local serial_tests=(
- # these tests set up credentials that are needed by the tests below
- tests/test_core/test_importorder.py
- # these tests apparently rely on some other test setting credentials
- # up for them, so they need to be run separately, after the above
- tests/test_lakeformation/test_resource_tags_integration.py
- tests/test_redshiftdata
- tests/test_resourcegroupstaggingapi/test_server.py::test_resourcegroupstaggingapi_list
- tests/test_s3/test_s3.py::test_delete_bucket_cors
- tests/test_s3/test_s3.py::test_delete_versioned_bucket_returns_metadata
- tests/test_s3/test_s3_file_handles.py::TestS3FileHandleClosuresUsingMocks
- tests/test_utilities/test_threaded_server.py::TestThreadedMotoServer::test_server_can_handle_multiple_services
- )
-
- epytest "${serial_tests[@]}"
-
- EPYTEST_DESELECT+=( "${serial_tests[@]}" )
- epytest -m 'not network' -p xdist -n "$(makeopts_jobs)" --dist=worksteal
-}
diff --git a/dev-python/moto/moto-4.2.7.ebuild b/dev-python/moto/moto-4.2.7.ebuild
deleted file mode 100644
index 950ba1996f29..000000000000
--- a/dev-python/moto/moto-4.2.7.ebuild
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="Mock library for boto"
-HOMEPAGE="
- https://github.com/getmoto/moto/
- https://pypi.org/project/moto/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}]
- >=dev-python/cfn-lint-0.40.0[${PYTHON_USEDEP}]
- >=dev-python/cryptography-3.3.1[${PYTHON_USEDEP}]
- dev-python/cookies[${PYTHON_USEDEP}]
- >=dev-python/docker-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/idna-2.5[${PYTHON_USEDEP}]
- >=dev-python/jinja-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/jsondiff-1.1.2[${PYTHON_USEDEP}]
- dev-python/boto3[${PYTHON_USEDEP}]
- dev-python/botocore[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/flask-cors[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}]
- >=dev-python/openapi-spec-validator-0.5.0[${PYTHON_USEDEP}]
- dev-python/pyaml[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/python-jose[${PYTHON_USEDEP}]
- >=dev-python/responses-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.5[${PYTHON_USEDEP}]
- dev-python/sshpubkeys[${PYTHON_USEDEP}]
- dev-python/xmltodict[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/zipp[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- >=dev-python/sure-1.4.11[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- tests/test_firehose/test_firehose_put.py::test_put_record_http_destination
- tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination
- # broken code (local variable used referenced before definition)
- tests/test_appsync/test_appsync_schema.py
- # Needs network (or docker?) but not marked as such, bug #807031
- # TODO: report upstream
- tests/test_awslambda/test_lambda_layers_invoked.py::test_invoke_local_lambda_layers
- tests/test_batch/test_batch_jobs.py::test_cancel_pending_job
- tests/test_batch/test_batch_jobs.py::test_cancel_running_job
- tests/test_batch/test_batch_jobs.py::test_container_overrides
- tests/test_batch/test_batch_jobs.py::test_dependencies
- tests/test_batch/test_batch_jobs.py::test_failed_dependencies
- tests/test_batch/test_batch_jobs.py::test_failed_job
- tests/test_batch/test_batch_jobs.py::test_submit_job_array_size
- tests/test_batch/test_batch_jobs.py::test_terminate_job
- tests/test_batch/test_batch_jobs.py::test_terminate_nonexisting_job
- tests/test_cloudformation/test_cloudformation_custom_resources.py::test_create_custom_lambda_resource__verify_cfnresponse_failed
-
- tests/test_cloudformation/test_cloudformation_stack_integration.py::test_lambda_function
- tests/test_core/test_docker.py::test_docker_is_running_and_available
- tests/test_events/test_events_lambdatriggers_integration.py::test_creating_bucket__invokes_lambda
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events0-ObjectCreated:Put]"
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events1-ObjectCreated:Put]"
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events3-ObjectCreated:Put]"
- # TODO
- tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_queue
- tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_fifo_queue
- # require py_partiql_parser
- tests/test_s3/test_s3_select.py
- tests/test_dynamodb/test_dynamodb_statements.py
- # broken by new urllib3
- tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_data
- tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_file_using_requests
- tests/test_s3/test_s3.py::test_upload_from_file_to_presigned_url
- tests/test_s3/test_s3.py::test_put_chunked_with_v4_signature_in_body
- tests/test_s3/test_s3.py::test_presigned_put_url_with_approved_headers
- tests/test_s3/test_s3.py::test_presigned_put_url_with_custom_headers
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x TZ=UTC
-
- local serial_tests=(
- # these tests set up credentials that are needed by the tests below
- tests/test_core/test_importorder.py
- # these tests apparently rely on some other test setting credentials
- # up for them, so they need to be run separately, after the above
- tests/test_dynamodb/exceptions/test_dynamodb_exceptions.py::test_update_item_returns_old_item
- tests/test_lakeformation/test_resource_tags_integration.py
- tests/test_redshiftdata
- tests/test_resourcegroupstaggingapi/test_server.py::test_resourcegroupstaggingapi_list
- tests/test_s3/test_s3.py::test_delete_bucket_cors
- tests/test_s3/test_s3.py::test_delete_objects_percent_encoded
- tests/test_s3/test_s3.py::test_delete_versioned_bucket_returns_metadata
- tests/test_s3/test_s3_file_handles.py::TestS3FileHandleClosuresUsingMocks
- tests/test_s3control/test_s3control_access_points.py::test_delete_access_point
- tests/test_utilities/test_threaded_server.py::TestThreadedMotoServer::test_server_can_handle_multiple_services
- )
-
- epytest "${serial_tests[@]}"
-
- EPYTEST_DESELECT+=( "${serial_tests[@]}" )
- epytest -m 'not network' -p xdist -n "$(makeopts_jobs)" --dist=worksteal
-}
diff --git a/dev-python/moto/moto-4.2.8.ebuild b/dev-python/moto/moto-4.2.8.ebuild
deleted file mode 100644
index 5333331b12af..000000000000
--- a/dev-python/moto/moto-4.2.8.ebuild
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Mock library for boto"
-HOMEPAGE="
- https://github.com/getmoto/moto/
- https://pypi.org/project/moto/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}]
- >=dev-python/cfn-lint-0.40.0[${PYTHON_USEDEP}]
- >=dev-python/cryptography-3.3.1[${PYTHON_USEDEP}]
- dev-python/cookies[${PYTHON_USEDEP}]
- >=dev-python/docker-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/idna-2.5[${PYTHON_USEDEP}]
- >=dev-python/jinja-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/jsondiff-1.1.2[${PYTHON_USEDEP}]
- dev-python/boto3[${PYTHON_USEDEP}]
- dev-python/botocore[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/flask-cors[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}]
- >=dev-python/openapi-spec-validator-0.5.0[${PYTHON_USEDEP}]
- dev-python/pyaml[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/python-jose[${PYTHON_USEDEP}]
- >=dev-python/responses-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.5[${PYTHON_USEDEP}]
- dev-python/sshpubkeys[${PYTHON_USEDEP}]
- dev-python/xmltodict[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/zipp[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- >=dev-python/sure-1.4.11[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- tests/test_firehose/test_firehose_put.py::test_put_record_http_destination
- tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination
- # broken code (local variable used referenced before definition)
- tests/test_appsync/test_appsync_schema.py
- # Needs network (or docker?) but not marked as such, bug #807031
- # TODO: report upstream
- tests/test_awslambda/test_lambda_layers_invoked.py::test_invoke_local_lambda_layers
- tests/test_batch/test_batch_jobs.py::test_cancel_pending_job
- tests/test_batch/test_batch_jobs.py::test_cancel_running_job
- tests/test_batch/test_batch_jobs.py::test_container_overrides
- tests/test_batch/test_batch_jobs.py::test_dependencies
- tests/test_batch/test_batch_jobs.py::test_failed_dependencies
- tests/test_batch/test_batch_jobs.py::test_failed_job
- tests/test_batch/test_batch_jobs.py::test_submit_job_array_size
- tests/test_batch/test_batch_jobs.py::test_terminate_job
- tests/test_batch/test_batch_jobs.py::test_terminate_nonexisting_job
- tests/test_cloudformation/test_cloudformation_custom_resources.py::test_create_custom_lambda_resource__verify_cfnresponse_failed
-
- tests/test_cloudformation/test_cloudformation_stack_integration.py::test_lambda_function
- tests/test_core/test_docker.py::test_docker_is_running_and_available
- tests/test_events/test_events_lambdatriggers_integration.py::test_creating_bucket__invokes_lambda
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events0-ObjectCreated:Put]"
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events1-ObjectCreated:Put]"
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events3-ObjectCreated:Put]"
- # TODO
- tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_queue
- tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_fifo_queue
- # require py_partiql_parser
- tests/test_s3/test_s3_select.py
- tests/test_dynamodb/test_dynamodb_statements.py
- # broken by new urllib3
- tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_data
- tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_file_using_requests
- tests/test_s3/test_s3.py::test_upload_from_file_to_presigned_url
- tests/test_s3/test_s3.py::test_put_chunked_with_v4_signature_in_body
- tests/test_s3/test_s3.py::test_presigned_put_url_with_approved_headers
- tests/test_s3/test_s3.py::test_presigned_put_url_with_custom_headers
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x TZ=UTC
-
- local serial_tests=(
- # these tests set up credentials that are needed by the tests below
- tests/test_core/test_importorder.py
- # these tests apparently rely on some other test setting credentials
- # up for them, so they need to be run separately, after the above
- tests/test_dynamodb/exceptions/test_dynamodb_exceptions.py
- tests/test_lakeformation/test_resource_tags_integration.py
- tests/test_redshiftdata
- tests/test_resourcegroupstaggingapi/test_server.py::test_resourcegroupstaggingapi_list
- tests/test_s3/test_s3.py::test_delete_bucket_cors
- tests/test_s3/test_s3.py::test_delete_objects_percent_encoded
- tests/test_s3/test_s3.py::test_delete_versioned_bucket_returns_metadata
- tests/test_s3/test_s3_file_handles.py::TestS3FileHandleClosuresUsingMocks
- tests/test_s3control/test_s3control_access_points.py::test_delete_access_point
- tests/test_utilities/test_threaded_server.py::TestThreadedMotoServer::test_server_can_handle_multiple_services
- )
-
- EPYTEST_XDIST= epytest "${serial_tests[@]}"
-
- EPYTEST_DESELECT+=( "${serial_tests[@]}" )
- epytest -m 'not network'
-}
diff --git a/dev-python/moto/moto-4.2.9.ebuild b/dev-python/moto/moto-4.2.9.ebuild
deleted file mode 100644
index 90637210d7dc..000000000000
--- a/dev-python/moto/moto-4.2.9.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Mock library for boto"
-HOMEPAGE="
- https://github.com/getmoto/moto/
- https://pypi.org/project/moto/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}]
- >=dev-python/cfn-lint-0.40.0[${PYTHON_USEDEP}]
- >=dev-python/cryptography-3.3.1[${PYTHON_USEDEP}]
- dev-python/cookies[${PYTHON_USEDEP}]
- >=dev-python/docker-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/idna-2.5[${PYTHON_USEDEP}]
- >=dev-python/jinja-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/jsondiff-1.1.2[${PYTHON_USEDEP}]
- dev-python/boto3[${PYTHON_USEDEP}]
- dev-python/botocore[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/flask-cors[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}]
- >=dev-python/openapi-spec-validator-0.5.0[${PYTHON_USEDEP}]
- dev-python/pyaml[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/python-jose[${PYTHON_USEDEP}]
- >=dev-python/responses-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.5[${PYTHON_USEDEP}]
- dev-python/sshpubkeys[${PYTHON_USEDEP}]
- dev-python/xmltodict[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/zipp[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- >=dev-python/sure-1.4.11[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- tests/test_firehose/test_firehose_put.py::test_put_record_http_destination
- tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination
- # broken code (local variable used referenced before definition)
- tests/test_appsync/test_appsync_schema.py
- # Needs network (or docker?) but not marked as such, bug #807031
- # TODO: report upstream
- tests/test_awslambda/test_lambda_layers_invoked.py::test_invoke_local_lambda_layers
- tests/test_batch/test_batch_jobs.py::test_cancel_pending_job
- tests/test_batch/test_batch_jobs.py::test_cancel_running_job
- tests/test_batch/test_batch_jobs.py::test_container_overrides
- tests/test_batch/test_batch_jobs.py::test_dependencies
- tests/test_batch/test_batch_jobs.py::test_failed_dependencies
- tests/test_batch/test_batch_jobs.py::test_failed_job
- tests/test_batch/test_batch_jobs.py::test_submit_job_array_size
- tests/test_batch/test_batch_jobs.py::test_terminate_job
- tests/test_batch/test_batch_jobs.py::test_terminate_nonexisting_job
- tests/test_cloudformation/test_cloudformation_custom_resources.py::test_create_custom_lambda_resource__verify_cfnresponse_failed
-
- tests/test_cloudformation/test_cloudformation_stack_integration.py::test_lambda_function
- tests/test_core/test_docker.py::test_docker_is_running_and_available
- tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_aws_and_http_requests
- tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_http_requests
- tests/test_events/test_events_lambdatriggers_integration.py::test_creating_bucket__invokes_lambda
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events0-ObjectCreated:Put]"
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events1-ObjectCreated:Put]"
- "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events3-ObjectCreated:Put]"
- # TODO
- tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_queue
- tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_fifo_queue
- # require py_partiql_parser
- tests/test_s3/test_s3_select.py
- tests/test_dynamodb/test_dynamodb_statements.py
- # broken by new urllib3
- tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_data
- tests/test_moto_api/recorder/test_recorder.py::TestRecorder::test_s3_upload_file_using_requests
- tests/test_s3/test_s3.py::test_upload_from_file_to_presigned_url
- tests/test_s3/test_s3.py::test_put_chunked_with_v4_signature_in_body
- tests/test_s3/test_s3.py::test_presigned_put_url_with_approved_headers
- tests/test_s3/test_s3.py::test_presigned_put_url_with_custom_headers
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x TZ=UTC
-
- local serial_tests=(
- # these tests set up credentials that are needed by the tests below
- tests/test_core/test_importorder.py
- # these tests apparently rely on some other test setting credentials
- # up for them, so they need to be run separately, after the above
- tests/test_dynamodb/exceptions/test_dynamodb_exceptions.py
- tests/test_lakeformation/test_resource_tags_integration.py
- tests/test_redshiftdata
- tests/test_resourcegroupstaggingapi/test_server.py::test_resourcegroupstaggingapi_list
- tests/test_s3/test_s3.py::test_delete_bucket_cors
- tests/test_s3/test_s3.py::test_delete_objects_percent_encoded
- tests/test_s3/test_s3.py::test_delete_versioned_bucket_returns_metadata
- tests/test_s3/test_s3_file_handles.py::TestS3FileHandleClosuresUsingMocks
- tests/test_s3control/test_s3control_access_points.py::test_delete_access_point
- tests/test_utilities/test_threaded_server.py::TestThreadedMotoServer::test_server_can_handle_multiple_services
- )
-
- EPYTEST_XDIST= epytest "${serial_tests[@]}"
-
- EPYTEST_DESELECT+=( "${serial_tests[@]}" )
- epytest -m 'not network'
-}
diff --git a/dev-python/moto/moto-5.0.10.ebuild b/dev-python/moto/moto-5.0.10.ebuild
new file mode 100644
index 000000000000..8abcc3a8b4fa
--- /dev/null
+++ b/dev-python/moto/moto-5.0.10.ebuild
@@ -0,0 +1,184 @@
+# 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 toolchain-funcs
+
+DESCRIPTION="Mock library for boto"
+HOMEPAGE="
+ https://github.com/getmoto/moto/
+ https://pypi.org/project/moto/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}]
+ dev-python/boto3[${PYTHON_USEDEP}]
+ >=dev-python/botocore-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/cfn-lint-0.40.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-3.3.1[${PYTHON_USEDEP}]
+ dev-python/cookies[${PYTHON_USEDEP}]
+ >=dev-python/docker-3.0.0[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/flask-cors[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.5[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.10.1[${PYTHON_USEDEP}]
+ >=dev-python/jsondiff-1.1.2[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}]
+ >=dev-python/openapi-spec-validator-0.5.0[${PYTHON_USEDEP}]
+ dev-python/pyaml[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/python-jose[${PYTHON_USEDEP}]
+ >=dev-python/responses-0.15.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.5[${PYTHON_USEDEP}]
+ dev-python/sshpubkeys[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zipp[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_firehose/test_firehose_put.py::test_put_record_http_destination
+ tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination
+ # broken code (local variable used referenced before definition)
+ tests/test_appsync/test_appsync_schema.py
+ # Needs network (or docker?) but not marked as such, bug #807031
+ # TODO: report upstream
+ tests/test_awslambda/test_lambda_layers_invoked.py::test_invoke_local_lambda_layers
+ tests/test_batch/test_batch_jobs.py::test_cancel_pending_job
+ tests/test_batch/test_batch_jobs.py::test_cancel_running_job
+ tests/test_batch/test_batch_jobs.py::test_container_overrides
+ tests/test_batch/test_batch_jobs.py::test_dependencies
+ tests/test_batch/test_batch_jobs.py::test_failed_dependencies
+ tests/test_batch/test_batch_jobs.py::test_failed_job
+ tests/test_batch/test_batch_jobs.py::test_submit_job_array_size
+ tests/test_batch/test_batch_jobs.py::test_terminate_job
+ tests/test_batch/test_batch_jobs.py::test_terminate_nonexisting_job
+ tests/test_cloudformation/test_cloudformation_custom_resources.py::test_create_custom_lambda_resource__verify_cfnresponse_failed
+
+ tests/test_cloudformation/test_cloudformation_stack_integration.py::test_lambda_function
+ tests/test_core/test_docker.py::test_docker_is_running_and_available
+ tests/test_core/test_request_passthrough.py
+ tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_aws_and_http_requests
+ tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_http_requests
+ tests/test_events/test_events_lambdatriggers_integration.py::test_creating_bucket__invokes_lambda
+ "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events0-ObjectCreated:Put]"
+ "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events1-ObjectCreated:Put]"
+ "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events3-ObjectCreated:Put]"
+ # TODO
+ tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_queue
+ tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_fifo_queue
+ # require py_partiql_parser
+ tests/test_s3/test_s3_select.py
+ tests/test_dynamodb/test_dynamodb_statements.py
+ # require joserfc
+ tests/test_apigateway/test_apigateway.py::test_update_authorizer_configuration
+ tests/test_apigateway/test_apigateway.py::test_create_authorizer
+ tests/test_apigateway/test_apigateway.py::test_delete_authorizer
+ tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserDeleter::test_authenticate_with_signed_out_user
+ No
+ tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserPoolDuplidateEmails::test_use_existing_email__when_email_is_
+ -
+ tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserPoolDuplidateEmails::test_use_existing_email__when_username_
+ -
+ tests/test_cognitoidp/test_cognitoidp_replay.py::TestCreateUserPoolWithPredeterminedID::test_different_seed
+ No
+ tests/test_cognitoidp/test_cognitoidp_replay.py::TestCreateUserPoolWithPredeterminedID::test_same_seed
+ tests/test_cognitoidp/test_server.py::test_sign_up_user_without_authentication
+ tests/test_cognitoidp/test_server.py::test_admin_create_user_without_authentication
+ # TODO
+ tests/test_dynamodb/test_dynamodb_import_table.py
+ # hangs
+ tests/test_core/test_account_id_resolution.py::TestAccountIdResolution::test_environment_variable_takes_precedence
+ )
+ local EPYTEST_IGNORE=(
+ # require joserfc
+ tests/test_cognitoidp/test_cognitoidp.py
+ # require antlr4 (which doesn't support py3.12)
+ tests/test_stepfunctions/parser
+ )
+
+ # test for 32-bit time_t
+ "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} -c -x c - -o /dev/null <<-EOF &>/dev/null
+ #include <sys/types.h>
+ int test[sizeof(time_t) >= 8 ? 1 : -1];
+ EOF
+
+ if [[ ${?} -eq 0 ]]; then
+ einfo "time_t is at least 64-bit long"
+ else
+ einfo "time_t is smaller than 64 bits, will skip broken tests"
+ EPYTEST_DESELECT+=(
+ tests/test_acm/test_acm.py::test_request_certificate_with_optional_arguments
+ tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header
+ tests/test_s3/test_server.py::test_s3_server_post_cors_multiple_origins
+ )
+ EPYTEST_IGNORE+=(
+ tests/test_route53domains/test_route53domains_domain.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x TZ=UTC
+
+ local serial_tests=(
+ # these tests set up credentials that are needed by the tests below
+ tests/test_core/test_importorder.py
+ # these tests apparently rely on some other test setting credentials
+ # up for them, so they need to be run separately, after the above
+ tests/test_awslambda_simple/test_lambda_simple.py::test_run_function{,_no_log}
+ tests/test_dynamodb/exceptions/test_dynamodb_exceptions.py
+ tests/test_dynamodb/exceptions/test_dynamodb_transactions.py::test_transaction_with_empty_key
+ tests/test_dynamodb/test_dynamodb.py::test_transact_write_items_failure__return_item
+ tests/test_dynamodb/test_dynamodb.py::test_transact_write_items_put_conditional_expressions
+ tests/test_dynamodb/test_dynamodb_update_expressions.py::test_update_different_map_elements_in_single_request
+ tests/test_events/test_events.py::test_start_replay_send_to_log_group
+ tests/test_lakeformation/test_resource_tags_integration.py
+ tests/test_redshiftdata
+ tests/test_resourcegroupstaggingapi/test_server.py::test_resourcegroupstaggingapi_list
+ tests/test_s3/test_s3.py::test_delete_bucket_cors
+ tests/test_s3/test_s3.py::test_delete_objects_percent_encoded
+ tests/test_s3/test_s3.py::test_delete_versioned_bucket_returns_metadata
+ tests/test_s3/test_s3_copyobject.py::test_copy_key_boto3_with_args
+ tests/test_s3/test_s3_copyobject.py::test_copy_key_boto3_with_args__using_multipart
+ tests/test_s3/test_s3_file_handles.py::TestS3FileHandleClosuresUsingMocks
+ tests/test_s3/test_s3_list_object_versions.py
+ tests/test_s3/test_s3_tagging.py
+ tests/test_s3control/test_s3control_access_points.py::test_delete_access_point
+ tests/test_utilities/test_threaded_server.py::TestThreadedMotoServer::test_server_can_handle_multiple_services
+ tests/test_utilities/test_threaded_server.py::TestThreadedMotoServer::test_server_is_reachable
+ )
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ EPYTEST_XDIST= epytest "${serial_tests[@]}"
+
+ local EPYTEST_DESELECT+=(
+ "${EPYTEST_DESELECT[@]}"
+ "${serial_tests[@]}"
+ )
+ epytest -m 'not network'
+}
diff --git a/dev-python/moto/moto-5.0.11.ebuild b/dev-python/moto/moto-5.0.11.ebuild
new file mode 100644
index 000000000000..567ad8433789
--- /dev/null
+++ b/dev-python/moto/moto-5.0.11.ebuild
@@ -0,0 +1,197 @@
+# 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..13} )
+
+inherit distutils-r1 pypi toolchain-funcs
+
+DESCRIPTION="Mock library for boto"
+HOMEPAGE="
+ https://github.com/getmoto/moto/
+ https://pypi.org/project/moto/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/aws-xray-sdk-0.93[${PYTHON_USEDEP}]
+ dev-python/boto3[${PYTHON_USEDEP}]
+ >=dev-python/botocore-1.14.0[${PYTHON_USEDEP}]
+ >=dev-python/cfn-lint-0.40.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-3.3.1[${PYTHON_USEDEP}]
+ dev-python/cookies[${PYTHON_USEDEP}]
+ >=dev-python/docker-3.0.0[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/flask-cors[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.5[${PYTHON_USEDEP}]
+ >=dev-python/jinja-2.10.1[${PYTHON_USEDEP}]
+ >=dev-python/jsondiff-1.1.2[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3.0.7[${PYTHON_USEDEP}]
+ >=dev-python/openapi-spec-validator-0.5.0[${PYTHON_USEDEP}]
+ dev-python/pyaml[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.1[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/python-jose[${PYTHON_USEDEP}]
+ >=dev-python/responses-0.15.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.5[${PYTHON_USEDEP}]
+ dev-python/sshpubkeys[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zipp[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_firehose/test_firehose_put.py::test_put_record_http_destination
+ tests/test_firehose/test_firehose_put.py::test_put_record_batch_http_destination
+ # broken code (local variable used referenced before definition)
+ tests/test_appsync/test_appsync_schema.py
+ # Needs network (or docker?) but not marked as such, bug #807031
+ # TODO: report upstream
+ tests/test_awslambda/test_lambda_layers_invoked.py::test_invoke_local_lambda_layers
+ tests/test_batch/test_batch_jobs.py::test_cancel_pending_job
+ tests/test_batch/test_batch_jobs.py::test_cancel_running_job
+ tests/test_batch/test_batch_jobs.py::test_container_overrides
+ tests/test_batch/test_batch_jobs.py::test_dependencies
+ tests/test_batch/test_batch_jobs.py::test_failed_dependencies
+ tests/test_batch/test_batch_jobs.py::test_failed_job
+ tests/test_batch/test_batch_jobs.py::test_submit_job_array_size
+ tests/test_batch/test_batch_jobs.py::test_terminate_job
+ tests/test_batch/test_batch_jobs.py::test_terminate_nonexisting_job
+ tests/test_cloudformation/test_cloudformation_custom_resources.py::test_create_custom_lambda_resource__verify_cfnresponse_failed
+
+ tests/test_cloudformation/test_cloudformation_stack_integration.py::test_lambda_function
+ tests/test_core/test_docker.py::test_docker_is_running_and_available
+ tests/test_core/test_request_passthrough.py
+ tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_aws_and_http_requests
+ tests/test_core/test_responses_module.py::TestResponsesMockWithPassThru::test_http_requests
+ tests/test_events/test_events_lambdatriggers_integration.py::test_creating_bucket__invokes_lambda
+ "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events0-ObjectCreated:Put]"
+ "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events1-ObjectCreated:Put]"
+ "tests/test_s3/test_s3_lambda_integration.py::test_objectcreated_put__invokes_lambda[match_events3-ObjectCreated:Put]"
+ # TODO
+ tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_queue
+ tests/test_sqs/test_sqs_integration.py::test_invoke_function_from_sqs_fifo_queue
+ # require py_partiql_parser
+ tests/test_s3/test_s3_select.py
+ tests/test_dynamodb/test_dynamodb_statements.py
+ # require joserfc
+ tests/test_apigateway/test_apigateway.py::test_update_authorizer_configuration
+ tests/test_apigateway/test_apigateway.py::test_create_authorizer
+ tests/test_apigateway/test_apigateway.py::test_delete_authorizer
+ tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserDeleter::test_authenticate_with_signed_out_user
+ No
+ tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserPoolDuplidateEmails::test_use_existing_email__when_email_is_
+ -
+ tests/test_cognitoidp/test_cognitoidp_exceptions.py::TestCognitoUserPoolDuplidateEmails::test_use_existing_email__when_username_
+ -
+ tests/test_cognitoidp/test_cognitoidp_replay.py::TestCreateUserPoolWithPredeterminedID::test_different_seed
+ No
+ tests/test_cognitoidp/test_cognitoidp_replay.py::TestCreateUserPoolWithPredeterminedID::test_same_seed
+ tests/test_cognitoidp/test_server.py::test_sign_up_user_without_authentication
+ tests/test_cognitoidp/test_server.py::test_admin_create_user_without_authentication
+ # TODO
+ tests/test_dynamodb/test_dynamodb_import_table.py
+ # hangs
+ tests/test_core/test_account_id_resolution.py::TestAccountIdResolution::test_environment_variable_takes_precedence
+ )
+ local EPYTEST_IGNORE=(
+ # require joserfc
+ tests/test_cognitoidp/test_cognitoidp.py
+ # require antlr4 (which doesn't support py3.12)
+ tests/test_stepfunctions/parser
+ )
+
+ # test for 32-bit time_t
+ "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} -c -x c - -o /dev/null <<-EOF &>/dev/null
+ #include <sys/types.h>
+ int test[sizeof(time_t) >= 8 ? 1 : -1];
+ EOF
+
+ if [[ ${?} -eq 0 ]]; then
+ einfo "time_t is at least 64-bit long"
+ else
+ einfo "time_t is smaller than 64 bits, will skip broken tests"
+ EPYTEST_DESELECT+=(
+ tests/test_acm/test_acm.py::test_request_certificate_with_optional_arguments
+ tests/test_s3/test_multiple_accounts_server.py::TestAccountIdResolution::test_with_custom_request_header
+ tests/test_s3/test_server.py::test_s3_server_post_cors_multiple_origins
+ )
+ EPYTEST_IGNORE+=(
+ tests/test_route53domains/test_route53domains_domain.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x TZ=UTC
+
+ local serial_tests=(
+ # these tests set up credentials that are needed by the tests below
+ tests/test_core/test_importorder.py
+ # these tests apparently rely on some other test setting credentials
+ # up for them, so they need to be run separately, after the above
+ tests/test_awslambda_simple/test_lambda_simple.py::test_run_function{,_no_log}
+ tests/test_dynamodb/exceptions/test_dynamodb_exceptions.py
+ tests/test_dynamodb/exceptions/test_dynamodb_transactions.py::test_transaction_with_empty_key
+ tests/test_dynamodb/test_dynamodb.py::test_transact_write_items_failure__return_item
+ tests/test_dynamodb/test_dynamodb.py::test_transact_write_items_put_conditional_expressions
+ tests/test_dynamodb/test_dynamodb_update_expressions.py::test_update_different_map_elements_in_single_request
+ tests/test_events/test_events.py::test_start_replay_send_to_log_group
+ tests/test_lakeformation/test_resource_tags_integration.py
+ tests/test_redshiftdata
+ tests/test_resourcegroupstaggingapi/test_server.py::test_resourcegroupstaggingapi_list
+ tests/test_s3/test_s3.py::test_delete_bucket_cors
+ tests/test_s3/test_s3.py::test_delete_objects_percent_encoded
+ tests/test_s3/test_s3.py::test_delete_versioned_bucket_returns_metadata
+ tests/test_s3/test_s3_copyobject.py::test_copy_key_boto3_with_args
+ tests/test_s3/test_s3_copyobject.py::test_copy_key_boto3_with_args__using_multipart
+ tests/test_s3/test_s3_file_handles.py::TestS3FileHandleClosuresUsingMocks
+ tests/test_s3/test_s3_list_object_versions.py
+ tests/test_s3/test_s3_tagging.py
+ tests/test_s3control/test_s3control_access_points.py::test_delete_access_point
+ tests/test_utilities/test_threaded_server.py::TestThreadedMotoServer::test_server_can_handle_multiple_services
+ tests/test_utilities/test_threaded_server.py::TestThreadedMotoServer::test_server_is_reachable
+ )
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ EPYTEST_XDIST= epytest "${serial_tests[@]}"
+
+ local EPYTEST_DESELECT+=(
+ "${EPYTEST_DESELECT[@]}"
+ "${serial_tests[@]}"
+ )
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ tests/test_ses/test_ses_boto3.py::test_send_raw_email
+ tests/test_ses/test_ses_boto3.py::test_send_raw_email_validate_domain
+ tests/test_ses/test_ses_boto3.py::test_send_raw_email_without_source
+ tests/test_sesv2/test_sesv2.py::test_send_raw_email
+ tests/test_sesv2/test_sesv2.py::test_send_raw_email__with_specific_message
+ tests/test_sesv2/test_sesv2.py::test_send_raw_email__with_to_address_display_name
+ )
+ ;;
+ esac
+
+ epytest -m 'not network'
+}
diff --git a/dev-python/mpdlcd/mpdlcd-0.5.2-r2.ebuild b/dev-python/mpdlcd/mpdlcd-0.5.2-r2.ebuild
index 0308856d49b0..f653d7645cb5 100644
--- a/dev-python/mpdlcd/mpdlcd-0.5.2-r2.ebuild
+++ b/dev-python/mpdlcd/mpdlcd-0.5.2-r2.ebuild
@@ -1,16 +1,22 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
DESCRIPTION="A small tool to display the MPD status on a LCDproc server"
-HOMEPAGE="https://github.com/rbarrois/mpdlcd"
-SRC_URI="https://github.com/rbarrois/${PN}/archive/refs/tags/${P}.tar.gz -> ${P}.gh.tar.gz"
+HOMEPAGE="
+ https://github.com/rbarrois/mpdlcd/
+ https://pypi.org/project/mpdlcd/
+"
+SRC_URI="
+ https://github.com/rbarrois/mpdlcd/archive/refs/tags/${P}.tar.gz
+ -> ${P}.gh.tar.gz
+"
S="${WORKDIR}/${PN}-${P}"
LICENSE="BSD"
diff --git a/dev-python/mpi4py/Manifest b/dev-python/mpi4py/Manifest
index b98e7a506457..19f3f4338db2 100644
--- a/dev-python/mpi4py/Manifest
+++ b/dev-python/mpi4py/Manifest
@@ -1 +1 @@
-DIST mpi4py-3.1.4.tar.gz 2493282 BLAKE2B e1a048e6053263f6685c549e2e6f96072b7d95db68595c8848d0ecdb0a6cadf2b102e4c4ce589053ed17a090335afc56f4b3630b60944aeac7e4bc4ad82d4a1b SHA512 f59ad765bc272f8b63f74cfde4e588f640c4fc3d47d05729509da45a2155f830c1d409ec716ff374756748fa8ebfa6e72f9fbe188a6b89ea3fa115740a532b08
+DIST mpi4py-3.1.5.tar.gz 2469777 BLAKE2B 0638e3def52f731b64e2999f83f2d6ccc94dc2f8b37d964c10e49ca12470d3d3ef77ff2737294d85614b2d59d1eec49880e74f2ba3d73fd090152b63c8cc701e SHA512 04da1d6daf66cc86fa3ec574eea6e01749f895035e3394afbc68d6245394c5b03557ede0bda3642b06d9c6ff2c1e6e878a6c8c30d3fa3491392e2e13b82cdec8
diff --git a/dev-python/mpi4py/files/mpi4py-3.1.5-test_memory.testReadOnly.patch b/dev-python/mpi4py/files/mpi4py-3.1.5-test_memory.testReadOnly.patch
new file mode 100644
index 000000000000..986e565588a0
--- /dev/null
+++ b/dev-python/mpi4py/files/mpi4py-3.1.5-test_memory.testReadOnly.patch
@@ -0,0 +1,33 @@
+https://github.com/mpi4py/mpi4py/pull/452
+From: Paul Zander <negril.nx+gentoo@gmail.com>
+
+From 3adbd69b7219525f32636552394935a0a770896d Mon Sep 17 00:00:00 2001
+From: Lisandro Dalcin <dalcinl@gmail.com>
+Date: Mon, 15 Jan 2024 10:45:38 +0300
+Subject: [PATCH] fix: Fix implementation of MPI.buffer.toreadonly()
+
+---
+ src/mpi4py/MPI/asbuffer.pxi | 6 ++----
+ 1 file changed, 2 insertions(+), 4 deletions(-)
+
+diff --git a/src/mpi4py/MPI/asbuffer.pxi b/src/mpi4py/MPI/asbuffer.pxi
+index 15e06a1..6536c1f 100644
+--- a/src/mpi4py/MPI/asbuffer.pxi
++++ b/src/mpi4py/MPI/asbuffer.pxi
+@@ -257,14 +257,12 @@ cdef class memory:
+
+ def toreadonly(self) -> memory:
+ """Return a readonly version of the memory object"""
+- cdef void *buf = self.view.buf
+- cdef Py_ssize_t size = self.view.len
+ cdef object obj = self
+ if self.view.obj != NULL:
+ obj = <object>self.view.obj
+ cdef memory mem = memory.__new__(memory)
+- PyBuffer_FillInfo(&mem.view, obj,
+- buf, size, 1, PyBUF_SIMPLE)
++ PyMPI_GetBuffer(obj, &mem.view, PyBUF_SIMPLE)
++ mem.view.readonly = 1
+ return mem
+
+ def release(self) -> None:
diff --git a/dev-python/mpi4py/mpi4py-3.1.4.ebuild b/dev-python/mpi4py/mpi4py-3.1.4.ebuild
deleted file mode 100644
index e3d7c807429a..000000000000
--- a/dev-python/mpi4py/mpi4py-3.1.4.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1 pypi
-
-DESCRIPTION="Message Passing Interface for Python"
-HOMEPAGE="https://github.com/mpi4py/mpi4py https://pypi.org/project/mpi4py/"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~riscv x86 ~amd64-linux ~x86-linux"
-IUSE="doc examples test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- virtual/mpi
-"
-DEPEND="${RDEPEND}
- test? (
- virtual/mpi[romio]
- )
-"
-
-DISTUTILS_IN_SOURCE_BUILD=1
-
-python_prepare_all() {
- # not needed on install
- rm -vr docs/source || die
- rm test/test_pickle.py || die # disabled by Gentoo-bug #659348
- distutils-r1_python_prepare_all
-}
-
-src_compile() {
- export FAKEROOTKEY=1
- distutils-r1_src_compile
-}
-
-python_test() {
- echo "Beginning test phase"
- pushd "${BUILD_DIR}"/../ &> /dev/null || die
- # spawn is not stable in OpenMPI 4
- # https://github.com/jsquyres/ompi/pull/4#issuecomment-806897758
- # oob_tcp_if_include lo is needed to allow test in systemd-nspawn container
- mpiexec --use-hwthread-cpus --mca btl tcp,self --mca oob_tcp_if_include lo \
- -n 1 "${PYTHON}" -B ./test/runtests.py -v \
- --exclude="test_msgspec" --exclude="test_spawn" ||
- die "Testsuite failed under ${EPYTHON}"
- popd &> /dev/null || die
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( docs/. )
- use examples && local DOCS=( demo )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/mpi4py/mpi4py-3.1.5.ebuild b/dev-python/mpi4py/mpi4py-3.1.5.ebuild
new file mode 100644
index 000000000000..91b39fef9ee1
--- /dev/null
+++ b/dev-python/mpi4py/mpi4py-3.1.5.ebuild
@@ -0,0 +1,70 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 pypi
+
+DESCRIPTION="Message Passing Interface for Python"
+HOMEPAGE="https://github.com/mpi4py/mpi4py https://pypi.org/project/mpi4py/"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~riscv x86 ~amd64-linux ~x86-linux"
+IUSE="doc examples test"
+
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ virtual/mpi
+"
+DEPEND="${RDEPEND}
+ test? (
+ virtual/mpi[romio]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.1.5-test_memory.testReadOnly.patch"
+)
+
+python_prepare_all() {
+ # not needed on install
+ rm -vr docs/source || die
+ rm test/test_pickle.py || die # disabled by Gentoo-bug #659348
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ echo "Beginning test phase"
+ local -x PYTHONPATH="${BUILD_DIR}/install$(python_get_sitedir)"
+
+ # python want's all arguments as separate strings
+ local mpi_opts=(
+ "-n" "1"
+ )
+ # spawn is not stable in OpenMPI 4
+ # https://github.com/jsquyres/ompi/pull/4#issuecomment-806897758
+ # oob_tcp_if_include lo is needed to allow test in systemd-nspawn container
+ has_version sys-cluster/openmpi && mpi_opts+=(
+ "--use-hwthread-cpus"
+ "--mca" "btl" "tcp,self"
+ "--mca" "oob_tcp_if_include" "lo"
+ )
+ mpiexec \
+ "${mpi_opts[@]}" \
+ "${PYTHON}" -B -v ./test/runtests.py -v \
+ --exclude="test_msgspec" --exclude="test_spawn" ||
+ die "Testsuite failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/. )
+ use examples && local DOCS=( demo )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/mpmath/Manifest b/dev-python/mpmath/Manifest
index c856f8ba229c..62f82da139aa 100644
--- a/dev-python/mpmath/Manifest
+++ b/dev-python/mpmath/Manifest
@@ -1 +1,2 @@
DIST mpmath-1.3.0.tar.gz 508106 BLAKE2B 9d4eebbbb6788dd3ee45c8c30068ef3512043dd09ab626cbaf69b0f6bdf057a6e8c53c34e3dda7627db923f0d536a0bebf83916d8942f4dde9546bb8e0046f33 SHA512 a68028150095d743eae9669a0f70cbe6b7bcb4d27dfad6b1a96575f0885ec7306459a2a464117bab18779883ee8b4293502b4bd0ebd8672767e1d08d38f8b202
+DIST mpmath-1.4.0a1.tar.gz 2063946 BLAKE2B 0c6a86b1c8dc9addc3eb82586d4c4182ae6a9318cbe45d4fc699b9fbf9539774ae30f11c2d50137a3aa16ed4b0c328990483c2ceea812f86751cfa3ce419de5c SHA512 260afb20faaa949b89054ced3b039e346086d47c6ea018c8d226a0c42d9aa8f792611fe709c894a0df6930a0703dc8cfcf814432eba7ac977a821effd8879903
diff --git a/dev-python/mpmath/files/mpmath-1.4.0_alpha1-numpy-2.patch b/dev-python/mpmath/files/mpmath-1.4.0_alpha1-numpy-2.patch
new file mode 100644
index 000000000000..13b6ffc9a94f
--- /dev/null
+++ b/dev-python/mpmath/files/mpmath-1.4.0_alpha1-numpy-2.patch
@@ -0,0 +1,32 @@
+From b80b0e08b75f41730a1116aebe34361e5d63d58c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Tue, 2 Jul 2024 08:11:58 +0200
+Subject: [PATCH] Fix the comparison in test_compatibility for NumPy 2.0.0
+
+The comparison in `mpmath/tests/test_convert.py::test_compatibility`
+failed for `np.float16` in NumPy 2.0.0 since `2.0**-53` cannot be
+represented in half-precision floating point type. Convert the LHS
+to `np.float64` to ensure that the comparison is done in sufficiently
+precise type.
+
+This fixes the actual test failure from #815 but the deprecation warning
+remains.
+---
+ mpmath/tests/test_convert.py | 4 +++-
+ 1 file changed, 3 insertions(+), 1 deletion(-)
+
+diff --git a/mpmath/tests/test_convert.py b/mpmath/tests/test_convert.py
+index 5578b245..c6ef2187 100644
+--- a/mpmath/tests/test_convert.py
++++ b/mpmath/tests/test_convert.py
+@@ -254,7 +254,9 @@ def test_compatibility():
+ # Handle the weird types
+ try: diff = np.abs(type(np.sqrt(x))(sqrt(x)) - np.sqrt(x))
+ except: continue
+- assert diff < 2.0**-53
++ # numpy-2 does the comparison on LHS type, so we need to convert
++ # it to a type that can actually represent 2.0**-53
++ assert np.float64(diff) < 2.0**-53
+ assert mpf(np.float64('inf')) == inf
+ assert isnan(mp.npconvert(np.float64('nan')))
+ if hasattr(np, "float128"):
diff --git a/dev-python/mpmath/mpmath-1.3.0-r1.ebuild b/dev-python/mpmath/mpmath-1.3.0-r1.ebuild
index d4c725b40085..d9ac94d64711 100644
--- a/dev-python/mpmath/mpmath-1.3.0-r1.ebuild
+++ b/dev-python/mpmath/mpmath-1.3.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
distutils_enable_tests pytest
diff --git a/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild b/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild
new file mode 100644
index 000000000000..ef235883f25d
--- /dev/null
+++ b/dev-python/mpmath/mpmath-1.4.0_alpha1.ebuild
@@ -0,0 +1,63 @@
+# 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..13} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python library for arbitrary-precision floating-point arithmetic"
+HOMEPAGE="
+ https://mpmath.org/
+ https://github.com/mpmath/mpmath/
+ https://pypi.org/project/mpmath/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/gmpy[${PYTHON_USEDEP}]
+ ' 'python3*')
+ $(python_gen_cond_dep '
+ dev-python/ipython[${PYTHON_USEDEP}]
+ ' 3.{10..12})
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/mpmath/mpmath/pull/816
+ "${FILESDIR}/${P}-numpy-2.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ mpmath/tests/test_cli.py::test_bare_console_bare_division
+ mpmath/tests/test_cli.py::test_bare_console_no_bare_division
+ mpmath/tests/test_cli.py::test_bare_console_pretty
+ mpmath/tests/test_cli.py::test_bare_console_without_ipython
+ mpmath/tests/test_cli.py::test_bare_console_wrap_floats
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p rerunfailures --reruns=5
+}
+
+pkg_postinst() {
+ optfeature "gmp support" dev-python/gmpy
+ optfeature "matplotlib support" dev-python/matplotlib
+}
diff --git a/dev-python/mrcfile/Manifest b/dev-python/mrcfile/Manifest
index 7d76a9d92163..12a3d33a23cd 100644
--- a/dev-python/mrcfile/Manifest
+++ b/dev-python/mrcfile/Manifest
@@ -1 +1,3 @@
-DIST mrcfile-1.4.3.gh.tar.gz 148147024 BLAKE2B aa604965e6e40a25f57ec61bb3a3fc2fc6a83827db11620678138bec893539502a8e00e6e279e3bb86805773201338f430cc4d7d4b60efaee2d36933f071132e SHA512 e4bdc9b03ea55ae6bcaf29d8f8154e941f7e8b780f924a3265156a25bfa7f7a6f88abb3ce4374208104a4a3eea8d18724a248aae9fea2018a24ae559680ac2b7
+DIST mrcfile-1.5.1.gh.tar.gz 148148989 BLAKE2B 335a30b5e69bb4bb0348da421c721d27dcf6d1b1d1ab37bd2038e57c5c7499348e9bd183aa5b21280a8009b68e64cec03b08bde4ff3509084873ebffa2fd3b1a SHA512 8553c435c640d814b26f14253ea8954ddd54fab737879e53714cee0be77b9a929e870d2c49a5244c49b9261e2946fbfb0ac1294af6cd3888c6884d476af3ad7a
+DIST mrcfile-1.5.2.gh.tar.gz 148149005 BLAKE2B 6ea599aad553f9a1e8b794a133502f440432e6cdb65aa8c906148dad5c10c63d4905f52665b4b1875be474e32d08a761c3faebec38f124b9a20862adf66ceb52 SHA512 0db3c0a0e641166e0fcea52202b9435212c1ddc0e0b3040f0830b61da86c1d51ac102fbd08039d0ae74724723122156f2db9f68fbab095eb365a7de68b8acd11
+DIST mrcfile-1.5.3.gh.tar.gz 148151409 BLAKE2B 5b89fa64db14374ad8e5589c415102e278f8ef1de3bc1bb6eed121002d5037b40d1a92a95795e011382dfa7e98b4c5607a5d27875f46bf4a7fb1fd4c703f866f SHA512 44747d5d6479994fd99aa9422d20e732557d3116d0f8a7f03e28a79b6832702428e0a4238b73181c34d973cf618f90d47c2011d1f18099cff6a76baa0694747f
diff --git a/dev-python/mrcfile/files/mrcfile-1.4.3-test-assertion-error.patch b/dev-python/mrcfile/files/mrcfile-1.4.3-test-assertion-error.patch
deleted file mode 100644
index a68ffa562260..000000000000
--- a/dev-python/mrcfile/files/mrcfile-1.4.3-test-assertion-error.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-From: Roland Mas <lolando@debian.org>
-Date: Tue, 14 Feb 2023 15:49:05 +0100
-Subject: Comment out a failing test
-
----
- tests/test_mrcobject.py | 6 +++++-
- 1 file changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/tests/test_mrcobject.py b/tests/test_mrcobject.py
-index 276e9af..95b5591 100644
---- a/tests/test_mrcobject.py
-+++ b/tests/test_mrcobject.py
-@@ -338,7 +338,11 @@ class MrcObjectTest(AssertRaisesRegexMixin, unittest.TestCase):
- def test_data_is_not_copied_unnecessarily(self):
- data = np.arange(6, dtype=np.int16).reshape(1, 2, 3)
- self.mrcobject.set_data(data)
-- assert self.mrcobject.data is data
-+ # Identity assertion fails with python3-numpy 1.24.2, so
-+ # replace with an equality assertion assert
-+ # This should be reverted eventually
-+ # self.mrcobject.data is data
-+ assert np.array_equal(self.mrcobject.data, data)
-
- def test_header_byte_order_is_unchanged_by_data_with_native_order(self):
- data = np.arange(6, dtype=np.float32).reshape(3, 2)
diff --git a/dev-python/mrcfile/mrcfile-1.4.3.ebuild b/dev-python/mrcfile/mrcfile-1.4.3.ebuild
deleted file mode 100644
index 48880b375bb0..000000000000
--- a/dev-python/mrcfile/mrcfile-1.4.3.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="MRC2014 file format I/O library"
-HOMEPAGE="
- https://pypi.org/project/mrcfile/
- https://github.com/ccpem/mrcfile/
-"
-SRC_URI="
- https://github.com/ccpem/mrcfile/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/numpy-1.16.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
-
-PATCHES=(
- # https://github.com/ccpem/mrcfile/issues/49
- "${FILESDIR}/${P}-test-assertion-error.patch"
-)
diff --git a/dev-python/mrcfile/mrcfile-1.5.1.ebuild b/dev-python/mrcfile/mrcfile-1.5.1.ebuild
new file mode 100644
index 000000000000..e90cfd6c8d47
--- /dev/null
+++ b/dev-python/mrcfile/mrcfile-1.5.1.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="MRC2014 file format I/O library"
+HOMEPAGE="
+ https://pypi.org/project/mrcfile/
+ https://github.com/ccpem/mrcfile/
+"
+SRC_URI="
+ https://github.com/ccpem/mrcfile/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/numpy-1.16.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/mrcfile/mrcfile-1.5.2.ebuild b/dev-python/mrcfile/mrcfile-1.5.2.ebuild
new file mode 100644
index 000000000000..e90cfd6c8d47
--- /dev/null
+++ b/dev-python/mrcfile/mrcfile-1.5.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="MRC2014 file format I/O library"
+HOMEPAGE="
+ https://pypi.org/project/mrcfile/
+ https://github.com/ccpem/mrcfile/
+"
+SRC_URI="
+ https://github.com/ccpem/mrcfile/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/numpy-1.16.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/mrcfile/mrcfile-1.5.3.ebuild b/dev-python/mrcfile/mrcfile-1.5.3.ebuild
new file mode 100644
index 000000000000..e90cfd6c8d47
--- /dev/null
+++ b/dev-python/mrcfile/mrcfile-1.5.3.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="MRC2014 file format I/O library"
+HOMEPAGE="
+ https://pypi.org/project/mrcfile/
+ https://github.com/ccpem/mrcfile/
+"
+SRC_URI="
+ https://github.com/ccpem/mrcfile/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/numpy-1.16.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/msgpack/Manifest b/dev-python/msgpack/Manifest
index 8b9852db52dd..9568215623f3 100644
--- a/dev-python/msgpack/Manifest
+++ b/dev-python/msgpack/Manifest
@@ -1,2 +1,2 @@
-DIST msgpack-1.0.5.tar.gz 127834 BLAKE2B 3dcf454630021e35d5c6d5ce850d7ac74a6d11d6fe7c7ed07040daa62585bd6b11dc0f68a5b4c4bf20346c25bc23017f79f2d1bad09f175008b184461d0eea5d SHA512 bc3bf27ca7a9204c5ebc009e4a03db4fb48f6c2733bef393aed16652f07ac92c9400258818743245598343c86494d39b39017ab70d7563a5844091eca11a9faa
DIST msgpack-1.0.7.tar.gz 166311 BLAKE2B 8ddf2acf6bf81498d981c3ec83cbdffde1b1611f8ac23d3377f3f1541e679eda288b40b949bd586ca24a7059da3a0f73fa797a661375135ec092f408521c8527 SHA512 0ebd36f45b73106a4272588b55d55e72b6b8441be652b16f63f5547ae7ff1bc517a6b4549ef999ee63deb2856354a71ef37fd8d8829e516232518b046cf589c5
+DIST msgpack-1.0.8.tar.gz 167014 BLAKE2B 714b0355941104e791c5a3b8ee2bd4f40b11484631a3bde63e7c0bdbb925a603c4704b037ab437c2330dc0d2e466d41ccfd50c6a45ef798e5cd34a87e4e3863f SHA512 b739667d4384ba0e18a4e55de6033933822180eb5d28bd7f5ecd7e7da112a214f400740feb45de6f0873d12c8b062b1a8b9b9e5939c2961a8c9585f282645c5b
diff --git a/dev-python/msgpack/msgpack-1.0.5-r1.ebuild b/dev-python/msgpack/msgpack-1.0.5-r1.ebuild
deleted file mode 100644
index e8ffbf8bc579..000000000000
--- a/dev-python/msgpack/msgpack-1.0.5-r1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="MessagePack (de)serializer for Python"
-HOMEPAGE="
- https://msgpack.org/
- https://github.com/msgpack/msgpack-python/
- https://pypi.org/project/msgpack/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~x64-macos"
-IUSE="+native-extensions"
-
-# extension code is relying on CPython implementation details
-BDEPEND="
- native-extensions? (
- $(python_gen_cond_dep '
- >=dev-python/cython-0.29.30[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Remove pre-generated cython files
- rm msgpack/_cmsgpack.cpp || die
-
- # native-extensions are always disabled on PyPy
- # https://github.com/msgpack/msgpack-python/blob/main/setup.py#L76
- if ! use native-extensions ; then
- export MSGPACK_PUREPYTHON=1
- fi
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- rm -rf msgpack || die
- epytest
-}
diff --git a/dev-python/msgpack/msgpack-1.0.8.ebuild b/dev-python/msgpack/msgpack-1.0.8.ebuild
new file mode 100644
index 000000000000..b4049765caa8
--- /dev/null
+++ b/dev-python/msgpack/msgpack-1.0.8.ebuild
@@ -0,0 +1,51 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="MessagePack (de)serializer for Python"
+HOMEPAGE="
+ https://msgpack.org/
+ https://github.com/msgpack/msgpack-python/
+ https://pypi.org/project/msgpack/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+IUSE="+native-extensions"
+
+# extension code is relying on CPython implementation details
+BDEPEND="
+ native-extensions? (
+ $(python_gen_cond_dep '
+ >=dev-python/cython-3.0.8[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Remove pre-generated cython files
+ rm msgpack/_cmsgpack.cpp || die
+
+ # native-extensions are always disabled on PyPy
+ # https://github.com/msgpack/msgpack-python/blob/main/setup.py#L76
+ if ! use native-extensions ; then
+ export MSGPACK_PUREPYTHON=1
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ rm -rf msgpack || die
+ epytest
+}
diff --git a/dev-python/mss/mss-9.0.1.ebuild b/dev-python/mss/mss-9.0.1.ebuild
index 7a2737d549c2..619ed560bba8 100644
--- a/dev-python/mss/mss-9.0.1.ebuild
+++ b/dev-python/mss/mss-9.0.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi virtualx
@@ -28,17 +28,6 @@ BDEPEND="
distutils_enable_tests pytest
distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme
-EPYTEST_IGNORE=(
- # upstream tests for self-build, apparently broken by setuptools
- # issuing deprecation warnings
- src/tests/test_setup.py
-)
-
-EPYTEST_DESELECT=(
- # unreliable `lsof -U | grep ...` tests
- src/tests/test_leaks.py
-)
-
src_prepare() {
sed -i -e '/--cov/d' setup.cfg || die
distutils-r1_src_prepare
@@ -47,3 +36,19 @@ src_prepare() {
src_test() {
virtx distutils-r1_src_test
}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # upstream tests for self-build, apparently broken by setuptools
+ # issuing deprecation warnings
+ src/tests/test_setup.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # unreliable `lsof -U | grep ...` tests
+ src/tests/test_leaks.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p rerunfailures
+}
diff --git a/dev-python/multidict/Manifest b/dev-python/multidict/Manifest
index 6d6f69be66b9..5de60752053a 100644
--- a/dev-python/multidict/Manifest
+++ b/dev-python/multidict/Manifest
@@ -1 +1 @@
-DIST multidict-6.0.4.gh.tar.gz 58931 BLAKE2B 2cf25ac2af57289432dfc6617f35a9f1310469b8d7b6a762e63f4f08b3cb8235c7115c4072fc2ffeec417b49af8a97654c7d69e8e20507fd553fab074e42b1cf SHA512 6f9e6ff16a104d40b0cb59860af9cb1a98e8d3a256626f77600c4895e6ef692b31880273f204e7ecdeb574407dd7c2e4326ad7cd9c08b1095011d6ba3793b86e
+DIST multidict-6.0.5.gh.tar.gz 72819 BLAKE2B 668b5db8174c0dbc6651eae281f777d5c1dfb59a4f4d9d5301355148bf40063e33e26844d2f8ff543ebe7b9c91cf7fffb4abd57ca6786684757f50af27b7df56 SHA512 500d3b2a139d40442462a2b49f9dd0c01631643ef9905367d8b7c472a1030437c26a042a28e11ba94058a17821628d96f19ec6ca479d5831e2f1263ff0069871
diff --git a/dev-python/multidict/multidict-6.0.4-r1.ebuild b/dev-python/multidict/multidict-6.0.4-r1.ebuild
deleted file mode 100644
index b96ba51c677a..000000000000
--- a/dev-python/multidict/multidict-6.0.4-r1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="multidict implementation"
-HOMEPAGE="
- https://github.com/aio-libs/multidict/
- https://pypi.org/project/multidict/
-"
-SRC_URI="
- https://github.com/aio-libs/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-IUSE="+native-extensions"
-
-distutils_enable_sphinx docs --no-autodoc
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't enable coverage or other pytest settings
- sed -i -e 's:--cov.*::' setup.cfg || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- # the C extension segfaults on py3.12
- # https://github.com/aio-libs/multidict/issues/868
- if ! use native-extensions || [[ ${EPYTHON} == python3.12 ]]; then
- local -x MULTIDICT_NO_EXTENSIONS=1
- fi
-
- distutils-r1_python_compile
-}
-
-python_test() {
- rm -rf multidict || die
- epytest
-}
diff --git a/dev-python/multidict/multidict-6.0.5.ebuild b/dev-python/multidict/multidict-6.0.5.ebuild
new file mode 100644
index 000000000000..a189c70f9a80
--- /dev/null
+++ b/dev-python/multidict/multidict-6.0.5.ebuild
@@ -0,0 +1,51 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="multidict implementation"
+HOMEPAGE="
+ https://github.com/aio-libs/multidict/
+ https://pypi.org/project/multidict/
+"
+SRC_URI="
+ https://github.com/aio-libs/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+IUSE="+native-extensions"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't enable coverage or other pytest settings
+ sed -i -e '/cov/d' pyproject.toml pytest.ini || die
+ distutils-r1_python_prepare_all
+}
+
+python_compile() {
+ if ! use native-extensions || [[ ${EPYTHON} == pypy3 ]]; then
+ local -x MULTIDICT_NO_EXTENSIONS=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ rm -rf multidict || die
+
+ local cext=--c-extensions
+ if ! use native-extensions || [[ ${EPYTHON} == pypy3 ]]; then
+ cext=--no-c-extensions
+ fi
+ epytest "${cext}"
+}
diff --git a/dev-python/multipledispatch/multipledispatch-1.0.0.ebuild b/dev-python/multipledispatch/multipledispatch-1.0.0.ebuild
index f2804335e888..011e1ec48484 100644
--- a/dev-python/multipledispatch/multipledispatch-1.0.0.ebuild
+++ b/dev-python/multipledispatch/multipledispatch-1.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/multiprocess/Manifest b/dev-python/multiprocess/Manifest
index bec77b863a4c..0dd150e5e6b3 100644
--- a/dev-python/multiprocess/Manifest
+++ b/dev-python/multiprocess/Manifest
@@ -1 +1 @@
-DIST multiprocess-0.70.15.tar.gz 1894495 BLAKE2B 3ed3c6e530f0a9e32a04b591f874b0fd7c116704f69116d1ed3addba6010ac33a4cc3d5214e6cce18478d5a05bfffb75840ca520f2d3604a06006aa5d6725ae9 SHA512 095c15e942bebe2dffa5054ce46f30f69b3f0fcbfbd87b6742546dcacdb6a5d0d3274002f5f58f73345761adaa19866573ae20d420f8ca4cc00ca5270f8acb84
+DIST multiprocess-0.70.16.tar.gz 1772603 BLAKE2B e5d685e3c1343196560175b6b498e7c2758f035d67d0f40c2ab0ef587858d81662ae3242431c4f4fe258a421aa1646e5c76182e0ba3039be2b0ba16b2e23dcec SHA512 8aee5f0cf74ef4a30bcf2337a651a39270f507f9e827647ad3ae50cba688d2920c56331568b8d597b379587c3cb82f5d10d7b96bdba63a0eccc2ec7abccf9863
diff --git a/dev-python/multiprocess/multiprocess-0.70.15.ebuild b/dev-python/multiprocess/multiprocess-0.70.15.ebuild
deleted file mode 100644
index bd1837716936..000000000000
--- a/dev-python/multiprocess/multiprocess-0.70.15.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Better multiprocessing and multithreading in Python"
-HOMEPAGE="
- https://github.com/uqfoundation/multiprocess/
- https://pypi.org/project/multiprocess/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/dill[${PYTHON_USEDEP}]
-"
-
-python_test() {
- "${EPYTHON}" py${EPYTHON#python}/multiprocess/tests/__main__.py -v || die
-}
diff --git a/dev-python/multiprocess/multiprocess-0.70.16.ebuild b/dev-python/multiprocess/multiprocess-0.70.16.ebuild
new file mode 100644
index 000000000000..a658f5b248b3
--- /dev/null
+++ b/dev-python/multiprocess/multiprocess-0.70.16.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Better multiprocessing and multithreading in Python"
+HOMEPAGE="
+ https://github.com/uqfoundation/multiprocess/
+ https://pypi.org/project/multiprocess/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/dill-0.3.8[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ "${EPYTHON}" py${EPYTHON#python}/multiprocess/tests/__main__.py -v || die
+}
diff --git a/dev-python/munch/files/munch-4.0.0-py313.patch b/dev-python/munch/files/munch-4.0.0-py313.patch
new file mode 100644
index 000000000000..6d7cba2b89d7
--- /dev/null
+++ b/dev-python/munch/files/munch-4.0.0-py313.patch
@@ -0,0 +1,29 @@
+From 84651ee872f9ea6dbaed986fd3818202933a8b50 Mon Sep 17 00:00:00 2001
+From: Karolina Surma <ksurma@redhat.com>
+Date: Wed, 5 Jun 2024 09:49:49 +0200
+Subject: [PATCH] Adjust tests for Python 3.13
+
+---
+ tests/test_munch.py | 9 +++++++++
+ 1 file changed, 9 insertions(+)
+
+diff --git a/tests/test_munch.py b/tests/test_munch.py
+index c80b757..5886fdd 100644
+--- a/tests/test_munch.py
++++ b/tests/test_munch.py
+@@ -225,6 +225,15 @@ def test_reserved_attributes(attrname):
+ assert attr == 'munch'
+ elif attrname == '__dict__':
+ assert attr == {}
++ elif attrname == '__static_attributes__':
++ # Python 3.13: added __static_attributes__ attribute, populated by the
++ # compiler, containing a tuple of names of attributes of this class
++ # which are accessed through self.X from any function in its body.
++ assert isinstance(attr, tuple)
++ elif attrname == '__firstlineno__':
++ # Python 3.13: added __firstlineno__ attribute, populated by the
++ # compiler, containing the line number of the first line of the class definition
++ assert isinstance(attr, int)
+ else:
+ assert callable(attr)
+
diff --git a/dev-python/munch/munch-4.0.0.ebuild b/dev-python/munch/munch-4.0.0.ebuild
index 5e000b9f640e..2b58fe8804b1 100644
--- a/dev-python/munch/munch-4.0.0.ebuild
+++ b/dev-python/munch/munch-4.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -15,8 +15,8 @@ HOMEPAGE="
"
LICENSE="MIT"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
BDEPEND="
dev-python/pbr[${PYTHON_USEDEP}]
@@ -26,3 +26,8 @@ BDEPEND="
"
distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/Infinidat/munch/pull/104
+ "${FILESDIR}/${P}-py313.patch"
+)
diff --git a/dev-python/munkres/files/munkres-1.1.4-test-32bit.patch b/dev-python/munkres/files/munkres-1.1.4-test-32bit.patch
new file mode 100644
index 000000000000..86159299eed5
--- /dev/null
+++ b/dev-python/munkres/files/munkres-1.1.4-test-32bit.patch
@@ -0,0 +1,34 @@
+From 380a0d593a0569a761c4a035edaa4414c3b4b31d Mon Sep 17 00:00:00 2001
+From: Stefano Rivera <stefano@rivera.za.net>
+Date: Sat, 17 Oct 2020 11:15:04 -0700
+Subject: [PATCH] Use a constant cost calculation in test_profit_float()
+
+Rather than an architecture-specific calculation, when our variable
+precision does not differ across architectures.
+
+Fixes: #40
+---
+ test/test_munkres.py | 6 +++---
+ 1 file changed, 3 insertions(+), 3 deletions(-)
+
+diff --git a/test/test_munkres.py b/test/test_munkres.py
+index 23796dd..3cc65d9 100644
+--- a/test/test_munkres.py
++++ b/test/test_munkres.py
+@@ -162,13 +162,13 @@ def test_profit_float():
+ [37.11, 53.12, 57.13, 78.14, 28.15],
+ [59.16, 43.17, 97.18, 88.19, 48.2],
+ [52.21, 19.22, 89.23, 60.24, 60.25]]
+- import sys
++ max_ = 2**32
+ cost_matrix = munkres.make_cost_matrix(
+- profit_matrix, lambda cost: sys.maxsize - cost
++ profit_matrix, lambda cost: max_ - cost
+ )
+ indices = m.compute(cost_matrix)
+ profit = sum([profit_matrix[row][column] for row, column in indices])
+- assert profit == pytest.approx(362.65)
++ assert profit == pytest.approx(392.65)
+
+ def test_irregular():
+ matrix = [[12, 26, 17],
diff --git a/dev-python/munkres/munkres-1.1.4-r1.ebuild b/dev-python/munkres/munkres-1.1.4-r1.ebuild
index 00d44a124e4d..c318bcee8083 100644
--- a/dev-python/munkres/munkres-1.1.4-r1.ebuild
+++ b/dev-python/munkres/munkres-1.1.4-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -22,6 +22,11 @@ S=${WORKDIR}/${MY_P}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/bmc/munkres/pull/41
+ "${FILESDIR}/${P}-test-32bit.patch"
+)
diff --git a/dev-python/mypy/Manifest b/dev-python/mypy/Manifest
index 0fb7efb7cd54..480caef5e634 100644
--- a/dev-python/mypy/Manifest
+++ b/dev-python/mypy/Manifest
@@ -1,2 +1,2 @@
-DIST mypy-1.7.0.gh.tar.gz 3001996 BLAKE2B af29475dc4a24d75700144b8b2643de65d88d50d561ba6bdb0d64941dc19a2943829ee93f25ece679d213833bf7a68814c5aa83ec13eac3f22074356b1c47e1c SHA512 e8ba6b0897327e8a0718a0c46ed16ce81bf677e3084ca00ea0762215d79a2b52fe84329121cff257b575d13288621b98c550b9915bd1afcfa3c13d43a2087b23
-DIST mypy-1.7.1.gh.tar.gz 3004203 BLAKE2B 5a61899e2deb9fd7dfd8634bfa269f19497fec6d601337d404a5106369650c5da0d6989acf5c4ed584d12b1d0e763e684a6650800cd2fc00f99f9a336f86e703 SHA512 07c047a4733c5d44b9e32cc5afa0b7dfa5719b3128cf52f68e5492a9680b09319bb1722a2080a4f93bd191c6504667985467a6ac0e7bef5389c38290879581c5
+DIST mypy-1.10.1.gh.tar.gz 3062383 BLAKE2B 326fb33e42ad8920a235e510b3d39663f333dc46d0dd3ffc59f4604e9a4f29f0be95f73bac42166aae00b53987d6a2a54446f1f58033dce389c43044dbaa9cdd SHA512 10d29ae145d71911dc7c9b4538371bf1caa64f333984ab3a4cbf9561d7c4e752c68380496489f56d0941f143d6684d84d28f157be578d6f55f1e81d3d47b204c
+DIST mypy-1.11.0.gh.tar.gz 3121990 BLAKE2B 8c48580a01d0e2795a8aebcba3e6a6be707e411396dc607eeb1942958c993a504d57a778cb9d25b7a0d78921f577331018b3a425864fa764c71728e8cd6e1265 SHA512 87fded2b6cdbd77a0d34df14b4d6b1824ec84030602ceb655550ec34ded159eabc3c30ad0a2e151fa5a2389227e776f50a25c80dae42f1ae608af32098e5ea02
diff --git a/dev-python/mypy/files/mypy-1.10.1-py313.patch b/dev-python/mypy/files/mypy-1.10.1-py313.patch
new file mode 100644
index 000000000000..5b9932852e19
--- /dev/null
+++ b/dev-python/mypy/files/mypy-1.10.1-py313.patch
@@ -0,0 +1,153 @@
+From 29b4303e905f43556043efde95e19f32e04df9a5 Mon Sep 17 00:00:00 2001
+From: Jelle Zijlstra <jelle.zijlstra@gmail.com>
+Date: Fri, 24 May 2024 21:00:17 -0700
+Subject: [PATCH] Fix stubgen for Python 3.13
+
+__firstlineno__ and __static_attributes__ are new in 3.13.
+__annotate__ will be new in 3.14, so we might as well add it now.
+---
+ mypy/stubgenc.py | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/mypy/stubgenc.py b/mypy/stubgenc.py
+index 29b2636d39cc..7e3ef49c6e9a 100755
+--- a/mypy/stubgenc.py
++++ b/mypy/stubgenc.py
+@@ -466,6 +466,9 @@ def is_skipped_attribute(self, attr: str) -> bool:
+ "__module__",
+ "__weakref__",
+ "__annotations__",
++ "__firstlineno__",
++ "__static_attributes__",
++ "__annotate__",
+ )
+ or attr in self.IGNORED_DUNDERS
+ or is_pybind_skipped_attribute(attr) # For pickling
+From 071e3f5f4685470f55dab7fc474e9f89a8e49fb9 Mon Sep 17 00:00:00 2001
+From: hauntsaninja <hauntsaninja@gmail.com>
+Date: Fri, 17 May 2024 18:49:27 -0400
+Subject: [PATCH] stubtest: changes for py313
+
+Technically it feels like we should be able to put the new dunders on
+`type` or something, but that wasn't enough to make false positives go
+away. But also we might not want to do that because it only applies to
+pure Python types
+---
+ mypy/stubtest.py | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/mypy/stubtest.py b/mypy/stubtest.py
+index dd43c472d67f..d78b71715159 100644
+--- a/mypy/stubtest.py
++++ b/mypy/stubtest.py
+@@ -634,6 +634,10 @@ def strip_prefix(s: str, prefix: str) -> str:
+ if strip_prefix(stub_arg.variable.name, "__") == runtime_arg.name:
+ return
+
++ nonspecific_names = {"object", "args"}
++ if runtime_arg.name in nonspecific_names:
++ return
++
+ def names_approx_match(a: str, b: str) -> bool:
+ a = a.strip("_")
+ b = b.strip("_")
+@@ -1455,6 +1459,8 @@ def verify_typealias(
+ "__getattr__", # resulting behaviour might be typed explicitly
+ "__setattr__", # defining this on a class can cause worse type checking
+ "__vectorcalloffset__", # undocumented implementation detail of the vectorcall protocol
++ "__firstlineno__",
++ "__static_attributes__",
+ # isinstance/issubclass hooks that type-checkers don't usually care about
+ "__instancecheck__",
+ "__subclasshook__",
+diff --git a/mypy/plugins/dataclasses.py b/mypy/plugins/dataclasses.py
+index dd2eceab217f..edfc6840fc37 100644
+--- a/mypy/plugins/dataclasses.py
++++ b/mypy/plugins/dataclasses.py
+@@ -385,6 +385,9 @@ def transform(self) -> bool:
+
+ self._add_dataclass_fields_magic_attribute()
+ self._add_internal_replace_method(attributes)
++ if self._api.options.python_version >= (3, 13):
++ self._add_dunder_replace(attributes)
++
+ if "__post_init__" in info.names:
+ self._add_internal_post_init_method(attributes)
+
+@@ -395,6 +398,18 @@ def transform(self) -> bool:
+
+ return True
+
++ def _add_dunder_replace(self, attributes: list[DataclassAttribute]) -> None:
++ """Add a `__replace__` method to the class, which is used to replace attributes in the `copy` module."""
++ args = [attr.to_argument(self._cls.info, of="replace") for attr in attributes]
++ type_vars = [tv for tv in self._cls.type_vars]
++ add_method_to_class(
++ self._api,
++ self._cls,
++ "__replace__",
++ args=args,
++ return_type=Instance(self._cls.info, type_vars),
++ )
++
+ def _add_internal_replace_method(self, attributes: list[DataclassAttribute]) -> None:
+ """
+ Stashes the signature of 'dataclasses.replace(...)' for this specific dataclass
+From 160a9c767324460e916978d49f8d770738572119 Mon Sep 17 00:00:00 2001
+From: hauntsaninja <hauntsaninja@gmail.com>
+Date: Fri, 17 May 2024 18:23:01 -0400
+Subject: [PATCH 1/2] Support namedtuple.__replace__ in Python 3.13
+
+---
+ mypy/semanal_namedtuple.py | 6 ++++++
+ 1 file changed, 6 insertions(+)
+
+diff --git a/mypy/semanal_namedtuple.py b/mypy/semanal_namedtuple.py
+index 9a0be9d9c14c..bdd633a60635 100644
+--- a/mypy/semanal_namedtuple.py
++++ b/mypy/semanal_namedtuple.py
+@@ -599,6 +599,12 @@ def add_method(
+ ret=selftype,
+ args=[Argument(var, var.type, EllipsisExpr(), ARG_NAMED_OPT) for var in vars],
+ )
++ if self.options.python_version >= (3, 13):
++ add_method(
++ "__replace__",
++ ret=selftype,
++ args=[Argument(var, var.type, EllipsisExpr(), ARG_NAMED_OPT) for var in vars],
++ )
+
+ def make_init_arg(var: Var) -> Argument:
+ default = default_items.get(var.name, None)
+
+From 9fcaedb9f757595486ed231dbdb9433151ec669d Mon Sep 17 00:00:00 2001
+From: hauntsaninja <hauntsaninja@gmail.com>
+Date: Sat, 18 May 2024 18:40:09 -0400
+Subject: [PATCH 2/2] .
+
+---
+ test-data/unit/check-namedtuple.test | 14 ++++++++++++++
+ 1 file changed, 14 insertions(+)
+
+diff --git a/test-data/unit/check-namedtuple.test b/test-data/unit/check-namedtuple.test
+index 23e109e1af78..b2ba69abb045 100644
+--- a/test-data/unit/check-namedtuple.test
++++ b/test-data/unit/check-namedtuple.test
+@@ -1376,3 +1376,17 @@ class Test3(NamedTuple, metaclass=type): # E: Unexpected keyword argument "meta
+ ...
+ [builtins fixtures/tuple.pyi]
+ [typing fixtures/typing-namedtuple.pyi]
++
++
++[case testNamedTupleDunderReplace]
++# flags: --python-version 3.13
++from typing import NamedTuple
++
++class A(NamedTuple):
++ x: int
++
++A(x=0).__replace__(x=1)
++A(x=0).__replace__(x="asdf") # E: Argument "x" to "__replace__" of "A" has incompatible type "str"; expected "int"
++A(x=0).__replace__(y=1) # E: Unexpected keyword argument "y" for "__replace__" of "A"
++[builtins fixtures/tuple.pyi]
++[typing fixtures/typing-namedtuple.pyi]
diff --git a/dev-python/mypy/mypy-1.10.1.ebuild b/dev-python/mypy/mypy-1.10.1.ebuild
new file mode 100644
index 000000000000..0505523cc39f
--- /dev/null
+++ b/dev-python/mypy/mypy-1.10.1.ebuild
@@ -0,0 +1,133 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Optional static typing for Python"
+HOMEPAGE="
+ https://www.mypy-lang.org/
+ https://github.com/python/mypy/
+ https://pypi.org/project/mypy/
+"
+SRC_URI="
+ https://github.com/python/mypy/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~loong ppc64 ~riscv x86"
+IUSE="+native-extensions"
+
+# stubgen collides with this package: https://bugs.gentoo.org/585594
+RDEPEND="
+ !dev-util/stubgen
+ >=dev-python/psutil-4[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
+ >=dev-python/mypy_extensions-1.0.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ native-extensions? (
+ ${RDEPEND}
+ dev-python/types-psutil[${PYTHON_USEDEP}]
+ dev-python/types-setuptools[${PYTHON_USEDEP}]
+ )
+ test? (
+ >=dev-python/attrs-18.0[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.9.1[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/python/mypy/pull/17259
+ # https://github.com/python/mypy/pull/17261
+ # https://github.com/python/mypy/pull/17290
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+# frustratingly, mypyc produces non-deterministic output. If ccache is enabled it will be a waste of time,
+# but simultaneously it might trash your system and fill up the cache with a giant wave of non-reproducible
+# test files (https://github.com/mypyc/mypyc/issues/1014)
+export CCACHE_DISABLE=1
+
+python_compile() {
+ local -x MYPY_USE_MYPYC=$(usex native-extensions 1 0)
+ case ${EPYTHON} in
+ python3.13)
+ # https://github.com/mypyc/mypyc/issues/1056
+ MYPY_USE_MYPYC=0
+ ;;
+ esac
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # the majority of them require Internet (via pip)
+ mypy/test/testpep561.py
+ # known broken with assertions enabled
+ # https://github.com/python/mypy/issues/16043
+ mypyc/test/test_run.py::TestRun::run-i64.test::testI64GlueMethodsAndInheritance
+ mypyc/test/test_run.py::TestRun::run-floats.test::testFloatOps
+ # these assume that types-docutils are not installed
+ mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testIgnoreImportIfNoPython3StubAvailable
+ mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testNoPython3StubAvailable
+ # TODO
+ mypy/test/meta/test_parse_data.py
+ mypy/test/meta/test_update_data.py
+ mypy/test/teststubtest.py::StubtestUnit::test_runtime_typing_objects
+ )
+ case ${EPYTHON} in
+ python3.12)
+ EPYTEST_DESELECT+=(
+ # more assertions, sigh
+ mypyc/test/test_run.py::TestRun::run-bools.test::testBoolOps
+ mypyc/test/test_run.py::TestRun::run-i64.test::testI64BasicOps
+ mypyc/test/test_run.py::TestRun::run-i64.test::testI64DefaultArgValues
+ mypyc/test/test_run.py::TestRun::run-i64.test::testI64ErrorValuesAndUndefined
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # https://github.com/mypyc/mypyc/issues/1056
+ mypyc/test
+ # requires typeshed update
+ mypy/test/teststubtest.py::StubtestUnit::test_type_alias
+ )
+ ;;
+ esac
+
+ # Some mypy/test/testcmdline.py::PythonCmdlineSuite tests
+ # fail with high COLUMNS values
+ local -x COLUMNS=80
+
+ # The tests depend on having in-source compiled extensions if you want to
+ # test those compiled extensions. Various crucial test dependencies aren't
+ # installed. Even pyproject.toml is needed because that's where pytest args
+ # are in. Hack them into the build directory and delete them afterwards.
+ # See: https://github.com/python/mypy/issues/16143
+ local -x MYPY_TEST_PREFIX="${S}"
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ cp -r "${S}"/{conftest.py,pyproject.toml} . || die
+
+ local failed=
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest || failed=1
+
+ rm conftest.py pyproject.toml || die
+
+ [[ ${failed} ]] && die "epytest failed with ${EPYTHON}"
+}
diff --git a/dev-python/mypy/mypy-1.11.0.ebuild b/dev-python/mypy/mypy-1.11.0.ebuild
new file mode 100644
index 000000000000..81a7e950a754
--- /dev/null
+++ b/dev-python/mypy/mypy-1.11.0.ebuild
@@ -0,0 +1,126 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Optional static typing for Python"
+HOMEPAGE="
+ https://www.mypy-lang.org/
+ https://github.com/python/mypy/
+ https://pypi.org/project/mypy/
+"
+SRC_URI="
+ https://github.com/python/mypy/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~ppc64 ~riscv ~x86"
+IUSE="+native-extensions"
+
+# stubgen collides with this package: https://bugs.gentoo.org/585594
+RDEPEND="
+ !dev-util/stubgen
+ >=dev-python/psutil-4[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.6.0[${PYTHON_USEDEP}]
+ >=dev-python/mypy_extensions-1.0.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ native-extensions? (
+ ${RDEPEND}
+ dev-python/types-psutil[${PYTHON_USEDEP}]
+ dev-python/types-setuptools[${PYTHON_USEDEP}]
+ )
+ test? (
+ >=dev-python/attrs-18.0[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.9.1[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+# frustratingly, mypyc produces non-deterministic output. If ccache is enabled it will be a waste of time,
+# but simultaneously it might trash your system and fill up the cache with a giant wave of non-reproducible
+# test files (https://github.com/mypyc/mypyc/issues/1014)
+export CCACHE_DISABLE=1
+
+python_compile() {
+ local -x MYPY_USE_MYPYC=$(usex native-extensions 1 0)
+ case ${EPYTHON} in
+ python3.13)
+ # https://github.com/mypyc/mypyc/issues/1056
+ MYPY_USE_MYPYC=0
+ ;;
+ esac
+ distutils-r1_python_compile
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # the majority of them require Internet (via pip)
+ mypy/test/testpep561.py
+ # known broken with assertions enabled
+ # https://github.com/python/mypy/issues/16043
+ mypyc/test/test_run.py::TestRun::run-i64.test::testI64GlueMethodsAndInheritance
+ mypyc/test/test_run.py::TestRun::run-floats.test::testFloatOps
+ # these assume that types-docutils are not installed
+ mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testIgnoreImportIfNoPython3StubAvailable
+ mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testNoPython3StubAvailable
+ # TODO
+ mypy/test/meta/test_parse_data.py
+ mypy/test/meta/test_update_data.py
+ mypy/test/teststubtest.py::StubtestUnit::test_runtime_typing_objects
+ )
+ case ${EPYTHON} in
+ python3.12)
+ EPYTEST_DESELECT+=(
+ # more assertions, sigh
+ mypyc/test/test_run.py::TestRun::run-bools.test::testBoolOps
+ mypyc/test/test_run.py::TestRun::run-i64.test::testI64BasicOps
+ mypyc/test/test_run.py::TestRun::run-i64.test::testI64DefaultArgValues
+ mypyc/test/test_run.py::TestRun::run-i64.test::testI64ErrorValuesAndUndefined
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # https://github.com/mypyc/mypyc/issues/1056
+ mypyc/test
+ # requires typeshed update
+ mypy/test/teststubtest.py::StubtestUnit::test_type_alias
+ )
+ ;;
+ esac
+
+ # Some mypy/test/testcmdline.py::PythonCmdlineSuite tests
+ # fail with high COLUMNS values
+ local -x COLUMNS=80
+
+ # The tests depend on having in-source compiled extensions if you want to
+ # test those compiled extensions. Various crucial test dependencies aren't
+ # installed. Even pyproject.toml is needed because that's where pytest args
+ # are in. Hack them into the build directory and delete them afterwards.
+ # See: https://github.com/python/mypy/issues/16143
+ local -x MYPY_TEST_PREFIX="${S}"
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ cp -r "${S}"/{conftest.py,pyproject.toml} . || die
+
+ local failed=
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest || failed=1
+
+ rm conftest.py pyproject.toml || die
+
+ [[ ${failed} ]] && die "epytest failed with ${EPYTHON}"
+}
diff --git a/dev-python/mypy/mypy-1.7.0.ebuild b/dev-python/mypy/mypy-1.7.0.ebuild
deleted file mode 100644
index d3b0db6376a0..000000000000
--- a/dev-python/mypy/mypy-1.7.0.ebuild
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Optional static typing for Python"
-HOMEPAGE="
- https://www.mypy-lang.org/
- https://github.com/python/mypy/
- https://pypi.org/project/mypy/
-"
-SRC_URI="
- https://github.com/python/mypy/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="+native-extensions"
-
-# stubgen collides with this package: https://bugs.gentoo.org/585594
-RDEPEND="
- !dev-util/stubgen
- >=dev-python/psutil-4[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
- >=dev-python/mypy_extensions-1.0.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{9..10})
-"
-BDEPEND="
- native-extensions? (
- ${RDEPEND}
- dev-python/types-psutil[${PYTHON_USEDEP}]
- dev-python/types-setuptools[${PYTHON_USEDEP}]
- )
- test? (
- >=dev-python/attrs-18.0[${PYTHON_USEDEP}]
- >=dev-python/filelock-3.3.0[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.9.1[${PYTHON_USEDEP}]
- >=dev-python/pytest-xdist-1.18[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-# frustratingly, mypyc produces non-deterministic output. If ccache is enabled it will be a waste of time,
-# but simultaneously it might trash your system and fill up the cache with a giant wave of non-reproducible
-# test files (https://github.com/mypyc/mypyc/issues/1014)
-export CCACHE_DISABLE=1
-
-src_compile() {
- local -x MYPY_USE_MYPYC=$(usex native-extensions 1 0)
- distutils-r1_src_compile
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # the majority of them require Internet (via pip)
- mypy/test/testpep561.py
- # known broken with assertions enabled
- # https://github.com/python/mypy/issues/16043
- mypyc/test/test_run.py::TestRun::run-i64.test::testI64GlueMethodsAndInheritance
- mypyc/test/test_run.py::TestRun::run-floats.test::testFloatOps
- # these assume that types-docutils are not installed
- mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testIgnoreImportIfNoPython3StubAvailable
- mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testNoPython3StubAvailable
- )
- if [[ ${EPYTHON} == python3.12 ]]; then
- EPYTEST_DESELECT+=(
- # more assertions, sigh
- mypyc/test/test_run.py::TestRun::run-bools.test::testBoolOps
- mypyc/test/test_run.py::TestRun::run-i64.test::testI64BasicOps
- mypyc/test/test_run.py::TestRun::run-i64.test::testI64DefaultArgValues
- mypyc/test/test_run.py::TestRun::run-i64.test::testI64ErrorValuesAndUndefined
- )
- fi
-
- # Some mypy/test/testcmdline.py::PythonCmdlineSuite tests
- # fail with high COLUMNS values
- local -x COLUMNS=80
-
- # The tests depend on having in-source compiled extensions if you want to
- # test those compiled extensions. Various crucial test dependencies aren't
- # installed. Even pyproject.toml is needed because that's where pytest args
- # are in. Hack them into the build directory and delete them afterwards.
- # See: https://github.com/python/mypy/issues/16143
- local -x MYPY_TEST_PREFIX="${S}"
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- cp -r "${S}"/{conftest.py,pyproject.toml} . || die
-
- local failed=
- nonfatal epytest -n "$(makeopts_jobs)" --dist=worksteal || failed=1
-
- rm conftest.py pyproject.toml || die
-
- [[ ${failed} ]] && die "epytest failed with ${EPYTHON}"
-}
diff --git a/dev-python/mypy/mypy-1.7.1.ebuild b/dev-python/mypy/mypy-1.7.1.ebuild
deleted file mode 100644
index 7bbb2610993d..000000000000
--- a/dev-python/mypy/mypy-1.7.1.ebuild
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Optional static typing for Python"
-HOMEPAGE="
- https://www.mypy-lang.org/
- https://github.com/python/mypy/
- https://pypi.org/project/mypy/
-"
-SRC_URI="
- https://github.com/python/mypy/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="+native-extensions"
-
-# stubgen collides with this package: https://bugs.gentoo.org/585594
-RDEPEND="
- !dev-util/stubgen
- >=dev-python/psutil-4[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
- >=dev-python/mypy_extensions-1.0.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{9..10})
-"
-BDEPEND="
- native-extensions? (
- ${RDEPEND}
- dev-python/types-psutil[${PYTHON_USEDEP}]
- dev-python/types-setuptools[${PYTHON_USEDEP}]
- )
- test? (
- >=dev-python/attrs-18.0[${PYTHON_USEDEP}]
- >=dev-python/filelock-3.3.0[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.9.1[${PYTHON_USEDEP}]
- >=dev-python/pytest-xdist-1.18[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-# frustratingly, mypyc produces non-deterministic output. If ccache is enabled it will be a waste of time,
-# but simultaneously it might trash your system and fill up the cache with a giant wave of non-reproducible
-# test files (https://github.com/mypyc/mypyc/issues/1014)
-export CCACHE_DISABLE=1
-
-src_compile() {
- local -x MYPY_USE_MYPYC=$(usex native-extensions 1 0)
- distutils-r1_src_compile
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # the majority of them require Internet (via pip)
- mypy/test/testpep561.py
- # known broken with assertions enabled
- # https://github.com/python/mypy/issues/16043
- mypyc/test/test_run.py::TestRun::run-i64.test::testI64GlueMethodsAndInheritance
- mypyc/test/test_run.py::TestRun::run-floats.test::testFloatOps
- # these assume that types-docutils are not installed
- mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testIgnoreImportIfNoPython3StubAvailable
- mypy/test/testpythoneval.py::PythonEvaluationSuite::pythoneval.test::testNoPython3StubAvailable
- )
- if [[ ${EPYTHON} == python3.12 ]]; then
- EPYTEST_DESELECT+=(
- # more assertions, sigh
- mypyc/test/test_run.py::TestRun::run-bools.test::testBoolOps
- mypyc/test/test_run.py::TestRun::run-i64.test::testI64BasicOps
- mypyc/test/test_run.py::TestRun::run-i64.test::testI64DefaultArgValues
- mypyc/test/test_run.py::TestRun::run-i64.test::testI64ErrorValuesAndUndefined
- )
- fi
-
- # Some mypy/test/testcmdline.py::PythonCmdlineSuite tests
- # fail with high COLUMNS values
- local -x COLUMNS=80
-
- # The tests depend on having in-source compiled extensions if you want to
- # test those compiled extensions. Various crucial test dependencies aren't
- # installed. Even pyproject.toml is needed because that's where pytest args
- # are in. Hack them into the build directory and delete them afterwards.
- # See: https://github.com/python/mypy/issues/16143
- local -x MYPY_TEST_PREFIX="${S}"
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- cp -r "${S}"/{conftest.py,pyproject.toml} . || die
-
- local failed=
- nonfatal epytest -n "$(makeopts_jobs)" --dist=worksteal || failed=1
-
- rm conftest.py pyproject.toml || die
-
- [[ ${failed} ]] && die "epytest failed with ${EPYTHON}"
-}
diff --git a/dev-python/mypy_extensions/mypy_extensions-1.0.0.ebuild b/dev-python/mypy_extensions/mypy_extensions-1.0.0.ebuild
index 5fd9ea621a87..30ea4b0009c3 100644
--- a/dev-python/mypy_extensions/mypy_extensions-1.0.0.ebuild
+++ b/dev-python/mypy_extensions/mypy_extensions-1.0.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/mysqlclient/Manifest b/dev-python/mysqlclient/Manifest
index d46a11d00ae7..9eca5e8c365e 100644
--- a/dev-python/mysqlclient/Manifest
+++ b/dev-python/mysqlclient/Manifest
@@ -1 +1 @@
-DIST mysqlclient-2.2.0.tar.gz 89543 BLAKE2B 1e75d37825b81300103d980174d12986d7d02fa2f958ebbdb3d8a2ecea498a8afd9f43c2e3d46a88109364bc0ba172f91c7d5853ed4bd173ef34bc451d31c7b3 SHA512 c392bfc173c2a2e20821b862c3f23621bcd0c20884f58623c345921aaa4f0557b3f75e75e5577a0df150adf119ec008af5ad1fcbfe11248d73918c0a211e8df9
+DIST mysqlclient-2.2.4.tar.gz 90400 BLAKE2B b41ed12bd8b2ea49b34d038db93e599eb05c9a910ab712fc8b7feed918f83bf3c4c8e55eac45ee944edefc26b0610b19cee9e9b76450adf9981ecc9b5fa44d85 SHA512 d1f7ba693368309a14a0982c2f1e0731617b482044afab765c8d81ea26dc6950a110c6cab48792ea1397add7b7151c756d5d22827fcce836404456f8956538a6
diff --git a/dev-python/mysqlclient/mysqlclient-2.2.0.ebuild b/dev-python/mysqlclient/mysqlclient-2.2.0.ebuild
deleted file mode 100644
index 9ee4b0571cc4..000000000000
--- a/dev-python/mysqlclient/mysqlclient-2.2.0.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python interface to MySQL"
-HOMEPAGE="
- https://pypi.org/project/mysqlclient/
- https://github.com/PyMySQL/mysqlclient/
-"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-DEPEND="
- dev-db/mysql-connector-c:0=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- test? (
- dev-db/mariadb[server]
- )
-"
-
-distutils_enable_sphinx doc
-distutils_enable_tests pytest
-
-src_test() {
- local datadir="${T}/mysql" \
- install_log="${T}/mysqld_install.log" \
- pidfile="${T}/mysqld.pid" \
- socket="${T}/mysqld.sock" \
- log="${T}/mysqld.log"
- einfo "Creating test MySQL instance ..."
- if ! mysql_install_db \
- --no-defaults \
- --auth-root-authentication-method=normal \
- --basedir="${EPREFIX}/usr" \
- --datadir="${datadir}" >& "${install_log}"
- then
- cat "${install_log}"
- die "Failed to create database"
- fi
-
- einfo "Starting test MySQL instance ..."
- mysqld \
- --no-defaults \
- --character-set-server=utf8 \
- --pid-file="${pidfile}" \
- --socket="${socket}" \
- --skip-networking \
- --datadir="${datadir}" >& "${log}" &
-
- local i timeout=10
- einfo "Waiting for MySQL to start for up to ${timeout} seconds ..."
- for i in seq 1 ${timeout}; do
- [[ -S "${socket}" ]] && break
- sleep 1
- done
- if [[ ! -S "${socket}" ]]; then
- cat "${log}"
- die "MySQL failed to start in ${timeout} seconds"
- fi
-
- cat > "${T}/mysql.cnf" <<- EOF
- [MySQLdb-tests]
- socket = ${socket}
- user = root
- database = test
- EOF
-
- distutils-r1_src_test
-
- einfo "Stopping test MySQL instance ..."
- pkill -F "${pidfile}" &>/dev/null
-}
-
-python_test() {
- local -x TESTDB="${T}/mysql.cnf"
- rm -rf MySQLdb || die
- epytest
-}
diff --git a/dev-python/mysqlclient/mysqlclient-2.2.4.ebuild b/dev-python/mysqlclient/mysqlclient-2.2.4.ebuild
new file mode 100644
index 000000000000..53431e1b9dd4
--- /dev/null
+++ b/dev-python/mysqlclient/mysqlclient-2.2.4.ebuild
@@ -0,0 +1,93 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python interface to MySQL"
+HOMEPAGE="
+ https://pypi.org/project/mysqlclient/
+ https://github.com/PyMySQL/mysqlclient/
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ dev-db/mysql-connector-c:0=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-db/mariadb[server]
+ )
+"
+
+distutils_enable_sphinx doc \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+src_test() {
+ rm -r src || die
+
+ local datadir="${T}/mysql" \
+ install_log="${T}/mysqld_install.log" \
+ pidfile="${T}/mysqld.pid" \
+ socket="${T}/mysqld.sock" \
+ log="${T}/mysqld.log"
+ einfo "Creating test MySQL instance ..."
+ if ! mysql_install_db \
+ --no-defaults \
+ --auth-root-authentication-method=normal \
+ --basedir="${EPREFIX}/usr" \
+ --datadir="${datadir}" >& "${install_log}"
+ then
+ cat "${install_log}"
+ die "Failed to create database"
+ fi
+
+ einfo "Starting test MySQL instance ..."
+ mysqld \
+ --no-defaults \
+ --character-set-server=utf8 \
+ --pid-file="${pidfile}" \
+ --socket="${socket}" \
+ --skip-networking \
+ --datadir="${datadir}" >& "${log}" &
+
+ local i timeout=10
+ einfo "Waiting for MySQL to start for up to ${timeout} seconds ..."
+ for i in seq 1 ${timeout}; do
+ [[ -S "${socket}" ]] && break
+ sleep 1
+ done
+ if [[ ! -S "${socket}" ]]; then
+ cat "${log}"
+ die "MySQL failed to start in ${timeout} seconds"
+ fi
+
+ cat > "${T}/mysql.cnf" <<- EOF
+ [MySQLdb-tests]
+ socket = ${socket}
+ user = root
+ database = test
+ EOF
+
+ distutils-r1_src_test
+
+ einfo "Stopping test MySQL instance ..."
+ pkill -F "${pidfile}" &>/dev/null
+}
+
+python_test() {
+ local -x TESTDB="${T}/mysql.cnf"
+ epytest
+}
diff --git a/dev-python/myst-parser/Manifest b/dev-python/myst-parser/Manifest
index f62ab3c5d2ac..8f2f416d9ab8 100644
--- a/dev-python/myst-parser/Manifest
+++ b/dev-python/myst-parser/Manifest
@@ -1 +1 @@
-DIST MyST-Parser-2.0.0.gh.tar.gz 815453 BLAKE2B 8f5dd823c3c79d843b45a7a4819d5677b51a12f78db2c1ce9700eb6faa8c4f0bc167fb1d8cd947e89ffab85aec947ab527b67dc73ef4db97a393f700a4331738 SHA512 c47bdd773565e93c4714d318a70f9a8adab1be6e2a63c23175667fc4afb5da4d66b84e11176782c8202e9fd68883e74d444911ddfb0b91356c2ba07fa65f7ea4
+DIST MyST-Parser-3.0.1.gh.tar.gz 823769 BLAKE2B 2b8d84dc6a61abd7d168317bb80632172f01f109751b40c108828d0b2fb9c8536da32ff6c873cd3bc20b70c2613b25167eeee999ea9f2d59dfc914ac231120b2 SHA512 4c2b08e9307685c2ef02eee89becba1d6e9f67eba7ab6d5bb5b425f232ac0922bb31cb5df5d60a5ed0846a9314475bcd2cb073a0101f514455c2598340e4b441
diff --git a/dev-python/myst-parser/myst-parser-2.0.0.ebuild b/dev-python/myst-parser/myst-parser-2.0.0.ebuild
deleted file mode 100644
index 62a14e5a21a3..000000000000
--- a/dev-python/myst-parser/myst-parser-2.0.0.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-MY_P=MyST-Parser-${PV}
-DESCRIPTION="Extended commonmark compliant parser, with bridges to Sphinx"
-HOMEPAGE="
- https://github.com/executablebooks/MyST-Parser/
- https://pypi.org/project/myst-parser/
-"
-SRC_URI="
- https://github.com/executablebooks/MyST-Parser/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- <dev-python/docutils-0.21[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- <dev-python/markdown-it-py-4[${PYTHON_USEDEP}]
- >=dev-python/markdown-it-py-3.0[${PYTHON_USEDEP}]
- <dev-python/mdit-py-plugins-0.5[${PYTHON_USEDEP}]
- >=dev-python/mdit-py-plugins-0.4[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- <dev-python/sphinx-8[${PYTHON_USEDEP}]
- >=dev-python/sphinx-6[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- <dev-python/linkify-it-py-3[${PYTHON_USEDEP}]
- >=dev-python/linkify-it-py-2.0.0[${PYTHON_USEDEP}]
- dev-python/pytest-regressions[${PYTHON_USEDEP}]
- dev-python/pytest-param-files[${PYTHON_USEDEP}]
- dev-python/sphinx-pytest[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
-
- false && [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- # bad test relying on exact exception messages
- "tests/test_renderers/test_include_directive.py::test_errors[9-Non-existent path:]"
- )
-
- epytest
-}
diff --git a/dev-python/myst-parser/myst-parser-3.0.1.ebuild b/dev-python/myst-parser/myst-parser-3.0.1.ebuild
new file mode 100644
index 000000000000..64c23a7291cd
--- /dev/null
+++ b/dev-python/myst-parser/myst-parser-3.0.1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+MY_P=MyST-Parser-${PV}
+DESCRIPTION="Extended commonmark compliant parser, with bridges to Sphinx"
+HOMEPAGE="
+ https://github.com/executablebooks/MyST-Parser/
+ https://pypi.org/project/myst-parser/
+"
+SRC_URI="
+ https://github.com/executablebooks/MyST-Parser/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/docutils-0.18[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ <dev-python/markdown-it-py-4[${PYTHON_USEDEP}]
+ >=dev-python/markdown-it-py-3.0[${PYTHON_USEDEP}]
+ <dev-python/mdit-py-plugins-0.5[${PYTHON_USEDEP}]
+ >=dev-python/mdit-py-plugins-0.4[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ <dev-python/sphinx-8[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ <dev-python/linkify-it-py-3[${PYTHON_USEDEP}]
+ >=dev-python/linkify-it-py-2.0.0[${PYTHON_USEDEP}]
+ dev-python/pytest-regressions[${PYTHON_USEDEP}]
+ dev-python/pytest-param-files[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-7.3[${PYTHON_USEDEP}]
+ dev-python/sphinx-pytest[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+
+ # unpin docutils
+ sed -i -e '/docutils/s:,<[0-9.]*::' pyproject.toml || die
+}
diff --git a/dev-python/nagiosplugin/nagiosplugin-1.3.3.ebuild b/dev-python/nagiosplugin/nagiosplugin-1.3.3.ebuild
index f077fa77391f..8a199be49f45 100644
--- a/dev-python/nagiosplugin/nagiosplugin-1.3.3.ebuild
+++ b/dev-python/nagiosplugin/nagiosplugin-1.3.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="ZPL"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
distutils_enable_tests pytest
distutils_enable_sphinx doc dev-python/sphinx-rtd-theme
diff --git a/dev-python/nanobind/Manifest b/dev-python/nanobind/Manifest
new file mode 100644
index 000000000000..779583f66f8b
--- /dev/null
+++ b/dev-python/nanobind/Manifest
@@ -0,0 +1 @@
+DIST nanobind-2.0.0.gh.tar.gz 842956 BLAKE2B 82a2b44d904a2bfc88538d3bac6d5d96b473bcca2ff98647f9edd656a1d20fae324fcf334b848f861723aae666690b6b17ee626dede89bac6b140e9ef8cd01fe SHA512 1bafbf6b18c9b65b5ecb3bbf23a164b17ee52ef4f053a00de986a35e17e662422b54cea1c145f83ee8a3973bba383a949b3c305dcfecfbf139ab90006d42935e
diff --git a/dev-python/nanobind/metadata.xml b/dev-python/nanobind/metadata.xml
new file mode 100644
index 000000000000..aa352e9fc755
--- /dev/null
+++ b/dev-python/nanobind/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">wjakob/nanobind</remote-id>
+ <remote-id type="pypi">nanobind</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/nanobind/nanobind-2.0.0-r1.ebuild b/dev-python/nanobind/nanobind-2.0.0-r1.ebuild
new file mode 100644
index 000000000000..2dcc5ebc12a5
--- /dev/null
+++ b/dev-python/nanobind/nanobind-2.0.0-r1.ebuild
@@ -0,0 +1,71 @@
+# 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..13} )
+
+inherit cmake distutils-r1
+
+DESCRIPTION="Tiny and efficient C++/Python bindings"
+HOMEPAGE="
+ https://github.com/wjakob/nanobind
+ https://pypi.org/project/nanobind/
+"
+SRC_URI="
+ https://github.com/wjakob/nanobind/archive/refs/tags/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+
+RDEPEND=">=dev-cpp/robin-map-1.3.0"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # This test assumes in-source build for the .pyi stubs.
+ # (Hack because EPYTEST_IGNORE doesn't work with the paths it collects(?))
+ echo > tests/test_stubs.py || die
+
+ cmake_src_prepare
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ # XXX: nanobind installs a CMake config file which by default passes -Os
+ # We currently patch around it in dev-python/pyopencl. In future, we
+ # may want to add some override with Gentoo specific environment vars.
+ local mycmakeargs=(
+ -DNB_CREATE_INSTALL_RULES=ON
+ -DNB_USE_SUBMODULE_DEPS=OFF
+ -DNB_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ cmake_src_compile
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ cd "${BUILD_DIR}/tests" || die
+ epytest "${S}/tests"
+}
+
+python_install() {
+ distutils-r1_python_install
+ cmake_src_install
+}
diff --git a/dev-python/natsort/natsort-8.4.0.ebuild b/dev-python/natsort/natsort-8.4.0.ebuild
index 5db6268d2a69..433fa33b0344 100644
--- a/dev-python/natsort/natsort-8.4.0.ebuild
+++ b/dev-python/natsort/natsort-8.4.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 optfeature pypi
diff --git a/dev-python/nautilus-python/Manifest b/dev-python/nautilus-python/Manifest
index e561fe591e12..8c2e9d658ae1 100644
--- a/dev-python/nautilus-python/Manifest
+++ b/dev-python/nautilus-python/Manifest
@@ -1 +1 @@
-DIST nautilus-python-4.0.tar.xz 32184 BLAKE2B cc910de82e54cd687d23541a0b283a70dc5a0626acebf8787110ae1b5a4c080741c0879968816e217a4da968a77169d79b6614dd055f1ae57999a9a49f2553cb SHA512 f70f825b821f266caafd1b347066de01462b8256ec126072042d09dd7fd6c9324847d5ddab65671589d0a411f8b8fed428dbc94806ac679d646861c66c3a0dd5
+DIST nautilus-python-4.0.1.tar.xz 32236 BLAKE2B 822812ac86bbfa9e3978468968ec9291cf2f95ab4954cffeebe62f4d297b5816ad1a59cf04bbc31a146c0858e45509a4b5988789f17e7b76c4221e9c6fb1e285 SHA512 24e64af1c1cb8c70a4ea53bb064baf681d8848b2e8b549f682913a4883260b3f2384f985285d17e03736e414503ab82ea79bade9bcbe482a2cbecbb0a8356cea
diff --git a/dev-python/nautilus-python/nautilus-python-4.0.1.ebuild b/dev-python/nautilus-python/nautilus-python-4.0.1.ebuild
new file mode 100644
index 000000000000..e1d3ce006571
--- /dev/null
+++ b/dev-python/nautilus-python/nautilus-python-4.0.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit gnome2 meson python-single-r1
+
+DESCRIPTION="Python bindings for the Nautilus file manager"
+HOMEPAGE="https://projects.gnome.org/nautilus-python/"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
+IUSE="gtk-doc"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Require pygobject:3 and USE=introspection on nautilus for sanity,
+# because no (user) plugins could work without them; meson.build
+# requires pygobject:3 and >=nautilus-43.0
+RDEPEND="
+ >=dev-libs/glib-2.44:2
+ $(python_gen_cond_dep '
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+ ')
+ >=gnome-base/nautilus-43.0[introspection]
+ ${PYTHON_DEPS}
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ gtk-doc? ( dev-util/gtk-doc )
+ >=dev-build/gtk-doc-am-1.14
+ virtual/pkgconfig
+"
+
+src_configure() {
+ local emesonargs=(
+ $(meson_feature gtk-doc docs)
+ )
+ meson_src_configure
+}
+
+src_install() {
+ meson_src_install
+
+ mv "${ED}/usr/share/doc/${PN}/"* "${ED}/usr/share/doc/${P}" || die
+ rm -d "${ED}/usr/share/doc/${PN}" || die
+
+ # Directory for systemwide extensions
+ keepdir /usr/share/nautilus-python/extensions
+}
diff --git a/dev-python/nautilus-python/nautilus-python-4.0.ebuild b/dev-python/nautilus-python/nautilus-python-4.0.ebuild
deleted file mode 100644
index e9df668a4bf0..000000000000
--- a/dev-python/nautilus-python/nautilus-python-4.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit gnome2 meson python-single-r1
-
-DESCRIPTION="Python bindings for the Nautilus file manager"
-HOMEPAGE="https://projects.gnome.org/nautilus-python/"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 x86"
-IUSE="gtk-doc"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# Require pygobject:3 and USE=introspection on nautilus for sanity,
-# because no (user) plugins could work without them; meson.build
-# requires pygobject:3 and >=nautilus-43.0
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/pygobject:3[${PYTHON_USEDEP}]
- ')
- >=gnome-base/nautilus-43.0[introspection]
- ${PYTHON_DEPS}
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- gtk-doc? ( dev-util/gtk-doc )
- >=dev-util/gtk-doc-am-1.14
- virtual/pkgconfig
-"
-
-src_configure() {
- local emesonargs=(
- $(meson_feature gtk-doc docs)
- )
- meson_src_configure
-}
-
-src_install() {
- meson_src_install
-
- mv "${ED}/usr/share/doc/${PN}/"* "${ED}/usr/share/doc/${P}" || die
- rm -d "${ED}/usr/share/doc/${PN}" || die
-
- # Directory for systemwide extensions
- keepdir /usr/share/nautilus-python/extensions
-}
diff --git a/dev-python/nbclassic/Manifest b/dev-python/nbclassic/Manifest
index 3012650e398e..293fdc9514a0 100644
--- a/dev-python/nbclassic/Manifest
+++ b/dev-python/nbclassic/Manifest
@@ -1 +1 @@
-DIST nbclassic-1.0.0.tar.gz 20201455 BLAKE2B 8d87668cdf2347c6d9dcc7f335d9bf346c1622217b71c18a91f7703f90ab5d2c71830f9743d6b408033ab153fe7180a9f07edc016704b9d0469bbf15c1641ef8 SHA512 fc80cd6311ab9cac9e0fdcf4d37cffc383c90327da8c27901239b84486e4afe23372665b0e1464ec78845816e829c4f3cf8672b4a0ad7e396fdb962b2f4f5a1b
+DIST nbclassic-1.1.0.tar.gz 20194834 BLAKE2B 7fe5e3d405964faf09a6f58b54d03dae7ec661e276d5e26e71e054b277f99db61dd7ef0c3ec2417230ea7d724814a4919514b4274772b5a73a89d0c59db09468 SHA512 a5348ff7bff944c12745111fcf64ca92d75bf7bc063d51baf04bc8894473ba0689ec4420ff1ce2d2a40601b55d14a1cd257215cd4f11839fa47e8ea93933268d
diff --git a/dev-python/nbclassic/nbclassic-1.0.0-r1.ebuild b/dev-python/nbclassic/nbclassic-1.0.0-r1.ebuild
deleted file mode 100644
index 66fe16976f2b..000000000000
--- a/dev-python/nbclassic/nbclassic-1.0.0-r1.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-DISTUTILS_USE_PEP517=jupyter
-
-inherit distutils-r1 pypi xdg-utils
-
-DESCRIPTION="Jupyter Notebook as a Jupyter Server Extension"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/nbclassic/
- https://pypi.org/project/nbclassic/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/argon2-cffi[${PYTHON_USEDEP}]
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/ipython_genutils[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- >=dev-python/jupyter-client-6.1.1[${PYTHON_USEDEP}]
- >=dev-python/jupyter-core-4.6.1[${PYTHON_USEDEP}]
- >=dev-python/nbconvert-5[${PYTHON_USEDEP}]
- dev-python/nbformat[${PYTHON_USEDEP}]
- >=dev-python/nest-asyncio-1.5[${PYTHON_USEDEP}]
- >=dev-python/notebook-shim-0.2.3[${PYTHON_USEDEP}]
- dev-python/prometheus-client[${PYTHON_USEDEP}]
- >=dev-python/send2trash-1.8.0[${PYTHON_USEDEP}]
- >=dev-python/terminado-0.8.3[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.1[${PYTHON_USEDEP}]
- >=dev-python/traitlets-4.2.1[${PYTHON_USEDEP}]
-"
-
-# dev-python/nbval is missing impls
-BDEPEND="
- test? (
- dev-python/jupyter-server-terminals[${PYTHON_USEDEP}]
- dev-python/pytest-jupyter[${PYTHON_USEDEP}]
- dev-python/pytest-tornasync[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/requests-unixsocket[${PYTHON_USEDEP}]
- dev-python/testpath[${PYTHON_USEDEP}]
- )
- doc? (
- virtual/pandoc
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs/source \
- dev-python/sphinx-rtd-theme \
- dev-python/nbsphinx \
- dev-python/sphinxcontrib-github-alt \
- dev-python/myst-parser \
- dev-python/ipython_genutils
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_tornasync.plugin
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- # move /usr/etc stuff to /etc
- mv "${ED}/usr/etc" "${ED}/etc" || die
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_icon_cache_update
-}
diff --git a/dev-python/nbclassic/nbclassic-1.1.0-r1.ebuild b/dev-python/nbclassic/nbclassic-1.1.0-r1.ebuild
new file mode 100644
index 000000000000..2fcccb91bb51
--- /dev/null
+++ b/dev-python/nbclassic/nbclassic-1.1.0-r1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+DISTUTILS_USE_PEP517=jupyter
+
+inherit distutils-r1 pypi xdg-utils
+
+DESCRIPTION="Jupyter Notebook as a Jupyter Server Extension"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/nbclassic/
+ https://pypi.org/project/nbclassic/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/ipython_genutils[${PYTHON_USEDEP}]
+ >=dev-python/nest-asyncio-1.5[${PYTHON_USEDEP}]
+ >=dev-python/notebook-shim-0.2.3[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/nbval[${PYTHON_USEDEP}]
+ dev-python/pytest-jupyter[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-unixsocket[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+ doc? (
+ virtual/pandoc
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs/source \
+ dev-python/pydata-sphinx-theme \
+ dev-python/nbsphinx \
+ dev-python/sphinxcontrib-github-alt \
+ dev-python/myst-parser \
+ dev-python/ipython_genutils
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
+ # Notebook interferes with our tests, pretend it does not exist
+ echo "raise ImportError" > notebook.py || die
+
+ epytest -p pytest_tornasync.plugin
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ # move /usr/etc stuff to /etc
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/dev-python/nbclient/Manifest b/dev-python/nbclient/Manifest
index 24148a463efb..75f383a77563 100644
--- a/dev-python/nbclient/Manifest
+++ b/dev-python/nbclient/Manifest
@@ -1 +1 @@
-DIST nbclient-0.9.0.tar.gz 60606 BLAKE2B a734e317cd71f4199a87af0ea6c7a8a9982c60c4e690eeb99dbe4681ed7d9f8a45ae064bb8b92acf084da722ccbec36bbedb7ddc61577103be1492745f84cd9a SHA512 dc6409e1f765e01978f7e5417269d82c2a001dc9a642f474b4d5cd28e34c969a68ae956aed55df3e82315bd457320e2bd25cbc13af2ea1f59a46f9d327d5eef2
+DIST nbclient-0.10.0.tar.gz 62246 BLAKE2B 4fdbbceb6f37c0f96a448c343d910c8ac988ed337590c9f8068eee328fbc7f58c882b15a8b0f7fe03491a8751512ad76497d3a0e8a19783ef24001acd901bd67 SHA512 1635c8af91839b9e651fbada7aca3699ebf92c0f4f7f47d9901f9977f56f2b31113c1229d1512bdb200c6c729e1e965649031729a60229d463e6b39f75ac9dc2
diff --git a/dev-python/nbclient/files/nbclient-0.10.0-py313.patch b/dev-python/nbclient/files/nbclient-0.10.0-py313.patch
new file mode 100644
index 000000000000..1403cd0e0513
--- /dev/null
+++ b/dev-python/nbclient/files/nbclient-0.10.0-py313.patch
@@ -0,0 +1,35 @@
+From 57222265bfd8bdcf8851997e1dce5cd564e1a573 Mon Sep 17 00:00:00 2001
+From: Lumir Balhar <lbalhar@redhat.com>
+Date: Wed, 3 Jul 2024 14:21:41 +0200
+Subject: [PATCH] Fix compatibility with Python 3.13 beta 2
+
+There are more calls in 3.13 than in previous versions
+so the tests are now more permissive.
+
+Fixes: https://github.com/jupyter/nbclient/issues/316
+---
+ tests/test_cli.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/test_cli.py b/tests/test_cli.py
+index 04b9887..55ccbd6 100644
+--- a/tests/test_cli.py
++++ b/tests/test_cli.py
+@@ -60,7 +60,7 @@ def test_mult(input_names, relative, inplace, jupyterapp, client, reader, writer
+ # add suffix if needed
+ paths = [p.with_suffix(".ipynb") for p in paths]
+
+- assert path_open.mock_calls[::3] == [call(p) for p in paths]
++ assert all(call(p) in path_open.mock_calls for p in paths)
+ assert reader.call_count == len(paths)
+ # assert reader.mock_calls == [call(p, as_version=4) for p in paths]
+
+@@ -114,7 +114,7 @@ def test_output(input_names, relative, output_base, jupyterapp, client, reader,
+ # add suffix if needed
+ paths = [p.with_suffix(".ipynb") for p in paths]
+
+- assert path_open.mock_calls[::3] == [call(p) for p in paths]
++ assert all(call(p) in path_open.mock_calls for p in paths)
+ assert reader.call_count == len(paths)
+
+ expected = []
diff --git a/dev-python/nbclient/nbclient-0.10.0.ebuild b/dev-python/nbclient/nbclient-0.10.0.ebuild
new file mode 100644
index 000000000000..2ae636b41d3d
--- /dev/null
+++ b/dev-python/nbclient/nbclient-0.10.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2020-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client library for executing Jupyter notebooks"
+HOMEPAGE="
+ https://nbclient.readthedocs.io/en/latest/
+ https://github.com/jupyter/nbclient/
+ https://pypi.org/project/nbclient/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/jupyter-client-6.1.12[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.0[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ >=dev-python/ipykernel-6.19.3[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/testpath[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/jupyter/nbclient/pull/317
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # hangs?
+ 'tests/test_client.py::test_run_all_notebooks[Interrupt.ipynb-opts6]'
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p rerunfailures --reruns=3
+}
diff --git a/dev-python/nbclient/nbclient-0.9.0.ebuild b/dev-python/nbclient/nbclient-0.9.0.ebuild
deleted file mode 100644
index 448d3b8f15d1..000000000000
--- a/dev-python/nbclient/nbclient-0.9.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2020-2023 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="A client library for executing Jupyter notebooks"
-HOMEPAGE="
- https://nbclient.readthedocs.io/en/latest/
- https://github.com/jupyter/nbclient/
- https://pypi.org/project/nbclient/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/jupyter-client-6.1.12[${PYTHON_USEDEP}]
- >=dev-python/jupyter-core-5.1.0[${PYTHON_USEDEP}]
- >=dev-python/nbformat-5.0[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/ipython[${PYTHON_USEDEP}]
- >=dev-python/ipykernel-6.19.3[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/nbconvert[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/testpath[${PYTHON_USEDEP}]
- dev-python/xmltodict[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # hangs?
- 'tests/test_client.py::test_run_all_notebooks[Interrupt.ipynb-opts6]'
-)
diff --git a/dev-python/nbconvert/Manifest b/dev-python/nbconvert/Manifest
index bd46da416051..9e8b0cc1e577 100644
--- a/dev-python/nbconvert/Manifest
+++ b/dev-python/nbconvert/Manifest
@@ -1 +1 @@
-DIST nbconvert-7.11.0.tar.gz 851158 BLAKE2B 0506acda6a645ffba6771f600c63f0c37705481021b716a2b5ec61b49f2b9da490beac7a1fec67718d091d7bfcf82d7f07b68e207573ca5c08271fc502214eb1 SHA512 097e740413520b943afea11e2b797fbb163e1c34b79932597ec1c5a2c64bbb9342e4b3e1f0ab7e4d6dbdaa736d747650d8e0e50da0e4db5398151da8c3b57c59
+DIST nbconvert-7.16.4.tar.gz 854422 BLAKE2B f04a8fbffde70e08736d13a3db3278c9248f742b27688eb56760b9ff46c58aec63aa05a4cff256e5929009c3f76d760ce71209f3c49b40af374f06b073ddd661 SHA512 f9793ce89f18530492e1e9aeba3759ac6ae8aa8e0459be52928689a58b0d816128d275bdf9061ec9f33a047e0b6c8d4d83e5a81da556700e0add48374f15fcd8
diff --git a/dev-python/nbconvert/nbconvert-7.11.0.ebuild b/dev-python/nbconvert/nbconvert-7.11.0.ebuild
deleted file mode 100644
index 53500dc9c310..000000000000
--- a/dev-python/nbconvert/nbconvert-7.11.0.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2023 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 virtualx
-
-DESCRIPTION="Converting Jupyter Notebooks"
-HOMEPAGE="
- https://nbconvert.readthedocs.io/
- https://github.com/jupyter/nbconvert/
- https://pypi.org/project/nbconvert/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/bleach[${PYTHON_USEDEP}]
- dev-python/defusedxml[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
- >=dev-python/jupyter-core-4.7[${PYTHON_USEDEP}]
- dev-python/jupyterlab-pygments[${PYTHON_USEDEP}]
- >=dev-python/markupsafe-2.0[${PYTHON_USEDEP}]
- <dev-python/mistune-4[${PYTHON_USEDEP}]
- >=dev-python/nbclient-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/nbformat-5.7[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pandocfilters-1.4.1[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.4.1[${PYTHON_USEDEP}]
- dev-python/tinycss2[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.1.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- >=dev-python/ipywidgets-7[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_prepare() {
- mkdir -p share/templates/classic/static || die
- # tries to refetch stuff even if it's already present
- sed -e 's:css = .*:raise PermissionError("You shall not fetch!"):' \
- -i hatch_build.py || die
- distutils-r1_src_prepare
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- tests/test_nbconvertapp.py::TestNbConvertApp::test_convert_full_qualified_name
- tests/test_nbconvertapp.py::TestNbConvertApp::test_post_processor
- # crazy qtweb* stuff, perhaps permissions
- tests/exporters/test_qtpdf.py::TestQtPDFExporter::test_export
- tests/exporters/test_qtpng.py::TestQtPNGExporter::test_export
- )
-
- # virtx implies nonfatal, make it explicit to avoid confusion
- nonfatal epytest || die
-}
-
-pkg_postinst() {
- if ! has_version virtual/pandoc; then
- einfo "Pandoc is required for converting to formats other than Python,"
- einfo "HTML, and Markdown. If you need this functionality, install"
- einfo "app-text/pandoc or app-text/pandoc-bin."
- fi
-}
diff --git a/dev-python/nbconvert/nbconvert-7.16.4.ebuild b/dev-python/nbconvert/nbconvert-7.16.4.ebuild
new file mode 100644
index 000000000000..f77311345756
--- /dev/null
+++ b/dev-python/nbconvert/nbconvert-7.16.4.ebuild
@@ -0,0 +1,74 @@
+# 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..13} )
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="Converting Jupyter Notebooks"
+HOMEPAGE="
+ https://nbconvert.readthedocs.io/
+ https://github.com/jupyter/nbconvert/
+ https://pypi.org/project/nbconvert/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/bleach[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-4.7[${PYTHON_USEDEP}]
+ dev-python/jupyterlab-pygments[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.0[${PYTHON_USEDEP}]
+ <dev-python/mistune-4[${PYTHON_USEDEP}]
+ >=dev-python/nbclient-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.7[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pandocfilters-1.4.1[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.4.1[${PYTHON_USEDEP}]
+ dev-python/tinycss2[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.1.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ >=dev-python/ipywidgets-7.5[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_nbconvertapp.py::TestNbConvertApp::test_convert_full_qualified_name
+ tests/test_nbconvertapp.py::TestNbConvertApp::test_post_processor
+ # crazy qtweb* stuff, perhaps permissions
+ tests/exporters/test_qtpdf.py::TestQtPDFExporter::test_export
+ tests/exporters/test_qtpng.py::TestQtPNGExporter::test_export
+ )
+
+ # virtx implies nonfatal, make it explicit to avoid confusion
+ nonfatal epytest || die
+}
+
+pkg_postinst() {
+ if ! has_version virtual/pandoc; then
+ einfo "Pandoc is required for converting to formats other than Python,"
+ einfo "HTML, and Markdown. If you need this functionality, install"
+ einfo "app-text/pandoc or app-text/pandoc-bin."
+ fi
+}
diff --git a/dev-python/nbdime/Manifest b/dev-python/nbdime/Manifest
index f08ddbc2ab60..c47739c63c17 100644
--- a/dev-python/nbdime/Manifest
+++ b/dev-python/nbdime/Manifest
@@ -1,2 +1 @@
-DIST nbdime-3.2.1.tar.gz 7642926 BLAKE2B 245a2b0ca112574a9622855acc8db43595cd7f29f6fe2c1a1f70254984edb395817f65246613b5f41f513464fd37264f2c520237bf44570814bfa6131fdf22a8 SHA512 6ead97a88d587dab00df22d59adb2b80b7f81f47929a6be94b5e848a5c72f7420fac49e1a6a3b87138db75e6c1f46eef67a57a58d6e9d568b69f4e555bb7ed60
DIST nbdime-4.0.1.tar.gz 9414125 BLAKE2B bf2581cec0f71ef8949c9cf19e21aa47302b6c71bbb9861e8c6f3a4b1921e9f73460ee5059e5bc92c7789d8f0695329125725c10e10763dd6e4d388bfaee53d1 SHA512 df14dfe9df296d71eb4a98140fe15703ca277063a153c3159cc883c99ce98b76f5f4dae24d32b048a18d2530e52535e3d89523d7a1c54a8654d2d54c8812ded3
diff --git a/dev-python/nbdime/nbdime-3.2.1.ebuild b/dev-python/nbdime/nbdime-3.2.1.ebuild
deleted file mode 100644
index 4f4655f22ce1..000000000000
--- a/dev-python/nbdime/nbdime-3.2.1.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Diff and merge of Jupyter Notebooks"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/nbdime/
- https://pypi.org/project/nbdime/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/colorama[${PYTHON_USEDEP}]
- dev-python/GitPython[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/jupyter-server[${PYTHON_USEDEP}]
- dev-python/jupyter-server-mathjax[${PYTHON_USEDEP}]
- dev-python/nbformat[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/tornado[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/notebook[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/tabulate[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs/source \
- dev-python/recommonmark \
- dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- nbdime/tests/test_decision_tools.py::test_build_diffs_unsorted
- nbdime/tests/test_diff_json_conversion.py::test_diff_to_json_patch
- nbdime/tests/test_merge_notebooks.py::test_merge_conflicts_get_diff_indices_shifted
- nbdime/tests/test_merge_notebooks.py::test_merge_inserts_within_deleted_range
- nbdime/tests/test_merge_notebooks.py::test_merge_interleave_cell_add_remove
- nbdime/tests/test_merge_notebooks.py::test_merge_multiline_cell_source_conflict
- nbdime/tests/test_merge.py::test_deep_merge_lists_delete_no_conflict__currently_expected_failures
- nbdime/tests/test_server_extension.py::test_diff_api_checkpoint
- nbdime/tests/test_web.py::test_api_diff
- nbdime/tests/test_web.py::test_api_merge
- nbdime/tests/test_web.py::test_fetch_diff
- nbdime/tests/test_web.py::test_fetch_merge
- nbdime/tests/test_web.py::test_offline_mathjax
-)
-
-python_configure_all() {
- DISTUTILS_ARGS=( --skip-npm )
-}
-
-src_test() {
- # user.email and user.name are not configured in the sandbox
- git config --global user.email "larry@gentoo.org" || die
- git config --global user.name "Larry the Cow" || die
-
- distutils-r1_src_test
-}
-
-src_install() {
- distutils-r1_src_install
- mv "${ED}"{/usr,}/etc || die
-}
diff --git a/dev-python/nbdime/nbdime-4.0.1.ebuild b/dev-python/nbdime/nbdime-4.0.1.ebuild
index 9e50c7b8d3c0..032ecd6510a0 100644
--- a/dev-python/nbdime/nbdime-4.0.1.ebuild
+++ b/dev-python/nbdime/nbdime-4.0.1.ebuild
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
RDEPEND="
dev-python/colorama[${PYTHON_USEDEP}]
diff --git a/dev-python/nbformat/Manifest b/dev-python/nbformat/Manifest
index 2854d2600c5d..801b196148ab 100644
--- a/dev-python/nbformat/Manifest
+++ b/dev-python/nbformat/Manifest
@@ -1 +1,2 @@
-DIST nbformat-5.9.2.tar.gz 141264 BLAKE2B 71f5bb447d675b10276565cb53ac193963e5161fd27e925d639e7aa63f1e69db8903974d2f924ad5456940c4b904aba33d8ab10772fdb70e7e67974a90d1f3d6 SHA512 886a03cf95b39cdca48ae46d4946cee0f3dc1f5fa0e9dac7c6184b4c3e326adb739bd9da28032868a973577aa949feb5ae95a84017755948610ef7f208ebc5db
+DIST nbformat-5.10.3.tar.gz 142678 BLAKE2B 7de9dab29ca69fe89fb8c080f1e336a22acdc7d9a0daaf69dd03c61f7a01853895bd2302ee90787c3a7a555a27cf5cc1bab6ca0c898c60326ff3870820a00fbe SHA512 9baed15fed4bf05c2c97f7634ce1440149bf5e44a7fd330aa40f7c3954a6f16fc755e1d643a01a4d9ee62fb7a0f24299b83d9a4cf753e7c3495319ee052ae5e8
+DIST nbformat-5.10.4.tar.gz 142749 BLAKE2B 88121046cce0e473597f26cb597b3ae9865849cf05bcb64070b48d8bcf3661a6c7b7b7e6845752ca1467e31dd9da939f208e99f51b873ea12e62b3a605bf375b SHA512 cacec6bca3177958863e7ed860c55498a91507634098adc08b49a3bb43f1158a32b0c029262d44d0f1beb1e795ba7d03753b522120a9aec14514ed8d961d5baa
diff --git a/dev-python/nbformat/files/nbformat-5.7.1-no-node.patch b/dev-python/nbformat/files/nbformat-5.7.1-no-node.patch
index e88cc8cdd522..dc2bfb7c0ab7 100644
--- a/dev-python/nbformat/files/nbformat-5.7.1-no-node.patch
+++ b/dev-python/nbformat/files/nbformat-5.7.1-no-node.patch
@@ -11,7 +11,7 @@ index e30d156..97e57de 100644
[project]
name = "nbformat"
-dynamic = ["version"]
-+version = "5.7.1"
++version = "5.10.3"
description = "The Jupyter Notebook format"
license = { file = "COPYING.md" }
keywords = ["Interactive", "Interpreter", "Shell", "Web"]
diff --git a/dev-python/nbformat/nbformat-5.10.3-r1.ebuild b/dev-python/nbformat/nbformat-5.10.3-r1.ebuild
new file mode 100644
index 000000000000..8f22f3a6b876
--- /dev/null
+++ b/dev-python/nbformat/nbformat-5.10.3-r1.ebuild
@@ -0,0 +1,49 @@
+# 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='sqlite'
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Reference implementation of the Jupyter Notebook format"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/nbformat/
+ https://pypi.org/project/nbformat/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/fastjsonschema[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.6[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.1[${PYTHON_USEDEP}]
+ dev-python/jupyter-core[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/myst-parser \
+ dev-python/pydata-sphinx-theme \
+ dev-python/sphinxcontrib-github-alt \
+ dev-python/sphinxcontrib-spelling
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}/nbformat-5.7.1-no-node.patch"
+)
+
+EPYTEST_IGNORE=(
+ # requires pep440 package, which is not really relevant for us
+ tests/test_api.py
+)
diff --git a/dev-python/nbformat/nbformat-5.10.3-r2.ebuild b/dev-python/nbformat/nbformat-5.10.3-r2.ebuild
new file mode 100644
index 000000000000..3db00dcb7bc3
--- /dev/null
+++ b/dev-python/nbformat/nbformat-5.10.3-r2.ebuild
@@ -0,0 +1,46 @@
+# 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='sqlite'
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Reference implementation of the Jupyter Notebook format"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/nbformat/
+ https://pypi.org/project/nbformat/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/fastjsonschema[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.6[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.1[${PYTHON_USEDEP}]
+ dev-python/jupyter-core[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-nodejs-version[${PYTHON_USEDEP}]
+ test? (
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/myst-parser \
+ dev-python/pydata-sphinx-theme \
+ dev-python/sphinxcontrib-github-alt \
+ dev-python/sphinxcontrib-spelling
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # requires pep440 package, which is not really relevant for us
+ tests/test_api.py
+)
diff --git a/dev-python/nbformat/nbformat-5.10.4.ebuild b/dev-python/nbformat/nbformat-5.10.4.ebuild
new file mode 100644
index 000000000000..42c9ff31053d
--- /dev/null
+++ b/dev-python/nbformat/nbformat-5.10.4.ebuild
@@ -0,0 +1,46 @@
+# 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..13} )
+PYTHON_REQ_USE='sqlite'
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Reference implementation of the Jupyter Notebook format"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/nbformat/
+ https://pypi.org/project/nbformat/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/fastjsonschema-2.15[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-2.6[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-5.1[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-nodejs-version[${PYTHON_USEDEP}]
+ test? (
+ dev-python/testpath[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/myst-parser \
+ dev-python/pydata-sphinx-theme \
+ dev-python/sphinxcontrib-github-alt \
+ dev-python/sphinxcontrib-spelling
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # requires pep440 package, which is not really relevant for us
+ tests/test_api.py
+)
diff --git a/dev-python/nbformat/nbformat-5.9.2.ebuild b/dev-python/nbformat/nbformat-5.9.2.ebuild
deleted file mode 100644
index 6ceac7a84580..000000000000
--- a/dev-python/nbformat/nbformat-5.9.2.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2023 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='sqlite'
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Reference implementation of the Jupyter Notebook format"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/nbformat/
- https://pypi.org/project/nbformat/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/fastjsonschema[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-2.6[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.1[${PYTHON_USEDEP}]
- dev-python/jupyter-core[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/testpath[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/numpydoc \
- dev-python/myst-parser \
- dev-python/pydata-sphinx-theme
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}/nbformat-5.7.1-no-node.patch"
-)
-
-EPYTEST_IGNORE=(
- # requires pep440 package, which is not really relevant for us
- tests/test_api.py
-)
diff --git a/dev-python/nbsphinx/Manifest b/dev-python/nbsphinx/Manifest
index 5303aeb0d518..f1f69e03532c 100644
--- a/dev-python/nbsphinx/Manifest
+++ b/dev-python/nbsphinx/Manifest
@@ -1 +1 @@
-DIST nbsphinx-0.9.3.tar.gz 171956 BLAKE2B 404e1692259b963f5ad9ad1ad370da1ff21ad93ac6b1081256d18cd66e2057eba8b4fec5e6ea987f73c3dea2a197108de6388e26b22eef46a8dd29800db4554d SHA512 a1dd3f96b1a7ad38cbe860eab620dda859fdad3bc22d07ddd4fc1bb9a3c7e9f66d24412370cb7701182d31870153e6388381574359356a1f0a0055111b404a7a
+DIST nbsphinx-0.9.4.tar.gz 179315 BLAKE2B 727e2d6e70bec199159940afdfc92409124d940e4a1bcfd0288e779c5ac9be41802e5f347d486df0ec54a641cc82b6e5cfecbdcf4dc3dbacf74d0a8c884b3018 SHA512 b643d749eef8ec8ac63594f75d38d13c7b623203f7a46d7190b5da2cc3a7882623a8cf54f240678488db1cf5e37091473002510079f7294a0bc5780982661c86
diff --git a/dev-python/nbsphinx/nbsphinx-0.9.3.ebuild b/dev-python/nbsphinx/nbsphinx-0.9.3.ebuild
deleted file mode 100644
index 32f363b43d66..000000000000
--- a/dev-python/nbsphinx/nbsphinx-0.9.3.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Jupyter Notebook Tools for Sphinx"
-HOMEPAGE="
- https://github.com/spatialaudio/nbsphinx/
- https://pypi.org/project/nbsphinx/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/nbconvert[${PYTHON_USEDEP}]
- dev-python/nbformat[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.8[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/nbsphinx/nbsphinx-0.9.4.ebuild b/dev-python/nbsphinx/nbsphinx-0.9.4.ebuild
new file mode 100644
index 000000000000..31c5a6eb5d22
--- /dev/null
+++ b/dev-python/nbsphinx/nbsphinx-0.9.4.ebuild
@@ -0,0 +1,28 @@
+# 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="Jupyter Notebook Tools for Sphinx"
+HOMEPAGE="
+ https://github.com/spatialaudio/nbsphinx/
+ https://pypi.org/project/nbsphinx/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+
+RDEPEND="
+ >=dev-python/docutils-0.18.1[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/nbconvert-5.5[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.8[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/nbval/Manifest b/dev-python/nbval/Manifest
index 02fcdac85b9a..f91d157a70d6 100644
--- a/dev-python/nbval/Manifest
+++ b/dev-python/nbval/Manifest
@@ -1 +1 @@
-DIST nbval-0.10.0.tar.gz 62727 BLAKE2B 5b8d2815ec38481da1c0b3b5b62f809a231c4d136499b73ef13dba6a5214c87a5d4f77db1d81488e1bf13bd3ff365414e75760763a56a3cc28e752dd316ac009 SHA512 3e0e495db40aa4969e03ed1359f0c509b7470a54b3d8b6a85731601af5da0407bd44b3f069178f1a6b3aca7bf243747aaeaca4cb2332912e917e360f705eae61
+DIST nbval-0.11.0.tar.gz 62718 BLAKE2B c1f82c1333dadc348dd53008c554a07783ff0031b96b48127adffba47195a0b7f5591531443e24846337806e071ff0fa6b1c66d516feddbc26119a3292fe52fd SHA512 f47cfce7261612e59d61d0f9e4bc51fcc5d0305377f830e09ddd8b4e9854cff801a626431b4014f470457d55824c0424d5fec9d104cd9b0f36adb44fa72db757
diff --git a/dev-python/nbval/nbval-0.10.0-r1.ebuild b/dev-python/nbval/nbval-0.10.0-r1.ebuild
deleted file mode 100644
index f69e3384aa63..000000000000
--- a/dev-python/nbval/nbval-0.10.0-r1.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( 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="
- test? (
- $(python_gen_cond_dep '
- dev-python/sympy[${PYTHON_USEDEP}]
- ' python3_{10..11})
- )
- doc? (
- virtual/pandoc
- )
-"
-
-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/nbval/nbval-0.11.0.ebuild b/dev-python/nbval/nbval-0.11.0.ebuild
new file mode 100644
index 000000000000..53d41e6ee474
--- /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/nbxmpp/Manifest b/dev-python/nbxmpp/Manifest
index 019514a05fe8..13343f181b0b 100644
--- a/dev-python/nbxmpp/Manifest
+++ b/dev-python/nbxmpp/Manifest
@@ -1,2 +1,3 @@
-DIST python-nbxmpp-4.5.2.tar.bz2 138088 BLAKE2B fb0a13f564a0dbff0fa52a2093e0d5da1461fe8bcf810b34e92b2d18d29be4de678fe2f51c55774330c2785be0caab73930cefc1288292c2d9a5064ccf15e224 SHA512 ad7bd3d3673b6f2e718263505e88a4ade502a79cc70d290d6ded5ace96e582945b7ddbf954f5a0419c2b9062e39211f62ba121ed46364314e8afa5e74aad6fc7
-DIST python-nbxmpp-4.5.3.tar.bz2 138080 BLAKE2B cb3051acc13f13d519ce4427121810cd17df7783a3c76c2abbab458be827b46be45a7710b0045e2b2a5619ffc327bd98c0a0db00f482e12223322811ca26d0c9 SHA512 d6dec900b56fb2638976206497e966ad27f566f4d829cc4d19e7f004ec39f2d2bd8f62c3322101df3a26004d7fc5be5a9691ce575234d801f3934b6a41ba5a0d
+DIST python-nbxmpp-4.5.4.tar.bz2 138170 BLAKE2B 00a4919032dd29828dc735695afe9c0814a8fe2ec765a534257768896d9f27bc3a395275d546ad717bdd16c97161e8f0a8acaf43cdb7bd9404e40bc72f2c3da5 SHA512 fcaedae519d8cd2d52cc65721ab1e743569ba1cf7c29f2db41ed5671ba0f2c5b47f1f6d9521e1614e89e21512a4575c6788316cdb86936f0c4886d54c3831bb3
+DIST python-nbxmpp-5.0.1.tar.bz2 142702 BLAKE2B 5459da538e3c05959c382e70fe8348b566333f4f68e76775b7bc8760f294ecc3bdb999124d1124bd5d7874af209f699eb4ffa1a15ce61ad70f98f235c70e98dd SHA512 eb20df090ec61013e6f26288798aeb2f2d61eab493cb4a52d5097a85d6dab8c45f033f2064583af5bf3ed920be33107419a958b65df2cf13fcd8ea6ae3297adf
+DIST python-nbxmpp-5.0.2.tar.bz2 142857 BLAKE2B 555370478aaafb24449b6147b4a80de5e300d1df83fe9e6fba87fa9e29eb09d51b16d74df63dbe6dd2c806a31bbd83e41eaf1a5261ba9b69996c10455bfbbcf8 SHA512 947fb4b47f98196becb0065898b51e7dcb6e3fbbc97cacd89641e4a57c5f310c9825029f5f54135f33d3e58b089d1063bf1e3d3af3cdc3ebf7dd9490d0277c92
diff --git a/dev-python/nbxmpp/metadata.xml b/dev-python/nbxmpp/metadata.xml
index e43d3f1339a6..fc462f2d9e9c 100644
--- a/dev-python/nbxmpp/metadata.xml
+++ b/dev-python/nbxmpp/metadata.xml
@@ -5,9 +5,6 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
- <maintainer type="person">
- <email>hanno@gentoo.org</email>
- </maintainer>
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">nbxmpp</remote-id>
diff --git a/dev-python/nbxmpp/nbxmpp-4.5.2.ebuild b/dev-python/nbxmpp/nbxmpp-4.5.2.ebuild
deleted file mode 100644
index 70cc32b69957..000000000000
--- a/dev-python/nbxmpp/nbxmpp-4.5.2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=python-nbxmpp-${PV}
-DESCRIPTION="Python library to use Jabber/XMPP networks in a non-blocking way"
-HOMEPAGE="
- https://dev.gajim.org/gajim/python-nbxmpp/
- https://pypi.org/project/nbxmpp/
-"
-SRC_URI="
- https://dev.gajim.org/gajim/python-nbxmpp/-/archive/${PV}/${MY_P}.tar.bz2
-"
-S=${WORKDIR}/${MY_P}
-
-SLOT="0"
-LICENSE="GPL-3"
-KEYWORDS="amd64 arm64 ~loong ~riscv x86"
-
-RDEPEND="
- dev-libs/gobject-introspection
- net-libs/libsoup:3.0[introspection]
- dev-python/idna[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/precis-i18n-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/pygobject-3.42[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/nbxmpp/nbxmpp-4.5.3.ebuild b/dev-python/nbxmpp/nbxmpp-4.5.3.ebuild
deleted file mode 100644
index 63ba8f9839aa..000000000000
--- a/dev-python/nbxmpp/nbxmpp-4.5.3.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=python-nbxmpp-${PV}
-DESCRIPTION="Python library to use Jabber/XMPP networks in a non-blocking way"
-HOMEPAGE="
- https://dev.gajim.org/gajim/python-nbxmpp/
- https://pypi.org/project/nbxmpp/
-"
-SRC_URI="
- https://dev.gajim.org/gajim/python-nbxmpp/-/archive/${PV}/${MY_P}.tar.bz2
-"
-S=${WORKDIR}/${MY_P}
-
-SLOT="0"
-LICENSE="GPL-3"
-KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
-
-RDEPEND="
- dev-libs/gobject-introspection
- net-libs/libsoup:3.0[introspection]
- dev-python/idna[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/precis-i18n-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/pygobject-3.42[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/nbxmpp/nbxmpp-4.5.4.ebuild b/dev-python/nbxmpp/nbxmpp-4.5.4.ebuild
new file mode 100644
index 000000000000..7f2595a80c09
--- /dev/null
+++ b/dev-python/nbxmpp/nbxmpp-4.5.4.ebuild
@@ -0,0 +1,35 @@
+# 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
+
+MY_P=python-nbxmpp-${PV}
+DESCRIPTION="Python library to use Jabber/XMPP networks in a non-blocking way"
+HOMEPAGE="
+ https://dev.gajim.org/gajim/python-nbxmpp/
+ https://pypi.org/project/nbxmpp/
+"
+SRC_URI="
+ https://dev.gajim.org/gajim/python-nbxmpp/-/archive/${PV}/${MY_P}.tar.bz2
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~loong ~riscv x86"
+
+RDEPEND="
+ dev-libs/gobject-introspection
+ net-libs/libsoup:3.0[introspection]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/precis-i18n-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-3.42[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/nbxmpp/nbxmpp-5.0.1.ebuild b/dev-python/nbxmpp/nbxmpp-5.0.1.ebuild
new file mode 100644
index 000000000000..b5d256e868ef
--- /dev/null
+++ b/dev-python/nbxmpp/nbxmpp-5.0.1.ebuild
@@ -0,0 +1,35 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=python-nbxmpp-${PV}
+DESCRIPTION="Python library to use Jabber/XMPP networks in a non-blocking way"
+HOMEPAGE="
+ https://dev.gajim.org/gajim/python-nbxmpp/
+ https://pypi.org/project/nbxmpp/
+"
+SRC_URI="
+ https://dev.gajim.org/gajim/python-nbxmpp/-/archive/${PV}/${MY_P}.tar.bz2
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~loong ~riscv x86"
+
+RDEPEND="
+ dev-libs/gobject-introspection
+ net-libs/libsoup:3.0[introspection]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/precis-i18n-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-3.42[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/nbxmpp/nbxmpp-5.0.2.ebuild b/dev-python/nbxmpp/nbxmpp-5.0.2.ebuild
new file mode 100644
index 000000000000..0299ed984918
--- /dev/null
+++ b/dev-python/nbxmpp/nbxmpp-5.0.2.ebuild
@@ -0,0 +1,35 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=python-nbxmpp-${PV}
+DESCRIPTION="Python library to use Jabber/XMPP networks in a non-blocking way"
+HOMEPAGE="
+ https://dev.gajim.org/gajim/python-nbxmpp/
+ https://pypi.org/project/nbxmpp/
+"
+SRC_URI="
+ https://dev.gajim.org/gajim/python-nbxmpp/-/archive/${PV}/${MY_P}.tar.bz2
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+
+RDEPEND="
+ dev-libs/gobject-introspection
+ net-libs/libsoup:3.0[introspection]
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/precis-i18n-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-3.42[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/nest-asyncio/Manifest b/dev-python/nest-asyncio/Manifest
index 4d91271cbed3..69e3081efb20 100644
--- a/dev-python/nest-asyncio/Manifest
+++ b/dev-python/nest-asyncio/Manifest
@@ -1 +1 @@
-DIST nest_asyncio-1.5.8.tar.gz 6105 BLAKE2B 549c5b8663a7fcb928e6cb97408aa4291129d043f8e5a55f5ba66c6b6cdbe21b1c2dd65959fd806d0badc1be561cda8b11a097fb522156d2d41eabce66318be3 SHA512 b454ad77381e6eb2bfa34528a26f342ba66b8edbb648c6b5aa69fbdd3142537db4ae53f91c2b88a5f88f16ecbe1e3346cec5a7bca4ca5c065a4e5f3daa0bb7e2
+DIST nest_asyncio-1.6.0.tar.gz 7418 BLAKE2B 35073a931f5a3e3cda8f702233a5d3a4a027bf9a22fd75f699b43fa587de69e867e94d114fb6029ec30bf1d791dd083cf9d5cb8462d79020e56ecbe4a4f10379 SHA512 19addd99ed548393b7fa6da2eab77d94ab33c6378003a50f6731c29ef873d4227ac6a1633b15931ab100f0c8c033c8332762d30e8921e241e72cfcd83bfbc481
diff --git a/dev-python/nest-asyncio/nest-asyncio-1.5.8.ebuild b/dev-python/nest-asyncio/nest-asyncio-1.5.8.ebuild
deleted file mode 100644
index f1094a02d07f..000000000000
--- a/dev-python/nest-asyncio/nest-asyncio-1.5.8.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2020-2023 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="Patch asyncio to allow nested event loops"
-HOMEPAGE="
- https://github.com/erdewit/nest_asyncio/
- https://pypi.org/project/nest-asyncio/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-distutils_enable_tests pytest
diff --git a/dev-python/nest-asyncio/nest-asyncio-1.6.0.ebuild b/dev-python/nest-asyncio/nest-asyncio-1.6.0.ebuild
new file mode 100644
index 000000000000..33eb3f148de0
--- /dev/null
+++ b/dev-python/nest-asyncio/nest-asyncio-1.6.0.ebuild
@@ -0,0 +1,21 @@
+# Copyright 2020-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Patch asyncio to allow nested event loops"
+HOMEPAGE="
+ https://github.com/erdewit/nest_asyncio/
+ https://pypi.org/project/nest-asyncio/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+distutils_enable_tests pytest
diff --git a/dev-python/netaddr/Manifest b/dev-python/netaddr/Manifest
index 14adb6b6a5b5..28bb2b41c7da 100644
--- a/dev-python/netaddr/Manifest
+++ b/dev-python/netaddr/Manifest
@@ -1 +1,2 @@
-DIST netaddr-0.9.0.tar.gz 2196428 BLAKE2B 279aea0816abfcf1efb70ac5b8593cfdea0551fd9a0cb0bf49e3247d5681c884d19aff83ab40df0e41b6549c20b66fbaba8508f0b442e0d72405c46a98365c0f SHA512 250b00a930f7180e1b4e18cb90de579733ffea9cd4ac93a3b7d2f7796b30c6b49d70da4b05ed522ebc9389600f4db8ecaed9345f7d0076632d0beae41e11c3ae
+DIST netaddr-0.10.1.tar.gz 2225283 BLAKE2B 1e350909779af0bf48d74834194358386cf4f8e11fa7b03c971b3011bcec437cc39feb72e7e79d55eb330e6ee138d15bb6dba9293667e1adb4ed1c6d42a35d78 SHA512 ca04171d5cbfd569d4f262f4870610edfd98be35899cb70983dbff5f37add963e05987ddbe1ab22d9b615580ac1abe96a8c2903681b18af8c9f2f96899b618ff
+DIST netaddr-1.3.0.tar.gz 2260504 BLAKE2B e597d1603f3b55bc8ccdb404d056d94ee13b3776db603b98b91f643eb01f21bdd1094b6d3d7dbf14dc7d5642231b047a532889e98ea3909c6e2b6508ebc20ed0 SHA512 07dc08b5b24265c48fc303dc20b62a37b28c752a8ce44cb560ac7cd6fb8db874f05a5dfb18c26c0137c440e39a5e40e55a6b660f7298bfabead837dd075ba3a7
diff --git a/dev-python/netaddr/metadata.xml b/dev-python/netaddr/metadata.xml
index c2c2e497ab05..e84df37ac9a6 100644
--- a/dev-python/netaddr/metadata.xml
+++ b/dev-python/netaddr/metadata.xml
@@ -10,7 +10,6 @@
<remote-id type="pypi">netaddr</remote-id>
<remote-id type="github">netaddr/netaddr</remote-id>
<bugs-to>https://github.com/netaddr/netaddr/issues</bugs-to>
- <changelog>https://github.com/netaddr/netaddr/blob/master/CHANGELOG</changelog>
<doc>https://netaddr.readthedocs.io/</doc>
</upstream>
</pkgmetadata>
diff --git a/dev-python/netaddr/netaddr-0.10.1.ebuild b/dev-python/netaddr/netaddr-0.10.1.ebuild
new file mode 100644
index 000000000000..c71d79c6a9b6
--- /dev/null
+++ b/dev-python/netaddr/netaddr-0.10.1.ebuild
@@ -0,0 +1,28 @@
+# 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..13} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Network address representation and manipulation library"
+HOMEPAGE="
+ https://github.com/netaddr/netaddr/
+ https://pypi.org/project/netaddr/
+ https://netaddr.readthedocs.io/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+distutils_enable_sphinx docs/source \
+ dev-python/furo
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature "CLI support" dev-python/ipython
+}
diff --git a/dev-python/netaddr/netaddr-0.9.0.ebuild b/dev-python/netaddr/netaddr-0.9.0.ebuild
deleted file mode 100644
index 603b72408e93..000000000000
--- a/dev-python/netaddr/netaddr-0.9.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Network address representation and manipulation library"
-HOMEPAGE="
- https://github.com/netaddr/netaddr/
- https://pypi.org/project/netaddr/
- https://netaddr.readthedocs.io/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-distutils_enable_sphinx docs/source
-distutils_enable_tests pytest
-
-pkg_postinst() {
- optfeature "CLI support" dev-python/ipython
-}
diff --git a/dev-python/netaddr/netaddr-1.3.0.ebuild b/dev-python/netaddr/netaddr-1.3.0.ebuild
new file mode 100644
index 000000000000..dede0a742332
--- /dev/null
+++ b/dev-python/netaddr/netaddr-1.3.0.ebuild
@@ -0,0 +1,31 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Network address representation and manipulation library"
+HOMEPAGE="
+ https://github.com/netaddr/netaddr/
+ https://pypi.org/project/netaddr/
+ https://netaddr.readthedocs.io/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ test? (
+ dev-python/packaging[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/source \
+ dev-python/furo \
+ dev-python/sphinx-issues
+distutils_enable_tests pytest
diff --git a/dev-python/netcdf4/Manifest b/dev-python/netcdf4/Manifest
index 2dc9fb375fab..cfcb9ed6d7f8 100644
--- a/dev-python/netcdf4/Manifest
+++ b/dev-python/netcdf4/Manifest
@@ -1,2 +1 @@
-DIST netCDF4-1.6.4.tar.gz 778542 BLAKE2B fb90aa5c990a5cb71b82ba0d5bfc39014d552d0804eee24daf7111fc19023b07c3af76e913e227595825748e599eb3c8425f336fa2b520c6a6ae4155e73c2d64 SHA512 a3582fcdd4978d8faa9fd7b49ec40cba0e4d56a32a283f18e1133a1a5ba6e89406625390cbebd0c162d31c65c63060cd8cc4398f0eee3c45be43b54016ec0f48
-DIST netCDF4-1.6.5.tar.gz 764969 BLAKE2B 6337099fbb66a53f2cda7a39e1b0dbb7b3ab9e6ec04177fc0deca1c86003bc20d9ed5d6ba72d5917766c1b9784c39c7cff328a7b5494aeb46bcc1ac895c13e7c SHA512 10f9b62399cf2d155f44b56d6d0f15950f610e855755bcb6d7d1756ded9ed513e83677ab70f7bc75eaffaca1703f37cc0a48c565927df7eb67beeb5a0be6f8d0
+DIST netcdf4-1.7.1.tar.gz 827831 BLAKE2B a0b6956be7749133f4823f385ea82b84975985814b90e7172ecbfb6d4590cf0809471672375a2331181735d7af622f6302adf2dad5fd95f09e24078bbdc20581 SHA512 69b7465f1d7b138b9f2f18732528207c7a573e0a5637c964a881fddc8f01a53b16c7250c22824a6ee0e3383dccd7f93b1971f95a9d1558d6088709efa7558ce7
diff --git a/dev-python/netcdf4/metadata.xml b/dev-python/netcdf4/metadata.xml
index 7ae0208c4dbb..0c5cd3f8533e 100644
--- a/dev-python/netcdf4/metadata.xml
+++ b/dev-python/netcdf4/metadata.xml
@@ -20,4 +20,9 @@
<remote-id type="github">unidata/netcdf4-python</remote-id>
<remote-id type="pypi">netCDF4</remote-id>
</upstream>
+ <use>
+ <flag name="blosc">
+ Allow using blosc compression via <pkg>dev-libs/c-blosc</pkg>
+ </flag>
+ </use>
</pkgmetadata>
diff --git a/dev-python/netcdf4/netcdf4-1.6.4.ebuild b/dev-python/netcdf4/netcdf4-1.6.4.ebuild
deleted file mode 100644
index 65d219dec7fb..000000000000
--- a/dev-python/netcdf4/netcdf4-1.6.4.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2023 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
-PYPI_PN=netCDF4
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Python/numpy interface to the netCDF C library"
-HOMEPAGE="
- https://unidata.github.io/netcdf4-python/
- https://github.com/unidata/netcdf4-python/
- https://pypi.org/project/netCDF4/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
- sci-libs/hdf5:=
- sci-libs/netcdf:=[hdf5]
-"
-RDEPEND="
- ${DEPEND}
- dev-python/certifi[${PYTHON_USEDEP}]
- dev-python/cftime[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- sci-libs/netcdf[tools(+)]
- )
-"
-
-python_test() {
- local -x NO_NET=1
- cd test || die
- "${EPYTHON}" run_all.py || die
-}
-
-pkg_postinst() {
- optfeature "HDF4 support" sci-libs/hdf "sci-libs/netcdf[hdf]"
- optfeature "MPI parallel IO support" "sci-libs/hdf5[mpi]" "sci-libs/netcdf[mpi]"
- optfeature "OPeNDAP support" net-misc/curl "sci-libs/netcdf[dap]"
-}
diff --git a/dev-python/netcdf4/netcdf4-1.6.5.ebuild b/dev-python/netcdf4/netcdf4-1.6.5.ebuild
deleted file mode 100644
index 2bcbe0c20bfc..000000000000
--- a/dev-python/netcdf4/netcdf4-1.6.5.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2023 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
-PYPI_PN=netCDF4
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Python/numpy interface to the netCDF C library"
-HOMEPAGE="
- https://unidata.github.io/netcdf4-python/
- https://github.com/unidata/netcdf4-python/
- https://pypi.org/project/netCDF4/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
- sci-libs/hdf5:=
- sci-libs/netcdf:=[hdf5]
-"
-RDEPEND="
- ${DEPEND}
- dev-python/certifi[${PYTHON_USEDEP}]
- dev-python/cftime[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- dev-python/packaging[${PYTHON_USEDEP}]
- sci-libs/netcdf[tools(+)]
- )
-"
-
-python_test() {
- local -x NO_NET=1
- cd test || die
- "${EPYTHON}" run_all.py || die
-}
-
-pkg_postinst() {
- optfeature "HDF4 support" sci-libs/hdf "sci-libs/netcdf[hdf]"
- optfeature "MPI parallel IO support" "sci-libs/hdf5[mpi]" "sci-libs/netcdf[mpi]"
- optfeature "OPeNDAP support" net-misc/curl "sci-libs/netcdf[dap]"
-}
diff --git a/dev-python/netcdf4/netcdf4-1.7.1-r1.ebuild b/dev-python/netcdf4/netcdf4-1.7.1-r1.ebuild
new file mode 100644
index 000000000000..8ce5240cd335
--- /dev/null
+++ b/dev-python/netcdf4/netcdf4-1.7.1-r1.ebuild
@@ -0,0 +1,54 @@
+# 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_PN=netCDF4
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python/numpy interface to the netCDF C library"
+HOMEPAGE="
+ https://unidata.github.io/netcdf4-python/
+ https://github.com/unidata/netcdf4-python/
+ https://pypi.org/project/netCDF4/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="blosc bzip2 mpi test szip zstd"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ sci-libs/hdf5:=
+ sci-libs/netcdf:=[blosc(-)=,bzip2(-)=,hdf5,mpi=,szip=,zstd(-)=]
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/certifi[${PYTHON_USEDEP}]
+ dev-python/cftime[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ dev-python/packaging[${PYTHON_USEDEP}]
+ sci-libs/netcdf[tools(+)]
+ )
+"
+
+python_test() {
+ local -x NO_NET=1
+ cd test || die
+ "${EPYTHON}" run_all.py || die
+}
+
+pkg_postinst() {
+ optfeature "HDF4 support" sci-libs/hdf "sci-libs/netcdf[hdf]"
+ optfeature "OPeNDAP support" net-misc/curl "sci-libs/netcdf[dap]"
+}
diff --git a/dev-python/netifaces/files/netifaces-0.11.0-musl-clang16-null.patch b/dev-python/netifaces/files/netifaces-0.11.0-musl-clang16-null.patch
new file mode 100644
index 000000000000..fa44700c3dc6
--- /dev/null
+++ b/dev-python/netifaces/files/netifaces-0.11.0-musl-clang16-null.patch
@@ -0,0 +1,21 @@
+Bug: https://bugs.gentoo.org/894448
+--- a/netifaces.c
++++ b/netifaces.c
+@@ -370,7 +370,7 @@ string_from_sockaddr (struct sockaddr *addr,
+
+ failure = getnameinfo (gniaddr, gnilen,
+ buffer, buflen,
+- NULL, 0,
++ 0, 0,
+ NI_NUMERICHOST);
+
+ if (bigaddr) {
+@@ -1805,7 +1805,7 @@ gateways (PyObject *self)
+ sizeof(sanl_from),
+ &iov,
+ 1,
+- NULL,
++ 0,
+ 0,
+ 0
+ };
diff --git a/dev-python/netifaces/netifaces-0.11.0-r1.ebuild b/dev-python/netifaces/netifaces-0.11.0-r1.ebuild
deleted file mode 100644
index 46e323797705..000000000000
--- a/dev-python/netifaces/netifaces-0.11.0-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Portable network interface information"
-HOMEPAGE="
- https://pypi.org/project/netifaces/
- https://alastairs-place.net/projects/netifaces/
- https://github.com/al45tair/netifaces
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-PATCHES=( "${FILESDIR}"/${PN}-0.10.4-remove-osx-fix.patch )
-
-python_test() {
- "${EPYTHON}" test.py || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/netifaces/netifaces-0.11.0-r2.ebuild b/dev-python/netifaces/netifaces-0.11.0-r2.ebuild
new file mode 100644
index 000000000000..8574e770aef7
--- /dev/null
+++ b/dev-python/netifaces/netifaces-0.11.0-r2.ebuild
@@ -0,0 +1,30 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Portable network interface information"
+HOMEPAGE="
+ https://pypi.org/project/netifaces/
+ https://alastairs-place.net/projects/netifaces/
+ https://github.com/al45tair/netifaces/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.10.4-remove-osx-fix.patch
+ "${FILESDIR}"/${PN}-0.11.0-musl-clang16-null.patch
+)
+
+python_test() {
+ "${EPYTHON}" test.py || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/networkx/Manifest b/dev-python/networkx/Manifest
index 09ab56864248..9bf7a5408402 100644
--- a/dev-python/networkx/Manifest
+++ b/dev-python/networkx/Manifest
@@ -1,3 +1 @@
-DIST networkx-3.1.tar.gz 2021691 BLAKE2B 002bb00034e06a45298716c86fec4462efe8db8d206e8263d2e4ce0becc9c073aa2856e0c2df2e74d53237be0b02752204c7e387651aa45387781c383dd1f190 SHA512 9d75ecd25020f83c650824e9449e1c53004c13089dccf7424b65787144dfe3d2f638fd5aca1c4a792b165598b44644fda45bf54c49b3af278ddec5e1f669c38e
-DIST networkx-3.2.1.tar.gz 2073928 BLAKE2B fc4a4c0357f25cb3e4bfdfb38ffa528eddba22abc852bc80e0a70047aea2e401b0003c01108435ced1eacdba33d181395e73fcfa20773faa566c8b5cb45f6cdb SHA512 579c54a4a016617f5260df01b821c3906c4f289e80ae7bd618c0ebb9e05ebe806e71f1f660e3012531d04572ac4e6670aa73117ed26da8248fbb8ef7228b5803
-DIST networkx-3.2.tar.gz 2072917 BLAKE2B a611973897deb77f39ffca3c5e144abb1016be32f2623939150d0ea7bf2aee04e40430a00fb2ece8d8d16e8360d1da44adb14aa68798fddd1d4d3b5377360ff1 SHA512 f9fdfbe0c716c5cc6cf3f47b44e02bbd8a166724c2ef7044497b01baf468f354123aeac3c032e31293c7eedd762a29f89628cbe2ecfea280cf6012d7b0d9bdfe
+DIST networkx-3.3.tar.gz 2126579 BLAKE2B 37d5d536e2564f9a219df70bb7f1b7c0717b99e9cdb7a4050aa321609a0ef34caecfda5a6ed8cb17f4d3b305b667adf8e40b58568dde8eb942d4a00b1ebdb255 SHA512 86306cabd7e15aa79cae4d84a42e8804b1e904fc2127725067a80e3ddf31f0fa72ebb9d21284018e72bdfc662c766a5be55564572aadaf7392dada7ea93d1ea4
diff --git a/dev-python/networkx/networkx-3.1.ebuild b/dev-python/networkx/networkx-3.1.ebuild
deleted file mode 100644
index d3f639521c4e..000000000000
--- a/dev-python/networkx/networkx-3.1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_FULLY_TESTED=( python3_{9..11} )
-PYTHON_COMPAT=( "${PYTHON_FULLY_TESTED[@]}" )
-
-inherit distutils-r1 multiprocessing optfeature pypi virtualx
-
-DESCRIPTION="Python tools to manipulate graphs and complex networks"
-HOMEPAGE="
- https://networkx.org/
- https://github.com/networkx/networkx/
- https://pypi.org/project/networkx/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ia64 ~loong ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-BDEPEND="
- test? (
- >=dev-python/lxml-4.5[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.6.2[${PYTHON_USEDEP}]
- ' "${PYTHON_FULLY_TESTED[@]}")
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- networkx/drawing/tests/test_pylab.py::test_draw
- )
- fi
- # virtx implies nonfatal
- nonfatal epytest -p no:django -n "$(makeopts_jobs)" || die
-}
-
-src_install() {
- distutils-r1_src_install
- # those examples use various assets and pre-compressed files
- docompress -x /usr/share/doc/${PF}/examples
-}
-
-pkg_postinst() {
- optfeature "recommended dependencies" "dev-python/matplotlib dev-python/numpy dev-python/pandas dev-python/scipy"
- optfeature "graph drawing and graph layout algorithms" "dev-python/pygraphviz dev-python/pydot"
- optfeature "YAML format reading and writing" "dev-python/pyyaml"
- optfeature "shapefile format reading and writing" "sci-libs/gdal[python]"
- optfeature "GraphML XML format" "dev-python/lxml"
-}
diff --git a/dev-python/networkx/networkx-3.2.1.ebuild b/dev-python/networkx/networkx-3.2.1.ebuild
deleted file mode 100644
index 4c616fce3ade..000000000000
--- a/dev-python/networkx/networkx-3.2.1.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_FULLY_TESTED=( python3_{10..12} )
-PYTHON_COMPAT=( "${PYTHON_FULLY_TESTED[@]}" )
-
-inherit distutils-r1 multiprocessing optfeature pypi virtualx
-
-DESCRIPTION="Python tools to manipulate graphs and complex networks"
-HOMEPAGE="
- https://networkx.org/
- https://github.com/networkx/networkx/
- https://pypi.org/project/networkx/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-BDEPEND="
- test? (
- >=dev-python/lxml-4.6[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/matplotlib-3.5[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.22[${PYTHON_USEDEP}]
- >=dev-python/pandas-1.4[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.11.2[${PYTHON_USEDEP}]
- ' "${PYTHON_FULLY_TESTED[@]}")
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # virtx implies nonfatal
- nonfatal epytest -p xdist -n "$(makeopts_jobs)" --dist=worksteal || die
-}
-
-src_install() {
- distutils-r1_src_install
- # those examples use various assets and pre-compressed files
- docompress -x /usr/share/doc/${PF}/examples
-}
-
-pkg_postinst() {
- optfeature "recommended dependencies" "dev-python/matplotlib dev-python/numpy dev-python/pandas dev-python/scipy"
- optfeature "graph drawing and graph layout algorithms" "dev-python/pygraphviz dev-python/pydot"
- optfeature "YAML format reading and writing" "dev-python/pyyaml"
- optfeature "shapefile format reading and writing" "sci-libs/gdal[python]"
- optfeature "GraphML XML format" "dev-python/lxml"
-}
diff --git a/dev-python/networkx/networkx-3.2.ebuild b/dev-python/networkx/networkx-3.2.ebuild
deleted file mode 100644
index 04100f44cf2c..000000000000
--- a/dev-python/networkx/networkx-3.2.ebuild
+++ /dev/null
@@ -1,60 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_FULLY_TESTED=( python3_{10..11} )
-PYTHON_COMPAT=( "${PYTHON_FULLY_TESTED[@]}" )
-
-inherit distutils-r1 multiprocessing optfeature pypi virtualx
-
-DESCRIPTION="Python tools to manipulate graphs and complex networks"
-HOMEPAGE="
- https://networkx.org/
- https://github.com/networkx/networkx/
- https://pypi.org/project/networkx/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-BDEPEND="
- test? (
- >=dev-python/lxml-4.6[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/matplotlib-3.5[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.22[${PYTHON_USEDEP}]
- >=dev-python/pandas-1.4[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.11.2[${PYTHON_USEDEP}]
- ' "${PYTHON_FULLY_TESTED[@]}")
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # virtx implies nonfatal
- nonfatal epytest -p xdist -n "$(makeopts_jobs)" --dist=worksteal || die
-}
-
-src_install() {
- distutils-r1_src_install
- # those examples use various assets and pre-compressed files
- docompress -x /usr/share/doc/${PF}/examples
-}
-
-pkg_postinst() {
- optfeature "recommended dependencies" "dev-python/matplotlib dev-python/numpy dev-python/pandas dev-python/scipy"
- optfeature "graph drawing and graph layout algorithms" "dev-python/pygraphviz dev-python/pydot"
- optfeature "YAML format reading and writing" "dev-python/pyyaml"
- optfeature "shapefile format reading and writing" "sci-libs/gdal[python]"
- optfeature "GraphML XML format" "dev-python/lxml"
-}
diff --git a/dev-python/networkx/networkx-3.3.ebuild b/dev-python/networkx/networkx-3.3.ebuild
new file mode 100644
index 000000000000..e02eb4555bec
--- /dev/null
+++ b/dev-python/networkx/networkx-3.3.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_FULLY_TESTED=( python3_{10..13} )
+PYTHON_COMPAT=( "${PYTHON_FULLY_TESTED[@]}" )
+
+inherit distutils-r1 multiprocessing optfeature pypi virtualx
+
+DESCRIPTION="Python tools to manipulate graphs and complex networks"
+HOMEPAGE="
+ https://networkx.org/
+ https://github.com/networkx/networkx/
+ https://pypi.org/project/networkx/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+BDEPEND="
+ test? (
+ >=dev-python/lxml-4.6[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/matplotlib-3.6[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.11.2[${PYTHON_USEDEP}]
+ ' "${PYTHON_FULLY_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ if use x86 ; then
+ EPYTEST_DESELECT+=(
+ # https://github.com/networkx/networkx/issues/5913 (bug #921958)
+ networkx/algorithms/approximation/tests/test_traveling_salesman.py::test_asadpour_tsp
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # virtx implies nonfatal
+ nonfatal epytest -p xdist -n "$(makeopts_jobs)" --dist=worksteal || die
+}
+
+src_install() {
+ distutils-r1_src_install
+ # those examples use various assets and pre-compressed files
+ docompress -x /usr/share/doc/${PF}/examples
+}
+
+pkg_postinst() {
+ optfeature "recommended dependencies" "dev-python/matplotlib dev-python/numpy dev-python/pandas dev-python/scipy"
+ optfeature "graph drawing and graph layout algorithms" "dev-python/pygraphviz dev-python/pydot"
+ optfeature "YAML format reading and writing" "dev-python/pyyaml"
+ optfeature "shapefile format reading and writing" "sci-libs/gdal[python]"
+ optfeature "GraphML XML format" "dev-python/lxml"
+}
diff --git a/dev-python/nh3/Manifest b/dev-python/nh3/Manifest
index b8773a148f20..dba67eafa823 100644
--- a/dev-python/nh3/Manifest
+++ b/dev-python/nh3/Manifest
@@ -1,66 +1,105 @@
-DIST ammonia-3.3.0.crate 46061 BLAKE2B 082ee30f39ad788c9ae87888f003c2f6d08fbea7ae4983f1f5419c87c5303d860ecabf6f530bb76ff03da44c1f72f664053da79e6e3f4991e39b23104bcedd97 SHA512 8bed262b3790a5629918f188c246f0039f4e3b46908b367993e61c280a99c775b85982bb5cdce5c66781a40b8b7f8ab1ebbe2900d590ee3ba0788dd5d854b155
-DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST ammonia-4.0.0.crate 47763 BLAKE2B 6f952a8030ce2cfb9bcaf01c36d795c470f47bd7fa8e3935e058016876de04c6c43db3d56776c9ec5bb2acd83f315fd5dbd7c60373b397d70336d6926340c816 SHA512 84f523eaf7db9d98e44c7d1198fae40e59e838dcc9fc256ca7ef3f3d243a767755f318e516411b4feba4ecb26e30e77d501e9163f996b4d113804e5f2c41a65e
+DIST autocfg-1.2.0.crate 14808 BLAKE2B 122327d6ffd32e08dc9fbdb4dcf69128b19d56280f9d934311b946741003b40571cdd1f3ef54b2be02c8dc505aea11c962b244d33a92206bf4ee8f6b2b9da432 SHA512 66cbfd13e33b36284cf4c74c8d654f93adcc45893d127d9aaa4c1d183e47336096e72d74e7c17dd481fb7a98931ab6cfec7e4d4165cfb491861d4e3ffe2416fc
+DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST bitflags-2.6.0.crate 45357 BLAKE2B 3a368bd2eb58c095b7b4a46680cc2d90a28e24b2e37c854bbf8647c861c4b8fb37eca827599673c5c7df763048149dd82123d1ede1f8a0e58a6bc23c8250f7e6 SHA512 f9bb3c48931ed7e7e05ec6d13305af5da6b6c18861ff307d7dc17c658f63972c87b70b0527287b3625c8592befc207cfe15550654995faf3862bb12a6d95bacf
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST form_urlencoded-1.2.0.crate 8923 BLAKE2B 2408d9bbca582be13febf041262f0e63a3d661dd8fd2a42e9203feb6ff02a94e3eade6b83179fab34448b9913c7924fdf53e0670ae97e550318229432978e33d SHA512 899ddd113a79bdeac12e499f581c5499d1a4b698c75cfc2d6aada5880cd802fc8537ff9ce68eca28374318d66fd70100962105c1e8962868a5732bb86326c104
+DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1
DIST futf-0.1.5.crate 11344 BLAKE2B 2cc5e5f5d4ace47e9273546e46c500432da47f246cee18f24607432305dec9481ec3d02b8a9bff4724efe05ea1d235294c52ee4eeb2f5f285ce56c2987b62d24 SHA512 4cee071c067c879742839d3d32192ca94ee2f9241468656357c3aed116cb7c656bf81722f32b67d60214b7db66858dca6443f0d52f0ff2114fc70971bdddd2d3
-DIST getrandom-0.2.10.crate 34955 BLAKE2B 8e7b8554ae360484ceca2a05f834c2664b08f41cbc6c955663e1f8f22fb5750481518bf1c7b49f49223a99a66914ef013347b9186acc97a20249f3222a13f9d4 SHA512 82af9e0417bff9272ed0478be4ac90426405ce210014b21899c6b95fde1b16893bf46295388ff5f13fa712a04c99c46b770fab83f41a1343af1590a86ca8da3b
-DIST html5ever-0.26.0.crate 72921 BLAKE2B bba23709f6404afcb86dc5af8fe8c0728c4c407de7cfc679c286ef13a790077329f7df2a065eae742e7b4c2303e01793e1b936daadd73f663cf2933845d975c9 SHA512 383a25421cddb0573e41ca93131d681cfbfaf551989337845a197e939a2580751ae90e96605bfc4e187dbd5189b6c014557cc69e3d7d2d2cdfb88eeca8896089
-DIST idna-0.4.0.crate 271429 BLAKE2B 8b81bc4535d2e8a1100ddeaf6f43c043fd601ee3b37eb109a9dff01630a81603223407bd5c2f1a1b108d741c811781b205c10148a0122b8125c237a5d5ba8a58 SHA512 b4133c5f73bd9c4ccc05245a9edcc5c980714129ce4f6eb7851eea7e509617ff972fadefe6ac78db6b4106667d9d6070de52c4d42414c95921e3d9fe1b7a76cb
-DIST indoc-1.0.9.crate 13475 BLAKE2B a9696788574e56dd125c3371169fd59d6947d188f76e2669b21c0304692efd6709cd048920f7822e92c6a5620fb178e0e85c7776118cef8ccee0f58398e14abf SHA512 db8aef4a7bb606452dc8ed45aa29a255c7a135357a0bd586fb4429c5f56a1aa2ca9400d6fac39956aeb486a15d25cf5d1b9524967867f2c651d9d563e3e85be8
-DIST libc-0.2.147.crate 686772 BLAKE2B ab2f0c65d071d46b8b88149add1c8429237ef6d9e0563d56ee1adbf23e6147dbb57fb68fbd02498f8ec75327693237a47e5e5259615ce8b0d5ed7a03bbf4fffb SHA512 bfb3c230b59d623b98726f92b7c3f897b47ba3d22fe9834c15f5b4c1b662289aba35a0ae3acfc704ad74696db8c691ee007b9cc6fa03ae65a18eb6bedc81931e
-DIST lock_api-0.4.10.crate 26713 BLAKE2B 113adf8554c65e9782e8fd0360d0398567dfbfddb1fea4928cc152fbab98dbe086e42b81170f6f5c333d61dd3261e8a1ebfbaed786e6bf6378e6afde6d7f9e5c SHA512 ffe8cad8099bc382832181c1ff95e0935993491f247114604201be7d4ddf8402fd4db8fd6499c611f95fbce7d57dc3d3738eddfab31c52f50ab8709e549697db
-DIST log-0.4.19.crate 38073 BLAKE2B bbc8ce51ad4a01562ecd204a531ec7d82101a342ec26405dfadd1761372f7039297dc97f4899889ebdf4eccbd56345e015d4ec6d2788851e523db56eb541aab3 SHA512 8f11ca6f5a99b61a5f3baeb7a23b7a879b3a5bed666337936bd1d8794864d14a6c4f0747d03505831783f15d8c14ebcf507267915481dfb1b32188b8ab36a038
+DIST getrandom-0.2.12.crate 36163 BLAKE2B 0afef8504932ea0ea051cde1d14bd5b79edde68d6ebae6fe88fa4aaa532605a16f466d0d9c0d0aa619eaa105600b6d5ee4e191865a3fa041549a78f78ca82396 SHA512 dd97d7dae1a7ba653abdaf2db719e1a9c8eb721b08b4af0f1c45b1ed5079069d1b57e4f6d9d879e7fae3a890763f4b6aea9bc2d945392b98e811e7b348589bee
+DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
+DIST html5ever-0.27.0.crate 72913 BLAKE2B 0a3dc8b19ec74ac5b5c1728f9112ed7513285ec47f4e3a3623b995eb9ed0aaf2c83899126268cd2b3e7388a3209952213d4fe0ea0d297e3c0f7b16aa1b5b9d4f SHA512 8d736fc122da78e9ba8b546868d0770837ea0b4951ff027f1b5593dedeb9831c082dad1868659422fab5527711ffed18d4428d519a830a3434d4594a1af6c868
+DIST idna-0.5.0.crate 271940 BLAKE2B 0b781c2e9bf717af429efb53bdfd18244f2b8c58e5111c3bd3bee50c8a01cc747513fe20db75c38b6b771d5845647bf6c1849ae6667766c9623e018c1f399a9b SHA512 bee6cfbfc99859b113aa8c7b487429a836dabc4e317980f132d28ff8333336f33480bf9f8b186a07115eff33024cd855bc85d346fce85e17c4132e886769c54c
+DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
+DIST libc-0.2.153.crate 740614 BLAKE2B 523a41bc8cff4ebcba0edbbe9e6a2286ec7cb3ba5e90ca5926c972b68e4b34188bc077d20c22376238c3cd91b7455898a95c505ace4ededea88cc496edb4c5a7 SHA512 3f99e3a192974fffdc053ef21e9ad5fb54b7cdbd4755df176704a95dba38047138ccab76763e89c6b565f37f98fd549fe368749f84f6d1638b3209cb07eae9b4
+DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807
+DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3
+DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7
+DIST log-0.4.21.crate 43442 BLAKE2B 8429b3270794d3e2c7f7d5b58bd4fa1abb9d4807ab3a1ac980ac81c11d9544635003d8cf2e608c2c0094865459108a2879f280278e121df68d09bc1561d604ba SHA512 0becc1a06b6e7048cff6c0bb8df49a16ac4772133c00239e9e9459c0811e7715c500f440cf1a9aef8d7ad74f57434559ca9b55917f588b8e476cf36eb6d4e10b
+DIST log-0.4.22.crate 44027 BLAKE2B 831dc5092db05123bf2e909eafa708339983edece9bc8cb802f0ab418d47ddc5045a72c1b58bc7c46ffa68080eebd0fd55d6e4f5b3d5ad3b0bc6b2ea0dcaace1 SHA512 bd7baa9c8a5523fd0864a53bcde955d484cacd782412b5b02c890b89dbf62137624da3a27337a310dd8f62bcc6606925a42bbd4ca161a3b7936ea4ff96bc0d71
DIST mac-0.1.1.crate 4838 BLAKE2B c87e9f9283f179acd28c189d02d9d3de0ec99f9cfbefa590daa2880c275894951c5b0b935b652ab6c8c0172ac59e87f52fd49b787b230e6730365dc076d17578 SHA512 dbc6def04c482911ace311f34be79992fa04042c7ce36b71459b5af5c1c43e9fa66b6b40f63f8c3647daba287bf1c1be9b1a8031ead1d855f99a988898c96f1a
DIST maplit-1.0.2.crate 8871 BLAKE2B 3cf975d35de2d2fbd50227a6d2c5e72227e99197b620c8f29be97bd3666ec162deeef0d9e6bd327a063f175201beeb73c4ed27272449b1df0b78238b2d36ca22 SHA512 917b5cf665e12b687035c895b60b2ae05622963f495f5693515fd24d56f49e95a06ffced68606d061bd20822c655100035930673fd4b0d4790168763b6961a9f
-DIST markup5ever-0.11.0.crate 34667 BLAKE2B 7a4e9c860949296912616fab105b688fc5ad86df012f064efb3e5125aae57869b4e63f4a551fc787e65987e5bb8c0dc26e2ff99651a2e56fa67237796f5967e8 SHA512 c9e9452f5bd43a7e578434467ce324a857ad600965fe37a24650f0f3e968fe1dc603ac8c7b9c4ebe2f624511cbdbc592ca0072b04ae094738670e199df9ad05e
+DIST markup5ever-0.12.0.crate 34639 BLAKE2B 730bf33cbd7def1cac6480514a9efa254a71ebe538f6fb6c36a3be5abf11b920f5161c695345843225fe4ef32ab67fe5880fbdb3c28870c14a8ccfa3276ece06 SHA512 d53b6743330d7f629d53419e54e77602b03bc01a5023b2431b14b8be47de23d2fc052a94c24885dabee041fc6f472a1103e66e69b5c2b8a9f36152b7df0749ef
+DIST markup5ever-0.12.1.crate 34763 BLAKE2B 8057bde6b03d3e80c920b9007462b134937c80393f7422b4182823676069c4934d0c2806007e0c42b958b2c9f1b73679f62ed1e38b5c872b917937562b9ec7bc SHA512 5063b6591c63897017d79f64d11cc13edce2e8e21462df8a00166d582e83af3132ea7f4e50af4f248b56b75cbd12c6f89b7433da14147c76004fb2ffeda02b92
DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
-DIST new_debug_unreachable-1.0.4.crate 2561 BLAKE2B 5c9831b04e2a44b2dd27816df0a331a8108991a84ebdfefe4e42f325ec3519ee50e89a99d490020a65a3d75acc371316c2253d2c6382453a0b15f4c3d5b96520 SHA512 6f964bb322aa8f2ff92078381dd720527600c6449e237b703278cbcf47b39a2581fddfc2f34ebb7cf31229e33d58de48bb5050e083fec6dad9aefddc1d771c85
-DIST nh3-0.2.14.tar.gz 14427 BLAKE2B d575023a652e5dc030c5bb537a6db181d8890feaf7034b98daad5e4ec0960ee26fe2cca21b198b81e68810ec2a75753f08fae0edd6120ce02470da13123595a0 SHA512 e84923b7ef19f0700550dc4e9e582ae6c0dc2a7dfcf9100e34922810c15e59668f60ebc652af8ad930e7d38d9d5748849c2dacda69132785d5b936215e897577
-DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
+DIST new_debug_unreachable-1.0.6.crate 2582 BLAKE2B 2ac3dd86f1a532832a40ccfda95654e43709a62faebb8182c87309827afdd23e6d3f250f2345f044cb789015c30b7907be63253b487d368e68c4fdbc7de20492 SHA512 73a61acbc9b20b3595925360827ba8798f3338471b291fa37c72a1c9505b3ec9f688808fcaac9a2eb494e5f3ea5331d30545d5f21f89559111bec6126ac90b48
+DIST nh3-0.2.17.tar.gz 14981 BLAKE2B 2e007552bac2528c4ab915c41d1535c5e07520643f636af7333e69611d14cf550a90a8fb1cbdc323215240ba3b58e62a5c934ea6bb704db28450ea3e0df41d99 SHA512 a50e4f463a01cab30b1da5533b726797567fb62d22593c4ff5a62465b9d1375b063dc16e9430e630f92bcc2d62f0030a2be80820cf574049a1315e74a9486859
+DIST nh3-0.2.18.tar.gz 15028 BLAKE2B a2eb2640ef41bbabc394b9d6ce84f8f25e0fd706553b8659e14056df270c093ff59a66afd00550e1d479418c6ae8cc0d324c8a608fff825bac940d4c3827261b SHA512 1579ece4642911bf760ee3747ea44b7001ee7f70da65940b548fc2b30a20fee5d5c924d7d44ee73fcf4b3642591cb7085b3da0088b91a6752abfde53c798c275
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
-DIST parking_lot_core-0.9.8.crate 32383 BLAKE2B 2f9666872894d1c85895437d1353f9e15be2bc8d004ffc8f0e5be95e9dd4b274797db3752eba1c0b5b6071c1b8a71e4857cae0b2aff1afdaa39e92e70be2e6fd SHA512 8d6dfdf661b0f7d0774cb9f61121f2daefd182ac8a2a0d24eab451febfbe1a664c815c163d34a7f3d15a54915a8e22e6c6cd10e89cb7d7598d48d81ad6a3c256
-DIST percent-encoding-2.3.0.crate 10196 BLAKE2B 155bb1aaf0db4d22179bbe24b2d312f3d507876436e8ce76dfb59775282c1136a6c2bf5672f4b6bc274e4535acc9e50497c3e20b77aa2490512755c9cc9e6c41 SHA512 54ba129b0f3b43627707be994a281cdb69d5a7bdbc91dfeaa0226cf2834adeff7d2597dca5d11dd48b5731e831acf1284497b251abfebc0618761f98fe3c01cd
-DIST phf-0.10.1.crate 5406 BLAKE2B 70532bb97a0089ef2a57a1bd43b4dd30f0289ffc1a15357ffd8a372d82374bd505f4e39d3bfd6bc2d3c2afca39703c89e3ed37ac41c364cee3759bf0cb609f82 SHA512 84568d6d1baa7c4e6faf5f3ee09133e736977286d7cb7630a59a53fc8ea15d0d41b9242f8929184667ce576cc9946da55d1e8bc06e98824f163c91c6aa05e073
-DIST phf_codegen-0.10.0.crate 3402 BLAKE2B 2d0a3d8f5fd0f8e577f6d4a5d0cf87bd5e4c0d5690d3aa331ba252351b59c478e42212cd66f167a2a88c2b9111ae7aca2c9fff3740dcba1b77d2beedc1d44483 SHA512 dab91b53c72a5b9b6c4773b9f16d2cd58f65bdd9fb975257b8d107d4509b44f5ce8b92ab59a60171207e025688cde54ef97c9973c4226a8765f10f35c4f6f1b1
+DIST parking_lot-0.12.3.crate 41860 BLAKE2B d1899a1132035aaea3a784290cf4951ea3b36b2018d407e27d333b2a2ce3820e040d635009c44cb6e58ad07cec6565c0347af6f6fb02954eac2d4c348bb036f0 SHA512 368c17203fb5b9e4ecfd4857e3b1ab96b86da3770b8f21be392818c845952f72dde1072a10265760a62aa8a1dd65332bfd585667444e5fbb9dbe3280b5862703
+DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac00288b1472d784c0aa7fa2953fcf9279c750d243ce69744993ee8cbe6899633e71e0a54ffc11e39247755685107f2f8dea54 SHA512 4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389
+DIST parking_lot_core-0.9.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032
+DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44
+DIST phf-0.11.2.crate 21569 BLAKE2B c809201298f1c5046874b3bbdd30e33f2bee2e4b977152a2c5faa91019ee5a1c8fe1d42cf91f6d0b0dd52015fc66f0a84c1b3ae014291ad7d5ba647a78debded SHA512 97752bfb44f3d1f9347b4ccfb6fa2fb80b3263d6f67aa703c52ae90d693c537a0db878acef828c79bd4c41e8f7ca0ea45588dee073d12c9bb0f2980c511b65b4
+DIST phf_codegen-0.11.2.crate 12977 BLAKE2B 5ceceead850a45fb0f6ad706ca26e79267bba0ffc0870b8a31ee8a586b37dc421d31e5af3453d62eb85efada260a2eb9ceb12d2f76434dcbaaee2f71cd43d38d SHA512 0a11be13927f6d4303a2f10bc3a0c986dfcc4bc91c9e885e8912d077e434098f75ff4ed9633085ccfbeb052d573721750fb80c7a19ee1e75fc09660aac2a6c5d
DIST phf_generator-0.10.0.crate 7525 BLAKE2B 1219f37d5699896f9dcdd367cfcbeb4ba19d3498c2e52acd02975b236ec3802f6ee57eaca40393a9742b5397809ef548923410768a727108c83139fc70562a43 SHA512 b6542d816b2e963c169df695d332f92237ba380f49bf919021514a16aef71de8f4f70b9612356db9f345f3f0d3656b2b39a4f34f8ffa8515510b81f1b19cb9f7
+DIST phf_generator-0.11.2.crate 14190 BLAKE2B a20d6d3d815ca0eb5ef18780587b9963459887a3ddfe3408c99f5ad7c382da014cc0bbbdca24fe13c780460f3e4ec4580665004afbd300fa470a91d3becf1a5f SHA512 122ee5ddb1f65f386d35e438396eafb7c9f2b1254daa11aefe0a6a45aa0662190c0b7fce32b6e003b04d022e60c2af4e355f995d5ddbd1b58df93eedacb809b3
DIST phf_shared-0.10.0.crate 4095 BLAKE2B 9155a2c145148f3c36ba6d6d8be86a526480b127f4af79b2b5855cb014a0080bec1ec45be466513bd57faa39c77cfde0d6ca02b6bb77d37a23d697603227da37 SHA512 f088a6836a28afca7a2ef5440d7aa953227785d52aa0b9fcb76c88d085fe7f0e68732f2354c9f8dfc0a90ab1b8ac214f28549780e6f32d857ff7e8963093d9e5
+DIST phf_shared-0.11.2.crate 14284 BLAKE2B 3c3bbd24de77b032d194d0b0679a84a4e2848d41ceea5552f73e51e3ebddd5e61188393f126f668689dccbbfa92a8accd9c09a77de39eeaf72b8993dae280dcf SHA512 f2cf9e8ceabde75bb7548e5a47dece9a8fb7eea4a6c5568675e7bd735860c3e51181d749a26cd3dcad1476ec22d524ccb77a956dd267cd0f2b7dfb81db9abcbe
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a
DIST precomputed-hash-0.1.1.crate 1640 BLAKE2B 64a37ef3edd317f771e833bb394f7c19bc9b8c844156c831d2b550692c7e2e36bce44ecf18dd9f2d0f0511346eaf0d2a0ebe792fc288ca0e94a93933f2051846 SHA512 a118a98286a47e2f0cf35d2678d0325c18b9b7d5bdf40ceadc16483b282307fd1498434d5bdfa25477a4f420d97c34d786e42e9fa70431b788b4b8fde9718e05
-DIST proc-macro2-1.0.63.crate 44867 BLAKE2B 54fc0f4f4e328c78609f5c0e26a8e6b1e5f1ad989d68e63d21e094bc20e1be6950d5df98ffb601c89bd3d137f6c05a3d1de74070e493002e793bf159b96f29de SHA512 3855011d0d42e8fe591e7552d224b692d79b194c4452fe9d8f92ed85e5437c0a3524a38e66301412be482cfcfbd468b071a03cf584a1618284dfcdcac9713102
-DIST pyo3-0.19.1.crate 418297 BLAKE2B 19ad6aa4fba175961b7fe97ae0bc45050f930859972b1b25cf0139bb3436c050ba76b63894f0df26174f141a52ac6abf10fd84c03c056af5a0665e723ae24195 SHA512 b27500cf49f1c6f217d21344d24ac96c07b82c157dd36fa4550b94059da5715ba7d0e085ec07dd5f8a8ac9de4d7e9239c1cceac4337294eb0dc9f6102049d5ff
-DIST pyo3-build-config-0.19.1.crate 29205 BLAKE2B f88cbf9763fd68f7b30d109ae608efc29e0d4bf6672ee5f31b77342b5f37baa4f981916124af6897ccea3d93990ff889815fc3abbe9ce3fdbd860b6d5698b7da SHA512 311fef01ac2c3ce12485849cb99eba038a36260206308c5af4621fc5393f942e03aae4f6a5fe24ef3005eb781d2161453667ad552d6a371ddd96460b05a2e710
-DIST pyo3-ffi-0.19.1.crate 64837 BLAKE2B deb3065ce99b4bd3b5dee182f7cc20dbbb1792e792e78425f30a71ad3e45aa8552f99f02debd640e16db44cbcad58f67b04ca6e08cb964e788d41dca64500a0c SHA512 6293d75c71ebe80c320f0a240716a2e0c62f66aecc58320f2f40a81f85390c7d9174b4888ead89818b73fdc8d3d21df12adc6625087f0c9ebb82767d4a7c5adc
-DIST pyo3-macros-0.19.1.crate 7173 BLAKE2B b8d53ed51e2454abb77528c9e08315f288718dca08888bc24752f156942c27ffff75c88504bddcf05cc89d16b3fd2cd86280b0b94bd09947a2ffa4c800dfde68 SHA512 2c12cff4a8af948f9ecaadb83d1ed5199758f9e9c626c5930a1b74c65027a8b74dcf989ee470798aeff7c1165650d5d3dd75cb1f813859b7b8e241cd2bb8f2eb
-DIST pyo3-macros-backend-0.19.1.crate 49916 BLAKE2B 930774ee7ec936bbefc4ea81e2496cd15438dc82954ec7b85c0bc42b290b41c60869f8b31e109ba16a373d3ebf1e0058c0c7ef7d4911ae40feb99fb61d66a745 SHA512 7c7949588a15ef57b12f11e903c1110228bb653212761c97ff50399aa39be97108b471a2cdf47afb307f6c86bfb24b3e9ab32fd08e0550ee27e8808f2acd5145
-DIST quote-1.0.29.crate 28345 BLAKE2B 3aeb637a4139730348775caab4d48173650d8bdce08247263d741ccc657dfff7f2facff05725bcaa73486818d394c392c64ecbc61bae3f5b612104aec16ff289 SHA512 d686a3943dca059a8e79689c77e6e8f6dbfa9b16a1a7ecdd27099339b77a55334252eaa8b4340e79c35ebb1f6e4deeb3f6356dfd02484f9c724e66a74387e30b
+DIST proc-macro2-1.0.79.crate 47200 BLAKE2B fff8e514d618b8ef60d6a4ca7610607641cb25701fc5e8452e0db5f942a3c38c724acbbfb0474823fe0f4864df07958c1524383e7640105266608f1d5a741368 SHA512 8bfa6fc1022556cbabe0050a37b93c5ef1056ebda9d3dd368e705a7c695df9dfb5cd5adc18ad1eadf7338631ad1d5ed6f63f0adff3616429ef8c50a930b1838f
+DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
+DIST pyo3-0.21.0.crate 500599 BLAKE2B 8e56a264f6cb8b8e5cfcc1854e3732edecaefe874cbda4db10742c4865a876625b723010ec6d2539ccbb58643b26c5d03522a0f3d03121af09632f3adb1186de SHA512 90b551c6ac4867245b2667fc4a9b74875351aa0417cae6c24ecb4cce1b2d4ecdaa7e23a07bf188490a25b6033985f8598b3ae202917e9bed6f4d72168a5383c2
+DIST pyo3-0.22.0.crate 535742 BLAKE2B 772a4f8b718bbec32faa3dac4cad07a5b452fb366280753c3316d932663bf367192483fb5cd0bd405321128e67157b982eaa89264685739a141e021f0f7e2b72 SHA512 44e0237fd3a8d4c7b082c48a5c8a52d8f4cc4673d134f680e29504bb46d870015fa210da34de4c1998defbcd4afdf2aaea4e148fbe093e4b2c8b0d064cd48da4
+DIST pyo3-build-config-0.21.0.crate 30535 BLAKE2B 71bc1756e1640456cce58190d90f7c1059b9748d9d72a122dd4e28c74ba96cb9fd2bbd80791d3edf313349cc0fbaa669c8e9cecfc925c9828ac794fda17a6ed4 SHA512 ac1ee7389fe267c28ff67f5d6a23bdba57ad2e0dff16e7ef38bc2bc95d0a2a4aca0b1fe4cac8510163c6c5a44bdac128f36d7b34655dff5f8e690db38e5edc6a
+DIST pyo3-build-config-0.22.0.crate 31205 BLAKE2B 6b9a0de5f431bfc123628c67da040e146e39353d7b42d8d083e1911929dc420622f8a1276229d89b7780bccd02a8e653bcb85bfa51281e72ddfacebadef5277a SHA512 50341f4e5134a275610a5b86e833d1963a0726c2ddc14f4742053c60ad336ee209e73441aca46c8670920ee47a81c76bbd3f9e6412d253a5b389692ff8f3c1f3
+DIST pyo3-ffi-0.21.0.crate 66158 BLAKE2B 40809352e9df9ed13f833a73c9d50f71e63591a5b4680fbc85b2c10fa5d0ca65b793d6f467723bdc47887a38536fba4c2b2d9ba52f5ee9b2005a23d98778c407 SHA512 4405a6dbb06e739a54056a70b072b94b1181aa5ec06515c32ba76962fe4bce6b2b63cc179b77d3656123eff5f60e650bd6efe026794ad38d37e307f3653a3f96
+DIST pyo3-ffi-0.22.0.crate 67420 BLAKE2B 65e4ed1a1ce854f37380aa23637a494226b98941b9e3f13eae8f627db0fea248c3cc93c7e594090407ab169cfdb27ab20c47f7004f2b4646103ee34da9a55f31 SHA512 cede32dc8025badcdd6d00b4a1204c6ceb5ad30fa0b637deecca669f2ee2b8961f88d9d867caa8cae59f498dc4e1c15f3b4049c5f47615e215b0f289fc560bce
+DIST pyo3-macros-0.21.0.crate 7917 BLAKE2B 3b7471486cbdfb8a9970f3aba9ad88dae9a2c620993f7a9cb6a3549e170fe9412318020e6c905eb35678d52d65a733e4858c30d33b6928dd1cb1f4f6a037c2c6 SHA512 b842f58813a152055f987ac065d3f38229a209c381b384160a1be49c271792347ffe97fbc6c898b120553e0f6f57743f9488cdc342a5a844fdd89bdd637515f7
+DIST pyo3-macros-0.22.0.crate 7889 BLAKE2B 0b61caaed415023341dfd675c578e39cc3e5b2a08eb8c439857c81cf6cb895837f5df28decd7c08a3aa365411ff33a97eb5fe2f20e18427bda133f7df53349ba SHA512 ed9e9d6322fb8d3fd11114899c3ad84ebbc5b5eba58e5aabfc7f9691f02ec053f1c2804cea93d21f2ac9332f5b719b7fee9878faa95f21eb2a2d86f9050c7339
+DIST pyo3-macros-backend-0.21.0.crate 57562 BLAKE2B 12a25a2103d1c4c2e8da291ea64f202d3237eadbf55d7ce2bfaa8b6846df098ae5d0456cc9cf409c16fce323de127d60e0f5a458cb387198f604e6eb8e2a9dbe SHA512 e65b2816464ac189616f44065fbe45156f2aa560e880f0c8b49a7d097ac1dd278a9cf0c504b14de3ee550f0604da5ec991be6ee6fabdc53cef54f0a2f0a8d849
+DIST pyo3-macros-backend-0.22.0.crate 64837 BLAKE2B 4961b8c8720bfc2bbd11089a658d64cb2b1e43e150e622d53490faec3b905344d256b2092238ebb1dd92290583ee7d04a12eb5759bd55276e7042e1c948c71bd SHA512 09496c7285b9faaad820cfea237ef602569de3adeaa3362727182b0cd1c8377ef55c0c28f14eb703ea73a86c94acbdfb1384b44ef32b318a76c730a0430ca233
+DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2
DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075
DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79
-DIST redox_syscall-0.3.5.crate 23404 BLAKE2B 85aa4299d9816666bf576f523da5cdeae87b3c8fbb2af103e82258d23f73303c068a4b6c3ef4117ad67958cb31e41f836a9f59f2ce1bc52c23605e34399afcf1 SHA512 16f8f4766932bb54e4740cfdb4f0802f76246c0bf88c1d76c69c115949b124b625d8c3b85d8947073c2e9544f425aa16c10f71fabe3c03d29e424c47fe4ccdde
-DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
-DIST serde-1.0.166.crate 76998 BLAKE2B 481ef3c3db29be71f571bf5003301682bc91208aef7cea2c0fe40b5e344ebb82c4a9b4e54a8dbe33395c0a66b1885785632e3768bad57f8d7cc789eb80b977bc SHA512 b754064fbd08d9afc487f3c2665c9c58e5d44980b49fabbedc1dda8285b08a33400e88b843def1469c02db6931435bda140435998696651e352b65fe4145d66d
-DIST siphasher-0.3.10.crate 9889 BLAKE2B e5dd6d265340b4c9e4266ab1ff3a20f1fb87fd493b2d7b5fba32d26421cc858b38929e4ab96941d0c055375b8acebbd04236d994cadca324500ed05064b9bfc9 SHA512 f90425a2cccc9575d377bb92a765d34653ddef1ac12b7c63dc6d700aaa74b525787e11609061c2d3e44ea56fe0e4b8f93f7b13f0279b5de2e0f710c5caffd4ce
-DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
+DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
+DIST redox_syscall-0.5.2.crate 23957 BLAKE2B 6261df25a59af5119a21d31fc3b6a8800bb1783cf2fd63a5524d48d0b187f5f2e65ebbdec00d9282adf110ba8f307d4ceb154bf029a0c6a26e8a887fc722b2d7 SHA512 b7e39a08e220153370449cec7b058c2dbc4916ff7be01b34658e1793035323ecc28f40712194cb9bfc9b863e4bb316e58662721eb0e54f68f09438bd880ea032
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
+DIST serde-1.0.197.crate 77087 BLAKE2B 4a4e04ededf5fefaabfcc4e17457db823239e8eeee7631a905ed47800ca10d26a93632e3a9d1b784b83f84168d0d649cfa2e6f5f1e68ab15a68e837cd5b6c699 SHA512 69e42825fce6a0a5d109979785daceacfd6afc5641e202fe83da32e2b1f968416557cce97fa014839e873e65f85c27494c8f8e20e6e9e4fbedf20d0291880410
+DIST serde-1.0.204.crate 78253 BLAKE2B 6fdebf3cbcc0327b404caaae43c87ba2b6105374a5ee3eaa34d44866e782132cff535da4c069c007783b7b6468d55cb1ceb6a41da74b9eab03ace7cf4811e09e SHA512 2fefbeed0117bd791fd25dd5ad0c99ed4f60aac5919605b6f642050f748dd472bf9d4d121b78b0cfe8719db30a675559d097bcc7542cb57451d1779dfd8d294f
+DIST serde_derive-1.0.197.crate 55771 BLAKE2B 73708908b6d1e104af4c63b498bd25c5a728e07e22afdf92f15754c0f17636efe44c0560c1f0df1b9a30708e8e8894a62f1ea57c234b6dd861cb9c8dc044eb4b SHA512 669376e248b76a5ee8b9c93fd9fe6d35372e7267fbabc14730539ef28a94e405ee5e9c2cc2846897d59d6153742cdc6799f9e2c87f20b9dad119bd3a86c28994
+DIST serde_derive-1.0.204.crate 55871 BLAKE2B 8f0cdb244a820712d557a3273e505c4461f4d7db89e8394040b4c66ede787b6b38b4c9923b38959ab4042c9076b8af72008c0dd15ac93a0ecdeb99da8fb526ae SHA512 bbb2b5e60e2af5bc7528b937ffaf0d3ffd433dbd9cb2592c1e07090620309057e4f11cbd6112fc1d2c5557e1bb3c0f4d59eb06ff06fa021ec683ab880997140e
+DIST siphasher-0.3.11.crate 10442 BLAKE2B 771221614bbd56f609b9743da4352dc7a2cbd0f6257952fab0cd052e5e5b258a4c95a0461d6d1b579dec90b72d66a0e58e036899b3db8341ae753a421a4cd4d5 SHA512 601121bd41da896142dc6ccc74a6eec3ebee3e976857ab8b5d21e915fdc8bc6e979af66a489c406371fbbbfc7a13338cc4b3744aa981206e43c53998f3e1699b
+DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
DIST string_cache-0.8.7.crate 16655 BLAKE2B 9a017f3248a3d5e7b8c1a05462a882862b20174c7ce5dda1568c3d3f61c422e84ba2ccd5d6dbd726d1c752f1eaa8062a179470927a80d5bdda0ce530d1ae2c17 SHA512 03f9cdd2c01c0f233284851f17eaefebd68a91ae2ed2b231fab2d6d6476bd19e0696d7d3a74fb6ecb2ec36b89e79ad966ab73051255c9e194bcf9c5029fb8479
DIST string_cache_codegen-0.5.2.crate 8156 BLAKE2B b1cd91e22937622ce51152957ed45ee88dba9756449f3ef4c4884e491b7810e1c9f10b58012244dafa4422d5589502876f30a43940ee9754ef7b9952ebe4bb41 SHA512 01b9b1a865878537f657adf908159fd04f3f2ba4e70f8c632b73d0ed5a8a09fe2bb9ac8ac4397dec1f50d771dec33fc5d3f9e68dbf80cc177118665b2c67e864
-DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
-DIST target-lexicon-0.12.8.crate 24518 BLAKE2B c76d50d34e5da9431982ee446cb2f586db61182f928a25d862021b6fc32afa9ef8eccf51624c3b63442b90a4c0d8042ceb30d00122cfcc142f69a91ffdea222a SHA512 613af05fb80fe8967eef7b640d6b1a33eac5e6f3e70e1b26043b0f5e5b1356b4509b4d4daf0474c8d24d019c5e1d4ef8f950e092bebc14174930ebb60c6e151a
+DIST syn-2.0.55.crate 254901 BLAKE2B f48da9df7d80bc35ec7f88d2b73a29fc1f2daaf2b1e2120c8a145c730e99148ef7a41fde7466f3b12ce8f017b505341cf5109353a9aa2164827a724b775167bb SHA512 093414e1db32cf723161fdf213c6bc59aeda00c6867ca8cc28997822375bca07ec709e47324bdb936df87298e84da296fe15968811a0d74c978a1a90b89dbd3a
+DIST syn-2.0.69.crate 265441 BLAKE2B b01576c2c86426d2bbb2c9553dc1dce6a309d9922c35167ee6a718ad08cf3d0a22f0aed4d4c547cdbed85b47283e5b60a128fd1bbb230a6687f0c28af3a9c228 SHA512 fddc0f1ffa3e68ce57833c6ff18382296838287dd98f9f77f679ced471c3f801af30376363a870232f337bda27b3ba6ea93074f8e3c05ee390bcc024e3690bea
+DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a
DIST tendril-0.4.3.crate 37210 BLAKE2B 0a70926644e8dc492247d49b8939169702903c2458d7b2c0fea2e6ed54166909f484e8e876eddc8ff7491642ec24a200c5d1e51412c6a7c26ee60f1f4164e98c SHA512 53f074aec6e59717fca280b1764f6c2e0a1c073336f48d012ff268a7189697d42d24a91a6a549c7d9e1fe8b0006e34c219f4dba3cc95247d3905c6f8a6a8186f
DIST tinyvec-1.6.0.crate 45991 BLAKE2B e9699d4d80a78978f0ebfd049f5b33d7f23d401cf4f4439ccb168e8c0e322473ad0ea7e2ff0ff69e9aac3e5c4c9ae5a7102185533bfbf96dbe77b3526e700bc9 SHA512 e5acaf353c58c60ae5556130a934f1048abb79cf6668ae467d308bac44b689d8a9997227ea879f4b5fe50f29cde8761801b088d7149bcd063b973056c381921c
+DIST tinyvec-1.7.0.crate 46743 BLAKE2B ec9741aaf6900ed2651c222d80688176353fd2ba99ef54db18059bc527b638fea1e9d0ed03b18a8c2f3a4732f94dcfbdf1411050f1d744da5d88cbab569b88de SHA512 9628e5a8861d01e22f00161b3cee58861a2801cd0c64016872bc0c6fb49899a553abd0bbed61064ed91e3a8fbd93e311b2a622fd21d74345e80ec27c1e2f36db
DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e
-DIST unicode-bidi-0.3.13.crate 44477 BLAKE2B 90d80e7c57e93aa9aaa83e7c3c1a93bb6e4d51047803e61ed3f7c80361987947b2029a2b679bd301e8a0766ee8ea7f080e9b9b6ebcbb4354e19813a0f7da2abc SHA512 fb094fcfd907d90fa7232432aca0143209446e4c5c73d8a0fe6d2dc44b9dbb5b8b926c59b5e3f9a5a0a36f91c04613509b6e430c9c4adf526e7445e6e8d7a3d9
-DIST unicode-ident-1.0.10.crate 42039 BLAKE2B 3365850e1991b9e572c6917a35f3c85523d921d5ebd9fa7025fbc1ce2a0518b06aaa9f3e3bfafb47d357226b5b9964145c7f1b5ddc16cb7280542f6c96f650ec SHA512 5dcc24e138a86f84cb05290332d02953b0ca18839ead1e74b0319bc361ea449700e04d62a51e435cba266121e463643e017718d3023a84f844a59e4ca4475686
-DIST unicode-normalization-0.1.22.crate 122604 BLAKE2B 3f3430b279cc0ce1595392c869442ce676ab097154c688779ebcf726e10c497df59be2cd7bb2f84f99499a9df0654760a10ac92224c17d74775aeebe291241e1 SHA512 a5810d5e9cd93dbb80e013997aa9d38e60834619483a6623eb2859ec5d59a5aec3fc4db123dc7f4e2fe9f2b8799cf6af48bdff22d69a00a23707240e8bf3bb3c
-DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
-DIST url-2.4.0.crate 75670 BLAKE2B 8cfff1d8ae0b7353ab4f539e2df1f15dde3c75f347c36bc5c4c8ea45a0cfcb31950b073b50acb34a14cd3d7a11b665c3a73a3d070cc590ce740c561f0e6e92d2 SHA512 acef524d2c00d2fd68ec6385ca2a44b740f60724256750d8b0ea609dec7f9d59303069f315f04a5205925a27274ec7709f3818a2237ea0023845e9a12905694c
+DIST unicode-bidi-0.3.15.crate 56811 BLAKE2B 1f1d372c86ec7444f13eb32baf13dfc8699b52156b265a2b53f40c0d771064876405451120fe54739a2679e6991caaf4f63e0644f03729cab814079fef4868c8 SHA512 7a21d5eb05ea8d691dfd54ce4cf7d3693d08067f7a88ef17b8c3044634f46411176b1bde1516c442577910b254007b247f5e40f9932eb601cd96cd574f9d9db8
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+DIST unicode-normalization-0.1.23.crate 122649 BLAKE2B 22ea5ce3f5a2b371c3c8782321b1bbbee724db1e4d8c1d43af4e6bd8044b99307c227d93631d178d10fda445a941a485882ae0015a6e3d3c347e4bd465bbe1d9 SHA512 539f04010810d73fde7b0ab314faf813f3e7ecd2e51d7975281554b7cba4a8706e2b5523c4b7840568593652360ca59e9db0e1ce342e71c28db635ff55ffb0f5
+DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
+DIST url-2.5.0.crate 78605 BLAKE2B f3fec3477248cbbe67866577eebb03f517c284a5e5cb783132b11ef3ad156a03524f4730f188d822dec85169d7474e265099296d6bdd4adf5ffaa0a118821617 SHA512 4aedbc48b85bcc2853189f5fe8265a01c76516b5507f4e958d8d0b860fe2590c69c95f0f4b9fd6fac9b8d5911bcb0a5e9ab7f8e8b600f37a12db1438976ee5c3
+DIST url-2.5.2.crate 79704 BLAKE2B be3526298a8816fbd88385caf49c2d58aacc7dcbe2d9183478cf501c26fb5f22d7704ef1313ba6d355e849cbf8ab7980310c1aae85e253a2b28d59099e23af29 SHA512 2515903e41c0659cb226f9bb049ef80f2a49d1b609b6ac480e570a84e899088ffe3be4fb58f41a1fa7f5288eb5f97ab513f331aeb6d56979df783d48e2ace28a
DIST utf-8-0.7.6.crate 10422 BLAKE2B 296690040895ba9da9e69d527aea415f4bd6bd3c010e67a08f9cffd2f4cd92a99f9ddde77512f9ef5a0db069ac9ac3cd6fd91aa18f0bcadf870ed212fdd76f2b SHA512 6bf0787cc297a1ac4e47389464d05ef6850602f549621687e776618bec96c1f7bacbb1ac8faaa63e5d28d975b850db8d6c784eb66e2466128f0521b91c14015b
DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
-DIST windows-targets-0.48.1.crate 6902 BLAKE2B 8e6cd47dea52131c66983cbf4982e88f7bd30416dfae4e380f7afb39f67ee0ac88d40769668dd5aba40d4415f9f00cbc2ac98d598506fed26029f5ec4df3a2c5 SHA512 e48179620cce528292167f1d5ee2deea0659569c996dc90eb4ab62b9ea8baee6c0bea3ab739e06d8793c9690bfc895545ed0039cb633ca39293de79c42ea9de2
-DIST windows_aarch64_gnullvm-0.48.0.crate 366543 BLAKE2B 9b10f65089fe6da3ff38a1061783f635644ae84f567f891eaced280af68f7ff3919b34289e8850aa34554bb0346903273ff0a7fa743ca8794c2d23a9f1b0185f SHA512 80c5aa74c5669f7acff3882a8e7575f15e8d7cc58c11a1cb731ff423eb9cc9ba43cc6b80e52803c0d44e6a9001655ba87de6f43a9fe858da6d6e3a5c983a2711
-DIST windows_aarch64_msvc-0.48.0.crate 671479 BLAKE2B 0c80f210437628e1d878d1d14e884fea532c7539b3030aa76d46f27d02372c715c6e33d7efdbbd770666472b44a66c30711a33d819ede9cdcd51c96355802d45 SHA512 617e47a7202f1db4dbd3ecea509682135ccd85e3a458c0331b9bc7aa1d84e5756b59c881cb098d5c6d4c951248d13c8253a8e8a50938e1997bd19ceba77262df
-DIST windows_i686_gnu-0.48.0.crate 741490 BLAKE2B 5a4a584f8d8ee5bbd2d4c5b6749a66f2d43fc9e4ef90faab2227709b270f0d46fc26578c029edd96877c71309316ddb32d91c39f46d88f9a484c614f866e3dbe SHA512 15149fdd48b61b6d993acd392dbd353d0280d984ea88745217e4207937174bb90cdd9701f69ff0fe06a842f03607cbb57937d20d79ab577181e605a8a8fadc68
-DIST windows_i686_msvc-0.48.0.crate 730056 BLAKE2B 4e4ad6ed94948145199c2ed50fc65e4af08455a0fd058bb0f763d481f30b029f99a2b8dbac087b29e762500a19270f6683baf62ba99d141eb002a5b0b5c8ea05 SHA512 11a50800e709712dbea907275bc0faa46d2eb2969118445ed5b932d9c5957a09592a5b26a40e554c1f5fd56c6d074a07637e6f88eedd2224e1001e62df7b469b
-DIST windows_x86_64_gnu-0.48.0.crate 703595 BLAKE2B b227efb78a99c43d0538cceadada3fa1840df29adc665787fdcf845b73e77d782da8a9f9aa602e1da61401b550d0107176feb6c397c922a6240b38cc8f04a180 SHA512 38eff1164fb37dbd2bbe53404b20cba92de84cbbd5e4eb9ad60d51fb43d6fdb8b87a1488e2c88ebd4b3ff3b708f93fdc05df4b14a285d3ff11c33ff0d9828602
-DIST windows_x86_64_gnullvm-0.48.0.crate 366536 BLAKE2B 295dc3aef18c604d1579978045f4058b1a315083a8ab842bddf5800ec3460b1530ad88c3464acab712a229290aca235810de8a3b6a253859a354d9fa97277e58 SHA512 8d82fad4c8445030844708aa026a62f1ca43362b8e15f14b0d226c7e9cda04ffa0715087b6a025dbb738e8891de24fcc4a2df071a532917cf03c4a46f934f396
-DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B abb063610dcc38581657133182b7d9efeed5553df67bd2bd6f30f1668a645186e4824f9ef556a5abc84ace10b1b437b6325bbda6df5a64ce880d7dcb743ac786 SHA512 6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795
+DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows-targets-0.52.6.crate 6403 BLAKE2B eb98d0a8daeed5fe76e7fa8edb2743e2a3e77dfb9c4ea68605a6ab10532cb7cfc43bc1cea0180869445bd940be762a40136500e26b84ca88b5e0c502004c7a4c SHA512 d6d2dbd96096c6c396dba141a9817e377c35877f3b2fe58b2553280c7cfcb1ed6ee75bd4d62c9b882662de67ddaf0c1049b91530d29c94dd709c230e08eb895f
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_gnullvm-0.52.6.crate 435718 BLAKE2B 8b12ae02892cb69401329034bbca671d13bd268a112120b56b90504707cef89decfbd2560492844a9f0588fab62dc1476ab7e931126b939015d25a8cc91ca334 SHA512 f62b2d942bdb3a9353465b07d47b93de179bb706511aa497e4addd74cff95e689a9b633e7801ce786e73b5ae5f30b506b6faa199c5ab86eefdc1d94652df79c5
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_aarch64_msvc-0.52.6.crate 832615 BLAKE2B adc8ff61b6dc96d39c92c7d4221ae6aa0575edfc016cfcd046067ca5d8fcfd56d10e8e227be1c038ce34684be22c7ccaf5f18cd5a7638d28fbff4ba15b48b90b SHA512 a3e21305ad0e6de38f5b5ed5d37ee5825b7521064163bcdf31d63341cd87983f54377865d2daf3bb480d2d0aa66d6f598fa09540ec1d71baea74569c86bd213b
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_gnu-0.52.6.crate 880402 BLAKE2B 5aab8ee07132eccb7695807eb44811beeb0657aadfb672c54e99b6ae39c067ba9b93e38fc69bb5b9b14a9759f263ccd5e301597d2727d83b31b49a409b6bd405 SHA512 a1f6b5dd23d17ec3567bc9d11a4be6f35e196eee21ca342e9b88dbaa6a5f7c46e439c834b77e724f32ac22c0d81573746b3b513a6c944a221b92b2c76fe98822
+DIST windows_i686_gnullvm-0.52.6.crate 475940 BLAKE2B fec4fda8bb2bf319a501a22372fa642ae682e4dee3235b258a028190ee73220bfc55b3142f06249bb4579b17e5fde662bb2b121aefe18544653350d7d0fe7d8e SHA512 95f13af855d530acc0b856214478d4b11b8dbab3f8f79dd223d0b009790c0e46d096fc1773e0277997deb2d5b96c704f17f23c7df11411524629f75415dec99f
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_i686_msvc-0.52.6.crate 901163 BLAKE2B 99ed34e052db5ba77bab240ed5d38ce450be347a794d63ec39b719304c32722c9999b540ab40abe0216318900b7412970df99dfb36d1516a9517cae0c77d1bdc SHA512 ca97913ce202d73266cf55947b868bea7e964a4516b6a096a81aeab6a60ee73867171032ced35e3afccff741ddfb2def7468343b6eceb95253e4d4f349efbf96
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnu-0.52.6.crate 836363 BLAKE2B e2335829155cdbd4a55cc9f9babc237e14e32aab97f6f91afabcdf80d2aee37d6fb4b8669aaf433ff532c85dba59b3d366c7d41b61a2f29b96f960169c900687 SHA512 c4086bb0280042f2bef9b556283b67f8a5cacddd209e1c5fabec63decec6d4fd2d6a7071407973981b98ae0c0cf7034fc612f9e70dc6d3eed9acdec771ae31cb
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_gnullvm-0.52.6.crate 435707 BLAKE2B ab77dccd06328cdb00175f41cdbc120594050a9678b7f9820444391fb50aada3911a91ea00f3a6db2b4fa1820fd23bc9a007dfbe65ad41417c26ee1137ef9b96 SHA512 67681f5859e249c56b0183181811f6212cc7008d6471dad78aecc7ebe3d027686b19210b8aa9014c554410f69f913d21ce2aca928eea905eab779bea26464cbd
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
+DIST windows_x86_64_msvc-0.52.6.crate 832564 BLAKE2B 8e9a3044654c6de99a9153e7cacd575474e7a8a3d883c67b02132af5d3fc99d03cd5f7a4dd666a3947451d11218e6acc6eb5e2526f012481106cc13453839719 SHA512 21944cd8e3a481b514509e73ae3f62722fe7ed380d37ea0c25f8fbdeba79174dd52ff65d898838da5df4197894b74e00f45d47489418e978753b4e55c7e623e7
diff --git a/dev-python/nh3/nh3-0.2.14.ebuild b/dev-python/nh3/nh3-0.2.14.ebuild
deleted file mode 100644
index c1803b473d2d..000000000000
--- a/dev-python/nh3/nh3-0.2.14.ebuild
+++ /dev/null
@@ -1,100 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CRATES="
- ammonia@3.3.0
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- form_urlencoded@1.2.0
- futf@0.1.5
- getrandom@0.2.10
- html5ever@0.26.0
- idna@0.4.0
- indoc@1.0.9
- libc@0.2.147
- lock_api@0.4.10
- log@0.4.19
- mac@0.1.1
- maplit@1.0.2
- markup5ever@0.11.0
- memoffset@0.9.0
- new_debug_unreachable@1.0.4
- once_cell@1.18.0
- parking_lot@0.12.1
- parking_lot_core@0.9.8
- percent-encoding@2.3.0
- phf@0.10.1
- phf_codegen@0.10.0
- phf_generator@0.10.0
- phf_shared@0.10.0
- ppv-lite86@0.2.17
- precomputed-hash@0.1.1
- proc-macro2@1.0.63
- pyo3-build-config@0.19.1
- pyo3-ffi@0.19.1
- pyo3-macros-backend@0.19.1
- pyo3-macros@0.19.1
- pyo3@0.19.1
- quote@1.0.29
- rand@0.8.5
- rand_chacha@0.3.1
- rand_core@0.6.4
- redox_syscall@0.3.5
- scopeguard@1.1.0
- serde@1.0.166
- siphasher@0.3.10
- smallvec@1.10.0
- string_cache@0.8.7
- string_cache_codegen@0.5.2
- syn@1.0.109
- target-lexicon@0.12.8
- tendril@0.4.3
- tinyvec@1.6.0
- tinyvec_macros@0.1.1
- unicode-bidi@0.3.13
- unicode-ident@1.0.10
- unicode-normalization@0.1.22
- unindent@0.1.11
- url@2.4.0
- utf-8@0.7.6
- wasi@0.11.0+wasi-snapshot-preview1
- windows-targets@0.48.1
- windows_aarch64_gnullvm@0.48.0
- windows_aarch64_msvc@0.48.0
- windows_i686_gnu@0.48.0
- windows_i686_msvc@0.48.0
- windows_x86_64_gnu@0.48.0
- windows_x86_64_gnullvm@0.48.0
- windows_x86_64_msvc@0.48.0
-"
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Ammonia HTML sanitizer Python binding"
-HOMEPAGE="
- https://github.com/messense/nh3/
- https://pypi.org/project/nh3/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
-"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
-
-distutils_enable_tests pytest
-
-# Rust
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/nh3/nh3.*.so"
diff --git a/dev-python/nh3/nh3-0.2.17-r1.ebuild b/dev-python/nh3/nh3-0.2.17-r1.ebuild
new file mode 100644
index 000000000000..cdbc88d1df8a
--- /dev/null
+++ b/dev-python/nh3/nh3-0.2.17-r1.ebuild
@@ -0,0 +1,112 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ ammonia@4.0.0
+ autocfg@1.2.0
+ bitflags@1.3.2
+ cfg-if@1.0.0
+ form_urlencoded@1.2.1
+ futf@0.1.5
+ getrandom@0.2.12
+ heck@0.4.1
+ html5ever@0.27.0
+ idna@0.5.0
+ indoc@2.0.5
+ libc@0.2.153
+ lock_api@0.4.11
+ log@0.4.21
+ mac@0.1.1
+ maplit@1.0.2
+ markup5ever@0.12.0
+ memoffset@0.9.0
+ new_debug_unreachable@1.0.6
+ once_cell@1.19.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ percent-encoding@2.3.1
+ phf@0.11.2
+ phf_codegen@0.11.2
+ phf_generator@0.10.0
+ phf_generator@0.11.2
+ phf_shared@0.10.0
+ phf_shared@0.11.2
+ portable-atomic@1.6.0
+ ppv-lite86@0.2.17
+ precomputed-hash@0.1.1
+ proc-macro2@1.0.79
+ pyo3-build-config@0.21.0
+ pyo3-ffi@0.21.0
+ pyo3-macros-backend@0.21.0
+ pyo3-macros@0.21.0
+ pyo3@0.21.0
+ quote@1.0.35
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ redox_syscall@0.4.1
+ scopeguard@1.2.0
+ serde@1.0.197
+ serde_derive@1.0.197
+ siphasher@0.3.11
+ smallvec@1.13.2
+ string_cache@0.8.7
+ string_cache_codegen@0.5.2
+ syn@2.0.55
+ target-lexicon@0.12.14
+ tendril@0.4.3
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ unicode-bidi@0.3.15
+ unicode-ident@1.0.12
+ unicode-normalization@0.1.23
+ unindent@0.2.3
+ url@2.5.0
+ utf-8@0.7.6
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+"
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Ammonia HTML sanitizer Python binding"
+HOMEPAGE="
+ https://github.com/messense/nh3/
+ https://pypi.org/project/nh3/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests pytest
+
+# Rust
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/nh3/nh3.*.so"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # force unstable ABI to workaround stable ABI crash in py3.13
+ # https://github.com/PyO3/pyo3/issues/4311
+ sed -i -e 's:"abi3-py37",::' Cargo.toml || die
+ export UNSAFE_PYO3_SKIP_VERSION_CHECK=1
+}
diff --git a/dev-python/nh3/nh3-0.2.17.ebuild b/dev-python/nh3/nh3-0.2.17.ebuild
new file mode 100644
index 000000000000..969b7c2090ae
--- /dev/null
+++ b/dev-python/nh3/nh3-0.2.17.ebuild
@@ -0,0 +1,104 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ ammonia@4.0.0
+ autocfg@1.2.0
+ bitflags@1.3.2
+ cfg-if@1.0.0
+ form_urlencoded@1.2.1
+ futf@0.1.5
+ getrandom@0.2.12
+ heck@0.4.1
+ html5ever@0.27.0
+ idna@0.5.0
+ indoc@2.0.5
+ libc@0.2.153
+ lock_api@0.4.11
+ log@0.4.21
+ mac@0.1.1
+ maplit@1.0.2
+ markup5ever@0.12.0
+ memoffset@0.9.0
+ new_debug_unreachable@1.0.6
+ once_cell@1.19.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ percent-encoding@2.3.1
+ phf@0.11.2
+ phf_codegen@0.11.2
+ phf_generator@0.10.0
+ phf_generator@0.11.2
+ phf_shared@0.10.0
+ phf_shared@0.11.2
+ portable-atomic@1.6.0
+ ppv-lite86@0.2.17
+ precomputed-hash@0.1.1
+ proc-macro2@1.0.79
+ pyo3-build-config@0.21.0
+ pyo3-ffi@0.21.0
+ pyo3-macros-backend@0.21.0
+ pyo3-macros@0.21.0
+ pyo3@0.21.0
+ quote@1.0.35
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ redox_syscall@0.4.1
+ scopeguard@1.2.0
+ serde@1.0.197
+ serde_derive@1.0.197
+ siphasher@0.3.11
+ smallvec@1.13.2
+ string_cache@0.8.7
+ string_cache_codegen@0.5.2
+ syn@2.0.55
+ target-lexicon@0.12.14
+ tendril@0.4.3
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ unicode-bidi@0.3.15
+ unicode-ident@1.0.12
+ unicode-normalization@0.1.23
+ unindent@0.2.3
+ url@2.5.0
+ utf-8@0.7.6
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+"
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+# py3.13: https://github.com/messense/nh3/issues/45
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Ammonia HTML sanitizer Python binding"
+HOMEPAGE="
+ https://github.com/messense/nh3/
+ https://pypi.org/project/nh3/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+distutils_enable_tests pytest
+
+# Rust
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/nh3/nh3.*.so"
diff --git a/dev-python/nh3/nh3-0.2.18.ebuild b/dev-python/nh3/nh3-0.2.18.ebuild
new file mode 100644
index 000000000000..eccc41107a6a
--- /dev/null
+++ b/dev-python/nh3/nh3-0.2.18.ebuild
@@ -0,0 +1,113 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+ ammonia@4.0.0
+ autocfg@1.3.0
+ bitflags@2.6.0
+ cfg-if@1.0.0
+ form_urlencoded@1.2.1
+ futf@0.1.5
+ getrandom@0.2.15
+ heck@0.5.0
+ html5ever@0.27.0
+ idna@0.5.0
+ indoc@2.0.5
+ libc@0.2.155
+ lock_api@0.4.12
+ log@0.4.22
+ mac@0.1.1
+ maplit@1.0.2
+ markup5ever@0.12.1
+ memoffset@0.9.1
+ new_debug_unreachable@1.0.6
+ once_cell@1.19.0
+ parking_lot@0.12.3
+ parking_lot_core@0.9.10
+ percent-encoding@2.3.1
+ phf@0.11.2
+ phf_codegen@0.11.2
+ phf_generator@0.10.0
+ phf_generator@0.11.2
+ phf_shared@0.10.0
+ phf_shared@0.11.2
+ portable-atomic@1.6.0
+ ppv-lite86@0.2.17
+ precomputed-hash@0.1.1
+ proc-macro2@1.0.86
+ pyo3-build-config@0.22.0
+ pyo3-ffi@0.22.0
+ pyo3-macros-backend@0.22.0
+ pyo3-macros@0.22.0
+ pyo3@0.22.0
+ quote@1.0.36
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ redox_syscall@0.5.2
+ scopeguard@1.2.0
+ serde@1.0.204
+ serde_derive@1.0.204
+ siphasher@0.3.11
+ smallvec@1.13.2
+ string_cache@0.8.7
+ string_cache_codegen@0.5.2
+ syn@2.0.69
+ target-lexicon@0.12.14
+ tendril@0.4.3
+ tinyvec@1.7.0
+ tinyvec_macros@0.1.1
+ unicode-bidi@0.3.15
+ unicode-ident@1.0.12
+ unicode-normalization@0.1.23
+ unindent@0.2.3
+ url@2.5.2
+ utf-8@0.7.6
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.52.6
+ windows_aarch64_gnullvm@0.52.6
+ windows_aarch64_msvc@0.52.6
+ windows_i686_gnu@0.52.6
+ windows_i686_gnullvm@0.52.6
+ windows_i686_msvc@0.52.6
+ windows_x86_64_gnu@0.52.6
+ windows_x86_64_gnullvm@0.52.6
+ windows_x86_64_msvc@0.52.6
+"
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Ammonia HTML sanitizer Python binding"
+HOMEPAGE="
+ https://github.com/messense/nh3/
+ https://pypi.org/project/nh3/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests pytest
+
+# Rust
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/nh3/nh3.*.so"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # force unstable ABI to workaround stable ABI crash in py3.13
+ # https://github.com/PyO3/pyo3/issues/4311
+ sed -i -e 's:"abi3-py37",::' Cargo.toml || die
+ export UNSAFE_PYO3_SKIP_VERSION_CHECK=1
+}
diff --git a/dev-python/node-semver/node-semver-0.9.0.ebuild b/dev-python/node-semver/node-semver-0.9.0.ebuild
index 856d197a5729..d64ea12459d7 100644
--- a/dev-python/node-semver/node-semver-0.9.0.ebuild
+++ b/dev-python/node-semver/node-semver-0.9.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/nodeenv/Manifest b/dev-python/nodeenv/Manifest
index f10fe25c830c..bfa3c2fa37ce 100644
--- a/dev-python/nodeenv/Manifest
+++ b/dev-python/nodeenv/Manifest
@@ -1 +1 @@
-DIST nodeenv-1.8.0.gh.tar.gz 36750 BLAKE2B e75217bb0c468649cbc29688f29d62450008816fb07e4decf1b28dada8b820c2d6f70eb65444e06a8c64b8a816c0cc98f7d179e770eaefe93e87c0cda05e1f85 SHA512 96dce219e00d3837b2b0083af9fe6d94ed4e3cd029e3da564263ad8656dcb9c52440c2df6a6954095e5cacd03e44437f08695603dea82c28122713045183014f
+DIST nodeenv-1.9.1.gh.tar.gz 37158 BLAKE2B 73cdc56f7e8b55b8f0f6a4ab20fe91957f2ed40c6f58b9f17b13fbadc1f15305566018ffe7731dd930560f6d46ba67572bd4bb4bf4ba0419fd54760bac909dd0 SHA512 28fa814b57323dd996764d754f9c614c9dfd668c85ab21c23d0f9aeebb669ba3933f7b0b9ccbf0c808b5f15783eb3afdf3801f293952f3c4945729dee6ecb20b
diff --git a/dev-python/nodeenv/files/nodeenv-1.9.0-which-hunt.patch b/dev-python/nodeenv/files/nodeenv-1.9.0-which-hunt.patch
new file mode 100644
index 000000000000..3da27677bc07
--- /dev/null
+++ b/dev-python/nodeenv/files/nodeenv-1.9.0-which-hunt.patch
@@ -0,0 +1,39 @@
+From e3572d266d9b42affc1335e092e461709b29cdea Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Fri, 31 May 2024 17:59:30 +0200
+Subject: [PATCH] Replace additional use of `which(1)` with `shutil.which()`
+
+Replace the remaining use of external `which(1)` tool with
+`shutil.which()` from the standard Python library, finally removing
+the dependency on a third party package.
+
+This is a followup to 1024f4f64ceabd612b4df9a0b9dbe2691b2f5f9d.
+---
+ nodeenv.py | 10 +++-------
+ 1 file changed, 3 insertions(+), 7 deletions(-)
+
+diff --git a/nodeenv.py b/nodeenv.py
+index bbc19fb..a41cd5d 100644
+--- a/nodeenv.py
++++ b/nodeenv.py
+@@ -930,14 +930,10 @@ def install_activate(env_dir, args):
+ prompt = args.prompt or '(%s)' % os.path.basename(os.path.abspath(env_dir))
+
+ if args.node == "system":
+- env = os.environ.copy()
+- env.update({'PATH': remove_env_bin_from_path(env['PATH'], bin_dir)})
++ path_var = remove_env_bin_from_path(os.environ['PATH'], bin_dir)
+ for candidate in ("nodejs", "node"):
+- which_node_output, _ = subprocess.Popen(
+- ["which", candidate],
+- stdout=subprocess.PIPE, env=env).communicate()
+- shim_node = clear_output(which_node_output)
+- if shim_node:
++ shim_node = shutil.which(candidate, path=path_var)
++ if shim_node is not None:
+ break
+ assert shim_node, "Did not find nodejs or node system executable"
+
+--
+2.45.1
+
diff --git a/dev-python/nodeenv/metadata.xml b/dev-python/nodeenv/metadata.xml
index abb9f5193a88..806ae4a888cb 100644
--- a/dev-python/nodeenv/metadata.xml
+++ b/dev-python/nodeenv/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>monsieurp@gentoo.org</email>
- <name>Patrice Clement</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">ekalinin/nodeenv</remote-id>
<remote-id type="pypi">nodeenv</remote-id>
diff --git a/dev-python/nodeenv/nodeenv-1.8.0.ebuild b/dev-python/nodeenv/nodeenv-1.8.0.ebuild
deleted file mode 100644
index 47f871fe3f53..000000000000
--- a/dev-python/nodeenv/nodeenv-1.8.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Node.js virtual environment builder"
-HOMEPAGE="
- https://github.com/ekalinin/nodeenv/
- https://pypi.org/project/nodeenv/
-"
-SRC_URI="
- https://github.com/ekalinin/nodeenv/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~hppa ~ppc ~ppc64 x86"
-
-# requires network access
-RESTRICT="test"
-PROPERTIES="test_network"
-
-# See https://github.com/ekalinin/nodeenv/issues/333 for which.
-RDEPEND="
- sys-apps/which
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/nodeenv/nodeenv-1.9.1.ebuild b/dev-python/nodeenv/nodeenv-1.9.1.ebuild
new file mode 100644
index 000000000000..332e593b8bff
--- /dev/null
+++ b/dev-python/nodeenv/nodeenv-1.9.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Node.js virtual environment builder"
+HOMEPAGE="
+ https://github.com/ekalinin/nodeenv/
+ https://pypi.org/project/nodeenv/
+"
+SRC_URI="
+ https://github.com/ekalinin/nodeenv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~hppa ~ppc ~ppc64 x86"
+
+# requires network access
+RESTRICT="test"
+PROPERTIES="test_network"
+
+PATCHES=(
+ # https://github.com/ekalinin/nodeenv/pull/355
+ "${FILESDIR}/${PN}-1.9.0-which-hunt.patch"
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/noiseprotocol/noiseprotocol-0.3.1.ebuild b/dev-python/noiseprotocol/noiseprotocol-0.3.1.ebuild
index 0f9742d4f45a..cb922098b8e0 100644
--- a/dev-python/noiseprotocol/noiseprotocol-0.3.1.ebuild
+++ b/dev-python/noiseprotocol/noiseprotocol-0.3.1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/nose/Manifest b/dev-python/nose/Manifest
deleted file mode 100644
index f3e9898480d9..000000000000
--- a/dev-python/nose/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nose-1.3.7_p20221026.gh.tar.gz 325421 BLAKE2B 3762e1703a6a9c90d1569d21efa9ba100f52a8b3660022694133a763d995e19a6eef2398f5013b4827e4c334a2d5e3cd14a9704a50cd822c2d554a0ed6008f2c SHA512 3cb97b58525bee0cf88328ba865dc039bf3b76c56b4b42dd9dcf68f7b7585a91fb7e9b0c419668eccc0e242b2bcbb77eb197a0954ee9ad50051ef3af1a81dac3
diff --git a/dev-python/nose/metadata.xml b/dev-python/nose/metadata.xml
deleted file mode 100644
index 554766d8e7d1..000000000000
--- a/dev-python/nose/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">nose</remote-id>
- <remote-id type="github">nose-devs/nose</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/nose/nose-1.3.7_p20221026.ebuild b/dev-python/nose/nose-1.3.7_p20221026.ebuild
deleted file mode 100644
index de12a5102c63..000000000000
--- a/dev-python/nose/nose-1.3.7_p20221026.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-EGIT_COMMIT="8def1b4dcf2ef6b4a34bffdfacea0018a78b06b6"
-DESCRIPTION="Unittest extension with automatic test suite discovery and easy test authoring"
-HOMEPAGE="
- https://pypi.org/project/nose/
- https://nose.readthedocs.io/en/latest/
- https://github.com/nose-devs/nose
-"
-SRC_URI="
- https://github.com/arthurzam/nose/archive/${EGIT_COMMIT}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${PN}-${EGIT_COMMIT}"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="examples test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- !hppa? ( dev-python/coverage[${PYTHON_USEDEP}] )
- ' python3_{8..10} pypy3)
- $(python_gen_cond_dep '
- dev-python/twisted[${PYTHON_USEDEP}]
- ' python3_{8..10})
- )
-"
-
-src_prepare() {
- # failing to find configuration file
- sed -e 's/test_cover_options_config_file/_&/' \
- -i unit_tests/test_cover_plugin.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- "${EPYTHON}" -m nose -v -a "!network" ||
- die "Tests fail with ${EPYTHON}"
-}
-
-src_install() {
- distutils-r1_src_install
- use examples && dodoc -r examples
-}
diff --git a/dev-python/nose2/Manifest b/dev-python/nose2/Manifest
index 4430f9371da3..5e9f3effe597 100644
--- a/dev-python/nose2/Manifest
+++ b/dev-python/nose2/Manifest
@@ -1 +1 @@
-DIST nose2-0.14.0.gh.tar.gz 159460 BLAKE2B c72f939f597eead3a5d8be995fc4ae1988a0c76f5599dc9e040780520055aa1002d2d93f35527e56f90609d2f4ef560161bbf695bb3751cac71007dfbd06c522 SHA512 ed6b245bc57b63b011883f42dbda8b2797504afa02a102c43f4e7d3c6cbfcf7e8babca23f9341c7681b75dae12c2d269ea65a583c18d4d15b999df081fc0247b
+DIST nose2-0.15.1.tar.gz 169809 BLAKE2B a3ae7c3036fc50851f8cc47df3c5677a1d2333a664802aa03af16c2f600366b5b51b2f6ad6c0953977edf3d63b7e5ac593f2f1ce26382256a6b81680cba7e39b SHA512 118b1144369b72c6af4153b866d19253b31cb019407f8c4b9f80461b105be8851be7b6524a822da8ddca039f733510b5e5d7871608195d0fb8d7be9de1938762
diff --git a/dev-python/nose2/nose2-0.14.0.ebuild b/dev-python/nose2/nose2-0.14.0.ebuild
deleted file mode 100644
index ec1fb10c817a..000000000000
--- a/dev-python/nose2/nose2-0.14.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Unittest with plugins"
-HOMEPAGE="
- https://github.com/nose-devs/nose2/
- https://pypi.org/project/nose2/
-"
-SRC_URI="
- https://github.com/nose-devs/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ppc ppc64 ~sparc x86"
-
-RDEPEND="
- >=dev-python/coverage-4.4.1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx-rtd-theme \
- dev-python/sphinx-issues
-
-python_test() {
- "${EPYTHON}" -m nose2.__main__ -vv || die "tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/nose2/nose2-0.15.1.ebuild b/dev-python/nose2/nose2-0.15.1.ebuild
new file mode 100644
index 000000000000..8f28ff9cffb5
--- /dev/null
+++ b/dev-python/nose2/nose2-0.15.1.ebuild
@@ -0,0 +1,31 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Unittest with plugins"
+HOMEPAGE="
+ https://github.com/nose-devs/nose2/
+ https://pypi.org/project/nose2/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ppc ppc64 ~sparc x86"
+
+RDEPEND="
+ >=dev-python/coverage-4.4.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme \
+ dev-python/sphinx-issues
+
+python_test() {
+ "${EPYTHON}" -m nose2.__main__ -vv || die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/noseofyeti/Manifest b/dev-python/noseofyeti/Manifest
new file mode 100644
index 000000000000..1a0fd91a15e3
--- /dev/null
+++ b/dev-python/noseofyeti/Manifest
@@ -0,0 +1 @@
+DIST noseofyeti-2.4.9.tar.gz 35853 BLAKE2B d0c22bd6ea0cc41b1034dcfe397d2de72284630523a9210bb7c7290a0dd86414876e2c9c6ac3e63cd640eeb72bfed4617feea467f1a983bfd35f2f4239e28452 SHA512 2f6ff27fe08c91957d6c2f6dfea7fb4eba268245fc4444991799a2a102d616e536dcf49099c31962e8c8106564e8545edc1d2238a1a76278e0929d6387117bac
diff --git a/dev-python/noseofyeti/metadata.xml b/dev-python/noseofyeti/metadata.xml
new file mode 100644
index 000000000000..c74af1cdd5de
--- /dev/null
+++ b/dev-python/noseofyeti/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">delfick/nose-of-yeti</remote-id>
+ <remote-id type="pypi">noseOfYeti</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/noseofyeti/noseofyeti-2.4.9-r1.ebuild b/dev-python/noseofyeti/noseofyeti-2.4.9-r1.ebuild
new file mode 100644
index 000000000000..e8f0f68040aa
--- /dev/null
+++ b/dev-python/noseofyeti/noseofyeti-2.4.9-r1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A custom python codec that provides an RSpec style dsl for python"
+HOMEPAGE="
+ https://github.com/delfick/nose-of-yeti/
+ https://pypi.org/project/noseOfYeti/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+BDEPEND="
+ test? (
+ dev-python/black[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires alt-pytest-asyncio
+ tests/test_using_pytest.py::TestPyTest::test_it_collects_tests_correctly
+)
+
+src_install() {
+ distutils-r1_src_install
+ # delete the black .pth thingy, it breaks building CPython (sigh!)
+ find "${ED}" -name '*.pth' -delete || die
+}
diff --git a/dev-python/notebook-shim/Manifest b/dev-python/notebook-shim/Manifest
index d0da0f05cc7e..eb2676e75c71 100644
--- a/dev-python/notebook-shim/Manifest
+++ b/dev-python/notebook-shim/Manifest
@@ -1 +1 @@
-DIST notebook_shim-0.2.3.tar.gz 13082 BLAKE2B 5e988605ee01a49f31bf2dcdbe86d2f8e12f3e314d962f619068c57b13ed144643db1b08d5afed7a91ddfcde82497e49fe643d9fdd1c43a9535d7468794dfe7e SHA512 87114ea915ab5160b11023dddcc622aafba315fe07de21cedbed1e374ec2406eba378575e903377dbb9cc69e7449eb184cb0420513b7dc05078af0e91bc5f884
+DIST notebook_shim-0.2.4.tar.gz 13167 BLAKE2B ae1dbd61c38c569f411698a8ef2c5b48fed186b9a3c661aefdf276cc241e446e3a964b46daedb4b4e66d02bf62f489a659d654b5874a0bd604bd635eb98214b3 SHA512 74b43e39b39ce91ee8ec2c4da2915fb7accc0992730fa4c9a6ef5037327afd5393ab11f576dd21033769ace3e5f0d44b9d6de76da0d3cd147064739b67b50719
diff --git a/dev-python/notebook-shim/notebook-shim-0.2.3.ebuild b/dev-python/notebook-shim/notebook-shim-0.2.3.ebuild
deleted file mode 100644
index 8b58230e85aa..000000000000
--- a/dev-python/notebook-shim/notebook-shim-0.2.3.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 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="A shim layer for notebook traits and config"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/notebook_shim/
- https://pypi.org/project/notebook-shim/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
- >=dev-python/jupyter-server-1.8[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/pytest-tornasync[${PYTHON_USEDEP}]
- dev-python/pytest-jupyter[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_tornasync.plugin
-}
-
-src_install() {
- distutils-r1_src_install
- mv "${ED}/usr/etc" "${ED}/etc" || die
-}
diff --git a/dev-python/notebook-shim/notebook-shim-0.2.4.ebuild b/dev-python/notebook-shim/notebook-shim-0.2.4.ebuild
new file mode 100644
index 000000000000..7a3fd71d7e03
--- /dev/null
+++ b/dev-python/notebook-shim/notebook-shim-0.2.4.ebuild
@@ -0,0 +1,44 @@
+# 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="A shim layer for notebook traits and config"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/notebook_shim/
+ https://pypi.org/project/notebook-shim/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-1.8[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ dev-python/pytest-jupyter[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_tornasync.plugin
+}
+
+src_install() {
+ distutils-r1_src_install
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
diff --git a/dev-python/notebook/Manifest b/dev-python/notebook/Manifest
index b656c00f49d4..4d38801a4682 100644
--- a/dev-python/notebook/Manifest
+++ b/dev-python/notebook/Manifest
@@ -1 +1 @@
-DIST notebook-7.0.6.tar.gz 3930144 BLAKE2B 488689b34b61c37f2233d57d6ef75b3bf843e2340846e88593a6b49d88fc52f908126d2e718808451df1f8cc6f9a5624adef47c1ae4984cd2ff5ed535d47cb37 SHA512 9f9ac4fae93af425a442c25c8a601578a76c802cc50018a6ff6ef99fbabfe3fb649094625dbdda2b7c526cb7262d2c463745b006d35cc1834d40712f3820895b
+DIST notebook-7.2.1.tar.gz 4946671 BLAKE2B 2f78c497b1527c29a911fd0a057df41f3e522e426e3eae940d9adea9f1df982b14c5bb61210357dfc271df51d2534f97408790bffb4e02ff2f12b33769f9836e SHA512 e11415139a21a7dd8692673c2011d11621881cd4b99f69de5f32c23161734b1620560f57654b2e57177cb3ba01152bb76e0c9f79c2f7924b0d8424c21c219677
diff --git a/dev-python/notebook/notebook-7.0.6.ebuild b/dev-python/notebook/notebook-7.0.6.ebuild
deleted file mode 100644
index 602f6a2bb0f1..000000000000
--- a/dev-python/notebook/notebook-7.0.6.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 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 pypi xdg-utils
-
-DESCRIPTION="Jupyter Interactive Notebook"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/notebook/
- https://pypi.org/project/notebook/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/jupyter-server-2.4.0[${PYTHON_USEDEP}]
- <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
- >=dev-python/jupyterlab-4.0.2[${PYTHON_USEDEP}]
- <dev-python/jupyterlab-5[${PYTHON_USEDEP}]
- >=dev-python/notebook-shim-0.2[${PYTHON_USEDEP}]
- <dev-python/notebook-shim-0.3[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.2.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/nbval[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/requests-unixsocket[${PYTHON_USEDEP}]
- dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
- dev-python/pytest-jupyter[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pytest-tornasync[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_install_all() {
- distutils-r1_python_install_all
- mv "${ED}/usr/etc" "${ED}/etc" || die
-}
-
-pkg_postinst() {
- xdg_desktop_database_update
- xdg_icon_cache_update
-}
-
-pkg_postrm() {
- xdg_desktop_database_update
- xdg_icon_cache_update
-}
diff --git a/dev-python/notebook/notebook-7.2.1.ebuild b/dev-python/notebook/notebook-7.2.1.ebuild
new file mode 100644
index 000000000000..bd0953b1d6a0
--- /dev/null
+++ b/dev-python/notebook/notebook-7.2.1.ebuild
@@ -0,0 +1,64 @@
+# 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 pypi xdg-utils
+
+DESCRIPTION="Jupyter Interactive Notebook"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/notebook/
+ https://pypi.org/project/notebook/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/jupyter-server-2.4.0[${PYTHON_USEDEP}]
+ <dev-python/jupyter-server-3[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-4.2.0[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-4.3[${PYTHON_USEDEP}]
+ >=dev-python/jupyterlab-server-2.27.1[${PYTHON_USEDEP}]
+ <dev-python/jupyterlab-server-3[${PYTHON_USEDEP}]
+ >=dev-python/notebook-shim-0.2[${PYTHON_USEDEP}]
+ <dev-python/notebook-shim-0.3[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.2.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/hatch-jupyter-builder[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/nbval[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-unixsocket[${PYTHON_USEDEP}]
+ dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
+ dev-python/pytest-jupyter[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-tornasync[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_install_all() {
+ distutils-r1_python_install_all
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
+
+pkg_postinst() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
+
+pkg_postrm() {
+ xdg_desktop_database_update
+ xdg_icon_cache_update
+}
diff --git a/dev-python/notify2/notify2-0.3.1-r3.ebuild b/dev-python/notify2/notify2-0.3.1-r3.ebuild
index 1ce93e8a0361..6243bfde66de 100644
--- a/dev-python/notify2/notify2-0.3.1-r3.ebuild
+++ b/dev-python/notify2/notify2-0.3.1-r3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 virtualx pypi
diff --git a/dev-python/nox/Manifest b/dev-python/nox/Manifest
index ed0a28875abd..2b683a9536d3 100644
--- a/dev-python/nox/Manifest
+++ b/dev-python/nox/Manifest
@@ -1 +1 @@
-DIST nox-2023.04.22.gh.tar.gz 3985377 BLAKE2B 7365141bf1c299f6e560dbf42a2927f98e5bf7121ed0dc1dbdc739de847caafdc0834fdc2f2473f20b97d25a4d1d01aced8400e85ec6c027494b8d93077d9a0b SHA512 7425588b0ae87d66211a4fec1d204122a2adb114ddca866d2e66e1caff930f593af1540e5c88806894400ea8aba92037d3f458a98df05d6ac70662705426ee6e
+DIST nox-2024.04.15.gh.tar.gz 4001096 BLAKE2B 22a332afe499811be23876760e33be60dac200b686aa19fb7fe7b92315e2681f874a4c175419e3b4dc9eb709bb98821a99d3a7bf2d7dfa756894e5d1265e46e7 SHA512 99143b4c372e40c5b436ef786e72582eae3182513e9763cb76eb123dcb4d16de8b0585a21119c3513fe9aae4bb6d9d19b16f3129a42f3addf2878e6e7f044ebb
diff --git a/dev-python/nox/nox-2023.04.22.ebuild b/dev-python/nox/nox-2023.04.22.ebuild
deleted file mode 100644
index 8ee0c234be44..000000000000
--- a/dev-python/nox/nox-2023.04.22.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2023 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
-
-DESCRIPTION="Flexible test automation for Python"
-HOMEPAGE="
- https://github.com/wntrblm/nox/
- https://pypi.org/project/nox/
-"
-SRC_URI="
- https://github.com/wntrblm/nox/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/argcomplete-1.9.4[${PYTHON_USEDEP}]
- >=dev-python/colorlog-2.6.1[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.9[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-14[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/py[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # broken with >=dev-python/tox-4
- # https://github.com/wntrblm/nox/issues/673
- rm nox/tox_to_nox.* tests/test_tox_to_nox.py || die
- sed -i -e '/tox-to-nox/d' pyproject.toml || die
- # remove upper bounds from dependencies
- sed -i -e 's:<[0-9.]*,::' pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/nox/nox-2024.04.15.ebuild b/dev-python/nox/nox-2024.04.15.ebuild
new file mode 100644
index 000000000000..160adc8eb3e0
--- /dev/null
+++ b/dev-python/nox/nox-2024.04.15.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Flexible test automation for Python"
+HOMEPAGE="
+ https://github.com/wntrblm/nox/
+ https://pypi.org/project/nox/
+"
+SRC_URI="
+ https://github.com/wntrblm/nox/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/argcomplete-1.9.4[${PYTHON_USEDEP}]
+ >=dev-python/colorlog-2.6.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.9[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.14.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/py[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # remove upper bounds from dependencies
+ sed -i -e 's:<[0-9.]*,::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: conda?
+ 'tests/test_sessions.py::TestSessionRunner::test__create_venv_options[nox.virtualenv.CondaEnv.create-conda-CondaEnv]'
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # hardcoded CPython assumption
+ tests/test_tox_to_nox.py::test_skipinstall
+ tests/test_tox_to_nox.py::test_trivial
+ tests/test_tox_to_nox.py::test_usedevelop
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o tmp_path_retention_policy=all
+}
diff --git a/dev-python/nspektr/Manifest b/dev-python/nspektr/Manifest
deleted file mode 100644
index e2dd3e00efe0..000000000000
--- a/dev-python/nspektr/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST nspektr-0.5.0.tar.gz 8573 BLAKE2B a96aaaee5cd309272d5b0c78eaf9793baf1406e427a142595b67693d513d5badac064149587c02cdf02cdd7720fafeb2787fc98a9db79cc573e77d6158afd4d4 SHA512 b7293a6ccb34a5c4b87a9b28de170322296adf2d883e7671df05ac06453023190ed588eb8e1677b7c5383b6fc5962c079d363ebb214ebb9f8516cfd2039e6167
diff --git a/dev-python/nspektr/metadata.xml b/dev-python/nspektr/metadata.xml
deleted file mode 100644
index 65c8f4e628fc..000000000000
--- a/dev-python/nspektr/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">jaraco/nspektr</remote-id>
- <remote-id type="pypi">nspektr</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/nspektr/nspektr-0.5.0.ebuild b/dev-python/nspektr/nspektr-0.5.0.ebuild
deleted file mode 100644
index c48603b4592f..000000000000
--- a/dev-python/nspektr/nspektr-0.5.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
-EAPI=7
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Distribution package dependency inspector"
-HOMEPAGE="
- https://github.com/jaraco/nspektr/
- https://pypi.org/project/nspektr/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- >=dev-python/jaraco-context-4.1.1-r2[${PYTHON_USEDEP}]
- >=dev-python/jaraco-functools-3.5.0-r2[${PYTHON_USEDEP}]
- >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3-r2[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_configure() {
- grep -q 'build-backend = "setuptools' pyproject.toml ||
- die "Upstream changed build-backend, recheck"
- # write a custom pyproject.toml to ease setuptools bootstrap
- cat > pyproject.toml <<-EOF || die
- [build-system]
- requires = ["flit_core >=3.2,<4"]
- build-backend = "flit_core.buildapi"
-
- [project]
- name = "nspektr"
- version = "${PV}"
- description = "package inspector"
-
- # tests inspect itself
- [project.optional-dependencies]
- docs = [
- "fake-nonexisting",
- ]
- testing = [
- "pytest",
- ]
- EOF
-}
diff --git a/dev-python/ntplib/ntplib-0.4.0-r1.ebuild b/dev-python/ntplib/ntplib-0.4.0-r1.ebuild
index cda2e14cd3b1..aaf688816f87 100644
--- a/dev-python/ntplib/ntplib-0.4.0-r1.ebuild
+++ b/dev-python/ntplib/ntplib-0.4.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/numexpr/Manifest b/dev-python/numexpr/Manifest
index 1a4a8abb1c00..171cb845744f 100644
--- a/dev-python/numexpr/Manifest
+++ b/dev-python/numexpr/Manifest
@@ -1 +1,3 @@
-DIST numexpr-2.8.7.gh.tar.gz 118268 BLAKE2B eb4dec3a3fdf23617d499f4902022450de9b44fb99feff70b35443fb1797d3d0de31ae44841056651969a6ec4c47a1f1e060ac04b513b857fb47ccb82e04d677 SHA512 979b9df2bbb32b8f79aec0bb5b94e86c3d13c546aea7c9d81da76ab94fe93db0927dff16e497f4521f0c10df0243553ba6ee3f3b692493faac9a14f658044113
+DIST numexpr-2.10.0.gh.tar.gz 119045 BLAKE2B b049ca51ef2fbdac4965d750d88c33b8c912280ac0e8b8039dea69e08f4bb4fde3003400fa64872b9145d7dfac98970d3ffbd05318d40399d4d9436480b50cfd SHA512 dfbad48a3e71dc1c6a618e7b62e9f8efe30b547935934e614df98c3134cbe00dee4f4515c6090d2f1a563f57b200ad806b861751ba1043aff43b07a0450baa11
+DIST numexpr-2.10.1.gh.tar.gz 119668 BLAKE2B 9b6255831b2512eb14c9eb1ef41cd0c90984c74d0555bc17e0d85c9a18ba12ab0d58fef84b650c8c5be648201e298883bca9f51cdf1ff5270a841843e738ab2e SHA512 8d98b08db6ad9872c18384c49b961321560f7612c75eceb1691b40802ba165c491ae170ac005ad854f140f40e5a40dbb0dbda5377d5b561b6e61afbbafc8d284
+DIST numexpr-2.9.0.gh.tar.gz 118463 BLAKE2B 04904a6faaff713b9775dc3601fcfc963b9bea5bc24e1d2ca21f0123d7dca8d088abef9b8da09195e9bf9fb6a4ff3b2bee0f75dbc5b40e174803cb726d8b1f31 SHA512 9d7319a872228faea845fbc8c2b85b5f9e941eb2e1308711835bdba37fce65543a23ad483b92e28c33b3eb341f2f7d75b760a0827ae63782fac573a65efdedb0
diff --git a/dev-python/numexpr/numexpr-2.10.0-r1.ebuild b/dev-python/numexpr/numexpr-2.10.0-r1.ebuild
new file mode 100644
index 000000000000..5fb449524d53
--- /dev/null
+++ b/dev-python/numexpr/numexpr-2.10.0-r1.ebuild
@@ -0,0 +1,49 @@
+# 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="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Fast numerical array expression evaluator for Python and NumPy"
+HOMEPAGE="
+ https://github.com/pydata/numexpr/
+ https://pypi.org/project/numexpr/
+"
+SRC_URI="https://github.com/pydata/numexpr/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+
+DEPEND="
+ >=dev-python/numpy-2.0.0_rc:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ # broken with > 8 CPU threads?
+ # https://github.com/pydata/numexpr/issues/479
+ sed -e 's:test_numexpr_max_threads_empty_string:_&:' \
+ -e 's:test_omp_num_threads_empty_string:_&:' \
+ -i numexpr/tests/test_numexpr.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ pushd "${BUILD_DIR}/install/$(python_get_sitedir)" >/dev/null || die
+ "${EPYTHON}" - <<-EOF || die "Tests failed with ${EPYTHON}"
+ import sys,numexpr
+ sys.exit(0 if numexpr.test(verbosity=2).wasSuccessful() else 1)
+ EOF
+ pushd >/dev/null || die
+}
diff --git a/dev-python/numexpr/numexpr-2.10.1.ebuild b/dev-python/numexpr/numexpr-2.10.1.ebuild
new file mode 100644
index 000000000000..46550da59506
--- /dev/null
+++ b/dev-python/numexpr/numexpr-2.10.1.ebuild
@@ -0,0 +1,48 @@
+# 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..13} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Fast numerical array expression evaluator for Python and NumPy"
+HOMEPAGE="
+ https://github.com/pydata/numexpr/
+ https://pypi.org/project/numexpr/
+"
+SRC_URI="https://github.com/pydata/numexpr/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+
+DEPEND="
+ >=dev-python/numpy-2.0.0_rc:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ # broken with > 8 CPU threads?
+ # https://github.com/pydata/numexpr/issues/490
+ sed -e 's:test_max_threads_unset:_&:' \
+ -i numexpr/tests/test_numexpr.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ pushd "${BUILD_DIR}/install/$(python_get_sitedir)" >/dev/null || die
+ "${EPYTHON}" - <<-EOF || die "Tests failed with ${EPYTHON}"
+ import sys,numexpr
+ sys.exit(0 if numexpr.test(verbosity=2).wasSuccessful() else 1)
+ EOF
+ pushd >/dev/null || die
+}
diff --git a/dev-python/numexpr/numexpr-2.8.7.ebuild b/dev-python/numexpr/numexpr-2.8.7.ebuild
deleted file mode 100644
index fc5b7013cbbb..000000000000
--- a/dev-python/numexpr/numexpr-2.8.7.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Fast numerical array expression evaluator for Python and NumPy"
-HOMEPAGE="
- https://github.com/pydata/numexpr/
- https://pypi.org/project/numexpr/
-"
-SRC_URI="https://github.com/pydata/numexpr/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-
-DEPEND="
- >=dev-python/numpy-1.13.3[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${DEPEND}
- dev-python/packaging[${PYTHON_USEDEP}]
-"
-
-python_test() {
- pushd "${BUILD_DIR}/install/$(python_get_sitedir)" >/dev/null || die
- "${EPYTHON}" - <<-EOF || die "Tests failed with ${EPYTHON}"
- import sys,numexpr
- sys.exit(0 if numexpr.test().wasSuccessful() else 1)
- EOF
- pushd >/dev/null || die
-}
diff --git a/dev-python/numexpr/numexpr-2.9.0.ebuild b/dev-python/numexpr/numexpr-2.9.0.ebuild
new file mode 100644
index 000000000000..b70806755dd7
--- /dev/null
+++ b/dev-python/numexpr/numexpr-2.9.0.ebuild
@@ -0,0 +1,40 @@
+# 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="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Fast numerical array expression evaluator for Python and NumPy"
+HOMEPAGE="
+ https://github.com/pydata/numexpr/
+ https://pypi.org/project/numexpr/
+"
+SRC_URI="https://github.com/pydata/numexpr/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+
+DEPEND="
+ <dev-python/numpy-2[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.13.3[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ pushd "${BUILD_DIR}/install/$(python_get_sitedir)" >/dev/null || die
+ "${EPYTHON}" - <<-EOF || die "Tests failed with ${EPYTHON}"
+ import sys,numexpr
+ sys.exit(0 if numexpr.test().wasSuccessful() else 1)
+ EOF
+ pushd >/dev/null || die
+}
diff --git a/dev-python/numpy/Manifest b/dev-python/numpy/Manifest
index 434fc9bc0606..81f1ba9d45e6 100644
--- a/dev-python/numpy/Manifest
+++ b/dev-python/numpy/Manifest
@@ -1,2 +1,3 @@
-DIST numpy-1.26.1.tar.gz 15651806 BLAKE2B 2b7fe13675b6f11b8f19c2dc671c84418fa959f403ff32c15ae6da37ae8137d062bb47db0180031c90f54451d69d640ec4ebfad0a4eefb32afc55df45c6824ab SHA512 abe5919029fc66961e8f44fdd503b54c291ce75b0d95e3f8bb61ee39a25d62142fbece5734fd7e9cbf65511f9d746fa61796f0d68e6dc2816c0e7747e286e505
-DIST numpy-1.26.2.tar.gz 15664248 BLAKE2B 006e511e27c009f27bf4bf6c8c30c84a4bf0e8b1ff53f4e031089f28c1cfd168ec0d037952fe8f377f9a1d6e1ab642a84c095edeee5696b18053fd5cb7550586 SHA512 9986cd34dda921fbc152c3be0e39f003035787ea1e055452b9259d02c423d413080a0c7e4e19fd38d9e28f66d428719d6ebe784c24ae17249ff56494950daf4b
+DIST numpy-1.26.4.tar.gz 15786129 BLAKE2B ee759d3a857111bc494d5e989a7b005375d942b2a89cda69be4a3bd7c6cb195003fd2a8a0535f1858d8977ff688b0ec36360dcba9c3160206eedce5e28f191ef SHA512 f7121ab4099fa0686f9c095d456baa4a5869d651d7b7a06385f885f329cf08f11024b5df5e7b4ee705970062a8102ec4f709512eabbfd5c9fccce4ef83b9c208
+DIST numpy-2.0.0.tar.gz 18326228 BLAKE2B e3d1084b79e0e55cd9087bb34dc116e6c9d6ab14a416a07f727b9f5d5a9db236ecf74a53b7e758d078781c5e565e5557912962f2ddbfff7251ec5b231fabe01d SHA512 cd5612ce2db4be87afa8479c508c256c9ff7f1b15a6b010eb06ba962759cc26552b512ec82711680bab1ebedeb06dfc8d7bff9cec63c94efacaadd719448b287
+DIST numpy-2.0.1.tar.gz 18872007 BLAKE2B dd1d4658466057892f10cdc29a764b324dbf5ef800b8e9781ce7131935d12ddefbc9fa691021cc06a7efd5ec5874113e6f1d5616eb1a7a833c0f63a0e7a5e534 SHA512 4f638c17b44317b0000000b729726a5a4e9519af11d254b0e2daf32c6ff0cfdd56723a9cbee67c9145088f429f1f0cce79240f968211c2fb5ac08378e86dccfe
diff --git a/dev-python/numpy/files/numpy-1.26.1-alpha.patch b/dev-python/numpy/files/numpy-1.26.1-alpha.patch
deleted file mode 100644
index a0b2ca2eda91..000000000000
--- a/dev-python/numpy/files/numpy-1.26.1-alpha.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-https://bugs.gentoo.org/909738
-https://github.com/numpy/numpy/pull/25078
-
-commit 43aaf2093d8dfb3c1fea5d409ea4aa1d0f77816f
-Author: matoro <matoro@users.noreply.github.com>
-Date: Mon Nov 6 10:21:32 2023 -0500
-
- BUG: alpha doesn't use REAL(10)
-
- Same as e.g. loongarch per gh-24904. At this point seems like it should
- be more of an exclude list than an include one...
-
-diff --git a/numpy/f2py/crackfortran.py b/numpy/f2py/crackfortran.py
-index f352bbaa2..d17b052f9 100755
---- a/numpy/f2py/crackfortran.py
-+++ b/numpy/f2py/crackfortran.py
-@@ -2452,7 +2452,7 @@ def _selected_real_kind_func(p, r=0, radix=0):
- if p < 16:
- return 8
- machine = platform.machine().lower()
-- if machine.startswith(('aarch64', 'arm64', 'loongarch', 'power', 'ppc', 'riscv', 's390x', 'sparc')):
-+ if machine.startswith(('aarch64', 'alpha', 'arm64', 'loongarch', 'power', 'ppc', 'riscv', 's390x', 'sparc')):
- if p <= 33:
- return 16
- else:
diff --git a/dev-python/numpy/numpy-1.26.1.ebuild b/dev-python/numpy/numpy-1.26.1.ebuild
deleted file mode 100644
index 25c71df50516..000000000000
--- a/dev-python/numpy/numpy-1.26.1.ebuild
+++ /dev/null
@@ -1,160 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-FORTRAN_NEEDED=lapack
-
-inherit distutils-r1 flag-o-matic fortran-2 pypi toolchain-funcs
-
-DESCRIPTION="Fast array and numerical python library"
-HOMEPAGE="
- https://numpy.org/
- https://github.com/numpy/numpy/
- https://pypi.org/project/numpy/
-"
-
-LICENSE="BSD"
-SLOT="0"
-# +lapack because the internal fallbacks are pretty slow. Building without blas
-# is barely supported anyway, see bug #914358.
-IUSE="+lapack"
-if [[ ${PV} != *_[rab]* ]] ; then
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-fi
-
-RDEPEND="
- lapack? (
- >=virtual/cblas-3.8
- >=virtual/lapack-3.8
- )
-"
-BDEPEND="
- ${RDEPEND}
- >=dev-util/meson-1.1.0
- >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
- lapack? (
- virtual/pkgconfig
- )
- test? (
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
- ' 'python*')
- dev-python/charset-normalizer[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- )
-"
-PATCHES=( "${FILESDIR}/${PN}-1.26.1-alpha.patch" )
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- append-flags -fno-strict-aliasing
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- DISTUTILS_ARGS=(
- -Dallow-noblas=$(usex !lapack true false)
- -Dblas=$(usev lapack cblas)
- -Dlapack=$(usev lapack lapack)
- # TODO: cpu-* options
- )
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Very disk-and-memory-hungry
- lib/tests/test_io.py::TestSaveTxt::test_large_zip
- lib/tests/test_io.py::TestSavezLoad::test_closing_fid
- lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load
-
- # Precision problems
- core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals
-
- # Runs the whole test suite recursively, that's just crazy
- core/tests/test_mem_policy.py::test_new_policy
-
- typing/tests/test_typing.py
- # Uses huge amount of memory
- core/tests/test_mem_overlap.py
-
- # TODO: crashes
- lib/tests/test_histograms.py::TestHistogram::test_big_arrays
- )
-
- if use arm && [[ $(uname -m || echo "unknown") == "armv8l" ]] ; then
- # Degenerate case of arm32 chroot on arm64, bug #774108
- EPYTEST_DESELECT+=(
- core/tests/test_cpu_features.py::Test_ARM_Features::test_features
- )
- fi
-
- if use x86 ; then
- EPYTEST_DESELECT+=(
- # https://github.com/numpy/numpy/issues/18388
- core/tests/test_umath.py::TestRemainder::test_float_remainder_overflow
- # https://github.com/numpy/numpy/issues/18387
- random/tests/test_generator_mt19937.py::TestRandomDist::test_pareto
- # more precision problems
- core/tests/test_einsum.py::TestEinsum::test_einsum_sums_int16
- )
- fi
-
- if use hppa ; then
- EPYTEST_DESELECT+=(
- # TODO: Get selectedrealkind updated!
- # bug #907228
- # https://github.com/numpy/numpy/issues/3424 (https://github.com/numpy/numpy/issues/3424#issuecomment-412369029)
- # https://github.com/numpy/numpy/pull/21785
- f2py/tests/test_kind.py::TestKind::test_real
- f2py/tests/test_kind.py::TestKind::test_quad_precision
- )
- fi
-
- if [[ $(tc-endian) == "big" ]] ; then
- # https://github.com/numpy/numpy/issues/11831 and bug #707116
- EPYTEST_DESELECT+=(
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[s1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[t1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[s1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[t1]'
- f2py/tests/test_kind.py::TestKind::test_int
- )
- fi
-
- case "${ABI}" in
- alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
- EPYTEST_DESELECT+=(
- # too large for 32-bit platforms
- core/tests/test_ufunc.py::TestUfunc::test_identityless_reduction_huge_array
- 'core/tests/test_multiarray.py::TestDot::test_huge_vectordot[float64]'
- 'core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
- )
- ;;
- *)
- ;;
- esac
-
- if ! has_version -b "~${CATEGORY}/${P}[${PYTHON_USEDEP}]" ; then
- # depends on importing numpy.random from system namespace
- EPYTEST_DESELECT+=(
- 'random/tests/test_extending.py::test_cython'
- )
- fi
-
- rm -rf numpy || die
- epytest --pyargs numpy
-}
-
-python_install_all() {
- local DOCS=( LICENSE.txt README.md THANKS.txt )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/numpy/numpy-1.26.2.ebuild b/dev-python/numpy/numpy-1.26.2.ebuild
deleted file mode 100644
index 845d598fd604..000000000000
--- a/dev-python/numpy/numpy-1.26.2.ebuild
+++ /dev/null
@@ -1,169 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-FORTRAN_NEEDED=lapack
-
-inherit distutils-r1 flag-o-matic fortran-2 pypi toolchain-funcs
-
-DESCRIPTION="Fast array and numerical python library"
-HOMEPAGE="
- https://numpy.org/
- https://github.com/numpy/numpy/
- https://pypi.org/project/numpy/
-"
-
-LICENSE="BSD"
-SLOT="0"
-# +lapack because the internal fallbacks are pretty slow. Building without blas
-# is barely supported anyway, see bug #914358.
-IUSE="+lapack"
-if [[ ${PV} != *_[rab]* ]] ; then
- KEYWORDS="~alpha amd64 ~arm arm64 hppa ~ia64 ~loong ~m68k ~ppc ppc64 ~riscv ~s390 sparc ~x86"
-fi
-
-RDEPEND="
- lapack? (
- >=virtual/cblas-3.8
- >=virtual/lapack-3.8
- )
-"
-BDEPEND="
- ${RDEPEND}
- >=dev-util/meson-1.1.0
- >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
- lapack? (
- virtual/pkgconfig
- )
- test? (
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
- ' 'python*')
- dev-python/charset-normalizer[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}]
- >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
- )
-"
-PATCHES=( "${FILESDIR}/${PN}-1.26.1-alpha.patch" )
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- append-flags -fno-strict-aliasing
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- DISTUTILS_ARGS=(
- -Dallow-noblas=$(usex !lapack true false)
- -Dblas=$(usev lapack cblas)
- -Dlapack=$(usev lapack lapack)
- # TODO: cpu-* options
- )
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Very disk-and-memory-hungry
- lib/tests/test_io.py::TestSaveTxt::test_large_zip
- lib/tests/test_io.py::TestSavezLoad::test_closing_fid
- lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load
-
- # Precision problems
- core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals
-
- # Runs the whole test suite recursively, that's just crazy
- core/tests/test_mem_policy.py::test_new_policy
-
- typing/tests/test_typing.py
- # Uses huge amount of memory
- core/tests/test_mem_overlap.py
-
- # TODO: crashes
- lib/tests/test_histograms.py::TestHistogram::test_big_arrays
-
- # likely a test problem
- # https://github.com/numpy/numpy/issues/25135
- core/tests/test_cython.py::test_conv_intp
-
- # flaky
- f2py/tests/test_crackfortran.py
- f2py/tests/test_data.py::TestData{,F77}::test_crackedlines
- )
-
- if use arm && [[ $(uname -m || echo "unknown") == "armv8l" ]] ; then
- # Degenerate case of arm32 chroot on arm64, bug #774108
- EPYTEST_DESELECT+=(
- core/tests/test_cpu_features.py::Test_ARM_Features::test_features
- )
- fi
-
- if use x86 ; then
- EPYTEST_DESELECT+=(
- # https://github.com/numpy/numpy/issues/18388
- core/tests/test_umath.py::TestRemainder::test_float_remainder_overflow
- # https://github.com/numpy/numpy/issues/18387
- random/tests/test_generator_mt19937.py::TestRandomDist::test_pareto
- # more precision problems
- core/tests/test_einsum.py::TestEinsum::test_einsum_sums_int16
- )
- fi
-
- if use hppa ; then
- EPYTEST_DESELECT+=(
- # TODO: Get selectedrealkind updated!
- # bug #907228
- # https://github.com/numpy/numpy/issues/3424 (https://github.com/numpy/numpy/issues/3424#issuecomment-412369029)
- # https://github.com/numpy/numpy/pull/21785
- f2py/tests/test_kind.py::TestKind::test_real
- f2py/tests/test_kind.py::TestKind::test_quad_precision
- )
- fi
-
- if [[ $(tc-endian) == "big" ]] ; then
- # https://github.com/numpy/numpy/issues/11831 and bug #707116
- EPYTEST_DESELECT+=(
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[s1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[t1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[s1]'
- 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[t1]'
- f2py/tests/test_kind.py::TestKind::test_int
- )
- fi
-
- case "${ABI}" in
- alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
- EPYTEST_DESELECT+=(
- # too large for 32-bit platforms
- core/tests/test_ufunc.py::TestUfunc::test_identityless_reduction_huge_array
- 'core/tests/test_multiarray.py::TestDot::test_huge_vectordot[float64]'
- 'core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
- )
- ;;
- *)
- ;;
- esac
-
- if ! has_version -b "~${CATEGORY}/${P}[${PYTHON_USEDEP}]" ; then
- # depends on importing numpy.random from system namespace
- EPYTEST_DESELECT+=(
- 'random/tests/test_extending.py::test_cython'
- )
- fi
-
- rm -rf numpy || die
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest --pyargs numpy
-}
-
-python_install_all() {
- local DOCS=( LICENSE.txt README.md THANKS.txt )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/numpy/numpy-1.26.4.ebuild b/dev-python/numpy/numpy-1.26.4.ebuild
new file mode 100644
index 000000000000..36d602fc4380
--- /dev/null
+++ b/dev-python/numpy/numpy-1.26.4.ebuild
@@ -0,0 +1,180 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+FORTRAN_NEEDED=lapack
+
+inherit distutils-r1 flag-o-matic fortran-2 pypi toolchain-funcs
+
+DESCRIPTION="Fast array and numerical python library"
+HOMEPAGE="
+ https://numpy.org/
+ https://github.com/numpy/numpy/
+ https://pypi.org/project/numpy/
+"
+
+LICENSE="BSD"
+SLOT="0"
+# +lapack because the internal fallbacks are pretty slow. Building without blas
+# is barely supported anyway, see bug #914358.
+IUSE="+lapack"
+if [[ ${PV} != *_[rab]* ]] ; then
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+fi
+
+RDEPEND="
+ lapack? (
+ >=virtual/cblas-3.8
+ >=virtual/lapack-3.8
+ )
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-build/meson-1.1.0
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+ lapack? (
+ virtual/pkgconfig
+ )
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
+ ' 'python*')
+ dev-python/charset-normalizer[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # bug #922457
+ filter-lto
+ # https://github.com/numpy/numpy/issues/25004
+ append-flags -fno-strict-aliasing
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ DISTUTILS_ARGS=(
+ -Dallow-noblas=$(usex !lapack true false)
+ -Dblas=$(usev lapack cblas)
+ -Dlapack=$(usev lapack lapack)
+ # TODO: cpu-* options
+ )
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Very disk-and-memory-hungry
+ lib/tests/test_io.py::TestSaveTxt::test_large_zip
+ lib/tests/test_io.py::TestSavezLoad::test_closing_fid
+ lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load
+
+ # Precision problems
+ core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals
+
+ # Runs the whole test suite recursively, that's just crazy
+ core/tests/test_mem_policy.py::test_new_policy
+
+ typing/tests/test_typing.py
+ # Uses huge amount of memory
+ core/tests/test_mem_overlap.py
+ 'core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
+
+ # TODO: crashes
+ lib/tests/test_histograms.py::TestHistogram::test_big_arrays
+
+ # likely a test problem
+ # https://github.com/numpy/numpy/issues/25135
+ core/tests/test_cython.py::test_conv_intp
+
+ # flaky
+ f2py/tests/test_crackfortran.py
+ f2py/tests/test_data.py::TestData{,F77}::test_crackedlines
+ )
+
+ if use arm && [[ $(uname -m || echo "unknown") == "armv8l" ]] ; then
+ # Degenerate case of arm32 chroot on arm64, bug #774108
+ EPYTEST_DESELECT+=(
+ core/tests/test_cpu_features.py::Test_ARM_Features::test_features
+ )
+ fi
+
+ if use x86 ; then
+ EPYTEST_DESELECT+=(
+ # https://github.com/numpy/numpy/issues/18388
+ core/tests/test_umath.py::TestRemainder::test_float_remainder_overflow
+ # https://github.com/numpy/numpy/issues/18387
+ random/tests/test_generator_mt19937.py::TestRandomDist::test_pareto
+ # more precision problems
+ core/tests/test_einsum.py::TestEinsum::test_einsum_sums_int16
+ # https://github.com/numpy/numpy/issues/24548
+ f2py/tests/test_kind.py::TestKind::test_int
+ )
+ fi
+
+ if use ppc64 ; then
+ EPYTEST_DESELECT+=(
+ core/tests/test_cpu_features.py::TestEnvPrivation::test_impossible_feature_enable
+ )
+ fi
+
+ if use hppa ; then
+ EPYTEST_DESELECT+=(
+ # TODO: Get selectedrealkind updated!
+ # bug #907228
+ # https://github.com/numpy/numpy/issues/3424 (https://github.com/numpy/numpy/issues/3424#issuecomment-412369029)
+ # https://github.com/numpy/numpy/pull/21785
+ f2py/tests/test_kind.py::TestKind::test_real
+ f2py/tests/test_kind.py::TestKind::test_quad_precision
+ )
+ fi
+
+ if [[ $(tc-endian) == "big" ]] ; then
+ # https://github.com/numpy/numpy/issues/11831 and bug #707116
+ EPYTEST_DESELECT+=(
+ 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[s1]'
+ 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[t1]'
+ 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f90[s1]'
+ 'f2py/tests/test_return_character.py::TestFReturnCharacter::test_all_f77[t1]'
+ f2py/tests/test_kind.py::TestKind::test_int
+ )
+ fi
+
+ case "${ABI}" in
+ alpha|arm|hppa|m68k|o32|ppc|s390|sh|sparc|x86)
+ EPYTEST_DESELECT+=(
+ # too large for 32-bit platforms
+ core/tests/test_ufunc.py::TestUfunc::test_identityless_reduction_huge_array
+ 'core/tests/test_multiarray.py::TestDot::test_huge_vectordot[float64]'
+ 'core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
+ )
+ ;;
+ *)
+ ;;
+ esac
+
+ if ! has_version -b "~${CATEGORY}/${P}[${PYTHON_USEDEP}]" ; then
+ # depends on importing numpy.random from system namespace
+ EPYTEST_DESELECT+=(
+ 'random/tests/test_extending.py::test_cython'
+ )
+ fi
+
+ rm -rf numpy || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest --pyargs numpy
+}
+
+python_install_all() {
+ local DOCS=( LICENSE.txt README.md THANKS.txt )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/numpy/numpy-2.0.0.ebuild b/dev-python/numpy/numpy-2.0.0.ebuild
new file mode 100644
index 000000000000..4db9b29fc13d
--- /dev/null
+++ b/dev-python/numpy/numpy-2.0.0.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+FORTRAN_NEEDED=lapack
+
+inherit distutils-r1 flag-o-matic fortran-2 pypi
+
+DESCRIPTION="Fast array and numerical python library"
+HOMEPAGE="
+ https://numpy.org/
+ https://github.com/numpy/numpy/
+ https://pypi.org/project/numpy/
+"
+
+LICENSE="BSD"
+SLOT="0/2"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
+# +lapack because the internal fallbacks are pretty slow. Building without blas
+# is barely supported anyway, see bug #914358.
+IUSE="+lapack"
+
+RDEPEND="
+ lapack? (
+ >=virtual/cblas-3.8
+ >=virtual/lapack-3.8
+ )
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-build/meson-1.1.0
+ >=dev-python/cython-3.0.6[${PYTHON_USEDEP}]
+ lapack? (
+ virtual/pkgconfig
+ )
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
+ ' 'python*')
+ dev-python/charset-normalizer[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # bug #922457
+ filter-lto
+ # https://github.com/numpy/numpy/issues/25004
+ append-flags -fno-strict-aliasing
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ DISTUTILS_ARGS=(
+ -Dallow-noblas=$(usex !lapack true false)
+ -Dblas=$(usev lapack cblas)
+ -Dlapack=$(usev lapack lapack)
+ # TODO: cpu-* options
+ )
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Very disk-and-memory-hungry
+ lib/tests/test_io.py::TestSaveTxt::test_large_zip
+ lib/tests/test_io.py::TestSavezLoad::test_closing_fid
+ lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load
+
+ # Precision problems
+ _core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals
+
+ # Runs the whole test suite recursively, that's just crazy
+ core/tests/test_mem_policy.py::test_new_policy
+
+ typing/tests/test_typing.py
+ # Uses huge amount of memory
+ core/tests/test_mem_overlap.py
+ 'core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
+ )
+
+ if [[ $(uname -m) == armv8l ]]; then
+ # Degenerate case of arm32 chroot on arm64, bug #774108
+ EPYTEST_DESELECT+=(
+ core/tests/test_cpu_features.py::Test_ARM_Features::test_features
+ )
+ fi
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ _core/tests/test_nditer.py::test_iter_refcount
+ _core/tests/test_limited_api.py::test_limited_api
+ f2py/tests/test_f2py2e.py::test_gh22819_cli
+ )
+ ;&
+ python3.12)
+ EPYTEST_DESELECT+=(
+ # flaky
+ f2py/tests/test_crackfortran.py
+ f2py/tests/test_data.py::TestData::test_crackedlines
+ f2py/tests/test_data.py::TestDataF77::test_crackedlines
+ f2py/tests/test_f2py2e.py::test_gen_pyf
+ )
+ ;;
+ esac
+
+ if ! has_version -b "~${CATEGORY}/${P}[${PYTHON_USEDEP}]" ; then
+ # depends on importing numpy.random from system namespace
+ EPYTEST_DESELECT+=(
+ 'random/tests/test_extending.py::test_cython'
+ )
+ fi
+
+ rm -rf numpy || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest --pyargs numpy
+}
+
+python_install_all() {
+ local DOCS=( LICENSE.txt README.md THANKS.txt )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/numpy/numpy-2.0.1.ebuild b/dev-python/numpy/numpy-2.0.1.ebuild
new file mode 100644
index 000000000000..600343fdf194
--- /dev/null
+++ b/dev-python/numpy/numpy-2.0.1.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+FORTRAN_NEEDED=lapack
+
+inherit distutils-r1 flag-o-matic fortran-2 pypi
+
+DESCRIPTION="Fast array and numerical python library"
+HOMEPAGE="
+ https://numpy.org/
+ https://github.com/numpy/numpy/
+ https://pypi.org/project/numpy/
+"
+
+LICENSE="BSD"
+SLOT="0/2"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+# +lapack because the internal fallbacks are pretty slow. Building without blas
+# is barely supported anyway, see bug #914358.
+IUSE="+lapack"
+
+RDEPEND="
+ lapack? (
+ >=virtual/cblas-3.8
+ >=virtual/lapack-3.8
+ )
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-build/meson-1.1.0
+ >=dev-python/cython-3.0.6[${PYTHON_USEDEP}]
+ lapack? (
+ virtual/pkgconfig
+ )
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.14.0[${PYTHON_USEDEP}]
+ ' 'python*')
+ dev-python/charset-normalizer[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-5.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2019.3[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # bug #922457
+ filter-lto
+ # https://github.com/numpy/numpy/issues/25004
+ append-flags -fno-strict-aliasing
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ DISTUTILS_ARGS=(
+ -Dallow-noblas=$(usex !lapack true false)
+ -Dblas=$(usev lapack cblas)
+ -Dlapack=$(usev lapack lapack)
+ # TODO: cpu-* options
+ )
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Very disk-and-memory-hungry
+ lib/tests/test_io.py::TestSaveTxt::test_large_zip
+ lib/tests/test_io.py::TestSavezLoad::test_closing_fid
+ lib/tests/test_io.py::TestSavezLoad::test_closing_zipfile_after_load
+
+ # Precision problems
+ _core/tests/test_umath_accuracy.py::TestAccuracy::test_validate_transcendentals
+
+ # Runs the whole test suite recursively, that's just crazy
+ core/tests/test_mem_policy.py::test_new_policy
+
+ typing/tests/test_typing.py
+ # Uses huge amount of memory
+ core/tests/test_mem_overlap.py
+ 'core/tests/test_multiarray.py::TestDot::test_huge_vectordot[complex128]'
+ )
+
+ if [[ $(uname -m) == armv8l ]]; then
+ # Degenerate case of arm32 chroot on arm64, bug #774108
+ EPYTEST_DESELECT+=(
+ core/tests/test_cpu_features.py::Test_ARM_Features::test_features
+ )
+ fi
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ _core/tests/test_nditer.py::test_iter_refcount
+ _core/tests/test_limited_api.py::test_limited_api
+ f2py/tests/test_f2py2e.py::test_gh22819_cli
+ )
+ ;&
+ python3.12)
+ EPYTEST_DESELECT+=(
+ # flaky
+ f2py/tests/test_crackfortran.py
+ f2py/tests/test_data.py::TestData::test_crackedlines
+ f2py/tests/test_data.py::TestDataF77::test_crackedlines
+ f2py/tests/test_f2py2e.py::test_gen_pyf
+ )
+ ;;
+ esac
+
+ if ! has_version -b "~${CATEGORY}/${P}[${PYTHON_USEDEP}]" ; then
+ # depends on importing numpy.random from system namespace
+ EPYTEST_DESELECT+=(
+ 'random/tests/test_extending.py::test_cython'
+ )
+ fi
+
+ rm -rf numpy || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest --pyargs numpy
+}
+
+python_install_all() {
+ local DOCS=( LICENSE.txt README.md THANKS.txt )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/numpydoc/Manifest b/dev-python/numpydoc/Manifest
index 39f1d868e633..2a55279af042 100644
--- a/dev-python/numpydoc/Manifest
+++ b/dev-python/numpydoc/Manifest
@@ -1 +1,2 @@
-DIST numpydoc-1.6.0.gh.tar.gz 85296 BLAKE2B 839fb0062dc1b0b45dfbc855d50d21a3c23cf1e9fef82b8d44e9d4cc36127c32447ad4c6ee5aa500cd24fb6a304f95426be69406468e3059c068ca4b0ad5714f SHA512 3846f395d8603a21d97a6c0fc57f0ea69e908ff2f672673d336a1f4ff02f5cb3f9e76d1e1ad6d990478b121a327bcca8179c3db6b5215f36818e41e4597878fd
+DIST numpydoc-1.7.0.gh.tar.gz 87818 BLAKE2B b31e9478324bc45d78904c16330c9ed1513eca5668f20472faf9e2a36c0ed7eb03b18cf1c314180ec35716a26bd05357d5ef93025efbb8fb09c885a614ac7ea9 SHA512 0858d7eaafdd93d5a0894bb107b8238f75bd7cd34afa64fee38effcf4bebf9b4db957768143a46eec46023e69b53599a79b07a39640887f3a0471b5996022247
+DIST numpydoc-1.8.0rc2.gh.tar.gz 90642 BLAKE2B cf47c0a2865ab5579c7f095607a58fe3db4e64ccf521e052797e4286d74351017ebe9c300b968f3f2f799fc0fc07f3d8eebbef59e1f1aab269ededf6d0a8bd12 SHA512 f323ca5fc62ba37af10a8d892b22a348ca3b2ecd9faa3bd885f0b233f51e169e8d86eb364bd0155bb8c9daee9185866f962e586123758555dae03ef46f437450
diff --git a/dev-python/numpydoc/numpydoc-1.6.0.ebuild b/dev-python/numpydoc/numpydoc-1.6.0.ebuild
deleted file mode 100644
index d83cce3a7d06..000000000000
--- a/dev-python/numpydoc/numpydoc-1.6.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx extension to support docstrings in Numpy format"
-HOMEPAGE="
- https://numpydoc.readthedocs.io/en/latest/
- https://github.com/numpy/numpydoc/
- https://pypi.org/project/numpydoc/
-"
-SRC_URI="
- https://github.com/numpy/numpydoc/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/jinja-2.10[${PYTHON_USEDEP}]
- >=dev-python/sphinx-5[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- test? (
- >=dev-python/matplotlib-3.2.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # these require Internet (intersphinx)
- numpydoc/tests/test_full.py::test_MyClass
- numpydoc/tests/test_full.py::test_my_function
- )
- epytest -o addopts= --pyargs numpydoc
-}
diff --git a/dev-python/numpydoc/numpydoc-1.7.0.ebuild b/dev-python/numpydoc/numpydoc-1.7.0.ebuild
new file mode 100644
index 000000000000..7181e5ae6da1
--- /dev/null
+++ b/dev-python/numpydoc/numpydoc-1.7.0.ebuild
@@ -0,0 +1,50 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Sphinx extension to support docstrings in Numpy format"
+HOMEPAGE="
+ https://numpydoc.readthedocs.io/en/latest/
+ https://github.com/numpy/numpydoc/
+ https://pypi.org/project/numpydoc/
+"
+SRC_URI="
+ https://github.com/numpy/numpydoc/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/sphinx-6[${PYTHON_USEDEP}]
+ >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ >=dev-python/matplotlib-3.2.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # these require Internet (intersphinx)
+ numpydoc/tests/test_full.py::test_MyClass
+ numpydoc/tests/test_full.py::test_my_function
+ # TODO
+ numpydoc/tests/test_validate.py::test_extract_ignore_validation_comments
+ )
+ epytest -o addopts= --pyargs numpydoc
+}
diff --git a/dev-python/numpydoc/numpydoc-1.8.0_rc2.ebuild b/dev-python/numpydoc/numpydoc-1.8.0_rc2.ebuild
new file mode 100644
index 000000000000..14e88a8725d4
--- /dev/null
+++ b/dev-python/numpydoc/numpydoc-1.8.0_rc2.ebuild
@@ -0,0 +1,52 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=${P/_}
+DESCRIPTION="Sphinx extension to support docstrings in Numpy format"
+HOMEPAGE="
+ https://numpydoc.readthedocs.io/en/latest/
+ https://github.com/numpy/numpydoc/
+ https://pypi.org/project/numpydoc/
+"
+SRC_URI="
+ https://github.com/numpy/numpydoc/archive/v${PV/_}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/sphinx-6[${PYTHON_USEDEP}]
+ >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ >=dev-python/matplotlib-3.2.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # these require Internet (intersphinx)
+ numpydoc/tests/test_full.py::test_MyClass
+ numpydoc/tests/test_full.py::test_my_function
+ # TODO
+ numpydoc/tests/test_validate.py::test_extract_ignore_validation_comments
+ )
+ epytest -o addopts= --pyargs numpydoc
+}
diff --git a/dev-python/oauthlib/files/oauthlib-3.2.2-py313.patch b/dev-python/oauthlib/files/oauthlib-3.2.2-py313.patch
new file mode 100644
index 000000000000..2d000e5e1b1b
--- /dev/null
+++ b/dev-python/oauthlib/files/oauthlib-3.2.2-py313.patch
@@ -0,0 +1,37 @@
+From fe020db74199d5284c00d7735aa7d4ddc90f5d61 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
+Date: Tue, 24 Oct 2023 15:08:10 +0200
+Subject: [PATCH] Make UtilsTests.test_filter_params Python 3.13+ compatible
+
+Since Python 3.13.0a1, docstrings are automatically dedented.
+See https://github.com/python/cpython/issues/81283
+and https://docs.python.org/3.13/whatsnew/3.13.html#other-language-changes
+
+As a result, using a docstring with leading space as a test case
+breaks the test assumption.
+
+The initial commit which introduced this test a decade ago
+(6c0c7914f3a57823834b1be492b307992f943629)
+does not specify why testing the spaces is important.
+---
+ tests/oauth1/rfc5849/test_utils.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/oauth1/rfc5849/test_utils.py b/tests/oauth1/rfc5849/test_utils.py
+index 013c71a9..22128908 100644
+--- a/tests/oauth1/rfc5849/test_utils.py
++++ b/tests/oauth1/rfc5849/test_utils.py
+@@ -53,11 +53,11 @@ def test_filter_params(self):
+ # The following is an isolated test function used to test the filter_params decorator.
+ @filter_params
+ def special_test_function(params, realm=None):
+- """ I am a special test function """
++ """I am a special test function"""
+ return 'OAuth ' + ','.join(['='.join([k, v]) for k, v in params])
+
+ # check that the docstring got through
+- self.assertEqual(special_test_function.__doc__, " I am a special test function ")
++ self.assertEqual(special_test_function.__doc__, "I am a special test function")
+
+ # Check that the decorator filtering works as per design.
+ # Any param that does not start with 'oauth'
diff --git a/dev-python/oauthlib/oauthlib-3.2.2.ebuild b/dev-python/oauthlib/oauthlib-3.2.2.ebuild
index 74d6c2f9c0ab..51553f97b2fb 100644
--- a/dev-python/oauthlib/oauthlib-3.2.2.ebuild
+++ b/dev-python/oauthlib/oauthlib-3.2.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -26,3 +26,8 @@ RDEPEND="
"
distutils_enable_tests unittest
+
+PATCHES=(
+ # https://github.com/oauthlib/oauthlib/commit/fe020db74199d5284c00d7735aa7d4ddc90f5d61
+ "${FILESDIR}/${P}-py313.patch"
+)
diff --git a/dev-python/objgraph/Manifest b/dev-python/objgraph/Manifest
index bb3f46dbadb4..94b9ed464945 100644
--- a/dev-python/objgraph/Manifest
+++ b/dev-python/objgraph/Manifest
@@ -1 +1 @@
-DIST objgraph-3.5.0.tar.gz 638591 BLAKE2B 7a0ee6c9ee1d8417f7b322f19a397ea2452ed592ebbc07afc1378e86b5bad3895ed2e4a20d92a5f4b0215f68fc7440f85852303585a3161497a85d41d4c4e550 SHA512 da29202871bad06f2caa9cc297e7bf9a15af4c89e23baf9c271764e0ce93ff9557cd5c21d0bf39b425713460dbe2dbc8468d70c6bfcc1c3ff8b1b4d4a7923858
+DIST objgraph-3.6.1.tar.gz 759513 BLAKE2B 875a4027b79446302755d00296ce0ae59d267f3996f206c8319a93cc8d5f53a0f26cf4701047d3b03beb3906bc5d70c23cdecfc135204d9fd9fea55d85e07a65 SHA512 9a15340aedb31e849739ec0667fefb52f99a94244540a7e1c0387299ad5fbbde05521ea91b959bc96204c4a62f796183377c6031af9c6a67828a91939f15225a
diff --git a/dev-python/objgraph/files/objgraph-3.4.1-tests.patch b/dev-python/objgraph/files/objgraph-3.4.1-tests.patch
deleted file mode 100644
index d79b78fb88b5..000000000000
--- a/dev-python/objgraph/files/objgraph-3.4.1-tests.patch
+++ /dev/null
@@ -1,57 +0,0 @@
-diff --git a/tests.py b/tests.py
-index fc2ee7f..d494470 100755
---- a/tests.py
-+++ b/tests.py
-@@ -11,6 +11,7 @@ import tempfile
- import textwrap
- import types
- import unittest
-+import platform
-
- # setuptools imports `imp`, which triggers a DeprecationWarning starting with
- # Python 3.4 in the middle of my pristine test suite. But if I do the import
-@@ -363,7 +364,7 @@ def doctest_get_new_ids_prints():
- ========================================================
- Type Old_ids Current_ids New_ids Count_Deltas
- ========================================================
-- list ... ... ... +2
-+ wt ... ... ... +2
- ========================================================
-
- """
-@@ -387,7 +388,10 @@ class ByTypeTest(GarbageCollectedMixin, unittest.TestCase):
- # 2. the `res` list
- # referrers we don't want:
- # the ``objects`` list in the now-dead stack frame of objgraph.by_type
-- self.assertLessEqual(len(gc.get_referrers(res[0])), 2)
-+ if 'pypy' in platform.python_implementation().lower():
-+ self.assertLessEqual(len(gc.get_referrers(res[0])), 3)
-+ else:
-+ self.assertLessEqual(len(gc.get_referrers(res[0])), 2)
-
-
- class AtAddrsTest(unittest.TestCase):
-@@ -439,7 +443,10 @@ class StringRepresentationTest(GarbageCollectedMixin,
- obj = MyClass()
- with mock.patch.object(obj, 'my_method',
- types.MethodType(mock_method, obj)):
-- self.assertRegex(objgraph._short_repr(obj.my_method), '<Mock')
-+ if 'pypy' in platform.python_implementation().lower():
-+ self.assertRegex(objgraph._short_repr(obj.my_method), '<bound method')
-+ else:
-+ self.assertRegex(objgraph._short_repr(obj.my_method), '<Mock')
-
- def test_short_repr_mocked_name(self):
- self.assertRegex(objgraph._short_repr(mock.Mock(__name__=mock.Mock())),
-@@ -462,7 +469,10 @@ class StringRepresentationTest(GarbageCollectedMixin,
- obj = MyClass()
- with mock.patch.object(obj, 'my_method',
- types.MethodType(mock_method, obj)):
-- self.assertRegex(objgraph._short_repr(obj.my_method), '<Mock')
-+ if 'pypy' in platform.python_implementation().lower():
-+ self.assertRegex(objgraph._short_repr(obj.my_method), '<bound method')
-+ else:
-+ self.assertRegex(objgraph._short_repr(obj.my_method), '<Mock')
-
- @skipIf(sys.version_info[0] > 2, "Python 3 has no unbound methods")
- def test_short_repr_unbound_method(self):
diff --git a/dev-python/objgraph/objgraph-3.5.0-r1.ebuild b/dev-python/objgraph/objgraph-3.5.0-r1.ebuild
deleted file mode 100644
index 4f3489261c53..000000000000
--- a/dev-python/objgraph/objgraph-3.5.0-r1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Draws Python object reference graphs with graphviz"
-HOMEPAGE="
- https://github.com/mgedmin/objgraph/
- https://pypi.org/project/objgraph/
-"
-
-LICENSE="MIT"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-SLOT="0"
-IUSE="doc"
-
-RDEPEND="
- media-gfx/graphviz
-"
-BDEPEND="
- test? (
- media-gfx/xdot
- )
-"
-
-PATCHES=(
- "${FILESDIR}/objgraph-3.4.1-tests.patch"
-)
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # the dependency is optional, actually
- sed -i -e '/graphviz/d' setup.py || die
- distutils-r1_src_prepare
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( docs/* )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/objgraph/objgraph-3.6.1.ebuild b/dev-python/objgraph/objgraph-3.6.1.ebuild
new file mode 100644
index 000000000000..97a9a7b2b589
--- /dev/null
+++ b/dev-python/objgraph/objgraph-3.6.1.ebuild
@@ -0,0 +1,66 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Draws Python object reference graphs with graphviz"
+HOMEPAGE="
+ https://github.com/mgedmin/objgraph/
+ https://pypi.org/project/objgraph/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="doc"
+
+RDEPEND="
+ media-gfx/graphviz
+"
+BDEPEND="
+ test? (
+ media-gfx/xdot
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # unhappy about pytest
+ tests.py::AtAddrsTest::test_at_addrs
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # CPython GC
+ tests.py::ByTypeTest::test_new_garbage
+
+ # repr() mismatch
+ tests.py::StringRepresentationTest::test_short_repr_mocked_instance_method_bound
+ tests.py::StringRepresentationTest::test_short_repr_mocked_instance_method_bound_with_mocked_name
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # https://github.com/mgedmin/objgraph/issues/80
+ tests.py::StringRepresentationTest::test_edge_label_frame_locals
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # TODO: figure out how to run doctests
+ epytest tests.py
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/* )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/oct2py/Manifest b/dev-python/oct2py/Manifest
index 998c87c30509..1c9a4b22b90c 100644
--- a/dev-python/oct2py/Manifest
+++ b/dev-python/oct2py/Manifest
@@ -1,2 +1,3 @@
-DIST oct2py-5.5.1.tar.gz 442518 BLAKE2B c0a645464b64d04137f53f3c15bcd90d1df193d7dd7e955cf1e90b5d279091cc16b3052321a1788b6a382ad8759db1619b0a20d117c627d88abe75d13aeb62e3 SHA512 4bd81fc493d9c0b602bf254f7f8bcf5d2024c5c1004fd8a26d94608eb0c802af44d74efb2f2ff941cff89be5265136d987e9a8fc9c4ab987da513d57b291ad2e
DIST oct2py-5.6.0.tar.gz 437965 BLAKE2B e22aca80608e1132f2cb8936e9dac7c97bd8e5463b6997dd80f0ed567af2a59a28b4c58995b11e2c1a970bc0bde81afda432d8ce5306b2eb5417b1f75b8b4b19 SHA512 d5eae408812358e48c9a72e823dc06a7556c09176170def00c53aacba75c6568357afe8e9a079c02e08c88ee1e7f1aa4284508471680b5542894745b19e7af36
+DIST oct2py-5.6.1.tar.gz 440686 BLAKE2B 5255b0413a655f74db243d8d3a338a8468400af0c392a7ae5c6ac894edd8fa526acda5c8dbad7c5d8414dc9de3f4fa8c4aa055a396238464556186edd9500b1b SHA512 2485c7434666f8d580396759024e4f807c6e14f5d0f30a0f2449373488735c6ee91b6a8bdde8d951e0371790cd7673710986f6e3b6af0c77b3a36e92bb1c1285
+DIST oct2py-5.7.0.tar.gz 441233 BLAKE2B 601eadd10898d4b522c23d3df86aef26b2783cdb66f3942ddb568c65d828aea1a4e82c755e547ac1940c4fc449856c955b0f9931488472fb63330ca2b96e31ad SHA512 fe45b421593ef0b1257d704c0d43e89425054a6fac1c784bd66ad404e0f28d328fc4a3a7f82e589d43c2860e95a6a6b54898ef5a378362b8914f47b097c705e9
diff --git a/dev-python/oct2py/oct2py-5.5.1.ebuild b/dev-python/oct2py/oct2py-5.5.1.ebuild
deleted file mode 100644
index 5c9e34378089..000000000000
--- a/dev-python/oct2py/oct2py-5.5.1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python to GNU Octave bridge"
-HOMEPAGE="
- https://github.com/blink1073/oct2py
- https://blink1073.github.io/oct2py/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="examples"
-
-RDEPEND="
- >=dev-python/numpy-1.12[${PYTHON_USEDEP}]
- >=dev-python/octave_kernel-0.34.0[${PYTHON_USEDEP}]
- >=dev-python/scipy-0.17[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/nbconvert[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- )"
-
-EPYTEST_DESELECT=(
- # No graphics toolkit available: 743589
- "oct2py/ipython/tests/test_octavemagic.py::OctaveMagicTest::test_octave_plot"
-)
-
-distutils_enable_sphinx docs/source \
- dev-python/numpydoc dev-python/sphinx-bootstrap-theme dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-PATCHES=( "${FILESDIR}"/${PN}-5.2.0-mask-pkg-load-test.patch )
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use examples; then
- docinto examples
- dodoc -r example/.
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/dev-python/oct2py/oct2py-5.6.0.ebuild b/dev-python/oct2py/oct2py-5.6.0.ebuild
index ca1780ad9252..f10a1aac5a11 100644
--- a/dev-python/oct2py/oct2py-5.6.0.ebuild
+++ b/dev-python/oct2py/oct2py-5.6.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -20,7 +20,7 @@ IUSE="examples"
RDEPEND="
>=dev-python/numpy-1.12[${PYTHON_USEDEP}]
- >=dev-python/octave_kernel-0.34.0[${PYTHON_USEDEP}]
+ >=dev-python/octave-kernel-0.34.0[${PYTHON_USEDEP}]
>=dev-python/scipy-0.17[${PYTHON_USEDEP}]"
BDEPEND="
test? (
diff --git a/dev-python/oct2py/oct2py-5.6.1.ebuild b/dev-python/oct2py/oct2py-5.6.1.ebuild
new file mode 100644
index 000000000000..482fbfd11055
--- /dev/null
+++ b/dev-python/oct2py/oct2py-5.6.1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=hatchling
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python to GNU Octave bridge"
+HOMEPAGE="
+ https://github.com/blink1073/oct2py
+ https://blink1073.github.io/oct2py/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+RDEPEND="
+ >=dev-python/numpy-1.12[${PYTHON_USEDEP}]
+ >=dev-python/octave-kernel-0.34.0[${PYTHON_USEDEP}]
+ >=dev-python/scipy-0.17[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? (
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ )"
+
+EPYTEST_DESELECT=(
+ # No graphics toolkit available: 743589
+ "oct2py/ipython/tests/test_octavemagic.py::OctaveMagicTest::test_octave_plot"
+)
+
+distutils_enable_sphinx docs/source \
+ dev-python/numpydoc \
+ dev-python/pydata-sphinx-theme \
+ dev-python/myst-parser \
+ dev-python/sphinxcontrib-spelling
+distutils_enable_tests pytest
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ docinto examples
+ dodoc -r example/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-python/oct2py/oct2py-5.7.0.ebuild b/dev-python/oct2py/oct2py-5.7.0.ebuild
new file mode 100644
index 000000000000..482fbfd11055
--- /dev/null
+++ b/dev-python/oct2py/oct2py-5.7.0.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=hatchling
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python to GNU Octave bridge"
+HOMEPAGE="
+ https://github.com/blink1073/oct2py
+ https://blink1073.github.io/oct2py/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+RDEPEND="
+ >=dev-python/numpy-1.12[${PYTHON_USEDEP}]
+ >=dev-python/octave-kernel-0.34.0[${PYTHON_USEDEP}]
+ >=dev-python/scipy-0.17[${PYTHON_USEDEP}]"
+BDEPEND="
+ test? (
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ )"
+
+EPYTEST_DESELECT=(
+ # No graphics toolkit available: 743589
+ "oct2py/ipython/tests/test_octavemagic.py::OctaveMagicTest::test_octave_plot"
+)
+
+distutils_enable_sphinx docs/source \
+ dev-python/numpydoc \
+ dev-python/pydata-sphinx-theme \
+ dev-python/myst-parser \
+ dev-python/sphinxcontrib-spelling
+distutils_enable_tests pytest
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ docinto examples
+ dodoc -r example/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-python/octave-kernel/Manifest b/dev-python/octave-kernel/Manifest
new file mode 100644
index 000000000000..3782c9ea0c57
--- /dev/null
+++ b/dev-python/octave-kernel/Manifest
@@ -0,0 +1 @@
+DIST octave_kernel-0.35.1.tar.gz 262542 BLAKE2B ed4293801913c0685f3291ef84d32e3012bc4c8ed4f53b3696beea457152c040fb506c54b4f57e94be1026db6241747dce5f5f31dc0cb8a501e7ce7e5a42f1cf SHA512 a3b2eb719fc6f505ea5904fecc2bc437bfdc67c2cbde61b75ebdecdad0a183df8b885559181510952d63545f8ec368f4519150e7db7272a79368f6c0d7fe85b1
diff --git a/dev-python/octave_kernel/metadata.xml b/dev-python/octave-kernel/metadata.xml
index b6f20bc190e1..b6f20bc190e1 100644
--- a/dev-python/octave_kernel/metadata.xml
+++ b/dev-python/octave-kernel/metadata.xml
diff --git a/dev-python/octave-kernel/octave-kernel-0.35.1.ebuild b/dev-python/octave-kernel/octave-kernel-0.35.1.ebuild
new file mode 100644
index 000000000000..eeefa3317c8b
--- /dev/null
+++ b/dev-python/octave-kernel/octave-kernel-0.35.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=hatchling
+inherit distutils-r1 virtualx pypi
+
+DESCRIPTION="Jupyter kernel for octave"
+HOMEPAGE="
+ https://github.com/Calysto/octave_kernel/
+ https://pypi.org/project/octave-kernel/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-4.3.0[${PYTHON_USEDEP}]
+ >=dev-python/metakernel-0.24.0[${PYTHON_USEDEP}]
+ sci-mathematics/octave"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? (
+ dev-python/jupyter-kernel-test[${PYTHON_USEDEP}]
+ dev-python/nbconvert[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ virtx eunittest
+}
diff --git a/dev-python/octave_kernel/Manifest b/dev-python/octave_kernel/Manifest
deleted file mode 100644
index 371b24062cee..000000000000
--- a/dev-python/octave_kernel/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST octave_kernel-0.34.2.tar.gz 258320 BLAKE2B 13d96afafab4b0fee2c9ccfdac61b269fe7929c5c004fb675f8a0290f8681e7abc509776faa2e066b21de19ad1e988cc5a11429685344ca59a4ae8248bb01177 SHA512 ae57db2aa366b47219bec5be8050f9acd5a0edc37e4851b05ba4609df45f225cbe767078e7390e29dc97ca003feabf5e7bf06bb84e5900b7ebfb576735993506
-DIST octave_kernel-0.35.1.tar.gz 262542 BLAKE2B ed4293801913c0685f3291ef84d32e3012bc4c8ed4f53b3696beea457152c040fb506c54b4f57e94be1026db6241747dce5f5f31dc0cb8a501e7ce7e5a42f1cf SHA512 a3b2eb719fc6f505ea5904fecc2bc437bfdc67c2cbde61b75ebdecdad0a183df8b885559181510952d63545f8ec368f4519150e7db7272a79368f6c0d7fe85b1
diff --git a/dev-python/octave_kernel/octave_kernel-0.34.2.ebuild b/dev-python/octave_kernel/octave_kernel-0.34.2.ebuild
deleted file mode 100644
index d1053236e267..000000000000
--- a/dev-python/octave_kernel/octave_kernel-0.34.2.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=jupyter
-inherit distutils-r1 virtualx pypi
-
-DESCRIPTION="Jupyter kernel for octave"
-HOMEPAGE="
- https://github.com/Calysto/octave_kernel/
- https://pypi.org/project/octave-kernel/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-# Something is very broken here
-RESTRICT="test"
-
-RDEPEND="
- dev-python/ipykernel[${PYTHON_USEDEP}]
- >=dev-python/jupyter-client-4.3.0[${PYTHON_USEDEP}]
- >=dev-python/jupyter-packaging-0.9[${PYTHON_USEDEP}]
- >=dev-python/metakernel-0.24.0[${PYTHON_USEDEP}]
- sci-mathematics/octave"
-DEPEND="${RDEPEND}"
-BDEPEND="
- test? (
- dev-python/jupyter-kernel-test[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_test() {
- virtx eunittest
-}
diff --git a/dev-python/octave_kernel/octave_kernel-0.35.1.ebuild b/dev-python/octave_kernel/octave_kernel-0.35.1.ebuild
deleted file mode 100644
index 9be9c8924a1d..000000000000
--- a/dev-python/octave_kernel/octave_kernel-0.35.1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=hatchling
-inherit distutils-r1 virtualx pypi
-
-DESCRIPTION="Jupyter kernel for octave"
-HOMEPAGE="
- https://github.com/Calysto/octave_kernel/
- https://pypi.org/project/octave-kernel/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/ipykernel[${PYTHON_USEDEP}]
- >=dev-python/jupyter-client-4.3.0[${PYTHON_USEDEP}]
- >=dev-python/metakernel-0.24.0[${PYTHON_USEDEP}]
- sci-mathematics/octave"
-DEPEND="${RDEPEND}"
-BDEPEND="
- test? (
- dev-python/jupyter-kernel-test[${PYTHON_USEDEP}]
- dev-python/nbconvert[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_test() {
- virtx eunittest
-}
diff --git a/dev-python/odfpy/odfpy-1.4.2.ebuild b/dev-python/odfpy/odfpy-1.4.2.ebuild
index 7bc291eb64af..a9e73c9fbc59 100644
--- a/dev-python/odfpy/odfpy-1.4.2.ebuild
+++ b/dev-python/odfpy/odfpy-1.4.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/olefile/Manifest b/dev-python/olefile/Manifest
index 609cc73fb013..5bec7dfa4780 100644
--- a/dev-python/olefile/Manifest
+++ b/dev-python/olefile/Manifest
@@ -1 +1 @@
-DIST olefile-0.46.gh.tar.gz 97587 BLAKE2B e6dbadda6f18ec287f5b1b59ab4b92ceee25b4ca47499ed31a03992ae4e3a7269ba0c641f631c4beafdfe43eccab4881d06f7ba372ec47b376b5eb3ed788f45d SHA512 e70975cdda11004ab331908085e0cbd9cf3e44f49fa1453a7af5373bfed0a98729bb7600fee7a1042be6c40c58649f3650972d9e4520bbab218cf715f6264f98
+DIST olefile-0.47.gh.tar.gz 102116 BLAKE2B d3b3e8349901b7bf4a4facd0a784e9fa01f3acc50412f3952e85d59e6816321cd41d65cca83731cf280a6a83c3a4bf4e9ae9ee84662f0883e138dc2ceb22798d SHA512 efd73092f4fb428a91066c11fd319a60fa43e46f7abc4e7ba38627f11e19a6fbba227d1307ee308d1297e97b3fff30e6e497c50d7f708204e20122ea01dddfd8
diff --git a/dev-python/olefile/olefile-0.46-r2.ebuild b/dev-python/olefile/olefile-0.46-r2.ebuild
deleted file mode 100644
index 6c63f39cca9b..000000000000
--- a/dev-python/olefile/olefile-0.46-r2.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python package to parse, read and write Microsoft OLE2 files"
-HOMEPAGE="
- https://www.decalage.info/olefile/
- https://github.com/decalage2/olefile/
- https://pypi.org/project/olefile/
-"
-SRC_URI="
- https://github.com/decalage2/olefile/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-
-distutils_enable_sphinx doc \
- dev-python/sphinx-rtd-theme
-distutils_enable_tests unittest
diff --git a/dev-python/olefile/olefile-0.47.ebuild b/dev-python/olefile/olefile-0.47.ebuild
new file mode 100644
index 000000000000..7ff45a2fcaf9
--- /dev/null
+++ b/dev-python/olefile/olefile-0.47.ebuild
@@ -0,0 +1,28 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python package to parse, read and write Microsoft OLE2 files"
+HOMEPAGE="
+ https://www.decalage.info/olefile/
+ https://github.com/decalage2/olefile/
+ https://pypi.org/project/olefile/
+"
+SRC_URI="
+ https://github.com/decalage2/olefile/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+
+distutils_enable_sphinx doc \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests unittest
diff --git a/dev-python/omemo-dr/Manifest b/dev-python/omemo-dr/Manifest
index 0b5259fcea54..02952446002a 100644
--- a/dev-python/omemo-dr/Manifest
+++ b/dev-python/omemo-dr/Manifest
@@ -1,2 +1 @@
-DIST omemo-dr-1.0.0.tar.gz 152784 BLAKE2B c239d22cda3aab247ad2d5c706f2f15d22529ff9348564e55aa0c780a1c93b169f1cd4c2f8d6ac0fcf69f3d5d8c190627870363d168432e3a2247b7091bc4d64 SHA512 ad1d43936f94d47a01b1f4f3a8e31bf81d16132714b29f6ef5aac84a907a8bec3fd1014330cdc0169cfa02e64f7815d11ff4ec8a2aa3aecd9141748d2ec469b1
DIST omemo-dr-1.0.1.tar.gz 152526 BLAKE2B 218e51996a71f506739489c54a3ddeea023a778dea57ee34bb1f50a03b27d740d6871f89ecddcad5fdb0208bbb876a8e815be78f51e3f675347323085c20963e SHA512 38306e88de1e384eb42848029d8eee7d5aed0bcc3b9ed2867c75fd5bac09daba31c136d10cb815153f21ea6ab6ccae4cfa2d3453db0863e2dc4b065fce8f24e3
diff --git a/dev-python/omemo-dr/omemo-dr-1.0.0.ebuild b/dev-python/omemo-dr/omemo-dr-1.0.0.ebuild
deleted file mode 100644
index 9d26941bf859..000000000000
--- a/dev-python/omemo-dr/omemo-dr-1.0.0.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2023 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..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="OMEMO Crypto Library"
-HOMEPAGE="
- https://pypi.org/project/omemo-dr/
- https://dev.gajim.org/gajim/omemo-dr
-"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
-
-RDEPEND="
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/protobuf-python[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/omemo-dr/omemo-dr-1.0.1.ebuild b/dev-python/omemo-dr/omemo-dr-1.0.1.ebuild
index 9d26941bf859..8ffe48eeb933 100644
--- a/dev-python/omemo-dr/omemo-dr-1.0.1.ebuild
+++ b/dev-python/omemo-dr/omemo-dr-1.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="GPL-3"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~loong ~riscv x86"
RDEPEND="
dev-python/cryptography[${PYTHON_USEDEP}]
diff --git a/dev-python/openapi-core/Manifest b/dev-python/openapi-core/Manifest
index 650cc1660608..a6f20fc95c06 100644
--- a/dev-python/openapi-core/Manifest
+++ b/dev-python/openapi-core/Manifest
@@ -1 +1 @@
-DIST openapi_core-0.18.2.tar.gz 84444 BLAKE2B bb05ba86eff3c70c780f1919a29b93f2137983318834c51204d7ad1094fc645d2dbcef93d92d03096826688fdfe1811c551eee68995fd46739314c2e4bc77cfc SHA512 552109c095c840a46759a54e247a3ac2d8cc36707ba89815740eef4b7fb421bd489929543892341fd89a578bff4043c8c81302fddaa1efe125238e050f152c27
+DIST openapi_core-0.19.2.tar.gz 108121 BLAKE2B 0873ba33c0270babb3c3e626e942fd22fc066f8ef408c6f1cadab8140fdb6284d21a1cb5ed767c7f0f370112a1bb263ac50b340cccfe1cba6da1a0f15a73bbde SHA512 cab2343c61bbb8de048b5e3a53c2d753468f6707f3b4b40ddfee7c3ea6eb0f3beff0aebcad632200a5a4b08e93c620aceda659297756d4f587d11039ede0eefa
diff --git a/dev-python/openapi-core/openapi-core-0.18.2.ebuild b/dev-python/openapi-core/openapi-core-0.18.2.ebuild
deleted file mode 100644
index df1e54ca4053..000000000000
--- a/dev-python/openapi-core/openapi-core-0.18.2.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Client-side and server-side support for the OpenAPI Specification v3"
-HOMEPAGE="
- https://github.com/python-openapi/openapi-core/
- https://pypi.org/project/openapi-core/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-
-RDEPEND="
- <dev-python/asgiref-4[${PYTHON_USEDEP}]
- >=dev-python/asgiref-3.6.0[${PYTHON_USEDEP}]
- dev-python/isodate[${PYTHON_USEDEP}]
- <dev-python/jsonschema-5[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-4.17.3[${PYTHON_USEDEP}]
- <dev-python/jsonschema-spec-0.3[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-spec-0.2.3[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- dev-python/parse[${PYTHON_USEDEP}]
- <dev-python/openapi-schema-validator-0.7[${PYTHON_USEDEP}]
- >=dev-python/openapi-schema-validator-0.6.0[${PYTHON_USEDEP}]
- <dev-python/openapi-spec-validator-0.8[${PYTHON_USEDEP}]
- >=dev-python/openapi-spec-validator-0.7.1[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- >=dev-python/aiohttp-3.8.4[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.24.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-aiohttp-1.0.4[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- >=dev-python/starlette-0.26.1[${PYTHON_USEDEP}]
- dev-python/strict-rfc3339[${PYTHON_USEDEP}]
- dev-python/webob[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # falcon is not packaged
- tests/integration/contrib/falcon
-
- # TODO: these tests fail to collect
- tests/integration/validation/test_security_override.py
- tests/integration/validation/test_read_only_write_only.py
-
- # unhappy about modern django
- tests/integration/contrib/django/test_django_project.py
- tests/unit/contrib/django/test_django.py
-)
-
-src_prepare() {
- sed -i -e '/--cov/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/openapi-core/openapi-core-0.19.2.ebuild b/dev-python/openapi-core/openapi-core-0.19.2.ebuild
new file mode 100644
index 000000000000..ca1feba09eaf
--- /dev/null
+++ b/dev-python/openapi-core/openapi-core-0.19.2.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Client-side and server-side support for the OpenAPI Specification v3"
+HOMEPAGE="
+ https://github.com/python-openapi/openapi-core/
+ https://pypi.org/project/openapi-core/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+RDEPEND="
+ <dev-python/asgiref-4[${PYTHON_USEDEP}]
+ >=dev-python/asgiref-3.6.0[${PYTHON_USEDEP}]
+ dev-python/isodate[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-5[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4.17.3[${PYTHON_USEDEP}]
+ <dev-python/jsonschema-path-0.4[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-path-0.3.1[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/parse[${PYTHON_USEDEP}]
+ <dev-python/openapi-schema-validator-0.7[${PYTHON_USEDEP}]
+ >=dev-python/openapi-schema-validator-0.6.0[${PYTHON_USEDEP}]
+ <dev-python/openapi-spec-validator-0.8[${PYTHON_USEDEP}]
+ >=dev-python/openapi-spec-validator-0.7.1[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/aiohttp-3.8.4[${PYTHON_USEDEP}]
+ >=dev-python/aioitertools-0.11.0[${PYTHON_USEDEP}]
+ dev-python/flask[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.24.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-aiohttp-1.0.4[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ >=dev-python/starlette-0.26.1[${PYTHON_USEDEP}]
+ dev-python/strict-rfc3339[${PYTHON_USEDEP}]
+ dev-python/webob[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # missing dependendencies
+ tests/integration/contrib/falcon
+ tests/integration/contrib/fastapi
+
+ # TODO: these tests fail to collect
+ tests/integration/validation/test_security_override.py
+ tests/integration/validation/test_read_only_write_only.py
+
+ # unhappy about modern django
+ tests/integration/contrib/django/test_django_project.py
+ tests/unit/contrib/django/test_django.py
+)
+
+src_prepare() {
+ sed -i -e '/--cov/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/openapi-schema-validator/files/openapi-schema-validator-0.6.2-test.patch b/dev-python/openapi-schema-validator/files/openapi-schema-validator-0.6.2-test.patch
new file mode 100644
index 000000000000..2937a867a1d2
--- /dev/null
+++ b/dev-python/openapi-schema-validator/files/openapi-schema-validator-0.6.2-test.patch
@@ -0,0 +1,24 @@
+From dfb83c2961bcb6541c8c5e483f10389c77a4f5a0 Mon Sep 17 00:00:00 2001
+From: p1c2u <maciag.artur@gmail.com>
+Date: Sat, 16 Mar 2024 17:05:13 +0000
+Subject: [PATCH 2/2] Jsonschema 4.20 prefixItems test fix
+
+Upstream-PR: https://github.com/python-openapi/openapi-schema-validator/pull/165
+
+diff --git a/tests/integration/test_validators.py b/tests/integration/test_validators.py
+index 07bc4df..07dfaa9 100644
+--- a/tests/integration/test_validators.py
++++ b/tests/integration/test_validators.py
+@@ -863,5 +863,10 @@ def test_array_prefixitems_invalid(self, validator_class, value):
+ with pytest.raises(ValidationError) as excinfo:
+ validator.validate(value)
+
+- error = "Expected at most 4 items, but found 5"
+- assert error in str(excinfo.value)
++ errors = [
++ # jsonschema < 4.20.0
++ "Expected at most 4 items, but found 5",
++ # jsonschema >= 4.20.0
++ "Expected at most 4 items but found 1 extra",
++ ]
++ assert any(error in str(excinfo.value) for error in errors)
diff --git a/dev-python/openapi-schema-validator/openapi-schema-validator-0.6.2.ebuild b/dev-python/openapi-schema-validator/openapi-schema-validator-0.6.2.ebuild
index 4009d1eae1c0..795cf335b7f0 100644
--- a/dev-python/openapi-schema-validator/openapi-schema-validator-0.6.2.ebuild
+++ b/dev-python/openapi-schema-validator/openapi-schema-validator-0.6.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -28,6 +28,10 @@ RDEPEND="
distutils_enable_tests pytest
src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/${P}-test.patch"
+ )
+
sed -e '/--cov/d' -i pyproject.toml || die
distutils-r1_src_prepare
}
diff --git a/dev-python/openapi-spec-validator/openapi-spec-validator-0.7.1.ebuild b/dev-python/openapi-spec-validator/openapi-spec-validator-0.7.1.ebuild
index 77e12ab9fb16..da05d304c727 100644
--- a/dev-python/openapi-spec-validator/openapi-spec-validator-0.7.1.ebuild
+++ b/dev-python/openapi-spec-validator/openapi-spec-validator-0.7.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/openapi3/openapi3-1.8.2.ebuild b/dev-python/openapi3/openapi3-1.8.2.ebuild
index 77cb4b50a85a..7a93d407de51 100644
--- a/dev-python/openapi3/openapi3-1.8.2.ebuild
+++ b/dev-python/openapi3/openapi3-1.8.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -26,8 +26,7 @@ RDEPEND="
distutils_enable_tests pytest
-python_test() {
+EPYTEST_IGNORE=(
# the fastapi test is broken for fastapi 0.94+
- rm -f tests/fastapi_test.py || die
- epytest
-}
+ tests/fastapi_test.py
+)
diff --git a/dev-python/openpyxl/Manifest b/dev-python/openpyxl/Manifest
index 1d3454889175..6cbd8ce4c67d 100644
--- a/dev-python/openpyxl/Manifest
+++ b/dev-python/openpyxl/Manifest
@@ -1 +1 @@
-DIST openpyxl-3.1.2.tar.bz2 2733302 BLAKE2B 7030c698c2dfa3c3f27f23485e33cc9f4ffc0c473e590785ebfa03a958f7c1deab98503890b7350f32cbb4607b3fbf543b35299c0f8abfbfcc779e96ddda9ee1 SHA512 307d82dcf839c60be606c01f862701f69017573894c7fd26e35ec3edead2ea2a126aecca61b0c7f6727ff834dd6bed844095b9a56f2b510689ab071926a7a742
+DIST openpyxl-3.1.5.tar.bz2 2739068 BLAKE2B 7a70de814c39945ce4ed8c1e8105da9db4347b4a5f90e6620f6a22f85ba55e2330a305a9d6f78ab27f2055b589b6f3beba6943d8c15cbb9a24e94d663bffcf1d SHA512 556d3f1660ae5d045b0801b99740b2cd1eea1fc69c07c87c4bdd7e78999b5094e84db6fcb107b2a80f4648004810d18eea22779e2d3c231a996bbe2a12d33288
diff --git a/dev-python/openpyxl/openpyxl-3.1.2.ebuild b/dev-python/openpyxl/openpyxl-3.1.2.ebuild
deleted file mode 100644
index f4543fcd05bc..000000000000
--- a/dev-python/openpyxl/openpyxl-3.1.2.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure python reader and writer of Excel OpenXML files"
-HOMEPAGE="
- https://openpyxl.readthedocs.io/en/stable/
- https://foss.heptapod.net/openpyxl/openpyxl/
-"
-SRC_URI="
- https://foss.heptapod.net/openpyxl/openpyxl/-/archive/${PV}/${P}.tar.bz2
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- dev-python/et_xmlfile[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP},tiff,jpeg]
- )
-"
-
-distutils_enable_sphinx doc \
- dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
-
- case ${EPYTHON} in
- python3.12)
- EPYTEST_DESELECT+=(
- # deprecation warnings
- openpyxl/reader/tests/test_workbook.py::TestWorkbookParser::test_broken_sheet_ref
- openpyxl/reader/tests/test_workbook.py::TestWorkbookParser::test_defined_names_print_area
- openpyxl/reader/tests/test_workbook.py::TestWorkbookParser::test_name_invalid_index
- openpyxl/styles/tests/test_stylesheet.py::test_no_styles
- )
- ;;
- esac
-
- epytest
-}
diff --git a/dev-python/openpyxl/openpyxl-3.1.5.ebuild b/dev-python/openpyxl/openpyxl-3.1.5.ebuild
new file mode 100644
index 000000000000..907014eaebe2
--- /dev/null
+++ b/dev-python/openpyxl/openpyxl-3.1.5.ebuild
@@ -0,0 +1,46 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Pure python reader and writer of Excel OpenXML files"
+HOMEPAGE="
+ https://openpyxl.readthedocs.io/en/stable/
+ https://foss.heptapod.net/openpyxl/openpyxl/
+"
+SRC_URI="
+ https://foss.heptapod.net/openpyxl/openpyxl/-/archive/${PV}/${P}.tar.bz2
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-python/et-xmlfile[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/lxml-5.0.3[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP},tiff,jpeg]
+ )
+"
+
+distutils_enable_sphinx doc \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # GC assumptions (pypy)
+ openpyxl/tests/test_iter.py::test_file_descriptor_leak
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/opensearch-py/Manifest b/dev-python/opensearch-py/Manifest
index 151c3a7da0e5..9dea46936495 100644
--- a/dev-python/opensearch-py/Manifest
+++ b/dev-python/opensearch-py/Manifest
@@ -1,2 +1 @@
-DIST opensearch-py-1.1.0.gh.tar.gz 204905 BLAKE2B d54875ddf57de0338c233abc69fed0df83154977b641f151c268faebfe303d851664abafab40bbf53fd5b24350f4136959130c1cc3be7ea92b616568d10130c8 SHA512 4eb3bc9e981c5293e68496143900bd50d7c3e301c76b080799bd08e5b840a2ec5610c5374f07c5a1f1e91cf3e709647f9585606ac1149fbf464cbe4168516b41
DIST opensearch-py-2.3.0.gh.tar.gz 392631 BLAKE2B b2e88c98676c8c035f8c295b12b8cd8a7b8f4d6e4b1b4dca76f2417cf9d8c01b16bc36b3bed7f64d91d643aa2ceba681af6eac9b4d1a3d3bfa1a2cb13a53f167 SHA512 8be82ff19b4aa3d44dba8dd3b56676241de1999d6ae91c8414528132a6ed450850bf3b544a858c9fe0a5b188cd0da1196a524f9515e90369f5232c3ca7244d22
diff --git a/dev-python/opensearch-py/opensearch-py-1.1.0.ebuild b/dev-python/opensearch-py/opensearch-py-1.1.0.ebuild
deleted file mode 100644
index e8a8167526a5..000000000000
--- a/dev-python/opensearch-py/opensearch-py-1.1.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python client for OpenSearch"
-HOMEPAGE="
- https://pypi.org/project/opensearch-py/
- https://github.com/opensearch-project/opensearch-py
-"
-SRC_URI="
- https://github.com/opensearch-project/opensearch-py/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="test"
-
-# Uses 156 GB of RAM for the test suite, needs more work.
-RESTRICT="test"
-
-RDEPEND="
- <dev-python/urllib3-2[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/requests-2.0.0[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/botocore[${PYTHON_USEDEP}]
- )
-"
diff --git a/dev-python/openstackdocstheme/openstackdocstheme-3.2.0.ebuild b/dev-python/openstackdocstheme/openstackdocstheme-3.2.0.ebuild
index 4313a340bd14..89587f52ae08 100644
--- a/dev-python/openstackdocstheme/openstackdocstheme-3.2.0.ebuild
+++ b/dev-python/openstackdocstheme/openstackdocstheme-3.2.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/openstacksdk/Manifest b/dev-python/openstacksdk/Manifest
index 5bda6b2fa1f7..77631d89b982 100644
--- a/dev-python/openstacksdk/Manifest
+++ b/dev-python/openstacksdk/Manifest
@@ -1 +1,3 @@
-DIST openstacksdk-2.0.0.tar.gz 1201657 BLAKE2B 5b1f2cf4958ace5b90b95b8c4789f70b3ab53809792ddb0337dd87d0ebb0a1bea93a3495f20e7413222cee63c1b60536c704405f683910099272ca46033e9810 SHA512 29f963aa5dce97b6bf7a90b9e82c341b6e027fd6e7937e76d98e87d05933890b0f110efbae2d03c7bc0a04feb3acf954ff0ec7d0ad28af5f0373a27e8d956683
+DIST openstacksdk-3.1.0.tar.gz 1215965 BLAKE2B 6bf5c3f85dcc2a027af10b675f7a3c7f7cf82bccc20558c0e094def02ff07fca4952ed71240bdf29600c3ef077575c49dce0dccb1683539bef756897813f4d1a SHA512 97ef0610115e1f1534900a6003d699028c6b331af0ef95fadb27babf0bf1467a304a3cc935f07270bf597053e2536e74de79333f67d116cf0b18583a3c8db878
+DIST openstacksdk-3.2.0.tar.gz 1228138 BLAKE2B f03f90898beb4650f1ba3b13192f4d85dd630ad680c0a5988e9d284e0c5574e6a66085c93b291338df810bc2e31dbddd972557e159ac293be77298ffcac9ab1c SHA512 8cfc9054fe2749024d33556111c60af6b0225abce800fdb7fe1fbf81b0b7e9e183a191dd62eb12ba768b5815d76c1e0b335c0b5a3eac63efe005330794988537
+DIST openstacksdk-3.3.0.tar.gz 1229640 BLAKE2B f807493c8db39121599124389f330316edb0d183a7bbf9219b6e75eb6c871d3bf55207a7de7270635e4a154b9e30e2365122eab2ea28634c8f003371dccaed03 SHA512 cccfd6f28de9c617ccf9e8d0476a884a63ac0e15707ac446f0aa56f22eaefabcff07ab7aa3d46484fe0c7c5a565d000f72407250e1365202af4bbc8787fbad18
diff --git a/dev-python/openstacksdk/openstacksdk-2.0.0-r1.ebuild b/dev-python/openstacksdk/openstacksdk-2.0.0-r1.ebuild
deleted file mode 100644
index bedb73a3dd6e..000000000000
--- a/dev-python/openstacksdk/openstacksdk-2.0.0-r1.ebuild
+++ /dev/null
@@ -1,89 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A collection of libraries for building applications to work with OpenStack"
-HOMEPAGE="
- https://opendev.org/openstack/openstacksdk/
- https://github.com/openstack/openstacksdk/
- https://pypi.org/project/openstacksdk/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/cryptography-2.7.0[${PYTHON_USEDEP}]
- >=dev-python/decorator-4.4.1[${PYTHON_USEDEP}]
- >=dev-python/dogpile-cache-0.6.5[${PYTHON_USEDEP}]
- >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
- >=dev-python/jmespath-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/jsonpatch-1.20[${PYTHON_USEDEP}]
- >=dev-python/keystoneauth1-3.18.0[${PYTHON_USEDEP}]
- >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
- >=dev-python/os-service-types-1.7.0[${PYTHON_USEDEP}]
- >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-3[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
- >=dev-python/requestsexceptions-1.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/prometheus-client-0.4.2[${PYTHON_USEDEP}]
- >=dev-python/oslo-config-6.1.0[${PYTHON_USEDEP}]
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/statsd-3.3.0[${PYTHON_USEDEP}]
- >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # Internet?
- sed -e 's:test_create_dynamic_large_object:_&:' \
- -i openstack/tests/unit/cloud/test_object.py || die
-
- # TODO
- sed -e 's:test_generate_form:_&:' \
- -e 's:test_create_static_large_object:_&:' \
- -e 's:test_object_segment_retries:_&:' \
- -e 's:test_object_segment_retry_failure:_&:' \
- -e 's:test_slo_manifest_retry:_&:' \
- -i openstack/tests/unit/cloud/test_object.py || die
-
- # unhappy about paths due to test runner
- sed -e 's:test_method_not_supported:_&:' \
- -i openstack/tests/unit/test_exceptions.py || die
- sed -e 's:test_repr:_&:' \
- -i openstack/tests/unit/test_resource.py || die
-
- # requires hacking
- rm openstack/tests/unit/test_hacking.py || die
-
- # fragile warning-based tests
- sed -e 's:test_unsupported_version_override:_&:' \
- -i openstack/tests/unit/test_missing_version.py || die
- sed -e 's:test_create_unknown_proxy:_&:' \
- -i openstack/tests/unit/test_connection.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- # functional tests require cloud instance access
- eunittest -b openstack/tests/unit
-}
diff --git a/dev-python/openstacksdk/openstacksdk-3.1.0.ebuild b/dev-python/openstacksdk/openstacksdk-3.1.0.ebuild
new file mode 100644
index 000000000000..76434f8532c5
--- /dev/null
+++ b/dev-python/openstacksdk/openstacksdk-3.1.0.ebuild
@@ -0,0 +1,91 @@
+# 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="A collection of libraries for building applications to work with OpenStack"
+HOMEPAGE="
+ https://opendev.org/openstack/openstacksdk/
+ https://github.com/openstack/openstacksdk/
+ https://pypi.org/project/openstacksdk/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/decorator-4.4.1[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-0.6.5[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonpatch-1.21[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/os-service-types-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
+ >=dev-python/requestsexceptions-1.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/prometheus-client-0.4.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/statsd-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Internet?
+ sed -e 's:test_create_dynamic_large_object:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+
+ # TODO
+ sed -e 's:test_generate_form:_&:' \
+ -e 's:test_create_static_large_object:_&:' \
+ -e 's:test_object_segment_retries:_&:' \
+ -e 's:test_object_segment_retry_failure:_&:' \
+ -e 's:test_slo_manifest_retry:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+ sed -e 's:test_servers:_&:' \
+ -i openstack/tests/unit/test_stats.py || die
+
+ # unhappy about paths due to test runner
+ sed -e 's:test_method_not_supported:_&:' \
+ -i openstack/tests/unit/test_exceptions.py || die
+ sed -e 's:test_repr:_&:' \
+ -i openstack/tests/unit/test_resource.py || die
+
+ # requires hacking
+ rm openstack/tests/unit/test_hacking.py || die
+
+ # fragile warning-based tests
+ sed -e 's:test_unsupported_version_override:_&:' \
+ -i openstack/tests/unit/test_missing_version.py || die
+ sed -e 's:test_create_unknown_proxy:_&:' \
+ -i openstack/tests/unit/test_connection.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b openstack/tests/unit
+}
diff --git a/dev-python/openstacksdk/openstacksdk-3.2.0.ebuild b/dev-python/openstacksdk/openstacksdk-3.2.0.ebuild
new file mode 100644
index 000000000000..39d1d164ab65
--- /dev/null
+++ b/dev-python/openstacksdk/openstacksdk-3.2.0.ebuild
@@ -0,0 +1,91 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A collection of libraries for building applications to work with OpenStack"
+HOMEPAGE="
+ https://opendev.org/openstack/openstacksdk/
+ https://github.com/openstack/openstacksdk/
+ https://pypi.org/project/openstacksdk/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/decorator-4.4.1[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-0.6.5[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonpatch-1.21[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/os-service-types-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
+ >=dev-python/requestsexceptions-1.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/prometheus-client-0.4.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/statsd-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Internet?
+ sed -e 's:test_create_dynamic_large_object:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+
+ # TODO
+ sed -e 's:test_generate_form:_&:' \
+ -e 's:test_create_static_large_object:_&:' \
+ -e 's:test_object_segment_retries:_&:' \
+ -e 's:test_object_segment_retry_failure:_&:' \
+ -e 's:test_slo_manifest_retry:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+ sed -e 's:test_servers:_&:' \
+ -i openstack/tests/unit/test_stats.py || die
+
+ # unhappy about paths due to test runner
+ sed -e 's:test_method_not_supported:_&:' \
+ -i openstack/tests/unit/test_exceptions.py || die
+ sed -e 's:test_repr:_&:' \
+ -i openstack/tests/unit/test_resource.py || die
+
+ # requires hacking
+ rm openstack/tests/unit/test_hacking.py || die
+
+ # fragile warning-based tests
+ sed -e 's:test_unsupported_version_override:_&:' \
+ -i openstack/tests/unit/test_missing_version.py || die
+ sed -e 's:test_create_unknown_proxy:_&:' \
+ -i openstack/tests/unit/test_connection.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b openstack/tests/unit
+}
diff --git a/dev-python/openstacksdk/openstacksdk-3.3.0.ebuild b/dev-python/openstacksdk/openstacksdk-3.3.0.ebuild
new file mode 100644
index 000000000000..39d1d164ab65
--- /dev/null
+++ b/dev-python/openstacksdk/openstacksdk-3.3.0.ebuild
@@ -0,0 +1,91 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A collection of libraries for building applications to work with OpenStack"
+HOMEPAGE="
+ https://opendev.org/openstack/openstacksdk/
+ https://github.com/openstack/openstacksdk/
+ https://pypi.org/project/openstacksdk/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/decorator-4.4.1[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-0.6.5[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/jmespath-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonpatch-1.21[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.18.0[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/os-service-types-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
+ >=dev-python/requestsexceptions-1.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-6.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/prometheus-client-0.4.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/statsd-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Internet?
+ sed -e 's:test_create_dynamic_large_object:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+
+ # TODO
+ sed -e 's:test_generate_form:_&:' \
+ -e 's:test_create_static_large_object:_&:' \
+ -e 's:test_object_segment_retries:_&:' \
+ -e 's:test_object_segment_retry_failure:_&:' \
+ -e 's:test_slo_manifest_retry:_&:' \
+ -i openstack/tests/unit/cloud/test_object.py || die
+ sed -e 's:test_servers:_&:' \
+ -i openstack/tests/unit/test_stats.py || die
+
+ # unhappy about paths due to test runner
+ sed -e 's:test_method_not_supported:_&:' \
+ -i openstack/tests/unit/test_exceptions.py || die
+ sed -e 's:test_repr:_&:' \
+ -i openstack/tests/unit/test_resource.py || die
+
+ # requires hacking
+ rm openstack/tests/unit/test_hacking.py || die
+
+ # fragile warning-based tests
+ sed -e 's:test_unsupported_version_override:_&:' \
+ -i openstack/tests/unit/test_missing_version.py || die
+ sed -e 's:test_create_unknown_proxy:_&:' \
+ -i openstack/tests/unit/test_connection.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b openstack/tests/unit
+}
diff --git a/dev-python/opentelemetry-api/Manifest b/dev-python/opentelemetry-api/Manifest
new file mode 100644
index 000000000000..dc35f6a3f727
--- /dev/null
+++ b/dev-python/opentelemetry-api/Manifest
@@ -0,0 +1 @@
+DIST opentelemetry-python-1.24.0.gh.tar.gz 532064 BLAKE2B 3dc13658293d1651d8e441b0c43f539a4e5e9d49d633786cb3f3dbab667b016c88777e0691bac24ca43e7df5f04c8e41a67e9f6991787947d743b1b30b5953cd SHA512 dbae1db127e2aed0a90bb01db6e2865162f945a9e6713f5048c7f56660231a14c3707474f9f65db8759f2f03334c3126d0542c3c8c2e0998d0f7f98ae6e84ef8
diff --git a/dev-python/opentelemetry-api/metadata.xml b/dev-python/opentelemetry-api/metadata.xml
new file mode 100644
index 000000000000..c98d276f46d8
--- /dev/null
+++ b/dev-python/opentelemetry-api/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>parona@protonmail.com</email>
+ <name>Alfred Wingate</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">opentelemetry-api</remote-id>
+ <remote-id type="github">open-telemetry/opentelemetry-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/opentelemetry-api/opentelemetry-api-1.24.0.ebuild b/dev-python/opentelemetry-api/opentelemetry-api-1.24.0.ebuild
new file mode 100644
index 000000000000..f9e025997c2d
--- /dev/null
+++ b/dev-python/opentelemetry-api/opentelemetry-api-1.24.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="opentelemetry-python-${PV}"
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenTelemetry Python API"
+HOMEPAGE="
+ https://opentelemetry.io/
+ https://pypi.org/project/opentelemetry-api/
+ https://github.com/open-telemetry/opentelemetry-python/
+"
+SRC_URI="
+ https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/${PN}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ >=dev-python/deprecated-1.2.6[${PYTHON_USEDEP}]
+ dev-python/importlib-metadata[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/asgiref[${PYTHON_USEDEP}]
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/iniconfig[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pluggy[${PYTHON_USEDEP}]
+ dev-python/py-cpuinfo[${PYTHON_USEDEP}]
+ dev-python/py[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/wrapt[${PYTHON_USEDEP}]
+ dev-python/zipp[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+
+ # Unnecessary restriction
+ # https://github.com/open-telemetry/opentelemetry-python/pull/3576
+ sed -i -e '/importlib-metadata/s:, <= 7.0::' pyproject.toml || die
+}
+
+python_test() {
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ for dep in opentelemetry-semantic-conventions opentelemetry-sdk tests/opentelemetry-test-utils ; do
+ pushd "${WORKDIR}/${MY_P}/${dep}" >/dev/null || die
+ distutils_pep517_install "${BUILD_DIR}"/test
+ popd >/dev/null || die
+ done
+
+ epytest
+}
diff --git a/dev-python/opentelemetry-sdk/Manifest b/dev-python/opentelemetry-sdk/Manifest
new file mode 100644
index 000000000000..dc35f6a3f727
--- /dev/null
+++ b/dev-python/opentelemetry-sdk/Manifest
@@ -0,0 +1 @@
+DIST opentelemetry-python-1.24.0.gh.tar.gz 532064 BLAKE2B 3dc13658293d1651d8e441b0c43f539a4e5e9d49d633786cb3f3dbab667b016c88777e0691bac24ca43e7df5f04c8e41a67e9f6991787947d743b1b30b5953cd SHA512 dbae1db127e2aed0a90bb01db6e2865162f945a9e6713f5048c7f56660231a14c3707474f9f65db8759f2f03334c3126d0542c3c8c2e0998d0f7f98ae6e84ef8
diff --git a/dev-python/opentelemetry-sdk/metadata.xml b/dev-python/opentelemetry-sdk/metadata.xml
new file mode 100644
index 000000000000..a1109c9c4db7
--- /dev/null
+++ b/dev-python/opentelemetry-sdk/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>parona@protonmail.com</email>
+ <name>Alfred Wingate</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">opentelemetry-sdk</remote-id>
+ <remote-id type="github">open-telemetry/opentelemetry-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.24.0.ebuild b/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.24.0.ebuild
new file mode 100644
index 000000000000..ff5a0d98b80b
--- /dev/null
+++ b/dev-python/opentelemetry-sdk/opentelemetry-sdk-1.24.0.ebuild
@@ -0,0 +1,81 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="opentelemetry-python-${PV}"
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="OpenTelemetry Python SDK"
+HOMEPAGE="
+ https://opentelemetry.io/
+ https://pypi.org/project/opentelemetry-sdk/
+ https://github.com/open-telemetry/opentelemetry-python/
+"
+SRC_URI="
+ https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+
+S="${WORKDIR}/${MY_P}/${PN}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ ~dev-python/opentelemetry-api-${PV}[${PYTHON_USEDEP}]
+ ~dev-python/opentelemetry-semantic-conventions-${PV}[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/asgiref[${PYTHON_USEDEP}]
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/deprecated[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/importlib-metadata[${PYTHON_USEDEP}]
+ dev-python/iniconfig[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pluggy[${PYTHON_USEDEP}]
+ dev-python/py-cpuinfo[${PYTHON_USEDEP}]
+ dev-python/py[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/wrapt[${PYTHON_USEDEP}]
+ dev-python/zipp[${PYTHON_USEDEP}]
+ )
+"
+
+# Tests cannot handle xdist with high makeopts
+# https://bugs.gentoo.org/928132
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+
+ # Use the same version with all opentelemetry components
+ # # https://github.com/gentoo/gentoo/pull/35962#issuecomment-2025466313
+ sed -i -e "s/\"\(opentelemetry-semantic-conventions == \).*\"/\"\1 ${PV}\"/" pyproject.toml || die
+}
+
+python_test() {
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ for dep in tests/opentelemetry-test-utils; do
+ pushd "${WORKDIR}/${MY_P}/${dep}" >/dev/null || die
+ distutils_pep517_install "${BUILD_DIR}"/test
+ popd >/dev/null || die
+ done
+
+ local EPYTEST_IGNORE=(
+ tests/performance/benchmarks/
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/opentelemetry-semantic-conventions/Manifest b/dev-python/opentelemetry-semantic-conventions/Manifest
new file mode 100644
index 000000000000..dc35f6a3f727
--- /dev/null
+++ b/dev-python/opentelemetry-semantic-conventions/Manifest
@@ -0,0 +1 @@
+DIST opentelemetry-python-1.24.0.gh.tar.gz 532064 BLAKE2B 3dc13658293d1651d8e441b0c43f539a4e5e9d49d633786cb3f3dbab667b016c88777e0691bac24ca43e7df5f04c8e41a67e9f6991787947d743b1b30b5953cd SHA512 dbae1db127e2aed0a90bb01db6e2865162f945a9e6713f5048c7f56660231a14c3707474f9f65db8759f2f03334c3126d0542c3c8c2e0998d0f7f98ae6e84ef8
diff --git a/dev-python/opentelemetry-semantic-conventions/metadata.xml b/dev-python/opentelemetry-semantic-conventions/metadata.xml
new file mode 100644
index 000000000000..4f1084df480f
--- /dev/null
+++ b/dev-python/opentelemetry-semantic-conventions/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>parona@protonmail.com</email>
+ <name>Alfred Wingate</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">opentelemetry-semantic-conventions</remote-id>
+ <remote-id type="github">open-telemetry/opentelemetry-python</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.24.0.ebuild b/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.24.0.ebuild
new file mode 100644
index 000000000000..e997c2e9c7d1
--- /dev/null
+++ b/dev-python/opentelemetry-semantic-conventions/opentelemetry-semantic-conventions-1.24.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MY_P="opentelemetry-python-${PV}"
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="OpenTelemetry Semantic Conventions"
+HOMEPAGE="
+ https://opentelemetry.io/
+ https://pypi.org/project/opentelemetry-sdk/
+ https://github.com/open-telemetry/opentelemetry-python/
+"
+SRC_URI="
+ https://github.com/open-telemetry/opentelemetry-python/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/${PN}"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+BDEPEND="
+ test? (
+ dev-python/asgiref[${PYTHON_USEDEP}]
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/deprecated[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/importlib-metadata[${PYTHON_USEDEP}]
+ dev-python/iniconfig[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pluggy[${PYTHON_USEDEP}]
+ dev-python/py-cpuinfo[${PYTHON_USEDEP}]
+ dev-python/py[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-python/wrapt[${PYTHON_USEDEP}]
+ dev-python/zipp[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+
+ # Use the same version with all opentelemetry components
+ # https://github.com/gentoo/gentoo/pull/35962#issuecomment-2025466313
+ sed -i -e "s/\(__version__ =\) .*/\1 \"${PV}\"/" src/opentelemetry/semconv/version.py || die
+}
+
+python_test() {
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ local -x PATH=${BUILD_DIR}/test/usr/bin:${PATH}
+
+ for dep in opentelemetry-api opentelemetry-sdk tests/opentelemetry-test-utils ; do
+ pushd "${WORKDIR}/${MY_P}/${dep}" >/dev/null || die
+ distutils_pep517_install "${BUILD_DIR}"/test
+ popd >/dev/null || die
+ done
+
+ epytest
+}
diff --git a/dev-python/ordered-set/ordered-set-4.1.0.ebuild b/dev-python/ordered-set/ordered-set-4.1.0.ebuild
index b68a3c64c3e6..b920e7c78860 100644
--- a/dev-python/ordered-set/ordered-set-4.1.0.ebuild
+++ b/dev-python/ordered-set/ordered-set-4.1.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
@@ -6,7 +6,7 @@ EAPI=7
DISTUTILS_USE_PEP517=flit
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/orjson/Manifest b/dev-python/orjson/Manifest
index 13dc648eba75..4d6c3d65905f 100644
--- a/dev-python/orjson/Manifest
+++ b/dev-python/orjson/Manifest
@@ -1,39 +1,39 @@
-DIST ahash-0.8.6.crate 42780 BLAKE2B ce2fb8201a484715d42bbd9ca1bfe2d5f541d90e3619ebd437c34a018920b679d5a11f9e96be48fbdabd2e98a379c0395d118616f21eb9004724d8fcb04b2b2b SHA512 46428b27e96be1f30058b9383a94988beeb5064dfb4df04d6959b451d0c77ef69fc51f07fdf9511ab9728295eb6beee7783c31a2297f9e473fc537883e722b73
DIST arrayvec-0.7.4.crate 29856 BLAKE2B 81ffac1db340e919618351819def3880ab1ef70d0acc47d680f15298eb749bcbc3bf7944ba14159be46b1e734c91b4c0f8cbaf774fd864c17caa3c9fb1fc2e9b SHA512 91e8f70330c515c966d78ae235e890594f9607381ac738a2c3586b53f01411e98d1687494f39ccc365948ae60497df3dfb2be18e26ab7e69bc0966b6c250e1ac
DIST associative-cache-2.0.0.crate 13960 BLAKE2B d0089d97ffd7bf1db65489501b53ad50e0b6070fe9a72c90fbefe3d7f49f723bcd831470a1195e9a3725bcd1ad48df879b52bde5e4efe08e95108de8509fdc77 SHA512 854f5130f286aaa76ffa2f4cbe27ca57c8220ec517c0d6fac46e5a505a3cb5fdc9ab60818db9f890b63ce2f44d243594d44747f7a87af9f304aaab3f4a4e8567
-DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635
DIST beef-0.5.2.crate 15275 BLAKE2B 95d60fb1840ca26581841ad65a4e8f3f99d5f8d44c569219f4d06ce441bb3a4ba558e231e73a51cd1c6b4d9e4cc6a07942115c134289fb1982dace03049d3a1e SHA512 755fc588acbf730bc9c80dbfc20cd0ef81f792a94da0dd28379ad83a7359ddd4c7b136ba8048dd460bb8652475db3d12814fcbd04eff4ebe8ec8a1bcd024c2aa
-DIST bytecount-0.6.7.crate 14642 BLAKE2B eabbc141f2a277d07fd002869d1746e7f743b96c3dc72b8708308e826d3934ecb01407e77653ef46d06b3bdd9d931e121c9c66a784d46116a9e6b98e992512f4 SHA512 afd46ec3f60022a173b57dd954a06c7c86f21fc153a0ee6fc2052ada5a630515a386bc8344680ced57dd19a205480c694b9a04a6da0660b6e854b4a712604d53
+DIST bytecount-0.6.8.crate 14694 BLAKE2B f534fadb45ce25036313c0c4d54ecfd2091069d5402e02606da36d73696c74e3162990dfdbc95dca4424b498983bf04019234af6eb71e38ca28fb7da61d181fb SHA512 5984dbb71fe22371db00ca56675f409cefcf7c093f406ce1abc330a0b1535f30a43a520fb64d66c04a181a4f05d956300e35f77b43aceeb161eaf8a2c64df614
DIST castaway-0.2.2.crate 11091 BLAKE2B 3445e68aaf533caa1df958fb371622ef61c7778d515fd1efe39a12588e24fe07480738daba008e414a95e72af10d5ea29702425e5b91ebb277fe346ff74bc43b SHA512 dbce2a61a429eda7a8f21b4a35dced729267298be9793310afaff58843211a7177a9bb932a4bd9dfcedaaf1a2570b90261d4c1047c62474450ea835dcfc325a4
-DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7
+DIST cc-1.0.104.crate 79710 BLAKE2B 67248278ef46eada183d63377fc66ad83244c906b4a7d26a8363cc1e88dabb13e894ceaeb1c02f0444a0d7d2d2bc92075689b17de990348ec61e855ac473e97f SHA512 b8c9a3dcc685fd7c962f59ff96e1d60ee0bce290d9019d9d3035f49ac4d2806708a3266985e8d2e6fa8c9b36bcde8272b5ed7a6b258cbb8dc4cebeed69eb3b15
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST chrono-0.4.31.crate 214513 BLAKE2B 2ac43852ea14cb7b129adf68ff62adac1763b3f4802dd3d23c43cb131377b501b4adb22aa93818d7ceded8eb10c17f94a7836257ce2876d0513b063276129c54 SHA512 23276daa2c1bc3b7b2327dc84200fb40cc995a8b599d1a537e92e08138ab8a0d1548a510a8155dcdda18820120d7204e89a4686c866fc3a8d2460cdb30ac6089
+DIST chrono-0.4.34.crate 228932 BLAKE2B a2feab8d8b079209f8661fd8c5069f2a5fc3e5b0a6233187ace16f8f2ad8b4a147253e47af306cb31aacd82bdf490a8c8a171ad702b8dc22f9b934205d080c55 SHA512 2aaccde5e5ecaec744613429f807b3c34b92632973de7fdbdafd7ca510b917a23a0abc92a6497754d0d3368d684305648aec1fa2a0a61c88a100a20fab2348f1
DIST compact_str-0.7.1.crate 57246 BLAKE2B 2da5cfdc91d417294ca87ce834e8006d3426aff4cb22945e6744ace7d22c940f0181a75f25e6acc41efb5d83bf6ba4ee0876db3ce5cc05b9524a9868dcb8c7c9 SHA512 29ed591024f8f1b478722384664f5700fbde97b44af82fa32a8d1ccdedca9dc425555f9e5a4431a6c954d58cd90d60a25a9ed7f18773ede13edfc68094a23275
-DIST encoding_rs-0.8.33.crate 1370071 BLAKE2B 0e81419086ca6e18f2aba5194b87eaba49ddf20493fd6ee09d479db86306e39dff9b23f399594afc42f1fdb33855e070beaa1871794dc0b0371c35d296a6369a SHA512 20d28a4c0ff0710f911f510be56c2bc5e7514b76d370493d2b89b7f25d1c0cd46ffa64862e54fc472f07f928a2cc24cf9d790a37751cafafc81f263705aac4bc
-DIST itoa-1.0.9.crate 10492 BLAKE2B 0d5acef9ae72d3f4b5a387d231952e6025def69da81d38269b4882bc534be7acadc073e526fd8bebdca898a98b2c741735c541e0b6a35ed0f8f8799b906b65b1 SHA512 95f7906edb7d6a2690389167f8c4d01bc37827205bca87d527f2eb33722419ed2f2e8afaa559cc5a0a7e7fac76515c9c44c71c42b536aa34b0e2858c40946b6d
+DIST crunchy-0.2.2.crate 2995 BLAKE2B 74ddf8c5e0deb2ceab65c20a2743e1230739ac6aa3af60c9e867a7852270697a1278b7dee00df8949fc4268f9756a4a098df1211ab3b3e31a122652c3ba0a6fb SHA512 36dc0aebc41a3aac5f1b178a7e61b65bcd9bb5c8539b2024f79428200f7c62daa7098af55c6ab0765febd2f8969bd6c0ac8096f73cdc0958e5c4e4eb6a4f7025
+DIST encoding_rs-0.8.34.crate 1378166 BLAKE2B 528692170cdb1d74ffb0b122a5aee61f50a2a7e4ce6db049ebea4a185e5c43d4ed99e515f08524053a110e061f788f861e62e0b04eb016e7a9e2678235a04577 SHA512 e23b87003814dd6e7e17924bd1f53989a5008dd1da07baa23c40d2a18dc1ab2d786d61e2c304b3f60e73be5f180ae2deea3b4499c0157b6afe3c9273d2f739f6
+DIST gimli-0.30.0.crate 277411 BLAKE2B e3d2b0f55a407f6ea64c36dd4042e3e3601d032c4feb9819c2c414f0203a860cd2181c4d6cf9590ec2c2d978998c2cde6e5d36dfae885abacf7a42d57e13f1af SHA512 f7ab35abb6e565d4cc717659ec6fbb21598c1d350052b60e3f7cf03e87ed3b588f0f2e44991960ec5cbc7992299cdf4cee88eda38dda456127374a758cfdcb35
+DIST half-2.4.1.crate 50892 BLAKE2B c275a9ec70d2fc0c50cb63421399202d31252b0dbf463798ed0a12a17493817c66b8933811d483b348f8f945cb05aab7cc2a4d952bd16009c3da4860202e28dc SHA512 0bce235583ca128723186e1fb50f636b519bf826c942f02c5b969db4117baa87c644665c541991c16d1f1dd97c7233c017a513d45075fc72c5d99ccc7c1ac193
+DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311
DIST itoap-1.0.1.crate 83316 BLAKE2B db0d9f712155bfe4285c3d3debf314da2d64ffd127d6b9dd471074eb7e5dcda41f1e5b04bdad63e0fbd695043eff21956709ffdf2cdd7fc5b329d1d79ee69fc6 SHA512 ed15ba3e1ee1ef5f1658fbb47e8cba66e62acf05d8ac45340e15ace24c86e5adf072b52bfb90ebc5e90f31a9a8e91ada23d4322db9a87bb966922afdd4775840
-DIST libc-0.2.149.crate 715592 BLAKE2B 21dd5d4f9351f3c75790077c7b025046db665f2d48d7a72cda7667bc60febf79d82708cf7d39a323a594397cd590bd3d2a2f85349b4473b90ea4da918382ed0a SHA512 0def64d400d473d6eed30e985522d36801ee6472b15f90e74dc4592e0a8ffbaf30b731be280de52b30255cf60aeca8efe817b67049227dc7000c807e007d7289
-DIST libm-0.2.8.crate 113450 BLAKE2B fc4a55ecc0d4a558b9014b58861341887679c696af6b6539c7cdb70c033c63219b24f6f30cb8d9b335d15e3af42be6f3a6bd719e189667ca0c43ac818730b674 SHA512 753df71bb2c838abbac360db2e4400c2d931185ecff993da51a979870f2c3f7ac017380fadee4622102fb4b37ebcc1960b0cbd295afc9cd1cb3307524e1f39c5
-DIST no-panic-0.1.26.crate 11551 BLAKE2B 2de0c8bbc8310a723af2badb26d4f906d30fe45c13c6fde2e3c729f8ab2885c3ac7450e58f2b7a929cc56a7cc426bcff88162679855442c25648aa5d6b79d139 SHA512 1d0bfa9d8ae91d1bdcefe97623e8f18378c6c4b8b430c7e87c1e41c5722ee6d0bfbb8e03f94f4118526da574ee4db9ea6da78f3e6b867d3d8770daaa390db076
-DIST num-traits-0.2.17.crate 50190 BLAKE2B a549ef00c749dc7f276c4817477d1f9dab70cba01b6a3afa5743f16f16353bc50d992d7446a54859cf750a410d66c8cd3440708a6b91fd89d3b8889f8fff1668 SHA512 4d47d3e2f5a31019e038e609897cb0cef1ba061b35cee7e2a02e65179dcdd4960bd5b9bc759b5c013d699b3fbd9b014940a15e36658f7d4fd12cb0c7841c5b4e
-DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
-DIST orjson-3.9.10.tar.gz 5361203 BLAKE2B 152c6a2a02a5ebc5a755cffbbafe83502272eeea1da602c9b334365b5cb391accb61bc19a52a1f359620c47e02e761e3b6cacbc87f3e74463d0a03886ac42a50 SHA512 070bbee45ec08b1496b0f92d5b36d278000e33f00af6e45f2857b97c14682887558ca6413789cfebfc96a29d2366be0832a01e5e9a69868ab66d2907f86d999a
-DIST packed_simd-0.3.9.crate 98340 BLAKE2B 8668038eb213cec44afded5164ccf368fbecea21aa3de64d49e798d7f0fac638af9616a435cb79cf0435387f67fe97a7eb00748eaf39be14bb6d50ecbb4c938e SHA512 1336ed8aee50a580784f38388f0cc2f0a8639149333e94b7f83aa7cc314a80c60b66ac203a7302cd4cf01f3d0b89da58d2ce9038b7685840fbc1b758217dbd1b
-DIST proc-macro2-1.0.69.crate 44271 BLAKE2B 9d1531a0b123e6238363d574bee03ad050454b65710b9800c12597f3a9ae2f9bf50c617da0472b7ac0b549afaca19c546ccd6519e648598500efda9c0db2ef6d SHA512 d197cbe9b6100c3193a01fd7dd6b4e49d440290012ababb5d9f139409f0afe816f213d67a03abeb1f3227228e0a1f2446d1dc0a2775363a15d1237c38b45d6a1
-DIST pyo3-build-config-0.20.0.crate 29534 BLAKE2B eb1d5f75276533483c52c6fcae49b294d6d8edf504859dae18811c1ef695dc6d0a055f2a34bea305975e4c1492c312433d2dcb7753484f793376c62cd59c8e40 SHA512 a01d06ebeb4b9cfe6ff6731046101e9437498453ca5aa68ec53df3bfb2f34665a489f8072636c2da16c1e867f536032fd293f05a43561117fd131bde5fe5aac7
-DIST pyo3-ffi-0.20.0.crate 64220 BLAKE2B dfe75b9459b4a564d1dd9f907166b76d00c5b50ba027db65d11540a7b993f3ef4e19e574135b538635ebb9c9eba66115c09198c7b6071b0b82fd94faccb1bb63 SHA512 a68f0b1380f2ac3d3034ac8b3788cd6573850137c6678694cbcc3e814b619510b9b21b11704c2e702d4eb7433d8b1d3a6dac663501b6db5197a409407802b714
-DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c
-DIST rustversion-1.0.14.crate 17261 BLAKE2B db30d01914059a893bdb4c448ed0bf04852085c2d948bfbed8819a1d2317c34133cf609abdd806ad628b86974a9c1ab9d09f79743cb8e13257ef32cd444f49c6 SHA512 466d753c28c4899ab3da3e9f3366f7ecc435d484f51e0c07acfa5f3367af0de27ea3bc75efda22159b4990c976b1466a27e7c31c834c72a87d8234318357454b
-DIST ryu-1.0.15.crate 46906 BLAKE2B 6d6949e43aaa27fba0ec6002fa11ba859af8d867f87c90d88413267186abbf6302b817985bca3d577ab3fab2e319e11756f144473a16330dfd8fc7b604cdc4b3 SHA512 4655b5647f919082a9b84b889539ae7fb23a1201057cf280efe79c58cb5f040864efb7812cda5021bf6d34838a15d173ac8bdb0fb9fa2dba85173d3efa5a826b
-DIST serde-1.0.190.crate 76455 BLAKE2B d0f6a52615136d810760c6da3078387abc67ff5119e25953004d470ec6f5c569abf1c324b777c004714b4b15bd49a9972ec592372c807b26f3b4f124d534c833 SHA512 7f1cbe819fbae803865beb20b5d8b9fa52d503e04083be7181c1d04b702aaecf553796db960bfea87dc17ef864246e78a919219588064fb083e77dd2c6c16ce1
-DIST serde_derive-1.0.190.crate 55676 BLAKE2B a6558987927298a6551a52d7a8e265acf1a3a0576716a881329803637b6f7ee7b3329e161bf5b37e410264c03913c2c16166df7dd25110b1295d61806600f4f2 SHA512 5b37b659c45ab95b0333d787cc5e8374076121d548837556774cbe768073b02aef4a6889e32b738ce5d85613264ba78570c0af48d049102d4d687ad791dd09ea
-DIST serde_json-1.0.107.crate 146458 BLAKE2B 753be6076826ee0ba41a067e81c031e6fd69b539086a2d649e6595136fd05d61b717c3d4cb6774af0a0c02102f7f4588e682bd21732450afa93877d093596880 SHA512 ecd4ef86538df402f2a397cb86c5b4b277a9a43d742e2af3d51ab5ac0ba31c677bfc72db06c10f8abbc970ee41d5f77d758f1f70ea18495d96bf78cb7d66c2bc
+DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807
+DIST no-panic-0.1.30.crate 11789 BLAKE2B 11c9978e79fc55a259f4a6b16dc5df9b46e722301970722f9ede1133f3907e0d6c474eda5071f619f52e578c9afafcb94a80c3aa67843f0360db9d70d41f8a7e SHA512 c357be0341e7008662a79b1f3c8b749f90074553002dfa5177089116f4cceaeb062c1a2953acc91d63079d95a70fe550f1f02f47a96d7b09858d60e72be26bb0
+DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
+DIST orjson-3.10.6.tar.gz 4939742 BLAKE2B 89a862ccf4c9de04513d608ca60cdbf493d580b75c2cff53168302a2ee50178a1ac140231637ae7b38052e6b6c8a624f2eda2d2724feb6ea06ed6cb17922e954 SHA512 a3b6bfe4c9611ae62476490ccf9378135df2a714743df2252d247c8bf5724943d5717d2821d22305a854426e2be38cb9d40067aa892035414e8db5b26f1d90fb
+DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
+DIST pyo3-build-config-0.22.0.crate 31205 BLAKE2B 6b9a0de5f431bfc123628c67da040e146e39353d7b42d8d083e1911929dc420622f8a1276229d89b7780bccd02a8e653bcb85bfa51281e72ddfacebadef5277a SHA512 50341f4e5134a275610a5b86e833d1963a0726c2ddc14f4742053c60ad336ee209e73441aca46c8670920ee47a81c76bbd3f9e6412d253a5b389692ff8f3c1f3
+DIST pyo3-ffi-0.22.0.crate 67420 BLAKE2B 65e4ed1a1ce854f37380aa23637a494226b98941b9e3f13eae8f627db0fea248c3cc93c7e594090407ab169cfdb27ab20c47f7004f2b4646103ee34da9a55f31 SHA512 cede32dc8025badcdd6d00b4a1204c6ceb5ad30fa0b637deecca669f2ee2b8961f88d9d867caa8cae59f498dc4e1c15f3b4049c5f47615e215b0f289fc560bce
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
+DIST rustversion-1.0.17.crate 17621 BLAKE2B 1f077ca6fd90333724d1ea9df7f5b178f37f895b71a7b2814e9ba8618bffcd2307f9cb4ac2eea25d461a6686a4b5b51eebb80f1b1ccc773d4da1948c47fe8abe SHA512 0565cddecaedae17e7cd99bc34f54cda242d4c29cd4269f8e3b178ff91d49f3682e7ffe66e436bbb138299736c8e55cc143fefb74c076911fefcc41ba98064f3
+DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84
+DIST serde-1.0.203.crate 77935 BLAKE2B 3d3dd4f81f7d74b60483d6759879a9f87c0c7d615aec308bad1bc575fac4e2071dc86551c2789e87331dbf8089e923ae56fff82e6f5a9992cf850121b052ce1d SHA512 a8d302589244e41f6f675e8d199b2532b29f62b63e45aee141a93dad96033e4bbb27ed01c11e329ec2266cdcc6f2a40f41dfc7d1b9bada69aea81d35d2d82cec
+DIST serde_derive-1.0.203.crate 55867 BLAKE2B 1bc8aa96328bb83e4e4ff527b1df855bbcefd333f0c43c96d1e0b93f98a46273dd88a21653bccc8f517c4fc06d17b9b44332a963d024796e0a2c18a5bfecc824 SHA512 b2aeeab33395ac11ebdbd922fcdbda29f2592e7a20e78aef250713baf269cacf497271be7aa407f657aba33da132df0e035be046fef070f915f234097d1dd392
+DIST serde_json-1.0.120.crate 147062 BLAKE2B 54f93ef2b0f1c9e7c5a8e8797fd298c96513913a20c3e08a21aea39a15ffb5ad0269d5daab10fceea7164ba432e355b89d89dea2985f86bd0e73ac3920f827c5 SHA512 dab44850326f9020d6f6dd3fc8147e22eed693527fe9cac2c6bc8f6a030f461061e8e54d2780382ce32cced63b5a016372a4f9938effdd1631d8f3dc96014e3e
DIST simdutf8-0.1.4.crate 28621 BLAKE2B 94ab48bc899e603acf3805dd45ae8489d565aa39ff79606e80a1731b59d11f429d71bb6c65becf3ceab123767f2d20612cb9f86410fd1aad00d0a796091ad045 SHA512 9f821035e147c035707910227b51e01d3f761ab8b578d95a86a776b2a4da01bc4d8ef28df7ea2c16ca125a2699d8903b826ad07a5937728e33dd58753ebd704c
-DIST smallvec-1.11.1.crate 34831 BLAKE2B bad85ddb1d3a1fcec0cb6aba413f90695e0aa0c16b2b231d6d15095bdd6de1731720ea2b394c3f9a444d6d4763bbf44cff389a01aef3488dc599d2ea63ddbc36 SHA512 d4ed45e8867366072e77f23ebe8b31be96be37e5beed30fc2b5ffea81ab04a2ad2aa34fb4f29724b02a5eb90f8b1d8c40b800ee915453947f90758ce999704b5
+DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
DIST static_assertions-1.1.0.crate 18480 BLAKE2B 358dd5ac413d06f62da0388e2016c5fcb8ec68fd7dceb0dbbcb97665c032b7509b7e083c20701648b6a9174485f117c02682ae4bde7ef037e80a85cdf6a0c86e SHA512 46d0e35f77941dee6f60f574c130472248063dc38494c1c4f84f7c048244cc2a58a86fe17c0990e3f0f01406b75ed385a13d00058612b27cf0e867c8d31c92ee
-DIST syn-2.0.38.crate 243284 BLAKE2B 660de454989016dbb352c262d5d066ddc663eafcb928a2f62f61e6faf14cceed5cfbc37559e3795e1ce7886c78842be71eaa82ddced0cd6dd99ad99f95ab8ca4 SHA512 84fd4f4bc6de97cdb63a1ee9161daf8fb8fd1fa0f3c3bba4a29c463cd62cffd292c45b8cf17fd0911e580098cadc7b167e4e686595d31d72e7b53ee7df6d5f04
-DIST target-lexicon-0.12.12.crate 25156 BLAKE2B f3803596c75f6c89438592a1176c3748fc2c0524d7d50a20056de1cd26d40c572b05bafcdf6dd702752864bea37c8b4f28f96dadc12a5b3bb1d279b25e489f85 SHA512 6147295c43ba1b7b087a3c5ab51534b2985e4e77e5e15687978cfb9d07e21c4fd9bc7191576d6cabd268d08a44dc733c4a957e59dba8b948c2055d8bb433aeca
+DIST syn-2.0.68.crate 265035 BLAKE2B 8bc6f68ed286bea617a2cfaf3949bb699d3a0466faeca735314a51596ce950e4ee57eda88154bd562c1728cfaff4cdb5bc1ba701b9d47a9c50d4c4f011bee975 SHA512 7b781f8ea2b0d01c06f47d165da99cd96e3b44a33de1d77c78a2cb37ebe3f8304f426ba3d0d1cf766241dcc0537908774504df7d455d63bf89ec22ac0499d372
+DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a
DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+DIST unwinding-0.2.2.crate 26818 BLAKE2B 14e918929cb6d7f2d0e1698ab425658353549d83a66733f05d172344a5b6b319c977576d48601ab5f363f5f7b552ec6049a4f291382885f295a1549c0b043ae0 SHA512 0fb87c31dcf607a01f6600fee2a4c87e8d2864603b71b060e3cfcc14f96ffd351e39e8217e8c8a39ef3e550dbe923befa5294367c64edf42bebb3df6878047dd
DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
-DIST zerocopy-0.7.15.crate 106053 BLAKE2B 6d9757a0ad44d88fbd5945b62964e09d802f4a9c04a4eeecc3d8c121b5f0461cbef51f7282363f5dd317b34d25c40ee892b26ce0b8ff7e8bb5061856c0325118 SHA512 6327465f767bbaa6f5d651b946f9bc46762ce818c7833fa819811ee170d71d30a7570785df38e16ab7027c935ddd2dcf82d524a368906961e6ab12f6d10cbcb6
-DIST zerocopy-derive-0.7.15.crate 527188 BLAKE2B 14f407cd48136c8a003084485de2aa79c2405a294e7b46425c669f533bbcbe5180c8161fc464a262eb0a2818c217ec34b496e22dc7080a0d77a06891df7d2aea SHA512 a3ee47781616b2aaceee230b76535ccc6adf354db1952bdbfdd73ab3746a47fbcb7b9a7abe6456b030facc63713d40cf2d0831e357e8ddc088cc1524f92f2e35
+DIST xxhash-rust-0.8.10.crate 20066 BLAKE2B 5fca80ff05e00d5f78c2655093a963b08a16d2bd40e74e53c9e48e9812f81d668f9d60cd23872cb76ecb643cd381eddb841da5ba93a5f9fc92e42e6d8bb7e871 SHA512 c5a66c4c7a30dffe9d925dbfa8d0b5ae5b825770cb5d52a0d5de2eadf24c9af1b08b11b2e7a94ce60a30dabb2ce61cd3066cc781d05c90bc6a9d46daa2e04b71
diff --git a/dev-python/orjson/orjson-3.10.6.ebuild b/dev-python/orjson/orjson-3.10.6.ebuild
new file mode 100644
index 000000000000..e80372103b31
--- /dev/null
+++ b/dev-python/orjson/orjson-3.10.6.ebuild
@@ -0,0 +1,91 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{10..13} )
+
+CRATES="
+ arrayvec@0.7.4
+ associative-cache@2.0.0
+ autocfg@1.3.0
+ beef@0.5.2
+ bytecount@0.6.8
+ castaway@0.2.2
+ cc@1.0.104
+ cfg-if@1.0.0
+ chrono@0.4.34
+ compact_str@0.7.1
+ crunchy@0.2.2
+ encoding_rs@0.8.34
+ gimli@0.30.0
+ half@2.4.1
+ itoa@1.0.11
+ itoap@1.0.1
+ libc@0.2.155
+ no-panic@0.1.30
+ num-traits@0.2.19
+ once_cell@1.19.0
+ proc-macro2@1.0.86
+ pyo3-build-config@0.22.0
+ pyo3-ffi@0.22.0
+ quote@1.0.36
+ rustversion@1.0.17
+ ryu@1.0.18
+ serde@1.0.203
+ serde_derive@1.0.203
+ serde_json@1.0.120
+ simdutf8@0.1.4
+ smallvec@1.13.2
+ static_assertions@1.1.0
+ syn@2.0.68
+ target-lexicon@0.12.14
+ unicode-ident@1.0.12
+ unwinding@0.2.2
+ version_check@0.9.4
+ xxhash-rust@0.8.10
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy"
+HOMEPAGE="
+ https://github.com/ijl/orjson/
+ https://pypi.org/project/orjson/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions BSD Boost-1.0 MIT Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ >=virtual/rust-1.72
+ test? (
+ dev-python/arrow[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/numpy[${PYTHON_USEDEP}]
+ ' 'python3*')
+ )
+"
+
+QA_FLAGS_IGNORED=".*"
+
+distutils_enable_tests pytest
+
+export UNSAFE_PYO3_SKIP_VERSION_CHECK=1
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/orjson/orjson-3.9.10.ebuild b/dev-python/orjson/orjson-3.9.10.ebuild
deleted file mode 100644
index 88c300dcb7a5..000000000000
--- a/dev-python/orjson/orjson-3.9.10.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{10..12} )
-
-CRATES="
- ahash@0.8.6
- arrayvec@0.7.4
- associative-cache@2.0.0
- autocfg@1.1.0
- beef@0.5.2
- bytecount@0.6.7
- castaway@0.2.2
- cc@1.0.83
- cfg-if@1.0.0
- chrono@0.4.31
- compact_str@0.7.1
- encoding_rs@0.8.33
- itoa@1.0.9
- itoap@1.0.1
- libc@0.2.149
- libm@0.2.8
- no-panic@0.1.26
- num-traits@0.2.17
- once_cell@1.18.0
- packed_simd@0.3.9
- proc-macro2@1.0.69
- pyo3-build-config@0.20.0
- pyo3-ffi@0.20.0
- quote@1.0.33
- rustversion@1.0.14
- ryu@1.0.15
- serde@1.0.190
- serde_derive@1.0.190
- serde_json@1.0.107
- simdutf8@0.1.4
- smallvec@1.11.1
- static_assertions@1.1.0
- syn@2.0.38
- target-lexicon@0.12.12
- unicode-ident@1.0.12
- version_check@0.9.4
- zerocopy-derive@0.7.15
- zerocopy@0.7.15
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Fast, correct Python JSON library supporting dataclasses, datetimes, and numpy"
-HOMEPAGE="
- https://github.com/ijl/orjson/
- https://pypi.org/project/orjson/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="|| ( Apache-2.0 MIT )"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0-with-LLVM-exceptions BSD MIT Unicode-DFS-2016
- || ( Apache-2.0 Boost-1.0 )
-"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-BDEPEND="
- test? (
- dev-python/arrow[${PYTHON_USEDEP}]
- dev-python/pendulum[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/numpy[${PYTHON_USEDEP}]
- ' 'python3*')
- )
-"
-
-QA_FLAGS_IGNORED=".*"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -s
-}
diff --git a/dev-python/os-client-config/metadata.xml b/dev-python/os-client-config/metadata.xml
index 4b63db06380a..e93b5b60e7ee 100644
--- a/dev-python/os-client-config/metadata.xml
+++ b/dev-python/os-client-config/metadata.xml
@@ -11,6 +11,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
+ <remote-id type="github">openstack/os-client-config</remote-id>
<remote-id type="pypi">os-client-config</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/os-client-config/os-client-config-2.1.0-r2.ebuild b/dev-python/os-client-config/os-client-config-2.1.0-r2.ebuild
index 04e12131b425..b992e082002c 100644
--- a/dev-python/os-client-config/os-client-config-2.1.0-r2.ebuild
+++ b/dev-python/os-client-config/os-client-config-2.1.0-r2.ebuild
@@ -1,16 +1,20 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="OpenStack Client Configuation Library"
-HOMEPAGE="https://www.openstack.org/"
+HOMEPAGE="
+ https://opendev.org/openstack/os-client-config/
+ https://github.com/openstack/os-client-config/
+ https://pypi.org/project/os-client-config/
+"
LICENSE="Apache-2.0"
SLOT="0"
@@ -23,6 +27,7 @@ RDEPEND="
BDEPEND="
>dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
test? (
+ >=dev-python/extras-1.0.0[${PYTHON_USEDEP}]
>=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
>=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
>=dev-python/prometheus-client-0.4.2[${PYTHON_USEDEP}]
diff --git a/dev-python/os-service-types/os-service-types-1.7.0-r2.ebuild b/dev-python/os-service-types/os-service-types-1.7.0-r2.ebuild
index 254e9b764c4e..db77a6f40407 100644
--- a/dev-python/os-service-types/os-service-types-1.7.0-r2.ebuild
+++ b/dev-python/os-service-types/os-service-types-1.7.0-r2.ebuild
@@ -1,16 +1,20 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="A library to handle official service types for OpenStack and it's aliases"
-HOMEPAGE="https://github.com/openstack/os-service-types"
+HOMEPAGE="
+ https://opendev.org/openstack/os-service-types/
+ https://github.com/openstack/os-service-types/
+ https://pypi.org/project/os-service-types/
+"
LICENSE="Apache-2.0"
SLOT="0"
diff --git a/dev-python/osc-lib/Manifest b/dev-python/osc-lib/Manifest
index 3e78ac437fb8..45c035b15e40 100644
--- a/dev-python/osc-lib/Manifest
+++ b/dev-python/osc-lib/Manifest
@@ -1 +1,2 @@
-DIST osc-lib-2.9.0.tar.gz 99122 BLAKE2B 1b92c5dae95612373f8c204ad6f115b8a6728e8d193098388cad5be6514c117001f9a222c40eaa22939a53d16b02b8dee68e79ff6292e296bfbe8252ad1fa755 SHA512 253cffd491843acaa728a4361b52d9738d2eabfc82e49bb5bca0a8da583809b494161d91f243dbe92e3b0855a5b74e178fd1a5ad46c5ac69b235ad88265b0ece
+DIST osc-lib-3.0.1.tar.gz 99513 BLAKE2B 8ecf2b67d5214c2f47dec6e4f2f7bb90c95e19b4c9e81fe3d33716b424ffd2419bf400a6bc3842e1744ae484653d4fcefa10ab6af53a3aafbab1e3ac707bdf04 SHA512 7b846289dd02723360cfb93d7ee5f53f3188a57af5bf7103514d22d9b3b044654d7ef05ecdfff74eb3a354d3ce8c75941632dd42af060f55f17ab0cae7aedeb1
+DIST osc-lib-3.1.0.tar.gz 99632 BLAKE2B b0cbb070ae4e68d24080bea1aad7522c4ee37195f361ad1bf588e2ad7942e7a73f65dca69da8b9b0a9aaf74f503a16b26428c40b279f5cf41c7c8ef67872bbad SHA512 51067ea92e070f478d7eaa3f3678920aa859850a3c2f9e96c8d97dd7d67dc5c26cc9c53070f7d04d5a591f181be781c9d89d78614cff57204c5a233e6f8d4ad5
diff --git a/dev-python/osc-lib/osc-lib-2.9.0.ebuild b/dev-python/osc-lib/osc-lib-2.9.0.ebuild
deleted file mode 100644
index e89dad329a94..000000000000
--- a/dev-python/osc-lib/osc-lib-2.9.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A package of common support modules for writing OSC plugins"
-HOMEPAGE="
- https://opendev.org/openstack/osc-lib/
- https://github.com/openstack/osc-lib/
- https://pypi.org/project/osc-lib/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/cliff-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/keystoneauth1-3.14.0[${PYTHON_USEDEP}]
- >=dev-python/openstacksdk-0.15.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/simplejson-3.5.1[${PYTHON_USEDEP}]
- >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/statsd-3.3.0[${PYTHON_USEDEP}]
- >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # need to skip all tests under TestTagHelps class
- # checks exact help message, based on another unittest runner
- sed -e '179,$s/test_add_tag_/_&/' -i osc_lib/tests/utils/test_tags.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/osc-lib/osc-lib-3.0.1.ebuild b/dev-python/osc-lib/osc-lib-3.0.1.ebuild
new file mode 100644
index 000000000000..796b56b56f3d
--- /dev/null
+++ b/dev-python/osc-lib/osc-lib-3.0.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A package of common support modules for writing OSC plugins"
+HOMEPAGE="
+ https://opendev.org/openstack/osc-lib/
+ https://github.com/openstack/osc-lib/
+ https://pypi.org/project/osc-lib/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/cliff-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.14.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.15.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/simplejson-3.5.1[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/statsd-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # need to skip all tests under TestTagHelps class
+ # checks exact help message, based on another unittest runner
+ sed -e '179,$s/test_add_tag_/_&/' -i osc_lib/tests/utils/test_tags.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/osc-lib/osc-lib-3.1.0.ebuild b/dev-python/osc-lib/osc-lib-3.1.0.ebuild
new file mode 100644
index 000000000000..610d97559111
--- /dev/null
+++ b/dev-python/osc-lib/osc-lib-3.1.0.ebuild
@@ -0,0 +1,51 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A package of common support modules for writing OSC plugins"
+HOMEPAGE="
+ https://opendev.org/openstack/osc-lib/
+ https://github.com/openstack/osc-lib/
+ https://pypi.org/project/osc-lib/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/cliff-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.14.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.15.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/statsd-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # need to skip all tests under TestTagHelps class
+ # checks exact help message, based on another unittest runner
+ sed -e '179,$s/test_add_tag_/_&/' -i osc_lib/tests/utils/test_tags.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/oslo-concurrency/Manifest b/dev-python/oslo-concurrency/Manifest
index 94df29bc43f0..0f05f548d9c5 100644
--- a/dev-python/oslo-concurrency/Manifest
+++ b/dev-python/oslo-concurrency/Manifest
@@ -1 +1 @@
-DIST oslo.concurrency-5.2.0.tar.gz 60052 BLAKE2B 9f45af8beaa5fc145963e3e12818325dff2a00178c3154a4cf7ce2950ca90d9771be590593cc195c2909930416501da1042768da9ba653c0126437bb518a338e SHA512 9f645aa611882e1b7218a7fbf65b54fef523d9cf067f894e9441c0a8de3ab80495ec8a167604412385edf12fc7a53b73ac0ef63e977889db7021dd5b93b0d72f
+DIST oslo.concurrency-6.0.0.tar.gz 60373 BLAKE2B 24002c424894826f86d9fa7601d107ab04159ace9388944b615d4c1e35f54d5d8438b1a5021a3c3b0ef755d9b92382b9804fe8f7a84075feb7d7d523a4d1cbe9 SHA512 6a706e0590f6e29ab560e4133ffdb8dbd6c2cb2dc7cd16acd803ca93800a38223f57eec8c79698c9fe5bf47b1cdcbb89e1a98d3ea36f03a9ccee9da9ab39a0d9
diff --git a/dev-python/oslo-concurrency/oslo-concurrency-5.2.0.ebuild b/dev-python/oslo-concurrency/oslo-concurrency-5.2.0.ebuild
deleted file mode 100644
index 7e3c34a2ce63..000000000000
--- a/dev-python/oslo-concurrency/oslo-concurrency-5.2.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Oslo Concurrency library"
-HOMEPAGE="
- https://opendev.org/openstack/oslo.concurrency/
- https://github.com/openstack/oslo.concurrency/
- https://pypi.org/project/oslo.concurrency/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/fasteners-0.7.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # fails, then hangs
- rm oslo_concurrency/tests/unit/test_lockutils_eventlet.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- eunittest
-}
diff --git a/dev-python/oslo-concurrency/oslo-concurrency-6.0.0.ebuild b/dev-python/oslo-concurrency/oslo-concurrency-6.0.0.ebuild
new file mode 100644
index 000000000000..51aad141098b
--- /dev/null
+++ b/dev-python/oslo-concurrency/oslo-concurrency-6.0.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Oslo Concurrency library"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.concurrency/
+ https://github.com/openstack/oslo.concurrency/
+ https://pypi.org/project/oslo.concurrency/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/fasteners-0.7.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # fails, then hangs
+ rm oslo_concurrency/tests/unit/test_lockutils_eventlet.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ eunittest
+}
diff --git a/dev-python/oslo-config/Manifest b/dev-python/oslo-config/Manifest
index b501381d7c71..16dd266ea64e 100644
--- a/dev-python/oslo-config/Manifest
+++ b/dev-python/oslo-config/Manifest
@@ -1 +1 @@
-DIST oslo.config-9.2.0.tar.gz 161235 BLAKE2B 186b79bab199db9369dd53952a9c6f54fafe17f950d7b66ed753f173a24726a6dbd06b794c73387f5ea6e77aa54a4d5bd0ef4752a5c564dfeea4e729fdf151e7 SHA512 69d8461f4ed5d4988fe527e4022c528244e9ecf76913a7af572e8073c0218987a69e6094edc56ff14eaf1b05fc5ffe7d81bb26ff17f87e4bd29a78d7959a3935
+DIST oslo.config-9.5.0.tar.gz 161655 BLAKE2B 7844729658ddd13ff89b4c14983cfeeb3f6352f99a190058bd924592d9183459ea2da5caead7a77ed6c4a4e395aac2dd53f56847d81ce911ce76a04fa69f5b7d SHA512 517bb9fe416451eb791087216facd8643d77affb738aa2623817302dfc9dbd242d1aa2ba8c542fee437f91b2049129fa097fe37fec8c6a28e0092fc4d64c0c4f
diff --git a/dev-python/oslo-config/oslo-config-9.2.0-r1.ebuild b/dev-python/oslo-config/oslo-config-9.2.0-r1.ebuild
deleted file mode 100644
index 8b50973ef3ae..000000000000
--- a/dev-python/oslo-config/oslo-config-9.2.0-r1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Oslo Configuration API"
-HOMEPAGE="
- https://opendev.org/openstack/oslo.config/
- https://github.com/openstack/oslo.config/
- https://pypi.org/project/oslo.config/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/pbr-1.3[${PYTHON_USEDEP}]
- >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
- >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
- >=dev-python/rfc3986-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
- >=dev-python/requests-2.18.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pbr-1.3[${PYTHON_USEDEP}]
- test? (
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/requests-mock-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # broken by some dep upgrade
- sed -i -e '/DeprecationWarningTestsNoOsloLog/,$d' \
- oslo_config/tests/test_cfg.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x COLUMNS=80
- eunittest -b
-}
diff --git a/dev-python/oslo-config/oslo-config-9.2.0.ebuild b/dev-python/oslo-config/oslo-config-9.2.0.ebuild
deleted file mode 100644
index 88d2e3ce81fc..000000000000
--- a/dev-python/oslo-config/oslo-config-9.2.0.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Oslo Configuration API"
-HOMEPAGE="
- https://opendev.org/openstack/oslo.config/
- https://github.com/openstack/oslo.config/
- https://pypi.org/project/oslo.config/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/pbr-1.3[${PYTHON_USEDEP}]
- >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
- >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
- >=dev-python/rfc3986-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
- >=dev-python/requests-2.18.0[${PYTHON_USEDEP}]
- dev-python/importlib-metadata[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pbr-1.3[${PYTHON_USEDEP}]
- test? (
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/requests-mock-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # broken by some dep upgrade
- sed -i -e '/DeprecationWarningTestsNoOsloLog/,$d' \
- oslo_config/tests/test_cfg.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x COLUMNS=80
- eunittest -b
-}
diff --git a/dev-python/oslo-config/oslo-config-9.5.0.ebuild b/dev-python/oslo-config/oslo-config-9.5.0.ebuild
new file mode 100644
index 000000000000..347ed61767a7
--- /dev/null
+++ b/dev-python/oslo-config/oslo-config-9.5.0.ebuild
@@ -0,0 +1,58 @@
+# 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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Oslo Configuration API"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.config/
+ https://github.com/openstack/oslo.config/
+ https://pypi.org/project/oslo.config/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/pbr-1.3[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/rfc3986-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-5.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.18.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-1.3[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # broken by some dep upgrade
+ sed -i -e '/DeprecationWarningTestsNoOsloLog/,$d' \
+ oslo_config/tests/test_cfg.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x COLUMNS=80
+ eunittest -b
+}
diff --git a/dev-python/oslo-context/Manifest b/dev-python/oslo-context/Manifest
index 4764deaba528..fc7816b78973 100644
--- a/dev-python/oslo-context/Manifest
+++ b/dev-python/oslo-context/Manifest
@@ -1 +1 @@
-DIST oslo.context-5.3.0.tar.gz 34831 BLAKE2B 6fcc6667562967cc77f7e6a0e3c1cc97d44690686e58c00eb2cde2593b48272abc1661b173e6bde1fec8d0eff2deb9484042fbac737fa0bd162cd2bc6d0ac7d2 SHA512 862039386c44ff55ddcea0d5a6de5caa9441382e2e7750bd60f24a33c4e3963f0788b3c79d86c61a20ff097d4d3a8ee381f9ee81e9b8a5a44356595b26d319e8
+DIST oslo.context-5.5.0.tar.gz 34832 BLAKE2B 5131efed421d925ae311a31dba9b39cb881195493524e1ca9562aaef4b7bd81700cc23f004c04797dea59d136d274aca71e0d0a9377e133edfe0f51f0fca2341 SHA512 89b6aff1f0b01b64e3c7aa4e03e3a633a4b722514ac23d9b261449fd0cf0950077d801bbeae8c8542634c7336577dfbcad81bec8fad5e00a8c34d3a32412cb8c
diff --git a/dev-python/oslo-context/oslo-context-5.3.0.ebuild b/dev-python/oslo-context/oslo-context-5.3.0.ebuild
deleted file mode 100644
index db454ce1d571..000000000000
--- a/dev-python/oslo-context/oslo-context-5.3.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Helpers to maintain useful information about a request context"
-HOMEPAGE="
- https://opendev.org/openstack/oslo.context/
- https://github.com/openstack/oslo.context/
- https://pypi.org/project/oslo.context/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-distutils_enable_sphinx doc/source \
- dev-python/openstackdocstheme
diff --git a/dev-python/oslo-context/oslo-context-5.5.0.ebuild b/dev-python/oslo-context/oslo-context-5.5.0.ebuild
new file mode 100644
index 000000000000..936d37d3bcde
--- /dev/null
+++ b/dev-python/oslo-context/oslo-context-5.5.0.ebuild
@@ -0,0 +1,38 @@
+# 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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Helpers to maintain useful information about a request context"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.context/
+ https://github.com/openstack/oslo.context/
+ https://pypi.org/project/oslo.context/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx doc/source \
+ dev-python/openstackdocstheme
diff --git a/dev-python/oslo-i18n/Manifest b/dev-python/oslo-i18n/Manifest
index e914d3e3d826..2d67e2ff6f68 100644
--- a/dev-python/oslo-i18n/Manifest
+++ b/dev-python/oslo-i18n/Manifest
@@ -1 +1 @@
-DIST oslo.i18n-6.2.0.tar.gz 48228 BLAKE2B bb65caff703e2bbc82f4fecd4b0d491f64ec7d863f848f8f79497df9471257dec25a77ad7f084c6d88ac14a4b1a1f44fd302297e1e13919e69ebaf27c5491d6f SHA512 725d814c7db35250e8ffe06c0021fc9147bcdaa300791f1d50b0eef2897abe609b415a12b6aa58d50925516fd9e6a1ad54e141f77e11856de3ab765b4e06939b
+DIST oslo.i18n-6.3.0.tar.gz 48207 BLAKE2B 20a882516dd45da8dda34127ba422a619decd982f01adeee5909b8646d49c8609ecb6adad4fc48ab32e820c4dcf4a42d4baf7e776983daf4586ae944b738bb6e SHA512 483ff39425b3fc5c6c54a3502a78a53406ccb3cdb7aff0836b9c2a49b8146fd931e2b4f3133d708d33d16bd99155f8cbcf8505491d74de5016da5e647a069a15
diff --git a/dev-python/oslo-i18n/files/oslo-i18n-6.2.0-test.patch b/dev-python/oslo-i18n/files/oslo-i18n-6.2.0-test.patch
deleted file mode 100644
index 6c3c19be0644..000000000000
--- a/dev-python/oslo-i18n/files/oslo-i18n-6.2.0-test.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-From 151fa09cf0248b2dfc8bb9e960e0383583985781 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Wed, 15 Nov 2023 09:16:21 +0100
-Subject: [PATCH] Fix leftover `locale.getdefaultlocale` mock
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Replace the remaining `locale.getdefaultlocale` mock with
-`locale.getlocale`. 77a994a99385d33b1b2e626094cbd09fd0d85873 has
-replaced the `locale.getdefaultlocale()` call and updated all other
-mocks but this one remained, causing test failures on non-en_US locales.
-
-Closes-Bug: 2043539
-Change-Id: I5ab36a0ead05fa7a83fc1c64e440482f2cc8e675
-Signed-off-by: Michał Górny <mgorny@gentoo.org>
----
- oslo_i18n/fixture.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/oslo_i18n/fixture.py b/oslo_i18n/fixture.py
-index 5c5fddc..7a69aff 100644
---- a/oslo_i18n/fixture.py
-+++ b/oslo_i18n/fixture.py
-@@ -160,5 +160,5 @@ class PrefixLazyTranslation(fixtures.Fixture):
- lambda *x, **y: self.languages))
- self.useFixture(fixtures.MonkeyPatch('gettext.translation',
- _prefix_translations))
-- self.useFixture(fixtures.MonkeyPatch('locale.getdefaultlocale',
-+ self.useFixture(fixtures.MonkeyPatch('locale.getlocale',
- lambda *x, **y: self.locale))
---
-2.42.1
-
diff --git a/dev-python/oslo-i18n/oslo-i18n-6.2.0.ebuild b/dev-python/oslo-i18n/oslo-i18n-6.2.0.ebuild
deleted file mode 100644
index 489d749bb8bc..000000000000
--- a/dev-python/oslo-i18n/oslo-i18n-6.2.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Oslo i18n library"
-HOMEPAGE="
- https://opendev.org/openstack/oslo.i18n/
- https://github.com/openstack/oslo.i18n/
- https://pypi.org/project/oslo.i18n/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-PATCHES=(
- # https://review.opendev.org/c/openstack/oslo.i18n/+/901002
- "${FILESDIR}/${P}-test.patch"
-)
-
-RDEPEND="
- >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/oslo-i18n/oslo-i18n-6.3.0.ebuild b/dev-python/oslo-i18n/oslo-i18n-6.3.0.ebuild
new file mode 100644
index 000000000000..b5c37b7e4247
--- /dev/null
+++ b/dev-python/oslo-i18n/oslo-i18n-6.3.0.ebuild
@@ -0,0 +1,35 @@
+# 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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Oslo i18n library"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.i18n/
+ https://github.com/openstack/oslo.i18n/
+ https://pypi.org/project/oslo.i18n/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/oslo-log/Manifest b/dev-python/oslo-log/Manifest
index 24d1b4adcd69..87abf20528f9 100644
--- a/dev-python/oslo-log/Manifest
+++ b/dev-python/oslo-log/Manifest
@@ -1 +1,3 @@
-DIST oslo.log-5.4.0.tar.gz 97318 BLAKE2B 48b93893ebc64c6d070504937e463f21b6089c3d44ef97e3c22e16a67c51e1f3af77621f728dca2aa9e842770727f5c10a367d47115d26f8b55822dfe617a02b SHA512 95ffd69543c069eda2962941e95a5951d4a952bd71f40fa3a25b8db33d79909f2d0f78a4810a714dda4096eed7cb208dac330dc2edd0e0a4b0748c2f3a5e33e8
+DIST oslo.log-6.0.0.tar.gz 95271 BLAKE2B 13967ea4eeb2ad227d5534027c3a424b0f142ea334a701537ea31341a2a5166fd9c7991206e589be4d3378371bc21331027010005f36d63a13c4d59cd362c308 SHA512 87ab8e5da0f57675095734d62f7d46908c55528f89d118de6c15c3e483a15e2f20cace46d9eb2766dd617d40cc45027faee89edd2c1ef881629237b8b63513f8
+DIST oslo.log-6.1.0.tar.gz 95741 BLAKE2B 9c5c073b19d5fa0d84f19967a67cc0164470cb5fdf596b73d7017f47b2154228e21ec03d71ac84c1e161ad0aee4013795de7ab405a808cc3ceb9f3b4a64a0474 SHA512 d7329d8fbc46aa5c2b463e40f7b284657dbac773f338a4d96016c7e04998800dfb6df5c1c240454e45786f285d6093f6ec0b66b3bda9eacce39b4c6c54cae306
+DIST oslo.log-6.1.1.tar.gz 95558 BLAKE2B 04897e2f568dc634ee49a0980aa19ebd967dfb758840bdf3029c52d00481492ee43b7dc93a427de2c61edf8ef2f7819344263c282068acec835ea8c669d9e0a0 SHA512 2e5692dd3b59711139a3e049e5f167c456a6779f6eacb540d70ae7f2347062d6d635e5f9fa893919205b842958bcb3767e8a644466b06928623f8a569f2274e8
diff --git a/dev-python/oslo-log/files/oslo-log-6.0.0-py313.patch b/dev-python/oslo-log/files/oslo-log-6.0.0-py313.patch
new file mode 100644
index 000000000000..b80e29550854
--- /dev/null
+++ b/dev-python/oslo-log/files/oslo-log-6.0.0-py313.patch
@@ -0,0 +1,80 @@
+From 60c39a3b874f027f690b49c987daa31c37bfb0e6 Mon Sep 17 00:00:00 2001
+From: Michał Górny <mgorny@gentoo.org>
+Date: Tue, 11 Jun 2024 21:35:58 +0200
+Subject: [PATCH] Replace deprecated logging.warn() calls with logging.warning()
+
+Replace the deprecated logging.warn() calls with logging.warning().
+The former were undocumented, deprecated since Python 3.3 and eventually
+removed in Python 3.13.
+
+See: https://docs.python.org/3.13/whatsnew/3.13.html#logging
+Partial-Bug: 2069084
+Change-Id: I6d1ee13409fe84cd54b7a3aa3ed862bc6e33f1c3
+Signed-off-by: Michał Górny <mgorny@gentoo.org>
+---
+
+diff --git a/oslo_log/tests/unit/test_log.py b/oslo_log/tests/unit/test_log.py
+index d17d20a..7c066ae 100644
+--- a/oslo_log/tests/unit/test_log.py
++++ b/oslo_log/tests/unit/test_log.py
+@@ -1115,7 +1115,7 @@
+ self.assertIn(infoexpected, self.stream.getvalue())
+ self.assertEqual('\033[00;36m', infocolor)
+
+- self.colorlog.warn(warn_msg, context=ctxt)
++ self.colorlog.warning(warn_msg, context=ctxt)
+ self.assertIn(infoexpected, self.stream.getvalue())
+ self.assertIn(warnexpected, self.stream.getvalue())
+ self.assertEqual('\033[01;33m', warncolor)
+@@ -1266,7 +1266,7 @@
+ self.mylog.info(info_message, context=ctxt)
+ self.assertEqual(infoexpected, self.stream.getvalue())
+
+- self.mylog.warn(warn_message, context=ctxt)
++ self.mylog.warning(warn_message, context=ctxt)
+ self.assertEqual(infoexpected + warnexpected, self.stream.getvalue())
+
+ def test_domain_in_log_msg(self):
+@@ -1590,11 +1590,11 @@
+ stream = self.set_root_stream()
+ log = logging.getLogger("a.a")
+ log.info("info")
+- log.warn("warn")
++ log.warning("warn")
+ self.assertEqual("warn\n", stream.getvalue())
+ stream = self.set_root_stream()
+ log.info("info")
+- log.warn("warn")
++ log.warning("warn")
+ self.assertEqual("info\nwarn\n", stream.getvalue())
+
+
+From cd5eb0fdf4d74150d8e3b014ef43ad0d0cbb9a5d Mon Sep 17 00:00:00 2001
+From: Michał Górny <mgorny@gentoo.org>
+Date: Tue, 11 Jun 2024 21:45:05 +0200
+Subject: [PATCH] Update test_rfc5424_isotime_format_no_microseconds output for py3.13
+
+In Python 3.13, the isotime format does not include microseconds anymore
+if they are zero. Update the test to account for both possibilities.
+
+Closes-Bug: 2069084
+Change-Id: I8fc022e5ad0df8ec4bd413de12106390d9dbc0f1
+Signed-off-by: Michał Górny <mgorny@gentoo.org>
+---
+
+diff --git a/oslo_log/tests/unit/test_log.py b/oslo_log/tests/unit/test_log.py
+index 7c066ae..3176c1c 100644
+--- a/oslo_log/tests/unit/test_log.py
++++ b/oslo_log/tests/unit/test_log.py
+@@ -996,7 +996,10 @@
+ self.config(logging_default_format_string="%(isotime)s %(message)s")
+
+ message = "test"
+- expected = "2015-12-16T13:54:26.000000+00:00 %s\n" % message
++ if sys.version_info >= (3, 13):
++ expected = "2015-12-16T13:54:26+00:00 %s\n" % message
++ else:
++ expected = "2015-12-16T13:54:26.000000+00:00 %s\n" % message
+
+ self.log.info(message)
+
diff --git a/dev-python/oslo-log/files/oslo-log-6.1.0-py313.patch b/dev-python/oslo-log/files/oslo-log-6.1.0-py313.patch
new file mode 100644
index 000000000000..916c6b132c2d
--- /dev/null
+++ b/dev-python/oslo-log/files/oslo-log-6.1.0-py313.patch
@@ -0,0 +1,25 @@
+From 1bd9d229824c16f521fb1d3ba306fe8cb2a5aada Mon Sep 17 00:00:00 2001
+From: Michał Górny <mgorny@gentoo.org>
+Date: Wed, 12 Jun 2024 11:22:48 +0200
+Subject: [PATCH] Fix test time mocking for Python 3.13
+
+Fix test_rfc5424_isotime_format_no_microseconds() to mock time.time_ns(),
+logging uses that function rather than tiem.time() in logging.
+
+Change-Id: I0cc429e2ea8ee7fef3b0a5662d584dac65d657ad
+Signed-off-by: Michał Górny <mgorny@gentoo.org>
+---
+
+diff --git a/oslo_log/tests/unit/test_log.py b/oslo_log/tests/unit/test_log.py
+index d17d20a..0580908 100644
+--- a/oslo_log/tests/unit/test_log.py
++++ b/oslo_log/tests/unit/test_log.py
+@@ -991,6 +991,8 @@
+ get_fake_datetime(
+ datetime.datetime(2015, 12, 16, 13, 54, 26)))
+ @mock.patch("time.time", new=mock.Mock(return_value=1450274066.000000))
++ @mock.patch("time.time_ns",
++ new=mock.Mock(return_value=1450274066000000000))
+ @mock.patch("dateutil.tz.tzlocal", new=mock.Mock(return_value=tz.tzutc()))
+ def test_rfc5424_isotime_format_no_microseconds(self):
+ self.config(logging_default_format_string="%(isotime)s %(message)s")
diff --git a/dev-python/oslo-log/oslo-log-5.4.0.ebuild b/dev-python/oslo-log/oslo-log-5.4.0.ebuild
deleted file mode 100644
index edd4200e8826..000000000000
--- a/dev-python/oslo-log/oslo-log-5.4.0.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="OpenStack logging config library, configuration for all openstack projects"
-HOMEPAGE="
- https://opendev.org/openstack/oslo.log/
- https://github.com/openstack/oslo.log/
- https://pypi.org/project/oslo.log/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/pbr-3.1.1[${PYTHON_USEDEP}]
- >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-context-2.20.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.20.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.36.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-serialization-1.25.0[${PYTHON_USEDEP}]
- >=dev-python/debtcollector-1.19.0[${PYTHON_USEDEP}]
- >=dev-python/pyinotify-0.9.6[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.7.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pbr-3.1.1[${PYTHON_USEDEP}]
- test? (
- >=dev-python/testtools-2.3.0[${PYTHON_USEDEP}]
- >=dev-python/oslotest-3.3.0[${PYTHON_USEDEP}]
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc/source \
- dev-python/openstackdocstheme \
- dev-python/oslo-config
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local EPYTEST_IGNORE=(
- # requires eventlet
- oslo_log/tests/unit/test_pipe_mutex.py
- )
- local EPYTEST_DESELECT=(
- # messed up with pytest
- oslo_log/tests/unit/fixture/test_logging_error.py::TestLoggingFixture::test_logging_handle_error
- )
-
- case ${EPYTHON} in
- python3.1[12])
- # upstream is... *sigh*
- EPYTEST_DESELECT+=(
- oslo_log/tests/unit/test_log.py::LogConfigTestCase::test_log_config_append_invalid
- )
- esac
-
- epytest
-}
diff --git a/dev-python/oslo-log/oslo-log-6.0.0.ebuild b/dev-python/oslo-log/oslo-log-6.0.0.ebuild
new file mode 100644
index 000000000000..25956698161e
--- /dev/null
+++ b/dev-python/oslo-log/oslo-log-6.0.0.ebuild
@@ -0,0 +1,58 @@
+# 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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="OpenStack logging config library, configuration for all openstack projects"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.log/
+ https://github.com/openstack/oslo.log/
+ https://pypi.org/project/oslo.log/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/pbr-3.1.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-7.1.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.25.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-3.1.1[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/testtools-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx doc/source \
+ dev-python/openstackdocstheme \
+ dev-python/oslo-config
+
+PATCHES=(
+ # https://review.opendev.org/c/openstack/oslo.log/+/921797
+ # https://review.opendev.org/c/openstack/oslo.log/+/921798
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+src_test() {
+ # requires eventlet
+ rm oslo_log/tests/unit/test_pipe_mutex.py || die
+
+ distutils-r1_src_test
+}
diff --git a/dev-python/oslo-log/oslo-log-6.1.0.ebuild b/dev-python/oslo-log/oslo-log-6.1.0.ebuild
new file mode 100644
index 000000000000..4cb2d5fa1887
--- /dev/null
+++ b/dev-python/oslo-log/oslo-log-6.1.0.ebuild
@@ -0,0 +1,57 @@
+# 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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="OpenStack logging config library, configuration for all openstack projects"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.log/
+ https://github.com/openstack/oslo.log/
+ https://pypi.org/project/oslo.log/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pbr-3.1.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-7.1.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.25.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-3.1.1[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/testtools-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx doc/source \
+ dev-python/openstackdocstheme \
+ dev-python/oslo-config
+
+PATCHES=(
+ # https://review.opendev.org/c/openstack/oslo.log/+/921842
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+src_test() {
+ # requires eventlet
+ rm oslo_log/tests/unit/test_pipe_mutex.py || die
+
+ distutils-r1_src_test
+}
diff --git a/dev-python/oslo-log/oslo-log-6.1.1.ebuild b/dev-python/oslo-log/oslo-log-6.1.1.ebuild
new file mode 100644
index 000000000000..ad1ab053a400
--- /dev/null
+++ b/dev-python/oslo-log/oslo-log-6.1.1.ebuild
@@ -0,0 +1,57 @@
+# 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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="OpenStack logging config library, configuration for all openstack projects"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.log/
+ https://github.com/openstack/oslo.log/
+ https://pypi.org/project/oslo.log/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pbr-3.1.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-context-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.20.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-7.1.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-serialization-1.25.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.7.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-3.1.1[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/testtools-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx doc/source \
+ dev-python/openstackdocstheme \
+ dev-python/oslo-config
+
+PATCHES=(
+ # https://review.opendev.org/c/openstack/oslo.log/+/921842
+ "${FILESDIR}/${PN}-6.1.0-py313.patch"
+)
+
+src_test() {
+ # requires eventlet
+ rm oslo_log/tests/unit/test_pipe_mutex.py || die
+
+ distutils-r1_src_test
+}
diff --git a/dev-python/oslo-serialization/Manifest b/dev-python/oslo-serialization/Manifest
index 68f719b0627a..4488597d2813 100644
--- a/dev-python/oslo-serialization/Manifest
+++ b/dev-python/oslo-serialization/Manifest
@@ -1 +1 @@
-DIST oslo.serialization-5.2.0.tar.gz 35123 BLAKE2B 02dc1538562cdd0b5f601e9899561d44c6a651c514d3b4f00dbf05256e7109f485e1edabf1d69e578b903f177046128ddec944c85f2a2d238be9bf937bbe66d6 SHA512 6903b3a57ea3da75be5e22d0d9b5f14c8068be181be1845a5fed106d61e41c1f2288f9a667ec44b068670002b06f7f3f2d22821d34133fe60665f7146d133d22
+DIST oslo.serialization-5.4.0.tar.gz 35070 BLAKE2B 2a6af45234083f57d964f18d36eb00b59ce6f32927fd93696bbfaa705b574a8c335db9583b2d6fb72d8b6712b1b5e6b30c943a4130b5ff3fc5766c3fce09e4a5 SHA512 00c9dae7cf254fe0fba49b25bb2d150902bd3a0a88cff922853358374bc855e8b79bef111065aaf62966c98a97605d0a0f18b5d007f36a943d9bdeb8ca69783b
diff --git a/dev-python/oslo-serialization/oslo-serialization-5.2.0-r1.ebuild b/dev-python/oslo-serialization/oslo-serialization-5.2.0-r1.ebuild
deleted file mode 100644
index 5397788fc7af..000000000000
--- a/dev-python/oslo-serialization/oslo-serialization-5.2.0-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Oslo Serialization library"
-HOMEPAGE="
- https://opendev.org/openstack/oslo.serialization/
- https://github.com/openstack/oslo.serialization/
- https://pypi.org/project/oslo.serialization/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/msgpack-0.5.2[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
- dev-python/tzdata[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-distutils_enable_sphinx doc/source \
- dev-python/openstackdocstheme
-
-python_prepare_all() {
- # remove spurious rdep on pbr
- sed -i -e '/pbr/d' requirements.txt || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/oslo-serialization/oslo-serialization-5.4.0.ebuild b/dev-python/oslo-serialization/oslo-serialization-5.4.0.ebuild
new file mode 100644
index 000000000000..2d202085c00c
--- /dev/null
+++ b/dev-python/oslo-serialization/oslo-serialization-5.4.0.ebuild
@@ -0,0 +1,46 @@
+# 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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Oslo Serialization library"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.serialization/
+ https://github.com/openstack/oslo.serialization/
+ https://pypi.org/project/oslo.serialization/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/msgpack-0.5.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ dev-python/tzdata[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx doc/source \
+ dev-python/openstackdocstheme
+
+python_prepare_all() {
+ # remove spurious rdep on pbr
+ sed -i -e '/pbr/d' requirements.txt || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/oslo-utils/Manifest b/dev-python/oslo-utils/Manifest
index a2a8d00ded72..4770ec0ef2bf 100644
--- a/dev-python/oslo-utils/Manifest
+++ b/dev-python/oslo-utils/Manifest
@@ -1 +1 @@
-DIST oslo.utils-6.3.0.tar.gz 104397 BLAKE2B 1195363df16e103f49d783c644bb060719fa3b43a549e229bd1c6b8f682e36b6135fb33284f536c08460892ae441c276d9e0445f30c6a5bc6d260b9a0f4bef40 SHA512 d7d1f160865238d4dd49dec891d275455befcee1926920f22409142bbab47fe3e287ad280a72f11baa99c49beaf1d0dc52745307888b8a3edda4cb9052443336
+DIST oslo.utils-7.2.0.tar.gz 104768 BLAKE2B 0972bd65eb4619af96a8a15a48429abf20987449ab4e480adecd3260b1440d8911bc68464c98e8020113dfe6039e409b60be22f56de43a4aa80ba98953dea93e SHA512 3f8d7dd8e629b13c8491b4a3498ecce27937d904ca3de4df9a9e3c638fc1ce894ae29e0797c25de0886f2c9b471feabd4ff09380ba71bd6c28f0d543e489f654
diff --git a/dev-python/oslo-utils/oslo-utils-6.3.0.ebuild b/dev-python/oslo-utils/oslo-utils-6.3.0.ebuild
deleted file mode 100644
index 6af6c545b8a5..000000000000
--- a/dev-python/oslo-utils/oslo-utils-6.3.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Oslo Utility library"
-HOMEPAGE="
- https://opendev.org/openstack/oslo.utils/
- https://github.com/openstack/oslo.utils/
- https://pypi.org/project/oslo.utils/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
- >=dev-python/pytz-2013.6[${PYTHON_USEDEP}]
- >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
- >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
- >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.4[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
- dev-python/tzdata[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}"/install -name '*eventletutils*' -delete || die
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- eunittest
-}
diff --git a/dev-python/oslo-utils/oslo-utils-7.2.0.ebuild b/dev-python/oslo-utils/oslo-utils-7.2.0.ebuild
new file mode 100644
index 000000000000..84903761f712
--- /dev/null
+++ b/dev-python/oslo-utils/oslo-utils-7.2.0.ebuild
@@ -0,0 +1,54 @@
+# 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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Oslo Utility library"
+HOMEPAGE="
+ https://opendev.org/openstack/oslo.utils/
+ https://github.com/openstack/oslo.utils/
+ https://pypi.org/project/oslo.utils/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ <dev-python/netaddr-1[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.10.0[${PYTHON_USEDEP}]
+ >=dev-python/netifaces-0.10.4[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.4[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13[${PYTHON_USEDEP}]
+ dev-python/tzdata[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-2.2.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # require eventlet
+ rm oslo_utils/tests/test_eventletutils.py || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/oslotest/Manifest b/dev-python/oslotest/Manifest
index 14acc420b3be..5a7cf8397eb9 100644
--- a/dev-python/oslotest/Manifest
+++ b/dev-python/oslotest/Manifest
@@ -1 +1 @@
-DIST oslotest-4.5.0.tar.gz 38233 BLAKE2B 73fbf056467c5d86c647b0ff49ce2e75654c8a2ffbcda78f8ea49edddb55a4c5e0f065c7a95291468b2d5d73ec5f5152d16a2129ab17fc5e6d457284e684ec31 SHA512 2dc0644365621fe271e09f2f7be631f697749c9d343f1ce9b635986df41ec5be8787350b3f2eb6b6501f4baac1ec597b2f0ecada7936db967075ebce837e1517
+DIST oslotest-5.0.0.tar.gz 37730 BLAKE2B 87f051841153ba860bfce1b4b7f69f2bf501020f51fbeffa11c4311b741e298ec95cd0beeb73b43fb5e0529765bf46b9f95bb609bca7e541bcccad3fd985104e SHA512 8b3e5a626734b8937d13555c66fbffbfbc5e0da418ab06865fc516151ae4df5d8477df5e343e913e3073b640e39b80ba32bb6015cab0c432770e8d19160d7107
diff --git a/dev-python/oslotest/files/oslotest-4.5.0-py3.12-fix.patch b/dev-python/oslotest/files/oslotest-4.5.0-py3.12-fix.patch
deleted file mode 100644
index d9325741d5d6..000000000000
--- a/dev-python/oslotest/files/oslotest-4.5.0-py3.12-fix.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Subject: [PATCH] Replace find_module function
-
-find_module function was deprecated in Python 3.4 [1] and later removed
-in Python 3.12 [2], the find_spec function should be used instead. This
-change is necessary for proper Python 3.12 support.
-
-[1] https://docs.python.org/3.4/library/importlib.html#importlib.abc.MetaPathFinder.find_module
-[2] https://github.com/python/cpython/issues/98040
-
-Upstream: https://review.opendev.org/c/openstack/oslotest/+/886646
-
-diff --git a/oslotest/modules.py b/oslotest/modules.py
-index f453b17..8fe04a2 100644
---- a/oslotest/modules.py
-+++ b/oslotest/modules.py
-@@ -45,6 +45,6 @@
- def __init__(self, module):
- self.module = module
-
-- def find_module(self, fullname, path):
-+ def find_spec(self, fullname, path, target):
- if fullname == self.module or fullname.startswith(self.module + '.'):
- raise ImportError
diff --git a/dev-python/oslotest/oslotest-4.5.0-r3.ebuild b/dev-python/oslotest/oslotest-4.5.0-r3.ebuild
deleted file mode 100644
index bdd5c236c2ab..000000000000
--- a/dev-python/oslotest/oslotest-4.5.0-r3.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Oslo test framework"
-HOMEPAGE="
- https://opendev.org/openstack/oslotest/
- https://github.com/openstack/oslotest/
- https://pypi.org/project/oslotest/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-BDEPEND="
- >=dev-python/pbr-1.8[${PYTHON_USEDEP}]
-"
-RDEPEND="
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-py3.12-fix.patch"
-)
-
-distutils_enable_tests unittest
-
-src_prepare() {
- sed -i -e '/subunit/d' requirements.txt || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/oslotest/oslotest-5.0.0.ebuild b/dev-python/oslotest/oslotest-5.0.0.ebuild
new file mode 100644
index 000000000000..64ba36943b09
--- /dev/null
+++ b/dev-python/oslotest/oslotest-5.0.0.ebuild
@@ -0,0 +1,35 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Oslo test framework"
+HOMEPAGE="
+ https://opendev.org/openstack/oslotest/
+ https://github.com/openstack/oslotest/
+ https://pypi.org/project/oslotest/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pbr-1.8[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ sed -i -e '/subunit/d' requirements.txt || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/outcome/outcome-1.3.0_p0.ebuild b/dev-python/outcome/outcome-1.3.0_p0.ebuild
index 49f02152543c..0f30e8f237e2 100644
--- a/dev-python/outcome/outcome-1.3.0_p0.ebuild
+++ b/dev-python/outcome/outcome-1.3.0_p0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/overrides/Manifest b/dev-python/overrides/Manifest
index 04356a684116..4cbd129a96ee 100644
--- a/dev-python/overrides/Manifest
+++ b/dev-python/overrides/Manifest
@@ -1 +1 @@
-DIST overrides-7.4.0.tar.gz 24804 BLAKE2B 9a9657d15ad835695d116559f1e6f51e14d1a0a9b5a237b2d468d9c6fd8d86368af53871490c257d7e6843fe02113a874524b8e55f4b3c9bcc7c827714cd5f44 SHA512 6ffd3b38997fd207d8ef9876ba9c328ef244b39300d22ae8c8bf63862f160b485d82b99d36d24abd1676fdddd39e5324eb0f1cf8629a0e17ac96956d165b6afd
+DIST overrides-7.7.0.tar.gz 22812 BLAKE2B e51af6806e741f18fbfda57824e8f0db9f77686719b287c2b8abb8a33925c2ded8ac3fd40cb097cfcad60e06dcf5ced291e278b03a28afe15a6a6312306d200b SHA512 b2ad06da01e657839c5cbd62c49aa1022c4302fad44fd6b1a57e623e27d1c9d8cabdd9bf9c9a02c87a3b3618a662b922533cf407d17efa43769b0fc6360b5073
diff --git a/dev-python/overrides/overrides-7.4.0.ebuild b/dev-python/overrides/overrides-7.4.0.ebuild
deleted file mode 100644
index a8cd8c261e45..000000000000
--- a/dev-python/overrides/overrides-7.4.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A decorator to automatically detect mismatch when overriding a method."
-HOMEPAGE="
- https://pypi.org/project/overrides/
- https://github.com/mkorpela/overrides/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
-
- case ${EPYTHON} in
- python3.12)
- EPYTEST_DESELECT+=(
- # https://github.com/mkorpela/overrides/issues/117
- tests/test_enforce__py38.py::EnforceTests::test_enforcing_when_incompatible
- )
- ;;
- pypy3)
- EPYTEST_DESELECT+=(
- # https://github.com/mkorpela/overrides/issues/118
- tests/test_overrides.py::OverridesTests::test_overrides_builtin_method_{,in}correct_signature
- )
- ;;
- esac
-
- epytest
-}
diff --git a/dev-python/overrides/overrides-7.7.0.ebuild b/dev-python/overrides/overrides-7.7.0.ebuild
new file mode 100644
index 000000000000..bbc513bff45e
--- /dev/null
+++ b/dev-python/overrides/overrides-7.7.0.ebuild
@@ -0,0 +1,21 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A decorator to automatically detect mismatch when overriding a method."
+HOMEPAGE="
+ https://pypi.org/project/overrides/
+ https://github.com/mkorpela/overrides/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/ovs/Manifest b/dev-python/ovs/Manifest
index 4eb688975582..96b79e70915a 100644
--- a/dev-python/ovs/Manifest
+++ b/dev-python/ovs/Manifest
@@ -1 +1,2 @@
DIST ovs-2.17.1.post1.tar.gz 104766 BLAKE2B e1cb471f7f3f3b8461292c79ee5318a36d70c2ee55947bfa0274277e36514d20ad9293cb8c602e0b2c82a590397869fe51f52ee2579255bb8163014d58dccaf7 SHA512 772e7b4768f1e7fe1f2be700a0eb6bc539459e4c70432c45e7f7877b060f4c845eaa5a974f2b2264af621f5f43b97da30a9fe344a53904ec0008393689e6b895
+DIST ovs-2.17.9.tar.gz 110350 BLAKE2B 68f6fb154c830877fa404a24e5283e17cbb9e9d0c138e26da897835741457bab53be99754959eb01bdc8c5ea61a67327655ad6b1deba941b37ba4e86dab61375 SHA512 05ba60f585b576757bf0d2799dda2d17f0b4fd06bbdeaf4810c64f48c1a74dbc8bdba4348800fcb0c343415317104556cf4f2ab2dcabd9d438a0c31de1c45cd6
diff --git a/dev-python/ovs/ovs-2.17.1_p1.ebuild b/dev-python/ovs/ovs-2.17.1_p1.ebuild
index ad19dd3a261f..dca3986a48c7 100644
--- a/dev-python/ovs/ovs-2.17.1_p1.ebuild
+++ b/dev-python/ovs/ovs-2.17.1_p1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1 pypi
DESCRIPTION="OVS bindings for python"
diff --git a/dev-python/ovs/ovs-2.17.9.ebuild b/dev-python/ovs/ovs-2.17.9.ebuild
new file mode 100644
index 000000000000..dca3986a48c7
--- /dev/null
+++ b/dev-python/ovs/ovs-2.17.9.ebuild
@@ -0,0 +1,17 @@
+# 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_{9..12} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="OVS bindings for python"
+HOMEPAGE="https://github.com/openvswitch/ovs/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86"
+
+RDEPEND="dev-python/sortedcontainers[${PYTHON_USEDEP}]"
diff --git a/dev-python/owslib/Manifest b/dev-python/owslib/Manifest
index 04b2be6cd3b3..2bdfb6a46c0a 100644
--- a/dev-python/owslib/Manifest
+++ b/dev-python/owslib/Manifest
@@ -1 +1 @@
-DIST OWSLib-0.29.3.gh.tar.gz 994453 BLAKE2B 442dc832b94bfdc383b9d932de957696f9abb4d3843c856b07cf56a47c42291c6d7ff8b8713bb123d296c780e44efbfa08ba94ba2ee747dc7a2f4de0508a5f0f SHA512 2aa63ae18830d724f2cb46647ed867c5b74b2858a93df2500160b5cd58b25b0fb39bfc2d5bcda58bfe3b229bac5ea68acf9abdc746971e2eb5198875f00e6f4d
+DIST OWSLib-0.31.0.gh.tar.gz 1041697 BLAKE2B 0fd7e0aa95a07229e171bbf3924a9a7036aa0e201a28c8198fcdd4a462d75b90b0979ffda7d9e20ec30abc284b97362fd195cda67c772f3f96642f1ae89ff753 SHA512 005e6f753472675aef0bd0ead138e9bafce2df4e3530003d4159a2ecf610164487ddeb63cf1dfeb6cb4847c878eb40056ccc77116aac8be658fb322ad650f41d
diff --git a/dev-python/owslib/owslib-0.29.3.ebuild b/dev-python/owslib/owslib-0.29.3.ebuild
deleted file mode 100644
index 6962fc2001e1..000000000000
--- a/dev-python/owslib/owslib-0.29.3.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=OWSLib-${PV}
-DESCRIPTION="Library for client programming with Open Geospatial Consortium web service"
-HOMEPAGE="
- https://geopython.github.io/OWSLib/
- https://github.com/geopython/owslib/
- https://pypi.org/project/OWSLib/
-"
-SRC_URI="
- https://github.com/geopython/${PN}/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-RESTRICT="test"
-PROPERTIES="test_network"
-
-RDEPEND="
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pillow[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # connection errors
- tests/test_wfs_generic.py::test_xmlfilter_wfs_110
- tests/test_wfs_generic.py::test_xmlfilter_wfs_200
- tests/test_ogcapi_records_pycsw.py::test_ogcapi_records_pycsw
- tests/test_opensearch_pycsw.py::test_opensearch_creodias
- tests/test_ows_interfaces.py::test_ows_interfaces_csw
- tests/test_csw3_pycsw.py::test_csw_pycsw
- tests/test_csw_pycsw.py::test_csw_pycsw
- tests/test_csw_pycsw_skip_caps.py::test_csw_pycsw_skip_caps
- # different output from remote service, sigh
- tests/test_ogcapi_processes_pygeoapi.py::test_ogcapi_processes_pygeoapi
- # TODO
- tests/test_remote_metadata.py::TestOffline::test_wfs_{110,200}_remotemd_parse_{all,single}
- tests/test_remote_metadata.py::TestOffline::test_wms_130_remotemd_parse_{all,single}
-)
-
-python_test() {
- epytest -o addopts=
-}
diff --git a/dev-python/owslib/owslib-0.31.0.ebuild b/dev-python/owslib/owslib-0.31.0.ebuild
new file mode 100644
index 000000000000..debd7ffa05dc
--- /dev/null
+++ b/dev-python/owslib/owslib-0.31.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..13} )
+
+inherit distutils-r1
+
+MY_P=OWSLib-${PV}
+DESCRIPTION="Library for client programming with Open Geospatial Consortium web service"
+HOMEPAGE="
+ https://geopython.github.io/OWSLib/
+ https://github.com/geopython/owslib/
+ https://pypi.org/project/OWSLib/
+"
+SRC_URI="
+ https://github.com/geopython/${PN}/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts= -m "not online"
+}
diff --git a/dev-python/packaging/Manifest b/dev-python/packaging/Manifest
index 7bc73079326b..d5da3ec72747 100644
--- a/dev-python/packaging/Manifest
+++ b/dev-python/packaging/Manifest
@@ -1 +1,3 @@
DIST packaging-23.2.tar.gz 146714 BLAKE2B cf7986a07312fd82a2a0ee738088993b9570d95cd0b573afa7a1f911bf335de7084e3d40d961adea7f5a8369738688f9d0a4265ef26a393f2d30769bc13f752a SHA512 8ab5e9bc4feef2fac1c9044dc8a6f2d41aaf9fe2dae671de8b98c0b1a19dca2169588b87d85a8c990d808b1e76faee65984ce970eaa3282b75e107ca82cc2863
+DIST packaging-24.0.tar.gz 147882 BLAKE2B 32c5f30623d39890376e9f5bb3d80ef4a5bd2291ae906883d28236c0d095628eb5d379e5bfb503d6d06fcea0aefc0b2beb1a7968d3ec8c543c48572b432438f3 SHA512 b6af704f93bcb7611a06eb2bfa94d8dc4bb1e5e9898af7c0eb85e67cf1ebdb858e272ca18019be4daaa43ac3f73b1cb2e690d8b50a4252380a2dc9f2d0e03a58
+DIST packaging-24.1.tar.gz 148788 BLAKE2B 0098e4589eaf1f43ee54e678d1661a9b6c07cfd49c2056359e65667f1e5136f1c9a132d2c5312e7d11c21510b584d0c8ca702d4319bc9215bdec231f29bf2c69 SHA512 fba8b94c1798c380c6af2c7fe211137fcc5669b1af3b0de52d6bcba05907f5bc74693df740677213d6c230e8d2db48ab9c4b8309752813c25cee87f1622fd4ab
diff --git a/dev-python/packaging/packaging-23.2-r1.ebuild b/dev-python/packaging/packaging-23.2-r1.ebuild
new file mode 100644
index 000000000000..bc07e0116b04
--- /dev/null
+++ b/dev-python/packaging/packaging-23.2-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Core utilities for Python packages"
+HOMEPAGE="
+ https://github.com/pypa/packaging/
+ https://pypi.org/project/packaging/
+"
+
+SLOT="0"
+LICENSE="|| ( Apache-2.0 BSD-2 )"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !<dev-python/setuptools-67
+"
+DEPEND="
+ test? (
+ dev-python/pretend[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest --capture=no
+}
diff --git a/dev-python/packaging/packaging-23.2.ebuild b/dev-python/packaging/packaging-23.2.ebuild
deleted file mode 100644
index 32faf84db1ac..000000000000
--- a/dev-python/packaging/packaging-23.2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Core utilities for Python packages"
-HOMEPAGE="
- https://github.com/pypa/packaging/
- https://pypi.org/project/packaging/
-"
-
-SLOT="0"
-LICENSE="|| ( Apache-2.0 BSD-2 )"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- >=dev-python/pyparsing-3.0.7-r1[${PYTHON_USEDEP}]
- !<dev-python/setuptools-67
-"
-DEPEND="
- test? (
- dev-python/pretend[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest --capture=no
-}
diff --git a/dev-python/packaging/packaging-24.0.ebuild b/dev-python/packaging/packaging-24.0.ebuild
new file mode 100644
index 000000000000..cf4d60443386
--- /dev/null
+++ b/dev-python/packaging/packaging-24.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Core utilities for Python packages"
+HOMEPAGE="
+ https://github.com/pypa/packaging/
+ https://pypi.org/project/packaging/
+"
+
+LICENSE="|| ( Apache-2.0 BSD-2 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !<dev-python/setuptools-67
+"
+DEPEND="
+ test? (
+ dev-python/pretend[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest --capture=no
+}
diff --git a/dev-python/packaging/packaging-24.1.ebuild b/dev-python/packaging/packaging-24.1.ebuild
new file mode 100644
index 000000000000..cf4d60443386
--- /dev/null
+++ b/dev-python/packaging/packaging-24.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Core utilities for Python packages"
+HOMEPAGE="
+ https://github.com/pypa/packaging/
+ https://pypi.org/project/packaging/
+"
+
+LICENSE="|| ( Apache-2.0 BSD-2 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ !<dev-python/setuptools-67
+"
+DEPEND="
+ test? (
+ dev-python/pretend[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest --capture=no
+}
diff --git a/dev-python/paginate/paginate-0.5.6.ebuild b/dev-python/paginate/paginate-0.5.6.ebuild
index 65692bbfe32b..81835e8a3b27 100644
--- a/dev-python/paginate/paginate-0.5.6.ebuild
+++ b/dev-python/paginate/paginate-0.5.6.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -28,6 +28,8 @@ python_test() {
local EPYTEST_DESELECT=()
case ${EPYTHON} in
+ python3.13)
+ ;&
python3.12)
EPYTEST_DESELECT+=(
# these tests assume that dict is not sliceable
diff --git a/dev-python/paho-mqtt/Manifest b/dev-python/paho-mqtt/Manifest
index 18b580971350..1a4adc2a1081 100644
--- a/dev-python/paho-mqtt/Manifest
+++ b/dev-python/paho-mqtt/Manifest
@@ -1 +1,2 @@
DIST paho-mqtt-1.6.1.gh.tar.gz 145673 BLAKE2B fb583a2505892370737edfc9ad06b195c0feda4fd87794f3aa40fb30679b5710e04483e610a6be9c0e0978084f3ca96c0d285cf8cacb2bf67aca605f1d53ed7c SHA512 8a13c1f6f97138728d5cab6f7bcd6474942fdf9dfc18d1fad723d50de81f4e062953b5bef2ebbde27b08e480eed305ecbfeae467d70eb10f07ec0adca11750ec
+DIST paho.mqtt.python-2.1.0.gh.tar.gz 167548 BLAKE2B 71127e4187746fc81e5dfd667178ad3f2bf8cc8fc2c803ee91afd54b9a30432394c53bda8751345aad8739c019081e5f1937bfcee1c91ef1849d12490739ab67 SHA512 50e7222de62d49975e6d34136357df6e95c34034768f06e7f1d39fac280aecfb366da134f8349e7e3f358f69840ee4707ba7567955bd70bb78c737ff3959e7f3
diff --git a/dev-python/paho-mqtt/paho-mqtt-1.6.1-r1.ebuild b/dev-python/paho-mqtt/paho-mqtt-1.6.1-r1.ebuild
index e005e4f5bf51..a338a869a124 100644
--- a/dev-python/paho-mqtt/paho-mqtt-1.6.1-r1.ebuild
+++ b/dev-python/paho-mqtt/paho-mqtt-1.6.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
@@ -18,7 +18,7 @@ S="${WORKDIR}/paho.mqtt.python-${PV}"
LICENSE="EPL-2.0"
SLOT="0"
-KEYWORDS="amd64 arm64 x86"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
BDEPEND="
test? (
diff --git a/dev-python/paho-mqtt/paho-mqtt-2.1.0.ebuild b/dev-python/paho-mqtt/paho-mqtt-2.1.0.ebuild
new file mode 100644
index 000000000000..55f6e594041a
--- /dev/null
+++ b/dev-python/paho-mqtt/paho-mqtt-2.1.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+MY_P="paho.mqtt.python-${PV}"
+DESCRIPTION="MQTT version 5.0/3.1.1 client class"
+HOMEPAGE="
+ https://eclipse.dev/paho/index.php?page=clients/python/
+ https://github.com/eclipse/paho.mqtt.python/
+ https://pypi.org/project/paho-mqtt/
+"
+SRC_URI="
+ https://github.com/eclipse/paho.mqtt.python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="EPL-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pallets-sphinx-themes/Manifest b/dev-python/pallets-sphinx-themes/Manifest
index 4fa85d2c6764..6510d5d7086a 100644
--- a/dev-python/pallets-sphinx-themes/Manifest
+++ b/dev-python/pallets-sphinx-themes/Manifest
@@ -1 +1 @@
-DIST Pallets-Sphinx-Themes-2.1.1.tar.gz 21776 BLAKE2B e43137bc6e545f0fc4977a4c724f739fdcfc234f0100b31f27c00f6abbc8cc7f7cc93b8beb9df0e576e6f4a65f52494685ecebf2db5362dc6ad7c9ad23552e11 SHA512 959e63970a3787ae58dc8418813ae490f3979cad4945d897594bcdca3bf15abde6d17364916a3a4d7f9803720d2b5dfee5adaad1d918f520b9954ccc5da136ec
+DIST pallets_sphinx_themes-2.1.3.tar.gz 20124 BLAKE2B c66fac3aa625812c48aceee75a8296d272a1c5819463b41c2892aeefef4633da1d74c781b1669dbe87aa7af302169469fb04b7cc0492970156efcc53271e8c0f SHA512 2b11d05af4023b54b6bb3f1edda509648458542b9ff255b709cc01797551755d80851612259f460e3d17e4a3b5da0833e12c15bf5df11b38641c4d34007dc12e
diff --git a/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.1.1.ebuild b/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.1.1.ebuild
deleted file mode 100644
index 9e9cac8fde83..000000000000
--- a/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.1.1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=Pallets-Sphinx-Themes
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sphinx themes for Pallets and related projects"
-HOMEPAGE="
- https://github.com/pallets/pallets-sphinx-themes/
- https://pypi.org/project/Pallets-Sphinx-Themes/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/sphinx-3[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.1.3.ebuild b/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.1.3.ebuild
new file mode 100644
index 000000000000..fc787fbb1408
--- /dev/null
+++ b/dev-python/pallets-sphinx-themes/pallets-sphinx-themes-2.1.3.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYPI_PN=Pallets-Sphinx-Themes
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx themes for Pallets and related projects"
+HOMEPAGE="
+ https://github.com/pallets/pallets-sphinx-themes/
+ https://pypi.org/project/Pallets-Sphinx-Themes/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-3[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/pandas/Manifest b/dev-python/pandas/Manifest
index 408349fbf7e5..17515a2da67d 100644
--- a/dev-python/pandas/Manifest
+++ b/dev-python/pandas/Manifest
@@ -1,4 +1 @@
-DIST pandas-1.5.3.tar.gz 5203060 BLAKE2B 846a6caa8ead6a2556303494f92e2091582d8fcde2aee424fa172c4e29c189a7305261f6a931a20249e969668646ff4a3d605ee1b57785fa3677dfbd137b3602 SHA512 3c725c33dcaf78b952d2eb966ced73ff0073162a01d3cbcb722d58d8f12a82163e6e684c27284c735bdfb32dea263b960f70f6a80ff93e6b316316d40835ae35
-DIST pandas-2.1.1.tar.gz 4266250 BLAKE2B 9d8256300db65b606e34b16d7f3884b602794fe3c14d66115056db4a4658603fbe7a7a3082dfc781760517d643d6e21a6d4d43441131ec6aed5965b6fa8a0e9c SHA512 346e13e06805948c569712028c9b8d756c67ca2fab040999a51a4e759206d50d8ee25be38ac3c7cb3d2e692a02d85c1ec198841311fe43cb04b64f2741627a4e
-DIST pandas-2.1.2.tar.gz 4271419 BLAKE2B 2f22035c9b7d6a0403b28ebe506550328e096f0ed87984dba28d2f49950393ed8a5a3c0c71c5391385d9f5361319431d5de3736f7381eb7670045415b05137a7 SHA512 dad04f1fcc5a59485c34ebfed0698fd47ad9eeffafaddf91642c084f4ffde8a55ce543f9dadb6e7a5066b1809489961d34fe3fe8860f64f9bd2d90b445d92063
-DIST pandas-2.1.3.tar.gz 4272855 BLAKE2B 73717926bb0af44acb9a2d12964df7bf70affd61ca19468b3af4376f9c8084d3612895a9ac5117be97658fd5b7ff0275cd7b2c6f1b9b0e00afb951fd50a1f103 SHA512 71012b47b76444e19507e444c8ef88497e3b286856690216886cbb67ad70786c2f5014a7cf6c89f8378769560109fb5593a8c82c21a034a1059769e15c843b92
+DIST pandas-2.2.2.tar.gz 4398391 BLAKE2B 6b723d85c500abaca4d833e4fb329d9a495e3e8ae51c74632111b139ed38ca9e26087ba43ecc40d68f66613352dc140bb2f1b0cbb92915bb027548886072fc79 SHA512 85b006f96bd6400aeea2ec29df3557ea6c4bfee0a7aebb172547a43171dc0e7682d15f798081846a4f464559ab83f579cfe06d66d4b5c0cb0fb2975c2ef98f9c
diff --git a/dev-python/pandas/files/pandas-2.1.1-which.patch b/dev-python/pandas/files/pandas-2.1.1-which.patch
deleted file mode 100644
index 424c10af82ae..000000000000
--- a/dev-python/pandas/files/pandas-2.1.1-which.patch
+++ /dev/null
@@ -1,12 +0,0 @@
-diff --git a/pandas/io/clipboard/__init__.py b/pandas/io/clipboard/__init__.py
-index c07f51d875..14d79fb367 100644
---- a/pandas/io/clipboard/__init__.py
-+++ b/pandas/io/clipboard/__init__.py
-@@ -87,6 +87,7 @@ else:
-
-
- def _executable_exists(name):
-+ return which(name)
- return (
- subprocess.call(
- [WHICH_CMD, name], stdout=subprocess.PIPE, stderr=subprocess.PIPE
diff --git a/dev-python/pandas/files/pandas-2.2.2-py313.patch b/dev-python/pandas/files/pandas-2.2.2-py313.patch
new file mode 100644
index 000000000000..3fe6f7d89367
--- /dev/null
+++ b/dev-python/pandas/files/pandas-2.2.2-py313.patch
@@ -0,0 +1,117 @@
+From ad0ef9233f4e6366faf9512d512ec5248ade6d5e Mon Sep 17 00:00:00 2001
+From: Lysandros Nikolaou <lisandrosnik@gmail.com>
+Date: Tue, 25 Jun 2024 03:40:22 +0200
+Subject: [PATCH] ENH: Fix Python 3.13 test failures & enable CI (#59065)
+
+* ENH: Fix Python 3.13 test failures & enable CI
+
+x-ref #58734
+
+Co-authored-by: Thomas Li <47963215+lithomas1@users.noreply.github.com>
+
+* Cast npy_intp to int to fix Windows CI
+
+---------
+
+Co-authored-by: Thomas Li <47963215+lithomas1@users.noreply.github.com>
+---
+ .github/workflows/unit-tests.yml | 4 ++--
+ pandas/_libs/src/vendored/ujson/python/objToJSON.c | 12 ++++++------
+ pandas/_libs/tslibs/offsets.pyx | 7 ++++++-
+ pandas/tests/groupby/test_groupby.py | 4 +++-
+ pandas/tests/io/parser/test_dialect.py | 2 +-
+ pandas/tests/io/test_common.py | 5 ++++-
+ pandas/tests/io/xml/test_xml.py | 2 +-
+ pandas/tests/scalar/timedelta/test_arithmetic.py | 1 +
+ 8 files changed, 24 insertions(+), 13 deletions(-)
+
+diff --git a/pandas/_libs/tslibs/offsets.pyx b/pandas/_libs/tslibs/offsets.pyx
+index c37a4b285d..5dacd7dd55 100644
+--- a/pandas/_libs/tslibs/offsets.pyx
++++ b/pandas/_libs/tslibs/offsets.pyx
+@@ -4960,7 +4960,12 @@ cpdef to_offset(freq, bint is_period=False):
+ if result is None:
+ raise ValueError(INVALID_FREQ_ERR_MSG.format(freq))
+
+- if is_period and not hasattr(result, "_period_dtype_code"):
++ try:
++ has_period_dtype_code = hasattr(result, "_period_dtype_code")
++ except ValueError:
++ has_period_dtype_code = False
++
++ if is_period and not has_period_dtype_code:
+ if isinstance(freq, str):
+ raise ValueError(f"{result.name} is not supported as period frequency")
+ else:
+diff --git a/pandas/tests/groupby/test_groupby.py b/pandas/tests/groupby/test_groupby.py
+index ed9acdd0c9..44d6340e55 100644
+--- a/pandas/tests/groupby/test_groupby.py
++++ b/pandas/tests/groupby/test_groupby.py
+@@ -2816,7 +2816,9 @@ def test_rolling_wrong_param_min_period():
+ test_df = DataFrame([name_l, val_l]).T
+ test_df.columns = ["name", "val"]
+
+- result_error_msg = r"__init__\(\) got an unexpected keyword argument 'min_period'"
++ result_error_msg = (
++ r"^[a-zA-Z._]*\(\) got an unexpected keyword argument 'min_period'"
++ )
+ with pytest.raises(TypeError, match=result_error_msg):
+ test_df.groupby("name")["val"].rolling(window=2, min_period=1).sum()
+
+diff --git a/pandas/tests/io/parser/test_dialect.py b/pandas/tests/io/parser/test_dialect.py
+index 7a72e66996..803114723b 100644
+--- a/pandas/tests/io/parser/test_dialect.py
++++ b/pandas/tests/io/parser/test_dialect.py
+@@ -26,7 +26,7 @@ def custom_dialect():
+ "escapechar": "~",
+ "delimiter": ":",
+ "skipinitialspace": False,
+- "quotechar": "~",
++ "quotechar": "`",
+ "quoting": 3,
+ }
+ return dialect_name, dialect_kwargs
+diff --git a/pandas/tests/io/test_common.py b/pandas/tests/io/test_common.py
+index 0740338686..e51f865630 100644
+--- a/pandas/tests/io/test_common.py
++++ b/pandas/tests/io/test_common.py
+@@ -485,7 +485,10 @@ class TestMMapWrapper:
+ df.to_csv(path, compression=compression_, encoding=encoding)
+
+ # reading should fail (otherwise we wouldn't need the warning)
+- msg = r"UTF-\d+ stream does not start with BOM"
++ msg = (
++ r"UTF-\d+ stream does not start with BOM|"
++ r"'utf-\d+' codec can't decode byte"
++ )
+ with pytest.raises(UnicodeError, match=msg):
+ pd.read_csv(path, compression=compression_, encoding=encoding)
+
+diff --git a/pandas/tests/io/xml/test_xml.py b/pandas/tests/io/xml/test_xml.py
+index 6f429c1ecb..900734e9f0 100644
+--- a/pandas/tests/io/xml/test_xml.py
++++ b/pandas/tests/io/xml/test_xml.py
+@@ -1044,7 +1044,7 @@ def test_utf16_encoding(xml_baby_names, parser):
+ UnicodeError,
+ match=(
+ "UTF-16 stream does not start with BOM|"
+- "'utf-16-le' codec can't decode byte"
++ "'utf-16(-le)?' codec can't decode byte"
+ ),
+ ):
+ read_xml(xml_baby_names, encoding="UTF-16", parser=parser)
+diff --git a/pandas/tests/scalar/timedelta/test_arithmetic.py b/pandas/tests/scalar/timedelta/test_arithmetic.py
+index d2fa0f722c..33ac121076 100644
+--- a/pandas/tests/scalar/timedelta/test_arithmetic.py
++++ b/pandas/tests/scalar/timedelta/test_arithmetic.py
+@@ -622,6 +622,7 @@ class TestTimedeltaMultiplicationDivision:
+ [
+ r"Invalid dtype datetime64\[D\] for __floordiv__",
+ "'dtype' is an invalid keyword argument for this function",
++ "this function got an unexpected keyword argument 'dtype'",
+ r"ufunc '?floor_divide'? cannot use operands with types",
+ ]
+ )
+--
+2.45.2
+
diff --git a/dev-python/pandas/pandas-1.5.3.ebuild b/dev-python/pandas/pandas-1.5.3.ebuild
deleted file mode 100644
index 9128f622fb8f..000000000000
--- a/dev-python/pandas/pandas-1.5.3.ebuild
+++ /dev/null
@@ -1,222 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="threads(+)"
-
-VIRTUALX_REQUIRED="manual"
-
-inherit distutils-r1 multiprocessing optfeature virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="
- https://pandas.pydata.org/
- https://github.com/pandas-dev/pandas/
- https://pypi.org/project/pandas/
-"
-SRC_URI="
- https://github.com/pandas-dev/pandas/releases/download/v${PV}/${P}.tar.gz
-"
-S=${WORKDIR}/${P/_/}
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="doc full-support minimal test X"
-RESTRICT="!test? ( test )"
-
-RECOMMENDED_DEPEND="
- >=dev-python/bottleneck-1.2.1[${PYTHON_USEDEP}]
- >=dev-python/numexpr-2.7.0[${PYTHON_USEDEP}]
-"
-
-# TODO: add pandas-gbq to the tree
-# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11
-# https://github.com/statsmodels/statsmodels/issues/8287
-OPTIONAL_DEPEND="
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/blosc[${PYTHON_USEDEP}]
- || (
- dev-python/html5lib[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- )
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- || (
- dev-python/openpyxl[${PYTHON_USEDEP}]
- dev-python/xlsxwriter[${PYTHON_USEDEP}]
- )
- >=dev-python/tables-3.2.1[${PYTHON_USEDEP}]
- >=dev-python/xarray-0.12.3[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.3.0[${PYTHON_USEDEP}]
- >=dev-python/xlrd-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
- !hppa? (
- $(python_gen_cond_dep '
- dev-python/statsmodels[${PYTHON_USEDEP}]
- ' python3_{8..10} )
- >=dev-python/scipy-1.1[${PYTHON_USEDEP}]
- )
- X? (
- || (
- dev-python/PyQt5[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
- )
-"
-DEPEND="
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
-"
-COMMON_DEPEND="
- ${DEPEND}
- >=dev-python/python-dateutil-2.8.1-r3[${PYTHON_USEDEP}]
- >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
-"
-# <cython-3: bug #898706
-BDEPEND="
- ${COMMON_DEPEND}
- <dev-python/cython-3[${PYTHON_USEDEP}]
- >=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
- doc? (
- ${VIRTUALX_DEPEND}
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/html5lib[${PYTHON_USEDEP}]
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/nbsphinx[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.9.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-1.6.1[${PYTHON_USEDEP}]
- >=dev-python/tables-3.0.0[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/rpy[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/xlrd[${PYTHON_USEDEP}]
- dev-python/xlwt[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- virtual/pandoc
- x11-misc/xclip
- )
- test? (
- ${VIRTUALX_DEPEND}
- ${RECOMMENDED_DEPEND}
- ${OPTIONAL_DEPEND}
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-5.5.3[${PYTHON_USEDEP}]
- dev-python/openpyxl[${PYTHON_USEDEP}]
- dev-python/pymysql[${PYTHON_USEDEP}]
- >=dev-python/pytest-6[${PYTHON_USEDEP}]
- >=dev-python/pytest-xdist-1.31[${PYTHON_USEDEP}]
- dev-python/psycopg:2[${PYTHON_USEDEP}]
- dev-python/xlsxwriter[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
-"
-# dev-python/statsmodels invokes a circular dep
-# hence rm from doc? ( ), again
-RDEPEND="
- ${COMMON_DEPEND}
- !minimal? ( ${RECOMMENDED_DEPEND} )
- full-support? ( ${OPTIONAL_DEPEND} )
-"
-
-python_prepare_all() {
- # Prevent un-needed download during build
- sed -e "/^ 'sphinx.ext.intersphinx',/d" \
- -i doc/source/conf.py || die
-
- # requires package installed
- sed -e '/extra_compile_args =/s:"-Werror"::' \
- -i setup.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- distutils-r1_python_compile -j1
-}
-
-python_compile_all() {
- # To build docs the need be located in $BUILD_DIR,
- # else PYTHONPATH points to unusable modules.
- if use doc; then
- cd "${BUILD_DIR}"/lib || die
- cp -ar "${S}"/doc . && cd doc || die
- LANG=C PYTHONPATH=. virtx ${EPYTHON} make.py html
- fi
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # test for rounding errors, fails if we have better precision
- # e.g. on amd64 with FMA or on arm64
- # https://github.com/pandas-dev/pandas/issues/38921
- pandas/tests/window/test_rolling.py::test_rolling_var_numerical_issues
-
- # TODO
- pandas/tests/api/test_api.py::TestTesting::test_util_testing_deprecated
- pandas/tests/api/test_api.py::TestTesting::test_util_testing_deprecated_direct
- pandas/tests/io/test_clipboard.py::TestClipboard::test_raw_roundtrip
- pandas/tests/copy_view/test_internals.py::test_switch_options
-
- # TODO: xdist?
- pandas/tests/test_expressions.py::TestExpressions::test_run_binary
-
- # TODO: these require a running db server
- pandas/tests/io/test_sql.py::TestMySQLAlchemy
- pandas/tests/io/test_sql.py::TestMySQLAlchemyConn
- pandas/tests/io/test_sql.py::TestPostgreSQLAlchemy
- pandas/tests/io/test_sql.py::TestPostgreSQLAlchemyConn
-
- # OOMs
- pandas/tests/io/parser/test_c_parser_only.py::test_bytes_exceed_2gb
-
- # xarray version incompatibility
- pandas/tests/test_downstream.py::test_xarray_cftimeindex_nearest
-
- # warning from dask
- pandas/tests/test_downstream.py::test_construct_dask_float_array_int_dtype_match_ndarray
- )
-
- local -x LC_ALL=C.UTF-8
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
- epytest pandas --skip-slow --skip-network -m "not single" \
- -n "$(makeopts_jobs)" || die "Tests failed with ${EPYTHON}"
-}
-
-python_install_all() {
- if use doc; then
- dodoc -r "${BUILD_DIR}"/lib/doc/build/html
- einfo "An initial build of docs is absent of references to statsmodels"
- einfo "due to circular dependency. To have them included, emerge"
- einfo "statsmodels next and re-emerge pandas with USE doc"
- fi
-
- distutils-r1_python_install_all
-}
-
-pkg_postinst() {
- optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
- optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
- optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
- optfeature "for msgpack compression using blosc" dev-python/blosc
- optfeature "Template engine for conditional HTML formatting" dev-python/jinja
- optfeature "Plotting support" dev-python/matplotlib
- optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.0" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
- optfeature "necessary for HDF5-based storage" ">=dev-python/tables-3.2.1"
- optfeature "R I/O support" dev-python/rpy
- optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
- optfeature "SQL database support" ">=dev-python/sqlalchemy-1.3.0"
- optfeature "miscellaneous statistical functions" dev-python/scipy
- optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/pygtk x11-misc/xclip x11-misc/xsel
-}
diff --git a/dev-python/pandas/pandas-2.1.1-r1.ebuild b/dev-python/pandas/pandas-2.1.1-r1.ebuild
deleted file mode 100644
index 8dbe96c196bc..000000000000
--- a/dev-python/pandas/pandas-2.1.1-r1.ebuild
+++ /dev/null
@@ -1,217 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="threads(+)"
-
-VIRTUALX_REQUIRED="manual"
-
-inherit distutils-r1 multiprocessing optfeature pypi virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="
- https://pandas.pydata.org/
- https://github.com/pandas-dev/pandas/
- https://pypi.org/project/pandas/
-"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-IUSE="full-support minimal test X"
-RESTRICT="!test? ( test )"
-
-RECOMMENDED_DEPEND="
- >=dev-python/bottleneck-1.3.4[${PYTHON_USEDEP}]
- >=dev-python/numexpr-2.8.0[${PYTHON_USEDEP}]
-"
-
-# TODO: add pandas-gbq to the tree
-# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11
-# https://github.com/statsmodels/statsmodels/issues/8287
-OPTIONAL_DEPEND="
- >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
- dev-python/blosc[${PYTHON_USEDEP}]
- >=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}]
- >=dev-python/tables-3.7.0[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
- >=dev-python/xarray-2022.3.0[${PYTHON_USEDEP}]
- >=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
- !hppa? (
- $(python_gen_cond_dep '
- dev-python/statsmodels[${PYTHON_USEDEP}]
- ' python3_{8..10} )
- >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
- )
- X? (
- || (
- >=dev-python/PyQt5-5.15.6[${PYTHON_USEDEP}]
- >=dev-python/QtPy-2.2.0[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
- )
-"
-DEPEND="
- >=dev-python/numpy-1.23.2[${PYTHON_USEDEP}]
-"
-COMMON_DEPEND="
- ${DEPEND}
- >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
- >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${COMMON_DEPEND}
- >=dev-util/meson-1.2.1
- >=dev-python/cython-0.29.33[${PYTHON_USEDEP}]
- >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
- test? (
- ${VIRTUALX_DEPEND}
- ${RECOMMENDED_DEPEND}
- ${OPTIONAL_DEPEND}
- >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.46.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.10[${PYTHON_USEDEP}]
- >=dev-python/pymysql-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/pytest-7.3.2[${PYTHON_USEDEP}]
- >=dev-python/pytest-asyncio-0.17.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-xdist-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/psycopg-2.9.3:2[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-python/tzdata[${PYTHON_USEDEP}]
- !minimal? ( ${RECOMMENDED_DEPEND} )
- full-support? ( ${OPTIONAL_DEPEND} )
-"
-
-PATCHES=(
- # a quick hack, it's already fixed in main
- "${FILESDIR}/pandas-2.1.1-which.patch"
-)
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # test for rounding errors, fails if we have better precision
- # e.g. on amd64 with FMA or on arm64
- # https://github.com/pandas-dev/pandas/issues/38921
- tests/window/test_rolling.py::test_rolling_var_numerical_issues
-
- # TODO; unhappy about DISPLAY?
- tests/test_downstream.py::test_seaborn
-
- # OOMs
- tests/io/parser/test_c_parser_only.py::test_bytes_exceed_2gb
-
- # TODO: numexpr says "forbidden control characters"
- tests/computation/test_eval.py::TestOperations::test_multi_line_expression_local_variable
- 'tests/computation/test_eval.py::test_query_token[numexpr-Temp(\xb0C)]'
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_lots_of_operators_string
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_multiple_spaces
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_parenthesis
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_start_with_spaces
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_syntax
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_variable_with_in
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_nested_scope
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_query_scope
-
- # TODO: missing data not covered by --no-strict-data-files?
- tests/io/xml/test_xml.py::test_empty_stylesheet
- tests/io/xml/test_xml.py::test_wrong_file_path
-
- # TODO
- tests/frame/test_arithmetic.py::TestFrameFlexArithmetic::test_floordiv_axis0_numexpr_path
-
- # deprecation warning
- tests/io/pytables/test_retain_attributes.py::test_retain_index_attributes2
-
- # Needs 64-bit time_t (TODO: split into 32-bit arch only section)
- tests/tseries/offsets/test_year.py::test_add_out_of_pydatetime_range
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-QuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-LastWeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-WeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-Week]'
-
- # hdf / pytables have alignment problems: bug #911660
- # https://github.com/pandas-dev/pandas/issues/54396
- tests/io/pytables/test_append.py::test_append_frame_column_oriented
- tests/io/pytables/test_store.py::test_select_filter_corner
-
- # blosc2 version
- tests/io/pytables/test_file_handling.py::test_complibs\[blosc2-{1..9}\]
- )
-
- case ${EPYTHON} in
- python3.12)
- EPYTEST_DESELECT+=(
- tests/io/pytables/test_select.py::test_select_dtypes
- tests/io/pytables/test_select.py::test_frame_select
- # deprecation warnings
- tests/io/excel/test_writers.py::TestRoundTrip::test_read_excel_parse_dates
- )
- ;;
- esac
-
- local -x LC_ALL=C.UTF-8
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
- # --no-strict-data-files is necessary since upstream prevents data
- # files from even being included in GitHub archives, sigh
- # https://github.com/pandas-dev/pandas/issues/54907
- epytest pandas/tests \
- --no-strict-data-files \
- --maxfail=32 \
- -m "not single and not slow and not network" \
- -n "$(makeopts_jobs)" --dist=worksteal ||
- die "Tests failed with ${EPYTHON}"
- rm test-data.xml || die
-}
-
-pkg_postinst() {
- optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
- optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
- optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
- optfeature "for msgpack compression using blosc" dev-python/blosc
- optfeature "Template engine for conditional HTML formatting" dev-python/jinja
- optfeature "Plotting support" dev-python/matplotlib
- optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.10" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
- optfeature "necessary for HDF5-based storage" ">=dev-python/tables-3.7.0"
- optfeature "R I/O support" dev-python/rpy
- optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
- optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.36"
- optfeature "miscellaneous statistical functions" dev-python/scipy
- optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/QtPy dev-python/pygtk x11-misc/xclip x11-misc/xsel
-}
diff --git a/dev-python/pandas/pandas-2.1.1.ebuild b/dev-python/pandas/pandas-2.1.1.ebuild
deleted file mode 100644
index b1a8bea822cf..000000000000
--- a/dev-python/pandas/pandas-2.1.1.ebuild
+++ /dev/null
@@ -1,203 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="threads(+)"
-
-VIRTUALX_REQUIRED="manual"
-
-inherit distutils-r1 multiprocessing optfeature pypi virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="
- https://pandas.pydata.org/
- https://github.com/pandas-dev/pandas/
- https://pypi.org/project/pandas/
-"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv x86 ~arm64-macos ~x64-macos"
-IUSE="full-support minimal test X"
-RESTRICT="!test? ( test )"
-
-RECOMMENDED_DEPEND="
- >=dev-python/bottleneck-1.3.4[${PYTHON_USEDEP}]
- >=dev-python/numexpr-2.8.0[${PYTHON_USEDEP}]
-"
-
-# TODO: add pandas-gbq to the tree
-# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11
-# https://github.com/statsmodels/statsmodels/issues/8287
-OPTIONAL_DEPEND="
- >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
- dev-python/blosc[${PYTHON_USEDEP}]
- >=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}]
- >=dev-python/tables-3.7.0[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
- >=dev-python/xarray-2022.3.0[${PYTHON_USEDEP}]
- >=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
- !hppa? (
- $(python_gen_cond_dep '
- dev-python/statsmodels[${PYTHON_USEDEP}]
- ' python3_{8..10} )
- >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
- )
- X? (
- || (
- >=dev-python/PyQt5-5.15.6[${PYTHON_USEDEP}]
- >=dev-python/QtPy-2.2.0[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
- )
-"
-DEPEND="
- >=dev-python/numpy-1.23.2[${PYTHON_USEDEP}]
-"
-COMMON_DEPEND="
- ${DEPEND}
- >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
- >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${COMMON_DEPEND}
- >=dev-util/meson-1.2.1
- >=dev-python/cython-0.29.33[${PYTHON_USEDEP}]
- >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
- test? (
- ${VIRTUALX_DEPEND}
- ${RECOMMENDED_DEPEND}
- ${OPTIONAL_DEPEND}
- >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.46.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.10[${PYTHON_USEDEP}]
- >=dev-python/pymysql-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/pytest-7.3.2[${PYTHON_USEDEP}]
- >=dev-python/pytest-asyncio-0.17.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-xdist-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/psycopg-2.9.3:2[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-python/tzdata[${PYTHON_USEDEP}]
- !minimal? ( ${RECOMMENDED_DEPEND} )
- full-support? ( ${OPTIONAL_DEPEND} )
-"
-
-PATCHES=(
- # a quick hack, it's already fixed in main
- "${FILESDIR}/pandas-2.1.1-which.patch"
-)
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # test for rounding errors, fails if we have better precision
- # e.g. on amd64 with FMA or on arm64
- # https://github.com/pandas-dev/pandas/issues/38921
- tests/window/test_rolling.py::test_rolling_var_numerical_issues
-
- # TODO; unhappy about DISPLAY?
- tests/test_downstream.py::test_seaborn
-
- # OOMs
- tests/io/parser/test_c_parser_only.py::test_bytes_exceed_2gb
-
- # TODO: numexpr says "forbidden control characters"
- tests/computation/test_eval.py::TestOperations::test_multi_line_expression_local_variable
- 'tests/computation/test_eval.py::test_query_token[numexpr-Temp(\xb0C)]'
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_lots_of_operators_string
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_multiple_spaces
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_parenthesis
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_start_with_spaces
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_syntax
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_variable_with_in
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_nested_scope
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_query_scope
-
- # TODO: missing data not covered by --no-strict-data-files?
- tests/io/xml/test_xml.py::test_empty_stylesheet
- tests/io/xml/test_xml.py::test_wrong_file_path
-
- # TODO
- tests/frame/test_arithmetic.py::TestFrameFlexArithmetic::test_floordiv_axis0_numexpr_path
-
- # deprecation warning
- tests/io/pytables/test_retain_attributes.py::test_retain_index_attributes2
-
- # Needs 64-bit time_t (TODO: split into 32-bit arch only section)
- tests/tseries/offsets/test_year.py::test_add_out_of_pydatetime_range
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-QuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-LastWeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-WeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-Week]'
-
- # hdf / pytables have alignment problems: bug #911660
- # https://github.com/pandas-dev/pandas/issues/54396
- tests/io/pytables/test_append.py::test_append_frame_column_oriented
- tests/io/pytables/test_store.py::test_select_filter_corner
- )
-
- local -x LC_ALL=C.UTF-8
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
- # --no-strict-data-files is necessary since upstream prevents data
- # files from even being included in GitHub archives, sigh
- # https://github.com/pandas-dev/pandas/issues/54907
- epytest pandas/tests \
- --no-strict-data-files \
- --maxfail=32 \
- -m "not single and not slow and not network" \
- -n "$(makeopts_jobs)" --dist=worksteal ||
- die "Tests failed with ${EPYTHON}"
- rm test-data.xml || die
-}
-
-pkg_postinst() {
- optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
- optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
- optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
- optfeature "for msgpack compression using blosc" dev-python/blosc
- optfeature "Template engine for conditional HTML formatting" dev-python/jinja
- optfeature "Plotting support" dev-python/matplotlib
- optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.10" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
- optfeature "necessary for HDF5-based storage" ">=dev-python/tables-3.7.0"
- optfeature "R I/O support" dev-python/rpy
- optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
- optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.36"
- optfeature "miscellaneous statistical functions" dev-python/scipy
- optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/QtPy dev-python/pygtk x11-misc/xclip x11-misc/xsel
-}
diff --git a/dev-python/pandas/pandas-2.1.2.ebuild b/dev-python/pandas/pandas-2.1.2.ebuild
deleted file mode 100644
index 4092de4a9310..000000000000
--- a/dev-python/pandas/pandas-2.1.2.ebuild
+++ /dev/null
@@ -1,217 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="threads(+)"
-
-VIRTUALX_REQUIRED="manual"
-
-inherit distutils-r1 multiprocessing optfeature pypi virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="
- https://pandas.pydata.org/
- https://github.com/pandas-dev/pandas/
- https://pypi.org/project/pandas/
-"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~riscv ~sparc ~x86"
-IUSE="full-support minimal test X"
-RESTRICT="!test? ( test )"
-
-RECOMMENDED_DEPEND="
- >=dev-python/bottleneck-1.3.4[${PYTHON_USEDEP}]
- >=dev-python/numexpr-2.8.0[${PYTHON_USEDEP}]
-"
-
-# TODO: add pandas-gbq to the tree
-# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11
-# https://github.com/statsmodels/statsmodels/issues/8287
-OPTIONAL_DEPEND="
- >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
- dev-python/blosc[${PYTHON_USEDEP}]
- >=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}]
- >=dev-python/tables-3.7.0[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
- >=dev-python/xarray-2022.3.0[${PYTHON_USEDEP}]
- >=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
- !hppa? (
- $(python_gen_cond_dep '
- dev-python/statsmodels[${PYTHON_USEDEP}]
- ' python3_{8..10} )
- >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
- )
- X? (
- || (
- >=dev-python/PyQt5-5.15.6[${PYTHON_USEDEP}]
- >=dev-python/QtPy-2.2.0[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
- )
-"
-DEPEND="
- >=dev-python/numpy-1.23.2[${PYTHON_USEDEP}]
-"
-COMMON_DEPEND="
- ${DEPEND}
- >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
- >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${COMMON_DEPEND}
- >=dev-util/meson-1.2.1
- >=dev-python/cython-0.29.33[${PYTHON_USEDEP}]
- >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
- test? (
- ${VIRTUALX_DEPEND}
- ${RECOMMENDED_DEPEND}
- ${OPTIONAL_DEPEND}
- >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.46.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.10[${PYTHON_USEDEP}]
- >=dev-python/pymysql-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/pytest-7.3.2[${PYTHON_USEDEP}]
- >=dev-python/pytest-asyncio-0.17.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-xdist-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/psycopg-2.9.3:2[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-python/tzdata[${PYTHON_USEDEP}]
- !minimal? ( ${RECOMMENDED_DEPEND} )
- full-support? ( ${OPTIONAL_DEPEND} )
-"
-
-PATCHES=(
- # a quick hack, it's already fixed in main
- "${FILESDIR}/pandas-2.1.1-which.patch"
-)
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # test for rounding errors, fails if we have better precision
- # e.g. on amd64 with FMA or on arm64
- # https://github.com/pandas-dev/pandas/issues/38921
- tests/window/test_rolling.py::test_rolling_var_numerical_issues
-
- # TODO; unhappy about DISPLAY?
- tests/test_downstream.py::test_seaborn
-
- # OOMs
- tests/io/parser/test_c_parser_only.py::test_bytes_exceed_2gb
-
- # TODO: numexpr says "forbidden control characters"
- tests/computation/test_eval.py::TestOperations::test_multi_line_expression_local_variable
- 'tests/computation/test_eval.py::test_query_token[numexpr-Temp(\xb0C)]'
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_lots_of_operators_string
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_multiple_spaces
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_parenthesis
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_start_with_spaces
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_syntax
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_variable_with_in
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_nested_scope
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_query_scope
-
- # TODO: missing data not covered by --no-strict-data-files?
- tests/io/xml/test_xml.py::test_empty_stylesheet
- tests/io/xml/test_xml.py::test_wrong_file_path
-
- # TODO
- tests/frame/test_arithmetic.py::TestFrameFlexArithmetic::test_floordiv_axis0_numexpr_path
-
- # deprecation warning
- tests/io/pytables/test_retain_attributes.py::test_retain_index_attributes2
-
- # Needs 64-bit time_t (TODO: split into 32-bit arch only section)
- tests/tseries/offsets/test_year.py::test_add_out_of_pydatetime_range
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-QuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-LastWeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-WeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-Week]'
-
- # hdf / pytables have alignment problems: bug #911660
- # https://github.com/pandas-dev/pandas/issues/54396
- tests/io/pytables/test_append.py::test_append_frame_column_oriented
- tests/io/pytables/test_store.py::test_select_filter_corner
-
- # blosc2 version
- tests/io/pytables/test_file_handling.py::test_complibs\[blosc2-{1..9}\]
- )
-
- case ${EPYTHON} in
- python3.12)
- EPYTEST_DESELECT+=(
- tests/io/pytables/test_select.py::test_select_dtypes
- tests/io/pytables/test_select.py::test_frame_select
- # deprecation warnings
- tests/io/excel/test_writers.py::TestRoundTrip::test_read_excel_parse_dates
- )
- ;;
- esac
-
- local -x LC_ALL=C.UTF-8
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
- # --no-strict-data-files is necessary since upstream prevents data
- # files from even being included in GitHub archives, sigh
- # https://github.com/pandas-dev/pandas/issues/54907
- epytest pandas/tests \
- --no-strict-data-files \
- --maxfail=32 \
- -m "not single and not slow and not network" \
- -n "$(makeopts_jobs)" --dist=worksteal ||
- die "Tests failed with ${EPYTHON}"
- rm test-data.xml || die
-}
-
-pkg_postinst() {
- optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
- optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
- optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
- optfeature "for msgpack compression using blosc" dev-python/blosc
- optfeature "Template engine for conditional HTML formatting" dev-python/jinja
- optfeature "Plotting support" dev-python/matplotlib
- optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.10" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
- optfeature "necessary for HDF5-based storage" ">=dev-python/tables-3.7.0"
- optfeature "R I/O support" dev-python/rpy
- optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
- optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.36"
- optfeature "miscellaneous statistical functions" dev-python/scipy
- optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/QtPy dev-python/pygtk x11-misc/xclip x11-misc/xsel
-}
diff --git a/dev-python/pandas/pandas-2.1.3.ebuild b/dev-python/pandas/pandas-2.1.3.ebuild
deleted file mode 100644
index ad9d9d3812f9..000000000000
--- a/dev-python/pandas/pandas-2.1.3.ebuild
+++ /dev/null
@@ -1,216 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="threads(+)"
-
-VIRTUALX_REQUIRED="manual"
-
-inherit distutils-r1 multiprocessing optfeature pypi virtualx
-
-DESCRIPTION="Powerful data structures for data analysis and statistics"
-HOMEPAGE="
- https://pandas.pydata.org/
- https://github.com/pandas-dev/pandas/
- https://pypi.org/project/pandas/
-"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="amd64 arm arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc x86"
-IUSE="full-support minimal test X"
-RESTRICT="!test? ( test )"
-
-RECOMMENDED_DEPEND="
- >=dev-python/bottleneck-1.3.4[${PYTHON_USEDEP}]
- >=dev-python/numexpr-2.8.0[${PYTHON_USEDEP}]
-"
-
-# TODO: add pandas-gbq to the tree
-# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11
-# https://github.com/statsmodels/statsmodels/issues/8287
-OPTIONAL_DEPEND="
- >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
- dev-python/blosc[${PYTHON_USEDEP}]
- >=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
- >=dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}]
- >=dev-python/tables-3.7.0[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
- >=dev-python/xarray-2022.3.0[${PYTHON_USEDEP}]
- >=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- >=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
- !hppa? (
- $(python_gen_cond_dep '
- dev-python/statsmodels[${PYTHON_USEDEP}]
- ' python3_{8..10} )
- >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
- )
- X? (
- || (
- >=dev-python/PyQt5-5.15.6[${PYTHON_USEDEP}]
- >=dev-python/QtPy-2.2.0[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
- )
-"
-DEPEND="
- >=dev-python/numpy-1.23.2[${PYTHON_USEDEP}]
-"
-COMMON_DEPEND="
- ${DEPEND}
- >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
- >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${COMMON_DEPEND}
- >=dev-util/meson-1.2.1
- >=dev-python/cython-0.29.33[${PYTHON_USEDEP}]
- >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
- test? (
- ${VIRTUALX_DEPEND}
- ${RECOMMENDED_DEPEND}
- ${OPTIONAL_DEPEND}
- >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.46.1[${PYTHON_USEDEP}]
- >=dev-python/openpyxl-3.0.10[${PYTHON_USEDEP}]
- >=dev-python/pymysql-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/pytest-7.3.2[${PYTHON_USEDEP}]
- >=dev-python/pytest-xdist-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/psycopg-2.9.3:2[${PYTHON_USEDEP}]
- >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
- x11-misc/xclip
- x11-misc/xsel
- )
-"
-RDEPEND="
- ${COMMON_DEPEND}
- dev-python/tzdata[${PYTHON_USEDEP}]
- !minimal? ( ${RECOMMENDED_DEPEND} )
- full-support? ( ${OPTIONAL_DEPEND} )
-"
-
-PATCHES=(
- # a quick hack, it's already fixed in main
- "${FILESDIR}/pandas-2.1.1-which.patch"
-)
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # test for rounding errors, fails if we have better precision
- # e.g. on amd64 with FMA or on arm64
- # https://github.com/pandas-dev/pandas/issues/38921
- tests/window/test_rolling.py::test_rolling_var_numerical_issues
-
- # TODO; unhappy about DISPLAY?
- tests/test_downstream.py::test_seaborn
-
- # OOMs
- tests/io/parser/test_c_parser_only.py::test_bytes_exceed_2gb
-
- # TODO: numexpr says "forbidden control characters"
- tests/computation/test_eval.py::TestOperations::test_multi_line_expression_local_variable
- 'tests/computation/test_eval.py::test_query_token[numexpr-Temp(\xb0C)]'
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_lots_of_operators_string
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_multiple_spaces
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_parenthesis
- tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_start_with_spaces
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_syntax
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_variable_with_in
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_nested_scope
- tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_query_scope
-
- # TODO: missing data not covered by --no-strict-data-files?
- tests/io/xml/test_xml.py::test_empty_stylesheet
- tests/io/xml/test_xml.py::test_wrong_file_path
-
- # TODO
- tests/frame/test_arithmetic.py::TestFrameFlexArithmetic::test_floordiv_axis0_numexpr_path
-
- # deprecation warning
- tests/io/pytables/test_retain_attributes.py::test_retain_index_attributes2
-
- # Needs 64-bit time_t (TODO: split into 32-bit arch only section)
- tests/tseries/offsets/test_year.py::test_add_out_of_pydatetime_range
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessDay]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessHour]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthBegin]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-QuarterEnd]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-LastWeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-WeekOfMonth]'
- 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-Week]'
-
- # hdf / pytables have alignment problems: bug #911660
- # https://github.com/pandas-dev/pandas/issues/54396
- tests/io/pytables/test_append.py::test_append_frame_column_oriented
- tests/io/pytables/test_store.py::test_select_filter_corner
-
- # blosc2 version
- tests/io/pytables/test_file_handling.py::test_complibs\[blosc2-{1..9}\]
- )
-
- case ${EPYTHON} in
- python3.12)
- EPYTEST_DESELECT+=(
- tests/io/pytables/test_select.py::test_select_dtypes
- tests/io/pytables/test_select.py::test_frame_select
- # deprecation warnings
- tests/io/excel/test_writers.py::TestRoundTrip::test_read_excel_parse_dates
- )
- ;;
- esac
-
- local -x LC_ALL=C.UTF-8
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
- # --no-strict-data-files is necessary since upstream prevents data
- # files from even being included in GitHub archives, sigh
- # https://github.com/pandas-dev/pandas/issues/54907
- epytest pandas/tests \
- --no-strict-data-files \
- --maxfail=32 \
- -m "not single and not slow and not network" \
- -n "$(makeopts_jobs)" --dist=worksteal ||
- die "Tests failed with ${EPYTHON}"
- rm test-data.xml || die
-}
-
-pkg_postinst() {
- optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
- optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
- optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
- optfeature "for msgpack compression using blosc" dev-python/blosc
- optfeature "Template engine for conditional HTML formatting" dev-python/jinja
- optfeature "Plotting support" dev-python/matplotlib
- optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.10" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
- optfeature "necessary for HDF5-based storage" ">=dev-python/tables-3.7.0"
- optfeature "R I/O support" dev-python/rpy
- optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
- optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.36"
- optfeature "miscellaneous statistical functions" dev-python/scipy
- optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/QtPy dev-python/pygtk x11-misc/xclip x11-misc/xsel
-}
diff --git a/dev-python/pandas/pandas-2.2.2-r1.ebuild b/dev-python/pandas/pandas-2.2.2-r1.ebuild
new file mode 100644
index 000000000000..4778a765850a
--- /dev/null
+++ b/dev-python/pandas/pandas-2.2.2-r1.ebuild
@@ -0,0 +1,235 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_REQ_USE="threads(+)"
+
+VIRTUALX_REQUIRED="manual"
+
+inherit distutils-r1 optfeature pypi virtualx
+
+DESCRIPTION="Powerful data structures for data analysis and statistics"
+HOMEPAGE="
+ https://pandas.pydata.org/
+ https://github.com/pandas-dev/pandas/
+ https://pypi.org/project/pandas/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+IUSE="big-endian full-support minimal test X"
+RESTRICT="!test? ( test )"
+
+RECOMMENDED_DEPEND="
+ >=dev-python/bottleneck-1.3.4[${PYTHON_USEDEP}]
+ >=dev-python/numexpr-2.8.0[${PYTHON_USEDEP}]
+"
+
+# TODO: add pandas-gbq to the tree
+# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11
+# https://github.com/statsmodels/statsmodels/issues/8287
+OPTIONAL_DEPEND="
+ >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
+ dev-python/blosc[${PYTHON_USEDEP}]
+ >=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}]
+ >=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}]
+ >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
+ >=dev-python/xarray-2022.3.0[${PYTHON_USEDEP}]
+ >=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
+ >=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
+ !arm? ( !hppa? ( !ppc? ( !x86? (
+ >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
+ dev-python/statsmodels[${PYTHON_USEDEP}]
+ ) ) ) )
+ !big-endian? (
+ >=dev-python/tables-3.7.0[${PYTHON_USEDEP}]
+ )
+ X? (
+ || (
+ >=dev-python/PyQt5-5.15.6[${PYTHON_USEDEP}]
+ >=dev-python/QtPy-2.2.0[${PYTHON_USEDEP}]
+ x11-misc/xclip
+ x11-misc/xsel
+ )
+ )
+"
+DEPEND="
+ >=dev-python/numpy-1.23.2:=[${PYTHON_USEDEP}]
+"
+COMMON_DEPEND="
+ ${DEPEND}
+ >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${COMMON_DEPEND}
+ >=dev-build/meson-1.2.1
+ >=dev-python/cython-3.0.5[${PYTHON_USEDEP}]
+ >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
+ test? (
+ ${VIRTUALX_DEPEND}
+ ${RECOMMENDED_DEPEND}
+ ${OPTIONAL_DEPEND}
+ dev-libs/apache-arrow[brotli,parquet,snappy]
+ >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.46.1[${PYTHON_USEDEP}]
+ >=dev-python/openpyxl-3.0.10[${PYTHON_USEDEP}]
+ >=dev-python/pyarrow-10.0.1[parquet,${PYTHON_USEDEP}]
+ >=dev-python/pymysql-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
+ x11-misc/xclip
+ x11-misc/xsel
+ )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ dev-python/tzdata[${PYTHON_USEDEP}]
+ !minimal? ( ${RECOMMENDED_DEPEND} )
+ full-support? ( ${OPTIONAL_DEPEND} )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/pandas-dev/pandas/pull/59065
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # test for rounding errors, fails if we have better precision
+ # e.g. on amd64 with FMA or on arm64
+ # https://github.com/pandas-dev/pandas/issues/38921
+ tests/window/test_rolling.py::test_rolling_var_numerical_issues
+
+ # TODO; unhappy about DISPLAY?
+ tests/test_downstream.py::test_seaborn
+
+ # OOMs
+ tests/io/parser/test_c_parser_only.py::test_bytes_exceed_2gb
+
+ # TODO: numexpr says "forbidden control characters"
+ tests/computation/test_eval.py::TestOperations::test_multi_line_expression_local_variable
+ 'tests/computation/test_eval.py::test_query_token[numexpr-Temp(\xb0C)]'
+ tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_lots_of_operators_string
+ tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_multiple_spaces
+ tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_parenthesis
+ tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_start_with_spaces
+ tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_syntax
+ tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_variable_with_in
+ tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_nested_scope
+ tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_query_scope
+
+ # TODO: missing data not covered by --no-strict-data-files?
+ tests/io/xml/test_xml.py::test_empty_stylesheet
+ tests/io/xml/test_xml.py::test_wrong_file_path
+
+ # TODO
+ tests/frame/test_arithmetic.py::TestFrameFlexArithmetic::test_floordiv_axis0_numexpr_path
+
+ # deprecation warning
+ tests/io/pytables/test_retain_attributes.py::test_retain_index_attributes2
+ 'tests/computation/test_eval.py::TestEval::test_scalar_unary[numexpr-pandas]'
+
+ # Needs 64-bit time_t (TODO: split into 32-bit arch only section)
+ tests/tseries/offsets/test_year.py::test_add_out_of_pydatetime_range
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessDay]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessHour]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthEnd]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthBegin]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterEnd]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterBegin]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessDay]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessHour]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthEnd]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthBegin]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthEnd]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthBegin]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthBegin]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthEnd]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-QuarterEnd]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-LastWeekOfMonth]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-WeekOfMonth]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-Week]'
+
+ # hdf / pytables have alignment problems: bug #911660
+ # https://github.com/pandas-dev/pandas/issues/54396
+ tests/io/pytables/test_append.py::test_append_frame_column_oriented
+ tests/io/pytables/test_store.py::test_select_filter_corner
+
+ # blosc2 version
+ tests/io/pytables/test_file_handling.py::test_complibs\[blosc2-{1..9}\]
+
+ # requires -Werror
+ tests/tslibs/test_to_offset.py::test_to_offset_lowercase_frequency_deprecated
+ tests/tslibs/test_to_offset.py::test_to_offset_uppercase_frequency_deprecated
+
+ # assumes that it will fail due to -mfpmath=387 on 32-bit arches,
+ # so it XPASS-es in every other scenario
+ tests/tools/test_to_timedelta.py::TestTimedeltas::test_to_timedelta_float
+
+ # newer matplotlib?
+ tests/plotting/frame/test_frame.py::TestDataFramePlots::test_group_subplot_invalid_column_name
+ )
+
+ if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/plotting/test_misc.py::test_savefig
+ )
+ fi
+
+ if has_version ">=dev-python/numexpr-2.10[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ 'tests/computation/test_eval.py::TestTypeCasting::test_binop_typecasting[numexpr-python-left_right0-float64-/]'
+ 'tests/computation/test_eval.py::TestTypeCasting::test_binop_typecasting[numexpr-python-left_right1-float64-/]'
+ 'tests/computation/test_eval.py::TestTypeCasting::test_binop_typecasting[numexpr-pandas-left_right0-float64-/]'
+ 'tests/computation/test_eval.py::TestTypeCasting::test_binop_typecasting[numexpr-pandas-left_right1-float64-/]'
+ 'tests/computation/test_eval.py::TestOperations::test_simple_arith_ops[numexpr-python]'
+ 'tests/computation/test_eval.py::TestOperations::test_simple_arith_ops[numexpr-pandas]'
+ )
+ fi
+
+ local -x LC_ALL=C.UTF-8
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
+ # --no-strict-data-files is necessary since upstream prevents data
+ # files from even being included in GitHub archives, sigh
+ # https://github.com/pandas-dev/pandas/issues/54907
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest pandas/tests \
+ --no-strict-data-files -o xfail_strict=false \
+ -m "not single_cpu and not slow and not network and not db" ||
+ die "Tests failed with ${EPYTHON}"
+ rm test-data.xml test_stata.dta || die
+}
+
+pkg_postinst() {
+ optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
+ optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
+ optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
+ optfeature "for msgpack compression using blosc" dev-python/blosc
+ optfeature "Template engine for conditional HTML formatting" dev-python/jinja
+ optfeature "Plotting support" dev-python/matplotlib
+ optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.10" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
+ optfeature "necessary for HDF5-based storage" ">=dev-python/tables-3.7.0"
+ optfeature "R I/O support" dev-python/rpy
+ optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
+ optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.36"
+ optfeature "miscellaneous statistical functions" dev-python/scipy
+ optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/QtPy dev-python/pygtk x11-misc/xclip x11-misc/xsel
+}
diff --git a/dev-python/pandas/pandas-2.2.2.ebuild b/dev-python/pandas/pandas-2.2.2.ebuild
new file mode 100644
index 000000000000..c24498c084d4
--- /dev/null
+++ b/dev-python/pandas/pandas-2.2.2.ebuild
@@ -0,0 +1,219 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_REQ_USE="threads(+)"
+
+VIRTUALX_REQUIRED="manual"
+
+inherit distutils-r1 optfeature pypi virtualx
+
+DESCRIPTION="Powerful data structures for data analysis and statistics"
+HOMEPAGE="
+ https://pandas.pydata.org/
+ https://github.com/pandas-dev/pandas/
+ https://pypi.org/project/pandas/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~loong ~riscv x86"
+IUSE="big-endian full-support minimal test X"
+RESTRICT="!test? ( test )"
+
+RECOMMENDED_DEPEND="
+ >=dev-python/bottleneck-1.3.4[${PYTHON_USEDEP}]
+ >=dev-python/numexpr-2.8.0[${PYTHON_USEDEP}]
+"
+
+# TODO: add pandas-gbq to the tree
+# TODO: Re-add dev-python/statsmodel[python3_11] dep once it supports python3_11
+# https://github.com/statsmodels/statsmodels/issues/8287
+OPTIONAL_DEPEND="
+ >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
+ dev-python/blosc[${PYTHON_USEDEP}]
+ >=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.1.2[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/matplotlib-3.6.1[${PYTHON_USEDEP}]
+ >=dev-python/openpyxl-3.0.7[${PYTHON_USEDEP}]
+ >=dev-python/sqlalchemy-1.4.36[${PYTHON_USEDEP}]
+ >=dev-python/tabulate-0.8.10[${PYTHON_USEDEP}]
+ >=dev-python/xarray-2022.3.0[${PYTHON_USEDEP}]
+ >=dev-python/xlrd-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
+ >=dev-python/xlwt-1.3.0[${PYTHON_USEDEP}]
+ !arm? ( !hppa? ( !ppc? ( !x86? (
+ >=dev-python/scipy-1.8.1[${PYTHON_USEDEP}]
+ dev-python/statsmodels[${PYTHON_USEDEP}]
+ ) ) ) )
+ !big-endian? (
+ >=dev-python/tables-3.7.0[${PYTHON_USEDEP}]
+ )
+ X? (
+ || (
+ >=dev-python/PyQt5-5.15.6[${PYTHON_USEDEP}]
+ >=dev-python/QtPy-2.2.0[${PYTHON_USEDEP}]
+ x11-misc/xclip
+ x11-misc/xsel
+ )
+ )
+"
+DEPEND="
+ >=dev-python/numpy-1.23.2:=[${PYTHON_USEDEP}]
+"
+COMMON_DEPEND="
+ ${DEPEND}
+ >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2020.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${COMMON_DEPEND}
+ >=dev-build/meson-1.2.1
+ >=dev-python/cython-3.0.5[${PYTHON_USEDEP}]
+ >=dev-python/versioneer-0.28[${PYTHON_USEDEP}]
+ test? (
+ ${VIRTUALX_DEPEND}
+ ${RECOMMENDED_DEPEND}
+ ${OPTIONAL_DEPEND}
+ >=dev-python/beautifulsoup4-4.11.1[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.46.1[${PYTHON_USEDEP}]
+ >=dev-python/openpyxl-3.0.10[${PYTHON_USEDEP}]
+ >=dev-python/pymysql-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/xlsxwriter-3.0.3[${PYTHON_USEDEP}]
+ x11-misc/xclip
+ x11-misc/xsel
+ !!dev-python/pyarrow
+ )
+"
+RDEPEND="
+ ${COMMON_DEPEND}
+ dev-python/tzdata[${PYTHON_USEDEP}]
+ !minimal? ( ${RECOMMENDED_DEPEND} )
+ full-support? ( ${OPTIONAL_DEPEND} )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # test for rounding errors, fails if we have better precision
+ # e.g. on amd64 with FMA or on arm64
+ # https://github.com/pandas-dev/pandas/issues/38921
+ tests/window/test_rolling.py::test_rolling_var_numerical_issues
+
+ # TODO; unhappy about DISPLAY?
+ tests/test_downstream.py::test_seaborn
+
+ # OOMs
+ tests/io/parser/test_c_parser_only.py::test_bytes_exceed_2gb
+
+ # TODO: numexpr says "forbidden control characters"
+ tests/computation/test_eval.py::TestOperations::test_multi_line_expression_local_variable
+ 'tests/computation/test_eval.py::test_query_token[numexpr-Temp(\xb0C)]'
+ tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_lots_of_operators_string
+ tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_multiple_spaces
+ tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_parenthesis
+ tests/frame/test_query_eval.py::TestDataFrameQueryBacktickQuoting::test_start_with_spaces
+ tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_syntax
+ tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_local_variable_with_in
+ tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_nested_scope
+ tests/frame/test_query_eval.py::TestDataFrameQueryNumExprPandas::test_query_scope
+
+ # TODO: missing data not covered by --no-strict-data-files?
+ tests/io/xml/test_xml.py::test_empty_stylesheet
+ tests/io/xml/test_xml.py::test_wrong_file_path
+
+ # TODO
+ tests/frame/test_arithmetic.py::TestFrameFlexArithmetic::test_floordiv_axis0_numexpr_path
+
+ # deprecation warning
+ tests/io/pytables/test_retain_attributes.py::test_retain_index_attributes2
+ 'tests/computation/test_eval.py::TestEval::test_scalar_unary[numexpr-pandas]'
+
+ # Needs 64-bit time_t (TODO: split into 32-bit arch only section)
+ tests/tseries/offsets/test_year.py::test_add_out_of_pydatetime_range
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessDay]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessHour]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthEnd]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BusinessMonthBegin]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterEnd]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-BQuarterBegin]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessDay]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessHour]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthEnd]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-CustomBusinessMonthBegin]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthEnd]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-MonthBegin]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthBegin]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-SemiMonthEnd]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-QuarterEnd]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-LastWeekOfMonth]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-WeekOfMonth]'
+ 'tests/tseries/offsets/test_common.py::test_apply_out_of_range[tzlocal()-Week]'
+
+ # hdf / pytables have alignment problems: bug #911660
+ # https://github.com/pandas-dev/pandas/issues/54396
+ tests/io/pytables/test_append.py::test_append_frame_column_oriented
+ tests/io/pytables/test_store.py::test_select_filter_corner
+
+ # blosc2 version
+ tests/io/pytables/test_file_handling.py::test_complibs\[blosc2-{1..9}\]
+
+ # requires -Werror
+ tests/tslibs/test_to_offset.py::test_to_offset_lowercase_frequency_deprecated
+ tests/tslibs/test_to_offset.py::test_to_offset_uppercase_frequency_deprecated
+
+ # requires pyarrow
+ tests/io/formats/style/test_bar.py::test_style_bar_with_pyarrow_NA_values
+ tests/series/test_api.py::TestSeriesMisc::test_inspect_getmembers
+
+ # assumes that it will fail due to -mfpmath=387 on 32-bit arches,
+ # so it XPASS-es in every other scenario
+ tests/tools/test_to_timedelta.py::TestTimedeltas::test_to_timedelta_float
+ )
+
+ if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/plotting/test_misc.py::test_savefig
+ )
+ fi
+
+ local -x LC_ALL=C.UTF-8
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ "${EPYTHON}" -c "import pandas; pandas.show_versions()" || die
+ # --no-strict-data-files is necessary since upstream prevents data
+ # files from even being included in GitHub archives, sigh
+ # https://github.com/pandas-dev/pandas/issues/54907
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest pandas/tests \
+ --no-strict-data-files \
+ -m "not single_cpu and not slow and not network and not db" ||
+ die "Tests failed with ${EPYTHON}"
+ rm test-data.xml test_stata.dta || die
+}
+
+pkg_postinst() {
+ optfeature "accelerating certain types of NaN evaluations, using specialized cython routines to achieve large speedups." dev-python/bottleneck
+ optfeature "accelerating certain numerical operations, using multiple cores as well as smart chunking and caching to achieve large speedups" ">=dev-python/numexpr-2.1"
+ optfeature "needed for pandas.io.html.read_html" dev-python/beautifulsoup4 dev-python/html5lib dev-python/lxml
+ optfeature "for msgpack compression using blosc" dev-python/blosc
+ optfeature "Template engine for conditional HTML formatting" dev-python/jinja
+ optfeature "Plotting support" dev-python/matplotlib
+ optfeature "Needed for Excel I/O" ">=dev-python/openpyxl-3.0.10" dev-python/xlsxwriter dev-python/xlrd dev-python/xlwt
+ optfeature "necessary for HDF5-based storage" ">=dev-python/tables-3.7.0"
+ optfeature "R I/O support" dev-python/rpy
+ optfeature "Needed for parts of pandas.stats" dev-python/statsmodels
+ optfeature "SQL database support" ">=dev-python/sqlalchemy-1.4.36"
+ optfeature "miscellaneous statistical functions" dev-python/scipy
+ optfeature "necessary to use pandas.io.clipboard.read_clipboard support" dev-python/PyQt5 dev-python/QtPy dev-python/pygtk x11-misc/xclip x11-misc/xsel
+}
diff --git a/dev-python/pandocfilters/Manifest b/dev-python/pandocfilters/Manifest
index a2479851f517..b44354f22445 100644
--- a/dev-python/pandocfilters/Manifest
+++ b/dev-python/pandocfilters/Manifest
@@ -1 +1 @@
-DIST pandocfilters-1.5.0.tar.gz 8405 BLAKE2B 962da4f0e0d469f28f35eb181b10df317cb4130d796f62fe7ef27078d257e52a3554f93c64c303f617bbdd8b517868024686c8fd9f82b83a0ae6a923708c21a5 SHA512 32586d4718fd4b7047d850ca767ffacf8fba60844edf8469458e8549286e571774e7178678c7121be62b9a3c819a25de2d30b8fe58a539553336f322b87e836e
+DIST pandocfilters-1.5.1.tar.gz 8454 BLAKE2B e909459f4c82659ef41b82624c6b4af4f6a622c198f573a9a818b512decc44353aa108f7358828b7ddd6052271feca2e12b54b3948ea896765e3c1d16534bd51 SHA512 845bb5dc15edc42509086096be6aac2411192bdbdaed8d65fb2a8c8f9a650a4d836a9761a5fbfd69b5709d8476a96139ff06592e38261f795b377e475746518a
diff --git a/dev-python/pandocfilters/pandocfilters-1.5.0.ebuild b/dev-python/pandocfilters/pandocfilters-1.5.0.ebuild
deleted file mode 100644
index 311b69c0e93e..000000000000
--- a/dev-python/pandocfilters/pandocfilters-1.5.0.ebuild
+++ /dev/null
@@ -1,19 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Utilities for writing pandoc filters in python"
-HOMEPAGE="
- https://github.com/jgm/pandocfilters/
- https://pypi.org/project/pandocfilters/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
diff --git a/dev-python/pandocfilters/pandocfilters-1.5.1.ebuild b/dev-python/pandocfilters/pandocfilters-1.5.1.ebuild
new file mode 100644
index 000000000000..e4affde5d84e
--- /dev/null
+++ b/dev-python/pandocfilters/pandocfilters-1.5.1.ebuild
@@ -0,0 +1,19 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Utilities for writing pandoc filters in python"
+HOMEPAGE="
+ https://github.com/jgm/pandocfilters/
+ https://pypi.org/project/pandocfilters/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
diff --git a/dev-python/parameterized/files/parameterized-0.9.0-py313-test.patch b/dev-python/parameterized/files/parameterized-0.9.0-py313-test.patch
new file mode 100644
index 000000000000..cad68e9b7921
--- /dev/null
+++ b/dev-python/parameterized/files/parameterized-0.9.0-py313-test.patch
@@ -0,0 +1,26 @@
+From 85cd1c5e0b95a75385e68972ceef3329edb7b7f0 Mon Sep 17 00:00:00 2001
+From: "Benjamin A. Beasley" <code@musicinmybrain.net>
+Date: Mon, 30 Oct 2023 10:38:27 -0400
+Subject: [PATCH 1/2] Fix tests to handle Python 3.13 stripping indents from
+ docstrings
+
+https://docs.python.org/3.13/whatsnew/3.13.html#other-language-changes
+
+https://github.com/python/cpython/issues/81283
+---
+ parameterized/test.py | 14 ++++++++++----
+ 1 file changed, 10 insertions(+), 4 deletions(-)
+
+diff --git a/parameterized/test.py b/parameterized/test.py
+index 6419171..6d11e32 100644
+--- a/parameterized/test.py
++++ b/parameterized/test.py
+@@ -385,6 +385,8 @@ def _assert_docstring(self, expected_docstring, rstrip=False):
+ actual_docstring = test_method.__doc__
+ if rstrip:
+ actual_docstring = actual_docstring.rstrip()
++ if sys.version_info[:2] >= (3, 13):
++ expected_docstring = inspect.cleandoc(expected_docstring)
+ assert_equal(actual_docstring, expected_docstring)
+
+ @parameterized.expand([param("foo")],
diff --git a/dev-python/parameterized/parameterized-0.9.0.ebuild b/dev-python/parameterized/parameterized-0.9.0.ebuild
index 5ba5013e9c36..15e0862bcdd3 100644
--- a/dev-python/parameterized/parameterized-0.9.0.ebuild
+++ b/dev-python/parameterized/parameterized-0.9.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -26,6 +26,8 @@ BDEPEND="
PATCHES=(
"${FILESDIR}/${P}-py312-test.patch"
+ # https://github.com/wolever/parameterized/pull/176
+ "${FILESDIR}/${P}-py313-test.patch"
)
distutils_enable_tests unittest
diff --git a/dev-python/paramiko/Manifest b/dev-python/paramiko/Manifest
index f65fa79b679c..f03fc1283b0f 100644
--- a/dev-python/paramiko/Manifest
+++ b/dev-python/paramiko/Manifest
@@ -1 +1 @@
-DIST paramiko-3.3.1.gh.tar.gz 370001 BLAKE2B df3c82fdaeccf4aa4d10922dbdfdf8b8cd77975e7c8980b33ddb082a68dd50fd61dd3e0494f45f81c92ce3827f301bfffa4fd09e132e312de9fd490536b066bd SHA512 94ee41ceb99b0c02e455aa6a7d0fea5f88edc6e9e80dfd4d07417875bcbcc15bbef842106c7a38bae93c0e1008d99d01d7b7a026b005358ae1846a2f931f775c
+DIST paramiko-3.4.0.gh.tar.gz 374441 BLAKE2B a6ea03d40e477cb02c1293c46025909251f8eec2be70638bf850638d9fe8c15bfe0e278697e41f3595f482b8f0755d911b905b11db2324eca597fc9be2a22f24 SHA512 f78fccf653d05acee78dfb76fb662c85fbfea7901fd94460a2d2e526c9b25169993051d20c16cfe0b7745008b1ea3a745fc9a280386d98a06689aaadf78f6752
diff --git a/dev-python/paramiko/files/paramiko-3.4.0-pytest-fixes.patch b/dev-python/paramiko/files/paramiko-3.4.0-pytest-fixes.patch
new file mode 100644
index 000000000000..5d8eb3ffbb43
--- /dev/null
+++ b/dev-python/paramiko/files/paramiko-3.4.0-pytest-fixes.patch
@@ -0,0 +1,34 @@
+From 71dd9c098b800a358065070a44d2803b759f222a Mon Sep 17 00:00:00 2001
+From: marston <manuelfern1997@gmail.com>
+Date: Wed, 27 Sep 2023 21:04:25 -0400
+Subject: [PATCH] Fix deprecated nose tests and 'isSet()'
+
+Upstream-PR: https://github.com/paramiko/paramiko/pull/2306
+Upstream-Issue: https://github.com/paramiko/paramiko/issues/2290
+
+diff --git a/tests/test_client.py b/tests/test_client.py
+index 1c0c6c84b..feb27bbec 100644
+--- a/tests/test_client.py
++++ b/tests/test_client.py
+@@ -689,7 +689,7 @@ def _setup_for_env(self):
+ )
+
+ self.event.wait(1.0)
+- self.assertTrue(self.event.isSet())
++ self.assertTrue(self.event.is_set())
+ self.assertTrue(self.ts.is_active())
+
+ def test_update_environment(self):
+diff --git a/tests/test_config.py b/tests/test_config.py
+index 2e49aa3de..1e623e0ad 100644
+--- a/tests/test_config.py
++++ b/tests/test_config.py
+@@ -53,7 +53,7 @@ def load_config(name):
+
+
+ class TestSSHConfig:
+- def setup(self):
++ def setup_method(self):
+ self.config = load_config("robey")
+
+ def test_init(self):
diff --git a/dev-python/paramiko/paramiko-3.3.1.ebuild b/dev-python/paramiko/paramiko-3.3.1.ebuild
deleted file mode 100644
index 0d9df530e354..000000000000
--- a/dev-python/paramiko/paramiko-3.3.1.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="SSH2 protocol library"
-HOMEPAGE="
- https://www.paramiko.org/
- https://github.com/paramiko/paramiko/
- https://pypi.org/project/paramiko/
-"
-SRC_URI="
- https://github.com/paramiko/paramiko/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="examples server"
-
-RDEPEND="
- >=dev-python/bcrypt-3.1.3[${PYTHON_USEDEP}]
- >=dev-python/cryptography-2.5[${PYTHON_USEDEP}]
- >=dev-python/pynacl-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # upstream doesn't really maintain the gssapi support
- tests/test_gssapi.py
- tests/test_kex_gss.py
- tests/test_ssh_gss.py
-)
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}/${PN}-3.2.0-nih-test-deps.patch"
- )
-
- if ! use server; then
- PATCHES+=( "${FILESDIR}/${PN}-3.2.0-disable-server.patch" )
- fi
- distutils-r1_src_prepare
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use examples; then
- docinto examples
- dodoc -r demos/*
- fi
-}
diff --git a/dev-python/paramiko/paramiko-3.4.0.ebuild b/dev-python/paramiko/paramiko-3.4.0.ebuild
new file mode 100644
index 000000000000..595554941099
--- /dev/null
+++ b/dev-python/paramiko/paramiko-3.4.0.ebuild
@@ -0,0 +1,63 @@
+# 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..13} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="SSH2 protocol library"
+HOMEPAGE="
+ https://www.paramiko.org/
+ https://github.com/paramiko/paramiko/
+ https://pypi.org/project/paramiko/
+"
+SRC_URI="
+ https://github.com/paramiko/paramiko/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="examples server"
+
+RDEPEND="
+ >=dev-python/bcrypt-3.1.3[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.5[${PYTHON_USEDEP}]
+ >=dev-python/pynacl-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.1.7[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # upstream doesn't really maintain the gssapi support
+ tests/test_gssapi.py
+ tests/test_kex_gss.py
+ tests/test_ssh_gss.py
+)
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/${PN}-3.2.0-nih-test-deps.patch"
+ "${FILESDIR}/${PN}-3.4.0-pytest-fixes.patch"
+ )
+
+ if ! use server; then
+ PATCHES+=( "${FILESDIR}/${PN}-3.2.0-disable-server.patch" )
+ fi
+ distutils-r1_src_prepare
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ docinto examples
+ dodoc -r demos/*
+ fi
+}
diff --git a/dev-python/parse/Manifest b/dev-python/parse/Manifest
index 3976ccc8f287..37f8d68ddfbd 100644
--- a/dev-python/parse/Manifest
+++ b/dev-python/parse/Manifest
@@ -1,2 +1 @@
-DIST parse-1.19.1.gh.tar.gz 26732 BLAKE2B 15a1a11d9ca5c93a07848db4acdae1b9b489e3366f3dcbdcbae06a22b2bc8183fd266106dec5b975be8fd6926ee29d9ee4850db8d8504b8fc489bee82c7f0492 SHA512 f3fd067cbe6f30f0e61297f471dd7eb183d351ca60bf5a4dfd31cf0775988ecea6dfdf3f0ecd23dbe9fb3f8be3f5c1b824af660074589cb3b289658d0af898fa
-DIST parse-1.20.0.tar.gz 28871 BLAKE2B a6635641cb780c246053ddd7ecd397e994964086d3e5191356e425bb837b0e1c201c6b4e92755b4c4351589ff9055826964fa9eaac756e98bac90766a4703e06 SHA512 40ba63f62138c2273ec9bb603b7d8f74b471d9b143a49062a0f9979f8d84a7acce9d56ac046d38c6900fe07e9b5b3fdd3de7f2e78708e85234ec56b86410b14a
+DIST parse-1.20.2.tar.gz 29391 BLAKE2B 974633d8e7f910acdd1d06a85f863bee848e8203595e4cb6ce20b925dd69d058c71ac7cee7b6649663b12a78278ab626768baeef944e9fb3f1d47e7c565923cc SHA512 c609a66b0fdbc090c1b7aa2a6c681d3c4e0ea23410046bc7f6082d3f35b554d85278fd91320df11d5c0f87e66b978b4509a5b26d676e80e311988fba58fff6a4
diff --git a/dev-python/parse/parse-1.19.1.ebuild b/dev-python/parse/parse-1.19.1.ebuild
deleted file mode 100644
index b0a470dfc543..000000000000
--- a/dev-python/parse/parse-1.19.1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2021-2023 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
-
-DESCRIPTION="Parse strings using a specification based on the Python format() syntax"
-HOMEPAGE="
- https://github.com/r1chardj0n3s/parse/
- https://pypi.org/project/parse/
-"
-SRC_URI="
- https://github.com/r1chardj0n3s/parse/archive/refs/tags/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-
-distutils_enable_tests unittest
diff --git a/dev-python/parse/parse-1.20.0.ebuild b/dev-python/parse/parse-1.20.0.ebuild
deleted file mode 100644
index f8bf48bd5f04..000000000000
--- a/dev-python/parse/parse-1.20.0.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2021-2023 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="Parse strings using a specification based on the Python format() syntax"
-HOMEPAGE="https://github.com/r1chardj0n3s/parse/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/parse/parse-1.20.2.ebuild b/dev-python/parse/parse-1.20.2.ebuild
new file mode 100644
index 000000000000..3848625e961a
--- /dev/null
+++ b/dev-python/parse/parse-1.20.2.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2021-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..13} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="Parse strings using a specification based on the Python format() syntax"
+HOMEPAGE="https://github.com/r1chardj0n3s/parse/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/parse_type/parse_type-0.6.2.ebuild b/dev-python/parse_type/parse_type-0.6.2.ebuild
index 193a7f863880..f54fa6807930 100644
--- a/dev-python/parse_type/parse_type-0.6.2.ebuild
+++ b/dev-python/parse_type/parse_type-0.6.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="Extension to the parse module"
@@ -16,7 +16,8 @@ KEYWORDS="amd64 arm64 ~x86"
RDEPEND="
dev-python/parse[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]"
+ dev-python/six[${PYTHON_USEDEP}]
+"
distutils_enable_tests pytest
diff --git a/dev-python/parsedatetime/parsedatetime-2.6-r1.ebuild b/dev-python/parsedatetime/parsedatetime-2.6-r1.ebuild
index 4fec265a5737..3e2962c4b0d6 100644
--- a/dev-python/parsedatetime/parsedatetime-2.6-r1.ebuild
+++ b/dev-python/parsedatetime/parsedatetime-2.6-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/parso/Manifest b/dev-python/parso/Manifest
index c9700b84340d..51f54440372b 100644
--- a/dev-python/parso/Manifest
+++ b/dev-python/parso/Manifest
@@ -1 +1 @@
-DIST parso-0.8.3.gh.tar.gz 397648 BLAKE2B 8942408e27198075c92ef51f7a191cc7781eb3a5110119b91fd95f86e13ebe2fbfee11022a2bfec794150f60b3af8c4d5f324cb011703cd581c17f92232ae5bf SHA512 7874460053662d40c2cfcf0015e330e1c8201eeb07682e2079a636db553a82dc25b70b14ad0f0c82fb817f655359d695101a17f616abf9a39f49c61ae5fd49b1
+DIST parso-0.8.4.gh.tar.gz 398241 BLAKE2B 5a8a81f64b20b52cd3349b7bc059621733debfaf5cc271f3e89423d63e4af67391f7740c34b450b2a91fafe34b8986926e8f7c4ca0b8600eafd0171c01e664b0 SHA512 da96f0ab6cfbcf2a54ee73262a672bb4d9720aa91fd884a8c17165d597eece97569b7ee87fd7ea1c0be663c0cb2930a66a03b4e305070f59f346485817607db3
diff --git a/dev-python/parso/parso-0.8.3-r1.ebuild b/dev-python/parso/parso-0.8.3-r1.ebuild
deleted file mode 100644
index 1e3d469f7c67..000000000000
--- a/dev-python/parso/parso-0.8.3-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A python parser that supports error recovery and round-trip parsing"
-HOMEPAGE="
- https://github.com/davidhalter/parso/
- https://pypi.org/project/parso/
-"
-SRC_URI="
- https://github.com/davidhalter/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # py3.10 changed exception messages
- test/test_python_errors.py::test_python_exception_matches
- # With python3.11 this additional file is run by pytest,
- # but it is not actually a test and thus fails
- parso/python/token.py::parso.python.token.PythonTokenTypes
-)
diff --git a/dev-python/parso/parso-0.8.4.ebuild b/dev-python/parso/parso-0.8.4.ebuild
new file mode 100644
index 000000000000..8e84f5618158
--- /dev/null
+++ b/dev-python/parso/parso-0.8.4.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A python parser that supports error recovery and round-trip parsing"
+HOMEPAGE="
+ https://github.com/davidhalter/parso/
+ https://pypi.org/project/parso/
+"
+SRC_URI="
+ https://github.com/davidhalter/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # py3.10 changed exception messages
+ test/test_python_errors.py::test_python_exception_matches
+ # With python3.11 this additional file is run by pytest,
+ # but it is not actually a test and thus fails
+ parso/python/token.py::parso.python.token.PythonTokenTypes
+)
diff --git a/dev-python/partd/Manifest b/dev-python/partd/Manifest
index 92e97254035f..989dab3e53f6 100644
--- a/dev-python/partd/Manifest
+++ b/dev-python/partd/Manifest
@@ -1 +1 @@
-DIST partd-1.4.1.tar.gz 36272 BLAKE2B 032f30988468d68b5b8a18ceeb28f75c6807bae8ec57a88c50beb1c4ed2f99721d5f50e1002cf74376867f54f5c5dbdaf823b999f8680766f13e8f5f9df74801 SHA512 0bf285a33731d3c000e6c2c1958cda0df21c3a2be31694ac31ce0cc45aa2b31b8631f962c25b9ecac3831474abb5872748bd3348f99e13faadee467a1f164492
+DIST partd-1.4.2.tar.gz 21029 BLAKE2B 47f4129beb7062415f6b7af8b1ad88faa299692abd6691bbb5ae56c991685d3c7ae7cab809c3ea67e90fc054c6018e1ed36ef0cb5be3c755eca06f1bc90fcfbc SHA512 ae7af568ea5c2c6127ea01bcb2a6703305f126414ecce8c648a14d39fd8dac987f6356011b6a61a1b1441f14a189a098bf9fe35f978a5794959e5da409668d2b
diff --git a/dev-python/partd/partd-1.4.1.ebuild b/dev-python/partd/partd-1.4.1.ebuild
deleted file mode 100644
index c270ee99175d..000000000000
--- a/dev-python/partd/partd-1.4.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Appendable key-value storage"
-HOMEPAGE="
- https://github.com/dask/partd/
- https://pypi.org/project/partd/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/locket[${PYTHON_USEDEP}]
- dev-python/toolz[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/blosc[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pyzmq[${PYTHON_USEDEP}]
- dev-python/toolz[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/partd/partd-1.4.2.ebuild b/dev-python/partd/partd-1.4.2.ebuild
new file mode 100644
index 000000000000..0ec963bbc91b
--- /dev/null
+++ b/dev-python/partd/partd-1.4.2.ebuild
@@ -0,0 +1,35 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Appendable key-value storage"
+HOMEPAGE="
+ https://github.com/dask/partd/
+ https://pypi.org/project/partd/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/locket[${PYTHON_USEDEP}]
+ dev-python/toolz[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/versioneer-0.20[${PYTHON_USEDEP}]
+ test? (
+ dev-python/blosc[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/pandas-1.3[${PYTHON_USEDEP}]
+ dev-python/pyzmq[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/parver/parver-0.5.ebuild b/dev-python/parver/parver-0.5.ebuild
index 90b283b435a6..a79741998179 100644
--- a/dev-python/parver/parver-0.5.ebuild
+++ b/dev-python/parver/parver-0.5.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/passlib/passlib-1.7.4-r2.ebuild b/dev-python/passlib/passlib-1.7.4-r2.ebuild
deleted file mode 100644
index 708ef7f23b53..000000000000
--- a/dev-python/passlib/passlib-1.7.4-r2.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Password hashing framework supporting over 20 schemes"
-HOMEPAGE="
- https://foss.heptapod.net/python-libs/passlib/-/wikis/home
- https://pypi.org/project/passlib/
-"
-
-LICENSE="BSD-2"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-SLOT="0"
-IUSE="doc test-rust"
-
-BDEPEND="
- test? (
- dev-python/scrypt[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/bcrypt[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- )
- )"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken all the time by new django releases
- passlib/tests/test_ext_django.py
- )
-
- # skip fuzzing tests, they are very slow
- epytest -k "not fuzz_input"
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- use doc && dodoc docs/{*.rst,requirements.txt,lib/*.rst}
-}
-
-pkg_postinst() {
- optfeature "Argon2 support" dev-python/argon2-cffi
- optfeature "bcrypt support" dev-python/bcrypt
- optfeature "scrypt support" dev-python/scrypt
- optfeature "Time-based One-Time Password (TOTP) support" dev-python/cryptography
-}
diff --git a/dev-python/passlib/passlib-1.7.4-r3.ebuild b/dev-python/passlib/passlib-1.7.4-r3.ebuild
new file mode 100644
index 000000000000..19f9172fdcb4
--- /dev/null
+++ b/dev-python/passlib/passlib-1.7.4-r3.ebuild
@@ -0,0 +1,71 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Password hashing framework supporting over 20 schemes"
+HOMEPAGE="
+ https://foss.heptapod.net/python-libs/passlib/-/wikis/home
+ https://pypi.org/project/passlib/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+IUSE="doc test-rust"
+
+BDEPEND="
+ test? (
+ dev-python/scrypt[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/bcrypt[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ )
+ )"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # fix compatibility with >=dev-python/bcrypt-4.1
+ # https://foss.heptapod.net/python-libs/passlib/-/issues/190
+ sed -i -e '/bcrypt/s:__about__\.::' passlib/handlers/bcrypt.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken all the time by new django releases
+ passlib/tests/test_ext_django.py
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # crypt module has been removed, so the platform backend
+ # does not work anymore
+ passlib/tests/test_handlers.py::{des,md5,sha256,sha512}_crypt_os_crypt_test
+ )
+ ;;
+ esac
+
+ # skip fuzzing tests, they are very slow
+ epytest -k "not fuzz_input"
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ use doc && dodoc docs/{*.rst,requirements.txt,lib/*.rst}
+}
+
+pkg_postinst() {
+ optfeature "Argon2 support" dev-python/argon2-cffi
+ optfeature "bcrypt support" dev-python/bcrypt
+ optfeature "scrypt support" dev-python/scrypt
+ optfeature "Time-based One-Time Password (TOTP) support" dev-python/cryptography
+}
diff --git a/dev-python/paste/Manifest b/dev-python/paste/Manifest
index 9b21b0216aa8..e37887255dd1 100644
--- a/dev-python/paste/Manifest
+++ b/dev-python/paste/Manifest
@@ -1 +1 @@
-DIST Paste-3.7.1.tar.gz 639191 BLAKE2B 5c36794e0d0aba9396a621933bfc2b600da5c951a6aed39ebcea8a1ad84449556a94bbf13651fe28c0886f826417ee0dfe6b82ad76c4956579b0a5795539ae3d SHA512 672f0476582b0c0f65a049800fbd23f7df2c62b405ed1b803474715a80d532bbf117558b201329967bf83f4c88c8740e5f626ff5c2dafa3eade04fccefd332b0
+DIST paste-3.10.1.tar.gz 652629 BLAKE2B a5589027838cbea6f90f919b94edaaba2f26b827cbf911247ec833fa34a5089ffacbc13f8e5369a80e234506e3450818362f1c63cb76e7cf2f619f922f1a965c SHA512 3d224fc017f8354a4737c83d3dcddd0dfa8baaa80a86f843e817ccba295b8e04d16bb10594f17f010da204a0854cf9d57c03a09d0dacb0e7af305a9b0f86422f
diff --git a/dev-python/paste/metadata.xml b/dev-python/paste/metadata.xml
index e218c42fdc4b..a16d4c84e24a 100644
--- a/dev-python/paste/metadata.xml
+++ b/dev-python/paste/metadata.xml
@@ -11,7 +11,7 @@
those interfaces.</longdescription>
<stabilize-allarches/>
<upstream>
- <remote-id type="github">cdent/paste</remote-id>
+ <remote-id type="github">pasteorg/paste</remote-id>
<remote-id type="pypi">Paste</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/paste/paste-3.10.1.ebuild b/dev-python/paste/paste-3.10.1.ebuild
new file mode 100644
index 000000000000..6479167f15c5
--- /dev/null
+++ b/dev-python/paste/paste-3.10.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Tools for using a Web Server Gateway Interface stack"
+HOMEPAGE="
+ https://pythonpaste.readthedocs.io/en/latest/
+ https://github.com/pasteorg/paste/
+ https://pypi.org/project/Paste/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_proxy.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/paste/paste-3.7.1.ebuild b/dev-python/paste/paste-3.7.1.ebuild
deleted file mode 100644
index aef584aa32f4..000000000000
--- a/dev-python/paste/paste-3.7.1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Tools for using a Web Server Gateway Interface stack"
-HOMEPAGE="
- https://pythonpaste.readthedocs.io/en/latest/
- https://github.com/cdent/paste/
- https://pypi.org/project/Paste/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-RDEPEND="
- >=dev-python/six-1.4.0[${PYTHON_USEDEP}]
- !dev-python/namespace-paste
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Internet
- tests/test_proxy.py
- )
-
- [[ ${EPYTHON} == python3.1[12] ]] && EPYTEST_DESELECT+=(
- # fails due to cgi deprecation warning
- tests/test_cgiapp.py::test_form
- )
-
- epytest
-}
diff --git a/dev-python/pastedeploy/Manifest b/dev-python/pastedeploy/Manifest
index 25f7adf17e69..98b72f7c9437 100644
--- a/dev-python/pastedeploy/Manifest
+++ b/dev-python/pastedeploy/Manifest
@@ -1,2 +1 @@
-DIST pastedeploy-3.0.1.gh.tar.gz 33420 BLAKE2B d96e9429852ce2f6b82aac834c3a1da069f02d542f7379935e42a9e663cdee807230bbede3acc03fb5cccc3b4462d3f3afaa84eec09225bbaffe6ece4534f3fe SHA512 2b06351b9104da1e0d30c90492ee31113aacf5cde7a66a34482c4625af902b855eab2af80073db4eb18805a192f858dac360062dadf58a161cc3cfabf5b67a1a
DIST pastedeploy-3.1.gh.tar.gz 33634 BLAKE2B 11087275f0c0f73b44ecc4bdcd6c284534d81056ce2dc898b8a891261b2ec71502679a688e2183adc4572089846d2c06fe5b48648f78ea6667f29e142b656656 SHA512 da13c8181d1f003bf61f954655a1876f49253954c320c6a2db0ca2b92acf057e48dff97376da2f9dce6181e5349ffa2d8cddbf71d3360d6c0fa8d5dedbbb2ae3
diff --git a/dev-python/pastedeploy/pastedeploy-3.0.1.ebuild b/dev-python/pastedeploy/pastedeploy-3.0.1.ebuild
deleted file mode 100644
index 049e9f93e6f4..000000000000
--- a/dev-python/pastedeploy/pastedeploy-3.0.1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-MY_PN="PasteDeploy"
-MY_P="${MY_PN}-${PV}"
-DESCRIPTION="Load, configure, and compose WSGI applications and servers"
-HOMEPAGE="
- https://github.com/Pylons/pastedeploy/
- https://pypi.org/project/PasteDeploy/
-"
-SRC_URI="
- https://github.com/Pylons/pastedeploy/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-RDEPEND="
- !dev-python/namespace-paste
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e 's:--cov::' pytest.ini || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/pastedeploy/pastedeploy-3.1.ebuild b/dev-python/pastedeploy/pastedeploy-3.1.ebuild
index cdac4e2a2abb..022df87711bb 100644
--- a/dev-python/pastedeploy/pastedeploy-3.1.ebuild
+++ b/dev-python/pastedeploy/pastedeploy-3.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
RDEPEND="
!dev-python/namespace-paste
diff --git a/dev-python/pastel/metadata.xml b/dev-python/pastel/metadata.xml
index 5ad7953a5007..a375216c22e0 100644
--- a/dev-python/pastel/metadata.xml
+++ b/dev-python/pastel/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>jsmolic@gentoo.org</email>
- <name>Jakov Smolić</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/pastel/pastel-0.2.1-r1.ebuild b/dev-python/pastel/pastel-0.2.1-r1.ebuild
index 5a63c18616e4..05c1a982ac47 100644
--- a/dev-python/pastel/pastel-0.2.1-r1.ebuild
+++ b/dev-python/pastel/pastel-0.2.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/patatt/Manifest b/dev-python/patatt/Manifest
index f47898242522..e81c25d6431c 100644
--- a/dev-python/patatt/Manifest
+++ b/dev-python/patatt/Manifest
@@ -1 +1,2 @@
DIST patatt-0.6.2.tar.gz 34852 BLAKE2B 2dceb179dcb96d33f7ed3bfcdd96b69520cd413ee79bed4ecd09c6385b46a9b0c32fedf74d582d1aa7fb7aeb5d4e212a96c139b62a8ae155933271d7a2d8b493 SHA512 53140c71818fd0f101a0628b770e557a3c177cd0e7207d5933eb9e73b296dd870e9bb2ff9e77fd0b25652d937d98bb07a1413e555d466f3d108c01ddfdb06f3a
+DIST patatt-0.6.3.tar.gz 34827 BLAKE2B ff9ac8bf9fd6c8b950bac1a97a57e5d413a579e004d690d17d6a1dff107f284e1abc51e649b14ff148c5cbb0816838c66bd3e33313deb2d1d05d18da174bc843 SHA512 c8947f5d2351a06f544e88aa334294f28b6cfb51302009dd6f462579b98f154e7d6e49197b49e2545e93d6b8339bd72408e79a998d934ebde42dda44c4c4cbf8
diff --git a/dev-python/patatt/patatt-0.6.2.ebuild b/dev-python/patatt/patatt-0.6.2.ebuild
index 782ac907b1f9..f28ca2403e7e 100644
--- a/dev-python/patatt/patatt-0.6.2.ebuild
+++ b/dev-python/patatt/patatt-0.6.2.ebuild
@@ -13,6 +13,6 @@ HOMEPAGE="https://pypi.org/project/patatt/"
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="dev-python/pynacl[${PYTHON_USEDEP}]"
diff --git a/dev-python/patatt/patatt-0.6.3.ebuild b/dev-python/patatt/patatt-0.6.3.ebuild
new file mode 100644
index 000000000000..dc772ce9ac93
--- /dev/null
+++ b/dev-python/patatt/patatt-0.6.3.ebuild
@@ -0,0 +1,18 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A simple library to add cryptographic attestation to patches sent via email"
+HOMEPAGE="https://pypi.org/project/patatt/"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="dev-python/pynacl[${PYTHON_USEDEP}]"
diff --git a/dev-python/path-and-address/path-and-address-2.0.1-r1.ebuild b/dev-python/path-and-address/path-and-address-2.0.1-r1.ebuild
index a629618e9c5a..44c21d84f23c 100644
--- a/dev-python/path-and-address/path-and-address-2.0.1-r1.ebuild
+++ b/dev-python/path-and-address/path-and-address-2.0.1-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
+PYTHON_COMPAT=( pypy3 python3_{9..12} )
PYPI_NO_NORMALIZE=1
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
diff --git a/dev-python/path/Manifest b/dev-python/path/Manifest
index 69ba5b0363c3..222189638047 100644
--- a/dev-python/path/Manifest
+++ b/dev-python/path/Manifest
@@ -1 +1 @@
-DIST path-16.7.1.tar.gz 48974 BLAKE2B a03eebbb391cf17033adce4d6b258217546e3b7494200a8ea97f756512177f1c7d7ea8155420e167cefe79b566a4240eec98d17b160478f9cb06d3fd839c28f2 SHA512 7d660373046845a5882a316051c350558527d6d8a5cd11735d38214f986c8e096f72b45f87cfec41bf6171e7845287a42e6e45535f87a01b46670eccd4013dbf
+DIST path-16.14.0.tar.gz 50076 BLAKE2B 0046501fc05e65a211360e84cd30e312c6b1a18d482a36b8451d338cd8c87749254fc31dbe497ec55d55880dab0eae3b88ce412b2058454c0c1ad01cb180d522 SHA512 1b35bf06413d3f5da5fd818b2327458ef92a3bcb7e0d8108e4db113e3819f3723384650f7f9e889862bfcd2bc761f2be46932d11023f5a1dcda6bb4c51074ec0
diff --git a/dev-python/path/path-16.14.0.ebuild b/dev-python/path/path-16.14.0.ebuild
new file mode 100644
index 000000000000..7b8b21fb918e
--- /dev/null
+++ b/dev-python/path/path-16.14.0.ebuild
@@ -0,0 +1,37 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A module wrapper for os.path"
+HOMEPAGE="
+ https://github.com/jaraco/path/
+ https://pypi.org/project/path/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-python/appdirs[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # unreliable, not really meaningful for end users
+ test_path.py::TestPerformance
+)
diff --git a/dev-python/path/path-16.7.1.ebuild b/dev-python/path/path-16.7.1.ebuild
deleted file mode 100644
index 297c8b83451d..000000000000
--- a/dev-python/path/path-16.7.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A module wrapper for os.path"
-HOMEPAGE="
- https://github.com/jaraco/path/
- https://pypi.org/project/path/
-"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-
-RDEPEND="
- dev-python/appdirs[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/packaging[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # unreliable, not really meaningful for end users
- test_path.py::TestPerformance
-)
diff --git a/dev-python/pathable/pathable-0.4.3.ebuild b/dev-python/pathable/pathable-0.4.3.ebuild
index aec721f206ce..70dc82a15527 100644
--- a/dev-python/pathable/pathable-0.4.3.ebuild
+++ b/dev-python/pathable/pathable-0.4.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
DESCRIPTION="Object-oriented paths"
diff --git a/dev-python/pathspec/Manifest b/dev-python/pathspec/Manifest
index b3170ad1025a..6e2bddebcee2 100644
--- a/dev-python/pathspec/Manifest
+++ b/dev-python/pathspec/Manifest
@@ -1 +1 @@
-DIST pathspec-0.11.2.tar.gz 47032 BLAKE2B 4a84b8d5850b226713abff743df4a7ffbef0155454337c20aad78f0fd2dd2ad802d3d0f1e557aaffbb550e85e2e051dc9829090b7a43426795dac802b8da3b7a SHA512 bb1a178db145fee8011f579fb3a87564245e94b22adfac42bda921d8e2b95cab32617379e22d8ec2bd6aa7e6f9d96c10df4503e638aabfe6b358050912ab98a8
+DIST pathspec-0.12.1.tar.gz 51043 BLAKE2B e5cf93dc0a24a51bdcbcec807514344ed4e39029a8f1abe8db7cf8fa4883ac2e74f8b1a3ad6cd44bcff538b5eecc5b091b145c6c8d170de574ce9217d58855cb SHA512 19d1a8ae5936e76eacd691b0e2fb33d0de376556751a9ae007f6b09d0aa36af7d171101df620cab3e93c9913be578ff3d6bba9d4460351ac248e5c9e015380ad
diff --git a/dev-python/pathspec/pathspec-0.11.2.ebuild b/dev-python/pathspec/pathspec-0.11.2.ebuild
deleted file mode 100644
index 11a34a2daf73..000000000000
--- a/dev-python/pathspec/pathspec-0.11.2.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Utility library for gitignore style pattern matching of file paths"
-HOMEPAGE="
- https://github.com/cpburnz/python-pathspec/
- https://pypi.org/project/pathspec/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-distutils_enable_tests unittest
diff --git a/dev-python/pathspec/pathspec-0.12.1.ebuild b/dev-python/pathspec/pathspec-0.12.1.ebuild
new file mode 100644
index 000000000000..6d8492c5d961
--- /dev/null
+++ b/dev-python/pathspec/pathspec-0.12.1.ebuild
@@ -0,0 +1,21 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Utility library for gitignore style pattern matching of file paths"
+HOMEPAGE="
+ https://github.com/cpburnz/python-pathspec/
+ https://pypi.org/project/pathspec/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pathvalidate/Manifest b/dev-python/pathvalidate/Manifest
index d2e6f274f357..c0fa5e10012e 100644
--- a/dev-python/pathvalidate/Manifest
+++ b/dev-python/pathvalidate/Manifest
@@ -1,2 +1 @@
-DIST pathvalidate-3.1.0.tar.gz 28762 BLAKE2B 44c202743aee61b8f13fad3b3199f603276db878a81e5fe695f7d07bed4e8ebe2261d86569cdb846f64ec6d26f751b2a430298055d49ad359617b93076236406 SHA512 155897e59bb8d1f48bdee18816e26691c0f975c2334ed6d753b86c971dcb55902a8011eb486aaf96d90d066fc1ae22e7602b8408b96e7206c12e83cec42c4913
DIST pathvalidate-3.2.0.tar.gz 31246 BLAKE2B 9b30ae5957e2e062ef38b784894aec538e47df03c26c76d82145c4ed7363c63035345db4229b705a6df10a75473e7c0a0f3b44884b6d2ac7ac83f8c138edbd8d SHA512 e3a898bb3a1a35b7851600d6c8a6254220905a95e0dca2e697e0aa95857e3a741e3b77c3c3f0aadc42f458fabd5f1b10d34f99434e7aa3891836470b7a33a77f
diff --git a/dev-python/pathvalidate/pathvalidate-3.1.0.ebuild b/dev-python/pathvalidate/pathvalidate-3.1.0.ebuild
deleted file mode 100644
index c27545b1ef7d..000000000000
--- a/dev-python/pathvalidate/pathvalidate-3.1.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A Python library to sanitize/validate a string such as filenames/file-paths/etc"
-HOMEPAGE="
- https://github.com/thombashi/pathvalidate/
- https://pypi.org/project/pathvalidate/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/click[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/allpairspy[${PYTHON_USEDEP}]
- dev-python/tcolorpy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/patiencediff/Manifest b/dev-python/patiencediff/Manifest
index 1c19b6c5540f..a024d07a4ff8 100644
--- a/dev-python/patiencediff/Manifest
+++ b/dev-python/patiencediff/Manifest
@@ -1,2 +1 @@
-DIST patiencediff-0.2.13.tar.gz 26972 BLAKE2B f38fcc8292a99082794498cd60f59b5ae44453f12387f125e7f16e355844bc391baae789adc9847efd71b9124ff6efb7bb0a7fbba5e371233d3a54314c2f2b95 SHA512 1607a6c4bee529ee787fe705b70f00e5f5c1c266e7854ea4463d57ca4a807e645c6fb83024d79113e6aef746f32ed3bc28227d87add7e86d886246580dd05485
-DIST patiencediff-0.2.14.tar.gz 29258 BLAKE2B 1b7aee1053d08bb5a3e40f62ef39d1f8fe38635a1b5303b33f67df1b8d63a311e3c6523fc5c40f7457c7213db18daa5e839f120fc09e8e1fb2c7524462165a07 SHA512 624db38a072906557a430555d52f914030d1933237cedda76804faafe26d1ff2ad4a569ec90ad887162e48a57078a1accc19e2f417ab095f5b6435912d280998
+DIST patiencediff-0.2.15.tar.gz 27483 BLAKE2B 34b2303be6c65975d9e2f93b089853883db91d7b0570784814e25f74a964427757ad0342db40c8ed02310e0243e51e42edeb1c2787377feff3280c3bd8c5ca80 SHA512 d0cecf461075e3965db16624978b260660bd3444e83fc6121d3efebb96d31b323b7b61fc9e65a4a0098a95284a342a2f321b92f2073c0264cdb1f4b05771938d
diff --git a/dev-python/patiencediff/patiencediff-0.2.13.ebuild b/dev-python/patiencediff/patiencediff-0.2.13.ebuild
deleted file mode 100644
index 85391f492bec..000000000000
--- a/dev-python/patiencediff/patiencediff-0.2.13.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python implementation of the patiencediff algorithm"
-HOMEPAGE="
- https://github.com/breezy-team/patiencediff/
- https://pypi.org/project/patiencediff/
-"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-distutils_enable_tests unittest
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- eunittest
-}
diff --git a/dev-python/patiencediff/patiencediff-0.2.14.ebuild b/dev-python/patiencediff/patiencediff-0.2.14.ebuild
deleted file mode 100644
index 85391f492bec..000000000000
--- a/dev-python/patiencediff/patiencediff-0.2.14.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python implementation of the patiencediff algorithm"
-HOMEPAGE="
- https://github.com/breezy-team/patiencediff/
- https://pypi.org/project/patiencediff/
-"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-distutils_enable_tests unittest
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- eunittest
-}
diff --git a/dev-python/patiencediff/patiencediff-0.2.15.ebuild b/dev-python/patiencediff/patiencediff-0.2.15.ebuild
new file mode 100644
index 000000000000..0e7d0b223a7b
--- /dev/null
+++ b/dev-python/patiencediff/patiencediff-0.2.15.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2021-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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python implementation of the patiencediff algorithm"
+HOMEPAGE="
+ https://github.com/breezy-team/patiencediff/
+ https://pypi.org/project/patiencediff/
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+distutils_enable_tests unittest
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ eunittest
+}
diff --git a/dev-python/patsy/Manifest b/dev-python/patsy/Manifest
index 0701b1d0065d..a53e0f32064c 100644
--- a/dev-python/patsy/Manifest
+++ b/dev-python/patsy/Manifest
@@ -1,2 +1 @@
-DIST patsy-0.5.3.tar.gz 397680 BLAKE2B 43696f9e95c124cab5bf907723596d8b2b15f0539fbd2b9c2a2fcc76591e935020929ba31fd5378114fe58d22a9931508d89edf21f24b00c916a6e78dc4ee58f SHA512 9a6ea2382287208013e02bab7cba9378311a8e18fe059593aa99090bb6191efa74badff011424a7f6b3c8ec72c1b8650637322b71617f23357bb4b38ac6a79a0
-DIST patsy-0.5.4.tar.gz 397809 BLAKE2B d10a4a155d3346b7a5968af914e68f1c2508208eda5658091b40c4df421c6b5566278bfe7db856793a477cb9c78ed7bc8aae4209dde7b476d0d8a19164602797 SHA512 4fa6b099a12464b1ad1685e0d9ca0e9640c059d5021631e6c52f4025ff100899824e722d9b12107c49dc987e8f3e377aeeb007889d8b35b3f1e4cdf5ca491d2f
+DIST patsy-0.5.6.tar.gz 398011 BLAKE2B c5fb15c57e270e3545cfdc8c13f8e745c94822be6684aa6703bdbc1da15ea63eb7a21d1e0bd1aaed2a4d919f4848fd9089dbcd3c304676e0a9512d13f94302bb SHA512 df73ddfa0e66088cb50133240e2d67e2a833d8f691e17b443cdc0661adf580eb8908b1e1082e8debd91439bbe7b990a9a455f16bd6773173c7e86273f2c1051b
diff --git a/dev-python/patsy/files/patsy-0.5.6-np2.patch b/dev-python/patsy/files/patsy-0.5.6-np2.patch
new file mode 100644
index 000000000000..169eadb851fe
--- /dev/null
+++ b/dev-python/patsy/files/patsy-0.5.6-np2.patch
@@ -0,0 +1,51 @@
+diff --git a/patsy/highlevel.py b/patsy/highlevel.py
+index 78d2942..298739d 100644
+--- a/patsy/highlevel.py
++++ b/patsy/highlevel.py
+@@ -178,7 +178,7 @@ def _do_highlevel_design(formula_like, data, eval_env,
+ else:
+ # subok=True is necessary here to allow DesignMatrixes to pass
+ # through
+- (lhs, rhs) = (None, asarray_or_pandas(formula_like, subok=True))
++ (lhs, rhs) = (None, asarray_or_pandas(formula_like, subok=True, copy=None))
+ # some sort of explicit matrix or matrices were given. Currently we
+ # have them in one of these forms:
+ # -- an ndarray or subclass
+diff --git a/patsy/state.py b/patsy/state.py
+index 933c588..c489a4b 100644
+--- a/patsy/state.py
++++ b/patsy/state.py
+@@ -103,7 +103,7 @@ class Center(object):
+ pass
+
+ def transform(self, x):
+- x = asarray_or_pandas(x)
++ x = asarray_or_pandas(x, copy=None)
+ # This doesn't copy data unless our input is a DataFrame that has
+ # heterogeneous types. And in that case we're going to be munging the
+ # types anyway, so copying isn't a big deal.
+diff --git a/patsy/util.py b/patsy/util.py
+index 3116e11..7ac6f79 100644
+--- a/patsy/util.py
++++ b/patsy/util.py
+@@ -69,7 +69,7 @@ def asarray_or_pandas(a, copy=False, dtype=None, subok=False):
+
+ def test_asarray_or_pandas():
+ import warnings
+- assert type(asarray_or_pandas([1, 2, 3])) is np.ndarray
++ assert type(asarray_or_pandas([1, 2, 3], copy=True)) is np.ndarray
+ with warnings.catch_warnings() as w:
+ warnings.filterwarnings('ignore', 'the matrix subclass',
+ PendingDeprecationWarning)
+@@ -83,9 +83,9 @@ def test_asarray_or_pandas():
+ assert np.array_equal(a, a_copy)
+ a_copy[0] = 100
+ assert not np.array_equal(a, a_copy)
+- assert np.allclose(asarray_or_pandas([1, 2, 3], dtype=float),
++ assert np.allclose(asarray_or_pandas([1, 2, 3], dtype=float, copy=None),
+ [1.0, 2.0, 3.0])
+- assert asarray_or_pandas([1, 2, 3], dtype=float).dtype == np.dtype(float)
++ assert asarray_or_pandas([1, 2, 3], dtype=float, copy=None).dtype == np.dtype(float)
+ a_view = asarray_or_pandas(a, dtype=a.dtype)
+ a_view[0] = 99
+ assert a[0] == 99
diff --git a/dev-python/patsy/patsy-0.5.3-r1.ebuild b/dev-python/patsy/patsy-0.5.3-r1.ebuild
deleted file mode 100644
index 53e026ea588d..000000000000
--- a/dev-python/patsy/patsy-0.5.3-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-# py3.12: https://github.com/pydata/patsy/issues/196
-PYTHON_COMPAT=( pypy3 python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python module to describe statistical models and design matrices"
-HOMEPAGE="
- https://patsy.readthedocs.io/en/latest/index.html
- https://github.com/pydata/patsy/
- https://pypi.org/project/patsy/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- !hppa? (
- dev-python/scipy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/patsy/patsy-0.5.4.ebuild b/dev-python/patsy/patsy-0.5.4.ebuild
deleted file mode 100644
index c36201d8ef27..000000000000
--- a/dev-python/patsy/patsy-0.5.4.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python module to describe statistical models and design matrices"
-HOMEPAGE="
- https://patsy.readthedocs.io/en/latest/index.html
- https://github.com/pydata/patsy/
- https://pypi.org/project/patsy/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- !hppa? (
- dev-python/scipy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/patsy/patsy-0.5.6-r1.ebuild b/dev-python/patsy/patsy-0.5.6-r1.ebuild
new file mode 100644
index 000000000000..8140e3bb1ab6
--- /dev/null
+++ b/dev-python/patsy/patsy-0.5.6-r1.ebuild
@@ -0,0 +1,30 @@
+# 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="Python module to describe statistical models and design matrices"
+HOMEPAGE="
+ https://patsy.readthedocs.io/en/latest/index.html
+ https://github.com/pydata/patsy/
+ https://pypi.org/project/patsy/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ <dev-python/numpy-2[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ !hppa? (
+ dev-python/scipy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/patsy/patsy-0.5.6-r2.ebuild b/dev-python/patsy/patsy-0.5.6-r2.ebuild
new file mode 100644
index 000000000000..4c8b9b9f9f05
--- /dev/null
+++ b/dev-python/patsy/patsy-0.5.6-r2.ebuild
@@ -0,0 +1,51 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python module to describe statistical models and design matrices"
+HOMEPAGE="
+ https://patsy.readthedocs.io/en/latest/index.html
+ https://github.com/pydata/patsy/
+ https://pypi.org/project/patsy/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ !hppa? (
+ dev-python/scipy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/pydata/patsy/issues/210
+ # ([probably] non-upstreamable hack)
+ "${FILESDIR}/${P}-np2.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ patsy/eval.py::test_EvalEnvironment_eq
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/pbkdf2/pbkdf2-1.3-r2.ebuild b/dev-python/pbkdf2/pbkdf2-1.3-r2.ebuild
index 43faf5e46db1..6593022c7031 100644
--- a/dev-python/pbkdf2/pbkdf2-1.3-r2.ebuild
+++ b/dev-python/pbkdf2/pbkdf2-1.3-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/pbr/pbr-6.0.0.ebuild b/dev-python/pbr/pbr-6.0.0.ebuild
index 61b026af75cc..01b25b9b3777 100644
--- a/dev-python/pbr/pbr-6.0.0.ebuild
+++ b/dev-python/pbr/pbr-6.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{10..12} )
+PYTHON_TESTED=( python3_{10..13} )
PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 )
PYTHON_REQ_USE="threads(+)"
diff --git a/dev-python/pbs-installer/Manifest b/dev-python/pbs-installer/Manifest
new file mode 100644
index 000000000000..d0044d88a2a0
--- /dev/null
+++ b/dev-python/pbs-installer/Manifest
@@ -0,0 +1 @@
+DIST pbs-installer-2024.4.24.gh.tar.gz 73601 BLAKE2B f56483899dc7795d0334b4698e08f71799ede456fdb7f78accc9278f32437a6b785055ec0b61854c6ec05663bc3b4bd41be8d45138a5793dcab35aa80da32de8 SHA512 7bd440e1522a1c826dcfac801763ad256d79f60315a30828082ea65169e5f4cc8527866491a5c4d84d847150ed6f90167b550104031f417e0103640e2c291aeb
diff --git a/dev-python/pbs-installer/metadata.xml b/dev-python/pbs-installer/metadata.xml
new file mode 100644
index 000000000000..10fd06206281
--- /dev/null
+++ b/dev-python/pbs-installer/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">pbs-installer</remote-id>
+ <remote-id type="github">frostming/pbs-installer</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pbs-installer/pbs-installer-2024.4.24.ebuild b/dev-python/pbs-installer/pbs-installer-2024.4.24.ebuild
new file mode 100644
index 000000000000..c2bbf1f95bc4
--- /dev/null
+++ b/dev-python/pbs-installer/pbs-installer-2024.4.24.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Installer for Python Build Standalone"
+HOMEPAGE="
+ https://pypi.org/project/pbs-installer/
+ https://github.com/frostming/pbs-installer/
+
+"
+SRC_URI="
+ https://github.com/frostming/pbs-installer/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+BDEPEND="
+ dev-python/zstandard[${PYTHON_USEDEP}]
+"
+
+# upstream does not provide any tests
+RESTRICT=test
+
+python_configure_all() {
+ export PDM_BUILD_SCM_VERSION=${PV}
+}
diff --git a/dev-python/pdfrw/pdfrw-0.4_p1-r1.ebuild b/dev-python/pdfrw/pdfrw-0.4_p1-r1.ebuild
index 94e7a27f4547..6d87931a5272 100644
--- a/dev-python/pdfrw/pdfrw-0.4_p1-r1.ebuild
+++ b/dev-python/pdfrw/pdfrw-0.4_p1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pdm-backend/Manifest b/dev-python/pdm-backend/Manifest
index 8c6aacc7d967..85c9ebe87320 100644
--- a/dev-python/pdm-backend/Manifest
+++ b/dev-python/pdm-backend/Manifest
@@ -1 +1,2 @@
-DIST pdm-backend-2.1.7.gh.tar.gz 134479 BLAKE2B e559792b53310d6c159ed0cfae6fd9332bbdebfe0efaa9aae7e149b4800b7231e1561723b6aebb4cd722bc47c5a8c9f13180dfe96607a08a9a5c0fba530c9098 SHA512 d47b814b427799d8b2d106b4721c770fd703143cac5de819d74c47d4808f9130bd5835d5fafe41ab3bb17abfedeb770c8863a9cb9a7c8aba0ef9315f5308e6b3
+DIST pdm-backend-2.3.2.gh.tar.gz 136819 BLAKE2B 15f1375a646337f25fa37b94cd88d257849dbaa79cc2153ca608c4bc35d8e243f7d2a63ddcac87d435bea2fa5200b2d254544720d959566584526c8f182f9152 SHA512 acbf3be68dba894152b0257dbb99ba21e120e5dd48c5989fe5047a6c0073c58f829cb52f8537f32b096838202f0a29f2c38cab43d5c284d1b610811c9f2c25a3
+DIST pdm-backend-2.3.3.gh.tar.gz 136942 BLAKE2B 14f2584f22f1c4e08f687c77621269ae1e5acfe4babb1ab427c10d65ff07841b8175479f867870b9a5745db76444ca140a7da497a94c831ca6d0ea1e67b4e88f SHA512 382ad95e2811f1142fee66065f96ede1a646c3e2b9fbfafc6afb17442d3aeccfbf1ff6260952986a025791d3d56a2c4b730decb3cb65e893c25a710e16cbcfc8
diff --git a/dev-python/pdm-backend/pdm-backend-2.1.7.ebuild b/dev-python/pdm-backend/pdm-backend-2.1.7.ebuild
deleted file mode 100644
index ec82517f8d9c..000000000000
--- a/dev-python/pdm-backend/pdm-backend-2.1.7.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A PEP 517 backend for PDM that supports PEP 621 metadata"
-HOMEPAGE="
- https://pypi.org/project/pdm-backend/
- https://github.com/pdm-project/pdm-backend/
-"
-SRC_URI="
- https://github.com/pdm-project/pdm-backend/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/packaging-22.0[${PYTHON_USEDEP}]
- >=dev-python/pyproject-metadata-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
-
- $(python_gen_cond_dep '
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-vcs/git
- )
-"
-# setuptools are used to build C extensions
-RDEPEND+="
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- rm -r src/pdm/backend/_vendor || die
- find -name '*.py' -exec sed \
- -e 's:from pdm\.backend\._vendor\.:from :' \
- -e 's:from pdm\.backend\._vendor ::' \
- -e 's:import pdm\.backend\._vendor\.:import :' \
- -i {} + || die
- distutils-r1_src_prepare
-}
-
-src_compile() {
- # this must not be set during src_test()
- local -x PDM_BUILD_SCM_VERSION=${PV}
- distutils-r1_src_compile
-}
-
-src_test() {
- git config --global user.email "test@example.com" || die
- git config --global user.name "Test User" || die
- distutils-r1_src_test
-}
diff --git a/dev-python/pdm-backend/pdm-backend-2.3.2.ebuild b/dev-python/pdm-backend/pdm-backend-2.3.2.ebuild
new file mode 100644
index 000000000000..a454d9f378c0
--- /dev/null
+++ b/dev-python/pdm-backend/pdm-backend-2.3.2.ebuild
@@ -0,0 +1,75 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A PEP 517 backend for PDM that supports PEP 621 metadata"
+HOMEPAGE="
+ https://pypi.org/project/pdm-backend/
+ https://github.com/pdm-project/pdm-backend/
+"
+SRC_URI="
+ https://github.com/pdm-project/pdm-backend/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+# see src/pdm/backend/_vendor/vendor.txt
+RDEPEND="
+ >=dev-python/editables-0.5[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24.0[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-metadata-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+# setuptools are used to build C extensions
+RDEPEND+="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ rm -r src/pdm/backend/_vendor || die
+ find -name '*.py' -exec sed \
+ -e 's:from pdm\.backend\._vendor\.:from :' \
+ -e 's:from pdm\.backend\._vendor ::' \
+ -e 's:import pdm\.backend\._vendor\.:import :' \
+ -i {} + || die
+ distutils-r1_src_prepare
+}
+
+src_compile() {
+ # this must not be set during src_test()
+ local -x PDM_BUILD_SCM_VERSION=${PV}
+ distutils-r1_src_compile
+}
+
+src_test() {
+ git config --global user.email "test@example.com" || die
+ git config --global user.name "Test User" || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -k "not [hg"
+}
diff --git a/dev-python/pdm-backend/pdm-backend-2.3.3.ebuild b/dev-python/pdm-backend/pdm-backend-2.3.3.ebuild
new file mode 100644
index 000000000000..22bb6218491e
--- /dev/null
+++ b/dev-python/pdm-backend/pdm-backend-2.3.3.ebuild
@@ -0,0 +1,75 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A PEP 517 backend for PDM that supports PEP 621 metadata"
+HOMEPAGE="
+ https://pypi.org/project/pdm-backend/
+ https://github.com/pdm-project/pdm-backend/
+"
+SRC_URI="
+ https://github.com/pdm-project/pdm-backend/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+# see src/pdm/backend/_vendor/vendor.txt
+RDEPEND="
+ >=dev-python/editables-0.5[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24.0[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-metadata-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+# setuptools are used to build C extensions
+RDEPEND+="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ rm -r src/pdm/backend/_vendor || die
+ find -name '*.py' -exec sed \
+ -e 's:from pdm\.backend\._vendor\.:from :' \
+ -e 's:from pdm\.backend\._vendor ::' \
+ -e 's:import pdm\.backend\._vendor\.:import :' \
+ -i {} + || die
+ distutils-r1_src_prepare
+}
+
+src_compile() {
+ # this must not be set during src_test()
+ local -x PDM_BUILD_SCM_VERSION=${PV}
+ distutils-r1_src_compile
+}
+
+src_test() {
+ git config --global user.email "test@example.com" || die
+ git config --global user.name "Test User" || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -k "not [hg"
+}
diff --git a/dev-python/pdm-pep517/Manifest b/dev-python/pdm-pep517/Manifest
deleted file mode 100644
index a9c93b8c8910..000000000000
--- a/dev-python/pdm-pep517/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pdm-pep517-1.1.4.gh.tar.gz 232583 BLAKE2B 0f718e5b0a854505ca22b15cbe0bf3eeb9e028062e1bbd8a5fa6ca79e605ced7ec45e9429747c18fa2b96872487b2a5b3007567e2875d2121ed52c5027e1a4d4 SHA512 b3359ed0f0746e879b3cad8fdedcf49a36f179d68a530a80e5c985d26f89e9e3ab92a56a128dd69603e52fff5070ebe8ec2dc0f6ec07c8eb14da27e5a3b3b4a8
diff --git a/dev-python/pdm-pep517/metadata.xml b/dev-python/pdm-pep517/metadata.xml
deleted file mode 100644
index 8de62c6cc043..000000000000
--- a/dev-python/pdm-pep517/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">pdm-pep517</remote-id>
- <remote-id type="github">pdm-project/pdm-backend</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pdm-pep517/pdm-pep517-1.1.4.ebuild b/dev-python/pdm-pep517/pdm-pep517-1.1.4.ebuild
deleted file mode 100644
index 7cb565c0c1fe..000000000000
--- a/dev-python/pdm-pep517/pdm-pep517-1.1.4.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-# upstream has renamed the repo but the legacy branch is still published
-# as pdm-pep517, sigh
-MY_P=pdm-backend-${PV}
-DESCRIPTION="A PEP 517 backend for PDM that supports PEP 621 metadata"
-HOMEPAGE="
- https://pypi.org/project/pdm-pep517/
- https://github.com/pdm-project/pdm-backend/
-"
-SRC_URI="
- https://github.com/pdm-project/pdm-backend/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/cerberus-1.3.4[${PYTHON_USEDEP}]
- dev-python/license-expression[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3-r2[${PYTHON_USEDEP}]
- >=dev-python/tomli-2[${PYTHON_USEDEP}]
- dev-python/tomli-w[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-vcs/git
- )
-"
-# setuptools are used to build C extensions
-RDEPEND+="
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- rm -r pdm/pep517/_vendor || die
- find -name '*.py' -exec sed \
- -e 's:from pdm\.pep517\._vendor\.:from :' \
- -e 's:from pdm\.pep517\._vendor ::' \
- -i {} + || die
- distutils-r1_src_prepare
-}
-
-src_test() {
- git config --global user.email "test@example.com" || die
- git config --global user.name "Test User" || die
- distutils-r1_src_test
-}
diff --git a/dev-python/pdm/Manifest b/dev-python/pdm/Manifest
index 77481561e6f2..57353e669d76 100644
--- a/dev-python/pdm/Manifest
+++ b/dev-python/pdm/Manifest
@@ -1 +1,3 @@
-DIST pdm-2.10.4.tar.gz 2589461 BLAKE2B 83366412f8b222067b33386a1a8fb0759945d22814da96b4c20e3a9bc459d6ad37f51e87720032249090c13e333becc33f4da482338c494af5fa49a578d4c308 SHA512 7e165f497a1cf1993554277ccf347410893f7635748d8d5a43dba1bc6156ea7655045c6ac865b96ff2e44d736b963fde5921a4710628201dd88c20d4fa7014f2
+DIST pdm-2.16.1.tar.gz 2618476 BLAKE2B f32de9aafbaa1050e9373921bc50643c21b43775e7737f5717914f8bc65de7ad126d7dadf94ae55e7848596db1b6b0c1ffa9cb1d9ada914dc2be85cc71ac404f SHA512 8b244c67421ed5b3eb3b6958da38abf776cb8fe7eb5b9de646027fc14d15ecf74f90a128d4a4405cedd775294df3b13f76d606c2cfc86b222ede1c2134f63f84
+DIST pdm-2.17.0.tar.gz 2626110 BLAKE2B 600a319c419003d000445d2dfe0e694b78514c41ab29174465eef0126f629e588e7da996cf999901844686abfc9089db1f176509a7200ba405fd20be82fdcf0a SHA512 ef2924f4cafd690c5519e29b0ecab308dfc2a739bd50c76d6e0c1f294af31356b1102a0ea6c7324439105008fbd7270812fc2a855340e6417d55e9e8de273b59
+DIST pdm-2.17.1.tar.gz 2626200 BLAKE2B f0ab4586fe6af126398081a13bca007ea5fa7e4e2cd7bc99e415fa4fc56fa8cce7ea9028a18ce0e71ec966951ba12f678a000dbd3fe88c6a43b117f737e830dd SHA512 8be1ae474d00b0398f3b3bbf03e5cbe050911d18fa18ef3d7fe46116b6daa68a0e8b68cff90c2742803b167f10a66a66b1b68b84d43f39c3f006c96f38dfedb9
diff --git a/dev-python/pdm/pdm-2.10.4.ebuild b/dev-python/pdm/pdm-2.10.4.ebuild
deleted file mode 100644
index ed1a0d7bfc8f..000000000000
--- a/dev-python/pdm/pdm-2.10.4.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python package and dependency manager supporting the latest PEP standards"
-HOMEPAGE="
- https://pdm-project.org/
- https://github.com/pdm-project/pdm/
- https://pypi.org/project/pdm/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- dev-python/blinker[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/platformdirs[${PYTHON_USEDEP}]
- dev-python/rich[${PYTHON_USEDEP}]
- dev-python/truststore[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/pyproject-hooks[${PYTHON_USEDEP}]
- dev-python/requests-toolbelt[${PYTHON_USEDEP}]
- >=dev-python/unearth-0.12.1[${PYTHON_USEDEP}]
- <dev-python/findpython-1[${PYTHON_USEDEP}]
- >=dev-python/findpython-0.4.0[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
- dev-python/shellingham[${PYTHON_USEDEP}]
- dev-python/python-dotenv[${PYTHON_USEDEP}]
- >=dev-python/resolvelib-1.0.1[${PYTHON_USEDEP}]
- dev-python/installer[${PYTHON_USEDEP}]
- dev-python/cachecontrol[${PYTHON_USEDEP}]
- $(python_gen_cond_dep 'dev-python/tomli[${PYTHON_USEDEP}]' pypy3 python3_10)
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-httpserver[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Internet
- 'tests/cli/test_build.py::test_build_with_no_isolation[False]'
- tests/test_project.py::test_access_index_with_auth
- tests/cli/test_others.py::test_build_distributions
- 'tests/models/test_candidates.py::test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1.tar.gz]'
- 'tests/models/test_candidates.py::test_expand_project_root_in_url[-e file:///${PROJECT_ROOT}/tests/fixtures/projects/demo-#-with-hash#egg=demo]'
- # hangs on interactive keyring prompts
- tests/cli/test_config.py::test_repository_overwrite_default
- tests/cli/test_config.py::test_hide_password_in_output_repository
- tests/cli/test_config.py::test_hide_password_in_output_pypi
- # junk output, sigh
- tests/cli/test_others.py::test_info_command_json
- # why does it try to use python 2.7?!
- tests/cli/test_run.py::test_import_another_sitecustomize
- )
- [[ ${EPYTHON} != python3.10 ]] && EPYTEST_DESELECT+=(
- # test seems hardcoded to 3.10
- tests/test_project.py::test_project_packages_path
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -m "not network and not integration and not path" \
- -p pytest_mock
-}
diff --git a/dev-python/pdm/pdm-2.16.1.ebuild b/dev-python/pdm/pdm-2.16.1.ebuild
new file mode 100644
index 000000000000..81f70ae60846
--- /dev/null
+++ b/dev-python/pdm/pdm-2.16.1.ebuild
@@ -0,0 +1,117 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python package and dependency manager supporting the latest PEP standards"
+HOMEPAGE="
+ https://pdm-project.org/
+ https://github.com/pdm-project/pdm/
+ https://pypi.org/project/pdm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/blinker[${PYTHON_USEDEP}]
+ >=dev-python/dep-logic-0.2.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/truststore[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/hishel[${PYTHON_USEDEP}]
+ >=dev-python/pbs-installer-2024.4.18[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ >=dev-python/unearth-0.15.0[${PYTHON_USEDEP}]
+ <dev-python/findpython-1[${PYTHON_USEDEP}]
+ >=dev-python/findpython-0.6.0[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+ dev-python/shellingham[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ >=dev-python/resolvelib-1.0.1[${PYTHON_USEDEP}]
+ dev-python/installer[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ 'tests/cli/test_build.py::test_build_with_no_isolation[False]'
+ tests/test_project.py::test_access_index_with_auth
+ "tests/test_project.py::test_find_interpreters_with_PDM_IGNORE_ACTIVE_VENV[True]"
+ tests/cli/test_others.py::test_build_distributions
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1.tar.gz]'
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[-e file:///${PROJECT_ROOT}/tests/fixtures/projects/demo-#-with-hash#egg=demo]'
+ tests/models/test_candidates.py::test_find_candidates_from_find_links
+ tests/cli/test_build.py::test_build_single_module
+ tests/cli/test_build.py::test_build_single_module_with_readme
+ tests/cli/test_build.py::test_build_package
+ tests/cli/test_build.py::test_build_src_package
+ tests/cli/test_build.py::test_build_package_include
+ tests/cli/test_build.py::test_build_src_package_by_include
+ tests/cli/test_build.py::test_build_with_config_settings
+ tests/cli/test_build.py::test_cli_build_with_config_settings
+ tests/cli/test_build.py::test_build_ignoring_pip_environment
+ tests/cli/test_others.py::test_show_self_package
+ tests/cli/test_publish.py::test_publish_and_build_in_one_run
+ "tests/cli/test_hooks.py::test_hooks[build]"
+ "tests/cli/test_hooks.py::test_hooks[publish]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[build-pre_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[build-post_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_publish]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_publish]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-build]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-publish]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-build]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-publish]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-build]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-publish]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-build]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-publish]"
+ "tests/cli/test_venv.py::test_conda_backend_create[True]"
+ "tests/cli/test_venv.py::test_conda_backend_create[False]"
+ tests/cli/test_lock.py::test_lock_all_with_excluded_groups
+ # hangs on interactive keyring prompts
+ tests/cli/test_config.py::test_repository_overwrite_default
+ tests/cli/test_config.py::test_hide_password_in_output_repository
+ tests/cli/test_config.py::test_hide_password_in_output_pypi
+ # junk output, sigh
+ tests/cli/test_others.py::test_info_command_json
+ # why does it try to use python 2.7?!
+ tests/cli/test_run.py::test_import_another_sitecustomize
+ # fails in tinderbox (bug #928964)
+ tests/test_project.py::test_project_packages_path
+ )
+ [[ ${EPYTHON} != python3.10 ]] && EPYTEST_DESELECT+=(
+ # test seems hardcoded to 3.10
+ tests/test_project.py::test_project_packages_path
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m "not network and not integration and not path" \
+ -p pytest_mock
+}
diff --git a/dev-python/pdm/pdm-2.17.0.ebuild b/dev-python/pdm/pdm-2.17.0.ebuild
new file mode 100644
index 000000000000..0c40f005de0e
--- /dev/null
+++ b/dev-python/pdm/pdm-2.17.0.ebuild
@@ -0,0 +1,119 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python package and dependency manager supporting the latest PEP standards"
+HOMEPAGE="
+ https://pdm-project.org/
+ https://github.com/pdm-project/pdm/
+ https://pypi.org/project/pdm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/blinker[${PYTHON_USEDEP}]
+ >=dev-python/dep-logic-0.4.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/truststore[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/hishel[${PYTHON_USEDEP}]
+ >=dev-python/pbs-installer-2024.4.18[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ >=dev-python/unearth-0.16.0[${PYTHON_USEDEP}]
+ <dev-python/findpython-1[${PYTHON_USEDEP}]
+ >=dev-python/findpython-0.6.0[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+ dev-python/shellingham[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ >=dev-python/resolvelib-1.0.1[${PYTHON_USEDEP}]
+ dev-python/installer[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ 'tests/cli/test_build.py::test_build_with_no_isolation[False]'
+ tests/test_project.py::test_access_index_with_auth
+ "tests/test_project.py::test_find_interpreters_with_PDM_IGNORE_ACTIVE_VENV[True]"
+ tests/cli/test_others.py::test_build_distributions
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1.tar.gz]'
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[-e file:///${PROJECT_ROOT}/tests/fixtures/projects/demo-#-with-hash#egg=demo]'
+ tests/models/test_candidates.py::test_find_candidates_from_find_links
+ tests/cli/test_build.py::test_build_single_module
+ tests/cli/test_build.py::test_build_single_module_with_readme
+ tests/cli/test_build.py::test_build_package
+ tests/cli/test_build.py::test_build_src_package
+ tests/cli/test_build.py::test_build_package_include
+ tests/cli/test_build.py::test_build_src_package_by_include
+ tests/cli/test_build.py::test_build_with_config_settings
+ tests/cli/test_build.py::test_cli_build_with_config_settings
+ tests/cli/test_build.py::test_build_ignoring_pip_environment
+ tests/cli/test_others.py::test_show_self_package
+ tests/cli/test_publish.py::test_publish_and_build_in_one_run
+ "tests/cli/test_hooks.py::test_hooks[build]"
+ "tests/cli/test_hooks.py::test_hooks[publish]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[build-pre_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[build-post_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_publish]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_publish]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-build]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-publish]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-build]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-publish]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-build]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-publish]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-build]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-publish]"
+ "tests/cli/test_venv.py::test_conda_backend_create[True]"
+ "tests/cli/test_venv.py::test_conda_backend_create[False]"
+ tests/cli/test_lock.py::test_lock_all_with_excluded_groups
+ # hangs on interactive keyring prompts
+ tests/cli/test_config.py::test_repository_overwrite_default
+ tests/cli/test_config.py::test_hide_password_in_output_repository
+ tests/cli/test_config.py::test_hide_password_in_output_pypi
+ # junk output, sigh
+ tests/cli/test_others.py::test_info_command_json
+ # why does it try to use python 2.7?!
+ tests/cli/test_run.py::test_import_another_sitecustomize
+ # fails in tinderbox (bug #928964)
+ tests/test_project.py::test_project_packages_path
+ # i guess doesn't expect some dep to be present
+ tests/cli/test_build.py::test_build_with_no_isolation
+ )
+ [[ ${EPYTHON} != python3.10 ]] && EPYTEST_DESELECT+=(
+ # test seems hardcoded to 3.10
+ tests/test_project.py::test_project_packages_path
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m "not network and not integration and not path" \
+ -p pytest_mock
+}
diff --git a/dev-python/pdm/pdm-2.17.1.ebuild b/dev-python/pdm/pdm-2.17.1.ebuild
new file mode 100644
index 000000000000..a12e4a8e60f4
--- /dev/null
+++ b/dev-python/pdm/pdm-2.17.1.ebuild
@@ -0,0 +1,119 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python package and dependency manager supporting the latest PEP standards"
+HOMEPAGE="
+ https://pdm-project.org/
+ https://github.com/pdm-project/pdm/
+ https://pypi.org/project/pdm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/blinker[${PYTHON_USEDEP}]
+ >=dev-python/dep-logic-0.4.3[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/rich[${PYTHON_USEDEP}]
+ dev-python/truststore[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/hishel[${PYTHON_USEDEP}]
+ >=dev-python/pbs-installer-2024.4.18[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ >=dev-python/unearth-0.16.0[${PYTHON_USEDEP}]
+ <dev-python/findpython-1[${PYTHON_USEDEP}]
+ >=dev-python/findpython-0.6.0[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+ dev-python/shellingham[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ >=dev-python/resolvelib-1.0.1[${PYTHON_USEDEP}]
+ dev-python/installer[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ 'tests/cli/test_build.py::test_build_with_no_isolation[False]'
+ tests/test_project.py::test_access_index_with_auth
+ "tests/test_project.py::test_find_interpreters_with_PDM_IGNORE_ACTIVE_VENV[True]"
+ tests/cli/test_others.py::test_build_distributions
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[demo @ file:///${PROJECT_ROOT}/tests/fixtures/artifacts/demo-0.0.1.tar.gz]'
+ 'tests/models/test_candidates.py::test_expand_project_root_in_url[-e file:///${PROJECT_ROOT}/tests/fixtures/projects/demo-#-with-hash#egg=demo]'
+ tests/models/test_candidates.py::test_find_candidates_from_find_links
+ tests/cli/test_build.py::test_build_single_module
+ tests/cli/test_build.py::test_build_single_module_with_readme
+ tests/cli/test_build.py::test_build_package
+ tests/cli/test_build.py::test_build_src_package
+ tests/cli/test_build.py::test_build_package_include
+ tests/cli/test_build.py::test_build_src_package_by_include
+ tests/cli/test_build.py::test_build_with_config_settings
+ tests/cli/test_build.py::test_cli_build_with_config_settings
+ tests/cli/test_build.py::test_build_ignoring_pip_environment
+ tests/cli/test_others.py::test_show_self_package
+ tests/cli/test_publish.py::test_publish_and_build_in_one_run
+ "tests/cli/test_hooks.py::test_hooks[build]"
+ "tests/cli/test_hooks.py::test_hooks[publish]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[build-pre_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[build-post_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_publish]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-pre_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_build]"
+ "tests/cli/test_hooks.py::test_skip_option_from_signal[publish-post_publish]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-build]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:all-publish]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-build]"
+ "tests/cli/test_hooks.py::test_skip_all_option_from_signal[:pre,:post-publish]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-build]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[pre-publish]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-build]"
+ "tests/cli/test_hooks.py::test_skip_pre_post_option_from_signal[post-publish]"
+ "tests/cli/test_venv.py::test_conda_backend_create[True]"
+ "tests/cli/test_venv.py::test_conda_backend_create[False]"
+ tests/cli/test_lock.py::test_lock_all_with_excluded_groups
+ # hangs on interactive keyring prompts
+ tests/cli/test_config.py::test_repository_overwrite_default
+ tests/cli/test_config.py::test_hide_password_in_output_repository
+ tests/cli/test_config.py::test_hide_password_in_output_pypi
+ # junk output, sigh
+ tests/cli/test_others.py::test_info_command_json
+ # why does it try to use python 2.7?!
+ tests/cli/test_run.py::test_import_another_sitecustomize
+ # fails in tinderbox (bug #928964)
+ tests/test_project.py::test_project_packages_path
+ # i guess doesn't expect some dep to be present
+ tests/cli/test_build.py::test_build_with_no_isolation
+ )
+ [[ ${EPYTHON} != python3.10 ]] && EPYTEST_DESELECT+=(
+ # test seems hardcoded to 3.10
+ tests/test_project.py::test_project_packages_path
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -m "not network and not integration and not path" \
+ -p pytest_mock
+}
diff --git a/dev-python/pdoc3/Manifest b/dev-python/pdoc3/Manifest
index aeb0b7e4a865..faddddc4258d 100644
--- a/dev-python/pdoc3/Manifest
+++ b/dev-python/pdoc3/Manifest
@@ -1 +1,2 @@
+DIST pdoc3-0.10.0-fix-deprecation-warnings.patch 1447 BLAKE2B 6a4c554f3e0d3b66927cef22ab87a07c0711e6b01203bc37e54097f29f4c2547bd6daf721fa8745f941b1c74cd122222ccf8896ab6174c6775a47703ac02d17b SHA512 73d91a8f0d5747cefb972e1a6a028216688fde2f92cd8e5c4139dcebacc4a825e86345c419af7ccf5682dc6458ea5b20fd45799896555a8acadebc61da549140
DIST pdoc3-0.10.0.tar.gz 86133 BLAKE2B 3bada6fb1b048c4eff7556108c29d7f92ee988332d160c4ff765c47bf0cf7a461ed90f93e7be25a7a3251f5d3e70492d23be7230a5ec4abb12612b7e0dd4b5b6 SHA512 646ffb9bceb4456a1ab36c840eb384858aab430443905bc71e62e9c71112a769b69e22cbd18a9d75b7968e2336cbbaa9072103f96dc2d0829ccc7515b057ca85
diff --git a/dev-python/pdoc3/pdoc3-0.10.0-r1.ebuild b/dev-python/pdoc3/pdoc3-0.10.0-r1.ebuild
deleted file mode 100644
index 9dd52ae79fd7..000000000000
--- a/dev-python/pdoc3/pdoc3-0.10.0-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Auto-generate API documentation for Python projects"
-HOMEPAGE="https://pdoc3.github.io/pdoc/"
-
-SLOT="0"
-LICENSE="AGPL-3+"
-KEYWORDS="amd64 ~x86"
-
-RDEPEND="
- dev-python/mako[${PYTHON_USEDEP}]
- >=dev-python/markdown-3.0[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${PN}-TST-use-explicit-ClassWithNew-instead-of-typing.Gene.patch"
- "${FILESDIR}/${PN}-0.10.0-update-tests.patch"
-)
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- sed -i \
- -e "/setuptools_git/d" \
- -e "/setuptools_scm/d" \
- setup.py || die
-}
-
-distutils_enable_tests unittest
diff --git a/dev-python/pdoc3/pdoc3-0.10.0-r2.ebuild b/dev-python/pdoc3/pdoc3-0.10.0-r2.ebuild
new file mode 100644
index 000000000000..326e968a0b58
--- /dev/null
+++ b/dev-python/pdoc3/pdoc3-0.10.0-r2.ebuild
@@ -0,0 +1,42 @@
+# 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_{9..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Auto-generate API documentation for Python projects"
+HOMEPAGE="https://pdoc3.github.io/pdoc/"
+SRC_URI+="
+ https://github.com/pdoc3/pdoc/commit/14cd51c1b7431cdec5c3e7510b8a0e3b66c2f7d4.patch
+ -> ${PN}-0.10.0-fix-deprecation-warnings.patch
+"
+
+LICENSE="AGPL-3+"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="
+ dev-python/mako[${PYTHON_USEDEP}]
+ >=dev-python/markdown-3.0[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-TST-use-explicit-ClassWithNew-instead-of-typing.Gene.patch"
+ "${FILESDIR}/${PN}-0.10.0-update-tests.patch"
+ "${DISTDIR}"/${PN}-0.10.0-fix-deprecation-warnings.patch
+)
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ sed -i \
+ -e "/setuptools_git/d" \
+ -e "/setuptools_scm/d" \
+ setup.py || die
+}
+
+distutils_enable_tests unittest
diff --git a/dev-python/pebble/Manifest b/dev-python/pebble/Manifest
index 6f1164f7d67f..88566b1c7056 100644
--- a/dev-python/pebble/Manifest
+++ b/dev-python/pebble/Manifest
@@ -1,2 +1 @@
-DIST Pebble-5.0.3.tar.gz 29076 BLAKE2B d140cc0abd08cb5d6031a3fb8ba6f573e273f865d23e8854e9e540e115b030cabd07d8517f94b542216294abd742960b3addda592f0e7d31662bd10b224c8d7b SHA512 324cba58905b0be76b2cd56e0ee5d3e51a36d46a7754fbccb1f9307af0747c2f02b81d137e2c4bce1c766706b70ce1a909c3b287676db147c202cab7445fc764
-DIST Pebble-5.0.4.tar.gz 28976 BLAKE2B 4a07fae1b186f658aad565d97837c204ce4c19f2478f179d9967f4770666eb243c26de54345332331ad85a4c34c842307be219b543c7f99e9f04ce5185841a32 SHA512 fec2aa4fad28dddc5987d010d341dd747d1056a9e75b3a81f5c6d1f40d07d139357472f0649d9b15f1fe22c5e018f533d616227faac10c1e06469af988cf2c8c
+DIST Pebble-5.0.7.tar.gz 32054 BLAKE2B d9211facf566551702b0305202c5765ef24f341201cc7a1593525a38a1e3b9ae69f33a739ebbc37cb3f60239ea19289741137f23275e3cd8a7bb5e14024295ee SHA512 2602512208808ce15150e35fb9bbd383a6b98850e7641ed26c46e520fe7e62483dfcb67aa77a2412a0c643fc862035487283f8e760feef3852f3ab9236f29176
diff --git a/dev-python/pebble/files/pebble-5.0.3-backport-pr112.patch b/dev-python/pebble/files/pebble-5.0.3-backport-pr112.patch
deleted file mode 100644
index be1afee1da64..000000000000
--- a/dev-python/pebble/files/pebble-5.0.3-backport-pr112.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-https://bugs.gentoo.org/831219
-https://github.com/noxdafox/pebble/pull/112
-
-From cd78923ac2a3de7e2ce248734f10170bf516f5b4 Mon Sep 17 00:00:00 2001
-From: matoro <matoro@users.noreply.github.com>
-Date: Sun, 19 Feb 2023 13:36:34 -0500
-Subject: [PATCH] increase attempts for test_process_pool_stop_stopped_callback
-
-On very slow machines, test_process_pool_stop_stopped_callback fails due
-to not raising a RuntimeError. Increasing the number of long_function
-instances added to the pool causes it to perform as expected.
----
- test/test_process_pool_spawn.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/test/test_process_pool_spawn.py b/test/test_process_pool_spawn.py
-index f839b0a..d734bdf 100644
---- a/test/test_process_pool_spawn.py
-+++ b/test/test_process_pool_spawn.py
-@@ -315,7 +315,7 @@ def stop_pool_callback(_):
- future = pool.schedule(function, args=[1])
- future.add_done_callback(stop_pool_callback)
- with self.assertRaises(RuntimeError):
-- for index in range(10):
-+ for index in range(30):
- time.sleep(0.1)
- pool.schedule(long_function, args=[index])
-
diff --git a/dev-python/pebble/pebble-5.0.3.ebuild b/dev-python/pebble/pebble-5.0.3.ebuild
deleted file mode 100644
index 2c05dd4f34c3..000000000000
--- a/dev-python/pebble/pebble-5.0.3.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Threading and multiprocessing eye-candy"
-HOMEPAGE="
- https://pebble.readthedocs.io/
- https://github.com/noxdafox/pebble/
- https://pypi.org/project/Pebble/
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-PATCHES=( "${FILESDIR}/pebble-5.0.3-backport-pr112.patch" )
-
-distutils_enable_tests pytest
diff --git a/dev-python/pebble/pebble-5.0.4.ebuild b/dev-python/pebble/pebble-5.0.4.ebuild
deleted file mode 100644
index 570400970374..000000000000
--- a/dev-python/pebble/pebble-5.0.4.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Threading and multiprocessing eye-candy"
-HOMEPAGE="
- https://pebble.readthedocs.io/
- https://github.com/noxdafox/pebble/
- https://pypi.org/project/Pebble/
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pebble/pebble-5.0.7.ebuild b/dev-python/pebble/pebble-5.0.7.ebuild
new file mode 100644
index 000000000000..032e6a00636a
--- /dev/null
+++ b/dev-python/pebble/pebble-5.0.7.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Threading and multiprocessing eye-candy"
+HOMEPAGE="
+ https://pebble.readthedocs.io/
+ https://github.com/noxdafox/pebble/
+ https://pypi.org/project/Pebble/
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pecan/pecan-1.5.1.ebuild b/dev-python/pecan/pecan-1.5.1.ebuild
index e8a9af36c2a9..7a799d1e3fdc 100644
--- a/dev-python/pecan/pecan-1.5.1.ebuild
+++ b/dev-python/pecan/pecan-1.5.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( python3_{10..12} )
inherit distutils-r1 pypi
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 arm64 ppc64 ~riscv x86"
RDEPEND="
>=dev-python/webob-1.4[${PYTHON_USEDEP}]
diff --git a/dev-python/peewee/Manifest b/dev-python/peewee/Manifest
index 66ea900af6be..2c217f98689e 100644
--- a/dev-python/peewee/Manifest
+++ b/dev-python/peewee/Manifest
@@ -1 +1,2 @@
-DIST peewee-3.17.0.gh.tar.gz 915412 BLAKE2B 531a021f925f41ce62822fe9a0f28dd9505c1890e02b42b6b9efb9ced15e56f531c564e3412104d5d10f5ef578c728d64e3f57d9c72a03e2c4b7f7d22d639647 SHA512 978a911aa0236246abcc3cc2ef54d418dc8f94bf78ce6eeeeaf43352d92ccb4238c66972b78a904d3ceed47736a2c509fbdde837e7660290faf220e5744b1cfa
+DIST peewee-3.17.5.gh.tar.gz 927674 BLAKE2B 45d23ebec38363a83441c916def460d76c7fe54175497df53de5a904d57b3d2cdbe077f757028b85f6a5eba0e65f1eab9ee99ceea11a00a9b111fce842ccd010 SHA512 b9878450a0759740f28cb6425ba0f14aa92e037bc4c888c13ae24bc38993787e64bff6342edcdf5364b5aac97c405e1c8e53e1140016e6bdbeba6d57d7f339ec
+DIST peewee-3.17.6.gh.tar.gz 929364 BLAKE2B f7add872316dae1210a4dec4a71cf0b5122010e3da854019887143111cca5ed7f53b48bdf68aaa215097bde8003878e4aae0ddf827fb3fd0ab635345815a0d7a SHA512 7250b931ebaab6f5e1fbc9461cb737e30eef794bbc6a15f6f1ba59e358bd9101c17d31112906d314a12f0a05b4c2112435f90053a866f3b91d0e5a1dc4aba2f8
diff --git a/dev-python/peewee/peewee-3.17.0.ebuild b/dev-python/peewee/peewee-3.17.0.ebuild
deleted file mode 100644
index 2b2c2b834a84..000000000000
--- a/dev-python/peewee/peewee-3.17.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="sqlite"
-
-inherit distutils-r1
-
-DESCRIPTION="Small Python ORM"
-HOMEPAGE="
- https://github.com/coleifer/peewee/
- https://pypi.org/project/peewee/
-"
-SRC_URI="
- https://github.com/coleifer/peewee/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-IUSE="examples +native-extensions test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- native-extensions? ( dev-db/sqlite:3= )
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx-rtd-theme
-
-src_compile() {
- if ! use native-extensions; then
- local -x NO_SQLITE=1
- fi
-
- distutils-r1_src_compile
-}
-
-python_test() {
- "${EPYTHON}" runtests.py -v 2 || die "tests failed under ${EPYTHON}"
-}
-
-python_install_all() {
- use examples && DOCS=( examples/ )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/peewee/peewee-3.17.5.ebuild b/dev-python/peewee/peewee-3.17.5.ebuild
new file mode 100644
index 000000000000..400156fc2dc1
--- /dev/null
+++ b/dev-python/peewee/peewee-3.17.5.ebuild
@@ -0,0 +1,72 @@
+# 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..13} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+DESCRIPTION="Small Python ORM"
+HOMEPAGE="
+ https://github.com/coleifer/peewee/
+ https://pypi.org/project/peewee/
+"
+SRC_URI="
+ https://github.com/coleifer/peewee/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~riscv x86"
+IUSE="examples +native-extensions test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ native-extensions? ( dev-db/sqlite:3= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-db/postgresql
+ dev-python/psycopg:0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+
+src_compile() {
+ if ! use native-extensions; then
+ local -x NO_SQLITE=1
+ fi
+
+ distutils-r1_src_compile
+}
+
+src_test() {
+ initdb -D "${T}"/pgsql || die
+ pg_ctl -w -D "${T}"/pgsql start -o "-h '' -k '${T}'" || die
+ createdb -h "${T}" peewee_test || die
+
+ local -x PEEWEE_PSQL_HOST="${T}"
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${T}"/pgsql stop || die
+}
+
+python_test() {
+ "${EPYTHON}" runtests.py -v 2 || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && DOCS=( examples/ )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/peewee/peewee-3.17.6.ebuild b/dev-python/peewee/peewee-3.17.6.ebuild
new file mode 100644
index 000000000000..d4201d49a2c0
--- /dev/null
+++ b/dev-python/peewee/peewee-3.17.6.ebuild
@@ -0,0 +1,81 @@
+# 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..13} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+DESCRIPTION="Small Python ORM"
+HOMEPAGE="
+ https://github.com/coleifer/peewee/
+ https://pypi.org/project/peewee/
+"
+SRC_URI="
+ https://github.com/coleifer/peewee/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+IUSE="examples +native-extensions test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ native-extensions? ( dev-db/sqlite:3= )
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-db/postgresql
+ dev-python/psycopg:0[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+
+src_prepare() {
+ # disable test failing on postgres 16
+ sed -e 's/test_timeout/_&/' -i tests/sqliteq.py || die
+
+ default
+}
+
+src_compile() {
+ if ! use native-extensions; then
+ local -x NO_SQLITE=1
+ fi
+
+ distutils-r1_src_compile
+}
+
+src_test() {
+ initdb -D "${T}"/pgsql || die
+ pg_ctl -w -D "${T}"/pgsql start -o "-h '' -k '${T}'" || die
+ createdb -h "${T}" peewee_test || die
+ psql -h "${T}" peewee_test -c 'create extension hstore;' || die
+
+ local -x PEEWEE_PSQL_HOST="${T}"
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${T}"/pgsql stop || die
+}
+
+python_test() {
+ "${EPYTHON}" runtests.py -v 2 || die "tests failed under ${EPYTHON}"
+}
+
+python_install_all() {
+ use examples && DOCS=( examples/ )
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pelican-minify/Manifest b/dev-python/pelican-minify/Manifest
index 3d433671c643..9ab6934a30b6 100644
--- a/dev-python/pelican-minify/Manifest
+++ b/dev-python/pelican-minify/Manifest
@@ -1,2 +1 @@
-DIST pelican-minify-0.9.tar.gz 223517 BLAKE2B 808601e027af7b3970e3fcac08e9f0f656e48fe016a470b4a5b3892a108264e2fff52a9b036861fb9007da263e59c7fcf68867e789f65e20b29278fb8de445a0 SHA512 de28727ed6b39e89461b2d725139b88010def892f3fd23f822a6e84a585b3f93771fdc9ca8f402adc9bb196a0dde03b9d6417317c7e8141d83f0e6460860cd33
DIST pelican_minify-2.0.0.tar.gz 9566 BLAKE2B 2345f9b053a4b79fbeba9741b4eb64d5d490d455bc25f869e6479ceca951c64d88aa962ef28a04a39c480299882a6c5354c2b4b4c221e64f3281987dda20bd10 SHA512 bcf6cd497fc8c42d9a63b869f04a7bcec6a115ed52698ae9cac5e117d075b16dee904173a577f793f4e74367527d8841d9e6db69e4a2ba70bb79434e4a776c34
diff --git a/dev-python/pelican-minify/files/pelican-minify-2.0.0-hatchling.patch b/dev-python/pelican-minify/files/pelican-minify-2.0.0-hatchling.patch
new file mode 100644
index 000000000000..96de2470e68e
--- /dev/null
+++ b/dev-python/pelican-minify/files/pelican-minify-2.0.0-hatchling.patch
@@ -0,0 +1,24 @@
+From 222b4c97f75f5dc426419bc1ffa45f8015af2e64 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Fri, 15 Dec 2023 10:01:22 +0100
+Subject: [PATCH] Fix install with hatchling >= 1.19.0
+
+Explicitly specify the top-level package name in order to fix installing
+with hatchling >= 1.19.0. These new versions default to installing
+packages that match the project name only, and fail if one cannot
+be found.
+---
+ pyproject.toml | 3 +++
+ 1 file changed, 3 insertions(+)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index 98926f2..ef390de 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -110,3 +110,6 @@ known-first-party = ["pelican"]
+ [build-system]
+ requires = ["hatchling"]
+ build-backend = "hatchling.build"
++
++[tool.hatch.build.targets.wheel]
++packages = ["pelican"]
diff --git a/dev-python/pelican-minify/pelican-minify-0.9-r2.ebuild b/dev-python/pelican-minify/pelican-minify-0.9-r2.ebuild
deleted file mode 100644
index a42c3a32392e..000000000000
--- a/dev-python/pelican-minify/pelican-minify-0.9-r2.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYPI_NO_NORMALIZE=1
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="An HTML minification plugin for Pelican, the static site generator"
-HOMEPAGE="https://pypi.org/project/pelican-minify/"
-
-LICENSE="Unlicense"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/joblib-0.9[${PYTHON_USEDEP}]
- >=app-text/htmlmin-0.1.5[${PYTHON_USEDEP}]
- >=app-text/pelican-3.1.1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/pelican-minify/pelican-minify-2.0.0.ebuild b/dev-python/pelican-minify/pelican-minify-2.0.0.ebuild
index aa8e838e3ccd..04ecab5a8dcc 100644
--- a/dev-python/pelican-minify/pelican-minify-2.0.0.ebuild
+++ b/dev-python/pelican-minify/pelican-minify-2.0.0.ebuild
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
RDEPEND="
>=app-text/pelican-4.5[${PYTHON_USEDEP}]
@@ -24,3 +24,8 @@ RDEPEND="
"
distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/pelican-plugins/minify/pull/3
+ "${FILESDIR}/${P}-hatchling.patch"
+)
diff --git a/dev-python/pendulum/Manifest b/dev-python/pendulum/Manifest
deleted file mode 100644
index 18d42cf9abe1..000000000000
--- a/dev-python/pendulum/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pendulum-2.1.2.gh.tar.gz 159885 BLAKE2B c95cd131fc95a0d19ef11f180cc42126cb8a6ea3aaf4b3bbedbc5ce4c1b37a6624f2a1be92f1a6fd6b1f14f5d20fa5f32e8230f896ab7a216f02f00e85b98738 SHA512 c367320ade0d10b7eb9c880286176161b925d7df052f7de85ddd169594bbe778776ea74df451f00186df98be3e32b7399c68ca4b40123e2c456206410e3a1ab2
diff --git a/dev-python/pendulum/metadata.xml b/dev-python/pendulum/metadata.xml
deleted file mode 100644
index 732b97cab77a..000000000000
--- a/dev-python/pendulum/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>jsmolic@gentoo.org</email>
- <name>Jakov Smolić</name>
- </maintainer>
- <upstream>
- <remote-id type="github">sdispater/pendulum</remote-id>
- <remote-id type="pypi">pendulum</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pendulum/pendulum-2.1.2-r2.ebuild b/dev-python/pendulum/pendulum-2.1.2-r2.ebuild
deleted file mode 100644
index c3d9505127c0..000000000000
--- a/dev-python/pendulum/pendulum-2.1.2-r2.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Drop-in replacement for the standard datetime class"
-HOMEPAGE="
- https://pendulum.eustace.io/
- https://github.com/sdispater/pendulum/
- https://pypi.org/project/pendulum/
-"
-SRC_URI="
- https://github.com/sdispater/pendulum/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-DEPEND="
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/pytzdata[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- test? (
- dev-python/Babel[${PYTHON_USEDEP}]
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # sigh
- tests/datetime/test_behavior.py::test_proper_dst
- tests/tz/test_timezone.py::test_dst
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/pexpect/Manifest b/dev-python/pexpect/Manifest
index 8ea51df2cd4c..13443088b210 100644
--- a/dev-python/pexpect/Manifest
+++ b/dev-python/pexpect/Manifest
@@ -1,2 +1 @@
-DIST pexpect-4.8.0_p20230402.gh.tar.gz 169420 BLAKE2B 4780621f5876506c5ad2dbf03656d8c336d5aadef99b1ae99e841b5d0a945ab54177cb04a79b526e422cd4df7393c723000e4a28960bd5f57a5e0173b0a3bc69 SHA512 72cdf226ec5c7d60a10fbcecf81cd1ae422467652e104bb818908bf6d1a4a4bcadab9a06d58475a9609580d973956e18e2ab144ab13a0b700072474ff3087259
DIST pexpect-4.9.0.tar.gz 166450 BLAKE2B a08e10deb9f21e49a04021d78dc1ff6c9eeded5825ef73b236c3dac725e6877a4fe74deaa6844c8aa4b1beab4b915d7612e682529c4ed97b364a737a1960b30f SHA512 0e4b3a6978b94aee221ff23cd7bd771517e0e0f1a1a8b17f77f15bf78edd3130ad093d925b7d1e86fe6ba7eb956205d4c616b4e52b2fcfa1e944d4860dd7b3a0
diff --git a/dev-python/pexpect/pexpect-4.8.0_p20230402.ebuild b/dev-python/pexpect/pexpect-4.8.0_p20230402.ebuild
deleted file mode 100644
index 873535514786..000000000000
--- a/dev-python/pexpect/pexpect-4.8.0_p20230402.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-COMMIT="2532721644781543ca660e52d48a35bd93872fc1"
-
-DESCRIPTION="Python module for spawning child apps and responding to expected patterns"
-HOMEPAGE="
- https://pexpect.readthedocs.io/
- https://pypi.org/project/pexpect/
- https://github.com/pexpect/pexpect/
-"
-SRC_URI="
- https://github.com/pexpect/pexpect/archive/${COMMIT}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${PN}-${COMMIT}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
-IUSE="examples"
-
-RDEPEND="
- >=dev-python/ptyprocess-0.5[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc \
- dev-python/sphinxcontrib-github-alt
-
-src_test() {
- # workaround new readline defaults
- echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
- local -x INPUTRC="${T}"/inputrc
- distutils-r1_src_test
-}
-
-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/pexpect/pexpect-4.9.0.ebuild b/dev-python/pexpect/pexpect-4.9.0.ebuild
index ed1001b2380c..a12292320218 100644
--- a/dev-python/pexpect/pexpect-4.9.0.ebuild
+++ b/dev-python/pexpect/pexpect-4.9.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1 pypi
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
IUSE="examples"
RDEPEND="
@@ -33,13 +33,32 @@ src_test() {
# workaround new readline defaults
echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
local -x INPUTRC="${T}"/inputrc
+
+ distutils-r1_src_test
+}
+
+python_test() {
local EPYTEST_DESELECT=(
# flaky test on weaker arches
tests/test_performance.py
# requires zsh installed, not worth it
tests/test_replwrap.py::REPLWrapTestCase::test_zsh
+ # flaky
+ tests/test_env.py::TestCaseEnv::test_spawn_uses_env
)
- distutils-r1_src_test
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # TODO: changes in python3.13's prompt?
+ tests/test_replwrap.py::REPLWrapTestCase::test_python
+ tests/test_replwrap.py::REPLWrapTestCase::test_no_change_prompt
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
}
python_install_all() {
diff --git a/dev-python/pgspecial/Manifest b/dev-python/pgspecial/Manifest
index b4b50f5ac035..0831f7595432 100644
--- a/dev-python/pgspecial/Manifest
+++ b/dev-python/pgspecial/Manifest
@@ -1 +1 @@
-DIST pgspecial-2.1.1.tar.gz 51017 BLAKE2B 170db33ca1629244b2c8c2d23a5768528e474660dcaf73079c516d33624202cc05487a338b21ac5bab28780d127923bf24d86231e85cade2f82714add5bdd789 SHA512 4ab8596536b90837c2ed0a11b6bbfecd6e5dc487b073a58a1406e8e70028ebb7010430784963fe27a08a5cc48292785f6d02affb750f4a1b74cbe33a0e06a5f0
+DIST pgspecial-2.1.2.tar.gz 51057 BLAKE2B d164555363e421f716fd9a03653fa8ef6628fc15b71a03acb040c321a20d03e4193725ca3a809b3d4b8710e62005ba9637f35789795d7b4e195f653527617436 SHA512 3ef15c96b8ae84c2c346f44607360aad4bd0abe6f2dfec421af1ca176178b19c64d55baece118600038e105cacb4b5f9b9c3eebbd1e816a9e7a78877d2cb604c
diff --git a/dev-python/pgspecial/pgspecial-2.1.1.ebuild b/dev-python/pgspecial/pgspecial-2.1.1.ebuild
deleted file mode 100644
index f835abccdbc1..000000000000
--- a/dev-python/pgspecial/pgspecial-2.1.1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python implementation of PostgreSQL meta commands"
-HOMEPAGE="
- https://github.com/dbcli/pgspecial/
- https://pypi.org/project/pgspecial/
-"
-
-LICENSE="BSD MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- >=dev-python/click-4.1[${PYTHON_USEDEP}]
- >=dev-python/configobj-5.0.6[${PYTHON_USEDEP}]
- >=dev-python/psycopg-3.0.10:0[${PYTHON_USEDEP}]
- >=dev-python/sqlparse-0.1.19[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-db/postgresql-8.1[server]
- )
-"
-
-distutils_enable_tests pytest
-
-DOCS=( License.txt README.rst changelog.rst )
-
-EPYTEST_DESELECT=(
- # assumes a very specific locale
- tests/test_specials.py::test_slash_l
- tests/test_specials.py::test_slash_l_pattern
- # change in postgres? *shrug*
- tests/test_specials.py::test_slash_d_view_verbose
-)
-
-src_test() {
- local db=${T}/pgsql
-
- initdb --username=postgres -D "${db}" || die
- # TODO: random port
- pg_ctl -w -D "${db}" start \
- -o "-h '127.0.0.1' -p 5432 -k '${T}'" || die
- psql -h "${T}" -U postgres -d postgres \
- -c "ALTER ROLE postgres WITH PASSWORD 'postgres';" || die
- createdb -h "${T}" -U postgres _test_db || die
-
- distutils-r1_src_test
-
- pg_ctl -w -D "${db}" stop || die
-}
diff --git a/dev-python/pgspecial/pgspecial-2.1.2.ebuild b/dev-python/pgspecial/pgspecial-2.1.2.ebuild
new file mode 100644
index 000000000000..4fa8bed1bfce
--- /dev/null
+++ b/dev-python/pgspecial/pgspecial-2.1.2.ebuild
@@ -0,0 +1,60 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python implementation of PostgreSQL meta commands"
+HOMEPAGE="
+ https://github.com/dbcli/pgspecial/
+ https://pypi.org/project/pgspecial/
+"
+
+LICENSE="BSD MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ >=dev-python/click-4.1[${PYTHON_USEDEP}]
+ >=dev-python/configobj-5.0.6[${PYTHON_USEDEP}]
+ >=dev-python/psycopg-3.0.10:0[${PYTHON_USEDEP}]
+ >=dev-python/sqlparse-0.1.19[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-db/postgresql-8.1[server]
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( License.txt README.rst changelog.rst )
+
+EPYTEST_DESELECT=(
+ # assumes a very specific locale
+ tests/test_specials.py::test_slash_l
+ tests/test_specials.py::test_slash_l_pattern
+ # change in postgres? *shrug*
+ tests/test_specials.py::test_slash_d_view_verbose
+ tests/test_specials.py::test_slash_dn
+)
+
+src_test() {
+ local db=${T}/pgsql
+
+ initdb --username=postgres -D "${db}" || die
+ # TODO: random port
+ pg_ctl -w -D "${db}" start \
+ -o "-h '127.0.0.1' -p 5432 -k '${T}'" || die
+ psql -h "${T}" -U postgres -d postgres \
+ -c "ALTER ROLE postgres WITH PASSWORD 'postgres';" || die
+ createdb -h "${T}" -U postgres _test_db || die
+
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${db}" stop || die
+}
diff --git a/dev-python/pgzero/pgzero-1.2.1-r2.ebuild b/dev-python/pgzero/pgzero-1.2.1-r2.ebuild
index 814cb18b36a0..2df17939b3bd 100644
--- a/dev-python/pgzero/pgzero-1.2.1-r2.ebuild
+++ b/dev-python/pgzero/pgzero-1.2.1-r2.ebuild
@@ -1,18 +1,25 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..12} )
+PYTHON_COMPAT=( python3_{11..13} )
+
inherit distutils-r1
MY_PV="${PV/_p/.post}"
MY_P="${PN}-${MY_PV}"
-
DESCRIPTION="A zero-boilerplate games programming framework based on Pygame"
-HOMEPAGE="https://pygame-zero.readthedocs.io/"
-SRC_URI="https://github.com/lordmauve/${PN}/archive/${MY_PV}.tar.gz -> ${MY_P}.gh.tar.gz"
+HOMEPAGE="
+ https://pygame-zero.readthedocs.io/
+ https://github.com/lordmauve/pgzero/
+ https://pypi.org/project/pgzero/
+"
+SRC_URI="
+ https://github.com/lordmauve/pgzero/archive/${MY_PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
S="${WORKDIR}/${MY_P}"
LICENSE="LGPL-3"
diff --git a/dev-python/phonenumbers/Manifest b/dev-python/phonenumbers/Manifest
index 86632f9c22c5..a3431089b851 100644
--- a/dev-python/phonenumbers/Manifest
+++ b/dev-python/phonenumbers/Manifest
@@ -1 +1 @@
-DIST python-phonenumbers-8.13.26.gh.tar.gz 4916065 BLAKE2B 383c4be5593abaa332dc75e8db348f085e7a695af2bc89185faf176fcd77148060889d92244097cc8cafa8e08fe52e6e62be32a31721576c330531c8277d7af3 SHA512 37daea2458b95536c25f4026c1aea79d2ab34c73c957178edcdb63cac96d1d84b4ce92b4e239354090321c4980bb26170862602423d3db3edc3c68c9f659582e
+DIST python-phonenumbers-8.13.40.gh.tar.gz 4914854 BLAKE2B eab8e8e28a5895f9eb92ce9198a77a4d9bfd6f3d58f17c5a7909913ea43af2efd1dcff84c9d517c5f4f17ba87ce68786ab64f523b10ddf6aa3354801021843d3 SHA512 ef2199d86998201485d48cf4d5d56baa82476dbe41b2b4f89aebfcbf840af0ae35a78308a0f74b2daad58a2c330e10444c93ffb59a402d5fe5cc5baff78fdcb2
diff --git a/dev-python/phonenumbers/phonenumbers-8.13.26.ebuild b/dev-python/phonenumbers/phonenumbers-8.13.26.ebuild
deleted file mode 100644
index 42a278f3b1ec..000000000000
--- a/dev-python/phonenumbers/phonenumbers-8.13.26.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=python-${P}
-DESCRIPTION="Python port of Google's libphonenumber"
-HOMEPAGE="
- https://github.com/daviddrysdale/python-phonenumbers/
- https://pypi.org/project/phonenumbers/
-"
-SRC_URI="
- https://github.com/daviddrysdale/python-phonenumbers/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}/python
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~riscv x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- dev-python/protobuf-python[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( ../README.md )
-
-python_test() {
- "${EPYTHON}" testwrapper.py -v || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/phonenumbers/phonenumbers-8.13.40.ebuild b/dev-python/phonenumbers/phonenumbers-8.13.40.ebuild
new file mode 100644
index 000000000000..154cbd60212d
--- /dev/null
+++ b/dev-python/phonenumbers/phonenumbers-8.13.40.ebuild
@@ -0,0 +1,39 @@
+# 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
+
+MY_P=python-${P}
+DESCRIPTION="Python port of Google's libphonenumber"
+HOMEPAGE="
+ https://github.com/daviddrysdale/python-phonenumbers/
+ https://pypi.org/project/phonenumbers/
+"
+SRC_URI="
+ https://github.com/daviddrysdale/python-phonenumbers/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}/python
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/protobuf-python[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( ../README.md )
+
+python_test() {
+ "${EPYTHON}" testwrapper.py -v || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/phply/phply-1.2.6.ebuild b/dev-python/phply/phply-1.2.6.ebuild
index 13387549acf3..3bd8478bdc2f 100644
--- a/dev-python/phply/phply-1.2.6.ebuild
+++ b/dev-python/phply/phply-1.2.6.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pickleshare/pickleshare-0.7.5-r1.ebuild b/dev-python/pickleshare/pickleshare-0.7.5-r1.ebuild
index 8d765c0c3a68..415d61a2c774 100644
--- a/dev-python/pickleshare/pickleshare-0.7.5-r1.ebuild
+++ b/dev-python/pickleshare/pickleshare-0.7.5-r1.ebuild
@@ -1,8 +1,8 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
diff --git a/dev-python/picobox/Manifest b/dev-python/picobox/Manifest
index 3acbd4ef327c..29f8bd954e46 100644
--- a/dev-python/picobox/Manifest
+++ b/dev-python/picobox/Manifest
@@ -1,2 +1 @@
-DIST picobox-3.0.0.tar.gz 28599 BLAKE2B e29dd7b0b5b23175a21f8fe6efe83adc6edfb0302c7a27f92f518deeba8f74f8e2d481a8eef6a1363fa0fb02ffc00b462181bab09872f6da5c1c9063c4d274e6 SHA512 ac8cecba10527e7dc096eb66f3b6743b523c305bd9725d5be8ec2822857a65ef8e9cc0ddcb85b8c656c557e7dc6cf0903035753bf8fe8cc2616b463e0a82bb5d
DIST picobox-4.0.0.tar.gz 22666 BLAKE2B ea447ea63ce5b9e964e61b2a16f781dbb911dc8c763243a412cff7e63e4e6fec9b1cfe5b9ca3933140c6f0eaee8dd797de5690243e0e2a0dacea04b9466f2a02 SHA512 c9554048b1bcd504647f26c67dd17822ad3069f738bd9e71704a89b68478683e8bf641c3b08a86cdde95d56ba7073b14c41801ba70657cc3fec4b6ec6c312089
diff --git a/dev-python/picobox/picobox-3.0.0.ebuild b/dev-python/picobox/picobox-3.0.0.ebuild
deleted file mode 100644
index 9916c31899c9..000000000000
--- a/dev-python/picobox/picobox-3.0.0.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Dependency injection framework designed with Python in mind"
-HOMEPAGE="
- https://github.com/ikalnytskyi/picobox/
- https://pypi.org/project/picobox/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/flask[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/picobox/picobox-4.0.0.ebuild b/dev-python/picobox/picobox-4.0.0.ebuild
index d90325db0781..d9f37f8713d5 100644
--- a/dev-python/picobox/picobox-4.0.0.ebuild
+++ b/dev-python/picobox/picobox-4.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
BDEPEND="
dev-python/hatch-vcs[${PYTHON_USEDEP}]
diff --git a/dev-python/pid/pid-3.0.4-r1.ebuild b/dev-python/pid/pid-3.0.4-r1.ebuild
index e97c85879e6e..d39134f00c22 100644
--- a/dev-python/pid/pid-3.0.4-r1.ebuild
+++ b/dev-python/pid/pid-3.0.4-r1.ebuild
@@ -1,15 +1,18 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
DESCRIPTION="Pidfile featuring stale detection and file-locking"
-HOMEPAGE="https://pypi.org/project/pid/ https://github.com/trbs/pid/"
+HOMEPAGE="
+ https://github.com/trbs/pid/
+ https://pypi.org/project/pid/
+"
LICENSE="Apache-2.0"
SLOT="0"
diff --git a/dev-python/pikepdf/Manifest b/dev-python/pikepdf/Manifest
index 0b528391517a..e120c95fd541 100644
--- a/dev-python/pikepdf/Manifest
+++ b/dev-python/pikepdf/Manifest
@@ -1,8 +1,6 @@
+DIST pikepdf-8.11.2.tar.gz 2870263 BLAKE2B 6cf3666baca5d20b125efc3f6d8cfe7f96b9334b8a39da67fe3f4185f41232d8a18bf902f21bfe33e4259b7fb61e7dc462a247c76bf4564a3bdf0ea987119d91 SHA512 57bf5d16aaf9367eef9407f7f406a5ee74f2060d276ab861379c74c2193d02b2e3cca0925ee29813791bb36fae8dbbba4a9b16a7f4c2d19c67c21bbe7bb3f80f
+DIST pikepdf-8.14.0.tar.gz 2870612 BLAKE2B be0fd5a8d48fccc7695c45acc28cbda8252529d0687197c261e077e8c3a63e3597e504bf2aae2ab09648c0f127228d517bfa630ed77ea90bc28c8f3463854779 SHA512 f0e073df952cd850e0529fa798743a09f249a998450be1393b109b21850cf86b80c8813b55db778dc4e265df48af7619fccfac30ec9195c3ac724b8c7724e858
+DIST pikepdf-8.15.1.tar.gz 2870723 BLAKE2B 958bb2a417e2f1c9e5e4448b47cdadffb10e82841cc8173503881a86e92e85c05f800a8ad6936f32ee53e6f7a8cd62ee9e28e251de1f32a7cdce055139ec5fa3 SHA512 ae6b0b8bdf7e395943caf503f1d498861bd2719185e6382a522b8c0d4e38413a1b070e912367852bc5735d29b8453d05c57ff384ede825830722470445a534f6
DIST pikepdf-8.4.1.tar.gz 2853305 BLAKE2B 2298514159db17ba49b8e2fa2407d60de50273bea111ece704251d99193bdc4c8ed77f624237a49c3f4f129e3b14ac4ddd1006cf3024bcbf822bc5523e0fee35 SHA512 6989e8a3888f612e453ec1ea8425c0ca35ccfee19ae5e8c32df136ebc3fbb7728d9fe5beaacb4e392a20c9037a1009fc8f8d53d73634427fb0df9103626e34fa
-DIST pikepdf-8.5.1.tar.gz 2854559 BLAKE2B 70bca735461d0234cd43cc757a1e8137f9cc30715c409d0bc42c4c547d961e2416203212e91b35cc8a2ac464bb0150fcd685d47fe43d6c1664210918bbb11fc6 SHA512 7c5dc66378c6bb2aaeb9a9fba1c69172619ee516f285e36e5560beb8b10164c01392d06d546f69818af59ebbe7d8c5fa299237d78e622d2cd14ca7c6c1020992
-DIST pikepdf-8.5.2.tar.gz 2854729 BLAKE2B 276d96d21e0d5d58177776257286560771896424dd49145cf5daf32bd6344a0d18b22ca4a0ee806d1aabdef3310a751a091f9a6f4725199d04dab689ea678546 SHA512 7f107ed1535e876c1892d3ffdae57fca85c140ff2fdd981937600b310692248c53a3539dc8c1c1c5ce6e35349692d67c6c4e2f31a3a74ead246faaa212bd70d4
-DIST pikepdf-8.5.3.tar.gz 2854900 BLAKE2B 6dfd458b96b60cbd2cbd5491353c98710bec458b11f92b8e5abdad05a83567f98e0c21eeafd47650de0d6600f958417d92f62d76034db6663555fc76d8c4714b SHA512 dd7c6d131f1bf61c0cb285c06629c44a5e8436fa368832aacac7d5fcd8ab3b19b96d0d1005b02dd5084a1d9a4200f3fb27f66b60e9625f3cd9bfb32a649f497c
-DIST pikepdf-8.6.0.tar.gz 2855625 BLAKE2B f9f0867b72e531c54bd65e0ce74eeea3b5379b04c073863b1e690e989f9d05061635eadb10ca0bb6f79f64e3d16d619b7c1200a35dfbfc8808831960c889e474 SHA512 d272b7f8c334a7c803594a6d7ace2d53a971da0ec1e814d16f20564af5075dbff35e1e28e129dcc2168d1c9b83047a9ea1905b163b24d14179cbd2dc874f84d7
-DIST pikepdf-8.7.0.tar.gz 2860417 BLAKE2B bc11b2f1e2023cd25103e78522429cd50a6deae4e598653f6b9e35c82ac2069403c0fd8d17e56597c7189b207dd41dc8ecf23a940095625e19c453695e0290df SHA512 445c6cbd1b311ebfc96924cb5f381fe05ab549826029a796d7b744b93265880b27fe17e9f9cba212c5ed289a5fe6efa5e6457d0912f0ca13109c345d40e20ec7
-DIST pikepdf-8.7.1.tar.gz 2860480 BLAKE2B fa06667947d0166e8597e4fa757ffa96eb69ed3fe2dfd4a54e515678f55afd15a0e2dfcd571fabc933423f0696725d623b0fb9f95cb8ca8633a6581a7957c25d SHA512 3adc075244eb66e0aa4b18882c2ede598b26a40c56497628a8262f82c8ec72af25b4c97ded0771a8e0ec7bb1e7537ec4e172505fd30271a995491361bf17277f
-DIST pikepdf-8.8.0.tar.gz 2865070 BLAKE2B 78c26c577db858c27a1aa632c0e93a955eafc76f3e5928a5d4862408a71c02b66325e51728e81a5d6bd571655b2c96468592b3c591993e4cf6ecfa28fd997a89 SHA512 91bdf67a800c18559172c7a253859e6e5ef443b0f6e2d2f3af21042db2640f9d96a8fb5764e6ddd64ace248788e32b071ed624c95a6a0557ba19dc6fc33fdf76
+DIST pikepdf-9.0.0.tar.gz 2868331 BLAKE2B 6735938fd2c0e8bb6a5fb40896350a2caa2ee20f8982010574a4e682c8ff19d01bc6773d30f78e2d4a5d58496de9dfa8fe9584f1c954205ed4832753addbd373 SHA512 15248d523cebdfbfcd7a5f8b6144b7dc8371612bd77ba3847af1ce626b5d87780911346d3c61bfe7cef545a19f1863c1a4048b35ace56f2cb62dcb962272829d
+DIST pikepdf-9.1.0.tar.gz 2869103 BLAKE2B 39750e280caa2393b69a5c3c841afa9cbb0d5701a20ae9ca4e9a57088cae47e2dd33ca8b605b0b096df131b578a4cdc71eb8696d12b2817426b35a8b13668460 SHA512 0fbf1ca151b6a234cd23a5148c9e8e4e033c5da5c935b4786fe6167555da7016c55b124dd2f9e8dc414c9782829f38412227820229a8459cc9dbe03220620fae
diff --git a/dev-python/pikepdf/files/pikepdf-9.0.0-py313.patch b/dev-python/pikepdf/files/pikepdf-9.0.0-py313.patch
new file mode 100644
index 000000000000..d0415daec69c
--- /dev/null
+++ b/dev-python/pikepdf/files/pikepdf-9.0.0-py313.patch
@@ -0,0 +1,26 @@
+From 6831e87bb94322b7ca53964a57ba575861b5916c Mon Sep 17 00:00:00 2001
+From: Elliott Sales de Andrade <quantum.analyst@gmail.com>
+Date: Wed, 19 Jun 2024 18:35:06 -0400
+Subject: [PATCH] Fix tests with Python 3.13
+
+The exception message changed to:
+```
+property '' of 'Page' object has no deleter
+```
+---
+ tests/test_page.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/test_page.py b/tests/test_page.py
+index 3e5cc345..05455a93 100644
+--- a/tests/test_page.py
++++ b/tests/test_page.py
+@@ -293,7 +293,7 @@ def test_page_attrs(graph):
+
+ del graph.pages[0].Resources
+ with pytest.raises(
+- AttributeError, match=r"can't delete|property of 'Page' object has no deleter"
++ AttributeError, match=r"can't delete|property( '')? of 'Page' object has no deleter"
+ ):
+ del graph.pages[0].obj
+ del graph.pages[0]['/Contents']
diff --git a/dev-python/pikepdf/pikepdf-8.11.2-r1.ebuild b/dev-python/pikepdf/pikepdf-8.11.2-r1.ebuild
new file mode 100644
index 000000000000..bbd2842097b5
--- /dev/null
+++ b/dev-python/pikepdf/pikepdf-8.11.2-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library to work with pdf files based on qpdf"
+HOMEPAGE="
+ https://github.com/pikepdf/pikepdf/
+ https://pypi.org/project/pikepdf/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86"
+
+# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
+# https://qpdf.readthedocs.io/en/stable/release-notes.html.
+DEPEND="
+ >=app-text/qpdf-11.7.0:0=
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/deprecated[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
+ >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ media-libs/tiff[zlib]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # fragile to system load
+ tests/test_image_access.py::test_random_image
+)
+
+src_prepare() {
+ sed -e '/-n auto/d' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p timeout
+}
diff --git a/dev-python/pikepdf/pikepdf-8.14.0-r1.ebuild b/dev-python/pikepdf/pikepdf-8.14.0-r1.ebuild
new file mode 100644
index 000000000000..342767bd45fb
--- /dev/null
+++ b/dev-python/pikepdf/pikepdf-8.14.0-r1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library to work with pdf files based on qpdf"
+HOMEPAGE="
+ https://github.com/pikepdf/pikepdf/
+ https://pypi.org/project/pikepdf/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86"
+
+# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
+# https://qpdf.readthedocs.io/en/stable/release-notes.html.
+DEPEND="
+ >=app-text/qpdf-11.5.0:0=
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/deprecated[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
+ >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ media-libs/tiff[zlib]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # fragile to system load
+ tests/test_image_access.py::test_random_image
+)
+
+src_prepare() {
+ sed -e '/-n auto/d' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p timeout
+}
diff --git a/dev-python/pikepdf/pikepdf-8.15.1-r1.ebuild b/dev-python/pikepdf/pikepdf-8.15.1-r1.ebuild
new file mode 100644
index 000000000000..c889e6cca1d6
--- /dev/null
+++ b/dev-python/pikepdf/pikepdf-8.15.1-r1.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library to work with pdf files based on qpdf"
+HOMEPAGE="
+ https://github.com/pikepdf/pikepdf/
+ https://pypi.org/project/pikepdf/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="big-endian"
+
+# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
+# https://qpdf.readthedocs.io/en/stable/release-notes.html.
+DEPEND="
+ >=app-text/qpdf-11.5.0:0=
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/deprecated[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
+ >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ !big-endian? (
+ >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
+ )
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ media-libs/tiff[zlib]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # fragile to system load
+ tests/test_image_access.py::test_random_image
+)
+
+src_prepare() {
+ sed -e '/-n auto/d' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p timeout
+}
diff --git a/dev-python/pikepdf/pikepdf-8.4.1-r1.ebuild b/dev-python/pikepdf/pikepdf-8.4.1-r1.ebuild
new file mode 100644
index 000000000000..96db3b598947
--- /dev/null
+++ b/dev-python/pikepdf/pikepdf-8.4.1-r1.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library to work with pdf files based on qpdf"
+HOMEPAGE="
+ https://github.com/pikepdf/pikepdf/
+ https://pypi.org/project/pikepdf/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
+# https://qpdf.readthedocs.io/en/stable/release-notes.html.
+DEPEND="
+ >=app-text/qpdf-11.5.0:0=
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/deprecation[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pillow-9.0[lcms,${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
+ >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.{8..10})
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # fragile to system load
+ tests/test_image_access.py::test_random_image
+)
+
+src_prepare() {
+ sed -e '/-n auto/d' -i pyproject.toml || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/pikepdf/pikepdf-8.4.1.ebuild b/dev-python/pikepdf/pikepdf-8.4.1.ebuild
deleted file mode 100644
index 9e06b6ae82ab..000000000000
--- a/dev-python/pikepdf/pikepdf-8.4.1.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.5.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecation[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-9.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{8..10})
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
-)
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pikepdf/pikepdf-8.5.1.ebuild b/dev-python/pikepdf/pikepdf-8.5.1.ebuild
deleted file mode 100644
index 7f5268d969a6..000000000000
--- a/dev-python/pikepdf/pikepdf-8.5.1.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.5.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecation[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-10.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{8..10})
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
-)
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pikepdf/pikepdf-8.5.2.ebuild b/dev-python/pikepdf/pikepdf-8.5.2.ebuild
deleted file mode 100644
index ebd3628c4865..000000000000
--- a/dev-python/pikepdf/pikepdf-8.5.2.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.5.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecation[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-10.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
-)
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pikepdf/pikepdf-8.5.3.ebuild b/dev-python/pikepdf/pikepdf-8.5.3.ebuild
deleted file mode 100644
index ebd3628c4865..000000000000
--- a/dev-python/pikepdf/pikepdf-8.5.3.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.5.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecation[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-10.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
-)
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pikepdf/pikepdf-8.6.0.ebuild b/dev-python/pikepdf/pikepdf-8.6.0.ebuild
deleted file mode 100644
index 92c89d741a4e..000000000000
--- a/dev-python/pikepdf/pikepdf-8.6.0.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.5.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecation[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-10.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
-)
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pikepdf/pikepdf-8.7.0.ebuild b/dev-python/pikepdf/pikepdf-8.7.0.ebuild
deleted file mode 100644
index 3d641f21ec2c..000000000000
--- a/dev-python/pikepdf/pikepdf-8.7.0.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.5.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecated[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-10.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
-)
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pikepdf/pikepdf-8.7.1.ebuild b/dev-python/pikepdf/pikepdf-8.7.1.ebuild
deleted file mode 100644
index b4d15733e1cf..000000000000
--- a/dev-python/pikepdf/pikepdf-8.7.1.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~sparc x86"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.5.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecated[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-10.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
-)
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pikepdf/pikepdf-8.8.0.ebuild b/dev-python/pikepdf/pikepdf-8.8.0.ebuild
deleted file mode 100644
index 85cdf389a5cb..000000000000
--- a/dev-python/pikepdf/pikepdf-8.8.0.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to work with pdf files based on qpdf"
-HOMEPAGE="
- https://github.com/pikepdf/pikepdf/
- https://pypi.org/project/pikepdf/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
-# https://qpdf.readthedocs.io/en/stable/release-notes.html.
-DEPEND="
- >=app-text/qpdf-11.5.0:0=
-"
-RDEPEND="
- ${DEPEND}
- dev-python/deprecated[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pillow-10.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
- test? (
- >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
- >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
- >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fragile to system load
- tests/test_image_access.py::test_random_image
-)
-
-src_prepare() {
- sed -e '/-n auto/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pikepdf/pikepdf-9.0.0.ebuild b/dev-python/pikepdf/pikepdf-9.0.0.ebuild
new file mode 100644
index 000000000000..0ffb2c3ac36f
--- /dev/null
+++ b/dev-python/pikepdf/pikepdf-9.0.0.ebuild
@@ -0,0 +1,79 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library to work with pdf files based on qpdf"
+HOMEPAGE="
+ https://github.com/pikepdf/pikepdf/
+ https://pypi.org/project/pikepdf/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="big-endian"
+
+# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
+# https://qpdf.readthedocs.io/en/stable/release-notes.html.
+DEPEND="
+ >=app-text/qpdf-11.5.0:0=
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/deprecated[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
+ >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ !big-endian? (
+ >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
+ )
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ media-libs/tiff[zlib]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # fragile to system load
+ tests/test_image_access.py::test_random_image
+ tests/test_image_access.py::test_image_save_compare
+ tests/test_image_access.py::test_palette_nonrgb
+)
+
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/pikepdf/pikepdf/commit/6831e87bb94322b7ca53964a57ba575861b5916c
+ "${FILESDIR}/${P}-py313.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ sed -e '/-n auto/d' -i pyproject.toml || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p timeout
+}
diff --git a/dev-python/pikepdf/pikepdf-9.1.0.ebuild b/dev-python/pikepdf/pikepdf-9.1.0.ebuild
new file mode 100644
index 000000000000..83a7ea2c9370
--- /dev/null
+++ b/dev-python/pikepdf/pikepdf-9.1.0.ebuild
@@ -0,0 +1,74 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library to work with pdf files based on qpdf"
+HOMEPAGE="
+ https://github.com/pikepdf/pikepdf/
+ https://pypi.org/project/pikepdf/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="big-endian"
+
+# Check QPDF_MIN_VERSION in pyproject.toml on bumps, as well as
+# https://qpdf.readthedocs.io/en/stable/release-notes.html.
+DEPEND="
+ >=app-text/qpdf-11.5.0:0=
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/deprecated[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pillow-10.0.1[lcms,${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pybind11-2.10.1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/attrs-20.2.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.36[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.21.0[${PYTHON_USEDEP}]
+ >=dev-python/pillow-5.0.0[${PYTHON_USEDEP},jpeg,lcms,tiff]
+ >=dev-python/psutil-5.9[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ !big-endian? (
+ >=dev-python/python-xmp-toolkit-2.0.1[${PYTHON_USEDEP}]
+ )
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ media-libs/tiff[zlib]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ sed -e '/-n auto/d' -i pyproject.toml || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # fragile to system load
+ tests/test_image_access.py::test_random_image
+ tests/test_image_access.py::test_image_save_compare
+ tests/test_image_access.py::test_palette_nonrgb
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p timeout
+}
diff --git a/dev-python/pillow/Manifest b/dev-python/pillow/Manifest
index d754b914ecd6..ce7eeb59efe7 100644
--- a/dev-python/pillow/Manifest
+++ b/dev-python/pillow/Manifest
@@ -1,2 +1,3 @@
-DIST pillow-10.0.1.gh.tar.gz 50539264 BLAKE2B 83c3bf4abc9c3eab210576dc28d6f8926ce0998ec344e792433afc05190bb248a926902ce7706e3569cd6cbf8deb640cafda86f102166cf6492ec00b66f9392f SHA512 27e2f0d86563c3b7f5a2e0ba2bbe98fc2cb2fa5871d0b6cbb5a0014e9d9eb03dde9969301419d806d1a22cd4881e624465a355ba9bc42b95746226e1f95712a9
-DIST pillow-10.1.0.gh.tar.gz 50798274 BLAKE2B a69be8187e7206b50350af399b73b5c43b29c249a4a5a6bb23438dae9967bb84f1d487f52b188811cb3d2e550245f8d5a765668d8d5de1375a84fcd96fc531d9 SHA512 01c97b68d4167d10539a2d29fb82676fb417ee5003f0acd9f602ed13d41b200579497cc0ef0949b2c1549b684f76f2d43895a52abdb1367345d2affd544c5b5a
+DIST pillow-10.2.0.gh.tar.gz 46244216 BLAKE2B 27bb076f0adade34295e6dfec5c5a1499471036e4f5358f0b3985c064a0ae962be9e91985851b369a49162ef520a84bb20eb1a5acb074fe94d861f042e4ada92 SHA512 d77ebedfb89d541db2fcba4fc354e097b9917594170bad07c67e22de123c9e0bbc9c55a938fc152bbdcca3ce23de6fa374a6d3d3bdbd44f16dbc2616c1bddf60
+DIST pillow-10.3.0.gh.tar.gz 46636534 BLAKE2B 523486a3adc8905dbe0691e7092654e7884c34703f351e228a49b1cb6e9cffdf504b842aa0c83b18afb8f0dbe1265274044003aba540d6427ec3cd46ddda1498 SHA512 11095f435ba30ac364575271de4c94d498b6fc1d67730b8212fae6f187902129018ca950aa878843f4d1b29e25aab1be245ed313fd3bc110ccf9ce3ae266d840
+DIST pillow-10.4.0.gh.tar.gz 46617167 BLAKE2B 3eb7852ab087d18e5b9a03d6cbf83ead96b637a71d4209a4574d66c9d098936d240c0be3235d9e951ec094b9b0def196b265a8e68f59802f843171c74ca7bbac SHA512 835a8766c384ec3fcf67b42c9bbad35dad0848cc5bd9eba1b0768a864e174a1d9c4a5e989f22496a40f2c29dd7f492f6f80465903fe872b10749cfa0340e1bc5
diff --git a/dev-python/pillow/files/pillow-10.2.0-cross.patch b/dev-python/pillow/files/pillow-10.2.0-cross.patch
new file mode 100644
index 000000000000..864a9b1218d1
--- /dev/null
+++ b/dev-python/pillow/files/pillow-10.2.0-cross.patch
@@ -0,0 +1,62 @@
+From 774d7a570d9f76903de3c3267512b8a7d252c21e Mon Sep 17 00:00:00 2001
+From: James Le Cuirot <chewi@gentoo.org>
+Date: Fri, 22 Dec 2023 22:38:27 +0000
+Subject: [PATCH] Fix cross-compiling by searching the right lib and include
+ directories
+
+We were previously searching the `{sys.prefix}/lib` and
+`{sys.prefix}/include` directories unconditionally. This is problematic
+when cross-compiling, as it does not take account of any sysroot where
+alternative libraries and headers are located. Adding `-I/usr/include`
+causes the build to explode, at least when cross-compiling from 64-bit
+to 32-bit.
+
+Python does not officially support cross-compiling, but Gentoo achieves
+this by modifying the sysconfig variables like `LIBDIR` and `INCLUDEDIR`
+with great results.
+
+Assuming "lib" is bad. 64-bit Linux systems often use lib64, putting
+32-bit libraries under lib. You cannot assume that either though, as
+pure 64-bit Linux systems may just use lib instead. Things get even
+stranger on RISC-V.
+
+The value of `sys.prefix` changes when using a virtualenv. Dependencies
+may be installed here, so it does make sense to continue supporting this
+case, even if it is incompatible with cross-compiling. Unlike regular
+environments, "lib" is generally used for libraries, although a lib64
+symlink may also be present.
+---
+ setup.py | 13 +++++++++++--
+ 1 file changed, 11 insertions(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 1bf0bcff558..07163d001fc 100755
+--- a/setup.py
++++ b/setup.py
+@@ -15,6 +15,7 @@
+ import struct
+ import subprocess
+ import sys
++import sysconfig
+ import warnings
+
+ from setuptools import Extension, setup
+@@ -504,8 +505,16 @@ def build_extensions(self):
+ for d in os.environ[k].split(os.path.pathsep):
+ _add_directory(library_dirs, d)
+
+- _add_directory(library_dirs, os.path.join(sys.prefix, "lib"))
+- _add_directory(include_dirs, os.path.join(sys.prefix, "include"))
++ _add_directory(
++ library_dirs,
++ (sys.prefix == sys.base_prefix and sysconfig.get_config_var("LIBDIR"))
++ or os.path.join(sys.prefix, "lib"),
++ )
++ _add_directory(
++ include_dirs,
++ (sys.prefix == sys.base_prefix and sysconfig.get_config_var("INCLUDEDIR"))
++ or os.path.join(sys.prefix, "include"),
++ )
+
+ #
+ # add platform directories
diff --git a/dev-python/pillow/files/pillow-10.3.0-py313.patch b/dev-python/pillow/files/pillow-10.3.0-py313.patch
new file mode 100644
index 000000000000..1574d6be3cef
--- /dev/null
+++ b/dev-python/pillow/files/pillow-10.3.0-py313.patch
@@ -0,0 +1,23 @@
+From 57399ce204d79c74c80612c622bb788e20d786e8 Mon Sep 17 00:00:00 2001
+From: Andrew Murray <radarhere@users.noreply.github.com>
+Date: Fri, 10 May 2024 22:43:56 +1000
+Subject: [PATCH] Parse _version contents instead of using exec()
+
+---
+ setup.py | 3 +--
+ 1 file changed, 1 insertion(+), 2 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 7d8e1c1ee21..abdd87ea252 100644
+--- a/setup.py
++++ b/setup.py
+@@ -23,8 +23,7 @@
+ def get_version():
+ version_file = "src/PIL/_version.py"
+ with open(version_file, encoding="utf-8") as f:
+- exec(compile(f.read(), version_file, "exec"))
+- return locals()["__version__"]
++ return f.read().split('"')[1]
+
+
+ configuration = {}
diff --git a/dev-python/pillow/metadata.xml b/dev-python/pillow/metadata.xml
index 2f366954d43d..f29ae70ed9b4 100644
--- a/dev-python/pillow/metadata.xml
+++ b/dev-python/pillow/metadata.xml
@@ -9,7 +9,7 @@
<flag name="imagequant">Build with Image Quantization Library support</flag>
</use>
<upstream>
- <remote-id type="pypi">Pillow</remote-id>
+ <remote-id type="pypi">pillow</remote-id>
<remote-id type="github">python-pillow/Pillow</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pillow/pillow-10.0.1.ebuild b/dev-python/pillow/pillow-10.0.1.ebuild
deleted file mode 100644
index 1e25a3391179..000000000000
--- a/dev-python/pillow/pillow-10.0.1.ebuild
+++ /dev/null
@@ -1,134 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-# setuptools wrapper
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 toolchain-funcs virtualx
-
-MY_PN=Pillow
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Python Imaging Library (fork)"
-HOMEPAGE="
- https://python-pillow.org/
- https://github.com/python-pillow/
- https://pypi.org/project/Pillow/
-"
-SRC_URI="
- https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="HPND"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
-REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- imagequant? ( media-gfx/libimagequant:= )
- jpeg? ( media-libs/libjpeg-turbo:= )
- jpeg2k? ( media-libs/openjpeg:2= )
- lcms? ( media-libs/lcms:2= )
- tiff? ( media-libs/tiff:=[jpeg,zlib] )
- truetype? ( media-libs/freetype:2= )
- webp? ( media-libs/libwebp:= )
- xcb? ( x11-libs/libxcb )
- zlib? ( sys-libs/zlib:= )
-"
-RDEPEND="
- ${DEPEND}
- dev-python/olefile[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- virtual/pkgconfig
- test? (
- ${RDEPEND}
- dev-python/defusedxml[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- || (
- media-gfx/imagemagick[png]
- media-gfx/graphicsmagick[png]
- )
- )
-"
-
-EPYTEST_DESELECT=(
- # TODO; incompatible Qt version?
- Tests/test_qt_image_qapplication.py::test_sanity
-)
-
-usepil() {
- usex "${1}" enable disable
-}
-
-python_configure_all() {
- # It's important that these flags are also passed during the install phase
- # as well. Make sure of that if you change the lines below. See bug 661308.
- cat >> setup.cfg <<-EOF || die
- [build_ext]
- disable_platform_guessing = True
- $(usepil truetype)_freetype = True
- $(usepil jpeg)_jpeg = True
- $(usepil jpeg2k)_jpeg2000 = True
- $(usepil lcms)_lcms = True
- $(usepil tiff)_tiff = True
- $(usepil imagequant)_imagequant = True
- $(usepil webp)_webp = True
- $(usepil webp)_webpmux = True
- $(usepil xcb)_xcb = True
- $(usepil zlib)_zlib = True
- EOF
-
- # setup.py won't let us add the right toolchain paths but it does
- # accept additional ones from INCLUDE and LIB so set these. You
- # wouldn't normally need these at all as the toolchain should look
- # here anyway but it doesn't for this setup.py.
- export \
- INCLUDE="${ESYSROOT}"/usr/include \
- LIB="${ESYSROOT}"/usr/$(get_libdir)
-
- # We have patched in this env var.
- tc-export PKG_CONFIG
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO (is clipboard unreliable in Xvfb?)
- Tests/test_imagegrab.py::TestImageGrab::test_grabclipboard
- )
-
- "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
- # no:relaxed: pytest-relaxed plugin make our tests fail. deactivate if installed
- epytest -p no:relaxed || die "Tests failed with ${EPYTHON}"
-}
-
-python_install() {
- python_doheader src/libImaging/*.h
- distutils-r1_python_install
-}
-
-python_install_all() {
- if use examples ; then
- docinto example
- dodoc docs/example/*
- docompress -x /usr/share/doc/${PF}/example
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pillow/pillow-10.1.0.ebuild b/dev-python/pillow/pillow-10.1.0.ebuild
deleted file mode 100644
index 1e25a3391179..000000000000
--- a/dev-python/pillow/pillow-10.1.0.ebuild
+++ /dev/null
@@ -1,134 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-# setuptools wrapper
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE='tk?,threads(+)'
-
-inherit distutils-r1 toolchain-funcs virtualx
-
-MY_PN=Pillow
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Python Imaging Library (fork)"
-HOMEPAGE="
- https://python-pillow.org/
- https://github.com/python-pillow/
- https://pypi.org/project/Pillow/
-"
-SRC_URI="
- https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="HPND"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
-REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- imagequant? ( media-gfx/libimagequant:= )
- jpeg? ( media-libs/libjpeg-turbo:= )
- jpeg2k? ( media-libs/openjpeg:2= )
- lcms? ( media-libs/lcms:2= )
- tiff? ( media-libs/tiff:=[jpeg,zlib] )
- truetype? ( media-libs/freetype:2= )
- webp? ( media-libs/libwebp:= )
- xcb? ( x11-libs/libxcb )
- zlib? ( sys-libs/zlib:= )
-"
-RDEPEND="
- ${DEPEND}
- dev-python/olefile[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- virtual/pkgconfig
- test? (
- ${RDEPEND}
- dev-python/defusedxml[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- || (
- media-gfx/imagemagick[png]
- media-gfx/graphicsmagick[png]
- )
- )
-"
-
-EPYTEST_DESELECT=(
- # TODO; incompatible Qt version?
- Tests/test_qt_image_qapplication.py::test_sanity
-)
-
-usepil() {
- usex "${1}" enable disable
-}
-
-python_configure_all() {
- # It's important that these flags are also passed during the install phase
- # as well. Make sure of that if you change the lines below. See bug 661308.
- cat >> setup.cfg <<-EOF || die
- [build_ext]
- disable_platform_guessing = True
- $(usepil truetype)_freetype = True
- $(usepil jpeg)_jpeg = True
- $(usepil jpeg2k)_jpeg2000 = True
- $(usepil lcms)_lcms = True
- $(usepil tiff)_tiff = True
- $(usepil imagequant)_imagequant = True
- $(usepil webp)_webp = True
- $(usepil webp)_webpmux = True
- $(usepil xcb)_xcb = True
- $(usepil zlib)_zlib = True
- EOF
-
- # setup.py won't let us add the right toolchain paths but it does
- # accept additional ones from INCLUDE and LIB so set these. You
- # wouldn't normally need these at all as the toolchain should look
- # here anyway but it doesn't for this setup.py.
- export \
- INCLUDE="${ESYSROOT}"/usr/include \
- LIB="${ESYSROOT}"/usr/$(get_libdir)
-
- # We have patched in this env var.
- tc-export PKG_CONFIG
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO (is clipboard unreliable in Xvfb?)
- Tests/test_imagegrab.py::TestImageGrab::test_grabclipboard
- )
-
- "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
- # no:relaxed: pytest-relaxed plugin make our tests fail. deactivate if installed
- epytest -p no:relaxed || die "Tests failed with ${EPYTHON}"
-}
-
-python_install() {
- python_doheader src/libImaging/*.h
- distutils-r1_python_install
-}
-
-python_install_all() {
- if use examples ; then
- docinto example
- dodoc docs/example/*
- docompress -x /usr/share/doc/${PF}/example
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pillow/pillow-10.2.0-r1.ebuild b/dev-python/pillow/pillow-10.2.0-r1.ebuild
new file mode 100644
index 000000000000..7c2640a4b324
--- /dev/null
+++ b/dev-python/pillow/pillow-10.2.0-r1.ebuild
@@ -0,0 +1,131 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+# setuptools wrapper
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 toolchain-funcs virtualx
+
+MY_PN=Pillow
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python Imaging Library (fork)"
+HOMEPAGE="
+ https://python-pillow.org/
+ https://github.com/python-pillow/Pillow/
+ https://pypi.org/project/pillow/
+"
+SRC_URI="
+ https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
+REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ imagequant? ( media-gfx/libimagequant:= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ lcms? ( media-libs/lcms:2= )
+ tiff? ( media-libs/tiff:=[jpeg,zlib] )
+ truetype? ( media-libs/freetype:2= )
+ webp? ( media-libs/libwebp:= )
+ xcb? ( x11-libs/libxcb )
+ zlib? ( sys-libs/zlib:= )
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/olefile[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ test? (
+ ${RDEPEND}
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ || (
+ media-gfx/imagemagick[png]
+ media-gfx/graphicsmagick[png]
+ )
+ )
+"
+
+EPYTEST_DESELECT=(
+ # TODO; incompatible Qt version?
+ Tests/test_qt_image_qapplication.py::test_sanity
+)
+
+PATCHES=(
+ # https://github.com/python-pillow/pillow/pull/7634
+ "${FILESDIR}/${P}-cross.patch"
+)
+
+usepil() {
+ usex "${1}" enable disable
+}
+
+python_configure_all() {
+ # It's important that these flags are also passed during the install phase
+ # as well. Make sure of that if you change the lines below. See bug 661308.
+ cat >> setup.cfg <<-EOF || die
+ [build_ext]
+ disable_platform_guessing = True
+ $(usepil truetype)_freetype = True
+ $(usepil jpeg)_jpeg = True
+ $(usepil jpeg2k)_jpeg2000 = True
+ $(usepil lcms)_lcms = True
+ $(usepil tiff)_tiff = True
+ $(usepil imagequant)_imagequant = True
+ $(usepil webp)_webp = True
+ $(usepil webp)_webpmux = True
+ $(usepil xcb)_xcb = True
+ $(usepil zlib)_zlib = True
+ EOF
+
+ # We have patched in this env var.
+ tc-export PKG_CONFIG
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO (is clipboard unreliable in Xvfb?)
+ Tests/test_imagegrab.py::TestImageGrab::test_grabclipboard
+ )
+
+ "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
+ # no:relaxed: pytest-relaxed plugin make our tests fail. deactivate if installed
+ epytest -p no:relaxed || die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ python_doheader src/libImaging/*.h
+ distutils-r1_python_install
+}
+
+python_install_all() {
+ if use examples ; then
+ docinto example
+ dodoc docs/example/*
+ docompress -x /usr/share/doc/${PF}/example
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pillow/pillow-10.3.0.ebuild b/dev-python/pillow/pillow-10.3.0.ebuild
new file mode 100644
index 000000000000..d97803483ddb
--- /dev/null
+++ b/dev-python/pillow/pillow-10.3.0.ebuild
@@ -0,0 +1,139 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+# setuptools wrapper
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 toolchain-funcs virtualx
+
+MY_PN=Pillow
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python Imaging Library (fork)"
+HOMEPAGE="
+ https://python-pillow.org/
+ https://github.com/python-pillow/Pillow/
+ https://pypi.org/project/pillow/
+"
+SRC_URI="
+ https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
+REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ imagequant? ( media-gfx/libimagequant:= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ lcms? ( media-libs/lcms:2= )
+ tiff? ( media-libs/tiff:=[jpeg,zlib] )
+ truetype? ( media-libs/freetype:2= )
+ webp? ( media-libs/libwebp:= )
+ xcb? ( x11-libs/libxcb )
+ zlib? ( sys-libs/zlib:= )
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/olefile[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ || (
+ media-gfx/imagemagick[png]
+ media-gfx/graphicsmagick[png]
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/python-pillow/pillow/pull/7634
+ "${FILESDIR}/${PN}-10.2.0-cross.patch"
+ # https://github.com/python-pillow/Pillow/pull/8050
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+usepil() {
+ usex "${1}" enable disable
+}
+
+python_configure_all() {
+ cat >> setup.cfg <<-EOF || die
+ [build_ext]
+ debug = True
+ disable_platform_guessing = True
+ $(usepil truetype)_freetype = True
+ $(usepil jpeg)_jpeg = True
+ $(usepil jpeg2k)_jpeg2000 = True
+ $(usepil lcms)_lcms = True
+ $(usepil tiff)_tiff = True
+ $(usepil imagequant)_imagequant = True
+ $(usepil webp)_webp = True
+ $(usepil webp)_webpmux = True
+ $(usepil xcb)_xcb = True
+ $(usepil zlib)_zlib = True
+ EOF
+ if use truetype; then
+ # these dependencies are implicitly disabled by USE=-truetype
+ # and we can't pass both disable_* and vendor_*
+ # https://bugs.gentoo.org/935124
+ cat >> setup.cfg <<-EOF || die
+ vendor_raqm = False
+ vendor_fribidi = False
+ EOF
+ fi
+
+ tc-export PKG_CONFIG
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO (is clipboard unreliable in Xvfb?)
+ Tests/test_imagegrab.py::TestImageGrab::test_grabclipboard
+ # requires xz-utils[extra-filters]?
+ Tests/test_file_libtiff.py::TestFileLibTiff::test_lzma
+ )
+
+ "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # leak tests are fragile and broken under xdist
+ epytest -k "not leak" -p timeout || die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ python_doheader src/libImaging/*.h
+ distutils-r1_python_install
+}
+
+python_install_all() {
+ if use examples ; then
+ docinto example
+ dodoc docs/example/*
+ docompress -x /usr/share/doc/${PF}/example
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pillow/pillow-10.4.0.ebuild b/dev-python/pillow/pillow-10.4.0.ebuild
new file mode 100644
index 000000000000..f775161172b0
--- /dev/null
+++ b/dev-python/pillow/pillow-10.4.0.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+# setuptools wrapper
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE='tk?,threads(+)'
+
+inherit distutils-r1 toolchain-funcs virtualx
+
+MY_PN=Pillow
+MY_P=${MY_PN}-${PV}
+
+DESCRIPTION="Python Imaging Library (fork)"
+HOMEPAGE="
+ https://python-pillow.org/
+ https://github.com/python-pillow/Pillow/
+ https://pypi.org/project/pillow/
+"
+SRC_URI="
+ https://github.com/python-pillow/Pillow/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="HPND"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="examples imagequant +jpeg jpeg2k lcms test tiff tk truetype webp xcb zlib"
+REQUIRED_USE="test? ( jpeg jpeg2k lcms tiff truetype )"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ imagequant? ( media-gfx/libimagequant:= )
+ jpeg? ( media-libs/libjpeg-turbo:= )
+ jpeg2k? ( media-libs/openjpeg:2= )
+ lcms? ( media-libs/lcms:2= )
+ tiff? ( media-libs/tiff:=[jpeg,zlib] )
+ truetype? ( media-libs/freetype:2= )
+ webp? ( media-libs/libwebp:= )
+ xcb? ( x11-libs/libxcb )
+ zlib? ( sys-libs/zlib:= )
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/olefile[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ || (
+ media-gfx/imagemagick[png]
+ media-gfx/graphicsmagick[png]
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/python-pillow/pillow/pull/7634
+ "${FILESDIR}/${PN}-10.2.0-cross.patch"
+)
+
+usepil() {
+ usex "${1}" enable disable
+}
+
+python_configure_all() {
+ cat >> setup.cfg <<-EOF || die
+ [build_ext]
+ debug = True
+ disable_platform_guessing = True
+ $(usepil truetype)_freetype = True
+ $(usepil jpeg)_jpeg = True
+ $(usepil jpeg2k)_jpeg2000 = True
+ $(usepil lcms)_lcms = True
+ $(usepil tiff)_tiff = True
+ $(usepil imagequant)_imagequant = True
+ $(usepil webp)_webp = True
+ $(usepil webp)_webpmux = True
+ $(usepil xcb)_xcb = True
+ $(usepil zlib)_zlib = True
+ EOF
+ if use truetype; then
+ # these dependencies are implicitly disabled by USE=-truetype
+ # and we can't pass both disable_* and vendor_*
+ # https://bugs.gentoo.org/935124
+ cat >> setup.cfg <<-EOF || die
+ vendor_raqm = False
+ vendor_fribidi = False
+ EOF
+ fi
+
+ tc-export PKG_CONFIG
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO (is clipboard unreliable in Xvfb?)
+ Tests/test_imagegrab.py::TestImageGrab::test_grabclipboard
+ # requires xz-utils[extra-filters]?
+ Tests/test_file_libtiff.py::TestFileLibTiff::test_lzma
+ )
+
+ "${EPYTHON}" selftest.py --installed || die "selftest failed with ${EPYTHON}"
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # leak tests are fragile and broken under xdist
+ epytest -k "not leak" -p timeout || die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ python_doheader src/libImaging/*.h
+ distutils-r1_python_install
+}
+
+python_install_all() {
+ if use examples ; then
+ docinto example
+ dodoc docs/example/*
+ docompress -x /usr/share/doc/${PF}/example
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pip-run/Manifest b/dev-python/pip-run/Manifest
index 7c01fe8f2134..3339f8997739 100644
--- a/dev-python/pip-run/Manifest
+++ b/dev-python/pip-run/Manifest
@@ -1 +1,3 @@
-DIST pip-run-12.4.0.tar.gz 37749 BLAKE2B 76e6708cbcb9329b42ac031ee8f2253f04f898a8d6c83ae687f3a7f6e13f33076fdadad641562f379a5cdad1386cb71bf1b40f494c484f86286d1188f86c04ad SHA512 4e6709b2e22b49a3486f4d1caa07ae3d664b09bf76c9338ef8c9fb80024700fcd58c135d3cf3b69e7fcbf1ce20c996436fa87be03fbe9f5801b274ff72a4a790
+DIST pip-run-12.6.1.tar.gz 38868 BLAKE2B 852e8207fc5951a4007f761c18dd06b483a0658d3ab3f51e667b5f0a204fe2f2c530ade5d2d36005c2a25d564cb779b5d2911aeaf5e046477631958172414352 SHA512 b4dcdf0d96061b7049bd8ad25e20f36fe305fe04148937cab3be91ab8fc95849b07b14d2948eb0d5172d36f5ef561b80cff07b1203c62f117c52eb5d265e9356
+DIST pip_run-12.7.0.tar.gz 39346 BLAKE2B 8e3f925310ea07b243f91e4b2afbc3aa87ce3bf2a55e6e9c8e1479f0e5002dd8937808d6c75eeeeb2348d6784c06abfdf78b75931d1de68237956a784c649398 SHA512 81708b966071956f21e0eb12229653171e161835a875182bc317428096b9a67b2272047c09871e216dab75b64c9aa3e50440602634522d217df653cd5175a833
+DIST pip_run-13.0.0.tar.gz 38947 BLAKE2B 73a3a2ca97e4a9eab0e32ed487b7b231a92fcb9fa9084eb3f3ffb3b0a1468274fdc0cac530c02dd785b51f7ddc3f24d24feb6a7b38de2e20e893c1618f935ff7 SHA512 9683350d85cbb9298b8844f1b9a71f5d41d13f0812a5416066e731651153a57625a1ee91b37b6cfcf2e83cba3eaa890c078c13f9df8a2812b6070e21a7194d11
diff --git a/dev-python/pip-run/pip-run-12.4.0.ebuild b/dev-python/pip-run/pip-run-12.4.0.ebuild
deleted file mode 100644
index 3e87c40bc789..000000000000
--- a/dev-python/pip-run/pip-run-12.4.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Install packages and run Python with them"
-HOMEPAGE="
- https://github.com/jaraco/pip-run/
- https://pypi.org/project/pip-run/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/autocommand[${PYTHON_USEDEP}]
- dev-python/jaraco-context[${PYTHON_USEDEP}]
- dev-python/jaraco-env[${PYTHON_USEDEP}]
- >=dev-python/jaraco-functools-3.7[${PYTHON_USEDEP}]
- dev-python/jaraco-text[${PYTHON_USEDEP}]
- >=dev-python/more-itertools-8.3[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/path[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/platformdirs[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/flit-core[${PYTHON_USEDEP}]
- dev-python/jaraco-path[${PYTHON_USEDEP}]
- >=dev-python/jaraco-test-5.3[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/nbformat[${PYTHON_USEDEP}]
- ' python3_{10..11})
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=()
-
- if ! has_version "dev-python/nbformat[${PYTHON_USEDEP}]"; then
- EPYTEST_IGNORE+=(
- tests/test_scripts.py
- )
- fi
-
- epytest -m "not network"
-}
diff --git a/dev-python/pip-run/pip-run-12.6.1.ebuild b/dev-python/pip-run/pip-run-12.6.1.ebuild
new file mode 100644
index 000000000000..7483c10f42df
--- /dev/null
+++ b/dev-python/pip-run/pip-run-12.6.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2022-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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Install packages and run Python with them"
+HOMEPAGE="
+ https://github.com/jaraco/pip-run/
+ https://pypi.org/project/pip-run/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/autocommand[${PYTHON_USEDEP}]
+ dev-python/jaraco-context[${PYTHON_USEDEP}]
+ dev-python/jaraco-env[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-functools-3.7[${PYTHON_USEDEP}]
+ dev-python/jaraco-text[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.3[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/path[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/flit-core[${PYTHON_USEDEP}]
+ dev-python/jaraco-path[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-test-5.3[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -m "not network"
+}
diff --git a/dev-python/pip-run/pip-run-12.7.0.ebuild b/dev-python/pip-run/pip-run-12.7.0.ebuild
new file mode 100644
index 000000000000..f55fab6dd63b
--- /dev/null
+++ b/dev-python/pip-run/pip-run-12.7.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Install packages and run Python with them"
+HOMEPAGE="
+ https://github.com/jaraco/pip-run/
+ https://pypi.org/project/pip-run/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/autocommand[${PYTHON_USEDEP}]
+ dev-python/jaraco-context[${PYTHON_USEDEP}]
+ dev-python/jaraco-env[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-functools-3.7[${PYTHON_USEDEP}]
+ dev-python/jaraco-text[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.3[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/path-15.1[${PYTHON_USEDEP}]
+ >=dev-python/pip-19.3[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/flit-core[${PYTHON_USEDEP}]
+ dev-python/jaraco-path[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-test-5.3[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -m "not network"
+}
diff --git a/dev-python/pip-run/pip-run-13.0.0.ebuild b/dev-python/pip-run/pip-run-13.0.0.ebuild
new file mode 100644
index 000000000000..f55fab6dd63b
--- /dev/null
+++ b/dev-python/pip-run/pip-run-13.0.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Install packages and run Python with them"
+HOMEPAGE="
+ https://github.com/jaraco/pip-run/
+ https://pypi.org/project/pip-run/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/autocommand[${PYTHON_USEDEP}]
+ dev-python/jaraco-context[${PYTHON_USEDEP}]
+ dev-python/jaraco-env[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-functools-3.7[${PYTHON_USEDEP}]
+ dev-python/jaraco-text[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.3[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/path-15.1[${PYTHON_USEDEP}]
+ >=dev-python/pip-19.3[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/flit-core[${PYTHON_USEDEP}]
+ dev-python/jaraco-path[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-test-5.3[${PYTHON_USEDEP}]
+ dev-python/nbformat[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -m "not network"
+}
diff --git a/dev-python/pip/Manifest b/dev-python/pip/Manifest
index 56a506fce22b..f6b6c6716eb4 100644
--- a/dev-python/pip/Manifest
+++ b/dev-python/pip/Manifest
@@ -1 +1,4 @@
-DIST pip-23.3.1.gh.tar.gz 9397023 BLAKE2B f5085bf1faaca93954abb2dfb99f5a365b7bff385ad9f0f692fb41bbf0586617f0a3d7f36df5e3475f150819fdbf7f79fc6bf8b2425fe06dc570cd0ec98fed6e SHA512 eddca29e8c3727d1d8d793ab0b05f069781cac06df805fcf7a363da738d39498135ccbbb6d2d442604a7bf78ba6c3d101ec2043431ac1832a3f2710db7cc5e56
+DIST pip-24.0.gh.tar.gz 9398156 BLAKE2B 17a7ed9e15e9b8efa0d3e3c5586dc446958b62cf9ba52155a0d1ad97a3e212ee7a08a0e88a592718fc3d542eb8f434155a75cb98d90c008904bd8f59bd2b40b6 SHA512 0c2ecb2ecde4f155c83468d35bc4f52f37efffc16821ae7c706d035e1e8cc3709b41cb10f8140ff09205e8bbdba2c76128ad76d1cbd18401328b619228e834df
+DIST pip-24.1.1.gh.tar.gz 9190972 BLAKE2B 1ce876d2767c1c36bac3237c17a3aced9dd5a335a7b522c70cee1e155bc0b47256db74c6835aab5f58133ebcde0daeb8e6eb217b06f76418c355034cbe736cf6 SHA512 523e7273134b68252693ba7a032e7992c72075aebd2bcd895fbd90ad28d76f98b13ea1a7df0b6da1802650782ae977868177f740dc6f0a2eaccb95915c27b318
+DIST pip-24.1.2.gh.tar.gz 9192691 BLAKE2B 9b5a07e9f10b5787d668766423d8b3a9dfcc62564673155b80c7bc95ffe79daafa8788d8141f67c76d4098c21922e62fcb2164f72bf580bbeec136786c48d512 SHA512 222a957030e9c51defa6f741f8e176f2a19bd54f0ef664d2e218d3d2c2b5a335c9b7ce4bd1c804133d6116b3fbf37648453cd85f7a2bcf86a5aeb43e22db4b0f
+DIST pip-24.1.gh.tar.gz 9188658 BLAKE2B 4a43ff0199d811dd30461e376f655a447f3f706a48dd97fe1d0ccf630f558e72209ccd06d98949a1541cd6b2942a816db23ce8aaa7fbbf9aef429502fb91ab92 SHA512 c60ab329fe91202ff64b5f0f90209085fbf8db0f0a05f0703f952ad69e39e2e3edb5dadc006a3f317cdd4ba4fb5abe56dfbd22792249a2d139702eec272186d1
diff --git a/dev-python/pip/files/pip-24.1-test-offline.patch b/dev-python/pip/files/pip-24.1-test-offline.patch
new file mode 100644
index 000000000000..ebbf5a94a1ba
--- /dev/null
+++ b/dev-python/pip/files/pip-24.1-test-offline.patch
@@ -0,0 +1,65 @@
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 35101cef2..5934e9f95 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -395,6 +395,7 @@ def pip_editable_parts(
+ "-m",
+ "pip",
+ "install",
++ "--no-build-isolation",
+ "--target",
+ pip_self_install_path,
+ "-e",
+diff --git a/tests/functional/test_config_settings.py b/tests/functional/test_config_settings.py
+index 3f88d9c39..857722dd1 100644
+--- a/tests/functional/test_config_settings.py
++++ b/tests/functional/test_config_settings.py
+@@ -118,6 +118,7 @@ def test_config_settings_implies_pep517(
+ )
+ result = script.pip(
+ "wheel",
++ "--no-build-isolation",
+ "--config-settings",
+ "FOO=Hello",
+ pkg_path,
+diff --git a/tests/functional/test_install.py b/tests/functional/test_install.py
+index eaea12a16..e19446385 100644
+--- a/tests/functional/test_install.py
++++ b/tests/functional/test_install.py
+@@ -685,7 +685,7 @@ def test_link_hash_in_dep_fails_require_hashes(
+ # Build a wheel for pkga and compute its hash.
+ wheelhouse = tmp_path / "wheehouse"
+ wheelhouse.mkdir()
+- script.pip("wheel", "--no-deps", "-w", wheelhouse, project_path)
++ script.pip("wheel", "--no-build-isolation", "--no-deps", "-w", wheelhouse, project_path)
+ digest = hashlib.sha256(
+ wheelhouse.joinpath("pkga-1.0-py3-none-any.whl").read_bytes()
+ ).hexdigest()
+@@ -903,7 +903,7 @@ def test_editable_install__local_dir_setup_requires_with_pyproject(
+ "setup(name='dummy', setup_requires=['simplewheel'])\n"
+ )
+
+- script.pip("install", "--find-links", shared_data.find_links, "-e", local_dir)
++ script.pip("install", "--no-build-isolation", "--find-links", shared_data.find_links, "-e", local_dir)
+
+
+ def test_install_pre__setup_requires_with_pyproject(
+diff --git a/tests/functional/test_self_update.py b/tests/functional/test_self_update.py
+index c50755220..1331a87c3 100644
+--- a/tests/functional/test_self_update.py
++++ b/tests/functional/test_self_update.py
+@@ -11,12 +11,12 @@ def test_self_update_editable(script: Any, pip_src: Any) -> None:
+ # Step 1. Install pip as non-editable. This is expected to succeed as
+ # the existing pip in the environment is installed in editable mode, so
+ # it only places a .pth file in the environment.
+- proc = script.pip("install", pip_src)
++ proc = script.pip("install", "--no-build-isolation", pip_src)
+ assert proc.returncode == 0
+ # Step 2. Using the pip we just installed, install pip *again*, but
+ # in editable mode. This could fail, as we'll need to uninstall the running
+ # pip in order to install the new copy, and uninstalling pip while it's
+ # running could fail. This test is specifically to ensure that doesn't
+ # happen...
+- proc = script.pip("install", "-e", pip_src)
++ proc = script.pip("install", "--no-build-isolation", "-e", pip_src)
+ assert proc.returncode == 0
diff --git a/dev-python/pip/files/pip-24.1-unbundle.patch b/dev-python/pip/files/pip-24.1-unbundle.patch
new file mode 100644
index 000000000000..676ffa36094b
--- /dev/null
+++ b/dev-python/pip/files/pip-24.1-unbundle.patch
@@ -0,0 +1,193 @@
+diff --git a/src/pip/_internal/commands/debug.py b/src/pip/_internal/commands/debug.py
+index 567ca967e..427bfcf04 100644
+--- a/src/pip/_internal/commands/debug.py
++++ b/src/pip/_internal/commands/debug.py
+@@ -6,7 +6,6 @@ from optparse import Values
+ from types import ModuleType
+ from typing import Any, Dict, List, Optional
+
+-import pip._vendor
+ from pip._vendor.certifi import where
+ from pip._vendor.packaging.version import parse as parse_version
+
+@@ -192,9 +191,7 @@ class DebugCommand(Command):
+ show_value("REQUESTS_CA_BUNDLE", os.environ.get("REQUESTS_CA_BUNDLE"))
+ show_value("CURL_CA_BUNDLE", os.environ.get("CURL_CA_BUNDLE"))
+ show_value("pip._vendor.certifi.where()", where())
+- show_value("pip._vendor.DEBUNDLED", pip._vendor.DEBUNDLED)
+-
+- show_vendor_versions()
++ show_value("pip._vendor.DEBUNDLED", True)
+
+ show_tags(options)
+
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 35101cef2..840663fed 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -413,6 +413,7 @@ def _common_wheel_editable_install(
+ assert len(wheel_candidates) == 1, wheel_candidates
+ install_dir = tmpdir_factory.mktemp(package) / "install"
+ lib_install_dir = install_dir / "lib"
++ return lib_install_dir
+ bin_install_dir = install_dir / "bin"
+ with WheelFile.open(wheel_candidates[0]) as source:
+ install(
+diff --git a/tests/functional/test_check.py b/tests/functional/test_check.py
+index 46ecdcc64..6507febfa 100644
+--- a/tests/functional/test_check.py
++++ b/tests/functional/test_check.py
+@@ -6,10 +6,8 @@ from tests.lib import PipTestEnvironment, create_test_package_with_setup
+ def matches_expected_lines(string: str, expected_lines: Collection[str]) -> bool:
+ # Ignore empty lines
+ output_lines = list(filter(None, string.splitlines()))
+- # We'll match the last n lines, given n lines to match.
+- last_few_output_lines = output_lines[-len(expected_lines) :]
+ # And order does not matter
+- return set(last_few_output_lines) == set(expected_lines)
++ return set(expected_lines).issubset(set(output_lines))
+
+
+ def test_basic_check_clean(script: PipTestEnvironment) -> None:
+diff --git a/tests/functional/test_freeze.py b/tests/functional/test_freeze.py
+index b7af974ea..144f79483 100644
+--- a/tests/functional/test_freeze.py
++++ b/tests/functional/test_freeze.py
+@@ -80,8 +80,8 @@ def test_basic_freeze(script: PipTestEnvironment) -> None:
+ result = script.pip("freeze", expect_stderr=True)
+ expected = textwrap.dedent(
+ """\
+- ...simple==2.0
+- simple2==3.0...
++ ...simple==2.0...
++ ...simple2==3.0...
+ <BLANKLINE>"""
+ )
+ _check_output(result.stdout, expected)
+@@ -1014,7 +1014,7 @@ def test_freeze_skip_work_dir_pkg(script: PipTestEnvironment) -> None:
+
+ # Freeze should not include package simple when run from package directory
+ result = script.pip("freeze", cwd=pkg_path)
+- assert "simple" not in result.stdout
++ assert "\nsimple==" not in result.stdout
+
+
+ def test_freeze_include_work_dir_pkg(script: PipTestEnvironment) -> None:
+diff --git a/tests/functional/test_install_check.py b/tests/functional/test_install_check.py
+index 8a8a7c93a..bbda083f7 100644
+--- a/tests/functional/test_install_check.py
++++ b/tests/functional/test_install_check.py
+@@ -57,6 +57,7 @@ def test_check_install_canonicalization(script: PipTestEnvironment) -> None:
+ )
+ assert "requires" not in result.stderr
+ assert result.returncode == 0
++ return
+
+ # Double check that all errors are resolved in the end
+ result = script.pip("check")
+diff --git a/tests/functional/test_list.py b/tests/functional/test_list.py
+index 5164c1d5c..ce0a81aea 100644
+--- a/tests/functional/test_list.py
++++ b/tests/functional/test_list.py
+@@ -1,5 +1,6 @@
+ import json
+ import os
++import re
+ from pathlib import Path
+
+ import pytest
+@@ -41,8 +42,8 @@ def test_basic_list(simple_script: PipTestEnvironment) -> None:
+
+ """
+ result = simple_script.pip("list")
+- assert "simple 1.0" in result.stdout, str(result)
+- assert "simple2 3.0" in result.stdout, str(result)
++ assert re.search(r"simple\s+1\.0", result.stdout), str(result)
++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result)
+
+
+ def test_verbose_flag(simple_script: PipTestEnvironment) -> None:
+@@ -54,8 +55,8 @@ def test_verbose_flag(simple_script: PipTestEnvironment) -> None:
+ assert "Version" in result.stdout, str(result)
+ assert "Location" in result.stdout, str(result)
+ assert "Installer" in result.stdout, str(result)
+- assert "simple 1.0" in result.stdout, str(result)
+- assert "simple2 3.0" in result.stdout, str(result)
++ assert re.search(r"simple\s+1\.0", result.stdout), str(result)
++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result)
+
+
+ def test_columns_flag(simple_script: PipTestEnvironment) -> None:
+@@ -66,8 +67,8 @@ def test_columns_flag(simple_script: PipTestEnvironment) -> None:
+ assert "Package" in result.stdout, str(result)
+ assert "Version" in result.stdout, str(result)
+ assert "simple (1.0)" not in result.stdout, str(result)
+- assert "simple 1.0" in result.stdout, str(result)
+- assert "simple2 3.0" in result.stdout, str(result)
++ assert re.search(r"simple\s+1\.0", result.stdout), str(result)
++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result)
+
+
+ def test_format_priority(simple_script: PipTestEnvironment) -> None:
+@@ -79,16 +80,16 @@ def test_format_priority(simple_script: PipTestEnvironment) -> None:
+ )
+ assert "simple==1.0" in result.stdout, str(result)
+ assert "simple2==3.0" in result.stdout, str(result)
+- assert "simple 1.0" not in result.stdout, str(result)
+- assert "simple2 3.0" not in result.stdout, str(result)
++ assert not re.search(r"simple\s+1\.0", result.stdout), str(result)
++ assert not re.search(r"simple2\s+3\.0", result.stdout), str(result)
+
+ result = simple_script.pip("list", "--format=freeze", "--format=columns")
+ assert "Package" in result.stdout, str(result)
+ assert "Version" in result.stdout, str(result)
+ assert "simple==1.0" not in result.stdout, str(result)
+ assert "simple2==3.0" not in result.stdout, str(result)
+- assert "simple 1.0" in result.stdout, str(result)
+- assert "simple2 3.0" in result.stdout, str(result)
++ assert re.search(r"simple\s+1\.0", result.stdout), str(result)
++ assert re.search(r"simple2\s+3\.0", result.stdout), str(result)
+
+
+ def test_local_flag(simple_script: PipTestEnvironment) -> None:
+@@ -124,8 +125,8 @@ def test_multiple_exclude_and_normalization(
+ assert "Normalizable_Name" in result.stdout
+ assert "pip" in result.stdout
+ result = script.pip("list", "--exclude", "normalizablE-namE", "--exclude", "pIp")
+- assert "Normalizable_Name" not in result.stdout
+- assert "pip" not in result.stdout
++ assert "Normalizable_Name " not in result.stdout
++ assert "pip " not in result.stdout
+
+
+ @pytest.mark.network
+diff --git a/tests/lib/venv.py b/tests/lib/venv.py
+index fac54d3bd..6bfe3cfdc 100644
+--- a/tests/lib/venv.py
++++ b/tests/lib/venv.py
+@@ -9,6 +9,7 @@ import venv as _venv
+ from pathlib import Path
+ from typing import Dict, Literal, Optional, Union
+
++import pytest
+ import virtualenv as _virtualenv
+
+ VirtualEnvironmentType = Literal["virtualenv", "venv"]
+@@ -35,7 +36,7 @@ class VirtualEnvironment:
+ self._venv_type = venv_type
+ else:
+ self._venv_type = "virtualenv"
+- self._user_site_packages = False
++ self._user_site_packages = True
+ self._template = template
+ self._sitecustomize: Optional[str] = None
+ self._update_paths()
+@@ -234,6 +235,8 @@ class VirtualEnvironment:
+
+ @user_site_packages.setter
+ def user_site_packages(self, value: bool) -> None:
++ if not value:
++ pytest.skip("Gentoo: skipping due to lack of system site-packages")
+ self._user_site_packages = value
+ if self._legacy_virtualenv:
+ marker = self.lib / "no-global-site-packages.txt"
diff --git a/dev-python/pip/pip-23.3.1.ebuild b/dev-python/pip/pip-23.3.1.ebuild
deleted file mode 100644
index 4d41aaf59202..000000000000
--- a/dev-python/pip/pip-23.3.1.ebuild
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# please bump dev-python/ensurepip-pip along with this package!
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{10..11} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_12 pypy3 )
-PYTHON_REQ_USE="ssl(+),threads(+)"
-
-inherit bash-completion-r1 distutils-r1 multiprocessing
-
-DESCRIPTION="The PyPA recommended tool for installing Python packages"
-HOMEPAGE="
- https://pip.pypa.io/en/stable/
- https://pypi.org/project/pip/
- https://github.com/pypa/pip/
-"
-SRC_URI="
- https://github.com/pypa/pip/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-# bundled deps
-LICENSE+=" Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MPL-2.0 PSF-2"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-SLOT="0"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/setuptools-39.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/ensurepip-setuptools
- dev-python/ensurepip-wheel
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/pretend[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/scripttest[${PYTHON_USEDEP}]
- dev-python/tomli-w[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- )
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- local PATCHES=(
- "${FILESDIR}/pip-23.1-no-coverage.patch"
- "${FILESDIR}/${P}-no-color.patch"
- )
-
- distutils-r1_python_prepare_all
-
- if use test; then
- local wheels=(
- "${BROOT}"/usr/lib/python/ensurepip/{setuptools,wheel}-*.whl
- )
- mkdir tests/data/common_wheels/ || die
- cp "${wheels[@]}" tests/data/common_wheels/ || die
- fi
-}
-
-python_compile_all() {
- # 'pip completion' command embeds full $0 into completion script, which confuses
- # 'complete' and causes QA warning when running as "${PYTHON} -m pip".
- # This trick sets correct $0 while still calling just installed pip.
- local pipcmd='import sys; sys.argv[0] = "pip"; __file__ = ""; from pip._internal.cli.main import main; sys.exit(main())'
- "${EPYTHON}" -c "${pipcmd}" completion --bash > completion.bash || die
- "${EPYTHON}" -c "${pipcmd}" completion --zsh > completion.zsh || die
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return 0
- fi
-
- local EPYTEST_DESELECT=(
- tests/functional/test_inspect.py::test_inspect_basic
- tests/functional/test_install.py::test_double_install_fail
- # Internet
- tests/functional/test_install.py::test_install_dry_run
- tests/functional/test_install.py::test_editable_install__local_dir_setup_requires_with_pyproject
- tests/functional/test_install.py::test_install_8559_wheel_package_present
- tests/functional/test_config_settings.py::test_backend_sees_config_via_sdist
- tests/functional/test_install.py::test_link_hash_in_dep_fails_require_hashes
- # TODO
- tests/unit/test_network_auth.py::test_keyring_cli_get_password
- tests/unit/test_network_auth.py::test_keyring_cli_set_password
- # wants to install keyring from Internet, sigh
- tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
- # probably a too strict assert
- # https://github.com/pypa/pip/issues/12152
- tests/unit/test_req.py::TestRequirementSet::test_download_info_archive_cache_with_invalid_origin
- )
-
- if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/functional/test_install.py::test_install_sends_client_cert
- tests/functional/test_install_config.py::test_do_not_prompt_for_authentication
- tests/functional/test_install_config.py::test_prompt_for_authentication
- tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
- )
- fi
-
- local -x SETUPTOOLS_USE_DISTUTILS=stdlib
- local -x PIP_DISABLE_PIP_VERSION_CHECK=1
- epytest -m "not network" -n "$(makeopts_jobs)"
-}
-
-python_install_all() {
- local DOCS=( AUTHORS.txt docs/html/**/*.rst )
- distutils-r1_python_install_all
-
- newbashcomp completion.bash pip
-
- insinto /usr/share/zsh/site-functions
- newins completion.zsh _pip
-}
diff --git a/dev-python/pip/pip-24.0.ebuild b/dev-python/pip/pip-24.0.ebuild
new file mode 100644
index 000000000000..ffcadb6fa1cb
--- /dev/null
+++ b/dev-python/pip/pip-24.0.ebuild
@@ -0,0 +1,145 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# please bump dev-python/ensurepip-pip along with this package!
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{10..13} )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 )
+PYTHON_REQ_USE="ssl(+),threads(+)"
+
+inherit bash-completion-r1 distutils-r1
+
+DESCRIPTION="The PyPA recommended tool for installing Python packages"
+HOMEPAGE="
+ https://pip.pypa.io/en/stable/
+ https://pypi.org/project/pip/
+ https://github.com/pypa/pip/
+"
+SRC_URI="
+ https://github.com/pypa/pip/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+# bundled deps
+LICENSE+=" Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MPL-2.0 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/setuptools-39.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/scripttest[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ )
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/pip-23.1-no-coverage.patch"
+ # https://github.com/pypa/pip/pull/12415
+ "${FILESDIR}/pip-23.3.1-no-color.patch"
+ )
+
+ distutils-r1_python_prepare_all
+
+ if use test; then
+ local wheels=(
+ "${BROOT}"/usr/lib/python/ensurepip/{setuptools,wheel}-*.whl
+ )
+ mkdir tests/data/common_wheels/ || die
+ cp "${wheels[@]}" tests/data/common_wheels/ || die
+ fi
+}
+
+python_compile_all() {
+ # 'pip completion' command embeds full $0 into completion script, which confuses
+ # 'complete' and causes QA warning when running as "${PYTHON} -m pip".
+ # This trick sets correct $0 while still calling just installed pip.
+ local pipcmd='import sys; sys.argv[0] = "pip"; __file__ = ""; from pip._internal.cli.main import main; sys.exit(main())'
+ "${EPYTHON}" -c "${pipcmd}" completion --bash > completion.bash || die
+ "${EPYTHON}" -c "${pipcmd}" completion --zsh > completion.zsh || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return 0
+ fi
+
+ local EPYTEST_DESELECT=(
+ tests/functional/test_inspect.py::test_inspect_basic
+ # Internet
+ tests/functional/test_config_settings.py::test_backend_sees_config_via_sdist
+ tests/functional/test_config_settings.py::test_config_settings_implies_pep517
+ tests/functional/test_install.py::test_double_install_fail
+ tests/functional/test_install.py::test_editable_install__local_dir_setup_requires_with_pyproject
+ tests/functional/test_install.py::test_link_hash_in_dep_fails_require_hashes
+ tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
+ )
+
+ if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/functional/test_install.py::test_install_sends_client_cert
+ tests/functional/test_install_config.py::test_do_not_prompt_for_authentication
+ tests/functional/test_install_config.py::test_prompt_for_authentication
+ tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
+ )
+ fi
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # hacky upstream time mocking stopped working, they have it
+ # failing on CI already too
+ tests/unit/test_base_command.py::test_log_command_success
+ tests/unit/test_base_command.py::test_log_command_error
+ tests/unit/test_base_command.py::test_log_file_command_error
+ )
+ ;;
+ python3.10)
+ EPYTEST_DESELECT+=(
+ # no clue why they fail
+ tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup
+ tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup
+ tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers
+ )
+ ;;
+ esac
+
+ local -x PIP_DISABLE_PIP_VERSION_CHECK=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_XDIST=1
+ epytest -m "not network" -o tmp_path_retention_policy=all
+}
+
+python_install_all() {
+ local DOCS=( AUTHORS.txt docs/html/**/*.rst )
+ distutils-r1_python_install_all
+
+ newbashcomp completion.bash pip
+
+ insinto /usr/share/zsh/site-functions
+ newins completion.zsh _pip
+}
diff --git a/dev-python/pip/pip-24.1-r1.ebuild b/dev-python/pip/pip-24.1-r1.ebuild
new file mode 100644
index 000000000000..439924ebd199
--- /dev/null
+++ b/dev-python/pip/pip-24.1-r1.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# please bump dev-python/ensurepip-pip along with this package!
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{10..13} )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 )
+PYTHON_REQ_USE="ssl(+),threads(+)"
+
+inherit bash-completion-r1 distutils-r1
+
+DESCRIPTION="The PyPA recommended tool for installing Python packages"
+HOMEPAGE="
+ https://pip.pypa.io/en/stable/
+ https://pypi.org/project/pip/
+ https://github.com/pypa/pip/
+"
+SRC_URI="
+ https://github.com/pypa/pip/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+# bundled deps
+LICENSE+=" Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MPL-2.0 PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~sparc"
+IUSE="test-rust"
+
+# see src/pip/_vendor/vendor.txt
+RDEPEND="
+ >=dev-python/cachecontrol-0.14.0[${PYTHON_USEDEP}]
+ >=dev-python/distlib-0.3.8[${PYTHON_USEDEP}]
+ >=dev-python/distro-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.8[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24.1[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-4.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-hooks-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.32.0[${PYTHON_USEDEP}]
+ >=dev-python/rich-13.7.1[${PYTHON_USEDEP}]
+ >=dev-python/resolvelib-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-69.5.1[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-8.2.3[${PYTHON_USEDEP}]
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/truststore-0.9.1[${PYTHON_USEDEP}]
+
+ >=dev-python/setuptools-39.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/scripttest[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ )
+ dev-vcs/git
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/pip-23.1-no-coverage.patch"
+ # https://github.com/pypa/pip/issues/12786 (and more)
+ "${FILESDIR}/pip-24.1-test-offline.patch"
+ # prepare to unbundle dependencies
+ "${FILESDIR}/pip-24.1-unbundle.patch"
+ )
+
+ distutils-r1_python_prepare_all
+
+ # unbundle dependencies
+ rm -r src/pip/_vendor || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from pip\._vendor import:import:g' \
+ -e 's:from pip\._vendor\.:from :g' \
+ {} + || die
+
+ if use test; then
+ local wheels=(
+ "${BROOT}"/usr/lib/python/ensurepip/{setuptools,wheel}-*.whl
+ )
+ mkdir tests/data/common_wheels/ || die
+ cp "${wheels[@]}" tests/data/common_wheels/ || die
+ fi
+}
+
+python_compile_all() {
+ # 'pip completion' command embeds full $0 into completion script, which confuses
+ # 'complete' and causes QA warning when running as "${PYTHON} -m pip".
+ # This trick sets correct $0 while still calling just installed pip.
+ local pipcmd='import sys; sys.argv[0] = "pip"; __file__ = ""; from pip._internal.cli.main import main; sys.exit(main())'
+ "${EPYTHON}" -c "${pipcmd}" completion --bash > completion.bash || die
+ "${EPYTHON}" -c "${pipcmd}" completion --zsh > completion.zsh || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return 0
+ fi
+
+ local EPYTEST_DESELECT=(
+ tests/functional/test_inspect.py::test_inspect_basic
+ # Internet
+ tests/functional/test_config_settings.py::test_backend_sees_config_via_sdist
+ tests/functional/test_install.py::test_double_install_fail
+ tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
+ # broken by system site-packages use
+ tests/functional/test_check.py::test_basic_check_clean
+ tests/functional/test_check.py::test_check_skip_work_dir_pkg
+ tests/functional/test_check.py::test_check_complicated_name_clean
+ tests/functional/test_check.py::test_check_development_versions_are_also_considered
+ tests/functional/test_freeze.py::test_freeze_with_setuptools
+ tests/functional/test_pip_runner_script.py::test_runner_work_in_environments_with_no_pip
+ tests/functional/test_uninstall.py::test_basic_uninstall_distutils
+ tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup
+ tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup
+ tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers
+ # broken by unbundling
+ "tests/functional/test_debug.py::test_debug[vendored library versions:]"
+ tests/functional/test_debug.py::test_debug__library_versions
+ tests/functional/test_python_option.py::test_python_interpreter
+ tests/functional/test_uninstall.py::test_uninstall_non_local_distutils
+ )
+ local EPYTEST_IGNORE=(
+ # requires proxy.py
+ tests/functional/test_proxy.py
+ )
+
+ if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/functional/test_install.py::test_install_sends_client_cert
+ tests/functional/test_install_config.py::test_do_not_prompt_for_authentication
+ tests/functional/test_install_config.py::test_prompt_for_authentication
+ tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
+ )
+ fi
+
+ case ${EPYTHON} in
+ python3.10)
+ EPYTEST_DESELECT+=(
+ # no clue why they fail
+ )
+ ;;
+ esac
+
+ local -x PIP_DISABLE_PIP_VERSION_CHECK=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_XDIST=1
+ epytest -m "not network" -o tmp_path_retention_policy=all
+}
+
+python_install_all() {
+ local DOCS=( AUTHORS.txt docs/html/**/*.rst )
+ distutils-r1_python_install_all
+
+ newbashcomp completion.bash pip
+
+ insinto /usr/share/zsh/site-functions
+ newins completion.zsh _pip
+}
diff --git a/dev-python/pip/pip-24.1.1.ebuild b/dev-python/pip/pip-24.1.1.ebuild
new file mode 100644
index 000000000000..8b45e1fcb56a
--- /dev/null
+++ b/dev-python/pip/pip-24.1.1.ebuild
@@ -0,0 +1,176 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# please bump dev-python/ensurepip-pip along with this package!
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{10..13} )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 )
+PYTHON_REQ_USE="ssl(+),threads(+)"
+
+inherit bash-completion-r1 distutils-r1
+
+DESCRIPTION="The PyPA recommended tool for installing Python packages"
+HOMEPAGE="
+ https://pip.pypa.io/en/stable/
+ https://pypi.org/project/pip/
+ https://github.com/pypa/pip/
+"
+SRC_URI="
+ https://github.com/pypa/pip/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+# bundled deps
+LICENSE+=" Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MPL-2.0 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc64 ~riscv ~sparc ~x86"
+IUSE="test-rust"
+
+# see src/pip/_vendor/vendor.txt
+RDEPEND="
+ >=dev-python/cachecontrol-0.14.0[${PYTHON_USEDEP}]
+ >=dev-python/distlib-0.3.8[${PYTHON_USEDEP}]
+ >=dev-python/distro-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.8[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24.1[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-4.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-hooks-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.32.0[${PYTHON_USEDEP}]
+ >=dev-python/rich-13.7.1[${PYTHON_USEDEP}]
+ >=dev-python/resolvelib-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-69.5.1[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-8.2.3[${PYTHON_USEDEP}]
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/truststore-0.9.1[${PYTHON_USEDEP}]
+
+ >=dev-python/setuptools-39.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/scripttest[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ )
+ dev-vcs/git
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/pip-23.1-no-coverage.patch"
+ # https://github.com/pypa/pip/issues/12786 (and more)
+ "${FILESDIR}/pip-24.1-test-offline.patch"
+ # prepare to unbundle dependencies
+ "${FILESDIR}/pip-24.1-unbundle.patch"
+ )
+
+ distutils-r1_python_prepare_all
+
+ # unbundle dependencies
+ rm -r src/pip/_vendor || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from pip\._vendor import:import:g' \
+ -e 's:from pip\._vendor\.:from :g' \
+ {} + || die
+
+ if use test; then
+ local wheels=(
+ "${BROOT}"/usr/lib/python/ensurepip/{setuptools,wheel}-*.whl
+ )
+ mkdir tests/data/common_wheels/ || die
+ cp "${wheels[@]}" tests/data/common_wheels/ || die
+ fi
+}
+
+python_compile_all() {
+ # 'pip completion' command embeds full $0 into completion script, which confuses
+ # 'complete' and causes QA warning when running as "${PYTHON} -m pip".
+ # This trick sets correct $0 while still calling just installed pip.
+ local pipcmd='import sys; sys.argv[0] = "pip"; __file__ = ""; from pip._internal.cli.main import main; sys.exit(main())'
+ "${EPYTHON}" -c "${pipcmd}" completion --bash > completion.bash || die
+ "${EPYTHON}" -c "${pipcmd}" completion --zsh > completion.zsh || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return 0
+ fi
+
+ local EPYTEST_DESELECT=(
+ tests/functional/test_inspect.py::test_inspect_basic
+ # Internet
+ tests/functional/test_config_settings.py::test_backend_sees_config_via_sdist
+ tests/functional/test_install.py::test_double_install_fail
+ tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
+ # broken by system site-packages use
+ tests/functional/test_check.py::test_basic_check_clean
+ tests/functional/test_check.py::test_check_skip_work_dir_pkg
+ tests/functional/test_check.py::test_check_complicated_name_clean
+ tests/functional/test_check.py::test_check_development_versions_are_also_considered
+ tests/functional/test_freeze.py::test_freeze_with_setuptools
+ tests/functional/test_pip_runner_script.py::test_runner_work_in_environments_with_no_pip
+ tests/functional/test_uninstall.py::test_basic_uninstall_distutils
+ tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup
+ tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup
+ tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers
+ # broken by unbundling
+ "tests/functional/test_debug.py::test_debug[vendored library versions:]"
+ tests/functional/test_debug.py::test_debug__library_versions
+ tests/functional/test_python_option.py::test_python_interpreter
+ tests/functional/test_uninstall.py::test_uninstall_non_local_distutils
+ )
+ local EPYTEST_IGNORE=(
+ # requires proxy.py
+ tests/functional/test_proxy.py
+ )
+
+ if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/functional/test_install.py::test_install_sends_client_cert
+ tests/functional/test_install_config.py::test_do_not_prompt_for_authentication
+ tests/functional/test_install_config.py::test_prompt_for_authentication
+ tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
+ )
+ fi
+
+ case ${EPYTHON} in
+ python3.10)
+ EPYTEST_DESELECT+=(
+ # no clue why they fail
+ )
+ ;;
+ esac
+
+ local -x PIP_DISABLE_PIP_VERSION_CHECK=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_XDIST=1
+ epytest -m "not network" -o tmp_path_retention_policy=all
+}
+
+python_install_all() {
+ local DOCS=( AUTHORS.txt docs/html/**/*.rst )
+ distutils-r1_python_install_all
+
+ newbashcomp completion.bash pip
+
+ insinto /usr/share/zsh/site-functions
+ newins completion.zsh _pip
+}
diff --git a/dev-python/pip/pip-24.1.2.ebuild b/dev-python/pip/pip-24.1.2.ebuild
new file mode 100644
index 000000000000..27a0bac854bf
--- /dev/null
+++ b/dev-python/pip/pip-24.1.2.ebuild
@@ -0,0 +1,171 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# please bump dev-python/ensurepip-pip along with this package!
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{10..13} )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 )
+PYTHON_REQ_USE="ssl(+),threads(+)"
+
+inherit bash-completion-r1 distutils-r1
+
+DESCRIPTION="The PyPA recommended tool for installing Python packages"
+HOMEPAGE="
+ https://pip.pypa.io/en/stable/
+ https://pypi.org/project/pip/
+ https://github.com/pypa/pip/
+"
+SRC_URI="
+ https://github.com/pypa/pip/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+# bundled deps
+LICENSE+=" Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MPL-2.0 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc64 ~riscv ~sparc ~x86"
+IUSE="test-rust"
+
+# see src/pip/_vendor/vendor.txt
+RDEPEND="
+ >=dev-python/cachecontrol-0.14.0[${PYTHON_USEDEP}]
+ >=dev-python/distlib-0.3.8[${PYTHON_USEDEP}]
+ >=dev-python/distro-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/msgpack-1.0.8[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24.1[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-4.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-hooks-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.32.0[${PYTHON_USEDEP}]
+ >=dev-python/rich-13.7.1[${PYTHON_USEDEP}]
+ >=dev-python/resolvelib-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-69.5.1[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-8.2.3[${PYTHON_USEDEP}]
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/truststore-0.9.1[${PYTHON_USEDEP}]
+
+ >=dev-python/setuptools-39.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/scripttest[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ )
+ dev-vcs/git
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/pip-23.1-no-coverage.patch"
+ # prepare to unbundle dependencies
+ "${FILESDIR}/pip-24.1-unbundle.patch"
+ )
+
+ distutils-r1_python_prepare_all
+
+ # unbundle dependencies
+ rm -r src/pip/_vendor || die
+ find -name '*.py' -exec sed -i \
+ -e 's:from pip\._vendor import:import:g' \
+ -e 's:from pip\._vendor\.:from :g' \
+ {} + || die
+
+ if use test; then
+ local wheels=(
+ "${BROOT}"/usr/lib/python/ensurepip/{setuptools,wheel}-*.whl
+ )
+ mkdir tests/data/common_wheels/ || die
+ cp "${wheels[@]}" tests/data/common_wheels/ || die
+ fi
+}
+
+python_compile_all() {
+ # 'pip completion' command embeds full $0 into completion script, which confuses
+ # 'complete' and causes QA warning when running as "${PYTHON} -m pip".
+ # This trick sets correct $0 while still calling just installed pip.
+ local pipcmd='import sys; sys.argv[0] = "pip"; __file__ = ""; from pip._internal.cli.main import main; sys.exit(main())'
+ "${EPYTHON}" -c "${pipcmd}" completion --bash > completion.bash || die
+ "${EPYTHON}" -c "${pipcmd}" completion --zsh > completion.zsh || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return 0
+ fi
+
+ local EPYTEST_DESELECT=(
+ tests/functional/test_inspect.py::test_inspect_basic
+ # Internet
+ tests/functional/test_config_settings.py::test_backend_sees_config_via_sdist
+ tests/functional/test_install.py::test_double_install_fail
+ tests/functional/test_install.py::test_install_sdist_links
+ tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
+ # broken by system site-packages use
+ tests/functional/test_check.py::test_basic_check_clean
+ tests/functional/test_check.py::test_check_skip_work_dir_pkg
+ tests/functional/test_check.py::test_check_complicated_name_clean
+ tests/functional/test_check.py::test_check_development_versions_are_also_considered
+ tests/functional/test_freeze.py::test_freeze_with_setuptools
+ tests/functional/test_pip_runner_script.py::test_runner_work_in_environments_with_no_pip
+ tests/functional/test_uninstall.py::test_basic_uninstall_distutils
+ tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup
+ tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup
+ tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers
+ # broken by unbundling
+ "tests/functional/test_debug.py::test_debug[vendored library versions:]"
+ tests/functional/test_debug.py::test_debug__library_versions
+ tests/functional/test_python_option.py::test_python_interpreter
+ tests/functional/test_uninstall.py::test_uninstall_non_local_distutils
+ )
+ local EPYTEST_IGNORE=(
+ # requires proxy.py
+ tests/functional/test_proxy.py
+ )
+
+ if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/functional/test_install.py::test_install_sends_client_cert
+ tests/functional/test_install_config.py::test_do_not_prompt_for_authentication
+ tests/functional/test_install_config.py::test_prompt_for_authentication
+ tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
+ )
+ fi
+
+ local -x PIP_DISABLE_PIP_VERSION_CHECK=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_XDIST=1
+ # rerunfailures because test suite breaks if packages are installed
+ # in parallel
+ epytest -m "not network" -o tmp_path_retention_policy=all \
+ -p rerunfailures --reruns=5
+}
+
+python_install_all() {
+ local DOCS=( AUTHORS.txt docs/html/**/*.rst )
+ distutils-r1_python_install_all
+
+ newbashcomp completion.bash pip
+
+ insinto /usr/share/zsh/site-functions
+ newins completion.zsh _pip
+}
diff --git a/dev-python/pip/pip-24.1.ebuild b/dev-python/pip/pip-24.1.ebuild
new file mode 100644
index 000000000000..f755b06a67b7
--- /dev/null
+++ b/dev-python/pip/pip-24.1.ebuild
@@ -0,0 +1,137 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# please bump dev-python/ensurepip-pip along with this package!
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{10..13} )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" pypy3 )
+PYTHON_REQ_USE="ssl(+),threads(+)"
+
+inherit bash-completion-r1 distutils-r1
+
+DESCRIPTION="The PyPA recommended tool for installing Python packages"
+HOMEPAGE="
+ https://pip.pypa.io/en/stable/
+ https://pypi.org/project/pip/
+ https://github.com/pypa/pip/
+"
+SRC_URI="
+ https://github.com/pypa/pip/archive/${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+# bundled deps
+LICENSE+=" Apache-2.0 BSD BSD-2 ISC LGPL-2.1+ MPL-2.0 PSF-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/setuptools-39.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/scripttest[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ )
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/pip-23.1-no-coverage.patch"
+ # https://github.com/pypa/pip/issues/12786 (and more)
+ "${FILESDIR}/pip-24.1-test-offline.patch"
+ )
+
+ distutils-r1_python_prepare_all
+
+ if use test; then
+ local wheels=(
+ "${BROOT}"/usr/lib/python/ensurepip/{setuptools,wheel}-*.whl
+ )
+ mkdir tests/data/common_wheels/ || die
+ cp "${wheels[@]}" tests/data/common_wheels/ || die
+ fi
+}
+
+python_compile_all() {
+ # 'pip completion' command embeds full $0 into completion script, which confuses
+ # 'complete' and causes QA warning when running as "${PYTHON} -m pip".
+ # This trick sets correct $0 while still calling just installed pip.
+ local pipcmd='import sys; sys.argv[0] = "pip"; __file__ = ""; from pip._internal.cli.main import main; sys.exit(main())'
+ "${EPYTHON}" -c "${pipcmd}" completion --bash > completion.bash || die
+ "${EPYTHON}" -c "${pipcmd}" completion --zsh > completion.zsh || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return 0
+ fi
+
+ local EPYTEST_DESELECT=(
+ tests/functional/test_inspect.py::test_inspect_basic
+ # Internet
+ tests/functional/test_config_settings.py::test_backend_sees_config_via_sdist
+ tests/functional/test_install.py::test_double_install_fail
+ tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
+ )
+ local EPYTEST_IGNORE=(
+ # requires proxy.py
+ tests/functional/test_proxy.py
+ )
+
+ if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/functional/test_install.py::test_install_sends_client_cert
+ tests/functional/test_install_config.py::test_do_not_prompt_for_authentication
+ tests/functional/test_install_config.py::test_prompt_for_authentication
+ tests/functional/test_install_config.py::test_prompt_for_keyring_if_needed
+ )
+ fi
+
+ case ${EPYTHON} in
+ python3.10)
+ EPYTEST_DESELECT+=(
+ # no clue why they fail
+ tests/unit/test_base_command.py::test_base_command_global_tempdir_cleanup
+ tests/unit/test_base_command.py::test_base_command_local_tempdir_cleanup
+ tests/unit/test_base_command.py::test_base_command_provides_tempdir_helpers
+ )
+ ;;
+ esac
+
+ local -x PIP_DISABLE_PIP_VERSION_CHECK=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_XDIST=1
+ epytest -m "not network" -o tmp_path_retention_policy=all
+}
+
+python_install_all() {
+ local DOCS=( AUTHORS.txt docs/html/**/*.rst )
+ distutils-r1_python_install_all
+
+ newbashcomp completion.bash pip
+
+ insinto /usr/share/zsh/site-functions
+ newins completion.zsh _pip
+}
diff --git a/dev-python/pipdeptree/Manifest b/dev-python/pipdeptree/Manifest
index f2857ce4b8be..19636c64445c 100644
--- a/dev-python/pipdeptree/Manifest
+++ b/dev-python/pipdeptree/Manifest
@@ -1,2 +1,7 @@
-DIST pipdeptree-2.13.0.tar.gz 32980 BLAKE2B 37a7ecf2cef1fb2533655b1b911216ed5d069ce639198896517a49be010b1697df2a81aecba001dfbcd9b67618411754a97ad198f2e2c32d73d2104020d5eb01 SHA512 eccc41e1428d2f7146386a6aa0e1c5833302b9eaaa810250cb8029f8cf7f8f8173477553f143835b4dfac318331b9b7467493a3fcae15569d7d371d58b27963f
-DIST pipdeptree-2.13.1.tar.gz 33139 BLAKE2B e7044303f09ad3952e14f79ec11e01a54e9c34ff5b4430094a968602c8a97388eadd4e021c97c97c1767d7ae02b7070ff6e4ec934aef6036b98bf2553d2344a0 SHA512 18c73a8ef458b0a241d967da40453fb8a9fc6550cbd2c21eecca9a81f011b896622fb45a81b79e30eb990454b6f518a1fcc02cb25bb2c5ca988b44e040264e26
+DIST pipdeptree-2.16.2.tar.gz 32151 BLAKE2B 18715b0c7835e19bd5b6846922990e321a7e06315642204e7d79375a50b692f87e2ba1ec5884c4f69ff6e8d75e863c8cf372152aca7561ab94ef265d3c1df9fb SHA512 06d72f94a9165fe52cc15b9f539e3adb6da99e4a63cae78928bf68be3499b2828a5d471f270455b94a960ba2fe2f6319f5319c20ed270029a38a81173a7cd403
+DIST pipdeptree-2.17.0.tar.gz 34677 BLAKE2B 3f92c4361978d2a6b1ae46d3a7e21aca231d504abf3a3cc8388d64a70fc3853a33edeac091a0b60cd3043d86162f6816292f973e9c8691420f906e946a5c9dac SHA512 1e7a4bc7f2f872e9d3115b413acc791eeb912a6f428fca772e30a3c8164ecfa44bba7e5246f9b65cbc4d34ffcd8050ff795ced3e3f9ad918f134ce052a8e8992
+DIST pipdeptree-2.18.1.tar.gz 35101 BLAKE2B e0a9bf6d85d0ab91049b557cd0c8a0a58e93e2342eb0a495ba5978ca734ec329ff363499ecf3182bdab8f01f0fe23653c0b683ec7a288b88b28d2120f0ad8a36 SHA512 ef0b3abb0fa591c92d7dca90ac449651a562adc4a87614dc6a18212274d10ca21fd09fd7e8989454eef2e265d7a1d89801b4a864892359c39bd9eca40885c2d2
+DIST pipdeptree-2.21.0.tar.gz 39119 BLAKE2B 15f37f997b89477a9e1815a2bf120ce5251e9cf2e4df9195dc76bd7414c0cf7f58c4b8e787649492c9826bda5d3f8df60577b5242af7354ad0e1583eabbf0589 SHA512 3d416683c70861de7b768a69fe59a31173e712ecb752c7948329f787c8e13bc54be544fa4a7d3bfdbf6b164202fa8b07898c6e993a53fe244a5f3d9fa9a00573
+DIST pipdeptree-2.22.0.tar.gz 39555 BLAKE2B 6aae7c6a22176dbfcc5184086c37b0237629f48702e1e2484457a6b3eca9442732279c85c3d806cff14edbbea9180d0ed3005c9744780016ee9949a0b530e3aa SHA512 9775d19cc353eae79e6fbe779471998a8368a932f380f34587950a6f4ef62d9185e77764c12cd122029c8690931a5a5939d57a9b1801db9556708676096c2efe
+DIST pipdeptree-2.23.0.tar.gz 39737 BLAKE2B 79fe45880f2942b2ded1d16e2767c4005aca52e0768a5723f37f764c7a60a8104a237ffe2a559f631bf760310143814b0e4afbaf1e5f3ef927828036c320da43 SHA512 9c5fdf7c6d3e519357d4aeb40f4aa2807dfec8fb387114cf40d99469becc68c5042af09f2cdebcca868dd78f3a3c1602b349dfe6cb581758c5c73efc3f6e52c6
+DIST pipdeptree-2.23.1.tar.gz 39883 BLAKE2B 63b578cc466871dda284f66bacc7e262b18157e5fb98e3a884c5e3eddd6945ad3d41a95e2e24fc23d0917e902f0e9ead152259d5ddc919e77e2940c2e2933119 SHA512 bc62c9cf6ee01bb8167477a21c70a7dd4ae1141c1c0690a1e95aea49cd4cb7d7e18bf076a532b00b79014a23c069df8aa09ac1bfd2d328b57e444192f1b10e5d
diff --git a/dev-python/pipdeptree/files/pipdeptree-2.13.2-fix-pypy-7.3.14.patch b/dev-python/pipdeptree/files/pipdeptree-2.13.2-fix-pypy-7.3.14.patch
new file mode 100644
index 000000000000..3718174d0af6
--- /dev/null
+++ b/dev-python/pipdeptree/files/pipdeptree-2.13.2-fix-pypy-7.3.14.patch
@@ -0,0 +1,37 @@
+https://bugs.gentoo.org/923893
+
+From 5d111ebe3bb1d24baa314b615d67d3e3928297ca Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Wed, 7 Feb 2024 08:47:03 +0200
+Subject: [PATCH] Use json output for test which parses installed packages
+
+* pypy bundles hpy which has a dependency on setuptools, therefore
+ breaking non-json output due sub-dependency pretty printing.
+* Using json makes parsing dependencies straight forward.
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/tests/test_non_host.py
++++ b/tests/test_non_host.py
+@@ -1,5 +1,6 @@
+ from __future__ import annotations
+
++import json
+ import sys
+ from platform import python_implementation
+ from typing import TYPE_CHECKING
+@@ -25,10 +26,10 @@ def test_custom_interpreter(
+ monkeypatch.chdir(tmp_path)
+ py = str(result.creator.exe.relative_to(tmp_path))
+ cmd += [f"--python={result.creator.exe}"] if args_joined else ["--python", py]
+- monkeypatch.setattr(sys, "argv", cmd)
++ monkeypatch.setattr(sys, "argv", [*cmd, "-j"])
+ main()
+ out, _ = capfd.readouterr()
+- found = {i.split("==")[0] for i in out.splitlines()}
++ found = {i["package"]["package_name"] for i in json.loads(out)}
+ implementation = python_implementation()
+ if implementation == "CPython":
+ expected = {"pip", "setuptools", "wheel"}
+--
+2.43.0
+
diff --git a/dev-python/pipdeptree/files/pipdeptree-2.17.0-expect-hpy-in-pypy-7.3.3.patch b/dev-python/pipdeptree/files/pipdeptree-2.17.0-expect-hpy-in-pypy-7.3.3.patch
new file mode 100644
index 000000000000..09c31f8a78b4
--- /dev/null
+++ b/dev-python/pipdeptree/files/pipdeptree-2.17.0-expect-hpy-in-pypy-7.3.3.patch
@@ -0,0 +1,28 @@
+https://github.com/tox-dev/pipdeptree/pull/302
+
+From 1fc794e66fc5cac464704dda1bc303353386584f Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Tue, 14 Nov 2023 08:36:09 +0200
+Subject: [PATCH] Expect hpy in pypy versions >= 7.3.3
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/tests/test_non_host.py
++++ b/tests/test_non_host.py
+@@ -32,8 +32,12 @@ def test_custom_interpreter(
+ implementation = python_implementation()
+ if implementation == "CPython":
+ expected = {"pip", "setuptools", "wheel"}
+- elif implementation == "PyPy":
+- expected = {"cffi", "greenlet", "pip", "readline", "setuptools", "wheel"} # pragma: no cover
++ elif implementation == "PyPy": # pragma: no cover
++ # hpy added in 7.3.2, enabled in 7.3.3
++ if sys.pypy_version_info >= (7, 3, 3): # type: ignore[attr-defined]
++ expected = {"cffi", "greenlet", "hpy", "pip", "readline", "setuptools", "wheel"}
++ else:
++ expected = {"cffi", "greenlet", "pip", "readline", "setuptools", "wheel"}
+ else:
+ raise ValueError(implementation)
+ if sys.version_info >= (3, 12):
+--
+2.44.0
+
diff --git a/dev-python/pipdeptree/files/pipdeptree-2.18.1-fix-pypy-7.3.14.patch b/dev-python/pipdeptree/files/pipdeptree-2.18.1-fix-pypy-7.3.14.patch
new file mode 100644
index 000000000000..6179d823a021
--- /dev/null
+++ b/dev-python/pipdeptree/files/pipdeptree-2.18.1-fix-pypy-7.3.14.patch
@@ -0,0 +1,16 @@
+--- a/tests/test_non_host.py 2024-06-12 21:33:13.696206671 +0200
++++ b/tests/test_non_host.py 2024-06-12 21:46:40.146193582 +0200
+@@ -32,10 +32,10 @@
+ result = virtualenv.cli_run([str(tmp_path / "venv"), "--activators", ""])
+ py = str(result.creator.exe.relative_to(tmp_path))
+ cmd = ["", f"--python={result.creator.exe}"] if args_joined else ["", "--python", py]
+- mocker.patch("pipdeptree._discovery.sys.argv", cmd)
++ mocker.patch("pipdeptree._discovery.sys.argv", [*cmd, "-j"])
+ main()
+ out, _ = capfd.readouterr()
+- found = {i.split("==")[0] for i in out.splitlines()}
++ found = {i["package"]["package_name"] for i in json.loads(out)}
+ implementation = python_implementation()
+ if implementation == "CPython":
+ expected = {"pip", "setuptools", "wheel"}
+
diff --git a/dev-python/pipdeptree/files/pipdeptree-2.21.0-pypy.patch b/dev-python/pipdeptree/files/pipdeptree-2.21.0-pypy.patch
new file mode 100644
index 000000000000..bbc8ea9d0b9c
--- /dev/null
+++ b/dev-python/pipdeptree/files/pipdeptree-2.21.0-pypy.patch
@@ -0,0 +1,134 @@
+diff --git a/tests/test_non_host.py b/tests/test_non_host.py
+index 7049b0c..54ba7fb 100644
+--- a/tests/test_non_host.py
++++ b/tests/test_non_host.py
+@@ -16,6 +16,21 @@
+ from pytest_mock import MockerFixture
+
+
++@pytest.fixture(scope="session")
++def expected_venv_pkgs() -> frozenset[str]:
++ implementation = python_implementation()
++ if implementation == "CPython": # pragma: cpython cover
++ expected = {"pip", "setuptools", "wheel"}
++ elif implementation == "PyPy": # pragma: pypy cover
++ expected = {"cffi", "greenlet", "pip", "readline", "hpy", "setuptools", "wheel"}
++ else: # pragma: no cover
++ raise ValueError(implementation)
++ if sys.version_info >= (3, 12): # pragma: >=3.12 cover
++ expected -= {"setuptools", "wheel"}
++
++ return frozenset(expected)
++
++
+ @pytest.mark.parametrize("args_joined", [True, False])
+ def test_custom_interpreter(
+ tmp_path: Path,
+@@ -23,6 +38,7 @@ def test_custom_interpreter(
+ monkeypatch: pytest.MonkeyPatch,
+ capfd: pytest.CaptureFixture[str],
+ args_joined: bool,
++ expected_venv_pkgs: frozenset[str],
+ ) -> None:
+ # Delete $PYTHONPATH so that it cannot be passed to the custom interpreter process (since we don't know what
+ # distribution metadata to expect when it's used).
+@@ -32,20 +48,13 @@ def test_custom_interpreter(
+ result = virtualenv.cli_run([str(tmp_path / "venv"), "--activators", ""])
+ py = str(result.creator.exe.relative_to(tmp_path))
+ cmd = ["", f"--python={result.creator.exe}"] if args_joined else ["", "--python", py]
++ cmd += ["--all", "--depth", "0"]
+ mocker.patch("pipdeptree._discovery.sys.argv", cmd)
+ main()
+ out, _ = capfd.readouterr()
+ found = {i.split("==")[0] for i in out.splitlines()}
+- implementation = python_implementation()
+- if implementation == "CPython":
+- expected = {"pip", "setuptools", "wheel"}
+- elif implementation == "PyPy":
+- expected = {"cffi", "greenlet", "pip", "readline", "setuptools", "wheel"} # pragma: no cover
+- else:
+- raise ValueError(implementation)
+- if sys.version_info >= (3, 12):
+- expected -= {"setuptools", "wheel"}
+- assert found == expected, out
++
++ assert expected_venv_pkgs == found, out
+
+
+ def test_custom_interpreter_with_local_only(
+@@ -54,7 +63,6 @@ def test_custom_interpreter_with_local_only(
+ capfd: pytest.CaptureFixture[str],
+ ) -> None:
+ venv_path = str(tmp_path / "venv")
+-
+ result = virtualenv.cli_run([venv_path, "--system-site-packages", "--activators", ""])
+
+ cmd = ["", f"--python={result.creator.exe}", "--local-only"]
+@@ -63,16 +71,10 @@ def test_custom_interpreter_with_local_only(
+ main()
+ out, _ = capfd.readouterr()
+ found = {i.split("==")[0] for i in out.splitlines()}
+- implementation = python_implementation()
+- if implementation == "CPython":
+- expected = {"pip", "setuptools", "wheel"}
+- elif implementation == "PyPy": # pragma: no cover
+- expected = {"cffi", "greenlet", "pip", "readline", "setuptools", "wheel"} # pragma: no cover
+- else:
+- raise ValueError(implementation) # pragma: no cover
+- if sys.version_info >= (3, 12):
+- expected -= {"setuptools", "wheel"} # pragma: no cover
+- assert found == expected, out
++ expected = {"pip", "setuptools", "wheel"}
++ if sys.version_info >= (3, 12): # pragma: >=3.12 cover
++ expected -= {"setuptools", "wheel"}
++ assert expected == found, out
+
+
+ def test_custom_interpreter_with_user_only(
+@@ -81,7 +83,6 @@ def test_custom_interpreter_with_user_only(
+ # ensures there is no output when --user-only and --python are passed
+
+ venv_path = str(tmp_path / "venv")
+-
+ result = virtualenv.cli_run([venv_path, "--activators", ""])
+
+ cmd = ["", f"--python={result.creator.exe}", "--user-only"]
+@@ -127,7 +128,7 @@ def test_custom_interpreter_with_user_only_and_system_site_pkgs_enabled(
+ found = {i.split("==")[0] for i in out.splitlines()}
+ expected = {"bar"}
+
+- assert found == expected
++ assert expected == found
+
+
+ def test_custom_interpreter_ensure_pythonpath_envar_is_honored(
+@@ -135,6 +136,7 @@ def test_custom_interpreter_ensure_pythonpath_envar_is_honored(
+ mocker: MockerFixture,
+ monkeypatch: pytest.MonkeyPatch,
+ capfd: pytest.CaptureFixture[str],
++ expected_venv_pkgs: frozenset[str],
+ ) -> None:
+ # ensures that we honor $PYTHONPATH when passing it to the custom interpreter process
+ venv_path = str(tmp_path / "venv")
+@@ -146,19 +148,10 @@ def test_custom_interpreter_ensure_pythonpath_envar_is_honored(
+ fake_metadata = fake_dist / "METADATA"
+ with fake_metadata.open("w") as f:
+ f.write("Metadata-Version: 2.3\n" "Name: foo\n" "Version: 1.2.3\n")
+- cmd = ["", f"--python={result.creator.exe}"]
++ cmd = ["", f"--python={result.creator.exe}", "--all", "--depth", "0"]
+ mocker.patch("pipdeptree._discovery.sys.argv", cmd)
+ monkeypatch.setenv("PYTHONPATH", str(another_path))
+ main()
+ out, _ = capfd.readouterr()
+ found = {i.split("==")[0] for i in out.splitlines()}
+- implementation = python_implementation()
+- if implementation == "CPython":
+- expected = {"foo", "pip", "setuptools", "wheel"}
+- elif implementation == "PyPy": # pragma: cpython no cover
+- expected = {"foo", "cffi", "greenlet", "pip", "readline", "setuptools", "wheel"}
+- else: # pragma: no cover
+- raise ValueError(implementation)
+- if sys.version_info >= (3, 12): # pragma: >=3.12 cover
+- expected -= {"setuptools", "wheel"}
+- assert found == expected, out
++ assert {*expected_venv_pkgs, "foo"} == found, out
diff --git a/dev-python/pipdeptree/pipdeptree-2.13.0.ebuild b/dev-python/pipdeptree/pipdeptree-2.13.0.ebuild
deleted file mode 100644
index 8797679d46f1..000000000000
--- a/dev-python/pipdeptree/pipdeptree-2.13.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2022-2023 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="Utility for displaying installed packages in a dependency tree"
-HOMEPAGE="
- https://github.com/tox-dev/pipdeptree
- https://pypi.org/project/pipdeptree/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pipdeptree/pipdeptree-2.13.1.ebuild b/dev-python/pipdeptree/pipdeptree-2.13.1.ebuild
deleted file mode 100644
index f2d71adbba6e..000000000000
--- a/dev-python/pipdeptree/pipdeptree-2.13.1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2022-2023 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 optfeature
-
-DESCRIPTION="Utility for displaying installed packages in a dependency tree"
-HOMEPAGE="
- https://github.com/tox-dev/pipdeptree/
- https://pypi.org/project/pipdeptree/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-
-BDEPEND="
- test? (
- dev-python/graphviz[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- # https://github.com/tox-dev/pipdeptree/pull/302
- "${FILESDIR}/pipdeptree-2.13.1-expect-hpy-in-pypy-7.3.3.patch"
-)
-
-distutils_enable_tests pytest
-
-pkg_postinst() {
- optfeature \
- "visualising the dependency graph with --graph-output" \
- dev-python/graphviz
-}
diff --git a/dev-python/pipdeptree/pipdeptree-2.16.2-r1.ebuild b/dev-python/pipdeptree/pipdeptree-2.16.2-r1.ebuild
new file mode 100644
index 000000000000..8c04dc58e0a6
--- /dev/null
+++ b/dev-python/pipdeptree/pipdeptree-2.16.2-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2022-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 optfeature
+
+DESCRIPTION="Utility for displaying installed packages in a dependency tree"
+HOMEPAGE="
+ https://github.com/tox-dev/pipdeptree/
+ https://pypi.org/project/pipdeptree/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ >=dev-python/pip-23.1.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ # https://github.com/tox-dev/pipdeptree/pull/302
+ "${FILESDIR}/pipdeptree-2.13.1-expect-hpy-in-pypy-7.3.3.patch"
+ "${FILESDIR}/pipdeptree-2.13.2-fix-pypy-7.3.14.patch"
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ find -name '*.py' -exec \
+ sed -i -e 's:pip[.]_vendor[.]::' {} + || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
+
+pkg_postinst() {
+ optfeature \
+ "visualising the dependency graph with --graph-output" \
+ dev-python/graphviz
+}
diff --git a/dev-python/pipdeptree/pipdeptree-2.17.0-r1.ebuild b/dev-python/pipdeptree/pipdeptree-2.17.0-r1.ebuild
new file mode 100644
index 000000000000..ab9fab7bed89
--- /dev/null
+++ b/dev-python/pipdeptree/pipdeptree-2.17.0-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2022-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 optfeature
+
+DESCRIPTION="Utility for displaying installed packages in a dependency tree"
+HOMEPAGE="
+ https://github.com/tox-dev/pipdeptree/
+ https://pypi.org/project/pipdeptree/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ >=dev-python/pip-23.1.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ # https://github.com/tox-dev/pipdeptree/pull/302
+ "${FILESDIR}/pipdeptree-2.17.0-expect-hpy-in-pypy-7.3.3.patch"
+ "${FILESDIR}/pipdeptree-2.13.2-fix-pypy-7.3.14.patch"
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ find -name '*.py' -exec \
+ sed -i -e 's:pip[.]_vendor[.]::' {} + || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
+
+pkg_postinst() {
+ optfeature \
+ "visualising the dependency graph with --graph-output" \
+ dev-python/graphviz
+}
diff --git a/dev-python/pipdeptree/pipdeptree-2.18.1.ebuild b/dev-python/pipdeptree/pipdeptree-2.18.1.ebuild
new file mode 100644
index 000000000000..1c600a4fd312
--- /dev/null
+++ b/dev-python/pipdeptree/pipdeptree-2.18.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2022-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 optfeature
+
+DESCRIPTION="Utility for displaying installed packages in a dependency tree"
+HOMEPAGE="
+ https://github.com/tox-dev/pipdeptree/
+ https://pypi.org/project/pipdeptree/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ >=dev-python/pip-23.1.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ # https://github.com/tox-dev/pipdeptree/pull/302
+ "${FILESDIR}/pipdeptree-2.17.0-expect-hpy-in-pypy-7.3.3.patch"
+ "${FILESDIR}/pipdeptree-2.18.1-fix-pypy-7.3.14.patch"
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
+
+pkg_postinst() {
+ optfeature \
+ "visualising the dependency graph with --graph-output" \
+ dev-python/graphviz
+}
diff --git a/dev-python/pipdeptree/pipdeptree-2.21.0-r1.ebuild b/dev-python/pipdeptree/pipdeptree-2.21.0-r1.ebuild
new file mode 100644
index 000000000000..2e77548af84f
--- /dev/null
+++ b/dev-python/pipdeptree/pipdeptree-2.21.0-r1.ebuild
@@ -0,0 +1,58 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1 pypi optfeature
+
+DESCRIPTION="Utility for displaying installed packages in a dependency tree"
+HOMEPAGE="
+ https://github.com/tox-dev/pipdeptree/
+ https://pypi.org/project/pipdeptree/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ >=dev-python/pip-23.1.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ >=dev-python/pytest-console-scripts-1.4.1[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ # https://github.com/tox-dev/pipdeptree/pull/369
+ "${FILESDIR}/${P}-pypy.patch"
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ find -name '*.py' -exec \
+ sed -i -e 's:pip[.]_vendor[.]::' {} + || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock -p console-scripts
+}
+
+pkg_postinst() {
+ optfeature \
+ "visualising the dependency graph with --graph-output" \
+ dev-python/graphviz
+}
diff --git a/dev-python/pipdeptree/pipdeptree-2.22.0-r1.ebuild b/dev-python/pipdeptree/pipdeptree-2.22.0-r1.ebuild
new file mode 100644
index 000000000000..0f2bc0747e89
--- /dev/null
+++ b/dev-python/pipdeptree/pipdeptree-2.22.0-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1 pypi optfeature
+
+DESCRIPTION="Utility for displaying installed packages in a dependency tree"
+HOMEPAGE="
+ https://github.com/tox-dev/pipdeptree/
+ https://pypi.org/project/pipdeptree/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ >=dev-python/pip-23.1.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ >=dev-python/pytest-console-scripts-1.4.1[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ find -name '*.py' -exec \
+ sed -i -e 's:pip[.]_vendor[.]::' {} + || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock -p console-scripts
+}
+
+pkg_postinst() {
+ optfeature \
+ "visualising the dependency graph with --graph-output" \
+ dev-python/graphviz
+}
diff --git a/dev-python/pipdeptree/pipdeptree-2.23.0-r1.ebuild b/dev-python/pipdeptree/pipdeptree-2.23.0-r1.ebuild
new file mode 100644
index 000000000000..0f2bc0747e89
--- /dev/null
+++ b/dev-python/pipdeptree/pipdeptree-2.23.0-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1 pypi optfeature
+
+DESCRIPTION="Utility for displaying installed packages in a dependency tree"
+HOMEPAGE="
+ https://github.com/tox-dev/pipdeptree/
+ https://pypi.org/project/pipdeptree/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ >=dev-python/pip-23.1.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ >=dev-python/pytest-console-scripts-1.4.1[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ find -name '*.py' -exec \
+ sed -i -e 's:pip[.]_vendor[.]::' {} + || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock -p console-scripts
+}
+
+pkg_postinst() {
+ optfeature \
+ "visualising the dependency graph with --graph-output" \
+ dev-python/graphviz
+}
diff --git a/dev-python/pipdeptree/pipdeptree-2.23.1.ebuild b/dev-python/pipdeptree/pipdeptree-2.23.1.ebuild
new file mode 100644
index 000000000000..0f2bc0747e89
--- /dev/null
+++ b/dev-python/pipdeptree/pipdeptree-2.23.1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1 pypi optfeature
+
+DESCRIPTION="Utility for displaying installed packages in a dependency tree"
+HOMEPAGE="
+ https://github.com/tox-dev/pipdeptree/
+ https://pypi.org/project/pipdeptree/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ >=dev-python/pip-23.1.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ >=dev-python/pytest-console-scripts-1.4.1[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ find -name '*.py' -exec \
+ sed -i -e 's:pip[.]_vendor[.]::' {} + || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock -p console-scripts
+}
+
+pkg_postinst() {
+ optfeature \
+ "visualising the dependency graph with --graph-output" \
+ dev-python/graphviz
+}
diff --git a/dev-python/pipenv/Manifest b/dev-python/pipenv/Manifest
index 55f477212328..d3b31ff4c58a 100644
--- a/dev-python/pipenv/Manifest
+++ b/dev-python/pipenv/Manifest
@@ -1,2 +1,2 @@
-DIST pipenv-2023.7.11.gh.tar.gz 10828051 BLAKE2B 3eeab9c5328dc5914e7e024f07bf105241ca777187ce50d5765f0ca1bb7270d8c6bda6a842b188fcacb57ba8bf5d0ed5f7b29b9edce5d45e485c8079691ac991 SHA512 d37cf030f4f77d4c95d0f0883140b1e829d4473b43fdc3f61c3d39827fdf9c98ecfc794d3eacf3ebedb55dadb018416c1250938a193a6382ac61ce859d19e193
-DIST pipenv-2023.9.8.gh.tar.gz 10819425 BLAKE2B 3fd67d5aa7022251660c09d47e6d2487eabca507dbac8ebb2c298ef46cae452e6f2330615053d80a404f98ce523e5ff15ef89adbc85779305633b45e6b989423 SHA512 328cab44cea16bb685f745f80804e2a8b951e93a24379d5b61faeae4730e58d48cff663652f785800dd1dffc7a05f398ca54eb5118cd4fcfa43c35dad86f60eb
+DIST pipenv-2023.12.1.gh.tar.gz 10728288 BLAKE2B dc9425303e24652b797c9f9f9f6cc6f13f30e32775fe0458ee472af5d859ee245c58f3adb6040390bd53d3e1efd6493f930c7336e69956516b36e26e70ca14b7 SHA512 caadbeb32c0445abfae65d86df8d9a5875e71c1a0a281193194ae61c0b095c8f9361a5dd67f92acd5b64d8dc1d877324e959357470894d7d60ceb1a619c831db
+DIST pipenv-2024.0.1.gh.tar.gz 10805446 BLAKE2B d9fc964cc3a204bb45c299595c238e3d37368e53b39d8be0cdbcadcec3ca395adbb03bf7abaa7d5d729ed47443c40b908f74abbff475e4a99c7e6d4436f04ee8 SHA512 67acff8e4c40e18a60e824420752cd2e5633e50c138b64131ca19cce15e97a1e36b9e685b92fed7378eeccce8154d3d36701134854d60b0fbc47e341b18f945e
diff --git a/dev-python/pipenv/files/pipenv-2022.9.24-inject-site-packages.patch b/dev-python/pipenv/files/pipenv-2022.9.24-inject-site-packages.patch
deleted file mode 100644
index 04cf0ed9e317..000000000000
--- a/dev-python/pipenv/files/pipenv-2022.9.24-inject-site-packages.patch
+++ /dev/null
@@ -1,34 +0,0 @@
-diff --git a/pipenv/patched/pip/__main__.py b/pipenv/patched/pip/__main__.py
-index b424ab20..79d52838 100644
---- a/pipenv/patched/pip/__main__.py
-+++ b/pipenv/patched/pip/__main__.py
-@@ -28,6 +28,13 @@ if __name__ == "__main__":
- )
- import importlib.util
- import sys
-+
-+
-+ SITE_PACKAGES_ROOT = os.path.dirname(os.path.dirname(os.path.dirname(os.path.dirname(__file__))))
-+
-+ # Inject site directory into system path.
-+ sys.path.insert(-1, SITE_PACKAGES_ROOT)
-+
- spec = importlib.util.spec_from_file_location(
- "pipenv", location=os.path.join(os.path.dirname(os.path.dirname(os.path.dirname(__file__))), "__init__.py"))
- pipenv = importlib.util.module_from_spec(spec)
-diff --git a/pipenv/resolver.py b/pipenv/resolver.py
-index 3fea0a1e..a0d9da29 100644
---- a/pipenv/resolver.py
-+++ b/pipenv/resolver.py
-@@ -6,6 +6,11 @@ import sys
-
- os.environ["PIP_PYTHON_PATH"] = str(sys.executable)
-
-+SITE_PACKAGES_ROOT = os.path.dirname(os.path.dirname(__file__))
-+
-+# Inject site directory into system path.
-+sys.path.insert(-1, SITE_PACKAGES_ROOT)
-+
-
- def _ensure_modules():
- spec = importlib.util.spec_from_file_location(
diff --git a/dev-python/pipenv/files/pipenv-2023.4.29-append-always-install.patch b/dev-python/pipenv/files/pipenv-2023.4.29-append-always-install.patch
deleted file mode 100644
index 25a9c604e5b4..000000000000
--- a/dev-python/pipenv/files/pipenv-2023.4.29-append-always-install.patch
+++ /dev/null
@@ -1,19 +0,0 @@
-diff --git a/pipenv/routines/install.py b/pipenv/routines/install.py
-index 4b8b2bf8c..a3e1fbcf7 100644
---- a/pipenv/routines/install.py
-+++ b/pipenv/routines/install.py
-@@ -580,6 +580,14 @@ def batch_install_iteration(
- strip_extras_markers_from_requirement,
- )
-
-+ # Gentoo patch:
-+ # Install dependencies into the venv even if they exist
-+ # in the system.
-+ # This is needed because pipenv imports the system packages to run.
-+ # It does not change your system's packages.
-+ if (extra_pip_args is not None) and ("-I" not in extra_pip_args):
-+ extra_pip_args.append("-I")
-+
- is_artifact = False
- for dep in deps_to_install:
- if dep.req.req:
diff --git a/dev-python/pipenv/files/pipenv-2023.7.11-fix-imports-utils.patch b/dev-python/pipenv/files/pipenv-2023.7.11-fix-imports-utils.patch
deleted file mode 100644
index 2e348bf8e440..000000000000
--- a/dev-python/pipenv/files/pipenv-2023.7.11-fix-imports-utils.patch
+++ /dev/null
@@ -1,15 +0,0 @@
-diff --git a/pipenv/utils/environment.py b/pipenv/utils/environment.py
-index 2e066eef2..219d8f9e5 100644
---- a/pipenv/utils/environment.py
-+++ b/pipenv/utils/environment.py
-@@ -1,7 +1,9 @@
- import os
-
-+import click
-+import dotenv
-+
- from pipenv import environments
--from pipenv.vendor import click, dotenv
-
-
- def load_dot_env(project, as_dict=False, quiet=False):
diff --git a/dev-python/pipenv/files/pipenv-2023.7.11-fix-imports.patch b/dev-python/pipenv/files/pipenv-2023.7.11-fix-imports.patch
deleted file mode 100644
index a437d55b6964..000000000000
--- a/dev-python/pipenv/files/pipenv-2023.7.11-fix-imports.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/pipenv/environment.py b/pipenv/environment.py
-index dbb89b011..89f2aaf9e 100644
---- a/pipenv/environment.py
-+++ b/pipenv/environment.py
-@@ -14,7 +14,9 @@ from sysconfig import get_paths, get_python_version, get_scheme_names
- from urllib.parse import urlparse
- from urllib.request import url2pathname
-
-+import click
- import pipenv
-+
- from pipenv.patched.pip._internal.commands.install import InstallCommand
- from pipenv.patched.pip._internal.index.package_finder import PackageFinder
- from pipenv.patched.pip._vendor import pkg_resources
-@@ -23,7 +25,6 @@ from pipenv.utils.funktools import chunked, unnest
- from pipenv.utils.indexes import prepare_pip_source_args
- from pipenv.utils.processes import subprocess_run
- from pipenv.utils.shell import make_posix
--from pipenv.vendor import click
- from pipenv.vendor.pythonfinder.utils import is_in_path
- from pipenv.vendor.requirementslib.fileutils import normalize_path, temp_path
- from pipenv.vendor.requirementslib.utils import temp_environ
-diff --git a/pipenv/project.py b/pipenv/project.py
-index f865988b9..e8714ef63 100644
---- a/pipenv/project.py
-+++ b/pipenv/project.py
-@@ -44,9 +44,11 @@ from pipenv.utils.shell import (
- system_which,
- )
- from pipenv.utils.toml import cleanup_toml, convert_toml_outline_tables
--from pipenv.vendor import click, plette, tomlkit
-+from pipenv.vendor import plette
- from pipenv.vendor.requirementslib.models.utils import get_default_pyproject_backend
-
-+import click, tomlkit
-+
- try:
- # this is only in Python3.8 and later
- from functools import cached_property
diff --git a/dev-python/pipenv/pipenv-2023.12.1-r1.ebuild b/dev-python/pipenv/pipenv-2023.12.1-r1.ebuild
new file mode 100644
index 000000000000..e1fda83fb9bb
--- /dev/null
+++ b/dev-python/pipenv/pipenv-2023.12.1-r1.ebuild
@@ -0,0 +1,123 @@
+# 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 multiprocessing
+
+MY_PV=${PV/_beta/b}
+DESCRIPTION="Python Development Workflow for Humans"
+HOMEPAGE="https://github.com/pypa/pipenv https://pypi.org/project/pipenv/"
+SRC_URI="https://github.com/pypa/pipenv/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}"/${PN}-${MY_PV}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+PATCHES=(
+ "${FILESDIR}/pipenv-2023.9.8-inject-system-packages.patch"
+ "${FILESDIR}/pipenv-2023.9.8-append-always-install-to-pip-extra-args.patch"
+)
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/click-didyoumean[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4.4[${PYTHON_USEDEP}]
+ dev-python/dparse[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.8.0[${PYTHON_USEDEP}]
+ ~dev-python/pipdeptree-2.16.2[${PYTHON_USEDEP}]
+ ~dev-python/plette-0.4.4[${PYTHON_USEDEP}]
+ >=dev-python/ptyprocess-0.7.0[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ ~dev-python/pythonfinder-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep ' dev-python/tomli[${PYTHON_USEDEP}] ' python3_{9..10})
+ >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
+ >=dev-python/python-dotenv-0.21.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.0.35[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.26.0[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ dev-python/shellingham[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+# IMPORTANT: The following sed command patches the vendor direcotry
+# in the pipenv source. Attempts to simply bump the version of the
+# package without checking that it works is likely to fail
+# The vendored packages should eventually all be removed
+# see: https://bugs.gentoo.org/717666
+src_prepare() {
+ sed --in-place -e "s/import click, plette, tomlkit/import click\n\import tomlkit\nfrom pipenv.vendor import plette/g" pipenv/project.py || die "Failed patching pipenv/project.py"
+
+ local pkgName
+ local jobs=$(makeopts_jobs)
+ local packages=( cerberus colorama click click_didyoumean dotenv dparse markupsafe \
+ pexpect pep517 pipdeptree plette ptyprocess pydantic pyparsing pythonfinder \
+ requests urllib3 shellingham tomli tomlkit )
+ for pkgName in ${packages[@]}; do
+ find ./ -type f -print0 | \
+ xargs --max-procs="${jobs}" --null \
+ sed --in-place \
+ -e "s/from pipenv.vendor import ${pkgName}/import ${pkgName}/g" \
+ -e "s/from pipenv.vendor.${pkgName}\(.*\) import \(\w*\)/from ${pkgName}\1 import \2/g"\
+ -e "s/import pipenv.vendor.${pkgName} as ${pkgName}/import ${pkgName}/g" \
+ -e "s/from .vendor import ${pkgName}/import ${pkgName}/g" \
+ -e "s/from .vendor.${pkgName}/from ${pkgName}/g" || die "Failed to sed for ${pkgName}"
+ done
+
+ distutils-r1_src_prepare
+
+ # remove vendored versions
+ for pkgName in ${packages[@]}; do
+ find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName}$" -prune -exec rm -rvf {} + || die
+ # package names can be foo-bar, their module will be however foo_bar
+ find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName/_/-}" -prune -exec rm -rvf {} + || die
+ done
+
+ find ./pipenv/vendor -regextype posix-extended -regex '.*cached[_-]property.*' -prune -exec rm -rvf {} + || die
+
+ find ./ -type f -print0 | \
+ xargs --max-procs="${jobs}" --null \
+ sed --in-place \
+ -e "s/from pipenv\.vendor import plette, toml, tomlkit, vistir/from pipenv\.vendor import plette, toml, vistir\\nimport tomlkit/g"
+
+ # remove python ruaml yaml
+ sed --in-place -e \
+ "s/from pipenv\.vendor\.ruamel\.yaml import YAML/from ruamel\.yaml import YAML/g" \
+ pipenv/patched/safety/util.py || die "Failed sed in ruaml-yaml"
+ sed --in-place -e \
+ "s/from pipenv\.vendor\.ruamel\.yaml\.error import MarkedYAMLError/from ruamel\.yaml\.error import MarkedYAMLError/g" \
+ pipenv/patched/safety/util.py || die "Failed sed in ruamel-yaml"
+
+ rm -vR pipenv/vendor/ruamel || die "Failed removing ruamel-yaml from vendor"
+
+ for fname in Makefile README.md ruamel.*.LICENSE vendor.txt; do
+ rm -v pipenv/vendor/$fname || die "Failed removing pipenv/vendor/${fname}"
+ done
+
+ sed --in-place -e "s/pipenv.vendor.pythonfinder.utils.get_python_version/pythonfinder.utils.get_python_version/g" tests/unit/test_utils.py || die "Failed patching tests"
+
+ rm -Rfv pipenv/vendor || die "Could not vendor"
+ rm -Rfv examples || die "Could not remove examples"
+ rm -Rfv docs || die "Could not remove docs"
+}
+
+python_test() {
+ epytest -m "not cli and not needs_internet" tests/unit/
+}
diff --git a/dev-python/pipenv/pipenv-2023.7.11-r1.ebuild b/dev-python/pipenv/pipenv-2023.7.11-r1.ebuild
deleted file mode 100644
index d3c14a35eedd..000000000000
--- a/dev-python/pipenv/pipenv-2023.7.11-r1.ebuild
+++ /dev/null
@@ -1,115 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 multiprocessing
-
-MY_PV=${PV/_beta/b}
-DESCRIPTION="Python Development Workflow for Humans"
-HOMEPAGE="https://github.com/pypa/pipenv https://pypi.org/project/pipenv/"
-SRC_URI="https://github.com/pypa/pipenv/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}"/${PN}-${MY_PV}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-PATCHES=(
- "${FILESDIR}/pipenv-2022.9.24-inject-site-packages.patch"
- "${FILESDIR}/pipenv-2023.4.29-append-always-install.patch"
- "${FILESDIR}/pipenv-2023.7.11-fix-imports.patch"
- "${FILESDIR}/pipenv-2023.7.11-fix-imports-utils.patch"
-)
-
-RDEPEND="
- >=dev-python/cerberus-1.3.2[${PYTHON_USEDEP}]
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/click-didyoumean[${PYTHON_USEDEP}]
- >=dev-python/colorama-0.4.4[${PYTHON_USEDEP}]
- >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/ptyprocess-0.7.0[${PYTHON_USEDEP}]
- dev-python/pyparsing[${PYTHON_USEDEP}]
- $(python_gen_cond_dep ' dev-python/tomli[${PYTHON_USEDEP}] ' python3_{9..10})
- >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
- >=dev-python/python-dotenv-0.21.0[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20.0.35[${PYTHON_USEDEP}]
- dev-python/virtualenv-clone[${PYTHON_USEDEP}]
- >=dev-python/requests-2.26.0[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- dev-python/shellingham[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- ${RDEPEND}
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-# IMPORTANT: The following sed command patches the vendor direcotry
-# in the pipenv source. Attempts to simply bump the version of the
-# package without checking that it works is likely to fail
-# The vendored packages should eventually all be removed
-# see: https://bugs.gentoo.org/717666
-src_prepare() {
- local pkgName
- local jobs=$(makeopts_jobs)
- local packages=( cerberus colorama click_didyoumean dotenv markupsafe \
- pexpect ptyprocess pyparsing requests urllib3 \
- shellingham tomli tomlkit )
- for pkgName in ${packages[@]}; do
- find ./ -type f -print0 | \
- xargs --max-procs="${jobs}" --null \
- sed --in-place \
- -e "s/from pipenv.vendor import ${pkgName}/import ${pkgName}/g" \
- -e "s/from pipenv.vendor.${pkgName}\(.*\) import \(\w*\)/from ${pkgName}\1 import \2/g"\
- -e "s/import pipenv.vendor.${pkgName} as ${pkgName}/import ${pkgName}/g" \
- -e "s/from .vendor import ${pkgName}/import ${pkgName}/g" || die "Failed to sed for ${pkgName}"
- done
-
- distutils-r1_src_prepare
-
- # remove vendored versions
- for pkgName in ${packages[@]}; do
- find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName}$" -prune -exec rm -rvf {} + || die
- # package names can be foo-bar, their module will be however foo_bar
- find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName/_/-}" -prune -exec rm -rvf {} + || die
- done
-
- find ./pipenv/vendor -regextype posix-extended -regex '.*cached[_-]property.*' -prune -exec rm -rvf {} + || die
-
- find ./ -type f -print0 | \
- xargs --max-procs="${jobs}" --null \
- sed --in-place \
- -e "s/from pipenv\.vendor import plette, toml, tomlkit, vistir/from pipenv\.vendor import plette, toml, vistir\\nimport tomlkit/g"
-
- # remove python ruaml yaml
- sed --in-place -e \
- "s/from pipenv\.vendor\.ruamel\.yaml import YAML/from ruamel\.yaml import YAML/g" \
- pipenv/patched/safety/util.py || die "Failed sed in ruaml-yaml"
- sed --in-place -e \
- "s/from pipenv\.vendor\.ruamel\.yaml\.error import MarkedYAMLError/from ruamel\.yaml\.error import MarkedYAMLError/g" \
- pipenv/patched/safety/util.py || die "Failed sed in ruamel-yaml"
-
- rm -vR pipenv/vendor/ruamel || die "Failed removing ruamel-yaml from vendor"
-
- for fname in Makefile README.md README.rst ruamel.*.LICENSE vendor.txt; do
- rm -v pipenv/vendor/$fname || die "Failed removing pipenv/vendor/$fname"
- done
-
-}
-
-python_test() {
- epytest -m "not cli and not needs_internet" tests/unit/
-}
diff --git a/dev-python/pipenv/pipenv-2023.7.11.ebuild b/dev-python/pipenv/pipenv-2023.7.11.ebuild
deleted file mode 100644
index 754900f42659..000000000000
--- a/dev-python/pipenv/pipenv-2023.7.11.ebuild
+++ /dev/null
@@ -1,108 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{8..11} )
-
-inherit distutils-r1 multiprocessing
-
-MY_PV=${PV/_beta/b}
-DESCRIPTION="Python Development Workflow for Humans"
-HOMEPAGE="https://github.com/pypa/pipenv https://pypi.org/project/pipenv/"
-SRC_URI="https://github.com/pypa/pipenv/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}"/${PN}-${MY_PV}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
-
-PATCHES=(
- "${FILESDIR}/pipenv-2022.9.24-inject-site-packages.patch"
- "${FILESDIR}/pipenv-2023.4.29-append-always-install.patch"
- "${FILESDIR}/pipenv-2023.7.11-fix-imports.patch"
- "${FILESDIR}/pipenv-2023.7.11-fix-imports-utils.patch"
-)
-
-RDEPEND="
- dev-python/attrs[${PYTHON_USEDEP}]
- >=dev-python/cerberus-1.3.2[${PYTHON_USEDEP}]
- dev-python/click[${PYTHON_USEDEP}]
- >=dev-python/colorama-0.4.4[${PYTHON_USEDEP}]
- >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/ptyprocess-0.7.0[${PYTHON_USEDEP}]
- dev-python/pyparsing[${PYTHON_USEDEP}]
- $(python_gen_cond_dep ' dev-python/tomli[${PYTHON_USEDEP}] ' python3_{9..10})
- >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
- >=dev-python/python-dotenv-0.21.0[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20.0.35[${PYTHON_USEDEP}]
- dev-python/virtualenv-clone[${PYTHON_USEDEP}]
- >=dev-python/requests-2.26.0[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- ${RDEPEND}
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-# IMPORTANT: The following sed command patches the vendor direcotry
-# in the pipenv source. Attempts to simply bump the version of the
-# package without checking that it works is likely to fail
-# The vendored packages should eventually all be removed
-# see: https://bugs.gentoo.org/717666
-src_prepare() {
- local pkgName
- local jobs=$(makeopts_jobs)
- local packages=( attr attrs cerberus colorama dotenv markupsafe \
- pexpect ptyprocess pyparsing requests urllib3 tomlkit )
- for pkgName in ${packages[@]}; do
- find ./ -type f -print0 | \
- xargs --max-procs="${jobs}" --null \
- sed --in-place \
- -e "s/from pipenv.vendor import ${pkgName}/import ${pkgName}/g" \
- -e "s/from pipenv.vendor.${pkgName}\(.*\) import \(\w*\)/from ${pkgName}\1 import \2/g"\
- -e "s/import pipenv.vendor.${pkgName} as ${pkgName}/import ${pkgName}/g" \
- -e "s/from .vendor import ${pkgName}/import ${pkgName}/g" || die "Failed to sed for ${pkgName}"
- done
-
- distutils-r1_src_prepare
-
- # remove vendored versions
- for pkgName in ${packages[@]}; do
- find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName}$" -prune -exec rm -rvf {} + || die
- # package names can be foo-bar, their module will be however foo_bar
- find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName/_/-}" -prune -exec rm -rvf {} + || die
- done
-
- find ./pipenv/vendor -regextype posix-extended -regex '.*cached[_-]property.*' -prune -exec rm -rvf {} + || die
-
- find ./ -type f -print0 | \
- xargs --max-procs="${jobs}" --null \
- sed --in-place \
- -e "s/from pipenv\.vendor import plette, toml, tomlkit, vistir/from pipenv\.vendor import plette, toml, vistir\\nimport tomlkit/g"
-
- # remove python ruaml yaml
- sed --in-place -e "s/from pipenv\.vendor\.ruamel\.yaml import YAML/from ruamel\.yaml import YAML/g" pipenv/patched/safety/util.py || die "Failed sed in ruaml-yaml"
- sed --in-place -e "s/from pipenv\.vendor\.ruamel\.yaml\.error import MarkedYAMLError/from ruamel\.yaml\.error import MarkedYAMLError/g" pipenv/patched/safety/util.py || die "Failed sed in ruamel-yaml"
-
- rm -vR pipenv/vendor/ruamel || die "Failed removing ruamel-yaml from vendor"
-
- for fname in Makefile README.md README.rst ruamel.*.LICENSE vendor.txt; do
- rm -v pipenv/vendor/$fname || die "Failed removing pipenv/vendor/$fname"
- done
-
-}
-
-python_test() {
- epytest -m "not cli and not needs_internet" tests/unit/
-}
diff --git a/dev-python/pipenv/pipenv-2023.9.8.ebuild b/dev-python/pipenv/pipenv-2023.9.8.ebuild
deleted file mode 100644
index 032d20d0c35d..000000000000
--- a/dev-python/pipenv/pipenv-2023.9.8.ebuild
+++ /dev/null
@@ -1,123 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..11} )
-
-inherit distutils-r1 multiprocessing
-
-MY_PV=${PV/_beta/b}
-DESCRIPTION="Python Development Workflow for Humans"
-HOMEPAGE="https://github.com/pypa/pipenv https://pypi.org/project/pipenv/"
-SRC_URI="https://github.com/pypa/pipenv/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}"/${PN}-${MY_PV}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-
-PATCHES=(
- "${FILESDIR}/pipenv-2023.9.8-inject-system-packages.patch"
- "${FILESDIR}/pipenv-2023.9.8-append-always-install-to-pip-extra-args.patch"
-)
-
-RDEPEND="
- >=dev-python/cerberus-1.3.2[${PYTHON_USEDEP}]
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/click-didyoumean[${PYTHON_USEDEP}]
- >=dev-python/colorama-0.4.4[${PYTHON_USEDEP}]
- dev-python/dparse[${PYTHON_USEDEP}]
- >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.8.0[${PYTHON_USEDEP}]
- dev-python/pipdeptree[${PYTHON_USEDEP}]
- dev-python/plette[${PYTHON_USEDEP}]
- >=dev-python/ptyprocess-0.7.0[${PYTHON_USEDEP}]
- <dev-python/pydantic-2.0.0[${PYTHON_USEDEP}]
- dev-python/pyparsing[${PYTHON_USEDEP}]
- dev-python/pythonfinder[${PYTHON_USEDEP}]
- $(python_gen_cond_dep ' dev-python/tomli[${PYTHON_USEDEP}] ' python3_{9..10})
- >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
- >=dev-python/python-dotenv-0.21.0[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20.0.35[${PYTHON_USEDEP}]
- >=dev-python/requests-2.26.0[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- dev-python/shellingham[${PYTHON_USEDEP}]
- dev-python/tomli[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- ${RDEPEND}
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-# IMPORTANT: The following sed command patches the vendor direcotry
-# in the pipenv source. Attempts to simply bump the version of the
-# package without checking that it works is likely to fail
-# The vendored packages should eventually all be removed
-# see: https://bugs.gentoo.org/717666
-src_prepare() {
- sed --in-place -e "s/import click, plette, tomlkit/import click\n\import tomlkit\nfrom pipenv.vendor import plette/g" pipenv/project.py || die "Failed patching pipenv/project.py"
-
- local pkgName
- local jobs=$(makeopts_jobs)
- local packages=( cerberus colorama click click_didyoumean dotenv dparse markupsafe \
- pexpect pep517 pipdeptree plette ptyprocess pydantic pyparsing pythonfinder \
- requests urllib3 shellingham tomli tomlkit )
- for pkgName in ${packages[@]}; do
- find ./ -type f -print0 | \
- xargs --max-procs="${jobs}" --null \
- sed --in-place \
- -e "s/from pipenv.vendor import ${pkgName}/import ${pkgName}/g" \
- -e "s/from pipenv.vendor.${pkgName}\(.*\) import \(\w*\)/from ${pkgName}\1 import \2/g"\
- -e "s/import pipenv.vendor.${pkgName} as ${pkgName}/import ${pkgName}/g" \
- -e "s/from .vendor import ${pkgName}/import ${pkgName}/g" || die "Failed to sed for ${pkgName}"
- done
-
- distutils-r1_src_prepare
-
- # remove vendored versions
- for pkgName in ${packages[@]}; do
- find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName}$" -prune -exec rm -rvf {} + || die
- # package names can be foo-bar, their module will be however foo_bar
- find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName/_/-}" -prune -exec rm -rvf {} + || die
- done
-
- find ./pipenv/vendor -regextype posix-extended -regex '.*cached[_-]property.*' -prune -exec rm -rvf {} + || die
-
- find ./ -type f -print0 | \
- xargs --max-procs="${jobs}" --null \
- sed --in-place \
- -e "s/from pipenv\.vendor import plette, toml, tomlkit, vistir/from pipenv\.vendor import plette, toml, vistir\\nimport tomlkit/g"
-
- # remove python ruaml yaml
- sed --in-place -e \
- "s/from pipenv\.vendor\.ruamel\.yaml import YAML/from ruamel\.yaml import YAML/g" \
- pipenv/patched/safety/util.py || die "Failed sed in ruaml-yaml"
- sed --in-place -e \
- "s/from pipenv\.vendor\.ruamel\.yaml\.error import MarkedYAMLError/from ruamel\.yaml\.error import MarkedYAMLError/g" \
- pipenv/patched/safety/util.py || die "Failed sed in ruamel-yaml"
-
- rm -vR pipenv/vendor/ruamel || die "Failed removing ruamel-yaml from vendor"
-
- for fname in Makefile README.md ruamel.*.LICENSE vendor.txt; do
- rm -v pipenv/vendor/$fname || die "Failed removing pipenv/vendor/${fname}"
- done
-
- sed --in-place -e "s/pipenv.vendor.pythonfinder.utils.get_python_version/pythonfinder.utils.get_python_version/g" tests/unit/test_utils.py || die "Failed patching tests"
-
- rm -Rfv pipenv/vendor || die "Could not vendor"
- rm -Rfv examples || die "Could not remove examples"
-}
-
-python_test() {
- epytest -m "not cli and not needs_internet" tests/unit/
-}
diff --git a/dev-python/pipenv/pipenv-2024.0.1.ebuild b/dev-python/pipenv/pipenv-2024.0.1.ebuild
new file mode 100644
index 000000000000..475010c333a4
--- /dev/null
+++ b/dev-python/pipenv/pipenv-2024.0.1.ebuild
@@ -0,0 +1,124 @@
+# 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 multiprocessing
+
+MY_PV=${PV/_beta/b}
+DESCRIPTION="Python Development Workflow for Humans"
+HOMEPAGE="https://github.com/pypa/pipenv https://pypi.org/project/pipenv/"
+SRC_URI="https://github.com/pypa/pipenv/archive/v${MY_PV}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}"/${PN}-${MY_PV}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+PATCHES=(
+ "${FILESDIR}/pipenv-2023.9.8-inject-system-packages.patch"
+ "${FILESDIR}/pipenv-2023.9.8-append-always-install-to-pip-extra-args.patch"
+)
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+ dev-python/click-didyoumean[${PYTHON_USEDEP}]
+ >=dev-python/colorama-0.4.4[${PYTHON_USEDEP}]
+ dev-python/dparse[${PYTHON_USEDEP}]
+ >=dev-python/markupsafe-2.0.1[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.8.0[${PYTHON_USEDEP}]
+ ~dev-python/pipdeptree-2.18.1[${PYTHON_USEDEP}]
+ ~dev-python/plette-0.4.4[${PYTHON_USEDEP}]
+ >=dev-python/ptyprocess-0.7.0[${PYTHON_USEDEP}]
+ dev-python/pyparsing[${PYTHON_USEDEP}]
+ ~dev-python/pythonfinder-2.1.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep ' dev-python/tomli[${PYTHON_USEDEP}] ' python3_{9..10})
+ >=dev-python/python-dateutil-2.8.2[${PYTHON_USEDEP}]
+ >=dev-python/python-dotenv-0.21.0[${PYTHON_USEDEP}]
+ ~dev-python/importlib-metadata-7.1.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.0.35[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.26.0[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ dev-python/shellingham[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+# IMPORTANT: The following sed command patches the vendor direcotry
+# in the pipenv source. Attempts to simply bump the version of the
+# package without checking that it works is likely to fail
+# The vendored packages should eventually all be removed
+# see: https://bugs.gentoo.org/717666
+src_prepare() {
+ sed --in-place -e "s/import click, plette, tomlkit/import click\n\import tomlkit\nfrom pipenv.vendor import plette/g" pipenv/project.py || die "Failed patching pipenv/project.py"
+
+ local pkgName
+ local jobs=$(makeopts_jobs)
+ local packages=( cerberus colorama click click_didyoumean dotenv dparse markupsafe \
+ pexpect pep517 pipdeptree plette ptyprocess pydantic pyparsing pythonfinder \
+ requests urllib3 shellingham tomli tomlkit importlib_metadata )
+ for pkgName in ${packages[@]}; do
+ find ./ -type f -print0 | \
+ xargs --max-procs="${jobs}" --null \
+ sed --in-place \
+ -e "s/from pipenv.vendor import ${pkgName}/import ${pkgName}/g" \
+ -e "s/from pipenv.vendor.${pkgName}\(.*\) import \(\w*\)/from ${pkgName}\1 import \2/g"\
+ -e "s/import pipenv.vendor.${pkgName} as ${pkgName}/import ${pkgName}/g" \
+ -e "s/from .vendor import ${pkgName}/import ${pkgName}/g" \
+ -e "s/from .vendor.${pkgName}/from ${pkgName}/g" || die "Failed to sed for ${pkgName}"
+ done
+
+ distutils-r1_src_prepare
+
+ # remove vendored versions
+ for pkgName in ${packages[@]}; do
+ find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName}$" -prune -exec rm -rvf {} + || die
+ # package names can be foo-bar, their module will be however foo_bar
+ find ./pipenv/vendor -regextype posix-extended -regex ".*${pkgName/_/-}" -prune -exec rm -rvf {} + || die
+ done
+
+ find ./pipenv/vendor -regextype posix-extended -regex '.*cached[_-]property.*' -prune -exec rm -rvf {} + || die
+
+ find ./ -type f -print0 | \
+ xargs --max-procs="${jobs}" --null \
+ sed --in-place \
+ -e "s/from pipenv\.vendor import plette, toml, tomlkit, vistir/from pipenv\.vendor import plette, toml, vistir\\nimport tomlkit/g"
+
+ # remove python ruaml yaml
+ sed --in-place -e \
+ "s/from pipenv\.vendor\.ruamel\.yaml import YAML/from ruamel\.yaml import YAML/g" \
+ pipenv/patched/safety/util.py || die "Failed sed in ruaml-yaml"
+ sed --in-place -e \
+ "s/from pipenv\.vendor\.ruamel\.yaml\.error import MarkedYAMLError/from ruamel\.yaml\.error import MarkedYAMLError/g" \
+ pipenv/patched/safety/util.py || die "Failed sed in ruamel-yaml"
+
+ rm -vR pipenv/vendor/ruamel || die "Failed removing ruamel-yaml from vendor"
+
+ for fname in Makefile README.md ruamel.*.LICENSE vendor.txt; do
+ rm -v pipenv/vendor/$fname || die "Failed removing pipenv/vendor/${fname}"
+ done
+
+ sed --in-place -e "s/pipenv.vendor.pythonfinder.utils.get_python_version/pythonfinder.utils.get_python_version/g" tests/unit/test_utils.py || die "Failed patching tests"
+
+ rm -Rfv pipenv/vendor || die "Could not vendor"
+ rm -Rfv examples || die "Could not remove examples"
+ rm -Rfv docs || die "Could not remove docs"
+}
+
+python_test() {
+ epytest -m "not cli and not needs_internet" tests/unit/
+}
diff --git a/dev-python/pipx/Manifest b/dev-python/pipx/Manifest
index c9497f921f1c..34cc341788fc 100644
--- a/dev-python/pipx/Manifest
+++ b/dev-python/pipx/Manifest
@@ -1,2 +1,3 @@
-DIST pipx-1.2.1.gh.tar.gz 405585 BLAKE2B ca24ffd9fe3657549d149aa6e24f85ef2d7ae0832f94605a0a52ecd255232c3bd1b553e61be805bd80c9d54586a4e6e9e156db17c5bb901e24069828f0716594 SHA512 93a0d67de9540584987be126d4e28a2628beefba99e15936369c948dc29fb7f11745413ef3f0ace5586b4456ed8554103bcd5079079bc0a34babc02823f7f9d3
-DIST pipx-1.3.1.gh.tar.gz 418883 BLAKE2B f9c0ee11eb1e92efb4fc1600d56383ff838b3d97200a4baef32d1221e05c65aeb9d9cc48477dbdf85cb596f44423fb746abd97be2861724ca0de433aa6794d68 SHA512 9ee91efa142f72fbe962d05a21ad3bfcef4d401a20078863bb65a932b3598efff95cd707ec27cca1d4c82f3396270c7162d4cb1407ad1d40b2e477aa0b3c02fc
+DIST pip-23.3.2-py3-none-any.whl 2109393 BLAKE2B 278b9941f93951508ae2f508b1b5a9fddd4ca11fac1d5b0c2ac994f8e8457226a4e8c4501078776476e0bae56fd82b989ebaf4f5f484ffe7b0ee79789e34aca8 SHA512 a1449fe400787f73ac26cb48acaae71208a2e696f9ce4992b44e11da29646b018c2f6c27a95b12e42531236fe658e0605e20d5dfa740c43e005c01da3db802da
+DIST pipx-1.6.0-test-shim.tar.xz 71508 BLAKE2B f6625796b733911aeee7157d726888ef251ef43a806008a07dadcc290a22d331494ab6906ab1f5e06bf11180d295c1c6445c1a3c4d20eafb0f19fdacef02becb SHA512 a30adb15c78c8f6f9febedf4a899c665bd185ae0e9dbb5278b962fab9d47164601e7f354f61dd600df856a16d9620a586f9f5795a2985172f938fc376c840a6c
+DIST pipx-1.6.0.gh.tar.gz 389164 BLAKE2B 07b603202a44136892e196066fa6d1b85fce2c7d91d798f75edf3f2a18e2924e55487dbd63747948cfc82ea3ca600bdd09e6995a9ee5954c1f4287a4f255a43b SHA512 ae241bb518b240348b5811ee9d278c927cc0e703e6cd0da6225b2e47d727ac1ab54b5ac8fc207da849afc383cfe77ca6a95a62efcb33edc238bb607eada8b00b
diff --git a/dev-python/pipx/pipx-1.2.1.ebuild b/dev-python/pipx/pipx-1.2.1.ebuild
deleted file mode 100644
index 05620f297c16..000000000000
--- a/dev-python/pipx/pipx-1.2.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
-
-DESCRIPTION="Install and Run Python Applications in Isolated Environments"
-HOMEPAGE="
- https://pypi.org/project/pipx/
- https://pypa.github.io/pipx/
-"
-# no tests in sdist
-SRC_URI="https://github.com/pypa/pipx/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/argcomplete-1.9.4[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/userpath-1.6.0[${PYTHON_USEDEP}]
-"
-
-PROPERTIES="test_network"
-RESTRICT="test"
-distutils_enable_tests pytest
-
-python_test() {
- epytest --net-pypiserver
-}
diff --git a/dev-python/pipx/pipx-1.3.1.ebuild b/dev-python/pipx/pipx-1.3.1.ebuild
deleted file mode 100644
index 01daa9316fba..000000000000
--- a/dev-python/pipx/pipx-1.3.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Install and Run Python Applications in Isolated Environments"
-HOMEPAGE="
- https://pypi.org/project/pipx/
- https://pypa.github.io/pipx/
-"
-# no tests in sdist
-SRC_URI="
- https://github.com/pypa/pipx/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/argcomplete-1.9.4[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- >=dev-python/userpath-1.9.0[${PYTHON_USEDEP}]
-"
-
-PROPERTIES="test_network"
-RESTRICT="test"
-distutils_enable_tests pytest
-
-python_test() {
- epytest --net-pypiserver
-}
diff --git a/dev-python/pipx/pipx-1.6.0.ebuild b/dev-python/pipx/pipx-1.6.0.ebuild
new file mode 100644
index 000000000000..f589008465d8
--- /dev/null
+++ b/dev-python/pipx/pipx-1.6.0.ebuild
@@ -0,0 +1,98 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+# To update test shim, use https://github.com/projg2/pipx-repack-wheels
+TEST_SHIM=pipx-1.6.0-test-shim
+DESCRIPTION="Install and Run Python Applications in Isolated Environments"
+HOMEPAGE="
+ https://pipx.pypa.io/stable/
+ https://pypi.org/project/pipx/
+ https://github.com/pypa/pipx/
+"
+# no tests in sdist
+SRC_URI="
+ https://github.com/pypa/pipx/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://dev.gentoo.org/~mgorny/dist/${TEST_SHIM}.tar.xz
+ $(pypi_wheel_url pip 23.3.2)
+ )
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/argcomplete-1.9.4[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ >=dev-python/userpath-1.9.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ensurepip-pip
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+ dev-python/pypiserver[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+src_prepare() {
+ if use test; then
+ cp -vs "${BROOT}"/usr/lib/python/ensurepip/{pip,setuptools,wheel}-*.whl \
+ "${WORKDIR}/${TEST_SHIM}/" || die
+ # needed for pinned pin version test
+ cp -vs "${DISTDIR}"/pip-23.3.2-py3-none-any.whl \
+ "${WORKDIR}/${TEST_SHIM}/" || die
+ mkdir -p .pipx_tests/package_cache || die
+ local v
+ for v in 3.{10..12}; do
+ ln -s "${WORKDIR}/${TEST_SHIM}" \
+ ".pipx_tests/package_cache/${v}" || die
+ done
+
+ : > scripts/update_package_cache.py || die
+ # sigh
+ sed -e 's:server = str.*:server = "pypi-server":' \
+ -i tests/conftest.py || die
+ fi
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_run.py::test_run_ensure_null_pythonpath
+ tests/test_run.py::test_run_script_from_internet
+ 'tests/test_install.py::test_install_package_specs[pycowsay-git+https://github.com/cs01/pycowsay.git@master]'
+ tests/test_install.py::test_force_install_changes
+ 'tests/test_install.py::test_install_package_specs[nox-https://github.com/wntrblm/nox/archive/2022.1.7.zip]'
+ tests/test_interpreter.py::test_fetch_missing_python
+ tests/test_list.py::test_list_standalone_interpreter
+ tests/test_standalone_interpreter.py
+ # TODO
+ tests/test_environment.py::test_cli
+ tests/test_run.py::test_cachedir_tag
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/pivy/pivy-0.6.8.ebuild b/dev-python/pivy/pivy-0.6.8.ebuild
index 014e40cb9cbc..73dc11cf83dd 100644
--- a/dev-python/pivy/pivy-0.6.8.ebuild
+++ b/dev-python/pivy/pivy-0.6.8.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -40,8 +40,8 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND="
+ dev-build/cmake
dev-lang/swig
- dev-util/cmake
test? ( ${RDEPEND} )
"
diff --git a/dev-python/pkgconfig/pkgconfig-1.5.5-r1.ebuild b/dev-python/pkgconfig/pkgconfig-1.5.5-r1.ebuild
index 4d7adf7c4968..28b6bcc45dac 100644
--- a/dev-python/pkgconfig/pkgconfig-1.5.5-r1.ebuild
+++ b/dev-python/pkgconfig/pkgconfig-1.5.5-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
RDEPEND="
virtual/pkgconfig
diff --git a/dev-python/pkgcraft/Manifest b/dev-python/pkgcraft/Manifest
index ad4355f0118c..5fe3431bf1c8 100644
--- a/dev-python/pkgcraft/Manifest
+++ b/dev-python/pkgcraft/Manifest
@@ -1,3 +1,2 @@
-DIST pkgcraft-0.0.6.tar.gz 406538 BLAKE2B 5c90b57cb11e9f754cd695989994b3a9be52007482981c997f2e361fbbb72aeb0810d7f41dea1cdcd74c47840bb1c3b2cf225c967ba76b01769da93f909d9911 SHA512 ddd7bf77a3509156e8c16e5aeeb94a5f4530d9d1a3e6617d3974adfae7b46f0b0d31f4828dbd70261b42c883e776bf7572ca2fe8e23c9216637d886b9d8811cc
-DIST pkgcraft-0.0.7.tar.gz 406608 BLAKE2B 733876723c676ac0000699440955518bb8a2fb35cc5bb1664e791c2be172a8a4ce90faff849eeacf293e4071dee0bb6b5ae18a5dba0c04ee79b52c1153c5b8d1 SHA512 e01cce2e5840a84ab43b6f9e9c0c15caa0d5247ff85e7bac4452411cccc87eea88193e12585bfebd01b73aa27f4c1d1f0e72982f61270f894890be9b38961e3e
-DIST pkgcraft-0.0.8.tar.gz 416513 BLAKE2B 8bf16807990344777981f21efe91fc57503f56a0f55c9be3eef9d407d09e9f3601318b7191968fa379fd31f4c9b0bee37e6af68ae792d9398735cf0298165495 SHA512 bfa049ecb003574bcb77fc7f76b58cb2ded8163888bd08ac982fefb8ec4f8cccb51a16f1e1cbffdc0da83965927fdc918983bc8b48b99b3cd43bb697aa6107dd
+DIST pkgcraft-0.0.10.tar.gz 452861 BLAKE2B f7f52e8c7c917701b08540cc8da8ee1f1ff7157b02e61d5cfa1b4ca6850ae8aac171dfdefe6ac611ce4971aff27d63614d4914178bf86c8a389e437d5fb43ba9 SHA512 1c3878256bfbeae05ceb9e7445e100a8e6601649aae634b02bdd00494075056fad014b724e2cfd76325dd06c664c1c90343f49f186c0b61bfe2d92bbed14abe4
+DIST pkgcraft-0.0.9.tar.gz 431872 BLAKE2B 6c6ed1677c891c0e5579c7e28342876c2d7cbe03f2fcf3f8ad9f994302570d1d2398d2b4a55ec1a2fd82bbea518a4d2f76e9cabe760f0d9779b8d55170c1d940 SHA512 13988ff6822a5f9b715f3a9e8593a21d6ac530a91ca98790bd8a1c3e5958c97e440ce0610d25ed518f6d485837c9aded2ba145facf98e217325802777a33b3a7
diff --git a/dev-python/pkgcraft/pkgcraft-0.0.10.ebuild b/dev-python/pkgcraft/pkgcraft-0.0.10.ebuild
new file mode 100644
index 000000000000..5fe6fc813ef7
--- /dev/null
+++ b/dev-python/pkgcraft/pkgcraft-0.0.10.ebuild
@@ -0,0 +1,81 @@
+# Copyright 2023-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_{11..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for pkgcraft"
+HOMEPAGE="
+ https://pypi.org/project/pkgcraft/
+ https://github.com/pkgcraft/pkgcraft-python/
+"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft-python.git"
+ inherit git-r3
+
+ PKGCRAFT_VERSION_MAX="99999" # extra 9 here or 9999 isn't mergable per DEPEND below
+ PKGCRAFT_VERSION_MIN="9999"
+else
+ SRC_URI="https://github.com/pkgcraft/pkgcraft-python/releases/download/v${PV}/${P/-python}.tar.gz"
+ S="${WORKDIR}"/${P/-python}
+
+ KEYWORDS="~amd64 ~arm64"
+
+ PKGCRAFT_VERSION_MAX="9999"
+ PKGCRAFT_VERSION_MIN="0.0.15"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="+examples"
+
+DEPEND="
+ <sys-libs/pkgcraft-${PKGCRAFT_VERSION_MAX}
+ >=sys-libs/pkgcraft-${PKGCRAFT_VERSION_MIN}:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ >=dev-python/cython-3[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ if [[ ${PV} != 9999 ]] ; then
+ local actual_pkgcraft_min=$(sed -En '/^MIN_VERSION =/{s/[^0-9.]//gp}' setup.py || die)
+ if [[ ${actual_pkgcraft_min} != ${PKGCRAFT_VERSION_MIN} ]] ; then
+ eerror "Expected minimum pkgcraft-c version: ${PKGCRAFT_VERSION_MIN}"
+ eerror "Actual minimum pkgcraft-c version: ${actual_pkgcraft_min}"
+ die "Mismatch between setup.py's MIN_VERSION and ebuild!"
+ fi
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_install() {
+ # Conditional because these aren't installed officially right now
+ # and the naming is just for convenience.
+ if use examples ; then
+ while IFS= read -r -d '' file ; do
+ python_newexe "${S}"/examples/${file##*/} pkgcraft-${file##*/}
+ done < <(find "${S}"/examples -type f -executable -print0 || die)
+ fi
+
+ distutils-r1_python_install
+}
diff --git a/dev-python/pkgcraft/pkgcraft-0.0.6.ebuild b/dev-python/pkgcraft/pkgcraft-0.0.6.ebuild
deleted file mode 100644
index 204a8185dbfb..000000000000
--- a/dev-python/pkgcraft/pkgcraft-0.0.6.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for pkgcraft"
-HOMEPAGE="
- https://pypi.org/project/pkgcraft/
- https://github.com/pkgcraft/pkgcraft-python/
-"
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft-python.git"
- inherit git-r3
-
- PKGCRAFT_VERSION_MAX="99999" # extra 9 here or 9999 isn't mergable per DEPEND below
- PKGCRAFT_VERSION_MIN="9999"
-else
- SRC_URI="https://github.com/pkgcraft/pkgcraft-python/releases/download/v${PV}/${P/-python}.tar.gz"
- S="${WORKDIR}"/${P/-python}
-
- KEYWORDS="~amd64 ~arm64"
-
- PKGCRAFT_VERSION_MAX="9999"
- PKGCRAFT_VERSION_MIN="0.0.11"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="+examples"
-
-DEPEND="
- <sys-libs/pkgcraft-${PKGCRAFT_VERSION_MAX}
- >=sys-libs/pkgcraft-${PKGCRAFT_VERSION_MIN}:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- >=dev-python/cython-3[${PYTHON_USEDEP}]
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- virtual/pkgconfig
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- if [[ ${PV} != 9999 ]] ; then
- local actual_pkgcraft_min=$(sed -En '/^MIN_VERSION =/{s/[^0-9.]//gp}' setup.py || die)
- if [[ ${actual_pkgcraft_min} != ${PKGCRAFT_VERSION_MIN} ]] ; then
- eerror "Expected minimum pkgcraft-c version: ${PKGCRAFT_VERSION_MIN}"
- eerror "Actual minimum pkgcraft-c version: ${actual_pkgcraft_min}"
- die "Mismatch between setup.py's MIN_VERSION and ebuild!"
- fi
- fi
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-python_install() {
- # Conditional because these aren't installed officially right now
- # and the naming is just for convenience.
- if use examples ; then
- while IFS= read -r -d '' file ; do
- python_newexe "${S}"/examples/${file##*/} pkgcraft-${file##*/}
- done < <(find "${S}"/examples -type f -executable -print0 || die)
- fi
-
- distutils-r1_python_install
-}
diff --git a/dev-python/pkgcraft/pkgcraft-0.0.7.ebuild b/dev-python/pkgcraft/pkgcraft-0.0.7.ebuild
deleted file mode 100644
index c5c9bca81ac1..000000000000
--- a/dev-python/pkgcraft/pkgcraft-0.0.7.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for pkgcraft"
-HOMEPAGE="
- https://pypi.org/project/pkgcraft/
- https://github.com/pkgcraft/pkgcraft-python/
-"
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft-python.git"
- inherit git-r3
-
- PKGCRAFT_VERSION_MAX="99999" # extra 9 here or 9999 isn't mergable per DEPEND below
- PKGCRAFT_VERSION_MIN="9999"
-else
- SRC_URI="https://github.com/pkgcraft/pkgcraft-python/releases/download/v${PV}/${P/-python}.tar.gz"
- S="${WORKDIR}"/${P/-python}
-
- KEYWORDS="~amd64 ~arm64"
-
- PKGCRAFT_VERSION_MAX="9999"
- PKGCRAFT_VERSION_MIN="0.0.12"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="+examples"
-
-DEPEND="
- <sys-libs/pkgcraft-${PKGCRAFT_VERSION_MAX}
- >=sys-libs/pkgcraft-${PKGCRAFT_VERSION_MIN}:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- >=dev-python/cython-3[${PYTHON_USEDEP}]
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- virtual/pkgconfig
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- if [[ ${PV} != 9999 ]] ; then
- local actual_pkgcraft_min=$(sed -En '/^MIN_VERSION =/{s/[^0-9.]//gp}' setup.py || die)
- if [[ ${actual_pkgcraft_min} != ${PKGCRAFT_VERSION_MIN} ]] ; then
- eerror "Expected minimum pkgcraft-c version: ${PKGCRAFT_VERSION_MIN}"
- eerror "Actual minimum pkgcraft-c version: ${actual_pkgcraft_min}"
- die "Mismatch between setup.py's MIN_VERSION and ebuild!"
- fi
- fi
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-python_install() {
- # Conditional because these aren't installed officially right now
- # and the naming is just for convenience.
- if use examples ; then
- while IFS= read -r -d '' file ; do
- python_newexe "${S}"/examples/${file##*/} pkgcraft-${file##*/}
- done < <(find "${S}"/examples -type f -executable -print0 || die)
- fi
-
- distutils-r1_python_install
-}
diff --git a/dev-python/pkgcraft/pkgcraft-0.0.8.ebuild b/dev-python/pkgcraft/pkgcraft-0.0.8.ebuild
deleted file mode 100644
index 1e6dfefa9b31..000000000000
--- a/dev-python/pkgcraft/pkgcraft-0.0.8.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for pkgcraft"
-HOMEPAGE="
- https://pypi.org/project/pkgcraft/
- https://github.com/pkgcraft/pkgcraft-python/
-"
-
-if [[ ${PV} == 9999 ]] ; then
- EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft-python.git"
- inherit git-r3
-
- PKGCRAFT_VERSION_MAX="99999" # extra 9 here or 9999 isn't mergable per DEPEND below
- PKGCRAFT_VERSION_MIN="9999"
-else
- SRC_URI="https://github.com/pkgcraft/pkgcraft-python/releases/download/v${PV}/${P/-python}.tar.gz"
- S="${WORKDIR}"/${P/-python}
-
- KEYWORDS="~amd64 ~arm64"
-
- PKGCRAFT_VERSION_MAX="9999"
- PKGCRAFT_VERSION_MIN="0.0.13"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="+examples"
-
-DEPEND="
- <sys-libs/pkgcraft-${PKGCRAFT_VERSION_MAX}
- >=sys-libs/pkgcraft-${PKGCRAFT_VERSION_MIN}:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- >=dev-python/cython-3[${PYTHON_USEDEP}]
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- virtual/pkgconfig
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- if [[ ${PV} != 9999 ]] ; then
- local actual_pkgcraft_min=$(sed -En '/^MIN_VERSION =/{s/[^0-9.]//gp}' setup.py || die)
- if [[ ${actual_pkgcraft_min} != ${PKGCRAFT_VERSION_MIN} ]] ; then
- eerror "Expected minimum pkgcraft-c version: ${PKGCRAFT_VERSION_MIN}"
- eerror "Actual minimum pkgcraft-c version: ${actual_pkgcraft_min}"
- die "Mismatch between setup.py's MIN_VERSION and ebuild!"
- fi
- fi
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-python_install() {
- # Conditional because these aren't installed officially right now
- # and the naming is just for convenience.
- if use examples ; then
- while IFS= read -r -d '' file ; do
- python_newexe "${S}"/examples/${file##*/} pkgcraft-${file##*/}
- done < <(find "${S}"/examples -type f -executable -print0 || die)
- fi
-
- distutils-r1_python_install
-}
diff --git a/dev-python/pkgcraft/pkgcraft-0.0.9.ebuild b/dev-python/pkgcraft/pkgcraft-0.0.9.ebuild
new file mode 100644
index 000000000000..0e6d0142cd1c
--- /dev/null
+++ b/dev-python/pkgcraft/pkgcraft-0.0.9.ebuild
@@ -0,0 +1,81 @@
+# Copyright 2023-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_{11..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for pkgcraft"
+HOMEPAGE="
+ https://pypi.org/project/pkgcraft/
+ https://github.com/pkgcraft/pkgcraft-python/
+"
+
+if [[ ${PV} == 9999 ]] ; then
+ EGIT_REPO_URI="https://github.com/pkgcraft/pkgcraft-python.git"
+ inherit git-r3
+
+ PKGCRAFT_VERSION_MAX="99999" # extra 9 here or 9999 isn't mergable per DEPEND below
+ PKGCRAFT_VERSION_MIN="9999"
+else
+ SRC_URI="https://github.com/pkgcraft/pkgcraft-python/releases/download/v${PV}/${P/-python}.tar.gz"
+ S="${WORKDIR}"/${P/-python}
+
+ KEYWORDS="~amd64 ~arm64"
+
+ PKGCRAFT_VERSION_MAX="9999"
+ PKGCRAFT_VERSION_MIN="0.0.14"
+fi
+
+LICENSE="MIT"
+SLOT="0"
+IUSE="+examples"
+
+DEPEND="
+ <sys-libs/pkgcraft-${PKGCRAFT_VERSION_MAX}
+ >=sys-libs/pkgcraft-${PKGCRAFT_VERSION_MIN}:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ >=dev-python/cython-3[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ if [[ ${PV} != 9999 ]] ; then
+ local actual_pkgcraft_min=$(sed -En '/^MIN_VERSION =/{s/[^0-9.]//gp}' setup.py || die)
+ if [[ ${actual_pkgcraft_min} != ${PKGCRAFT_VERSION_MIN} ]] ; then
+ eerror "Expected minimum pkgcraft-c version: ${PKGCRAFT_VERSION_MIN}"
+ eerror "Actual minimum pkgcraft-c version: ${actual_pkgcraft_min}"
+ die "Mismatch between setup.py's MIN_VERSION and ebuild!"
+ fi
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_install() {
+ # Conditional because these aren't installed officially right now
+ # and the naming is just for convenience.
+ if use examples ; then
+ while IFS= read -r -d '' file ; do
+ python_newexe "${S}"/examples/${file##*/} pkgcraft-${file##*/}
+ done < <(find "${S}"/examples -type f -executable -print0 || die)
+ fi
+
+ distutils-r1_python_install
+}
diff --git a/dev-python/pkgcraft/pkgcraft-9999.ebuild b/dev-python/pkgcraft/pkgcraft-9999.ebuild
index 1e6dfefa9b31..5fe6fc813ef7 100644
--- a/dev-python/pkgcraft/pkgcraft-9999.ebuild
+++ b/dev-python/pkgcraft/pkgcraft-9999.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-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_{11..12} )
+PYTHON_COMPAT=( python3_{11..13} )
inherit distutils-r1
@@ -28,7 +28,7 @@ else
KEYWORDS="~amd64 ~arm64"
PKGCRAFT_VERSION_MAX="9999"
- PKGCRAFT_VERSION_MIN="0.0.13"
+ PKGCRAFT_VERSION_MIN="0.0.15"
fi
LICENSE="MIT"
diff --git a/dev-python/pkginfo/Manifest b/dev-python/pkginfo/Manifest
index 2e6095b8f3a9..c7dbc27876f8 100644
--- a/dev-python/pkginfo/Manifest
+++ b/dev-python/pkginfo/Manifest
@@ -1 +1 @@
-DIST pkginfo-1.9.6.tar.gz 379307 BLAKE2B a063e3461aecabac5bf35a9eb6b9f59a24865f3eeb903f69538a6e625893f506a897df7199d647539405bdd383b10722f5b0048380cc8ce8b6a8b4e7b2016c54 SHA512 07d9b8ce9965572b84ddced107aa1fcd2ed20a485580f87d667bd53508b0a8fc3aef2ca900bf8bb7fc075b95a81512920c4eef513c9ee6582d61b09968efee08
+DIST pkginfo-1.11.1.tar.gz 376911 BLAKE2B ee5a9b3c280636dbb58ba5aef5a94e74c639c63472a0630671c4277ed7b14f1e13a18daf050974d45502181bd22e80f969a9056cc13f134bdb61763a9003ab4b SHA512 9bb159e4c9efe6d42c6f564346bb3bfacc700cfdf3498d7dcdddcbbc5e9797df720f3f0a2142a7abd2e84e82ec30823d9807a61304af1c165973a2582ffb2731
diff --git a/dev-python/pkginfo/pkginfo-1.11.1.ebuild b/dev-python/pkginfo/pkginfo-1.11.1.ebuild
new file mode 100644
index 000000000000..75b1a4b17110
--- /dev/null
+++ b/dev-python/pkginfo/pkginfo-1.11.1.ebuild
@@ -0,0 +1,28 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Provides an API for querying the distutils metadata written in a PKG-INFO file"
+HOMEPAGE="
+ https://launchpad.net/pkginfo/
+ https://pypi.org/project/pkginfo/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+BDEPEND="
+ test? (
+ dev-python/wheel[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs
diff --git a/dev-python/pkginfo/pkginfo-1.9.6.ebuild b/dev-python/pkginfo/pkginfo-1.9.6.ebuild
deleted file mode 100644
index 67d2f0af364c..000000000000
--- a/dev-python/pkginfo/pkginfo-1.9.6.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Provides an API for querying the distutils metadata written in a PKG-INFO file"
-HOMEPAGE="
- https://launchpad.net/pkginfo/
- https://pypi.org/project/pkginfo/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-BDEPEND="
- test? (
- dev-python/wheel[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs
diff --git a/dev-python/platformdirs/Manifest b/dev-python/platformdirs/Manifest
index a95554849994..a448dfefe952 100644
--- a/dev-python/platformdirs/Manifest
+++ b/dev-python/platformdirs/Manifest
@@ -1 +1 @@
-DIST platformdirs-4.0.0.tar.gz 19914 BLAKE2B 0ae3f7491f3f1d38561c89312c988b4145c9afb60e3d866cd05bef7e02c6df95d56cb230995de2893c0afd32bd63eb08448e67d5cdd0bdf6f3556ea1a23e2b49 SHA512 28eeb18ab5a52bf60d85ab76c986300d0f69c3bcff9ec18b961b70f97bce4e0d1bd3315b8d97f6b6a41de000b734979c08754780d282695525348342ab9c9931
+DIST platformdirs-4.2.2.tar.gz 20916 BLAKE2B d7c551a950118a127664b8210f33497760ce06381ac6a4ea098d1a1c60605507b5e2a9762d5f7d112332d3cebd63cb642b25e93a8b67dd2a1ee7cca189f3555f SHA512 e67aff332a6c84669d77a68e7d5546bfd14e08dcf61681b03447bf6381c0d981c63be0f87fd63bc99f0a51c92bf960902ded83ba8872801c14755ab163d45a0f
diff --git a/dev-python/platformdirs/platformdirs-4.0.0.ebuild b/dev-python/platformdirs/platformdirs-4.0.0.ebuild
deleted file mode 100644
index c890201db8ae..000000000000
--- a/dev-python/platformdirs/platformdirs-4.0.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A small Python module for determining appropriate platform-specific dirs"
-HOMEPAGE="
- https://pypi.org/project/platformdirs/
- https://github.com/platformdirs/platformdirs/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
-
-BDEPEND="
- test? (
- dev-python/appdirs[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_configure() {
- grep -q 'build-backend = "hatchling' pyproject.toml ||
- die "Upstream changed build-backend, recheck"
- # write a custom pyproject.toml to ease setuptools bootstrap
- cat > pyproject.toml <<-EOF || die
- [build-system]
- requires = ["flit_core >=3.2,<4"]
- build-backend = "flit_core.buildapi"
-
- [project]
- name = "${PN}"
- version = "${PV}"
- description = 'A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir".'
- EOF
- # sigh
- cat > src/platformdirs/version.py <<-EOF || die
- __version__ = version = '${PV}'
- __version_tuple__ = version_tuple = (${PV//./, })
- EOF
-}
diff --git a/dev-python/platformdirs/platformdirs-4.2.2.ebuild b/dev-python/platformdirs/platformdirs-4.2.2.ebuild
new file mode 100644
index 000000000000..0d38dcc9c2c9
--- /dev/null
+++ b/dev-python/platformdirs/platformdirs-4.2.2.ebuild
@@ -0,0 +1,54 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A small Python module for determining appropriate platform-specific dirs"
+HOMEPAGE="
+ https://pypi.org/project/platformdirs/
+ https://github.com/platformdirs/platformdirs/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="
+ test? (
+ dev-python/appdirs[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "hatchling' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "${PN}"
+ version = "${PV}"
+ description = 'A small Python package for determining appropriate platform-specific dirs, e.g. a "user data dir".'
+ EOF
+ # sigh
+ cat > src/platformdirs/version.py <<-EOF || die
+ __version__ = version = '${PV}'
+ __version_tuple__ = version_tuple = (${PV//./, })
+ EOF
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/plette/Manifest b/dev-python/plette/Manifest
index 10d00efa515c..e759edbe3b56 100644
--- a/dev-python/plette/Manifest
+++ b/dev-python/plette/Manifest
@@ -1 +1,4 @@
DIST plette-0.4.4.gh.tar.gz 36359 BLAKE2B dc630b9e98db9a8f6047fe0bb31c2ab29d695745b59d457c9cac218922c0d578a474f80ddc419364fb8ef92c5952c5cea33ee571cce2d698015466edb738885a SHA512 c4342ce040966730d2eba638c718c1db9340051baa89238b99e64cf8ef734fe448f0aaeae224e9f6b51c9e38458e9caeb2c8d6abbd5db76249529aaee90ed5c0
+DIST plette-1.0.0.gh.tar.gz 54297 BLAKE2B 7ade29df8bfc20d5c98f5f3290acea2f5e884f71b13c0950373f41240de54f3ea672d16c0557fef2e1be25aef0da68d4a7449ebea2f206d92901d7f11f6cc2bb SHA512 72a3f270f76dbf32cb418628f1b24046111a46633603b07fd44fd4ed50d946653afaec070bce8e67a1ecff3ec8607f2476d3b25760c76726218873898bef97ed
+DIST plette-2.0.2.tar.gz 12905 BLAKE2B 48d8e50b24a2b61a12f798467ed443a7a043bd6efca7cb99ce35e5e05edb44af327e3a2e5bdfde0e6db4a4be527ab668edd6433c195fe4f72975170bcb6acbed SHA512 9f273af721b29b81ef8921fa9bf42856711242cef04372c5e1c632e907d889554beeb4d85c47cc9f2003984004dfa97a239643d9307389be9a6710dec26b5b28
+DIST plette-2.1.0.tar.gz 12908 BLAKE2B 7e710826374f12317d93cd7410006059ecffe82095ecb05f5e30d3b1db56802ce44fb31ac5ef9fd6c6a1a83578cd69ae87c324a470a532557eed69f8c73923ba SHA512 ce75385d958be6c0adc0e11a8431484a91eb7b7e237218b37e073411551813bfbad4872fe6f1b3d5980f9da5f0465c66de4e19646d11716079a6be67b2c138a5
diff --git a/dev-python/plette/plette-0.4.4-r1.ebuild b/dev-python/plette/plette-0.4.4-r1.ebuild
deleted file mode 100644
index a5a8efe88305..000000000000
--- a/dev-python/plette/plette-0.4.4-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 2022-2023 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="Structured Pipfile and Pipfile.lock models"
-HOMEPAGE="
- https://github.com/sarugaku/plette
- https://pypi.org/project/plette/
-"
-# pypi tarballs are missing test data
-SRC_URI="https://github.com/sarugaku/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-
-RDEPEND="
- dev-python/cerberus[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/plette/plette-0.4.4.ebuild b/dev-python/plette/plette-0.4.4.ebuild
new file mode 100644
index 000000000000..5a6f62b698a8
--- /dev/null
+++ b/dev-python/plette/plette-0.4.4.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2022-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="Structured Pipfile and Pipfile.lock models"
+HOMEPAGE="
+ https://github.com/sarugaku/plette/
+ https://pypi.org/project/plette/
+"
+# pypi tarballs are missing test data
+SRC_URI="
+ https://github.com/sarugaku/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ dev-python/cerberus[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/plette/plette-1.0.0.ebuild b/dev-python/plette/plette-1.0.0.ebuild
new file mode 100644
index 000000000000..5a6f62b698a8
--- /dev/null
+++ b/dev-python/plette/plette-1.0.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2022-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="Structured Pipfile and Pipfile.lock models"
+HOMEPAGE="
+ https://github.com/sarugaku/plette/
+ https://pypi.org/project/plette/
+"
+# pypi tarballs are missing test data
+SRC_URI="
+ https://github.com/sarugaku/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ dev-python/cerberus[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/plette/plette-2.0.2.ebuild b/dev-python/plette/plette-2.0.2.ebuild
new file mode 100644
index 000000000000..31d962c16d70
--- /dev/null
+++ b/dev-python/plette/plette-2.0.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Structured Pipfile and Pipfile.lock models"
+HOMEPAGE="
+ https://github.com/sarugaku/plette/
+ https://pypi.org/project/plette/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ dev-python/cerberus[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/plette/plette-2.1.0.ebuild b/dev-python/plette/plette-2.1.0.ebuild
new file mode 100644
index 000000000000..31d962c16d70
--- /dev/null
+++ b/dev-python/plette/plette-2.1.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Structured Pipfile and Pipfile.lock models"
+HOMEPAGE="
+ https://github.com/sarugaku/plette/
+ https://pypi.org/project/plette/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ dev-python/cerberus[${PYTHON_USEDEP}]
+ dev-python/tomlkit[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/plotly-geo/plotly-geo-1.0.0-r2.ebuild b/dev-python/plotly-geo/plotly-geo-1.0.0-r2.ebuild
index c3220f5d9a8f..5dbd3d08fc75 100644
--- a/dev-python/plotly-geo/plotly-geo-1.0.0-r2.ebuild
+++ b/dev-python/plotly-geo/plotly-geo-1.0.0-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
@@ -20,7 +20,7 @@ RESTRICT="test"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64"
RDEPEND="
dev-python/plotly[${PYTHON_USEDEP}]
diff --git a/dev-python/plotly/Manifest b/dev-python/plotly/Manifest
index c65b0c03e5cc..efb1a343ee68 100644
--- a/dev-python/plotly/Manifest
+++ b/dev-python/plotly/Manifest
@@ -1,5 +1,2 @@
-DIST plotly.py-5.15.0.gh.tar.gz 30801940 BLAKE2B bb95df7402a308c1a32817dc12d519a446f63cfe34f6a6c492949465734132a2d86078849790ee51d6cb99fbaf434251c48204e0b2b36af422fdf7efbc446a6a SHA512 418f05fd6eb17de3619c647ba83817144d8b9f7eec766cae492fb9987ad1e5ff169cfe045d163997916bdf0df75dafba94fb55c68a5dfb45c8aa87cb3e0e4658
-DIST plotly.py-5.16.0.gh.tar.gz 30846584 BLAKE2B 08071fbece2ac6ce69ae7466a001902867883127e7bfab397d5701eee0afc032fdc001157b4e38d4cbe9bfe361e18f7c33cc0e80b21d8deba5219821849848ab SHA512 2cbdc04a62de803d06d4085180caeaea9a7c429d525e841472a6b4a447dd53ab108e159a9b28ddcbcf86a47453ed028ad6d3d47001e3d68286aded4b10b1511b
-DIST plotly.py-5.16.1.gh.tar.gz 30846702 BLAKE2B 75985b37e56b4612f8c0bcd249d1a27e43d2f531715802f1d80c9f83b7536f4a124ffb0355cdee3db64e02feede2a37bcfca58b20e5fdad50e31c66291eb0181 SHA512 dabbbfe0da26b675fc30a8e3a9e105b13589a9906df11cbcae2f8fbaadf59e694ae1864de329665acebeabcb8821f1425d7b3cb3ffd96522d376e8d3b7704afa
-DIST plotly.py-5.17.0.gh.tar.gz 30874848 BLAKE2B 3a2bb0a38538372299f706f1ab45b6e51b2b27304c05328c0fda8f2b74c3f7f2ecacfd1aa5cdb4abb5f6890ab636d807e507bda8354ab19018f2282950d2eb5f SHA512 bde92fdd8afa218ff9090ab84afdd49ece4a67171b3e6c0148318a2e953e598d4401e52a2ca44894d8fc67382232bdf26cc340d03e7209a93c2fb4d3bed70810
-DIST plotly.py-5.18.0.gh.tar.gz 30876168 BLAKE2B f740a89c2040376348148bbd8a55c29d57e2454f804503eddf45e9781dddd258400646caa51c8d9a4e74d6d848e0d1332d53ed5635d491dffe5bf2bb4b78701e SHA512 56ae84487b61c1b90bf2d31e67116b8c2c9b23e40bda51d434c336750b32d659a5009e8057d40f9af6ede0d2a6bd4cc0bc5f9923d2ce74a439810e7c7714bd50
+DIST plotly.py-5.22.0.gh.tar.gz 31113116 BLAKE2B 67c0ad0d29b9b5041d1e310336a859c11399cced422f51d9f0906f61474868858f6f62da0172bec3e48f38eb5d1f7c68b497b6014b64f8cf48ef510a41f639ee SHA512 447072a78a5914aea5546edc6c51ea36475d12fd7e4b9f845ebe8396fb531c9b7ba942b6b5f9680f897acd9e2aefb8c09d08aadf106a78531faa8995d5ac218e
+DIST plotly.py-5.23.0.gh.tar.gz 31606651 BLAKE2B f34d1df464cac49ab834674be8815b97535d8f59e4263d8f68d82f2c2c52976a26b13fe9275f4a90fe0c0848449807dcd8342c0e5309d4b39d61b39cb31d8db5 SHA512 96573bf5952b29a75d2c87029c1041f05d08f4f891d63d5999372d64c211abc5982308dcfbf7590981cd0666ae84ccbee8c9a22e8e2b97571fc8c6a4e634cdbc
diff --git a/dev-python/plotly/files/plotly-5.23.0-numpy-2.patch b/dev-python/plotly/files/plotly-5.23.0-numpy-2.patch
new file mode 100644
index 000000000000..6941369978e8
--- /dev/null
+++ b/dev-python/plotly/files/plotly-5.23.0-numpy-2.patch
@@ -0,0 +1,87 @@
+From 99df182e9171e9b9e81811447f37ace05acc9272 Mon Sep 17 00:00:00 2001
+From: Ben Greiner <code@bnavigator.de>
+Date: Sun, 2 Jun 2024 16:43:06 +0200
+Subject: [PATCH 1/3] Remove np.nan and np.inf aliases no longer present in
+ numpy2
+
+---
+ .../tests/test_optional/test_utils/test_utils.py | 12 ++++++------
+ 1 file changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/plotly/tests/test_optional/test_utils/test_utils.py b/plotly/tests/test_optional/test_utils/test_utils.py
+index cf32e1bdff..d7d982e635 100644
+--- a/plotly/tests/test_optional/test_utils/test_utils.py
++++ b/plotly/tests/test_optional/test_utils/test_utils.py
+@@ -34,7 +34,7 @@
+
+ ## JSON encoding
+ numeric_list = [1, 2, 3]
+-np_list = np.array([1, 2, 3, np.NaN, np.NAN, np.Inf, dt(2014, 1, 5)])
++np_list = np.array([1, 2, 3, np.nan, np.inf, dt(2014, 1, 5)])
+ mixed_list = [
+ 1,
+ "A",
+@@ -45,7 +45,7 @@
+ dt_list = [dt(2014, 1, 5), dt(2014, 1, 5, 1, 1, 1), dt(2014, 1, 5, 1, 1, 1, 1)]
+
+ df = pd.DataFrame(
+- columns=["col 1"], data=[1, 2, 3, dt(2014, 1, 5), pd.NaT, np.NaN, np.Inf]
++ columns=["col 1"], data=[1, 2, 3, dt(2014, 1, 5), pd.NaT, np.nan, np.inf]
+ )
+
+ rng = pd.date_range("1/1/2011", periods=2, freq="H")
+@@ -184,7 +184,7 @@ def test_figure_json_encoding(self):
+
+ assert (
+ js1 == '{"type": "scatter3d", "x": [1, 2, 3], '
+- '"y": [1, 2, 3, null, null, null, "2014-01-05T00:00:00"], '
++ '"y": [1, 2, 3, null, null, "2014-01-05T00:00:00"], '
+ '"z": [1, "A", "2014-01-05T00:00:00", '
+ '"2014-01-05T01:01:01", "2014-01-05T01:01:01.000001"]}'
+ )
+@@ -195,9 +195,9 @@ def test_figure_json_encoding(self):
+ _json.dumps(figure, cls=utils.PlotlyJSONEncoder, sort_keys=True)
+
+ # Test data wasn't mutated
+- np_array = np.array([1, 2, 3, np.NaN, np.NAN, np.Inf, dt(2014, 1, 5)])
++ np_array = np.array([1, 2, 3, np.nan, np.inf, dt(2014, 1, 5)])
+ for k in range(len(np_array)):
+- if k in [3, 4]:
++ if k == 3:
+ # check NaN
+ assert np.isnan(np_list[k]) and np.isnan(np_array[k])
+ else:
+@@ -237,7 +237,7 @@ def test_pandas_json_encoding(self):
+ # Test that data wasn't mutated
+ assert_series_equal(
+ df["col 1"],
+- pd.Series([1, 2, 3, dt(2014, 1, 5), pd.NaT, np.NaN, np.Inf], name="col 1"),
++ pd.Series([1, 2, 3, dt(2014, 1, 5), pd.NaT, np.nan, np.inf], name="col 1"),
+ )
+
+ j2 = _json.dumps(df.index, cls=utils.PlotlyJSONEncoder)
+
+From 23b50d9df805349674e11949459976fb338b3d76 Mon Sep 17 00:00:00 2001
+From: Ben Greiner <code@bnavigator.de>
+Date: Sun, 2 Jun 2024 16:48:34 +0200
+Subject: [PATCH 2/3] Avoid putting 255 into int8 due to new numpy 2 type
+ promotion rules
+
+---
+ .../plotly/plotly/tests/test_optional/test_px/test_imshow.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/plotly/tests/test_optional/test_px/test_imshow.py b/plotly/tests/test_optional/test_px/test_imshow.py
+index c2e863c846..d8f9ad98c7 100644
+--- a/plotly/tests/test_optional/test_px/test_imshow.py
++++ b/plotly/tests/test_optional/test_px/test_imshow.py
+@@ -341,7 +341,7 @@ def test_imshow_source_dtype_zmax(dtype, contrast_rescaling):
+ assert (
+ np.abs(
+ np.max(decode_image_string(fig.data[0].source))
+- - 255 * img.max() / np.iinfo(dtype).max
++ - np.int64(255) * img.max() / np.iinfo(dtype).max
+ )
+ < 1
+ )
+
diff --git a/dev-python/plotly/plotly-5.15.0.ebuild b/dev-python/plotly/plotly-5.15.0.ebuild
deleted file mode 100644
index 13435fea5ab6..000000000000
--- a/dev-python/plotly/plotly-5.15.0.ebuild
+++ /dev/null
@@ -1,109 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-MY_P=plotly.py-${PV}
-DESCRIPTION="Browser-based graphing library for Python"
-HOMEPAGE="
- https://plotly.com/python/
- https://github.com/plotly/plotly.py/
- https://pypi.org/project/plotly/
-"
-SRC_URI="
- https://github.com/plotly/plotly.py/archive/refs/tags/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/packages/python/plotly"
-# The tests are not included in the PyPI tarball, to use the GitHub tarball
-# we have to skip npm, which means that the resulting install will
-# unfortunately lack the jupyterlab extension.
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/tenacity-6.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/jupyter[${PYTHON_USEDEP}]
- dev-python/jupyterlab[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/shapely[${PYTHON_USEDEP}]
- dev-python/statsmodels[${PYTHON_USEDEP}]
- dev-python/xarray[${PYTHON_USEDEP}]
- sci-libs/scikit-image[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-5.8.0-fix-versioneer-import.patch
-)
-
-EPYTEST_IGNORE=(
- # Needs porting to newer numpy
- _plotly_utils/tests/validators/test_integer_validator.py
-
- # kaleido not packaged
- plotly/tests/test_optional/test_kaleido
-
- # plotly-orca not packaged
- plotly/tests/test_orca
-)
-
-EPYTEST_DESELECT=(
- # Also needs porting to newer numpy
- plotly/tests/test_io/test_to_from_plotly_json.py::test_object_numpy_encoding
-
- # kaleido not packaged
- plotly/tests/test_orca/test_to_image.py::test_bytesio
-
- # Fails if not already installed
- test_init/test_dependencies_not_imported.py::test_dependencies_not_imported
- test_init/test_lazy_imports.py::test_lazy_imports
-
- # Minor matplotlib incompatibility
- plotly/matplotlylib/mplexporter/tests/test_basic.py::test_path_collection
- plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots
- plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle
-
- # In python 3.11 the produced error is slightly different
- plotly/tests/test_core/test_errors/test_dict_path_errors.py::test_described_subscript_error_on_type_error
-
- # TODO
- plotly/tests/test_io/test_to_from_plotly_json.py
-)
-
-# There are sphinx docs but we are missing a bunch of dependencies.
-# distutils_enable_sphinx ../../../doc/apidoc
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Do not try to fetch stuff with npm
- export SKIP_NPM=1
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- mv "${ED}"/{usr/etc,etc} || die
-}
diff --git a/dev-python/plotly/plotly-5.16.0.ebuild b/dev-python/plotly/plotly-5.16.0.ebuild
deleted file mode 100644
index bbed937a6033..000000000000
--- a/dev-python/plotly/plotly-5.16.0.ebuild
+++ /dev/null
@@ -1,115 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-MY_P=plotly.py-${PV}
-DESCRIPTION="Browser-based graphing library for Python"
-HOMEPAGE="
- https://plotly.com/python/
- https://github.com/plotly/plotly.py/
- https://pypi.org/project/plotly/
-"
-SRC_URI="
- https://github.com/plotly/plotly.py/archive/refs/tags/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/packages/python/plotly"
-# The tests are not included in the PyPI tarball, to use the GitHub tarball
-# we have to skip npm, which means that the resulting install will
-# unfortunately lack the jupyterlab extension.
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/tenacity-6.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/jupyter[${PYTHON_USEDEP}]
- dev-python/jupyterlab[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/shapely[${PYTHON_USEDEP}]
- dev-python/statsmodels[${PYTHON_USEDEP}]
- dev-python/xarray[${PYTHON_USEDEP}]
- sci-libs/scikit-image[${PYTHON_USEDEP}]
- )
-"
-
-# README ends up a broken symlink
-DOCS=()
-
-PATCHES=(
- "${FILESDIR}"/${PN}-5.8.0-fix-versioneer-import.patch
-)
-
-EPYTEST_IGNORE=(
- # Needs porting to newer numpy
- _plotly_utils/tests/validators/test_integer_validator.py
-
- # kaleido not packaged
- plotly/tests/test_optional/test_kaleido
-
- # plotly-orca not packaged
- plotly/tests/test_orca
-)
-
-EPYTEST_DESELECT=(
- # Also needs porting to newer numpy
- plotly/tests/test_io/test_to_from_plotly_json.py::test_object_numpy_encoding
-
- # kaleido not packaged
- plotly/tests/test_orca/test_to_image.py::test_bytesio
-
- # Fails if not already installed
- test_init/test_dependencies_not_imported.py::test_dependencies_not_imported
- test_init/test_lazy_imports.py::test_lazy_imports
-
- # Minor matplotlib incompatibility
- plotly/matplotlylib/mplexporter/tests/test_basic.py::test_path_collection
- plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots
- plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle
-
- # In python 3.11 the produced error is slightly different
- plotly/tests/test_core/test_errors/test_dict_path_errors.py::test_described_subscript_error_on_type_error
-
- # TODO
- plotly/tests/test_io/test_to_from_plotly_json.py
-
- # two subtests that require 'vaex' and 'polars' respectively
- plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_from_vaex_and_polars
-)
-
-# There are sphinx docs but we are missing a bunch of dependencies.
-# distutils_enable_sphinx ../../../doc/apidoc
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Do not try to fetch stuff with npm
- export SKIP_NPM=1
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- mv "${ED}"/{usr/etc,etc} || die
-}
diff --git a/dev-python/plotly/plotly-5.16.1.ebuild b/dev-python/plotly/plotly-5.16.1.ebuild
deleted file mode 100644
index fb5d7588cae8..000000000000
--- a/dev-python/plotly/plotly-5.16.1.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-MY_P=plotly.py-${PV}
-DESCRIPTION="Browser-based graphing library for Python"
-HOMEPAGE="
- https://plotly.com/python/
- https://github.com/plotly/plotly.py/
- https://pypi.org/project/plotly/
-"
-SRC_URI="
- https://github.com/plotly/plotly.py/archive/refs/tags/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/packages/python/plotly"
-# The tests are not included in the PyPI tarball, to use the GitHub tarball
-# we have to skip npm, which means that the resulting install will
-# unfortunately lack the jupyterlab extension.
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/tenacity-6.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/jupyter[${PYTHON_USEDEP}]
- dev-python/jupyterlab[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/shapely[${PYTHON_USEDEP}]
- dev-python/statsmodels[${PYTHON_USEDEP}]
- dev-python/xarray[${PYTHON_USEDEP}]
- sci-libs/scikit-image[${PYTHON_USEDEP}]
- )
-"
-
-# README ends up a broken symlink
-DOCS=()
-
-PATCHES=(
- "${FILESDIR}"/${PN}-5.8.0-fix-versioneer-import.patch
-)
-
-EPYTEST_IGNORE=(
- # Needs porting to newer numpy
- _plotly_utils/tests/validators/test_integer_validator.py
-
- # kaleido not packaged
- plotly/tests/test_optional/test_kaleido
-
- # plotly-orca not packaged
- plotly/tests/test_orca
-)
-
-EPYTEST_DESELECT=(
- # Also needs porting to newer numpy
- plotly/tests/test_io/test_to_from_plotly_json.py::test_object_numpy_encoding
-
- # kaleido not packaged
- plotly/tests/test_orca/test_to_image.py::test_bytesio
-
- # Fails if not already installed
- test_init/test_dependencies_not_imported.py::test_dependencies_not_imported
- test_init/test_lazy_imports.py::test_lazy_imports
-
- # Minor matplotlib incompatibility
- plotly/matplotlylib/mplexporter/tests/test_basic.py::test_path_collection
- plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots
- plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle
-
- # In python 3.11 the produced error is slightly different
- plotly/tests/test_core/test_errors/test_dict_path_errors.py::test_described_subscript_error_on_type_error
-
- # TODO
- plotly/tests/test_io/test_to_from_plotly_json.py
-
- # two subtests that require 'vaex' and 'polars' respectively
- plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_from_vaex_and_polars
- plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_with_hover_data_from_vaex_and_polars
-)
-
-# There are sphinx docs but we are missing a bunch of dependencies.
-# distutils_enable_sphinx ../../../doc/apidoc
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Do not try to fetch stuff with npm
- export SKIP_NPM=1
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- mv "${ED}"/{usr/etc,etc} || die
-}
diff --git a/dev-python/plotly/plotly-5.17.0.ebuild b/dev-python/plotly/plotly-5.17.0.ebuild
deleted file mode 100644
index fb5d7588cae8..000000000000
--- a/dev-python/plotly/plotly-5.17.0.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-MY_P=plotly.py-${PV}
-DESCRIPTION="Browser-based graphing library for Python"
-HOMEPAGE="
- https://plotly.com/python/
- https://github.com/plotly/plotly.py/
- https://pypi.org/project/plotly/
-"
-SRC_URI="
- https://github.com/plotly/plotly.py/archive/refs/tags/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/packages/python/plotly"
-# The tests are not included in the PyPI tarball, to use the GitHub tarball
-# we have to skip npm, which means that the resulting install will
-# unfortunately lack the jupyterlab extension.
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/tenacity-6.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/jupyter[${PYTHON_USEDEP}]
- dev-python/jupyterlab[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/shapely[${PYTHON_USEDEP}]
- dev-python/statsmodels[${PYTHON_USEDEP}]
- dev-python/xarray[${PYTHON_USEDEP}]
- sci-libs/scikit-image[${PYTHON_USEDEP}]
- )
-"
-
-# README ends up a broken symlink
-DOCS=()
-
-PATCHES=(
- "${FILESDIR}"/${PN}-5.8.0-fix-versioneer-import.patch
-)
-
-EPYTEST_IGNORE=(
- # Needs porting to newer numpy
- _plotly_utils/tests/validators/test_integer_validator.py
-
- # kaleido not packaged
- plotly/tests/test_optional/test_kaleido
-
- # plotly-orca not packaged
- plotly/tests/test_orca
-)
-
-EPYTEST_DESELECT=(
- # Also needs porting to newer numpy
- plotly/tests/test_io/test_to_from_plotly_json.py::test_object_numpy_encoding
-
- # kaleido not packaged
- plotly/tests/test_orca/test_to_image.py::test_bytesio
-
- # Fails if not already installed
- test_init/test_dependencies_not_imported.py::test_dependencies_not_imported
- test_init/test_lazy_imports.py::test_lazy_imports
-
- # Minor matplotlib incompatibility
- plotly/matplotlylib/mplexporter/tests/test_basic.py::test_path_collection
- plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots
- plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle
-
- # In python 3.11 the produced error is slightly different
- plotly/tests/test_core/test_errors/test_dict_path_errors.py::test_described_subscript_error_on_type_error
-
- # TODO
- plotly/tests/test_io/test_to_from_plotly_json.py
-
- # two subtests that require 'vaex' and 'polars' respectively
- plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_from_vaex_and_polars
- plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_with_hover_data_from_vaex_and_polars
-)
-
-# There are sphinx docs but we are missing a bunch of dependencies.
-# distutils_enable_sphinx ../../../doc/apidoc
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Do not try to fetch stuff with npm
- export SKIP_NPM=1
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- mv "${ED}"/{usr/etc,etc} || die
-}
diff --git a/dev-python/plotly/plotly-5.18.0.ebuild b/dev-python/plotly/plotly-5.18.0.ebuild
deleted file mode 100644
index 6ff4531c953a..000000000000
--- a/dev-python/plotly/plotly-5.18.0.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-MY_P=plotly.py-${PV}
-DESCRIPTION="Browser-based graphing library for Python"
-HOMEPAGE="
- https://plotly.com/python/
- https://github.com/plotly/plotly.py/
- https://pypi.org/project/plotly/
-"
-SRC_URI="
- https://github.com/plotly/plotly.py/archive/refs/tags/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}/packages/python/plotly"
-# The tests are not included in the PyPI tarball, to use the GitHub tarball
-# we have to skip npm, which means that the resulting install will
-# unfortunately lack the jupyterlab extension.
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/tenacity-6.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/ipykernel[${PYTHON_USEDEP}]
- dev-python/ipython[${PYTHON_USEDEP}]
- dev-python/ipywidgets[${PYTHON_USEDEP}]
- dev-python/jupyter[${PYTHON_USEDEP}]
- dev-python/jupyterlab[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/shapely[${PYTHON_USEDEP}]
- dev-python/statsmodels[${PYTHON_USEDEP}]
- dev-python/xarray[${PYTHON_USEDEP}]
- sci-libs/scikit-image[${PYTHON_USEDEP}]
- )
-"
-
-# README ends up a broken symlink
-DOCS=()
-
-PATCHES=(
- "${FILESDIR}"/${PN}-5.8.0-fix-versioneer-import.patch
-)
-
-EPYTEST_IGNORE=(
- # Needs porting to newer numpy
- _plotly_utils/tests/validators/test_integer_validator.py
-
- # kaleido not packaged
- plotly/tests/test_optional/test_kaleido
-
- # plotly-orca not packaged
- plotly/tests/test_orca
-)
-
-EPYTEST_DESELECT=(
- # Also needs porting to newer numpy
- plotly/tests/test_io/test_to_from_plotly_json.py::test_object_numpy_encoding
-
- # kaleido not packaged
- plotly/tests/test_orca/test_to_image.py::test_bytesio
-
- # Fails if not already installed
- test_init/test_dependencies_not_imported.py::test_dependencies_not_imported
- test_init/test_lazy_imports.py::test_lazy_imports
-
- # Minor matplotlib incompatibility
- plotly/matplotlylib/mplexporter/tests/test_basic.py::test_path_collection
- plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots
- plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle
-
- # In python 3.11 the produced error is slightly different
- plotly/tests/test_core/test_errors/test_dict_path_errors.py::test_described_subscript_error_on_type_error
-
- # TODO
- plotly/tests/test_io/test_to_from_plotly_json.py
-
- # two subtests that require 'vaex' and 'polars' respectively
- plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_from_vaex_and_polars
- plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_with_hover_data_from_vaex_and_polars
-)
-
-# There are sphinx docs but we are missing a bunch of dependencies.
-# distutils_enable_sphinx ../../../doc/apidoc
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Do not try to fetch stuff with npm
- export SKIP_NPM=1
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- mv "${ED}"/{usr/etc,etc} || die
-}
diff --git a/dev-python/plotly/plotly-5.22.0.ebuild b/dev-python/plotly/plotly-5.22.0.ebuild
new file mode 100644
index 000000000000..b5d3d8183854
--- /dev/null
+++ b/dev-python/plotly/plotly-5.22.0.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+MY_P=plotly.py-${PV}
+DESCRIPTION="Browser-based graphing library for Python"
+HOMEPAGE="
+ https://plotly.com/python/
+ https://github.com/plotly/plotly.py/
+ https://pypi.org/project/plotly/
+"
+SRC_URI="
+ https://github.com/plotly/plotly.py/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/packages/python/plotly"
+# The tests are not included in the PyPI tarball, to use the GitHub tarball
+# we have to skip npm, which means that the resulting install will
+# unfortunately lack the jupyterlab extension.
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-6.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/jupyter[${PYTHON_USEDEP}]
+ dev-python/jupyterlab[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ <dev-python/numpy-2[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/shapely[${PYTHON_USEDEP}]
+ dev-python/statsmodels[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ dev-python/scikit-image[${PYTHON_USEDEP}]
+ )
+"
+
+# README ends up a broken symlink
+DOCS=()
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.8.0-fix-versioneer-import.patch
+)
+
+EPYTEST_IGNORE=(
+ # Needs porting to newer numpy
+ _plotly_utils/tests/validators/test_integer_validator.py
+
+ # kaleido not packaged
+ plotly/tests/test_optional/test_kaleido
+
+ # plotly-orca not packaged
+ plotly/tests/test_orca
+)
+
+EPYTEST_DESELECT=(
+ # Also needs porting to newer numpy
+ plotly/tests/test_io/test_to_from_plotly_json.py::test_object_numpy_encoding
+
+ # kaleido not packaged
+ plotly/tests/test_orca/test_to_image.py::test_bytesio
+
+ # Fails if not already installed
+ test_init/test_dependencies_not_imported.py::test_dependencies_not_imported
+ test_init/test_lazy_imports.py::test_lazy_imports
+
+ # Minor matplotlib incompatibility
+ plotly/matplotlylib/mplexporter/tests/test_basic.py::test_path_collection
+ plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots
+ plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle
+
+ # In python 3.11 the produced error is slightly different
+ plotly/tests/test_core/test_errors/test_dict_path_errors.py::test_described_subscript_error_on_type_error
+
+ # TODO
+ plotly/tests/test_io/test_to_from_plotly_json.py
+
+ # two subtests that require 'vaex' and 'polars' respectively
+ plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_from_vaex_and_polars
+ plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_with_hover_data_from_vaex_and_polars
+)
+
+# There are sphinx docs but we are missing a bunch of dependencies.
+# distutils_enable_sphinx ../../../doc/apidoc
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Do not try to fetch stuff with npm
+ export SKIP_NPM=1
+ distutils-r1_python_prepare_all
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ mv "${ED}"/{usr/etc,etc} || die
+}
diff --git a/dev-python/plotly/plotly-5.23.0.ebuild b/dev-python/plotly/plotly-5.23.0.ebuild
new file mode 100644
index 000000000000..6d9a95b46d23
--- /dev/null
+++ b/dev-python/plotly/plotly-5.23.0.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+MY_P=plotly.py-${PV}
+DESCRIPTION="Browser-based graphing library for Python"
+HOMEPAGE="
+ https://plotly.com/python/
+ https://github.com/plotly/plotly.py/
+ https://pypi.org/project/plotly/
+"
+SRC_URI="
+ https://github.com/plotly/plotly.py/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}/packages/python/plotly"
+# The tests are not included in the PyPI tarball, to use the GitHub tarball
+# we have to skip npm, which means that the resulting install will
+# unfortunately lack the jupyterlab extension.
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/tenacity-6.2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/ipywidgets[${PYTHON_USEDEP}]
+ dev-python/jupyter[${PYTHON_USEDEP}]
+ dev-python/jupyterlab[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/shapely[${PYTHON_USEDEP}]
+ dev-python/statsmodels[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ dev-python/scikit-image[${PYTHON_USEDEP}]
+ )
+"
+
+# There are sphinx docs but we are missing a bunch of dependencies.
+# distutils_enable_sphinx ../../../doc/apidoc
+distutils_enable_tests pytest
+
+# README ends up a broken symlink
+DOCS=()
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.8.0-fix-versioneer-import.patch
+ # https://github.com/plotly/plotly.py/pull/4622
+ "${FILESDIR}/${P}-numpy-2.patch"
+)
+
+python_prepare_all() {
+ # Do not try to fetch stuff with npm
+ export SKIP_NPM=1
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # kaleido not packaged
+ plotly/tests/test_optional/test_kaleido
+
+ # plotly-orca not packaged
+ plotly/tests/test_orca
+ )
+
+ local EPYTEST_DESELECT=(
+ # kaleido not packaged
+ plotly/tests/test_orca/test_to_image.py::test_bytesio
+
+ # fails in non-isolated env
+ test_init/test_dependencies_not_imported.py::test_dependencies_not_imported
+ test_init/test_lazy_imports.py::test_lazy_imports
+
+ # Minor matplotlib incompatibility
+ plotly/matplotlylib/mplexporter/tests/test_basic.py::test_legend_dots
+ plotly/matplotlylib/mplexporter/tests/test_utils.py::test_linestyle
+
+ # TODO
+ plotly/tests/test_io/test_to_from_plotly_json.py::test_sanitize_json
+
+ # two subtests that require 'vaex' and 'polars' respectively
+ plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_from_vaex_and_polars
+ plotly/tests/test_optional/test_px/test_px_input.py::test_build_df_with_hover_data_from_vaex_and_polars
+
+ # the usual recursion problem
+ plotly/tests/test_optional/test_utils/test_utils.py::test_masked_constants_example
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ mv "${ED}"/{usr/etc,etc} || die
+}
diff --git a/dev-python/pluggy/Manifest b/dev-python/pluggy/Manifest
index 7d94b559f754..05385367cebd 100644
--- a/dev-python/pluggy/Manifest
+++ b/dev-python/pluggy/Manifest
@@ -1 +1 @@
-DIST pluggy-1.3.0.tar.gz 63670 BLAKE2B afa28641ec0a93e97fed2a03655c76077d046b05f49c4e584df3486dd007fb20296f61b001664d8cbb50d4400f1132f75d5de932caa1d3f92e349f78158d7ade SHA512 d4dbb449f533649da161d7e49f82da5800dabdace4f7aa239c412290470612a45a3ba3c50cafd7bd9ed26cb3aa14648bfa3ed3f41fc0db9ae9399fd7f5933d5f
+DIST pluggy-1.5.0.tar.gz 67955 BLAKE2B c63e7605b7631adf7fe3a91dae92d2ce8172510574e0b23ded159479077f91c88948487a7a4e1da30dca7da0339cb78fbb521538e67bc2bde37986970403d48f SHA512 032d41e1f2bed56eff22463c4645516e9415ee253e0a3fe5ba83a8de5e21700baae1f6384c979d2c6f622e4216a2b745eec489bc04f52a576d423e771365cc7a
diff --git a/dev-python/pluggy/pluggy-1.3.0.ebuild b/dev-python/pluggy/pluggy-1.3.0.ebuild
deleted file mode 100644
index 34e44f9f3770..000000000000
--- a/dev-python/pluggy/pluggy-1.3.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Plugin and hook calling mechanisms for Python"
-HOMEPAGE="
- https://pluggy.readthedocs.io/
- https://github.com/pytest-dev/pluggy/
- https://pypi.org/project/pluggy/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pluggy/pluggy-1.5.0.ebuild b/dev-python/pluggy/pluggy-1.5.0.ebuild
new file mode 100644
index 000000000000..e0d7e60a4771
--- /dev/null
+++ b/dev-python/pluggy/pluggy-1.5.0.ebuild
@@ -0,0 +1,26 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Plugin and hook calling mechanisms for Python"
+HOMEPAGE="
+ https://pluggy.readthedocs.io/
+ https://github.com/pytest-dev/pluggy/
+ https://pypi.org/project/pluggy/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pluginbase/pluginbase-1.0.1-r1.ebuild b/dev-python/pluginbase/pluginbase-1.0.1-r1.ebuild
index d3984db8b7df..f17668bab70d 100644
--- a/dev-python/pluginbase/pluginbase-1.0.1-r1.ebuild
+++ b/dev-python/pluginbase/pluginbase-1.0.1-r1.ebuild
@@ -1,14 +1,14 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
-DESCRIPTION="Support library for building plugins sytems in Python"
+DESCRIPTION="Support library for building plugins systems in Python"
HOMEPAGE="
https://github.com/mitsuhiko/pluginbase/
https://pypi.org/project/pluginbase/
diff --git a/dev-python/plumbum/Manifest b/dev-python/plumbum/Manifest
index b99fb088d3f3..793249a2033a 100644
--- a/dev-python/plumbum/Manifest
+++ b/dev-python/plumbum/Manifest
@@ -1 +1 @@
-DIST plumbum-1.8.2.tar.gz 317675 BLAKE2B d21a105d9919f70ad480d5de7ce157f2ae6c56cd248a2b70ad037c83a5e4b56bd8bdb3d9587860db383b04dd6528828426b47895c345f8bf7dc4931310be343d SHA512 636d10ea1c727cb24d4692537f3c0005077f86c3d9d2ae244f86ef5dd9621f8b51e0b5efffaa7acf66d6ba5552fddd641d4a1796c7fd760ac0a27d029f685c20
+DIST plumbum-1.8.3.tar.gz 318895 BLAKE2B 7c3df70e5bcaf5dfd9c6898f0d2044c647f08a4eaa0eb6bcb616c9971edfc20aa7651dc70a193e06c1d1f97b155a86a6d93d14622ff40da1328b1aa0e6534e6b SHA512 e59dd98939739636c3f1541e24f3c5a4b0c9bbe54b77d378875a57f167ca1916adbca6b33c7779d37e5daebd949c9a9d77bfffc404e55d319027658b5a504088
diff --git a/dev-python/plumbum/plumbum-1.8.2.ebuild b/dev-python/plumbum/plumbum-1.8.2.ebuild
deleted file mode 100644
index fa6aefc5d91c..000000000000
--- a/dev-python/plumbum/plumbum-1.8.2.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="A library for shell script-like programs in python"
-HOMEPAGE="
- https://plumbum.readthedocs.io/en/latest/
- https://github.com/tomerfiliba/plumbum/
- https://pypi.org/project/plumbum/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Need sshd running
- tests/test_remote.py
- tests/test_utils.py
- # Windows specific
- tests/test_putty.py
- # Needs sudo without password
- tests/test_sudo.py
- # Wrong assumptions about env handling
- tests/test_env.py::TestEnv::test_change_env
- tests/test_env.py::TestEnv::test_dictlike
- tests/test_local.py::TestLocalPath::test_iterdir
-)
-
-src_prepare() {
- sed -e '/addopts/d' -i pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-pkg_postinst() {
- optfeature "remote commands via ssh" dev-python/paramiko
- optfeature "progress bars in jupyter" dev-python/ipywidgets
- optfeature "colored output in jupyter" dev-python/ipython
- optfeature "images on the command line" dev-python/pillow
-}
diff --git a/dev-python/plumbum/plumbum-1.8.3.ebuild b/dev-python/plumbum/plumbum-1.8.3.ebuild
new file mode 100644
index 000000000000..cf6682fc58de
--- /dev/null
+++ b/dev-python/plumbum/plumbum-1.8.3.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="A library for shell script-like programs in python"
+HOMEPAGE="
+ https://plumbum.readthedocs.io/en/latest/
+ https://github.com/tomerfiliba/plumbum/
+ https://pypi.org/project/plumbum/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Need sshd running
+ tests/test_remote.py
+ tests/test_utils.py
+ # Windows specific
+ tests/test_putty.py
+ # Needs sudo without password
+ tests/test_sudo.py
+ # Wrong assumptions about env handling
+ tests/test_env.py::TestEnv::test_change_env
+ tests/test_env.py::TestEnv::test_dictlike
+ tests/test_local.py::TestLocalPath::test_iterdir
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -p pytest_mock -p timeout
+}
+
+pkg_postinst() {
+ optfeature "remote commands via ssh" dev-python/paramiko
+ optfeature "progress bars in jupyter" dev-python/ipywidgets
+ optfeature "colored output in jupyter" dev-python/ipython
+ optfeature "images on the command line" dev-python/pillow
+}
diff --git a/dev-python/ply/metadata.xml b/dev-python/ply/metadata.xml
index 2a34109ebcf1..5cbef0a9f520 100644
--- a/dev-python/ply/metadata.xml
+++ b/dev-python/ply/metadata.xml
@@ -21,5 +21,6 @@ PLYはLexとYaccの有名なコンパイラ・コンストラクション・ツ
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">ply</remote-id>
+ <remote-id type="github">dabeaz/ply</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/ply/ply-3.11-r2.ebuild b/dev-python/ply/ply-3.11-r2.ebuild
index 894dd485bd96..a6779d0e9f96 100644
--- a/dev-python/ply/ply-3.11-r2.ebuild
+++ b/dev-python/ply/ply-3.11-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
# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
EAPI=7
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/plyr/Manifest b/dev-python/plyr/Manifest
deleted file mode 100644
index bd04cbe3a715..000000000000
--- a/dev-python/plyr/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-glyr-1.0.6.gh.tar.gz 42952 BLAKE2B fd95ef9fd01788c6f6526eabb77cc2c93bd28324066cfb1a4be70a5990bb1599e57e40d607f926a7216c582389e9763bdc92fbd411cdeef52aa86e1ba6138c83 SHA512 c4b04b1379116048f78c3ce5f9d30c92fd0d7198bfda456891d3012d115b86a5970595d9b4bc1d43028e87c9d467c35a7d02c7f3a9f4670dae8a17c22d1ab58a
diff --git a/dev-python/plyr/metadata.xml b/dev-python/plyr/metadata.xml
deleted file mode 100644
index 717f0fb021a8..000000000000
--- a/dev-python/plyr/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="github">sahib/python-glyr</remote-id>
- <remote-id type="pypi">plyr</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/plyr/plyr-1.0.6-r1.ebuild b/dev-python/plyr/plyr-1.0.6-r1.ebuild
deleted file mode 100644
index bd405e8ab86d..000000000000
--- a/dev-python/plyr/plyr-1.0.6-r1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-MY_PN="python-glyr"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="A python wrapper for Glyr"
-HOMEPAGE="
- https://sahib.github.io/python-glyr/intro.html
- https://github.com/sahib/python-glyr/
- https://pypi.org/project/plyr/
-"
-SRC_URI="
- https://github.com/sahib/${MY_PN}/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="GPL-3+"
-KEYWORDS="amd64 x86"
-SLOT="0"
-
-DEPEND="
- media-libs/glyr:=
-"
-RDEPEND="
- ${DEPEND}
-"
-# <cython-3: https://bugs.gentoo.org/898696
-BDEPEND="
- <dev-python/cython-3[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs/source
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Internet
- tests/test_misc.py::TestMisc::test_download
-)
diff --git a/dev-python/plyvel/Manifest b/dev-python/plyvel/Manifest
index ef0151223512..26cea8b6ee3a 100644
--- a/dev-python/plyvel/Manifest
+++ b/dev-python/plyvel/Manifest
@@ -1 +1 @@
-DIST plyvel-1.5.0.tar.gz 152348 BLAKE2B eca4780ecce793d514647557b13cb134a10c6bc46b981e6f92caa01715180a95c511fee1e75eee677778c34084058fba029547557442b86a0286a0d959dd550d SHA512 3f12b1d17a7b4b52fc2874b091a7378f3e8c0f895a3993f86ce6a686f7f94d28b585c5e6aa9b48ebb7d9106cae2b148aa15a87f07dfb232a0678ed151d8e09c1
+DIST plyvel-1.5.1.tar.gz 200128 BLAKE2B d9fec1af0542a93ca25247abd7e17a9f868de2878d6dcbb846cad3326057d36b52ff0b85bfd342f0ed447ebf9925584b6fb95a47b6d424bb9b24f9aa35fa30c1 SHA512 8f613197e85d085ea47e5a5d6b2bf0310f52fb51eeda6ed7f8cb559c192583f3cb25b66227876c01a08f6a355aafd5092673b7d5341b9b6e5d24546b7755d275
diff --git a/dev-python/plyvel/plyvel-1.5.0.ebuild b/dev-python/plyvel/plyvel-1.5.0.ebuild
deleted file mode 100644
index bb2cb68ae8f8..000000000000
--- a/dev-python/plyvel/plyvel-1.5.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-# Disable PyPy3 for now because it is not stable enough:
-# https://github.com/wbolster/plyvel/issues/140
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python interface to LevelDB"
-HOMEPAGE="
- https://github.com/wbolster/plyvel/
- https://pypi.org/project/plyvel/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- >=dev-libs/leveldb-1.21:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx doc
-distutils_enable_tests pytest
-
-src_configure() {
- emake cython
-}
-
-python_test() {
- rm -rf plyvel || die
- epytest
-}
diff --git a/dev-python/plyvel/plyvel-1.5.1.ebuild b/dev-python/plyvel/plyvel-1.5.1.ebuild
new file mode 100644
index 000000000000..f26a7bbdf0e8
--- /dev/null
+++ b/dev-python/plyvel/plyvel-1.5.1.ebuild
@@ -0,0 +1,44 @@
+# 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
+# Disable PyPy3 for now because it is not stable enough:
+# https://github.com/wbolster/plyvel/issues/140
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python interface to LevelDB"
+HOMEPAGE="
+ https://github.com/wbolster/plyvel/
+ https://pypi.org/project/plyvel/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ >=dev-libs/leveldb-1.21:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx doc
+distutils_enable_tests pytest
+
+src_configure() {
+ emake cython
+}
+
+python_test() {
+ rm -rf plyvel || die
+ epytest
+}
diff --git a/dev-python/pmw/Manifest b/dev-python/pmw/Manifest
index 42cbe402c60e..0e1ba494fa74 100644
--- a/dev-python/pmw/Manifest
+++ b/dev-python/pmw/Manifest
@@ -1 +1 @@
-DIST Pmw-2.0.1.tar.gz 830448 BLAKE2B c78fef1570a34b9784f936f16856c4450164d8a232770e59cc084c1113888af8ee002cd1c7ddeadcddaacb5eae9ff58fcbfc270fc066875523e31a9d26770cd3 SHA512 99654e961aa40a64eebc08fe473e94da0ce431e6465255c68c251dfd544a51edef1a5d97dfd89ce756eb5f7fcf917dbef27f646ba9451ab72f3d460daa09a556
+DIST Pmw-2.1.1.tar.gz 1077119 BLAKE2B 3e78796489d996df8fbcaca119f03b718f5457d38af175232c055c1c94e6c98c3f198e3dd0859a4af1cc88f36df83ed57c0d8ee67f90362a8590de5a37d2f669 SHA512 7f4c3181b0ae546f9f89cf666917fd9ea0161a2c4a4e6b5756e0aeb543fcd3ed4598c83e294b04312fea6a386b06b370668b4400f1497cc8b2fc2ab19a3fdd3d
diff --git a/dev-python/pmw/pmw-2.0.1-r3.ebuild b/dev-python/pmw/pmw-2.0.1-r3.ebuild
deleted file mode 100644
index 0873e357ce2a..000000000000
--- a/dev-python/pmw/pmw-2.0.1-r3.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="tk"
-
-inherit distutils-r1 virtualx pypi
-
-DESCRIPTION="Toolkit for building high-level compound Python widgets using the Tkinter module"
-HOMEPAGE="http://pmw.sourceforge.net/"
-
-LICENSE="BSD"
-SLOT="py3"
-KEYWORDS="~alpha amd64 ~ia64 ppc sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="doc test"
-# https://sourceforge.net/p/pmw/bugs/39/
-RESTRICT="test"
-
-DEPEND="!dev-python/pmw:0"
-RDEPEND="${DEPEND}"
-
-python_test() {
- VIRTUALX_COMMAND="${PYTHON}"
- cd "${BUILD_DIR}/lib/Pmw/Pmw_${PV//./_}/" || die
- cp tests/{flagup.bmp,earthris.gif} . || die
- for test in tests/*_test.py; do
- echo "running test "$test
- PYTHONPATH=tests:../../ virtx emake -j1 $test || die
- done
-}
-
-python_install_all() {
- local DIR="Pmw/Pmw_${PV//./_}"
-
- use doc && HTML_DOCS=( "${DIR}"/doc/. )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pmw/pmw-2.1.1.ebuild b/dev-python/pmw/pmw-2.1.1.ebuild
new file mode 100644
index 000000000000..4e72c60e0eab
--- /dev/null
+++ b/dev-python/pmw/pmw-2.1.1.ebuild
@@ -0,0 +1,43 @@
+# 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
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_REQ_USE="tk"
+
+inherit distutils-r1 virtualx pypi
+
+DESCRIPTION="Toolkit for building high-level compound Python widgets using the Tkinter module"
+HOMEPAGE="https://pypi.org/project/Pmw/"
+
+LICENSE="BSD"
+SLOT="py3"
+KEYWORDS="~alpha amd64 ~ia64 ppc sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="doc test"
+# https://sourceforge.net/p/pmw/bugs/39/
+RESTRICT="test"
+
+DEPEND="!dev-python/pmw:0"
+RDEPEND="${DEPEND}"
+
+python_test() {
+ VIRTUALX_COMMAND="${PYTHON}"
+ cd "${BUILD_DIR}/lib/Pmw/Pmw_${PV//./_}/" || die
+ cp tests/{flagup.bmp,earthris.gif} . || die
+ for test in tests/*_test.py; do
+ echo "running test "$test
+ PYTHONPATH=tests:../../ virtx emake -j1 $test || die
+ done
+}
+
+python_install_all() {
+ local DIR="Pmw/Pmw_${PV//./_}"
+
+ use doc && HTML_DOCS=( "${DIR}"/doc/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pockets/pockets-0.9.1-r3.ebuild b/dev-python/pockets/pockets-0.9.1-r3.ebuild
index 39add067ef57..67c80c89fef2 100644
--- a/dev-python/pockets/pockets-0.9.1-r3.ebuild
+++ b/dev-python/pockets/pockets-0.9.1-r3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/podcastparser/podcastparser-0.6.10.ebuild b/dev-python/podcastparser/podcastparser-0.6.10.ebuild
index 39b06646c673..2ed67670395e 100644
--- a/dev-python/podcastparser/podcastparser-0.6.10.ebuild
+++ b/dev-python/podcastparser/podcastparser-0.6.10.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/podman/Manifest b/dev-python/podman/Manifest
index 5c8ef6d6fb10..c1ce992c1b9b 100644
--- a/dev-python/podman/Manifest
+++ b/dev-python/podman/Manifest
@@ -1,4 +1 @@
-DIST podman-py-4.5.0.gh.tar.gz 179025 BLAKE2B 6725bd79a5fb0a17a75080b323cf62b56a3ef83d20c7113364785e0994a053455a08d9ffb2bbbbfb646fb730367de9bfd838c7eb92053a93a55008c59ec59732 SHA512 903466e11afebd26da65cc363ab49a56255731ea8bc07d202dd80907e1dd6704b5a8542c5a417f3c46ec93882bb21ef6990ae80fe558dfd3310b9272590cbd39
-DIST podman-py-4.6.0.gh.tar.gz 180393 BLAKE2B bb5e32cc57d3e545e28f98857ecdc643aed7eb208b12e14d0bbf961ec4ac115ee709af88e8f541fd2b73aab1c319d10f7835319dacadb52813e05820348c8406 SHA512 4d60d3643e679d68f560988c2b31272703059dc000e6361b44d896df480a72f36df595f0122ee39f44874b76a7286bbf05ea8c045e5afa58bd0c7b0a5a42f2de
-DIST podman-py-4.7.0.gh.tar.gz 181261 BLAKE2B 039ef411ce365d7bec18b9ba5964e149ed5ca437af3640361d9bf4e9ff96f2c9fbe5cf538e547612d7dcdf132045a71bb1e4bd93124b16d4bc7ff46c9d5c5a0a SHA512 c570ce3e7e11cd2f78a80ccfe43ef1fbf3fd7d96f2d93b92cc50284da15361c9d786f82602d696400f92e5a72bba8f85e9d9184182df1d09c9fee2523169e6cc
-DIST podman-py-4.8.0.post1.gh.tar.gz 182168 BLAKE2B e4c310cdf224f39c75337b9b87dcee2449460a44d4e1e42e30fe3289d47054cb1431e21c92b2c0ce6f14a9121c3adb7a87d569e0989e613078b63b978ea1246a SHA512 9908b0ae23706b9455f8bb56491f67a411c4209e1bb64d05152f7c7b07e59590e200d3f0ebeedb56f7425861d77ca3a00579aa7a18cd09791d372409c1aeff4f
+DIST podman-py-5.0.0.gh.tar.gz 183844 BLAKE2B c2c5511815d37321a843dfe028839592f6e9b4cc580263e743b6a2ee0917b3307b77bf4d08b327781c6d765c231d8bfcc4d1e0027351c4297509433405887552 SHA512 3abcc4c989843fb82a09e32359018cb9b3352f014253def4bec46a7336c95405b50fe774192d2f4625748351c57293b70d393eb85671719833c0a9f1311612ed
diff --git a/dev-python/podman/podman-4.5.0.ebuild b/dev-python/podman/podman-4.5.0.ebuild
deleted file mode 100644
index 843534a57bf8..000000000000
--- a/dev-python/podman/podman-4.5.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P=podman-py-${PV}
-DESCRIPTION="A library to interact with a Podman server"
-HOMEPAGE="
- https://github.com/containers/podman-py/
- https://pypi.org/project/podman/
-"
-SRC_URI="
- https://github.com/containers/podman-py/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
- >=dev-python/requests-2.24[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.26.5[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.2.3[${PYTHON_USEDEP}]
- ' 3.{8..10})
-"
-BDEPEND="
- test? (
- dev-python/requests-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- podman/tests/unit/test_volumesmanager.py::VolumesManagerTestCase::test_get_404
- )
-
- # integration tests require a workable podman server,
- # and it doesn't seem to work in ebuild env
- epytest podman/tests/unit
-}
diff --git a/dev-python/podman/podman-4.6.0.ebuild b/dev-python/podman/podman-4.6.0.ebuild
deleted file mode 100644
index 28f1070a6554..000000000000
--- a/dev-python/podman/podman-4.6.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-MY_P=podman-py-${PV}
-DESCRIPTION="A library to interact with a Podman server"
-HOMEPAGE="
- https://github.com/containers/podman-py/
- https://pypi.org/project/podman/
-"
-SRC_URI="
- https://github.com/containers/podman-py/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
- >=dev-python/requests-2.24[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.2.3[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- test? (
- >=dev-python/requests-mock-1.11.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- podman/tests/unit/test_volumesmanager.py::VolumesManagerTestCase::test_get_404
- )
-
- # integration tests require a workable podman server,
- # and it doesn't seem to work in ebuild env
- epytest podman/tests/unit
-}
diff --git a/dev-python/podman/podman-4.7.0.ebuild b/dev-python/podman/podman-4.7.0.ebuild
deleted file mode 100644
index 28f1070a6554..000000000000
--- a/dev-python/podman/podman-4.7.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-MY_P=podman-py-${PV}
-DESCRIPTION="A library to interact with a Podman server"
-HOMEPAGE="
- https://github.com/containers/podman-py/
- https://pypi.org/project/podman/
-"
-SRC_URI="
- https://github.com/containers/podman-py/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
- >=dev-python/requests-2.24[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.2.3[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- test? (
- >=dev-python/requests-mock-1.11.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- podman/tests/unit/test_volumesmanager.py::VolumesManagerTestCase::test_get_404
- )
-
- # integration tests require a workable podman server,
- # and it doesn't seem to work in ebuild env
- epytest podman/tests/unit
-}
diff --git a/dev-python/podman/podman-4.8.0_p1.ebuild b/dev-python/podman/podman-4.8.0_p1.ebuild
deleted file mode 100644
index dc5cb958dc37..000000000000
--- a/dev-python/podman/podman-4.8.0_p1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=podman-py-${PV/_p/.post}
-DESCRIPTION="A library to interact with a Podman server"
-HOMEPAGE="
- https://github.com/containers/podman-py/
- https://pypi.org/project/podman/
-"
-SRC_URI="
- https://github.com/containers/podman-py/archive/v${PV/_p/.post}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
- >=dev-python/requests-2.24[${PYTHON_USEDEP}]
- >=dev-python/rich-12.5.1[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.2.3[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- test? (
- >=dev-python/requests-mock-1.11.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- podman/tests/unit/test_volumesmanager.py::VolumesManagerTestCase::test_get_404
- )
-
- # integration tests require a workable podman server,
- # and it doesn't seem to work in ebuild env
- epytest podman/tests/unit
-}
diff --git a/dev-python/podman/podman-5.0.0.ebuild b/dev-python/podman/podman-5.0.0.ebuild
new file mode 100644
index 000000000000..cef5e8c080bf
--- /dev/null
+++ b/dev-python/podman/podman-5.0.0.ebuild
@@ -0,0 +1,53 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=podman-py-${PV/_p/.post}
+DESCRIPTION="A library to interact with a Podman server"
+HOMEPAGE="
+ https://github.com/containers/podman-py/
+ https://pypi.org/project/podman/
+"
+SRC_URI="
+ https://github.com/containers/podman-py/archive/v${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.24[${PYTHON_USEDEP}]
+ >=dev-python/rich-12.5.1[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.2.3[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ >=dev-python/requests-mock-1.11.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ podman/tests/unit/test_volumesmanager.py::VolumesManagerTestCase::test_get_404
+ )
+
+ # integration tests require a workable podman server,
+ # and it doesn't seem to work in ebuild env
+ epytest podman/tests/unit
+}
diff --git a/dev-python/poetry-core/Manifest b/dev-python/poetry-core/Manifest
index 0440a9606f59..43ce99e68b9f 100644
--- a/dev-python/poetry-core/Manifest
+++ b/dev-python/poetry-core/Manifest
@@ -1 +1 @@
-DIST poetry-core-1.8.1.gh.tar.gz 367396 BLAKE2B 0305e4022d91632a5cf68e57df61ee27ff1c7faf53d1be6d63e8f30183af828c5fe8126dbd6326ed7a8b428c107878632c26cc1dc2468161b2b79cfdfa0599f8 SHA512 25b4787f45da88142d8cbdad22a518335a82f24ccdba34112ab0f9be8eb130251211969d9da9422bc89fa3c5990adb4e2cde2e3b6f7a4f57f81c6d2b21cf722f
+DIST poetry-core-1.9.0.gh.tar.gz 371033 BLAKE2B 67e4674bcc45f6ce1737a26d8f1fd1ce6e6469d692cabe461fb2959b03ab3ca26b9e3848d9cbf533c5fd9bf7d75ac8b70a6aad0cce1930472971cc1ad530aedf SHA512 a2d63480f0df36fabe61c234377a4fa9ea0a1ddce449006162d6e49e849c92ad9c77d0a93aba7c51561bac16a77d5db00a95594bd5e2de328e1664f3f41f689b
diff --git a/dev-python/poetry-core/poetry-core-1.8.1.ebuild b/dev-python/poetry-core/poetry-core-1.8.1.ebuild
deleted file mode 100644
index e11649702aac..000000000000
--- a/dev-python/poetry-core/poetry-core-1.8.1.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( pypy3 python3_{10..12} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-
-inherit distutils-r1
-
-DESCRIPTION="Poetry PEP 517 Build Backend"
-HOMEPAGE="
- https://github.com/python-poetry/poetry-core/
- https://pypi.org/project/poetry-core/
-"
-SRC_URI="
- https://github.com/python-poetry/poetry-core/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-# check inside vendors/pyproject.toml
-# (note that some are indirect deps)
-RDEPEND="
- >=dev-python/fastjsonschema-2.18.0[${PYTHON_USEDEP}]
- dev-python/lark[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.9 3.10)
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/build[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/tomli-w[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20.21[${PYTHON_USEDEP}]
- dev-vcs/git
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # These "fail" bacause of glob file path resulting from newer versions
- # in our tree than vendored. But those don't affect anything.
- tests/masonry/builders/test_sdist.py::test_default_with_excluded_data
- tests/masonry/builders/test_wheel.py::test_default_src_with_excluded_data
-)
-
-src_prepare() {
- # remove vendoring of dependencies
- rm -r src/poetry/core/_vendor || die
- sed -e '/__vendor_site__/d' -i src/poetry/core/__init__.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
- einfo "Skipping tests on ${EPYTHON} (unported deps)"
- return
- fi
-
- epytest
-}
diff --git a/dev-python/poetry-core/poetry-core-1.9.0.ebuild b/dev-python/poetry-core/poetry-core-1.9.0.ebuild
new file mode 100644
index 000000000000..a89bd637c701
--- /dev/null
+++ b/dev-python/poetry-core/poetry-core-1.9.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1
+
+DESCRIPTION="Poetry PEP 517 Build Backend"
+HOMEPAGE="
+ https://github.com/python-poetry/poetry-core/
+ https://pypi.org/project/poetry-core/
+"
+SRC_URI="
+ https://github.com/python-poetry/poetry-core/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+# check inside vendors/pyproject.toml
+# (note that some are indirect deps)
+RDEPEND="
+ >=dev-python/fastjsonschema-2.18.0[${PYTHON_USEDEP}]
+ >=dev-python/lark-1.1.3[${PYTHON_USEDEP}]
+ >=dev-python/packaging-22.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.21[${PYTHON_USEDEP}]
+ dev-vcs/git
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # remove vendoring of dependencies
+ rm -r src/poetry/core/_vendor || die
+ sed -e '/__vendor_site__/d' -i src/poetry/core/__init__.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # These "fail" bacause of glob file path resulting from newer versions
+ # in our tree than vendored. But those don't affect anything.
+ tests/masonry/builders/test_sdist.py::test_default_with_excluded_data
+ tests/masonry/builders/test_wheel.py::test_default_src_with_excluded_data
+ )
+
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON} (unported deps)"
+ return
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/poetry-plugin-export/Manifest b/dev-python/poetry-plugin-export/Manifest
index 0d130641c7eb..714b3ff1162b 100644
--- a/dev-python/poetry-plugin-export/Manifest
+++ b/dev-python/poetry-plugin-export/Manifest
@@ -1,3 +1,2 @@
-DIST poetry_plugin_export-1.4.0.tar.gz 28553 BLAKE2B d2f7de4da9975cefde9ac02d9e4a36eada89fe00926eaf58d8ea402d57ef53209aa2e564b46616f0d71fa675512de6335a33a1714efe4a696f05c909a8313e45 SHA512 60fd1a63505e82f62372e7ec4e4908835f0556e86213b58ce836d3cf64bd6de8f83cbc965ad1a2b59c50ca3bf287675bda46b5a410a5f65078e091004eaf8ed9
-DIST poetry_plugin_export-1.5.0.tar.gz 28902 BLAKE2B 09dc4e6a30431d3436a50bc773f965617961be70b7dfe91dde37e90ddc7b409e1b7bf318fc42104a870735d6a9ef94e66b3fbf08a23c5f74b07eeeec7d0bea52 SHA512 b8a75e15fe9d13890f058ee3b8e616c24d3914dc69d8bceb6e4288beda0e054061f8ee48e1fd0f2a72973af28ac692b08fb8633ed6706f29386b8a3680947961
-DIST poetry_plugin_export-1.6.0.tar.gz 29265 BLAKE2B 90690afe197fd109d5fc5ae4566675a6a1e5e4df50cd814370146501389ba3bb0e78c2be2878cac322548ea5be065ef68f5b28a6d79a003d0f7b31c149ad0214 SHA512 d071f69ace98dbc23a3b129ba7fb30c4e6eac07138f4ee5156c266150f8f025f8b69c61dfadd90d29e1895c70d448fc44a9b5cc502024f00e1657247ed3310bd
+DIST poetry_plugin_export-1.7.1.tar.gz 29656 BLAKE2B 130eb35064104c3f22958816447ff674d1f5aed657ada2fe23a635de52338cb736f631b622b0641aae308d69494eb939a1ea659e33fc6227bb742ee01335ae15 SHA512 d472d8e4d6eb803587722854be912009a9bc0a8f86ee0e3ef0046f385ed59236af229109dae85198e3a205702cff86780576939e518fa797f3e5093537a0d2f1
+DIST poetry_plugin_export-1.8.0.tar.gz 29840 BLAKE2B 67748605964f90120be8a696b454497e53f9ff8c739a09930e31fef19623f05552b069a5c572a1a32a0ad68ee85e760901f61bfdf8ba35351b982863e250d4ed SHA512 90cbf0e79787611a4d78c6ce637d4087d375aa25e65489d770d13f2a769d9919d76512b3fad70073073a83fe41ec42a8925c8b27983d84458007356b3ec8409d
diff --git a/dev-python/poetry-plugin-export/poetry-plugin-export-1.4.0.ebuild b/dev-python/poetry-plugin-export/poetry-plugin-export-1.4.0.ebuild
deleted file mode 100644
index b69f11168144..000000000000
--- a/dev-python/poetry-plugin-export/poetry-plugin-export-1.4.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A plugin that allows the export of locked packages to various formats"
-HOMEPAGE="
- https://python-poetry.org/
- https://github.com/python-poetry/poetry-plugin-export
- https://pypi.org/project/poetry-plugin-export/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/poetry-core-1.6.0[${PYTHON_USEDEP}]
-"
-
-DEPEND="
- test? (
- dev-python/poetry[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-3.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-xdist-3.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/poetry-plugin-export/poetry-plugin-export-1.5.0.ebuild b/dev-python/poetry-plugin-export/poetry-plugin-export-1.5.0.ebuild
deleted file mode 100644
index b69f11168144..000000000000
--- a/dev-python/poetry-plugin-export/poetry-plugin-export-1.5.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A plugin that allows the export of locked packages to various formats"
-HOMEPAGE="
- https://python-poetry.org/
- https://github.com/python-poetry/poetry-plugin-export
- https://pypi.org/project/poetry-plugin-export/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/poetry-core-1.6.0[${PYTHON_USEDEP}]
-"
-
-DEPEND="
- test? (
- dev-python/poetry[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-3.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-xdist-3.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/poetry-plugin-export/poetry-plugin-export-1.6.0.ebuild b/dev-python/poetry-plugin-export/poetry-plugin-export-1.6.0.ebuild
deleted file mode 100644
index e09698cfb060..000000000000
--- a/dev-python/poetry-plugin-export/poetry-plugin-export-1.6.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A plugin that allows the export of locked packages to various formats"
-HOMEPAGE="
- https://python-poetry.org/
- https://github.com/python-poetry/poetry-plugin-export
- https://pypi.org/project/poetry-plugin-export/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/poetry-core-1.7.0[${PYTHON_USEDEP}]
-"
-
-DEPEND="
- test? (
- dev-python/poetry[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-3.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-xdist-3.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/poetry-plugin-export/poetry-plugin-export-1.7.1.ebuild b/dev-python/poetry-plugin-export/poetry-plugin-export-1.7.1.ebuild
new file mode 100644
index 000000000000..ae0dc423142c
--- /dev/null
+++ b/dev-python/poetry-plugin-export/poetry-plugin-export-1.7.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A plugin that allows the export of locked packages to various formats"
+HOMEPAGE="
+ https://python-poetry.org/
+ https://github.com/python-poetry/poetry-plugin-export
+ https://pypi.org/project/poetry-plugin-export/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/poetry-core-1.8.0[${PYTHON_USEDEP}]
+"
+
+DEPEND="
+ test? (
+ dev-python/poetry[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.9[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-3.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/poetry-plugin-export/poetry-plugin-export-1.8.0.ebuild b/dev-python/poetry-plugin-export/poetry-plugin-export-1.8.0.ebuild
new file mode 100644
index 000000000000..02577cac66da
--- /dev/null
+++ b/dev-python/poetry-plugin-export/poetry-plugin-export-1.8.0.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A plugin that allows the export of locked packages to various formats"
+HOMEPAGE="
+ https://python-poetry.org/
+ https://github.com/python-poetry/poetry-plugin-export
+ https://pypi.org/project/poetry-plugin-export/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/poetry-core-1.7.0[${PYTHON_USEDEP}]
+"
+
+DEPEND="
+ test? (
+ >=dev-python/poetry-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.9[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-3.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/poetry/Manifest b/dev-python/poetry/Manifest
index 27a7e6864b51..948b21bd7e21 100644
--- a/dev-python/poetry/Manifest
+++ b/dev-python/poetry/Manifest
@@ -1,2 +1,2 @@
-DIST poetry-1.7.0.tar.gz 1482460 BLAKE2B 3bf91881bd38967a95cc5a881a74a91932488d4ad11b89c237c1c497107f3ce2ed1df7bccb01a415377082612f1905dc057c1ef680e1bf2aa5efa3b852b80417 SHA512 fc0d358d62100fcd14dec3bb13cc8162339ba4947c2118abb4ccefd788ea3e10750f92f4a51c8feb7f2d5cebf0ac670092e730518463c61bc49bd044a9a8e9c7
-DIST poetry-1.7.1.tar.gz 1483927 BLAKE2B d32f84cbed6f895678fba723700504cafe2bb7b1de0be0f289c0606b3c775d02e4172d74aafe58f29f9e2b5b9cb0f614b902bb9efa55ab1077a6689a8b4d331f SHA512 bf3654e9de71da35d7adfc239797dbed9813a2a1bb585b0bd9ad398706ad1628430422d0ebe7d9c3dcc1f619ad1a1a2073e9d9d3296354bf2f14a1aed5a5444e
+DIST poetry-1.8.2.tar.gz 1516966 BLAKE2B 6ca39b426a4117d0c2c3f12b9151d621d629f746e51ca77cda8d7f67ae2493ea9ecb7dd02f69cad3f346579fc3bb16b1117c0dad0a148763bb439c35eac673a5 SHA512 0151c264c2f353753ab7c5a248cdd30e60e33505fd915d841e789a37b18cc06f28b4f987144cd3dbf915e23f6947f6b17cb8fa316b34ce866b6b3559e73b8ddc
+DIST poetry-1.8.3.tar.gz 1518910 BLAKE2B 87c06f9d72c7fbe9f821d8a1de66028d64dfb06a274d67f14d49030c0d9a21f702fc9a5c35fa3a1e75d11c8db01516182f8523e9c466398b305d908e0e02d211 SHA512 72e604e246ec8426a29151caae81bf6b0495d17af519a41a7b934f8d50496dbf77605ea3f2e03bd41fb75a0c97d274987ac0359004544ea6ea19dcc118129e05
diff --git a/dev-python/poetry/poetry-1.7.0.ebuild b/dev-python/poetry/poetry-1.7.0.ebuild
deleted file mode 100644
index 35f6dc860f18..000000000000
--- a/dev-python/poetry/poetry-1.7.0.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A frontend for poetry - a python dependency management and packaging tool"
-HOMEPAGE="
- https://python-poetry.org/
- https://github.com/python-poetry/poetry
- https://pypi.org/project/poetry/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-# dev-python/build: 1.0 breaks backward compatibility
-# https://github.com/python-poetry/poetry/issues/8434
-RDEPEND="
- >=dev-python/poetry-core-1.8.1[${PYTHON_USEDEP}]
- >=dev-python/poetry-plugin-export-1.6.0[${PYTHON_USEDEP}]
- >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
- >=dev-python/cachecontrol-0.13.0[${PYTHON_USEDEP}]
- >=dev-python/cleo-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/crashtest-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/dulwich-0.21.2[${PYTHON_USEDEP}]
- >=dev-python/fastjsonschema-2.18.0[${PYTHON_USEDEP}]
- >=dev-python/installer-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/keyring-24.0.0[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.5[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.7.0[${PYTHON_USEDEP}]
- >=dev-python/pkginfo-1.9.4[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.26[${PYTHON_USEDEP}]
- >=dev-python/requests-toolbelt-0.10.1[${PYTHON_USEDEP}]
- >=dev-python/shellingham-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/tomlkit-0.11.6[${PYTHON_USEDEP}]
- >=dev-python/trove-classifiers-2022.5.19[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.26.0[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20.23.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- ' 3.10)
-"
-
-BDEPEND="
- test? (
- >=dev-python/deepdiff-6.3.1[${PYTHON_USEDEP}]
- >=dev-python/httpretty-1.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-3.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-xdist-3.1[${PYTHON_USEDEP}]
- )
-"
-
-src_prepare() {
- # unpin
- sed -e 's:\^:>=:' \
- -e '/poetry-core/s:":">=:' \
- -e 's:,<[0-9.]*::' \
- -i pyproject.toml || die
-
- distutils-r1_src_prepare
-}
-
-EPYTEST_DESELECT=(
- # Tests require network (they run `pip install ...`)
- tests/installation/test_chef.py::test_isolated_env_install_success
- tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_directories
- tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_git
- tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_git_with_subdirectories
- tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_non_wheel_files
- tests/installation/test_installer.py::test_installer_with_pypi_repository
- tests/installation/test_pip_installer.py::test_uninstall_git_package_nspkg_pth_cleanup
- tests/masonry/builders/test_editable_builder.py::test_builder_setup_generation_runs_with_pip_editable
-
- # Works with network, but otherwise: Backend 'poetry.core.masonry.api' is not available.
- tests/installation/test_chef.py::test_prepare_sdist
- tests/installation/test_chef.py::test_prepare_directory
- tests/installation/test_chef.py::test_prepare_directory_with_extensions
- tests/installation/test_chef.py::test_prepare_directory_editable
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/poetry/poetry-1.7.1.ebuild b/dev-python/poetry/poetry-1.7.1.ebuild
deleted file mode 100644
index 35f6dc860f18..000000000000
--- a/dev-python/poetry/poetry-1.7.1.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A frontend for poetry - a python dependency management and packaging tool"
-HOMEPAGE="
- https://python-poetry.org/
- https://github.com/python-poetry/poetry
- https://pypi.org/project/poetry/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-# dev-python/build: 1.0 breaks backward compatibility
-# https://github.com/python-poetry/poetry/issues/8434
-RDEPEND="
- >=dev-python/poetry-core-1.8.1[${PYTHON_USEDEP}]
- >=dev-python/poetry-plugin-export-1.6.0[${PYTHON_USEDEP}]
- >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
- >=dev-python/cachecontrol-0.13.0[${PYTHON_USEDEP}]
- >=dev-python/cleo-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/crashtest-0.4.1[${PYTHON_USEDEP}]
- >=dev-python/dulwich-0.21.2[${PYTHON_USEDEP}]
- >=dev-python/fastjsonschema-2.18.0[${PYTHON_USEDEP}]
- >=dev-python/installer-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/keyring-24.0.0[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.5[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.7.0[${PYTHON_USEDEP}]
- >=dev-python/pkginfo-1.9.4[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.26[${PYTHON_USEDEP}]
- >=dev-python/requests-toolbelt-0.10.1[${PYTHON_USEDEP}]
- >=dev-python/shellingham-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/tomlkit-0.11.6[${PYTHON_USEDEP}]
- >=dev-python/trove-classifiers-2022.5.19[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.26.0[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20.23.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- ' 3.10)
-"
-
-BDEPEND="
- test? (
- >=dev-python/deepdiff-6.3.1[${PYTHON_USEDEP}]
- >=dev-python/httpretty-1.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-3.9[${PYTHON_USEDEP}]
- >=dev-python/pytest-xdist-3.1[${PYTHON_USEDEP}]
- )
-"
-
-src_prepare() {
- # unpin
- sed -e 's:\^:>=:' \
- -e '/poetry-core/s:":">=:' \
- -e 's:,<[0-9.]*::' \
- -i pyproject.toml || die
-
- distutils-r1_src_prepare
-}
-
-EPYTEST_DESELECT=(
- # Tests require network (they run `pip install ...`)
- tests/installation/test_chef.py::test_isolated_env_install_success
- tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_directories
- tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_git
- tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_git_with_subdirectories
- tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_non_wheel_files
- tests/installation/test_installer.py::test_installer_with_pypi_repository
- tests/installation/test_pip_installer.py::test_uninstall_git_package_nspkg_pth_cleanup
- tests/masonry/builders/test_editable_builder.py::test_builder_setup_generation_runs_with_pip_editable
-
- # Works with network, but otherwise: Backend 'poetry.core.masonry.api' is not available.
- tests/installation/test_chef.py::test_prepare_sdist
- tests/installation/test_chef.py::test_prepare_directory
- tests/installation/test_chef.py::test_prepare_directory_with_extensions
- tests/installation/test_chef.py::test_prepare_directory_editable
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/poetry/poetry-1.8.2.ebuild b/dev-python/poetry/poetry-1.8.2.ebuild
new file mode 100644
index 000000000000..df1b773cfca7
--- /dev/null
+++ b/dev-python/poetry/poetry-1.8.2.ebuild
@@ -0,0 +1,96 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A frontend for poetry - a python dependency management and packaging tool"
+HOMEPAGE="
+ https://python-poetry.org/
+ https://github.com/python-poetry/poetry
+ https://pypi.org/project/poetry/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# dev-python/build: 1.0 breaks backward compatibility
+# https://github.com/python-poetry/poetry/issues/8434
+RDEPEND="
+ >=dev-python/poetry-core-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/poetry-plugin-export-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/cachecontrol-0.14.0[${PYTHON_USEDEP}]
+ >=dev-python/cleo-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/crashtest-0.4.1[${PYTHON_USEDEP}]
+ >=dev-python/dulwich-0.21.2[${PYTHON_USEDEP}]
+ >=dev-python/fastjsonschema-2.18.0[${PYTHON_USEDEP}]
+ >=dev-python/installer-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/keyring-24.0.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.7.0[${PYTHON_USEDEP}]
+ >=dev-python/pkginfo-1.9.4[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.26[${PYTHON_USEDEP}]
+ >=dev-python/requests-toolbelt-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/shellingham-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.11.6[${PYTHON_USEDEP}]
+ >=dev-python/trove-classifiers-2022.5.19[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.23.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/deepdiff-6.3.1[${PYTHON_USEDEP}]
+ >=dev-python/httpretty-1.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.9[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-3.1[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ # unpin
+ sed -e 's:\^:>=:' \
+ -e '/poetry-core/s:":">=:' \
+ -e 's:,<[0-9.]*::' \
+ -i pyproject.toml || die
+
+ distutils-r1_src_prepare
+}
+
+EPYTEST_DESELECT=(
+ # Tests require network (they run `pip install ...`)
+ tests/installation/test_chef.py::test_isolated_env_install_success
+ tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_directories
+ tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_git
+ tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_git_with_subdirectories
+ tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_non_wheel_files
+ tests/installation/test_installer.py::test_installer_with_pypi_repository
+ tests/installation/test_pip_installer.py::test_uninstall_git_package_nspkg_pth_cleanup
+ tests/masonry/builders/test_editable_builder.py::test_builder_setup_generation_runs_with_pip_editable
+
+ # Works with network, but otherwise: Backend 'poetry.core.masonry.api' is not available.
+ tests/installation/test_chef.py::test_prepare_sdist
+ tests/installation/test_chef.py::test_prepare_directory
+ tests/installation/test_chef.py::test_prepare_directory_with_extensions
+ tests/installation/test_chef.py::test_prepare_directory_editable
+
+ # Internal test for lockfile being up-to-date
+ # Meaningless, also sdist does not include lockfile
+ tests/installation/test_installer.py::test_not_fresh_lock
+
+ # TODO
+ tests/installation/test_executor.py::test_executor_known_hashes
+ tests/utils/env/test_env_manager.py::test_create_venv_finds_no_python_executable
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/poetry/poetry-1.8.3.ebuild b/dev-python/poetry/poetry-1.8.3.ebuild
new file mode 100644
index 000000000000..30149b85e802
--- /dev/null
+++ b/dev-python/poetry/poetry-1.8.3.ebuild
@@ -0,0 +1,94 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A frontend for poetry - a python dependency management and packaging tool"
+HOMEPAGE="
+ https://python-poetry.org/
+ https://github.com/python-poetry/poetry
+ https://pypi.org/project/poetry/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/poetry-core-1.9.0[${PYTHON_USEDEP}]
+ >=dev-python/poetry-plugin-export-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/cachecontrol-0.14.0[${PYTHON_USEDEP}]
+ >=dev-python/cleo-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/crashtest-0.4.1[${PYTHON_USEDEP}]
+ >=dev-python/dulwich-0.21.2[${PYTHON_USEDEP}]
+ >=dev-python/fastjsonschema-2.18.0[${PYTHON_USEDEP}]
+ >=dev-python/installer-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/keyring-24.0.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.7.0[${PYTHON_USEDEP}]
+ >=dev-python/pkginfo-1.10[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.26[${PYTHON_USEDEP}]
+ >=dev-python/requests-toolbelt-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/shellingham-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.11.6[${PYTHON_USEDEP}]
+ >=dev-python/trove-classifiers-2022.5.19[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.26.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20.23.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/deepdiff-6.3.1[${PYTHON_USEDEP}]
+ >=dev-python/httpretty-1.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.9[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xdist-3.1[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ # unpin
+ sed -e 's:\^:>=:' \
+ -e '/poetry-core/s:":">=:' \
+ -e 's:,<[0-9.]*::' \
+ -i pyproject.toml || die
+
+ distutils-r1_src_prepare
+}
+
+EPYTEST_DESELECT=(
+ # Tests require network (they run `pip install ...`)
+ tests/installation/test_chef.py::test_isolated_env_install_success
+ tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_directories
+ tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_git
+ tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_git_with_subdirectories
+ tests/installation/test_executor.py::test_executor_should_write_pep610_url_references_for_non_wheel_files
+ tests/installation/test_installer.py::test_installer_with_pypi_repository
+ tests/installation/test_pip_installer.py::test_uninstall_git_package_nspkg_pth_cleanup
+ tests/masonry/builders/test_editable_builder.py::test_builder_setup_generation_runs_with_pip_editable
+
+ # Works with network, but otherwise: Backend 'poetry.core.masonry.api' is not available.
+ tests/installation/test_chef.py::test_prepare_sdist
+ tests/installation/test_chef.py::test_prepare_directory
+ tests/installation/test_chef.py::test_prepare_directory_with_extensions
+ tests/installation/test_chef.py::test_prepare_directory_editable
+
+ # Internal test for lockfile being up-to-date
+ # Meaningless, also sdist does not include lockfile
+ tests/installation/test_installer.py::test_not_fresh_lock
+
+ # TODO
+ tests/installation/test_executor.py::test_executor_known_hashes
+ tests/utils/env/test_env_manager.py::test_create_venv_finds_no_python_executable
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/polib/polib-1.2.0.ebuild b/dev-python/polib/polib-1.2.0.ebuild
index 627a252a2d0a..f0bfff4f9615 100644
--- a/dev-python/polib/polib-1.2.0.ebuild
+++ b/dev-python/polib/polib-1.2.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -18,6 +18,15 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# <sys-devel/gettext-0.22: https://github.com/izimobil/polib/issues/150
+BDEPEND="
+ test? (
+ <sys-devel/gettext-0.22
+ )
+"
distutils_enable_sphinx docs
diff --git a/dev-python/pooch/Manifest b/dev-python/pooch/Manifest
index d4778b578e9e..fbc3e5db92fc 100644
--- a/dev-python/pooch/Manifest
+++ b/dev-python/pooch/Manifest
@@ -1 +1 @@
-DIST pooch-1.8.0.tar.gz 59408 BLAKE2B 07ed7c17e98ef4627f347e9b71355e147f56970fe5f0d709269602796a5ba2d8ffd5ad0ad47a17114d32841b9a7fc3eeab978f8ca9f64d35c89ff35b0aa62279 SHA512 d97e3e1098d1eeee30108affc64ed5a12f679e9122d35494598a03f3a548bb83b57dc54ac5a2c85bc42e664cb90f713bdb55b47b430ff000a722ffad58010497
+DIST pooch-1.8.2.tar.gz 59353 BLAKE2B 88b80665ad2af13bebeee9a6864c054eb1bfd5881a6e185b8025ce69896302093637f2a5e3ad58ad8a9af8c6161a30f04074081bfe562b83034b8fd4d36533c7 SHA512 e81c343c0f40f90ecaf347408818ff4b6924404adcaa9572deb55adf6c7bb40c8d91bef69461cc4407dfdba69b35bcfaeacf0070fdd18124008f11532bf7affc
diff --git a/dev-python/pooch/pooch-1.8.0.ebuild b/dev-python/pooch/pooch-1.8.0.ebuild
deleted file mode 100644
index d0b3e39d397b..000000000000
--- a/dev-python/pooch/pooch-1.8.0.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Manage your Python library's sample data files"
-HOMEPAGE="
- https://github.com/fatiando/pooch/
- https://pypi.org/project/pooch/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- dev-python/appdirs[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.5.0[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/paramiko[${PYTHON_USEDEP}]
- dev-python/pytest-httpserver[${PYTHON_USEDEP}]
- dev-python/tqdm[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # Needs network
- pooch/tests/test_core.py::test_check_availability_invalid_downloader
- pooch/tests/test_core.py::test_load_registry_from_doi
- pooch/tests/test_core.py::test_load_registry_from_doi_zenodo_with_slash
- # dev-python/pytest-localftpserver -> dev-python/pyftpdlib has py3.12 issues
- # https://github.com/giampaolo/pyftpdlib/issues/560#issuecomment-971377238
- pooch/tests/test_core.py::test_check_availability_on_ftp
- pooch/tests/test_downloaders.py::test_invalid_doi_repository
- pooch/tests/test_downloaders.py::test_doi_url_not_found
- pooch/tests/test_downloaders.py::test_figshare_url_file_not_found
- pooch/tests/test_downloaders.py::test_doi_downloader
-)
-
-### docs no included in pypi tarball
-# distutils_enable_sphinx doc \
-# dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_httpserver -k "not network"
-}
diff --git a/dev-python/pooch/pooch-1.8.2.ebuild b/dev-python/pooch/pooch-1.8.2.ebuild
new file mode 100644
index 000000000000..f1cf7ef9ddef
--- /dev/null
+++ b/dev-python/pooch/pooch-1.8.2.ebuild
@@ -0,0 +1,58 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Manage your Python library's sample data files"
+HOMEPAGE="
+ https://github.com/fatiando/pooch/
+ https://pypi.org/project/pooch/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.19.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/paramiko-2.7.0[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ >=dev-python/tqdm-4.41.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # Needs network
+ pooch/tests/test_core.py::test_check_availability_invalid_downloader
+ pooch/tests/test_core.py::test_load_registry_from_doi
+ pooch/tests/test_core.py::test_load_registry_from_doi_zenodo_with_slash
+ # dev-python/pytest-localftpserver -> dev-python/pyftpdlib has py3.12 issues
+ # https://github.com/giampaolo/pyftpdlib/issues/560#issuecomment-971377238
+ pooch/tests/test_core.py::test_check_availability_on_ftp
+ pooch/tests/test_downloaders.py::test_invalid_doi_repository
+ pooch/tests/test_downloaders.py::test_doi_url_not_found
+ pooch/tests/test_downloaders.py::test_figshare_url_file_not_found
+ pooch/tests/test_downloaders.py::test_doi_downloader
+)
+
+### docs no included in pypi tarball
+# distutils_enable_sphinx doc \
+# dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_httpserver -k "not network"
+}
diff --git a/dev-python/portalocker/Manifest b/dev-python/portalocker/Manifest
index b57d3027b596..38ebd4207f9f 100644
--- a/dev-python/portalocker/Manifest
+++ b/dev-python/portalocker/Manifest
@@ -1,2 +1,2 @@
-DIST portalocker-2.7.0.gh.tar.gz 29787 BLAKE2B 14c2742978396c0d1bb5bdcd8c3eeb5af676d57bcc5bfb34bbf397655895f66b7c48a3a8d6c035e62aed3278f20ba4e5d5b0d88d0bac01b4dd6bab9e5ebcf40a SHA512 ca1d7c6ec57b4f95d138975f47a3fdaed35be9b580331dbd58159adbbdce63666e82d89eb6bd3ce614778c525fd04144faa4880d5fea976772d72a247999f2c9
-DIST portalocker-2.8.2.gh.tar.gz 32382 BLAKE2B d953165d4e64d4bf5d084a9d5563b6e53515abbddeb7f9a4a49ea3358ff3bafc9631f38322e4a7ff1ab702aff4813eb52b4a7c431f411d767afd0647347d37af SHA512 3772ea6d15ee80d284c7fc7e88bdc9ab7714b460fdca39c2a288e0375c16f430bf9362da06227084dc2e56bd7342bd2d59823a94daf52ca51366e69fe6456236
+DIST portalocker-2.10.0.gh.tar.gz 34084 BLAKE2B 9efb130859002a4a6bb4c18b2fad293b6cfe3344402b7442be4d4d1b17ff837ff45a39ebb5e50db09ce2dcc7c902b72fa9d9f64625e772be1150d5659f2eafaa SHA512 79b60472ca589e6e696203f829eae2d66c11fca4ee2c7280aad91395f2cc2db6a1c7ae131d7a4945b2a2455ad62829a8a3163c628a74ec46a0f1564ea27d50e7
+DIST portalocker-2.10.1.gh.tar.gz 34084 BLAKE2B c4b8b0f42e25c28dd73f73459f2425a355c1be7fb6d9e601c8f829b76a421b66981c96d948513a92b0d9746f0d4b4c9423eb671e160629d421b6720bb3c81883 SHA512 cdb5db6eab2974a8fef5628656b9e66bd1907d3010e28071c5a308d52a7ad28f838f3cb90e8bc258b2f258b8b999438e90972751e4d29b1769056db4f9ab9f8b
diff --git a/dev-python/portalocker/metadata.xml b/dev-python/portalocker/metadata.xml
index f2b5d16ea0b9..e04e747bac0c 100644
--- a/dev-python/portalocker/metadata.xml
+++ b/dev-python/portalocker/metadata.xml
@@ -5,6 +5,7 @@
<name>Florian Schmaus</name>
<email>flow@gentoo.org</email>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">WoLpH/portalocker</remote-id>
<remote-id type="pypi">portalocker</remote-id>
diff --git a/dev-python/portalocker/portalocker-2.10.0.ebuild b/dev-python/portalocker/portalocker-2.10.0.ebuild
new file mode 100644
index 000000000000..2c3098f6479c
--- /dev/null
+++ b/dev-python/portalocker/portalocker-2.10.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_{11..13} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="A library for Python file locking"
+HOMEPAGE="
+ https://github.com/WoLpH/portalocker/
+ https://portalocker.readthedocs.io/
+ https://pypi.org/project/portalocker/
+"
+SRC_URI="
+ https://github.com/WoLpH/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64"
+
+BDEPEND="
+ test? (
+ dev-python/redis[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-6.0.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+
+ # Disable code coverage in tests.
+ sed -i '/^ *--cov.*$/d' pytest.ini || die
+}
+
+pkg_postinst() {
+ optfeature "redis support" dev-python/redis
+}
diff --git a/dev-python/portalocker/portalocker-2.10.1.ebuild b/dev-python/portalocker/portalocker-2.10.1.ebuild
new file mode 100644
index 000000000000..1981e8b48083
--- /dev/null
+++ b/dev-python/portalocker/portalocker-2.10.1.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_{11..13} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="A library for Python file locking"
+HOMEPAGE="
+ https://github.com/WoLpH/portalocker/
+ https://portalocker.readthedocs.io/
+ https://pypi.org/project/portalocker/
+"
+SRC_URI="
+ https://github.com/WoLpH/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ test? (
+ dev-python/redis[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-6.0.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+
+ # Disable code coverage in tests.
+ sed -i '/^ *--cov.*$/d' pytest.ini || die
+}
+
+pkg_postinst() {
+ optfeature "redis support" dev-python/redis
+}
diff --git a/dev-python/portalocker/portalocker-2.7.0.ebuild b/dev-python/portalocker/portalocker-2.7.0.ebuild
deleted file mode 100644
index 1129e7ffef3a..000000000000
--- a/dev-python/portalocker/portalocker-2.7.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_11 )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="A library for Python file locking"
-HOMEPAGE="
- https://github.com/WoLpH/portalocker
- https://portalocker.readthedocs.io
- https://pypi.org/project/portalocker/
-"
-SRC_URI="
- https://github.com/WoLpH/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="
- test? (
- dev-python/redis[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/sphinx-6.0.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- default
-
- # Disable code coverage in tests.
- sed -i '/^ *--cov.*$/d' pytest.ini || die
-}
-
-pkg_postinst() {
- optfeature "redis support" dev-python/redis
-}
diff --git a/dev-python/portalocker/portalocker-2.8.2.ebuild b/dev-python/portalocker/portalocker-2.8.2.ebuild
deleted file mode 100644
index f60b24c8aba5..000000000000
--- a/dev-python/portalocker/portalocker-2.8.2.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..12} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="A library for Python file locking"
-HOMEPAGE="
- https://github.com/WoLpH/portalocker/
- https://portalocker.readthedocs.io/
- https://pypi.org/project/portalocker/
-"
-SRC_URI="
- https://github.com/WoLpH/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64"
-
-BDEPEND="
- test? (
- dev-python/redis[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/sphinx-6.0.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- default
-
- # Disable code coverage in tests.
- sed -i '/^ *--cov.*$/d' pytest.ini || die
-}
-
-pkg_postinst() {
- optfeature "redis support" dev-python/redis
-}
diff --git a/dev-python/portend/portend-3.2.0.ebuild b/dev-python/portend/portend-3.2.0.ebuild
index c7068f770e29..3396686bf03f 100644
--- a/dev-python/portend/portend-3.2.0.ebuild
+++ b/dev-python/portend/portend-3.2.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
RDEPEND="
>=dev-python/tempora-1.8[${PYTHON_USEDEP}]
diff --git a/dev-python/poyo/poyo-0.5.0-r1.ebuild b/dev-python/poyo/poyo-0.5.0-r1.ebuild
index a82d88eda68b..f3014d695482 100644
--- a/dev-python/poyo/poyo-0.5.0-r1.ebuild
+++ b/dev-python/poyo/poyo-0.5.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/pplpy/Manifest b/dev-python/pplpy/Manifest
index b51b6c65f034..f8d6a7f443cd 100644
--- a/dev-python/pplpy/Manifest
+++ b/dev-python/pplpy/Manifest
@@ -1 +1 @@
-DIST pplpy-0.8.9.tar.gz 66017 BLAKE2B 90da3b4c3e992d0ca969925d8142b114fbbfd5214a768f2e56825d8689e2c4aa2e68a3fa45da9df68168a28413153eb189df277157823e88503668be5c26505c SHA512 618a0a1d603e2859313ad4f71b3cc40156a06371c6b8971fdab8275f6676fc19510e3927828c641819399b5ea6646e954738309fbf8c10fba5733c7410ed75fc
+DIST pplpy-0.8.10.tar.gz 64203 BLAKE2B b0735722a051ef33b7415528147a84a163ac49bf5d07e2f6599a7bbf004140abf5e6a09b7f0555ac57b55614a1c059bba20cc7ac7fe47a83f429e33d7f0dd1bc SHA512 982d36291cd0108786e47cb1ff73127ba2b2a619edc697e28360a87ace743e7fc6dd04e32aab38d41724d455de4861065f9ac3d409fd2f68114b07f4d1328c23
diff --git a/dev-python/pplpy/pplpy-0.8.10.ebuild b/dev-python/pplpy/pplpy-0.8.10.ebuild
new file mode 100644
index 000000000000..dd2eef3bce6e
--- /dev/null
+++ b/dev-python/pplpy/pplpy-0.8.10.ebuild
@@ -0,0 +1,50 @@
+# 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} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for the Parma Polyhedra Library (PPL)"
+HOMEPAGE="
+ https://github.com/sagemath/pplpy/
+ https://pypi.org/project/pplpy/
+"
+
+# The file headers under ppl/ contain the "or later" bit
+LICENSE="GPL-3+"
+# API/ABI changes in point releases
+SLOT="0/${PV}"
+KEYWORDS="amd64"
+IUSE="doc"
+
+DEPEND="
+ dev-libs/ppl
+ dev-python/cysignals[${PYTHON_USEDEP}]
+ >=dev-python/gmpy-2.1.0_beta1[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )
+"
+
+python_compile() {
+ # https://bugs.gentoo.org/927770
+ distutils-r1_python_compile -j1
+}
+
+python_compile_all() {
+ rm -r ppl || die
+ use doc && build_sphinx docs/source
+}
+
+python_test(){
+ "${EPYTHON}" tests/runtests.py || die
+}
diff --git a/dev-python/pplpy/pplpy-0.8.9.ebuild b/dev-python/pplpy/pplpy-0.8.9.ebuild
deleted file mode 100644
index 8b4cc0104598..000000000000
--- a/dev-python/pplpy/pplpy-0.8.9.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-DISTUTILS_EXT=1
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings for the Parma Polyhedra Library (PPL)"
-HOMEPAGE="https://pypi.org/project/pplpy/
- https://github.com/sagemath/pplpy"
-
-# The file headers under ppl/ contain the "or later" bit
-LICENSE="GPL-3+"
-
-# API/ABI changes in point releases
-SLOT="0/${PV}"
-KEYWORDS="amd64"
-IUSE="doc"
-
-DEPEND="dev-libs/ppl
- dev-python/cysignals[${PYTHON_USEDEP}]
- dev-python/gmpy[${PYTHON_USEDEP}]"
-RDEPEND="${DEPEND}"
-BDEPEND="dev-python/cython[${PYTHON_USEDEP}]
- doc? ( dev-python/sphinx[${PYTHON_USEDEP}] )"
-
-python_compile() {
- # Parallel build breaks the test suite somehow. This should be
- # reported upstream but first someone will need to figure out
- # how to reproduce it outside of Gentoo.
- distutils-r1_python_compile -j 1
-}
-
-python_compile_all() {
- use doc && emake -C docs html
-}
-
-python_install_all(){
- use doc && local HTML_DOCS=( docs/build/html/. )
- distutils-r1_python_install_all
-}
-
-python_test(){
- "${EPYTHON}" setup.py test || die
-}
diff --git a/dev-python/precis-i18n/precis-i18n-1.1.0.ebuild b/dev-python/precis-i18n/precis-i18n-1.1.0.ebuild
index 3639ca645604..037ba09f81de 100644
--- a/dev-python/precis-i18n/precis-i18n-1.1.0.ebuild
+++ b/dev-python/precis-i18n/precis-i18n-1.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/pretend/pretend-1.0.9-r2.ebuild b/dev-python/pretend/pretend-1.0.9-r2.ebuild
index 1fcb007a5620..47c5b2e8e5f1 100644
--- a/dev-python/pretend/pretend-1.0.9-r2.ebuild
+++ b/dev-python/pretend/pretend-1.0.9-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/prettytable/Manifest b/dev-python/prettytable/Manifest
index b1ea0535ddb8..2471b737dffa 100644
--- a/dev-python/prettytable/Manifest
+++ b/dev-python/prettytable/Manifest
@@ -1 +1,3 @@
+DIST prettytable-3.10.0.tar.gz 54830 BLAKE2B d19abefd31ebf25fd0c5ed91ce1314cebff1c519393fd0d07f82661393c46d337b6589094922f0500180265dc6515706d0d24b5127406a646f83608bed824ccb SHA512 184ab33f3ebe12b3496ff6e2dd2115b4c5f1cf51cedbb73dfa8028e371847c30e69830bb656a92ae3784e70414c4e5782a45b5b39fed87924adaf40078049059
+DIST prettytable-3.10.2.tar.gz 56415 BLAKE2B 0deb8132124f9c19ecaeea46749dda834c758378163646e16e0553b75ad6842b44fe5904ba181d6a2b0c3a822f23cd569977a8168d9245b2e9f08ed16da0089e SHA512 6a71f7d7b6fddca75e4b1bfd96ca6e26301c0c231be4703fe9c59e1c13a1482f814fbbfd661d1fc6bb37346f55a7488b794d5041016faf68711297a8cbdbe5c5
DIST prettytable-3.9.0.tar.gz 47874 BLAKE2B 67d7eb13626d75372947a7662331dc8f4766f74c752ce918c4431cba5f974c5556c5e00566cccdb9e8715829778f3bd53b72ed124f0e19805ffb05f33ea1e219 SHA512 708094e4af6f34a631e63ea4a5655c366b8fd5c0802076d92cb8029402be86b2d528e6d866e8d865790c3d2597229b0f080deac5e843d60e19c326aa909e9eaf
diff --git a/dev-python/prettytable/prettytable-3.10.0.ebuild b/dev-python/prettytable/prettytable-3.10.0.ebuild
new file mode 100644
index 000000000000..1c36c1c01f48
--- /dev/null
+++ b/dev-python/prettytable/prettytable-3.10.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Easily displaying tabular data in a visually appealing ASCII table format"
+HOMEPAGE="
+ https://github.com/jazzband/prettytable/
+ https://pypi.org/project/prettytable/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/pytest-lazy-fixtures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/prettytable/prettytable-3.10.2.ebuild b/dev-python/prettytable/prettytable-3.10.2.ebuild
new file mode 100644
index 000000000000..21f867b499ce
--- /dev/null
+++ b/dev-python/prettytable/prettytable-3.10.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Easily displaying tabular data in a visually appealing ASCII table format"
+HOMEPAGE="
+ https://github.com/jazzband/prettytable/
+ https://pypi.org/project/prettytable/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/pytest-lazy-fixtures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/priority/priority-1.3.0-r1.ebuild b/dev-python/priority/priority-1.3.0-r1.ebuild
index aa850d60259f..58a6d662f117 100644
--- a/dev-python/priority/priority-1.3.0-r1.ebuild
+++ b/dev-python/priority/priority-1.3.0-r1.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_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{10..11} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_12 )
+PYTHON_TESTED=( python3_{10..13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
inherit distutils-r1 pypi
@@ -22,9 +22,7 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv
BDEPEND="
test? (
- $(python_gen_cond_dep '
- >=dev-python/hypothesis-3.4.2[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
+ >=dev-python/hypothesis-3.4.2[${PYTHON_USEDEP}]
)
"
@@ -33,13 +31,3 @@ PATCHES=(
)
distutils_enable_tests pytest
-
-python_test() {
- # https://github.com/python/cpython/issues/105042
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON} (xfail)"
- return
- fi
-
- epytest
-}
diff --git a/dev-python/priority/priority-2.0.0-r1.ebuild b/dev-python/priority/priority-2.0.0-r1.ebuild
index 497d45d034c2..cc2b87a3aa13 100644
--- a/dev-python/priority/priority-2.0.0-r1.ebuild
+++ b/dev-python/priority/priority-2.0.0-r1.ebuild
@@ -1,11 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{10..12} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -22,19 +21,8 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv
BDEPEND="
test? (
- $(python_gen_cond_dep '
- >=dev-python/hypothesis-3.4.2[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
+ >=dev-python/hypothesis-3.4.2[${PYTHON_USEDEP}]
)
"
distutils_enable_tests pytest
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON} (xfail)"
- return
- fi
-
- epytest
-}
diff --git a/dev-python/process-tests/process-tests-3.0.0.ebuild b/dev-python/process-tests/process-tests-3.0.0.ebuild
index 931fec7b9fea..979066ded3ba 100644
--- a/dev-python/process-tests/process-tests-3.0.0.ebuild
+++ b/dev-python/process-tests/process-tests-3.0.0.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -15,8 +15,8 @@ HOMEPAGE="
https://pypi.org/project/process-tests/
"
-SLOT="0"
LICENSE="BSD"
+SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
distutils_enable_tests pytest
diff --git a/dev-python/progress/progress-1.6-r1.ebuild b/dev-python/progress/progress-1.6-r1.ebuild
index cc35ceb640f4..ea7899e47ba9 100644
--- a/dev-python/progress/progress-1.6-r1.ebuild
+++ b/dev-python/progress/progress-1.6-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -14,8 +14,8 @@ HOMEPAGE="
https://pypi.org/project/progress/
"
-SLOT="0"
LICENSE="ISC"
+SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux"
python_test() {
diff --git a/dev-python/progressbar2/Manifest b/dev-python/progressbar2/Manifest
index ad43361d74f6..b5d609fac57c 100644
--- a/dev-python/progressbar2/Manifest
+++ b/dev-python/progressbar2/Manifest
@@ -1 +1 @@
-DIST progressbar2-4.2.0.tar.gz 650564 BLAKE2B 7b4d9604626d0944040e59af1b52bf1cf2c045b6a256c7fd4233fa2ee22491484ecb721fe680ad326f7ef383c7070cebad38729c45e91ca2d3b6fcc6c51127a1 SHA512 d49c154e48bd730c2a7916ed53272ff20cb6fac8c9752734cf645d4701ffcdf25309bf493d03fdc5b6072a85b5f758332fa7448f307d4acc001ad4ab36303a68
+DIST progressbar2-4.4.2.tar.gz 101342 BLAKE2B 67625a794bd19a4ed78be25789980038c69a6590277f085befeef805397972ff1160543814523c425218e019647f1c1641451198e2dd08a5f8eacd9e507a04af SHA512 705383badb3943d3d339854d02ee4114f0e76261373deb8f9aff00fe6aae7f37bacccbbc673c2cb36114c7f8ebbafa96a06408ce6e90c3d26a2e2c65ece86958
diff --git a/dev-python/progressbar2/progressbar2-4.2.0.ebuild b/dev-python/progressbar2/progressbar2-4.2.0.ebuild
deleted file mode 100644
index e42ed98337ca..000000000000
--- a/dev-python/progressbar2/progressbar2-4.2.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Text progressbar library for python"
-HOMEPAGE="
- https://progressbar-2.readthedocs.io/
- https://github.com/WoLpH/python-progressbar/
- https://pypi.org/project/progressbar2/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-
-RDEPEND="
- >=dev-python/python-utils-3.0.0[${PYTHON_USEDEP}]
- !dev-python/progressbar
-"
-BDEPEND="
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/cov/d' pytest.ini || die
- default
-}
-
-python_test() {
- PYTHONDONTWRITEBYTECODE=1 epytest tests
-}
diff --git a/dev-python/progressbar2/progressbar2-4.4.2.ebuild b/dev-python/progressbar2/progressbar2-4.4.2.ebuild
new file mode 100644
index 000000000000..31edc8ce4b9e
--- /dev/null
+++ b/dev-python/progressbar2/progressbar2-4.4.2.ebuild
@@ -0,0 +1,44 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Text progressbar library for python"
+HOMEPAGE="
+ https://progressbar-2.readthedocs.io/
+ https://github.com/WoLpH/python-progressbar/
+ https://pypi.org/project/progressbar2/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/python-utils-3.8.1[${PYTHON_USEDEP}]
+ !dev-python/progressbar
+"
+BDEPEND="
+ test? (
+ >=dev-python/dill-0.3.6[${PYTHON_USEDEP}]
+ >=dev-python/freezegun-0.3.11[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/cov/d' pytest.ini || die
+ default
+}
+
+python_test() {
+ local -x PYTHONDONTWRITEBYTECODE=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests
+}
diff --git a/dev-python/prometheus-client/Manifest b/dev-python/prometheus-client/Manifest
index d00a95415802..b65d331d0b7e 100644
--- a/dev-python/prometheus-client/Manifest
+++ b/dev-python/prometheus-client/Manifest
@@ -1 +1 @@
-DIST prometheus_client-0.19.0.tar.gz 77791 BLAKE2B 494895efc0b08dc0494f82db3c3f23ff07669579b65ad150b7c2ca64d1807c6da8cd0889244c6294f3b7eb5fb07058a260da03f30ae5fd4c47e3d8b118d1bc8a SHA512 8d0f14130916d79fe43380d3eb38ed16e9883c83528131067f147f1651a4509557b32243e7cfa92242de1e31a2bfd7784f77cc0e4e6723bdccb841fd0fe139d7
+DIST prometheus_client-0.20.0.tar.gz 78278 BLAKE2B ae7dea79a2c4f7b6870da9f749e9be09c353e062e744beb98538eba45d0394ef2ce5b99a696e40620b38ea228711dff30a2a571d09d7e1b4a3d75ca713938f92 SHA512 9e5aed628b052790af8954eee7914b6480226368229bb0dade2f8c3f88ab04971d2a8a55558fd7dbb125894f30cea56363cc670deb0aa6822f31562437031fb2
diff --git a/dev-python/prometheus-client/prometheus-client-0.19.0.ebuild b/dev-python/prometheus-client/prometheus-client-0.19.0.ebuild
deleted file mode 100644
index 402b04aeedcb..000000000000
--- a/dev-python/prometheus-client/prometheus-client-0.19.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python client for the Prometheus monitoring system"
-HOMEPAGE="
- https://github.com/prometheus/client_python/
- https://pypi.org/project/prometheus-client/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/twisted[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/prometheus-client/prometheus-client-0.20.0.ebuild b/dev-python/prometheus-client/prometheus-client-0.20.0.ebuild
new file mode 100644
index 000000000000..70af628bd4e1
--- /dev/null
+++ b/dev-python/prometheus-client/prometheus-client-0.20.0.ebuild
@@ -0,0 +1,35 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python client for the Prometheus monitoring system"
+HOMEPAGE="
+ https://github.com/prometheus/client_python/
+ https://pypi.org/project/prometheus-client/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/twisted[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # optional tests, broken with >=dev-python/asgiref-3.8
+ tests/test_asgi.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/prompt-toolkit/Manifest b/dev-python/prompt-toolkit/Manifest
index b0114d627711..a5a7b38ae24f 100644
--- a/dev-python/prompt-toolkit/Manifest
+++ b/dev-python/prompt-toolkit/Manifest
@@ -1 +1 @@
-DIST prompt_toolkit-3.0.41.tar.gz 424620 BLAKE2B 03224acf95a5937996bfdb9692b719752fab693923e5dab7f3aa1c960a9bcf2bc135c0deee25982a16937d5c12f55be9d3b70c4d0d400ba9f6ccb0070a66bf7a SHA512 ac8782b06275df01b32ccfaf6055b3b1bf4ff4aecfa76599b143025d79a7459f2722c659363d288361953105ef617337de1c5a71b693f7c28716d0c3df0e2c75
+DIST prompt_toolkit-3.0.47.tar.gz 425859 BLAKE2B fa12151c48126c971b2dc468a6e1de4ede49ade08f637e9c02d2284f74f07cbcf4d3167447e616af3385eef0355f8928bfc50632f0cf61138320d7e75777c07e SHA512 c27dc03929f0bd373e41bf70e19f82f97c8f0a6308e51e079e89d6233f1e638c34703cc056fe8c86cc9b63f91b5d345c28ce0e418f79f6e450ca06bcda5820fd
diff --git a/dev-python/prompt-toolkit/prompt-toolkit-3.0.41.ebuild b/dev-python/prompt-toolkit/prompt-toolkit-3.0.41.ebuild
deleted file mode 100644
index 082b151da3d1..000000000000
--- a/dev-python/prompt-toolkit/prompt-toolkit-3.0.41.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Building powerful interactive command lines in Python"
-HOMEPAGE="
- https://pypi.org/project/prompt-toolkit/
- https://github.com/prompt-toolkit/python-prompt-toolkit/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- dev-python/wcwidth[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/prompt-toolkit/prompt-toolkit-3.0.47.ebuild b/dev-python/prompt-toolkit/prompt-toolkit-3.0.47.ebuild
new file mode 100644
index 000000000000..d2512c1b3e80
--- /dev/null
+++ b/dev-python/prompt-toolkit/prompt-toolkit-3.0.47.ebuild
@@ -0,0 +1,30 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Building powerful interactive command lines in Python"
+HOMEPAGE="
+ https://pypi.org/project/prompt-toolkit/
+ https://github.com/prompt-toolkit/python-prompt-toolkit/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-python/wcwidth[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # requires tree-sitter-languages
+ src/prompt_toolkit/lexers/tree_sitter_test.py
+)
diff --git a/dev-python/proto-plus/Manifest b/dev-python/proto-plus/Manifest
index 71bbab0c625c..8e64f520293d 100644
--- a/dev-python/proto-plus/Manifest
+++ b/dev-python/proto-plus/Manifest
@@ -1 +1 @@
-DIST proto-plus-python-1.22.3.gh.tar.gz 94230 BLAKE2B 7d7def297a2f1b863c4226ed6af35b3ecc6cfac5d324ddc311b5d44189b45773c46b83bf242fa9f9847399e1f6a55d5b114a6a1d69fe170201201fa92747dac7 SHA512 8505656798426d07e27929bf43873ae3f46b1cbd1e1b81e41035382c6edb5e5de4a550e41985d93b3c161a5fc676a1db6fc14b8e74dce5d1b1b7bf3a80419ae4
+DIST proto-plus-python-1.24.0.gh.tar.gz 100401 BLAKE2B 29094738e9c84559b8b51b078ecb059e7475c5c6e9392f23925c6df264efebd22c191c5b593fc659aabb20ce9cb0d93cde9df28b0b40aac4bbc80e075a95ec24 SHA512 3995df0a7df60a9a5c9325c29456f73d8482ae3d765f9553e5633b8d0ae0869c6fe3cd60e780f8fcd49d04470205abf621bc56c20d64252b76d51c19ff283372
diff --git a/dev-python/proto-plus/proto-plus-1.22.3.ebuild b/dev-python/proto-plus/proto-plus-1.22.3.ebuild
deleted file mode 100644
index 79ba48ea9b78..000000000000
--- a/dev-python/proto-plus/proto-plus-1.22.3.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-MY_P=${PN}-python-${PV}
-DESCRIPTION="Beautiful, Pythonic protocol buffers"
-HOMEPAGE="
- https://github.com/googleapis/proto-plus-python/
- https://pypi.org/project/proto-plus/
-"
-SRC_URI="
- https://github.com/googleapis/proto-plus-python/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 x86"
-
-RDEPEND="
- <dev-python/protobuf-python-5[${PYTHON_USEDEP}]
- >=dev-python/protobuf-python-3.19.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/google-api-core-1.31.5[${PYTHON_USEDEP}]
- dev-python/grpcio[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/sphinx-rtd-theme
diff --git a/dev-python/proto-plus/proto-plus-1.24.0-r1.ebuild b/dev-python/proto-plus/proto-plus-1.24.0-r1.ebuild
new file mode 100644
index 000000000000..8a5dedc2161a
--- /dev/null
+++ b/dev-python/proto-plus/proto-plus-1.24.0-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=${PN}-python-${PV}
+DESCRIPTION="Beautiful, Pythonic protocol buffers"
+HOMEPAGE="
+ https://github.com/googleapis/proto-plus-python/
+ https://pypi.org/project/proto-plus/
+"
+SRC_URI="
+ https://github.com/googleapis/proto-plus-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ <dev-python/protobuf-python-6[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-python-3.19.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/google-api-core-1.31.5[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/protobuf-python/Manifest b/dev-python/protobuf-python/Manifest
index 54444c1352c6..f5b9bc33329a 100644
--- a/dev-python/protobuf-python/Manifest
+++ b/dev-python/protobuf-python/Manifest
@@ -1,2 +1,5 @@
+DIST protobuf-21.12.tar.gz 5141166 BLAKE2B 33500612d103afb817062486a741e8e5503f82c42c70054d47d1899e6bb79f3fdde2666cad5b8eff6e1bc539c3b0cdf9f2b125ce7e5d3a459a69e84d67ab535e SHA512 2dc8f552388438268d8b9f7a9e84c6abf1736be3d5031438c789c317410c9f4b5cedd25bf7da6d67b3ba32ca890869f9ddaab2284d6ac0e734a5b135ffbb1346
DIST protobuf-21.9.tar.gz 5110670 BLAKE2B a4f5b7f58e1c5904ca990b100a72992f6f56177b28773f8de8c99e4158391d33cfb8aa8575915887fc9ae4294faf81d4ff6b470bc07b394bfd5885a09ba0fafe SHA512 6954b42d21921e630173b7848c056ab95635627d8eddec960f3db2ddda13eedde00520a9b350722e76e2998649eb8ebe10758e1db938b6a91e38ff3295b1b7c1
+DIST protobuf-22.5.tar.gz 4924661 BLAKE2B d69c73f4ebfddf45fd94b4f5f898faf00256fe674f2cbc0443c60a88d7a0f47fb96f2f6262879927c6da88095b4ea3ee7fd4c471c100bf42a2bae9edf48c07f1 SHA512 058ab2fec5b11007972e6043071056d1944c3b6fe1d31246cddba8eb57686e3b5280f6ad3d58e78940ca63005e74a8de3c72237f9f7c5066548c5a2513ddc584
DIST protobuf-23.3.tar.gz 5043803 BLAKE2B ee2edee230969555c9ef95069c7b1d6c23c3d1f8ea1b2249fb3e9f6fcf63312c6e10e9da65b80629fb08d5fb08d05a19bb9c752c25b892c1e3fd6f18b9279eb3 SHA512 646af367dbc61b42e322cf0b335f360e428b272e2b1f5361b2f17c18d3dc9dddd615e1279436028b1a42275a0beadda37c2c934fc27d6c892131cc8d526d8b3b
+DIST protobuf-python-5.27.2.tar.gz 401640 BLAKE2B 9d3420b75536ffd452cc2a3317a6ad1e16a62df36085f1e329f0178026032f5533e1a96f7b613f91093ac12a44d7ad4059ebededea636f38ded29da563afd075 SHA512 b3afcf13e223d7e855ac0aa000cc395e3ea1301b2e3dfe3c0d5435d8031be3726e6aec1fb6228c572aa1685f75aba2d97d2c9dfdb6d9e058a2e88321d6ba9180
diff --git a/dev-python/protobuf-python/files/protobuf-python-4.22.5-c++-17.patch b/dev-python/protobuf-python/files/protobuf-python-4.22.5-c++-17.patch
new file mode 100644
index 000000000000..3ca6a5776d04
--- /dev/null
+++ b/dev-python/protobuf-python/files/protobuf-python-4.22.5-c++-17.patch
@@ -0,0 +1,13 @@
+diff --git a/python/setup.py b/python/setup.py
+index e65631013..8a6cbe59a 100755
+--- a/python/setup.py
++++ b/python/setup.py
+@@ -370,7 +370,7 @@ if __name__ == '__main__':
+ extra_compile_args.append('-Wno-invalid-offsetof')
+ extra_compile_args.append('-Wno-sign-compare')
+ extra_compile_args.append('-Wno-unused-variable')
+- extra_compile_args.append('-std=c++14')
++ extra_compile_args.append('-std=c++17')
+
+ if sys.platform == 'darwin':
+ extra_compile_args.append('-Wno-shorten-64-to-32')
diff --git a/dev-python/protobuf-python/files/protobuf-python-4.22.5-python.patch b/dev-python/protobuf-python/files/protobuf-python-4.22.5-python.patch
new file mode 100644
index 000000000000..65cb22d5f653
--- /dev/null
+++ b/dev-python/protobuf-python/files/protobuf-python-4.22.5-python.patch
@@ -0,0 +1,21 @@
+See also https://github.com/protocolbuffers/protobuf/pull/9098
+--- a/google/protobuf/internal/json_format_test.py
++++ b/google/protobuf/internal/json_format_test.py
+@@ -1060,7 +1060,7 @@ class JsonFormatTest(JsonFormatBase):
+ def testInvalidTimestamp(self):
+ message = json_format_proto3_pb2.TestTimestamp()
+ text = '{"value": "10000-01-01T00:00:00.00Z"}'
+- self.assertRaisesRegexp(
++ self.assertRaisesRegex(
+ json_format.ParseError, 'Failed to parse value field: '
+ 'time data \'10000-01-01T00:00:00\' does not match'
+ ' format \'%Y-%m-%dT%H:%M:%S\' at TestTimestamp.value.',
+@@ -1097,7 +1097,7 @@ class JsonFormatTest(JsonFormatBase):
+ def testInvalidOneof(self):
+ message = json_format_proto3_pb2.TestOneof()
+ text = '{"oneofInt32Value": 1, "oneofStringValue": "2"}'
+- self.assertRaisesRegexp(
++ self.assertRaisesRegex(
+ json_format.ParseError, 'Message type "proto3.TestOneof"'
+ ' should not have multiple "oneof_value" oneof fields at "TestOneof".',
+ json_format.Parse, text, message)
diff --git a/dev-python/protobuf-python/metadata.xml b/dev-python/protobuf-python/metadata.xml
index a3f1bad10813..05a4e2ab92b2 100644
--- a/dev-python/protobuf-python/metadata.xml
+++ b/dev-python/protobuf-python/metadata.xml
@@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>arfrever.fta@gmail.com</email>
- <name>Arfrever Frehtes Taifersar Arahesis</name>
- </maintainer>
- <maintainer type="project">
- <email>cjk@gentoo.org</email>
- <name>Cjk</name>
- </maintainer>
+ <!-- maintainer-needed -->
<slots>
<subslots>Soname version number of Protobuf</subslots>
</slots>
diff --git a/dev-python/protobuf-python/protobuf-python-4.21.12.ebuild b/dev-python/protobuf-python/protobuf-python-4.21.12.ebuild
new file mode 100644
index 000000000000..4c01b69d46e8
--- /dev/null
+++ b/dev-python/protobuf-python/protobuf-python-4.21.12.ebuild
@@ -0,0 +1,78 @@
+# Copyright 2008-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..11} )
+
+inherit distutils-r1
+
+PARENT_PN="${PN/-python/}"
+PARENT_PV="$(ver_cut 2-)"
+PARENT_P="${PARENT_PN}-${PARENT_PV}"
+
+if [[ "${PV}" == *9999 ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=()
+ EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_P}"
+else
+ SRC_URI="
+ https://github.com/protocolbuffers/protobuf/archive/v${PARENT_PV}.tar.gz
+ -> ${PARENT_P}.tar.gz
+ "
+ KEYWORDS="~alpha amd64 arm arm64 ~loong ~mips ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~x64-macos"
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Python bindings"
+HOMEPAGE="
+ https://developers.google.com/protocol-buffers/
+ https://pypi.org/project/protobuf/
+"
+
+LICENSE="BSD"
+SLOT="0/3.${PARENT_PV}.0"
+
+S="${WORKDIR}/${PARENT_P}/python"
+
+DEPEND="
+ ${PYTHON_DEPS}
+"
+RDEPEND="
+ ${BDEPEND}
+ dev-libs/protobuf:${SLOT}
+"
+
+distutils_enable_tests setup.py
+
+# Same than PATCHES but from repository's root directory,
+# please see function `python_prepare_all` below.
+# Simplier for users IMHO.
+PARENT_PATCHES=(
+)
+
+# Here for patches within "python/" subdirectory.
+PATCHES=(
+ "${FILESDIR}"/${PN}-3.20.3-python311.patch
+)
+
+python_prepare_all() {
+ pushd "${WORKDIR}/${PARENT_P}" > /dev/null || die
+ [[ -n "${PARENT_PATCHES[@]}" ]] && eapply "${PARENT_PATCHES[@]}"
+ eapply_user
+ popd > /dev/null || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ DISTUTILS_ARGS=( --cpp_implementation )
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}/install" -name "*.pth" -type f -delete || die
+}
diff --git a/dev-python/protobuf-python/protobuf-python-4.22.5.ebuild b/dev-python/protobuf-python/protobuf-python-4.22.5.ebuild
new file mode 100644
index 000000000000..59b4f648ed71
--- /dev/null
+++ b/dev-python/protobuf-python/protobuf-python-4.22.5.ebuild
@@ -0,0 +1,86 @@
+# Copyright 2008-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} )
+
+inherit distutils-r1
+
+PARENT_PN="${PN/-python/}"
+PARENT_PV="$(ver_cut 2-)"
+PARENT_P="${PARENT_PN}-${PARENT_PV}"
+
+if [[ "${PV}" == *9999 ]]; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
+ EGIT_SUBMODULES=()
+ EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_P}"
+else
+ SRC_URI="
+ https://github.com/protocolbuffers/protobuf/archive/v${PARENT_PV}.tar.gz
+ -> ${PARENT_P}.tar.gz
+ "
+ KEYWORDS="~alpha amd64 ~arm ~arm64 ~loong ~mips ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+fi
+
+DESCRIPTION="Google's Protocol Buffers - Python bindings"
+HOMEPAGE="
+ https://developers.google.com/protocol-buffers/
+ https://pypi.org/project/protobuf/
+"
+
+LICENSE="BSD"
+SLOT="0/22.5.0"
+
+S="${WORKDIR}/${PARENT_P}/python"
+
+DEPEND="
+ ${PYTHON_DEPS}
+"
+RDEPEND="
+ dev-libs/protobuf:${SLOT}
+"
+
+distutils_enable_tests setup.py
+
+# Same than PATCHES but from repository's root directory,
+# please see function `python_prepare_all` below.
+# Simplier for users IMHO.
+PARENT_PATCHES=(
+ "${FILESDIR}/${P}-c++-17.patch"
+)
+
+# Here for patches within "python/" subdirectory.
+PATCHES=(
+ "${FILESDIR}/${PN}-4.22.5-python.patch"
+)
+
+python_prepare_all() {
+ pushd "${WORKDIR}/${PARENT_P}" > /dev/null || die
+ [[ -n "${PARENT_PATCHES[@]}" ]] && eapply "${PARENT_PATCHES[@]}"
+ eapply_user
+ popd > /dev/null || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ DISTUTILS_ARGS=( --cpp_implementation )
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}/install" -name "*.pth" -type f -delete || die
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ einfo "Installing headers"
+ insinto /usr/include/google/protobuf
+ doins google/protobuf/proto_api.h
+}
diff --git a/dev-python/protobuf-python/protobuf-python-4.23.3.ebuild b/dev-python/protobuf-python/protobuf-python-4.23.3.ebuild
index 546a2110c18e..b5b33871343e 100644
--- a/dev-python/protobuf-python/protobuf-python-4.23.3.ebuild
+++ b/dev-python/protobuf-python/protobuf-python-4.23.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2008-2023 Gentoo Authors
+# Copyright 2008-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -24,7 +24,7 @@ else
https://github.com/protocolbuffers/protobuf/archive/v${PARENT_PV}.tar.gz
-> ${PARENT_P}.tar.gz
"
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+ KEYWORDS="~alpha amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
fi
DESCRIPTION="Google's Protocol Buffers - Python bindings"
diff --git a/dev-python/protobuf-python/protobuf-python-5.27.2.ebuild b/dev-python/protobuf-python/protobuf-python-5.27.2.ebuild
new file mode 100644
index 000000000000..b0d4a3ec76a7
--- /dev/null
+++ b/dev-python/protobuf-python/protobuf-python-5.27.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2008-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# Default implementation currently is upb, which doesn't match dev-libs/protobuf
+# https://github.com/protocolbuffers/protobuf/blob/main/python/README.md#implementation-backends
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+PYPI_PN="protobuf"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Google's Protocol Buffers - Python bindings"
+HOMEPAGE="
+ https://protobuf.dev/
+ https://pypi.org/project/protobuf/
+"
+
+# Rename sdist to avoid conflicts with dev-libs/protobuf
+SRC_URI="
+ $(pypi_sdist_url)
+ -> ${P}.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0/$(ver_cut 1-3)"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
diff --git a/dev-python/protobuf-python/protobuf-python-9999.ebuild b/dev-python/protobuf-python/protobuf-python-9999.ebuild
deleted file mode 100644
index c8a33b8666b2..000000000000
--- a/dev-python/protobuf-python/protobuf-python-9999.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 2008-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-PARENT_PN="${PN/-python/}"
-PARENT_PV="$(ver_cut 2-)"
-PARENT_P="${PARENT_PN}-${PARENT_PV}"
-
-if [[ "${PV}" == *9999 ]]; then
- inherit git-r3
-
- EGIT_REPO_URI="https://github.com/protocolbuffers/protobuf.git"
- EGIT_SUBMODULES=()
- EGIT_CHECKOUT_DIR="${WORKDIR}/${PARENT_P}"
-else
- SRC_URI="
- https://github.com/protocolbuffers/protobuf/archive/v${PARENT_PV}.tar.gz
- -> ${PARENT_P}.tar.gz
- "
- KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~loong ~mips ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-fi
-
-DESCRIPTION="Google's Protocol Buffers - Python bindings"
-HOMEPAGE="
- https://developers.google.com/protocol-buffers/
- https://pypi.org/project/protobuf/
-"
-
-LICENSE="BSD"
-SLOT="0/23.3.0"
-
-S="${WORKDIR}/${PARENT_P}/python"
-
-BDEPEND="
-"
-DEPEND="
- ${PYTHON_DEPS}
-"
-RDEPEND="
- ${BDEPEND}
- dev-libs/protobuf:${SLOT}
-"
-
-distutils_enable_tests setup.py
-
-# Same than PATCHES but from repository's root directory,
-# please see function `python_prepare_all` below.
-# Simplier for users IMHO.
-PARENT_PATCHES=(
-)
-
-# Here for patches within "python/" subdirectory.
-PATCHES=(
-)
-
-python_prepare_all() {
- pushd "${WORKDIR}/${PARENT_P}" > /dev/null || die
- [[ -n "${PARENT_PATCHES[@]}" ]] && eapply "${PARENT_PATCHES[@]}"
- eapply_user
- popd > /dev/null || die
-
- distutils-r1_python_prepare_all
-}
-
-src_configure() {
- DISTUTILS_ARGS=( --cpp_implementation )
-}
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}/install" -name "*.pth" -type f -delete || die
-}
diff --git a/dev-python/prov/Manifest b/dev-python/prov/Manifest
deleted file mode 100644
index afbcb160818c..000000000000
--- a/dev-python/prov/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST prov-2.0.0.tar.gz 131878 BLAKE2B 65f14ad3a7dc6e10d03b0d778be02d3a3a7e4cae7b8aedf54117446eefe51546fb30e9ca602b2d5780fab8abde4ed1d56ed7385815db64a7879623a481b050be SHA512 6d05c88855f23d5dc22b0eccce0af935c0ad3d227b7a257ff205ad8566ed9607f614c13427ac8dd922e79bd477ca125b9d3f9492f5f65ae55ab8e8f3b9b97307
diff --git a/dev-python/prov/metadata.xml b/dev-python/prov/metadata.xml
deleted file mode 100644
index d1559163dd7a..000000000000
--- a/dev-python/prov/metadata.xml
+++ /dev/null
@@ -1,14 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription lang="en">
- A library for W3C Provenance Data Model supporting PROV-O
- (RDF), PROV-XML, PROV-JSON import/export Interface to
- Graphviz’s Dot language.
- </longdescription>
- <upstream>
- <remote-id type="pypi">prov</remote-id>
- <remote-id type="github">trungdong/prov</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/prov/prov-2.0.0.ebuild b/dev-python/prov/prov-2.0.0.ebuild
deleted file mode 100644
index a8850b2716c3..000000000000
--- a/dev-python/prov/prov-2.0.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1 pypi
-
-DESCRIPTION="W3C provenance data dodel library"
-HOMEPAGE="https://pypi.org/project/prov/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/pydot[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- >=dev-python/networkx-1.10[${PYTHON_USEDEP}]
- dev-python/rdflib[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests setup.py
-
-src_prepare() {
- sed -e 's/test_json_to_ttl_match/_&/' -i src/prov/tests/test_rdf.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pslab/Manifest b/dev-python/pslab/Manifest
index 1b7fb58e68e3..264fb2733c88 100644
--- a/dev-python/pslab/Manifest
+++ b/dev-python/pslab/Manifest
@@ -1 +1 @@
-DIST pslab-python-2.5.0.gh.tar.gz 353493 BLAKE2B 4eae07fec800dc357041578a75e48812848588e49e14b75425ee4b24c62b1116d0493055564188e33e4d934f4d572708c811ec9bb7fbf5d437befedfcad5da1a SHA512 e8e4f53dc8c1d6aa4385cdbdc8a82bac21d9de15643980fed42a2b16c10ff56e0836371368840c9207d6bd6f8d73900a344507b8bce8b197f0580373137c0f1f
+DIST pslab-python-3.0.0.gh.tar.gz 357657 BLAKE2B 34d8817dd47588a488359b53a7c3737afc0b3d14c5a751990a6030a17f30cb99d65f235a7eaf26b5a4f7f41931ea20bff086a5463563faa189e6cc46336366b6 SHA512 fdb5180e6fb55b2b6262997981c1d9b56652fbd902cfb4e8c347dff87d32d234a61f5a3ff50e5fb55eb0fecc6d2cb09df5cbc9e747df00e5973c19fba7f3c554
diff --git a/dev-python/pslab/files/pslab-3.0.0-pytest_record.patch b/dev-python/pslab/files/pslab-3.0.0-pytest_record.patch
new file mode 100644
index 000000000000..90d5448998a8
--- /dev/null
+++ b/dev-python/pslab/files/pslab-3.0.0-pytest_record.patch
@@ -0,0 +1,36 @@
+Now that dev-python/pslab indirectly depends on pytest-reserial
+(it is a test dependency of dev-python/mcbootflash), the option name --record
+produces a collision.
+
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -8,9 +8,9 @@
+ Additionally, certain pins must be connected in a specific manner. Refer to the
+ individual test modules in the tests package.
+
+-By calling pytest with the --record flag, the serial traffic generated by the
++By calling pytest with the --record-serial flag, the serial traffic generated by the
+ integration tests will be recorded to JSON files, which are played back during
+-unit testing. The --record flag implies --integration.
++unit testing. The --record-serial flag implies --integration.
+ """
+
+ import json
+@@ -23,7 +23,7 @@
+
+ def pytest_addoption(parser):
+ parser.addoption("--integration", action="store_true", default=False)
+- parser.addoption("--record", action="store_true", default=False)
++ parser.addoption("--record-serial", action="store_true", default=False)
+
+
+ @pytest.fixture(scope="module")
+@@ -38,7 +38,7 @@
+
+ When running unit tests, the SerialHandler is a MockHandler.
+ """
+- record = request.config.getoption("--record")
++ record = request.config.getoption("--record-serial")
+ integration = request.config.getoption("--integration") or record
+ logfile = os.path.join(logdir, request.node.name + ".json")
+
diff --git a/dev-python/pslab/metadata.xml b/dev-python/pslab/metadata.xml
index 8c2314eeca2d..e5bdcb7d844b 100644
--- a/dev-python/pslab/metadata.xml
+++ b/dev-python/pslab/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<upstream>
<remote-id type="github">fossasia/pslab-python</remote-id>
diff --git a/dev-python/pslab/pslab-2.5.0.ebuild b/dev-python/pslab/pslab-2.5.0.ebuild
deleted file mode 100644
index d5f734959f53..000000000000
--- a/dev-python/pslab/pslab-2.5.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=pslab-python-${PV}
-DESCRIPTION="Python library for communicating with Pocket Science Lab"
-HOMEPAGE="
- https://pslab.io/
- https://github.com/fossasia/pslab-python/
- https://pypi.org/project/pslab/
-"
-SRC_URI="
- https://github.com/fossasia/pslab-python/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="GPL-3+"
-SLOT="0"
-KEYWORDS="amd64"
-
-RDEPEND="
- >=dev-python/numpy-1.16.3[${PYTHON_USEDEP}]
- >=dev-python/pyserial-3.4[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.3.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.5.0-ad9833_sys_version.patch
-)
-
-EPYTEST_DESELECT=(
- # Flaky in 2.5.0
- tests/test_logic_analyzer.py::test_stop
-)
-
-distutils_enable_sphinx docs dev-python/recommonmark
-distutils_enable_tests pytest
diff --git a/dev-python/pslab/pslab-3.0.0.ebuild b/dev-python/pslab/pslab-3.0.0.ebuild
new file mode 100644
index 000000000000..b6eeddaed923
--- /dev/null
+++ b/dev-python/pslab/pslab-3.0.0.ebuild
@@ -0,0 +1,51 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+MY_P=pslab-python-${PV}
+DESCRIPTION="Python library for communicating with Pocket Science Lab"
+HOMEPAGE="
+ https://pslab.io/
+ https://github.com/fossasia/pslab-python/
+ https://pypi.org/project/pslab/
+"
+SRC_URI="
+ https://github.com/fossasia/pslab-python/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-3+"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ >=dev-python/mcbootflash-8.0.0[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.16.3[${PYTHON_USEDEP}]
+ >=dev-python/pyserial-3.4[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.3.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.5.0-ad9833_sys_version.patch
+ "${FILESDIR}"/${PN}-3.0.0-pytest_record.patch
+)
+
+EPYTEST_DESELECT=(
+ # Flaky in 2.5.0
+ tests/test_logic_analyzer.py::test_stop
+)
+
+distutils_enable_sphinx docs dev-python/recommonmark
+distutils_enable_tests pytest
diff --git a/dev-python/psutil/Manifest b/dev-python/psutil/Manifest
index c3a41d0d1196..f53a8a83b5fb 100644
--- a/dev-python/psutil/Manifest
+++ b/dev-python/psutil/Manifest
@@ -1,4 +1,4 @@
-DIST psutil-5.9.5-tests-r2.patch.xz 3776 BLAKE2B ba67e50d22c0ff05c3d31d5bcc1eb91fce59d2f933bf8693382aecdd9f20f2a4c4c3b759a3c03ff069b87241ab9f84905ad3b1c5f03eb5f3a2b12ed8ad967cf6 SHA512 6b20c6c78f772af767abee887a426b83129e3a13bb1cc13fa0111ad4dbd0a2a22ccc986af86b80d766bdf2a93a3a234327c6b56637b554164d9b0b0bac535fb9
-DIST psutil-5.9.5.tar.gz 493489 BLAKE2B 3db8ce374d9d81dcddc08f03418675318c5e447f9a3347154d025537ba090811926ced822f83ff5fc9239665b091803a30d167465495049569c3c820f7fbb32d SHA512 2afe1bad5359aeac90378faaa609bab855dfcaa58519c939fdadb02e6e2c8157c77f961ac0f90d104626cef3429e1ea2f686e4dc4c9dccf975e3e73e9b08872c
-DIST psutil-5.9.6-tests.patch.xz 3780 BLAKE2B 002858235e7abf17c1426558cd9f8356cc7f21898f4488409e1cc4c6d76d6a017b8ca9e005e9973cfa890ff461691f5c0225e7c850ee4fde55cb1335d4ceca29 SHA512 1bd544ecd19ce7ff9a5e9f6e747b3f88ba44aabc289af87e3a1204028ebc26373dcdef9a9c5bd6ae13bc8d8d7d43ade41a8be2b14a02925afde1298ca0f9e6be
-DIST psutil-5.9.6.tar.gz 496866 BLAKE2B 65bd35ff6bcc2cfcb5f75f732a5a6955cb1fb5d889a5827aa2da27268716b10aa1dea23a87ee25aafc54e035927216501ecb98e56c655bfada57616a0d67e189 SHA512 0c363bf998868e450f014d5c5ddc2448986cafcd21309571e067be1c4b49d0e78259a5388094cbf32af7bca12865c5f3692480737f0a5225bbcfb895a9bf81f6
+DIST psutil-5.9.8-tests.patch.xz 3716 BLAKE2B cf33173a0d5c6537b0de1c4858beb9ec59c0361c6249f8a5cb3d55edc025578ddc0285a062083d28fcd4ece223728376dd64e9232aed1d761786b772a4cc7778 SHA512 5c9539a9716e25dc3cc5f2ce4373911a6c4524941838aff7aa08cc482d15aba6ec40b7904593723a785284410bcded2595c78a6c186d8af5b5f664c2d77e9220
+DIST psutil-5.9.8.tar.gz 503247 BLAKE2B 192812d9006b9eb1a856ff8d322e6cfb320462e5dc5ee7b88869ce7f4f2277050c4867b5e3f64468bb42de0b5bde85b715b84b37842bd3f605216acf89a62a4c SHA512 6ddeed937119a930bb7b9556ff329f054e9429b8457c9a15d99cb105271297117abba587a974d02760bb8b6b244734973a676bdff6b533a53ce587858e48f337
+DIST psutil-6.0.0-tests.patch.xz 3748 BLAKE2B 6e78418de8ee052e7e9f5d6bc74b8fc79e5216ed4d5fa8eb89532b19298955c388e158770b4af7b42fddc2a03b292e6d8ce9ed98c441179fb7c4a640014f2112 SHA512 3947337dbdddc29c85697d6140fc0fdcfb2b5ce7d84438e5763ad240ccd954e97fbf5dabf03ca17e959273a2c11794a41b2293434e85d2fe4d38d696c7de3900
+DIST psutil-6.0.0.tar.gz 508067 BLAKE2B a4c80d1cead17ab73c99a25c4e1712cc2dd0b4220521d8dacafb905ab27393c49a8ee20790a89ebfc6c1d53779e98fe126c50f9299db1ab9a9c3df6d0a99ec48 SHA512 78ef1abe109c985ad3dd3865de5b4a7682fbad0085e5ca5bc1f2f90f03853775554b6c810cd54543cb7a1238efe345b3dcc9f5191270e03bc6a2f4088dd007ba
diff --git a/dev-python/psutil/psutil-5.9.5.ebuild b/dev-python/psutil/psutil-5.9.5.ebuild
deleted file mode 100644
index 88949ae29b18..000000000000
--- a/dev-python/psutil/psutil-5.9.5.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-TEST_PATCH=psutil-5.9.5-tests-r2.patch
-DESCRIPTION="Retrieve information on running processes and system utilization"
-HOMEPAGE="
- https://github.com/giampaolo/psutil/
- https://pypi.org/project/psutil/
-"
-SRC_URI+="
- https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${TEST_PATCH}.xz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${WORKDIR}/${TEST_PATCH}"
-)
-
-python_test() {
- # Since we are running in an environment a bit similar to CI,
- # let's skip the tests that are disabled for CI
- local -x TRAVIS=1
- local -x APPVEYOR=1
- local -x GITHUB_ACTIONS=1
- local -x GENTOO_TESTING=1
- "${EPYTHON}" psutil/tests/runner.py ||
- die "tests failed with ${EPYTHON}"
-}
-
-python_compile() {
- # Force -j1 to avoid .o linking race conditions
- local MAKEOPTS=-j1
- distutils-r1_python_compile
-}
diff --git a/dev-python/psutil/psutil-5.9.6.ebuild b/dev-python/psutil/psutil-5.9.6.ebuild
deleted file mode 100644
index ea36b0e8c29f..000000000000
--- a/dev-python/psutil/psutil-5.9.6.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-TEST_PATCH=psutil-5.9.6-tests.patch
-DESCRIPTION="Retrieve information on running processes and system utilization"
-HOMEPAGE="
- https://github.com/giampaolo/psutil/
- https://pypi.org/project/psutil/
-"
-SRC_URI+="
- https://dev.gentoo.org/~mgorny/dist/${TEST_PATCH}.xz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-PATCHES=(
- "${WORKDIR}/${TEST_PATCH}"
-)
-
-python_test() {
- # Since we are running in an environment a bit similar to CI,
- # let's skip the tests that are disabled for CI
- local -x TRAVIS=1
- local -x APPVEYOR=1
- local -x GITHUB_ACTIONS=1
- local -x GENTOO_TESTING=1
- "${EPYTHON}" psutil/tests/runner.py ||
- die "tests failed with ${EPYTHON}"
-}
-
-python_compile() {
- # Force -j1 to avoid .o linking race conditions
- local MAKEOPTS=-j1
- distutils-r1_python_compile
-}
diff --git a/dev-python/psutil/psutil-5.9.8.ebuild b/dev-python/psutil/psutil-5.9.8.ebuild
new file mode 100644
index 000000000000..3bf4f4aefea9
--- /dev/null
+++ b/dev-python/psutil/psutil-5.9.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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+TEST_PATCH=psutil-5.9.8-tests.patch
+DESCRIPTION="Retrieve information on running processes and system utilization"
+HOMEPAGE="
+ https://github.com/giampaolo/psutil/
+ https://pypi.org/project/psutil/
+"
+SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/${TEST_PATCH}.xz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${WORKDIR}/${TEST_PATCH}"
+)
+
+python_test() {
+ # Since we are running in an environment a bit similar to CI,
+ # let's skip the tests that are disabled for CI
+ local -x TRAVIS=1
+ local -x APPVEYOR=1
+ local -x GITHUB_ACTIONS=1
+ local -x GENTOO_TESTING=1
+ "${EPYTHON}" psutil/tests/runner.py ||
+ die "tests failed with ${EPYTHON}"
+}
+
+python_compile() {
+ # Force -j1 to avoid .o linking race conditions
+ local MAKEOPTS=-j1
+ distutils-r1_python_compile
+}
diff --git a/dev-python/psutil/psutil-6.0.0.ebuild b/dev-python/psutil/psutil-6.0.0.ebuild
new file mode 100644
index 000000000000..cc3a1f64f9a9
--- /dev/null
+++ b/dev-python/psutil/psutil-6.0.0.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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+TEST_PATCH=psutil-6.0.0-tests.patch
+DESCRIPTION="Retrieve information on running processes and system utilization"
+HOMEPAGE="
+ https://github.com/giampaolo/psutil/
+ https://pypi.org/project/psutil/
+"
+SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/${TEST_PATCH}.xz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+PATCHES=(
+ "${WORKDIR}/${TEST_PATCH}"
+)
+
+python_test() {
+ # Since we are running in an environment a bit similar to CI,
+ # let's skip the tests that are disabled for CI
+ local -x TRAVIS=1
+ local -x APPVEYOR=1
+ local -x GITHUB_ACTIONS=1
+ local -x GENTOO_TESTING=1
+ "${EPYTHON}" psutil/tests/runner.py ||
+ die "tests failed with ${EPYTHON}"
+}
+
+python_compile() {
+ # Force -j1 to avoid .o linking race conditions
+ local MAKEOPTS=-j1
+ distutils-r1_python_compile
+}
diff --git a/dev-python/psycopg/Manifest b/dev-python/psycopg/Manifest
index 7d3748a9b737..8ec9b3f7ed61 100644
--- a/dev-python/psycopg/Manifest
+++ b/dev-python/psycopg/Manifest
@@ -1,6 +1,5 @@
-DIST psycopg-3.1.10.gh.tar.gz 490875 BLAKE2B 26b82aa34f0eecc3e15943390b74d82e838415564f96d6d11c65d2d705045f78231d7a0275bc74b6a1e095210d249aaaa2e2e59debd4c19cdcfbe348fe598b95 SHA512 37d1d2cbe3956862d3dbecd50505267f89a837e42e188e7ff7295c4e5e0d480efd86019ce5a88cd9b682075e2e99ec9037f83de42cb1f5dbcc370a8d3c90a474
-DIST psycopg-3.1.12.gh.tar.gz 496491 BLAKE2B df70ae76cb740cbeb313925fafd23650a5d9cb584cb79409eb55ab73260c698758c78878bfa0fbe6c6f1b6f8e55fb91290403246360776176be1fdb758d7361d SHA512 52489337ee4bfc4fe3070a731661264238646f50c86ecf9b4c902da1ab050b2ba6a8f8d1322b0f57f368d3c93f7ec3dd59f7970319e2df8eb52c728a5d7fecc1
-DIST psycopg-3.1.13.gh.tar.gz 500475 BLAKE2B c00176335808ba0fb15dc23fd93e394926517cb2c7e072a35ba909b0b1b128bdecf8305ae1d4e494a5b1f04fee28e98b862ef9f10bd152de6eb9a8e73cf8b5dc SHA512 489ea9f562be6aaaa81b8c96e47b65a1ec0f2f59587f7dc931744d9f6faede1b068fd6e464f530096cac276e1f73e99f069aaab5bd2c3955aa2e0511699659f3
-DIST psycopg-3.1.14.gh.tar.gz 502307 BLAKE2B 848d1174beb6ec78eaf300f19465c0e2c90829e51e38a8a526271e082a37add32d4e5781f84536fc3c4db6d1c29af5da70bf0374f1b011c10fa65f1c86487b25 SHA512 af96bc4a79944872049bfb0b1d45ad2ec55e8bfbbf729bdbe76eeeaaffc925c448ca5571214d6865129fd17feeb447e896e46e3d4a1e0b9649802761ae28efb4
+DIST psycopg-3.1.19.gh.tar.gz 507073 BLAKE2B c10e2ba83f4a3bb0646d86c0f1311ae43e3fafbf9eb8ae91f8a77941dd2ef21d22c5fdeca724399bbcf5f7f010f5a3b0f78979720efec8f25613abbe568dabc9 SHA512 a7d02570632a28080ffd99fa492c2f1af623e7ca55e57e8c5d4664aff4d033ae85fc21cfbb1f85a90c48e01944ed1be68e857b5cb34c0547b51ca465bac0a361
+DIST psycopg-3.2.0.gh.tar.gz 549161 BLAKE2B 33997b5ee2f4f814561f83f92e9db4b61664f0ac84f6ff3bfd057d1cf9039a5e169478c8f40deb97e07433cf1481bfa7f4f79765158ec968ff6ab74b5aa6d14e SHA512 4466390a33f55eca73e1d490aca98ad7bb0e4c55b166d8956e1c940f5ea71c7cb07ba5602276f7510b2368d6c0c0e6eacac8d4ae67f465fd07afc4c75283f3c1
+DIST psycopg-3.2.1.gh.tar.gz 549277 BLAKE2B badea79ca48b99ae363ffa1d04de922add9456662e0909a2761f61f1a5d03e2afc01ee188814495029551d9521aff95caa7ef3123d96dfcfbb3c0d0a14597e3c SHA512 ecaeee67493ce849a2d7477d0373061ab3b329d228e3c0dd482d7ee8c7eea07c59127db2e6afc0233a78f073306d4adef915aba5f3fc6378c0335c3155350294
DIST psycopg2-2.9.4.tar.gz 384017 BLAKE2B 4bc0afcc890c8a257c1ccd5c6e4e5301857a80f8b1428aa46c1473c9e18f5d2914a2e592c13336b06106217bb334d9b0321835bdd123f1627cbeb29dedf97bf7 SHA512 259088e42e0ab0d8a1a0ccf04f5e560f32c6179b4a0a0059e91bcf269baa8f4b0f1f949c332c640a2438c927a29b2c144078a861f8e18ba9c764da7c93c73b8d
DIST psycopg2-2.9.9.tar.gz 384926 BLAKE2B 8418fca1329703cedfc86be74d85cae5133a0604bb8a21fa43e5359a46626d38ef227d0cd8fbbeb497e2db517a469d7f3e86b74ef9163617a547e999073a6b4c SHA512 a691fd09762221e854861dedce37b05e5354e0701feea470a6d5046960056ef02a8c9ecfa751adeba485271ea7d5834643b7d3a3c3f3270087f5ed9c68509f5f
diff --git a/dev-python/psycopg/psycopg-2.9.9-r1.ebuild b/dev-python/psycopg/psycopg-2.9.9-r1.ebuild
new file mode 100644
index 000000000000..a01df0b529db
--- /dev/null
+++ b/dev-python/psycopg/psycopg-2.9.9-r1.ebuild
@@ -0,0 +1,65 @@
+# 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_PN="psycopg2"
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PostgreSQL database adapter for Python"
+HOMEPAGE="
+ https://www.psycopg.org/
+ https://github.com/psycopg/psycopg2/
+ https://pypi.org/project/psycopg2/
+"
+
+LICENSE="LGPL-3+"
+SLOT="2"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="debug test"
+RESTRICT="!test? ( test )"
+
+RDEPEND=">=dev-db/postgresql-8.1:*"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ test? ( >=dev-db/postgresql-8.1[server] )
+"
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ # fix for py3.13
+ sed -e 's:_PyInterpreterState_Get:PyInterpreterState_Get:' \
+ -i psycopg/utils.c || die
+ # broken by different encoding of IPv4-mapped addresses
+ sed -e 's:test_\(cidr\|inet\)_adapt:_&:' \
+ -i tests/test_ipaddress.py || die
+
+ if use debug; then
+ sed -i 's/^\(define=\)/\1PSYCOPG_DEBUG,/' setup.cfg || die
+ fi
+}
+
+src_test() {
+ initdb -D "${T}"/pgsql || die
+ # TODO: random port
+ pg_ctl -w -D "${T}"/pgsql start \
+ -o "-h '' -k '${T}'" || die
+ createdb -h "${T}" psycopg2_test || die
+
+ local -x PSYCOPG2_TESTDB_HOST="${T}"
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${T}"/pgsql stop || die
+}
+
+python_test() {
+ "${EPYTHON}" -c "
+import tests
+tests.unittest.main(defaultTest='tests.test_suite')
+" --verbose || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/psycopg/psycopg-2.9.9.ebuild b/dev-python/psycopg/psycopg-2.9.9.ebuild
index c185e47bcf2d..bfe4780d91d5 100644
--- a/dev-python/psycopg/psycopg-2.9.9.ebuild
+++ b/dev-python/psycopg/psycopg-2.9.9.ebuild
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="LGPL-3+"
SLOT="2"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
IUSE="debug test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/psycopg/psycopg-3.1.10.ebuild b/dev-python/psycopg/psycopg-3.1.10.ebuild
deleted file mode 100644
index aaca8a9462c6..000000000000
--- a/dev-python/psycopg/psycopg-3.1.10.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="PostgreSQL database adapter for Python"
-HOMEPAGE="
- https://www.psycopg.org/psycopg3/
- https://github.com/psycopg/psycopg/
- https://pypi.org/project/psycopg/
-"
-SRC_URI="
- https://github.com/psycopg/psycopg/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${P}/psycopg
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-DEPEND="
- >=dev-db/postgresql-8.1:*
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/typing-extensions-4.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-db/postgresql-8.1[server]
- dev-python/anyio[${PYTHON_USEDEP}]
- dev-python/dnspython[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- # tests are lurking in top-level directory
- cd .. || die
-
- initdb -D "${T}"/pgsql || die
- # TODO: random port
- pg_ctl -w -D "${T}"/pgsql start \
- -o "-h '' -k '${T}'" || die
- createdb -h "${T}" test || die
-
- local -x PSYCOPG_TEST_DSN="host=${T} dbname=test"
- distutils-r1_src_test
-
- pg_ctl -w -D "${T}"/pgsql stop || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # tests for the psycopg_pool package
- tests/pool
- # some broken mypy magic
- tests/test_module.py::test_version
- tests/test_module.py::test_version_c
- tests/test_typing.py
- tests/crdb/test_typing.py
- # TODO, relying on undefined ordering in Python?
- tests/test_dns_srv.py::test_srv
- # timing test, fragile to load
- tests/test_concurrency_async.py::test_ctrl_c
- )
-
- # leak tests seem to be brittle
- epytest -p no:django -k "not leak"
-}
diff --git a/dev-python/psycopg/psycopg-3.1.12.ebuild b/dev-python/psycopg/psycopg-3.1.12.ebuild
deleted file mode 100644
index 8c6c6892043f..000000000000
--- a/dev-python/psycopg/psycopg-3.1.12.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="PostgreSQL database adapter for Python"
-HOMEPAGE="
- https://www.psycopg.org/psycopg3/
- https://github.com/psycopg/psycopg/
- https://pypi.org/project/psycopg/
-"
-SRC_URI="
- https://github.com/psycopg/psycopg/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${P}/psycopg
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-DEPEND="
- >=dev-db/postgresql-8.1:*
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/typing-extensions-4.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-db/postgresql-8.1[server]
- <dev-python/anyio-4[${PYTHON_USEDEP}]
- dev-python/dnspython[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- # tests are lurking in top-level directory
- cd .. || die
-
- initdb -D "${T}"/pgsql || die
- # TODO: random port
- pg_ctl -w -D "${T}"/pgsql start \
- -o "-h '' -k '${T}'" || die
- createdb -h "${T}" test || die
-
- local -x PSYCOPG_TEST_DSN="host=${T} dbname=test"
- distutils-r1_src_test
-
- pg_ctl -w -D "${T}"/pgsql stop || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # tests for the psycopg_pool package
- tests/pool
- # some broken mypy magic
- tests/test_module.py::test_version
- tests/test_module.py::test_version_c
- tests/test_typing.py
- tests/crdb/test_typing.py
- # TODO, relying on undefined ordering in Python?
- tests/test_dns_srv.py::test_srv
- # timing test, fragile to load
- tests/test_concurrency_async.py::test_ctrl_c
- )
-
- # leak tests seem to be brittle
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p anyio -k "not leak"
-}
diff --git a/dev-python/psycopg/psycopg-3.1.13.ebuild b/dev-python/psycopg/psycopg-3.1.13.ebuild
deleted file mode 100644
index 9e575cdc3f54..000000000000
--- a/dev-python/psycopg/psycopg-3.1.13.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="PostgreSQL database adapter for Python"
-HOMEPAGE="
- https://www.psycopg.org/psycopg3/
- https://github.com/psycopg/psycopg/
- https://pypi.org/project/psycopg/
-"
-SRC_URI="
- https://github.com/psycopg/psycopg/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${P}/psycopg
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-DEPEND="
- >=dev-db/postgresql-8.1:*
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/typing-extensions-4.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-db/postgresql-8.1[server]
- <dev-python/anyio-4[${PYTHON_USEDEP}]
- dev-python/dnspython[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- # tests are lurking in top-level directory
- cd .. || die
-
- initdb -D "${T}"/pgsql || die
- # TODO: random port
- pg_ctl -w -D "${T}"/pgsql start \
- -o "-h '' -k '${T}'" || die
- createdb -h "${T}" test || die
-
- local -x PSYCOPG_TEST_DSN="host=${T} dbname=test"
- distutils-r1_src_test
-
- pg_ctl -w -D "${T}"/pgsql stop || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # tests for the psycopg_pool package
- tests/pool
- # some broken mypy magic
- tests/test_module.py::test_version
- tests/test_module.py::test_version_c
- tests/test_typing.py
- tests/crdb/test_typing.py
- # TODO, relying on undefined ordering in Python?
- tests/test_dns_srv.py::test_srv
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # leak and timing tests are fragile whereas slow tests are slow
- epytest -p anyio -k "not leak" -m "not timing and not slow"
-}
diff --git a/dev-python/psycopg/psycopg-3.1.14.ebuild b/dev-python/psycopg/psycopg-3.1.14.ebuild
deleted file mode 100644
index 9ec4e4fdc5dd..000000000000
--- a/dev-python/psycopg/psycopg-3.1.14.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="PostgreSQL database adapter for Python"
-HOMEPAGE="
- https://www.psycopg.org/psycopg3/
- https://github.com/psycopg/psycopg/
- https://pypi.org/project/psycopg/
-"
-SRC_URI="
- https://github.com/psycopg/psycopg/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${P}/psycopg
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-DEPEND="
- >=dev-db/postgresql-8.1:*
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/typing-extensions-4.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-db/postgresql-8.1[server]
- <dev-python/anyio-4[${PYTHON_USEDEP}]
- dev-python/dnspython[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- # tests are lurking in top-level directory
- cd .. || die
-
- initdb -D "${T}"/pgsql || die
- # TODO: random port
- pg_ctl -w -D "${T}"/pgsql start \
- -o "-h '' -k '${T}'" || die
- createdb -h "${T}" test || die
-
- local -x PSYCOPG_TEST_DSN="host=${T} dbname=test"
- distutils-r1_src_test
-
- pg_ctl -w -D "${T}"/pgsql stop || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # tests for the psycopg_pool package
- tests/pool
- # some broken mypy magic
- tests/test_module.py::test_version
- tests/test_module.py::test_version_c
- tests/test_typing.py
- tests/crdb/test_typing.py
- # TODO, relying on undefined ordering in Python?
- tests/test_dns_srv.py::test_srv
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # leak and timing tests are fragile whereas slow tests are slow
- epytest -p anyio -k "not leak" -m "not timing and not slow"
-}
diff --git a/dev-python/psycopg/psycopg-3.1.19.ebuild b/dev-python/psycopg/psycopg-3.1.19.ebuild
new file mode 100644
index 000000000000..15b4a76bbc7e
--- /dev/null
+++ b/dev-python/psycopg/psycopg-3.1.19.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="PostgreSQL database adapter for Python"
+HOMEPAGE="
+ https://www.psycopg.org/psycopg3/
+ https://github.com/psycopg/psycopg/
+ https://pypi.org/project/psycopg/
+"
+SRC_URI="
+ https://github.com/psycopg/psycopg/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="+native-extensions"
+
+DEPEND="
+ native-extensions? (
+ >=dev-db/postgresql-8.1:=
+ )
+ !native-extensions? (
+ >=dev-db/postgresql-8.1:*
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/typing-extensions-4.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/tomli[${PYTHON_USEDEP}]
+ )
+ test? (
+ >=dev-db/postgresql-8.1[server]
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/dnspython[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/935401
+ # https://github.com/psycopg/psycopg/issues/867
+ #
+ # Do not trust with LTO either.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ # Python code + ctypes backend
+ cd psycopg || die
+ distutils-r1_python_compile
+
+ # optional C backend
+ if use native-extensions && [[ ${EPYTHON} != pypy3 ]]; then
+ local DISTUTILS_USE_PEP517=standalone
+ cd ../psycopg_c || die
+ distutils-r1_python_compile
+ fi
+ cd .. || die
+}
+
+src_test() {
+ rm -r psycopg{,_c} || die
+
+ initdb -D "${T}"/pgsql || die
+ # TODO: random port
+ pg_ctl -w -D "${T}"/pgsql start \
+ -o "-h '' -k '${T}'" || die
+ createdb -h "${T}" test || die
+
+ local -x PSYCOPG_TEST_DSN="host=${T} dbname=test"
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${T}"/pgsql stop || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # tests for the psycopg_pool package
+ tests/pool
+ # some broken mypy magic
+ tests/test_module.py::test_version
+ tests/test_module.py::test_version_c
+ tests/test_typing.py
+ tests/crdb/test_typing.py
+ # TODO, relying on undefined ordering in Python?
+ tests/test_dns_srv.py::test_srv
+ )
+
+ local impls=( python )
+ if use native-extensions && [[ ${EPYTHON} != pypy3 ]]; then
+ impls+=( c )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PSYCOPG_IMPL
+ for PSYCOPG_IMPL in "${impls[@]}"; do
+ einfo "Testing with ${PSYCOPG_IMPL} implementation ..."
+ # leak and timing tests are fragile whereas slow tests are slow
+ epytest -p anyio -k "not leak" \
+ -m "not timing and not slow and not flakey"
+ done
+}
diff --git a/dev-python/psycopg/psycopg-3.2.0.ebuild b/dev-python/psycopg/psycopg-3.2.0.ebuild
new file mode 100644
index 000000000000..d62b5590fa54
--- /dev/null
+++ b/dev-python/psycopg/psycopg-3.2.0.ebuild
@@ -0,0 +1,119 @@
+# 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..13} )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="PostgreSQL database adapter for Python"
+HOMEPAGE="
+ https://www.psycopg.org/psycopg3/
+ https://github.com/psycopg/psycopg/
+ https://pypi.org/project/psycopg/
+"
+SRC_URI="
+ https://github.com/psycopg/psycopg/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="+native-extensions"
+
+DEPEND="
+ native-extensions? (
+ >=dev-db/postgresql-8.1:=
+ )
+ !native-extensions? (
+ >=dev-db/postgresql-8.1:*
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ )
+ test? (
+ >=dev-db/postgresql-8.1[server]
+ >=dev-python/anyio-4.0[${PYTHON_USEDEP}]
+ >=dev-python/dnspython-2.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/935401
+ # https://github.com/psycopg/psycopg/issues/867
+ #
+ # Do not trust with LTO either.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ # Python code + ctypes backend
+ cd psycopg || die
+ distutils-r1_python_compile
+
+ # optional C backend
+ if use native-extensions && [[ ${EPYTHON} != pypy3 ]]; then
+ local DISTUTILS_USE_PEP517=standalone
+ cd ../psycopg_c || die
+ distutils-r1_python_compile
+ fi
+ cd .. || die
+}
+
+src_test() {
+ rm -r psycopg{,_c} || die
+
+ initdb -D "${T}"/pgsql || die
+ # TODO: random port
+ pg_ctl -w -D "${T}"/pgsql start \
+ -o "-h '' -k '${T}'" || die
+ createdb -h "${T}" test || die
+
+ local -x PSYCOPG_TEST_DSN="host=${T} dbname=test"
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${T}"/pgsql stop || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # tests for the psycopg_pool package
+ tests/pool
+ # some broken mypy magic
+ tests/test_module.py::test_version
+ tests/test_module.py::test_version_c
+ tests/test_typing.py
+ tests/crdb/test_typing.py
+ # TODO, relying on undefined ordering in Python?
+ tests/test_dns_srv.py::test_srv
+ )
+
+ local impls=( python )
+ if use native-extensions && [[ ${EPYTHON} != pypy3 ]]; then
+ impls+=( c )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PSYCOPG_IMPL
+ for PSYCOPG_IMPL in "${impls[@]}"; do
+ einfo "Testing with ${PSYCOPG_IMPL} implementation ..."
+ # leak and timing tests are fragile whereas slow tests are slow
+ epytest -p anyio -k "not leak" \
+ -m "not timing and not slow and not flakey"
+ done
+}
diff --git a/dev-python/psycopg/psycopg-3.2.1.ebuild b/dev-python/psycopg/psycopg-3.2.1.ebuild
new file mode 100644
index 000000000000..133c4dfdaafc
--- /dev/null
+++ b/dev-python/psycopg/psycopg-3.2.1.ebuild
@@ -0,0 +1,119 @@
+# 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..13} )
+
+inherit distutils-r1 flag-o-matic
+
+DESCRIPTION="PostgreSQL database adapter for Python"
+HOMEPAGE="
+ https://www.psycopg.org/psycopg3/
+ https://github.com/psycopg/psycopg/
+ https://pypi.org/project/psycopg/
+"
+SRC_URI="
+ https://github.com/psycopg/psycopg/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="+native-extensions"
+
+DEPEND="
+ native-extensions? (
+ >=dev-db/postgresql-8.1:=
+ )
+ !native-extensions? (
+ >=dev-db/postgresql-8.1:*
+ )
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/typing-extensions-4.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ )
+ test? (
+ >=dev-db/postgresql-8.1[server]
+ >=dev-python/anyio-4.0[${PYTHON_USEDEP}]
+ >=dev-python/dnspython-2.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ # -Werror=strict-aliasing
+ # https://bugs.gentoo.org/935401
+ # https://github.com/psycopg/psycopg/issues/867
+ #
+ # Do not trust with LTO either.
+ append-flags -fno-strict-aliasing
+ filter-lto
+
+ # Python code + ctypes backend
+ cd psycopg || die
+ distutils-r1_python_compile
+
+ # optional C backend
+ if use native-extensions && [[ ${EPYTHON} != pypy3 ]]; then
+ local DISTUTILS_USE_PEP517=standalone
+ cd ../psycopg_c || die
+ distutils-r1_python_compile
+ fi
+ cd .. || die
+}
+
+src_test() {
+ rm -r psycopg{,_c} || die
+
+ initdb -D "${T}"/pgsql || die
+ # TODO: random port
+ pg_ctl -w -D "${T}"/pgsql start \
+ -o "-h '' -k '${T}'" || die
+ createdb -h "${T}" test || die
+
+ local -x PSYCOPG_TEST_DSN="host=${T} dbname=test"
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${T}"/pgsql stop || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # tests for the psycopg_pool package
+ tests/pool
+ # some broken mypy magic
+ tests/test_module.py::test_version
+ tests/test_module.py::test_version_c
+ tests/test_typing.py
+ tests/crdb/test_typing.py
+ # TODO, relying on undefined ordering in Python?
+ tests/test_dns_srv.py::test_srv
+ )
+
+ local impls=( python )
+ if use native-extensions && [[ ${EPYTHON} != pypy3 ]]; then
+ impls+=( c )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PSYCOPG_IMPL
+ for PSYCOPG_IMPL in "${impls[@]}"; do
+ einfo "Testing with ${PSYCOPG_IMPL} implementation ..."
+ # leak and timing tests are fragile whereas slow tests are slow
+ epytest -p anyio -k "not leak" \
+ -m "not timing and not slow and not flakey"
+ done
+}
diff --git a/dev-python/ptyprocess/ptyprocess-0.7.0-r1.ebuild b/dev-python/ptyprocess/ptyprocess-0.7.0-r1.ebuild
index 7c04c7c2f328..d3178656cfc1 100644
--- a/dev-python/ptyprocess/ptyprocess-0.7.0-r1.ebuild
+++ b/dev-python/ptyprocess/ptyprocess-0.7.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -18,4 +18,11 @@ LICENSE="ISC"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-distutils_enable_tests pytest
+distutils_enable_tests unittest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # https://github.com/pexpect/ptyprocess/pull/75
+ sed -i -e '/makeSuite/d' tests/test_invalid_binary.py || die
+}
diff --git a/dev-python/publicsuffix/publicsuffix-2.20191221-r2.ebuild b/dev-python/publicsuffix/publicsuffix-2.20191221-r2.ebuild
index 7131666153e2..52ebe30b3867 100644
--- a/dev-python/publicsuffix/publicsuffix-2.20191221-r2.ebuild
+++ b/dev-python/publicsuffix/publicsuffix-2.20191221-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -15,6 +15,7 @@ MY_P=python-publicsuffix2-${MY_PV}
DESCRIPTION="Get a public suffix for a domain name using the Public Suffix List"
HOMEPAGE="
https://github.com/nexB/python-publicsuffix2/
+ https://pypi.org/project/publicsuffix2/
"
SRC_URI="
https://github.com/nexB/python-publicsuffix2/archive/${MY_PV}.tar.gz
diff --git a/dev-python/pudb/Manifest b/dev-python/pudb/Manifest
index df5f3e4b8e0a..52daefb3e7e8 100644
--- a/dev-python/pudb/Manifest
+++ b/dev-python/pudb/Manifest
@@ -1,2 +1,2 @@
-DIST pudb-2022.1.3.tar.gz 220833 BLAKE2B 9d028db6b10f412989ec263b09738afad24a4bf1e0b03c772ef2ec939e4f014f4eca8f04f495b0c3a516d0f3241eee65334a161e7aff072dff436bd54f0a8bfc SHA512 0f70ac5bef61403119c3023c72bcf37ebba16d106c51d4f14321caa2ef5d13a2ddbd923aa650e64b6a57842a444226cf9ce02eed0bb023315a166018b0163b5a
-DIST pudb-2023.1.tar.gz 224307 BLAKE2B b0b8b8f4f14d86e24b2863091fd41801282b5e7f8b48cdb22a286c171f714a5e9b9a7f516261b7cc74210379f933f85e7e99e9df22deade4261c9b98aa200702 SHA512 b27184a9ece304063871e4f8ace7d7b7b13e6d4f9a88b6372f7e6c0487319d1155204beac422fd2dda9ec367ad9483ceda42562c9ad4beb3c868c50ee2d2ff3d
+DIST pudb-2024.1.1.tar.gz 226273 BLAKE2B 850a7732e5da24bf7736eaa27de49cdb300641acb5fc6404716b7d41cd990303a5ddec4c732883e69307be0953e73c15eda10d5ad5ce5aae8d0b6146fc4118ce SHA512 3f69668a79e1cfd13e79d9b023bffc1a5d9e25c1ea34a0cb292004290c1b56e8981af2a54478ed0ad00b12b1167d604cc4d1a13041e10346b338ea7fce693348
+DIST pudb-2024.1.2.tar.gz 226551 BLAKE2B b89db9a56f933474cddd332a71216c73631324efc0b046044133e912bc9783c3e89d9a67e539fdc9703fd728a308a33687587c7b63427b7ca824cd425013b434 SHA512 0db7af15227c9bddd91aa685e90cef5c071f930399731681da651293a71732b2bc9e2afbd7cc5080ad51e7c54980b93afc8b8f53b054737b7a76270bf3414206
diff --git a/dev-python/pudb/pudb-2022.1.3.ebuild b/dev-python/pudb/pudb-2022.1.3.ebuild
deleted file mode 100644
index c5b74987dbfd..000000000000
--- a/dev-python/pudb/pudb-2022.1.3.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A full-screen, console-based Python debugger"
-HOMEPAGE="https://pypi.org/project/pudb/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/urwid[${PYTHON_USEDEP}]
- dev-python/urwid_readline[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pudb/pudb-2023.1.ebuild b/dev-python/pudb/pudb-2023.1.ebuild
deleted file mode 100644
index 08817bd3a069..000000000000
--- a/dev-python/pudb/pudb-2023.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A full-screen, console-based Python debugger"
-HOMEPAGE="https://pypi.org/project/pudb/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/urwid[${PYTHON_USEDEP}]
- dev-python/urwid_readline[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_install() {
- rm -rf "${WORKDIR}"/${P}-${EPYTHON/./_}/install/usr/lib/${EPYTHON}/site-packages/test
- distutils-r1_python_install
-}
diff --git a/dev-python/pudb/pudb-2024.1.1.ebuild b/dev-python/pudb/pudb-2024.1.1.ebuild
new file mode 100644
index 000000000000..f6667522ef0b
--- /dev/null
+++ b/dev-python/pudb/pudb-2024.1.1.ebuild
@@ -0,0 +1,38 @@
+# 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..13} )
+
+inherit distutils-r1 pypi optfeature
+
+DESCRIPTION="A full-screen, console-based Python debugger"
+HOMEPAGE="
+ https://documen.tician.de/pudb/
+ https://github.com/inducer/pudb/
+ https://pypi.org/project/pudb/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/urwid-2.4[${PYTHON_USEDEP}]
+ dev-python/urwid-readline[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature_header "Install the following packages for additional functionality:"
+ optfeature "Auto-complete support" dev-python/jedi
+}
diff --git a/dev-python/pudb/pudb-2024.1.2.ebuild b/dev-python/pudb/pudb-2024.1.2.ebuild
new file mode 100644
index 000000000000..f6667522ef0b
--- /dev/null
+++ b/dev-python/pudb/pudb-2024.1.2.ebuild
@@ -0,0 +1,38 @@
+# 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..13} )
+
+inherit distutils-r1 pypi optfeature
+
+DESCRIPTION="A full-screen, console-based Python debugger"
+HOMEPAGE="
+ https://documen.tician.de/pudb/
+ https://github.com/inducer/pudb/
+ https://pypi.org/project/pudb/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/urwid-2.4[${PYTHON_USEDEP}]
+ dev-python/urwid-readline[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature_header "Install the following packages for additional functionality:"
+ optfeature "Auto-complete support" dev-python/jedi
+}
diff --git a/dev-python/pulsectl-asyncio/Manifest b/dev-python/pulsectl-asyncio/Manifest
index ecfee5f80efd..fb2b24db043b 100644
--- a/dev-python/pulsectl-asyncio/Manifest
+++ b/dev-python/pulsectl-asyncio/Manifest
@@ -1 +1 @@
-DIST pulsectl-asyncio-1.1.1.gh.tar.gz 19425 BLAKE2B c950dc0e003c6795fba0b122ed9b5e3c0bb61adb1a26901f467e508ff3def64bc7c0a25e4250decbbd55aedd66ef5b030ced004e797a94ee0a5988043cd7dedb SHA512 b495295ee13d54e136cd70daaf3675239aa96faa284bd2ad0d21496821ee818f67ebbe83269a4201ea0bee99b5b2b78be3945909e1b2519078bc38c2529734bf
+DIST pulsectl-asyncio-1.2.0.gh.tar.gz 19517 BLAKE2B 919909acfabfefa1dbea99cef6285483652649c111df6f3f6719d92e35ea548b54e6c0a60e4277b69610ee9a58c2c29c3355b7f2fe2780d773aa2c89513ce9a1 SHA512 b560c38b6d18a4c73551ae4ba34243f0043dc18426141c128c6ca3e8bd30f4d94d8718c3003ae506be038bc645ee569b77e6289b97ac913daa1e42e6b9aef03b
diff --git a/dev-python/pulsectl-asyncio/pulsectl-asyncio-1.1.1.ebuild b/dev-python/pulsectl-asyncio/pulsectl-asyncio-1.1.1.ebuild
deleted file mode 100644
index a0217de9e234..000000000000
--- a/dev-python/pulsectl-asyncio/pulsectl-asyncio-1.1.1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Asyncio frontend for pulsectl, Python bindings of libpulse"
-HOMEPAGE="
- https://github.com/mhthies/pulsectl-asyncio/
- https://pypi.org/project/pulsectl-asyncio/
-"
-# sdist is missing examples that are used in tests
-SRC_URI="
- https://github.com/mhthies/pulsectl-asyncio/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/pulsectl-23.5.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- media-sound/pulseaudio-daemon
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # unpin deps
- sed -i -e 's:,<=[0-9.]*::' setup.cfg || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pulsectl-asyncio/pulsectl-asyncio-1.2.0.ebuild b/dev-python/pulsectl-asyncio/pulsectl-asyncio-1.2.0.ebuild
new file mode 100644
index 000000000000..b2b42d758a13
--- /dev/null
+++ b/dev-python/pulsectl-asyncio/pulsectl-asyncio-1.2.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Asyncio frontend for pulsectl, Python bindings of libpulse"
+HOMEPAGE="
+ https://github.com/mhthies/pulsectl-asyncio/
+ https://pypi.org/project/pulsectl-asyncio/
+"
+# sdist is missing examples that are used in tests
+SRC_URI="
+ https://github.com/mhthies/pulsectl-asyncio/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pulsectl-23.5.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ media-sound/pulseaudio-daemon
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unpin deps
+ sed -i -e 's:,<=[0-9.]*::' setup.cfg || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/pulsectl/Manifest b/dev-python/pulsectl/Manifest
index ff4d46188099..272844960854 100644
--- a/dev-python/pulsectl/Manifest
+++ b/dev-python/pulsectl/Manifest
@@ -1 +1 @@
-DIST pulsectl-23.5.2.tar.gz 41119 BLAKE2B 45239e9b6b3e19356f7c89acb673d9287e9e38099608e246c8334a5de82bf93d813688e376cf5aedb92e6b3368ce93bae1df630726a5ae568c83d774c942f848 SHA512 4f05edd994aac1964c358c50a95f564afb40fcc6ac410d5189525312c042057954d040dc41939b665347a39453244eccc138c4c7d628ef2da62034606716ecb9
+DIST pulsectl-24.4.0.tar.gz 41166 BLAKE2B 3b2d41b3077f050104e7b416cb8dbba47f4282bb90ee58c855f4f5a1e1b1183b131879e6965edf8d8b5a2466ce3381e45c7a6b92f2b64fc336d311d3d7625440 SHA512 b17fd577f9c336f762925bd423fdca665afa92a88b0dae076ca016d7c5b2b3d9ef11efd27f7339031accadef00d513f972c216a23f26cfd049516f3dbcc63d01
diff --git a/dev-python/pulsectl/pulsectl-23.5.2-r1.ebuild b/dev-python/pulsectl/pulsectl-23.5.2-r1.ebuild
deleted file mode 100644
index 3fb33996a34a..000000000000
--- a/dev-python/pulsectl/pulsectl-23.5.2-r1.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python high-level interface and ctypes-based bindings for PulseAudio (libpulse)"
-HOMEPAGE="
- https://github.com/mk-fg/python-pulse-control/
- https://pypi.org/project/pulsectl/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- media-libs/libpulse
-"
-BDEPEND="
- test? (
- media-sound/pulseaudio-daemon
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/pulsectl/pulsectl-24.4.0.ebuild b/dev-python/pulsectl/pulsectl-24.4.0.ebuild
new file mode 100644
index 000000000000..a26679e2fc15
--- /dev/null
+++ b/dev-python/pulsectl/pulsectl-24.4.0.ebuild
@@ -0,0 +1,30 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python high-level interface and ctypes-based bindings for PulseAudio (libpulse)"
+HOMEPAGE="
+ https://github.com/mk-fg/python-pulse-control/
+ https://pypi.org/project/pulsectl/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~riscv ~x86"
+
+RDEPEND="
+ media-libs/libpulse
+"
+BDEPEND="
+ test? (
+ media-sound/pulseaudio-daemon
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pure-eval/Manifest b/dev-python/pure-eval/Manifest
index 2e04617fdd08..429c6ba56260 100644
--- a/dev-python/pure-eval/Manifest
+++ b/dev-python/pure-eval/Manifest
@@ -1 +1,2 @@
DIST pure_eval-0.2.2.tar.gz 19395 BLAKE2B 19f86a1436e5f1a026a24f62c435e8970d84960f4cde1de80c58949b1aede6aa7562e8430e10e3f7171212c31d5699a3321fad5fb2ea1eed961a30d43a632a79 SHA512 35d20cbbfd513b7ac341759e619401a5f57b7b9df8abd09ce6414d4ee6bfa45dcadbad7529d067e81ad7ea2107c14fd03783a3a77f8074dad30d2e5161656804
+DIST pure_eval-0.2.3.tar.gz 19752 BLAKE2B 18ed36bf045ddcd351a8dd82079df409e26ed745e3c326a7743536bc3e74a880830f55fa1252113aa03b9830b5cac63601335cb6b877994861efb0b9b54a07d9 SHA512 8575f54aa7e522a3db86b80fdbe1f8518ef4ef17a160b2541f74d0853e123cffcbc9f04df9faeddfc7ed92bb6b1d27fb7b3ce2de1c66b6b13e453b7b2bf72052
diff --git a/dev-python/pure-eval/files/pure-eval-0.2.2-py313.patch b/dev-python/pure-eval/files/pure-eval-0.2.2-py313.patch
new file mode 100644
index 000000000000..9ec2d680b616
--- /dev/null
+++ b/dev-python/pure-eval/files/pure-eval-0.2.2-py313.patch
@@ -0,0 +1,63 @@
+From 42e8a1f4a41b60c51619868f543e7b3ee82ac42f Mon Sep 17 00:00:00 2001
+From: Lumir Balhar <lbalhar@redhat.com>
+Date: Wed, 15 May 2024 10:14:31 +0200
+Subject: [PATCH] Fix compatibility of check_copy_ast_without_context with Py
+ 3.13b1
+
+Resolves: https://github.com/alexmojaki/pure_eval/issues/16
+---
+ tests/test_utils.py | 11 ++++++++++-
+ 1 file changed, 10 insertions(+), 1 deletion(-)
+
+diff --git a/tests/test_utils.py b/tests/test_utils.py
+index 172f50e..3a9cc9b 100644
+--- a/tests/test_utils.py
++++ b/tests/test_utils.py
+@@ -58,7 +58,16 @@ def check_copy_ast_without_context(tree):
+ dump1 = ast.dump(tree)
+ dump2 = ast.dump(tree2)
+ normalised_dump1 = re.sub(
+- r", ctx=(Load|Store|Del)\(\)",
++ # Two possible matches:
++ # - first one like ", ctx=…" where ", " should be removed
++ # - second one like "(ctx=…" where "(" should be kept
++ (
++ r"("
++ r", ctx=(Load|Store|Del)\(\)"
++ r"|"
++ r"(?<=\()ctx=(Load|Store|Del)\(\)"
++ r")"
++ ),
+ "",
+ dump1
+ )
+From 89645cfd19d1480d586af50842f0ac264a036fa8 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
+Date: Sun, 9 Jun 2024 21:45:31 +0200
+Subject: [PATCH] Explicitly remove the ctx attribute in
+ copy_ast_without_context
+
+Python 3.13.0b2+ defaults to Load when we don't pass ctx
+See https://github.com/python/cpython/pull/118871
+---
+ pure_eval/utils.py | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/pure_eval/utils.py b/pure_eval/utils.py
+index a8a3730..19ead65 100644
+--- a/pure_eval/utils.py
++++ b/pure_eval/utils.py
+@@ -184,7 +184,12 @@ def copy_ast_without_context(x):
+ if field != 'ctx'
+ if hasattr(x, field)
+ }
+- return type(x)(**kwargs)
++ a = type(x)(**kwargs)
++ if hasattr(a, 'ctx'):
++ # Python 3.13.0b2+ defaults to Load when we don't pass ctx
++ # https://github.com/python/cpython/pull/118871
++ del a.ctx
++ return a
+ elif isinstance(x, list):
+ return list(map(copy_ast_without_context, x))
+ else:
diff --git a/dev-python/pure-eval/pure-eval-0.2.2-r1.ebuild b/dev-python/pure-eval/pure-eval-0.2.2-r1.ebuild
new file mode 100644
index 000000000000..3268f08fd3f0
--- /dev/null
+++ b/dev-python/pure-eval/pure-eval-0.2.2-r1.ebuild
@@ -0,0 +1,43 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Safely evaluate AST nodes without side effects"
+HOMEPAGE="
+ https://github.com/alexmojaki/pure_eval/
+ https://pypi.org/project/pure-eval/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/alexmojaki/pure_eval/commit/42e8a1f4a41b60c51619868f543e7b3ee82ac42f
+ # https://github.com/alexmojaki/pure_eval/pull/18
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # https://github.com/alexmojaki/pure_eval/issues/15
+ tests/test_getattr_static.py::TestGetattrStatic::test_custom_object_dict
+ tests/test_utils.py::test_safe_name_samples
+ )
+ ;;
+ esac
+
+ epytest
+}
diff --git a/dev-python/pure-eval/pure-eval-0.2.3.ebuild b/dev-python/pure-eval/pure-eval-0.2.3.ebuild
new file mode 100644
index 000000000000..259f3e8412cb
--- /dev/null
+++ b/dev-python/pure-eval/pure-eval-0.2.3.ebuild
@@ -0,0 +1,37 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Safely evaluate AST nodes without side effects"
+HOMEPAGE="
+ https://github.com/alexmojaki/pure_eval/
+ https://pypi.org/project/pure-eval/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # https://github.com/alexmojaki/pure_eval/issues/15
+ tests/test_getattr_static.py::TestGetattrStatic::test_custom_object_dict
+ tests/test_utils.py::test_safe_name_samples
+ )
+ ;;
+ esac
+
+ epytest
+}
diff --git a/dev-python/puremagic/Manifest b/dev-python/puremagic/Manifest
index 2c3d8b8d2363..3b66a91ffd11 100644
--- a/dev-python/puremagic/Manifest
+++ b/dev-python/puremagic/Manifest
@@ -1 +1,2 @@
-DIST puremagic-1.15.gh.tar.gz 295922 BLAKE2B b78a691fe5843eec7be4874c11492565ce474a741bd80cb5787bbfacd4522363acf880071d4e9b3beab14287890e851da1e92eeea2aacce1161729287b99ce9e SHA512 46d8ad7e2aa309558e37589b8a9508ef4156a5d6768b738df5f8539cb9edc12d83ac46a2fd46ef48d9323c73dfeff0e6f5eee8046bdd910f6ea14bb5402e477e
+DIST puremagic-1.25.gh.tar.gz 309788 BLAKE2B cc24e10ef59ce6299e7fb90b12b4d379d320d5795d475f9509301a050591c3404499227a64d6ed8395c8ab7f424561895966a3fe5dd1f90154fdb8be50fcab51 SHA512 7b9a8af827537ed9af38b80422744c7ee8b48b95f3344a79b6641cc7d55082160f20884659846a608d04d040acb06b0273fb8b51e5b92db14f92ff6d576c0e0d
+DIST puremagic-1.26.gh.tar.gz 310727 BLAKE2B ccb07fc646c90778bea98adc4bb63bcb24dd7e588134d12fae02b846e532ec3cfa0f29037ee9143ebdd9baf71703c73b1447886b86f4d7ca5a5b4097988a3570 SHA512 b081ab7b7ddc5ecfcf9b3f2a19535222ace2eed4e88872580eaae69f9635f59357d49ddcb01e7d88fa46556320e9c8906e7a44cb614288c88266f5f7d0109d49
diff --git a/dev-python/puremagic/puremagic-1.15.ebuild b/dev-python/puremagic/puremagic-1.15.ebuild
deleted file mode 100644
index df194a1f64bd..000000000000
--- a/dev-python/puremagic/puremagic-1.15.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure python implementation of magic file detection"
-HOMEPAGE="
- https://github.com/cdgriffith/puremagic/
- https://pypi.org/project/puremagic/
-"
-SRC_URI="
- https://github.com/cdgriffith/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-DOCS=( CHANGELOG.md README.rst )
-
-distutils_enable_tests pytest
diff --git a/dev-python/puremagic/puremagic-1.25.ebuild b/dev-python/puremagic/puremagic-1.25.ebuild
new file mode 100644
index 000000000000..db55407e2eb2
--- /dev/null
+++ b/dev-python/puremagic/puremagic-1.25.ebuild
@@ -0,0 +1,32 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Pure python implementation of magic file detection"
+HOMEPAGE="
+ https://github.com/cdgriffith/puremagic/
+ https://pypi.org/project/puremagic/
+"
+SRC_URI="
+ https://github.com/cdgriffith/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+DOCS=( CHANGELOG.md README.rst )
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/puremagic/puremagic-1.26.ebuild b/dev-python/puremagic/puremagic-1.26.ebuild
new file mode 100644
index 000000000000..7a5fd34c2d27
--- /dev/null
+++ b/dev-python/puremagic/puremagic-1.26.ebuild
@@ -0,0 +1,32 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Pure python implementation of magic file detection"
+HOMEPAGE="
+ https://github.com/cdgriffith/puremagic/
+ https://pypi.org/project/puremagic/
+"
+SRC_URI="
+ https://github.com/cdgriffith/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DOCS=( CHANGELOG.md README.rst )
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/pushbullet-py/Manifest b/dev-python/pushbullet-py/Manifest
deleted file mode 100644
index 89865df0ed55..000000000000
--- a/dev-python/pushbullet-py/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pushbullet.py-0.12.0.tar.gz 23769 BLAKE2B 096c5995bee7dba65b7f385c2cbd70d839b22a07b26dd1ad9c1ef64244ba97e3c2f077c9eb0ca46a2ccd7df6a27e3ee3d4d55522986e832ca109d003e77fbad6 SHA512 5394fb8e8631ba00c610c36380e2c917231207ecd25bb4e2f1f0e44c232f4dd33b99ce5b1973467844b7f46f275ea812620e6549afd42915ee8fc13e1650f758
diff --git a/dev-python/pushbullet-py/metadata.xml b/dev-python/pushbullet-py/metadata.xml
deleted file mode 100644
index 78a1ad74cd84..000000000000
--- a/dev-python/pushbullet-py/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>sbraz@gentoo.org</email>
- <name>Louis Sautier</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">pushbullet.py</remote-id>
- <remote-id type="github">richard-better/pushbullet.py</remote-id>
- <bugs-to>https://github.com/richard-better/pushbullet.py/issues</bugs-to>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pushbullet-py/pushbullet-py-0.12.0-r1.ebuild b/dev-python/pushbullet-py/pushbullet-py-0.12.0-r1.ebuild
deleted file mode 100644
index 20621dd4a6c7..000000000000
--- a/dev-python/pushbullet-py/pushbullet-py-0.12.0-r1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A simple python client for pushbullet.com"
-HOMEPAGE="
- https://github.com/richard-better/pushbullet.py/
- https://pypi.org/project/pushbullet.py/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="examples"
-
-RDEPEND="
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/python-magic[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/websocket-client[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- # Skip tests which require internet access
- PUSHBULLET_API_KEY= epytest -k "not (test_auth or test_decryption)"
-}
-
-python_install_all() {
- if use examples; then
- docompress -x "/usr/share/doc/${PF}/examples"
- docinto examples
- dodoc -r example/.
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/py-cpuinfo/py-cpuinfo-9.0.0.ebuild b/dev-python/py-cpuinfo/py-cpuinfo-9.0.0.ebuild
index 4d02414f675c..0bd26d4bfde9 100644
--- a/dev-python/py-cpuinfo/py-cpuinfo-9.0.0.ebuild
+++ b/dev-python/py-cpuinfo/py-cpuinfo-9.0.0.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -17,6 +17,6 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm64 ~ia64 ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm64 ~ia64 ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
distutils_enable_tests unittest
diff --git a/dev-python/py-ubjson/py-ubjson-0.16.1-r1.ebuild b/dev-python/py-ubjson/py-ubjson-0.16.1-r1.ebuild
index d04531f7b07d..6a95c2d82106 100644
--- a/dev-python/py-ubjson/py-ubjson-0.16.1-r1.ebuild
+++ b/dev-python/py-ubjson/py-ubjson-0.16.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -20,7 +20,7 @@ LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="amd64 arm arm64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
-distutils_enable_tests unittest
+distutils_enable_tests pytest
PATCHES=(
# https://github.com/Iotic-Labs/py-ubjson/pull/19
@@ -28,5 +28,12 @@ PATCHES=(
)
python_test() {
- eunittest -s test
+ local EPYTEST_DESELECT=(
+ # the usual problem with random packages increasing recursion limit
+ test/test.py::TestEncodeDecodePlainExt::test_recursion
+ test/test.py::TestEncodeDecodeFpExt::test_recursion
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest test/test.py
}
diff --git a/dev-python/py/py-1.11.0-r1.ebuild b/dev-python/py/py-1.11.0-r1.ebuild
index be0407a49884..27c2c38794e2 100644
--- a/dev-python/py/py-1.11.0-r1.ebuild
+++ b/dev-python/py/py-1.11.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -22,6 +22,7 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv
RESTRICT=test
BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]"
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
distutils_enable_tests pytest
diff --git a/dev-python/pyClamd/pyClamd-0.4.0-r4.ebuild b/dev-python/pyClamd/pyClamd-0.4.0-r4.ebuild
deleted file mode 100644
index 0dd45d40d5f8..000000000000
--- a/dev-python/pyClamd/pyClamd-0.4.0-r4.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9,10,11} )
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-
-inherit distutils-r1 pypi
-
-PATCHES=( "${FILESDIR}/${P}-remove-obsolete-bugtrack_url.diff" )
-
-DESCRIPTION="python interface to Clamd (Clamav daemon)"
-HOMEPAGE="https://xael.org/pages/pyclamd-en.html"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE=""
-
-DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-RDEPEND="${DEPEND}"
-
-# Tests need clamd running and we cannot rely on that being
-# true during build
-RESTRICT="test"
diff --git a/dev-python/pyClamd/pyClamd-0.4.0-r5.ebuild b/dev-python/pyClamd/pyClamd-0.4.0-r5.ebuild
new file mode 100644
index 000000000000..82d800b08c2e
--- /dev/null
+++ b/dev-python/pyClamd/pyClamd-0.4.0-r5.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9,10,11,12} )
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+
+inherit distutils-r1 pypi
+
+PATCHES=( "${FILESDIR}/${P}-remove-obsolete-bugtrack_url.diff" )
+
+DESCRIPTION="python interface to Clamd (Clamav daemon)"
+HOMEPAGE="https://xael.org/pages/pyclamd-en.html"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64"
+
+DEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
+RDEPEND="${DEPEND}"
+
+# Tests need clamd running and we cannot rely on that being
+# true during build
+RESTRICT="test"
diff --git a/dev-python/pyDes/pyDes-2.0.1-r1.ebuild b/dev-python/pyDes/pyDes-2.0.1-r1.ebuild
new file mode 100644
index 000000000000..82c2ac1c359f
--- /dev/null
+++ b/dev-python/pyDes/pyDes-2.0.1-r1.ebuild
@@ -0,0 +1,17 @@
+# 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_{9..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python implementation of DES and TRIPLE DES"
+HOMEPAGE="https://twhiteman.netfirms.com/des.html"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
diff --git a/dev-python/pyDes/pyDes-2.0.1.ebuild b/dev-python/pyDes/pyDes-2.0.1.ebuild
deleted file mode 100644
index c0711df34d23..000000000000
--- a/dev-python/pyDes/pyDes-2.0.1.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python implementation of DES and TRIPLE DES"
-HOMEPAGE="https://twhiteman.netfirms.com/des.html"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
diff --git a/dev-python/pyacoustid/pyacoustid-1.3.0.ebuild b/dev-python/pyacoustid/pyacoustid-1.3.0.ebuild
index 331d7b4c5248..aad519dc1f39 100644
--- a/dev-python/pyacoustid/pyacoustid-1.3.0.ebuild
+++ b/dev-python/pyacoustid/pyacoustid-1.3.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( python3_{10..12} )
inherit distutils-r1 pypi
diff --git a/dev-python/pyaes/pyaes-1.6.1-r3.ebuild b/dev-python/pyaes/pyaes-1.6.1-r3.ebuild
index 2780469c86f7..5115bd66d23b 100644
--- a/dev-python/pyaes/pyaes-1.6.1-r3.ebuild
+++ b/dev-python/pyaes/pyaes-1.6.1-r3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/pyalsa/Manifest b/dev-python/pyalsa/Manifest
index 132834427a65..701e7513e94f 100644
--- a/dev-python/pyalsa/Manifest
+++ b/dev-python/pyalsa/Manifest
@@ -1 +1 @@
-DIST pyalsa-1.2.7.tar.bz2 40132 BLAKE2B c100d16bd8c0d9fc6eddcda360f3582c55ed1b143a58a49caf76a62494882952d311271941ce0ecdf57ac934f3564dc922c80e8a5f5742b593341ff4215b700c SHA512 126501fe7b9c006f28e9290bdd3ad907ea9e053b71e21e2c6f0b0beeecdba07b4b557014041b03452f96be690f59f2e647e075487ee87054f21f66df7f39b34b
+DIST pyalsa-1.2.12.tar.bz2 40133 BLAKE2B 50e4cff2d4fccdf8fd62cb379c08f55f8229b20cb51ac8c89c6ba84214663992748fc9c3555b4242457348dfc877280754f1574eaffb8c9cbc4e82d376d6660c SHA512 9073cb9a1fc6ad04bafa368435e45dd6c8506e14f0e594f02f7d2b7e06c72b8af9babf08cfead57a940a9ebde4548edf608196fea56089fe8d1300a04f573151
diff --git a/dev-python/pyalsa/files/pyalsa-1.1.6-no-build-symlinks.patch b/dev-python/pyalsa/files/pyalsa-1.1.6-no-build-symlinks.patch
deleted file mode 100644
index 7f8cf6815d03..000000000000
--- a/dev-python/pyalsa/files/pyalsa-1.1.6-no-build-symlinks.patch
+++ /dev/null
@@ -1,27 +0,0 @@
---- pyalsa-1.1.6/setup.py
-+++ pyalsa-1.1.6/setup.py
-@@ -70,24 +70,3 @@
- 'alsamixer',
- 'alsaseq'
- ]
--
--uname = os.uname()
--dir = 'build/lib.%s-%s-%s/pyalsa' % (uname[0].lower(), uname[4], sys.version[:3])
--files = os.path.exists(dir) and os.listdir(dir) or []
--for f in SOFILES:
-- path = ''
-- for f2 in files:
-- if f2.startswith(f + '.') and f2.endswith('.so'):
-- path = dir + '/' + f2
-- break
-- if not path or not os.path.exists(path):
-- continue
-- p = 'pyalsa/%s.so' % f
-- print("%s -> %s" % (p, path))
-- try:
-- st = os.lstat(p)
-- if stat.S_ISLNK(st.st_mode):
-- os.remove(p)
-- except:
-- pass
-- os.symlink('../' + path, 'pyalsa/%s.so' % f)
diff --git a/dev-python/pyalsa/metadata.xml b/dev-python/pyalsa/metadata.xml
index d1ee6707bb56..82a2a81ec713 100644
--- a/dev-python/pyalsa/metadata.xml
+++ b/dev-python/pyalsa/metadata.xml
@@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>alsa-bugs@gentoo.org</email>
- <name>Gentoo ALSA Project</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="github">alsa-project/alsa-python</remote-id>
<remote-id type="pypi">pyalsa</remote-id>
diff --git a/dev-python/pyalsa/pyalsa-1.2.12.ebuild b/dev-python/pyalsa/pyalsa-1.2.12.ebuild
new file mode 100644
index 000000000000..2e53d97a7d21
--- /dev/null
+++ b/dev-python/pyalsa/pyalsa-1.2.12.ebuild
@@ -0,0 +1,50 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for ALSA library"
+HOMEPAGE="https://alsa-project.org/wiki/Main_Page"
+SRC_URI="https://www.alsa-project.org/files/pub/pyalsa/${P}.tar.bz2"
+
+LICENSE="LGPL-2.1+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
+# Needs access to system's alsa configuration/devices
+RESTRICT="test"
+
+DEPEND="
+ media-libs/alsa-lib
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ cd "${T}" || die
+
+ shopt -s nullglob
+ local test
+ local failed
+ for test in "${S}"/test/*.py ; do
+ ${EPYTHON} "${test}" || {
+ eerror "${test} failed with ${EPYTHON}"
+ failed=1
+ break
+ }
+ done
+ shopt -u nullglob
+
+ if [[ ${failed} -eq 1 ]] ; then
+ die "${test} failed with ${EPYTHON}"
+ fi
+}
diff --git a/dev-python/pyalsa/pyalsa-1.2.7.ebuild b/dev-python/pyalsa/pyalsa-1.2.7.ebuild
deleted file mode 100644
index 3840bf92b6eb..000000000000
--- a/dev-python/pyalsa/pyalsa-1.2.7.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for ALSA library"
-HOMEPAGE="https://alsa-project.org/wiki/Main_Page"
-SRC_URI="https://www.alsa-project.org/files/pub/pyalsa/${P}.tar.bz2"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86"
-# Needs access to system's alsa configuration/devices
-RESTRICT="test"
-
-RDEPEND="media-libs/alsa-lib"
-DEPEND="${RDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]"
-
-PATCHES=( "${FILESDIR}/${PN}-1.1.6-no-build-symlinks.patch" )
-
-python_test() {
- cd "${T}" || die
-
- shopt -s nullglob
- local test
- local failed
- for test in "${S}"/test/*.py ; do
- ${EPYTHON} "${test}" || {
- eerror "${test} failed with ${EPYTHON}"
- failed=1
- break
- }
- done
- shopt -u nullglob
-
- if [[ ${failed} -eq 1 ]] ; then
- die "${test} failed with ${EPYTHON}"
- fi
-}
diff --git a/dev-python/pyamg/Manifest b/dev-python/pyamg/Manifest
index 1228f683422a..dcbaddd9d1f2 100644
--- a/dev-python/pyamg/Manifest
+++ b/dev-python/pyamg/Manifest
@@ -1 +1,4 @@
DIST pyamg-5.0.1.gh.tar.gz 4132815 BLAKE2B 578a8b1ff7eb627698ba1f0fc2483c614bf73b38b0f38ba11264a3754d5d6e24dd09b818e42d059e7efc18300bb7eb0f661c8ad9e874fcb4d316c5dcebce27df SHA512 d04291854840bbf349cb7b73a392bf3d043f8db88ed1070e8689d45803c8544470d09c2eb268d57ac994e59b99b3f42c8350f1e3612600069c2b93f65ceb659f
+DIST pyamg-5.1.0.gh.tar.gz 4133863 BLAKE2B eb1894f52ef40764f580c23381afbfc1a0ae066ef34ab393adc1ded8f5ed2d881db231f8cfcf94232a531300d920cd54f634382be390be1127648be06464ffb9 SHA512 d770289a9995dd6d7eb7be137e39adeed0968d25d6c5c8c664f14ca3980f09fdda407adb3f634172a9ce49e4d0e205a63dccc21214a027324372a2be1374f062
+DIST pyamg-5.2.0.gh.tar.gz 4133298 BLAKE2B 73f1a53eaedd9c80e23fb49e242342e877b46eacc023abd4949d3036591b3fed7c05aa71a98656227f571f6ecdf714675d6a97749a4a7a19e7f2f7c48f9fcd90 SHA512 9636090199a41145892f50462f8db8148543f48ee16f41a857b003d5bbcfe5cdab0b9f236dbbb8f4298b65316b05ea448b1493789afabdad6376d6dc75eaaf79
+DIST pyamg-5.2.1.gh.tar.gz 4133340 BLAKE2B 04bb2a5bbcd76eed651512634670ea76359fe779c17ea50c2272d7a9656a348c94b6748efaf24f189219bc467c85418e0d6252ac809f4feb269059ee732b2ea6 SHA512 469a5675bb65ff9eadfdbf344c35cb01bebe09c987b493aaeaf5aa98273ebd8071534e25edac82ffc26f39eb3877e1a69cd2a3894de70bcb5396b6cf723aa3b6
diff --git a/dev-python/pyamg/pyamg-5.1.0.ebuild b/dev-python/pyamg/pyamg-5.1.0.ebuild
new file mode 100644
index 000000000000..0daf543cacc1
--- /dev/null
+++ b/dev-python/pyamg/pyamg-5.1.0.ebuild
@@ -0,0 +1,50 @@
+# 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} )
+
+inherit distutils-r1
+
+DESCRIPTION="Algebraic multigrid solvers in Python"
+HOMEPAGE="
+ https://www.pyamg.org/
+ https://github.com/pyamg/pyamg/
+ https://pypi.org/project/pyamg/
+"
+SRC_URI="
+ https://github.com/pyamg/pyamg/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ dev-python/CppHeaderParser[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.8.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${DEPEND}
+ >=dev-python/setuptools-scm-7.0.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ cd "${T}" || die
+ epytest --pyargs pyamg
+}
diff --git a/dev-python/pyamg/pyamg-5.2.0.ebuild b/dev-python/pyamg/pyamg-5.2.0.ebuild
new file mode 100644
index 000000000000..8d22187046fd
--- /dev/null
+++ b/dev-python/pyamg/pyamg-5.2.0.ebuild
@@ -0,0 +1,50 @@
+# 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} )
+
+inherit distutils-r1
+
+DESCRIPTION="Algebraic multigrid solvers in Python"
+HOMEPAGE="
+ https://www.pyamg.org/
+ https://github.com/pyamg/pyamg/
+ https://pypi.org/project/pyamg/
+"
+SRC_URI="
+ https://github.com/pyamg/pyamg/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ dev-python/CppHeaderParser[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.11.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${DEPEND}
+ >=dev-python/setuptools-scm-7.0.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ cd "${T}" || die
+ epytest --pyargs pyamg
+}
diff --git a/dev-python/pyamg/pyamg-5.2.1.ebuild b/dev-python/pyamg/pyamg-5.2.1.ebuild
new file mode 100644
index 000000000000..8d22187046fd
--- /dev/null
+++ b/dev-python/pyamg/pyamg-5.2.1.ebuild
@@ -0,0 +1,50 @@
+# 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} )
+
+inherit distutils-r1
+
+DESCRIPTION="Algebraic multigrid solvers in Python"
+HOMEPAGE="
+ https://www.pyamg.org/
+ https://github.com/pyamg/pyamg/
+ https://pypi.org/project/pyamg/
+"
+SRC_URI="
+ https://github.com/pyamg/pyamg/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+DEPEND="
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ dev-python/CppHeaderParser[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.11.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${DEPEND}
+ >=dev-python/setuptools-scm-7.0.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ cd "${T}" || die
+ epytest --pyargs pyamg
+}
diff --git a/dev-python/pyaml/Manifest b/dev-python/pyaml/Manifest
index 40cd68946a37..3ebae752d3e5 100644
--- a/dev-python/pyaml/Manifest
+++ b/dev-python/pyaml/Manifest
@@ -1 +1,2 @@
-DIST pyaml-23.9.7.tar.gz 26080 BLAKE2B cb3d423c7d300147909ec7d070400206bbb1a05d226a6c6967665d950e33efe8992a8e47b6c8e7803533a88edac8192d9aa0b87d17397e2bfc45ba9bc1a97424 SHA512 f21f8c329e5233f6774701fc1e5673e62ab162fb5f8efba25120d4e157940709f47a2c90838b3af42e71b7dcfc69852393b204d0d85b6d5fba28a23f8a118be0
+DIST pyaml-24.4.0.tar.gz 27204 BLAKE2B f0f7c43ffdfd648945bfb20c589ab3e48000ac98a602192ba75fd1a611e12877bbc848f79b070864ac10f59b9c1796d89f35521314e827c5a7951995de86a657 SHA512 d2c1ae1f29f61d210cb822c2c1b3fa3ace81a4b863c7dfec5d75c5418537256828ee54ca545edc9ce30995ba272dfd064f7ed6009dae00910a081ffc0270546e
+DIST pyaml-24.7.0.tar.gz 27935 BLAKE2B 09ccdd3c0966d4f13480b174bcec800a49464ac0ccd7cc7ce6e4d2bcb8407283fd6ef94c2b661c7d6c912c203bc284efa15df072508869a2ec5f9978d5ede9ac SHA512 c5ce15f0264e8783ed6e03348ad74d25708129fbd377e2ec0fd0c6de72e763ff3cf79ba5d6cc4b641f0422ab87f8103538f2ba6abb16ea21e6820259f4a48b29
diff --git a/dev-python/pyaml/pyaml-23.9.7.ebuild b/dev-python/pyaml/pyaml-23.9.7.ebuild
deleted file mode 100644
index b0094ca0b3d1..000000000000
--- a/dev-python/pyaml/pyaml-23.9.7.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="PyYAML-based module to produce pretty and readable YAML-serialized data"
-HOMEPAGE="
- https://github.com/mk-fg/pretty-yaml/
- https://pypi.org/project/pyaml/
-"
-
-LICENSE="WTFPL-2"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/unidecode[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/pyaml/pyaml-24.4.0.ebuild b/dev-python/pyaml/pyaml-24.4.0.ebuild
new file mode 100644
index 000000000000..20bb9714982f
--- /dev/null
+++ b/dev-python/pyaml/pyaml-24.4.0.ebuild
@@ -0,0 +1,30 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PyYAML-based module to produce pretty and readable YAML-serialized data"
+HOMEPAGE="
+ https://github.com/mk-fg/pretty-yaml/
+ https://pypi.org/project/pyaml/
+"
+
+LICENSE="WTFPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/unidecode[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pyaml/pyaml-24.7.0.ebuild b/dev-python/pyaml/pyaml-24.7.0.ebuild
new file mode 100644
index 000000000000..f6434eb6f94d
--- /dev/null
+++ b/dev-python/pyaml/pyaml-24.7.0.ebuild
@@ -0,0 +1,30 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PyYAML-based module to produce pretty and readable YAML-serialized data"
+HOMEPAGE="
+ https://github.com/mk-fg/pretty-yaml/
+ https://pypi.org/project/pyaml/
+"
+
+LICENSE="WTFPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/unidecode[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pyannotate/Manifest b/dev-python/pyannotate/Manifest
deleted file mode 100644
index 3ca425937400..000000000000
--- a/dev-python/pyannotate/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pyannotate-1.2.0.gh.tar.gz 46148 BLAKE2B c52c93c0d27cb23b0b0683bbd5f353ba9a45714b8a50fb3a6f5aa4e67bfe71e60bc7afbee85a021ed25a7f5a1df720dc863fc6dd92d20dee0d97af72786866cf SHA512 cd755f3061f5c4320346f0198b71e4b312378a3810c5999f1d318b7427e7c55bd1bdfc4af84880bd45faf69eabccbd2684d1c18c1f9ad0661d35a377984ca063
diff --git a/dev-python/pyannotate/metadata.xml b/dev-python/pyannotate/metadata.xml
deleted file mode 100644
index 4c4e5ce97e96..000000000000
--- a/dev-python/pyannotate/metadata.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>sam@gentoo.org</email>
- <name>Sam James</name>
- </maintainer>
- <maintainer type="person">
- <email>ajak@gentoo.org</email>
- <name>John Helmert III</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">pyannotate</remote-id>
- <remote-id type="github">dropbox/pyannotate</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pyannotate/pyannotate-1.2.0-r1.ebuild b/dev-python/pyannotate/pyannotate-1.2.0-r1.ebuild
deleted file mode 100644
index f0b7a6962c1c..000000000000
--- a/dev-python/pyannotate/pyannotate-1.2.0-r1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Auto-generate PEP-484 annotations"
-HOMEPAGE="https://github.com/dropbox/pyannotate"
-SRC_URI="https://github.com/dropbox/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/mypy_extensions-0.3.0[${PYTHON_USEDEP}]
- >=dev-python/six-1.11.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyarrow/Manifest b/dev-python/pyarrow/Manifest
index 759e052fc16a..b4f800fff015 100644
--- a/dev-python/pyarrow/Manifest
+++ b/dev-python/pyarrow/Manifest
@@ -1 +1,2 @@
-DIST apache-arrow-14.0.1.tar.gz 20968461 BLAKE2B 01a4269f98ba2a4de1d6bc29f43a4e97132f8b7bdb3c3d022e0c0ba498527003e8bec0ea0b054f19ae54749f45fe39675f651f6c9e34e815df5a9b9926512431 SHA512 31d19f0ca80349f63db74bae813256b47907f85725a9bf01ef6f32406e79828ebb4701faedb52696b6a5b3bb89ad4e136485fd5eb35d396dd42147c11d4d2713
+DIST apache-arrow-16.1.0.tar.gz 21707079 BLAKE2B 5541c364351e59e8164f2461546bce3ddc834d70b3a03b815b681187674bdd89ccfb7eb113bf9010c821845b0c1fa51f5321bfea5b20927e6364f6452ec980d2 SHA512 28975f59e1fdde2dba4afaf4a5ba934b63db3a7f27656e2aa0af0f0d2a046c9dbfa9a6082de94629c36d03809b296566a37ea65ec5a2fc17fedac7d21e272d31
+DIST apache-arrow-17.0.0.tar.gz 21822331 BLAKE2B 64f9321cbf13fafae5938f26840d3ef642d6f5b40386315030bc70fe8703786ee394c8483d2bde7961cf2b5c15470ffebd7c66029e116b05cfbf5524e9fe51f1 SHA512 4e2a617b8deeb9f94ee085653a721904a75696f0827bcba82b535cc7f4f723066a09914c7fa83c593e51a8a4031e8bf99e563cac1ebb1d89604cb406975d4864
diff --git a/dev-python/pyarrow/files/pyarrow-16.1.0-numpy-2.patch b/dev-python/pyarrow/files/pyarrow-16.1.0-numpy-2.patch
new file mode 100644
index 000000000000..d43e15746408
--- /dev/null
+++ b/dev-python/pyarrow/files/pyarrow-16.1.0-numpy-2.patch
@@ -0,0 +1,65 @@
+diff --git a/pyarrow/tests/parquet/common.py b/pyarrow/tests/parquet/common.py
+index 8365ed5b28543..c3094ee20b34c 100644
+--- a/pyarrow/tests/parquet/common.py
++++ b/pyarrow/tests/parquet/common.py
+@@ -83,7 +83,7 @@ def _random_integers(size, dtype):
+ iinfo = np.iinfo(dtype)
+ return np.random.randint(max(iinfo.min, platform_int_info.min),
+ min(iinfo.max, platform_int_info.max),
+- size=size).astype(dtype)
++ size=size, dtype=dtype)
+
+
+ def _range_integers(size, dtype):
+diff --git a/pyarrow/tests/test_array.py b/pyarrow/tests/test_array.py
+index 88394c77e429d..1032ab9add3ca 100644
+--- a/pyarrow/tests/test_array.py
++++ b/pyarrow/tests/test_array.py
+@@ -3398,7 +3398,7 @@ def test_numpy_array_protocol():
+ result = np.asarray(arr)
+ np.testing.assert_array_equal(result, expected)
+
+- if Version(np.__version__) < Version("2.0"):
++ if Version(np.__version__) < Version("2.0.0.dev0"):
+ # copy keyword is not strict and not passed down to __array__
+ result = np.array(arr, copy=False)
+ np.testing.assert_array_equal(result, expected)
+diff --git a/pyarrow/tests/test_pandas.py b/pyarrow/tests/test_pandas.py
+index be2c5b14e68b0..ba9d6a3c01391 100644
+--- a/pyarrow/tests/test_pandas.py
++++ b/pyarrow/tests/test_pandas.py
+@@ -780,7 +780,7 @@ def test_integer_no_nulls(self):
+ info = np.iinfo(dtype)
+ values = np.random.randint(max(info.min, np.iinfo(np.int_).min),
+ min(info.max, np.iinfo(np.int_).max),
+- size=num_values)
++ size=num_values, dtype=dtype)
+ data[dtype] = values.astype(dtype)
+ fields.append(pa.field(dtype, arrow_dtype))
+
+diff --git a/pyarrow/tests/test_table.py b/pyarrow/tests/test_table.py
+index a58010d083e92..f40759de50c8c 100644
+--- a/pyarrow/tests/test_table.py
++++ b/pyarrow/tests/test_table.py
+@@ -3281,7 +3281,7 @@ def test_numpy_array_protocol(constructor):
+ table = constructor([[1, 2, 3], [4.0, 5.0, 6.0]], names=["a", "b"])
+ expected = np.array([[1, 4], [2, 5], [3, 6]], dtype="float64")
+
+- if Version(np.__version__) < Version("2.0"):
++ if Version(np.__version__) < Version("2.0.0.dev0"):
+ # copy keyword is not strict and not passed down to __array__
+ result = np.array(table, copy=False)
+ np.testing.assert_array_equal(result, expected)
+diff --git a/scripts/test_leak.py b/scripts/test_leak.py
+index f2bbe8d051bf9..86a87f5e742e8 100644
+--- a/scripts/test_leak.py
++++ b/scripts/test_leak.py
+@@ -98,7 +98,7 @@ def func():
+
+
+ def test_ARROW_8801():
+- x = pd.to_datetime(np.random.randint(0, 2**32, size=2**20),
++ x = pd.to_datetime(np.random.randint(0, 2**32, size=2**20, dtype=np.int64),
+ unit='ms', utc=True)
+ table = pa.table(pd.DataFrame({'x': x}))
+
diff --git a/dev-python/pyarrow/files/pyarrow-16.1.0-py313.patch b/dev-python/pyarrow/files/pyarrow-16.1.0-py313.patch
new file mode 100644
index 000000000000..f3e0053dd003
--- /dev/null
+++ b/dev-python/pyarrow/files/pyarrow-16.1.0-py313.patch
@@ -0,0 +1,60 @@
+diff --git a/python/pyarrow/src/arrow/python/udf.cc b/python/pyarrow/src/arrow/python/udf.cc
+index e9b72a2592738..b6a862af8ca07 100644
+--- a/pyarrow/src/arrow/python/udf.cc
++++ b/pyarrow/src/arrow/python/udf.cc
+@@ -28,6 +28,10 @@
+ #include "arrow/util/checked_cast.h"
+ #include "arrow/util/logging.h"
+
++// Py_IsFinalizing added in Python 3.13.0a4
++#if PY_VERSION_HEX < 0x030D00A4
++#define Py_IsFinalizing() _Py_IsFinalizing()
++#endif
+ namespace arrow {
+ using compute::ExecSpan;
+ using compute::Grouper;
+@@ -47,7 +51,7 @@ struct PythonUdfKernelState : public compute::KernelState {
+ // function needs to be destroyed at process exit
+ // and Python may no longer be initialized.
+ ~PythonUdfKernelState() {
+- if (_Py_IsFinalizing()) {
++ if (Py_IsFinalizing()) {
+ function->detach();
+ }
+ }
+@@ -64,7 +68,7 @@ struct PythonUdfKernelInit {
+ // function needs to be destroyed at process exit
+ // and Python may no longer be initialized.
+ ~PythonUdfKernelInit() {
+- if (_Py_IsFinalizing()) {
++ if (Py_IsFinalizing()) {
+ function->detach();
+ }
+ }
+@@ -132,7 +136,7 @@ struct PythonTableUdfKernelInit {
+ // function needs to be destroyed at process exit
+ // and Python may no longer be initialized.
+ ~PythonTableUdfKernelInit() {
+- if (_Py_IsFinalizing()) {
++ if (Py_IsFinalizing()) {
+ function_maker->detach();
+ }
+ }
+@@ -173,7 +177,7 @@ struct PythonUdfScalarAggregatorImpl : public ScalarUdfAggregator {
+ };
+
+ ~PythonUdfScalarAggregatorImpl() override {
+- if (_Py_IsFinalizing()) {
++ if (Py_IsFinalizing()) {
+ function->detach();
+ }
+ }
+@@ -270,7 +274,7 @@ struct PythonUdfHashAggregatorImpl : public HashUdfAggregator {
+ };
+
+ ~PythonUdfHashAggregatorImpl() override {
+- if (_Py_IsFinalizing()) {
++ if (Py_IsFinalizing()) {
+ function->detach();
+ }
+ }
diff --git a/dev-python/pyarrow/metadata.xml b/dev-python/pyarrow/metadata.xml
index 31b943af57cc..2c0892a26dea 100644
--- a/dev-python/pyarrow/metadata.xml
+++ b/dev-python/pyarrow/metadata.xml
@@ -5,6 +5,10 @@
<email>tupone@gentoo.org</email>
<name>Tupone Alfredo</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<use>
<flag name="parquet">Enables read/write parquet data format</flag>
</use>
diff --git a/dev-python/pyarrow/pyarrow-14.0.1.ebuild b/dev-python/pyarrow/pyarrow-14.0.1.ebuild
deleted file mode 100644
index 1c069c6e6b74..000000000000
--- a/dev-python/pyarrow/pyarrow-14.0.1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="Python library for Apache Arrow"
-HOMEPAGE="
- https://pypi.org/project/pyarrow/
- https://arrow.apache.org/
-"
-SRC_URI="mirror://apache/arrow/arrow-${PV}/apache-arrow-${PV}.tar.gz"
-S="${WORKDIR}/apache-arrow-${PV}/python"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="parquet snappy ssl"
-
-RDEPEND="
- ~dev-libs/apache-arrow-${PV}[compute,dataset,json,parquet?,re2,snappy?,ssl?]
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- <dev-python/pandas-2[${PYTHON_USEDEP}]
- dev-python/pytest-lazy-fixture[${PYTHON_USEDEP}]
- dev-libs/apache-arrow[lz4,zlib]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # wtf?
- tests/test_fs.py::test_localfs_errors
- # these require apache-arrow with jemalloc that doesn't seem
- # to be supported by the Gentoo package
- tests/test_memory.py::test_env_var
- tests/test_memory.py::test_specific_memory_pools
- tests/test_memory.py::test_supported_memory_backends
-)
-
-src_compile() {
- export PYARROW_PARALLEL="$(makeopts_jobs)"
- export PYARROW_BUILD_VERBOSE=1
- export PYARROW_CXXFLAGS="${CXXFLAGS}"
- export PYARROW_BUNDLE_ARROW_CPP_HEADERS=0
- export PYARROW_CMAKE_GENERATOR=Ninja
- export PYARROW_WITH_HDFS=1
- if use parquet; then
- export PYARROW_WITH_DATASET=1
- export PYARROW_WITH_PARQUET=1
- use ssl && export PYARROW_WITH_PARQUET_ENCRYPTION=1
- fi
- if use snappy; then
- export PYARROW_WITH_SNAPPY=1
- fi
-
- distutils-r1_src_compile
-}
-
-python_test() {
- cd "${T}" || die
- epytest --pyargs pyarrow
-}
diff --git a/dev-python/pyarrow/pyarrow-16.1.0.ebuild b/dev-python/pyarrow/pyarrow-16.1.0.ebuild
new file mode 100644
index 000000000000..0f95bb569a64
--- /dev/null
+++ b/dev-python/pyarrow/pyarrow-16.1.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="Python library for Apache Arrow"
+HOMEPAGE="
+ https://arrow.apache.org/
+ https://github.com/apache/arrow/
+ https://pypi.org/project/pyarrow/
+"
+SRC_URI="mirror://apache/arrow/arrow-${PV}/apache-arrow-${PV}.tar.gz"
+S="${WORKDIR}/apache-arrow-${PV}/python"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~loong ~riscv ~x86"
+IUSE="+parquet +snappy ssl"
+
+RDEPEND="
+ ~dev-libs/apache-arrow-${PV}[compute,dataset,json,parquet?,re2,snappy?,ssl?]
+ >=dev-python/numpy-1.16.6:=[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-libs/apache-arrow[lz4,zlib]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/apache/arrow/pull/42099
+ "${FILESDIR}/${P}-numpy-2.patch"
+ # https://github.com/apache/arrow/pull/42034
+ "${FILESDIR}/${P}-py313.patch"
+ )
+
+ # cython's -Werror
+ sed -i -e '/--warning-errors/d' CMakeLists.txt || die
+ distutils-r1_src_prepare
+}
+
+src_compile() {
+ export PYARROW_PARALLEL="$(makeopts_jobs)"
+ export PYARROW_BUILD_VERBOSE=1
+ export PYARROW_CXXFLAGS="${CXXFLAGS}"
+ export PYARROW_BUNDLE_ARROW_CPP_HEADERS=0
+ export PYARROW_CMAKE_GENERATOR=Ninja
+ export PYARROW_WITH_HDFS=1
+ if use parquet; then
+ export PYARROW_WITH_DATASET=1
+ export PYARROW_WITH_PARQUET=1
+ use ssl && export PYARROW_WITH_PARQUET_ENCRYPTION=1
+ fi
+ if use snappy; then
+ export PYARROW_WITH_SNAPPY=1
+ fi
+
+ distutils-r1_src_compile
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # wtf?
+ tests/test_fs.py::test_localfs_errors
+ # these require apache-arrow with jemalloc that doesn't seem
+ # to be supported by the Gentoo package
+ tests/test_memory.py::test_env_var
+ tests/test_memory.py::test_specific_memory_pools
+ tests/test_memory.py::test_supported_memory_backends
+ # pandas changed, i guess
+ tests/test_pandas.py::test_array_protocol_pandas_extension_types
+ tests/test_table.py::test_table_factory_function_args_pandas
+ # hypothesis health check failures
+ # https://github.com/apache/arrow/issues/41318
+ tests/interchange/test_interchange_spec.py::test_dtypes
+ tests/test_convert_builtin.py::test_array_to_pylist_roundtrip
+ tests/test_feather.py::test_roundtrip
+ tests/test_pandas.py::test_array_to_pandas_roundtrip
+ tests/test_types.py::test_hashing
+ )
+
+ cd "${T}" || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest --pyargs pyarrow
+}
diff --git a/dev-python/pyarrow/pyarrow-17.0.0.ebuild b/dev-python/pyarrow/pyarrow-17.0.0.ebuild
new file mode 100644
index 000000000000..1c2d5fde59a7
--- /dev/null
+++ b/dev-python/pyarrow/pyarrow-17.0.0.ebuild
@@ -0,0 +1,102 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1 multiprocessing
+
+DESCRIPTION="Python library for Apache Arrow"
+HOMEPAGE="
+ https://arrow.apache.org/
+ https://github.com/apache/arrow/
+ https://pypi.org/project/pyarrow/
+"
+SRC_URI="mirror://apache/arrow/arrow-${PV}/apache-arrow-${PV}.tar.gz"
+S="${WORKDIR}/apache-arrow-${PV}/python"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~loong ~riscv ~x86"
+IUSE="+parquet +snappy ssl"
+
+RDEPEND="
+ ~dev-libs/apache-arrow-${PV}[compute,dataset,json,parquet?,re2,snappy?,ssl?]
+ >=dev-python/numpy-1.16.6:=[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/cffi[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ dev-libs/apache-arrow[lz4,zlib]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # cython's -Werror
+ sed -i -e '/--warning-errors/d' CMakeLists.txt || die
+}
+
+src_compile() {
+ export PYARROW_PARALLEL="$(makeopts_jobs)"
+ export PYARROW_BUILD_VERBOSE=1
+ export PYARROW_CXXFLAGS="${CXXFLAGS}"
+ export PYARROW_BUNDLE_ARROW_CPP_HEADERS=0
+ export PYARROW_CMAKE_GENERATOR=Ninja
+ export PYARROW_WITH_HDFS=1
+ if use parquet; then
+ export PYARROW_WITH_DATASET=1
+ export PYARROW_WITH_PARQUET=1
+ use ssl && export PYARROW_WITH_PARQUET_ENCRYPTION=1
+ fi
+ if use snappy; then
+ export PYARROW_WITH_SNAPPY=1
+ fi
+
+ distutils-r1_src_compile
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # wtf?
+ tests/test_fs.py::test_localfs_errors
+ # these require apache-arrow with jemalloc that doesn't seem
+ # to be supported by the Gentoo package
+ tests/test_memory.py::test_env_var
+ tests/test_memory.py::test_specific_memory_pools
+ tests/test_memory.py::test_supported_memory_backends
+ # hypothesis health check failures
+ # https://github.com/apache/arrow/issues/41318
+ tests/interchange/test_interchange_spec.py::test_dtypes
+ tests/test_convert_builtin.py::test_array_to_pylist_roundtrip
+ tests/test_feather.py::test_roundtrip
+ tests/test_pandas.py::test_array_to_pandas_roundtrip
+ tests/test_strategies.py::test_types
+ tests/test_types.py::test_hashing
+ # fragile memory tests
+ tests/test_csv.py::TestSerialStreamingCSVRead::test_batch_lifetime
+ tests/test_csv.py::TestThreadedStreamingCSVRead::test_batch_lifetime
+ # takes forever, and manages to generate timedeltas over 64 bits
+ tests/test_strategies.py
+ )
+
+ cd "${T}" || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest --pyargs pyarrow
+}
+
+python_install() {
+ distutils-r1_python_install
+ # https://github.com/apache/arrow/issues/43299
+ rm -r "${D}$(python_get_sitedir)"/{benchmarks,cmake_modules,examples,scripts} || die
+}
diff --git a/dev-python/pyasn1-modules/Manifest b/dev-python/pyasn1-modules/Manifest
index 8c1f986ed2e2..7dca03942c77 100644
--- a/dev-python/pyasn1-modules/Manifest
+++ b/dev-python/pyasn1-modules/Manifest
@@ -1 +1 @@
-DIST pyasn1_modules-0.3.0.tar.gz 307901 BLAKE2B bfcfd1442b3e9cd542d4f47160b54308ff5ab0373394f55007a1a3963342b8217bd89b5b71dba9e4a69071e805610c3060a28df40249c9b8a1898f941d40e35a SHA512 fedcf95e0452e133fc0735a1be29fb5e7df563243203463c66b85d9af6194a550c78a96fec2d915be1aa6b98428f51b6ed4feb7ed3838c515d044fbafeb2cb46
+DIST pyasn1_modules-0.4.0.tar.gz 307859 BLAKE2B 7808c3ad72cda2292fa358a066cb401884a785281c5ba3c28ec5cbf1a7c7408031ff1018f4e0c4e53ac227a6b7082bb5572216ab12074c90f0a3159330ec3f35 SHA512 d28cbb44788b3a33b9da807d273a6afab38ff420e8ce1264a9ebc68beb003f9ac9673210a5eb829d17ed1ae01798f856a0409dcbcd1a17b489c767d4b11467d3
diff --git a/dev-python/pyasn1-modules/pyasn1-modules-0.3.0.ebuild b/dev-python/pyasn1-modules/pyasn1-modules-0.3.0.ebuild
deleted file mode 100644
index 65ebcde44cd8..000000000000
--- a/dev-python/pyasn1-modules/pyasn1-modules-0.3.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="pyasn1 modules"
-HOMEPAGE="
- https://pypi.org/project/pyasn1-modules/
- https://github.com/etingof/pyasn1-modules/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-RDEPEND="
- <dev-python/pyasn1-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/pyasn1-0.4.6[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
-
-python_install_all() {
- distutils-r1_python_install_all
- insinto /usr/share/${P}
- doins -r tools
-}
diff --git a/dev-python/pyasn1-modules/pyasn1-modules-0.4.0.ebuild b/dev-python/pyasn1-modules/pyasn1-modules-0.4.0.ebuild
new file mode 100644
index 000000000000..d3538c0b729a
--- /dev/null
+++ b/dev-python/pyasn1-modules/pyasn1-modules-0.4.0.ebuild
@@ -0,0 +1,32 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pyasn1 modules"
+HOMEPAGE="
+ https://pypi.org/project/pyasn1-modules/
+ https://github.com/etingof/pyasn1-modules/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+RDEPEND="
+ <dev-python/pyasn1-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/pyasn1-0.4.6[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_install_all() {
+ distutils-r1_python_install_all
+ insinto /usr/share/${P}
+ doins -r tools
+}
diff --git a/dev-python/pyasn1/Manifest b/dev-python/pyasn1/Manifest
index 1c1c94004c59..ce8a6097420f 100644
--- a/dev-python/pyasn1/Manifest
+++ b/dev-python/pyasn1/Manifest
@@ -1,2 +1 @@
-DIST pyasn1-0.5.0.tar.gz 145117 BLAKE2B dbbec0bebcfe11b8de983716fedf1bf28e6bcf7d5f89e3dcba929884347cc7cd3a8ef8b5ec44bbc799a7bae3de39c90cf5e48111384de571dc2034a79c3bb52b SHA512 763690184ce891555564d76902042791865815e59e1325100fca692140110e5e182ef3da84ffdf96b1876edeb2757bbb09c06d26e752a8110760dafbf9e3ca00
-DIST pyasn1-0.5.1.tar.gz 147134 BLAKE2B 3f209b845af307cf17d701ff6c6a1674978ed6a14b5132cfe1171d2560f0932c7f940364b247e5e2162b27bb807c44720a08af1b490d2ff665cea86fdfb66b6b SHA512 19478d810d000fb4435f6a1776f290b1618a693539ff8ffad8c41f9ac316938f1c0ae988db8571a838443407d312b5566887e20284a779ccf427888739f13833
+DIST pyasn1-0.6.0.tar.gz 148088 BLAKE2B 42ad0d3478c6860b035e27627b019b94b1f39cee8ac62c289349c4fd24e129e1a20f13b57b69c0e5e1376f59524f715e3c42ad2b8e0ed4774000418b74ea8506 SHA512 577bbb750a00e82e7a00806da6c564ab863341e0aa57b74e3132e1be814e0349e33ff05d48c04e58cd514ce97a971a5eafbaae75c978a3eb9268008c2270d15e
diff --git a/dev-python/pyasn1/pyasn1-0.5.0.ebuild b/dev-python/pyasn1/pyasn1-0.5.0.ebuild
deleted file mode 100644
index 4980cf43228d..000000000000
--- a/dev-python/pyasn1/pyasn1-0.5.0.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="ASN.1 library for Python"
-HOMEPAGE="
- https://pypi.org/project/pyasn1/
- https://github.com/etingof/pyasn1/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-distutils_enable_tests unittest
-distutils_enable_sphinx "docs/source"
diff --git a/dev-python/pyasn1/pyasn1-0.5.1.ebuild b/dev-python/pyasn1/pyasn1-0.5.1.ebuild
deleted file mode 100644
index 21d0e2d6abd9..000000000000
--- a/dev-python/pyasn1/pyasn1-0.5.1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="ASN.1 library for Python"
-HOMEPAGE="
- https://pypi.org/project/pyasn1/
- https://github.com/etingof/pyasn1/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-distutils_enable_tests unittest
-distutils_enable_sphinx "docs/source"
diff --git a/dev-python/pyasn1/pyasn1-0.6.0.ebuild b/dev-python/pyasn1/pyasn1-0.6.0.ebuild
new file mode 100644
index 000000000000..e72d6b06866e
--- /dev/null
+++ b/dev-python/pyasn1/pyasn1-0.6.0.ebuild
@@ -0,0 +1,22 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="ASN.1 library for Python"
+HOMEPAGE="
+ https://pypi.org/project/pyasn1/
+ https://github.com/etingof/pyasn1/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx "docs/source"
diff --git a/dev-python/pyasynchat/Manifest b/dev-python/pyasynchat/Manifest
new file mode 100644
index 000000000000..9385a9e4ba7e
--- /dev/null
+++ b/dev-python/pyasynchat/Manifest
@@ -0,0 +1 @@
+DIST pyasynchat-1.0.4.tar.gz 9747 BLAKE2B e38edd9e35ce31f9015b934a5d4edb96053ff239978359f13e5b74ac9b8160029556207f79a199d82085882e80d88fc8033f9085f986b48dfaa50de780576197 SHA512 d36eb16770637a311d56fe22229de5a3cdfa699ae64fbafcdd5ce9acd43270b90813fe56db14528083ee1803a43d958d0b3b6616e0bbf907a4dd4a563981a278
diff --git a/dev-python/pyasynchat/metadata.xml b/dev-python/pyasynchat/metadata.xml
new file mode 100644
index 000000000000..ea538f30a8bc
--- /dev/null
+++ b/dev-python/pyasynchat/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">pyasynchat</remote-id>
+ <remote-id type="github">simonrob/pyasynchat</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyasynchat/pyasynchat-1.0.4.ebuild b/dev-python/pyasynchat/pyasynchat-1.0.4.ebuild
new file mode 100644
index 000000000000..ba48e9e8acdc
--- /dev/null
+++ b/dev-python/pyasynchat/pyasynchat-1.0.4.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{12..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Make asynchat available for Python 3.12 onwards"
+HOMEPAGE="
+ https://github.com/simonrob/pyasynchat/
+ https://pypi.org/project/pyasynchat/
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
+
+RDEPEND="
+ >=dev-python/pyasyncore-1.0.2[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest tests
+}
diff --git a/dev-python/pyasyncore/Manifest b/dev-python/pyasyncore/Manifest
new file mode 100644
index 000000000000..8b5051785e12
--- /dev/null
+++ b/dev-python/pyasyncore/Manifest
@@ -0,0 +1 @@
+DIST pyasyncore-1.0.4.tar.gz 15339 BLAKE2B 1cc689c94dc7fe4f4c75a78cf58a0afabbe48f01b8c1511f9500b93b64b862dc1c7cc653e17a49786af9360441fcb45be03fa38c72c2e89ec05385fd8bfc648a SHA512 43746fca009f7acc5f05506c7d54e71ee74a76a112c3689aa98ab714f0452d1ed1196836bf52585bbbced2d64c1d4ccd86f8f5c2d2c5537fdc397e29d0d87008
diff --git a/dev-python/pyasyncore/metadata.xml b/dev-python/pyasyncore/metadata.xml
new file mode 100644
index 000000000000..062106caae26
--- /dev/null
+++ b/dev-python/pyasyncore/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">pyasyncore</remote-id>
+ <remote-id type="github">simonrob/pyasyncore</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyasyncore/pyasyncore-1.0.4.ebuild b/dev-python/pyasyncore/pyasyncore-1.0.4.ebuild
new file mode 100644
index 000000000000..0cb8d3d610b3
--- /dev/null
+++ b/dev-python/pyasyncore/pyasyncore-1.0.4.ebuild
@@ -0,0 +1,24 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{12..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Make asyncore available for Python 3.12 onwards"
+HOMEPAGE="
+ https://github.com/simonrob/pyasyncore
+ https://pypi.org/project/pyasyncore/
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
+
+python_test() {
+ # Can't use d_e_t unittest (bug #926964)
+ eunittest tests
+}
diff --git a/dev-python/pyatspi/Manifest b/dev-python/pyatspi/Manifest
index 29f234a82ccb..942e96a188d1 100644
--- a/dev-python/pyatspi/Manifest
+++ b/dev-python/pyatspi/Manifest
@@ -1 +1 @@
-DIST pyatspi-2.46.0.tar.xz 324112 BLAKE2B 653e80be2d17f3246bb6bb60c2135f158185374c995ca37d4f132c90d0bf02b79cfcbc4f64d555c557e9f7fd1cf0720de2c5d177b303e35a84d8e4490ae2e660 SHA512 4e9d177c930db3ccb5aa41280e33a58b6700d9c45f08b6a2f32fce0ecf5f1faa3f91c57281a5661bb9ccaafd0935e90b44f328a62988ae838b4a008916d2aa0f
+DIST pyatspi-2.46.1.tar.xz 323392 BLAKE2B ee55f57616d58ead8bbf14193a984e2d268b0dafd67bdb638086fe531d7d031b6060f2c757036f67ad18ba6c1f774c8ef13a4844c5fb96878604f59903b2653a SHA512 69c1c4c31bef430083a1c9af98ba6b2f1b3d9eec0a5f03982b980838bcf86933069a90d7314d2e5501d5988a453d0a803ad239eca5b98f08cc3bf7dc8d4a7c0c
diff --git a/dev-python/pyatspi/pyatspi-2.46.0.ebuild b/dev-python/pyatspi/pyatspi-2.46.0.ebuild
deleted file mode 100644
index 4bb7ab84530d..000000000000
--- a/dev-python/pyatspi/pyatspi-2.46.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit gnome2 python-r1
-
-DESCRIPTION="Python client bindings for D-Bus AT-SPI"
-HOMEPAGE="https://wiki.gnome.org/Accessibility"
-
-# Note: only some of the tests are GPL-licensed, everything else is LGPL
-LICENSE="LGPL-2 GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv sparc x86"
-
-IUSE="test"
-RESTRICT="!test? ( test )"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="
- ${PYTHON_DEPS}
- >=dev-libs/atk-2.11.2
- dev-python/dbus-python[${PYTHON_USEDEP}]
- >=dev-python/pygobject-2.90.1:3[${PYTHON_USEDEP}]
-"
-RDEPEND="${DEPEND}
- >=sys-apps/dbus-1
- >=app-accessibility/at-spi2-core-2.34[introspection]
-"
-BDEPEND="virtual/pkgconfig
- test? ( x11-libs/gtk+:3 )
-"
-
-src_prepare() {
- gnome2_src_prepare
- python_copy_sources
-}
-
-src_configure() {
- python_foreach_impl run_in_build_dir gnome2_src_configure $(use_enable test tests)
-}
-
-src_compile() {
- python_foreach_impl run_in_build_dir gnome2_src_compile
-}
-
-src_test() {
- python_foreach_impl run_in_build_dir dbus-run-session emake check
-}
-
-src_install() {
- installing() {
- gnome2_src_install
- python_optimize
- }
- python_foreach_impl run_in_build_dir installing
-
- docinto examples
- dodoc examples/*.py
-}
diff --git a/dev-python/pyatspi/pyatspi-2.46.1.ebuild b/dev-python/pyatspi/pyatspi-2.46.1.ebuild
new file mode 100644
index 000000000000..4e7fb163fffa
--- /dev/null
+++ b/dev-python/pyatspi/pyatspi-2.46.1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit gnome2 python-r1
+
+DESCRIPTION="Python client bindings for D-Bus AT-SPI"
+HOMEPAGE="https://wiki.gnome.org/Accessibility"
+
+# Note: only some of the tests are GPL-licensed, everything else is LGPL
+LICENSE="LGPL-2 GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv sparc x86"
+
+IUSE="test"
+RESTRICT="!test? ( test )"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ >=dev-libs/atk-2.11.2
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ >=dev-python/pygobject-2.90.1:3[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+ >=sys-apps/dbus-1
+ >=app-accessibility/at-spi2-core-2.34[introspection]
+"
+BDEPEND="
+ virtual/pkgconfig
+ test? ( x11-libs/gtk+:3 )
+"
+
+src_prepare() {
+ gnome2_src_prepare
+ python_copy_sources
+}
+
+src_configure() {
+ python_foreach_impl run_in_build_dir gnome2_src_configure $(use_enable test tests)
+}
+
+src_compile() {
+ python_foreach_impl run_in_build_dir gnome2_src_compile
+}
+
+src_test() {
+ python_foreach_impl run_in_build_dir dbus-run-session emake check
+}
+
+src_install() {
+ installing() {
+ gnome2_src_install
+ python_optimize
+ }
+ python_foreach_impl run_in_build_dir installing
+
+ docinto examples
+ dodoc examples/*.py
+}
diff --git a/dev-python/pyaudio/pyaudio-0.2.13-r1.ebuild b/dev-python/pyaudio/pyaudio-0.2.13-r1.ebuild
deleted file mode 100644
index 012803c8853a..000000000000
--- a/dev-python/pyaudio/pyaudio-0.2.13-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-PYPI_NO_NORMALIZE=1
-PYPI_PN="PyAudio"
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517="setuptools"
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings for PortAudio"
-HOMEPAGE="https://people.csail.mit.edu/hubert/pyaudio/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-# Tests work if you have the correct HW device(s) to test. 0.2.11-r1.
-RESTRICT="test"
-
-RDEPEND="media-libs/portaudio"
-DEPEND="${RDEPEND}"
-BDEPEND="test? ( dev-python/numpy[${PYTHON_USEDEP}] )"
-
-distutils_enable_sphinx sphinx
-distutils_enable_tests unittest
-
-python_test() {
- elog "These tests require an OS loopback sound device that forwards audio"
- elog "output, generated by PyAudio for playback, and forwards it to an input"
- elog "device, which PyAudio can record and verify against a test signal."
-
- cd tests || die
- # pyaudio_tests have very complicated runtime requirements, therefore skipping them.
- "${EPYTHON}" -m unittest error_tests -v || die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/pyaudio/pyaudio-0.2.13-r2.ebuild b/dev-python/pyaudio/pyaudio-0.2.13-r2.ebuild
new file mode 100644
index 000000000000..e8fdc9f50442
--- /dev/null
+++ b/dev-python/pyaudio/pyaudio-0.2.13-r2.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+PYPI_NO_NORMALIZE=1
+PYPI_PN="PyAudio"
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517="setuptools"
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for PortAudio"
+HOMEPAGE="https://people.csail.mit.edu/hubert/pyaudio/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+# Tests work if you have the correct HW device(s) to test. 0.2.11-r1.
+RESTRICT="test"
+
+RDEPEND="media-libs/portaudio"
+DEPEND="${RDEPEND}"
+BDEPEND="test? ( dev-python/numpy[${PYTHON_USEDEP}] )"
+
+distutils_enable_sphinx sphinx
+distutils_enable_tests unittest
+
+python_test() {
+ elog "These tests require an OS loopback sound device that forwards audio"
+ elog "output, generated by PyAudio for playback, and forwards it to an input"
+ elog "device, which PyAudio can record and verify against a test signal."
+
+ cd tests || die
+ # pyaudio_tests have very complicated runtime requirements, therefore skipping them.
+ "${EPYTHON}" -m unittest error_tests -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pybind11/Manifest b/dev-python/pybind11/Manifest
index a19b36b3cbd5..c6fbbb96ad7b 100644
--- a/dev-python/pybind11/Manifest
+++ b/dev-python/pybind11/Manifest
@@ -1 +1,3 @@
DIST pybind11-2.11.1.gh.tar.gz 756445 BLAKE2B 66ad933ffcd7fd475121f0b7488e13b914cb090d0ed511b96070e2849dcc537fb55e865b72fe06da6c5d1e3ed8e438799c5b0b60cbdc71e5713530174bff3be9 SHA512 ed1512ff0bca3bc0a45edc2eb8c77f8286ab9389f6ff1d5cb309be24bc608abbe0df6a7f5cb18c8f80a3bfa509058547c13551c3cd6a759af708fd0cdcdd9e95
+DIST pybind11-2.12.0.gh.tar.gz 771004 BLAKE2B df95d12cd005c85434ba8a4d80740f437f3f9433b0fbc9e6e1e5bf840281d5cb8295500b6510474a91b45201323b19079743ca927f7d1be2c1dc0dca89833e9c SHA512 c20247a4dccec310307174a26a79f9a98dd7ae7c84a48ad61c61589b02ef74caac26c2945de602cbe38b0bea65fc9985f1cc37f9e2322cae2f824dee98d602f1
+DIST pybind11-2.13.1.gh.tar.gz 789821 BLAKE2B b1634878a9a772d1200c79a5e7554a16a9ec76a57cbe4fc6fa86c70f9e383ebeb2b2ced7006392dbb1196144fb02f2415ff511e2b041a6fa3fe63b7c511c98f9 SHA512 97d7a2892af67adad16b6ff0fb3e6324c88d1dd931dfa0d34cf6d181baec05ed791f0980abf2174db22aabaa382fd5b5f00cb287cf6477a4786c999f29719717
diff --git a/dev-python/pybind11/files/pybind11-2.13.1-gcc14-fix.patch b/dev-python/pybind11/files/pybind11-2.13.1-gcc14-fix.patch
new file mode 100644
index 000000000000..878ede4a14f6
--- /dev/null
+++ b/dev-python/pybind11/files/pybind11-2.13.1-gcc14-fix.patch
@@ -0,0 +1,23 @@
+Patch source: https://github.com/pybind/pybind11/commit/51c2aa16de5b50fe4be6a0016d6090d4a831899e
+From 51c2aa16de5b50fe4be6a0016d6090d4a831899e Mon Sep 17 00:00:00 2001
+From: wenqing <wenqing.wang@ufz.de>
+Date: Fri, 28 Jun 2024 16:12:32 +0200
+Subject: [PATCH] Fixed a compilation error with gcc 14 (#5208)
+
+---
+ include/pybind11/typing.h | 2 ++
+ 1 file changed, 2 insertions(+)
+
+diff --git a/include/pybind11/typing.h b/include/pybind11/typing.h
+index c8ba18d499..b0feb9464a 100644
+--- a/include/pybind11/typing.h
++++ b/include/pybind11/typing.h
+@@ -14,6 +14,8 @@
+ #include "cast.h"
+ #include "pytypes.h"
+
++#include <algorithm>
++
+ PYBIND11_NAMESPACE_BEGIN(PYBIND11_NAMESPACE)
+ PYBIND11_NAMESPACE_BEGIN(typing)
+
diff --git a/dev-python/pybind11/pybind11-2.12.0.ebuild b/dev-python/pybind11/pybind11-2.12.0.ebuild
new file mode 100644
index 000000000000..e96df9b0545d
--- /dev/null
+++ b/dev-python/pybind11/pybind11-2.12.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit cmake distutils-r1
+
+DESCRIPTION="AST-based Python refactoring library"
+HOMEPAGE="
+ https://pybind11.readthedocs.io/en/stable/
+ https://github.com/pybind/pybind11/
+ https://pypi.org/project/pybind11/
+"
+SRC_URI="
+ https://github.com/pybind/pybind11/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-cpp/eigen:3
+"
+BDEPEND="
+ test? (
+ <dev-cpp/catch-3:0
+ >=dev-cpp/catch-2.13.9:0
+ dev-libs/boost
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ cmake_src_prepare
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ local mycmakeargs=(
+ # disable forced lto
+ -DHAS_FLTO=OFF
+ # https://github.com/pybind/pybind11/issues/5087
+ -DPYBIND11_FINDPYTHON=OFF
+ -DPYBIND11_INSTALL=ON
+ -DPYBIND11_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ # Compilation only does anything for tests
+ use test && cmake_src_compile
+}
+
+python_test() {
+ cmake_build cpptest test_cmake_build
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ cd "${BUILD_DIR}/tests" || die
+ epytest "${S}/tests"
+}
+
+python_install() {
+ distutils-r1_python_install
+ cmake_src_install
+}
diff --git a/dev-python/pybind11/pybind11-2.13.1-r1.ebuild b/dev-python/pybind11/pybind11-2.13.1-r1.ebuild
new file mode 100644
index 000000000000..75b8a7930304
--- /dev/null
+++ b/dev-python/pybind11/pybind11-2.13.1-r1.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=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit cmake distutils-r1
+
+DESCRIPTION="AST-based Python refactoring library"
+HOMEPAGE="
+ https://pybind11.readthedocs.io/en/stable/
+ https://github.com/pybind/pybind11/
+ https://pypi.org/project/pybind11/
+"
+SRC_URI="
+ https://github.com/pybind/pybind11/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-cpp/eigen:3
+"
+BDEPEND="
+ test? (
+ <dev-cpp/catch-3:0
+ >=dev-cpp/catch-2.13.9:0
+ dev-libs/boost
+ )
+"
+
+PATCHES=( "${FILESDIR}/${P}-gcc14-fix.patch" )
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ cmake_src_prepare
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ local mycmakeargs=(
+ # disable forced lto
+ -DHAS_FLTO=OFF
+ # https://github.com/pybind/pybind11/issues/5087
+ -DPYBIND11_FINDPYTHON=OFF
+ -DPYBIND11_INSTALL=ON
+ -DPYBIND11_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ # Compilation only does anything for tests
+ use test && cmake_src_compile
+}
+
+python_test() {
+ cmake_build cpptest test_cmake_build
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ cd "${BUILD_DIR}/tests" || die
+ epytest "${S}/tests"
+}
+
+python_install() {
+ distutils-r1_python_install
+ cmake_src_install
+}
diff --git a/dev-python/pybind11/pybind11-2.13.1.ebuild b/dev-python/pybind11/pybind11-2.13.1.ebuild
new file mode 100644
index 000000000000..c18727f31be1
--- /dev/null
+++ b/dev-python/pybind11/pybind11-2.13.1.ebuild
@@ -0,0 +1,74 @@
+# 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..13} pypy3 )
+
+inherit cmake distutils-r1
+
+DESCRIPTION="AST-based Python refactoring library"
+HOMEPAGE="
+ https://pybind11.readthedocs.io/en/stable/
+ https://github.com/pybind/pybind11/
+ https://pypi.org/project/pybind11/
+"
+SRC_URI="
+ https://github.com/pybind/pybind11/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-cpp/eigen:3
+"
+BDEPEND="
+ test? (
+ <dev-cpp/catch-3:0
+ >=dev-cpp/catch-2.13.9:0
+ dev-libs/boost
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ cmake_src_prepare
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ local mycmakeargs=(
+ # disable forced lto
+ -DHAS_FLTO=OFF
+ # https://github.com/pybind/pybind11/issues/5087
+ -DPYBIND11_FINDPYTHON=OFF
+ -DPYBIND11_INSTALL=ON
+ -DPYBIND11_TEST=$(usex test)
+ )
+ cmake_src_configure
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ # Compilation only does anything for tests
+ use test && cmake_src_compile
+}
+
+python_test() {
+ cmake_build cpptest test_cmake_build
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ cd "${BUILD_DIR}/tests" || die
+ epytest "${S}/tests"
+}
+
+python_install() {
+ distutils-r1_python_install
+ cmake_src_install
+}
diff --git a/dev-python/pybtex-docutils/Manifest b/dev-python/pybtex-docutils/Manifest
index f6db167ed1a3..3f55fc730c21 100644
--- a/dev-python/pybtex-docutils/Manifest
+++ b/dev-python/pybtex-docutils/Manifest
@@ -1,2 +1 @@
-DIST pybtex-docutils-1.0.2.tar.gz 18450 BLAKE2B 84521d36994e3ca5bfdcebd308e6aaeb17f7202d024799612d34dbf58b1b1e58d42b898a4c792815a472b0a7008e28558fd722f39462cd3b1ee24b921f746a4d SHA512 1190fcbdfb89b858a1164dd2c99a5da7afb76a23f5b314963babd894e7578d75e80f2552319c6621e9c7738018fd1b8f4a3772057ed65466f2d9fc3e15c57e2b
DIST pybtex-docutils-1.0.3.tar.gz 18348 BLAKE2B 49a614d0e718a968ce1a8fb0e0cb105f86a97b51e29be34b3a542c4de1135ef4abf3406f4d5b5063ea21ab39fa94a89ad5ea8c1fff2354618fbdf0241cd52b65 SHA512 36c0f06a89333ed4153c70399a1eb2a220fb453da7af16fac7a28234dc576d5cb4f1809747c7070f711d611f0e967784aff77ffed63431517fd846aeb0e500df
diff --git a/dev-python/pybtex-docutils/pybtex-docutils-1.0.2.ebuild b/dev-python/pybtex-docutils/pybtex-docutils-1.0.2.ebuild
deleted file mode 100644
index 4766f006b40d..000000000000
--- a/dev-python/pybtex-docutils/pybtex-docutils-1.0.2.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-inherit distutils-r1 pypi
-
-DESCRIPTION="A docutils backend for pybtex"
-HOMEPAGE="https://github.com/mcmtroffaes/pybtex-docutils"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/docutils-0.8[${PYTHON_USEDEP}]
- >=dev-python/pybtex-0.16[${PYTHON_USEDEP}]
-
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc
diff --git a/dev-python/pybtex-docutils/pybtex-docutils-1.0.3.ebuild b/dev-python/pybtex-docutils/pybtex-docutils-1.0.3.ebuild
index 6275009cb553..2a85114d737a 100644
--- a/dev-python/pybtex-docutils/pybtex-docutils-1.0.3.ebuild
+++ b/dev-python/pybtex-docutils/pybtex-docutils-1.0.3.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/pybtex/pybtex-0.24.0-r1.ebuild b/dev-python/pybtex/pybtex-0.24.0-r1.ebuild
index 4fc71ae705c3..a7a11183d687 100644
--- a/dev-python/pybtex/pybtex-0.24.0-r1.ebuild
+++ b/dev-python/pybtex/pybtex-0.24.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -26,4 +26,6 @@ RDEPEND="
distutils_enable_tests pytest
-PATCHES=( "${FILESDIR}/${PN}-0.22.2-fix-test-installation.patch" )
+PATCHES=(
+ "${FILESDIR}/${PN}-0.22.2-fix-test-installation.patch"
+)
diff --git a/dev-python/pycairo/Manifest b/dev-python/pycairo/Manifest
index 7ef49d2916a7..3618823a63a2 100644
--- a/dev-python/pycairo/Manifest
+++ b/dev-python/pycairo/Manifest
@@ -1 +1,2 @@
-DIST pycairo-1.25.1.tar.gz 347088 BLAKE2B ba4eedaf47e514bd7c3ad5ea738d099428958988a708255f59df48372d112d0195fe746be03de56aa25ccce9c2366b8898fcdd568b427372d0340c5edd550a5c SHA512 f2b93a09cbe9cd7c2885794ff58a48df6cf59fbe2dbeabf7c6e9d99e68c71ac220abc866ac0d756c7ffb3f821ef63b65dbb8963f0bf7d5bd21ee0efb800e7b23
+DIST pycairo-1.26.0.tar.gz 346850 BLAKE2B da6c35c929d372764280e8963a8b66ba533ccb99be9ee2bfa10859c635dd16cc087d542607be9ec6a9ffb942feb892100d4b9017d832d478b35c434aa05b9bb9 SHA512 5313f0d408a6e6ce6e70ac92291be5dd8651e01fbf9411d0467061afa21849cde27db273f2a13b4c3c931183f63f75f31fc0f0d3283b8f339ba88e71eab432f1
+DIST pycairo-1.26.1.tar.gz 346882 BLAKE2B 52e92b3b7e6ffda89a01b293f0bc6c5da5018ba77dce92d30b221fbf1f8c1b253f5ae279d64a517810b6efe4d7d282c21dbc15e5ef8e372204095c773b12de52 SHA512 4f63fc4fb2b6bf65d8a1cbbeaf4d982c5eb2271309763522ee6f763f691428b3e420434382e8a3e1d6b841821940f44f4bc6f51724eb4474494d60b7ff1c9031
diff --git a/dev-python/pycairo/files/pycairo-1.26.0-py313.patch b/dev-python/pycairo/files/pycairo-1.26.0-py313.patch
new file mode 100644
index 000000000000..c3c0d74cb415
--- /dev/null
+++ b/dev-python/pycairo/files/pycairo-1.26.0-py313.patch
@@ -0,0 +1,30 @@
+https://github.com/pygobject/pycairo/pull/366
+
+From 387e27fa36d29bc8f656656ca8b47e7b4996f4f4 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
+Date: Wed, 29 May 2024 21:25:41 +0200
+Subject: [PATCH] Avoid invalid PyBUF_READ flag in PyObject_GetBuffer()
+
+Since Python 3.13, the flag is no longer allowed.
+
+See https://github.com/python/cpython/pull/114707
+
+Fixes https://github.com/pygobject/pycairo/issues/365
+---
+ cairo/surface.c | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/cairo/surface.c b/cairo/surface.c
+index 048522c6..f00db8b5 100644
+--- a/cairo/surface.c
++++ b/cairo/surface.c
+@@ -484,7 +484,7 @@ surface_set_mime_data (PycairoSurface *o, PyObject *args) {
+ return NULL;
+ }
+
+- res = PyObject_GetBuffer (obj, view, PyBUF_READ);
++ res = PyObject_GetBuffer (obj, view, PyBUF_SIMPLE);
+ if (res == -1) {
+ PyMem_Free (view);
+ return NULL;
+
diff --git a/dev-python/pycairo/pycairo-1.25.1.ebuild b/dev-python/pycairo/pycairo-1.25.1.ebuild
deleted file mode 100644
index 36802a446420..000000000000
--- a/dev-python/pycairo/pycairo-1.25.1.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for the cairo library"
-HOMEPAGE="
- https://www.cairographics.org/pycairo/
- https://github.com/pygobject/pycairo/
- https://pypi.org/project/pycairo/
-"
-SRC_URI="
- https://github.com/pygobject/${PN}/releases/download/v${PV}/${P}.tar.gz
-"
-
-LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="examples"
-
-BDEPEND="
- virtual/pkgconfig
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-RDEPEND="
- >=x11-libs/cairo-1.15.10[svg(+)]
-"
-DEPEND="
- ${RDEPEND}
- x11-base/xorg-proto
-"
-
-distutils_enable_sphinx docs \
- dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-python_test() {
- esetup.py build_tests
- epytest
-}
-
-python_install() {
- distutils-r1_python_install
-
- # we need to pass --root via install command, sigh
- cat > "${T}/distutils-extra.cfg" <<-EOF || die
- [install]
- root = ${D}
- EOF
- local -x DIST_EXTRA_CONFIG=${T}/distutils-extra.cfg
- esetup.py \
- install_pkgconfig --pkgconfigdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
-}
-
-python_install_all() {
- if use examples; then
- dodoc -r examples
- fi
-
- distutils-r1_python_install_all
-
- insinto /usr/include/pycairo
- newins cairo/pycairo.h py3cairo.h
-}
diff --git a/dev-python/pycairo/pycairo-1.26.0-r1.ebuild b/dev-python/pycairo/pycairo-1.26.0-r1.ebuild
new file mode 100644
index 000000000000..269c6598a58e
--- /dev/null
+++ b/dev-python/pycairo/pycairo-1.26.0-r1.ebuild
@@ -0,0 +1,77 @@
+# 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..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the cairo library"
+HOMEPAGE="
+ https://www.cairographics.org/pycairo/
+ https://github.com/pygobject/pycairo/
+ https://pypi.org/project/pycairo/
+"
+SRC_URI="
+ https://github.com/pygobject/${PN}/releases/download/v${PV}/${P}.tar.gz
+"
+
+LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="examples"
+
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=x11-libs/cairo-1.15.10[svg(+)]
+"
+DEPEND="
+ ${RDEPEND}
+ x11-base/xorg-proto
+"
+
+PATCHES=(
+ "${FILESDIR}"/pycairo-1.26.0-py313.patch
+)
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+python_test() {
+ esetup.py build_tests
+ epytest
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # we need to pass --root via install command, sigh
+ cat > "${T}/distutils-extra.cfg" <<-EOF || die
+ [install]
+ root = ${D}
+ EOF
+ local -x DIST_EXTRA_CONFIG=${T}/distutils-extra.cfg
+ esetup.py \
+ install_pkgconfig --pkgconfigdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
+}
+
+python_install_all() {
+ if use examples; then
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+
+ insinto /usr/include/pycairo
+ doins cairo/py3cairo.h
+}
diff --git a/dev-python/pycairo/pycairo-1.26.0.ebuild b/dev-python/pycairo/pycairo-1.26.0.ebuild
new file mode 100644
index 000000000000..9e18b18a850f
--- /dev/null
+++ b/dev-python/pycairo/pycairo-1.26.0.ebuild
@@ -0,0 +1,73 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the cairo library"
+HOMEPAGE="
+ https://www.cairographics.org/pycairo/
+ https://github.com/pygobject/pycairo/
+ https://pypi.org/project/pycairo/
+"
+SRC_URI="
+ https://github.com/pygobject/${PN}/releases/download/v${PV}/${P}.tar.gz
+"
+
+LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="examples"
+
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=x11-libs/cairo-1.15.10[svg(+)]
+"
+DEPEND="
+ ${RDEPEND}
+ x11-base/xorg-proto
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+python_test() {
+ esetup.py build_tests
+ epytest
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # we need to pass --root via install command, sigh
+ cat > "${T}/distutils-extra.cfg" <<-EOF || die
+ [install]
+ root = ${D}
+ EOF
+ local -x DIST_EXTRA_CONFIG=${T}/distutils-extra.cfg
+ esetup.py \
+ install_pkgconfig --pkgconfigdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
+}
+
+python_install_all() {
+ if use examples; then
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+
+ insinto /usr/include/pycairo
+ doins cairo/py3cairo.h
+}
diff --git a/dev-python/pycairo/pycairo-1.26.1.ebuild b/dev-python/pycairo/pycairo-1.26.1.ebuild
new file mode 100644
index 000000000000..3ae205d3d588
--- /dev/null
+++ b/dev-python/pycairo/pycairo-1.26.1.ebuild
@@ -0,0 +1,73 @@
+# 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..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for the cairo library"
+HOMEPAGE="
+ https://www.cairographics.org/pycairo/
+ https://github.com/pygobject/pycairo/
+ https://pypi.org/project/pycairo/
+"
+SRC_URI="
+ https://github.com/pygobject/${PN}/releases/download/v${PV}/${P}.tar.gz
+"
+
+LICENSE="|| ( LGPL-2.1 MPL-1.1 )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="examples"
+
+BDEPEND="
+ virtual/pkgconfig
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+RDEPEND="
+ >=x11-libs/cairo-1.15.10[svg(+)]
+"
+DEPEND="
+ ${RDEPEND}
+ x11-base/xorg-proto
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+python_test() {
+ esetup.py build_tests
+ epytest
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # we need to pass --root via install command, sigh
+ cat > "${T}/distutils-extra.cfg" <<-EOF || die
+ [install]
+ root = ${D}
+ EOF
+ local -x DIST_EXTRA_CONFIG=${T}/distutils-extra.cfg
+ esetup.py \
+ install_pkgconfig --pkgconfigdir="${EPREFIX}/usr/$(get_libdir)/pkgconfig"
+}
+
+python_install_all() {
+ if use examples; then
+ dodoc -r examples
+ fi
+
+ distutils-r1_python_install_all
+
+ insinto /usr/include/pycairo
+ doins cairo/py3cairo.h
+}
diff --git a/dev-python/pycares/pycares-4.4.0.ebuild b/dev-python/pycares/pycares-4.4.0.ebuild
index 34e95772a76f..bc2bc85fc6f6 100644
--- a/dev-python/pycares/pycares-4.4.0.ebuild
+++ b/dev-python/pycares/pycares-4.4.0.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
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~riscv ~sparc ~x86"
IUSE="test"
# Tests fail with network-sandbox, since they try to resolve google.com
PROPERTIES="test_network"
@@ -48,6 +48,8 @@ EPYTEST_DESELECT=(
# regression due to Internet changing (probably)
# https://github.com/saghul/pycares/issues/187
tests/test_all.py::DNSTest::test_query_class_chaos
+ tests/test_all.py::DNSTest::test_idna_encoding_query_a
+ tests/test_all.py::DNSTest::test_query_txt_chunked
# TODO
tests/test_all.py::DNSTest::test_custom_resolvconf
)
diff --git a/dev-python/pycdio/pycdio-2.1.1-r1.ebuild b/dev-python/pycdio/pycdio-2.1.1-r1.ebuild
index 48f92c3847e4..4fd44fc961b7 100644
--- a/dev-python/pycdio/pycdio-2.1.1-r1.ebuild
+++ b/dev-python/pycdio/pycdio-2.1.1-r1.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
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/pychm/pychm-0.8.6-r1.ebuild b/dev-python/pychm/pychm-0.8.6-r1.ebuild
index f61fdac61dbc..02af8da56d48 100644
--- a/dev-python/pychm/pychm-0.8.6-r1.ebuild
+++ b/dev-python/pychm/pychm-0.8.6-r1.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
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pychromecast/Manifest b/dev-python/pychromecast/Manifest
index aac24252b9ed..b9b67db2e5e1 100644
--- a/dev-python/pychromecast/Manifest
+++ b/dev-python/pychromecast/Manifest
@@ -1 +1,3 @@
DIST PyChromecast-13.0.7.tar.gz 52074 BLAKE2B 4e67ce21bf91c52cd83b8a17d86cd321d937c1f55b567d4df7a5548ad02aacb4c269b9d29030a7e41f9f310d53313b6b287032c1d5f1448b415c3896b168b783 SHA512 dc63c901287ae31ce278c9978701ad335715f1daaab1b2683aa7b02ddb38e3e207f2527ae144f6836b65c4ddb4b1fdd62c40005bf776e0655e647ab40634857e
+DIST PyChromecast-13.1.0.tar.gz 53436 BLAKE2B f8d92f0db9da2898e87340de47bf85cfd71ba4a18ca30af95c261e42c0aff95fcf633637b489a15073c5ed946c4f61370473f07ac83bf37078f37bb90377702a SHA512 a4823b79bf9c54d4734e23cd0c064f9ab51be715297fe02632627812778b2d36600382e18f11e6f368046fb70dc6176a9293888bcbc233cd773443edf4c303c4
+DIST PyChromecast-14.0.1.tar.gz 60482 BLAKE2B a34dcba0b975bc8b3c0fb08f5a29a80c2324de3acbcc75dea74cecd5aa9be2fb17fb70f3c2f0131d355edfba5fd0f1d6bdf3d42eb8f368d0b2d3a9f2776f5698 SHA512 72119e27be49128d57a9354aaebd2a5711f3da0ad2e7ca07863107382061d9398c95c901ac33ea2a1c45687b2cbef32dfdba228be99e1acdef79ce133510fb4e
diff --git a/dev-python/pychromecast/pychromecast-13.1.0.ebuild b/dev-python/pychromecast/pychromecast-13.1.0.ebuild
new file mode 100644
index 000000000000..923d1d60979d
--- /dev/null
+++ b/dev-python/pychromecast/pychromecast-13.1.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=PyChromecast
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python module to talk to Google Chromecast"
+HOMEPAGE="
+ https://github.com/home-assistant-libs/pychromecast/
+ https://pypi.org/project/PyChromecast/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/casttube-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-python-3.19.1[${PYTHON_USEDEP}]
+ >=dev-python/zeroconf-0.25.1[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/pychromecast/pychromecast-14.0.1.ebuild b/dev-python/pychromecast/pychromecast-14.0.1.ebuild
new file mode 100644
index 000000000000..594ec1fad4db
--- /dev/null
+++ b/dev-python/pychromecast/pychromecast-14.0.1.ebuild
@@ -0,0 +1,27 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=PyChromecast
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python module to talk to Google Chromecast"
+HOMEPAGE="
+ https://github.com/home-assistant-libs/pychromecast/
+ https://pypi.org/project/PyChromecast/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 x86"
+
+RDEPEND="
+ >=dev-python/casttube-0.2.0[${PYTHON_USEDEP}]
+ >=dev-python/protobuf-python-3.19.1[${PYTHON_USEDEP}]
+ >=dev-python/zeroconf-0.25.1[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/pychroot/Manifest b/dev-python/pychroot/Manifest
deleted file mode 100644
index cf220a4297e1..000000000000
--- a/dev-python/pychroot/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pychroot-0.10.4.tar.gz 23745 BLAKE2B cce7be8c88b193b69838f14dfad62a5374936039bfe6478b8448b9a7f9e1ffcb373d5649ad1953beec6ca9ae138adc6871e129418a6fc64067b09eb6d4b4fa4c SHA512 fd93dba0a104eebe238f56e254fc445e1d34a2dbec6dcc307327fb92ebd7c85b1e729497ec818b756dee934f267cad755037ff004f78623d858617e39b473468
diff --git a/dev-python/pychroot/metadata.xml b/dev-python/pychroot/metadata.xml
deleted file mode 100644
index 6d7f5cfa3c4c..000000000000
--- a/dev-python/pychroot/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="github">pkgcore/pychroot</remote-id>
- <remote-id type="pypi">pychroot</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pychroot/pychroot-0.10.4.ebuild b/dev-python/pychroot/pychroot-0.10.4.ebuild
deleted file mode 100644
index 685cfe94a14a..000000000000
--- a/dev-python/pychroot/pychroot-0.10.4.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/pkgcore/pychroot.git"
- inherit git-r3
-else
- inherit pypi
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-fi
-
-DESCRIPTION="a python library and cli tool that simplify chroot handling"
-HOMEPAGE="https://github.com/pkgcore/pychroot"
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-if [[ ${PV} == *9999 ]]; then
- RDEPEND="~dev-python/snakeoil-9999[${PYTHON_USEDEP}]"
-else
- RDEPEND=">=dev-python/snakeoil-0.8.9[${PYTHON_USEDEP}]"
-fi
-
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? ( dev-python/pytest[${PYTHON_USEDEP}] )
-"
-
-python_test() {
- esetup.py test
-}
-
-python_install_all() {
- local DOCS=( NEWS.rst README.rst )
- [[ ${PV} == *9999 ]] || doman man/*
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pychroot/pychroot-9999.ebuild b/dev-python/pychroot/pychroot-9999.ebuild
deleted file mode 100644
index 685cfe94a14a..000000000000
--- a/dev-python/pychroot/pychroot-9999.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://github.com/pkgcore/pychroot.git"
- inherit git-r3
-else
- inherit pypi
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-fi
-
-DESCRIPTION="a python library and cli tool that simplify chroot handling"
-HOMEPAGE="https://github.com/pkgcore/pychroot"
-
-LICENSE="BSD"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-if [[ ${PV} == *9999 ]]; then
- RDEPEND="~dev-python/snakeoil-9999[${PYTHON_USEDEP}]"
-else
- RDEPEND=">=dev-python/snakeoil-0.8.9[${PYTHON_USEDEP}]"
-fi
-
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? ( dev-python/pytest[${PYTHON_USEDEP}] )
-"
-
-python_test() {
- esetup.py test
-}
-
-python_install_all() {
- local DOCS=( NEWS.rst README.rst )
- [[ ${PV} == *9999 ]] || doman man/*
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pyclipper/pyclipper-1.3.0_p5.ebuild b/dev-python/pyclipper/pyclipper-1.3.0_p5.ebuild
index b7246c30725a..176f373b7ef9 100644
--- a/dev-python/pyclipper/pyclipper-1.3.0_p5.ebuild
+++ b/dev-python/pyclipper/pyclipper-1.3.0_p5.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
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pycodestyle/Manifest b/dev-python/pycodestyle/Manifest
index 9f27fb940fb2..9bcc0da318ca 100644
--- a/dev-python/pycodestyle/Manifest
+++ b/dev-python/pycodestyle/Manifest
@@ -1 +1 @@
-DIST pycodestyle-2.11.1.gh.tar.gz 79865 BLAKE2B b4d9ab3d50aba87e7194abd6b3b317183932cd9e5331c95b57f498704643bce2f459ca9fa2016cc2544f31fb9cbe3390c083fd651ede10f131bc1d6f5e462f23 SHA512 8e1f302d7e26d56edd924202435caef32369ea13eb4a0fdfb48c06bb5d77fd7a5aef92d470eef3e6fdd9c3b298751a52a83317e9ddf8b2aa7e3fedc75fb5151a
+DIST pycodestyle-2.12.0.gh.tar.gz 80226 BLAKE2B be53b0909182259543bd388945e865cdb383005722afee58977559adb05ce108f764dfc0951a22db79a3abe84d6d5e90a24ee1524c1ad65fe887876c5002400a SHA512 903dd24113c1757826e31564ebac0ac97ad457b84d292f2f1e798df8e68a3847ff6fed0739430d29becc4a52ba4032d873b0212c13d007695df601637b69bdba
diff --git a/dev-python/pycodestyle/pycodestyle-2.11.1.ebuild b/dev-python/pycodestyle/pycodestyle-2.11.1.ebuild
deleted file mode 100644
index bf73b716c40f..000000000000
--- a/dev-python/pycodestyle/pycodestyle-2.11.1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python style guide checker (fka pep8)"
-HOMEPAGE="
- https://pycodestyle.pycqa.org/en/latest/
- https://github.com/PyCQA/pycodestyle/
- https://pypi.org/project/pycodestyle/
-"
-# 2.11.0 broke sdist
-# https://github.com/PyCQA/pycodestyle/issues/1183
-SRC_URI="
- https://github.com/PyCQA/pycodestyle/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-distutils_enable_sphinx docs \
- dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
diff --git a/dev-python/pycodestyle/pycodestyle-2.12.0.ebuild b/dev-python/pycodestyle/pycodestyle-2.12.0.ebuild
new file mode 100644
index 000000000000..3a2339f9a698
--- /dev/null
+++ b/dev-python/pycodestyle/pycodestyle-2.12.0.ebuild
@@ -0,0 +1,29 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python style guide checker (fka pep8)"
+HOMEPAGE="
+ https://pycodestyle.pycqa.org/en/latest/
+ https://github.com/PyCQA/pycodestyle/
+ https://pypi.org/project/pycodestyle/
+"
+# 2.11.0 broke sdist
+# https://github.com/PyCQA/pycodestyle/issues/1183
+SRC_URI="
+ https://github.com/PyCQA/pycodestyle/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
diff --git a/dev-python/pycollada/Manifest b/dev-python/pycollada/Manifest
index 6771f0d627b1..eaa16dee4e15 100644
--- a/dev-python/pycollada/Manifest
+++ b/dev-python/pycollada/Manifest
@@ -1 +1 @@
-DIST pycollada-0.7.2.gh.tar.gz 3526845 BLAKE2B 3d8b4d2478fa4937756db69afbd8716ccd2dd4e0bec8e7dc045e84f06573605c0872d31bdee3d6ccca4b800699746877530f2fa81b5790c3f5c0cb3e7583fa66 SHA512 5c21155d52d54de62d192d4da0385bc7110ddd3962fe3e0e9e5904bbcd0e66cb1a95765c9996cdc5beef0edb30ee2123ae23b904d029be1c119e902d2fc4e7fe
+DIST pycollada-0.8.gh.tar.gz 3586706 BLAKE2B 533a2a309b4c7ee60671edfd241b80e7128330b2cd85d2707fc4f83b0aceb2d792d8efec77f9a6a8600eec0704878a4342449fde68f77e42617eff30965973a5 SHA512 7171469b8434a7c24ec2ebadefa9ad5268382659cb5b2b3712cf0ba73c7948e7fa4061ecfa02001862c76e1139293ab68cf425472222348e28efa28bc75f844f
diff --git a/dev-python/pycollada/files/pycollada-0.8-numpy-2.patch b/dev-python/pycollada/files/pycollada-0.8-numpy-2.patch
new file mode 100644
index 000000000000..4ffb80a8b61e
--- /dev/null
+++ b/dev-python/pycollada/files/pycollada-0.8-numpy-2.patch
@@ -0,0 +1,76 @@
+From 2049c3625bef06ba5fad8169c042cbdb3641b4d1 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Fri, 24 May 2024 11:27:57 +0200
+Subject: [PATCH] Fix tests with NumPy 2.0
+
+Replace the deprecated `string_` and `unicode_` aliases with the modern
+`bytes_` and `str_` replacements to fix compatibility with NumPy 2.0.
+This change does not change anything for NumPy 1.x where both types
+are aliases to each other.
+---
+ collada/source.py | 4 ++--
+ collada/tests/test_source.py | 8 ++++----
+ 2 files changed, 6 insertions(+), 6 deletions(-)
+
+diff --git a/collada/source.py b/collada/source.py
+index e7c7a06..6a0e715 100644
+--- a/collada/source.py
++++ b/collada/source.py
+@@ -318,7 +318,7 @@ def load(collada, localscope, node):
+ values = [v for v in arraynode.text.split()]
+ except ValueError:
+ raise DaeMalformedError('Corrupted IDREF array')
+- data = numpy.array(values, dtype=numpy.unicode_)
++ data = numpy.array(values, dtype=numpy.str_)
+ paramnodes = node.findall('%s/%s/%s' % (collada.tag('technique_common'), collada.tag('accessor'), collada.tag('param')))
+ if not paramnodes:
+ raise DaeIncompleteError('No accessor info in source node')
+@@ -425,7 +425,7 @@ def load(collada, localscope, node):
+ values = [v for v in arraynode.text.split()]
+ except ValueError:
+ raise DaeMalformedError('Corrupted Name array')
+- data = numpy.array(values, dtype=numpy.unicode_)
++ data = numpy.array(values, dtype=numpy.str_)
+ paramnodes = node.findall('%s/%s/%s' % (tag('technique_common'), tag('accessor'), tag
+ ('param')))
+ if not paramnodes:
+diff --git a/collada/tests/test_source.py b/collada/tests/test_source.py
+index 9ec0529..81dda61 100644
+--- a/collada/tests/test_source.py
++++ b/collada/tests/test_source.py
+@@ -31,7 +31,7 @@ def test_float_source_saving(self):
+
+ def test_idref_source_saving(self):
+ idrefsource = collada.source.IDRefSource("myidrefsource",
+- numpy.array(['Ref1', 'Ref2'], dtype=numpy.string_),
++ numpy.array(['Ref1', 'Ref2'], dtype=numpy.bytes_),
+ ('MORPH_TARGET',))
+ self.assertEqual(idrefsource.id, "myidrefsource")
+ self.assertEqual(len(idrefsource), 2)
+@@ -39,7 +39,7 @@ def test_idref_source_saving(self):
+ self.assertIsNotNone(str(idrefsource))
+ idrefsource.id = "youridrefsource"
+ idrefsource.components = ('JOINT_TARGET', 'WHATEVER_TARGET')
+- idrefsource.data = numpy.array(['Ref5', 'Ref6', 'Ref7', 'Ref8', 'Ref9', 'Ref10'], dtype=numpy.string_)
++ idrefsource.data = numpy.array(['Ref5', 'Ref6', 'Ref7', 'Ref8', 'Ref9', 'Ref10'], dtype=numpy.bytes_)
+ idrefsource.save()
+ loaded_idrefsource = collada.source.Source.load(self.dummy, {}, fromstring(tostring(idrefsource.xmlnode)))
+ self.assertTrue(isinstance(loaded_idrefsource, collada.source.IDRefSource))
+@@ -49,7 +49,7 @@ def test_idref_source_saving(self):
+
+ def test_name_source_saving(self):
+ namesource = collada.source.NameSource("mynamesource",
+- numpy.array(['Name1', 'Name2'], dtype=numpy.string_),
++ numpy.array(['Name1', 'Name2'], dtype=numpy.bytes_),
+ ('JOINT',))
+ self.assertEqual(namesource.id, "mynamesource")
+ self.assertEqual(len(namesource), 2)
+@@ -57,7 +57,7 @@ def test_name_source_saving(self):
+ self.assertIsNotNone(str(namesource))
+ namesource.id = "yournamesource"
+ namesource.components = ('WEIGHT', 'WHATEVER')
+- namesource.data = numpy.array(['Name1', 'Name2', 'Name3', 'Name4', 'Name5', 'Name6'], dtype=numpy.string_)
++ namesource.data = numpy.array(['Name1', 'Name2', 'Name3', 'Name4', 'Name5', 'Name6'], dtype=numpy.bytes_)
+ namesource.save()
+ loaded_namesource = collada.source.Source.load(self.dummy, {}, fromstring(tostring(namesource.xmlnode)))
+ self.assertTrue(isinstance(loaded_namesource, collada.source.NameSource))
diff --git a/dev-python/pycollada/pycollada-0.7.2-r1.ebuild b/dev-python/pycollada/pycollada-0.7.2-r1.ebuild
deleted file mode 100644
index 00bd5d36083b..000000000000
--- a/dev-python/pycollada/pycollada-0.7.2-r1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python library for reading and writing COLLADA documents"
-HOMEPAGE="
- https://pycollada.readthedocs.io/
- https://github.com/pycollada/pycollada/
- https://pypi.org/project/pycollada/
-"
-SRC_URI="
- https://github.com/pycollada/pycollada/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-IUSE="examples"
-
-RDEPEND="
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.2[${PYTHON_USEDEP}]
-"
-
-DOCS=( AUTHORS.md COPYING README.markdown )
-
-distutils_enable_sphinx docs
-distutils_enable_tests unittest
-
-python_install_all() {
- if use examples ; then
- insinto /usr/share/${PF}/
- doins -r examples
- fi
-
- distutils-r1_python_install_all
-}
-
-python_install() {
- distutils-r1_python_install
-
- # ensure data files for tests are getting installed too
- python_moduleinto collada/tests/
- python_domodule collada/tests/data
-}
diff --git a/dev-python/pycollada/pycollada-0.8-r1.ebuild b/dev-python/pycollada/pycollada-0.8-r1.ebuild
new file mode 100644
index 000000000000..6468d680d9fc
--- /dev/null
+++ b/dev-python/pycollada/pycollada-0.8-r1.ebuild
@@ -0,0 +1,58 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for reading and writing COLLADA documents"
+HOMEPAGE="
+ https://pycollada.readthedocs.io/
+ https://github.com/pycollada/pycollada/
+ https://pypi.org/project/pycollada/
+"
+SRC_URI="
+ https://github.com/pycollada/pycollada/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.2[${PYTHON_USEDEP}]
+"
+
+DOCS=( AUTHORS.md COPYING README.markdown )
+
+PATCHES=(
+ # https://github.com/pycollada/pycollada/pull/147
+ "${FILESDIR}/${P}-numpy-2.patch"
+)
+
+distutils_enable_sphinx docs
+distutils_enable_tests unittest
+
+python_install_all() {
+ if use examples ; then
+ insinto /usr/share/${PF}/
+ doins -r examples
+ fi
+
+ distutils-r1_python_install_all
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # ensure data files for tests are getting installed too
+ python_moduleinto collada/tests/
+ python_domodule collada/tests/data
+}
diff --git a/dev-python/pycountry/Manifest b/dev-python/pycountry/Manifest
index 67cf2540522f..c317205bdfc1 100644
--- a/dev-python/pycountry/Manifest
+++ b/dev-python/pycountry/Manifest
@@ -1 +1 @@
-DIST pycountry-22.3.5.tar.gz 10141551 BLAKE2B d645eade8ce9be3b99f4f2b189cc50c3395ecb3899ab9fa668066993abbfa576191cfcc05b7bb2764d088a86df492770bcc0a8834f04e6fde58a01defe8a1b14 SHA512 07dc507ee94f1880727761df197f81704386d9246163c9a5872f47083d37c7d1205dfbd28c6663ef0731a0b05277ade03a1a1929ab84087e0e85c05028c68b89
+DIST pycountry-24.6.1.tar.gz 6043910 BLAKE2B 53e5f3bb89edb95a10cc7bef3d5cef463d957b9bd80da1aea57c274f76f9fc5f4848c9ceabcf97d369343a5bc39f6b8e7fb2e80344ff29ccd5856a4de9770b3b SHA512 36d8f68b830d74259a5f9ac1c9c97c1b228b0072613229e6f579ea5af587ab1cd25f0637a2cdd1dbf2ae8225e2aa2958d25f1e6df42d577da821d85c4c49ae93
diff --git a/dev-python/pycountry/files/pycountry-22.3.5-fix-tests-for-pypy3.patch b/dev-python/pycountry/files/pycountry-22.3.5-fix-tests-for-pypy3.patch
deleted file mode 100644
index 2de5d0bb7630..000000000000
--- a/dev-python/pycountry/files/pycountry-22.3.5-fix-tests-for-pypy3.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-commit 57a64b69704640bd85270d886c369ef5a31eee80
-Author: Louis Sautier <sautier.louis@gmail.com>
-Date: Thu Sep 17 13:01:07 2020 +0200
-
- Do not rely on CPython-specific __builtins__ for tests
-
- This makes test_locales pass with PyPy3.
-
-diff --git a/src/pycountry/tests/test_general.py b/src/pycountry/tests/test_general.py
-index ea697ae..ad1090f 100644
---- a/src/pycountry/tests/test_general.py
-+++ b/src/pycountry/tests/test_general.py
-@@ -149,7 +149,7 @@ def test_locales():
- german = gettext.translation(
- "iso3166", pycountry.LOCALES_DIR, languages=["de"])
- german.install()
-- assert __builtins__["_"]("Germany") == "Deutschland"
-+ assert _("Germany") == "Deutschland"
-
-
- def test_removed_countries():
diff --git a/dev-python/pycountry/metadata.xml b/dev-python/pycountry/metadata.xml
index 43395b152b25..dc3008f8fa6b 100644
--- a/dev-python/pycountry/metadata.xml
+++ b/dev-python/pycountry/metadata.xml
@@ -8,7 +8,7 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">pycountry</remote-id>
- <remote-id type="github">flyingcircusio/pycountry</remote-id>
- <bugs-to>https://github.com/flyingcircusio/pycountry/issues</bugs-to>
+ <remote-id type="github">pycountry/pycountry</remote-id>
+ <bugs-to>https://github.com/pycountry/pycountry/issues</bugs-to>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pycountry/pycountry-22.3.5.ebuild b/dev-python/pycountry/pycountry-22.3.5.ebuild
deleted file mode 100644
index ae3f1b8f29af..000000000000
--- a/dev-python/pycountry/pycountry-22.3.5.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Database of countries, subdivisions, languages, currencies and script"
-HOMEPAGE="
- https://github.com/flyingcircusio/pycountry/
- https://pypi.org/project/pycountry/
-"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc ~ppc64 ~riscv ~sparc x86"
-
-RDEPEND="dev-python/setuptools[${PYTHON_USEDEP}]"
-BDEPEND="${RDEPEND}"
-
-distutils_enable_tests pytest
-
-# https://github.com/flyingcircusio/pycountry/pull/51
-PATCHES=(
- "${FILESDIR}/pycountry-22.3.5-fix-tests-for-pypy3.patch"
-)
diff --git a/dev-python/pycountry/pycountry-24.6.1.ebuild b/dev-python/pycountry/pycountry-24.6.1.ebuild
new file mode 100644
index 000000000000..0a7638a91e9a
--- /dev/null
+++ b/dev-python/pycountry/pycountry-24.6.1.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Database of countries, subdivisions, languages, currencies and script"
+HOMEPAGE="
+ https://github.com/pycountry/pycountry/
+ https://pypi.org/project/pycountry/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ test? (
+ dev-python/importlib-metadata[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -o required_plugins=
+}
diff --git a/dev-python/pycparser/Manifest b/dev-python/pycparser/Manifest
index 9a45f69b12df..92399af68de9 100644
--- a/dev-python/pycparser/Manifest
+++ b/dev-python/pycparser/Manifest
@@ -1 +1 @@
-DIST pycparser-2.21.tar.gz 170877 BLAKE2B ae6bf42dfc552bf1e3bfb5430cdb0c15b5e011ec53cbd03e0e2507c08a1a78690cefce2de134bd984caccc5dbde90661cb4c18df5c289217967213aac4d52404 SHA512 e61fbdde484d1cf74d4b27bdde40cf2da4b7028ca8ecd37c83d77473dab707d457321aecaf97da3b114c1d58a4eb200290b76f9c958044b57e5fed949895b5f0
+DIST pycparser-2.22.tar.gz 172736 BLAKE2B a080df68cf114c355949b2911a80e89ed02a64b8d1d03e3c5807222249e5dfd2491f691962885dbadcdaf323b55a05c5597319ac082dcf6c67a9ac952be9a7e2 SHA512 c9a81c78d87162f71281a32a076b279f4f7f2e17253fe14c89c6db5f9b3554a6563ff700c385549a8b51ef8832f99f7bb4ac07f22754c7c475dd91feeb0cf87f
diff --git a/dev-python/pycparser/files/pycparser-2.21-lextab-cache.patch b/dev-python/pycparser/files/pycparser-2.21-lextab-cache.patch
deleted file mode 100644
index d24999e7273a..000000000000
--- a/dev-python/pycparser/files/pycparser-2.21-lextab-cache.patch
+++ /dev/null
@@ -1,66 +0,0 @@
-From 35a279ecb9af41a6f95ddbc6a0f1beaa2472d165 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sun, 26 Feb 2023 01:04:34 +0100
-Subject: [PATCH] _build_tables: Invalidate cache before importing generated
- modules (#494)
-
-Make sure to invalidate finder caches before trying to import generated
-modules. This is necessary according to the Python documentation:
-https://docs.python.org/3/library/importlib.html#importlib.invalidate_caches
-
-This fixes a hard-to-reproduce bug that Python would be unable to find
-just-generated `lextab.py` if mtime of the current directory did not
-change from the moment the script was started. This could
-e.g. be the case if one has second-precision timestamps and removes
-the generated file just before starting the build, e.g.:
-
- $ rm pycparser/lextab.py; python -m build -nw
-
-It could also be reproduced easier by doing something like:
-
- $ cd pycparser
- $ touch .; python -B _build_tables.py
- Traceback (most recent call last):
- File "/var/tmp/pycparser/pycparser/_build_tables.py", line 38, in <module>
- import lextab
- ModuleNotFoundError: No module named 'lextab'
-
-This is because the first command (`rm` or `touch`) updates the mtime
-of the directory to the current time. If the script is run fast enough,
-it manages to scan the directory and then write the new `lextab.py`
-within the same second. As a result, mtime of the directory after
-writing the new file is the same as when the script was started, finder
-does not invalidate the cache and assumes that `lextab.py` does not
-exist since it did not exist when the directory was scanned earlier.
-
-This potentially fixes #493.
-
-It was originally reported on https://bugs.gentoo.org/701878.
-Thanks to Gary E. Miller for patience in reproducing the problem
-and proxy-debugging it for me, as well as testing the final patch before
-submission.
----
- pycparser/_build_tables.py | 3 +++
- 1 file changed, 3 insertions(+)
-
-diff --git a/pycparser/_build_tables.py b/pycparser/_build_tables.py
-index 958381ad..4f371079 100644
---- a/pycparser/_build_tables.py
-+++ b/pycparser/_build_tables.py
-@@ -13,6 +13,7 @@
- # Insert '.' and '..' as first entries to the search path for modules.
- # Restricted environments like embeddable python do not include the
- # current working directory on startup.
-+import importlib
- import sys
- sys.path[0:0] = ['.', '..']
-
-@@ -32,6 +33,8 @@
-
- # Load to compile into .pyc
- #
-+importlib.invalidate_caches()
-+
- import lextab
- import yacctab
- import c_ast
diff --git a/dev-python/pycparser/pycparser-2.21-r2.ebuild b/dev-python/pycparser/pycparser-2.21-r2.ebuild
deleted file mode 100644
index 80938a15df34..000000000000
--- a/dev-python/pycparser/pycparser-2.21-r2.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
-EAPI=7
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="C parser and AST generator written in Python"
-HOMEPAGE="
- https://github.com/eliben/pycparser/
- https://pypi.org/project/pycparser/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- dev-python/ply:=[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
-"
-
-distutils_enable_tests unittest
-
-python_prepare_all() {
- local PATCHES=(
- # https://github.com/eliben/pycparser/pull/494
- "${FILESDIR}"/${P}-lextab-cache.patch
- )
-
- # remove the original files to guarantee their regen
- rm pycparser/{c_ast,lextab,yacctab}.py || die
-
- # kill sys.path manipulations to force the tests to use built files
- sed -i -e '/sys\.path/d' tests/*.py || die
-
- # Ensure we can find tests in our directory
- sed -i -e 's/from tests.test_util/from test_util/g' tests/test_*.py || die
-
- # unbundle ply
- rm -r pycparser/ply || die
- sed -i -e 's:\(from \)[.]\(ply\b\):\1\2:' pycparser/*.py || die
- sed -i -e "s:'pycparser.ply'::" setup.py || die
-
- ln -s "${S}"/examples tests/examples || die
-
- rm tests/test_examples.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- # Skip tests if cpp is not in PATH
- type -P cpp >/dev/null || return 0
- # change workdir to avoid '.' import
- cd tests || die
-
- # Ensure that 'cpp' is called with the right arguments
- # Tests don't seem to always pass the include they intend to use.
- mkdir -p "${T}"/bin || die
- cat > "${T}"/bin/cpp <<-EOF || die
- #!${BROOT}/bin/bash
- exec ${BROOT}/usr/bin/cpp -I${S}/utils/fake_libc_include/ \$@
- EOF
- chmod +x "${T}"/bin/cpp || die
-
- PATH="${T}/bin:${PATH}" eunittest
-}
diff --git a/dev-python/pycparser/pycparser-2.22.ebuild b/dev-python/pycparser/pycparser-2.22.ebuild
new file mode 100644
index 000000000000..15bb9a347eda
--- /dev/null
+++ b/dev-python/pycparser/pycparser-2.22.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="C parser and AST generator written in Python"
+HOMEPAGE="
+ https://github.com/eliben/pycparser/
+ https://pypi.org/project/pycparser/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ dev-python/ply:=[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+distutils_enable_tests unittest
+
+python_prepare_all() {
+ # remove the original files to guarantee their regen
+ rm pycparser/{c_ast,lextab,yacctab}.py || die
+
+ # kill sys.path manipulations to force the tests to use built files
+ sed -i -e '/sys\.path/d' tests/*.py || die
+
+ # Ensure we can find tests in our directory
+ sed -i -e 's/from tests.test_util/from test_util/g' tests/test_*.py || die
+
+ # unbundle ply
+ rm -r pycparser/ply || die
+ sed -i -e 's:\(from \)[.]\(ply\b\):\1\2:' pycparser/*.py || die
+ sed -i -e "s:'pycparser.ply'::" setup.py || die
+
+ ln -s "${S}"/examples tests/examples || die
+
+ rm tests/test_examples.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # Skip tests if cpp is not in PATH
+ type -P cpp >/dev/null || return 0
+ # change workdir to avoid '.' import
+ cd tests || die
+
+ # Ensure that 'cpp' is called with the right arguments
+ # Tests don't seem to always pass the include they intend to use.
+ mkdir -p "${T}"/bin || die
+ cat > "${T}"/bin/cpp <<-EOF || die
+ #!${BROOT}/bin/bash
+ exec ${BROOT}/usr/bin/cpp -I${S}/utils/fake_libc_include/ \$@
+ EOF
+ chmod +x "${T}"/bin/cpp || die
+
+ PATH="${T}/bin:${PATH}" eunittest
+}
diff --git a/dev-python/pycpio/Manifest b/dev-python/pycpio/Manifest
new file mode 100644
index 000000000000..81df698a05fd
--- /dev/null
+++ b/dev-python/pycpio/Manifest
@@ -0,0 +1 @@
+DIST pycpio-1.2.1.tar.gz 18512 BLAKE2B e835e3810d174d8f4cd5afc2984c0d84d55f9492725c16afdcd1b760dc8c58b4b83a1d13c0b266c8ec9407ab5c1114fe95468d742b202ba99e3c4a76a69dff15 SHA512 4611829339a45a848deb0c5c35098215ac7c378714e4fb1e10975e00b386e5e6bcd295fde83f361998f234f506276b906a4424a7d4aa925fe2bd92a0d7311d86
diff --git a/dev-python/pycpio/metadata.xml b/dev-python/pycpio/metadata.xml
new file mode 100644
index 000000000000..437ae2e18ded
--- /dev/null
+++ b/dev-python/pycpio/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>dev@pyl.onl</email>
+ <name>Zen</name>
+ </maintainer>
+ <maintainer type="person" proxied="proxy">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">desultory/PyCPIO</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pycpio/pycpio-1.2.1.ebuild b/dev-python/pycpio/pycpio-1.2.1.ebuild
new file mode 100644
index 000000000000..48966fa068b0
--- /dev/null
+++ b/dev-python/pycpio/pycpio-1.2.1.ebuild
@@ -0,0 +1,18 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+inherit distutils-r1
+
+DESCRIPTION="Python CPIO library"
+HOMEPAGE="https://github.com/desultory/pycpio"
+SRC_URI="https://github.com/desultory/${PN}/archive/refs/tags/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND=">=dev-python/zenlib-2.1.2[${PYTHON_USEDEP}]"
diff --git a/dev-python/pycpio/pycpio-9999.ebuild b/dev-python/pycpio/pycpio-9999.ebuild
new file mode 100644
index 000000000000..a025a3b5791e
--- /dev/null
+++ b/dev-python/pycpio/pycpio-9999.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+inherit distutils-r1 git-r3
+
+DESCRIPTION="Python CPIO library"
+HOMEPAGE="https://github.com/desultory/pycpio"
+EGIT_REPO_URI="https://github.com/desultory/${PN}"
+
+LICENSE="GPL-2"
+SLOT="0"
+
+RDEPEND=">=dev-python/zenlib-9999[${PYTHON_USEDEP}]"
diff --git a/dev-python/pycryptodome/Manifest b/dev-python/pycryptodome/Manifest
index 9fcc8999fb69..49c39d87d206 100644
--- a/dev-python/pycryptodome/Manifest
+++ b/dev-python/pycryptodome/Manifest
@@ -1 +1 @@
-DIST pycryptodome-3.19.0.gh.tar.gz 17153954 BLAKE2B 5ecaacce490e5eec052d632b1427a4e36ba19a863c28934f53f247b945bb32a1367aeaf1b8669018978bd19d53c28a00f711158c6be014779c47c48f263b2e8c SHA512 1afa71336da38efb32f79d87b442a1d50537a6908ec153be7a087027a8540cebabab12922557c92e501f2d6da5c2f35466d3bbe6a3de44540de7278069691290
+DIST pycryptodome-3.20.0.gh.tar.gz 17173888 BLAKE2B 7706a7f512579b4edf080b5074a9f226b2f0ef18a8f1faf74e890cfccff85d0599b4883cd5011a5cc0296b5a10cccce94cb2b948de29d785f6add04e54215a5a SHA512 0d65ccd93f9f78548c04aa3af01cb65b6a39e81bb3dfa4bb08acc5a5a731b17f9c5b07a1d1780739b3f358402a3596b04e446fc7b39345a4c6f03fd5a2de7ff9
diff --git a/dev-python/pycryptodome/files/pycryptodome-3.19.0-fix-verbosity-in-tests.patch b/dev-python/pycryptodome/files/pycryptodome-3.19.0-fix-verbosity-in-tests.patch
deleted file mode 100644
index 7d54e5e4c2a7..000000000000
--- a/dev-python/pycryptodome/files/pycryptodome-3.19.0-fix-verbosity-in-tests.patch
+++ /dev/null
@@ -1,120 +0,0 @@
-https://github.com/Legrandin/pycryptodome/issues/765
-https://github.com/Legrandin/pycryptodome/commit/87ff66373a5b80cddc9b0dd76e9bb8c15f6a8e50
-
-From 87ff66373a5b80cddc9b0dd76e9bb8c15f6a8e50 Mon Sep 17 00:00:00 2001
-From: Helder Eijs <helderijs@gmail.com>
-Date: Sun, 17 Sep 2023 23:32:02 +0200
-Subject: [PATCH] Fix verbosity problem in tests
-
---- a/lib/Crypto/SelfTest/Protocol/test_ecdh.py
-+++ b/lib/Crypto/SelfTest/Protocol/test_ecdh.py
-@@ -72,6 +72,8 @@ def ecdh_test_rev(self,
-
- class TestVectorsECDHWycheproof(unittest.TestCase):
-
-+ desc = "Wycheproof ECDH tests"
-+
- def add_tests(self, filename):
-
- def curve(g):
-@@ -107,7 +109,6 @@ def shortDescription(self):
- return self.desc
-
- def test_verify(self, tv):
-- self._id = "Wycheproof ECDH Verify Test #%d (%s, %s)" % (tv.id, tv.comment, tv.filename)
-
- if len(tv.public) == 0:
- return
-@@ -138,7 +139,7 @@ def test_verify(self, tv):
-
- def runTest(self):
- for tv in self.tv:
-- self.desc = "Test #%d (%s) - %s" % (tv.id, tv.filename, tv.comment)
-+ self.desc = "Wycheproof ECDH Verify Test #%d (%s, %s)" % (tv.id, tv.comment, tv.filename)
- self.test_verify(tv)
-
-
---- a/lib/Crypto/SelfTest/__init__.py
-+++ b/lib/Crypto/SelfTest/__init__.py
-@@ -28,18 +28,19 @@
- application runs.
- """
-
--__revision__ = "$Id$"
--
- import sys
- import unittest
-+from importlib import import_module
- from Crypto.Util.py3compat import StringIO
-
-+
- class SelfTestError(Exception):
- def __init__(self, message, result):
- Exception.__init__(self, message, result)
- self.message = message
- self.result = result
-
-+
- def run(module=None, verbosity=0, stream=None, tests=None, config=None, **kwargs):
- """Execute self-tests.
-
-@@ -77,21 +78,25 @@ def run(module=None, verbosity=0, stream=None, tests=None, config=None, **kwargs
- raise SelfTestError("Self-test failed", result)
- return result
-
-+
- def get_tests(config={}):
- tests = []
-- from Crypto.SelfTest import Cipher; tests += Cipher.get_tests(config=config)
-- from Crypto.SelfTest import Hash; tests += Hash.get_tests(config=config)
-- from Crypto.SelfTest import Protocol; tests += Protocol.get_tests(config=config)
-- from Crypto.SelfTest import PublicKey; tests += PublicKey.get_tests(config=config)
-- from Crypto.SelfTest import Random; tests += Random.get_tests(config=config)
-- from Crypto.SelfTest import Util; tests += Util.get_tests(config=config)
-- from Crypto.SelfTest import Signature; tests += Signature.get_tests(config=config)
-- from Crypto.SelfTest import IO; tests += IO.get_tests(config=config)
-- from Crypto.SelfTest import Math; tests += Math.get_tests(config=config)
-+
-+ module_names = [
-+ "Cipher", "Hash", "Protocol", "PublicKey", "Random",
-+ "Util", "Signature", "IO", "Math",
-+ ]
-+
-+ for name in module_names:
-+ module = import_module("Crypto.SelfTest." + name)
-+ tests += module.get_tests(config=config)
-+
- return tests
-
-+
- if __name__ == '__main__':
-- suite = lambda: unittest.TestSuite(get_tests())
-+ def suite():
-+ return unittest.TestSuite(get_tests())
- unittest.main(defaultTest='suite')
-
- # vim:set ts=4 sw=4 sts=4 expandtab:
---- a/lib/Crypto/SelfTest/__main__.py
-+++ b/lib/Crypto/SelfTest/__main__.py
-@@ -26,7 +26,7 @@
-
- from Crypto import SelfTest
-
--slow_tests = not "--skip-slow-tests" in sys.argv
-+slow_tests = not ("--skip-slow-tests" in sys.argv)
- if not slow_tests:
- print("Skipping slow tests")
-
-@@ -34,5 +34,10 @@
- if wycheproof_warnings:
- print("Printing Wycheproof warnings")
-
--config = {'slow_tests' : slow_tests, 'wycheproof_warnings' : wycheproof_warnings }
--SelfTest.run(stream=sys.stdout, verbosity=1, config=config)
-+if "-v" in sys.argv:
-+ verbosity=2
-+else:
-+ verbosity=1
-+
-+config = {'slow_tests': slow_tests, 'wycheproof_warnings': wycheproof_warnings}
-+SelfTest.run(stream=sys.stdout, verbosity=verbosity, config=config)
diff --git a/dev-python/pycryptodome/pycryptodome-3.19.0.ebuild b/dev-python/pycryptodome/pycryptodome-3.19.0.ebuild
deleted file mode 100644
index 3efc9c7635bc..000000000000
--- a/dev-python/pycryptodome/pycryptodome-3.19.0.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="A self-contained cryptographic library for Python"
-HOMEPAGE="
- https://www.pycryptodome.org/
- https://github.com/Legrandin/pycryptodome/
- https://pypi.org/project/pycryptodome/
-"
-SRC_URI="
- https://github.com/Legrandin/pycryptodome/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD-2 Unlicense"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-DEPEND="
- dev-libs/gmp:=
- >=dev-libs/libtomcrypt-1.18.2-r1:=
-"
-BDEPEND="
- $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*')
-"
-RDEPEND="
- ${DEPEND}
- ${BDEPEND}
-"
-
-PATCHES=(
- "${FILESDIR}/pycryptodome-3.10.1-system-libtomcrypt.patch"
- "${FILESDIR}/pycryptodome-3.19.0-fix-verbosity-in-tests.patch"
-)
-
-python_prepare_all() {
- # make sure we're unbundling it correctly
- rm -r src/libtom || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PYTHONPATH=${S}/test_vectors:${PYTHONPATH}
- "${EPYTHON}" - <<-EOF || die
- import sys
- from Crypto import SelfTest
- SelfTest.run(verbosity=2, stream=sys.stdout)
- EOF
-
- # TODO: run cmake tests from src/test?
-}
diff --git a/dev-python/pycryptodome/pycryptodome-3.20.0.ebuild b/dev-python/pycryptodome/pycryptodome-3.20.0.ebuild
new file mode 100644
index 000000000000..d1386ade7f46
--- /dev/null
+++ b/dev-python/pycryptodome/pycryptodome-3.20.0.ebuild
@@ -0,0 +1,60 @@
+# 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..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="A self-contained cryptographic library for Python"
+HOMEPAGE="
+ https://www.pycryptodome.org/
+ https://github.com/Legrandin/pycryptodome/
+ https://pypi.org/project/pycryptodome/
+"
+SRC_URI="
+ https://github.com/Legrandin/pycryptodome/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2 Unlicense"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+DEPEND="
+ dev-libs/gmp:=
+ >=dev-libs/libtomcrypt-1.18.2-r1:=
+"
+BDEPEND="
+ $(python_gen_cond_dep 'dev-python/cffi[${PYTHON_USEDEP}]' 'python*')
+"
+RDEPEND="
+ ${DEPEND}
+ ${BDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/pycryptodome-3.10.1-system-libtomcrypt.patch"
+)
+
+python_prepare_all() {
+ # make sure we're unbundling it correctly
+ rm -r src/libtom || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTHONPATH=${S}/test_vectors:${PYTHONPATH}
+ "${EPYTHON}" - <<-EOF || die
+ import sys
+ from Crypto import SelfTest
+ SelfTest.run(verbosity=2, stream=sys.stdout)
+ EOF
+
+ # TODO: run cmake tests from src/test?
+}
diff --git a/dev-python/pycson/Manifest b/dev-python/pycson/Manifest
deleted file mode 100644
index ba3e2593baa3..000000000000
--- a/dev-python/pycson/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pycson-0.8.tar.gz 10448 BLAKE2B 55e2ec4a447761d6764e9f25cdff534d3dcdf2a0e3bfd9255f02b1a5cd9834e4f4323ba47a1659ea973f995c34519622e36c691bef763ba83c8caf87fbc49f58 SHA512 873f1b0d825ad318ca5c62fccbdd12a8738c8b9ff58b4fe27ea611aa47575e24218b5010f6d6b12f5ebda835c2778dd15472ca5c73b634b3004aa08496f45328
diff --git a/dev-python/pycson/pycson-0.8-r3.ebuild b/dev-python/pycson/pycson-0.8-r3.ebuild
deleted file mode 100644
index e144d13bd8ba..000000000000
--- a/dev-python/pycson/pycson-0.8-r3.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="A python parser for the Coffeescript Object Notation (CSON)"
-HOMEPAGE="https://github.com/avakar/pycson/"
-SRC_URI="https://github.com/avakar/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~ppc ~riscv x86"
-
-RDEPEND="dev-python/speg[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pycson/pycson-0.8-r4.ebuild b/dev-python/pycson/pycson-0.8-r4.ebuild
deleted file mode 100644
index b1b15c6529da..000000000000
--- a/dev-python/pycson/pycson-0.8-r4.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} )
-inherit distutils-r1
-
-DESCRIPTION="A python parser for the Coffeescript Object Notation (CSON)"
-HOMEPAGE="https://github.com/avakar/pycson/"
-SRC_URI="https://github.com/avakar/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc ~riscv ~x86"
-
-RDEPEND="dev-python/speg[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pycuda/Manifest b/dev-python/pycuda/Manifest
index 1b15d3c927d9..dc24e1c75e92 100644
--- a/dev-python/pycuda/Manifest
+++ b/dev-python/pycuda/Manifest
@@ -1 +1 @@
-DIST pycuda-2022.2.2.tar.gz 1682953 BLAKE2B d60e83ac2faa183e0fa022c3d901c9d97ec2f9a59195425b9d71467c24b154d48d5735223220b41aa58b0898800d382d9ead54166d0a59db9c2a777e03e574be SHA512 c62aafe473e44339ac2147d86b51fc9bc2429310450b6d99e78a127828cc3a42dc74f20e1bdf8261f6652aed6d07ee3a871ce371f89f33fbcc4014f551af0b96
+DIST pycuda-2024.1.tar.gz 1683163 BLAKE2B b464f47d86b77d492322f28364756cd25a28a11e6dcc802c9c930fad20de74d217660782f82a2a020753fcbb6000a9d659555be6220c57229226ac7fc118c793 SHA512 70a3f27488077e1176aa26b4bc8785277917cc1884126de45c732f393e5e38224b4c4c67999eb1776c08a930333f718d1af3463154d89291b3294bf303a3c471
diff --git a/dev-python/pycuda/pycuda-2022.2.2.ebuild b/dev-python/pycuda/pycuda-2022.2.2.ebuild
deleted file mode 100644
index f4343e6daa31..000000000000
--- a/dev-python/pycuda/pycuda-2022.2.2.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit cuda distutils-r1 pypi
-
-DESCRIPTION="Python wrapper for NVIDIA CUDA"
-HOMEPAGE="https://mathema.tician.de/software/pycuda/ https://pypi.org/project/pycuda/ https://github.com/inducer/pycuda"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="examples opengl test"
-
-RDEPEND="
- dev-libs/boost:=[python,${PYTHON_USEDEP}]
- dev-python/appdirs[${PYTHON_USEDEP}]
- dev-python/decorator[${PYTHON_USEDEP}]
- dev-python/mako[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pytools[${PYTHON_USEDEP}]
- dev-util/nvidia-cuda-toolkit[profiler]
- x11-drivers/nvidia-drivers
- opengl? ( virtual/opengl )
-"
-DEPEND="${RDEPEND}"
-
-# We need write acccess /dev/nvidia0 and /dev/nvidiactl and the portage
-# user is (usually) not in the video group
-RESTRICT="test? ( userpriv ) !test? ( test )"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- cuda_sanitize
-
- sed "s|\"--preprocess\"|&,\"--compiler-bindir=$(cuda_gccdir)\"|" \
- -i pycuda/compiler.py || die
-
- > siteconf.py || die
-
- distutils-r1_src_prepare
-}
-
-python_configure() {
- mkdir -p "${BUILD_DIR}" || die
- cd "${BUILD_DIR}" || die
-
- local conf=(
- "${EPYTHON}" "${S}"/configure.py
- --boost-inc-dir="${ESYSROOT}"/usr/include
- --boost-lib-dir="${ESYSROOT}"/usr/$(get_libdir)
- --boost-python-libname=boost_${EPYTHON/./}.so
- --boost-thread-libname=boost_thread
- --cuda-inc-dir="${ESYSROOT}"/opt/cuda/include
- --cuda-root="${ESYSROOT}"/opt/cuda
- --cudadrv-lib-dir="${ESYSROOT}"/usr/$(get_libdir)
- --cudart-lib-dir="${ESYSROOT}"/opt/cuda/$(get_libdir)
- --no-use-shipped-boost
- $(usev opengl --cuda-enable-gl)
- )
- echo ${conf[*]}
- "${conf[@]}" || die
-}
-
-python_test() {
- # we need write access to this to run the tests
- addwrite /dev/nvidia0
- addwrite /dev/nvidiactl
- addwrite /dev/nvidia-uvm
- addwrite /dev/nvidia-uvm-tools
-
- EPYTEST_DESELECT=(
- # needs investigation, perhaps failure is hardware-specific
- test/test_driver.py::test_pass_cai_array
- test/test_driver.py::test_pointer_holder_base
- )
-
- cd "${T}" || die
- epytest "${S}"/test
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/dev-python/pycuda/pycuda-2024.1.ebuild b/dev-python/pycuda/pycuda-2024.1.ebuild
new file mode 100644
index 000000000000..d5f2be387ad8
--- /dev/null
+++ b/dev-python/pycuda/pycuda-2024.1.ebuild
@@ -0,0 +1,90 @@
+# 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 cuda distutils-r1 pypi
+
+DESCRIPTION="Python wrapper for NVIDIA CUDA"
+HOMEPAGE="https://mathema.tician.de/software/pycuda/ https://pypi.org/project/pycuda/ https://github.com/inducer/pycuda"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="examples test"
+
+RDEPEND="
+ dev-libs/boost:=[python,${PYTHON_USEDEP}]
+ dev-python/appdirs[${PYTHON_USEDEP}]
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pytools[${PYTHON_USEDEP}]
+ dev-util/nvidia-cuda-toolkit[profiler]
+ x11-drivers/nvidia-drivers
+"
+DEPEND="${RDEPEND}"
+
+# We need write acccess /dev/nvidia0 and /dev/nvidiactl and the portage
+# user is (usually) not in the video group
+RESTRICT="test? ( userpriv ) !test? ( test )"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ cuda_sanitize
+
+ sed "s|\"--preprocess\"|&,\"--compiler-bindir=$(cuda_gccdir)\"|" \
+ -i pycuda/compiler.py || die
+
+ > siteconf.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_configure() {
+ mkdir -p "${BUILD_DIR}" || die
+ cd "${BUILD_DIR}" || die
+
+ local conf=(
+ "${EPYTHON}" "${S}"/configure.py
+ --boost-inc-dir="${ESYSROOT}"/usr/include
+ --boost-lib-dir="${ESYSROOT}"/usr/$(get_libdir)
+ --boost-python-libname=boost_${EPYTHON/./}.so
+ --boost-thread-libname=boost_thread
+ --cuda-inc-dir="${ESYSROOT}"/opt/cuda/include
+ --cuda-root="${ESYSROOT}"/opt/cuda
+ --cudadrv-lib-dir="${ESYSROOT}"/usr/$(get_libdir)
+ --cudart-lib-dir="${ESYSROOT}"/opt/cuda/$(get_libdir)
+ )
+ echo ${conf[*]}
+ "${conf[@]}" || die
+}
+
+python_test() {
+ # we need write access to this to run the tests
+ addwrite /dev/nvidia0
+ addwrite /dev/nvidiactl
+ addwrite /dev/nvidia-uvm
+ addwrite /dev/nvidia-uvm-tools
+
+ EPYTEST_DESELECT=(
+ # needs investigation, perhaps failure is hardware-specific
+ test/test_driver.py::test_pass_cai_array
+ test/test_driver.py::test_pointer_holder_base
+ )
+
+ cd "${T}" || die
+ epytest "${S}"/test
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-python/pycups/pycups-2.0.1-r1.ebuild b/dev-python/pycups/pycups-2.0.1-r1.ebuild
index 39da58abdaa7..5bd32220be0a 100644
--- a/dev-python/pycups/pycups-2.0.1-r1.ebuild
+++ b/dev-python/pycups/pycups-2.0.1-r1.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
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 pypi
diff --git a/dev-python/pycurl-requests/pycurl-requests-0.5.0-r1.ebuild b/dev-python/pycurl-requests/pycurl-requests-0.5.0-r1.ebuild
index 6100270b14c7..2783a4fe0937 100644
--- a/dev-python/pycurl-requests/pycurl-requests-0.5.0-r1.ebuild
+++ b/dev-python/pycurl-requests/pycurl-requests-0.5.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pycurl/Manifest b/dev-python/pycurl/Manifest
index 12303b7d4f75..cd047d2d69e2 100644
--- a/dev-python/pycurl/Manifest
+++ b/dev-python/pycurl/Manifest
@@ -1 +1 @@
-DIST pycurl-7.45.2.tar.gz 234245 BLAKE2B 16257a967d2867de08d83478f602d00b54316d37b6a544804e606a814f61507530fb7e1ef3247be824dfa22b9487a69bbfc9b1038b2b776ebc556b18ed2d93ca SHA512 8a82346395acfc0bd37a8c4d8d2b17e5ab4602710308ed50f9ed88c223c73f15f5b1c95fc6191708e3bd9d647e4bc5ec91f740de433dd87e2ae0796ac79879ac
+DIST pycurl-7.45.3.tar.gz 236470 BLAKE2B 690e49f92f569352e26d95a0fa58508c4e96c845c7e3ae1169b8bc55036902f64859987880565217df56a57031dc2775e3c6979b4cfdf8a8c9a94c67ae94cb79 SHA512 12a55070602a1fd22b160ad582a4001bdd28531d2b2ccd365ff0136bc13dd23af80b19488bdbbc60a902a3a362b64383b9ae6acce6ed328c74dcffc8a6a3f4ad
diff --git a/dev-python/pycurl/files/pycurl-7.45.2-skip-http3-test.patch b/dev-python/pycurl/files/pycurl-7.45.2-skip-http3-test.patch
deleted file mode 100644
index 4ebf3b4b1ba8..000000000000
--- a/dev-python/pycurl/files/pycurl-7.45.2-skip-http3-test.patch
+++ /dev/null
@@ -1,28 +0,0 @@
-In Gentoo, we don't yet usually have HTTP3 for curl either.
-
-https://src.fedoraproject.org/rpms/python-pycurl/raw/rawhide/f/0002-python-pycurl-7.45.2-disable-test_http_version_3.patch
-
-From 6c55e6822a064edb8dd6dfe1ee21080f4f30b5cf Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Luk=C3=A1=C5=A1=20Zaoral?= <lzaoral@redhat.com>
-Date: Tue, 7 Mar 2023 16:32:19 +0100
-Subject: [PATCH] tests: temporarily disable test_http_version_3
-
-HTTP3 support in curl is only experimental at the moment and is disabled
-in the corresponding Fedora package.
---- a/tests/option_constants_test.py
-+++ b/tests/option_constants_test.py
-@@ -508,10 +508,6 @@ class OptionConstantsSettingTest(unittest.TestCase):
- def test_http_version_2prior_knowledge(self):
- self.curl.setopt(self.curl.HTTP_VERSION, self.curl.CURL_HTTP_VERSION_2_PRIOR_KNOWLEDGE)
-
-- @util.min_libcurl(7, 66, 0)
-- def test_http_version_3(self):
-- self.curl.setopt(self.curl.HTTP_VERSION, self.curl.CURL_HTTP_VERSION_3)
--
- @util.min_libcurl(7, 21, 5)
- def test_sockopt_constants(self):
- assert self.curl.SOCKOPT_OK is not None
---
-2.39.2
-
-
diff --git a/dev-python/pycurl/pycurl-7.45.2-r1.ebuild b/dev-python/pycurl/pycurl-7.45.2-r1.ebuild
deleted file mode 100644
index 940b0bb94856..000000000000
--- a/dev-python/pycurl/pycurl-7.45.2-r1.ebuild
+++ /dev/null
@@ -1,93 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi toolchain-funcs
-
-DESCRIPTION="Python bindings for curl/libcurl"
-HOMEPAGE="
- http://pycurl.io/
- https://github.com/pycurl/pycurl/
- https://pypi.org/project/pycurl/
-"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="curl_ssl_gnutls +curl_ssl_openssl examples ssl"
-
-# Depend on a curl with curl_ssl_* USE flags.
-# libcurl must not be using an ssl backend we do not support.
-# If the libcurl ssl backend changes pycurl should be recompiled.
-# If curl uses gnutls, depend on at least gnutls 2.11.0 so that pycurl
-# does not need to initialize gcrypt threading and we do not need to
-# explicitly link to libgcrypt.
-DEPEND="
- >=net-misc/curl-7.25.0-r1:=[ssl=]
- ssl? (
- net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-)]
- curl_ssl_gnutls? ( >=net-libs/gnutls-2.11.0:= )
- curl_ssl_openssl? ( dev-libs/openssl:= )
- )
-"
-
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- test? (
- >=dev-python/bottle-0.12.7[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-),http2]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-7.45.2-skip-http3-test.patch
-)
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # docs installed into the wrong directory
- sed -e "/setup_args\['data_files'\] = /d" -i setup.py || die
- # TODO
- sed -e 's:test_socks5_gssapi_nec_setopt:_&:' \
- -i tests/option_constants_test.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure_all() {
- # Override faulty detection in setup.py, bug #510974.
- export PYCURL_SSL_LIBRARY=${CURL_SSL}
-}
-
-src_test() {
- emake -C tests/fake-curl/libcurl CC="$(tc-getCC)"
-
- distutils-r1_src_test
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local EPYTEST_DESELECT=(
- # refcounting tests are unreliable
- tests/memory_mgmt_test.py::MemoryMgmtTest::test_readdata_refcounting
- tests/memory_mgmt_test.py::MemoryMgmtTest::test_writedata_refcounting
- tests/memory_mgmt_test.py::MemoryMgmtTest::test_writeheader_refcounting
- )
-
- epytest -p flaky tests
-}
-
-python_install_all() {
- local HTML_DOCS=( doc/. )
- use examples && dodoc -r examples
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pycurl/pycurl-7.45.3.ebuild b/dev-python/pycurl/pycurl-7.45.3.ebuild
new file mode 100644
index 000000000000..b5575a8d43b3
--- /dev/null
+++ b/dev-python/pycurl/pycurl-7.45.3.ebuild
@@ -0,0 +1,97 @@
+# 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..13} )
+
+inherit distutils-r1 pypi toolchain-funcs
+
+DESCRIPTION="Python bindings for curl/libcurl"
+HOMEPAGE="
+ http://pycurl.io/
+ https://github.com/pycurl/pycurl/
+ https://pypi.org/project/pycurl/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="curl_ssl_gnutls +curl_ssl_openssl examples ssl"
+
+# Depend on a curl with curl_ssl_* USE flags.
+# libcurl must not be using an ssl backend we do not support.
+# If the libcurl ssl backend changes pycurl should be recompiled.
+# If curl uses gnutls, depend on at least gnutls 2.11.0 so that pycurl
+# does not need to initialize gcrypt threading and we do not need to
+# explicitly link to libgcrypt.
+DEPEND="
+ >=net-misc/curl-7.25.0-r1:=[ssl=]
+ ssl? (
+ net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-)]
+ curl_ssl_gnutls? ( >=net-libs/gnutls-2.11.0:= )
+ curl_ssl_openssl? ( dev-libs/openssl:= )
+ )
+"
+
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ >=dev-python/bottle-0.12.7[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ net-misc/curl[curl_ssl_gnutls(-)=,curl_ssl_openssl(-)=,-curl_ssl_axtls(-),-curl_ssl_cyassl(-),http2]
+ )
+"
+
+: ${EPYTEST_TIMEOUT:=120}
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # docs installed into the wrong directory
+ sed -e "/setup_args\['data_files'\] = /d" -i setup.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure_all() {
+ # Override faulty detection in setup.py, bug #510974.
+ export PYCURL_SSL_LIBRARY=${CURL_SSL}
+}
+
+src_test() {
+ emake -C tests/fake-curl/libcurl CC="$(tc-getCC)"
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_DESELECT=(
+ # refcounting tests are unreliable
+ tests/memory_mgmt_test.py::MemoryMgmtTest::test_readdata_refcounting
+ tests/memory_mgmt_test.py::MemoryMgmtTest::test_writedata_refcounting
+ tests/memory_mgmt_test.py::MemoryMgmtTest::test_writeheader_refcounting
+ # broken with curl 8.4.0+
+ tests/multi_callback_test.py::MultiCallbackTest::test_multi_socket_action
+ tests/multi_socket_select_test.py::MultiSocketSelectTest::test_multi_socket_select
+ # TODO
+ tests/option_constants_test.py::OptionConstantsTest::test_proxy_tlsauth
+ tests/option_constants_test.py::OptionConstantsTest::test_socks5_gssapi_nec_setopt
+ # curl 8.8.0+
+ tests/memory_mgmt_test.py::MemoryMgmtTest::test_ioctlfunction_collection
+ tests/option_constants_test.py::OptionConstantsTest::test_krb4level
+ tests/option_constants_test.py::OptionConstantsTest::test_krblevel
+ )
+
+ epytest -p flaky tests
+}
+
+python_install_all() {
+ local HTML_DOCS=( doc/. )
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pycxx/Manifest b/dev-python/pycxx/Manifest
index 6703866a80ea..1f467aae12e4 100644
--- a/dev-python/pycxx/Manifest
+++ b/dev-python/pycxx/Manifest
@@ -1 +1 @@
-DIST pycxx-7.1.7.tar.gz 156383 BLAKE2B 69a454615c9a7cdc57f4c357b9e3805821711bc48efb82e684da6066069ff0ee6af3b76911a705adb6f984969659441d331a8470061b514180ddf53f6494a33d SHA512 5439b2f72a7f04a628e7e93d093566654f3b4eafe78a7834005f86fb08e614f22f4d1fffb8d626e46cd56880ff7792e494ee3282b313ce668a7497d2bc1fbea9
+DIST pycxx-7.1.8.tar.gz 154789 BLAKE2B e4b635d4b53ae3fd0790d6eddcd465acfc5272213e9752e7c2a1840edddb66f09bc9617373246964859125a27dc82110de6b4f4ffa44c41c94c338c846490e47 SHA512 3c9c3a23dfa9777c6a48b8600e7336cbadb60080a1051071583d534ead6c691dd9d304613073d6fb0c632eb1703b043b4214826c0ae7bd4b2ca72203ec03c0a2
diff --git a/dev-python/pycxx/pycxx-7.1.7.ebuild b/dev-python/pycxx/pycxx-7.1.7.ebuild
deleted file mode 100644
index 520c93fdfd83..000000000000
--- a/dev-python/pycxx/pycxx-7.1.7.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI="8"
-
-PYTHON_COMPAT=( python3_{9..11} )
-# DISTUTILS_USE_PEP517=setuptools broken, installs files to /usr/CXX
-DISTUTILS_USE_SETUPTOOLS=no
-
-inherit distutils-r1
-
-DESCRIPTION="Set of facilities to extend Python with C++"
-HOMEPAGE="http://cxx.sourceforge.net"
-SRC_URI="mirror://sourceforge/cxx/${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="doc examples"
-
-python_prepare_all() {
- # Without this, pysvn fails.
- # Src/Python3/cxxextensions.c: No such file or directory
- sed -e "/^#include/s:Src/::" -i Src/*.{c,cxx} || die "sed failed"
-
- distutils-r1_python_prepare_all
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( Doc/. )
- if use examples ; then
- docinto examples
- dodoc -r Demo/Python{2,3}/.
- docompress -x /usr/share/doc/${PF}/examples
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pycxx/pycxx-7.1.8-r1.ebuild b/dev-python/pycxx/pycxx-7.1.8-r1.ebuild
new file mode 100644
index 000000000000..25439f7462d1
--- /dev/null
+++ b/dev-python/pycxx/pycxx-7.1.8-r1.ebuild
@@ -0,0 +1,52 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI="8"
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+DESCRIPTION="Set of facilities to extend Python with C++"
+HOMEPAGE="https://cxx.sourceforge.net"
+SRC_URI="https://downloads.sourceforge.net/cxx/${P}.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc ppc64 x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="doc examples"
+
+BDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ' 3.12)
+"
+
+python_prepare_all() {
+ rm -R Src/Python2/ || die
+
+ # Without this, pysvn fails.
+ # Src/Python3/cxxextensions.c: No such file or directory
+ sed -e "/^#include/s:Src/::" -i Src/*.{c,cxx} || die "sed failed"
+
+ distutils-r1_python_prepare_all
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # Move misplaced files into place
+ dodir "/usr/share/${EPYTHON}"
+ mv "${D}/usr/CXX" "${D}/usr/share/${EPYTHON}/CXX" || die
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( Doc/. )
+ if use examples ; then
+ docinto examples
+ dodoc -r Demo/Python3/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pydantic-core/Manifest b/dev-python/pydantic-core/Manifest
index 6dabb774e6f4..a914b0542b90 100644
--- a/dev-python/pydantic-core/Manifest
+++ b/dev-python/pydantic-core/Manifest
@@ -1,96 +1,125 @@
-DIST ahash-0.8.3.crate 42416 BLAKE2B 84836a4e33451012ff32c1a1a90500d87eb7ce649b60dff4eecfb0d25b9782a186376c154673c3121b154ff4616016d1718dfd687b88f4772c2c89eeb2f119b6 SHA512 cf2d2f1201ac0969cf4e2a0c47090bee971b2287ac44b5e091c90a9eced03cf6ff56d7900cc0f529d4acedc30bd400261c15e50efabdd1731f79951b449af53e
-DIST ahash-0.8.6.crate 42780 BLAKE2B ce2fb8201a484715d42bbd9ca1bfe2d5f541d90e3619ebd437c34a018920b679d5a11f9e96be48fbdabd2e98a379c0395d118616f21eb9004724d8fcb04b2b2b SHA512 46428b27e96be1f30058b9383a94988beeb5064dfb4df04d6959b451d0c77ef69fc51f07fdf9511ab9728295eb6beee7783c31a2297f9e473fc537883e722b73
+DIST ahash-0.8.10.crate 43555 BLAKE2B 30c71f49bde551444dbb074d1084701ca63e996bf296033d726bb2f03b3059376e62c310e673bfcf7e461a7a1dcf48812eb3d5aa8729bf9bde9da64977eeaffb SHA512 108872193427773e15463916ba034fd6cebb35523d827da331f374cf13cf27ff251a07c978bff4072db9ec8c307d9df092149ebd963b0702f397ebedd80e87d3
+DIST ahash-0.8.11.crate 43607 BLAKE2B 7dff8e41798ba25df8c4827ff414a182bb25da4825f0119a74916fe775db5445b87be8fc87f7c7f98d3b5053e1d47546f98873de1a942d36e5f308a3fb7dd620 SHA512 47d211b2422de0b381dfe32229faa346406eb7a22dff867dc04c22389609a8671ce3218e662000c49891a06c259d82e0ff4413740f007729d80e097a6c3f0d9d
DIST aho-corasick-1.0.2.crate 167694 BLAKE2B fa5323cbe6cb73594dfa4c327c64676bc1e006dadc0b9def325974c83b9a769beba02d59a4657ec7a2d0cc511a7b7cc6f72cf57b8f9e639206d1c2bf13107a52 SHA512 5c75451f96fbbd670e6af0e1f54df2bdb57259dfe6898495ac46a5b2fc04f316a4698fd5cfd4ec31a94c298661937a8de08ce97cab3890fb3c015e4a2a67bb7b
+DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69
DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
-DIST base64-0.21.4.crate 77029 BLAKE2B 4380440305c8a293218bb1fdba5c257b2a088af2f74f2936937cd0f0b3462248b572bdbfe5e2a82af1f2cf04267267317b1c2b74972fa9976795e9c174d2352f SHA512 33fba19be1e7c3e74b57ae0487fda904258f31457c005467caf2e44eb55e271e0d2e3f2d4b80b667b05fc625878e0b136a07984dc88335a2099278672b3c4b0f
-DIST base64-0.21.5.crate 77134 BLAKE2B 901cf92d7dd8af2bbb789ffbe60972c1fd295b16690ecebbcb500e4613afa057ab2b294bbafdcaa4007f46412825260a0711d89e55664418a503dde02c8afd1a SHA512 40b1d8470a932c8b7f31717e33bf26742c1bf920caae639b8a992f77e64d5e6d287569742c1348daa25b7325f8ca8d8a312754a743dab3932181f37149d91b16
+DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635
+DIST base64-0.21.7.crate 82576 BLAKE2B 25cc8761c14220981ff4ed332058f6179948080cbfa2b225ec1d1602e4af14cd470c969e8b7049117e6fc51a5a24e06b1d27bab844486ecb76409d12e0581d5d SHA512 c6986d88dd9aa081d914f35b4174be4ba874848657ac4b5e63b9b45af765d973289c548ccb5a01584edfc0d8d79ff5be25b51365295d6e7a311bd7f0ae3c0cb9
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST bitvec-1.0.1.crate 224375 BLAKE2B 9f109db6888cf73d69646911cc1c9e90535e54a7afc436d878bbc63ca20a30cc6e5b5b5cd42aa78c38df5a4012454769c126f9072f39d58bdd09e54887ba6d9f SHA512 83d643c5aca020ebbe9094b5aaba6a796e7c3c509228a4348444e57a06bc3a5dd042eed57a2254d91661e73bdab2bc0d1bd02be376906acc6b6d75b5354a8d8e
+DIST cc-1.0.100.crate 78474 BLAKE2B acadea935c2a44b7a3de105b068ac73b6497ba41118ad7b0263f13f8c123a8e7df178fe7441bca76b6d76e263bfde5ee20c4f130521ae08de6a1f3fce395dc9d SHA512 7609e635a565afa41bb057d9f0bbb2e019069e314c738dd500e3a86678145786fbcef2654ed553e82387f8739d87597e7b3302c376d8766cecdaa67aaa9baccf
+DIST cc-1.0.101.crate 79446 BLAKE2B fbecc04723577abd209d16c34269b5ac2652fbd5385838190c744abf573912fa7a062e2fcf1dc76486c5b61677225a826a65dbd6eca58398ff60ddd1e47a3caf SHA512 6edaf3dcc2e58dffd7221a6b457057c83bdec03b6fad9cbd2d702af6820fd8354fdb3960cd78d8b38568ef408171354f0313f17a32f0caa64f97736c0840a148
DIST cc-1.0.79.crate 62624 BLAKE2B b3cbed3bd6fcac1c6ea258ec96cd107f859947a35dc89c3dc8f314741b0f668e61518f896ec32ce10c9a7eb20dd350bc177a71810d53ebea59fda062ed9d27db SHA512 cbf0a25f3a23fc540e9d638fabc23f761f1c240ebb4814e761e90437d71fc559cd155768ab9e78fc192220d8a605c66c3af342ed736b719181656170b98d7bf5
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST enum_dispatch-0.3.12.crate 22400 BLAKE2B c8a3da572bd8fcff5afe8aba87d0b40d5c759ed2c69d8391d61b43bec8de2eff02cfce0de60abbbe821dc103cda41bc4abdeb9de5a0426fcafd2382bc2403eb4 SHA512 576d682255313ea284934a1c9bf80532a1b39a85eb6201b821eefe5fe37576544b28247ed1d27e019e1e664b2e81207fd161dc9d70e2d0e10bfea1071f508dfb
+DIST enum_dispatch-0.3.13.crate 29876 BLAKE2B 8fa66a72b1f35e174abcc8266e8a36e835923a1b31aa2fbbbbefe3bcf1287bb01b456597915c0a36a9ab7e6a6cd0ce7ebae38c09028ceb9109b7d18f26f023df SHA512 9ff73db5852d8c515f8f3beae0e62ac3845b42fb39a2ecdcda50e44535e9183790406652024e3f968ecbf4413488a02344831c45498294ba97c345b31e1d0782
DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140
-DIST form_urlencoded-1.2.0.crate 8923 BLAKE2B 2408d9bbca582be13febf041262f0e63a3d661dd8fd2a42e9203feb6ff02a94e3eade6b83179fab34448b9913c7924fdf53e0670ae97e550318229432978e33d SHA512 899ddd113a79bdeac12e499f581c5499d1a4b698c75cfc2d6aada5880cd802fc8537ff9ce68eca28374318d66fd70100962105c1e8962868a5732bb86326c104
+DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1
+DIST funty-2.0.0.crate 13160 BLAKE2B db6315d63fffe9f70698da0b1b0e4aea4b509242c60e6639f00303dad8d2ba60c6c1c04fe9289695b7aa2d7a0c90c31fba72656afa7ad111b77358772b14a9f5 SHA512 691e1c275b648110ef42c4adece8178cf037bad40d469780280eb2ebe07aa4b0406737c5ba02c9f9f63ee57a99fec27e5e51712e2113655f7522c8678f689155
DIST getrandom-0.2.10.crate 34955 BLAKE2B 8e7b8554ae360484ceca2a05f834c2664b08f41cbc6c955663e1f8f22fb5750481518bf1c7b49f49223a99a66914ef013347b9186acc97a20249f3222a13f9d4 SHA512 82af9e0417bff9272ed0478be4ac90426405ce210014b21899c6b95fde1b16893bf46295388ff5f13fa712a04c99c46b770fab83f41a1343af1590a86ca8da3b
-DIST hashbrown-0.14.0.crate 116103 BLAKE2B 24bab03e8a8cb7623b92282c83bf8acaf0752c696ee1c010249e3ebb3646e7549d8d6d798b02c9d5b621afbebba7320f8a859d9a1af1523dbd46377b857dbb5f SHA512 f0fbdf81517f59a0b67f792a4097f1131d346b2b4cbda93590749cef7f9f1c9029e0e182f58c23b74d3028f7502c30b9593c1eb4da37f95388d74b14582b8959
+DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb
+DIST hashbrown-0.14.3.crate 141425 BLAKE2B 23c63a99c6c6b7a6b9b9e8bbbc7f1e342e1eb9d7582fc9eb408d3eec50c99f34502d450170bcfef4da7f2b1e743e1d1619875ec879e4753dffcb84f3c10dc3b2 SHA512 4d344e5c89ce58e04668b80ef10e4e110a3a5daf4d610c52d980577795d0e2050c7d0b151d8ba97128117665e27b92ab0300f85b88bd6e1de943c62d49249356
+DIST hashbrown-0.14.5.crate 141498 BLAKE2B 7d7f31b6377c901de12f78f0004a347e3e3b948b1336a54b6abd8dd2210db0ac415efcdded421a00723f16563a7b833b5d1db3cad5c12cac916e273bf3e588b3 SHA512 215ea860bd3de80e2dd2d4647c9dd31c0ac895ea7c08b87256dc11d36407e412ffefaebc6cdbec024057dd4f24b3762b4fe427be307e15d1e68ccfde89a99742
DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
-DIST idna-0.4.0.crate 271429 BLAKE2B 8b81bc4535d2e8a1100ddeaf6f43c043fd601ee3b37eb109a9dff01630a81603223407bd5c2f1a1b108d741c811781b205c10148a0122b8125c237a5d5ba8a58 SHA512 b4133c5f73bd9c4ccc05245a9edcc5c980714129ce4f6eb7851eea7e509617ff972fadefe6ac78db6b4106667d9d6070de52c4d42414c95921e3d9fe1b7a76cb
-DIST indexmap-2.0.0.crate 64038 BLAKE2B e7a1b2bbd790f1446f77262b5b0799c2a816a01295a9a4db66f10e6c0502f8970982fb808581472e840cc34dc70e7938b89408799ed0d91aa50d3dd0b4807995 SHA512 59bc19653436389e1408e21b0933e5ca6f9fe228f0f5fbe9a7e4fb461b9712ba82983cbf22c0581eaf7913298b9ef5842702946152b493c1dc651381d6bce1a3
-DIST indoc-1.0.9.crate 13475 BLAKE2B a9696788574e56dd125c3371169fd59d6947d188f76e2669b21c0304692efd6709cd048920f7822e92c6a5620fb178e0e85c7776118cef8ccee0f58398e14abf SHA512 db8aef4a7bb606452dc8ed45aa29a255c7a135357a0bd586fb4429c5f56a1aa2ca9400d6fac39956aeb486a15d25cf5d1b9524967867f2c651d9d563e3e85be8
+DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
+DIST idna-0.5.0.crate 271940 BLAKE2B 0b781c2e9bf717af429efb53bdfd18244f2b8c58e5111c3bd3bee50c8a01cc747513fe20db75c38b6b771d5845647bf6c1849ae6667766c9623e018c1f399a9b SHA512 bee6cfbfc99859b113aa8c7b487429a836dabc4e317980f132d28ff8333336f33480bf9f8b186a07115eff33024cd855bc85d346fce85e17c4132e886769c54c
+DIST indexmap-2.2.2.crate 76160 BLAKE2B 1b020e3e33204e9e0cf15e0b91a600296147432002e94ae1061f1d7511e3435a29c1c0c438933eb6a56c7c522cbdfff29a106622041815cbd706b9515e2ab82d SHA512 814cffe0e586940c82c152536a970917ec8702a9b946151ccc8574188fa2cb0fab094888c0e910917c99e37f5f53723ab799999fab4bee395bca7d45adeed40c
+DIST indexmap-2.2.6.crate 82420 BLAKE2B fac5cf6339dc3c0a40b100035a5c874cc7b2efeafeb31c51488d25156e392dc9db86a497e76eead351d2126f69d060422faa9c55d73407a0de9f5be18d234123 SHA512 53211c4a9003d751feb6dcdf1a76495764cbf32d24bbfe2be7023946622ef4f2b07a6de57109e5d24ee01892f4b2be0e0692e10cd31fd39c4ffdff4d37abe9ea
DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
+DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
+DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311
DIST itoa-1.0.8.crate 10465 BLAKE2B e518264938d044e24a4d72cab788de717c36cc7396fdbf2805fe3a3e0cdfc361c4f6fedee7bcebea6fbacff254e073da26b2400a073fa75f75523b8ed9de9938 SHA512 6171bfcd70634a2587740c145a15790e12807d2c756a25e74950daf9dd36acc662f12836c5b87e20483b4d020bc0d98a352b8e9787b0b8544bf1ee1b6a0c2c8e
-DIST jiter-0.0.4.crate 78467 BLAKE2B 68179a86a8194d405cbb8ef719bce6e551c256701fed7a6f75ad219ef3fe865ee00bb8a6a09a5317b5bc274c4746ecad67568d3e6c88fad18ee68bd96a30d93d SHA512 50ac09bf73529b42fbd8dc0472dfe89da81e80cda75b965e3a633dd404087baaeb54157c5b7d56e470aa78c6506ea181e1ec92589361458b48541f26e3be5696
-DIST lexical-core-0.8.5.crate 26680 BLAKE2B 71f3cc95f47fa636f68d6d25612a47d4a178e2ffe484aa66760e78fb71e55633c055892647decaac08120d1b8b3b79d80d1a23d46a74d13b5e52d6b912839ea0 SHA512 f98d2b5afd331c6f4f599d24599ed8791ee3628a2fa2b8172b698cfe9a180e1ccd2da4dca4dd33fc76ef3417114c580399106d01a8d6153b45b38bceacee1018
+DIST jiter-0.4.1.crate 141213 BLAKE2B 5822cff2404823e37746d7793654d983c494237c98d42fb68d52f3593b15173152683f073cb740c7dd7f90077e4d05c8f6da6780488cb48d9b59604df5e48ace SHA512 3b62be9fec3a3763182c832647770d0e78b066357afbe9c7a28155de011190d1d23034c69407a956908c00337a01f20077c97882ce7a38b224d1a77308c1932f
+DIST jiter-0.5.0.crate 141152 BLAKE2B 5ab42f40c3a1fa5717447085cc289d89c649570022dde6c628f24f7dcce1c40cbdc5e4f6dc92afeabc3645683636fe7762ccf70665a1139bb39e2bdf481074da SHA512 79e1aaf52bbfccf010124325f7010839a9d5c4ce89cf0a6f68f8d6107af3e95dc4ed21ef341f92e71cf2e88119c911289af0cbea3aafdb5f5d49a45f103f26d7
DIST lexical-parse-float-0.8.5.crate 180161 BLAKE2B 881e4db32a21c26a1919fd1373aef1ea16a6fca3d799edb18ff0c9e4a79d481f8ade7a93f9ded2a660ad10cf815eb757f6eec7887945f8203c467e700af7a9a3 SHA512 ef012cbf18f2e306724dd700ac259aaa73b44f6c4531377deb9979c80d31ae66fc1a8b2671bd677e0ebfad8f77e9a5cf25707c67a1c5b1f554953c036cb39d46
DIST lexical-parse-integer-0.8.6.crate 33647 BLAKE2B a0ebd7a51c271a163796b0f55bb85e16830bf06e26e3f10d9b13dc5b65af590c77f47fb64360a8738c5ad4be6e6932d58e83e1594a80c067859645c35b907c53 SHA512 e9a814d2928bf5bb2d9dce53e26c65356191c9e21c3aa0e674d58ed879aa52293272f3897f64372d996a3f8c471b0f59348ad48f15a21c2f35ed15f522ac2daa
DIST lexical-util-0.8.5.crate 85152 BLAKE2B 42a968c6f9d20cb4cb10906399d37d6581b425eadb31439fec4a71395819133249c4fb75b1d962100e77ba35b6f6b4cd428d5b5c161b405b22333ee390e671a6 SHA512 449c7f2a22c109cd179937c36e14d91c742e1a837a85fcf4fb58c21f05317511d1281b564d216a34760ae54a0df2d0ff5caf49da4aa9d43a8d87fcec0033cc39
-DIST lexical-write-float-0.8.5.crate 100281 BLAKE2B d5885d793ddcb8414fc9cd3085f0a0360b683df093b458f09fa4cf1dd670fbca7d9f86a19eca3082b32c4eb224cc9ab24a526350af0f894907391833888ca56f SHA512 35afe75db2fb4664e335349978fb8376a2b6cad48000e06652a3d3ce0b5fdbc422679821389856729724babc6cfe08ac8a1511c06bb743709787a4a47f956fd4
-DIST lexical-write-integer-0.8.5.crate 55427 BLAKE2B 54bb11be6c9377518384ad843d90d3bd344edadb889e1049ca8b58e34862e6d2a6730cd772c38859372d1068e110fd67db147c2d4c90bdd9bdb232ced7be4710 SHA512 a749846f8beb9b01ce61473f6ce123afb1b9f6efd91428cfff1fbbdd77422867e6eed4cd04c3ef25cd2d5be59864fa0e213ce296735e4021ac4632634b345838
DIST libc-0.2.147.crate 686772 BLAKE2B ab2f0c65d071d46b8b88149add1c8429237ef6d9e0563d56ee1adbf23e6147dbb57fb68fbd02498f8ec75327693237a47e5e5259615ce8b0d5ed7a03bbf4fffb SHA512 bfb3c230b59d623b98726f92b7c3f897b47ba3d22fe9834c15f5b4c1b662289aba35a0ae3acfc704ad74696db8c691ee007b9cc6fa03ae65a18eb6bedc81931e
+DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807
DIST lock_api-0.4.10.crate 26713 BLAKE2B 113adf8554c65e9782e8fd0360d0398567dfbfddb1fea4928cc152fbab98dbe086e42b81170f6f5c333d61dd3261e8a1ebfbaed786e6bf6378e6afde6d7f9e5c SHA512 ffe8cad8099bc382832181c1ff95e0935993491f247114604201be7d4ddf8402fd4db8fd6499c611f95fbce7d57dc3d3738eddfab31c52f50ab8709e549697db
DIST memchr-2.6.3.crate 94377 BLAKE2B 5f1603397d6703ddd9a1e68429cb6e9dae9021e14692c1e084f3b5c82d36645a1fa930c7a76b97df8e1919402fa7e1c621969ce85ce20c82b3087104afe18f25 SHA512 8d5e1425ea702a0950c95271dfd2e81610731496f77af0d683536b074a22922a7d7ec6da41577487d1d658e3b27257b7d1e142761b523e68760a2f5f24f049bc
+DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2
DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
DIST num-bigint-0.4.4.crate 99369 BLAKE2B 09a44754e3a3d4f949b3714d96ddd7f3915164d611036675e3df421d6c0863e368eb0180978a4ec27fbfff529b4999d2593e411903516670c24c08fbed6a79de SHA512 0dcef3344a933509fdfe87d6adb0bb1bf67af3c692ccaeec5663a8f18ad0a251199ef9c7a24c25b95d1b255b413947e70f0a205669d549b13e54b6f4864ab3b5
+DIST num-bigint-0.4.5.crate 102281 BLAKE2B a25880f907caeb948d0a8619180be7e1e66d0644819a842fd1413a1ecc8d7cd873b4a55a684e8a98f6bc1b74612e20d3d01389c6753389cd9f4cf7f754125fdd SHA512 0d3b1da7f37a441cae0bc276b5b9b8aaad2f5a7ddc3a1c9b6c6e09be70147f7430604c74c57a79dce12d32c242393c8031ec7bbe9b1cc6fb6e496d6fd151474e
+DIST num-bigint-0.4.6.crate 102801 BLAKE2B 0460e7dfdbd44b6c68fc8ead6bff4353e549127158dab8bb5d217ee33104fe9ad5f58b63a01d56fffa8d7c4df1a87dcf5b536e436a0ef98dc4418a4690c4cc15 SHA512 19d14a7755de2b559026547d9e3e1775e636781bdfdd418f2e1d962c51411a0973a46d84d0356e30c0f708a7c7b2097926611960043f71391919cab1aeb6aa04
DIST num-integer-0.1.45.crate 22529 BLAKE2B 4da3e801f71ba8f92c692497e200bfc8d32183c94eaad91260683b09f4697c03175fec7cff5a9ff3782d5db5d514d74f22f7a61a102c0f0d2e67a7a4b4f29222 SHA512 731bdc09c3af7f9d8b171041f2957aa60facef93b06886000d8ba60d410aabbbee358d700bf31b2588b2e077464f290f24a0b712df7bb7f12972675b6c9bd735
+DIST num-integer-0.1.46.crate 22331 BLAKE2B d88c9f84e5d803a3aa8f44dfc1bd6d9b5e336e7cbf47231cb3a7de30dfe263c41c62c586d31f0029459c8c240475cd329b3fce79f355be7643bdccf8d56dcbba SHA512 e27986d91f6c6dc3d5a0900defe28ab5f47905cde3f84d0914b7acee076dca8fec6fdb7b631ac94d3a31eb01ecbc5854e51afc3187cd1abfa21e1bfafdc700ae
DIST num-traits-0.2.16.crate 50130 BLAKE2B 1101d28cb4dce477657684a068792b94c7008a965e655edbabfeff51cbe6f008450dc6d7e4fc5dc4fe9c3ee8623ed77a7bde83ce2f68e75d618295fe6cebe0a8 SHA512 2ef65e2f6275b1000f611cc4d019b2f4846a8964b54d9b96462da10e3ac9edbf3d1de82e40094c76f7f5205740361b0eb0ced414bcddbaba5955144f728c6f94
+DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956
DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
DIST parking_lot_core-0.9.8.crate 32383 BLAKE2B 2f9666872894d1c85895437d1353f9e15be2bc8d004ffc8f0e5be95e9dd4b274797db3752eba1c0b5b6071c1b8a71e4857cae0b2aff1afdaa39e92e70be2e6fd SHA512 8d6dfdf661b0f7d0774cb9f61121f2daefd182ac8a2a0d24eab451febfbe1a664c815c163d34a7f3d15a54915a8e22e6c6cd10e89cb7d7598d48d81ad6a3c256
-DIST percent-encoding-2.3.0.crate 10196 BLAKE2B 155bb1aaf0db4d22179bbe24b2d312f3d507876436e8ce76dfb59775282c1136a6c2bf5672f4b6bc274e4535acc9e50497c3e20b77aa2490512755c9cc9e6c41 SHA512 54ba129b0f3b43627707be994a281cdb69d5a7bdbc91dfeaa0226cf2834adeff7d2597dca5d11dd48b5731e831acf1284497b251abfebc0618761f98fe3c01cd
-DIST proc-macro2-1.0.64.crate 44848 BLAKE2B 4422122d9299eff3bfbb4507c4a117fef7c0906cab5a680933d482b7f9b49480bcb9c8172b412e70bf87dd0737b8532e90c310bf083f144292cc72190059ba3b SHA512 884fd14ff23c19420692e35a38f88bb6a766a09da105759cd958c315b9360a2c49cfe61ceaa3122307d44040195ec9dffb12b6d0ce224fbac5d3701621a12b04
-DIST proc-macro2-1.0.69.crate 44271 BLAKE2B 9d1531a0b123e6238363d574bee03ad050454b65710b9800c12597f3a9ae2f9bf50c617da0472b7ac0b549afaca19c546ccd6519e648598500efda9c0db2ef6d SHA512 d197cbe9b6100c3193a01fd7dd6b4e49d440290012ababb5d9f139409f0afe816f213d67a03abeb1f3227228e0a1f2446d1dc0a2775363a15d1237c38b45d6a1
-DIST pydantic_core-2.10.1.tar.gz 347316 BLAKE2B 782daaae0781da0abfa48056a9eebc8610737b719335f013f9573e3fa886f89af99390c5e9fa2ceeb46169392b480446a59acf0f182ab083b8f5dc8d62b090ee SHA512 c07d838268bbaa53e8a49afe18733532ac3f43005a5d4e4dee3a1cd23fa94af91d6471f9f2c146cc317cb8d14385b4aa7af404fdbbae7b4538f0cefffac7cf58
-DIST pydantic_core-2.14.3.tar.gz 359117 BLAKE2B 59a91a28009e8bbd5f58c37ed6b498c440bb2a5dce3a70841674d34f14b10b35c55b589f3aa137200f7a6c9ea6dbf229c65143d1d708358f25974c730744dbaf SHA512 e0327b1b48fb15f5695075da72ea229be93c9b7c7c59197638089e737d5941e11ad7e59678d5baf6ace3de3809d71eaa38e75849aad2fba2dae62ef153672a3d
-DIST pydantic_core-2.14.4.tar.gz 359851 BLAKE2B 9846b16b56cc7d9a567919a26edeaa71e4359e278a828b9bf2ec7ec749c7ab36b2f5c309fa53a47a24d85642de29e0b085d6b7731696460b745b860b78090502 SHA512 268be4220ab5eb4ada070c9eb7ffd56dfa29859896708bc3f0b494061a9848520a88e2d6b1e7ea9005b2dd84da1db98c2aca92f62e38317b945b8b9c211e418d
-DIST pydantic_core-2.14.5.tar.gz 360131 BLAKE2B 00385297c5a16b7a11c0d219b58f954fb98d0915826bcd0b2ad854307091ffe64735a44d93cd75512ffee1ea831f612435bfae91c895d3bc2f65b1032386c5f5 SHA512 e6c3081dfa58d9b59f8c33dfe80712d732ac3048a2f8240f9a0f5448d9bfc83e222c1e08b8bb49779b84f685c3bec3060cc935c113a818b1ab8aa955f3df2238
-DIST pyo3-0.19.2.crate 418228 BLAKE2B ee018b33383fada78cd22643aea9231a8c8a2f19d1eb297f40eec9206c5220f322fff4c926d939a93a24ac6d231a207ebb25afcc0709191151c7ed9af7465efa SHA512 58698183e0f2f0507f8f765bf3e90185c933e78d62f0a9be65c4b1ce8eea19a98fe0341abe7c58cafdacb63a012ec417876dccb7be6facc1360fcb22796fcaf9
-DIST pyo3-0.20.0.crate 431766 BLAKE2B 104bc21ce2c6931753ca0c7b2d91693f454c964260ca3c4628a899fc8e7edbe4238db913ed7356f3beff154d88a60a17c0e252b655768e75483e1d9d9b86f40b SHA512 85d9533c75f905752c62f6a4898582ae48daf085e287b44949c47260301205a5f00477927877ce46300d2801d22fbc04a958c058a37eb28374c834fff27feca1
-DIST pyo3-build-config-0.19.2.crate 29206 BLAKE2B 5b1cd80d643e448cf8f1d28a514333526061c178121b9a0dcb5bff6082f402ecfd166536d94d42065f6dc1f108a73f12bbb78eedf9ea053a6aa2e9c80ac00ddf SHA512 ccc73061ec1989258921c5b5800689170635fa5503d74a4ac458baef903dd31efa41995d238783f1e099ece1f66d0a0e95c4fcb4b772b9f653dbb20e838b4e28
-DIST pyo3-build-config-0.20.0.crate 29534 BLAKE2B eb1d5f75276533483c52c6fcae49b294d6d8edf504859dae18811c1ef695dc6d0a055f2a34bea305975e4c1492c312433d2dcb7753484f793376c62cd59c8e40 SHA512 a01d06ebeb4b9cfe6ff6731046101e9437498453ca5aa68ec53df3bfb2f34665a489f8072636c2da16c1e867f536032fd293f05a43561117fd131bde5fe5aac7
-DIST pyo3-ffi-0.19.2.crate 66500 BLAKE2B b4139fba31ef17017b6b60784e41ccda34931a072c2638af1eed8d02d7af701c46fe38b12772d2301cff41d10a433ff0f00a69d79d40233eadafe82abe585f8d SHA512 789191bca537998dd23d72dce4f185b84bbe700f4171c47de35b9bbca15a180ad214392b4f465cc1ecb0be955ebec1cf5a3c497815073be18035bd8bf8c51a32
-DIST pyo3-ffi-0.20.0.crate 64220 BLAKE2B dfe75b9459b4a564d1dd9f907166b76d00c5b50ba027db65d11540a7b993f3ef4e19e574135b538635ebb9c9eba66115c09198c7b6071b0b82fd94faccb1bb63 SHA512 a68f0b1380f2ac3d3034ac8b3788cd6573850137c6678694cbcc3e814b619510b9b21b11704c2e702d4eb7433d8b1d3a6dac663501b6db5197a409407802b714
-DIST pyo3-macros-0.19.2.crate 7173 BLAKE2B 8862f42a30929579b0b0bc2ba7f0b416518724480e197fa13288e49324e851f964183e1529b7f31bf5d4fe0ae194a412723b6b401100e66fba98bbcd9c283866 SHA512 852cc2792aa3d30d9ab8802a451be5617cae6536adced1bf0dde71704a3c7c1bfe862fba751b6d045249819a8ba5d87dfc50914d142a0b662f046498c06f8c2e
-DIST pyo3-macros-0.20.0.crate 7678 BLAKE2B 03fdc0cc9c735086ca2d27e0bcd197e69538c3640ba7f87bc3d65907db374ac7283f61bdb67a1d45b66ce972072ddcb3b1daed4aeb9a66100d11bba6515cdc86 SHA512 79b61f55010dad60dda2c5061c9736bef3f6805f28db230726937340a5c40a3fcfb727a0db7779c3eb094ebd45492f7af4f40a3fcaef42f160989a8ef6174e7e
-DIST pyo3-macros-backend-0.19.2.crate 49962 BLAKE2B 9d8a032c2205f55d2431b6bbc40df153339e08479df3a8a65506ade7d1f3d17cfaf664cbd09eaec9acff3f5a248598e37427d0c5a531eaf527137803adf49834 SHA512 fd708e6fdbd54ef7c676bedc62070175bac6b8f7ae11231578196dbf552b163a8a2499a1266f786bb6bfb85517fe83610902137d59a5c42efcb1a27c4235a07e
-DIST pyo3-macros-backend-0.20.0.crate 49383 BLAKE2B a239042abdfcf5ad38505b57bc6b858ba346bf8681e24acf2e433f53e4a40bf0b28928b434b96f596d12acbb602b14b7e1bbf4be1e5789e6d9c754368db00a1e SHA512 c823caba48b4a30aaf84c23f80934f0172f2c76a41b538b69ebc25afcb61611b54b8fbb4ab6cac1c7a78b4e6f9f909f22748a2cd279b508d3897b74b17021d56
+DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
+DIST proc-macro2-1.0.76.crate 45660 BLAKE2B 40b538d9d9fec10b9e4b147ce0a86efb10feedf9e0452e5568e8ad7d2b88a201ca6ffd2cd62d8815a1ee72d557fe6280120a913868c3d868c1235686742cd8b8 SHA512 2ea7ade475171166489ab3e745e8c526e49c7521bc39b1bfec6dd2fd0807fd3cc5579235f77534be855f9ecab481205e77e66b14ebb22e66d2c3cff842567247
+DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
+DIST pydantic_core-2.18.4.tar.gz 385098 BLAKE2B 6bea502397c327f38a000e9ea3b59b7d7f9fde5336562a081c6cdf88d92fe5e420eecec696ee432f1c6c5ec5dad8173f250897c4ae681a367ad28617724843f0 SHA512 01bdf79a79468e2a6a66f41830b98dc0adfb6d87b221e57e1da5a27b4068dea906aa987b9a7eca3bdc107e97e6bfa9ea164c527bbe2ceb683419ef147747b786
+DIST pydantic_core-2.19.0.tar.gz 385827 BLAKE2B 353c01dcef56709259e679d10d6b2397e5f90d4c734bbd31bfb6bddfd6011a2f74df4bcabb2a1a3f6a7ba9d0b54d693260d445d8ab6795e28185f7d66c823567 SHA512 779e31900ed80c922c7e168f1906795d5073f5aae86abd74af8cf54a53fc366504d42b6779665e59f0f29ea3f4005ed134403bbb5726f90b44b165118ce569bb
+DIST pydantic_core-2.20.0.tar.gz 388463 BLAKE2B 8ce5fe944ad143cc05b6a69a48b75a69f474674d1f92fa7614d509b0365e197c19b486c6fa6953fa64527fb3520e63e157175fc74cd4e38d0a2685bb00216fbf SHA512 decff9e19daeab168ef3494d0864df0c958ac9932f0c6ea8ed965dca0070ae0c4c9fe717210f69f94c26c815e964ecceb531e552217e8cc9755173899edb131b
+DIST pydantic_core-2.20.1.tar.gz 388371 BLAKE2B d8c66cddd93fe4a56a901e5f06fe86c0c87b11397567e5400bf89e5884e13c98d37bbdc42ccd0bdd67c552370c17ed26d9a7897303544a816022d8a47ee8bc18 SHA512 fb5362a07282a54be9cbcf0773b5492dc1773c71d96979586885d920d794b13860a32a8165e7b5e023f9f0f7a3c85aa5098dc66d6626d5d290d3ab63fa70453f
+DIST pyo3-0.21.2.crate 504574 BLAKE2B 1b8bf374d1b61e3e4bedce6344338126051a6d951ea87d258e5ed92d4c0e13b0202f2e7e56500277c54743dd16c9b4587f436cf2058567501c8a9ac7c6b6c17a SHA512 5f88cda423e82b62698a74ceaa31fc27e5c1f1d417928accddb2e00337d163fda622f774ae6e24c1cb73c467d6b01e9a2ba866e4454338b1fbfc892ae14ffc53
+DIST pyo3-0.22.0.crate 535742 BLAKE2B 772a4f8b718bbec32faa3dac4cad07a5b452fb366280753c3316d932663bf367192483fb5cd0bd405321128e67157b982eaa89264685739a141e021f0f7e2b72 SHA512 44e0237fd3a8d4c7b082c48a5c8a52d8f4cc4673d134f680e29504bb46d870015fa210da34de4c1998defbcd4afdf2aaea4e148fbe093e4b2c8b0d064cd48da4
+DIST pyo3-build-config-0.21.2.crate 30581 BLAKE2B 993c1f7f15124336b70570ed3949cc0873c2b883e81dd3a350f347cf014fb9a82d487197fdaf475989b727b7ee8d9a5511a72422f76126b8788c4f40831baed8 SHA512 8b6bedb31235de3dd95bca6e19ea4eb7752227ceb9f1c928c4df2b277df5ee443e5c262e448012e4e54e3104213db4d745c9c42f79ab3029dee68f48ec3a2795
+DIST pyo3-build-config-0.22.0.crate 31205 BLAKE2B 6b9a0de5f431bfc123628c67da040e146e39353d7b42d8d083e1911929dc420622f8a1276229d89b7780bccd02a8e653bcb85bfa51281e72ddfacebadef5277a SHA512 50341f4e5134a275610a5b86e833d1963a0726c2ddc14f4742053c60ad336ee209e73441aca46c8670920ee47a81c76bbd3f9e6412d253a5b389692ff8f3c1f3
+DIST pyo3-ffi-0.21.2.crate 66160 BLAKE2B 759622fa3a41bcdb48170983c4e194898415f8db16a7c57ace89a7945bd47374d9a14e5ecf24e80a178bde597cfa30d41f9e6617b458d365640bdbda048e6f6e SHA512 5cbc9dfb14569210776fd66341e77e61642a9920354251a65b91aa13a0fb1c373258d1a6b4f8feacdc4266d472193d8f20a6dd2cc180ccc3d43fb66237ae6d0d
+DIST pyo3-ffi-0.22.0.crate 67420 BLAKE2B 65e4ed1a1ce854f37380aa23637a494226b98941b9e3f13eae8f627db0fea248c3cc93c7e594090407ab169cfdb27ab20c47f7004f2b4646103ee34da9a55f31 SHA512 cede32dc8025badcdd6d00b4a1204c6ceb5ad30fa0b637deecca669f2ee2b8961f88d9d867caa8cae59f498dc4e1c15f3b4049c5f47615e215b0f289fc560bce
+DIST pyo3-macros-0.21.2.crate 7920 BLAKE2B 60ceb626fd1ffeca7e81ebc721bb4cfebd99bb708d48bbfdd296b250ed41471f82e8657715e1f58840423ac11d8c5a84a6107a7037affdea4e0c2cc561514ed7 SHA512 95335a55d57346107fdc7591d51e36aa0a985d6c44a875475a0ed52df25d33b21a7b922fdab0eed190da9708968e79f7cd50bc683b6d210eb068713a915ac7f4
+DIST pyo3-macros-0.22.0.crate 7889 BLAKE2B 0b61caaed415023341dfd675c578e39cc3e5b2a08eb8c439857c81cf6cb895837f5df28decd7c08a3aa365411ff33a97eb5fe2f20e18427bda133f7df53349ba SHA512 ed9e9d6322fb8d3fd11114899c3ad84ebbc5b5eba58e5aabfc7f9691f02ec053f1c2804cea93d21f2ac9332f5b719b7fee9878faa95f21eb2a2d86f9050c7339
+DIST pyo3-macros-backend-0.21.2.crate 58088 BLAKE2B 05dd49983c8aeddc47cd94f6cd58f10e41ad6f4ec57006908cde4fe3edbcf6814058d7843a88c9dbeb0824f840ad3509414c52e47fffe5ad4b730f791c9a3f19 SHA512 f8488ba0a68f1ae20d053e2323d065f03b40c24231a50b05205b100e973ae50bc7bb9c25e4d37df56f4cfa73d2001655ce9685078d1017a4a90bd7945c01b833
+DIST pyo3-macros-backend-0.22.0.crate 64837 BLAKE2B 4961b8c8720bfc2bbd11089a658d64cb2b1e43e150e622d53490faec3b905344d256b2092238ebb1dd92290583ee7d04a12eb5759bd55276e7042e1c948c71bd SHA512 09496c7285b9faaad820cfea237ef602569de3adeaa3362727182b0cd1c8377ef55c0c28f14eb703ea73a86c94acbdfb1384b44ef32b318a76c730a0430ca233
+DIST python3-dll-a-0.2.10.crate 74573 BLAKE2B 770c5b070f4dd1b9639b8aff59bb733575eb1117ae8e510818b6e13bdc69b22bcad395bb5cf0d1931de3562775a56e1404bb7fca7384b62e5e782e6284fa1494 SHA512 c1171c29f6914ff809950a9f6c330638e72c58c7c691bf4d9e765dee47166915cc91131b494b65aeb3a812543690c5072f2f5ff32cdebb76ba588330f9c74cdb
DIST python3-dll-a-0.2.9.crate 66092 BLAKE2B 2c4baa31df7f55da8f1c6073525b4498bae7207ee38ef0eba4dbe58088609937a7d7b851c603ae62e5eb5361881e67a05d8c112d0a76aba5d99b13cdccd59d59 SHA512 1914d3ce67284f13551a4efefaeb9c11138fcca3d5082746282f64b7a36f732c6834766d981f27d862a61410eed09b3d281e0cab8cc1a46d424d04823ffaee35
-DIST quote-1.0.29.crate 28345 BLAKE2B 3aeb637a4139730348775caab4d48173650d8bdce08247263d741ccc657dfff7f2facff05725bcaa73486818d394c392c64ecbc61bae3f5b612104aec16ff289 SHA512 d686a3943dca059a8e79689c77e6e8f6dbfa9b16a1a7ecdd27099339b77a55334252eaa8b4340e79c35ebb1f6e4deeb3f6356dfd02484f9c724e66a74387e30b
+DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
+DIST radium-0.7.0.crate 10906 BLAKE2B d576e0ea5c5287bcb6740cee3a3838b6ae4dfdef0ef05d34634b96dba5159e48260233db57a767c9e032fa5d9a5798361335cb19f7844f450113ece30ffbc51d SHA512 51e23cf52997b46c0018a94b0259b29d7bf33ddba19f6db406ca57ee5b1417d7e5f27dda3bb487d0099886011a97f238e8b3dd4d6c86e8464c0b471c1a7622a0
DIST redox_syscall-0.3.5.crate 23404 BLAKE2B 85aa4299d9816666bf576f523da5cdeae87b3c8fbb2af103e82258d23f73303c068a4b6c3ef4117ad67958cb31e41f836a9f59f2ce1bc52c23605e34399afcf1 SHA512 16f8f4766932bb54e4740cfdb4f0802f76246c0bf88c1d76c69c115949b124b625d8c3b85d8947073c2e9544f425aa16c10f71fabe3c03d29e424c47fe4ccdde
-DIST regex-1.10.2.crate 252839 BLAKE2B 4be7bede72d41634c52eea25566fb13337a84a055aae6fb73d3b18ab9168085ed04ffbfd5b6f87c2f85c9922893b9c9a253a8c874eae9185b2100850443b1517 SHA512 e594f70cc540586e4039e7b905ede9e507757b531f22a94aae185e47732ae0d54bceb2c6aceb815819a9652c01ccf697798d372631f2f864c04ca2eec59759d3
-DIST regex-1.9.5.crate 253883 BLAKE2B aeb05371251aaa0fd11dce1f22ea095345b3b1e68d9d5e083b4b8b0b938d0d901b3bade66015bec830db3ee71d0d2ccac09b842ff9919e08b0e98112ea1897be SHA512 79b921edc977dc98bd07e89dc17873c8a1088473ddf941504973259bb8c46ad11bbe3818fb88a7ed07b86841206c322a9555033d0a5dfebb18fcae45e07ea53e
-DIST regex-automata-0.3.8.crate 610113 BLAKE2B 1aebbca26e76e85b42b035fa9ba02f98425b75fdeeec0f12c1c08e8f4a320c64d36c129c692e622256d7f8772052041c47df1aff165d8337d55d61770963a777 SHA512 47ad01be2c51fd510576e14f399b7f30d379a2cce2dbef3af4ee3e609859451082885132ae703c810e2b19bb3716976356e057a1a592ed507146aff9e7138dac
-DIST regex-automata-0.4.3.crate 617011 BLAKE2B e685724eb037411c1a73d6d355c76e9e32c40f1c9029acaf86477796d3f5ad092b0c5619f4df2fc1ce34243f2ad8af147aa31f83a435e5b5adf55b4c9c8a9359 SHA512 4fc82fe3556f829956c3172447589555ef286fd66ee9a445cbdcdbe57970655e35b6eb0895ba02c344d826609257e0c95d3f7f51858aa260103bed7b08d8c1a8
-DIST regex-syntax-0.7.5.crate 343366 BLAKE2B af07596e45e3525ffd253d6070ddad08dffc8f0409ea14843a135646da8b37a7a568c12ede809d9fa47eec2329f68da7a3b3c0e0cabfa200de64affe6ecefee3 SHA512 6388dbf68c8c86d8a5bd8cfb13a86e9ab2da1a339fd607c1a16848f85dd21c85d744d694c7b918954ea27eeefc90b589926c9da464343fb78ab639a5e2925efd
+DIST regex-1.10.4.crate 253191 BLAKE2B 08bdb925efbea1ee9f885a89ec6b4692e39d7b17039f788e5b3c1dbfb7847d4f53b67f0c61e4085af7ef4901e67e33ea94948668bf706fef19b4102a06ef0447 SHA512 88ef121a51759f418d5dc01607a6e02651bd00343dae92962c02a80f30343d3f079a0375457780ce46bf205ca38f279b03989154638199fe2fcede10554bf21b
+DIST regex-1.10.5.crate 253805 BLAKE2B 9f5418b577209051640c3614a98b15604a1e71144763a6f00caa7757f0ff67fd833a7d14fe9d6acef96386a2a4eb60cf5d490472e73fd62ca8bb0e78d4f9f125 SHA512 177fddb001e14281510e34070f88f8e5167278a46f1d93d9286d9606b7673346f504e4064d7ad53558e6988a400c728e33b663ab398fee12ae23fba7158da5fb
+DIST regex-automata-0.4.5.crate 617406 BLAKE2B 21826731ed5439a12cdda5a1ef217dc3239a0884d038170855985bf830f2782bdf4dbfd1b1a8812812db3a2399dadf8c173e75db635dfabc97382fda0561bba3 SHA512 0e9681d5c4529d49ff2555b7b73cf234b1f321a7fc634beccdf76c2bce5094e8501403e8caee2b3a16ac299cbe4701d891f1efa380b54f9dc2d92bbacd4de611
+DIST regex-automata-0.4.7.crate 617582 BLAKE2B 6295d866706b623b2025fdc0c407086fec15053229d708713d0ec165bd526ba25e7468d0009625cbbbc21d20345f0af2eea10addf6de633e8e6a02dddced67b8 SHA512 b19d00d64bb8cd833cfb35fabb162b9481716f4b7f6035c1c8f1de4e0f90e00823d006e057aa3505aeda48c9e1802e61173c4a2878891129a3a918727e43b0d3
DIST regex-syntax-0.8.2.crate 347228 BLAKE2B 211fd1c35ad0f28874d4b4d276e0fb0a27e5a1608f2f16ba2333641b154624e378419daf8d1c955f21ff5f40f6d49c89569b7e11ea5649850846d0fe447a675c SHA512 301dde555f300298f2594490ccd8b92033e4917fe9b8671b8a97db6c827793c73969be85a92999964dcaf3177edda51abeb576811ad6cab9772964dc0a77e728
+DIST regex-syntax-0.8.4.crate 347577 BLAKE2B 400323cdad2a7daa8d4006e4dd7a7b1234704df0f80ca0f4bb19447f8f1d270053bc8aa613e48291ab3a78c7eb02d7afec57bfc8d966a48b372a4c80de9b120c SHA512 10719c138d9aa304106fcbf77da0b01645d1b6fbc621abb639dbd43ed5fc3dbd22aaad8b86df55a60e7b2b4fc347b6f41419131d7b047273e146073250d892ed
DIST rustversion-1.0.13.crate 17267 BLAKE2B f2cc10a9d998b95bedaecb60298b11637724058634b00844d7e3e77dc321d8c7578bab9a9362b94c6b4b30558df538578fe7a4a05a130fb16795e913b3fda8bf SHA512 4705face9c4e2570c6a7c8bd61ccfe1ce68bcc7bd11dcbb9e7321744de38277d1f66429b59498adad3cbfc25de68dbf194c2d244ab74003830ba5fcda47e621a
+DIST rustversion-1.0.17.crate 17621 BLAKE2B 1f077ca6fd90333724d1ea9df7f5b178f37f895b71a7b2814e9ba8618bffcd2307f9cb4ac2eea25d461a6686a4b5b51eebb80f1b1ccc773d4da1948c47fe8abe SHA512 0565cddecaedae17e7cd99bc34f54cda242d4c29cd4269f8e3b178ff91d49f3682e7ffe66e436bbb138299736c8e55cc143fefb74c076911fefcc41ba98064f3
DIST ryu-1.0.14.crate 46861 BLAKE2B 208fa87e54e3c6831193ddefcdfa7e9731a3b72de6ea23a4af708a15487cf4d6cbc49fd3681da078390741595ff5d44b02e607cab6ea9e37e7f5f05c7275b4a9 SHA512 9832c760d1ac674ba362639968962928971231d696e450738045ca36ae2780116ad865b2bdd96e36f14d8f92e12107dc8b75be90c74d76e3bb834a94bd6e5599
+DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84
DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
-DIST serde-1.0.188.crate 76230 BLAKE2B 81e92adf17e3f2ce73c82e3069b8fd656211cfeb6755abd338b74d52f748f5bba6690abf5c83ea2a126fbd6187bc587b539f0ebcf621e928085876f28fbb9513 SHA512 7d42ce834bcd1034f8ccbcd6646cc93f8e189e344f29f4d7b0ab148ba11ce7848d0ab986dce7a0245fcd6893243f5768f7bc0ca9c24c75c53585ecc899d312d2
-DIST serde-1.0.190.crate 76455 BLAKE2B d0f6a52615136d810760c6da3078387abc67ff5119e25953004d470ec6f5c569abf1c324b777c004714b4b15bd49a9972ec592372c807b26f3b4f124d534c833 SHA512 7f1cbe819fbae803865beb20b5d8b9fa52d503e04083be7181c1d04b702aaecf553796db960bfea87dc17ef864246e78a919219588064fb083e77dd2c6c16ce1
-DIST serde_derive-1.0.188.crate 55563 BLAKE2B 3b24044915a704d9d8a2cae6e6547ecffea7ee3fd4260ddb2bf7fa38b23fd7fc597b61ac28bf65b9f0d45e18ffd6bc7596f5a3d602cc79835697fb3f5440242f SHA512 fa9132a319f7829e6afad65289031be99255466d76270875d9d81f82f63e53592eaef5452d0df38da92e9d0b6f2b37e91026635fff4bf597b0ae662b71b5eff0
-DIST serde_derive-1.0.190.crate 55676 BLAKE2B a6558987927298a6551a52d7a8e265acf1a3a0576716a881329803637b6f7ee7b3329e161bf5b37e410264c03913c2c16166df7dd25110b1295d61806600f4f2 SHA512 5b37b659c45ab95b0333d787cc5e8374076121d548837556774cbe768073b02aef4a6889e32b738ce5d85613264ba78570c0af48d049102d4d687ad791dd09ea
-DIST serde_json-1.0.107.crate 146458 BLAKE2B 753be6076826ee0ba41a067e81c031e6fd69b539086a2d649e6595136fd05d61b717c3d4cb6774af0a0c02102f7f4588e682bd21732450afa93877d093596880 SHA512 ecd4ef86538df402f2a397cb86c5b4b277a9a43d742e2af3d51ab5ac0ba31c677bfc72db06c10f8abbc970ee41d5f77d758f1f70ea18495d96bf78cb7d66c2bc
-DIST serde_json-1.0.108.crate 146476 BLAKE2B 9c0ceae5566a4e0ce7a6264939862f9dd920bb47d18acebb179798b036c376d97a4e9b0717092903ab90cfbf6fb73d37518e3cc25f3217af010296f5644de396 SHA512 7d8d1b74515388d99983ffbc5696cba022305cf4c797d3ff5d2959fc8fc8f4ce01cc4c9e7ccae7097b06b5acf5307027f6b7315df1fd8f58e681cc5968e79fb6
-DIST smallvec-1.11.1.crate 34831 BLAKE2B bad85ddb1d3a1fcec0cb6aba413f90695e0aa0c16b2b231d6d15095bdd6de1731720ea2b394c3f9a444d6d4763bbf44cff389a01aef3488dc599d2ea63ddbc36 SHA512 d4ed45e8867366072e77f23ebe8b31be96be37e5beed30fc2b5ffea81ab04a2ad2aa34fb4f29724b02a5eb90f8b1d8c40b800ee915453947f90758ce999704b5
-DIST speedate-0.12.0.crate 30792 BLAKE2B 2280dcc9396546b8c46a13451cbc290c38bed9d77ea8ef9e0b24b1cdc5d52c55dcbcc2ab7768b96854d47a9ceda6e1e119139c9b03df9018abfa16656ba481f3 SHA512 f9f75b9e8111a39922d8e2a525c559f1ae04620cce6c56e64e70f0458ada23d57ecc074ce6f510948cf88515e8bb34cc9b9ca8dcf941968fc1a666dfc9c384f7
-DIST speedate-0.13.0.crate 30904 BLAKE2B 8633e1519be119b0e9f045051374963aca1424025a42319cd5509fb5397af05bf13d1262a9da6f2fbf4d78d109da391411e138a859fbf1b96c5149444b1f4954 SHA512 174d7043aa88c2ef9b0624686bdca2c6c4573fb10729d61e762e244e8079d6b34676956326e9f7c68a9f526ef0e5b3444e59a9701e77c6e90825c51c6d4f98c9
+DIST serde-1.0.203.crate 77935 BLAKE2B 3d3dd4f81f7d74b60483d6759879a9f87c0c7d615aec308bad1bc575fac4e2071dc86551c2789e87331dbf8089e923ae56fff82e6f5a9992cf850121b052ce1d SHA512 a8d302589244e41f6f675e8d199b2532b29f62b63e45aee141a93dad96033e4bbb27ed01c11e329ec2266cdcc6f2a40f41dfc7d1b9bada69aea81d35d2d82cec
+DIST serde_derive-1.0.203.crate 55867 BLAKE2B 1bc8aa96328bb83e4e4ff527b1df855bbcefd333f0c43c96d1e0b93f98a46273dd88a21653bccc8f517c4fc06d17b9b44332a963d024796e0a2c18a5bfecc824 SHA512 b2aeeab33395ac11ebdbd922fcdbda29f2592e7a20e78aef250713baf269cacf497271be7aa407f657aba33da132df0e035be046fef070f915f234097d1dd392
+DIST serde_json-1.0.116.crate 146790 BLAKE2B 20492ac3c431fd3666599f079383a9d945549e02357127a58acaa7011684ef0caca221a253218402ceff6956ee8a20cc41ca3394b25bb69669be75ab22b66a1e SHA512 d383de754b0a50cc4ab3e6378b758ebd6178ad32ebed80cb4e32a9d8e81d0c689585ee5cd35f12b376e488d25ecfaca659be943c9bb4104b63a1c4f9ded2f337
+DIST serde_json-1.0.117.crate 146921 BLAKE2B fda4f87c300762c24163cceb449bb27fc96b089d5ee869b89f204dbeeec704231cdea7a14bc303cb40b621288fcb1a2b03f50552767e32a73c982d459762624b SHA512 363443af23e8e03dd17c0efc94b376f0d89b596c74d70d0437471e78bc20c6beb61da59404ff150af52000162f6df728ce73475feb828c453e58ea43e66ca056
+DIST serde_json-1.0.118.crate 146962 BLAKE2B b85f17cbef0cb9fcc8af5d8d18a74850804de631f8ac94193bdb0ff8c95d4c8507876e4802005e0bc8fc4745d52c79be153d825e106090b680b620acc5b1add4 SHA512 1fa7e01d849684e3ed6f9bd67ba9862f822dcecdcb9110a43182367225f559416f855d59f2b8bd943756957932710b930244963a1f47a3d7d530be19dd412f20
+DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
+DIST speedate-0.14.0.crate 31499 BLAKE2B e5a63d989feafcb5183e010a431976095bce6492817e0d163e8b0fe3d640e5ef87d11569e5094d788ad7cb113c2fe7b822cbf266027095fc6f2d61ba36e8d38e SHA512 55f8f9de2767e7a4aa8f355f9a781adb7c8fbef072393d13092afc9941dde4a1d706b02d908fc82cdffffa876a87e7a336340320908899774c83c76e743e1107
+DIST speedate-0.14.4.crate 33077 BLAKE2B 001a3329e90cf3dc5d8c4db870c3b5339e189190c8b7a89c262bb19efec02c9e42eeba0dd5d12a940a6fb3f8b10385aa05a72ea6f98230c989c68e0be4fe8959 SHA512 13ff498cb0885ecbe7a6fef96c48bca166a560598206b16b003e1237eafc525a0cbb6b401d060b4431a50a9638df88b7ae6834d8980f6474aea88cfc827ec329
DIST static_assertions-1.1.0.crate 18480 BLAKE2B 358dd5ac413d06f62da0388e2016c5fcb8ec68fd7dceb0dbbcb97665c032b7509b7e083c20701648b6a9174485f117c02682ae4bde7ef037e80a85cdf6a0c86e SHA512 46d0e35f77941dee6f60f574c130472248063dc38494c1c4f84f7c048244cc2a58a86fe17c0990e3f0f01406b75ed385a13d00058612b27cf0e867c8d31c92ee
DIST strum-0.25.0.crate 5539 BLAKE2B 9c031e5ce19e2ecaa63e63118197c740ae9295b8881f6280ad92847b99fca6fb08b0d395ab1b2a66e25c8374cd18866d8436540538e3c0f1f047fd2235971b40 SHA512 a3522df79547e94518f25a0e29248f67f1d7e2586a7a424d7d996cb6bfe5d98fcc4fc44da7ddcd4e35a1127b2816bee55107f30cb2a559f5b9bbb1346139544a
-DIST strum_macros-0.25.2.crate 21964 BLAKE2B 9069220e7adaaf9e87687a710ba372e5c360f56b81d0a1cf2bb9dcd9b81d514760f301a27c9bc049876c34292ddf74a4766a83a8467c1f281fecb2a356c9e36c SHA512 39e80178ca26859fa915195812158a0beaa7ec106c111e7e3a11e70c181bb5462074b59e236645f96ad197c2480dbdc481a4cae0a90d60311e4cf70dc7020149
+DIST strum-0.26.3.crate 7237 BLAKE2B bdc348c718c39609c00b9fa7d47b7090b1467022b7a8a28cc7c8a72a0aef20569c6ab22a8a8d26c2d9272f18d000e4ce94858a6647194f0a7b86d812d52b05a9 SHA512 62f116d5bbc6167a6ac68b049f8045bc660901f1ce1252f8bdcd91cb28bef821aad8098905369db6c2fe74c134a5d549e55ddd28e383d7d78f7175258924b268
DIST strum_macros-0.25.3.crate 22570 BLAKE2B 511af0d1f0f76df7ad1528c79987b6e09390bfb33e1c34078fb5450171aca7f169afb83fa2f2338a861ded6842c8535ea6e4cdb0d31f341edab0a06d7eeac16c SHA512 e6ebc00943d9f88104815a5bd6a302a391a06fb0ed5ff836e01d341150628684e00e5e2e5b3f6466ece92d376985246f818243a0d1d775cfa55d1c50c0ec0c62
-DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
-DIST syn-2.0.28.crate 241635 BLAKE2B 5784468a0dd04eb298821ae5a3facf72c5fe5907cc469919b0a0b636bb55bd15e9e3a31c9ceb05b7b0f88e7a53e5891e6874641b61e5fde247a91361ae37047f SHA512 96e83979e70e2e1e46ca2af45d10fb259847d61e327809a51351a988282be9688a8c4942a284504674c8684970082dc15cd9ab9b3584bbfa68ac9716e071f9c5
-DIST syn-2.0.38.crate 243284 BLAKE2B 660de454989016dbb352c262d5d066ddc663eafcb928a2f62f61e6faf14cceed5cfbc37559e3795e1ce7886c78842be71eaa82ddced0cd6dd99ad99f95ab8ca4 SHA512 84fd4f4bc6de97cdb63a1ee9161daf8fb8fd1fa0f3c3bba4a29c463cd62cffd292c45b8cf17fd0911e580098cadc7b167e4e686595d31d72e7b53ee7df6d5f04
+DIST strum_macros-0.26.1.crate 25326 BLAKE2B 2f52389676e1581abf42995a54d7725b0ece50ba8da2ecba700c359a4bc3dfa3c48440908a57d8f25334a1ab6a844093e131dc351182ecec1cab9bff1b04c407 SHA512 f41fc17aaf84385437605ffa751a9f03d19d230780855f86d60b53de4bd1891519a3550c41a31d44312f44b59c3c184286d9181e40c3fdda3aec0c2806385455
+DIST strum_macros-0.26.4.crate 27531 BLAKE2B 7f7d57c957a1591054288fcae6590a5e669fba1b47d8f1a52371ce60fd84f91fdb430e48cc7edbb5fc72914be5ce12af29758b653680da3f4177339b31206750 SHA512 77a17ce47d5e8fe8a89cb6aa6c3ca5d5c2625aea0f93456f05a9994238cd3b08b3f7c6a45e9b3db21bca8fb5759f505f15cc111ac84acbbb34d59cdae8307b0b
+DIST syn-2.0.48.crate 250566 BLAKE2B e46b0863af76c3116c84d01b654a9820b7edc51f75c9c5301a7967d12284f78da602409f34fc40524728350dc6b998a4d738f08b8868f95236b3e5d24c460580 SHA512 926c0ad55cc743df20f9166b6d71fd44421aeb1f073fd86b6ddb53e13cd508b539c0360ce64b07b65597bb14639c8f33acf7e60951e1e9128624517aa3aee325
+DIST syn-2.0.68.crate 265035 BLAKE2B 8bc6f68ed286bea617a2cfaf3949bb699d3a0466faeca735314a51596ce950e4ee57eda88154bd562c1728cfaff4cdb5bc1ba701b9d47a9c50d4c4f011bee975 SHA512 7b781f8ea2b0d01c06f47d165da99cd96e3b44a33de1d77c78a2cb37ebe3f8304f426ba3d0d1cf766241dcc0537908774504df7d455d63bf89ec22ac0499d372
+DIST tap-1.0.1.crate 11316 BLAKE2B 60786fd5f12c2f06097330c26809fdcfce62716586d2e1985f8c01406d356ed0ab730a04dfe72ee3e1d6208a53c76c66883d45a76130750b41ba5b82aa721b83 SHA512 d69ff11a46e2fbc276212511878f48eb93640c0b147df6578ea057b23625f9366a7fc3926693fc3809688537af5ca919c91605beed364decf83c35a032310995
+DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a
DIST target-lexicon-0.12.9.crate 24532 BLAKE2B 7f09be1827a5f9563b842c38aff659432ec61b66b814ebf4cc8a963daf6c93e7dc453a6966aa02d3a886007506d2b993e16ceb047bd34f6d206de76a39d08dfe SHA512 62033617d4587fb9d4b3159c78dbb628041d7ba6c5849c27a5755f173a7279aa4a03e56d31e03f87adfae50cef49eb6f0bc5eea1f6a131b87c618330d19d61d5
DIST tinyvec-1.6.0.crate 45991 BLAKE2B e9699d4d80a78978f0ebfd049f5b33d7f23d401cf4f4439ccb168e8c0e322473ad0ea7e2ff0ff69e9aac3e5c4c9ae5a7102185533bfbf96dbe77b3526e700bc9 SHA512 e5acaf353c58c60ae5556130a934f1048abb79cf6668ae467d308bac44b689d8a9997227ea879f4b5fe50f29cde8761801b088d7149bcd063b973056c381921c
+DIST tinyvec-1.6.1.crate 46657 BLAKE2B 0579dd18a6ad47d995200535950ce0c2a0f63ac081ff5c54a5be5e6a9d5f0545266a2e44b09b847e2fbe88e374a9467ddcf7fcea6ad404e443c387d343eac3e9 SHA512 fc00617fe56c438ed417b9c18fb2525e624b6b6effd1b729da9b8f144b36cd02dbcefbbb6fd423c30b1f19309d42117a1eaab99deb0a46b2a474c2cdc02c1695
DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e
DIST unicode-bidi-0.3.13.crate 44477 BLAKE2B 90d80e7c57e93aa9aaa83e7c3c1a93bb6e4d51047803e61ed3f7c80361987947b2029a2b679bd301e8a0766ee8ea7f080e9b9b6ebcbb4354e19813a0f7da2abc SHA512 fb094fcfd907d90fa7232432aca0143209446e4c5c73d8a0fe6d2dc44b9dbb5b8b926c59b5e3f9a5a0a36f91c04613509b6e430c9c4adf526e7445e6e8d7a3d9
+DIST unicode-bidi-0.3.15.crate 56811 BLAKE2B 1f1d372c86ec7444f13eb32baf13dfc8699b52156b265a2b53f40c0d771064876405451120fe54739a2679e6991caaf4f63e0644f03729cab814079fef4868c8 SHA512 7a21d5eb05ea8d691dfd54ce4cf7d3693d08067f7a88ef17b8c3044634f46411176b1bde1516c442577910b254007b247f5e40f9932eb601cd96cd574f9d9db8
DIST unicode-ident-1.0.10.crate 42039 BLAKE2B 3365850e1991b9e572c6917a35f3c85523d921d5ebd9fa7025fbc1ce2a0518b06aaa9f3e3bfafb47d357226b5b9964145c7f1b5ddc16cb7280542f6c96f650ec SHA512 5dcc24e138a86f84cb05290332d02953b0ca18839ead1e74b0319bc361ea449700e04d62a51e435cba266121e463643e017718d3023a84f844a59e4ca4475686
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
DIST unicode-normalization-0.1.22.crate 122604 BLAKE2B 3f3430b279cc0ce1595392c869442ce676ab097154c688779ebcf726e10c497df59be2cd7bb2f84f99499a9df0654760a10ac92224c17d74775aeebe291241e1 SHA512 a5810d5e9cd93dbb80e013997aa9d38e60834619483a6623eb2859ec5d59a5aec3fc4db123dc7f4e2fe9f2b8799cf6af48bdff22d69a00a23707240e8bf3bb3c
-DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
+DIST unicode-normalization-0.1.23.crate 122649 BLAKE2B 22ea5ce3f5a2b371c3c8782321b1bbbee724db1e4d8c1d43af4e6bd8044b99307c227d93631d178d10fda445a941a485882ae0015a6e3d3c347e4bd465bbe1d9 SHA512 539f04010810d73fde7b0ab314faf813f3e7ecd2e51d7975281554b7cba4a8706e2b5523c4b7840568593652360ca59e9db0e1ce342e71c28db635ff55ffb0f5
DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
-DIST url-2.4.1.crate 78228 BLAKE2B 6e324237af50605e9285889d967e6a66e258982c5e78ec99b2df68cbcc555574c0b0d650724ecb015e1065c737c88e3c04205973c35b0afcd63f222e91dde3f9 SHA512 ff2aed100e405f4474e17dcc01d59b63460e7a8babeb7cdcf9df6c1c65216c425e24d557f76c7097702b2befc381656107bef755ce929089b52a3901c46aa185
-DIST uuid-1.4.1.crate 55291 BLAKE2B 36a1d7abe0a695f6fa3a8ad3a0c8a078bc61b17396a317b01226d9b35a3544a8a74305ade1166dfee7a9028e6d4a1e6b0956dc0975ea58a86ec6052fb869c577 SHA512 95914b62948941e9dcda7b66b932088b328a23286d163449a72961874f4a856db6db1d60a125e56cd1d7b1c00391485a45520852ea49bd8e5a7b8cae8ecf8b96
-DIST uuid-1.5.0.crate 55532 BLAKE2B 25c160ca3cec2d53431969a564d9c2395b9b9fae529e4166db5145a8c0382b4704a029c93ea199844e1a16e016849a5ae125b32566c828b87a2a11d3c283a2bf SHA512 42494524d5e837558d6254adbc5749ebabfca018b3d41b47a5ebf5925e37005e02ebd1a20a1cfc59cdfcfb5bb87656a7ef5e1383681363c3ae3df2ca3adea3b5
+DIST url-2.5.0.crate 78605 BLAKE2B f3fec3477248cbbe67866577eebb03f517c284a5e5cb783132b11ef3ad156a03524f4730f188d822dec85169d7474e265099296d6bdd4adf5ffaa0a118821617 SHA512 4aedbc48b85bcc2853189f5fe8265a01c76516b5507f4e958d8d0b860fe2590c69c95f0f4b9fd6fac9b8d5911bcb0a5e9ab7f8e8b600f37a12db1438976ee5c3
+DIST url-2.5.2.crate 79704 BLAKE2B be3526298a8816fbd88385caf49c2d58aacc7dcbe2d9183478cf501c26fb5f22d7704ef1313ba6d355e849cbf8ab7980310c1aae85e253a2b28d59099e23af29 SHA512 2515903e41c0659cb226f9bb049ef80f2a49d1b609b6ac480e570a84e899088ffe3be4fb58f41a1fa7f5288eb5f97ab513f331aeb6d56979df783d48e2ace28a
+DIST uuid-1.8.0.crate 44043 BLAKE2B 6a5e3008f0399d5606ea4ef51e5932aedf2a02e747b9bee4b4c2c6646cd959a720373c346a734c00554ff0359fe42bdf471dea5029e23a9e70164e20895cacee SHA512 fe254f0bf6b863538ce568405569a4c755b33bce561148661b10985bf4485fa7ee7a6ec650d93656552b3cdead46b2074ebfd45b040edef19cd1648300f68ed5
+DIST uuid-1.9.0.crate 47394 BLAKE2B 491fb0a074ef59b24df724d4d22b03ba90a7b15ac5611ef6316d81cb6ed81281d6a548ad4dbddd7039884cad20225c0d014eaa2918cb97da548c26c84325ae12 SHA512 d04b525d6f2452c2aeaa15de7b754a3ca9867ffb27f1d94df22ce5ba024996c890e06f4c69a9104399b364c7292570359f922ad7e6980f477b6b336c8ad5557a
+DIST uuid-1.9.1.crate 47492 BLAKE2B 195f14f6ed60809c5be69a7bf5905fea0ed36588563f741d3100aaf2837dd5db26bc8557f239dfccbc27b92f806eb7fc03d365dcd7444437882e7bbca3aa2138 SHA512 4d2a728155eea2fb065f72df36bf88092d0f7edb4d1a1472e380943ceba9cf7b396364238fbf33d5f8d7891664c94daa56f3dd58148258644ffb539d5804111e
DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
DIST windows-targets-0.48.1.crate 6902 BLAKE2B 8e6cd47dea52131c66983cbf4982e88f7bd30416dfae4e380f7afb39f67ee0ac88d40769668dd5aba40d4415f9f00cbc2ac98d598506fed26029f5ec4df3a2c5 SHA512 e48179620cce528292167f1d5ee2deea0659569c996dc90eb4ab62b9ea8baee6c0bea3ab739e06d8793c9690bfc895545ed0039cb633ca39293de79c42ea9de2
@@ -101,5 +130,8 @@ DIST windows_i686_msvc-0.48.0.crate 730056 BLAKE2B 4e4ad6ed94948145199c2ed50fc65
DIST windows_x86_64_gnu-0.48.0.crate 703595 BLAKE2B b227efb78a99c43d0538cceadada3fa1840df29adc665787fdcf845b73e77d782da8a9f9aa602e1da61401b550d0107176feb6c397c922a6240b38cc8f04a180 SHA512 38eff1164fb37dbd2bbe53404b20cba92de84cbbd5e4eb9ad60d51fb43d6fdb8b87a1488e2c88ebd4b3ff3b708f93fdc05df4b14a285d3ff11c33ff0d9828602
DIST windows_x86_64_gnullvm-0.48.0.crate 366536 BLAKE2B 295dc3aef18c604d1579978045f4058b1a315083a8ab842bddf5800ec3460b1530ad88c3464acab712a229290aca235810de8a3b6a253859a354d9fa97277e58 SHA512 8d82fad4c8445030844708aa026a62f1ca43362b8e15f14b0d226c7e9cda04ffa0715087b6a025dbb738e8891de24fcc4a2df071a532917cf03c4a46f934f396
DIST windows_x86_64_msvc-0.48.0.crate 671422 BLAKE2B abb063610dcc38581657133182b7d9efeed5553df67bd2bd6f30f1668a645186e4824f9ef556a5abc84ace10b1b437b6325bbda6df5a64ce880d7dcb743ac786 SHA512 6e598b8e3ac54912a8ebac01b0dd2c58fd282072527d7fedc7f6ebecdfb7dcb09ae46c22293bc0117849437f8b053db5e90406e7a38276f0f0afd06be3966795
-DIST zerocopy-0.7.20.crate 121557 BLAKE2B 24e63690b03c5becade47aa7ed16ef7a3d482c4cc8d0dfcf470f01f7592e3a704e4c52f0ab361b6fca4af18f977e33ff2bb4feb64d13daa1fcb62af9f9731be5 SHA512 fc3f883e4cfa38d01443841242a64575e69fb2ce0cfcdd71a28dd4ccb95e383ea1839a199fb13a58f9faf7608720a38cb0537612d7d832c3582946ee638886a0
-DIST zerocopy-derive-0.7.20.crate 528379 BLAKE2B 247ab986cb720903df383429a6785c7dec230f6888246a9a7539a1bc8061601b27cea8baf4db2fab491fb32842901466ac32cc80504b3eaf35c25cd1a27ec9e8 SHA512 3c76100c3c9c1a5aae39750448f8ed37069be8e65cc74d67cc983c7e69988581f98248183955294e7c8d044c7a968b6e6534b8f84d9969693cbe4c5f679d5818
+DIST wyz-0.5.1.crate 18790 BLAKE2B 07ac1435a812d2f50309348ef8378ea4955c001f01edaf2ffab108f7d524ee731f06b22fd42c043349a4a2271ec47ea203e89562076e8c7c1719112b0214c89a SHA512 15d86c167145c90e3fbabcefd11754fb1cb835896e32d1bb7f4b027e5b2092f5fdbdca4062c129bc38e655cb87c6a3f4e181747ee25d89db5e01fb1fcac18fe9
+DIST zerocopy-0.7.32.crate 151096 BLAKE2B 12c7c329ec0e0865467af08306ff4b55ce1e39fd77b094ee48ed9c6e266dfa807bda9ea72a3f7ea989916327f4d9e803d8868995728bfe2fb1c2dc1e5ecff78e SHA512 6729b05eb88029555b88c75feff4f8bc28ad9675edb02b07486381f775c8650c95e2e59612906bd9c34c5e390fd339857ca91573ee9f9ca7948572cff4171c82
+DIST zerocopy-0.7.34.crate 151177 BLAKE2B 30b65131370dfa4f41d3c2705d3b75da9b76f2a4ed723dec66345939de8bafe2c181ab6c98036c25a30739cae1720d927e27e5fa5587442d5cfb7f39a7018c8f SHA512 4d27b1230ebcea4e9d4c15f38a979aa3fe8b23833e95df781a0a67054e920637642b89345596fe331907edc27abab83c766967f2a04399a6fe0a4e89fa0dd148
+DIST zerocopy-derive-0.7.32.crate 37623 BLAKE2B 8b583d39d7bf9c3dbbba578120751c664f87363c5ba3fc45f6506a4059b9e599c43d9fc7bd498a257ff7c9d872af77d39bebdb0e65fb8009eaa2ae9903dece46 SHA512 3ce8528871fd18d6abe92b98503927451d25791c9c4af0ba39a3b6ba2006030bdc137084d080e9b1ac8b5ddf5f2121e0a3ef34bb2033a040f2c72c8149a9fc0d
+DIST zerocopy-derive-0.7.34.crate 37907 BLAKE2B 23a698c3c892187307007cbc76c9338dbe163e4f14d4ea73969ba834f5c6732d16f5bc26e2e85c5e3df2100b28e6e72ae6473b2159f5160ee19befdef3615f98 SHA512 1bd93062b0d2c699066f8a991326b4470426aae0517d33748a8f0e52b009fc46e6b0b238abe97462a2e13c870fa3d0d070615870e6dbbf8b6991c0e3fb5c3e63
diff --git a/dev-python/pydantic-core/pydantic-core-2.10.1.ebuild b/dev-python/pydantic-core/pydantic-core-2.10.1.ebuild
deleted file mode 100644
index 10858733419f..000000000000
--- a/dev-python/pydantic-core/pydantic-core-2.10.1.ebuild
+++ /dev/null
@@ -1,136 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-CRATES="
- ahash@0.8.3
- aho-corasick@1.0.2
- autocfg@1.1.0
- base64@0.21.4
- bitflags@1.3.2
- cc@1.0.79
- cfg-if@1.0.0
- enum_dispatch@0.3.12
- equivalent@1.0.1
- form_urlencoded@1.2.0
- getrandom@0.2.10
- hashbrown@0.14.0
- heck@0.4.1
- idna@0.4.0
- indexmap@2.0.0
- indoc@1.0.9
- itoa@1.0.8
- libc@0.2.147
- lock_api@0.4.10
- memchr@2.6.3
- memoffset@0.9.0
- num-bigint@0.4.4
- num-integer@0.1.45
- num-traits@0.2.16
- once_cell@1.18.0
- parking_lot@0.12.1
- parking_lot_core@0.9.8
- percent-encoding@2.3.0
- proc-macro2@1.0.64
- pyo3-build-config@0.19.2
- pyo3-ffi@0.19.2
- pyo3-macros-backend@0.19.2
- pyo3-macros@0.19.2
- pyo3@0.19.2
- python3-dll-a@0.2.9
- quote@1.0.29
- redox_syscall@0.3.5
- regex-automata@0.3.8
- regex-syntax@0.7.5
- regex@1.9.5
- rustversion@1.0.13
- ryu@1.0.14
- scopeguard@1.1.0
- serde@1.0.188
- serde_derive@1.0.188
- serde_json@1.0.107
- smallvec@1.11.1
- speedate@0.12.0
- strum@0.25.0
- strum_macros@0.25.2
- syn@1.0.109
- syn@2.0.28
- target-lexicon@0.12.9
- tinyvec@1.6.0
- tinyvec_macros@0.1.1
- unicode-bidi@0.3.13
- unicode-ident@1.0.10
- unicode-normalization@0.1.22
- unindent@0.1.11
- url@2.4.1
- uuid@1.4.1
- version_check@0.9.4
- wasi@0.11.0+wasi-snapshot-preview1
- windows-targets@0.48.1
- windows_aarch64_gnullvm@0.48.0
- windows_aarch64_msvc@0.48.0
- windows_i686_gnu@0.48.0
- windows_i686_msvc@0.48.0
- windows_x86_64_gnu@0.48.0
- windows_x86_64_gnullvm@0.48.0
- windows_x86_64_msvc@0.48.0
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Core validation logic for pydantic written in Rust"
-HOMEPAGE="
- https://github.com/pydantic/pydantic-core/
- https://pypi.org/project/pydantic-core/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
-"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=virtual/rust-1.70.0
- test? (
- >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
- >=dev-python/pytz-2022.7.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
-
-src_prepare() {
- sed -i -e '/--benchmark/d' pyproject.toml || die
- sed -i -e '/^strip/d' Cargo.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/benchmarks
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- rm -rf pydantic_core || die
- epytest -p pytest_mock -p timeout
-}
diff --git a/dev-python/pydantic-core/pydantic-core-2.14.3.ebuild b/dev-python/pydantic-core/pydantic-core-2.14.3.ebuild
deleted file mode 100644
index 3bcf3f7ab143..000000000000
--- a/dev-python/pydantic-core/pydantic-core-2.14.3.ebuild
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-CRATES="
- ahash@0.8.6
- aho-corasick@1.0.2
- autocfg@1.1.0
- base64@0.21.5
- bitflags@1.3.2
- cc@1.0.79
- cfg-if@1.0.0
- enum_dispatch@0.3.12
- equivalent@1.0.1
- form_urlencoded@1.2.0
- getrandom@0.2.10
- hashbrown@0.14.0
- heck@0.4.1
- idna@0.4.0
- indexmap@2.0.0
- indoc@2.0.4
- itoa@1.0.8
- jiter@0.0.4
- lexical-core@0.8.5
- lexical-parse-float@0.8.5
- lexical-parse-integer@0.8.6
- lexical-util@0.8.5
- lexical-write-float@0.8.5
- lexical-write-integer@0.8.5
- libc@0.2.147
- lock_api@0.4.10
- memchr@2.6.3
- memoffset@0.9.0
- num-bigint@0.4.4
- num-integer@0.1.45
- num-traits@0.2.16
- once_cell@1.18.0
- parking_lot@0.12.1
- parking_lot_core@0.9.8
- percent-encoding@2.3.0
- proc-macro2@1.0.69
- pyo3-build-config@0.20.0
- pyo3-ffi@0.20.0
- pyo3-macros-backend@0.20.0
- pyo3-macros@0.20.0
- pyo3@0.20.0
- python3-dll-a@0.2.9
- quote@1.0.29
- redox_syscall@0.3.5
- regex-automata@0.4.3
- regex-syntax@0.8.2
- regex@1.10.2
- rustversion@1.0.13
- ryu@1.0.14
- scopeguard@1.1.0
- serde@1.0.190
- serde_derive@1.0.190
- serde_json@1.0.108
- smallvec@1.11.1
- speedate@0.13.0
- static_assertions@1.1.0
- strum@0.25.0
- strum_macros@0.25.3
- syn@2.0.38
- target-lexicon@0.12.9
- tinyvec@1.6.0
- tinyvec_macros@0.1.1
- unicode-bidi@0.3.13
- unicode-ident@1.0.10
- unicode-normalization@0.1.22
- unindent@0.2.3
- url@2.4.1
- uuid@1.5.0
- version_check@0.9.4
- wasi@0.11.0+wasi-snapshot-preview1
- windows-targets@0.48.1
- windows_aarch64_gnullvm@0.48.0
- windows_aarch64_msvc@0.48.0
- windows_i686_gnu@0.48.0
- windows_i686_msvc@0.48.0
- windows_x86_64_gnu@0.48.0
- windows_x86_64_gnullvm@0.48.0
- windows_x86_64_msvc@0.48.0
- zerocopy-derive@0.7.20
- zerocopy@0.7.20
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Core validation logic for pydantic written in Rust"
-HOMEPAGE="
- https://github.com/pydantic/pydantic-core/
- https://pypi.org/project/pydantic-core/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
- || ( Apache-2.0 Boost-1.0 )
-"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=virtual/rust-1.70.0
- test? (
- >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
- >=dev-python/pytz-2022.7.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
-
-src_prepare() {
- sed -i -e '/--benchmark/d' pyproject.toml || die
- sed -i -e '/^strip/d' Cargo.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/benchmarks
- )
- local EPYTEST_DESELECT=(
- # TODO: recursion till segfault
- tests/serializers/test_functions.py::test_recursive_call
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- rm -rf pydantic_core || die
- epytest -p pytest_mock -p timeout
-}
diff --git a/dev-python/pydantic-core/pydantic-core-2.14.4.ebuild b/dev-python/pydantic-core/pydantic-core-2.14.4.ebuild
deleted file mode 100644
index 3bcf3f7ab143..000000000000
--- a/dev-python/pydantic-core/pydantic-core-2.14.4.ebuild
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-CRATES="
- ahash@0.8.6
- aho-corasick@1.0.2
- autocfg@1.1.0
- base64@0.21.5
- bitflags@1.3.2
- cc@1.0.79
- cfg-if@1.0.0
- enum_dispatch@0.3.12
- equivalent@1.0.1
- form_urlencoded@1.2.0
- getrandom@0.2.10
- hashbrown@0.14.0
- heck@0.4.1
- idna@0.4.0
- indexmap@2.0.0
- indoc@2.0.4
- itoa@1.0.8
- jiter@0.0.4
- lexical-core@0.8.5
- lexical-parse-float@0.8.5
- lexical-parse-integer@0.8.6
- lexical-util@0.8.5
- lexical-write-float@0.8.5
- lexical-write-integer@0.8.5
- libc@0.2.147
- lock_api@0.4.10
- memchr@2.6.3
- memoffset@0.9.0
- num-bigint@0.4.4
- num-integer@0.1.45
- num-traits@0.2.16
- once_cell@1.18.0
- parking_lot@0.12.1
- parking_lot_core@0.9.8
- percent-encoding@2.3.0
- proc-macro2@1.0.69
- pyo3-build-config@0.20.0
- pyo3-ffi@0.20.0
- pyo3-macros-backend@0.20.0
- pyo3-macros@0.20.0
- pyo3@0.20.0
- python3-dll-a@0.2.9
- quote@1.0.29
- redox_syscall@0.3.5
- regex-automata@0.4.3
- regex-syntax@0.8.2
- regex@1.10.2
- rustversion@1.0.13
- ryu@1.0.14
- scopeguard@1.1.0
- serde@1.0.190
- serde_derive@1.0.190
- serde_json@1.0.108
- smallvec@1.11.1
- speedate@0.13.0
- static_assertions@1.1.0
- strum@0.25.0
- strum_macros@0.25.3
- syn@2.0.38
- target-lexicon@0.12.9
- tinyvec@1.6.0
- tinyvec_macros@0.1.1
- unicode-bidi@0.3.13
- unicode-ident@1.0.10
- unicode-normalization@0.1.22
- unindent@0.2.3
- url@2.4.1
- uuid@1.5.0
- version_check@0.9.4
- wasi@0.11.0+wasi-snapshot-preview1
- windows-targets@0.48.1
- windows_aarch64_gnullvm@0.48.0
- windows_aarch64_msvc@0.48.0
- windows_i686_gnu@0.48.0
- windows_i686_msvc@0.48.0
- windows_x86_64_gnu@0.48.0
- windows_x86_64_gnullvm@0.48.0
- windows_x86_64_msvc@0.48.0
- zerocopy-derive@0.7.20
- zerocopy@0.7.20
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Core validation logic for pydantic written in Rust"
-HOMEPAGE="
- https://github.com/pydantic/pydantic-core/
- https://pypi.org/project/pydantic-core/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
- || ( Apache-2.0 Boost-1.0 )
-"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=virtual/rust-1.70.0
- test? (
- >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
- >=dev-python/pytz-2022.7.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
-
-src_prepare() {
- sed -i -e '/--benchmark/d' pyproject.toml || die
- sed -i -e '/^strip/d' Cargo.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/benchmarks
- )
- local EPYTEST_DESELECT=(
- # TODO: recursion till segfault
- tests/serializers/test_functions.py::test_recursive_call
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- rm -rf pydantic_core || die
- epytest -p pytest_mock -p timeout
-}
diff --git a/dev-python/pydantic-core/pydantic-core-2.14.5.ebuild b/dev-python/pydantic-core/pydantic-core-2.14.5.ebuild
deleted file mode 100644
index fe0c67767ae3..000000000000
--- a/dev-python/pydantic-core/pydantic-core-2.14.5.ebuild
+++ /dev/null
@@ -1,150 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-CRATES="
- ahash@0.8.6
- aho-corasick@1.0.2
- autocfg@1.1.0
- base64@0.21.5
- bitflags@1.3.2
- cc@1.0.79
- cfg-if@1.0.0
- enum_dispatch@0.3.12
- equivalent@1.0.1
- form_urlencoded@1.2.0
- getrandom@0.2.10
- hashbrown@0.14.0
- heck@0.4.1
- idna@0.4.0
- indexmap@2.0.0
- indoc@2.0.4
- itoa@1.0.8
- jiter@0.0.4
- lexical-core@0.8.5
- lexical-parse-float@0.8.5
- lexical-parse-integer@0.8.6
- lexical-util@0.8.5
- lexical-write-float@0.8.5
- lexical-write-integer@0.8.5
- libc@0.2.147
- lock_api@0.4.10
- memchr@2.6.3
- memoffset@0.9.0
- num-bigint@0.4.4
- num-integer@0.1.45
- num-traits@0.2.16
- once_cell@1.18.0
- parking_lot@0.12.1
- parking_lot_core@0.9.8
- percent-encoding@2.3.0
- proc-macro2@1.0.69
- pyo3-build-config@0.20.0
- pyo3-ffi@0.20.0
- pyo3-macros-backend@0.20.0
- pyo3-macros@0.20.0
- pyo3@0.20.0
- python3-dll-a@0.2.9
- quote@1.0.29
- redox_syscall@0.3.5
- regex-automata@0.4.3
- regex-syntax@0.8.2
- regex@1.10.2
- rustversion@1.0.13
- ryu@1.0.14
- scopeguard@1.1.0
- serde@1.0.190
- serde_derive@1.0.190
- serde_json@1.0.108
- smallvec@1.11.1
- speedate@0.13.0
- static_assertions@1.1.0
- strum@0.25.0
- strum_macros@0.25.3
- syn@2.0.38
- target-lexicon@0.12.9
- tinyvec@1.6.0
- tinyvec_macros@0.1.1
- unicode-bidi@0.3.13
- unicode-ident@1.0.10
- unicode-normalization@0.1.22
- unindent@0.2.3
- url@2.4.1
- uuid@1.5.0
- version_check@0.9.4
- wasi@0.11.0+wasi-snapshot-preview1
- windows-targets@0.48.1
- windows_aarch64_gnullvm@0.48.0
- windows_aarch64_msvc@0.48.0
- windows_i686_gnu@0.48.0
- windows_i686_msvc@0.48.0
- windows_x86_64_gnu@0.48.0
- windows_x86_64_gnullvm@0.48.0
- windows_x86_64_msvc@0.48.0
- zerocopy-derive@0.7.20
- zerocopy@0.7.20
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Core validation logic for pydantic written in Rust"
-HOMEPAGE="
- https://github.com/pydantic/pydantic-core/
- https://pypi.org/project/pydantic-core/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
- || ( Apache-2.0 Boost-1.0 )
-"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=virtual/rust-1.70.0
- test? (
- >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
- >=dev-python/pytz-2022.7.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
-
-src_prepare() {
- sed -i -e '/--benchmark/d' pyproject.toml || die
- sed -i -e '/^strip/d' Cargo.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/benchmarks
- )
- local EPYTEST_DESELECT=(
- # TODO: recursion till segfault
- tests/serializers/test_functions.py::test_recursive_call
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- rm -rf pydantic_core || die
- epytest -p pytest_mock -p timeout
-}
diff --git a/dev-python/pydantic-core/pydantic-core-2.18.4.ebuild b/dev-python/pydantic-core/pydantic-core-2.18.4.ebuild
new file mode 100644
index 000000000000..202205235acc
--- /dev/null
+++ b/dev-python/pydantic-core/pydantic-core-2.18.4.ebuild
@@ -0,0 +1,155 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+CRATES="
+ ahash@0.8.10
+ aho-corasick@1.0.2
+ autocfg@1.1.0
+ base64@0.21.7
+ bitflags@1.3.2
+ bitvec@1.0.1
+ cc@1.0.79
+ cfg-if@1.0.0
+ enum_dispatch@0.3.13
+ equivalent@1.0.1
+ form_urlencoded@1.2.1
+ funty@2.0.0
+ getrandom@0.2.10
+ hashbrown@0.14.3
+ heck@0.4.1
+ idna@0.5.0
+ indexmap@2.2.2
+ indoc@2.0.4
+ itoa@1.0.8
+ jiter@0.4.1
+ lexical-parse-float@0.8.5
+ lexical-parse-integer@0.8.6
+ lexical-util@0.8.5
+ libc@0.2.147
+ lock_api@0.4.10
+ memchr@2.6.3
+ memoffset@0.9.0
+ num-bigint@0.4.4
+ num-integer@0.1.45
+ num-traits@0.2.16
+ once_cell@1.18.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.8
+ percent-encoding@2.3.1
+ portable-atomic@1.6.0
+ proc-macro2@1.0.76
+ pyo3-build-config@0.21.2
+ pyo3-ffi@0.21.2
+ pyo3-macros-backend@0.21.2
+ pyo3-macros@0.21.2
+ pyo3@0.21.2
+ python3-dll-a@0.2.9
+ quote@1.0.35
+ radium@0.7.0
+ redox_syscall@0.3.5
+ regex-automata@0.4.5
+ regex-syntax@0.8.2
+ regex@1.10.4
+ rustversion@1.0.13
+ ryu@1.0.14
+ scopeguard@1.1.0
+ serde@1.0.203
+ serde_derive@1.0.203
+ serde_json@1.0.116
+ smallvec@1.13.2
+ speedate@0.14.0
+ static_assertions@1.1.0
+ strum@0.25.0
+ strum_macros@0.25.3
+ strum_macros@0.26.1
+ syn@2.0.48
+ tap@1.0.1
+ target-lexicon@0.12.9
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ unicode-bidi@0.3.13
+ unicode-ident@1.0.10
+ unicode-normalization@0.1.22
+ unindent@0.2.3
+ url@2.5.0
+ uuid@1.8.0
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.48.1
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_msvc@0.48.0
+ windows_i686_gnu@0.48.0
+ windows_i686_msvc@0.48.0
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_msvc@0.48.0
+ wyz@0.5.1
+ zerocopy-derive@0.7.32
+ zerocopy@0.7.32
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Core validation logic for pydantic written in Rust"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic-core/
+ https://pypi.org/project/pydantic-core/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=virtual/rust-1.70.0
+ test? (
+ >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
+
+src_prepare() {
+ sed -i -e '/--benchmark/d' pyproject.toml || die
+ sed -i -e '/^strip/d' Cargo.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/benchmarks
+ )
+ local EPYTEST_DESELECT=(
+ # TODO: recursion till segfault
+ tests/serializers/test_functions.py::test_recursive_call
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf pydantic_core || die
+ # tests link to libpython, so they fail to link on pypy3
+ [[ ${EPYTHON} != pypy3 ]] && cargo_src_test
+ epytest -p pytest_mock -p timeout
+}
diff --git a/dev-python/pydantic-core/pydantic-core-2.19.0.ebuild b/dev-python/pydantic-core/pydantic-core-2.19.0.ebuild
new file mode 100644
index 000000000000..878eefe9c51b
--- /dev/null
+++ b/dev-python/pydantic-core/pydantic-core-2.19.0.ebuild
@@ -0,0 +1,155 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+CRATES="
+ ahash@0.8.10
+ aho-corasick@1.0.2
+ autocfg@1.1.0
+ base64@0.21.7
+ bitflags@1.3.2
+ bitvec@1.0.1
+ cc@1.0.79
+ cfg-if@1.0.0
+ enum_dispatch@0.3.13
+ equivalent@1.0.1
+ form_urlencoded@1.2.1
+ funty@2.0.0
+ getrandom@0.2.10
+ hashbrown@0.14.3
+ heck@0.4.1
+ idna@0.5.0
+ indexmap@2.2.2
+ indoc@2.0.4
+ itoa@1.0.8
+ jiter@0.4.1
+ lexical-parse-float@0.8.5
+ lexical-parse-integer@0.8.6
+ lexical-util@0.8.5
+ libc@0.2.155
+ lock_api@0.4.10
+ memchr@2.6.3
+ memoffset@0.9.0
+ num-bigint@0.4.4
+ num-integer@0.1.45
+ num-traits@0.2.16
+ once_cell@1.18.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.8
+ percent-encoding@2.3.1
+ portable-atomic@1.6.0
+ proc-macro2@1.0.76
+ pyo3-build-config@0.21.2
+ pyo3-ffi@0.21.2
+ pyo3-macros-backend@0.21.2
+ pyo3-macros@0.21.2
+ pyo3@0.21.2
+ python3-dll-a@0.2.9
+ quote@1.0.35
+ radium@0.7.0
+ redox_syscall@0.3.5
+ regex-automata@0.4.5
+ regex-syntax@0.8.2
+ regex@1.10.4
+ rustversion@1.0.13
+ ryu@1.0.14
+ scopeguard@1.1.0
+ serde@1.0.203
+ serde_derive@1.0.203
+ serde_json@1.0.116
+ smallvec@1.13.2
+ speedate@0.14.0
+ static_assertions@1.1.0
+ strum@0.25.0
+ strum_macros@0.25.3
+ strum_macros@0.26.1
+ syn@2.0.48
+ tap@1.0.1
+ target-lexicon@0.12.9
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ unicode-bidi@0.3.13
+ unicode-ident@1.0.10
+ unicode-normalization@0.1.22
+ unindent@0.2.3
+ url@2.5.0
+ uuid@1.8.0
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.48.1
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_msvc@0.48.0
+ windows_i686_gnu@0.48.0
+ windows_i686_msvc@0.48.0
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_msvc@0.48.0
+ wyz@0.5.1
+ zerocopy-derive@0.7.32
+ zerocopy@0.7.32
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Core validation logic for pydantic written in Rust"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic-core/
+ https://pypi.org/project/pydantic-core/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=virtual/rust-1.70.0
+ test? (
+ >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
+
+src_prepare() {
+ sed -i -e '/--benchmark/d' pyproject.toml || die
+ sed -i -e '/^strip/d' Cargo.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/benchmarks
+ )
+ local EPYTEST_DESELECT=(
+ # TODO: recursion till segfault
+ tests/serializers/test_functions.py::test_recursive_call
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf pydantic_core || die
+ # tests link to libpython, so they fail to link on pypy3
+ [[ ${EPYTHON} != pypy3 ]] && cargo_src_test
+ epytest -p pytest_mock -p timeout
+}
diff --git a/dev-python/pydantic-core/pydantic-core-2.20.0.ebuild b/dev-python/pydantic-core/pydantic-core-2.20.0.ebuild
new file mode 100644
index 000000000000..c9f9b02b0636
--- /dev/null
+++ b/dev-python/pydantic-core/pydantic-core-2.20.0.ebuild
@@ -0,0 +1,142 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+CRATES="
+ ahash@0.8.11
+ aho-corasick@1.1.3
+ autocfg@1.3.0
+ base64@0.21.7
+ bitvec@1.0.1
+ cc@1.0.100
+ cfg-if@1.0.0
+ enum_dispatch@0.3.13
+ equivalent@1.0.1
+ form_urlencoded@1.2.1
+ funty@2.0.0
+ getrandom@0.2.15
+ hashbrown@0.14.5
+ heck@0.4.1
+ heck@0.5.0
+ idna@0.5.0
+ indexmap@2.2.6
+ indoc@2.0.5
+ itoa@1.0.11
+ jiter@0.5.0
+ lexical-parse-float@0.8.5
+ lexical-parse-integer@0.8.6
+ lexical-util@0.8.5
+ libc@0.2.155
+ memchr@2.7.4
+ memoffset@0.9.1
+ num-bigint@0.4.5
+ num-integer@0.1.46
+ num-traits@0.2.19
+ once_cell@1.19.0
+ percent-encoding@2.3.1
+ portable-atomic@1.6.0
+ proc-macro2@1.0.86
+ pyo3-build-config@0.22.0
+ pyo3-ffi@0.22.0
+ pyo3-macros-backend@0.22.0
+ pyo3-macros@0.22.0
+ pyo3@0.22.0
+ python3-dll-a@0.2.10
+ quote@1.0.36
+ radium@0.7.0
+ regex-automata@0.4.7
+ regex-syntax@0.8.4
+ regex@1.10.5
+ rustversion@1.0.17
+ ryu@1.0.18
+ serde@1.0.203
+ serde_derive@1.0.203
+ serde_json@1.0.117
+ smallvec@1.13.2
+ speedate@0.14.0
+ static_assertions@1.1.0
+ strum@0.25.0
+ strum_macros@0.25.3
+ strum_macros@0.26.4
+ syn@2.0.68
+ tap@1.0.1
+ target-lexicon@0.12.14
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ unicode-bidi@0.3.15
+ unicode-ident@1.0.12
+ unicode-normalization@0.1.23
+ unindent@0.2.3
+ url@2.5.2
+ uuid@1.9.0
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ wyz@0.5.1
+ zerocopy-derive@0.7.34
+ zerocopy@0.7.34
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Core validation logic for pydantic written in Rust"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic-core/
+ https://pypi.org/project/pydantic-core/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=virtual/rust-1.70.0
+ test? (
+ >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
+
+src_prepare() {
+ sed -i -e '/--benchmark/d' pyproject.toml || die
+ sed -i -e '/^strip/d' Cargo.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/benchmarks
+ )
+ local EPYTEST_DESELECT=(
+ # TODO: recursion till segfault
+ tests/serializers/test_functions.py::test_recursive_call
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf pydantic_core || die
+ # tests link to libpython, so they fail to link on pypy3
+ [[ ${EPYTHON} != pypy3 ]] && cargo_src_test
+ epytest -p pytest_mock -p timeout
+}
diff --git a/dev-python/pydantic-core/pydantic-core-2.20.1.ebuild b/dev-python/pydantic-core/pydantic-core-2.20.1.ebuild
new file mode 100644
index 000000000000..2d8ff5d2a4a4
--- /dev/null
+++ b/dev-python/pydantic-core/pydantic-core-2.20.1.ebuild
@@ -0,0 +1,140 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+CRATES="
+ ahash@0.8.11
+ aho-corasick@1.1.3
+ autocfg@1.3.0
+ base64@0.21.7
+ bitvec@1.0.1
+ cc@1.0.101
+ cfg-if@1.0.0
+ enum_dispatch@0.3.13
+ equivalent@1.0.1
+ form_urlencoded@1.2.1
+ funty@2.0.0
+ getrandom@0.2.15
+ hashbrown@0.14.5
+ heck@0.5.0
+ idna@0.5.0
+ indexmap@2.2.6
+ indoc@2.0.5
+ itoa@1.0.11
+ jiter@0.5.0
+ lexical-parse-float@0.8.5
+ lexical-parse-integer@0.8.6
+ lexical-util@0.8.5
+ libc@0.2.155
+ memchr@2.7.4
+ memoffset@0.9.1
+ num-bigint@0.4.6
+ num-integer@0.1.46
+ num-traits@0.2.19
+ once_cell@1.19.0
+ percent-encoding@2.3.1
+ portable-atomic@1.6.0
+ proc-macro2@1.0.86
+ pyo3-build-config@0.22.0
+ pyo3-ffi@0.22.0
+ pyo3-macros-backend@0.22.0
+ pyo3-macros@0.22.0
+ pyo3@0.22.0
+ python3-dll-a@0.2.10
+ quote@1.0.36
+ radium@0.7.0
+ regex-automata@0.4.7
+ regex-syntax@0.8.4
+ regex@1.10.5
+ rustversion@1.0.17
+ ryu@1.0.18
+ serde@1.0.203
+ serde_derive@1.0.203
+ serde_json@1.0.118
+ smallvec@1.13.2
+ speedate@0.14.4
+ static_assertions@1.1.0
+ strum@0.26.3
+ strum_macros@0.26.4
+ syn@2.0.68
+ tap@1.0.1
+ target-lexicon@0.12.14
+ tinyvec@1.6.1
+ tinyvec_macros@0.1.1
+ unicode-bidi@0.3.15
+ unicode-ident@1.0.12
+ unicode-normalization@0.1.23
+ unindent@0.2.3
+ url@2.5.2
+ uuid@1.9.1
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ wyz@0.5.1
+ zerocopy-derive@0.7.34
+ zerocopy@0.7.34
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Core validation logic for pydantic written in Rust"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic-core/
+ https://pypi.org/project/pydantic-core/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.7.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=virtual/rust-1.70.0
+ test? (
+ >=dev-python/dirty-equals-0.5.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.63.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-timeout-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.10.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/pydantic_core/_pydantic_core.*.so"
+
+src_prepare() {
+ sed -i -e '/--benchmark/d' pyproject.toml || die
+ sed -i -e '/^strip/d' Cargo.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/benchmarks
+ )
+ local EPYTEST_DESELECT=(
+ # TODO: recursion till segfault
+ tests/serializers/test_functions.py::test_recursive_call
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf pydantic_core || die
+ # tests link to libpython, so they fail to link on pypy3
+ [[ ${EPYTHON} != pypy3 ]] && cargo_src_test
+ epytest -p pytest_mock -p timeout
+}
diff --git a/dev-python/pydantic/Manifest b/dev-python/pydantic/Manifest
index 95ef463433ac..41468fad2cd1 100644
--- a/dev-python/pydantic/Manifest
+++ b/dev-python/pydantic/Manifest
@@ -1,4 +1,4 @@
-DIST pydantic-1.10.13.gh.tar.gz 766572 BLAKE2B 3d4f4453469f960467ddf3512be8e97f0abf40406d441a1bc8909df1ebc0e7deaa5e84640d8614395e36d619e87f9d47327cd71526dae203046488d114ade49f SHA512 7ae96c08080e9d3bf3b66ee8ee77efc0b89b6630d4f0c37679e27a28a6433b3628fd342991cf38412ff6d1034c4a907841f74759c2e6b4d51d413d76625d5bfd
-DIST pydantic-2.4.2.tar.gz 654020 BLAKE2B 2f91b6bf89f87230976a2e777541bb7418382fb3534f5e61e1dc74a18e5e939508a2440d6bee9a09030beb5f2b6a60fd62c3bf30ee0ee2c7d3f71575920a47f3 SHA512 f0e0d90ead4ba754974b38f8e3d24bc017696674ca1ed3300104389d149baa41c495218a118f5e7f98bf20d34b3c17439921eaff0ccd7bf76cac96a16e592b4e
-DIST pydantic-2.5.1.tar.gz 651461 BLAKE2B 4c52abec0f1fc52fdaa0bd820bbb649ffdc348c1b1537ca31b73bf4c4477055841c0cd08df5336e0388974ebe20c384349c4233af20149317d79f51ee98208c6 SHA512 5a3ca05a57297cded56a21f37e13a61e7abce3faa34b1d2f4ad1abab0205aa8b7f753b6e0ac630336ea398b9c5ebd4c7cab55df4fa0f9e965e07b5a7e9d49f3c
-DIST pydantic-2.5.2.tar.gz 652158 BLAKE2B d3a7eeb4e1933d4893df69d2600437a4df1a640f4ec6564079669f8703b8d21bba548197277a373e5a653f4aea67de2336ea983906c2e96b514cdab3f8821dc1 SHA512 56753c9739759251004476620ca25d69bebc7743da911f69a09fcbffa6d6e5ec9b9fc22975e845599fcb2aed5cbbf081c3737d6eab55b9e1696818c4da405e6d
+DIST pydantic-2.7.4.tar.gz 714127 BLAKE2B c9d6df84799d1c8a69bf7d203609db3ba533380919d1f47ae84eb83186ef9ffbbab5bea9b9c4918c65d35d4b2103107df3c7e5e314195bd84807d216226490b6 SHA512 9a36041a24306761f2528aaca196d0b3e160cf46d71596fcd3df0169b9dd68ce810b88bcbe15dc9c0126551d0d7e33e4c3014b97daaf5d68ce68c0f8d6ffaf81
+DIST pydantic-2.8.0.tar.gz 738772 BLAKE2B d3a490afdc1fa9e6baf5b63a4760d98043c7d0b7bc46018af5701acbfeecae0e08ab171f386f817bfd0a36b702228bcd5c92bf8de36de2f36a7b87e181736129 SHA512 aa703ad04698f476b4a7d69f0a58e36cd8064c64e30e33e03a375d4986049e841abf24e5ef53f192101e484b645a12879087f171346d30747e2c35ebc763aa4e
+DIST pydantic-2.8.0b1.tar.gz 738470 BLAKE2B 13d9e19ea6cd78849b6ed507b20daf36c941e790d5cd291999755d00b0d4a289658b6b92316663205c893da0e41ea49073bda597f811592543ad1c30bcf9b4ee SHA512 9047543d8d281e3b9e18daff087c8cc8ba632392c9df9a1c2543c6d2d2eb1488c22a9c363417f64e2deaa576659254a2c2267241bfda7a4b5bf466377df8cd64
+DIST pydantic-2.8.2.tar.gz 739834 BLAKE2B d0168db26e02ac9fcf01fe85cd70c982e74f185dfce5075d4b365dba510d871550478ae98550882c425cdecfa3e31e674076906d8f71d1de947cc8d2cb55d3b8 SHA512 9d3b795ee43ccc4976a07c3770769758f023cc6763b8ef9ce4475d22c49d4dba80c8326d42106075b54a5d82c84722735e6017644755672b0f1cb0a4b624340a
diff --git a/dev-python/pydantic/metadata.xml b/dev-python/pydantic/metadata.xml
index 609dae97f8e0..d4e4f5e7b94e 100644
--- a/dev-python/pydantic/metadata.xml
+++ b/dev-python/pydantic/metadata.xml
@@ -12,7 +12,4 @@
<bugs-to>https://github.com/pydantic/pydantic/issues</bugs-to>
<doc>https://docs.pydantic.dev/latest/</doc>
</upstream>
- <use>
- <flag name="native-extensions">Compiles native "C" extensions.</flag>
- </use>
</pkgmetadata>
diff --git a/dev-python/pydantic/pydantic-1.10.13.ebuild b/dev-python/pydantic/pydantic-1.10.13.ebuild
deleted file mode 100644
index 68345cdc15a8..000000000000
--- a/dev-python/pydantic/pydantic-1.10.13.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=${P/_beta/b}
-DESCRIPTION="Data parsing and validation using Python type hints"
-HOMEPAGE="
- https://github.com/pydantic/pydantic/
- https://pypi.org/project/pydantic/
-"
-SRC_URI="
- https://github.com/pydantic/pydantic/archive/v${PV/_beta/b}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="native-extensions"
-
-RDEPEND="
- >=dev-python/typing-extensions-4.1.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- native-extensions? (
- <dev-python/cython-3[${PYTHON_USEDEP}]
- )
- test? (
- >=dev-python/email-validator-1.2.1[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/python-dotenv[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/CFLAGS/d' setup.py || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- if [[ ${EPYTHON} == pypy3 ]] || ! use native-extensions; then
- # do not build extensions on PyPy to workaround
- # https://github.com/cython/cython/issues/4763
- local -x SKIP_CYTHON=1
- fi
- distutils-r1_python_compile
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_mock
-
- local EPYTEST_DESELECT=(
- # flaky test, known upstream
- tests/test_hypothesis_plugin.py::test_can_construct_models_with_all_fields
- # mypy linting causes regressions with new mypy versions
- tests/mypy
- )
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- tests/test_private_attributes.py::test_private_attribute
- tests/test_private_attributes.py::test_private_attribute_annotation
- tests/test_private_attributes.py::test_private_attribute_factory
- tests/test_private_attributes.py::test_private_attribute_multiple_inheritance
- tests/test_private_attributes.py::test_underscore_attrs_are_private
- )
- ;;
- python3.12)
- EPYTEST_DESELECT+=(
- tests/test_abc.py::test_model_subclassing_abstract_base_classes_without_implementation_raises_exception
- tests/test_generics.py::test_partial_specification_name
- tests/test_generics.py::test_parse_generic_json
- tests/test_types.py::test_secretfield
- )
- ;;
- esac
- rm -rf pydantic || die
- epytest
-}
diff --git a/dev-python/pydantic/pydantic-2.4.2.ebuild b/dev-python/pydantic/pydantic-2.4.2.ebuild
deleted file mode 100644
index 712a3b60b715..000000000000
--- a/dev-python/pydantic/pydantic-2.4.2.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 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="Data parsing and validation using Python type hints"
-HOMEPAGE="
- https://github.com/pydantic/pydantic/
- https://pypi.org/project/pydantic/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
- ~dev-python/pydantic-core-2.10.1[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.6.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
- test? (
- dev-python/dirty-equals[${PYTHON_USEDEP}]
- >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/Faker-18.13.0[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/benchmark/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- local EPYTEST_IGNORE=(
- # require pytest-examples
- tests/test_docs.py
- # benchmarks
- tests/benchmarks
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_mock
-}
diff --git a/dev-python/pydantic/pydantic-2.5.1.ebuild b/dev-python/pydantic/pydantic-2.5.1.ebuild
deleted file mode 100644
index 7ca3a79c126a..000000000000
--- a/dev-python/pydantic/pydantic-2.5.1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2023 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="Data parsing and validation using Python type hints"
-HOMEPAGE="
- https://github.com/pydantic/pydantic/
- https://pypi.org/project/pydantic/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
- ~dev-python/pydantic-core-2.14.3[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.6.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
- test? (
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- dev-python/dirty-equals[${PYTHON_USEDEP}]
- >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/Faker-18.13.0[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/benchmark/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- local EPYTEST_IGNORE=(
- # require pytest-examples
- tests/test_docs.py
- # benchmarks
- tests/benchmarks
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_mock
-}
diff --git a/dev-python/pydantic/pydantic-2.5.2.ebuild b/dev-python/pydantic/pydantic-2.5.2.ebuild
deleted file mode 100644
index 7661b4548612..000000000000
--- a/dev-python/pydantic/pydantic-2.5.2.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2023 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="Data parsing and validation using Python type hints"
-HOMEPAGE="
- https://github.com/pydantic/pydantic/
- https://pypi.org/project/pydantic/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
- ~dev-python/pydantic-core-2.14.5[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.6.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
- test? (
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- dev-python/dirty-equals[${PYTHON_USEDEP}]
- >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/Faker-18.13.0[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e '/benchmark/d' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- local EPYTEST_IGNORE=(
- # require pytest-examples
- tests/test_docs.py
- # benchmarks
- tests/benchmarks
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_mock
-}
diff --git a/dev-python/pydantic/pydantic-2.7.4.ebuild b/dev-python/pydantic/pydantic-2.7.4.ebuild
new file mode 100644
index 000000000000..c9010b3f4b64
--- /dev/null
+++ b/dev-python/pydantic/pydantic-2.7.4.ebuild
@@ -0,0 +1,55 @@
+# 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="Data parsing and validation using Python type hints"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic/
+ https://pypi.org/project/pydantic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
+ ~dev-python/pydantic-core-2.18.4[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.6.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/Faker-18.13.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/benchmark/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=(
+ # require pytest-examples
+ tests/test_docs.py
+ # benchmarks
+ tests/benchmarks
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/pydantic/pydantic-2.8.0.ebuild b/dev-python/pydantic/pydantic-2.8.0.ebuild
new file mode 100644
index 000000000000..d6a74874e59a
--- /dev/null
+++ b/dev-python/pydantic/pydantic-2.8.0.ebuild
@@ -0,0 +1,63 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Data parsing and validation using Python type hints"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic/
+ https://pypi.org/project/pydantic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
+ ~dev-python/pydantic-core-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ ' 3.{10..12})
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/Faker-18.13.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/benchmark/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=(
+ # require pytest-examples
+ tests/test_docs.py
+ # benchmarks
+ tests/benchmarks
+ )
+
+ if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/test_pickle.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/pydantic/pydantic-2.8.0_beta1.ebuild b/dev-python/pydantic/pydantic-2.8.0_beta1.ebuild
new file mode 100644
index 000000000000..d6a74874e59a
--- /dev/null
+++ b/dev-python/pydantic/pydantic-2.8.0_beta1.ebuild
@@ -0,0 +1,63 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Data parsing and validation using Python type hints"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic/
+ https://pypi.org/project/pydantic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
+ ~dev-python/pydantic-core-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ ' 3.{10..12})
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/Faker-18.13.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/benchmark/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=(
+ # require pytest-examples
+ tests/test_docs.py
+ # benchmarks
+ tests/benchmarks
+ )
+
+ if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/test_pickle.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/pydantic/pydantic-2.8.2.ebuild b/dev-python/pydantic/pydantic-2.8.2.ebuild
new file mode 100644
index 000000000000..7433cfe9a017
--- /dev/null
+++ b/dev-python/pydantic/pydantic-2.8.2.ebuild
@@ -0,0 +1,61 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Data parsing and validation using Python type hints"
+HOMEPAGE="
+ https://github.com/pydantic/pydantic/
+ https://pypi.org/project/pydantic/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/annotated-types-0.4.0[${PYTHON_USEDEP}]
+ ~dev-python/pydantic-core-2.20.1[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.12.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ >=dev-python/email-validator-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/Faker-18.13.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/benchmark/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=(
+ # require pytest-examples
+ tests/test_docs.py
+ # benchmarks
+ tests/benchmarks
+ )
+
+ if ! has_version "dev-python/cloudpickle[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/test_pickle.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/pydata-sphinx-theme/Manifest b/dev-python/pydata-sphinx-theme/Manifest
index cf1cffd0eae9..326365e7b8b1 100644
--- a/dev-python/pydata-sphinx-theme/Manifest
+++ b/dev-python/pydata-sphinx-theme/Manifest
@@ -1,4 +1,2 @@
-DIST pydata-sphinx-theme-0.14.3.gh.tar.gz 2403167 BLAKE2B 272023dd877c2d61dfdd77564f1ea4c59d2db0fe81156440ff90b5b50352823db3836c4ac0b560c03950b69c1e8bdb868d1f42d96dc1eddbb35c060691201a64 SHA512 c4fbdf8efe327fb22812da0bb601c205ef0988f18e122db8fd1acba8fcde4c01519a7423a09df51f0a9d136f8b4ddde30427f04084724484a416658ee5c54878
-DIST pydata-sphinx-theme-0.14.4.gh.tar.gz 2404916 BLAKE2B fda8fbcecdc5e8b315383134b3cf95753fae5cb93abe57fa032e231f3143a774bd8b8fb7a98ff8cba6384660c4df328f83d234a0e2f8b25e13cce22d0b38f219 SHA512 348a7b30065baa1bced2118060412c08471faa8b3d31b610dde6eb5e00210f8527cee7cee173e909259af1a4c9e3704316924ab282a599c805ee54078d2030a7
-DIST pydata_sphinx_theme-0.14.3-py3-none-any.whl 4681432 BLAKE2B 21cfcebefaffedd1189fcc966e31bb6860dfb1d80e0eb4dc37dd47f55545c52c856545a439061524bbb3bbff638531b1b196bd11a9ecb2ac41202f086c82a0d8 SHA512 5844a39944442771b4744df075ab0155e8ef2d9f0a9f621be6ae4025c0f12b6462f9664674f05499a5f342dce1bacc530c5c916656ba3e6a9517770d3383be62
-DIST pydata_sphinx_theme-0.14.4-py3-none-any.whl 4682140 BLAKE2B 29db5217021e4f240174269fe9baa0d0f0b1e1b04213a6639d5491a002bff65e4db1468bed1de850fe0f4a8549e564db91f098fb41c4d2981b88a2fed373659c SHA512 962756e901e90f7c490905dd94703a172fb4de2628f7dc38731de75299e77a5915e93103219562a4291ad37942eee48c888faa523409e149ea31fc10dbcfdf2c
+DIST pydata-sphinx-theme-0.15.4.gh.tar.gz 2396654 BLAKE2B 34293e53fe17568e65118702f1c55eb6cc0bca0d17fbc168fac0b495de581f094046bf775480ae608b711f2136c131e02163b2eed84dafa080e6ebc1b4eb96a5 SHA512 5cdedfa182a75c0735773627bbe738f31b36bc812051d4848676b33acf3b2a55d2bd59b1171c4deb4e7c29e8968bcade1f1abfa901c3c4dc8caeaf9e47cbba28
+DIST pydata_sphinx_theme-0.15.4-py3-none-any.whl 4640157 BLAKE2B cb4e067e1acdb8364e498c00f3f8d549a16fc90675511dca65968828002422a8048818fdf3881f9ca33e7368758501b096dd9c968498a273cf2f353ea9868d3c SHA512 0d5e22952e11f683be4e14e597f488a2716877d1d064fa9c52985fcfd6dabcd5ae7c48143a3ebfd26f6a1f933b18e69f5d938afc99a9bfb475a80f94b34c82e7
diff --git a/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.14.3.ebuild b/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.14.3.ebuild
deleted file mode 100644
index ada7b5fa0917..000000000000
--- a/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.14.3.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Bootstrap-based Sphinx theme from the PyData community"
-HOMEPAGE="
- https://github.com/pydata/pydata-sphinx-theme/
- https://pypi.org/project/pydata-sphinx-theme/
-"
-SRC_URI="
- https://github.com/pydata/pydata-sphinx-theme/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- $(pypi_wheel_url)
-"
-
-LICENSE="BSD-with-disclosure"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/accessible-pygments[${PYTHON_USEDEP}]
- dev-python/Babel[${PYTHON_USEDEP}]
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- >=dev-python/sphinx-5[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-regressions[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_compile() {
- distutils_wheel_install "${BUILD_DIR}/install" \
- "${DISTDIR}/$(pypi_wheel_name)"
-}
diff --git a/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.14.4.ebuild b/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.14.4.ebuild
deleted file mode 100644
index f99118387693..000000000000
--- a/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.14.4.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Bootstrap-based Sphinx theme from the PyData community"
-HOMEPAGE="
- https://github.com/pydata/pydata-sphinx-theme/
- https://pypi.org/project/pydata-sphinx-theme/
-"
-SRC_URI="
- https://github.com/pydata/pydata-sphinx-theme/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- $(pypi_wheel_url)
-"
-
-LICENSE="BSD-with-disclosure"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/accessible-pygments[${PYTHON_USEDEP}]
- dev-python/Babel[${PYTHON_USEDEP}]
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- >=dev-python/sphinx-5[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-regressions[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_compile() {
- distutils_wheel_install "${BUILD_DIR}/install" \
- "${DISTDIR}/$(pypi_wheel_name)"
-}
diff --git a/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.15.4.ebuild b/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.15.4.ebuild
new file mode 100644
index 000000000000..b4b3ac87636b
--- /dev/null
+++ b/dev-python/pydata-sphinx-theme/pydata-sphinx-theme-0.15.4.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+MY_P=${P/_/}
+DESCRIPTION="Bootstrap-based Sphinx theme from the PyData community"
+HOMEPAGE="
+ https://github.com/pydata/pydata-sphinx-theme/
+ https://pypi.org/project/pydata-sphinx-theme/
+"
+SRC_URI="
+ https://github.com/pydata/pydata-sphinx-theme/archive/v${PV/_/}.tar.gz
+ -> ${P}.gh.tar.gz
+ $(pypi_wheel_url)
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD-with-disclosure"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/accessible-pygments[${PYTHON_USEDEP}]
+ dev-python/Babel[${PYTHON_USEDEP}]
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-5[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-regressions[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # pygments version mismatch?
+ 'tests/test_build.py::test_pygments_fallbacks[real]'
+)
+
+python_compile() {
+ distutils_wheel_install "${BUILD_DIR}/install" \
+ "${DISTDIR}/$(pypi_wheel_name)"
+}
diff --git a/dev-python/pydecomp/pydecomp-0.3-r3.ebuild b/dev-python/pydecomp/pydecomp-0.3-r3.ebuild
index 83a366d11fbf..2f9f3201db6b 100644
--- a/dev-python/pydecomp/pydecomp-0.3-r3.ebuild
+++ b/dev-python/pydecomp/pydecomp-0.3-r3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/pydecomp/pydecomp-9999.ebuild b/dev-python/pydecomp/pydecomp-9999.ebuild
index f503d453bce0..210c440ca934 100644
--- a/dev-python/pydecomp/pydecomp-9999.ebuild
+++ b/dev-python/pydecomp/pydecomp-9999.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/pydevd/Manifest b/dev-python/pydevd/Manifest
index cf94d827df04..0b035c7de7a7 100644
--- a/dev-python/pydevd/Manifest
+++ b/dev-python/pydevd/Manifest
@@ -1,2 +1 @@
-DIST PyDev.Debugger-pydev_debugger_2_10_0.gh.tar.gz 4019265 BLAKE2B e72c96576588ac3cbfcdd71a1a8e96d41b9d6757b3468c372b45a9c91a887c693f7309467fe8ea27d29c4775cc8df9ebd610b015cecabaaea43c8aa75229bc25 SHA512 a475e4f4cd9f883307d30b0bb2ebd5095de426b52f0f70b1a557095c06241149ad105ca4cbb31d311fa54e4387bbed27e5cf2712ba7447b19720d46dac21a101
-DIST pydevd-2.9.5.gh.tar.gz 3982897 BLAKE2B 06f0712301b419c472bcef2443a2ed277eb477041ff2e40e41b57f61649d84a7559dcae82c30ac572b14e90b98c2b9b9542c7360deded087eec92aeb0372ad67 SHA512 9aa38bc9a238e6f2956883a6318536382726013ea9e4a9d902b36d60df0cf924c279545bcdf92afdb435bfe36598982edd5805725860798fb3970b105254ba1d
+DIST PyDev.Debugger-pydev_debugger_3_1_0.gh.tar.gz 4293466 BLAKE2B 2b820b44a37362dfe554f60f418ce6c94cfd9fb9b14b6d6f521e7bd2023f044129b440878a136d67249096ba8a4aa61bb465551c1d9930989ffe9fe40c68f464 SHA512 8afaab2a69cb6785c5453ce1034a70fa28ab33c3122c1e21c485d9023317785524144c76e87864a695fa1fd26b05bc6d828db22a7cbcf025bd8aafe0b9ed4d3b
diff --git a/dev-python/pydevd/pydevd-2.10.0.ebuild b/dev-python/pydevd/pydevd-2.10.0.ebuild
deleted file mode 100644
index 541036552232..000000000000
--- a/dev-python/pydevd/pydevd-2.10.0.ebuild
+++ /dev/null
@@ -1,132 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 multiprocessing toolchain-funcs
-
-TAG="pydev_debugger_${PV//./_}"
-MY_P="PyDev.Debugger-${TAG}"
-DESCRIPTION="PyDev.Debugger (used in PyDev, PyCharm and VSCode Python)"
-HOMEPAGE="
- https://github.com/fabioz/PyDev.Debugger/
- https://pypi.org/project/pydevd/
-"
-SRC_URI="
- https://github.com/fabioz/PyDev.Debugger/archive/${TAG}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="EPL-1.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- sys-devel/gdb
-"
-BDEPEND="
- test? (
- dev-python/untangle[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
-
- # Drop -O3 and -flto compiler args
- sed -i \
- -e 's/extra_link_args = extra_compile_args\[\:\]/pass/g' \
- -e '/extra_compile_args/d' \
- setup.py || die
-
- # Disable tests incompatible with new package versions
- sed -e '/TEST_\(DJANGO\|FLASK\)/s:True:False:' \
- -i tests_python/debug_constants.py || die
-
- # Clean up some prebuilt files
- rm -r third_party || die
- cd pydevd_attach_to_process || die
-
- # Remove these Windows files
- rm attach_{amd64,x86}.dll || die
- rm inject_dll_{amd64,x86}.exe || die
- rm run_code_on_dllmain_{amd64,x86}.dll || die
- rm -r windows winappdbg || die
-
- # Remove these MacOS files
- rm attach_x86_64.dylib || die
-
- # Remove these prebuilt linux files
- rm attach_linux_{amd64,x86}.so || die
-
- cd linux_and_mac || die
- rm compile_mac.sh || die
-}
-
-src_compile() {
- pushd pydevd_attach_to_process/linux_and_mac || die
- # recompile removed file (extracted from compile_linux.sh)
- $(tc-getBUILD_CXX) ${CXXFLAGS} ${CPPFLAGS} \
- -o "../attach_linux_${ARCH}.so" \
- ${LDFLAGS} -nostartfiles attach.cpp -ldl || die
- popd || die
-
- distutils-r1_src_compile
-
- rm -r _pydevd_bundle || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- # NB: upstream seems to run tests via runfiles.py but that script
- # is a horror and it seems broken for us anyway
- tests_python/test_debugger.py::test_attach_to_pid_halted
- tests_python/test_debugger.py::test_attach_to_pid_no_threads
- 'tests_python/test_debugger.py::test_path_translation[False]'
- tests_python/test_debugger.py::test_remote_debugger_threads
- tests_python/test_debugger_json.py::test_attach_to_pid
- tests_python/test_debugger_json.py::test_evaluate_exception_trace
- tests_python/test_debugger_json.py::test_gui_event_loop_custom
- tests_python/test_debugger_json.py::test_path_translation_and_source_reference
- tests_python/test_utilities.py::test_tracing_basic
- tests_python/test_utilities.py::test_tracing_other_threads
- # incompatible version?
- tests_python/test_debugger_json.py::test_pandas
- )
-
- case ${EPYTHON} in
- python3.12)
- EPYTEST_DESELECT+=(
- tests_python/test_debugger_json.py::test_case_stop_async_iteration_exception
- 'tests_python/test_debugger.py::test_case_handled_and_unhandled_exception_generator[False-_debugger_case_unhandled_exceptions_listcomp.py]'
- 'tests_python/test_debugger_json.py::test_case_unhandled_exception_generator[_debugger_case_unhandled_exceptions_listcomp.py]'
- tests_python/test_debugger.py::test_case_13
- tests_python/test_debugger_json.py::test_function_breakpoints_async
- )
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # this is only used to compare against getpid() to detect that xdist
- # is being used
- local -x PYDEV_MAIN_PID=1
- epytest -p xdist -n "$(makeopts_jobs)" --dist=worksteal
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- # Remove this duplicate that is installed directly to /usr/
- # These files are also correctly installed to the python site-packages dir
- rm -r "${ED}/usr/pydevd_attach_to_process" || die
-}
diff --git a/dev-python/pydevd/pydevd-2.9.5.ebuild b/dev-python/pydevd/pydevd-2.9.5.ebuild
deleted file mode 100644
index a4b5a7c27f4b..000000000000
--- a/dev-python/pydevd/pydevd-2.9.5.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 toolchain-funcs
-
-MY_P="pydev_debugger_${PV//./_}"
-
-DESCRIPTION="PyDev.Debugger (used in PyDev, PyCharm and VSCode Python)"
-HOMEPAGE="https://github.com/fabioz/PyDev.Debugger/"
-SRC_URI="
- https://github.com/fabioz/PyDev.Debugger/archive/${MY_P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/PyDev.Debugger-${MY_P}"
-
-LICENSE="EPL-1.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-# After removing and recompiling the prebuilt lib the tests fail?
-# For some reason the test suite is executing a slightly different gdb command
-# then before, which is lacking the file name of the lib that was pre built:
-# gdb: No symbol table is loaded. Use the "file" command
-# This also happens outside of portage so it is not related to any *FLAGS
-RESTRICT="test"
-
-BDEPEND="
- test? (
- dev-python/untangle[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- )
-"
-
-RDEPEND="sys-devel/gdb"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
-
- # Drop -O3 and -flto compiler args
- sed -i \
- -e 's/extra_link_args = extra_compile_args\[\:\]/pass/g' \
- -e '/extra_compile_args/d' \
- setup.py || die
-
- # Clean up some prebuilt files
- rm -r third_party || die
- cd pydevd_attach_to_process || die
-
- # Remove these Windows files
- rm attach_{amd64,x86}.dll || die
- rm inject_dll_{amd64,x86}.exe || die
- rm run_code_on_dllmain_{amd64,x86}.dll || die
- rm -r windows winappdbg || die
-
- # Remove these MacOS files
- rm attach_x86_64.dylib || die
-
- # Remove these prebuilt linux files
- rm attach_linux_{amd64,x86}.so || die
-
- cd linux_and_mac || die
- rm compile_mac.sh || die
-}
-
-src_compile() {
- pushd pydevd_attach_to_process/linux_and_mac || die
- # recompile removed file (extracted from compile_linux.sh)
- $(tc-getBUILD_CXX) ${CXXFLAGS} ${CPPFLAGS} -o "attach_linux_${ARCH}.so" \
- ${LDFLAGS} -nostartfiles attach.cpp -ldl || die
- mv "attach_linux_${ARCH}.so" ../ || die
- popd || die
-
- distutils-r1_src_compile
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- # Remove this duplicate that is installed directly to /usr/
- # These files are also correctly installed to the python site-packages dir
- rm -r "${ED}/usr/pydevd_attach_to_process" || die
-}
diff --git a/dev-python/pydevd/pydevd-3.1.0-r1.ebuild b/dev-python/pydevd/pydevd-3.1.0-r1.ebuild
new file mode 100644
index 000000000000..4315a5bb2904
--- /dev/null
+++ b/dev-python/pydevd/pydevd-3.1.0-r1.ebuild
@@ -0,0 +1,141 @@
+# 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_{11..12} )
+
+inherit distutils-r1 toolchain-funcs
+
+TAG="pydev_debugger_${PV//./_}"
+MY_P="PyDev.Debugger-${TAG}"
+DESCRIPTION="PyDev.Debugger (used in PyDev, PyCharm and VSCode Python)"
+HOMEPAGE="
+ https://github.com/fabioz/PyDev.Debugger/
+ https://pypi.org/project/pydevd/
+"
+SRC_URI="
+ https://github.com/fabioz/PyDev.Debugger/archive/${TAG}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="EPL-1.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-debug/gdb
+"
+BDEPEND="
+ test? (
+ dev-python/untangle[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ # Drop -O3 and -flto compiler args
+ # Make extension build failures fatal
+ sed -i \
+ -e 's/extra_link_args = extra_compile_args\[\:\]/pass/g' \
+ -e '/extra_compile_args/d' \
+ -e '/except/a\ raise' \
+ setup.py || die
+
+ # Disable tests incompatible with new package versions
+ sed -e '/TEST_\(DJANGO\|FLASK\)/s:True:False:' \
+ -i tests_python/debug_constants.py || die
+
+ # Clean up some prebuilt files
+ rm -r third_party || die
+ cd pydevd_attach_to_process || die
+
+ # Remove these Windows files
+ rm attach_{amd64,x86}.dll || die
+ rm inject_dll_{amd64,x86}.exe || die
+ rm run_code_on_dllmain_{amd64,x86}.dll || die
+ rm -r windows winappdbg || die
+
+ # Remove these MacOS files
+ rm attach_x86_64.dylib || die
+
+ # Remove these prebuilt linux files
+ rm attach_linux_{amd64,x86}.so || die
+
+ cd linux_and_mac || die
+ rm compile_mac.sh || die
+}
+
+src_compile() {
+ pushd pydevd_attach_to_process/linux_and_mac || die
+ # recompile removed file (extracted from compile_linux.sh)
+ $(tc-getBUILD_CXX) ${CXXFLAGS} ${CPPFLAGS} \
+ -o "../attach_linux_${ARCH}.so" \
+ ${LDFLAGS} -nostartfiles attach.cpp -ldl || die
+ popd || die
+
+ distutils-r1_src_compile
+
+ # C extensions
+ rm -r _pydevd* || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ # NB: upstream seems to run tests via runfiles.py but that script
+ # is a horror and it seems broken for us anyway
+ tests_python/test_debugger.py::test_attach_to_pid_halted
+ tests_python/test_debugger.py::test_attach_to_pid_no_threads
+ 'tests_python/test_debugger.py::test_path_translation[False]'
+ tests_python/test_debugger_json.py::test_attach_to_pid
+ tests_python/test_debugger_json.py::test_evaluate_exception_trace
+ tests_python/test_debugger_json.py::test_gui_event_loop_custom
+ tests_python/test_debugger_json.py::test_path_translation_and_source_reference
+ tests_python/test_utilities.py::test_tracing_basic
+ tests_python/test_utilities.py::test_tracing_other_threads
+ # incompatible with xdist
+ tests_python/test_utilities.py::test_find_main_thread_id
+ tests_python/test_utilities.py::test_is_main_thread
+ # numpy-2?
+ tests_python/test_debugger_json.py::test_evaluate_numpy
+ )
+
+ case ${EPYTHON} in
+ python3.11)
+ EPYTEST_DESELECT+=(
+ tests_python/test_debugger.py::test_frame_eval_limitations
+ tests_python/test_debugger.py::test_remote_debugger_threads
+ )
+ ;;
+ python3.12)
+ EPYTEST_DESELECT+=(
+ # flaky
+ tests_python/test_debugger_json.py::test_step_next_step_in_multi_threads
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # this is only used to compare against getpid() to detect that xdist
+ # is being used
+ local -x PYDEV_MAIN_PID=1
+ epytest -p rerunfailures --reruns=5
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ # Remove this duplicate that is installed directly to /usr/
+ # These files are also correctly installed to the python site-packages dir
+ rm -r "${ED}/usr/pydevd_attach_to_process" || die
+}
diff --git a/dev-python/pydiffx/pydiffx-1.1.ebuild b/dev-python/pydiffx/pydiffx-1.1.ebuild
index 850b78f95d84..410368050c48 100644
--- a/dev-python/pydiffx/pydiffx-1.1.ebuild
+++ b/dev-python/pydiffx/pydiffx-1.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pydocstyle/Manifest b/dev-python/pydocstyle/Manifest
deleted file mode 100644
index 9a749ff1582f..000000000000
--- a/dev-python/pydocstyle/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pydocstyle-6.3.0.gh.tar.gz 78058 BLAKE2B 551da9af8baebcba4f1053e0d9495bff039a98c96ad229219cd37ac8ba9e3002fff8a136c5148144a5f84ed94a1414364d7c827ad010038f63961ce17a260ee3 SHA512 f8473b19ab6ef0b61787875558f9dd6f9f7f1954e1baa0010942af6d4de8dbca30c8c08be6acbf24aadd1c0a601ba9467b747026a6cd22379f0c4b84a38b57c7
diff --git a/dev-python/pydocstyle/files/pydocstyle-6.1.1-disarm-pip-install.patch b/dev-python/pydocstyle/files/pydocstyle-6.1.1-disarm-pip-install.patch
deleted file mode 100644
index b0467a136435..000000000000
--- a/dev-python/pydocstyle/files/pydocstyle-6.1.1-disarm-pip-install.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From 46947c9dca95caeb7b1f4348994d1aa2b8db93ec Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Tue, 18 May 2021 10:02:16 +0200
-Subject: [PATCH] Disarm install_package fixture
-
----
- src/tests/test_integration.py | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/src/tests/test_integration.py b/src/tests/test_integration.py
-index eb4994f..4242476 100644
---- a/src/tests/test_integration.py
-+++ b/src/tests/test_integration.py
-@@ -128,14 +128,7 @@ def install_package(request):
- This is so we can run the integration tests on the installed console
- script.
- """
-- cwd = os.path.join(os.path.dirname(__file__), '..', '..')
-- subprocess.check_call(
-- [sys.executable, "-m", "pip", "install", "-e", "."], cwd=cwd
-- )
- yield
-- subprocess.check_call(
-- [sys.executable, "-m", "pip", "uninstall", "-y", "pydocstyle"], cwd=cwd
-- )
-
-
- @pytest.yield_fixture(scope="function", params=['ini', 'toml'])
---
-2.31.1
-
diff --git a/dev-python/pydocstyle/metadata.xml b/dev-python/pydocstyle/metadata.xml
deleted file mode 100644
index c6899ee0daad..000000000000
--- a/dev-python/pydocstyle/metadata.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Gentoo Python Project</name>
- </maintainer>
- <maintainer type="person">
- <email>monsieurp@gentoo.org</email>
- <name>Patrice Clement</name>
- </maintainer>
- <maintainer type="person">
- <email>andrewammerlaan@gentoo.org</email>
- <name>Andrew Ammerlaan</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">PyCQA/pydocstyle</remote-id>
- <remote-id type="pypi">pydocstyle</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pydocstyle/pydocstyle-6.3.0.ebuild b/dev-python/pydocstyle/pydocstyle-6.3.0.ebuild
deleted file mode 100644
index a27b5e10bdbb..000000000000
--- a/dev-python/pydocstyle/pydocstyle-6.3.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python docstring style checker"
-HOMEPAGE="
- https://github.com/PyCQA/pydocstyle/
- https://pypi.org/project/pydocstyle/
-"
-SRC_URI="
- https://github.com/PyCQA/pydocstyle/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/snowballstemmer-2.2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{8..10})
- )
-"
-
-distutils_enable_tests pytest
-# Requires network to lookup github issues
-#distutils_enable_sphinx docs dev-python/sphinx-rtd-theme dev-python/sphinxcontrib-issuetracker
-
-PATCHES=(
- "${FILESDIR}"/pydocstyle-6.1.1-disarm-pip-install.patch
-)
-
-src_prepare() {
- # poetry sucks
- sed -i -e "s:0.0.0-dev:${PV}:" pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pydot/Manifest b/dev-python/pydot/Manifest
index 8954a2b1f36a..f077b62d5526 100644
--- a/dev-python/pydot/Manifest
+++ b/dev-python/pydot/Manifest
@@ -1,2 +1,3 @@
-DIST pydot-1.4.2.gh.tar.gz 272678 BLAKE2B 966f2c4ef3e26a63cc50ab89b5b6b5b413aabdfeddf994f2d5ba9dedaa1ed3152dd8060186e7380c3e768b783f7bfe1971cd600c18d1b73f7ac63db08ee3ace9 SHA512 caa8051561710129b5164fd1392da941829fd977092a6ec8b00efe7a199d2d60bc7ef13cb0e51615f384550f0fb80190d0f56b83d8d80d1fe372efb5dbbd3632
-DIST pydot-1.4.2.tar.gz 272678 BLAKE2B 966f2c4ef3e26a63cc50ab89b5b6b5b413aabdfeddf994f2d5ba9dedaa1ed3152dd8060186e7380c3e768b783f7bfe1971cd600c18d1b73f7ac63db08ee3ace9 SHA512 caa8051561710129b5164fd1392da941829fd977092a6ec8b00efe7a199d2d60bc7ef13cb0e51615f384550f0fb80190d0f56b83d8d80d1fe372efb5dbbd3632
+DIST pydot-2.0.0.gh.tar.gz 275188 BLAKE2B 58f1598196861795bd44c6b97683e0c37b3c05e848a69d42a3fc898849f272466c989e7ff72e0be22a322a1e92c31c6b76a9317e56f3ec26743c20801daf8bfd SHA512 09102930a59ac4339e1d1e4f7a9d075f99eda6cb060885631a72f1fded90d001bd02940b55addc0c92856e95321cb3b344a1797b4809ac7c9048ac57c81d4707
+DIST pydot-3.0.0.gh.tar.gz 280655 BLAKE2B 0c58f5a03cdb2eb325aec96e532bbe4808170a3828377ba3a278c8c5631de9c74716a19426ebb0834ecba063b92c31ef41965edb1ee22018ed658e0e4e17bc7a SHA512 493601a54e9727d727b1ff3fa9133da400dd02ca147f04b5c446a2baeda3b5ae60d0edccaf122e946abe984f7d9e375cda553a22608b070e06e8f59eda82d565
+DIST pydot-3.0.1.gh.tar.gz 280784 BLAKE2B d87d06bf5f62ae783ecb4ff6a16b0986969de49cbf45e120df5e722620fe614181700f8117b0a6ce24fd4aac4f618d4dc16c631f581ebb19bea73a5a92437585 SHA512 6aca6e91134e481334c12a7669d3f5df1181f9a4e2ab914a6c8ab87f28d0afa9d97cfc0d9b665d9fdedb3c335624d68967d491f79fc669573aa81cf1401316cd
diff --git a/dev-python/pydot/files/pydot-1.4.2-pyparsing-3.patch b/dev-python/pydot/files/pydot-1.4.2-pyparsing-3.patch
deleted file mode 100644
index 09d4c654ac17..000000000000
--- a/dev-python/pydot/files/pydot-1.4.2-pyparsing-3.patch
+++ /dev/null
@@ -1,22 +0,0 @@
-https://github.com/pydot/pydot/pull/281
-https://bugs.gentoo.org/830676
-
-(rebased)
-
-From 4ab2c033c0dd67cab87be9a9392c558359caf80c Mon Sep 17 00:00:00 2001
-From: Anton Bolshakov <blshkv@users.noreply.github.com>
-Date: Tue, 4 Jan 2022 16:05:51 +0800
-Subject: [PATCH] Update dot_parser.py
-
-https://github.com/pydot/pydot/issues/277
---- a/dot_parser.py
-+++ b/dot_parser.py
-@@ -439,6 +439,8 @@ def graph_definition():
-
- noncomma = "".join([c for c in printables if c != ","])
- alphastring_ = OneOrMore(CharsNotIn(noncomma + ' '))
-+ # override pyparsing tightened whitespace-skipping logic
-+ alphastring_.skipWhitespace = True
-
- def parse_html(s, loc, toks):
- return '<%s>' % ''.join(toks[0])
diff --git a/dev-python/pydot/pydot-1.4.2-r3.ebuild b/dev-python/pydot/pydot-1.4.2-r3.ebuild
deleted file mode 100644
index 95c8ea595ae6..000000000000
--- a/dev-python/pydot/pydot-1.4.2-r3.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Python interface to Graphviz's Dot language"
-HOMEPAGE="https://github.com/pydot/pydot https://pypi.org/project/pydot/"
-# pypi releases don't include tests
-SRC_URI="https://github.com/pydot/pydot/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/pyparsing[${PYTHON_USEDEP}]
- media-gfx/graphviz"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-python/chardet[${PYTHON_USEDEP}]
- )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.4.2-pyparsing-3.patch
-)
-
-python_test() {
- cd test || die
- "${PYTHON}" pydot_unittest.py || die "Test failed with ${EPYTHON}"
-}
diff --git a/dev-python/pydot/pydot-1.4.2-r4.ebuild b/dev-python/pydot/pydot-1.4.2-r4.ebuild
deleted file mode 100644
index f593acf7eda2..000000000000
--- a/dev-python/pydot/pydot-1.4.2-r4.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python interface to Graphviz's Dot language"
-HOMEPAGE="
- https://github.com/pydot/pydot/
- https://pypi.org/project/pydot/
-"
-# pypi releases don't include tests
-SRC_URI="
- https://github.com/pydot/pydot/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/pyparsing[${PYTHON_USEDEP}]
- media-gfx/graphviz
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-python/chardet[${PYTHON_USEDEP}]
- )
-"
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}"/${PN}-1.4.2-pyparsing-3.patch
- )
-
- # broken
- rm test/my_tests/html_labels.dot || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- cd test || die
- PYTHONPATH="${WORKDIR}"/${P}-${EPYTHON/./_}/install/usr/lib/${EPYTHON}/site-packages \
- "${PYTHON}" pydot_unittest.py || die "Test failed with ${EPYTHON}"
-}
diff --git a/dev-python/pydot/pydot-2.0.0.ebuild b/dev-python/pydot/pydot-2.0.0.ebuild
new file mode 100644
index 000000000000..ed52cd028776
--- /dev/null
+++ b/dev-python/pydot/pydot-2.0.0.ebuild
@@ -0,0 +1,42 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface to Graphviz's Dot language"
+HOMEPAGE="
+ https://github.com/pydot/pydot/
+ https://pypi.org/project/pydot/
+"
+# pypi releases don't include tests
+SRC_URI="
+ https://github.com/pydot/pydot/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/pyparsing-3[${PYTHON_USEDEP}]
+ media-gfx/graphviz
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/chardet[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ cd test || die
+ local -x PYTHONPATH="${BUILD_DIR}/install$(python_get_sitedir)"
+ "${PYTHON}" pydot_unittest.py || die "Test failed with ${EPYTHON}"
+}
diff --git a/dev-python/pydot/pydot-3.0.0.ebuild b/dev-python/pydot/pydot-3.0.0.ebuild
new file mode 100644
index 000000000000..ee9b63f3aaa8
--- /dev/null
+++ b/dev-python/pydot/pydot-3.0.0.ebuild
@@ -0,0 +1,38 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface to Graphviz's Dot language"
+HOMEPAGE="
+ https://github.com/pydot/pydot/
+ https://pypi.org/project/pydot/
+"
+# pypi releases don't include tests
+SRC_URI="
+ https://github.com/pydot/pydot/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/pyparsing-3.0.9[${PYTHON_USEDEP}]
+ media-gfx/graphviz
+"
+BDEPEND="
+ test? (
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pydot/pydot-3.0.1.ebuild b/dev-python/pydot/pydot-3.0.1.ebuild
new file mode 100644
index 000000000000..ee9b63f3aaa8
--- /dev/null
+++ b/dev-python/pydot/pydot-3.0.1.ebuild
@@ -0,0 +1,38 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python interface to Graphviz's Dot language"
+HOMEPAGE="
+ https://github.com/pydot/pydot/
+ https://pypi.org/project/pydot/
+"
+# pypi releases don't include tests
+SRC_URI="
+ https://github.com/pydot/pydot/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~ppc-macos ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/pyparsing-3.0.9[${PYTHON_USEDEP}]
+ media-gfx/graphviz
+"
+BDEPEND="
+ test? (
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/parameterized[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pydotplus/Manifest b/dev-python/pydotplus/Manifest
deleted file mode 100644
index 397f4ef92f07..000000000000
--- a/dev-python/pydotplus/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pydotplus-2.0.2.tar.gz 278677 BLAKE2B 879271ba7e2104134a71caef7676082420770dcdb34aeabfe76232ad8f9774d3e90a9f7ca5fb407a7a4e8e0c4e5e01824bd0d5936fe77554cc661839fcc0dc7b SHA512 6f06a1f284401123a4514f9e9a4974dee8dc8d01e6b7c40a797fb70eed22b99fe774272f8b106b5632a33f524b356349fe1ff9633101ff61ef2fc3fe69d641ac
diff --git a/dev-python/pydotplus/files/pydotplus-2.0.2-tests.patch b/dev-python/pydotplus/files/pydotplus-2.0.2-tests.patch
deleted file mode 100644
index 65d9c5f9f45b..000000000000
--- a/dev-python/pydotplus/files/pydotplus-2.0.2-tests.patch
+++ /dev/null
@@ -1,17 +0,0 @@
---- a/test/pydot_unittest.py
-+++ b/test/pydot_unittest.py
-@@ -142,6 +142,7 @@ class TestGraphAPI(unittest.TestCase):
- self.assertEqual(g2.get_edges()[0].get_source(), node1)
- self.assertEqual(g2.get_edges()[0].get_destination(), node2)
-
-+ @unittest.skip(reason="Known to fail on Gentoo, reported upstream: https://github.com/carlos-jenkins/pydotplus/issues/22")
- def test_graph_with_shapefiles(self):
-
- shapefile_dir = os.path.join(TEST_DIR, 'from-past-to-future')
-@@ -225,6 +226,7 @@ class TestGraphAPI(unittest.TestCase):
- def test_my_regression_tests(self):
- self._render_and_compare_dot_files(MY_REGRESSION_TESTS_DIR)
-
-+ @unittest.skip(reason="Known to fail on Gentoo, reported upstream: https://github.com/carlos-jenkins/pydotplus/issues/22")
- def test_graphviz_regression_tests(self):
- self._render_and_compare_dot_files(REGRESSION_TESTS_DIR)
diff --git a/dev-python/pydotplus/metadata.xml b/dev-python/pydotplus/metadata.xml
deleted file mode 100644
index 4762ce100175..000000000000
--- a/dev-python/pydotplus/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription lang="en">
- PyDotPlus is an improved version of the old pydot project that provides
- a Python Interface to Graphviz’s Dot language.
- </longdescription>
- <upstream>
- <remote-id type="pypi">pydotplus</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pydotplus/pydotplus-2.0.2-r1.ebuild b/dev-python/pydotplus/pydotplus-2.0.2-r1.ebuild
deleted file mode 100644
index 71c2ab22addc..000000000000
--- a/dev-python/pydotplus/pydotplus-2.0.2-r1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Improved version of the old pydot project"
-HOMEPAGE="https://pydotplus.readthedocs.org/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/pyparsing[${PYTHON_USEDEP}]
- media-gfx/graphviz
-"
-
-distutils_enable_tests unittest
-
-PATCHES=(
- "${FILESDIR}"/${P}-tests.patch
-)
-
-python_test() {
- cd test || die
- "${EPYTHON}" pydot_unittest.py || die
-}
diff --git a/dev-python/pydyf/Manifest b/dev-python/pydyf/Manifest
index 041ab2371b08..d87af3b58e26 100644
--- a/dev-python/pydyf/Manifest
+++ b/dev-python/pydyf/Manifest
@@ -1 +1,2 @@
-DIST pydyf-0.8.0.tar.gz 16342 BLAKE2B c2c00d63fc4fb2aabed20f39fc08fb2b2628e7a9d31d7504d8461331e0ba4654f26e129eb3d9ccf1ab4f376f7ace4f15d6bf87fd74b76c2d50a2a741f7fadb14 SHA512 c78913e723593a4e76c36b7a9b3ddd8a85af856a967053d8f7f297901deb2c6a723e98b3ef311e1c9618018e0e727a2d8eaff1adedb52c743facb85491e8d102
+DIST pydyf-0.10.0.tar.gz 17615 BLAKE2B e378f26ab2dc4d904762d967c0552f3a9d96248c0fd2687669f22c0ee3af5d35cf59c60f0dc0b015a4d1cd098a2de01d102cbf16e8c5d48b3f56299b36c55884 SHA512 7c35a818569dda0edb0dda5e31c595a65e2637594a7a6815ef3b41e34c10a4f2a1b3412af59f48fee2e72e8bf23c01e651b46130e1927645cbafc7d99c104574
+DIST pydyf-0.11.0.tar.gz 17769 BLAKE2B 5fa6d597592104a505267a29ad99cf0c06e84e165a407438563982d45f3d77d9c2a0c45ffda2c16fe6f8656ca406f3bff8ad7dc19f011132334130fcb0c5bc1d SHA512 f02021d1d6bb59557a5b1c1a7f71551b1efe0f8019b2d2e28a84fb126b0d4b701e884971376b8a7b654a51f1831b3fab319a0212e9cb444a392304fc244133d1
diff --git a/dev-python/pydyf/pydyf-0.10.0.ebuild b/dev-python/pydyf/pydyf-0.10.0.ebuild
new file mode 100644
index 000000000000..98ab68b7977d
--- /dev/null
+++ b/dev-python/pydyf/pydyf-0.10.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A low-level PDF generator"
+HOMEPAGE="
+ https://pypi.org/project/pydyf/
+ https://github.com/CourtBouillon/pydyf/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+BDEPEND="
+ test? (
+ app-text/ghostscript-gpl
+ dev-python/pillow[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pydyf/pydyf-0.11.0.ebuild b/dev-python/pydyf/pydyf-0.11.0.ebuild
new file mode 100644
index 000000000000..c726d36d516c
--- /dev/null
+++ b/dev-python/pydyf/pydyf-0.11.0.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A low-level PDF generator"
+HOMEPAGE="
+ https://pypi.org/project/pydyf/
+ https://github.com/CourtBouillon/pydyf/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ test? (
+ app-text/ghostscript-gpl
+ dev-python/pillow[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pydyf/pydyf-0.8.0.ebuild b/dev-python/pydyf/pydyf-0.8.0.ebuild
deleted file mode 100644
index 82151a11f7b8..000000000000
--- a/dev-python/pydyf/pydyf-0.8.0.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A low-level PDF generator"
-HOMEPAGE="
- https://pypi.org/project/pydyf/
- https://github.com/CourtBouillon/pydyf/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-BDEPEND="
- test? (
- app-text/ghostscript-gpl
- dev-python/pillow[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyeclib/pyeclib-1.6.1.ebuild b/dev-python/pyeclib/pyeclib-1.6.1.ebuild
index d7b6b193ba80..62ebc0ce94fb 100644
--- a/dev-python/pyeclib/pyeclib-1.6.1.ebuild
+++ b/dev-python/pyeclib/pyeclib-1.6.1.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
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 optfeature pypi
diff --git a/dev-python/pyelftools/Manifest b/dev-python/pyelftools/Manifest
index 659112f94104..8856d57cb21b 100644
--- a/dev-python/pyelftools/Manifest
+++ b/dev-python/pyelftools/Manifest
@@ -1 +1 @@
-DIST pyelftools-0.30.gh.tar.gz 14115024 BLAKE2B b7974bc1a51ff5ba6ced17aac44e3911ff8d892564a3bef07ae6a5fc261eb7d2eb02170678c4d0bafedaa9e393fa4ca6d2059c420436ea73aa4f6aa7b49a894e SHA512 5bd4c797f90307e351d541b8de8f76124c66e497b68b811f7012e1271c902beb6ab530a424b338777d12277d44f9b5f89f049e05d9fc2ec36a90b6fa16f1c1a4
+DIST pyelftools-0.31.gh.tar.gz 14204157 BLAKE2B 9e5a1e0a7b9292b30db7331e18c5c800f84eb087b58b266f3f23a7c9c5e7ea655f913788495e1df04e79c9f0a82789cad58ee2dcd8a0afb17e696d4c58679f33 SHA512 7f4ef37da7fda75125cb95ced2f3084848943592eff7deae7ae917508f1cd5281c96960ee3bbc6e503e71a4e2196622cd68cc67e3df1f4cd99b9b675f14fd58c
diff --git a/dev-python/pyelftools/pyelftools-0.30.ebuild b/dev-python/pyelftools/pyelftools-0.30.ebuild
deleted file mode 100644
index e8e2e4659be0..000000000000
--- a/dev-python/pyelftools/pyelftools-0.30.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="pure-Python library for analyzing ELF files and DWARF debugging information"
-HOMEPAGE="
- https://pypi.org/project/pyelftools/
- https://github.com/eliben/pyelftools/
-"
-# PyPI tarball lacks some test files
-SRC_URI="
- https://github.com/eliben/pyelftools/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-python_test() {
- # readelf_tests often fails due to host `readelf` changing output format
- "${EPYTHON}" test/run_all_unittests.py || die
- "${EPYTHON}" test/run_examples_test.py || die
-}
diff --git a/dev-python/pyelftools/pyelftools-0.31.ebuild b/dev-python/pyelftools/pyelftools-0.31.ebuild
new file mode 100644
index 000000000000..d143d55c3336
--- /dev/null
+++ b/dev-python/pyelftools/pyelftools-0.31.ebuild
@@ -0,0 +1,30 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="pure-Python library for analyzing ELF files and DWARF debugging information"
+HOMEPAGE="
+ https://pypi.org/project/pyelftools/
+ https://github.com/eliben/pyelftools/
+"
+# PyPI tarball lacks some test files
+SRC_URI="
+ https://github.com/eliben/pyelftools/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+python_test() {
+ # readelf_tests often fails due to host `readelf` changing output format
+ "${EPYTHON}" test/run_all_unittests.py || die
+ "${EPYTHON}" test/run_examples_test.py || die
+}
diff --git a/dev-python/pyenchant/pyenchant-3.2.2-r1.ebuild b/dev-python/pyenchant/pyenchant-3.2.2-r1.ebuild
index 7020eba0b0e4..14f796fb53b2 100644
--- a/dev-python/pyenchant/pyenchant-3.2.2-r1.ebuild
+++ b/dev-python/pyenchant/pyenchant-3.2.2-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
app-text/enchant:*
diff --git a/dev-python/pyfakefs/Manifest b/dev-python/pyfakefs/Manifest
index ef5835d4bb89..1b047122af84 100644
--- a/dev-python/pyfakefs/Manifest
+++ b/dev-python/pyfakefs/Manifest
@@ -1,3 +1,4 @@
-DIST pyfakefs-5.3.0.gh.tar.gz 224241 BLAKE2B de6d1b420bcfe710bef00c4f8d9cd4fa838341a7285d89a02607701f0011ccbe7f1974c5eec502994f787661496f74332bc4d4aa3389023ae02607a968c33be5 SHA512 25d967390f66ba5881429a37b62110ef129aae989efe66740c3a04fccfcbc601476d23427ac23d5df82a1e1a8102d557f0cca39b94fa0c7e69b6dca80d1e435e
-DIST pyfakefs-5.3.1.gh.tar.gz 225234 BLAKE2B 2688a40ce22a112ce80de8795e3c0b0dd7e2cd46b41c442c5e13085ec614e323a5558cfa48e0e5c79c7c418a739b3f0a6202bb007e8c201ac3fbcc3b209a3d9f SHA512 6d2b16327e8f40d98ac84ea8662dc359aa1b590e1de71761d511b084268d44ee2950cd2af1ec4e722fcb6e7dd14b93e01969fa5cc12e178e97ca2ce69073deea
-DIST pyfakefs-5.3.2.gh.tar.gz 225929 BLAKE2B 1a84f52e8d85b55d2ebc0dcf9c4b44bd053c0a3a12d6c47c1f8d5aec304e39a83ffb01d4c707929955ca5cd86ae9427332d5bf043cb7f910fe1d17fbcc19e35c SHA512 4cc2c861fa358c06832df6e8a7cfc91e2b9be42f1164378ea6bd0a3a6cc48f36c545b7d61e03591d025ef7bd98fdc812f903973f28a278056961aec22ca88641
+DIST pyfakefs-5.3.5.gh.tar.gz 227359 BLAKE2B 635e41cb9892e1707555559769c01d5b575e44c5f1dd412acc05c3bed3b2dad2724ba32341b59cdecdfb658c94008e09396970349d8c1ffdcb90bf89ea82aca0 SHA512 342dc9cc0378af8cd8a9b0783fb6a1415207505ec8d4992f8fdd7e8d2bc4aada26d0803ed3b74d30b42a50dffb793c70acdeb3f28f199c0918783e1ea0a5e0d8
+DIST pyfakefs-5.5.0.gh.tar.gz 239883 BLAKE2B cf9b91fbfbb77b012ec768ac2188ea5c611a271f50ded69cc92607d955b4dda8cacf7b0560da5a2b57f7a4aa6879fafb328357e5996d8c7c025f531530a04f4d SHA512 d9f05318f26ca9c26e0cca3c4fdf19dc3cf33bd21a6a87e1e4d8871b06eba9d8ba875301b001221ec9e0bd17c14f8aba3e61d3ec5b3c72587d28b7b5263e2a2c
+DIST pyfakefs-5.6.0.gh.tar.gz 242557 BLAKE2B d29e83d5ad6c7e313d28484754d2064d820856429c0e48e3b5851ecc1ae8cdfdc632f5855548229bc362b5323a7166b8d3776f2a2ccfb7472938362695a9f6f7 SHA512 7f3d8798088c66aaf57e238ee8f4693164508d23ff59fcde4a546af26da850a8c33cf0c552cb312ccfebbbbfc463db78ac80a356ce55634afc276124064ee210
+DIST pyfakefs-9c19d6a55e6ebac98267713d571202e82b641279.gh.tar.gz 242645 BLAKE2B 175ebb18f15222152b12d0651cc378393f8a6d758d33355babca017a4fa4462610499466e0ba4ff429ac066880e1475fcb5c504cf085e067c87ceb878537ffb3 SHA512 b9c57128d057560882558b8d5ece24c98e377a6ed563e69d1e899106295f2fc43058265da092d34b9c00e886171f905acff851f78ce3e9c66ff4a9c0b1288581
diff --git a/dev-python/pyfakefs/pyfakefs-5.3.0.ebuild b/dev-python/pyfakefs/pyfakefs-5.3.0.ebuild
deleted file mode 100644
index c34b2eaeac96..000000000000
--- a/dev-python/pyfakefs/pyfakefs-5.3.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A fake file system that mocks the Python file system modules"
-HOMEPAGE="
- https://github.com/pytest-dev/pyfakefs/
- https://pypi.org/project/pyfakefs/
-"
-SRC_URI="
- https://github.com/pytest-dev/pyfakefs/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
- local EPYTEST_IGNORE=(
- # test for regression with opentimelineio package
- pyfakefs/pytest_tests/segfault_test.py
- )
-
- case ${EPYTHON} in
- python3.12)
- EPYTEST_DESELECT+=(
- # happens with pandas + zstandard [cffi backend]
- # https://github.com/pytest-dev/pyfakefs/issues/910
- pyfakefs/tests/patched_packages_test.py::TestPatchedPackages::test_read_{csv,table}
- )
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pyfakefs.pytest_plugin
-}
diff --git a/dev-python/pyfakefs/pyfakefs-5.3.1.ebuild b/dev-python/pyfakefs/pyfakefs-5.3.1.ebuild
deleted file mode 100644
index d5a9d7aac337..000000000000
--- a/dev-python/pyfakefs/pyfakefs-5.3.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A fake file system that mocks the Python file system modules"
-HOMEPAGE="
- https://github.com/pytest-dev/pyfakefs/
- https://pypi.org/project/pyfakefs/
-"
-SRC_URI="
- https://github.com/pytest-dev/pyfakefs/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
- local EPYTEST_IGNORE=(
- # test for regression with opentimelineio package
- pyfakefs/pytest_tests/segfault_test.py
- )
-
- case ${EPYTHON} in
- python3.12)
- EPYTEST_DESELECT+=(
- # happens with pandas + zstandard [cffi backend]
- # https://github.com/pytest-dev/pyfakefs/issues/910
- pyfakefs/tests/patched_packages_test.py::TestPatchedPackages::test_read_{csv,table}
- )
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pyfakefs.pytest_plugin
-}
diff --git a/dev-python/pyfakefs/pyfakefs-5.3.2.ebuild b/dev-python/pyfakefs/pyfakefs-5.3.2.ebuild
deleted file mode 100644
index 7792b64f97c9..000000000000
--- a/dev-python/pyfakefs/pyfakefs-5.3.2.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A fake file system that mocks the Python file system modules"
-HOMEPAGE="
- https://github.com/pytest-dev/pyfakefs/
- https://pypi.org/project/pyfakefs/
-"
-SRC_URI="
- https://github.com/pytest-dev/pyfakefs/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
- local EPYTEST_IGNORE=(
- # test for regression with opentimelineio package
- pyfakefs/pytest_tests/segfault_test.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pyfakefs.pytest_plugin
-}
diff --git a/dev-python/pyfakefs/pyfakefs-5.3.5.ebuild b/dev-python/pyfakefs/pyfakefs-5.3.5.ebuild
new file mode 100644
index 000000000000..ebe04cf6f2f1
--- /dev/null
+++ b/dev-python/pyfakefs/pyfakefs-5.3.5.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A fake file system that mocks the Python file system modules"
+HOMEPAGE="
+ https://github.com/pytest-dev/pyfakefs/
+ https://pypi.org/project/pyfakefs/
+"
+SRC_URI="
+ https://github.com/pytest-dev/pyfakefs/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=(
+ # test for regression with opentimelineio package
+ pyfakefs/pytest_tests/segfault_test.py
+ # test for regression with undefined package
+ pyfakefs/pytest_tests/pytest_fixture_test.py
+ )
+
+ if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ pyfakefs/pytest_tests/pytest_reload_pandas_test.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pyfakefs.pytest_plugin
+}
diff --git a/dev-python/pyfakefs/pyfakefs-5.5.0.ebuild b/dev-python/pyfakefs/pyfakefs-5.5.0.ebuild
new file mode 100644
index 000000000000..ebe04cf6f2f1
--- /dev/null
+++ b/dev-python/pyfakefs/pyfakefs-5.5.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A fake file system that mocks the Python file system modules"
+HOMEPAGE="
+ https://github.com/pytest-dev/pyfakefs/
+ https://pypi.org/project/pyfakefs/
+"
+SRC_URI="
+ https://github.com/pytest-dev/pyfakefs/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=(
+ # test for regression with opentimelineio package
+ pyfakefs/pytest_tests/segfault_test.py
+ # test for regression with undefined package
+ pyfakefs/pytest_tests/pytest_fixture_test.py
+ )
+
+ if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ pyfakefs/pytest_tests/pytest_reload_pandas_test.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pyfakefs.pytest_plugin
+}
diff --git a/dev-python/pyfakefs/pyfakefs-5.6.0.ebuild b/dev-python/pyfakefs/pyfakefs-5.6.0.ebuild
new file mode 100644
index 000000000000..9ebc980ca040
--- /dev/null
+++ b/dev-python/pyfakefs/pyfakefs-5.6.0.ebuild
@@ -0,0 +1,44 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A fake file system that mocks the Python file system modules"
+HOMEPAGE="
+ https://github.com/pytest-dev/pyfakefs/
+ https://pypi.org/project/pyfakefs/
+"
+SRC_URI="
+ https://github.com/pytest-dev/pyfakefs/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=(
+ # test for regression with opentimelineio package
+ pyfakefs/pytest_tests/segfault_test.py
+ # test for regression with undefined package
+ pyfakefs/pytest_tests/pytest_fixture_test.py
+ )
+
+ if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ pyfakefs/pytest_tests/pytest_reload_pandas_test.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pyfakefs.pytest_plugin
+}
diff --git a/dev-python/pyfakefs/pyfakefs-5.6_pre20240703.ebuild b/dev-python/pyfakefs/pyfakefs-5.6_pre20240703.ebuild
new file mode 100644
index 000000000000..bda023a13df1
--- /dev/null
+++ b/dev-python/pyfakefs/pyfakefs-5.6_pre20240703.ebuild
@@ -0,0 +1,47 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+EGIT_COMMIT=9c19d6a55e6ebac98267713d571202e82b641279
+MY_P=${PN}-${EGIT_COMMIT}
+DESCRIPTION="A fake file system that mocks the Python file system modules"
+HOMEPAGE="
+ https://github.com/pytest-dev/pyfakefs/
+ https://pypi.org/project/pyfakefs/
+"
+SRC_URI="
+ https://github.com/pytest-dev/pyfakefs/archive/${EGIT_COMMIT}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ local EPYTEST_IGNORE=(
+ # test for regression with opentimelineio package
+ pyfakefs/pytest_tests/segfault_test.py
+ # test for regression with undefined package
+ pyfakefs/pytest_tests/pytest_fixture_test.py
+ )
+
+ if ! has_version "dev-python/pandas[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ pyfakefs/pytest_tests/pytest_reload_pandas_test.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pyfakefs.pytest_plugin
+}
diff --git a/dev-python/pyflakes/Manifest b/dev-python/pyflakes/Manifest
index d41a6df6e299..24bae05ca629 100644
--- a/dev-python/pyflakes/Manifest
+++ b/dev-python/pyflakes/Manifest
@@ -1 +1 @@
-DIST pyflakes-3.1.0.tar.gz 63636 BLAKE2B 89e5fae6bba9efc820e348ddac37fd8590478c64363a5f295cc620ebbc7b51d4d51e0cff30b6a54ee573612e5309d7fff9462bc31c9e89c34cf7cdbecffabd30 SHA512 6277eaa82a3d94f8052b3da865cfcc8e99846738b5869fca1be92bb5b9a4db0088859d811da565200e640ad0555d46e0ebcaf831cd422b84304514592270b02e
+DIST pyflakes-3.2.0.tar.gz 63788 BLAKE2B 12547bc1ef69d11efb86198c091072085df8a5435608aace18eab9da92b428980ad62fc4b7b6e182bee7963c511b637c17191db9138fc811256f553b902dbd66 SHA512 bd413b2ad80ae942bc13cef5ecb3a47b09abb0641fe468d427717b32895eb1702c9e8831867fbaa1de6fff71ab16bc3dae96f745bbc3e7d99de104a008f397ba
diff --git a/dev-python/pyflakes/pyflakes-3.1.0.ebuild b/dev-python/pyflakes/pyflakes-3.1.0.ebuild
deleted file mode 100644
index dc598b6ccd04..000000000000
--- a/dev-python/pyflakes/pyflakes-3.1.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Passive checker for Python programs"
-HOMEPAGE="
- https://github.com/PyCQA/pyflakes/
- https://pypi.org/project/pyflakes/
-"
-
-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"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
- if [[ ${EPYTHON} == pypy3 ]]; then
- # regressions with pypy3.10
- # https://github.com/PyCQA/pyflakes/issues/779
- EPYTEST_DESELECT+=(
- pyflakes/test/test_api.py::CheckTests::test_eofSyntaxError
- pyflakes/test/test_api.py::CheckTests::test_misencodedFileUTF8
- pyflakes/test/test_api.py::CheckTests::test_multilineSyntaxError
- )
- fi
-
- epytest
-}
diff --git a/dev-python/pyflakes/pyflakes-3.2.0.ebuild b/dev-python/pyflakes/pyflakes-3.2.0.ebuild
new file mode 100644
index 000000000000..82d5fd5056a3
--- /dev/null
+++ b/dev-python/pyflakes/pyflakes-3.2.0.ebuild
@@ -0,0 +1,47 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Passive checker for Python programs"
+HOMEPAGE="
+ https://github.com/PyCQA/pyflakes/
+ https://pypi.org/project/pyflakes/
+"
+
+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"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ case ${EPYTHON} in
+ pypy3)
+ # regressions with pypy3.10
+ # https://github.com/PyCQA/pyflakes/issues/779
+ EPYTEST_DESELECT+=(
+ pyflakes/test/test_api.py::CheckTests::test_eofSyntaxError
+ pyflakes/test/test_api.py::CheckTests::test_misencodedFileUTF8
+ pyflakes/test/test_api.py::CheckTests::test_multilineSyntaxError
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # failing due to improved error message
+ # https://github.com/PyCQA/pyflakes/issues/812
+ pyflakes/test/test_api.py::IntegrationTests::test_errors_syntax
+ pyflakes/test/test_api.py::TestMain::test_errors_syntax
+ )
+ ;;
+ esac
+
+ local -X PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/pyformance/pyformance-0.4-r2.ebuild b/dev-python/pyformance/pyformance-0.4-r2.ebuild
index ac1cce67789d..51b5dd5d6788 100644
--- a/dev-python/pyformance/pyformance-0.4-r2.ebuild
+++ b/dev-python/pyformance/pyformance-0.4-r2.ebuild
@@ -1,16 +1,16 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="Performance metrics, based on Coda Hale's Yammer metrics"
HOMEPAGE="
- https://pyformance.readthedocs.org/
+ https://pyformance.readthedocs.io/
https://github.com/omergertel/pyformance/
https://pypi.org/project/pyformance/
"
diff --git a/dev-python/pyftpdlib/Manifest b/dev-python/pyftpdlib/Manifest
index 187310993d85..2b0b79ec29f6 100644
--- a/dev-python/pyftpdlib/Manifest
+++ b/dev-python/pyftpdlib/Manifest
@@ -1 +1 @@
-DIST pyftpdlib-1.5.9.tar.gz 204755 BLAKE2B f96e670a37023489a3f70f28d7e489633031f4c8dd34e6ece04a13a36a5de60f216dc267a80650c3f315a6a83081b1afc1b470c75ca18af5a80729a7ac363b98 SHA512 3efa07f5522cee89d2bf60c93b1315dfb149da622f34e043aca0ac1c4336c0a0885d7238123068401afa6988da9cbde6adfac78f08918d3a14e84c17ebb8b32f
+DIST pyftpdlib-1.5.10.tar.gz 204487 BLAKE2B 7c611498dc2d11f752bf6a0ada01d906fca5c28e93b21bbcaaa76fafc88dcfe7afe616eb06f102123e614e061db2b6b62766f5036d749f8bd2b6d5cc35fc52e8 SHA512 c8c28d7aab13f2aab222ae038bde96f17abefd461830813ca00b621a6ee3e809c59ed135149ba735e7e92a6722aecfaf7095ccbacd7b3e17a16ee69fe1668766
diff --git a/dev-python/pyftpdlib/pyftpdlib-1.5.10.ebuild b/dev-python/pyftpdlib/pyftpdlib-1.5.10.ebuild
new file mode 100644
index 000000000000..2f00fca06628
--- /dev/null
+++ b/dev-python/pyftpdlib/pyftpdlib-1.5.10.ebuild
@@ -0,0 +1,61 @@
+# 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..13} )
+PYTHON_REQ_USE="ssl(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python FTP server library"
+HOMEPAGE="
+ https://github.com/giampaolo/pyftpdlib/
+ https://pypi.org/project/pyftpdlib/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="examples ssl"
+
+RDEPEND="
+ ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
+
+python_test() {
+ rm -rf pyftpdlib || die
+ # Some of these tests tend to fail
+ local EPYTEST_DESELECT=(
+ # fail because they process sys.argv and expect program args
+ # rather than pytest args, sigh
+ test/test_misc.py
+ # TODO
+ test/test_functional_ssl.py::TestFtpListingCmdsTLSMixin::test_nlst
+ )
+ # Tests fail with TZ=GMT, see https://bugs.gentoo.org/666623
+ local -x TZ=UTC+1
+ # Skips some shoddy tests plus increases timeouts
+ local -x TRAVIS=1
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest --pyargs pyftpdlib
+}
+
+python_install_all() {
+ if use examples; then
+ docinto examples
+ dodoc -r demo/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyftpdlib/pyftpdlib-1.5.9.ebuild b/dev-python/pyftpdlib/pyftpdlib-1.5.9.ebuild
deleted file mode 100644
index 275a6c59bbf5..000000000000
--- a/dev-python/pyftpdlib/pyftpdlib-1.5.9.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="ssl(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python FTP server library"
-HOMEPAGE="
- https://github.com/giampaolo/pyftpdlib/
- https://pypi.org/project/pyftpdlib/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="examples ssl"
-
-RDEPEND="
- ssl? ( dev-python/pyopenssl[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
-
-python_test() {
- rm -rf pyftpdlib || die
- # Some of these tests tend to fail
- local EPYTEST_DESELECT=(
- # fail because they process sys.argv and expect program args
- # rather than pytest args, sigh
- test/test_misc.py
- # TODO
- test/test_functional_ssl.py::TestFtpListingCmdsTLSMixin::test_nlst
- )
- # Tests fail with TZ=GMT, see https://bugs.gentoo.org/666623
- local -x TZ=UTC+1
- # Skips some shoddy tests plus increases timeouts
- local -x TRAVIS=1
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest --pyargs pyftpdlib
-}
-
-python_install_all() {
- if use examples; then
- docinto examples
- dodoc -r demo/.
- docompress -x /usr/share/doc/${PF}/examples
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pyfuse3/pyfuse3-3.3.0.ebuild b/dev-python/pyfuse3/pyfuse3-3.3.0.ebuild
index de087a42ab15..bdb126f76870 100644
--- a/dev-python/pyfuse3/pyfuse3-3.3.0.ebuild
+++ b/dev-python/pyfuse3/pyfuse3-3.3.0.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
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="LGPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
DEPEND="
sys-fs/fuse:3
diff --git a/dev-python/pygal/Manifest b/dev-python/pygal/Manifest
index 66fac461d99f..38d7fb8b066a 100644
--- a/dev-python/pygal/Manifest
+++ b/dev-python/pygal/Manifest
@@ -1,3 +1 @@
-DIST pygal-3.0.0.gh.tar.gz 3575455 BLAKE2B 9b64cf441aeb25b0a0b9834f07e5892fe163f28a5da796d37083f8f3a10d8737a69bad39e503d722e6a36f2de4367b4fd2bdc3a06c5bc30bce66a370690d9c88 SHA512 71ac9f197d711c8cf5bb47caef128754f81b1cb0ba98c4cc67de78b68fca5d40baae9fbb5c978f6abaed4c73b8edfea2de07de2fda1aa7c15e0d81387518cc49
-DIST pygal-3.0.3.gh.tar.gz 3575707 BLAKE2B 32dfb09f7dc5f97c758ff516a131da7ab82afb58028d710017af01220dbee57579cadc56e4b9ae207d71ad7d71d05dd14bd876c563f61f18263a0c2a839c0183 SHA512 052852552e0f07194acc832a953cc69131f2640216c22d5f7e5860b98ad80f24a5532a58b52903fedfcdb6e48331e4c8c02be54e90468476ca3f720be8845985
DIST pygal-3.0.4.gh.tar.gz 3575681 BLAKE2B 1d7b487d17e754323a54a8840f15f722186d4a782883a65f75886e4cd063e20bf0239ef1f1a3ed619f42a83a3fff21ecf9f3613564b716a2765604d64ca0f98c SHA512 5e7e4e7eb5d4a8ccd08fc90ae68bcb7c24f6c1fa36cbe64130f2eda03ff2d3f1caab853691d0e67a02de6b4f64a530f3c5c6ae69815d248819c44923b634e8dd
diff --git a/dev-python/pygal/pygal-3.0.0-r4.ebuild b/dev-python/pygal/pygal-3.0.0-r4.ebuild
deleted file mode 100644
index 6e1231be0113..000000000000
--- a/dev-python/pygal/pygal-3.0.0-r4.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="A python SVG charts generator"
-HOMEPAGE="
- https://github.com/Kozea/pygal/
- https://pypi.org/project/pygal/
-"
-SRC_URI="
- https://github.com/Kozea/pygal/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/pyquery[${PYTHON_USEDEP}]
- media-gfx/cairosvg[${PYTHON_USEDEP}]
- )
-"
-
-# CHANGELOG is a symlink to docs/changelog.rst
-DOCS=( docs/changelog.rst README.md )
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Not actually required unless we want to do setup.py test
- # https://github.com/Kozea/pygal/issues/430
- sed -i -e "/setup_requires/d" setup.py || die
- distutils-r1_python_prepare_all
-}
-
-pkg_postinst() {
- optfeature "improving rendering speed" "dev-python/lxml"
- optfeature "png rendering" "dev-python/cairosvg"
-}
diff --git a/dev-python/pygal/pygal-3.0.3.ebuild b/dev-python/pygal/pygal-3.0.3.ebuild
deleted file mode 100644
index 620264aeebbf..000000000000
--- a/dev-python/pygal/pygal-3.0.3.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="A python SVG charts generator"
-HOMEPAGE="
- https://github.com/Kozea/pygal/
- https://pypi.org/project/pygal/
-"
-SRC_URI="
- https://github.com/Kozea/pygal/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
-
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/pyquery[${PYTHON_USEDEP}]
- media-gfx/cairosvg[${PYTHON_USEDEP}]
- )
-"
-
-# CHANGELOG is a symlink to docs/changelog.rst
-DOCS=( docs/changelog.rst README.md )
-
-distutils_enable_sphinx docs
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Not actually required unless we want to do setup.py test
- # https://github.com/Kozea/pygal/issues/430
- sed -i -e "/setup_requires/d" setup.py || die
- distutils-r1_python_prepare_all
-}
-
-pkg_postinst() {
- optfeature "improving rendering speed" "dev-python/lxml"
- optfeature "png rendering" "dev-python/cairosvg"
-}
diff --git a/dev-python/pygal/pygal-3.0.4-r1.ebuild b/dev-python/pygal/pygal-3.0.4-r1.ebuild
new file mode 100644
index 000000000000..81f86869ec86
--- /dev/null
+++ b/dev-python/pygal/pygal-3.0.4-r1.ebuild
@@ -0,0 +1,54 @@
+# 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..13} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="A python SVG charts generator"
+HOMEPAGE="
+ https://github.com/Kozea/pygal/
+ https://pypi.org/project/pygal/
+"
+SRC_URI="
+ https://github.com/Kozea/pygal/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ dev-python/importlib-metadata[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pyquery[${PYTHON_USEDEP}]
+ media-gfx/cairosvg[${PYTHON_USEDEP}]
+ )
+"
+
+# CHANGELOG is a symlink to docs/changelog.rst
+DOCS=( docs/changelog.rst README.md )
+
+distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # Not actually required unless we want to do setup.py test
+ # https://github.com/Kozea/pygal/issues/430
+ sed -i -e "/setup_requires/d" setup.py || die
+ distutils-r1_python_prepare_all
+}
+
+pkg_postinst() {
+ optfeature "improving rendering speed" "dev-python/lxml"
+ optfeature "png rendering" "dev-python/cairosvg"
+}
diff --git a/dev-python/pygal/pygal-3.0.4.ebuild b/dev-python/pygal/pygal-3.0.4.ebuild
deleted file mode 100644
index 5946f2ace064..000000000000
--- a/dev-python/pygal/pygal-3.0.4.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="A python SVG charts generator"
-HOMEPAGE="
- https://github.com/Kozea/pygal/
- https://pypi.org/project/pygal/
-"
-SRC_URI="
- https://github.com/Kozea/pygal/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
-
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/pyquery[${PYTHON_USEDEP}]
- media-gfx/cairosvg[${PYTHON_USEDEP}]
- )
-"
-
-# CHANGELOG is a symlink to docs/changelog.rst
-DOCS=( docs/changelog.rst README.md )
-
-distutils_enable_sphinx docs
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Not actually required unless we want to do setup.py test
- # https://github.com/Kozea/pygal/issues/430
- sed -i -e "/setup_requires/d" setup.py || die
- distutils-r1_python_prepare_all
-}
-
-pkg_postinst() {
- optfeature "improving rendering speed" "dev-python/lxml"
- optfeature "png rendering" "dev-python/cairosvg"
-}
diff --git a/dev-python/pygame/Manifest b/dev-python/pygame/Manifest
index b4bddf487169..9d7b5373a2c8 100644
--- a/dev-python/pygame/Manifest
+++ b/dev-python/pygame/Manifest
@@ -1,2 +1 @@
-DIST pygame-2.5.1.gh.tar.gz 6854761 BLAKE2B e137f73a3bb718213ef92e938ed1b065f5568d7dd2ade6edd973bc55d06425874da0e89e3c102fad39adac25f977ac97025a0c59099702cfabeffd0d3b8f109f SHA512 d7aceb2bc6e40c5dc2d7a19fdc7af18abf021b79dd98b859975f99ec10895e1b09e11fbf17fd6ab925d3aa6c64e5b3dd56c0d857ecacc67303d92fc0efb2630c
-DIST pygame-2.5.2.gh.tar.gz 5970857 BLAKE2B 523874926a8fd868f5674ed2997a44decb928fcfe246d551249ed7320a0e908ce46d00f459d187726edf74a4c1038cd56821f6466559fb7d24aa75d16769cbfe SHA512 b54e9b80951c8a9e75666621aafc26874c6dbdab27330146f7217346c76be5627a5464a0102a5968eca0dbd7cced4b2143cd2ff1b6227e3e17e5634854b27f19
+DIST pygame-2.6.0.gh.tar.gz 5970025 BLAKE2B 2a7616982675d8d9a5f306bae709e97e87d4f602f12ea553ca4779f858fb88bf92ac2a4e0f8f63ac52096e1829d2f7805edee919d7e96b7764db72e9cb7f4034 SHA512 bdf36314bd2179ab30942efab4e4cb65eff023b6951d1705a46d7cb4b89095e76bf4dcd04e714224355705d3e44283213fbb807973b3b241bf128b78c80044ae
diff --git a/dev-python/pygame/files/pygame-2.5.2-error.patch b/dev-python/pygame/files/pygame-2.5.2-error.patch
deleted file mode 100644
index 9f2800e29e70..000000000000
--- a/dev-python/pygame/files/pygame-2.5.2-error.patch
+++ /dev/null
@@ -1,121 +0,0 @@
-From bbed8d293483fa7bd7322f5976641dfe86bf6367 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ren=C3=A9=20Dudfield?= <renesd@gmail.com>
-Date: Sat, 7 Oct 2023 12:05:45 +0200
-Subject: [PATCH 1/2] base: Clean up some error messaging
-
----
- src_c/base.c | 5 +++--
- 1 file changed, 3 insertions(+), 2 deletions(-)
-
-diff --git a/src_c/base.c b/src_c/base.c
-index 1f12a63451..d32c17bdc5 100644
---- a/src_c/base.c
-+++ b/src_c/base.c
-@@ -309,11 +309,13 @@ pg_mod_autoquit(const char *modname)
-
- funcobj = PyObject_GetAttrString(module, "_internal_mod_quit");
-
-+ if (PyErr_Occurred())
-+ PyErr_Clear();
-+
- /* If we could not load _internal_mod_quit, load quit function */
- if (!funcobj)
- funcobj = PyObject_GetAttrString(module, "quit");
-
-- /* Silence errors */
- if (PyErr_Occurred())
- PyErr_Clear();
-
-@@ -322,7 +324,6 @@ pg_mod_autoquit(const char *modname)
- Py_XDECREF(temp);
- }
-
-- /* Silence errors */
- if (PyErr_Occurred())
- PyErr_Clear();
-
-
-From d8fae59ff0f3a02fe159cc302c891177af97a41f Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Ren=C3=A9=20Dudfield?= <renesd@gmail.com>
-Date: Sat, 7 Oct 2023 12:05:58 +0200
-Subject: [PATCH 2/2] pixelcopy: Clean up some error messaging
-
----
- src_c/pixelcopy.c | 27 +++++++++++++++++++++++++++
- 1 file changed, 27 insertions(+)
-
-diff --git a/src_c/pixelcopy.c b/src_c/pixelcopy.c
-index 923072dde8..1d1eaf3267 100644
---- a/src_c/pixelcopy.c
-+++ b/src_c/pixelcopy.c
-@@ -767,6 +767,9 @@ surface_to_array(PyObject *self, PyObject *args, PyObject *kwds)
- Uint8 opaque = 255;
- Uint8 clear = 0;
- SDL_Surface *surf;
-+ PyObject *type = NULL;
-+ PyObject *value = NULL;
-+ PyObject *traceback = NULL;
- char *keywords[] = {"array", "surface", "kind", "opaque", "clear", 0};
-
- if (!PyArg_ParseTupleAndKeywords(
-@@ -794,8 +797,16 @@ surface_to_array(PyObject *self, PyObject *args, PyObject *kwds)
- if (view_p->ndim == 2) {
- if (view_kind == VIEWKIND_RGB) {
- if (_copy_mapped(view_p, surf)) {
-+ if (PyErr_Occurred()) {
-+ PyErr_Fetch(&type, &value, &traceback);
-+ PyErr_Clear();
-+ }
-+
- pgBuffer_Release(&pg_view);
- pgSurface_Unlock(surfobj);
-+ if (type) {
-+ PyErr_Restore(type, value, traceback);
-+ }
- return 0;
- }
- }
-@@ -876,6 +887,8 @@ map_array(PyObject *self, PyObject *args)
- _pc_pixel_t pixel = {0};
- int pix_bytesize;
- Py_ssize_t i;
-+ PyObject *type = NULL;
-+ PyObject *value, *traceback;
-
- if (!PyArg_ParseTuple(args, "OOO!", &tar_array, &src_array,
- &pgSurface_Type, &format_surf)) {
-@@ -889,6 +902,11 @@ map_array(PyObject *self, PyObject *args)
- /* Determine array shapes and check validity
- */
- if (pgObject_GetBuffer(tar_array, &tar_pg_view, PyBUF_RECORDS)) {
-+ if (PyErr_Occurred()) {
-+ PyErr_Fetch(&type, &value, &traceback);
-+ PyErr_Clear();
-+ }
-+
- goto fail;
- }
- is_tar_alloc = 1;
-@@ -912,6 +930,10 @@ map_array(PyObject *self, PyObject *args)
- goto fail;
- }
- if (pgObject_GetBuffer(src_array, &src_pg_view, PyBUF_RECORDS_RO)) {
-+ if (PyErr_Occurred()) {
-+ PyErr_Fetch(&type, &value, &traceback);
-+ PyErr_Clear();
-+ }
- goto fail;
- }
- is_src_alloc = 1;
-@@ -1134,6 +1156,11 @@ map_array(PyObject *self, PyObject *args)
- pgBuffer_Release(&tar_pg_view);
- }
- pgSurface_Unlock(format_surf);
-+
-+ if (type != NULL) {
-+ PyErr_Restore(type, value, traceback);
-+ }
-+
- return 0;
- }
-
diff --git a/dev-python/pygame/pygame-2.5.1.ebuild b/dev-python/pygame/pygame-2.5.1.ebuild
deleted file mode 100644
index 9cb7c203c8b0..000000000000
--- a/dev-python/pygame/pygame-2.5.1.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for SDL multimedia library"
-HOMEPAGE="
- https://www.pygame.org/
- https://github.com/pygame/pygame/
- https://pypi.org/project/pygame/
-"
-SRC_URI="
- https://github.com/pygame/pygame/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
-IUSE="examples opengl test X"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
- media-libs/freetype
- media-libs/libjpeg-turbo:=
- media-libs/libpng:=
- media-libs/portmidi
- media-libs/sdl2-image
- media-libs/sdl2-mixer
- media-libs/sdl2-ttf
- X? ( media-libs/libsdl2[opengl?,threads,video,X] )
- !X? ( media-libs/libsdl2[threads] )
-"
-DEPEND="
- ${RDEPEND}
- test? (
- media-libs/sdl2-image[gif,jpeg,png,tiff,webp]
- media-libs/sdl2-mixer[mp3,vorbis,wav]
- )
-"
-# fontconfig used for fc-list
-RDEPEND+="
- media-libs/fontconfig
-"
-# util-linux provides script
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- media-libs/fontconfig
- sys-apps/util-linux
- )
-"
-
-python_configure() {
- PORTMIDI_INC_PORTTIME=1 LOCALBASE="${EPREFIX}/usr" \
- "${EPYTHON}" "${S}"/buildconfig/config.py || die
-}
-
-python_configure_all() {
- find src_c/cython -name '*.pyx' -exec touch {} + || die
- "${EPYTHON}" setup.py cython_only || die
-}
-
-python_test() {
- local -x PYTHONPATH=${BUILD_DIR}/install/lib
- local -x SDL_VIDEODRIVER=dummy
- local -x SDL_AUDIODRIVER=disk
- script -eqc "${EPYTHON} -m pygame.tests -v" || die
-}
-
-python_install() {
- distutils-r1_python_install
-
- # Bug #497720
- rm -fr "${D}$(python_get_sitedir)"/pygame/{docs,examples,tests}/ || die
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- use examples && dodoc -r examples
-}
diff --git a/dev-python/pygame/pygame-2.5.2.ebuild b/dev-python/pygame/pygame-2.5.2.ebuild
deleted file mode 100644
index 264165ceede9..000000000000
--- a/dev-python/pygame/pygame-2.5.2.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for SDL multimedia library"
-HOMEPAGE="
- https://www.pygame.org/
- https://github.com/pygame/pygame/
- https://pypi.org/project/pygame/
-"
-SRC_URI="
- https://github.com/pygame/pygame/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~sparc x86"
-IUSE="examples opengl test X"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
- media-libs/freetype
- media-libs/libjpeg-turbo:=
- media-libs/libpng:=
- media-libs/portmidi
- media-libs/sdl2-image
- media-libs/sdl2-mixer
- media-libs/sdl2-ttf
- X? ( media-libs/libsdl2[opengl?,threads,video,X] )
- !X? ( media-libs/libsdl2[threads] )
-"
-DEPEND="
- ${RDEPEND}
- test? (
- media-libs/sdl2-image[gif,jpeg,png,tiff,webp]
- media-libs/sdl2-mixer[mp3,vorbis,wav]
- )
-"
-# fontconfig used for fc-list
-RDEPEND+="
- media-libs/fontconfig
-"
-# util-linux provides script
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- media-libs/fontconfig
- sys-apps/util-linux
- )
-"
-
-src_prepare() {
- local PATCHES=(
- # https://github.com/pygame/pygame/pull/4035
- "${FILESDIR}/${P}-error.patch"
- )
-
- # some numpy-related crash (not a regression)
- # https://github.com/pygame/pygame/issues/4049
- sed -e 's:import numpy:raise ImportError(""):' \
- -i test/pixelcopy_test.py || die
-
- distutils-r1_src_prepare
-}
-
-python_configure() {
- PORTMIDI_INC_PORTTIME=1 LOCALBASE="${EPREFIX}/usr" \
- "${EPYTHON}" "${S}"/buildconfig/config.py || die
-}
-
-python_configure_all() {
- find src_c/cython -name '*.pyx' -exec touch {} + || die
- "${EPYTHON}" setup.py cython_only || die
-}
-
-python_test() {
- local -x SDL_VIDEODRIVER=dummy
- local -x SDL_AUDIODRIVER=disk
- script -eqc "${EPYTHON} -m pygame.tests -v" || die
-}
-
-python_install() {
- distutils-r1_python_install
-
- # https://bugs.gentoo.org/497720
- rm -fr "${D}$(python_get_sitedir)"/pygame/{docs,examples} || die
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- use examples && dodoc -r examples
-}
diff --git a/dev-python/pygame/pygame-2.6.0.ebuild b/dev-python/pygame/pygame-2.6.0.ebuild
new file mode 100644
index 000000000000..19632cccbe57
--- /dev/null
+++ b/dev-python/pygame/pygame-2.6.0.ebuild
@@ -0,0 +1,96 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for SDL multimedia library"
+HOMEPAGE="
+ https://www.pygame.org/
+ https://github.com/pygame/pygame/
+ https://pypi.org/project/pygame/
+"
+SRC_URI="
+ https://github.com/pygame/pygame/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv x86"
+IUSE="examples opengl test X"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ media-libs/freetype
+ media-libs/libjpeg-turbo:=
+ media-libs/libpng:=
+ media-libs/portmidi
+ media-libs/sdl2-image
+ media-libs/sdl2-mixer
+ media-libs/sdl2-ttf
+ X? ( media-libs/libsdl2[opengl?,threads(+),video,X] )
+ !X? ( media-libs/libsdl2[threads(+)] )
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ media-libs/sdl2-image[gif,jpeg,png,tiff,webp]
+ media-libs/sdl2-mixer[mp3,vorbis,wav]
+ )
+"
+# fontconfig used for fc-list
+RDEPEND+="
+ media-libs/fontconfig
+"
+# util-linux provides script
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ media-libs/fontconfig
+ sys-apps/util-linux
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # some numpy-related crash (not a regression)
+ # https://github.com/pygame/pygame/issues/4049
+ sed -e 's:import numpy:raise ImportError(""):' \
+ -i test/pixelcopy_test.py || die
+}
+
+python_configure() {
+ PORTMIDI_INC_PORTTIME=1 LOCALBASE="${EPREFIX}/usr" \
+ "${EPYTHON}" "${S}"/buildconfig/config.py || die
+}
+
+python_configure_all() {
+ find src_c/cython -name '*.pyx' -exec touch {} + || die
+ "${EPYTHON}" setup.py cython_only || die
+}
+
+python_test() {
+ local -x SDL_VIDEODRIVER=dummy
+ local -x SDL_AUDIODRIVER=disk
+ script -eqc "${EPYTHON} -m pygame.tests -v" || die
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # https://bugs.gentoo.org/497720
+ rm -fr "${D}$(python_get_sitedir)"/pygame/{docs,examples} || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ use examples && dodoc -r examples
+}
diff --git a/dev-python/pygame_sdl2/Manifest b/dev-python/pygame_sdl2/Manifest
deleted file mode 100644
index d72a741ffb51..000000000000
--- a/dev-python/pygame_sdl2/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pygame_sdl2-2.1.0-for-renpy-8.0.3.tar.gz 4053740 BLAKE2B 607e9c587734a5d53f25ff7537b308eade273f97065e81166bbace9ca255adfda0bef23f05d9fcb370c96d7eeb6175a6b649b0b07727b027ed2b43506dc876c6 SHA512 135779d4de6e2bc8ade069c11d521dd0dc2bebae6dc63a374d478785fe7534626e9dc3c7f8f50c3291f4a60b26eb474c14e3971f0b9487215125bbcd5af6782c
diff --git a/dev-python/pygame_sdl2/metadata.xml b/dev-python/pygame_sdl2/metadata.xml
deleted file mode 100644
index ca10416f8e59..000000000000
--- a/dev-python/pygame_sdl2/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>bircoph@gentoo.org</email>
- <name>Andrew Savchenko</name>
- </maintainer>
- <upstream>
- <remote-id type="github">renpy/pygame_sdl2</remote-id>
- <remote-id type="pypi">pygame_sdl2</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pygame_sdl2/pygame_sdl2-8.0.3.ebuild b/dev-python/pygame_sdl2/pygame_sdl2-8.0.3.ebuild
deleted file mode 100644
index 403b3deb81ce..000000000000
--- a/dev-python/pygame_sdl2/pygame_sdl2-8.0.3.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-PYSDL="${PN}-2.1.0"
-
-DESCRIPTION="Reimplementation of portions of the pygame API using SDL2"
-HOMEPAGE="https://github.com/renpy/pygame_sdl2"
-SRC_URI="https://www.renpy.org/dl/${PV}/${PYSDL}-for-renpy-${PV}.tar.gz"
-
-LICENSE="LGPL-2.1 ZLIB"
-SLOT="0"
-KEYWORDS="amd64 x86"
-IUSE=""
-
-# <cython-3 for bug #911781
-BDEPEND="
- <dev-python/cython-3[${PYTHON_USEDEP}]
-"
-DEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
- media-libs/libjpeg-turbo:=
- media-libs/libpng:0=
- media-libs/libsdl2:=[video]
- media-libs/sdl2-image:=[png,jpeg]
- >=media-libs/sdl2-mixer-2.0.2:=
- media-libs/sdl2-ttf:=
-"
-RDEPEND="${DEPEND}"
-
-S=${WORKDIR}/${PYSDL}-for-renpy-${PV}
-
-python_prepare_all() {
- # PyGame distribution for this version has some pregenerated files;
- # we need to remove them
- rm -r gen{,3,-static} || die
-
- # Fix tag name according to PEP 440
- sed -i 's/-for-renpy-/+renpy/' setup.cfg || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/pygccxml/Manifest b/dev-python/pygccxml/Manifest
index c3d47e08d233..2e8b7633ee94 100644
--- a/dev-python/pygccxml/Manifest
+++ b/dev-python/pygccxml/Manifest
@@ -1,3 +1 @@
-DIST pygccxml-2.2.1.gh.tar.gz 3170283 BLAKE2B b53123c59d098f56d97841225d10ffd4156b993244e48c4ad30e2f62b6d95d69e0ae4bbfc86bb492e88e8f52d916401f29a6ec7024277d1e32b3af691a12e919 SHA512 32013617d4d632617b616d3787631c5b09da441a87bb15b88e3b287f17b85e1388308e85dd385276966ac09114536a5863edd5fbb96539547783fd2d41c6e8ce
-DIST pygccxml-2.3.0.gh.tar.gz 3165248 BLAKE2B 177591d818f3ff91b7981ee1b1af9d03f79869508cddd03ece8f3b5e447982dc2d9434fa42db290c98d8c5fb4f4ee4ae7ef86e2b065dc28ba4b7843a36cad4e1 SHA512 6c5710c842c8e6101af73335ea66dc18ae86861f9cd5c59b4aa1037f60914934ba22a821d7f35cf954f5c40800433bacfc0d4bd0ae1bb5946a4dd950c606ceea
-DIST pygccxml-2.4.0.gh.tar.gz 3165189 BLAKE2B 855b0b6313be29e7719abe4cc6e654904657c11bfd7310d647227ce9d7760821eeb348dcd9892afbcc3d467db96daaf3010e92803fe28962db9a255cf81eae46 SHA512 48bf4887344c68d0a93a3908cc0a744f3d6a74dce92be88527e85cf7ba1a46f88560730dce0b858f31523cada836aad40461de935c5c2a041de0fa2ae5e38c30
+DIST pygccxml-2.5.0.gh.tar.gz 3163862 BLAKE2B 2a61474acab7e7a21b21bc7131a9b9aae2a318d3b761c9a3865055146331891e5fb2041a9136bd8816e60a4dc76a39a22d5f5632f22336341667eee537521a42 SHA512 499be7383ac9817c5620f7f0b2e6fdb9a6f5d934cc54a2ef9864877a2a7d896997ab5bc2e8b0c3c87df1ac7e4a384d3c8cbcc87f9496125502c97766df57b003
diff --git a/dev-python/pygccxml/files/pygccxml-2.4.0-doc.patch b/dev-python/pygccxml/files/pygccxml-2.4.0-doc.patch
new file mode 100644
index 000000000000..ecec89c14ed9
--- /dev/null
+++ b/dev-python/pygccxml/files/pygccxml-2.4.0-doc.patch
@@ -0,0 +1,21 @@
+diff --git a/docs/conf.py b/docs/conf.py
+index 071ebb1..2ccec1f 100644
+--- a/docs/conf.py
++++ b/docs/conf.py
+@@ -23,7 +23,6 @@ import importlib.metadata
+ # documentation root, use os.path.abspath to make it absolute, like shown here.
+ sys.path.insert(0, os.path.abspath('.') + "/../src")
+
+-from release_utils import utils # nopep8
+
+ # -- General configuration ------------------------------------------------
+
+@@ -284,7 +283,7 @@ def run_apidoc(_):
+ os.path.join(sys.prefix, 'bin', 'sphinx-apidoc'))
+ subprocess.check_call(
+ [cmd_path, '-o', output_path,
+- os.path.abspath(cur_dir + "/../" + module),
++ os.path.abspath(cur_dir + "/../src/" + module),
+ '--separate', '--force', '--module-first', '--doc-project=API'])
+
+
diff --git a/dev-python/pygccxml/files/pygccxml-2.4.0-pyproject.patch b/dev-python/pygccxml/files/pygccxml-2.4.0-pyproject.patch
deleted file mode 100644
index ba00ed45ad34..000000000000
--- a/dev-python/pygccxml/files/pygccxml-2.4.0-pyproject.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- pyproject.toml.orig 2023-11-20 13:59:55.807461669 +0100
-+++ pyproject.toml 2023-11-20 14:00:37.335886130 +0100
-@@ -1,5 +1,6 @@
- [build-system]
--requires = ["setuptools", "wheel"]
-+requires = ["setuptools"]
-+build-backend = "setuptools.build_meta"
-
- [project]
- name = "pygccxml"
diff --git a/dev-python/pygccxml/files/pygccxml-2.5.0-which.patch b/dev-python/pygccxml/files/pygccxml-2.5.0-which.patch
new file mode 100644
index 000000000000..52ac56ed48f0
--- /dev/null
+++ b/dev-python/pygccxml/files/pygccxml-2.5.0-which.patch
@@ -0,0 +1,68 @@
+From 08f53536a0e76bab000df2837af4a13f06bbd4a7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Mon, 15 Apr 2024 15:50:39 +0200
+Subject: [PATCH] Use `shutil.which()` to get compiler path
+
+Remove the `__get_first_compiler_in_path()` function that used
+`which(1)` / `where` program to get the compiler path, with built-in
+`shutil.which()`. This fixes pygccxml on systems where `which(1)`
+is no longer present (it is not a standard POSIX tool, and Linux
+distributions are working towards making it optional).
+---
+ src/pygccxml/parser/config.py | 28 +++++++---------------------
+ 1 file changed, 7 insertions(+), 21 deletions(-)
+
+diff --git a/src/pygccxml/parser/config.py b/src/pygccxml/parser/config.py
+index 1032b54e..4fe4a6a0 100644
+--- a/src/pygccxml/parser/config.py
++++ b/src/pygccxml/parser/config.py
+@@ -11,6 +11,7 @@
+ import os
+ import copy
+ import platform
++import shutil
+ import subprocess
+ import warnings
+ # In py3, ConfigParser was renamed to the more-standard configparser.
+@@ -451,35 +452,20 @@ def create_compiler_path(xml_generator, compiler_path):
+ if xml_generator == 'castxml' and compiler_path is None:
+ if platform.system() == 'Windows':
+ # Look for msvc
+- compiler_path = __get_first_compiler_in_path('where', 'cl')
++ compiler_path = shutil.which('cl')
+ # No msvc found; look for mingw
+- if compiler_path == '':
+- compiler_path = __get_first_compiler_in_path('where', 'mingw')
++ if compiler_path is None:
++ compiler_path = shutil.which('mingw')
+ else:
+ # OS X or Linux
+ # Look for clang first, then gcc
+- compiler_path = __get_first_compiler_in_path('which', 'clang++')
++ compiler_path = shutil.which('clang++')
+ # No clang found; use gcc
+- if compiler_path == '':
+- compiler_path = __get_first_compiler_in_path('which', 'c++')
+-
+- if compiler_path == "":
+- compiler_path = None
++ if compiler_path is None:
++ compiler_path = shutil.which('c++')
+
+ return compiler_path
+
+
+-def __get_first_compiler_in_path(command, compiler_name):
+- p = subprocess.Popen(
+- [command, compiler_name],
+- stdout=subprocess.PIPE,
+- stderr=subprocess.PIPE)
+- path = p.stdout.read().decode("utf-8").rstrip().split("\r\n")[0].rstrip()
+- p.wait()
+- p.stdout.close()
+- p.stderr.close()
+- return path
+-
+-
+ if __name__ == '__main__':
+ print(load_xml_generator_configuration('xml_generator.cfg').__dict__)
diff --git a/dev-python/pygccxml/metadata.xml b/dev-python/pygccxml/metadata.xml
index e8cf9b64df61..a060648fb7da 100644
--- a/dev-python/pygccxml/metadata.xml
+++ b/dev-python/pygccxml/metadata.xml
@@ -8,6 +8,9 @@
<maintainer type="project">
<email>radio@gentoo.org</email>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
<upstream>
<remote-id type="github">CastXML/pygccxml</remote-id>
<remote-id type="pypi">pygccxml</remote-id>
diff --git a/dev-python/pygccxml/pygccxml-2.2.1-r1.ebuild b/dev-python/pygccxml/pygccxml-2.2.1-r1.ebuild
deleted file mode 100644
index b2466d83a688..000000000000
--- a/dev-python/pygccxml/pygccxml-2.2.1-r1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="A specialized XML reader to navigate C++ declarations"
-HOMEPAGE="https://github.com/CastXML/pygccxml"
-SRC_URI="https://github.com/CastXML/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~riscv ~x86"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-libs/castxml
-"
-DEPEND="${RDEPEND}"
-
-distutils_enable_tests unittest
-distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
-
-python_prepare_all() {
- # We're not interested in linter tests in Gentoo, needs pycodestyle
- rm unittests/pep8_tester.py || die
- sed -i -e '/pep8_tester/d' unittests/test_all.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/pygccxml/pygccxml-2.3.0.ebuild b/dev-python/pygccxml/pygccxml-2.3.0.ebuild
deleted file mode 100644
index 745417525398..000000000000
--- a/dev-python/pygccxml/pygccxml-2.3.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="A specialized XML reader to navigate C++ declarations"
-HOMEPAGE="https://github.com/CastXML/pygccxml"
-SRC_URI="https://github.com/CastXML/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~riscv ~x86"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-libs/castxml
-"
-DEPEND="${RDEPEND}"
-
-distutils_enable_tests unittest
-distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/pygccxml/pygccxml-2.4.0.ebuild b/dev-python/pygccxml/pygccxml-2.4.0.ebuild
deleted file mode 100644
index f93c64023594..000000000000
--- a/dev-python/pygccxml/pygccxml-2.4.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="A specialized XML reader to navigate C++ declarations"
-HOMEPAGE="https://github.com/CastXML/pygccxml"
-SRC_URI="https://github.com/CastXML/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="Boost-1.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~riscv ~x86"
-
-RDEPEND="
- ${PYTHON_DEPS}
- dev-libs/castxml
-"
-DEPEND="${RDEPEND}"
-
-distutils_enable_tests unittest
-distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
-
-python_prepare_all() {
- eapply -p0 "${FILESDIR}/${PN}-2.4.0-pyproject.patch"
- eapply_user
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/pygccxml/pygccxml-2.5.0.ebuild b/dev-python/pygccxml/pygccxml-2.5.0.ebuild
new file mode 100644
index 000000000000..ba61c6612e8e
--- /dev/null
+++ b/dev-python/pygccxml/pygccxml-2.5.0.ebuild
@@ -0,0 +1,49 @@
+# 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
+
+DESCRIPTION="A specialized XML reader to navigate C++ declarations"
+HOMEPAGE="
+ https://github.com/CastXML/pygccxml/
+ https://pypi.org/project/pygccxml/
+"
+SRC_URI="
+ https://github.com/CastXML/pygccxml/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Boost-1.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~riscv ~x86"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ dev-libs/castxml
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
+
+EPYTEST_DESELECT=(
+ # TODO; too new LLVM? upstream tests against LLVM 13
+ unittests/test_overrides.py::Test::test
+)
+
+python_prepare_all() {
+ local PATCHES=(
+ "${FILESDIR}/${PN}-2.4.0-doc.patch"
+ # https://github.com/CastXML/pygccxml/pull/179
+ "${FILESDIR}/${P}-which.patch"
+ )
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild b/dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild
index f8f64e32f951..54def8ffdf76 100644
--- a/dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild
+++ b/dev-python/pygdbmi/pygdbmi-0.11.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..12} )
+PYTHON_COMPAT=( python3_{11..13} )
inherit distutils-r1
@@ -22,10 +22,10 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv ~x86"
RDEPEND="
- >=sys-devel/gdb-9.6
+ >=dev-debug/gdb-9.6
"
distutils_enable_tests pytest
diff --git a/dev-python/pyghmi/Manifest b/dev-python/pyghmi/Manifest
index d523ee5f75ac..52f491d02dff 100644
--- a/dev-python/pyghmi/Manifest
+++ b/dev-python/pyghmi/Manifest
@@ -1 +1,2 @@
-DIST pyghmi-1.5.65.tar.gz 256355 BLAKE2B c3e64fd7f39d1fc785cc4b337ff4f5578978b79aeecb6c77d1291a1d54e5bc0b566e88af149b68ded75cac7c4ec9f89401cf8941fe4710514fb8af19bce82faa SHA512 a82db08e93b68633403a19b86dfcb0951065165846d1fd3a4b92e38438cdcb88f9387480f7a5c2d866a0e7d4488d35396de6e5ee73d7ebbdf78055b6390eb708
+DIST pyghmi-1.5.69.tar.gz 257074 BLAKE2B af1b93bda37aa078c4a04f68970f86a2f6b7c005ed762977d8297bdb4ff8e89c972ec24342ccb226a6cb43d6085f89f23e4e8547e1632275accea0fc5f5558ff SHA512 ad6837b61748ff045196109050fc743e0335b9037e06c723be86e12c42569f6e46b2c004148b4ce4416d0e67967bf6b7596bc10bca30323e2eca11da54067f21
+DIST pyghmi-1.5.70.tar.gz 257192 BLAKE2B cf1ed047bf40e6ed81d322c091141b8012d7550afeba06fb5bed313ce37e2c5d79674a2d9deb1ade741488342d5e3d89ab3b65dfeb15e46aca52ebc3ca5b4dcc SHA512 61d6488034778a51e7a3ed34dadf758a98ed9670f079f6b90b4266191abd48aae5646e497b8ea9616eb1bce03f358b0017c7da1daea61e8be97d42bb1bfe1f18
diff --git a/dev-python/pyghmi/pyghmi-1.5.65.ebuild b/dev-python/pyghmi/pyghmi-1.5.65.ebuild
deleted file mode 100644
index 542671fa8667..000000000000
--- a/dev-python/pyghmi/pyghmi-1.5.65.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A pure python implementation of IPMI protocol"
-HOMEPAGE="
- https://opendev.org/x/pyghmi/
- https://pypi.org/project/pyghmi/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/cryptography-2.1[${PYTHON_USEDEP}]
- dev-python/pbr[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.6.5[${PYTHON_USEDEP}]
- >=dev-python/subunit-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/pyghmi/pyghmi-1.5.69.ebuild b/dev-python/pyghmi/pyghmi-1.5.69.ebuild
new file mode 100644
index 000000000000..f4adcb0eed3b
--- /dev/null
+++ b/dev-python/pyghmi/pyghmi-1.5.69.ebuild
@@ -0,0 +1,38 @@
+# 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="A pure python implementation of IPMI protocol"
+HOMEPAGE="
+ https://opendev.org/x/pyghmi/
+ https://pypi.org/project/pyghmi/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/cryptography-2.1[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-1.6.5[${PYTHON_USEDEP}]
+ >=dev-python/subunit-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pyghmi/pyghmi-1.5.70.ebuild b/dev-python/pyghmi/pyghmi-1.5.70.ebuild
new file mode 100644
index 000000000000..60628881477b
--- /dev/null
+++ b/dev-python/pyghmi/pyghmi-1.5.70.ebuild
@@ -0,0 +1,33 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A pure python implementation of IPMI protocol"
+HOMEPAGE="
+ https://opendev.org/x/pyghmi/
+ https://pypi.org/project/pyghmi/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/cryptography-2.1[${PYTHON_USEDEP}]
+ dev-python/pbr[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pygit2/Manifest b/dev-python/pygit2/Manifest
index 1ea9cffe179d..59478253e7a7 100644
--- a/dev-python/pygit2/Manifest
+++ b/dev-python/pygit2/Manifest
@@ -1,4 +1,3 @@
-DIST pygit2-1.12.2.tar.gz 738453 BLAKE2B 805472147021296b28f0d47f97e5b42355e2f8eb418cc48134a8c2a0c606e04bdf6ee9ddd5586949652b36d921631aaa16fb739d8491db01196c7ecb26f2ea13 SHA512 adf82f385b0cb8e239113171e7e4d75d4902828b18a04f2624c6931f7d11648ae0503d615ef5d89ddc477b94c5ac48354be223e2bde7d4c111a957e114b6a28d
-DIST pygit2-1.13.1.tar.gz 739041 BLAKE2B 37997247edcc8b4268ea8e0347be4673ccd1e12e0cf1c1be37849560f91335c39998d7c42b0fc9ca40c9b5cbf315154ee13a5e9453d266ebce1a6f6ebb80fed6 SHA512 632d60c1d0602b264504b0e99458c93f0f3699b5ebff34b70ea9381a4472fd938db426c04b6ec0b8b3e5c85aaede440ed28dda232b55954813fce099df6d94e8
-DIST pygit2-1.13.2.tar.gz 739956 BLAKE2B b63e0aad30eca81cb268d28d400d637d2152be4b7400c25f8ca228edd58140493456425bbb70fbba2ed3d807672a1ca155d60e11c41c76fc9c21d1a4dce3e880 SHA512 db6a5bbda6b3ca0bc2361e37782f7d1bf19bf8c79d6229776d1cd8b78691ddfeaf462b8fec0604babc052a8829c4f2b0e4c66432f73bebf11b6301011ab94bd8
-DIST pygit2-1.13.3.tar.gz 752098 BLAKE2B 474c7e4cf92ec81c128fec1ff6222aa524a8dbf291c7ad350a1f150536442a518dbcf6c5ed2af2902265bcb04f34effb258c30e983bf52d1a93d477da4fce00c SHA512 def3d7b4df43ef231c488720a47cef91ad1e9a0568745869cec63f8a2ccfa7ad0be4c40b1cab973ef34e493d9451b33071aa64dc7fb8a8013fcdd1c6f6a45ef1
+DIST pygit2-1.14.1.tar.gz 765621 BLAKE2B 7761851052c5dc03f82db987166012eb2a3445d62b209bc1734e240a619d7c5e4449c1772b250dd3ba8e1605b7c94edb4d8b7ad50c92bd85833e4688ed1e92ef SHA512 0718d7f480d40a5c435c725fbfec728ebdbb70d700607662308458dd125796fce9ddcf40afa6841ddc9cb7b19a5966fb3b5c8e4a52281a7eb354381ce62b5534
+DIST pygit2-1.15.0.tar.gz 766816 BLAKE2B bc0f97cbcdb1c445bb00706ade517f4c36cf9d869f87ca919df8116fb3a4e9f29a1c43a637ae53b7e6ccfad028e0df48fad85ee1a0f334438c3fa2916247fbda SHA512 33a5805046f5f18de2ec212145f4adf26b28afb11b669e3cb4d1dc29362ea6627fde605b654d11a80d91589e3000784dfe1c79522bd8c6f1b27974b13a15ef07
+DIST pygit2-1.15.1.tar.gz 768818 BLAKE2B ca418afc24a680cbfddee00ec9b6c8f4987ad65abd3d61b56cfc1682ce97a3685654f7663857a2a996c2c4f393ef2addfd336c5f5f548f3a1860056ba998bb40 SHA512 4795dbc7b05000955fea86e1b51209a77dfaf99ea806aa8a2be538aed8094638def3e15b0507c61ab57cad2b8e5faee7f1c90ce5c2b20094f972638e7c9bd20f
diff --git a/dev-python/pygit2/pygit2-1.12.2.ebuild b/dev-python/pygit2/pygit2-1.12.2.ebuild
deleted file mode 100644
index 62438bf97cb3..000000000000
--- a/dev-python/pygit2/pygit2-1.12.2.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings for libgit2"
-HOMEPAGE="
- https://github.com/libgit2/pygit2/
- https://pypi.org/project/pygit2/
-"
-
-LICENSE="GPL-2-with-linking-exception"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-
-DEPEND="
- =dev-libs/libgit2-1.6*:=
-"
-BDEPEND="
- >=dev-python/cffi-1.9.1:=[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${DEPEND}
- ${BDEPEND}
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # unconditionally prevent it from using network
- sed -i -e '/has_network/s:True:False:' test/utils.py || die
-}
-
-src_test() {
- rm -r pygit2 || die
- distutils-r1_src_test
-}
diff --git a/dev-python/pygit2/pygit2-1.13.1.ebuild b/dev-python/pygit2/pygit2-1.13.1.ebuild
deleted file mode 100644
index 6039e58b7451..000000000000
--- a/dev-python/pygit2/pygit2-1.13.1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings for libgit2"
-HOMEPAGE="
- https://github.com/libgit2/pygit2/
- https://pypi.org/project/pygit2/
-"
-
-LICENSE="GPL-2-with-linking-exception"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
-
-DEPEND="
- =dev-libs/libgit2-1.7*:=
-"
-BDEPEND="
- >=dev-python/cffi-1.16.0_rc2:=[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${DEPEND}
- ${BDEPEND}
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # unconditionally prevent it from using network
- sed -i -e '/has_network/s:True:False:' test/utils.py || die
-}
-
-src_test() {
- rm -r pygit2 || die
- distutils-r1_src_test
-}
diff --git a/dev-python/pygit2/pygit2-1.13.2.ebuild b/dev-python/pygit2/pygit2-1.13.2.ebuild
deleted file mode 100644
index 8e3b0e149b31..000000000000
--- a/dev-python/pygit2/pygit2-1.13.2.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings for libgit2"
-HOMEPAGE="
- https://github.com/libgit2/pygit2/
- https://pypi.org/project/pygit2/
-"
-
-LICENSE="GPL-2-with-linking-exception"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
-
-DEPEND="
- =dev-libs/libgit2-1.7*:=
-"
-BDEPEND="
- >=dev-python/cffi-1.16.0:=[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${DEPEND}
- ${BDEPEND}
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # unconditionally prevent it from using network
- sed -i -e '/has_network/s:True:False:' test/utils.py || die
-}
-
-src_test() {
- rm -r pygit2 || die
- distutils-r1_src_test
-}
diff --git a/dev-python/pygit2/pygit2-1.13.3.ebuild b/dev-python/pygit2/pygit2-1.13.3.ebuild
deleted file mode 100644
index 8e3b0e149b31..000000000000
--- a/dev-python/pygit2/pygit2-1.13.3.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings for libgit2"
-HOMEPAGE="
- https://github.com/libgit2/pygit2/
- https://pypi.org/project/pygit2/
-"
-
-LICENSE="GPL-2-with-linking-exception"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
-
-DEPEND="
- =dev-libs/libgit2-1.7*:=
-"
-BDEPEND="
- >=dev-python/cffi-1.16.0:=[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${DEPEND}
- ${BDEPEND}
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # unconditionally prevent it from using network
- sed -i -e '/has_network/s:True:False:' test/utils.py || die
-}
-
-src_test() {
- rm -r pygit2 || die
- distutils-r1_src_test
-}
diff --git a/dev-python/pygit2/pygit2-1.14.1.ebuild b/dev-python/pygit2/pygit2-1.14.1.ebuild
new file mode 100644
index 000000000000..a2c03420e9f1
--- /dev/null
+++ b/dev-python/pygit2/pygit2-1.14.1.ebuild
@@ -0,0 +1,45 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for libgit2"
+HOMEPAGE="
+ https://github.com/libgit2/pygit2/
+ https://pypi.org/project/pygit2/
+"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0"
+KEYWORDS="amd64 ~riscv x86"
+
+DEPEND="
+ =dev-libs/libgit2-1.7*:=
+"
+BDEPEND="
+ >=dev-python/cffi-1.16.0:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+ ${BDEPEND}
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unconditionally prevent it from using network
+ sed -i -e '/has_network/s:True:False:' test/utils.py || die
+}
+
+src_test() {
+ rm -r pygit2 || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/pygit2/pygit2-1.15.0.ebuild b/dev-python/pygit2/pygit2-1.15.0.ebuild
new file mode 100644
index 000000000000..35a884a0357a
--- /dev/null
+++ b/dev-python/pygit2/pygit2-1.15.0.ebuild
@@ -0,0 +1,46 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for libgit2"
+HOMEPAGE="
+ https://github.com/libgit2/pygit2/
+ https://pypi.org/project/pygit2/
+"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0"
+KEYWORDS="amd64 ~riscv x86"
+
+DEPEND="
+ <dev-libs/libgit2-1.9:=
+ >=dev-libs/libgit2-1.8.1:=
+"
+BDEPEND="
+ >=dev-python/cffi-1.16.0:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+ ${BDEPEND}
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unconditionally prevent it from using network
+ sed -i -e '/has_network/s:True:False:' test/utils.py || die
+}
+
+src_test() {
+ rm -r pygit2 || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/pygit2/pygit2-1.15.1.ebuild b/dev-python/pygit2/pygit2-1.15.1.ebuild
new file mode 100644
index 000000000000..a016ef984b26
--- /dev/null
+++ b/dev-python/pygit2/pygit2-1.15.1.ebuild
@@ -0,0 +1,46 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for libgit2"
+HOMEPAGE="
+ https://github.com/libgit2/pygit2/
+ https://pypi.org/project/pygit2/
+"
+
+LICENSE="GPL-2-with-linking-exception"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+DEPEND="
+ <dev-libs/libgit2-1.9:=
+ >=dev-libs/libgit2-1.8.1:=
+"
+BDEPEND="
+ >=dev-python/cffi-1.16.0:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+ ${BDEPEND}
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unconditionally prevent it from using network
+ sed -i -e '/has_network/s:True:False:' test/utils.py || die
+}
+
+src_test() {
+ rm -r pygit2 || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/pyglet/Manifest b/dev-python/pyglet/Manifest
index 4bda6332c53c..04f026139ce3 100644
--- a/dev-python/pyglet/Manifest
+++ b/dev-python/pyglet/Manifest
@@ -1 +1,3 @@
-DIST pyglet-2.0.10.gh.tar.gz 6414679 BLAKE2B 42d6724d67bfac5b80f22f8e995b601dde9e68c49e75b75d1deffb5816ac5a246f0fa5923d159ea27b71720a8301f49dade12ed5179dd4dd69af81085a3daf80 SHA512 cb92e920eebc7b09ccbf396f5a78e5e089df17fbc0cd40b862be9309d97999fcf76995de5602c75efa2294bb387c7489a075fa0bd8ef322ec3573ba6524a3aa4
+DIST pyglet-2.0.14.gh.tar.gz 6420548 BLAKE2B af4d354f49b6d413c35eb9f455a580a0981156b597590a5430f2e380940e815b9a0e9067b0fe47965ad4e88ae7771158fca39d52fd83fea3539cb9252500a7fa SHA512 ffbe2ab0847cd2635970c919fca3c9c190949c8843d5c7e6b7b702e32cf6e09dd4a6f9e7f2ea55134abd7f0ec9ecff347a64aa5771e0e64e67c169d3c60944ec
+DIST pyglet-2.0.15.gh.tar.gz 6426555 BLAKE2B 8066ac7c3acd613a6fe02403ec5c88822744d6f7ab5e0043ca01443ab94249be7e542bc97f5354286bd3f5675c1c2e4d108ab474d659efe2905b9892e44ece0c SHA512 8b85264a9f13505f86cef694ebdf1e1ff707980b6ec9d205a1c1ef639b2de0c837926476f8a26b33b7ad8a0cd7d9acfefdd0707bace1734db4185a48f01305d4
+DIST pyglet-2.0.16.gh.tar.gz 6481259 BLAKE2B 3ba5ed0255cb68d15f6db16f086863acd4d64fb8041db568a5364013c755d0b289e39ceca06593bdd3d7b0a35376e27ba07875fd8551f27998a40c75ff8118e1 SHA512 5288a80ac9cfe52035df6b182561e41155564bbee6251b44e3b6708935011338bb162b478b335cc595fdcb137946f91f8b8c45ccb4e0002cd2715348f582cb68
diff --git a/dev-python/pyglet/pyglet-2.0.10.ebuild b/dev-python/pyglet/pyglet-2.0.10.ebuild
deleted file mode 100644
index 47ce5cbdb809..000000000000
--- a/dev-python/pyglet/pyglet-2.0.10.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 virtualx xdg-utils
-
-DESCRIPTION="Cross-platform windowing and multimedia library for Python"
-HOMEPAGE="
- https://pyglet.org/
- https://github.com/pyglet/pyglet/
- https://pypi.org/project/pyglet/
-"
-SRC_URI="https://github.com/pyglet/pyglet/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86 ~amd64-linux ~x86-linux"
-IUSE="examples image +sound"
-
-BDEPEND="
- test? (
- dev-python/pillow[${PYTHON_USEDEP}]
- media-libs/fontconfig
- )
-"
-RDEPEND="
- virtual/glu
- virtual/opengl
- image? (
- || (
- dev-python/pillow[${PYTHON_USEDEP}]
- x11-libs/gtk+:2
- )
- )
- sound? (
- || (
- media-libs/libpulse
- media-libs/openal
- )
- )
-"
-# ffmpeg? ( media-libs/avbin-bin )
-
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- xdg_environment_reset
-
- local EPYTEST_DESELECT=(
- # lacking device/server permissions
- tests/unit/media/test_listener.py::test_openal_listener
- tests/unit/media/test_listener.py::test_pulse_listener
- # fragile to system load
- tests/unit/media/test_player.py::PlayerTestCase::test_pause_resume
- tests/unit/test_clock_freq.py::test_elapsed_time_between_tick
- )
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # https://github.com/pyglet/pyglet/issues/1000
- tests/unit/test_events.py::test_weakref_to_instance{,_method}
- tests/unit/test_events.py::test_weakref_deleted_when_instance_is_deleted
- )
- ;;
- esac
-
- # Specify path to avoid running interactive tests
- # We could add in integration tests, but they're slow
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest tests/unit || die "Tests failed with ${EPYTHON}"
-}
-
-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/pyglet/pyglet-2.0.14.ebuild b/dev-python/pyglet/pyglet-2.0.14.ebuild
new file mode 100644
index 000000000000..7550c173f039
--- /dev/null
+++ b/dev-python/pyglet/pyglet-2.0.14.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 virtualx xdg-utils
+
+DESCRIPTION="Cross-platform windowing and multimedia library for Python"
+HOMEPAGE="
+ https://pyglet.org/
+ https://github.com/pyglet/pyglet/
+ https://pypi.org/project/pyglet/
+"
+SRC_URI="https://github.com/pyglet/pyglet/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86 ~amd64-linux ~x86-linux"
+IUSE="examples image +sound"
+
+RDEPEND="
+ virtual/glu
+ virtual/opengl
+ image? (
+ || (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ x11-libs/gtk+:2
+ )
+ )
+ sound? (
+ || (
+ media-libs/libpulse
+ media-libs/openal
+ )
+ )
+"
+# ffmpeg? ( media-libs/avbin-bin )
+BDEPEND="
+ test? (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ media-libs/fontconfig
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ xdg_environment_reset
+
+ local EPYTEST_DESELECT=(
+ # lacking device/server permissions
+ tests/unit/media/test_listener.py::test_openal_listener
+ tests/unit/media/test_listener.py::test_pulse_listener
+ # fragile to system load
+ tests/unit/media/test_player.py::PlayerTestCase::test_pause_resume
+ tests/unit/test_clock_freq.py::test_elapsed_time_between_tick
+ )
+
+ # Specify path to avoid running interactive tests
+ # We could add in integration tests, but they're slow
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest tests/unit || die "Tests failed with ${EPYTHON}"
+}
+
+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/pyglet/pyglet-2.0.15.ebuild b/dev-python/pyglet/pyglet-2.0.15.ebuild
new file mode 100644
index 000000000000..06d17edf2ca0
--- /dev/null
+++ b/dev-python/pyglet/pyglet-2.0.15.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 virtualx xdg-utils
+
+DESCRIPTION="Cross-platform windowing and multimedia library for Python"
+HOMEPAGE="
+ https://pyglet.org/
+ https://github.com/pyglet/pyglet/
+ https://pypi.org/project/pyglet/
+"
+SRC_URI="https://github.com/pyglet/pyglet/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+IUSE="examples image +sound"
+
+RDEPEND="
+ virtual/glu
+ virtual/opengl
+ image? (
+ || (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ x11-libs/gtk+:2
+ )
+ )
+ sound? (
+ || (
+ media-libs/libpulse
+ media-libs/openal
+ )
+ )
+"
+# ffmpeg? ( media-libs/avbin-bin )
+BDEPEND="
+ test? (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ media-libs/fontconfig
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ xdg_environment_reset
+
+ local EPYTEST_DESELECT=(
+ # lacking device/server permissions
+ tests/unit/media/test_listener.py::test_openal_listener
+ tests/unit/media/test_listener.py::test_pulse_listener
+ # fragile to system load
+ tests/unit/media/test_player.py::PlayerTestCase::test_pause_resume
+ tests/unit/test_clock_freq.py::test_elapsed_time_between_tick
+ )
+
+ # Specify path to avoid running interactive tests
+ # We could add in integration tests, but they're slow
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest tests/unit || die "Tests failed with ${EPYTHON}"
+}
+
+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/pyglet/pyglet-2.0.16.ebuild b/dev-python/pyglet/pyglet-2.0.16.ebuild
new file mode 100644
index 000000000000..5993f74d2714
--- /dev/null
+++ b/dev-python/pyglet/pyglet-2.0.16.ebuild
@@ -0,0 +1,79 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 virtualx xdg-utils
+
+DESCRIPTION="Cross-platform windowing and multimedia library for Python"
+HOMEPAGE="
+ https://pyglet.org/
+ https://github.com/pyglet/pyglet/
+ https://pypi.org/project/pyglet/
+"
+SRC_URI="https://github.com/pyglet/pyglet/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples image +sound"
+
+RDEPEND="
+ virtual/glu
+ virtual/opengl
+ image? (
+ || (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ x11-libs/gtk+:2
+ )
+ )
+ sound? (
+ || (
+ media-libs/libpulse
+ media-libs/openal
+ )
+ )
+"
+# ffmpeg? ( media-libs/avbin-bin )
+BDEPEND="
+ test? (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ media-libs/fontconfig
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ xdg_environment_reset
+
+ local EPYTEST_DESELECT=(
+ # lacking device/server permissions
+ tests/unit/media/test_listener.py::test_openal_listener
+ tests/unit/media/test_listener.py::test_pulse_listener
+ # fragile to system load
+ tests/unit/media/test_player.py::PlayerTestCase::test_pause_resume
+ tests/unit/test_clock_freq.py::test_elapsed_time_between_tick
+ )
+
+ # Specify path to avoid running interactive tests
+ # We could add in integration tests, but they're slow
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest tests/unit || die "Tests failed with ${EPYTHON}"
+}
+
+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/pygments-ansi-color/metadata.xml b/dev-python/pygments-ansi-color/metadata.xml
index 3a6f744c5f6d..8a325bd25f5c 100644
--- a/dev-python/pygments-ansi-color/metadata.xml
+++ b/dev-python/pygments-ansi-color/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
diff --git a/dev-python/pygments-ansi-color/pygments-ansi-color-0.3.0.ebuild b/dev-python/pygments-ansi-color/pygments-ansi-color-0.3.0.ebuild
index 2b3a85b06cb4..116be4b6224c 100644
--- a/dev-python/pygments-ansi-color/pygments-ansi-color-0.3.0.ebuild
+++ b/dev-python/pygments-ansi-color/pygments-ansi-color-0.3.0.ebuild
@@ -1,22 +1,30 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
DESCRIPTION="ANSI color-code highlighting for Pygments"
-HOMEPAGE="https://pypi.org/project/pygments-ansi-color/"
+HOMEPAGE="
+ https://github.com/chriskuehl/pygments-ansi-color/
+ https://pypi.org/project/pygments-ansi-color/
+"
# No tests in PyPI tarballs
-SRC_URI="https://github.com/chriskuehl/${PN}/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+SRC_URI="
+ https://github.com/chriskuehl/pygments-ansi-color/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="Apache-2.0"
SLOT="0"
KEYWORDS="~amd64 ~arm64 ~riscv"
-RDEPEND="dev-python/pygments[${PYTHON_USEDEP}]"
+RDEPEND="
+ dev-python/pygments[${PYTHON_USEDEP}]
+"
distutils_enable_tests pytest
diff --git a/dev-python/pygments-github-lexers/files/pygments-github-lexers-0.0.5-escape-sequences.patch b/dev-python/pygments-github-lexers/files/pygments-github-lexers-0.0.5-escape-sequences.patch
new file mode 100644
index 000000000000..65c90e857bb2
--- /dev/null
+++ b/dev-python/pygments-github-lexers/files/pygments-github-lexers-0.0.5-escape-sequences.patch
@@ -0,0 +1,22 @@
+diff --git a/pygments_github_lexers/github.py b/pygments_github_lexers/github.py
+index d2fa4b2..36a5c94 100644
+--- a/pygments_github_lexers/github.py
++++ b/pygments_github_lexers/github.py
+@@ -53,7 +53,7 @@ class Dasm16Lexer(RegexLexer):
+
+ # Regexes yo
+ char = r'[a-zA-Z$._0-9@]'
+- identifier = r'(?:[a-zA-Z$_]' + char + '*|\.' + char + '+)'
++ identifier = r'(?:[a-zA-Z$_]' + char + r'*|\.' + char + '+)'
+ number = r'[+-]?(?:0[xX][a-zA-Z0-9]+|\d+)'
+ binary_number = r'0b[01_]+'
+ instruction = r'(?i)(' + '|'.join(INSTRUCTIONS) + ')'
+@@ -379,7 +379,7 @@ class TOMLLexer(RegexLexer):
+ (r'#.*?$', Comment.Single),
+ (r'"(\\\\|\\"|[^"])*"', String),
+ (r'(true|false)$', Keyword.Constant),
+- ('[a-zA-Z_][a-zA-Z0-9_\-]*', Name),
++ (r'[a-zA-Z_][a-zA-Z0-9_\-]*', Name),
+
+ # Datetime
+ (r'\d{4}-\d{2}-\d{2}T\d{2}:\d{2}:\d{2}Z', Number.Integer),
diff --git a/dev-python/pygments-github-lexers/metadata.xml b/dev-python/pygments-github-lexers/metadata.xml
index ad287ae27558..90e6c7f88d46 100644
--- a/dev-python/pygments-github-lexers/metadata.xml
+++ b/dev-python/pygments-github-lexers/metadata.xml
@@ -6,7 +6,7 @@
<name>Patrick McLean</name>
</maintainer>
<upstream>
- <remote-id type="pypi">pygments-github-lexers </remote-id>
+ <remote-id type="pypi">pygments-github-lexers</remote-id>
<remote-id type="github">liluo/pygments-github-lexers</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5-r1.ebuild b/dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5-r1.ebuild
deleted file mode 100644
index c367787797d7..000000000000
--- a/dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5-r1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="Pygments Github custom lexers"
-HOMEPAGE="https://github.com/liluo/pygments-github-lexers"
-SRC_URI="https://github.com/liluo/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE=""
-
-RDEPEND="
- dev-python/pygments[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
-"
-
-# no tests
diff --git a/dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5-r2.ebuild b/dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5-r2.ebuild
new file mode 100644
index 000000000000..a484fb307b17
--- /dev/null
+++ b/dev-python/pygments-github-lexers/pygments-github-lexers-0.0.5-r2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+DESCRIPTION="Pygments Github custom lexers"
+HOMEPAGE="
+ https://github.com/liluo/pygments-github-lexers/
+ https://pypi.org/project/pygments-github-lexers/
+"
+SRC_URI="
+ https://github.com/liluo/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/pygments[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+PATCHES=(
+ "${FILESDIR}/pygments-github-lexers-0.0.5-escape-sequences.patch"
+)
+
+# no tests
diff --git a/dev-python/pygments/Manifest b/dev-python/pygments/Manifest
index a2ee87b0131e..29dfcc2dc3c0 100644
--- a/dev-python/pygments/Manifest
+++ b/dev-python/pygments/Manifest
@@ -1,4 +1 @@
-DIST Pygments-2.16.1.tar.gz 4872980 BLAKE2B 57ec4f52f2bca3d9df993f583434d61ad0adbc2719f2d0b4ac84160672a3a57ec144509c520f2724a15f0222548abfbe0e743fa31a8dac64d54111b2d7393ae4 SHA512 9b66c79c03e7ecd36cc00efd428a0a6b372e70dbccdcaae26eff4d56c07a17e2e00d2cf0291eb6624ffd1c896b797789b973e80ccbca4240d56daad95eacfd80
-DIST pygments-2.17.0.tar.gz 4827657 BLAKE2B 53ab36177bb88a3a19cd14a86bedab5aecf3286e2b08432f643d31d22179c4bf7e938dc8fffc3a5ecfcfead747d26085730dd611d050ae649cea62353639941e SHA512 b385f58bb7dba6b193e6c9715e0a34a883d810d2ee919a24268d7b9fffaf7501c0964c8d84aa26edcb503141330e6b752fe52d11b3d146177d42ecd3ab9211de
-DIST pygments-2.17.1.tar.gz 4827687 BLAKE2B 71e5311b15ece8463a5062a4a83796b5e652b3d67ab2d4578cc03d139816fb3de9dff204c1d35ef9e959e502d57ef22b1507212d3ed477866757e596c6c488f4 SHA512 587f9d32bbb6c9bdbe53db2f5a24b93323905cd515acf3a0e73318c00bdbb71e109d9258de54ac45a1d85fe285ffdd1b9b0397b41391124754f41af4c9e02e4b
-DIST pygments-2.17.2.tar.gz 4827772 BLAKE2B 7e6db51ff35ec35981fcdd6f4a1f0a242c29e8b0947a5a3febdee35a0e4047414d49d6883b8fbf9de78b149323f0b3c86b315b03eaada557b4cd70e67917aab8 SHA512 a3408a21f4c0a9f1a81d4fae5c2924f66f1f17daf98a52c4379d6953625354f47bb8db3005e6ab09407627f592843efde12afb14e1271c1e685973eb4c238d89
+DIST pygments-2.18.0.tar.gz 4891905 BLAKE2B 4ff1cc75ca348eecb96ecefe549a1e1c9a9cc81e1829a2354c70ce6f6e538bddbb9b7f90e781bbdd6433cee36e4a99fef9adaef95ca275d1be57a33ed8a77351 SHA512 2f696fed7f2120f9e3bd5f3d2837a5d6b883434b8d0f68d039c2620213508638cedf1517375019809720d56fc52f07e3bddd0defc4707703ace5d707908c00fb
diff --git a/dev-python/pygments/pygments-2.16.1.ebuild b/dev-python/pygments/pygments-2.16.1.ebuild
deleted file mode 100644
index d8b98a0d6aac..000000000000
--- a/dev-python/pygments/pygments-2.16.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 bash-completion-r1 pypi
-
-DESCRIPTION="Pygments is a syntax highlighting package written in Python"
-HOMEPAGE="
- https://pygments.org/
- https://github.com/pygments/pygments/
- https://pypi.org/project/Pygments/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/wcag-contrast-ratio[${PYTHON_USEDEP}]
- virtual/ttf-fonts
- )
-"
-
-EPYTEST_DESELECT=(
- # fuzzing tests, very slow
- tests/test_basic_api.py::test_random_input
- # incompatibility with python-ctags3, apparently
- # https://github.com/pygments/pygments/issues/2486
- tests/test_html_formatter.py::test_ctags
-)
-
-distutils_enable_tests pytest
-
-src_install() {
- distutils-r1_src_install
- newbashcomp external/pygments.bashcomp pygmentize
-}
diff --git a/dev-python/pygments/pygments-2.17.0.ebuild b/dev-python/pygments/pygments-2.17.0.ebuild
deleted file mode 100644
index 11302a94d365..000000000000
--- a/dev-python/pygments/pygments-2.17.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 bash-completion-r1 pypi
-
-DESCRIPTION="Pygments is a syntax highlighting package written in Python"
-HOMEPAGE="
- https://pygments.org/
- https://github.com/pygments/pygments/
- https://pypi.org/project/Pygments/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/wcag-contrast-ratio[${PYTHON_USEDEP}]
- virtual/ttf-fonts
- )
-"
-
-EPYTEST_DESELECT=(
- # fuzzing tests, very slow
- tests/test_basic_api.py::test_random_input
- # incompatibility with python-ctags3, apparently
- # https://github.com/pygments/pygments/issues/2486
- tests/test_html_formatter.py::test_ctags
-)
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_install() {
- distutils-r1_src_install
- newbashcomp external/pygments.bashcomp pygmentize
-}
diff --git a/dev-python/pygments/pygments-2.17.1.ebuild b/dev-python/pygments/pygments-2.17.1.ebuild
deleted file mode 100644
index 11302a94d365..000000000000
--- a/dev-python/pygments/pygments-2.17.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 bash-completion-r1 pypi
-
-DESCRIPTION="Pygments is a syntax highlighting package written in Python"
-HOMEPAGE="
- https://pygments.org/
- https://github.com/pygments/pygments/
- https://pypi.org/project/Pygments/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/wcag-contrast-ratio[${PYTHON_USEDEP}]
- virtual/ttf-fonts
- )
-"
-
-EPYTEST_DESELECT=(
- # fuzzing tests, very slow
- tests/test_basic_api.py::test_random_input
- # incompatibility with python-ctags3, apparently
- # https://github.com/pygments/pygments/issues/2486
- tests/test_html_formatter.py::test_ctags
-)
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_install() {
- distutils-r1_src_install
- newbashcomp external/pygments.bashcomp pygmentize
-}
diff --git a/dev-python/pygments/pygments-2.17.2.ebuild b/dev-python/pygments/pygments-2.17.2.ebuild
deleted file mode 100644
index 11302a94d365..000000000000
--- a/dev-python/pygments/pygments-2.17.2.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 bash-completion-r1 pypi
-
-DESCRIPTION="Pygments is a syntax highlighting package written in Python"
-HOMEPAGE="
- https://pygments.org/
- https://github.com/pygments/pygments/
- https://pypi.org/project/Pygments/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-
-BDEPEND="
- test? (
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/wcag-contrast-ratio[${PYTHON_USEDEP}]
- virtual/ttf-fonts
- )
-"
-
-EPYTEST_DESELECT=(
- # fuzzing tests, very slow
- tests/test_basic_api.py::test_random_input
- # incompatibility with python-ctags3, apparently
- # https://github.com/pygments/pygments/issues/2486
- tests/test_html_formatter.py::test_ctags
-)
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-src_install() {
- distutils-r1_src_install
- newbashcomp external/pygments.bashcomp pygmentize
-}
diff --git a/dev-python/pygments/pygments-2.18.0.ebuild b/dev-python/pygments/pygments-2.18.0.ebuild
new file mode 100644
index 000000000000..092e2453946d
--- /dev/null
+++ b/dev-python/pygments/pygments-2.18.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 bash-completion-r1 pypi
+
+DESCRIPTION="Pygments is a syntax highlighting package written in Python"
+HOMEPAGE="
+ https://pygments.org/
+ https://github.com/pygments/pygments/
+ https://pypi.org/project/Pygments/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+BDEPEND="
+ test? (
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/wcag-contrast-ratio[${PYTHON_USEDEP}]
+ virtual/ttf-fonts
+ )
+"
+
+EPYTEST_DESELECT=(
+ # fuzzing tests, very slow
+ tests/test_basic_api.py::test_random_input
+ # incompatibility with python-ctags3, apparently
+ # https://github.com/pygments/pygments/issues/2486
+ tests/test_html_formatter.py::test_ctags
+)
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_install() {
+ distutils-r1_src_install
+ newbashcomp external/pygments.bashcomp pygmentize
+}
diff --git a/dev-python/pygobject/Manifest b/dev-python/pygobject/Manifest
index 8ce81ab9f53f..c8b85b769367 100644
--- a/dev-python/pygobject/Manifest
+++ b/dev-python/pygobject/Manifest
@@ -1,2 +1,2 @@
-DIST pygobject-3.44.1.tar.xz 559432 BLAKE2B 7edfe91ac1b7301befaf8ef17078b517666467f446bfbe25850336cd365d314153d444d29ecf028ce44a12cef1c94f139d110ac6784c8a2c6077730d4836f6cc SHA512 5f2ff4a068e7e24dcc32f8c43ba58660c85a0fabdd9ff0bac4ddf1ca82bd0fc962ce5cb3ab25b991c212d45e5e89dac67c3259c5423a7d7fd70b2ac1f56e5327
DIST pygobject-3.46.0.tar.xz 561552 BLAKE2B 6b8c9b4bf6df819c09b7bd2ea6dcb0e7c24ed7f171487b774469bd2c4694df9d4473dbde05273afc7a370f2b1f352d60347aa221bdd674a4aa8a54123d5e54cd SHA512 48293c193ba5aece38d99f45d325d0329ac33e88442bf00848fe818a7c838977b8d2cf50a404c30e8852ccc0b4a44dfda07751d51acc21f740aa2ab6aa3ce661
+DIST pygobject-3.48.2.tar.xz 556244 BLAKE2B 6ac7a42752d65668f228aa9823a4e256b030bc84683857e5470bc373eaaf383904d18399379b4a7d0989644e2b0825d63cc8b3f927b97608a209f888bf8cb276 SHA512 11619f73be5894fae82b261779f33390d1aec51b02bcf285c58f3c76ee46dfc1b3f435e4662176fde5ca899aee5afc453f8f0ba28e15e15330a52354cf737d45
diff --git a/dev-python/pygobject/files/pygobject-3.44.1-py312.patch b/dev-python/pygobject/files/pygobject-3.44.1-py312.patch
deleted file mode 100644
index 331e3bc0a3f8..000000000000
--- a/dev-python/pygobject/files/pygobject-3.44.1-py312.patch
+++ /dev/null
@@ -1,48 +0,0 @@
-From fe6aedd8eebd92844b873f72e99dc4023316c6f3 Mon Sep 17 00:00:00 2001
-From: Christoph Reiter <reiter.christoph@gmail.com>
-Date: Wed, 7 Jun 2023 22:27:55 +0200
-Subject: [PATCH] tests: fix test_gvalue_flat_array_in_item_marshal_failure for
- Python 3.12
-
-See https://gitlab.gnome.org/GNOME/pygobject/-/issues/582
-
-_PyGI_ERROR_PREFIX() no longer works with 3.12 since we only get normalized
-exceptions in there and can't add a prefix like "Item X: " to the message.
-
-Until we figure out how to add this back for 3.12, align the tests with the
-new behaviour (the new exception notes API would be an option, see the
-linked issue)
----
- tests/test_gi.py | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/tests/test_gi.py b/tests/test_gi.py
-index 25a3b659..261d8b2b 100644
---- a/tests/test_gi.py
-+++ b/tests/test_gi.py
-@@ -1573,9 +1573,12 @@ class TestGValue(unittest.TestCase):
- self.assertRaises(OverflowError, GIMarshallingTests.gvalue_flat_array,
- [GLib.MININT - 1, "42", True])
-
-+ # FIXME: https://gitlab.gnome.org/GNOME/pygobject/-/issues/582#note_1764164
-+ exc_prefix = "Item 0: " if sys.version_info[:2] < (3, 12) else ""
-+
- with pytest.raises(
- OverflowError,
-- match='Item 0: %d not in range %d to %d' % (
-+ match=exc_prefix + '%d not in range %d to %d' % (
- GLib.MAXINT + 1, GLib.MININT, GLib.MAXINT)):
- GIMarshallingTests.gvalue_flat_array([GLib.MAXINT + 1, "42", True])
-
-@@ -1583,7 +1586,7 @@ class TestGValue(unittest.TestCase):
-
- with pytest.raises(
- OverflowError,
-- match='Item 0: %d not in range %d to %d' % (
-+ match=exc_prefix + '%d not in range %d to %d' % (
- GLib.MAXUINT64 * 2, min_, max_)):
- GIMarshallingTests.gvalue_flat_array([GLib.MAXUINT64 * 2, "42", True])
-
---
-GitLab
-
diff --git a/dev-python/pygobject/files/pygobject-3.48.2-egg-info.patch b/dev-python/pygobject/files/pygobject-3.48.2-egg-info.patch
new file mode 100644
index 000000000000..0da834216f34
--- /dev/null
+++ b/dev-python/pygobject/files/pygobject-3.48.2-egg-info.patch
@@ -0,0 +1,39 @@
+From 2aa50b8841c26eb892f4666508ba72ebb8179f26 Mon Sep 17 00:00:00 2001
+From: Chris Mayo <aklhfex@gmail.com>
+Date: Mon, 25 Mar 2024 19:21:21 +0000
+Subject: [PATCH] Replace non-standard .egg-info file
+
+Installing a .dist-info directory containing just METADATA is compliant:
+
+https://packaging.python.org/en/latest/specifications/recording-installed-packages/#the-dist-info-directory
+---
+ PKG-INFO.in => METADATA.in | 0
+ meson.build | 6 +++---
+ 2 files changed, 3 insertions(+), 3 deletions(-)
+ rename PKG-INFO.in => METADATA.in (100%)
+
+diff --git a/PKG-INFO.in b/METADATA.in
+similarity index 100%
+rename from PKG-INFO.in
+rename to METADATA.in
+diff --git a/meson.build b/meson.build
+index b8d69c3a..32204ad5 100644
+--- a/meson.build
++++ b/meson.build
+@@ -194,10 +194,10 @@ if not for_wheel
+
+ pkginfo_conf = configuration_data()
+ pkginfo_conf.set('VERSION', py_version)
+- configure_file(input : 'PKG-INFO.in',
+- output : 'PyGObject-@0@.egg-info'.format(py_version),
++ configure_file(input : 'METADATA.in',
++ output : 'METADATA',
+ configuration : pkginfo_conf,
+- install_dir : python.get_install_dir(pure : false))
++ install_dir : python.get_install_dir(pure : false) / 'PyGObject-@0@.dist-info'.format(py_version))
+ endif
+
+ pygobject_dep = declare_dependency(
+--
+GitLab
+
diff --git a/dev-python/pygobject/pygobject-3.44.1.ebuild b/dev-python/pygobject/pygobject-3.44.1.ebuild
deleted file mode 100644
index 713c63dc4584..000000000000
--- a/dev-python/pygobject/pygobject-3.44.1.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=no
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit gnome.org meson virtualx xdg distutils-r1
-
-DESCRIPTION="Python bindings for GObject Introspection"
-HOMEPAGE="
- https://pygobject.readthedocs.io/
- https://gitlab.gnome.org/GNOME/pygobject/
-"
-
-LICENSE="LGPL-2.1+"
-SLOT="3"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="+cairo examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-libs/glib-2.56:2
- >=dev-libs/gobject-introspection-1.56:=
- dev-libs/libffi:=
- cairo? (
- >=dev-python/pycairo-1.16.0[${PYTHON_USEDEP}]
- x11-libs/cairo[glib]
- )
-"
-DEPEND="
- ${RDEPEND}
- test? (
- >=app-accessibility/at-spi2-core-2.46.0[introspection]
- dev-python/pytest[${PYTHON_USEDEP}]
- x11-libs/gdk-pixbuf:2[introspection,jpeg]
- x11-libs/gtk+:3[introspection]
- x11-libs/pango[introspection]
- )
-"
-BDEPEND="
- virtual/pkgconfig
-"
-
-PATCHES=(
- # fix test failure on py3.12
- # https://gitlab.gnome.org/GNOME/pygobject/-/commit/fe6aedd8eebd92844b873f72e99dc4023316c6f3
- "${FILESDIR}/${P}-py312.patch"
-)
-
-python_configure() {
- local emesonargs=(
- $(meson_feature cairo pycairo)
- $(meson_use test tests)
- -Dpython="${EPYTHON}"
- )
- meson_src_configure
-}
-
-python_compile() {
- meson_src_compile
-}
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local -x GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
- local -x GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x XDG_CACHE_HOME="${T}/${EPYTHON}"
- meson_src_test --timeout-multiplier 3 || die "test failed for ${EPYTHON}"
-}
-
-python_install() {
- meson_src_install
- python_optimize
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- use examples && dodoc -r examples
-}
diff --git a/dev-python/pygobject/pygobject-3.46.0-r1.ebuild b/dev-python/pygobject/pygobject-3.46.0-r1.ebuild
new file mode 100644
index 000000000000..e4aa1faf8753
--- /dev/null
+++ b/dev-python/pygobject/pygobject-3.46.0-r1.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=no
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit gnome.org meson virtualx xdg distutils-r1
+
+DESCRIPTION="Python bindings for GObject Introspection"
+HOMEPAGE="
+ https://pygobject.readthedocs.io/
+ https://gitlab.gnome.org/GNOME/pygobject/
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="3"
+KEYWORDS="~alpha amd64 arm ~arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+cairo examples test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.64:2
+ >=dev-libs/gobject-introspection-1.64:=
+ dev-libs/libffi:=
+ cairo? (
+ >=dev-python/pycairo-1.16.0[${PYTHON_USEDEP}]
+ x11-libs/cairo[glib]
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ >=app-accessibility/at-spi2-core-2.46.0[introspection]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ x11-libs/gdk-pixbuf:2[introspection,jpeg]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/pango[introspection]
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+python_configure() {
+ local emesonargs=(
+ $(meson_feature cairo pycairo)
+ $(meson_use test tests)
+ -Dpython="${EPYTHON}"
+ )
+ meson_src_configure
+}
+
+python_compile() {
+ meson_src_compile
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
+ local -x GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x XDG_CACHE_HOME="${T}/${EPYTHON}"
+ meson_src_test --timeout-multiplier 3 || die "test failed for ${EPYTHON}"
+}
+
+python_install() {
+ meson_src_install
+ python_optimize
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ use examples && dodoc -r examples
+}
diff --git a/dev-python/pygobject/pygobject-3.46.0.ebuild b/dev-python/pygobject/pygobject-3.46.0.ebuild
index d00e6ddaa043..99eb180556b9 100644
--- a/dev-python/pygobject/pygobject-3.46.0.ebuild
+++ b/dev-python/pygobject/pygobject-3.46.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="LGPL-2.1+"
SLOT="3"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
IUSE="+cairo examples test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/pygobject/pygobject-3.48.2-r1.ebuild b/dev-python/pygobject/pygobject-3.48.2-r1.ebuild
new file mode 100644
index 000000000000..05645b86fe7d
--- /dev/null
+++ b/dev-python/pygobject/pygobject-3.48.2-r1.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=no
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit gnome.org meson virtualx xdg distutils-r1
+
+DESCRIPTION="Python bindings for GObject Introspection"
+HOMEPAGE="
+ https://pygobject.gnome.org/
+ https://gitlab.gnome.org/GNOME/pygobject/
+"
+
+LICENSE="LGPL-2.1+"
+SLOT="3"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="+cairo examples test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-libs/glib-2.64:2
+ >=dev-libs/gobject-introspection-1.64:=
+ dev-libs/libffi:=
+ cairo? (
+ >=dev-python/pycairo-1.16.0[${PYTHON_USEDEP}]
+ x11-libs/cairo[glib]
+ )
+"
+DEPEND="
+ ${RDEPEND}
+ test? (
+ >=app-accessibility/at-spi2-core-2.46.0[introspection]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ x11-libs/gdk-pixbuf:2[introspection,jpeg]
+ x11-libs/gtk+:3[introspection]
+ x11-libs/pango[introspection]
+ )
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+PATCHES=( "${FILESDIR}/${P}-egg-info.patch" )
+
+python_configure() {
+ local emesonargs=(
+ $(meson_feature cairo pycairo)
+ $(meson_use test tests)
+ -Dpython="${EPYTHON}"
+ )
+ meson_src_configure
+}
+
+python_compile() {
+ meson_src_compile
+}
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local -x GIO_USE_VFS="local" # prevents odd issues with deleting ${T}/.gvfs
+ local -x GIO_USE_VOLUME_MONITOR="unix" # prevent udisks-related failures in chroots, bug #449484
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x XDG_CACHE_HOME="${T}/${EPYTHON}"
+ meson_src_test --timeout-multiplier 3 || die "test failed for ${EPYTHON}"
+}
+
+python_install() {
+ meson_src_install
+ python_optimize
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ use examples && dodoc -r examples
+}
diff --git a/dev-python/pygraphviz/Manifest b/dev-python/pygraphviz/Manifest
index ece613d8897c..ea30261224ea 100644
--- a/dev-python/pygraphviz/Manifest
+++ b/dev-python/pygraphviz/Manifest
@@ -1 +1 @@
-DIST pygraphviz-1.11.zip 120803 BLAKE2B 004312750bcb9fab5c39af2c1de6c452489d9a2deea8211e6bb7cd722e9043070644b61c78047b01d649d41194441d82ffe2dde9fb17b6d9233bd0acee539c7e SHA512 3914d29fb214e1f7d59c7849e1e63e783902acd262912eccffbf6a67f8cbf6f540b9f2e84c9e7b4f0d90fae27f451a701a3b75a4dcb15b8a81bed463b34e2ef2
+DIST pygraphviz-1.13.tar.gz 104642 BLAKE2B 6111c1b811d5359da673f9c43719d21e86e93e7e82e5819872fed6f87ebb74efb87dba40b5dac737b93bffcd51683f143528a135a76e3d6f62615593fdc22b88 SHA512 3159fd9fb1226974c3a6289ebc437eed394021a7fc41669e29879fa6fd5e5cb809c808a4016cfb1afaf30dc10e467e8b0fe5c3b71fb9a1f889efcf5ae6ff3597
diff --git a/dev-python/pygraphviz/pygraphviz-1.11.ebuild b/dev-python/pygraphviz/pygraphviz-1.11.ebuild
deleted file mode 100644
index d5ad4564bb3f..000000000000
--- a/dev-python/pygraphviz/pygraphviz-1.11.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python wrapper for the Graphviz Agraph data structure"
-HOMEPAGE="
- https://pygraphviz.github.io/
- https://github.com/pygraphviz/pygraphviz/
- https://pypi.org/project/pygraphviz/
-"
-SRC_URI="$(pypi_sdist_url "${PN}" "${PV}" .zip)"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ppc ~ppc64 ~riscv x86 ~x86-linux ~ppc-macos ~x64-macos"
-
-# Note: only C API of graphviz is used, PYTHON_USEDEP unnecessary.
-DEPEND="
- media-gfx/graphviz
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- app-arch/unzip
- dev-lang/swig:0
-"
-
-distutils_enable_tests pytest
-
-src_configure() {
- swig -python pygraphviz/graphviz.i || die
-}
-
-python_test() {
- cd "${BUILD_DIR}"/install || die
- epytest
-}
-
-python_install_all() {
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pygraphviz/pygraphviz-1.13.ebuild b/dev-python/pygraphviz/pygraphviz-1.13.ebuild
new file mode 100644
index 000000000000..e58d7fbd5c79
--- /dev/null
+++ b/dev-python/pygraphviz/pygraphviz-1.13.ebuild
@@ -0,0 +1,50 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python wrapper for the Graphviz Agraph data structure"
+HOMEPAGE="
+ https://pygraphviz.github.io/
+ https://github.com/pygraphviz/pygraphviz/
+ https://pypi.org/project/pygraphviz/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv x86 ~x86-linux ~ppc-macos ~x64-macos"
+
+# Note: only C API of graphviz is used, PYTHON_USEDEP unnecessary.
+DEPEND="
+ media-gfx/graphviz
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-lang/swig:0
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ swig -python pygraphviz/graphviz.i || die
+}
+
+python_test() {
+ cd "${BUILD_DIR}"/install || die
+ epytest
+}
+
+python_install_all() {
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pygresql/Manifest b/dev-python/pygresql/Manifest
index 91a14db0c922..c9c50f176184 100644
--- a/dev-python/pygresql/Manifest
+++ b/dev-python/pygresql/Manifest
@@ -1 +1 @@
-DIST PyGreSQL-6.0.tar.gz 271585 BLAKE2B 80e5dc9be955ac2b9a69b1cdbc6f164d11bd8f0386da340fc414340a7ebc7e857727f8b6570acf6696ac83daeb41ef80cc5875f4ae0ea766e838d54d96b33910 SHA512 a6ed1f252a40ae4c429c142cc408993bfe5ec7a4318cf219f977a440a3e3f823291b160843bc497e3375e5acc36b8043178f77c0f9cfd108e580e80b7a5c8eb9
+DIST pygresql-6.0.1.tar.gz 271855 BLAKE2B 76d3f18d2bdbe7aa1d4459784fd5f1d3d76feaaeb911f1679c66d1a579cef27a00af619416f03cfcd69804e4f5a997d82765c3e32d9ab371c6011b0915e3e018 SHA512 47b0296596d5d914ccd48e09f352f8da38ed82a0861a148525a675431df51b1261d03e7bbb158947d4d525d82e1790d0a4d4c4d293b29550c50965e2a4e89847
diff --git a/dev-python/pygresql/pygresql-6.0.1.ebuild b/dev-python/pygresql/pygresql-6.0.1.ebuild
new file mode 100644
index 000000000000..20a92c0732cc
--- /dev/null
+++ b/dev-python/pygresql/pygresql-6.0.1.ebuild
@@ -0,0 +1,68 @@
+# 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_PN="PyGreSQL"
+POSTGRES_COMPAT=( 9.6 {10..16} )
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 postgres pypi
+
+DESCRIPTION="A Python interface for the PostgreSQL database"
+HOMEPAGE="
+ https://pygresql.github.io/
+ https://github.com/PyGreSQL/PyGreSQL/
+ https://pypi.org/project/PyGreSQL/
+"
+
+LICENSE="POSTGRESQL"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~hppa ~ia64 ppc ~sparc x86"
+
+DEPEND="${POSTGRES_DEP}"
+RDEPEND="${DEPEND}"
+BDEPEND="
+ test? (
+ dev-db/postgresql[server]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-5.2-CFLAGS.patch
+)
+
+distutils_enable_tests unittest
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]]; then
+ postgres_pkg_setup
+ fi
+}
+
+src_test() {
+ local db="${T}/pgsql"
+ initdb --username=portage -D "${db}" || die
+ pg_ctl -w -D "${db}" start \
+ -o "-h '127.0.0.1' -p 5432 -k '${T}'" || die
+ psql -h "${T}" -U portage -d postgres \
+ -c "ALTER ROLE portage WITH PASSWORD 'postgres';" || die
+ createdb -h "${T}" -U portage test || die
+
+ cat > tests/LOCAL_PyGreSQL.py <<-EOF || die
+ dbhost = '${T}'
+ EOF
+
+ rm -rf pg || die
+ distutils-r1_src_test
+
+ pg_ctl -w -D "${db}" stop || die
+}
+
+python_install_all() {
+ local DOCS=( docs/*.rst docs/community/* docs/contents/tutorial.rst )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pygresql/pygresql-6.0.ebuild b/dev-python/pygresql/pygresql-6.0.ebuild
deleted file mode 100644
index 0e238787676b..000000000000
--- a/dev-python/pygresql/pygresql-6.0.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2023 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
-PYPI_PN="PyGreSQL"
-POSTGRES_COMPAT=( 9.6 {10..16} )
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 postgres pypi
-
-DESCRIPTION="A Python interface for the PostgreSQL database"
-HOMEPAGE="
- https://pygresql.github.io/
- https://github.com/PyGreSQL/PyGreSQL/
- https://pypi.org/project/PyGreSQL/
-"
-
-LICENSE="POSTGRESQL"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~hppa ~ia64 ppc ~sparc x86"
-
-DEPEND="${POSTGRES_DEP}"
-RDEPEND="${DEPEND}"
-BDEPEND="
- test? (
- dev-db/postgresql[server]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-5.2-CFLAGS.patch
-)
-
-distutils_enable_tests unittest
-
-pkg_setup() {
- if [[ ${MERGE_TYPE} != binary ]]; then
- postgres_pkg_setup
- fi
-}
-
-src_test() {
- local db="${T}/pgsql"
- initdb --username=portage -D "${db}" || die
- pg_ctl -w -D "${db}" start \
- -o "-h '127.0.0.1' -p 5432 -k '${T}'" || die
- psql -h "${T}" -U portage -d postgres \
- -c "ALTER ROLE portage WITH PASSWORD 'postgres';" || die
- createdb -h "${T}" -U portage test || die
-
- cat > tests/LOCAL_PyGreSQL.py <<-EOF || die
- dbhost = '${T}'
- EOF
-
- rm -rf pg || die
- distutils-r1_src_test
-
- pg_ctl -w -D "${db}" stop || die
-}
-
-python_install_all() {
- local DOCS=( docs/*.rst docs/community/* docs/contents/tutorial.rst )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pyh2o/pyh2o-1-r1.ebuild b/dev-python/pyh2o/pyh2o-1-r1.ebuild
index b2d776d89062..a04708f04669 100644
--- a/dev-python/pyh2o/pyh2o-1-r1.ebuild
+++ b/dev-python/pyh2o/pyh2o-1-r1.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
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pyhamcrest/pyhamcrest-2.1.0.ebuild b/dev-python/pyhamcrest/pyhamcrest-2.1.0.ebuild
index d524a8ae4ccd..9fb244f8e86c 100644
--- a/dev-python/pyhamcrest/pyhamcrest-2.1.0.ebuild
+++ b/dev-python/pyhamcrest/pyhamcrest-2.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pyhcl/Manifest b/dev-python/pyhcl/Manifest
index ff3f50ef803b..1d5adac20567 100644
--- a/dev-python/pyhcl/Manifest
+++ b/dev-python/pyhcl/Manifest
@@ -1,2 +1 @@
-DIST pyhcl-0.4.4.gh.tar.gz 58400 BLAKE2B 89ce8ba1eff577d9b4c7a86931e305f94ad7633b83c27f44352658ec2a12e48fd0cb05619e4afd97e4f2d78a9f4dba5c082a0d5703060b629880a3d193d9b4ee SHA512 7c5e2b611d1198a0e6c667b8fda868231bdd25da822d634a34c076fea655a7ea2999fc827de8484992efcf52b6b843871713a83e3be7787003c90f05e3e7ddf6
DIST pyhcl-0.4.5.gh.tar.gz 58692 BLAKE2B ea08471e3bc0957b19660322e487314ffb795c4df024e54b0ed5979f60f406c7ba08f48825ef9c6a2984fff753a85db696a3877f3409d5773b1789d696164e1b SHA512 094c766e8787142c6369e530102f54c187c25cbc68d0feb89e71230adf3241cd17bd001cabb52a67e4230e1d4ca43eff975c523bd395305a38ca72ef3e604ab8
diff --git a/dev-python/pyhcl/pyhcl-0.4.4-r1.ebuild b/dev-python/pyhcl/pyhcl-0.4.4-r1.ebuild
deleted file mode 100644
index c7c457c0ad35..000000000000
--- a/dev-python/pyhcl/pyhcl-0.4.4-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="HCL configuration parser for python"
-HOMEPAGE="https://github.com/virtuald/pyhcl"
-
-if [[ ${PV} == 9999 ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/virtuald/pyhcl.git"
-else
- SRC_URI="https://github.com/virtuald/pyhcl/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
- KEYWORDS="~amd64 ~arm64"
-fi
-
-LICENSE="MPL-2.0"
-SLOT="0"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- printf '__version__ = "%s"\n' "${PV}" > src/hcl/version.py || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/pyhcl/pyhcl-0.4.5.ebuild b/dev-python/pyhcl/pyhcl-0.4.5.ebuild
index 5607b0797e55..aa400ec7e04d 100644
--- a/dev-python/pyhcl/pyhcl-0.4.5.ebuild
+++ b/dev-python/pyhcl/pyhcl-0.4.5.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pyicu/Manifest b/dev-python/pyicu/Manifest
index 2577db7630f9..7894c7e93431 100644
--- a/dev-python/pyicu/Manifest
+++ b/dev-python/pyicu/Manifest
@@ -1 +1 @@
-DIST pyicu-v2.12.tar.bz2 195543 BLAKE2B ffee7f0d77495ca490047f6c1f280e47161a9dcebbf5525c8131a3876d10048f154aabfa2be98cd9bbe8e32cea2be86736cf7aa1b0193084b0b7dc36a45b861f SHA512 b182550a9491795699868908615a823e9e35220b6b43ef745a0e34563a133d2c9c2c5c8ae6e221f8c7117d310214828e8110f9e4113fd5cae7e724425de8fe84
+DIST pyicu-v2.13.1.tar.bz2 196960 BLAKE2B 8faf5faf1fb8246c07dfb5ace5c2ad7cf8c86a183e0fa48288c81f7de47422152af2a44392972d818542370ea6f91c592d8d520b49848389109e6b2c1aa3ee17 SHA512 f85dd31b6a505efd32c3d0ea1c996b51b9da8cdc7ce3b88c997573a4ef1506a6af7b76f48f86d64e8993878ae25abcd95b04f40ba7a4f38fbf3b4cefd79b8066
diff --git a/dev-python/pyicu/metadata.xml b/dev-python/pyicu/metadata.xml
index ce969252ca7c..1f32f231b5dd 100644
--- a/dev-python/pyicu/metadata.xml
+++ b/dev-python/pyicu/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/pyicu/pyicu-2.12.ebuild b/dev-python/pyicu/pyicu-2.12.ebuild
deleted file mode 100644
index bec5cfedee28..000000000000
--- a/dev-python/pyicu/pyicu-2.12.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=${P/-/-v}
-DESCRIPTION="Python bindings for dev-libs/icu"
-HOMEPAGE="
- https://gitlab.pyicu.org/main/pyicu/
- https://pypi.org/project/PyICU/
-"
-SRC_URI="
- https://gitlab.pyicu.org/main/pyicu/-/archive/v${PV}/${MY_P}.tar.bz2
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~riscv x86 ~arm64-macos ~x64-macos"
-
-DEPEND="
- dev-libs/icu:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- test? (
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( CHANGES CREDITS README.md )
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest test
-}
diff --git a/dev-python/pyicu/pyicu-2.13.1.ebuild b/dev-python/pyicu/pyicu-2.13.1.ebuild
new file mode 100644
index 000000000000..5a29047db1f0
--- /dev/null
+++ b/dev-python/pyicu/pyicu-2.13.1.ebuild
@@ -0,0 +1,45 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=${P/-/-v}
+DESCRIPTION="Python bindings for dev-libs/icu"
+HOMEPAGE="
+ https://gitlab.pyicu.org/main/pyicu/
+ https://pypi.org/project/PyICU/
+"
+SRC_URI="
+ https://gitlab.pyicu.org/main/pyicu/-/archive/v${PV}/${MY_P}.tar.bz2
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86 ~arm64-macos ~x64-macos"
+
+DEPEND="
+ dev-libs/icu:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ test? (
+ dev-python/six[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( CHANGES CREDITS README.md )
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest test
+}
diff --git a/dev-python/pyinotify/pyinotify-0.9.6-r1.ebuild b/dev-python/pyinotify/pyinotify-0.9.6-r1.ebuild
index 2398f2c70957..3c1763c4ddde 100644
--- a/dev-python/pyinotify/pyinotify-0.9.6-r1.ebuild
+++ b/dev-python/pyinotify/pyinotify-0.9.6-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1
diff --git a/dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r2.ebuild b/dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r2.ebuild
deleted file mode 100644
index 4c4c3299c45d..000000000000
--- a/dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r2.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-[[ ${PV} == *_p20190421 ]] && COMMIT=5465d037b30e334cb0997f2315ec1e451b8ad4c1
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Fast javascript parser based on esprima.js"
-HOMEPAGE="https://github.com/PiotrDabkowski/pyjsparser/
- https://pypi.org/project/pyjsparser/"
-SRC_URI="https://github.com/PiotrDabkowski/${PN}/archive/${COMMIT}.tar.gz
- -> ${P}.tar.gz"
-S="${WORKDIR}"/${PN}-${COMMIT}
-
-RESTRICT="!test? ( test )"
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
-IUSE="test"
-
-BDEPEND="
- test? (
- dev-python/js2py[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- "${EPYTHON}" ./test_runner.py || die "tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r3.ebuild b/dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r3.ebuild
new file mode 100644
index 000000000000..6613e33f512b
--- /dev/null
+++ b/dev-python/pyjsparser/pyjsparser-2.7.1_p20190421-r3.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+[[ ${PV} == *_p20190421 ]] && COMMIT=5465d037b30e334cb0997f2315ec1e451b8ad4c1
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Fast javascript parser based on esprima.js"
+HOMEPAGE="https://github.com/PiotrDabkowski/pyjsparser/
+ https://pypi.org/project/pyjsparser/"
+SRC_URI="https://github.com/PiotrDabkowski/${PN}/archive/${COMMIT}.tar.gz
+ -> ${P}.tar.gz"
+S="${WORKDIR}"/${PN}-${COMMIT}
+
+RESTRICT="!test? ( test )"
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~s390 ~sparc x86"
+IUSE="test"
+
+BDEPEND="
+ test? (
+ dev-python/js2py[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ "${EPYTHON}" ./test_runner.py || die "tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/pyjwt/pyjwt-2.8.0.ebuild b/dev-python/pyjwt/pyjwt-2.8.0.ebuild
index c30f673c63aa..96c1c8b218c8 100644
--- a/dev-python/pyjwt/pyjwt-2.8.0.ebuild
+++ b/dev-python/pyjwt/pyjwt-2.8.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN="PyJWT"
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 optfeature pypi
diff --git a/dev-python/pykka/Manifest b/dev-python/pykka/Manifest
index 6a16c65f8e0b..ffc7321f2911 100644
--- a/dev-python/pykka/Manifest
+++ b/dev-python/pykka/Manifest
@@ -1,2 +1 @@
-DIST pykka-4.0.0.gh.tar.gz 48507 BLAKE2B c394f493884b5f6a97d52e1f7038615510cfb1f75ef9f639fb3b1a4feb8ea5206edda6b647fd782fe16902cd1d9d210f168d0846942ed0f1b720a869029c2b34 SHA512 2078df598c23a742a62f374b1de76ba94f671e4af458532ba16245b32579462574c75adebf625aaab0a5875bc9e9803a10d2f8c82f783537ad893b896be00f12
-DIST pykka-4.0.1.gh.tar.gz 48549 BLAKE2B 4aaeb31b9e9aa9cdc5125719a6a26e9d0b400d5df09bc55d240528bf3623aa46aaf70c2bafb868f8ec82accef239673fd8019571c48341305cac209213ba065c SHA512 fd49250cc641ffcfd3ad71f3716452ef6dbc54e201e56d8fb3d13d8315379058e5648b773327830d1e2eb60fe6a9576aac81d5613cd02af3ce5b42866716e030
+DIST pykka-4.0.2.gh.tar.gz 48536 BLAKE2B 57825e0cbcad0afc33870de000820cfcd400d195715d8c48f133470ab8c9c26d9f8ab1a9cb54e847fe163b240258c789ec70bcf3627dcfbad1d469eee7c2d9c0 SHA512 43d31258f73a6d43c467d108066dd3e852db9e21a04fda030137dbd65052a874e346ed78b79a4929b25d2744a286c95d5d425ae150428ea1594a24f2a6c6a164
diff --git a/dev-python/pykka/pykka-4.0.0.ebuild b/dev-python/pykka/pykka-4.0.0.ebuild
deleted file mode 100644
index 44c822d2062d..000000000000
--- a/dev-python/pykka/pykka-4.0.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python implementation of the actor model"
-HOMEPAGE="
- https://pykka.org/en/latest/
- https://github.com/jodal/pykka/
- https://pypi.org/project/pykka/
-"
-SRC_URI="
- https://github.com/jodal/pykka/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pykka/pykka-4.0.1.ebuild b/dev-python/pykka/pykka-4.0.1.ebuild
deleted file mode 100644
index 01455843e208..000000000000
--- a/dev-python/pykka/pykka-4.0.1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python implementation of the actor model"
-HOMEPAGE="
- https://pykka.org/en/latest/
- https://github.com/jodal/pykka/
- https://pypi.org/project/pykka/
-"
-SRC_URI="
- https://github.com/jodal/pykka/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pykka/pykka-4.0.2.ebuild b/dev-python/pykka/pykka-4.0.2.ebuild
new file mode 100644
index 000000000000..1b48382a70c2
--- /dev/null
+++ b/dev-python/pykka/pykka-4.0.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python implementation of the actor model"
+HOMEPAGE="
+ https://pykka.org/en/latest/
+ https://github.com/jodal/pykka/
+ https://pypi.org/project/pykka/
+"
+SRC_URI="
+ https://github.com/jodal/pykka/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pykwalify/files/pykwalify-1.8.0-ruamel-yaml-1.18.patch b/dev-python/pykwalify/files/pykwalify-1.8.0-ruamel-yaml-1.18.patch
new file mode 100644
index 000000000000..d3e5cd65f6ee
--- /dev/null
+++ b/dev-python/pykwalify/files/pykwalify-1.8.0-ruamel-yaml-1.18.patch
@@ -0,0 +1,90 @@
+From 57bb2ba5c28b6928edb3f07ef581a5a807524baf Mon Sep 17 00:00:00 2001
+From: Lily Foster <lily@lily.flowers>
+Date: Sat, 20 Jan 2024 21:14:16 -0500
+Subject: [PATCH] Fixing tests for ruamel yaml 0.18+
+
+Upstream-Issue: https://github.com/Grokzen/pykwalify/issues/198
+Upstream-PR: https://github.com/Grokzen/pykwalify/pull/199
+
+diff --git a/tests/test_core.py b/tests/test_core.py
+index cc84f3e..43271d4 100644
+--- a/tests/test_core.py
++++ b/tests/test_core.py
+@@ -12,7 +12,7 @@
+
+ # 3rd party imports
+ import pytest
+-from pykwalify.compat import yaml
++from pykwalify.compat import yml
+ from testfixtures import compare
+
+
+@@ -579,7 +579,7 @@ def test_core_files(self):
+ for passing_test_file in pass_tests:
+ f = self.f(os.path.join("success", passing_test_file))
+ with open(f, "r") as stream:
+- yaml_data = yaml.safe_load_all(stream)
++ yaml_data = yml.load_all(stream)
+
+ for document_index, document in enumerate(yaml_data):
+ data = document["data"]
+@@ -600,7 +600,7 @@ def test_core_files(self):
+ for failing_test, exception_type in _fail_tests:
+ f = self.f(os.path.join("fail", failing_test))
+ with open(f, "r") as stream:
+- yaml_data = yaml.safe_load_all(stream)
++ yaml_data = yml.load_all(stream)
+
+ for document_index, document in enumerate(yaml_data):
+ data = document["data"]
+diff --git a/tests/test_unicode.py b/tests/test_unicode.py
+index 36f5549..74e2908 100644
+--- a/tests/test_unicode.py
++++ b/tests/test_unicode.py
+@@ -12,7 +12,7 @@
+ from pykwalify.errors import SchemaError
+
+ # 3rd party imports
+-from pykwalify.compat import yaml
++from pykwalify.compat import yml
+ from testfixtures import compare
+
+
+@@ -47,7 +47,8 @@ def test_files_with_unicode_content_success(self, tmpdir):
+ }
+
+ source_f = tmpdir.join(u"2så.json")
+- source_f.write(yaml.safe_dump(fail_data_2s_yaml, allow_unicode=True))
++ with source_f.open('w') as stream:
++ yml.dump(fail_data_2s_yaml, stream)
+
+ _pass_tests = [
+ # Test mapping with unicode key and value
+@@ -65,7 +66,7 @@ def test_files_with_unicode_content_success(self, tmpdir):
+ f = self.f(passing_test_files)
+
+ with open(f, "r") as stream:
+- yaml_data = yaml.safe_load(stream)
++ yaml_data = yml.load(stream)
+ data = yaml_data["data"]
+ schema = yaml_data["schema"]
+
+@@ -102,7 +103,8 @@ def test_files_with_unicode_content_failing(self, tmpdir):
+ }
+
+ source_f = tmpdir.join(u"2få.json")
+- source_f.write(yaml.safe_dump(fail_data_2f_yaml, allow_unicode=True))
++ with source_f.open('w') as stream:
++ yml.dump(fail_data_2f_yaml, stream)
+
+ _fail_tests = [
+ # Test mapping with unicode key and value but wrong type
+@@ -120,7 +122,7 @@ def test_files_with_unicode_content_failing(self, tmpdir):
+ f = self.f(failing_test)
+
+ with open(f, "r") as stream:
+- yaml_data = yaml.safe_load(stream)
++ yaml_data = yml.load(stream)
+ data = yaml_data["data"]
+ schema = yaml_data["schema"]
+ errors = yaml_data["errors"]
diff --git a/dev-python/pykwalify/pykwalify-1.8.0-r3.ebuild b/dev-python/pykwalify/pykwalify-1.8.0-r3.ebuild
index 3276aa080f7a..1e5b8ef2a08e 100644
--- a/dev-python/pykwalify/pykwalify-1.8.0-r3.ebuild
+++ b/dev-python/pykwalify/pykwalify-1.8.0-r3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -14,8 +14,8 @@ HOMEPAGE="
https://pypi.org/project/pykwalify/
"
-SLOT="0"
LICENSE="MIT"
+SLOT="0"
KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux"
RDEPEND="
@@ -33,4 +33,6 @@ distutils_enable_tests pytest
PATCHES=(
"${FILESDIR}"/${PN}-1.4.0-S.patch
+ # fix tests for >=dev-python/ruamel-yaml-1.18, see #923136
+ "${FILESDIR}"/${PN}-1.8.0-ruamel-yaml-1.18.patch
)
diff --git a/dev-python/pylama/Manifest b/dev-python/pylama/Manifest
deleted file mode 100644
index 893c44b456f9..000000000000
--- a/dev-python/pylama/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pylama-8.4.1.gh.tar.gz 37850 BLAKE2B dea99fc784736f3b229c5d82a59f2e2b5490fbe344ad98167e30e550b6c774c7b42cbddfedeb073d9d843cf53169c441812974036b06088ab07d7b7996def4a5 SHA512 fb038c39a2e962bd065ac5ef545f1be50f5b230141141a55e1701ffdc6a241b5778613ac91f29ff648b7ce48fa969c3961a11b7e906b6e350c84b57eea5369cd
diff --git a/dev-python/pylama/files/pylama-8.4.1-dummy-elif.patch b/dev-python/pylama/files/pylama-8.4.1-dummy-elif.patch
deleted file mode 100644
index 788d38382114..000000000000
--- a/dev-python/pylama/files/pylama-8.4.1-dummy-elif.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From 2093ce0ad405e20efa3f2dad771a04577e0f7e6b Mon Sep 17 00:00:00 2001
-From: Stanislav Levin <slev@altlinux.org>
-Date: Fri, 12 May 2023 19:38:41 +0300
-Subject: [PATCH] tests: Sync pylint's no-else-return
-
-https://github.com/klen/pylama/pull/243
-
-See https://pylint.readthedocs.io/en/latest/user_guide/messages/refactor/no-else-return.html for details.
-
-Fixes: https://github.com/klen/pylama/issues/238
-Signed-off-by: Stanislav Levin <slev@altlinux.org>
----
- dummy.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/dummy.py b/dummy.py
-index c19ee6d..09a0e3c 100644
---- a/dummy.py
-+++ b/dummy.py
-@@ -22,10 +22,10 @@ def __init__(self, filename, loc, use_column=True):
- if test == 1:
- if test == 1:
- return 28
-- elif test == 2:
-+ if test == 2:
- return 28
- return 28
-- elif test == 2:
-+ if test == 2:
- return 28
-
- def __str__(self):
diff --git a/dev-python/pylama/files/pylama-8.4.1-tomli.patch b/dev-python/pylama/files/pylama-8.4.1-tomli.patch
deleted file mode 100644
index 291bc9f530e7..000000000000
--- a/dev-python/pylama/files/pylama-8.4.1-tomli.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-From 8b7908fec960a05af0a0a9b10d24ed458fcf97c7 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Tue, 8 Nov 2022 14:33:59 +0100
-Subject: [PATCH] Use tomli/tomllib instead of the unmaintained toml package
-
-Replace the use of the unmaintained `toml` package with the modern
-alternatives: the built-in `tomllib` in Python 3.11+, and its equivalent
-`tomli` in older Python versions. `tomli` installs type stubs, so there
-is no need for an additional `types-*` package for it.
----
- pylama/config_toml.py | 9 +++++++--
- requirements/requirements-tests.txt | 3 +--
- setup.py | 2 +-
- 3 files changed, 9 insertions(+), 5 deletions(-)
-
-diff --git a/pylama/config_toml.py b/pylama/config_toml.py
-index 2af02a5..ea6e17a 100644
---- a/pylama/config_toml.py
-+++ b/pylama/config_toml.py
-@@ -1,16 +1,21 @@
- """Pylama TOML configuration."""
-
--import toml
-+import sys
-
- from pylama.libs.inirama import Namespace as _Namespace
-
-+if sys.version_info >= (3, 11):
-+ import tomllib
-+else:
-+ import tomli as tomllib
-+
-
- class Namespace(_Namespace):
- """Inirama-style wrapper for TOML config."""
-
- def parse(self, source: str, update: bool = True, **params):
- """Parse TOML source as string."""
-- content = toml.loads(source)
-+ content = tomllib.loads(source)
- tool = content.get("tool", {})
- pylama = tool.get("pylama", {})
- linters = pylama.pop("linter", {})
-diff --git a/requirements/requirements-tests.txt b/requirements/requirements-tests.txt
-index d786f1f..e62ccae 100644
---- a/requirements/requirements-tests.txt
-+++ b/requirements/requirements-tests.txt
-@@ -5,8 +5,7 @@ radon >= 5.1.0
- mypy
- pylint >= 2.11.1
- pylama-quotes
--toml
-+tomli >= 1.2.3 ; python_version < "3.11"
- vulture
-
- types-setuptools
--types-toml
-diff --git a/setup.py b/setup.py
-index 911aea6..6d0222b 100644
---- a/setup.py
-+++ b/setup.py
-@@ -21,6 +21,6 @@ def parse_requirements(path: str) -> "list[str]":
- extras_require=dict(
- tests=parse_requirements("requirements/requirements-tests.txt"),
- all=OPTIONAL_LINTERS, **{linter: [linter] for linter in OPTIONAL_LINTERS},
-- toml="toml>=0.10.2",
-+ toml="tomli>=1.2.3; python_version < '3.11'",
- ),
- )
diff --git a/dev-python/pylama/metadata.xml b/dev-python/pylama/metadata.xml
deleted file mode 100644
index 5ea1c06f17d7..000000000000
--- a/dev-python/pylama/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>zmedico@gentoo.org</email>
- <name>Zac Medico</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">pylama</remote-id>
- <remote-id type="github">klen/pylama</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pylama/pylama-8.4.1-r1.ebuild b/dev-python/pylama/pylama-8.4.1-r1.ebuild
deleted file mode 100644
index 30c5ca59c22f..000000000000
--- a/dev-python/pylama/pylama-8.4.1-r1.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Code audit tool for python"
-HOMEPAGE="
- https://github.com/klen/pylama/
- https://pypi.org/project/pylama/
-"
-SRC_URI="
- https://github.com/klen/pylama/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/mccabe-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.9.1[${PYTHON_USEDEP}]
- >=dev-python/pydocstyle-6.1.1[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-2.5.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/eradicate[${PYTHON_USEDEP}]
- dev-python/mypy[${PYTHON_USEDEP}]
- dev-python/pylint[${PYTHON_USEDEP}]
- dev-python/radon[${PYTHON_USEDEP}]
- dev-vcs/git
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{8..10})
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${P}-tomli.patch
- "${FILESDIR}"/${P}-dummy-elif.patch
-)
-
-EPYTEST_DESELECT=(
- # not packaged
- tests/test_linters.py::test_quotes
- tests/test_linters.py::test_vulture
-)
diff --git a/dev-python/pylast/Manifest b/dev-python/pylast/Manifest
index d87f4abd85e2..78038226c2dd 100644
--- a/dev-python/pylast/Manifest
+++ b/dev-python/pylast/Manifest
@@ -1 +1 @@
-DIST pylast-5.2.0.tar.gz 41137 BLAKE2B a7742bd2a23e281ab1a12d0198c74f1b5d8302700cb58490a5b3bff693098c8c3bf548ed52ca7f8cefecbcc10972c57da9ca04fe1d791141aacbb84ead9592ed SHA512 1ae76ff4ec6f009388abfcf8525f1c19e47cbabaace1f5e8c518819d0856168d855b789e3c08a9699dd7ab88ebfc7c3ab81c2d74a0fa1fd210450741b99da8c6
+DIST pylast-5.3.0.tar.gz 41552 BLAKE2B 0d6fd60e02f6106cbbfe2027614d8d403c54ee1f749ea697dba7d863e7a1fc647f95d2ea341e1d0ecfa2900a1ae117920466bb8f8a0728c5a9dea6be8d1009f0 SHA512 b8d015d9d1452a650a6fc05019a145c2c5104c1acd0e296d7a9b536fd91710b4efe3dab2646b4b373ca13278fbdc385a64472829dfd1cf8980a22a5f2314afe9
diff --git a/dev-python/pylast/pylast-5.2.0.ebuild b/dev-python/pylast/pylast-5.2.0.ebuild
deleted file mode 100644
index 4dff978a1fea..000000000000
--- a/dev-python/pylast/pylast-5.2.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python interface to last.fm and other api-compatible websites"
-HOMEPAGE="
- https://pypi.org/project/pylast/
- https://github.com/pylast/pylast/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
-
-RDEPEND="
- dev-python/httpx[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pylast/pylast-5.3.0.ebuild b/dev-python/pylast/pylast-5.3.0.ebuild
new file mode 100644
index 000000000000..c95e79f3f4a4
--- /dev/null
+++ b/dev-python/pylast/pylast-5.3.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python interface to last.fm and other api-compatible websites"
+HOMEPAGE="
+ https://pypi.org/project/pylast/
+ https://github.com/pylast/pylast/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv sparc x86"
+
+RDEPEND="
+ dev-python/httpx[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pylatexenc/pylatexenc-2.10.ebuild b/dev-python/pylatexenc/pylatexenc-2.10.ebuild
index fec506fd6008..fc5252a2998b 100644
--- a/dev-python/pylatexenc/pylatexenc-2.10.ebuild
+++ b/dev-python/pylatexenc/pylatexenc-2.10.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pylev/metadata.xml b/dev-python/pylev/metadata.xml
index 8bc9cf79abd7..863ba0734572 100644
--- a/dev-python/pylev/metadata.xml
+++ b/dev-python/pylev/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>jsmolic@gentoo.org</email>
- <name>Jakov Smolić</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/pylev/pylev-1.4.0-r1.ebuild b/dev-python/pylev/pylev-1.4.0-r1.ebuild
index fb63e139d236..3c4b4229fe0f 100644
--- a/dev-python/pylev/pylev-1.4.0-r1.ebuild
+++ b/dev-python/pylev/pylev-1.4.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pylibacl/pylibacl-0.7.0.ebuild b/dev-python/pylibacl/pylibacl-0.7.0.ebuild
index e13e8b005169..2087d8f0ebe0 100644
--- a/dev-python/pylibacl/pylibacl-0.7.0.ebuild
+++ b/dev-python/pylibacl/pylibacl-0.7.0.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
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="LGPL-2.1"
SLOT="0"
-KEYWORDS="~alpha amd64 arm ~ia64 ~mips ppc ppc64 sparc x86"
+KEYWORDS="~alpha amd64 arm ~arm64 ~ia64 ~mips ppc ppc64 sparc x86"
DEPEND="
sys-apps/acl
diff --git a/dev-python/pylibmc/pylibmc-1.6.3.ebuild b/dev-python/pylibmc/pylibmc-1.6.3.ebuild
index 68be0892d91d..47e630688e5a 100644
--- a/dev-python/pylibmc/pylibmc-1.6.3.ebuild
+++ b/dev-python/pylibmc/pylibmc-1.6.3.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
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv x86"
DEPEND="
>=dev-libs/libmemcached-0.32
diff --git a/dev-python/pylint-venv/Manifest b/dev-python/pylint-venv/Manifest
index 21e85658ab37..b07f4f95033c 100644
--- a/dev-python/pylint-venv/Manifest
+++ b/dev-python/pylint-venv/Manifest
@@ -1,2 +1 @@
-DIST pylint-venv-3.0.2.gh.tar.gz 15046 BLAKE2B 3c07e00739541c4b9b7c28c9b6cf91e8dee27885adcac8ec88b347f6c580ee0a0c905271eb5b5256ccf0ea975604bf98560ce271a27cbfd2d5790d1143ba6af4 SHA512 716491ffbb5e6642cd61cee62c720a594d85b4cf44feb2d53d3e120dbdea813234776a95341ac10acbdd64354cc3875659f1d3bbc5f45a87ac5232e1e7f89473
DIST pylint-venv-3.0.3.gh.tar.gz 15432 BLAKE2B 2a0315967aa7ac9628a7633360249d3bf5904d2e9939fe1c962ad7066694fd5b073df71e89f0ff4a6c278c3ccf6b41cd70c0b2928b58bbaa19a7910f18f7b697 SHA512 83632d7063f8e14bcf9213a059e8e6e20222518e5cc3d19a7cc3761e11ece2aaea9b2e648f0cacdb37e6995fd85371920ed8bcc7a28545c571d12da8e8b3d795
diff --git a/dev-python/pylint-venv/pylint-venv-3.0.2.ebuild b/dev-python/pylint-venv/pylint-venv-3.0.2.ebuild
deleted file mode 100644
index 02d3f783d513..000000000000
--- a/dev-python/pylint-venv/pylint-venv-3.0.2.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Init-hook to use the same Pylint with different virtual environments"
-HOMEPAGE="
- https://pypi.org/project/pylint-venv/
- https://github.com/jgosmann/pylint-venv/
-"
-SRC_URI="
- https://github.com/jgosmann/pylint-venv/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/pylint-2.14.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/pylint-2.14.0[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- # we need to set PYTHONPATH explicitly since the test runs installed
- # pylint (i.e. starts outside the test venv)
- local -x PYTHONPATH=${S}:${PYTHONPATH}
- bash test/test.sh || die "Test failed with ${EPYTHON}"
-}
diff --git a/dev-python/pylint/Manifest b/dev-python/pylint/Manifest
index c6fa62731e57..a300c7086894 100644
--- a/dev-python/pylint/Manifest
+++ b/dev-python/pylint/Manifest
@@ -1 +1,2 @@
-DIST pylint-3.0.2.gh.tar.gz 1420866 BLAKE2B 2679810940ee5b4a4dcde5a4a3d70052901d6ca8dfd025708fdfe3fadffc7713d3507eaea9a67a2fc0748478e8b6e2c2e66e487bf93749fcd9fea7d070197b16 SHA512 923fab3681aa266aa633cc122cd2076dc73588191ed116da0e83d9d0cff253c93634dd420d32b5ea780c25a8e9ff526d8393d4eae2e046a2ff82df3f5f9322a4
+DIST pylint-3.2.5.gh.tar.gz 1446535 BLAKE2B fdc88c7873868b1cb689158d014c51a14be9200715ad2f870cc7f8703e1e29881d04092c5e49fd043d54b31258b25d0c0f40cb81cd50c0603835a67197b29d85 SHA512 bba78776ae2610456ecfecffd9571712c13c38006de19d569aaf11bdeee978e1ad33b09ce64288fb2ebccd76d76a788a8db39209cf3f9963d8a38a43605bcbaa
+DIST pylint-3.2.6.gh.tar.gz 1447684 BLAKE2B 22ec600b327b405dfdd7a9ffe94b20faeed6cca92dbfff8e96baa6bebe5c049b90da55f16e84e53d4a22fdbcb5a8caf7719038935522235ccf3364fe2492c16c SHA512 ba7e87f3eaca088b88cec35ae8d1dbd15ec2167a615638b1fe7c1abb711d54742e5fb2d2c9c2836294c464b98ec32d53efaf5afb170d4cb73dacf966dddca62c
diff --git a/dev-python/pylint/pylint-3.0.2.ebuild b/dev-python/pylint/pylint-3.0.2.ebuild
deleted file mode 100644
index 45c911979549..000000000000
--- a/dev-python/pylint/pylint-3.0.2.ebuild
+++ /dev/null
@@ -1,94 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1
-
-MY_P=${P/_beta/b}
-DESCRIPTION="Python code static checker"
-HOMEPAGE="
- https://pypi.org/project/pylint/
- https://github.com/pylint-dev/pylint/
-"
-SRC_URI="
- https://github.com/pylint-dev/pylint/archive/v${PV/_beta/b}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="examples"
-
-# Make sure to check https://github.com/pylint-dev/pylint/blob/main/pyproject.toml#L34 on bumps
-# Adjust dep bounds!
-RDEPEND="
- <dev-python/astroid-3.1[${PYTHON_USEDEP}]
- >=dev-python/astroid-3.0.1[${PYTHON_USEDEP}]
- >=dev-python/dill-0.3.7[${PYTHON_USEDEP}]
- >=dev-python/isort-4.2.5[${PYTHON_USEDEP}]
- <dev-python/isort-6[${PYTHON_USEDEP}]
- >=dev-python/mccabe-0.6[${PYTHON_USEDEP}]
- <dev-python/mccabe-0.8[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/tomlkit-0.10.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- >=dev-python/GitPython-3[${PYTHON_USEDEP}]
- ' 'python*' )
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- 'tests/test_functional.py::test_functional[dataclass_with_field]'
-
- # incompatible versions of numpy/scikit-learn?
- 'tests/test_functional.py::test_functional[no_name_in_module]'
- 'tests/test_functional.py::test_functional[shadowed_import]'
- )
- local EPYTEST_IGNORE=(
- # No need to run the benchmarks
- tests/benchmark/test_baseline_benchmarks.py
- )
-
- if [[ ${EPYTHON} == pypy3 ]]; then
- # Requires GitPython
- EPYTEST_IGNORE+=(
- tests/profile/test_profile_against_externals.py
- tests/testutils/_primer/test_package_to_lint.py
- tests/testutils/_primer/test_primer.py
- )
- fi
-
- rm -rf pylint || die
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p timeout
-}
-
-python_install_all() {
- if use examples ; then
- docompress -x "/usr/share/doc/${PF}/examples"
- docinto examples
- dodoc -r examples/.
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pylint/pylint-3.2.5.ebuild b/dev-python/pylint/pylint-3.2.5.ebuild
new file mode 100644
index 000000000000..631d265238d7
--- /dev/null
+++ b/dev-python/pylint/pylint-3.2.5.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+MY_P=${P/_beta/b}
+DESCRIPTION="Python code static checker"
+HOMEPAGE="
+ https://pypi.org/project/pylint/
+ https://github.com/pylint-dev/pylint/
+"
+SRC_URI="
+ https://github.com/pylint-dev/pylint/archive/v${PV/_beta/b}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="examples"
+
+RDEPEND="
+ <dev-python/astroid-3.3[${PYTHON_USEDEP}]
+ >=dev-python/astroid-3.2.2[${PYTHON_USEDEP}]
+ >=dev-python/dill-0.3.7[${PYTHON_USEDEP}]
+ >=dev-python/isort-4.2.5[${PYTHON_USEDEP}]
+ <dev-python/isort-6[${PYTHON_USEDEP}]
+ >=dev-python/mccabe-0.6[${PYTHON_USEDEP}]
+ <dev-python/mccabe-0.8[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.10.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/GitPython-3[${PYTHON_USEDEP}]
+ ' 'python*' )
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ 'tests/test_functional.py::test_functional[dataclass_with_field]'
+ 'tests/test_functional.py::test_functional[no_name_in_module]'
+ 'tests/test_functional.py::test_functional[recursion_error_3159]'
+ 'tests/test_functional.py::test_functional[shadowed_import]'
+ 'tests/test_functional.py::test_functional[use_yield_from]'
+ 'tests/test_functional.py::test_functional[wrong_import_order]'
+ )
+ local EPYTEST_IGNORE=(
+ # No need to run the benchmarks
+ tests/benchmark/test_baseline_benchmarks.py
+ )
+
+ if ! has_version "dev-python/GitPython[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/profile/test_profile_against_externals.py
+ tests/testutils/_primer/test_package_to_lint.py
+ tests/testutils/_primer/test_primer.py
+ )
+ fi
+
+ rm -rf pylint || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p timeout
+}
+
+python_install_all() {
+ if use examples ; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ docinto examples
+ dodoc -r examples/.
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pylint/pylint-3.2.6.ebuild b/dev-python/pylint/pylint-3.2.6.ebuild
new file mode 100644
index 000000000000..0cd2ec935a5d
--- /dev/null
+++ b/dev-python/pylint/pylint-3.2.6.ebuild
@@ -0,0 +1,93 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+MY_P=${P/_beta/b}
+DESCRIPTION="Python code static checker"
+HOMEPAGE="
+ https://pypi.org/project/pylint/
+ https://github.com/pylint-dev/pylint/
+"
+SRC_URI="
+ https://github.com/pylint-dev/pylint/archive/v${PV/_beta/b}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="examples"
+
+RDEPEND="
+ <dev-python/astroid-3.3[${PYTHON_USEDEP}]
+ >=dev-python/astroid-3.2.4[${PYTHON_USEDEP}]
+ >=dev-python/dill-0.3.7[${PYTHON_USEDEP}]
+ >=dev-python/isort-4.2.5[${PYTHON_USEDEP}]
+ <dev-python/isort-6[${PYTHON_USEDEP}]
+ >=dev-python/mccabe-0.6[${PYTHON_USEDEP}]
+ <dev-python/mccabe-0.8[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tomlkit-0.10.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.1.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/GitPython-3[${PYTHON_USEDEP}]
+ ' 'python*' )
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ 'tests/test_functional.py::test_functional[dataclass_with_field]'
+ 'tests/test_functional.py::test_functional[no_name_in_module]'
+ 'tests/test_functional.py::test_functional[recursion_error_3159]'
+ 'tests/test_functional.py::test_functional[shadowed_import]'
+ 'tests/test_functional.py::test_functional[use_yield_from]'
+ 'tests/test_functional.py::test_functional[wrong_import_order]'
+ )
+ local EPYTEST_IGNORE=(
+ # No need to run the benchmarks
+ tests/benchmark/test_baseline_benchmarks.py
+ )
+
+ if ! has_version "dev-python/GitPython[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ tests/profile/test_profile_against_externals.py
+ tests/testutils/_primer/test_package_to_lint.py
+ tests/testutils/_primer/test_primer.py
+ )
+ fi
+
+ rm -rf pylint || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p timeout
+}
+
+python_install_all() {
+ if use examples ; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ docinto examples
+ dodoc -r examples/.
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pylru/pylru-1.2.1.ebuild b/dev-python/pylru/pylru-1.2.1.ebuild
index 4696f6ad1fb4..914d788a1cff 100644
--- a/dev-python/pylru/pylru-1.2.1.ebuild
+++ b/dev-python/pylru/pylru-1.2.1.ebuild
@@ -1,14 +1,18 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
+
inherit distutils-r1 pypi
DESCRIPTION="A least recently used (LRU) cache for Python"
-HOMEPAGE="https://github.com/jlhutch/pylru"
+HOMEPAGE="
+ https://github.com/jlhutch/pylru/
+ https://pypi.org/project/pylru/
+"
LICENSE="GPL-2"
SLOT="0"
diff --git a/dev-python/pyls-spyder/pyls-spyder-0.4.0-r2.ebuild b/dev-python/pyls-spyder/pyls-spyder-0.4.0-r2.ebuild
index 17be0d228f2f..1098dbd49097 100644
--- a/dev-python/pyls-spyder/pyls-spyder-0.4.0-r2.ebuild
+++ b/dev-python/pyls-spyder/pyls-spyder-0.4.0-r2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/pymacaroons/pymacaroons-0.13.0-r1.ebuild b/dev-python/pymacaroons/pymacaroons-0.13.0-r1.ebuild
index 1e49cf4cc1bc..cfc92a109a8d 100644
--- a/dev-python/pymacaroons/pymacaroons-0.13.0-r1.ebuild
+++ b/dev-python/pymacaroons/pymacaroons-0.13.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -22,7 +22,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ~ppc64"
RDEPEND="
dev-python/pynacl[${PYTHON_USEDEP}]
diff --git a/dev-python/pymad/pymad-0.11.3.ebuild b/dev-python/pymad/pymad-0.11.3.ebuild
index d63fa3c59289..09dcd6426966 100644
--- a/dev-python/pymad/pymad-0.11.3.ebuild
+++ b/dev-python/pymad/pymad-0.11.3.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
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pymdown-extensions/Manifest b/dev-python/pymdown-extensions/Manifest
index 255d4bb1fb98..0ec1dfae02da 100644
--- a/dev-python/pymdown-extensions/Manifest
+++ b/dev-python/pymdown-extensions/Manifest
@@ -1,2 +1 @@
-DIST pymdown_extensions-10.4.tar.gz 785151 BLAKE2B 90d49b16e3656262eb7a591e9cd53ebd1350aab8ed8522711c595169db078924d67e23a71c63001089744166f9ee2039622bd1b847facad64503a27a6b783104 SHA512 efcd958fce5d0445ecb9c7a844caa8306998647376cdb8c04d3bfcbff45f12f949230048a0fb9be50c59e814a445e38c1e57f749c5fe7f64f82f36853ef77cf0
-DIST pymdown_extensions-10.5.tar.gz 788318 BLAKE2B cf6834a848a0276d636b75df33c3ec0bcc0988a02b2d9d7d2086a0104a3f105e080fa2acaab36c010f997f351c89c61adb165152ee3b0467ee8a41da71603abf SHA512 f574fe45a8b8b30ad51e1f6b1a1ce60a65a10e560f9f5c6db6a487309acf2d65e28d79c7edad4f58192ddbda9546fd50e279e08efcbc1c2eb707de0a84696225
+DIST pymdown_extensions-10.8.1.tar.gz 812097 BLAKE2B 1f9d0c2eea87ae15320ac81289532518639464d4fbf8e84fc55d0e3e14b40629960c0518c602a721d29c542d278a9ada53521fa7db228eb92f7f5aaa618dc27d SHA512 3a63086753f662cafaa0e1226d21cf90c9427c409b28898d037a3ebb566806226455b1e9e6c2f2b36781df02dfb7110fe0fb9e6df3170030af75ba5a42661ffd
diff --git a/dev-python/pymdown-extensions/files/pymdown-extensions-10.8.1-test.patch b/dev-python/pymdown-extensions/files/pymdown-extensions-10.8.1-test.patch
new file mode 100644
index 000000000000..507494094b73
--- /dev/null
+++ b/dev-python/pymdown-extensions/files/pymdown-extensions-10.8.1-test.patch
@@ -0,0 +1,66 @@
+From 321d5d8c7fa5965cb4c933eae8371113d40f9932 Mon Sep 17 00:00:00 2001
+From: facelessuser <faceless.shop@gmail.com>
+Date: Sun, 5 May 2024 06:50:56 -0600
+Subject: [PATCH] Update tests to account for latest Ruff and Pygments updates
+
+- Fix warning in Ruff
+- Fix test expectations of Pygments lexer output
+
+Fixes #2378
+---
+ tests/test_extensions/test_highlight.py | 8 ++++----
+ tests/test_extensions/test_inlinehilite.py | 4 ++--
+ 3 files changed, 8 insertions(+), 8 deletions(-)
+
+diff --git a/tests/test_extensions/test_highlight.py b/tests/test_extensions/test_highlight.py
+index 2b020a8a2..4d4433c80 100644
+--- a/tests/test_extensions/test_highlight.py
++++ b/tests/test_extensions/test_highlight.py
+@@ -23,10 +23,10 @@ def test_guess(self):
+ ```
+ ''',
+ '''
+- <div class="highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">test</span>
++ <div class="highlight"><pre><span></span><code><span class="kn">import</span><span class="w"> </span><span class="nn">test</span>
+ <span class="n">test</span><span class="o">.</span><span class="n">test</span><span class="p">()</span>
+ </code></pre></div>
+- ''',
++ ''', # noqa: E501
+ True
+ )
+
+@@ -52,10 +52,10 @@ def test_guess_block(self):
+ ```
+ ''',
+ '''
+- <div class="highlight"><pre><span></span><code><span class="kn">import</span> <span class="nn">test</span>
++ <div class="highlight"><pre><span></span><code><span class="kn">import</span><span class="w"> </span><span class="nn">test</span>
+ <span class="n">test</span><span class="o">.</span><span class="n">test</span><span class="p">()</span>
+ </code></pre></div>
+- ''',
++ ''', # noqa: E501
+ True
+ )
+
+diff --git a/tests/test_extensions/test_inlinehilite.py b/tests/test_extensions/test_inlinehilite.py
+index 3cb853070..c82baa6dc 100644
+--- a/tests/test_extensions/test_inlinehilite.py
++++ b/tests/test_extensions/test_inlinehilite.py
+@@ -224,7 +224,7 @@ def test_guessing(self):
+
+ self.check_markdown(
+ r'`import module`.',
+- r'<p><code class="inlinehilite"><span class="kn">import</span> <span class="nn">module</span></code>.</p>'
++ r'<p><code class="inlinehilite"><span class="kn">import</span><span class="w"> </span><span class="nn">module</span></code>.</p>' # noqa: E501
+ )
+
+
+@@ -251,7 +251,7 @@ def test_guessing_inline(self):
+
+ self.check_markdown(
+ r'`import module`.',
+- r'<p><code class="inlinehilite"><span class="kn">import</span> <span class="nn">module</span></code>.</p>'
++ r'<p><code class="inlinehilite"><span class="kn">import</span><span class="w"> </span><span class="nn">module</span></code>.</p>' # noqa: E501
+ )
+
+ def test_no_guessing_block(self):
diff --git a/dev-python/pymdown-extensions/pymdown-extensions-10.4.ebuild b/dev-python/pymdown-extensions/pymdown-extensions-10.4.ebuild
deleted file mode 100644
index c043f8d7f5cf..000000000000
--- a/dev-python/pymdown-extensions/pymdown-extensions-10.4.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Extensions for Python Markdown"
-HOMEPAGE="
- https://github.com/facelessuser/pymdown-extensions/
- https://pypi.org/project/pymdown-extensions/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/markdown-3.2[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- >=dev-python/pygments-2.12.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pymdown-extensions/pymdown-extensions-10.5.ebuild b/dev-python/pymdown-extensions/pymdown-extensions-10.5.ebuild
deleted file mode 100644
index 6a8fb32958ef..000000000000
--- a/dev-python/pymdown-extensions/pymdown-extensions-10.5.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Extensions for Python Markdown"
-HOMEPAGE="
- https://github.com/facelessuser/pymdown-extensions/
- https://pypi.org/project/pymdown-extensions/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/markdown-3.5[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- >=dev-python/pygments-2.12.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pymdown-extensions/pymdown-extensions-10.8.1.ebuild b/dev-python/pymdown-extensions/pymdown-extensions-10.8.1.ebuild
new file mode 100644
index 000000000000..c37645c8c438
--- /dev/null
+++ b/dev-python/pymdown-extensions/pymdown-extensions-10.8.1.ebuild
@@ -0,0 +1,42 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Extensions for Python Markdown"
+HOMEPAGE="
+ https://github.com/facelessuser/pymdown-extensions/
+ https://pypi.org/project/pymdown-extensions/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/markdown-3.6[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/pygments-2.12.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/facelessuser/pymdown-extensions/pull/2379
+ "${FILESDIR}/${P}-test.patch"
+)
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/pymdown-lexers/metadata.xml b/dev-python/pymdown-lexers/metadata.xml
index eb270de1e032..8eb3537de6e8 100644
--- a/dev-python/pymdown-lexers/metadata.xml
+++ b/dev-python/pymdown-lexers/metadata.xml
@@ -1,18 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>lssndrbarbieri@gmail.com</email>
- <name>Alessandro Barbieri</name>
- </maintainer>
<maintainer type="person">
<email>andrewammerlaan@gentoo.org</email>
<name>Andrew Ammerlaan</name>
</maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<upstream>
<remote-id type="github">facelessuser/pymdown-lexers</remote-id>
</upstream>
diff --git a/dev-python/pymdstat/pymdstat-0.4.3.ebuild b/dev-python/pymdstat/pymdstat-0.4.3.ebuild
index b1bbeb972fb7..0b69ee216a1b 100644
--- a/dev-python/pymdstat/pymdstat-0.4.3.ebuild
+++ b/dev-python/pymdstat/pymdstat-0.4.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/pymetar/pymetar-1.4-r2.ebuild b/dev-python/pymetar/pymetar-1.4-r2.ebuild
index 489a3cef532e..a9b5fcb1debd 100644
--- a/dev-python/pymetar/pymetar-1.4-r2.ebuild
+++ b/dev-python/pymetar/pymetar-1.4-r2.ebuild
@@ -1,15 +1,19 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
DESCRIPTION="Downloads and decodes to the weather report for a given station ID"
-HOMEPAGE="https://www.schwarzvogel.de/software/pymetar/"
+HOMEPAGE="
+ https://www.schwarzvogel.de/software/pymetar/
+ https://github.com/klausman/pymetar/
+ https://pypi.org/project/pymetar/
+"
SRC_URI="https://www.schwarzvogel.de/pkgs/${P}.tar.gz"
LICENSE="GPL-2"
diff --git a/dev-python/pymilter/Manifest b/dev-python/pymilter/Manifest
deleted file mode 100644
index 723798ad62bd..000000000000
--- a/dev-python/pymilter/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pymilter-1.0.5.gh.tar.gz 1030610 BLAKE2B 7af714ca771ad9c90a0b20b386f0d46d25fc5cd213c43f7c1c6edc1a9300f7bda987f46fa9a9b8add68f020c33783648f9187c3b05a34a4c13ad8a4ae7206f39 SHA512 d6cd291f3be5402d6e4ab824deba940c6500d970b30c8d73b2fb1952eede4ac784033a7ae0b9a7307f18a3bfd52fc3f40fb0a9cce6cb94e724fce5cc3e8eb25e
diff --git a/dev-python/pymilter/metadata.xml b/dev-python/pymilter/metadata.xml
deleted file mode 100644
index 0271b53f28d6..000000000000
--- a/dev-python/pymilter/metadata.xml
+++ /dev/null
@@ -1,15 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <longdescription>
- A python extension module to enable python scripts to attach
- to sendmail’s libmilter functionality. Additional python
- modules provide for navigating and modifying MIME parts, and
- sending DSNs or doing CBVs.
- </longdescription>
- <upstream>
- <remote-id type="github">sdgathman/pymilter</remote-id>
- <remote-id type="pypi">pymilter</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pymilter/pymilter-1.0.5.ebuild b/dev-python/pymilter/pymilter-1.0.5.ebuild
deleted file mode 100644
index 460da7a2f1a7..000000000000
--- a/dev-python/pymilter/pymilter-1.0.5.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python interface to sendmail milter API"
-HOMEPAGE="https://github.com/sdgathman/pymilter"
-SRC_URI="https://github.com/sdgathman/${PN}/archive/${P}.tar.gz -> ${P}.gh.tar.gz"
-S="${WORKDIR}/${PN}-${P}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-RDEPEND="
- dev-python/bsddb3[${PYTHON_USEDEP}]
- mail-filter/libmilter:=
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- || (
- mail-mta/opensmtpd
- mail-mta/sendmail
- )
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/pymongo/Manifest b/dev-python/pymongo/Manifest
index 07cd73ac93eb..b3dd01f0d787 100644
--- a/dev-python/pymongo/Manifest
+++ b/dev-python/pymongo/Manifest
@@ -1,3 +1,2 @@
-DIST mongo-python-driver-4.5.0.gh.tar.gz 1481970 BLAKE2B fcb019042b6447093e1cfb9d66514954c31a26322060842b3c8e93d865f74db356004c6d7090d1a535d1ce523513cbd9e7935c7ee7655cdd47691d1b7ede97f0 SHA512 eb607f692c28daacef436e7649b3265465f8f785a68b29eda16b5ab5d926d0fa4737bcc6974f54778794dfd7fbcd95c30478867d6479ea45d412f2404cb2aa30
-DIST mongo-python-driver-4.6.0.gh.tar.gz 1493605 BLAKE2B 088e5d222d64b00f5849435dadf116e51d00bc89c1f25371972256a342df434f068103affc001635138d7a55f9a5d22152cc3b58ef5317e1e39607390c027eb8 SHA512 348dd08c4a64e1f65fd49961b97b3779aa505421359a1f22a2030c9e87248c50eb10fcf39039b10185808dfe693beee3a3c953d09657b3ccfc22875a377240bd
-DIST mongo-python-driver-4.6.1.gh.tar.gz 1493790 BLAKE2B dd59001536ed5d84553350fe8c93fa5082acd1af23ca2850cb2ba8d69e1e69e2ad250da9f62b4f86e6e9013434cd1d2ed38e44bda946ff5fe0ab74935668bbf1 SHA512 7a6fe18b409961b796dfd403dc100a898b282e0abfd9995f20541b7c5f0f2dbc047c25b45a2bb9ae229954d1cd804918dc4f7487f87e311863452bab41a19414
+DIST mongo-python-driver-4.7.2.gh.tar.gz 1548375 BLAKE2B a40dbe153f36cdf2836583aa0116f447d08376ce7980a09d0f21cea37a34ab318e5ff0b34b7fe1721cf7fc5d5443a1dbe0982d59cb941b0da8a4a99abdc7b19d SHA512 1de8bd14301e365eb53252dedaaaf8c9056dd534662543e2a500511e5f5f67a69e1f11a8a8575efdbd8852bb47b632d59762f66024d32973d20dc17c4448b9be
+DIST mongo-python-driver-4.8.0.gh.tar.gz 1550149 BLAKE2B 9462480b17f3da54918883fbcb28a4324e6a00a9c2c34b16267ebcd378170f7fd34ec7290f7a0e3c4c38a5f1f803428cb6a0c64a562d956b3a19c37130697012 SHA512 17513a278187424fea1876d288651e385be759f23eebceca8d04a15182b15ffd64956193bb53e4a90e8b2197c2ebbade274737091f5d2e5fb4398539674c41df
diff --git a/dev-python/pymongo/pymongo-4.5.0.ebuild b/dev-python/pymongo/pymongo-4.5.0.ebuild
deleted file mode 100644
index 15a7a463670b..000000000000
--- a/dev-python/pymongo/pymongo-4.5.0.ebuild
+++ /dev/null
@@ -1,152 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit check-reqs distutils-r1
-
-MY_P=mongo-python-driver-${PV}
-DESCRIPTION="Python driver for MongoDB"
-HOMEPAGE="
- https://github.com/mongodb/mongo-python-driver/
- https://pypi.org/project/pymongo/
-"
-SRC_URI="
- https://github.com/mongodb/mongo-python-driver/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
-IUSE="doc kerberos +native-extensions +test-full"
-
-RDEPEND="
- <dev-python/dnspython-3.0.0[${PYTHON_USEDEP}]
- kerberos? ( dev-python/kerberos[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- test-full? (
- >=dev-db/mongodb-2.6.0
- )
- )
-"
-
-distutils_enable_sphinx doc
-distutils_enable_tests pytest
-
-reqcheck() {
- if use test && use test-full; then
- # During the tests, database size reaches 1.5G.
- local CHECKREQS_DISK_BUILD=1536M
-
- check-reqs_${1}
- fi
-}
-
-pkg_pretend() {
- reqcheck pkg_pretend
-}
-
-pkg_setup() {
- reqcheck pkg_setup
-}
-
-python_compile() {
- # causes build errors to be fatal
- local -x TOX_ENV_NAME=whatever
- local DISTUTILS_ARGS=()
- # unconditionally implicitly disabled on pypy3
- if ! use native-extensions; then
- DISTUTILS_ARGS+=( --no_ext )
- fi
-
- distutils-r1_python_compile
-}
-
-python_test() {
- rm -rf bson pymongo || die
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local EPYTEST_DESELECT=(
- # network-sandbox
- test/test_client.py::ClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
- test/test_client.py::TestClient::test_service_name_from_kwargs
- test/test_client.py::TestClient::test_srv_max_hosts_kwarg
- test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive
- test/test_srv_polling.py
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet
-
- # broken regularly by changes in mypy
- test/test_typing.py::TestMypyFails::test_mypy_failures
- )
-
- if ! use test-full; then
- # .invalid is guaranteed to return NXDOMAIN per RFC 6761
- local -x DB_IP=mongodb.invalid
- epytest
- return
- fi
-
- # Yes, we need TCP/IP for that...
- local -x DB_IP=127.0.0.1
- local -x DB_PORT=27000
-
- local dbpath=${TMPDIR}/mongo.db
- local logpath=${TMPDIR}/mongod.log
-
- # Now, the hard part: we need to find a free port for mongod.
- # We're just trying to run it random port numbers and check the log
- # for bind errors. It shall be noted that 'mongod --fork' does not
- # return failure when it fails to bind.
-
- mkdir -p "${dbpath}" || die
- while true; do
- ebegin "Trying to start mongod on port ${DB_PORT}"
-
- LC_ALL=C \
- mongod --dbpath "${dbpath}" --nojournal \
- --bind_ip ${DB_IP} --port ${DB_PORT} \
- --unixSocketPrefix "${TMPDIR}" \
- --logpath "${logpath}" --fork \
- && sleep 2
-
- # Now we need to check if the server actually started...
- if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
- # yay!
- eend 0
- break
- elif grep -q 'Address already in use' "${logpath}"; then
- # ay, someone took our port!
- eend 1
- : $(( DB_PORT += 1 ))
- continue
- else
- eend 1
- eerror "Unable to start mongod for tests. See the server log:"
- eerror " ${logpath}"
- die "Unable to start mongod for tests."
- fi
- done
-
- local failed
- nonfatal epytest || failed=1
-
- mongod --dbpath "${dbpath}" --shutdown || die
-
- [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
-
- rm -rf "${dbpath}" || die
-}
diff --git a/dev-python/pymongo/pymongo-4.6.0.ebuild b/dev-python/pymongo/pymongo-4.6.0.ebuild
deleted file mode 100644
index 47dd63dcd6af..000000000000
--- a/dev-python/pymongo/pymongo-4.6.0.ebuild
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit check-reqs distutils-r1
-
-MY_P=mongo-python-driver-${PV}
-DESCRIPTION="Python driver for MongoDB"
-HOMEPAGE="
- https://github.com/mongodb/mongo-python-driver/
- https://pypi.org/project/pymongo/
-"
-SRC_URI="
- https://github.com/mongodb/mongo-python-driver/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="doc kerberos +native-extensions +test-full"
-
-RDEPEND="
- <dev-python/dnspython-3.0.0[${PYTHON_USEDEP}]
- kerberos? ( dev-python/kerberos[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- test-full? (
- >=dev-db/mongodb-2.6.0
- )
- )
-"
-
-distutils_enable_sphinx doc
-distutils_enable_tests pytest
-
-reqcheck() {
- if use test && use test-full; then
- # During the tests, database size reaches 1.5G.
- local CHECKREQS_DISK_BUILD=1536M
-
- check-reqs_${1}
- fi
-}
-
-pkg_pretend() {
- reqcheck pkg_pretend
-}
-
-pkg_setup() {
- reqcheck pkg_setup
-}
-
-python_compile() {
- # causes build errors to be fatal
- local -x TOX_ENV_NAME=whatever
- local DISTUTILS_ARGS=()
- # unconditionally implicitly disabled on pypy3
- if ! use native-extensions; then
- DISTUTILS_ARGS+=( --no_ext )
- else
- export PYMONGO_C_EXT_MUST_BUILD=1
- fi
-
- distutils-r1_python_compile
-}
-
-python_test() {
- rm -rf bson pymongo || die
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local EPYTEST_DESELECT=(
- # network-sandbox
- test/test_client.py::ClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
- test/test_client.py::TestClient::test_service_name_from_kwargs
- test/test_client.py::TestClient::test_srv_max_hosts_kwarg
- test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive
- test/test_srv_polling.py
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet
-
- # broken regularly by changes in mypy
- test/test_typing.py::TestMypyFails::test_mypy_failures
- )
-
- if ! use test-full; then
- # .invalid is guaranteed to return NXDOMAIN per RFC 6761
- local -x DB_IP=mongodb.invalid
- epytest
- return
- fi
-
- # Yes, we need TCP/IP for that...
- local -x DB_IP=127.0.0.1
- local -x DB_PORT=27000
-
- local dbpath=${TMPDIR}/mongo.db
- local logpath=${TMPDIR}/mongod.log
-
- # Now, the hard part: we need to find a free port for mongod.
- # We're just trying to run it random port numbers and check the log
- # for bind errors. It shall be noted that 'mongod --fork' does not
- # return failure when it fails to bind.
-
- mkdir -p "${dbpath}" || die
- while true; do
- ebegin "Trying to start mongod on port ${DB_PORT}"
-
- LC_ALL=C \
- mongod --dbpath "${dbpath}" --nojournal \
- --bind_ip ${DB_IP} --port ${DB_PORT} \
- --unixSocketPrefix "${TMPDIR}" \
- --logpath "${logpath}" --fork \
- && sleep 2
-
- # Now we need to check if the server actually started...
- if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
- # yay!
- eend 0
- break
- elif grep -q 'Address already in use' "${logpath}"; then
- # ay, someone took our port!
- eend 1
- : $(( DB_PORT += 1 ))
- continue
- else
- eend 1
- eerror "Unable to start mongod for tests. See the server log:"
- eerror " ${logpath}"
- die "Unable to start mongod for tests."
- fi
- done
-
- local failed
- nonfatal epytest || failed=1
-
- mongod --dbpath "${dbpath}" --shutdown || die
-
- [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
-
- rm -rf "${dbpath}" || die
-}
diff --git a/dev-python/pymongo/pymongo-4.6.1.ebuild b/dev-python/pymongo/pymongo-4.6.1.ebuild
deleted file mode 100644
index 47dd63dcd6af..000000000000
--- a/dev-python/pymongo/pymongo-4.6.1.ebuild
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit check-reqs distutils-r1
-
-MY_P=mongo-python-driver-${PV}
-DESCRIPTION="Python driver for MongoDB"
-HOMEPAGE="
- https://github.com/mongodb/mongo-python-driver/
- https://pypi.org/project/pymongo/
-"
-SRC_URI="
- https://github.com/mongodb/mongo-python-driver/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-IUSE="doc kerberos +native-extensions +test-full"
-
-RDEPEND="
- <dev-python/dnspython-3.0.0[${PYTHON_USEDEP}]
- kerberos? ( dev-python/kerberos[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- test-full? (
- >=dev-db/mongodb-2.6.0
- )
- )
-"
-
-distutils_enable_sphinx doc
-distutils_enable_tests pytest
-
-reqcheck() {
- if use test && use test-full; then
- # During the tests, database size reaches 1.5G.
- local CHECKREQS_DISK_BUILD=1536M
-
- check-reqs_${1}
- fi
-}
-
-pkg_pretend() {
- reqcheck pkg_pretend
-}
-
-pkg_setup() {
- reqcheck pkg_setup
-}
-
-python_compile() {
- # causes build errors to be fatal
- local -x TOX_ENV_NAME=whatever
- local DISTUTILS_ARGS=()
- # unconditionally implicitly disabled on pypy3
- if ! use native-extensions; then
- DISTUTILS_ARGS+=( --no_ext )
- else
- export PYMONGO_C_EXT_MUST_BUILD=1
- fi
-
- distutils-r1_python_compile
-}
-
-python_test() {
- rm -rf bson pymongo || die
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local EPYTEST_DESELECT=(
- # network-sandbox
- test/test_client.py::ClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
- test/test_client.py::TestClient::test_service_name_from_kwargs
- test/test_client.py::TestClient::test_srv_max_hosts_kwarg
- test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive
- test/test_srv_polling.py
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true
- test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet
-
- # broken regularly by changes in mypy
- test/test_typing.py::TestMypyFails::test_mypy_failures
- )
-
- if ! use test-full; then
- # .invalid is guaranteed to return NXDOMAIN per RFC 6761
- local -x DB_IP=mongodb.invalid
- epytest
- return
- fi
-
- # Yes, we need TCP/IP for that...
- local -x DB_IP=127.0.0.1
- local -x DB_PORT=27000
-
- local dbpath=${TMPDIR}/mongo.db
- local logpath=${TMPDIR}/mongod.log
-
- # Now, the hard part: we need to find a free port for mongod.
- # We're just trying to run it random port numbers and check the log
- # for bind errors. It shall be noted that 'mongod --fork' does not
- # return failure when it fails to bind.
-
- mkdir -p "${dbpath}" || die
- while true; do
- ebegin "Trying to start mongod on port ${DB_PORT}"
-
- LC_ALL=C \
- mongod --dbpath "${dbpath}" --nojournal \
- --bind_ip ${DB_IP} --port ${DB_PORT} \
- --unixSocketPrefix "${TMPDIR}" \
- --logpath "${logpath}" --fork \
- && sleep 2
-
- # Now we need to check if the server actually started...
- if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
- # yay!
- eend 0
- break
- elif grep -q 'Address already in use' "${logpath}"; then
- # ay, someone took our port!
- eend 1
- : $(( DB_PORT += 1 ))
- continue
- else
- eend 1
- eerror "Unable to start mongod for tests. See the server log:"
- eerror " ${logpath}"
- die "Unable to start mongod for tests."
- fi
- done
-
- local failed
- nonfatal epytest || failed=1
-
- mongod --dbpath "${dbpath}" --shutdown || die
-
- [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
-
- rm -rf "${dbpath}" || die
-}
diff --git a/dev-python/pymongo/pymongo-4.7.2.ebuild b/dev-python/pymongo/pymongo-4.7.2.ebuild
new file mode 100644
index 000000000000..4977d22bf9a4
--- /dev/null
+++ b/dev-python/pymongo/pymongo-4.7.2.ebuild
@@ -0,0 +1,180 @@
+# 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..13} )
+
+inherit check-reqs distutils-r1
+
+MY_P=mongo-python-driver-${PV}
+DESCRIPTION="Python driver for MongoDB"
+HOMEPAGE="
+ https://github.com/mongodb/mongo-python-driver/
+ https://pypi.org/project/pymongo/
+"
+SRC_URI="
+ https://github.com/mongodb/mongo-python-driver/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="doc kerberos +native-extensions +test-full"
+
+RDEPEND="
+ <dev-python/dnspython-3.0.0[${PYTHON_USEDEP}]
+ kerberos? ( dev-python/kerberos[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ test-full? (
+ >=dev-db/mongodb-2.6.0
+ )
+ )
+"
+
+distutils_enable_sphinx doc
+distutils_enable_tests pytest
+
+reqcheck() {
+ if use test && use test-full; then
+ # During the tests, database size reaches 1.5G.
+ local CHECKREQS_DISK_BUILD=1536M
+
+ check-reqs_${1}
+ fi
+}
+
+pkg_pretend() {
+ reqcheck pkg_pretend
+}
+
+pkg_setup() {
+ reqcheck pkg_setup
+}
+
+python_compile() {
+ # causes build errors to be fatal
+ local -x TOX_ENV_NAME=whatever
+ local DISTUTILS_ARGS=()
+ # unconditionally implicitly disabled on pypy3
+ if ! use native-extensions; then
+ DISTUTILS_ARGS+=( --no_ext )
+ else
+ export PYMONGO_C_EXT_MUST_BUILD=1
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ rm -rf bson pymongo || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_DESELECT=(
+ # network-sandbox
+ test/test_client.py::ClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
+ test/test_client.py::ClientUnitTest::test_detected_environment_logging
+ test/test_client.py::ClientUnitTest::test_detected_environment_warning
+ test/test_client.py::TestClient::test_service_name_from_kwargs
+ test/test_client.py::TestClient::test_srv_max_hosts_kwarg
+ test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive
+ test/test_srv_polling.py
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet
+
+ # broken regularly by changes in mypy
+ test/test_typing.py::TestMypyFails::test_mypy_failures
+
+ # fragile to timing? fails because we're getting too many logs
+ test/test_connection_logging.py::TestConnectionLoggingConnectionPoolOptions::test_maxConnecting_should_be_included_in_connection_pool_created_message_when_specified
+ )
+ local run_separately=(
+ # need to run some tests separately and then restart mongodb
+ # to prevent it from crashing
+ # https://bugs.gentoo.org/934389
+ # note that this list must not overlap with EPYTEST_DESELECT
+ test/test_change_stream.py
+ test/test_collation.py
+ test/test_database.py
+ test/test_gridfs.py
+ test/test_gridfs_bucket.py
+ )
+
+ if ! use test-full; then
+ # .invalid is guaranteed to return NXDOMAIN per RFC 6761
+ local -x DB_IP=mongodb.invalid
+ epytest
+ return
+ fi
+
+ # Yes, we need TCP/IP for that...
+ local -x DB_IP=127.0.0.1
+ local -x DB_PORT=27000
+
+ local dbpath=${TMPDIR}/mongo.db
+ local logpath=${TMPDIR}/mongod.log
+
+ local stage failed=
+ for stage in 1 2; do
+ # Now, the hard part: we need to find a free port for mongod.
+ # We're just trying to run it random port numbers and check the log
+ # for bind errors. It shall be noted that 'mongod --fork' does not
+ # return failure when it fails to bind.
+
+ mkdir -p "${dbpath}" || die
+ while true; do
+ ebegin "Trying to start mongod on port ${DB_PORT}"
+
+ LC_ALL=C \
+ mongod --dbpath "${dbpath}" --nojournal \
+ --bind_ip ${DB_IP} --port ${DB_PORT} \
+ --unixSocketPrefix "${TMPDIR}" \
+ --logpath "${logpath}" --fork \
+ && sleep 2
+
+ # Now we need to check if the server actually started...
+ if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
+ # yay!
+ eend 0
+ break
+ elif grep -q 'Address already in use' "${logpath}"; then
+ # ay, someone took our port!
+ eend 1
+ : $(( DB_PORT += 1 ))
+ continue
+ else
+ eend 1
+ eerror "Unable to start mongod for tests. See the server log:"
+ eerror " ${logpath}"
+ die "Unable to start mongod for tests."
+ fi
+ done
+
+ case ${stage} in
+ 1)
+ nonfatal epytest "${run_separately[@]}" || failed=1
+ ;;
+ 2)
+ EPYTEST_DESELECT+=( "${run_separately[@]}" )
+ nonfatal epytest || failed=1
+ ;;
+ esac
+
+ mongod --dbpath "${dbpath}" --shutdown || die
+ done
+
+ [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
+
+ rm -rf "${dbpath}" || die
+}
diff --git a/dev-python/pymongo/pymongo-4.8.0.ebuild b/dev-python/pymongo/pymongo-4.8.0.ebuild
new file mode 100644
index 000000000000..fed0a4c95185
--- /dev/null
+++ b/dev-python/pymongo/pymongo-4.8.0.ebuild
@@ -0,0 +1,205 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit check-reqs distutils-r1
+
+MY_P=mongo-python-driver-${PV}
+DESCRIPTION="Python driver for MongoDB"
+HOMEPAGE="
+ https://github.com/mongodb/mongo-python-driver/
+ https://pypi.org/project/pymongo/
+"
+SRC_URI="
+ https://github.com/mongodb/mongo-python-driver/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="doc kerberos +native-extensions +test-full"
+
+RDEPEND="
+ <dev-python/dnspython-3.0.0[${PYTHON_USEDEP}]
+ kerberos? ( dev-python/kerberos[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ test-full? (
+ >=dev-db/mongodb-2.6.0
+ )
+ )
+"
+
+distutils_enable_sphinx doc
+distutils_enable_tests pytest
+
+reqcheck() {
+ if use test && use test-full; then
+ # During the tests, database size reaches 1.5G.
+ local CHECKREQS_DISK_BUILD=1536M
+
+ check-reqs_${1}
+ fi
+}
+
+pkg_pretend() {
+ reqcheck pkg_pretend
+}
+
+pkg_setup() {
+ reqcheck pkg_setup
+}
+
+src_prepare() {
+ distutils-r1_src_prepare
+ # we do not want hatch-requirements-txt and its ton of NIH deps
+ sed -i -e '/requirements/d' pyproject.toml || die
+}
+
+python_compile() {
+ # causes build errors to be fatal
+ local -x TOX_ENV_NAME=whatever
+ local DISTUTILS_ARGS=()
+ # unconditionally implicitly disabled on pypy3
+ if ! use native-extensions; then
+ export NO_EXT=1
+ else
+ export PYMONGO_C_EXT_MUST_BUILD=1
+ unset NO_EXT
+ fi
+
+ distutils-r1_python_compile
+}
+
+python_test() {
+ rm -rf bson pymongo || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_DESELECT=(
+ # network-sandbox
+ test/test_client.py::ClientUnitTest::test_connection_timeout_ms_propagates_to_DNS_resolver
+ test/test_client.py::ClientUnitTest::test_detected_environment_logging
+ test/test_client.py::ClientUnitTest::test_detected_environment_warning
+ test/test_client.py::TestClient::test_service_name_from_kwargs
+ test/test_client.py::TestClient::test_srv_max_hosts_kwarg
+ test/test_dns.py::TestCaseInsensitive::test_connect_case_insensitive
+ test/test_srv_polling.py
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_custom_srvServiceName
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_invalid_type_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_negative_integer_for_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_positive_srvMaxHosts_and_loadBalanced=fa
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_loadBalanced=true
+ test/test_uri_spec.py::TestAllScenarios::test_test_uri_options_srv-options_SRV_URI_with_srvMaxHosts=0_and_replicaSet
+
+ # broken regularly by changes in mypy
+ test/test_typing.py::TestMypyFails::test_mypy_failures
+
+ # fragile to timing? fails because we're getting too many logs
+ test/test_connection_logging.py::TestConnectionLoggingConnectionPoolOptions::test_maxConnecting_should_be_included_in_connection_pool_created_message_when_specified
+ )
+ local run_separately=(
+ # need to run some tests separately and then restart mongodb
+ # to prevent it from crashing
+ # https://bugs.gentoo.org/934389
+ # note that this list must not overlap with EPYTEST_DESELECT
+ test/test_bulk.py
+ test/test_change_stream.py
+ test/test_collection.py
+ test/test_crud_unified.py
+ test/test_gridfs.py
+ test/test_gridfs_bucket.py
+ test/test_gridfs_spec.py
+ )
+ local run_separately2=(
+ # sigh
+ test/test_command_monitoring.py
+ test/test_connection_monitoring.py
+ test/test_cursor.py
+ test/test_database.py
+ test/test_grid_file.py
+ test/test_monitoring.py
+ )
+
+ if ! use test-full; then
+ # .invalid is guaranteed to return NXDOMAIN per RFC 6761
+ local -x DB_IP=mongodb.invalid
+ epytest
+ return
+ fi
+
+ # Yes, we need TCP/IP for that...
+ local -x DB_IP=127.0.0.1
+ local -x DB_PORT=27000
+
+ local dbpath=${TMPDIR}/mongo.db
+ local logpath=${TMPDIR}/mongod.log
+
+ local stage failed=
+ for stage in 1 2 3; do
+ # Now, the hard part: we need to find a free port for mongod.
+ # We're just trying to run it random port numbers and check the log
+ # for bind errors. It shall be noted that 'mongod --fork' does not
+ # return failure when it fails to bind.
+
+ mkdir -p "${dbpath}" || die
+ while true; do
+ ebegin "Trying to start mongod on port ${DB_PORT}"
+
+ LC_ALL=C \
+ mongod --dbpath "${dbpath}" --nojournal \
+ --bind_ip ${DB_IP} --port ${DB_PORT} \
+ --unixSocketPrefix "${TMPDIR}" \
+ --logpath "${logpath}" --fork \
+ && sleep 2
+
+ # Now we need to check if the server actually started...
+ if [[ ${?} -eq 0 && -S "${TMPDIR}"/mongodb-${DB_PORT}.sock ]]; then
+ # yay!
+ eend 0
+ break
+ elif grep -q 'Address already in use' "${logpath}"; then
+ # ay, someone took our port!
+ eend 1
+ : $(( DB_PORT += 1 ))
+ continue
+ else
+ eend 1
+ eerror "Unable to start mongod for tests. See the server log:"
+ eerror " ${logpath}"
+ die "Unable to start mongod for tests."
+ fi
+ done
+
+ case ${stage} in
+ 1)
+ nonfatal epytest "${run_separately[@]}" || failed=1
+ ;;
+ 2)
+ nonfatal epytest "${run_separately2[@]}" || failed=1
+ ;;
+ 3)
+ EPYTEST_DESELECT+=(
+ "${run_separately[@]}"
+ "${run_separately2[@]}"
+ )
+ nonfatal epytest || failed=1
+ ;;
+ esac
+
+ mongod --dbpath "${dbpath}" --shutdown || die
+ done
+
+ [[ ${failed} ]] && die "Tests fail with ${EPYTHON}"
+
+ rm -rf "${dbpath}" || die
+}
diff --git a/dev-python/pymountboot/pymountboot-0.2.3-r1.ebuild b/dev-python/pymountboot/pymountboot-0.2.3-r1.ebuild
index 54939be1d082..470b4e018e5b 100644
--- a/dev-python/pymountboot/pymountboot-0.2.3-r1.ebuild
+++ b/dev-python/pymountboot/pymountboot-0.2.3-r1.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
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -18,7 +18,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~riscv ~sparc x86"
DEPEND="
>=sys-apps/util-linux-2.20
diff --git a/dev-python/pymountboot/pymountboot-0.2.3-r2.ebuild b/dev-python/pymountboot/pymountboot-0.2.3-r2.ebuild
new file mode 100644
index 000000000000..4a3878588fe1
--- /dev/null
+++ b/dev-python/pymountboot/pymountboot-0.2.3-r2.ebuild
@@ -0,0 +1,33 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python extension module to (re)mount /boot"
+HOMEPAGE="https://github.com/projg2/pymountboot/"
+SRC_URI="
+ https://github.com/projg2/pymountboot/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~riscv ~sparc ~x86"
+
+DEPEND="
+ >=sys-apps/util-linux-2.20
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ virtual/pkgconfig
+"
+
+distutils_enable_tests import-check
diff --git a/dev-python/pymysql/Manifest b/dev-python/pymysql/Manifest
index 2eb07e8831f4..8510d82ebad3 100644
--- a/dev-python/pymysql/Manifest
+++ b/dev-python/pymysql/Manifest
@@ -1 +1 @@
-DIST PyMySQL-1.1.0.gh.tar.gz 90416 BLAKE2B b1f5d38edc1ec93ddbf9f841b3db6bddb8db13bd7a6100de2104f08152e2ce7813f6ea2d09c4bc301a6b83fb3eeb3e4ce0c3b4faf42cec25b5c157ea71d719a1 SHA512 c5b2cc1716707013d06146f22ff6e36ae1e54deb8864226a65c5325bafd476d7c53076ceb5cb35815c1baeb8e0ba8d03230366662f4abc0a304e849d8cb40d34
+DIST PyMySQL-1.1.1.gh.tar.gz 89986 BLAKE2B 0621a0cdf014418b7eaa7241146a370f91a3163ea9c0f2b5121f979580ae7f960a47aa13c12597c8d2c2ba3c9264914e40a21a96d6473e8ba2d053478a56cf05 SHA512 ef46ab189760b2d68bb7582b20a537bc68c2719241a4939bff9a6311ab64cb2df852d437ab4b8dd41a0fb5ff620a78c67aa96ccd037d44899dc2886d16218e2c
diff --git a/dev-python/pymysql/metadata.xml b/dev-python/pymysql/metadata.xml
index 05ad55beaee1..03cfa4895aca 100644
--- a/dev-python/pymysql/metadata.xml
+++ b/dev-python/pymysql/metadata.xml
@@ -12,6 +12,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="github">PyMySQL/PyMySQL</remote-id>
- <remote-id type="pypi">pymysql</remote-id>
+ <remote-id type="pypi">PyMySQL</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pymysql/pymysql-1.1.0.ebuild b/dev-python/pymysql/pymysql-1.1.0.ebuild
deleted file mode 100644
index 78327ee2fc28..000000000000
--- a/dev-python/pymysql/pymysql-1.1.0.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-MY_P="PyMySQL-${PV}"
-DESCRIPTION="Pure-Python MySQL Driver"
-HOMEPAGE="
- https://github.com/PyMySQL/PyMySQL/
- https://pypi.org/project/pymysql/
-"
-SRC_URI="
- https://github.com/PyMySQL/PyMySQL/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-# TODO: support other mysql variants
-BDEPEND="
- test? (
- dev-db/mariadb[server]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # Auth tests don't support socket auth
- find tests/ -name '*_auth.py' -delete || die
-
- distutils-r1_src_prepare
-}
-
-src_test() {
- local -x USER=$(whoami)
- local -x PATH="${BROOT}/usr/share/mariadb/scripts:${PATH}"
-
- einfo "Creating mysql test instance ..."
- mkdir -p "${T}"/mysql || die
- mysql_install_db \
- --no-defaults \
- --auth-root-authentication-method=normal \
- --basedir="${EPREFIX}/usr" \
- --datadir="${T}"/mysql 1>"${T}"/mysqld_install.log || die
-
- einfo "Starting mysql test instance ..."
- # TODO: random port
- mysqld \
- --no-defaults \
- --character-set-server=utf8 \
- --bind-address=127.0.0.1 \
- --port=43306 \
- --pid-file="${T}"/mysqld.pid \
- --socket="${T}"/mysqld.sock \
- --datadir="${T}"/mysql 1>"${T}"/mysqld.log 2>&1 &
-
- # wait for it to start
- local i
- for (( i = 0; i < 10; i++ )); do
- [[ -S ${T}/mysqld.sock ]] && break
- sleep 1
- done
- [[ ! -S ${T}/mysqld.sock ]] && die "mysqld failed to start"
-
- einfo "Configuring test mysql instance ..."
-
- # note: ed25519 was removed since it fails -- upstream README indicates
- # it can fail if we used a different server version
- mysql -uroot --socket="${T}"/mysqld.sock -s -e '
- CREATE DATABASe test1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
- CREATE DATABASE test2 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
- ' || die "Failed to create test databases"
-
- cat > pymysql/tests/databases.json <<-EOF || die
- [{
- "host": "localhost",
- "user": "root",
- "password": "",
- "database": "test1",
- "use_unicode": true,
- "local_infile": true,
- "unix_socket": "${T}/mysqld.sock"
- }, {
- "host": "localhost",
- "user": "root",
- "password": "",
- "database": "test2",
- "unix_socket": "${T}/mysqld.sock"
- }]
- EOF
-
- nonfatal distutils-r1_src_test
- local ret=${?}
-
- einfo "Stopping mysql test instance ..."
- pkill -F "${T}"/mysqld.pid || die
-
- [[ ${ret} -ne 0 ]] && die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # requires some dialog plugin
- pymysql/tests/test_connection.py::TestAuthentication::testDialogAuthThreeAttemptsQuestionsInstallPlugin
- pymysql/tests/test_connection.py::TestAuthentication::testDialogAuthTwoQuestionsInstallPlugin
- )
-
- epytest
-}
diff --git a/dev-python/pymysql/pymysql-1.1.1.ebuild b/dev-python/pymysql/pymysql-1.1.1.ebuild
new file mode 100644
index 000000000000..80bf518cb5fc
--- /dev/null
+++ b/dev-python/pymysql/pymysql-1.1.1.ebuild
@@ -0,0 +1,118 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+MY_P="PyMySQL-${PV}"
+DESCRIPTION="Pure-Python MySQL Driver"
+HOMEPAGE="
+ https://github.com/PyMySQL/PyMySQL/
+ https://pypi.org/project/PyMySQL/
+"
+SRC_URI="
+ https://github.com/PyMySQL/PyMySQL/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
+
+# TODO: support other mysql variants
+BDEPEND="
+ test? (
+ dev-db/mariadb[server]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # Auth tests don't support socket auth
+ find tests/ -name '*_auth.py' -delete || die
+
+ distutils-r1_src_prepare
+}
+
+src_test() {
+ local -x USER=$(whoami)
+ local -x PATH="${BROOT}/usr/share/mariadb/scripts:${PATH}"
+
+ einfo "Creating mysql test instance ..."
+ mkdir -p "${T}"/mysql || die
+ mysql_install_db \
+ --no-defaults \
+ --auth-root-authentication-method=normal \
+ --basedir="${EPREFIX}/usr" \
+ --datadir="${T}"/mysql 1>"${T}"/mysqld_install.log || die
+
+ einfo "Starting mysql test instance ..."
+ # TODO: random port
+ mysqld \
+ --no-defaults \
+ --character-set-server=utf8 \
+ --bind-address=127.0.0.1 \
+ --port=43306 \
+ --pid-file="${T}"/mysqld.pid \
+ --socket="${T}"/mysqld.sock \
+ --datadir="${T}"/mysql 1>"${T}"/mysqld.log 2>&1 &
+
+ # wait for it to start
+ local i
+ for (( i = 0; i < 10; i++ )); do
+ [[ -S ${T}/mysqld.sock ]] && break
+ sleep 1
+ done
+ [[ ! -S ${T}/mysqld.sock ]] && die "mysqld failed to start"
+
+ einfo "Configuring test mysql instance ..."
+
+ # note: ed25519 was removed since it fails -- upstream README indicates
+ # it can fail if we used a different server version
+ mysql -uroot --socket="${T}"/mysqld.sock -s -e '
+ CREATE DATABASe test1 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
+ CREATE DATABASE test2 DEFAULT CHARACTER SET utf8 DEFAULT COLLATE utf8_general_ci;
+ ' || die "Failed to create test databases"
+
+ cat > pymysql/tests/databases.json <<-EOF || die
+ [{
+ "host": "localhost",
+ "user": "root",
+ "password": "",
+ "database": "test1",
+ "use_unicode": true,
+ "local_infile": true,
+ "unix_socket": "${T}/mysqld.sock"
+ }, {
+ "host": "localhost",
+ "user": "root",
+ "password": "",
+ "database": "test2",
+ "unix_socket": "${T}/mysqld.sock"
+ }]
+ EOF
+
+ nonfatal distutils-r1_src_test
+ local ret=${?}
+
+ einfo "Stopping mysql test instance ..."
+ pkill -F "${T}"/mysqld.pid || die
+
+ [[ ${ret} -ne 0 ]] && die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires some dialog plugin
+ pymysql/tests/test_connection.py::TestAuthentication::testDialogAuthThreeAttemptsQuestionsInstallPlugin
+ pymysql/tests/test_connection.py::TestAuthentication::testDialogAuthTwoQuestionsInstallPlugin
+ )
+
+ epytest
+}
diff --git a/dev-python/pynacl/pynacl-1.5.0-r3.ebuild b/dev-python/pynacl/pynacl-1.5.0-r3.ebuild
index 2d3d5572df02..16e71b1c2ade 100644
--- a/dev-python/pynacl/pynacl-1.5.0-r3.ebuild
+++ b/dev-python/pynacl/pynacl-1.5.0-r3.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
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -15,7 +15,7 @@ HOMEPAGE="
https://pypi.org/project/PyNaCl/
"
SRC_URI="
- https://github.com/pyca/${PN}/archive/${PV}.tar.gz
+ https://github.com/pyca/pynacl/archive/${PV}.tar.gz
-> ${P}.gh.tar.gz
"
diff --git a/dev-python/pynvim/Manifest b/dev-python/pynvim/Manifest
index 0f9aa76befef..8faa34947388 100644
--- a/dev-python/pynvim/Manifest
+++ b/dev-python/pynvim/Manifest
@@ -1 +1 @@
-DIST pynvim-0.4.3.tar.gz 52807 BLAKE2B 2ac8894af71a28f8008dca1f9e34a0cda6a68aa108ddfe122e4e9cac4c7669262483729aafb238d0e8eb0022ddea9bb222ec7b718e9a9c59fbb349821b6b8dbe SHA512 5d8fc7623a5bc2e069991b901dbd4dcc6005ddab31e2f0a70ee50c2d6febf3b5c29a61fc4dce454aa494779d7a869a1e92a2a97cb66212ed858c3d3fd77c0f55
+DIST pynvim-0.5.0.gh.tar.gz 59043 BLAKE2B 4c9ce46e90dbb6cf278b48a904bef6dbd821d696c578a29d84af5ee64b223c602727dd09bdecbc90f7b6a634cbcd11b615d7ae48782e5cf71ae59faf8f8b1ff2 SHA512 91ffe3f42cc23ba372223b8c9f6930b0cff9d30b6764052a77a5c34e39a3312a1834b9a753152e96d04d5b4b61ce647bd7470095fac3122ae6b1346dcdf07f2f
diff --git a/dev-python/pynvim/pynvim-0.4.3-r1.ebuild b/dev-python/pynvim/pynvim-0.4.3-r1.ebuild
deleted file mode 100644
index 357d8006aade..000000000000
--- a/dev-python/pynvim/pynvim-0.4.3-r1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-inherit distutils-r1
-
-DESCRIPTION="Python client for Neovim"
-HOMEPAGE="https://github.com/neovim/pynvim"
-SRC_URI="https://github.com/neovim/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~x86"
-
-RDEPEND="dev-python/msgpack[${PYTHON_USEDEP}]
- virtual/python-greenlet[${PYTHON_USEDEP}]"
-DEPEND="${RDEPEND}
- test? ( app-editors/neovim )"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -r -i "s:[\"']pytest-runner[\"'](,|)::" setup.py || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/pynvim/pynvim-0.5.0.ebuild b/dev-python/pynvim/pynvim-0.5.0.ebuild
new file mode 100644
index 000000000000..e8451390379c
--- /dev/null
+++ b/dev-python/pynvim/pynvim-0.5.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Python client for Neovim"
+HOMEPAGE="
+ https://github.com/neovim/pynvim/
+ https://pypi.org/project/pynvim/
+"
+SRC_URI="
+ https://github.com/neovim/pynvim/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~x86"
+
+RDEPEND="
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/greenlet[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+BDEPEND="
+ test? ( app-editors/neovim )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyocr/pyocr-0.8.5.ebuild b/dev-python/pyocr/pyocr-0.8.5.ebuild
index d764decfcaab..69b87eb15528 100644
--- a/dev-python/pyocr/pyocr-0.8.5.ebuild
+++ b/dev-python/pyocr/pyocr-0.8.5.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/pyopencl/Manifest b/dev-python/pyopencl/Manifest
index e950e0a69346..e5dccc68b731 100644
--- a/dev-python/pyopencl/Manifest
+++ b/dev-python/pyopencl/Manifest
@@ -1 +1,2 @@
-DIST pyopencl-2023.1.4.tar.gz 473899 BLAKE2B 7d836d77b14f89b6dbf0dd2a189f3cb9442f224ff5c9c9db902aa93dc582278450b3d47576885bbe3738ee25f979a260d5c6f906366279adc30be7d3cc3545e1 SHA512 2508d21856d9b846bce14bcd11d007eedddc1cc5c1ce9f8d2ac18743ab9aa5d673c85792b535779b2f414caf47e39ed53c07d7ee8a061bcfa020a15f59463861
+DIST pyopencl-2024.1.tar.gz 473860 BLAKE2B 803c92418a609f3ad9249c81e93af0bd2e9125ee56dc88af8ee6ae9c4a275c7ab37befddd575914eb9f0b295aaef4f135358669e384a55c04b3938b02572724d SHA512 abf27d67f8c3633c71e662938a919c88a34b0b66cc3c213644f92a8733aed3c9b7593542dd9b45a080941976dadeb4f49a23a986482110824b554e3a0d317176
+DIST pyopencl-2024.2.7.tar.gz 470964 BLAKE2B 6c61d91735667dd63fec0375defe98fb681eb448780f86b0129769d30714adb51832955d8c2e838970f17187e5027f794cd21affc870910d23ec46126049d4ed SHA512 5c9982f5dcaeb3faeb6ac6b88940b5baff43b7580fc5d466a596d9c180e45725cbf9971ba6ae4981202900b06cee3be7fa88fdf7227befee874a8f203a3a3267
diff --git a/dev-python/pyopencl/files/pyopencl-2024.2.7-nanobind-flags.patch b/dev-python/pyopencl/files/pyopencl-2024.2.7-nanobind-flags.patch
new file mode 100644
index 000000000000..e5816b924773
--- /dev/null
+++ b/dev-python/pyopencl/files/pyopencl-2024.2.7-nanobind-flags.patch
@@ -0,0 +1,13 @@
+nanobind defaults to adding -Os and friends: https://github.com/wjakob/nanobind/blob/b0136fe6ac1967cb2399456adc346a1af06a3b88/docs/api_cmake.rst#L80.
+--- a/CMakeLists.txt
++++ b/CMakeLists.txt
+@@ -167,6 +167,9 @@ find_package(OpenCL REQUIRED)
+ nanobind_add_module(
+ _cl
+ NB_STATIC # Build static libnanobind (the extension module itself remains a shared library)
++ PROTECT_STACK
++ NOMINSIZE
++ NOSTRIP
+ src/wrap_constants.cpp
+ src/wrap_cl.cpp
+ src/wrap_cl_part_1.cpp
diff --git a/dev-python/pyopencl/metadata.xml b/dev-python/pyopencl/metadata.xml
index e86864baa3fd..f759654cf43b 100644
--- a/dev-python/pyopencl/metadata.xml
+++ b/dev-python/pyopencl/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">pyopencl</remote-id>
<remote-id type="github">inducer/pyopencl</remote-id>
diff --git a/dev-python/pyopencl/pyopencl-2023.1.4.ebuild b/dev-python/pyopencl/pyopencl-2023.1.4.ebuild
deleted file mode 100644
index 2c2f1d602dd2..000000000000
--- a/dev-python/pyopencl/pyopencl-2023.1.4.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="Python wrapper for OpenCL"
-HOMEPAGE="
- https://mathema.tician.de/software/pyopencl/
- https://pypi.org/project/pyopencl/
-"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~riscv"
-IUSE="examples opengl"
-
-# Running tests on GPUs requires both appropriate hardware and additional permissions
-# having been granted to the user running them. Testing on CPUs with dev-libs/pocl
-# is in theory possible but has been found to be very fragile, see e.g. Bug #872308.
-RESTRICT="test"
-
-COMMON=">=virtual/opencl-2"
-# libglvnd is only needed for the headers
-DEPEND="${COMMON}
- opengl? ( media-libs/libglvnd )"
-RDEPEND="${COMMON}
- >=dev-python/mako-0.3.6[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/pytools-2021.2.7[${PYTHON_USEDEP}]"
-BDEPEND="dev-python/numpy[${PYTHON_USEDEP}]
- >=dev-python/pybind11-2.5.0[${PYTHON_USEDEP}]
- test? ( dev-libs/pocl )"
-
-distutils_enable_tests pytest
-
-python_configure_all() {
- local myconf=()
- if use opengl; then
- myconf+=(--cl-enable-gl)
- fi
-
- "${EPYTHON}" configure.py \
- "${myconf[@]}"
-}
-
-python_test() {
- # Use dev-libs/pocl for testing; ignore any other OpenCL devices that might be present
- local -x PYOPENCL_TEST="portable:pthread"
- # Set the number of threads to match MAKEOPTS
- local -x POCL_MAX_PTHREAD_COUNT=$(makeopts_jobs)
- # Change to the 'test' directory so that python does not try to import pyopencl from the source directory
- # (Importing from the source directory fails, because the compiled '_cl' module is only in the build directory)
- pushd test >/dev/null || die
- epytest
- popd >/dev/null || die
-}
-
-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/pyopencl/pyopencl-2024.1.ebuild b/dev-python/pyopencl/pyopencl-2024.1.ebuild
new file mode 100644
index 000000000000..0cb03a72953a
--- /dev/null
+++ b/dev-python/pyopencl/pyopencl-2024.1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Python wrapper for OpenCL"
+HOMEPAGE="
+ https://mathema.tician.de/software/pyopencl/
+ https://pypi.org/project/pyopencl/
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 ~ppc64 ~riscv"
+IUSE="examples opengl"
+
+# Running tests on GPUs requires both appropriate hardware and additional permissions
+# having been granted to the user running them. Testing on CPUs with dev-libs/pocl
+# is in theory possible but has been found to be very fragile, see e.g. Bug #872308.
+RESTRICT="test"
+
+COMMON=">=virtual/opencl-2"
+# libglvnd is only needed for the headers
+DEPEND="${COMMON}
+ opengl? ( media-libs/libglvnd )"
+RDEPEND="${COMMON}
+ >=dev-python/mako-0.3.6[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytools-2021.2.7[${PYTHON_USEDEP}]"
+BDEPEND="dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pybind11-2.5.0[${PYTHON_USEDEP}]
+ test? ( dev-libs/pocl )"
+
+distutils_enable_tests pytest
+
+python_configure_all() {
+ local myconf=()
+ if use opengl; then
+ myconf+=(--cl-enable-gl)
+ fi
+
+ "${EPYTHON}" configure.py \
+ "${myconf[@]}"
+}
+
+python_test() {
+ # Use dev-libs/pocl for testing; ignore any other OpenCL devices that might be present
+ local -x PYOPENCL_TEST="portable:pthread"
+ # Set the number of threads to match MAKEOPTS
+ local -x POCL_MAX_PTHREAD_COUNT=$(makeopts_jobs)
+ # Change to the 'test' directory so that python does not try to import pyopencl from the source directory
+ # (Importing from the source directory fails, because the compiled '_cl' module is only in the build directory)
+ pushd test >/dev/null || die
+ epytest
+ popd >/dev/null || die
+}
+
+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/pyopencl/pyopencl-2024.2.7.ebuild b/dev-python/pyopencl/pyopencl-2024.2.7.ebuild
new file mode 100644
index 000000000000..117e694ddaa9
--- /dev/null
+++ b/dev-python/pyopencl/pyopencl-2024.2.7.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=scikit-build-core
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Python wrapper for OpenCL"
+HOMEPAGE="
+ https://mathema.tician.de/software/pyopencl/
+ https://pypi.org/project/pyopencl/
+"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv"
+IUSE="examples opengl"
+
+# Running tests on GPUs requires both appropriate hardware and additional permissions
+# having been granted to the user running them. Testing on CPUs with dev-libs/pocl
+# is in theory possible but has been found to be very fragile, see e.g. Bug #872308.
+RESTRICT="test"
+
+COMMON=">=virtual/opencl-2"
+# libglvnd is only needed for the headers
+DEPEND="
+ ${COMMON}
+ opengl? ( media-libs/libglvnd )
+"
+RDEPEND="
+ ${COMMON}
+ >=dev-python/mako-0.3.6[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytools-2024.1.5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/nanobind[${PYTHON_USEDEP}]
+ test? ( dev-libs/pocl )
+"
+
+PATCHES=(
+ "${FILESDIR}"/pyopencl-2024.2.7-nanobind-flags.patch
+)
+
+distutils_enable_tests pytest
+
+python_configure_all() {
+ DISTUTILS_ARGS=(
+ -DPYOPENCL_ENABLE_GL=$(usex opengl)
+ )
+}
+
+python_test() {
+ # Use dev-libs/pocl for testing; ignore any other OpenCL devices that might be present
+ local -x PYOPENCL_TEST="portable:pthread"
+ # Set the number of threads to match MAKEOPTS
+ local -x POCL_MAX_PTHREAD_COUNT=$(makeopts_jobs)
+ # Change to the 'test' directory so that python does not try to import pyopencl from the source directory
+ # (Importing from the source directory fails, because the compiled '_cl' module is only in the build directory)
+ pushd test >/dev/null || die
+ epytest
+ popd >/dev/null || die
+}
+
+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/pyopengl/Manifest b/dev-python/pyopengl/Manifest
index e31f19e52701..819e62cac925 100644
--- a/dev-python/pyopengl/Manifest
+++ b/dev-python/pyopengl/Manifest
@@ -1,3 +1 @@
-DIST PyOpenGL-3.1.6.tar.gz 1903892 BLAKE2B 7d1109a09703a7113aa9cc02994662df77bea1da63e81a8adbdc812514b71e04bfa51dad9e48c0e0b98327e4f7deda7a8590c340a38127d38e91659f38739220 SHA512 b6f2f083df0fd7cf8f8a1077f42fa388bce94c0edde00ed6492104af8306c9925b74649cd2c222be4205b0892e7975de2f7591d0f0bcd9540eb53c0de95fec00
DIST PyOpenGL-3.1.7.tar.gz 1896446 BLAKE2B 3fd4c84bb59157b4a6ee09c2a5ecd0e4f548bf03a84d735acfd92453eafb92102677a2b9c98831a92be33e873630c815dee453745d630a4d6b044771a13c945c SHA512 add1b4d02e7297f00f82a9c9249d6665029073fe620a1650491af9102a76a16e9320b5f227275b0c273ff5a616c284fd9f25f0f425848676c37cab9f3c22ae2e
-DIST pyopengl-3.1.6-glut-font-egl.patch 1430 BLAKE2B 4b8962045b1efce2b4ec8ca759689d880e8df074e98c8c680172fd01d6cfbae33148cef41c46c7d1231674836d0009626ccedd873fcfe35f644fe9a2aaab2d5e SHA512 a0c491bca31cff312a2f431f89109cbf3aff276aee375325cacc5c6ebe37ad2119072ad7658e11b56efd62b18b8ed2642de999c79b0c999414e44c2b1ec7225b
diff --git a/dev-python/pyopengl/pyopengl-3.1.6-r2.ebuild b/dev-python/pyopengl/pyopengl-3.1.6-r2.ebuild
deleted file mode 100644
index 3c2ef7ab1dfb..000000000000
--- a/dev-python/pyopengl/pyopengl-3.1.6-r2.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_REQ_USE="tk?"
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="Python OpenGL bindings"
-HOMEPAGE="
- https://pyopengl.sourceforge.net/
- https://github.com/mcfletch/pyopengl/
- https://pypi.org/project/PyOpenGL/
-"
-SRC_URI="
- $(pypi_sdist_url --no-normalize PyOpenGL)
- https://github.com/mcfletch/pyopengl/commit/2d2457b4d565bce1c58b76b427e1f9027e8b4bcc.patch
- -> ${P}-glut-font-egl.patch
-"
-S="${WORKDIR}/PyOpenGL-${PV}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-IUSE="tk"
-
-RDEPEND="
- media-libs/freeglut
- virtual/opengl
- x11-libs/libXi
- x11-libs/libXmu
- tk? ( dev-tcltk/togl )
-"
-DEPEND="
- ${RDEPEND}
-"
-
-# The tests need an X server with the GLX extension. Software rendering
-# under Xvfb works but only with llvmpipe, not softpipe or swr.
-BDEPEND="
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pygame[${PYTHON_USEDEP},opengl,X]
- !prefix? (
- media-libs/mesa[llvm]
- x11-base/xorg-server[-minimal,xorg]
- )
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${DISTDIR}/${P}-glut-font-egl.patch"
-)
-
-src_test() {
- virtx distutils-r1_src_test
-}
diff --git a/dev-python/pyopengl/pyopengl-3.1.7-r1.ebuild b/dev-python/pyopengl/pyopengl-3.1.7-r1.ebuild
index 4ba447f89f0e..586b19b8525e 100644
--- a/dev-python/pyopengl/pyopengl-3.1.7-r1.ebuild
+++ b/dev-python/pyopengl/pyopengl-3.1.7-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=PyOpenGL
PYTHON_REQ_USE="tk?"
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi virtualx
@@ -20,7 +20,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
IUSE="tk"
RDEPEND="
@@ -56,13 +56,14 @@ PATCHES=(
"${FILESDIR}/${P}-pypy3.patch"
)
-EPYTEST_DESELECT=(
- # unreliable memory counting test
- tests/test_vbo_memusage.py::test_sf_2980896
-)
-
python_test() {
- nonfatal epytest || die "Tests failed with ${EPYTHON}"
+ local EPYTEST_DESELECT=(
+ # unreliable memory counting test
+ tests/test_vbo_memusage.py::test_sf_2980896
+ )
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
+ nonfatal epytest tests || die "Tests failed with ${EPYTHON}"
}
src_test() {
diff --git a/dev-python/pyopengl_accelerate/metadata.xml b/dev-python/pyopengl_accelerate/metadata.xml
index eb43714c001e..daac0a05e972 100644
--- a/dev-python/pyopengl_accelerate/metadata.xml
+++ b/dev-python/pyopengl_accelerate/metadata.xml
@@ -10,4 +10,7 @@
<remote-id type="sourceforge">pyopengl</remote-id>
<remote-id type="github">mcfletch/pyopengl</remote-id>
</upstream>
+ <use>
+ <flag name="numpy">Building NumPy native format handlers.</flag>
+ </use>
</pkgmetadata>
diff --git a/dev-python/pyopengl_accelerate/pyopengl_accelerate-3.1.7.ebuild b/dev-python/pyopengl_accelerate/pyopengl_accelerate-3.1.7.ebuild
index 177f6781c3a1..343c45b8fc31 100644
--- a/dev-python/pyopengl_accelerate/pyopengl_accelerate-3.1.7.ebuild
+++ b/dev-python/pyopengl_accelerate/pyopengl_accelerate-3.1.7.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
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -24,21 +24,36 @@ S=${WORKDIR}/${MY_P}/accelerate
LICENSE="BSD"
SLOT="0"
KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
+IUSE="numpy"
+DEPEND="
+ numpy? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
RDEPEND="
+ ${DEPEND}
dev-python/pyopengl[${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/cython[${PYTHON_USEDEP}]
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- )
"
distutils_enable_tests pytest
src_configure() {
rm src/*.c || die
+
+ if ! use numpy; then
+ cat > "${T}"/numpy.py <<-EOF || die
+ raise ImportError("building numpy extension disabled")
+ EOF
+ fi
+}
+
+python_compile() {
+ local -x PYTHONPATH=${T}:${PYTHONPATH}
+ distutils-r1_python_compile
}
python_test() {
diff --git a/dev-python/pyopenssl/Manifest b/dev-python/pyopenssl/Manifest
index 1f10a1c7784c..c28895177400 100644
--- a/dev-python/pyopenssl/Manifest
+++ b/dev-python/pyopenssl/Manifest
@@ -1,2 +1,2 @@
-DIST pyOpenSSL-23.2.0.tar.gz 185132 BLAKE2B 06330623bf5934b89cf88dee508c2c4bdd170f805a111f082624b2f8c59fd56e48d5954ef7d9f98768e88aaabaa9e04594ea717784a86401e6e64433e699c9b8 SHA512 a467801bf94959a067d9d3551b47d17d4798bf0b87d253d41a89cac9cdb1731a967a98bda3e83ab8a560ed5fdc0a17f34604f3c6e0f6789bc4c920bc49f520c9
-DIST pyOpenSSL-23.3.0.tar.gz 183043 BLAKE2B 63ef42c63ec96db320e85b8aae8441ff8378b3ed3b5ad780d7d7f4b07bd70649da2d1f0d433bee7c162c6c8b6c430e9547b695af0851cd38f8b1d14649577da5 SHA512 e75ffd9922798d7bb08be50782a2185aaf69cdc41e4c83e0c904d7b7b3b5da3bbfe73abe965eb0bfe1b325de79eb9f72f16a05444f0310ebfaf8f5bf8ce1fe87
+DIST pyOpenSSL-24.1.0.tar.gz 179671 BLAKE2B d49139e9604e854427005adb17cbc8926fa4e10390b36446f9c95dbe81802bb8b97c2e6f1ea8f91dfd74733631292c88536c4f9772647e6d4b449b4d01ed6355 SHA512 acb07025f085d2fe9338e5ce5f65937001b1a8376c41ac532e9b0548668ce05c844e3e28c58efad812a034becf8e24aa9504165ff6af4c3b085cf463fa4d2fb6
+DIST pyopenssl-24.2.1.tar.gz 184323 BLAKE2B 5d077508c45c56b1da886877fb41e18699f932933badb73b271ce6d55fbf985398f5a74187fe65fde79b60768cb1705daf805f6fb8570f66ad3cecf11ad9b1c3 SHA512 4d0cdf71a5ae785644bd466ef094592fbf4ab804de8d153c139a88d3ff9b8cc80d073f3d49d4dc73d8ebf97a867e1560a5308b998f7ef0ccc734dcc56697c831
diff --git a/dev-python/pyopenssl/pyopenssl-23.2.0.ebuild b/dev-python/pyopenssl/pyopenssl-23.2.0.ebuild
deleted file mode 100644
index fb1831429b1c..000000000000
--- a/dev-python/pyopenssl/pyopenssl-23.2.0.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-PYPI_NO_NORMALIZE=1
-PYPI_PN=pyOpenSSL
-
-inherit distutils-r1 toolchain-funcs pypi
-
-DESCRIPTION="Python interface to the OpenSSL library"
-HOMEPAGE="
- https://www.pyopenssl.org/
- https://github.com/pyca/pyopenssl/
- https://pypi.org/project/pyOpenSSL/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- <dev-python/cryptography-42[${PYTHON_USEDEP}]
- >=dev-python/cryptography-40.0.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- dev-python/cffi[${PYTHON_USEDEP}]
- ' 'python*')
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/pretend[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx doc \
- dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-src_test() {
- local -x TZ=UTC
- local EPYTEST_DESELECT=(
- tests/test_ssl.py::TestContext::test_set_default_verify_paths
- )
-
- # test for 32-bit time_t
- "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} -c -x c - -o /dev/null <<-EOF &>/dev/null
- #include <sys/types.h>
- int test[sizeof(time_t) >= 8 ? 1 : -1];
- EOF
-
- if [[ ${?} -eq 0 ]]; then
- einfo "time_t is at least 64-bit long"
- else
- einfo "time_t is smaller than 64 bits, will skip broken tests"
- EPYTEST_DESELECT+=(
- tests/test_crypto.py::TestX509StoreContext::test_verify_with_time
- )
- fi
-
- distutils-r1_src_test
-}
diff --git a/dev-python/pyopenssl/pyopenssl-23.3.0.ebuild b/dev-python/pyopenssl/pyopenssl-23.3.0.ebuild
deleted file mode 100644
index ef2ff3405b76..000000000000
--- a/dev-python/pyopenssl/pyopenssl-23.3.0.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-PYPI_NO_NORMALIZE=1
-PYPI_PN=pyOpenSSL
-
-inherit distutils-r1 toolchain-funcs pypi
-
-DESCRIPTION="Python interface to the OpenSSL library"
-HOMEPAGE="
- https://www.pyopenssl.org/
- https://github.com/pyca/pyopenssl/
- https://pypi.org/project/pyOpenSSL/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- <dev-python/cryptography-42[${PYTHON_USEDEP}]
- >=dev-python/cryptography-41.0.5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- dev-python/cffi[${PYTHON_USEDEP}]
- ' 'python*')
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/pretend[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx doc \
- dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-src_test() {
- local -x TZ=UTC
- local EPYTEST_DESELECT=(
- tests/test_ssl.py::TestContext::test_set_default_verify_paths
- )
-
- # test for 32-bit time_t
- "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} -c -x c - -o /dev/null <<-EOF &>/dev/null
- #include <sys/types.h>
- int test[sizeof(time_t) >= 8 ? 1 : -1];
- EOF
-
- if [[ ${?} -eq 0 ]]; then
- einfo "time_t is at least 64-bit long"
- else
- einfo "time_t is smaller than 64 bits, will skip broken tests"
- EPYTEST_DESELECT+=(
- tests/test_crypto.py::TestX509StoreContext::test_verify_with_time
- )
- fi
-
- distutils-r1_src_test
-}
diff --git a/dev-python/pyopenssl/pyopenssl-24.1.0.ebuild b/dev-python/pyopenssl/pyopenssl-24.1.0.ebuild
new file mode 100644
index 000000000000..178755aefabc
--- /dev/null
+++ b/dev-python/pyopenssl/pyopenssl-24.1.0.ebuild
@@ -0,0 +1,71 @@
+# 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..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+PYPI_NO_NORMALIZE=1
+PYPI_PN=pyOpenSSL
+
+inherit distutils-r1 toolchain-funcs pypi
+
+DESCRIPTION="Python interface to the OpenSSL library"
+HOMEPAGE="
+ https://www.pyopenssl.org/
+ https://github.com/pyca/pyopenssl/
+ https://pypi.org/project/pyOpenSSL/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ <dev-python/cryptography-43[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-41.0.5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx doc \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+src_test() {
+ local -x TZ=UTC
+ local EPYTEST_DESELECT=(
+ tests/test_ssl.py::TestContext::test_set_default_verify_paths
+ )
+
+ # test for 32-bit time_t
+ "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} -c -x c - -o /dev/null <<-EOF &>/dev/null
+ #include <sys/types.h>
+ int test[sizeof(time_t) >= 8 ? 1 : -1];
+ EOF
+
+ if [[ ${?} -eq 0 ]]; then
+ einfo "time_t is at least 64-bit long"
+ else
+ einfo "time_t is smaller than 64 bits, will skip broken tests"
+ EPYTEST_DESELECT+=(
+ tests/test_crypto.py::TestX509StoreContext::test_verify_with_time
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ epytest -p rerunfailures
+}
diff --git a/dev-python/pyopenssl/pyopenssl-24.2.1.ebuild b/dev-python/pyopenssl/pyopenssl-24.2.1.ebuild
new file mode 100644
index 000000000000..5d469c334d3d
--- /dev/null
+++ b/dev-python/pyopenssl/pyopenssl-24.2.1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=pyOpenSSL
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 toolchain-funcs pypi
+
+DESCRIPTION="Python interface to the OpenSSL library"
+HOMEPAGE="
+ https://www.pyopenssl.org/
+ https://github.com/pyca/pyopenssl/
+ https://pypi.org/project/pyOpenSSL/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ <dev-python/cryptography-44[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-41.0.5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx doc \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+src_test() {
+ local -x TZ=UTC
+ local EPYTEST_DESELECT=(
+ tests/test_ssl.py::TestContext::test_set_default_verify_paths
+ )
+
+ # test for 32-bit time_t
+ "$(tc-getCC)" ${CFLAGS} ${CPPFLAGS} -c -x c - -o /dev/null <<-EOF &>/dev/null
+ #include <sys/types.h>
+ int test[sizeof(time_t) >= 8 ? 1 : -1];
+ EOF
+
+ if [[ ${?} -eq 0 ]]; then
+ einfo "time_t is at least 64-bit long"
+ else
+ einfo "time_t is smaller than 64 bits, will skip broken tests"
+ EPYTEST_DESELECT+=(
+ tests/test_crypto.py::TestX509StoreContext::test_verify_with_time
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ distutils-r1_src_test
+}
+
+python_test() {
+ epytest -p rerunfailures
+}
diff --git a/dev-python/pyotherside/Manifest b/dev-python/pyotherside/Manifest
index 6150ebef338c..5c064d96db65 100644
--- a/dev-python/pyotherside/Manifest
+++ b/dev-python/pyotherside/Manifest
@@ -1 +1 @@
-DIST pyotherside-1.6.0.tar.gz 183645 BLAKE2B e2a12a9a96f3672a5e322c9f2e84d485b8086bdcacfc6586e0c23f6dd730d3e66cea66618540fd9a304480a9ab86386e2fe0136047c59f70bfa3b5cff9e8e76e SHA512 57835db9d65fae10e6b3ec8ab37793e316324e7a819a1045436adf9eabdee11ccf3090a4db0302283b236e77e5e0bd14cf92ed1430835ccc324e50085a872787
+DIST pyotherside-1.6.1.tar.gz 184539 BLAKE2B 32c017b6d3a64a3125f779a0201ee15288fbcc84bf070442dc542df525f5994cee6b334d86ff2bbbcada39f645ac2e900a459d729c4f8c838d529fb33bdf1226 SHA512 ea672405b97d09b3c4f1266b1714da5e127c47f8f1c99caa282bd823261c06a0b02e7094185724863f339a0bd35d45426bdf6e8cb7d37a8a23d1d18e81939d9d
diff --git a/dev-python/pyotherside/metadata.xml b/dev-python/pyotherside/metadata.xml
index 0e4ee229a9f4..b62c1e4a978e 100644
--- a/dev-python/pyotherside/metadata.xml
+++ b/dev-python/pyotherside/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<upstream>
<remote-id type="github">thp/pyotherside</remote-id>
diff --git a/dev-python/pyotherside/pyotherside-1.6.0.ebuild b/dev-python/pyotherside/pyotherside-1.6.0.ebuild
deleted file mode 100644
index 41263ea70ea1..000000000000
--- a/dev-python/pyotherside/pyotherside-1.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
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit qmake-utils python-single-r1
-
-DESCRIPTION="Asynchronous Python 3 Bindings for Qt"
-HOMEPAGE="https://github.com/thp/pyotherside https://thp.io/2011/pyotherside/"
-SRC_URI="https://github.com/thp/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
-IUSE="+qt5 qt6"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- ^^ ( qt5 qt6 )"
-
-# qt6 TODO:
-# - check if all qt6 deps are okay yet
-# - multibuild for both qt5 and qt6 if requested
-RDEPEND="
- ${PYTHON_DEPS}
- qt5? (
- dev-qt/qtcore:5
- dev-qt/qtdeclarative:5
- dev-qt/qtgui:5
- dev-qt/qtopengl:5
- dev-qt/qtsvg:5
- )
- qt6? (
- dev-qt/qtbase:6[opengl]
- dev-qt/qtdeclarative:6
- dev-qt/qtsvg:6
- )"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- default
- sed -i -e "s/qtquicktests//" pyotherside.pro || die
-}
-
-src_configure() {
- if use qt5; then
- eqmake5
- elif use qt6; then
- eqmake6
- else
- # This should never happen if REQUIRED_USE is enforced
- die "Neither Qt5 nor Qt6 support enabled, aborting"
- fi
-}
-
-src_test() {
- QT_QPA_PLATFORM="offscreen" tests/tests || die
-}
-
-src_install() {
- emake install INSTALL_ROOT="${D}"
-}
diff --git a/dev-python/pyotherside/pyotherside-1.6.1.ebuild b/dev-python/pyotherside/pyotherside-1.6.1.ebuild
new file mode 100644
index 000000000000..366d71378ae4
--- /dev/null
+++ b/dev-python/pyotherside/pyotherside-1.6.1.ebuild
@@ -0,0 +1,103 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit multibuild qmake-utils python-single-r1
+
+DESCRIPTION="Asynchronous Python 3 Bindings for Qt"
+HOMEPAGE="
+ https://github.com/thp/pyotherside/
+ https://thp.io/2011/pyotherside/
+"
+SRC_URI="
+ https://github.com/thp/pyotherside/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv"
+IUSE="qt5 qt6"
+
+REQUIRED_USE="
+ ${PYTHON_REQUIRED_USE}
+ || ( qt5 qt6 )
+"
+
+DEPEND="
+ ${PYTHON_DEPS}
+ qt5? (
+ dev-qt/qtcore:5
+ dev-qt/qtdeclarative:5
+ dev-qt/qtgui:5
+ dev-qt/qtopengl:5
+ dev-qt/qtsvg:5
+ )
+ qt6? (
+ dev-qt/qtbase:6[opengl]
+ dev-qt/qtdeclarative:6[opengl]
+ dev-qt/qtquick3d:6[opengl]
+ dev-qt/qtsvg:6
+ )"
+RDEPEND="
+ ${DEPEND}
+"
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
+ python_setup
+}
+
+src_prepare() {
+ default
+ sed -i -e "s/qtquicktests//" pyotherside.pro || die
+ multibuild_copy_sources
+}
+
+src_configure() {
+ myconfigure() {
+ pushd "${BUILD_DIR}" > /dev/null || die
+
+ case ${MULTIBUILD_VARIANT} in
+ qt5)
+ eqmake5
+ ;;
+ qt6)
+ eqmake6
+ ;;
+ *)
+ # This should never happen if REQUIRED_USE is enforced
+ die "Neither Qt5 nor Qt6 support enabled, aborting"
+ ;;
+ esac
+
+ popd > /dev/null || die
+ }
+
+ multibuild_foreach_variant myconfigure
+}
+
+src_compile() {
+ mycompile() {
+ emake -C "${BUILD_DIR}"
+ }
+
+ multibuild_foreach_variant mycompile
+}
+
+src_test() {
+ mytest() {
+ QT_QPA_PLATFORM="offscreen" "${BUILD_DIR}"/tests/tests || die
+ }
+
+ multibuild_foreach_variant mytest
+}
+
+src_install() {
+ myinstall() {
+ emake -C "${BUILD_DIR}" install INSTALL_ROOT="${D}"
+ }
+
+ multibuild_foreach_variant myinstall
+}
diff --git a/dev-python/pyotp/Manifest b/dev-python/pyotp/Manifest
index 0e36186231a6..f6d0aa7c9d7f 100644
--- a/dev-python/pyotp/Manifest
+++ b/dev-python/pyotp/Manifest
@@ -1,2 +1 @@
-DIST pyotp-2.8.0.tar.gz 16873 BLAKE2B 55930ca0991a38e920e4dd31ff46534031976ccc4bd2151a762ce806251d1b4c7d3c120a7afa42b2aa33387cd445818b07b981f906733075535d6948dfde24e6 SHA512 f4e6c857833c7c994a64586bb495b48935752d0fa9d90edbdcce899ebce10fc0ac13ab03c439ea81f1c0fcfc4adafbf2c42ee8c4fa4afdd662c30d5be164c9b2
DIST pyotp-2.9.0.tar.gz 17763 BLAKE2B 32dd9772e0fc9de1cb13c204f5037dcf8352029e85a5df92c35f026e3960c649cd1d6f2b70b171133598e57a58707eebf34b4a8af18291a72f3e3aed8c659944 SHA512 2d3dd43997bbeceb078d9dfc4ec2d2ea608f1ac60c2189d45f775e1f47ff0cefcdfd36b77db1e022a8f8307b46329fbbad270e054853b63b5d7d457ad358731c
diff --git a/dev-python/pyotp/pyotp-2.8.0.ebuild b/dev-python/pyotp/pyotp-2.8.0.ebuild
deleted file mode 100644
index a2917de0d249..000000000000
--- a/dev-python/pyotp/pyotp-2.8.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="PyOTP is a Python library for generating and verifying one-time passwords"
-HOMEPAGE="
- https://github.com/pyauth/pyotp/
- https://pypi.org/project/pyotp/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-distutils_enable_tests unittest
diff --git a/dev-python/pyotp/pyotp-2.9.0.ebuild b/dev-python/pyotp/pyotp-2.9.0.ebuild
index a2917de0d249..868d40aa1a79 100644
--- a/dev-python/pyotp/pyotp-2.9.0.ebuild
+++ b/dev-python/pyotp/pyotp-2.9.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/pyparsing/Manifest b/dev-python/pyparsing/Manifest
index 6f1cec4a6912..e2b8f6579057 100644
--- a/dev-python/pyparsing/Manifest
+++ b/dev-python/pyparsing/Manifest
@@ -1,2 +1 @@
-DIST pyparsing-3.1.1.tar.gz 884814 BLAKE2B d5a2b74181d2d93575e9be43285a7156c3b796d58993397c2ed8df10467d54ef193d1f82bbdac0cecd97fb20d1cb64d79f8502b02d8886511ca90c02ac3739bb SHA512 59ae01e13277e25cabd1a1ea41a27aac9235c09746f54c0eaac53d0aae488309fe2044b3b31e1105cb8207ad3326828ec32bdd5e904cceee8b0d032740679628
-DIST pyparsing_3.0.9.gh.tar.gz 967771 BLAKE2B c13c74661b9e0d53b4886c9949b01951d220991f916362a13ce0c32c0ab05a6b1cab4d5e5a626acb7563c0ec1716348ede205cb67bf22c0710904f07404ad82a SHA512 1158f27e31f8eced540217b7234b09005eac416fad74faf59678fdae93fe2f76e0e3b5f4adfd3ceb42c8aef19150950293e989c9a5189741175073eb7a03cd6d
+DIST pyparsing-3.1.2.tar.gz 889571 BLAKE2B 69dc249c8760470e9611c367255176afcbfdf299b739c8e191f71b88653e0d35db3a20d156ae6507a1748f775b0853c127986d9de2124edc12e22453a75b908d SHA512 1134949f3576edbec4438eefe952eb5cc6e734fb060905d714b6a77f71e90d364b01345df5e7b8fb5ffa798c530be9c65f6d152b3f591cba787660c4dd8894d2
diff --git a/dev-python/pyparsing/pyparsing-3.0.9.ebuild b/dev-python/pyparsing/pyparsing-3.0.9.ebuild
deleted file mode 100644
index c5fedf26d51f..000000000000
--- a/dev-python/pyparsing/pyparsing-3.0.9.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2004-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
-EAPI=7
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/-/_}
-DESCRIPTION="Easy-to-use Python module for text parsing"
-HOMEPAGE="
- https://github.com/pyparsing/pyparsing/
- https://pypi.org/project/pyparsing/
-"
-SRC_URI="
- https://github.com/pyparsing/pyparsing/archive/${MY_P}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${PN}-${MY_P}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="examples"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # railroad-diagrams not packaged (and not suitable for packaging yet)
- tests/test_diagram.py
-)
-
-EPYTEST_DESELECT=(
- # also railroad-diagrams
- tests/test_unit.py::Test02_WithoutPackrat::testEmptyExpressionsAreHandledProperly
- tests/test_unit.py::Test04_WithPackrat::testEmptyExpressionsAreHandledProperly
- tests/test_unit.py::Test06_WithBoundedPackrat::testEmptyExpressionsAreHandledProperly
- tests/test_unit.py::Test08_WithUnboundedPackrat::testEmptyExpressionsAreHandledProperly
- tests/test_unit.py::Test09_WithLeftRecursionParsing::testEmptyExpressionsAreHandledProperly
- tests/test_unit.py::Test10_WithLeftRecursionParsingBoundedMemo::testEmptyExpressionsAreHandledProperly
-)
-
-python_install_all() {
- if use examples; then
- docompress -x /usr/share/doc/${PF}/examples
- dodoc -r examples
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pyparsing/pyparsing-3.1.1.ebuild b/dev-python/pyparsing/pyparsing-3.1.1.ebuild
deleted file mode 100644
index eed60b612a71..000000000000
--- a/dev-python/pyparsing/pyparsing-3.1.1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2004-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Easy-to-use Python module for text parsing"
-HOMEPAGE="
- https://github.com/pyparsing/pyparsing/
- https://pypi.org/project/pyparsing/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="examples"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # railroad-diagrams not packaged (and not suitable for packaging yet)
- tests/test_diagram.py
-)
-
-EPYTEST_DESELECT=(
- # also railroad-diagrams
- tests/test_examples.py::TestExamples::test_range_check
- tests/test_unit.py::Test02_WithoutPackrat::testEmptyExpressionsAreHandledProperly
- tests/test_unit.py::Test04_WithPackrat::testEmptyExpressionsAreHandledProperly
- tests/test_unit.py::Test06_WithBoundedPackrat::testEmptyExpressionsAreHandledProperly
- tests/test_unit.py::Test08_WithUnboundedPackrat::testEmptyExpressionsAreHandledProperly
- tests/test_unit.py::Test09_WithLeftRecursionParsing::testEmptyExpressionsAreHandledProperly
- tests/test_unit.py::Test10_WithLeftRecursionParsingBoundedMemo::testEmptyExpressionsAreHandledProperly
-)
-
-python_install_all() {
- if use examples; then
- docompress -x /usr/share/doc/${PF}/examples
- dodoc -r examples
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pyparsing/pyparsing-3.1.2.ebuild b/dev-python/pyparsing/pyparsing-3.1.2.ebuild
new file mode 100644
index 000000000000..374c92a5ec89
--- /dev/null
+++ b/dev-python/pyparsing/pyparsing-3.1.2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2004-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Easy-to-use Python module for text parsing"
+HOMEPAGE="
+ https://github.com/pyparsing/pyparsing/
+ https://pypi.org/project/pyparsing/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="examples"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # railroad-diagrams not packaged (and not suitable for packaging yet)
+ tests/test_diagram.py
+)
+
+EPYTEST_DESELECT=(
+ # also railroad-diagrams
+ tests/test_examples.py::TestExamples::test_range_check
+ tests/test_unit.py::Test02_WithoutPackrat::testEmptyExpressionsAreHandledProperly
+ tests/test_unit.py::Test04_WithPackrat::testEmptyExpressionsAreHandledProperly
+ tests/test_unit.py::Test06_WithBoundedPackrat::testEmptyExpressionsAreHandledProperly
+ tests/test_unit.py::Test08_WithUnboundedPackrat::testEmptyExpressionsAreHandledProperly
+ tests/test_unit.py::Test09_WithLeftRecursionParsing::testEmptyExpressionsAreHandledProperly
+ tests/test_unit.py::Test10_WithLeftRecursionParsingBoundedMemo::testEmptyExpressionsAreHandledProperly
+)
+
+python_install_all() {
+ if use examples; then
+ docompress -x /usr/share/doc/${PF}/examples
+ dodoc -r examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pypax/pypax-0.9.5-r1.ebuild b/dev-python/pypax/pypax-0.9.5-r1.ebuild
deleted file mode 100644
index 8a9786c387f2..000000000000
--- a/dev-python/pypax/pypax-0.9.5-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-if [[ ${PV} == *9999* ]] ; then
- EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/elfix.git"
- inherit git-r3
-else
- SRC_URI="https://dev.gentoo.org/~blueness/elfix/elfix-${PV}.tar.gz"
- KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
- S="${WORKDIR}/elfix-${PV}"
-fi
-
-DESCRIPTION="Python module to get or set either PT_PAX and/or XATTR_PAX flags"
-HOMEPAGE="https://dev.gentoo.org/~blueness/elfix/
- https://wiki.gentoo.org/wiki/Project:Hardened/PaX_Quickstart"
-
-LICENSE="GPL-3"
-SLOT="0"
-IUSE="+ptpax +xtpax"
-REQUIRED_USE="|| ( ptpax xtpax )"
-
-RDEPEND="
- ptpax? ( dev-libs/elfutils )
- xtpax? ( sys-apps/attr )"
-DEPEND="${RDEPEND}"
-
-src_compile() {
- cd scripts || die
- unset PTPAX
- unset XTPAX
- use ptpax && export PTPAX="yes"
- use xtpax && export XTPAX="yes"
- distutils-r1_src_compile
-}
-
-src_install() {
- cd scripts || die
- distutils-r1_src_install
-}
diff --git a/dev-python/pypax/pypax-0.9.5-r2.ebuild b/dev-python/pypax/pypax-0.9.5-r2.ebuild
new file mode 100644
index 000000000000..ff59e2c83ce5
--- /dev/null
+++ b/dev-python/pypax/pypax-0.9.5-r2.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_{9..12} )
+
+inherit distutils-r1
+
+if [[ ${PV} == *9999* ]] ; then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/elfix.git"
+ inherit git-r3
+else
+ SRC_URI="https://dev.gentoo.org/~blueness/elfix/elfix-${PV}.tar.gz"
+ KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+ S="${WORKDIR}/elfix-${PV}"
+fi
+
+DESCRIPTION="Python module to get or set either PT_PAX and/or XATTR_PAX flags"
+HOMEPAGE="https://dev.gentoo.org/~blueness/elfix/
+ https://wiki.gentoo.org/wiki/Project:Hardened/PaX_Quickstart"
+
+LICENSE="GPL-3"
+SLOT="0"
+IUSE="+ptpax +xtpax"
+REQUIRED_USE="|| ( ptpax xtpax )"
+
+RDEPEND="
+ ptpax? ( dev-libs/elfutils )
+ xtpax? ( sys-apps/attr )"
+DEPEND="${RDEPEND}"
+
+src_compile() {
+ cd scripts || die
+ unset PTPAX
+ unset XTPAX
+ use ptpax && export PTPAX="yes"
+ use xtpax && export XTPAX="yes"
+ distutils-r1_src_compile
+}
+
+src_install() {
+ cd scripts || die
+ distutils-r1_src_install
+}
diff --git a/dev-python/pypax/pypax-9999.ebuild b/dev-python/pypax/pypax-9999.ebuild
index ed47719cbc03..dbf920e9c77c 100644
--- a/dev-python/pypax/pypax-9999.ebuild
+++ b/dev-python/pypax/pypax-9999.ebuild
@@ -1,10 +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
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/pypdf/Manifest b/dev-python/pypdf/Manifest
index d126bfae49c6..66ba293d16e0 100644
--- a/dev-python/pypdf/Manifest
+++ b/dev-python/pypdf/Manifest
@@ -1,2 +1,4 @@
-DIST pypdf-3.17.1.gh.tar.gz 7975263 BLAKE2B 27b413dd5f127e22cc0116baeee62115f4b02b2ff39f27b8a7884af2389423c332114cfa826a090683c2ab6583b1a549ee1de775869eaaa0a09237aa52a65ebd SHA512 c23294a67bee6ef4e673c02b045c9ec2d3471f93bfc8530959a02289f94b0aa47e79b24bddd0603731c39ddc5197fc6fc10e668bbd1077a32ecdfc1d33740397
-DIST pypdf-sample-files-964fb47b0fbfa89864680582640ae4eedf143890.gh.tar.gz 11668924 BLAKE2B 0c7d8e7cfb2f9d06d7633d57b691ba473d33cfcb58d2f1f83661cef9d755340d05db8767771a385d0ba88aa904f84b8bc7eafdb5d4f614b7a21a2d138572316f SHA512 28070b575273b6fee3173e797ed5bac618f8e8aca16d0122dcf3b4b16cedbcad69b84a9bc4be65037695597bcc1fa7898cdf766c37915c49f880a0c6ca057e68
+DIST pypdf-4.2.0.gh.tar.gz 8009612 BLAKE2B a21108679a6dd5d9bc16aaf4a9c1beaaab875f0a8f974722d6d318635eecee82bc37c7c4c175816079ce9604f8b88f07f31458b08994833a25ee18bc46cbc294 SHA512 99fe599a81ae7e115ee6fca82ffabaff613ee49756a7e937de32a4d59b5731effe5cc3a076d92423b2299896a6ecab41ab5096aea6836fec79ba637e2c7b7620
+DIST pypdf-4.3.0.gh.tar.gz 8015836 BLAKE2B 691e729050e7e6d052d8f4ccf1698b2cd6685c007026036b98c321bf9cd007abf8830ffe5281bdabab1b57afb6e6015e631e8e62104d144de98ed270f8ba992e SHA512 ba0cb8815d889742e2f0155e9b296b483e29c22ef2ecff3779c05baae3132900827f1b6f9a155bf4a2ae2f442727ae0fe310e322d0211cb43ee821cd8f6d411c
+DIST pypdf-4.3.1.gh.tar.gz 8016393 BLAKE2B 1ff64b79dda008c92670188e174940137da5af721e169e3a45f4784aa5fdd41f9b679701009f9fa59ac31a401786cece8315d72bd7942ca5af8b05e4ed4564be SHA512 17e1b127efe744a0ff2e9733295effcbab8e497d65cae3cb821646df1c0178991771910f0ef0b4f72525d980d840bfdc4290a05ea191669887f2122ec3521825
+DIST pypdf-sample-files-8c405ece5eff12396a34a1fae3276132002e1753.gh.tar.gz 11748093 BLAKE2B c5989200893b28a3c2062bb024a5cfc6f3389dc259ec129857979fa43469e1274559612b4d555499e2c7e16cf34be07825229932bf4d147fa6d7324d043e97d5 SHA512 c9771129b7668a2fd1fa79bb859ae9213f3d60341cf1b9937ff0eaab0de9bf4c35adcb7b896e93329038dc0f3809a0c697c523f8fe41b43030b0b029a88058e3
diff --git a/dev-python/pypdf/pypdf-3.17.1.ebuild b/dev-python/pypdf/pypdf-3.17.1.ebuild
deleted file mode 100644
index 25bd394754bc..000000000000
--- a/dev-python/pypdf/pypdf-3.17.1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-SAMPLE_COMMIT=964fb47b0fbfa89864680582640ae4eedf143890
-DESCRIPTION="Python library to work with PDF files"
-HOMEPAGE="
- https://pypi.org/project/pypdf/
- https://github.com/py-pdf/pypdf/
-"
-SRC_URI="
- https://github.com/py-pdf/pypdf/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- test? (
- https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
- -> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
- )
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-
-BDEPEND="
- test? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- >=dev-python/pillow-8.0.0[jpeg,jpeg2k,tiff,${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # rely on -Werror
- tests/test_utils.py::test_deprecate_no_replacement
- tests/test_workflows.py::test_orientations
- tests/test_writer.py::test_remove_image_per_type
- # TODO: requires fpdf
- tests/test_page.py::test_compression
- tests/test_writer.py::test_merging_many_temporary_files
-)
-
-src_unpack() {
- default
- if use test; then
- mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
- fi
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -o addopts= -m "not enable_socket"
-}
diff --git a/dev-python/pypdf/pypdf-4.2.0.ebuild b/dev-python/pypdf/pypdf-4.2.0.ebuild
new file mode 100644
index 000000000000..60a8803f35ac
--- /dev/null
+++ b/dev-python/pypdf/pypdf-4.2.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+SAMPLE_COMMIT=8c405ece5eff12396a34a1fae3276132002e1753
+DESCRIPTION="Python library to work with PDF files"
+HOMEPAGE="
+ https://pypi.org/project/pypdf/
+ https://github.com/py-pdf/pypdf/
+"
+SRC_URI="
+ https://github.com/py-pdf/pypdf/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
+ -> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
+ )
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.0.0[jpeg,jpeg2k,tiff,zlib,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_unpack() {
+ default
+ if use test; then
+ mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/test_reader.py::test_decode_permissions
+ tests/test_workflows.py::test_text_extraction_layout_mode
+ # rely on -Werror
+ tests/test_utils.py::test_deprecate_no_replacement
+ tests/test_workflows.py::test_orientations
+ tests/test_writer.py::test_remove_image_per_type
+ tests/test_generic.py::test_name_object
+ # Internet
+ tests/test_generic.py::test_calling_indirect_objects
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -m "not enable_socket"
+}
diff --git a/dev-python/pypdf/pypdf-4.3.0.ebuild b/dev-python/pypdf/pypdf-4.3.0.ebuild
new file mode 100644
index 000000000000..8a75ff4e9f66
--- /dev/null
+++ b/dev-python/pypdf/pypdf-4.3.0.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+SAMPLE_COMMIT=8c405ece5eff12396a34a1fae3276132002e1753
+DESCRIPTION="Python library to work with PDF files"
+HOMEPAGE="
+ https://pypi.org/project/pypdf/
+ https://github.com/py-pdf/pypdf/
+"
+SRC_URI="
+ https://github.com/py-pdf/pypdf/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
+ -> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
+ )
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.0.0[jpeg,jpeg2k,tiff,zlib,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_unpack() {
+ default
+ if use test; then
+ mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/test_reader.py::test_decode_permissions
+ tests/test_workflows.py::test_text_extraction_layout_mode
+ # rely on -Werror
+ tests/test_utils.py::test_deprecate_no_replacement
+ tests/test_workflows.py::test_orientations
+ tests/test_writer.py::test_remove_image_per_type
+ tests/test_generic.py::test_name_object
+ # Internet
+ tests/test_generic.py::test_calling_indirect_objects
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -m "not enable_socket"
+}
diff --git a/dev-python/pypdf/pypdf-4.3.1.ebuild b/dev-python/pypdf/pypdf-4.3.1.ebuild
new file mode 100644
index 000000000000..8a75ff4e9f66
--- /dev/null
+++ b/dev-python/pypdf/pypdf-4.3.1.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+SAMPLE_COMMIT=8c405ece5eff12396a34a1fae3276132002e1753
+DESCRIPTION="Python library to work with PDF files"
+HOMEPAGE="
+ https://pypi.org/project/pypdf/
+ https://github.com/py-pdf/pypdf/
+"
+SRC_URI="
+ https://github.com/py-pdf/pypdf/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? (
+ https://github.com/py-pdf/sample-files/archive/${SAMPLE_COMMIT}.tar.gz
+ -> ${PN}-sample-files-${SAMPLE_COMMIT}.gh.tar.gz
+ )
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ >=dev-python/pillow-8.0.0[jpeg,jpeg2k,tiff,zlib,${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_unpack() {
+ default
+ if use test; then
+ mv "sample-files-${SAMPLE_COMMIT}"/* "${S}"/sample-files/ || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/test_reader.py::test_decode_permissions
+ tests/test_workflows.py::test_text_extraction_layout_mode
+ # rely on -Werror
+ tests/test_utils.py::test_deprecate_no_replacement
+ tests/test_workflows.py::test_orientations
+ tests/test_writer.py::test_remove_image_per_type
+ tests/test_generic.py::test_name_object
+ # Internet
+ tests/test_generic.py::test_calling_indirect_objects
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -m "not enable_socket"
+}
diff --git a/dev-python/pyperclip/pyperclip-1.8.2-r1.ebuild b/dev-python/pyperclip/pyperclip-1.8.2-r1.ebuild
index 9d82d6fecef6..fe1d5e7c73a3 100644
--- a/dev-python/pyperclip/pyperclip-1.8.2-r1.ebuild
+++ b/dev-python/pyperclip/pyperclip-1.8.2-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 virtualx pypi
diff --git a/dev-python/pyphen/Manifest b/dev-python/pyphen/Manifest
index 7767458016e3..b6f0d16bf5a7 100644
--- a/dev-python/pyphen/Manifest
+++ b/dev-python/pyphen/Manifest
@@ -1 +1 @@
-DIST pyphen-0.14.0.tar.gz 1986988 BLAKE2B 3513ad1c9fbcc05318764f862a01bc4bbd6ad6a86f120ad93f8ff1d2a979984c35554db85943b5b7423f97e44ea933c64a3bf9c90aeb18629d215292466581b6 SHA512 5e242de2ecd5e951b2e1925df724013c14cea14729e8e0c132ab233c82406b37cc8d1d21cbd1edd748811fa6826a79da7a5ff9dfa859315840560cacae523e13
+DIST pyphen-0.15.0.tar.gz 2072615 BLAKE2B ce5a1d16ade5d1e894b941aa02749de5793d1b11554b232d0a475c687551843171da5c8fb31fa686af524c12693f87baf8e61a7c07e71935ca159fba42e4353f SHA512 c73ec781c92fbac1daadbf435b028a1eb6476df2bec40ceb039d394ae928ab3b3eff4f3ffaf23d847b89e766810a9dd153f6bbcb9678a9f61f65d84206042640
diff --git a/dev-python/pyphen/pyphen-0.14.0.ebuild b/dev-python/pyphen/pyphen-0.14.0.ebuild
deleted file mode 100644
index 864ae9b45a9b..000000000000
--- a/dev-python/pyphen/pyphen-0.14.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python module for hyphenation using hunspell dictionaries"
-HOMEPAGE="
- https://github.com/Kozea/Pyphen/
- https://pypi.org/project/pyphen/
-"
-
-LICENSE="GPL-2+ LGPL-2+ MPL-1.1"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest -o addopts=
-}
diff --git a/dev-python/pyphen/pyphen-0.15.0.ebuild b/dev-python/pyphen/pyphen-0.15.0.ebuild
new file mode 100644
index 000000000000..2fef544a8c28
--- /dev/null
+++ b/dev-python/pyphen/pyphen-0.15.0.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python module for hyphenation using hunspell dictionaries"
+HOMEPAGE="
+ https://github.com/Kozea/Pyphen/
+ https://pypi.org/project/pyphen/
+"
+
+LICENSE="GPL-2+ LGPL-2+ MPL-1.1"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/pypiserver/Manifest b/dev-python/pypiserver/Manifest
index 39fba150f6ba..240b9ba1ca91 100644
--- a/dev-python/pypiserver/Manifest
+++ b/dev-python/pypiserver/Manifest
@@ -1 +1 @@
-DIST pypiserver-2.0.1.gh.tar.gz 156624 BLAKE2B b37700ffe0c7361289a3825dafd86041fab9ddf574d7792c7cd155f7e869a1bdd2de4e2a658c808afc7fe5ee8989876fcb7e85a8da74202c2c4c4344fbaf1df4 SHA512 962b34ea2bbca680fcf7ee8153ecea09c2f0c1bcebaaacee4666c93deab9d2508e08a22d82635a64d8aaec7cab3b5485e3752f1439006ed01b58539035f3b711
+DIST pypiserver-2.1.1.gh.tar.gz 157393 BLAKE2B e80c73b2422dc87bba09d8c9c2e1ffc72017ec58c5530d3debb95560b50a776e1603cb5641c7e4af1ed87d64750843ae025a6a47ab4cc28ce0de1051dd5b214f SHA512 d85afb0d2c85c76a62e393d7d7824e91ff052a04e985278db48010b6f71d12c7749139245e69932b78aefbf3152ba8a8b463bfcd21d1772d047d64f0b164681a
diff --git a/dev-python/pypiserver/files/pypiserver-2.1.1-test-offline.patch b/dev-python/pypiserver/files/pypiserver-2.1.1-test-offline.patch
new file mode 100644
index 000000000000..121677beb1b8
--- /dev/null
+++ b/dev-python/pypiserver/files/pypiserver-2.1.1-test-offline.patch
@@ -0,0 +1,33 @@
+From 749ad0f641ac14cc6e8485ed0b4fdf6aacb6f015 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Thu, 25 Apr 2024 14:44:16 +0200
+Subject: [PATCH] test: Fix running `build` in offline test environment
+
+Fix the `build` calls to use `--no-isolation`, in order to fix
+regression in running tests in an offline environment.
+
+Unlike the previous `setup.py` calls, `build` defaults to creating a new
+virtual environment to perform the build. This, in turn, requires
+fetching the build dependencies from the Internet, effectively making
+the tests error out in an offline environment. Passing `--no-isolation`
+makes `build` use the already-installed host dependencies instead.
+---
+ tests/test_server.py | 5 ++++-
+ 1 file changed, 4 insertions(+), 1 deletion(-)
+
+diff --git a/tests/test_server.py b/tests/test_server.py
+index 92ecdda3..99da611c 100644
+--- a/tests/test_server.py
++++ b/tests/test_server.py
+@@ -148,7 +148,10 @@ def wheel_file(project, tmp_path_factory):
+ if re.match("^3\.7", sys.version):
+ assert run_setup_py(project, f"bdist_wheel -d {distdir}") == 0
+ else:
+- assert run_py_build(project, f"--wheel --outdir {distdir}") == 0
++ assert (
++ run_py_build(project, f"--wheel --no-isolation --outdir {distdir}")
++ == 0
++ )
+ wheels = list(distdir.glob("centodeps*.whl"))
+ assert len(wheels) > 0
+ return wheels[0]
diff --git a/dev-python/pypiserver/pypiserver-2.0.1.ebuild b/dev-python/pypiserver/pypiserver-2.0.1.ebuild
deleted file mode 100644
index ef30107d8ca6..000000000000
--- a/dev-python/pypiserver/pypiserver-2.0.1.ebuild
+++ /dev/null
@@ -1,76 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Minimal PyPI server"
-HOMEPAGE="
- https://github.com/pypiserver/pypiserver/
- https://pypi.org/project/pypiserver/
-"
-SRC_URI="
- https://github.com/pypiserver/pypiserver/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="ZLIB"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- dev-python/bottle[${PYTHON_USEDEP}]
- >=dev-python/pip-7[${PYTHON_USEDEP}]
- >=dev-python/wheel-0.25.0[${PYTHON_USEDEP}]
-"
-# NB: many test deps are optional/specific to tests we skip
-BDEPEND="
- dev-python/setuptools-git[${PYTHON_USEDEP}]
- test? (
- >=dev-python/passlib-1.6[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/webtest[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( CHANGES.rst README.md )
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.5.0-unbundle-bottle.patch"
-)
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # remove bundled bottle (sic!)
- rm pypiserver/bottle.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Internet
- tests/test_server.py::test_hash_algos
- tests/test_server.py::test_pipInstall_openOk
- tests/test_server.py::test_pipInstall_authedOk
- # TODO
- tests/test_app.py::test_root_count
- tests/test_server.py::test_pip_install_open_succeeds
- tests/test_server.py::test_pip_install_authed_succeeds
- # seems to rely on internal bottle details
- tests/test_main.py::test_auto_servers
- )
-
- if ! has_version dev-python/twine; then
- EPYTEST_DESELECT+=(
- tests/test_server.py::test_twine_upload
- tests/test_server.py::test_twine_register
- )
- fi
-
- epytest tests
-}
diff --git a/dev-python/pypiserver/pypiserver-2.1.1.ebuild b/dev-python/pypiserver/pypiserver-2.1.1.ebuild
new file mode 100644
index 000000000000..d3d76d83fd1d
--- /dev/null
+++ b/dev-python/pypiserver/pypiserver-2.1.1.ebuild
@@ -0,0 +1,79 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Minimal PyPI server"
+HOMEPAGE="
+ https://github.com/pypiserver/pypiserver/
+ https://pypi.org/project/pypiserver/
+"
+SRC_URI="
+ https://github.com/pypiserver/pypiserver/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ZLIB"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/bottle[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.2[${PYTHON_USEDEP}]
+ >=dev-python/pip-7[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/importlib-resources[${PYTHON_USEDEP}]
+ ' 3.{10..11})
+"
+# NB: many test deps are optional/specific to tests we skip
+BDEPEND="
+ dev-python/setuptools-git[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/build-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/passlib-1.6[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/webtest[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( CHANGES.rst README.md )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-1.5.0-unbundle-bottle.patch"
+ # https://github.com/pypiserver/pypiserver/pull/571
+ "${FILESDIR}/${P}-test-offline.patch"
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # remove bundled bottle (sic!)
+ rm pypiserver/bottle.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/test_server.py::test_hash_algos
+ tests/test_server.py::test_pip_install_open_succeeds
+ tests/test_server.py::test_pip_install_authed_succeeds
+ # seems to rely on internal bottle details
+ tests/test_main.py::test_auto_servers
+ )
+
+ if ! has_version "dev-python/twine[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_server.py::test_twine_upload
+ tests/test_server.py::test_twine_register
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests
+}
diff --git a/dev-python/pypng/pypng-0.20220715.0.ebuild b/dev-python/pypng/pypng-0.20220715.0.ebuild
index f206fc76de27..f2dec88401a5 100644
--- a/dev-python/pypng/pypng-0.20220715.0.ebuild
+++ b/dev-python/pypng/pypng-0.20220715.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pyproj/Manifest b/dev-python/pyproj/Manifest
index 43bfc94e36e5..1cf1895e0746 100644
--- a/dev-python/pyproj/Manifest
+++ b/dev-python/pyproj/Manifest
@@ -1,2 +1 @@
-DIST pyproj-3.6.0.gh.tar.gz 238966 BLAKE2B 441904a343b7abab19e9d17a1bcb053d4f5606886b1325cfadcdd8456b61871bee4d13c49802008aea5c5864c40ef15a4a7681969890368a1991ba696b76ab78 SHA512 e713de94331022112049e76f7f56d24439a0dee339e8419acf8b023b3234a7c2ba468bed880749036fca2a93b289575ebb74854ba178f3b6debae8aa53befcf7
DIST pyproj-3.6.1.gh.tar.gz 239568 BLAKE2B e396e7c13dfc90f8a8eaf93b7bc0e62921779930d9c42b21ce8afa95597b13e527c179096600f40140d6d00d0f425580fccc34ae55a4e8c985d1b618554c9db4 SHA512 19c55e7ab99aae70bc318246146dc98ba75cc4884de798392f590df48c6a83e1b80504fd9c555ffd9d19262eb93cdf2c46e4805a3ae6dc07b3eaa4669f025ff0
diff --git a/dev-python/pyproj/pyproj-3.6.0.ebuild b/dev-python/pyproj/pyproj-3.6.0.ebuild
deleted file mode 100644
index 8f2f8f259d9b..000000000000
--- a/dev-python/pyproj/pyproj-3.6.0.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python interface to the PROJ library"
-HOMEPAGE="
- https://github.com/pyproj4/pyproj/
- https://pypi.org/project/pyproj/
-"
-SRC_URI="
- https://github.com/pyproj4/pyproj/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~x86 ~amd64-linux"
-
-DEPEND="
- >=sci-libs/proj-9.0.0:=
-"
-RDEPEND="
- dev-python/certifi[${PYTHON_USEDEP}]
- ${DEPEND}
-"
-# <cython-3: https://bugs.gentoo.org/911736
-BDEPEND="
- <dev-python/cython-3[${PYTHON_USEDEP}]
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/shapely[${PYTHON_USEDEP}]
- dev-python/xarray[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_configure() {
- # Avoid greedily trying -L/usr/lib, etc
- # https://github.com/pyproj4/pyproj/blob/main/setup.py#L76
- export PROJ_LIBDIR="${ESYSROOT}/usr/$(get_libdir)"
- export PROJ_INCDIR="${ESYSROOT}/usr/include"
-}
-
-python_test() {
- rm -rf pyproj || die
- epytest -m "not network" test
-}
diff --git a/dev-python/pyproj/pyproj-3.6.1.ebuild b/dev-python/pyproj/pyproj-3.6.1.ebuild
index 09c6155730e6..ed02e6a74c0c 100644
--- a/dev-python/pyproj/pyproj-3.6.1.ebuild
+++ b/dev-python/pyproj/pyproj-3.6.1.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
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pyproject-api/Manifest b/dev-python/pyproject-api/Manifest
index b616b2164cc4..5e56a747aa86 100644
--- a/dev-python/pyproject-api/Manifest
+++ b/dev-python/pyproject-api/Manifest
@@ -1 +1 @@
-DIST pyproject_api-1.6.1.tar.gz 22507 BLAKE2B 8e10240f57e321e4ae78f3269c7b61cdabf29a40a4d6f374dd97451a9dc237a9ae022020c6d1e6ab140dd8c121cb93199d4ec7030c50f7ab6a492670576aeef5 SHA512 a2c1d19dc47a1deb2e3f4d65243e41310434c739a70960ae5a18d8caab11d36fe232b173db253392ff5c3432024b5c494728950d1495d6b9d5c4acf6ad0a2e90
+DIST pyproject_api-1.7.1.tar.gz 22271 BLAKE2B 833001e4638594e61ba8dd97e2e62dffd25650cc30cbcdb9367f09605e128733d7c8945afeadc5ba16d15e932da0cc60eee2715eeef21290c04a73f74165e748 SHA512 e016d612578f46dbb5ab9d406d01513d8e1528524dcb58c4ebe76c5d7518289da187bed0e500d382b37aaac0e38236d54a88e7cc1f3a2a6876088b26d17337a8
diff --git a/dev-python/pyproject-api/pyproject-api-1.6.1.ebuild b/dev-python/pyproject-api/pyproject-api-1.6.1.ebuild
deleted file mode 100644
index 1d96554b6697..000000000000
--- a/dev-python/pyproject-api/pyproject-api-1.6.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2022-2023 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="API to interact with the python pyproject.toml based projects"
-HOMEPAGE="
- https://github.com/tox-dev/pyproject-api/
- https://pypi.org/project/pyproject-api/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- ' 3.{9..10})
-"
-BDEPEND="
- >=dev-python/hatch-vcs-0.3.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/pytest-mock-3.11.1[${PYTHON_USEDEP}]
- >=dev-python/setuptools-68.1.2[${PYTHON_USEDEP}]
- >=dev-python/wheel-0.40.2[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- tests/test_frontend_setuptools.py::test_setuptools_prepare_metadata_for_build_wheel
- # requires Python 2 installed
- tests/test_frontend.py::test_can_build_on_python_2
-)
diff --git a/dev-python/pyproject-api/pyproject-api-1.7.1.ebuild b/dev-python/pyproject-api/pyproject-api-1.7.1.ebuild
new file mode 100644
index 000000000000..c2432e481486
--- /dev/null
+++ b/dev-python/pyproject-api/pyproject-api-1.7.1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="API to interact with the python pyproject.toml based projects"
+HOMEPAGE="
+ https://github.com/tox-dev/pyproject-api/
+ https://pypi.org/project/pyproject-api/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/packaging-24.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+"
+BDEPEND="
+ >=dev-python/hatch-vcs-0.3.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/pytest-mock-3.11.1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-68.1.2[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.40.2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # hardcodes assumptions specific to setuptools-70.1.0
+ tests/test_frontend_setuptools.py::test_setuptools_get_requires_for_build_wheel
+)
diff --git a/dev-python/pyproject-fmt-rust/Manifest b/dev-python/pyproject-fmt-rust/Manifest
new file mode 100644
index 000000000000..df324e1fa6a2
--- /dev/null
+++ b/dev-python/pyproject-fmt-rust/Manifest
@@ -0,0 +1,117 @@
+DIST ahash-0.8.11.crate 43607 BLAKE2B 7dff8e41798ba25df8c4827ff414a182bb25da4825f0119a74916fe775db5445b87be8fc87f7c7f98d3b5053e1d47546f98873de1a942d36e5f308a3fb7dd620 SHA512 47d211b2422de0b381dfe32229faa346406eb7a22dff867dc04c22389609a8671ce3218e662000c49891a06c259d82e0ff4413740f007729d80e097a6c3f0d9d
+DIST aho-corasick-1.1.3.crate 183311 BLAKE2B 8dfcbba0b9d94e55eae739b16f5c6474baa43ee7854c5ca792f426a9f46fb0eece79cd493b804e51449181bcad338b96819fe977c02c9907654d713e26b9f830 SHA512 ba422a54688c4678fcf16e34fdf3ed06c333e6e3fc8b75af9272a215add494d43ebaef319021134b61327fd5d3572aec0dc655b714ffb3bc71ba3c265c9ebb69
+DIST any_ascii-0.1.7.crate 220683 BLAKE2B 77342934676213b4898158ab03f1f73826d8aba212c47ded874d42c7ff8a0d95ccd88950381348fddf895bfc5570fa81ad3459fe10f52ba630c0e50c75dcacaf SHA512 3fe4e0c10c32983c3c725a5930f0bf7c752942c6dd0818b93bae9808e72d5a87725733a85b11cabb8fea630f524fd4b7a13160112f8bb7cc24515bcc384d6dbc
+DIST arc-swap-1.7.1.crate 68512 BLAKE2B 5ddeffd2ae8af4125a5b43d4a0a1afc7948533bf037d8cd3e47603c13b57b156618280d99b840bf318b25b6eb29400ad68499695e182acdc05bc5f621c42ee16 SHA512 070fa8dd17b380b6d7d72f6f45c84e591de9a9770b9662351e7a41af03798bf5e34d185a5fcb948f4d8ac5e210a33acd465c39eff6097662c2442b34ee3dbdff
+DIST autocfg-1.2.0.crate 14808 BLAKE2B 122327d6ffd32e08dc9fbdb4dcf69128b19d56280f9d934311b946741003b40571cdd1f3ef54b2be02c8dc505aea11c962b244d33a92206bf4ee8f6b2b9da432 SHA512 66cbfd13e33b36284cf4c74c8d654f93adcc45893d127d9aaa4c1d183e47336096e72d74e7c17dd481fb7a98931ab6cfec7e4d4165cfb491861d4e3ffe2416fc
+DIST beef-0.5.2.crate 15275 BLAKE2B 95d60fb1840ca26581841ad65a4e8f3f99d5f8d44c569219f4d06ce441bb3a4ba558e231e73a51cd1c6b4d9e4cc6a07942115c134289fb1982dace03049d3a1e SHA512 755fc588acbf730bc9c80dbfc20cd0ef81f792a94da0dd28379ad83a7359ddd4c7b136ba8048dd460bb8652475db3d12814fcbd04eff4ebe8ec8a1bcd024c2aa
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST bstr-1.9.1.crate 380305 BLAKE2B 52b45bd48874d052636c6b451cc36d8b012808ea5193e0188e5edd09f81d21b8306926cfebb405ad0650ec9aa710f609bacaa773bf854b21f4803dc38bb2eca7 SHA512 67e9f76719310de60f46adf3c39768b4dc078d4c32dc6bdcec1a94cd9f630c5238e427ed84cd6ec25a44f54e84adeb795a0e92060a5372d9fb9ad9f0914e3172
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST countme-3.0.1.crate 10784 BLAKE2B de1803559fab0accab1edcf5db43279dfa3d7b2874f5c0ee300f46ccccc8ce4c5c3d92c5a3c211068430d903f2e9288ea07fff532d84e3c0f80edadb0752a803 SHA512 f4c8c0977c6871ac8b7eab15904789ca53cbb28385a6fc90d880f85afb44bf10602850198c624963c7db04dbee8c97e271865ae2eadfdf840c21792de4f2af47
+DIST deranged-0.3.11.crate 18043 BLAKE2B 738d5a88732e227bb0e0d33c04ab8248a699c7c499100666ffcd78673d1f38ad2d740222ab405e3eaa7a0a6f4596cfef90bd581a1baf77c954dca830c22e74f9 SHA512 48485666d3e50eb7976e91bed36bddbaea80fac4ac664723130069bd7d17893b6d1a2b82a4c3dd61677162e4305ba5ea8aec7bc2793d1b8b92dd1666c204fc43
+DIST derivative-2.2.0.crate 48076 BLAKE2B 56d27e27493c3b818ad45703efda607a0a0d9a48b0d43785b6a013443b8b964b67bb5b5284d242358415c5fb81b86b02079ee7c0595ec07bc658240eb114b887 SHA512 3c65ecdabd2dc202be3d83b06f96b6f68504fe542ede7e2285093c6d360a33ec76a3787c436c6e5ff8f59d430436a4b8ce2f908cf7b2b08cd8b0045de4e5d1da
+DIST either-1.11.0.crate 18973 BLAKE2B 31ece6eb44a367926b5f9ee817f6ac9d93746f5b95c95fab360361f6b3a02160c682d298d115f39615e5b4758953f3f29ece22a72fe4285875dce03483f87486 SHA512 f62a3859afdba762b004d4c766090a25d3bd81e4a14509c3bd0f39b0d433aeff997b39759f7dbc5a012bf3b680fc4510a4b2643d63dda8171bad7403554905ff
+DIST fnv-1.0.7.crate 11266 BLAKE2B 81da85889c91b6567e0f555e37dd915f1bd919719d1ca10c31a6861d7aec29a49ae9c1e8bc500791bf9d6b8dbb318c096d04872c5872a4b1f7d45fbd8e12842d SHA512 2195a4b34a78e2dd9838caf0ee556bf87cbb4a8ef5505aac663b614eb59dcfc0c40f432463ede41ecca57bfe7711f72673d39a85fe03d426f1324097d5628334
+DIST form_urlencoded-1.2.1.crate 8969 BLAKE2B 383d3a197b73fba199220b7708e16d770591ac16725faf4efc1a8c230c569c381870d4a11b8fba623e761e68f9d318630b22101d461e67dd26c67e13a73358a1 SHA512 c65104e2dc08fad572bb31f981700fd43dd29fcff42b01c7ccdbd3d4c23dec12360aed3f1b5fc4766fee386d418a65349b2941b8735f788cb0d35d631a6a8dd1
+DIST futures-0.3.30.crate 53828 BLAKE2B 4e595639500f7147ceb994359ef1656ed096ea679409a5721c05ff84ba439fe4e82563a7cf8dca9aed4cd16b03e89ba1385b0a34feed9d4923871225e131b91e SHA512 98fc67bf1047609c8bb0763c00ab9cb39b6a6d0cb7d993bce4966ddc2492a6578b789e98095981b207ddd73ac4b1dfcd5224b352a0e970eed347537c6fbea43e
+DIST futures-channel-0.3.30.crate 31736 BLAKE2B 57461dbb723fd53daa07b2fe6164125508cc3901e0138d2a60da5c814ade415a3611baa45c71487f1853812282ef358c132785ff40c630408e8544d57eee3483 SHA512 689531748821529c528772a6dd0f27362078ff5803d2e0b431ee5a0ecf8787b5a15262d65d52f48486ded46b88f7a9c477ad95cc2c5a3e8f5f9b9f53f367832c
+DIST futures-core-0.3.30.crate 14071 BLAKE2B 76a9fa5aedd0d4ae8dd9db9639839b6b342125759c1b9f9bbf58aacb4ecca316ff1f24ff8f3c15f559ffbf974e4c2cd02a5418cb4c4d7612dac8449c8234eeb8 SHA512 3c7259ddacbe02e47a84178b75e5f13523bd0c8f8bc0b2375f7ecca60b7075695ee0a5cc4e1c1de26665cf250271173be803661e2f2f53e2a3b96380a8efe7c4
+DIST futures-executor-0.3.30.crate 17744 BLAKE2B 927abec40eab31251409149179baa95a8d025f9cdb848afa83f95439c4768abbf6da8e2163291a086ea0b83b0b650d1e19cb8e15f70369b70efdc70eb3121f6b SHA512 fa65c038e5eeee695b2673cd65cf7529713bef47da373290595b554bc287267ee5cd015ddeda5a22169cc8828717987364584a91a69685cdbfc0fc779abd764f
+DIST futures-io-0.3.30.crate 8910 BLAKE2B c9af4290f45a9fd0839e107fbdfa4abff4f9077ff45b61054670419076f1c4508d7d560d4d86f8cd7ce146e436e531b9f5e0abfed2c4f2406c57be209cfdd498 SHA512 077acf5eab1101917b5b4b4b83347d30d533110d9a34c2de6db1411ffae0f0530f457033c5a5c14249119e89375c9f12127790b46e486dcd003a12a6fad48bc2
+DIST futures-macro-0.3.30.crate 11278 BLAKE2B 6311039db4bd31242e4f45bb7c581bec28eec9da850c47ffd9235c4baef5e5f1c72155f49573b2dc942a9cf246949b79c7d35200d04f91a13b0205cbd33d96c0 SHA512 220b5cc61c744617479d7e8ef9888785a17b9bc26c517c9c4445a39e8be21f111f77e53bfb3d143df18dfde23feccee17e349a84b897eb4d86f94d7ae4f714cc
+DIST futures-sink-0.3.30.crate 7852 BLAKE2B dc768e4ec4c9f9dfb22a20c1c977401d859072b9222e6f77978332f495cbd0f764b175a679c9d7c77028d7b56cda5e2d86188ee979c7f323187defa6a0485ce3 SHA512 1c198da8f4118d9a9ab2b597e3f7b4e1ac7094dfa547bb81f3c4148c45216ef55b309255849174a517ebddba6c874283425f1df6e56e2ba5150af091bacf46a3
+DIST futures-task-0.3.30.crate 11126 BLAKE2B c2ded9b9b709fc10c44cfeaa72d4e7477e43331b14f3e72433b25126fef93f2812a09b4fdc3c246b7379d41d3764ba17fa87c3e9c131095864cbb5f54771a204 SHA512 c190fa0acf7ff15fa67fe172911cfae803b2a8c08168570a5518a40767d08134f147259a413ab25c45cac5dbf2f601a9753c77ab0eb2c180cad2fe48cfe3867d
+DIST futures-timer-3.0.3.crate 19739 BLAKE2B b7af71c761197056a6a4db03caa30f31c104de0049c09f52b18b80718ad20c95e0e64bc7a3618c29d1c9a5ef0309379044fdd9c1fee8465930d28b2c58927733 SHA512 c50388e38b45dce2a65a8d7ce56bcd9c3544ae677158c4c10c532136e861c16f0f52df5222a14c0f40ad8e4faf93fde8223affa7fd84d24e95aa6994177e7e76
+DIST futures-util-0.3.30.crate 159977 BLAKE2B 9012edf76336952dab02cb61db48dfc74b6cfc17c137c36372709e8d575b306a4d7c4da89328067c9482a645aceb7b44ef57deb21a0c25964a5515e738a039d0 SHA512 7faae5aa35641d858d0f5430e4a69acd4ba9037852ad73c5a890bffeed411d28820883e18bad4ca8f7b0a765f9f4c5dbeaf5d0cfaaf90c2c69846434ae091951
+DIST getrandom-0.2.14.crate 37307 BLAKE2B 5904388869335ea904d950ee83ad1867a0d3f6831b7139102b53f4bb4a2c12371c9396f1f1cbcc44e3ce69a4ea316651b1674722071bfa7562385ad4b6a88c33 SHA512 6c334415e09f570e3123e3c6c6eed1727533ac6c9c4142e16ae995c237a16effe146832a891be9fdde4335bd02b454e0fdd9160f20dc02f107ad106756221658
+DIST glob-0.3.1.crate 18880 BLAKE2B dc89b3a664e810264dd7a01ad892e865ce35b504bfe5dba12d7ea8084da7de84feaa94c2208f1a1eefed90297e552636ad61ccebf6fc8cb4d01f27d605ad0a09 SHA512 29368160138bcb7ea5660f9f30c5711cfca8bc8ba836bbade3fbe8c424e7b4118daf27cffa677962e37e36f025fd2bb5a9c2aea865b0ff155cace455dfbb658b
+DIST globset-0.4.14.crate 25090 BLAKE2B 2c3e6f8384a066ebfa1f36bf03125b5eae79329255674e32c58963451d4b342ada10f17524232a953bee133b3c77b678a141543759ebc622b5fd659fe55622ae SHA512 e83e4f5e42a97609e2579b09f49c2cb0a76a94e7e2975c5871f2c5af5d3b809736e0a7b220404c582f4a0c7eebdbfad6cb432e89b26401b58f2b253f8c0151bc
+DIST hashbrown-0.14.3.crate 141425 BLAKE2B 23c63a99c6c6b7a6b9b9e8bbbc7f1e342e1eb9d7582fc9eb408d3eec50c99f34502d450170bcfef4da7f2b1e743e1d1619875ec879e4753dffcb84f3c10dc3b2 SHA512 4d344e5c89ce58e04668b80ef10e4e110a3a5daf4d610c52d980577795d0e2050c7d0b151d8ba97128117665e27b92ab0300f85b88bd6e1de943c62d49249356
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST idna-0.5.0.crate 271940 BLAKE2B 0b781c2e9bf717af429efb53bdfd18244f2b8c58e5111c3bd3bee50c8a01cc747513fe20db75c38b6b771d5845647bf6c1849ae6667766c9623e018c1f399a9b SHA512 bee6cfbfc99859b113aa8c7b487429a836dabc4e317980f132d28ff8333336f33480bf9f8b186a07115eff33024cd855bc85d346fce85e17c4132e886769c54c
+DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
+DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3
+DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311
+DIST lexical-sort-0.3.1.crate 63689 BLAKE2B 801e69d0643785e82a86d25620a2e97330d0adf17e82aa1130aa30d1b885f58bebab3751ce7fb7e82986388464af9cd958ed9adfb422ae10840f256d7b4a1aac SHA512 ca7885bc22b4b67053aa7c83299459d5b1f5e627eddbde4827b6a5bf09827ef81d506a445a5a742bc6736cb9e02d7f9b458f16b87ad1af038ea4559ca0184c69
+DIST libc-0.2.153.crate 740614 BLAKE2B 523a41bc8cff4ebcba0edbbe9e6a2286ec7cb3ba5e90ca5926c972b68e4b34188bc077d20c22376238c3cd91b7455898a95c505ace4ededea88cc496edb4c5a7 SHA512 3f99e3a192974fffdc053ef21e9ad5fb54b7cdbd4755df176704a95dba38047138ccab76763e89c6b565f37f98fd549fe368749f84f6d1638b3209cb07eae9b4
+DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3
+DIST log-0.4.21.crate 43442 BLAKE2B 8429b3270794d3e2c7f7d5b58bd4fa1abb9d4807ab3a1ac980ac81c11d9544635003d8cf2e608c2c0094865459108a2879f280278e121df68d09bc1561d604ba SHA512 0becc1a06b6e7048cff6c0bb8df49a16ac4772133c00239e9e9459c0811e7715c500f440cf1a9aef8d7ad74f57434559ca9b55917f588b8e476cf36eb6d4e10b
+DIST logos-0.12.1.crate 8973 BLAKE2B 344780990917e2c15caeebab955e98ec155f240056b3239bdc9db723e44929c135d4e783a5d3a5af256d7bea2363bfb74a3002ace1865fdd4840bb03a4d79ece SHA512 011bcf2bed59e5c707adb8ce50b26bb845631595426429e741231613e215286c2c05f3ae9fc5b7336b7e7fd0690a9fae2579413b750f7694b6c475d0fca3278d
+DIST logos-derive-0.12.1.crate 32282 BLAKE2B e4f6a72c73abb8a02995214dc8f29e9296ee40e4a03f055091256beabce54cd8100b10e8e2459db1fa359dc85c9893e7662fe0eb9cd3af2e27062b34f8e5c602 SHA512 bf78b10d511adf523edcb7c9cc0401d49417f728e82dce5a3cf2679d897f5a089adc72616e77c9d51b1661ee39b925eea1365f3f924114aff091593a4960ce87
+DIST memchr-2.7.2.crate 96220 BLAKE2B 2399064b6db21838d4aa0b25ed0bf04940ee3820741658cc6bf62e5ade08f41320df743ff13f99b2781da7b844e18deb1cfe25fe570f0e93f98ff03ca5d442e3 SHA512 cadcb4239c7f3aaab042592c5186770a225621e32f8583052fd3dbebb4a6d9b99be28f589b39b5ca36cb2d56fb3709e7d4ba91838ebb882e28e51280c02bbc40
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
+DIST num-conv-0.1.0.crate 7444 BLAKE2B 4f5c4695006aa3ae77aaf5c55999a07d8ddfab294584fe10d73eb6abbb3f551846646156581599f966a28c74d80d3ac4373c49d2099991f7ed9edb56d36feec4 SHA512 7884c0c6599c66e40b9a79435e1bbcec60aa7e68b59686922dfab19ccbcac6a6e54f208cfb3d5a8a12e86e4dd67e09977d60b69ef6940e308a28256733f36100
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
+DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
+DIST parking_lot_core-0.9.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032
+DIST pep440_rs-0.6.0.crate 42496 BLAKE2B 46d1ce98ab48233799acca4e1aab1d4837ad0c4814cafe6d971a39c5d1fefe034896ce1d468ffe77b9a61f3c52fe7a1ee05e590eb4c67c718356e54da9349d50 SHA512 4c50012b5d04227d0dc8cd919b10b774d7c1abcc08bc5d0f9e7817c846ae906b9cb60cf2b0d65c9ca37d3b5b592e50d5847aebbf136366b4032105b287167b8a
+DIST pep508_rs-0.6.0.crate 34138 BLAKE2B 3eed7514426f0aa1a17be19727cd0dff745a6f2caaca2beaa29a4a4070722bb7e5aae72d9aa0ff8642e927fa5ba6801cb680f875c9ad5c55b648b503b7f998cc SHA512 fe7acd77ea677b7bf2096d7f9eeddd89478becf87b05bba604344c1ecff876a7c7feb75ac2e1ab1d39b2165905b206fa3877269e69aa6eabf3cf6db1427dbeea
+DIST percent-encoding-2.3.1.crate 10235 BLAKE2B cf8e2fd7b359a05b7bdaf731f9ae84c7fe6f468a53482eb2db7f93dfdaab64ac812b3664899db260055a93449462e6d219c695942fc5b030517b197b4df9b95f SHA512 5951ea8315e52cf3acfbaa023cb9e13a136b114c54a7da0bd44619ae24cd2159d4a96469d7572a2fdabd94e19513a033387117d7ca81d0eb409fb383e4acda44
+DIST pin-project-lite-0.2.14.crate 28817 BLAKE2B 8e9875967059faff399fbffff82cf8835982c46ea8df942acf50b038e3f500e04d3d8cde39da5a71ebcc38b869553f8c49830e484d1109b353247a4cfdeda89e SHA512 f90a6b9f5ab8701718f72677a4f3597c1b9f32e5fa53198b47a94696227ea37815997599abaa6058b217c5b32a94602582c6b13fdb66e2d683bc98921de95293
+DIST pin-utils-0.1.0.crate 7580 BLAKE2B 457e1287202f16d1873b24bf4f1de1828300128c4ba3131758e64f9784d36d47365f22d85493c3a85d854f0d8dbb4c6cef3a0f5b064014dc03943e58b7ba9178 SHA512 828422b8440cc82ac6b0743e0112fa7540d437aed457564999092b1462cd7672cd6b1f0201b67075431aeedd3d9c5127468a3dd028744109944f7f023c82fd70
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
+DIST powerfmt-0.2.0.crate 15165 BLAKE2B a3e1ce63f5866f75526eeb749bec6607e42cb495bbb953082cde7e98e6aa429ecaa41889d98ff7ed4cf5031258b4f7e0553ff8fc435b3b6f8b4ef2b6d53d9b61 SHA512 0623f92e4d6ab284b3f6dae58220d79d9185df4a738999d68040c50d72fe0380d70358cb622f079c629bab53bb03c6e085e165d5bddfbeea84245864fed90029
+DIST proc-macro2-1.0.81.crate 48233 BLAKE2B 94319064772c757b6bf57eb9e759e827454f719d82210271ebab9c6ee4ecfddc9099522cdc8595123efe2efb64fd50eadd7e31419c5842ff1cb8fdd32e8daa0c SHA512 7edec4b786d9fe076ced4fa5c0d369c163fd1c27c895431245a8268ab2e16665b7c0a585552d46ceee6b8103979a4201f92abb381f0e678128abed359f514de7
+DIST pyo3-0.21.2.crate 504574 BLAKE2B 1b8bf374d1b61e3e4bedce6344338126051a6d951ea87d258e5ed92d4c0e13b0202f2e7e56500277c54743dd16c9b4587f436cf2058567501c8a9ac7c6b6c17a SHA512 5f88cda423e82b62698a74ceaa31fc27e5c1f1d417928accddb2e00337d163fda622f774ae6e24c1cb73c467d6b01e9a2ba866e4454338b1fbfc892ae14ffc53
+DIST pyo3-build-config-0.21.2.crate 30581 BLAKE2B 993c1f7f15124336b70570ed3949cc0873c2b883e81dd3a350f347cf014fb9a82d487197fdaf475989b727b7ee8d9a5511a72422f76126b8788c4f40831baed8 SHA512 8b6bedb31235de3dd95bca6e19ea4eb7752227ceb9f1c928c4df2b277df5ee443e5c262e448012e4e54e3104213db4d745c9c42f79ab3029dee68f48ec3a2795
+DIST pyo3-ffi-0.21.2.crate 66160 BLAKE2B 759622fa3a41bcdb48170983c4e194898415f8db16a7c57ace89a7945bd47374d9a14e5ecf24e80a178bde597cfa30d41f9e6617b458d365640bdbda048e6f6e SHA512 5cbc9dfb14569210776fd66341e77e61642a9920354251a65b91aa13a0fb1c373258d1a6b4f8feacdc4266d472193d8f20a6dd2cc180ccc3d43fb66237ae6d0d
+DIST pyo3-macros-0.21.2.crate 7920 BLAKE2B 60ceb626fd1ffeca7e81ebc721bb4cfebd99bb708d48bbfdd296b250ed41471f82e8657715e1f58840423ac11d8c5a84a6107a7037affdea4e0c2cc561514ed7 SHA512 95335a55d57346107fdc7591d51e36aa0a985d6c44a875475a0ed52df25d33b21a7b922fdab0eed190da9708968e79f7cd50bc683b6d210eb068713a915ac7f4
+DIST pyo3-macros-backend-0.21.2.crate 58088 BLAKE2B 05dd49983c8aeddc47cd94f6cd58f10e41ad6f4ec57006908cde4fe3edbcf6814058d7843a88c9dbeb0824f840ad3509414c52e47fffe5ad4b730f791c9a3f19 SHA512 f8488ba0a68f1ae20d053e2323d065f03b40c24231a50b05205b100e973ae50bc7bb9c25e4d37df56f4cfa73d2001655ce9685078d1017a4a90bd7945c01b833
+DIST pyproject_fmt_rust-1.1.3.tar.gz 33710 BLAKE2B 254a2a9173c57d2d22fa19043b9d144c425209570039af2330130ee14dbde387c1b748bbd0b7aa7fd81df78b43cd78021602ae6a7a05a4336cee85c40fffadc8 SHA512 c96f5b1233287a19e87c9a1a33dedfa3e015b2846b8fb80e36b99ae1227a3f583af6934ee32db5e0a22068264aede434af7eb3df353c58f7a53e434011a3e05d
+DIST pyproject_fmt_rust-1.1.4.tar.gz 34558 BLAKE2B 1b0361e74b4acdb6863937356e5c329452d1854fcb666ae8fd9517c870d1d4ab813eed9aadecdae7f66328f84cadbc021b30169f960c8ff3abef17e0928cf197 SHA512 b0ca84d7d6c44cd9f1c8ead26cdf49680d4e67a91f1c169f2a5484d90bd1ca5bd6094a7c307d8bb4ec6c8f52528e250d7534882f16ec4581eabe135539e833e9
+DIST pyproject_fmt_rust-1.1.5.tar.gz 34645 BLAKE2B d857e0ab978d4383beec201da0081cebc4ca85be5b7b1330a04c952d972e1441859733f6932c3f5d72048e34d750b286f712fbfd517a510a67b1ab264c564a3f SHA512 c2887fc2b135e391f10bdf5ef44aa2d00d405c75a65ded1927c2eb642ba5bc9881261b4122474afac5c7ac8b7685d35eef7a39da0403d3c8b48c500b2280e17f
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
+DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
+DIST regex-1.10.4.crate 253191 BLAKE2B 08bdb925efbea1ee9f885a89ec6b4692e39d7b17039f788e5b3c1dbfb7847d4f53b67f0c61e4085af7ef4901e67e33ea94948668bf706fef19b4102a06ef0447 SHA512 88ef121a51759f418d5dc01607a6e02651bd00343dae92962c02a80f30343d3f079a0375457780ce46bf205ca38f279b03989154638199fe2fcede10554bf21b
+DIST regex-automata-0.4.6.crate 617565 BLAKE2B 8f1e2a3cc1d2d50478776281d2bf10164ef441dcf7127994f4a0341ec40588ec8dc1c07fdf9f670da9e61a7753551500b80314df130370b61d2c03c2b2e3135a SHA512 b288e1facae2612f73d3de3fe9fd1af13d337107004f990263abe6277b31b948478ad9c2b807dcafa73fa565e48bdf2113139f5ca67eb73165b7d29e2ee5c9f1
+DIST regex-syntax-0.6.29.crate 299752 BLAKE2B 2408ebfe5f0dd6578c33f18e8ea9a0a7a84388420c5b67adcaedde477f3f67fb3e39ba9fab1f6892c7ae7fff754c4aca51314601529cabc6a8fc43af38a11f88 SHA512 28a58950d15df1f0ac4ff4185c05b535e8f5bf0b75f79fad24e40e17a02570d1c9bd9cfc919eed8756a1069bc489c5fdccfd04f6b8266c83e3412b7b4bdc262e
+DIST regex-syntax-0.8.3.crate 347497 BLAKE2B 9ac2f63098ffa3fff51fe2bc0bcf9ef164cf9389a909a3f0cb668d2598e7ca65d573e47d571ee2e6bba3a1a96ef7c298b8d681e1ef89c8c53b7d590e0e22839b SHA512 925f7bcc50d94c65d34fcc770c6e58dd5b8a045541c0109e77b8efe842eef4c110087ac9c0f86c7c3022ed013abbc5c0a187d796dce292ad5361a0cdf7153d76
+DIST relative-path-1.9.2.crate 22420 BLAKE2B e2fdcef72f1633b2c315e5d2d316d56defe758fa916e872d84a8450ca0223f54489541175940beb43347c3a1759e4ca4d4afbd49410859cfeb6bfc703bc7a8ae SHA512 fa12c9df710fa3b5f9df9ada9efb13cd52cc10b151cdba5ed094fe74c6102cc557a5f38d05c9c0fddf2510aa13604428aecb4ee9b84405d02a98e6ba3177b2be
+DIST rowan-0.15.15.crate 39971 BLAKE2B 26f2ac9d56998141d770bd2a4c9d19500591c814c497f9e2ebc45d89c440a623021469aa54e2775f5138aa0b87d7a1fd73b731e033822ee193122750e6cae29d SHA512 77caf068a088d2ae7fa333b744a30483b560c395fb7e6d3958858da871b495bbdcd8bd8472f44a247cbaa315fe4c7174c6d85b61cf30a0eeb7b0cbd3526ced2c
+DIST rstest-0.19.0.crate 32932 BLAKE2B d9a59bbb9fbb1f51fc55e843530d1cc7648d20d69a76a17d678f2f66bc7ec45a1ca3c77922c86d0d370c66fdf1f90e3070cf7bed6199bdbc06ef1a9faf13ad6d SHA512 d6f4288225a3cf0e8bf7429d915b6ce1ffeca0024666ecc272fb775f31cd800b2d22a1bb2b987723ed7dae00edc1ba13d50b1769d4977000e1a4c29ccd4d0ef7
+DIST rstest_macros-0.19.0.crate 61243 BLAKE2B d653e0c8d046690c47d80313db5092018cbc883dd86680dc2af041d1c9099a6245e63256758f17f57a20670efe1036de16f8c4aa3c70c74b55e82685ca21ebf6 SHA512 fed39ce5b14e1cfe6c4bb6983e62ad5b494715cc7240c147de90d1c62014c7f1329ddb101b03497a3b1388ef7e4ee0df9ceefe411e38853e08b2d0f3b7e4227b
+DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
+DIST rustc_version-0.4.0.crate 12175 BLAKE2B 6fda2ce03eab45d7193fa0d70175cc7ffb56b7be85fb1314092bdcfd3948ea145420569ace3a47218a4a2a6e44a818862cea6dd8cfb945475496f63b591c29da SHA512 f66da7c6efe431db06cd01180d84ba67fcd38f8cd6ef693762957c00ccc2211f23c08079d7f184776e08f28d2d6ca3bdb5f5016f7de245c6193d4722891ba1db
+DIST ryu-1.0.17.crate 47537 BLAKE2B 28408e17a4322f1afb6f21bc8d7328c39d07186de4d464f8e9bd63a69757cb4af61b46e558075e14836f310f020ac824d5ffa616fc0a5ffba59b9df0bb66ffc4 SHA512 6dad725c4fb2d3a33ea30107b63cb702eed56bd2f3c16a72265f648f5aaefcd3d5a7b919b1d037af926cc6311bc68ba58c4e0483da2b2e2135c6a7c2d6601af4
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
+DIST semver-1.0.22.crate 30446 BLAKE2B b77a951d959a3685b0373c80b9991a8567f8926d093b23b7b8fab48595b5d565acf7408fbfc8f4d58331f39e316a8068885d28bcd70c1476d1cda436a2dd88b2 SHA512 7dcf9b6a02650d71d6c9ab3c29e44fdef95af296208f26aa7be6fd6e16773e5e5e66418c303a0589d1165df6dbfd46ad6ebf9eb5b3adab25a51f340947b2d949
+DIST serde-1.0.198.crate 77577 BLAKE2B 10d18e00a17f38e6eca67f78a3df6bea777053b4c510be7fb89ecde7d0ac2ffe37399031ea0cdc6113a0b80f8f3f1095271bc6aa3f2147e2d675cb3f5df713d1 SHA512 561e4ec8858148e9cf59f1b824c489ab259b63819e6b031205db8d89b30a5b0c12c3828fc587cef67316d1b9752f3618d089fa21b3a27cb87a074d943f27c7ff
+DIST serde_derive-1.0.198.crate 55787 BLAKE2B 6fb5b68d3bd0010283a1f61d9af5471845d9f2f5a6b476245348c6bf3d3c5d3026325de87cc8ffab0300d31dfe03e093acc40e4a7f334d33b9d33cb8e03645c0 SHA512 f33fd1e1ced08a305a41114e354ec174e09c8918e28bd486549ffbb859a139e41b5de27932cb24767f4b3db4703c25e6987c55c9b3ea566d60b9f6cd893b38ef
+DIST serde_json-1.0.116.crate 146790 BLAKE2B 20492ac3c431fd3666599f079383a9d945549e02357127a58acaa7011684ef0caca221a253218402ceff6956ee8a20cc41ca3394b25bb69669be75ab22b66a1e SHA512 d383de754b0a50cc4ab3e6378b758ebd6178ad32ebed80cb4e32a9d8e81d0c689585ee5cd35f12b376e488d25ecfaca659be943c9bb4104b63a1c4f9ded2f337
+DIST slab-0.4.9.crate 17108 BLAKE2B 8e5288c4d00efa915e7be27b55f2204850968624f0d8101c091a357131106bceeea7a63c98007420c12f67893dd2228b15d3f23508108c3a0ceaa605474bc7a9 SHA512 b6b5423ae026472920f7c9a4abe0962314140a36dc562c0a9e3fa60725b2b8b7a8b343110d9d4c0e18fb318b0103e14c0ccbc9ae350d5563a5ac80c35f228c40
+DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
+DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
+DIST syn-2.0.60.crate 255808 BLAKE2B d7a8e415dd72267fd92da48ba8b3e6feb728f0639797db1aa74aeaa2a57935b7565eec37cbd32eec826154e2c54075b121737369eb15af36c322c34b3cfd7930 SHA512 20bfa02b03c193672a9922f9a5e196185341e082a262f7c00d7c2d467d9e2d77f4af3994634923cfaeee34aa9eab510415165f052ffd9b1ed0b1b581e272898d
+DIST taplo-0.13.0.crate 52618 BLAKE2B 556873e791193a006b906814b6146652c794f7688c0c7c17e8dbfd8b19a671fc1ec1aaf8360c3c9f53b014c12b83a27e6a38735329b72f2fa66124cedce6acf3 SHA512 b6a67bc1abf51a9184cf01091017d2525e79cb4018685468f6411e90017016828ba3214cec37646d68597892f2834f9df03b99fd2884e5aba7b5ac540a53e92b
+DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a
+DIST text-size-1.1.1.crate 12553 BLAKE2B 54c48d202650606d182b2d046d6a0a35b41d4e49adebb8f9f48a22329966891036af7dbc09a4522f0ca55533dfc8e87c276fa2bb4e7a24bed57a26794bfc3ee8 SHA512 e1b0323d2f83ad85ab8c5dcbe9b2084d09592979e9edbcd03d40576abc805b20ba3d6b59261465cae5e987542d4b665fbf797369ff1cd7cbbbfad271258b0ce8
+DIST thiserror-1.0.59.crate 21040 BLAKE2B d9ae0b1d810e7631edf072a41267a871c1cd88d71c882c8fb47d65b3dc563ca2addef0ebf9a9cb122fbfdccff5b92815b8f2e0f7c3382963828cb69d21ec8531 SHA512 254b0ad6c4b135234f89db8bd5674fb8c6b633495810140abf93cf06c58e911ad2ebcfdc002e7ce29739e95ea066eeed3fbd7c831e2858822dff620598dd147a
+DIST thiserror-impl-1.0.59.crate 15726 BLAKE2B 0e524c851f999f4592e5450d7d8ad45a922c9cc5d2229f4dd106144238c8a0ceaeff5a4d1c7e27cdc53a7eb44e60f890fabe1f43ba3d5b950da9c63e6ddcc9d1 SHA512 75543ad39d1243dab23a4b50075bec337c39045f0271337a1ccc144f25dc1e7fc23b0163f16958ded9a1f44ff359378bd22f4c0f5e095c1823e928fc929457e8
+DIST time-0.3.36.crate 119805 BLAKE2B d4da96368ab8565373d034edce261e0d8867036f2ba87e84b5e4a506a70ed3b62b93ba10734aecb39847e258cf7008b6ae57f92df8d0e5229cd3fec488d14caf SHA512 83da6e27691d1f0ef37ed276528e927686a06dab4811b6e29d625ef7a0f7c30fbb86896d74a2b087726e7a24a951b0a83aa1f5f22d711ead54f447d36ac47133
+DIST time-core-0.1.2.crate 7191 BLAKE2B c477ad3410ff29f3bf4a38fc6ac4a043d49b6d2bdf5cf309ffcd2eec3bb6e4c4b62156ee7f069f0b37ea31c163bc75ccbf35abc1db2833cdd4912135e60ddfc9 SHA512 3861724c23cb806829a01186deb5217ae8252c20af622975264e6670cff528f42155039e4937756a9eb312a5580ffab07949437d5504d684a0e70755046cac52
+DIST time-macros-0.2.18.crate 24361 BLAKE2B 09fa325be0b1a5b922285f035484b0de8e339306b49595c87f6374e46459d6777c6db4b12c1a0c6ea9795ae8c741188fbb81208d0499a651760b9f5089323fc7 SHA512 557786115add272290be8305ab79c44f5b4425b64eb698492fe300f15879d9e013c66933cae8aa8faad9c109e2917e7a0e43c8a5eed7f4b0f0fdad092089efe4
+DIST tinyvec-1.6.0.crate 45991 BLAKE2B e9699d4d80a78978f0ebfd049f5b33d7f23d401cf4f4439ccb168e8c0e322473ad0ea7e2ff0ff69e9aac3e5c4c9ae5a7102185533bfbf96dbe77b3526e700bc9 SHA512 e5acaf353c58c60ae5556130a934f1048abb79cf6668ae467d308bac44b689d8a9997227ea879f4b5fe50f29cde8761801b088d7149bcd063b973056c381921c
+DIST tinyvec_macros-0.1.1.crate 5865 BLAKE2B 2bf4f68ca11dc19c72232951605a4c809b34ff38ee365ee4f592a3c41360e23c9330cfba961e2692a0ad568fef4aaaac51c40808d491178cf7a0c4b5a1c5d484 SHA512 10008c7b3a3d50c94b9c370015b76ee082f5dfb6dcacf014dc2f2dbe92f903618d10d0202b21f48fcf98a94ae76fb712db55a5e8ad353645d378cf0e6ec74f7e
+DIST tracing-0.1.40.crate 79459 BLAKE2B 33693ee71564fe5925a63dca351e838dfd8612b4b1e49a33a70095e56ca63287c13c772661ace0e540d08c92942d7cbdc51ff2cce4f4b372164d9aa20ec05dee SHA512 5622188a45dddc0d6d3a8244a9b12db6221f4180944ce1019d18f4e613e4bd113dae5d45fb57dd0754f6e8e153b047cdf00c8f200782bb2b868bc2d423d99275
+DIST tracing-attributes-0.1.27.crate 32241 BLAKE2B a20af0f50a90dcd64e5318e55779142da294ba18d1cd40059a8aa964fd3c92834e03ee563e41caaeef71a30e3f027e5c8d167d90e2844da79e0774b267e179b4 SHA512 7dc59f4234c3bf3434fb352baed2b81db4e931eeb3ed207c4a204e480da734be40847b167b808058d2807b5583815625bcd5153e2bbe79804cfa6f069a74ffa0
+DIST tracing-core-0.1.32.crate 61221 BLAKE2B a7815c46af9852ce62498083103c6d359351f4d33609b4291330073b6abf4b63f5e1bb1a7dfed3bbf4d6913ad5217e96999416261af8a70609408a29109e4db6 SHA512 164f79cacfcca533a53b7dbbdc2015aaf851a16e00c72fbc4e5f515b6a6dedfa464e964810009b54f08cbcdc5a314e50245ac7b1b01a71fce4c63db135bf5521
+DIST unicode-bidi-0.3.15.crate 56811 BLAKE2B 1f1d372c86ec7444f13eb32baf13dfc8699b52156b265a2b53f40c0d771064876405451120fe54739a2679e6991caaf4f63e0644f03729cab814079fef4868c8 SHA512 7a21d5eb05ea8d691dfd54ce4cf7d3693d08067f7a88ef17b8c3044634f46411176b1bde1516c442577910b254007b247f5e40f9932eb601cd96cd574f9d9db8
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+DIST unicode-normalization-0.1.23.crate 122649 BLAKE2B 22ea5ce3f5a2b371c3c8782321b1bbbee724db1e4d8c1d43af4e6bd8044b99307c227d93631d178d10fda445a941a485882ae0015a6e3d3c347e4bd465bbe1d9 SHA512 539f04010810d73fde7b0ab314faf813f3e7ecd2e51d7975281554b7cba4a8706e2b5523c4b7840568593652360ca59e9db0e1ce342e71c28db635ff55ffb0f5
+DIST unicode-width-0.1.12.crate 24062 BLAKE2B 61afd22353d46a8a77519af9b3580d75dafc7965967f7724cb740f1ee199c7742b3549ad6c67776b876dbda5b8f27c634431f68517e29a72ade1622da9fde446 SHA512 0bafd7a69bdf49c849e7c063ebf0487eca8a76244e3bc18c9a5f4609465dc0e5d482daceb6a9a6f4125b801bf7063cb8225fdb55173e5dc55e7bf278300df1b4
+DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
+DIST unscanny-0.1.0.crate 10338 BLAKE2B fd725928107d4d2ed2686709335ef01136bcd54d34180189906b7c2436e3f77496328484c623dec4920738f4a07e92be7e7581387c4f5b6996fa34c03efd7b0f SHA512 8267e327e4e852d627d416d58ebad5ba937ab6a2477b265fd5f79a98d43ade2d1780e67696b801cae8a4af10da8f7c0c257d2c878289eb6cf7e711dcf357d87c
+DIST url-2.5.0.crate 78605 BLAKE2B f3fec3477248cbbe67866577eebb03f517c284a5e5cb783132b11ef3ad156a03524f4730f188d822dec85169d7474e265099296d6bdd4adf5ffaa0a118821617 SHA512 4aedbc48b85bcc2853189f5fe8265a01c76516b5507f4e958d8d0b860fe2590c69c95f0f4b9fd6fac9b8d5911bcb0a5e9ab7f8e8b600f37a12db1438976ee5c3
+DIST urlencoding-2.1.3.crate 6538 BLAKE2B 65777b0990aa6b3d27a47f36114da8622026ac8946b5ffb6e04172b666ec7244a55c250a7fb626472bb2b636eb32ee945599cee5ce7351c3cef2322366db15ff SHA512 035848d9243ed6a4528377b56edd7f8bcb5f824381b420dc8f5c4bfc3f1246655c54eaa7de0e4aaa7138e0b08fd796b9ace140ab919aed2d94f6952b577386ac
+DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
+DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
+DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
+DIST zerocopy-0.7.32.crate 151096 BLAKE2B 12c7c329ec0e0865467af08306ff4b55ce1e39fd77b094ee48ed9c6e266dfa807bda9ea72a3f7ea989916327f4d9e803d8868995728bfe2fb1c2dc1e5ecff78e SHA512 6729b05eb88029555b88c75feff4f8bc28ad9675edb02b07486381f775c8650c95e2e59612906bd9c34c5e390fd339857ca91573ee9f9ca7948572cff4171c82
+DIST zerocopy-derive-0.7.32.crate 37623 BLAKE2B 8b583d39d7bf9c3dbbba578120751c664f87363c5ba3fc45f6506a4059b9e599c43d9fc7bd498a257ff7c9d872af77d39bebdb0e65fb8009eaa2ae9903dece46 SHA512 3ce8528871fd18d6abe92b98503927451d25791c9c4af0ba39a3b6ba2006030bdc137084d080e9b1ac8b5ddf5f2121e0a3ef34bb2033a040f2c72c8149a9fc0d
diff --git a/dev-python/pyproject-fmt-rust/metadata.xml b/dev-python/pyproject-fmt-rust/metadata.xml
new file mode 100644
index 000000000000..ccb9c6f0b2dd
--- /dev/null
+++ b/dev-python/pyproject-fmt-rust/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">tox-dev/pyproject-fmt-rust</remote-id>
+ <remote-id type="pypi">pyproject-fmt-rust</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.3.ebuild b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.3.ebuild
new file mode 100644
index 000000000000..8d2c176c570d
--- /dev/null
+++ b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.3.ebuild
@@ -0,0 +1,159 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+CRATES="
+ ahash@0.8.11
+ aho-corasick@1.1.3
+ any_ascii@0.1.7
+ arc-swap@1.7.1
+ autocfg@1.2.0
+ beef@0.5.2
+ bitflags@1.3.2
+ bstr@1.9.1
+ cfg-if@1.0.0
+ countme@3.0.1
+ deranged@0.3.11
+ derivative@2.2.0
+ either@1.11.0
+ fnv@1.0.7
+ form_urlencoded@1.2.1
+ futures-channel@0.3.30
+ futures-core@0.3.30
+ futures-executor@0.3.30
+ futures-io@0.3.30
+ futures-macro@0.3.30
+ futures-sink@0.3.30
+ futures-task@0.3.30
+ futures-timer@3.0.3
+ futures-util@0.3.30
+ futures@0.3.30
+ getrandom@0.2.14
+ glob@0.3.1
+ globset@0.4.14
+ hashbrown@0.14.3
+ heck@0.4.1
+ idna@0.5.0
+ indoc@2.0.5
+ itertools@0.10.5
+ itoa@1.0.11
+ lexical-sort@0.3.1
+ libc@0.2.153
+ lock_api@0.4.11
+ log@0.4.21
+ logos-derive@0.12.1
+ logos@0.12.1
+ memchr@2.7.2
+ memoffset@0.9.1
+ num-conv@0.1.0
+ once_cell@1.19.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ pep440_rs@0.6.0
+ pep508_rs@0.6.0
+ percent-encoding@2.3.1
+ pin-project-lite@0.2.14
+ pin-utils@0.1.0
+ portable-atomic@1.6.0
+ powerfmt@0.2.0
+ proc-macro2@1.0.81
+ pyo3-build-config@0.21.2
+ pyo3-ffi@0.21.2
+ pyo3-macros-backend@0.21.2
+ pyo3-macros@0.21.2
+ pyo3@0.21.2
+ quote@1.0.36
+ redox_syscall@0.4.1
+ regex-automata@0.4.6
+ regex-syntax@0.6.29
+ regex-syntax@0.8.3
+ regex@1.10.4
+ relative-path@1.9.2
+ rowan@0.15.15
+ rstest@0.19.0
+ rstest_macros@0.19.0
+ rustc-hash@1.1.0
+ rustc_version@0.4.0
+ ryu@1.0.17
+ scopeguard@1.2.0
+ semver@1.0.22
+ serde@1.0.198
+ serde_derive@1.0.198
+ serde_json@1.0.116
+ slab@0.4.9
+ smallvec@1.13.2
+ syn@1.0.109
+ syn@2.0.60
+ taplo@0.13.0
+ target-lexicon@0.12.14
+ text-size@1.1.1
+ thiserror-impl@1.0.59
+ thiserror@1.0.59
+ time-core@0.1.2
+ time-macros@0.2.18
+ time@0.3.36
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ tracing-attributes@0.1.27
+ tracing-core@0.1.32
+ tracing@0.1.40
+ unicode-bidi@0.3.15
+ unicode-ident@1.0.12
+ unicode-normalization@0.1.23
+ unicode-width@0.1.12
+ unindent@0.2.3
+ unscanny@0.1.0
+ url@2.5.0
+ urlencoding@2.1.3
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+ zerocopy-derive@0.7.32
+ zerocopy@0.7.32
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Format your pyproject.toml file (Rust extension)"
+HOMEPAGE="
+ https://github.com/tox-dev/pyproject-fmt-rust/
+ https://pypi.org/project/pyproject-fmt-rust/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016
+ || ( Apache-2.0 BSD-2 )
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt_rust/_lib.*.so"
+
+src_prepare() {
+ sed -i -e '/strip/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test_all() {
+ cargo_src_test
+}
diff --git a/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.4.ebuild b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.4.ebuild
new file mode 100644
index 000000000000..3a270dc74904
--- /dev/null
+++ b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.4.ebuild
@@ -0,0 +1,159 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+CRATES="
+ ahash@0.8.11
+ aho-corasick@1.1.3
+ any_ascii@0.1.7
+ arc-swap@1.7.1
+ autocfg@1.2.0
+ beef@0.5.2
+ bitflags@1.3.2
+ bstr@1.9.1
+ cfg-if@1.0.0
+ countme@3.0.1
+ deranged@0.3.11
+ derivative@2.2.0
+ either@1.11.0
+ fnv@1.0.7
+ form_urlencoded@1.2.1
+ futures-channel@0.3.30
+ futures-core@0.3.30
+ futures-executor@0.3.30
+ futures-io@0.3.30
+ futures-macro@0.3.30
+ futures-sink@0.3.30
+ futures-task@0.3.30
+ futures-timer@3.0.3
+ futures-util@0.3.30
+ futures@0.3.30
+ getrandom@0.2.14
+ glob@0.3.1
+ globset@0.4.14
+ hashbrown@0.14.3
+ heck@0.4.1
+ idna@0.5.0
+ indoc@2.0.5
+ itertools@0.10.5
+ itoa@1.0.11
+ lexical-sort@0.3.1
+ libc@0.2.153
+ lock_api@0.4.11
+ log@0.4.21
+ logos-derive@0.12.1
+ logos@0.12.1
+ memchr@2.7.2
+ memoffset@0.9.1
+ num-conv@0.1.0
+ once_cell@1.19.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ pep440_rs@0.6.0
+ pep508_rs@0.6.0
+ percent-encoding@2.3.1
+ pin-project-lite@0.2.14
+ pin-utils@0.1.0
+ portable-atomic@1.6.0
+ powerfmt@0.2.0
+ proc-macro2@1.0.81
+ pyo3-build-config@0.21.2
+ pyo3-ffi@0.21.2
+ pyo3-macros-backend@0.21.2
+ pyo3-macros@0.21.2
+ pyo3@0.21.2
+ quote@1.0.36
+ redox_syscall@0.4.1
+ regex-automata@0.4.6
+ regex-syntax@0.6.29
+ regex-syntax@0.8.3
+ regex@1.10.4
+ relative-path@1.9.2
+ rowan@0.15.15
+ rstest@0.19.0
+ rstest_macros@0.19.0
+ rustc-hash@1.1.0
+ rustc_version@0.4.0
+ ryu@1.0.17
+ scopeguard@1.2.0
+ semver@1.0.22
+ serde@1.0.198
+ serde_derive@1.0.198
+ serde_json@1.0.116
+ slab@0.4.9
+ smallvec@1.13.2
+ syn@1.0.109
+ syn@2.0.60
+ taplo@0.13.0
+ target-lexicon@0.12.14
+ text-size@1.1.1
+ thiserror-impl@1.0.59
+ thiserror@1.0.59
+ time-core@0.1.2
+ time-macros@0.2.18
+ time@0.3.36
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ tracing-attributes@0.1.27
+ tracing-core@0.1.32
+ tracing@0.1.40
+ unicode-bidi@0.3.15
+ unicode-ident@1.0.12
+ unicode-normalization@0.1.23
+ unicode-width@0.1.12
+ unindent@0.2.3
+ unscanny@0.1.0
+ url@2.5.0
+ urlencoding@2.1.3
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+ zerocopy-derive@0.7.32
+ zerocopy@0.7.32
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Format your pyproject.toml file (Rust extension)"
+HOMEPAGE="
+ https://github.com/tox-dev/pyproject-fmt-rust/
+ https://pypi.org/project/pyproject-fmt-rust/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016
+ || ( Apache-2.0 BSD-2 )
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt_rust/_lib.*.so"
+
+src_prepare() {
+ sed -i -e '/strip/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test_all() {
+ cargo_src_test
+}
diff --git a/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.5.ebuild b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.5.ebuild
new file mode 100644
index 000000000000..3a270dc74904
--- /dev/null
+++ b/dev-python/pyproject-fmt-rust/pyproject-fmt-rust-1.1.5.ebuild
@@ -0,0 +1,159 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+CRATES="
+ ahash@0.8.11
+ aho-corasick@1.1.3
+ any_ascii@0.1.7
+ arc-swap@1.7.1
+ autocfg@1.2.0
+ beef@0.5.2
+ bitflags@1.3.2
+ bstr@1.9.1
+ cfg-if@1.0.0
+ countme@3.0.1
+ deranged@0.3.11
+ derivative@2.2.0
+ either@1.11.0
+ fnv@1.0.7
+ form_urlencoded@1.2.1
+ futures-channel@0.3.30
+ futures-core@0.3.30
+ futures-executor@0.3.30
+ futures-io@0.3.30
+ futures-macro@0.3.30
+ futures-sink@0.3.30
+ futures-task@0.3.30
+ futures-timer@3.0.3
+ futures-util@0.3.30
+ futures@0.3.30
+ getrandom@0.2.14
+ glob@0.3.1
+ globset@0.4.14
+ hashbrown@0.14.3
+ heck@0.4.1
+ idna@0.5.0
+ indoc@2.0.5
+ itertools@0.10.5
+ itoa@1.0.11
+ lexical-sort@0.3.1
+ libc@0.2.153
+ lock_api@0.4.11
+ log@0.4.21
+ logos-derive@0.12.1
+ logos@0.12.1
+ memchr@2.7.2
+ memoffset@0.9.1
+ num-conv@0.1.0
+ once_cell@1.19.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ pep440_rs@0.6.0
+ pep508_rs@0.6.0
+ percent-encoding@2.3.1
+ pin-project-lite@0.2.14
+ pin-utils@0.1.0
+ portable-atomic@1.6.0
+ powerfmt@0.2.0
+ proc-macro2@1.0.81
+ pyo3-build-config@0.21.2
+ pyo3-ffi@0.21.2
+ pyo3-macros-backend@0.21.2
+ pyo3-macros@0.21.2
+ pyo3@0.21.2
+ quote@1.0.36
+ redox_syscall@0.4.1
+ regex-automata@0.4.6
+ regex-syntax@0.6.29
+ regex-syntax@0.8.3
+ regex@1.10.4
+ relative-path@1.9.2
+ rowan@0.15.15
+ rstest@0.19.0
+ rstest_macros@0.19.0
+ rustc-hash@1.1.0
+ rustc_version@0.4.0
+ ryu@1.0.17
+ scopeguard@1.2.0
+ semver@1.0.22
+ serde@1.0.198
+ serde_derive@1.0.198
+ serde_json@1.0.116
+ slab@0.4.9
+ smallvec@1.13.2
+ syn@1.0.109
+ syn@2.0.60
+ taplo@0.13.0
+ target-lexicon@0.12.14
+ text-size@1.1.1
+ thiserror-impl@1.0.59
+ thiserror@1.0.59
+ time-core@0.1.2
+ time-macros@0.2.18
+ time@0.3.36
+ tinyvec@1.6.0
+ tinyvec_macros@0.1.1
+ tracing-attributes@0.1.27
+ tracing-core@0.1.32
+ tracing@0.1.40
+ unicode-bidi@0.3.15
+ unicode-ident@1.0.12
+ unicode-normalization@0.1.23
+ unicode-width@0.1.12
+ unindent@0.2.3
+ unscanny@0.1.0
+ url@2.5.0
+ urlencoding@2.1.3
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+ zerocopy-derive@0.7.32
+ zerocopy@0.7.32
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Format your pyproject.toml file (Rust extension)"
+HOMEPAGE="
+ https://github.com/tox-dev/pyproject-fmt-rust/
+ https://pypi.org/project/pyproject-fmt-rust/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016
+ || ( Apache-2.0 BSD-2 )
+ || ( Apache-2.0 Boost-1.0 )
+"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 sparc x86"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/pyproject_fmt_rust/_lib.*.so"
+
+src_prepare() {
+ sed -i -e '/strip/d' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test_all() {
+ cargo_src_test
+}
diff --git a/dev-python/pyproject-fmt/Manifest b/dev-python/pyproject-fmt/Manifest
index 5c86aaf3dd4e..419aa2222678 100644
--- a/dev-python/pyproject-fmt/Manifest
+++ b/dev-python/pyproject-fmt/Manifest
@@ -1,3 +1,2 @@
-DIST pyproject_fmt-1.5.1.tar.gz 15639 BLAKE2B b625504295fce9fee9cfb09c821654edad8aa8e0537777f268f759ed8aeb6d2dd49e00b63c0e35e1d2a6946702c025ed5c15282ca8d2de5f479d373720273eef SHA512 12c3734ed2fab66f01c9cd2f5335cb4f925657f7c1f2cb8f7a3f9fdc73ec0746dd6b634cc1799b4dc4760d5b8061b4b30a06ae7030f94494792070674a2da338
-DIST pyproject_fmt-1.5.2.tar.gz 15649 BLAKE2B 0765d072f0effbe805197e8c0ca082d8eb252ae2ea0d8965787eb746195f9420a2ce8c781b54c6e8300a3a3f5208f621aebea84623ecdf0ee6e7f9ce7a01ed35 SHA512 75c703cf05290cb3ee61bac581bf99100db7d8468f2a51c4a7d30ce572eeb13dbec61a87ff8eaedd07754b4eb4bdfa5f3565d96fcae8dc2187cd7dbf7225e6ab
-DIST pyproject_fmt-1.5.3.tar.gz 15678 BLAKE2B 624cfc0e62285c59fdb1a3315d1f419cbb8c41430957b9a5eeed2521899a66fa15a1aae476d2986e18d990e4f5fc901312a70df819765cf8b4e077cf3678d8dc SHA512 3f269525b5e3e818cea5ef7b90644c7ced9e37a1dff4a514782ebf7769f6f5a53887cb831b488ed34d059f197a9d90fccc887146f5180c58c5a702c37ae9d79b
+DIST pyproject_fmt-2.1.3.tar.gz 9016 BLAKE2B 742d29283f883f36a6705b74613455932057c508bb98c61d245254fca5d35c31333d01e1047f3c3c4fe46c41ea0633d6a491f59c9633770dd5fb5ee9b696f5ed SHA512 3ba7bc939ed555a58c41bc35563fecba4066e95b0fc4d9c0ecf77ed484cbf2ebd8067fb097dabb499d95ddd7be64712961b70b9abb2f147cc6491c3c8ca85877
+DIST pyproject_fmt-2.1.4.tar.gz 9023 BLAKE2B 1a44332ea829efb22d7b561abef1f362f7eb6ca4682586511e4a87c8f26f55a510f2a1f5e065ec21208c04f754dd729133c859f5d388b0af94578c53bab55d1e SHA512 95e4f99c2ded8f69dca4bbca208512ca17e6fc1e7e13a247f2932c7539ff802a4ed6a822c4ffbada749d4eef15aafd7189f85d722e41360b3523c2b633e15d99
diff --git a/dev-python/pyproject-fmt/pyproject-fmt-1.5.1.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-1.5.1.ebuild
deleted file mode 100644
index f2bb62da24c8..000000000000
--- a/dev-python/pyproject-fmt/pyproject-fmt-1.5.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2022-2023 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="Format your pyproject.toml file"
-HOMEPAGE="
- https://github.com/tox-dev/pyproject-fmt/
- https://pypi.org/project/pyproject-fmt/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/natsort[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
-"
-# tox is called as a subprocess, to get targets from tox.ini
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/pytest-mock-3.10[${PYTHON_USEDEP}]
- dev-python/tox
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # upstream lower bounds are completely meaningless and copying them
- # to the ebuild is a horrible waste of time
- sed -i -e 's:>=[0-9.]*::' pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pyproject-fmt/pyproject-fmt-1.5.2.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-1.5.2.ebuild
deleted file mode 100644
index c440d098979a..000000000000
--- a/dev-python/pyproject-fmt/pyproject-fmt-1.5.2.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2022-2023 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="Format your pyproject.toml file"
-HOMEPAGE="
- https://github.com/tox-dev/pyproject-fmt/
- https://pypi.org/project/pyproject-fmt/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/natsort[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
-"
-# tox is called as a subprocess, to get targets from tox.ini
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/pytest-mock-3.10[${PYTHON_USEDEP}]
- dev-python/tox
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # upstream lower bounds are completely meaningless and copying them
- # to the ebuild is a horrible waste of time
- sed -i -e 's:>=[0-9.]*::' pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pyproject-fmt/pyproject-fmt-1.5.3.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-1.5.3.ebuild
deleted file mode 100644
index c440d098979a..000000000000
--- a/dev-python/pyproject-fmt/pyproject-fmt-1.5.3.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2022-2023 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="Format your pyproject.toml file"
-HOMEPAGE="
- https://github.com/tox-dev/pyproject-fmt/
- https://pypi.org/project/pyproject-fmt/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/natsort[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/tomlkit[${PYTHON_USEDEP}]
-"
-# tox is called as a subprocess, to get targets from tox.ini
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/pytest-mock-3.10[${PYTHON_USEDEP}]
- dev-python/tox
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # upstream lower bounds are completely meaningless and copying them
- # to the ebuild is a horrible waste of time
- sed -i -e 's:>=[0-9.]*::' pyproject.toml || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.1.3.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.1.3.ebuild
new file mode 100644
index 000000000000..d8df018c5234
--- /dev/null
+++ b/dev-python/pyproject-fmt/pyproject-fmt-2.1.3.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Format your pyproject.toml file"
+HOMEPAGE="
+ https://github.com/tox-dev/pyproject-fmt/
+ https://pypi.org/project/pyproject-fmt/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ ~dev-python/pyproject-fmt-rust-1.1.3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# tox is called as a subprocess, to get targets from tox.ini
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/pytest-mock-3.10[${PYTHON_USEDEP}]
+ dev-python/tox
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyproject-fmt/pyproject-fmt-2.1.4.ebuild b/dev-python/pyproject-fmt/pyproject-fmt-2.1.4.ebuild
new file mode 100644
index 000000000000..143216202b2c
--- /dev/null
+++ b/dev-python/pyproject-fmt/pyproject-fmt-2.1.4.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Format your pyproject.toml file"
+HOMEPAGE="
+ https://github.com/tox-dev/pyproject-fmt/
+ https://pypi.org/project/pyproject-fmt/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ ~dev-python/pyproject-fmt-rust-1.1.5[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# tox is called as a subprocess, to get targets from tox.ini
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/pytest-mock-3.10[${PYTHON_USEDEP}]
+ dev-python/tox
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyproject-hooks/Manifest b/dev-python/pyproject-hooks/Manifest
index 62489d7f8552..e83e095938e2 100644
--- a/dev-python/pyproject-hooks/Manifest
+++ b/dev-python/pyproject-hooks/Manifest
@@ -1 +1 @@
-DIST pyproject-hooks-1.0.0.gh.tar.gz 16001 BLAKE2B c90d2fb70ada9414cbbf201bfbb695b4e9055b61fdcdc8e0f8a2548e4f47e7512140fc71fee9f9306577d97b76ca64e77b7c58d526381c5481739e630e5250a1 SHA512 fca9b69859d7e3949b158c2879ba7ebc7305f1edaacdd84b71a92565010176d1194be03a21fd6b9aa65d175cfd8243ba3a50aab617fb56ceac6b263da6613e17
+DIST pyproject-hooks-1.1.0.gh.tar.gz 18774 BLAKE2B e6b376188655a5bc188567f412c22f8224209612c4fb0332f8c0c441180c18589139549139957834b3359bf3ced961e22f97e2449edc354047afaa6d2eff58d7 SHA512 256028d13adbe35126a63431a2a49e0c48adddce5ffc3ff2eebad368eee7ce52591ecfd8a8526876de20bc59dfc87156533d6a97b55538a739873e60f9509eff
diff --git a/dev-python/pyproject-hooks/metadata.xml b/dev-python/pyproject-hooks/metadata.xml
index 4788ace41f6a..c8e7d7283e51 100644
--- a/dev-python/pyproject-hooks/metadata.xml
+++ b/dev-python/pyproject-hooks/metadata.xml
@@ -6,7 +6,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="pypi">pyproject_hooks</remote-id>
+ <remote-id type="pypi">pyproject-hooks</remote-id>
<remote-id type="github">pypa/pyproject-hooks</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pyproject-hooks/pyproject-hooks-1.0.0.ebuild b/dev-python/pyproject-hooks/pyproject-hooks-1.0.0.ebuild
deleted file mode 100644
index 8a5197a6c1d9..000000000000
--- a/dev-python/pyproject-hooks/pyproject-hooks-1.0.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Wrappers to build Python packages using PEP 517 hooks"
-HOMEPAGE="
- https://pypi.org/project/pyproject_hooks/
- https://github.com/pypa/pyproject-hooks/
- https://pyproject-hooks.readthedocs.io/
-"
-SRC_URI="
- https://github.com/pypa/pyproject-hooks/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{8..10})
-"
-BDEPEND="
- test? (
- dev-python/testpath[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyproject-hooks/pyproject-hooks-1.1.0.ebuild b/dev-python/pyproject-hooks/pyproject-hooks-1.1.0.ebuild
new file mode 100644
index 000000000000..3e15fce08f50
--- /dev/null
+++ b/dev-python/pyproject-hooks/pyproject-hooks-1.1.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Wrappers to build Python packages using PEP 517 hooks"
+HOMEPAGE="
+ https://pypi.org/project/pyproject-hooks/
+ https://github.com/pypa/pyproject-hooks/
+ https://pyproject-hooks.readthedocs.io/
+"
+SRC_URI="
+ https://github.com/pypa/pyproject-hooks/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ test? (
+ dev-python/testpath[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # fails due to setuptools 70.1
+ # https://bugs.gentoo.org/936052
+ # https://github.com/pypa/pyproject-hooks/issues/203
+ tests/test_call_hooks.py::test_setup_py
+)
diff --git a/dev-python/pyproject-metadata/Manifest b/dev-python/pyproject-metadata/Manifest
index 4610bee06828..7c4823ad56ee 100644
--- a/dev-python/pyproject-metadata/Manifest
+++ b/dev-python/pyproject-metadata/Manifest
@@ -1 +1 @@
-DIST pyproject-metadata-0.7.1.gh.tar.gz 14138 BLAKE2B 901e0b0b07d035ee220cfdba840a2b05ec1b1dfa3184ab614621c462b049bdbe484aa2d9abc42a54964c163d360028a00ff1db2c502504d11fb6d2837bd60552 SHA512 a4cb97b6646b765016f047f8d3da388ab758dbf8acf5a8ee6ccb017c764a90c069e04effbef21f878be7f4b01a5090f24252372300ce7e3a0410a6eea5d98b66
+DIST pyproject_metadata-0.8.0.tar.gz 14862 BLAKE2B 03c9a7fc9c53c56b27ea5c72789db10aa045d239c81bf30e926c0ed44d6b61028a27c4dbe02a40eb4ae7ce4a93efb24c63dd4b66f2e98f185fc68d96e96c350a SHA512 e3ec79bcb066fd952a7e88b62534775746b20a52b9952a303e80466c465e394264b8984ca30a1461cd8437334ae7b1a299be7d8036e99e3dcf59828d70650442
diff --git a/dev-python/pyproject-metadata/metadata.xml b/dev-python/pyproject-metadata/metadata.xml
index f6c10b0707a8..26e6b1cdb733 100644
--- a/dev-python/pyproject-metadata/metadata.xml
+++ b/dev-python/pyproject-metadata/metadata.xml
@@ -4,8 +4,9 @@
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
+ <stabilize-allarches/>
<upstream>
- <remote-id type="github">FFY00/python-pyproject-metadata</remote-id>
+ <remote-id type="github">pypa/pyproject-metadata</remote-id>
<remote-id type="pypi">pyproject-metadata</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pyproject-metadata/pyproject-metadata-0.7.1.ebuild b/dev-python/pyproject-metadata/pyproject-metadata-0.7.1.ebuild
deleted file mode 100644
index b87165670b98..000000000000
--- a/dev-python/pyproject-metadata/pyproject-metadata-0.7.1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="PEP 621 metadata parsing"
-HOMEPAGE="
- https://github.com/FFY00/python-pyproject-metadata/
- https://pypi.org/project/pyproject-metadata/
-"
-SRC_URI="
- https://github.com/FFY00/python-pyproject-metadata/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/python-${P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
- ' 3.{8..10})
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyproject-metadata/pyproject-metadata-0.8.0.ebuild b/dev-python/pyproject-metadata/pyproject-metadata-0.8.0.ebuild
new file mode 100644
index 000000000000..500e736a3fbb
--- /dev/null
+++ b/dev-python/pyproject-metadata/pyproject-metadata-0.8.0.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PEP 621 metadata parsing"
+HOMEPAGE="
+ https://github.com/pypa/pyproject-metadata/
+ https://pypi.org/project/pyproject-metadata/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/packaging-19[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
+ ' 3.10)
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pypugjs/Manifest b/dev-python/pypugjs/Manifest
index d4795415db7e..2d932358cc37 100644
--- a/dev-python/pypugjs/Manifest
+++ b/dev-python/pypugjs/Manifest
@@ -1,2 +1 @@
-DIST pypugjs-5.9.12-nose.patch.xz 12616 BLAKE2B 0cb8e8cce8af20c301e5781bca466c26f0ef97365fb67c0c46b241c0c110010a6dbf0bcc63dc7e8e886a875d2827b4fd3abd080f69022d9247d8c71c8ee80e07 SHA512 c575600273069f0395ceb55abc7dac3bf0889c8b17c89b5bf5562aa919d8818464c27eee6d7518c796b37bdbd3d265ac8301e845f024122c3cab87b0ccfaf617
-DIST pypugjs-5.9.12.gh.tar.gz 51164 BLAKE2B 32b7bbc2bde966ea53c6f52a77482f4f6ca1e0cb09948c1c9850cdd66e4449ecc60e2f6b812f57a7ade5bc323c48be5d105d63ab6680d5e2197cd203fce40d85 SHA512 c6e4bd3bb27d321e3721504e7c01f97d869eb2e29e3ac8f086aa696ca29436978ceaa420ef8ac9b5addd859f7764817b1f159e0f41784a3fdb9cd3a0620eb7dd
+DIST pypugjs-5.11.0.gh.tar.gz 57259 BLAKE2B 666b37a68f9faa7131424aba895fd6ffd893a92b1d565f343c25cc126bf37f2b1794eb0c32c3475533ade810b2d9d09a4299ec8bac5da63b1303d60900226507 SHA512 208946c6709398b21ab5728f290b814330db647200c1f649bceb6b5596c5bac710dedeed4dad56330b4c97236b6793251575fb2638b7bf63bf32239114758033
diff --git a/dev-python/pypugjs/metadata.xml b/dev-python/pypugjs/metadata.xml
index 330bfd4cb612..156316974973 100644
--- a/dev-python/pypugjs/metadata.xml
+++ b/dev-python/pypugjs/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>dolsen@gentoo.org</email>
- <name>Brian Dolbec</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/pypugjs/pypugjs-5.11.0.ebuild b/dev-python/pypugjs/pypugjs-5.11.0.ebuild
new file mode 100644
index 000000000000..58f9328c3f27
--- /dev/null
+++ b/dev-python/pypugjs/pypugjs-5.11.0.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Pug (Jade) syntax adapter for Django, Jinja2 and Mako templates"
+HOMEPAGE="
+ https://github.com/kakulukia/pypugjs/
+ https://pypi.org/project/pypugjs/
+"
+SRC_URI="
+ https://github.com/kakulukia/pypugjs/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/six-1.15.0[${PYTHON_USEDEP}]
+ >=dev-python/charset-normalizer-2.1.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/django-4.0.6[${PYTHON_USEDEP}]
+ >=dev-python/flask-2.1.1[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.1.1[${PYTHON_USEDEP}]
+ >=dev-python/mako-1.1.3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.19.0[${PYTHON_USEDEP}]
+ >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # poetry nonsense
+ sed -i -e 's:\^:>=:' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+pkg_postinst() {
+ optfeature "converting to Django output" dev-python/django
+ optfeature "converting to Jinja2 output" dev-python/jinja
+ optfeature "converting to Mako output" dev-python/mako
+ optfeature "converting to Tornado output" dev-python/tornado
+}
diff --git a/dev-python/pypugjs/pypugjs-5.9.12-r1.ebuild b/dev-python/pypugjs/pypugjs-5.9.12-r1.ebuild
deleted file mode 100644
index 0ad4e6035f54..000000000000
--- a/dev-python/pypugjs/pypugjs-5.9.12-r1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Pug (Jade) syntax adapter for Django, Jinja2 and Mako templates"
-HOMEPAGE="https://github.com/kakulukia/pypugjs"
-SRC_URI="
- https://github.com/kakulukia/pypugjs/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-SRC_URI+=" https://dev.gentoo.org/~dolsen/distfiles/${P}-nose.patch.xz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv"
-
-RDEPEND="
- >=dev-python/six-1.15.0[${PYTHON_USEDEP}]
- >=dev-python/chardet-4.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/django[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.1.1[${PYTHON_USEDEP}]
- >=dev-python/mako-1.1.3[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${WORKDIR}/pypugjs-5.9.12-nose.patch"
-)
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # Remove pyramid backend as pyramid isn't packaged
- rm -r pypugjs/ext/pyramid || die
- distutils-r1_src_prepare
-}
-
-pkg_postinst() {
- optfeature "converting to Django output" dev-python/django
- optfeature "converting to Jinja2 output" dev-python/jinja
- optfeature "converting to Mako output" dev-python/mako
- optfeature "converting to Tornado output" dev-python/tornado
-}
diff --git a/dev-python/pypugjs/pypugjs-5.9.12.ebuild b/dev-python/pypugjs/pypugjs-5.9.12.ebuild
deleted file mode 100644
index e10bf787887f..000000000000
--- a/dev-python/pypugjs/pypugjs-5.9.12.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Pug (Jade) syntax adapter for Django, Jinja2 and Mako templates"
-HOMEPAGE="https://github.com/kakulukia/pypugjs"
-SRC_URI="
- https://github.com/kakulukia/pypugjs/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv"
-
-RDEPEND="
- >=dev-python/six-1.15.0[${PYTHON_USEDEP}]
- >=dev-python/chardet-4.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/django[${PYTHON_USEDEP}]
- >=dev-python/jinja-3.1.1[${PYTHON_USEDEP}]
- >=dev-python/mako-1.1.3[${PYTHON_USEDEP}]
- >=dev-python/tornado-6.0.4[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests nose
-
-src_prepare() {
- # Remove pyramid backend as pyramid isn't packaged
- rm -r pypugjs/ext/pyramid || die
- distutils-r1_src_prepare
-}
-
-pkg_postinst() {
- optfeature "converting to Django output" dev-python/django
- optfeature "converting to Jinja2 output" dev-python/jinja
- optfeature "converting to Mako output" dev-python/mako
- optfeature "converting to Tornado output" dev-python/tornado
-}
diff --git a/dev-python/pypy-exe-bin/Manifest b/dev-python/pypy-exe-bin/Manifest
index fbb2062a6946..99f05463c4e2 100644
--- a/dev-python/pypy-exe-bin/Manifest
+++ b/dev-python/pypy-exe-bin/Manifest
@@ -1,8 +1,8 @@
-DIST pypy-exe-7.3.13-1.amd64-musl.gpkg.tar 12922880 BLAKE2B 8dce9b4f2e86ca93d92aac337f29aad79cb0f494cc4639cabedb5ee3b91963b127a62ec43466e41b5f443a0bd14427f60cbe7f3d70410143a6cb7bebc543f2f6 SHA512 7b8baf7fcc36b13c97a2e9e4f3e0d101537069c2685b1ecde8dce27281f7b36db49adc3cc8007caebad09f5106f42f4c840bb1f66b46ad5bf1543aad45cbca9c
-DIST pypy-exe-7.3.13-1.amd64.gpkg.tar 12871680 BLAKE2B 539d3025c42a7feec95f62ce005da7eeab05159b9750b6009230b6830a13579be336d41def05b20aacbdaef6ae585f8e0ee1f063e10e4c2c6adc55fcb12a6311 SHA512 977033104d086611452c98fe4b12b51fc6abcc49af282bc1a966a0fe92a42d04e89073f49660e032e5a7092603d8049243987a4ed10528a110cdf333dad687ab
-DIST pypy-exe-7.3.13-1.arm64-musl.gpkg.tar 10782720 BLAKE2B 90398b3859831a2bafa6a25ed18ee05e27b91c3c4b7d54e153a0dfb04e0ca4ed8e035da14d9e8743dee23c1925ec118b6b8985a64649b4ad56e46a54d70f3137 SHA512 d36e53174dcb00bd6feab4ce168dfeb8d688874a5a5fc45049cf32e89095d532635bb23cdf34a9a70f471e70003564f7117a6fcd6ab17584a72da4ec2848f4d6
-DIST pypy-exe-7.3.13-1.arm64.gpkg.tar 10752000 BLAKE2B 7dbe18bf22b503c585e4fccce8661ec3057d01aa614b806164bd1d418c0ddceb3bc7b629d3efb619b55259e5408dcf42b05c29ebffcb0b75acf845a369d80ffd SHA512 0ee6dc95200cef8d0dfc6bde77d55d548d557ca2ef27b0061c5909a964395aa5870bf3cfa689d2e696dc43c5c19fdd3d55975cd0630189a2ba3f390872dde9ba
-DIST pypy-exe-7.3.13-1.ppc64le-musl.gpkg.tar 6563840 BLAKE2B cc7938c4a9f3b80a9b7eb51402e22cca6d786d1098ecd1fe459623881822036b811d63c7b964e0360a40a8628265e2e3a88f170ac254502febf76158d41b31d4 SHA512 cef5e8fb7474a30682b4890be58ab01b7432701706982452891bfbcd67a5ba94f7a2ca5b21c6adc9ea7570a3875964e8198685d6e4aceff4871195d392a6ca11
-DIST pypy-exe-7.3.13-1.ppc64le.gpkg.tar 10936320 BLAKE2B eaacb2af2c5f62fd487893e4d97ab288ead1c81a0b3ba99782f11ab95ac525c81bc37af5093e76843a17c8ce792aa601befe51b6774908a5328fd4ad449651f8 SHA512 733ec08aa5ab055ec4983e677c8261a4b62006c88a01f0e9ff9abed45781da5144eb4acd41ed7203f74622cd35cbb89c1384ec113c915e38a8d9d81288952b19
-DIST pypy-exe-7.3.13-1.x86-musl.gpkg.tar 9656320 BLAKE2B 61f608aaaa316a64de7445fd856aedf34e11bb08d5f1d7819faa198c7014d397244acd54eb35fe95fc79ef53c5ff770f6e608a0868508422386f110c4357fb69 SHA512 0c3799d15688496ff67007323e0398e7b82becb83d77db4585b5439107f3b4244cff658b908d125d1615391265cc5add2ba5116027bf67c7603c49de54b73f02
-DIST pypy-exe-7.3.13-1.x86.gpkg.tar 9574400 BLAKE2B 29b9d82995b503f5fa933c0ab3ea988b0321768692974d232040afc1b24fb45905f1ae526f57e443110e7341ed310753e4a0ffd161979b0bdc8e6cf1374ca540 SHA512 9046ae99f4996188c04a098e5d716e885545437f5e31e1c75268b45f80d4743b1c431a2aeed990746530ce3c6077a985ff535f813fabcf2ccac91ed8dbc4f2ef
+DIST pypy-exe-7.3.16-1.amd64-musl.gpkg.tar 12933120 BLAKE2B 4a70fc1b6724a75cd4d162a0a61f43242cf6ca889e8f00bc8ed4813aa2e303cf2ebc90bda48fab5aad06de3ac4654e1fdd48c94ab0be44fcf58879655b8dcb98 SHA512 dc1be0e135669593ad05f94b2696bd7cc41a9f3b0e3e46dec4f3909ff6763463372e2da0d2ebf6d4c04b966b6b78d552593bc4de52cc3a0a9e1c3d9f3d499338
+DIST pypy-exe-7.3.16-1.amd64.gpkg.tar 12943360 BLAKE2B 1991240985234b17410387e08008619aa15bbd56d5af855fe2aa75b6fe7936efeab0e42e10fee11d2a6a4eb26de1ae1a470f9a14b842b00a584c18db82bc4df1 SHA512 e0b4a8ca3d312931a2d1ed08f4a98c513ec4ef03c925d82a270357887e1d83c68aa4b68328106a000e4135c96081395a52fd28eec02bbbff06ebec12d4b815a2
+DIST pypy-exe-7.3.16-1.arm64-musl.gpkg.tar 10915840 BLAKE2B 51ea5c558283fd8da09b1ad410a2287a7512d6f5a5b1cd6882bfb10206a81c025ed08ee99cd05caefa41ddf1e6f17d6935e04e756bae7f2e2a80dd19d4a290e8 SHA512 0835866ad97e1e2aed406d8d346356a2095b3cb18fb22648f510063ff76cd9c29cf09877dda6f6ab2637748b376890143372b2012a322c60ced65be0e1b0d7fb
+DIST pypy-exe-7.3.16-1.arm64.gpkg.tar 10864640 BLAKE2B d33b2e35cbc81ef72ee9c04072664e1481ef8b2291be8d74a4bc2e3a5c177abf9344cc0880cfd5bfc04b684edcb6a12851b72ae77744cd36aae0b9cdaee616aa SHA512 9c49541850d359577ad5057e67fbfde13b7e0bf381305c5a15dec14e818f2ac6fcc59dc1654271b6e2f6a04914c7afa40f0caa8c7904c6eaa6633b80780e9500
+DIST pypy-exe-7.3.16-1.ppc64le-musl.gpkg.tar 6707200 BLAKE2B 3d3a3d0c0fef3a69c6c0e6a16c91abf3c8c3a232883f01c13121ed22d3c608ff62347823342e78892a080b84f52652507b870711452e087cab201d0acb58c7c4 SHA512 c36327ec441875c7ada54e3ae9e95651307f03a3dcd447c1d112527c72ddbdcbc303f5769a837e8b3c528d13aeb35ffe1cd9b11ba0575b0e5859138a67f7a2c6
+DIST pypy-exe-7.3.16-1.ppc64le.gpkg.tar 11038720 BLAKE2B 1a7aa31d9ec59a3aeb57c254d2b9efde9d02aba1663683999f1ebae95b2ad0c68a2fc8e4806420b1ad9f45ce4767f8e048b9607d1f124291770a99b423ae799f SHA512 5659cdb5a4a001d9c878670b0f5e7d06e6aa55d8fab403ab80a98e6b362bb8185b01fe4af092cc9042a1762ca52cc0ce81937c84240d08ebb84071cd860559e2
+DIST pypy-exe-7.3.16-1.x86-musl.gpkg.tar 9912320 BLAKE2B c6a42ce64cfda1a148af49e0876b640fb3ecaa7e70b5d5b22e58b9796c11b0e4d9fb5536927b7b20b05b9eaa2210333cb1b1be81581483a21a7a3699e5721e01 SHA512 8964ece7482218e06ab65b790f8f1fcf15a94c270daa9a2381b35ae335717a02f0b32947578fa03f0905a0783cb5fcf3ef03cb87a7ceaa7110c8593e483a971e
+DIST pypy-exe-7.3.16-1.x86.gpkg.tar 9861120 BLAKE2B b83fa9e3c3bbbd7c49ea2fdceabd7125e0db36ee20c2b71969833512f69070e07a1485ab830261f34e2571dbd48b9b65ffb580e9f8ae4b667626ca81b560c493 SHA512 eb2be6886126c675fc85458d34a0bcdd1da1415c843448e39d413b80d363698cb48b3b68bf8869b5ef898f0543966ab501bd4db545d7659705c279bf4de29ae6
diff --git a/dev-python/pypy-exe-bin/metadata.xml b/dev-python/pypy-exe-bin/metadata.xml
index efd7c8c21836..2ed15cb705e2 100644
--- a/dev-python/pypy-exe-bin/metadata.xml
+++ b/dev-python/pypy-exe-bin/metadata.xml
@@ -5,4 +5,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">pypy/pypy</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.13.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.13.ebuild
deleted file mode 100644
index 74ddb5070753..000000000000
--- a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.13.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pax-utils unpacker
-
-MY_P=pypy-exe-${PV}-1
-DESCRIPTION="PyPy executable (pre-built version)"
-HOMEPAGE="https://www.pypy.org/"
-SRC_URI="
- elibc_glibc? (
- amd64? (
- https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.amd64.gpkg.tar
- )
- arm64? (
- https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.arm64.gpkg.tar
- )
- ppc64? (
- https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.ppc64le.gpkg.tar
- )
- x86? (
- https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.x86.gpkg.tar
- )
- )
- elibc_musl? (
- amd64? (
- https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.amd64-musl.gpkg.tar
- )
- arm64? (
- https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.arm64-musl.gpkg.tar
- )
- ppc64? (
- https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.ppc64le-musl.gpkg.tar
- )
- x86? (
- https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.x86-musl.gpkg.tar
- )
- )
-"
-S="${WORKDIR}"
-
-LICENSE="MIT"
-SLOT="${PV%_p*}"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-
-# sys-devel/gcc for libgcc_s.so
-RDEPEND="
- app-arch/bzip2:0/1
- dev-libs/expat:0/0
- dev-libs/libffi:0/8
- sys-libs/ncurses:0/6
- >=sys-libs/zlib-1.1.3:0/1
- virtual/libintl:0/0
- elibc_glibc? (
- sys-devel/gcc
- >=sys-libs/glibc-2.35
- )
- !dev-python/pypy-exe:${SLOT}
-"
-
-QA_PREBUILT="
- usr/lib/pypy2.7/pypy-c-${SLOT}
-"
-
-src_install() {
- insinto /
- doins -r */image/usr
- fperms +x "/usr/lib/pypy2.7/pypy-c-${SLOT}"
- pax-mark m "${ED}/usr/lib/pypy2.7/pypy-c-${SLOT}"
-}
diff --git a/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.16.ebuild b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.16.ebuild
new file mode 100644
index 000000000000..900de22d9f93
--- /dev/null
+++ b/dev-python/pypy-exe-bin/pypy-exe-bin-7.3.16.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pax-utils unpacker
+
+MY_P=pypy-exe-${PV}-1
+DESCRIPTION="PyPy executable (pre-built version)"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ elibc_glibc? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86.gpkg.tar
+ )
+ )
+ elibc_musl? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64-musl.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64-musl.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le-musl.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86-musl.gpkg.tar
+ )
+ )
+"
+S="${WORKDIR}"
+
+LICENSE="MIT"
+SLOT="${PV%_p*}"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86"
+
+# sys-devel/gcc for libgcc_s.so
+RDEPEND="
+ app-arch/bzip2:0/1
+ dev-libs/expat:0/0
+ dev-libs/libffi:0/8
+ sys-libs/ncurses:0/6
+ >=sys-libs/zlib-1.1.3:0/1
+ virtual/libintl:0/0
+ elibc_glibc? (
+ sys-devel/gcc
+ >=sys-libs/glibc-2.35
+ )
+ !dev-python/pypy-exe:${SLOT}
+"
+
+QA_PREBUILT="
+ usr/lib/pypy2.7/pypy-c-${SLOT}
+"
+
+src_install() {
+ insinto /
+ doins -r */image/usr
+ fperms +x "/usr/lib/pypy2.7/pypy-c-${SLOT}"
+ pax-mark m "${ED}/usr/lib/pypy2.7/pypy-c-${SLOT}"
+}
diff --git a/dev-python/pypy-exe/Manifest b/dev-python/pypy-exe/Manifest
index 23f106c3c88a..07bbe9c11ef5 100644
--- a/dev-python/pypy-exe/Manifest
+++ b/dev-python/pypy-exe/Manifest
@@ -1,2 +1,2 @@
-DIST pypy2.7-gentoo-patches-7.3.13.tar.xz 5340 BLAKE2B 843a7a5e4c2fd56fc4db51ba388736c0aa6593d45b145503f6428783a9fd815a77e2a06809077effced6fccf75c0dd38527a0695211852fd2a4c61b34e40c15c SHA512 cc8f6fc69f00030609a8d79f05a60b2e185141e9fc70a53b476b60a183dd0500627023658c6a57c2412f32af1db6fae91a361a4992d84e7dfbadb7eb4a98b8a1
-DIST pypy2.7-v7.3.13-src.tar.bz2 19907651 BLAKE2B ce80db193afadbc721e781cbfe3d72bfe420eef3ede408f23213ab5d87a9a42c025d3c31c742dcb55a039b618930ebc4899d704f060d294f2e492d4d754effba SHA512 deeca234abbe526102cec637dc88399f462f64ae66c38782e6f3372b484d25fa4e88b906f783ba515bed17d2e82626d1c94fd6ee9b8b64e393f9bc0f5ee2b07b
+DIST pypy2.7-gentoo-patches-7.3.16.tar.xz 5312 BLAKE2B b265dd7afee097ad66bacd9df01514eed6bb30afe19410b2594ee7c2d61ababc67e11c0dd0392a0b1f81e0bc609963cde044834ab24e67d007d101b8aa8052cb SHA512 0d0309f3ed7314f6d310b0e34eedbbfdcc5a75d9bbd59b9071e567968bb10925549435776fab5bc7ec97e2b3422921dc282619427f930d89df6c7bc98ea701c1
+DIST pypy2.7-v7.3.16-src.tar.bz2 19843601 BLAKE2B 9c37a03561fcdf742eccde760f6cadcbc2e1b140dd6d3e67856cc072e0c3db85759c398f590ed44fb4e4ed2f5f7745d5589cb9a95cefcbec79f3b1be6c4956e1 SHA512 131635433e53d4d86730a3daf1ad81799a7dd1117511618cc2607ac7234ce3aa5c833400df09cbd3376a391e125d6d2ec3471f120f81a6d53700f5c3d087793c
diff --git a/dev-python/pypy-exe/metadata.xml b/dev-python/pypy-exe/metadata.xml
index 9f1f42740089..3f2aeb55aa5e 100644
--- a/dev-python/pypy-exe/metadata.xml
+++ b/dev-python/pypy-exe/metadata.xml
@@ -5,6 +5,9 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">pypy/pypy</remote-id>
+ </upstream>
<use>
<flag name="low-memory">Build using PyPy with the engine configured towards low memory footprint.
This makes it possible to build PyPy using ~3.5G of RAM on amd64 and ~half of that on x86,
diff --git a/dev-python/pypy-exe/pypy-exe-7.3.13.ebuild b/dev-python/pypy-exe/pypy-exe-7.3.13.ebuild
deleted file mode 100644
index b898c0920192..000000000000
--- a/dev-python/pypy-exe/pypy-exe-7.3.13.ebuild
+++ /dev/null
@@ -1,177 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit check-reqs pax-utils toolchain-funcs
-
-PYPY_PV=${PV%_p*}
-MY_P=pypy2.7-v${PYPY_PV/_}
-PATCHSET="pypy2.7-gentoo-patches-${PV/_}"
-
-DESCRIPTION="PyPy executable (build from source)"
-HOMEPAGE="https://www.pypy.org/"
-SRC_URI="
- https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
-"
-S="${WORKDIR}/${MY_P}-src"
-
-LICENSE="MIT"
-SLOT="${PYPY_PV}"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2"
-
-DEPEND="
- >=sys-libs/zlib-1.1.3:0=
- dev-libs/libffi:0=
- virtual/libintl:0=
- dev-libs/expat:0=
- bzip2? ( app-arch/bzip2:0= )
- ncurses? ( sys-libs/ncurses:0= )
-"
-RDEPEND="
- ${DEPEND}
- !dev-python/pypy-exe-bin:${PYPY_PV}
-"
-# don't enforce the dep on dev-python/pypy with USE=low-memory
-# since it's going to cause circular dep with unhelpful error message
-BDEPEND="
- !low-memory? (
- || (
- dev-python/pypy
- dev-lang/python:2.7
- )
- )
-"
-
-check_env() {
- if ! has_version -b dev-python/pypy; then
- if use low-memory; then
- eerror "USE=low-memory requires (a prior version of) dev-python/pypy"
- eerror "installed."
- else
- ewarn "CPython 2.7 will be used to perform the translation. Upstream"
- ewarn "recommends using (a prior version of) dev-python/pypy instead."
- fi
- elog "You can install a prebuilt version of PyPy first using e.g.:"
- elog " $ emerge -1v dev-python/pypy dev-python/pypy-exe-bin"
-
- if use low-memory; then
- die "dev-python/pypy needs to be installed for USE=low-memory"
- fi
- fi
-
- if use low-memory; then
- CHECKREQS_MEMORY="1750M"
- use amd64 && CHECKREQS_MEMORY="3500M"
- else
- CHECKREQS_MEMORY="3G"
- use amd64 && CHECKREQS_MEMORY="6G"
- fi
-
- check-reqs_pkg_pretend
-}
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && check_env
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && check_env
-}
-
-src_prepare() {
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
- default
-}
-
-src_configure() {
- tc-export CC
-
- local jit_backend
- if use jit; then
- jit_backend='--jit-backend='
-
- # We only need the explicit sse2 switch for x86.
- # On other arches we can rely on autodetection which uses
- # compiler macros. Plus, --jit-backend= doesn't accept all
- # the modern values...
-
- if use x86; then
- if use cpu_flags_x86_sse2; then
- jit_backend+=x86
- else
- jit_backend+=x86-without-sse2
- fi
- else
- jit_backend+=auto
- fi
- fi
-
- local args=(
- --no-shared
- $(usex jit -Ojit -O2)
-
- ${jit_backend}
-
- pypy/goal/targetpypystandalone
- )
-
- # Avoid linking against libraries disabled by use flags
- local opts=(
- bzip2:bz2
- ncurses:_minimal_curses
- )
-
- local opt
- for opt in "${opts[@]}"; do
- local flag=${opt%:*}
- local mod=${opt#*:}
-
- args+=(
- $(usex ${flag} --withmod --withoutmod)-${mod}
- )
- done
-
- local interp
- if use low-memory || has_version -b dev-python/pypy; then
- einfo "Using already-installed PyPy to perform the translation."
- interp=( pypy )
- if use low-memory; then
- local -x PYPY_GC_MAX_DELTA=200MB
- interp+=( --jit loop_longevity=300 )
- fi
- else
- einfo "Using CPython 2.7 to perform the translation."
- interp=( python2.7 )
-
- # reuse bundled pycparser to avoid external dep
- mkdir -p "${T}"/pymod/cffi || die
- : > "${T}"/pymod/cffi/__init__.py || die
- cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/cffi/ || die
- local -x PYTHONPATH=${T}/pymod:${PYTHONPATH}
- fi
-
- # translate into the C sources
- # we're going to build them ourselves since otherwise pypy does not
- # free up the unneeded memory before spawning the compiler
- set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
- echo -e "\033[1m${@}\033[0m"
- "${@}" || die "translation failed"
-}
-
-src_compile() {
- emake -C "${T}"/usession*-0/testing_1
-}
-
-src_install() {
- local dest=/usr/lib/pypy2.7
- exeinto "${dest}"
- newexe "${T}"/usession*-0/testing_1/pypy-c pypy-c-${PYPY_PV}
- insinto "${dest}"/include/${PYPY_PV}
- doins include/pypy_*
- pax-mark m "${ED}${dest}/pypy-c-${PYPY_PV}"
-}
diff --git a/dev-python/pypy-exe/pypy-exe-7.3.16.ebuild b/dev-python/pypy-exe/pypy-exe-7.3.16.ebuild
new file mode 100644
index 000000000000..e6d19abc0125
--- /dev/null
+++ b/dev-python/pypy-exe/pypy-exe-7.3.16.ebuild
@@ -0,0 +1,181 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+MY_P=pypy2.7-v${PYPY_PV/_}
+PATCHSET="pypy2.7-gentoo-patches-${PV/_}"
+
+DESCRIPTION="PyPy executable (build from source)"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+SLOT="${PYPY_PV}"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 +jit low-memory ncurses cpu_flags_x86_sse2"
+
+DEPEND="
+ >=sys-libs/zlib-1.1.3:0=
+ dev-libs/libffi:0=
+ virtual/libintl:0=
+ dev-libs/expat:0=
+ bzip2? ( app-arch/bzip2:0= )
+ ncurses? ( sys-libs/ncurses:0= )
+"
+RDEPEND="
+ ${DEPEND}
+ !dev-python/pypy-exe-bin:${PYPY_PV}
+"
+# don't enforce the dep on dev-python/pypy with USE=low-memory
+# since it's going to cause circular dep with unhelpful error message
+BDEPEND="
+ !low-memory? (
+ || (
+ dev-python/pypy
+ dev-lang/python:2.7
+ )
+ )
+"
+
+check_env() {
+ if ! has_version -b dev-python/pypy; then
+ if use low-memory; then
+ eerror "USE=low-memory requires (a prior version of) dev-python/pypy"
+ eerror "installed."
+ else
+ ewarn "CPython 2.7 will be used to perform the translation. Upstream"
+ ewarn "recommends using (a prior version of) dev-python/pypy instead."
+ fi
+ elog "You can install a prebuilt version of PyPy first using e.g.:"
+ elog " $ emerge -1v dev-python/pypy dev-python/pypy-exe-bin"
+
+ if use low-memory; then
+ die "dev-python/pypy needs to be installed for USE=low-memory"
+ fi
+ fi
+
+ if use low-memory; then
+ CHECKREQS_MEMORY="1750M"
+ use amd64 && CHECKREQS_MEMORY="3500M"
+ else
+ CHECKREQS_MEMORY="3G"
+ use amd64 && CHECKREQS_MEMORY="6G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+ default
+}
+
+src_configure() {
+ tc-export CC
+
+ local jit_backend
+ if use jit; then
+ jit_backend='--jit-backend='
+
+ # We only need the explicit sse2 switch for x86.
+ # On other arches we can rely on autodetection which uses
+ # compiler macros. Plus, --jit-backend= doesn't accept all
+ # the modern values...
+
+ if use x86; then
+ if use cpu_flags_x86_sse2; then
+ jit_backend+=x86
+ else
+ jit_backend+=x86-without-sse2
+ fi
+ else
+ jit_backend+=auto
+ fi
+ fi
+
+ local args=(
+ --no-shared
+ $(usex jit -Ojit -O2)
+
+ ${jit_backend}
+
+ pypy/goal/targetpypystandalone
+ )
+
+ # Avoid linking against libraries disabled by use flags
+ local opts=(
+ bzip2:bz2
+ ncurses:_minimal_curses
+ )
+
+ local opt
+ for opt in "${opts[@]}"; do
+ local flag=${opt%:*}
+ local mod=${opt#*:}
+
+ args+=(
+ $(usex ${flag} --withmod --withoutmod)-${mod}
+ )
+ done
+
+ local interp
+ if use low-memory || has_version -b dev-python/pypy; then
+ einfo "Using already-installed PyPy to perform the translation."
+ interp=( pypy )
+ if use low-memory; then
+ local -x PYPY_GC_MAX_DELTA=200MB
+ interp+=( --jit loop_longevity=300 )
+ fi
+ else
+ einfo "Using CPython 2.7 to perform the translation."
+ interp=( python2.7 )
+
+ # reuse bundled pycparser to avoid external dep
+ mkdir -p "${T}"/pymod/cffi || die
+ : > "${T}"/pymod/cffi/__init__.py || die
+ cp -r lib_pypy/cffi/_pycparser "${T}"/pymod/cffi/ || die
+ local -x PYTHONPATH=${T}/pymod:${PYTHONPATH}
+ fi
+
+ # translate into the C sources
+ # we're going to build them ourselves since otherwise pypy does not
+ # free up the unneeded memory before spawning the compiler
+ set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
+ echo -e "\033[1m${@}\033[0m"
+ "${@}" || die "translation failed"
+}
+
+src_compile() {
+ emake -C "${T}"/usession*-0/testing_1
+}
+
+src_install() {
+ local dest=/usr/lib/pypy2.7
+ exeinto "${dest}"
+ newexe "${T}"/usession*-0/testing_1/pypy-c pypy-c-${PYPY_PV}
+ insinto "${dest}"/include/${PYPY_PV}
+ doins include/pypy_*
+ pax-mark m "${ED}${dest}/pypy-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy/Manifest b/dev-python/pypy/Manifest
index 23f106c3c88a..07bbe9c11ef5 100644
--- a/dev-python/pypy/Manifest
+++ b/dev-python/pypy/Manifest
@@ -1,2 +1,2 @@
-DIST pypy2.7-gentoo-patches-7.3.13.tar.xz 5340 BLAKE2B 843a7a5e4c2fd56fc4db51ba388736c0aa6593d45b145503f6428783a9fd815a77e2a06809077effced6fccf75c0dd38527a0695211852fd2a4c61b34e40c15c SHA512 cc8f6fc69f00030609a8d79f05a60b2e185141e9fc70a53b476b60a183dd0500627023658c6a57c2412f32af1db6fae91a361a4992d84e7dfbadb7eb4a98b8a1
-DIST pypy2.7-v7.3.13-src.tar.bz2 19907651 BLAKE2B ce80db193afadbc721e781cbfe3d72bfe420eef3ede408f23213ab5d87a9a42c025d3c31c742dcb55a039b618930ebc4899d704f060d294f2e492d4d754effba SHA512 deeca234abbe526102cec637dc88399f462f64ae66c38782e6f3372b484d25fa4e88b906f783ba515bed17d2e82626d1c94fd6ee9b8b64e393f9bc0f5ee2b07b
+DIST pypy2.7-gentoo-patches-7.3.16.tar.xz 5312 BLAKE2B b265dd7afee097ad66bacd9df01514eed6bb30afe19410b2594ee7c2d61ababc67e11c0dd0392a0b1f81e0bc609963cde044834ab24e67d007d101b8aa8052cb SHA512 0d0309f3ed7314f6d310b0e34eedbbfdcc5a75d9bbd59b9071e567968bb10925549435776fab5bc7ec97e2b3422921dc282619427f930d89df6c7bc98ea701c1
+DIST pypy2.7-v7.3.16-src.tar.bz2 19843601 BLAKE2B 9c37a03561fcdf742eccde760f6cadcbc2e1b140dd6d3e67856cc072e0c3db85759c398f590ed44fb4e4ed2f5f7745d5589cb9a95cefcbec79f3b1be6c4956e1 SHA512 131635433e53d4d86730a3daf1ad81799a7dd1117511618cc2607ac7234ce3aa5c833400df09cbd3376a391e125d6d2ec3471f120f81a6d53700f5c3d087793c
diff --git a/dev-python/pypy/metadata.xml b/dev-python/pypy/metadata.xml
index 786955f8b2f0..cfd619229f75 100644
--- a/dev-python/pypy/metadata.xml
+++ b/dev-python/pypy/metadata.xml
@@ -5,13 +5,15 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">pypy/pypy</remote-id>
+ </upstream>
<use>
<flag name="full-stdlib">
Install complete stdlib as necessary to use PyPy for general
purpose programs. By default, only a limited subset that is
- used when building <pkg>dev-python/pypy3-exe</pkg> is
- installed. Note that PyPy2.7's stdlib contains multiple
- known vulnerabilities.
+ used when building PyPy3 executables is installed. Note
+ that PyPy2.7's stdlib contains multiple known vulnerabilities.
</flag>
</use>
</pkgmetadata>
diff --git a/dev-python/pypy/pypy-7.3.13.ebuild b/dev-python/pypy/pypy-7.3.13.ebuild
deleted file mode 100644
index cefd623b2968..000000000000
--- a/dev-python/pypy/pypy-7.3.13.ebuild
+++ /dev/null
@@ -1,301 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pax-utils python-utils-r1
-
-PYPY_PV=${PV%_p*}
-MY_P=pypy2.7-v${PYPY_PV/_}
-PATCHSET="pypy2.7-gentoo-patches-${PV/_rc/rc}"
-
-DESCRIPTION="A fast, compliant alternative implementation of the Python language"
-HOMEPAGE="https://www.pypy.org/"
-SRC_URI="
- https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
-"
-S="${WORKDIR}/${MY_P}-src"
-
-LICENSE="MIT"
-# pypy -c 'import sysconfig; print sysconfig.get_config_var("SOABI")'
-SLOT="0/73"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="bzip2 full-stdlib gdbm +jit ncurses sqlite tk"
-RESTRICT="!full-stdlib? ( test )"
-
-RDEPEND="
- || (
- >=dev-python/pypy-exe-bin-${PYPY_PV}:${PYPY_PV}
- >=dev-python/pypy-exe-${PYPY_PV}:${PYPY_PV}[bzip2?,ncurses?]
- )
- dev-libs/openssl:0=
- gdbm? ( sys-libs/gdbm:0= )
- sqlite? ( dev-db/sqlite:3= )
- tk? (
- dev-lang/tk:0=
- dev-tcltk/tix:0=
- )
-"
-DEPEND="
- ${RDEPEND}
-"
-
-src_prepare() {
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
- default
-}
-
-src_compile() {
- # copy over to make sys.prefix happy
- cp -p "${BROOT}"/usr/lib/pypy2.7/pypy-c-${PYPY_PV} pypy-c || die
- cp -p "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/* include/ || die
- # (not installed by pypy)
- rm pypy/module/cpyext/include/_numpypy/numpy/README || die
- mv pypy/module/cpyext/include/* include/ || die
- mv pypy/module/cpyext/parse/*.h include/ || die
- pax-mark m pypy-c
-
- # verify the subslot
- local soabi=$(
- ./pypy-c - <<-EOF
- import sysconfig
- print sysconfig.get_config_var("SOABI")
- EOF
- )
- [[ ${soabi#pypy-} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
-
- einfo "Generating caches and CFFI modules ..."
-
- if use full-stdlib; then
- # Generate Grammar and PatternGrammar pickles.
- ./pypy-c - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed"
- import lib2to3.pygram
- import lib2to3.patcomp
- lib2to3.patcomp.PatternCompiler()
- EOF
-
- # Generate cffi modules
- # Please keep in sync with pypy/tool/build_cffi_imports.py!
- cffi_targets=( pypy_util ssl audioop syslog pwdgrp resource )
- use gdbm && cffi_targets+=( gdbm )
- use ncurses && cffi_targets+=( curses )
- use sqlite && cffi_targets+=( sqlite3 )
- use tk && cffi_targets+=( tkinter/tklib )
-
- local t
- # all modules except tkinter output to .
- # tkinter outputs to the correct dir ...
- cd lib_pypy || die
- for t in "${cffi_targets[@]}"; do
- # tkinter doesn't work via -m
- ../pypy-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
- done
-
- # Verify that CFFI module list is up-to-date
- local expected_cksum=2d3acf18
- local local_cksum=$(
- ../pypy-c - <<-EOF
- import binascii
- import json
- from pypy_tools.build_cffi_imports import cffi_build_scripts as x
- print("%08x" % (binascii.crc32(json.dumps(x)),))
- EOF
- )
- if [[ ${local_cksum} != ${expected_cksum} ]]; then
- die "Please verify cffi_targets and update checksum to ${local_cksum}"
- fi
-
- # Cleanup temporary objects
- find -name "_cffi_*.[co]" -delete || die
- find -type d -empty -delete || die
- fi
-}
-
-src_test() {
- # (unset)
- local -x PYTHONDONTWRITEBYTECODE=
- local -x COLUMNS=80
-
- local ignored_tests=(
- # network
- --ignore=lib-python/2.7/test/test_urllibnet.py
- --ignore=lib-python/2.7/test/test_urllib2net.py
- # lots of free space
- --ignore=lib-python/2.7/test/test_zipfile64.py
-
- # broken by expat-2.4.5
- --ignore=lib-python/2.7/test/test_minidom.py
- --ignore=lib-python/2.7/test/test_xml_etree.py
- --ignore=lib-python/2.7/test/test_xml_etree_c.py
- )
-
- ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -vv \
- "${ignored_tests[@]}" lib-python || die
-}
-
-src_install() {
- local dest=/usr/lib/pypy2.7
- einfo "Installing PyPy ..."
- dosym pypy-c-${PYPY_PV} "${dest}/pypy-c"
- insinto "${dest}"
- # preserve mtimes to avoid obsoleting caches
- insopts -p
- if use full-stdlib; then
- doins -r include lib_pypy lib-python
-
- # replace copied headers with symlinks
- for x in "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/*; do
- dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}"
- done
-
- if ! use gdbm; then
- rm -r "${ED}${dest}"/lib_pypy/gdbm.py \
- "${ED}${dest}"/lib-python/*2.7/test/test_gdbm.py || die
- fi
- if ! use sqlite; then
- rm -r "${ED}${dest}"/lib-python/*2.7/sqlite3 \
- "${ED}${dest}"/lib_pypy/_sqlite3.py \
- "${ED}${dest}"/lib-python/*2.7/test/test_sqlite.py || die
- fi
- if ! use tk; then
- rm -r "${ED}${dest}"/lib-python/*2.7/{idlelib,lib-tk} \
- "${ED}${dest}"/lib_pypy/_tkinter \
- "${ED}${dest}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
- fi
- else
- # install only the absolutely minimal subset of modules needed
- # for pypy3 build
- local lib_py_modules=(
- # base modules needed to even start pypy (and import site)
- codecs.py
- copy_reg.py
- encodings
- genericpath.py
- linecache.py
- os.py
- pkgutil.py
- posixpath.py
- re.py
- runpy.py
- site.py
- sre_compile.py
- sre_constants.py
- sre_parse.py
- stat.py
- string.py
- sysconfig.py
- traceback.py
- warnings.py
- UserDict.py
-
- # needed for python_optimize
- compileall.py
- getopt.py
- py_compile.py
- struct.py
-
- # needed for rpython
- argparse.py
- atexit.py
- base64.py
- bdb.py
- bisect.py
- cmd.py
- code.py
- codeop.py
- collections.py
- colorsys.py
- contextlib.py
- copy.py
- ctypes
- dis.py
- fnmatch.py
- functools.py
- gettext.py
- hashlib.py
- heapq.py
- inspect.py
- io.py
- json
- keyword.py
- locale.py
- logging
- new.py
- opcode.py
- optparse.py
- pdb.py
- pickle.py
- platform.py
- pprint.py
- random.py
- repr.py
- shlex.py
- shutil.py
- StringIO.py
- subprocess.py
- tempfile.py
- textwrap.py
- threading.py
- tokenize.py
- weakref.py
- zipfile.py
- )
-
- local distutils_modules=(
- # needed by site
- __init__.py
- errors.py
- sysconfig.py
- sysconfig_cpython.py
- sysconfig_pypy.py
- )
-
- local lib_pypy_modules=(
- # needed by site
- _sysconfigdata.py
-
- # needed by rpython
- cffi
- _ctypes
- _ffi.py
- _functools.py
- _sha.py
- _sha256.py
- _sha512.py
-
- # NB: we're deliberately skipping _hashlib to avoid some deps
- )
-
- cd lib-python/2.7 || die
- insinto "${dest}/lib-python/2.7"
- doins -r "${lib_py_modules[@]}"
- cd - >/dev/null || die
-
- cd lib-python/2.7/distutils || die
- insinto "${dest}/lib-python/2.7/distutils"
- doins -r "${distutils_modules[@]}"
- cd - >/dev/null || die
-
- cd lib_pypy || die
- insinto "${dest}/lib_pypy"
- doins -r "${lib_pypy_modules[@]}"
- cd - >/dev/null || die
- fi
-
- dosym ../lib/pypy2.7/pypy-c /usr/bin/pypy
- dodoc README.rst
-
- local -x EPYTHON=pypy
- local -x PYTHON=${ED}${dest}/pypy-c-${PYPY_PV}
- # temporarily copy to build tree to facilitate module builds
- cp -p "${BROOT}${dest}/pypy-c-${PYPY_PV}" "${PYTHON}" || die
-
- einfo "Byte-compiling Python standard library..."
- python_optimize "${ED}${dest}"
-
- # remove to avoid collisions
- rm "${PYTHON}" || die
-}
diff --git a/dev-python/pypy/pypy-7.3.16.ebuild b/dev-python/pypy/pypy-7.3.16.ebuild
new file mode 100644
index 000000000000..798e07131013
--- /dev/null
+++ b/dev-python/pypy/pypy-7.3.16.ebuild
@@ -0,0 +1,306 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pax-utils
+
+PYPY_PV=${PV%_p*}
+MY_P=pypy2.7-v${PYPY_PV/_}
+PATCHSET="pypy2.7-gentoo-patches-${PV/_rc/rc}"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python language"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+# pypy -c 'import sysconfig; print sysconfig.get_config_var("SOABI")'
+SLOT="0/73"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="bzip2 full-stdlib gdbm +jit ncurses sqlite tk"
+RESTRICT="test"
+
+RDEPEND="
+ || (
+ >=dev-python/pypy-exe-bin-${PYPY_PV}:${PYPY_PV}
+ >=dev-python/pypy-exe-${PYPY_PV}:${PYPY_PV}[bzip2?,ncurses?]
+ )
+ dev-libs/openssl:0=
+ gdbm? ( sys-libs/gdbm:0= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+ default
+}
+
+src_compile() {
+ # copy over to make sys.prefix happy
+ cp -p "${BROOT}"/usr/lib/pypy2.7/pypy-c-${PYPY_PV} pypy-c || die
+ cp -p "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/* include/ || die
+ # (not installed by pypy)
+ rm pypy/module/cpyext/include/_numpypy/numpy/README || die
+ mv pypy/module/cpyext/include/* include/ || die
+ mv pypy/module/cpyext/parse/*.h include/ || die
+ pax-mark m pypy-c
+
+ # verify the subslot
+ local soabi=$(
+ ./pypy-c - <<-EOF
+ import sysconfig
+ print sysconfig.get_config_var("SOABI")
+ EOF
+ )
+ [[ ${soabi#pypy-} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
+
+ einfo "Generating caches and CFFI modules ..."
+
+ if use full-stdlib; then
+ # Generate Grammar and PatternGrammar pickles.
+ ./pypy-c - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed"
+ import lib2to3.pygram
+ import lib2to3.patcomp
+ lib2to3.patcomp.PatternCompiler()
+ EOF
+
+ # Generate cffi modules
+ # Please keep in sync with pypy/tool/build_cffi_imports.py!
+ cffi_targets=( pypy_util ssl audioop syslog pwdgrp resource )
+ use gdbm && cffi_targets+=( gdbm )
+ use ncurses && cffi_targets+=( curses )
+ use sqlite && cffi_targets+=( sqlite3 )
+ use tk && cffi_targets+=( tkinter/tklib )
+
+ local t
+ # all modules except tkinter output to .
+ # tkinter outputs to the correct dir ...
+ cd lib_pypy || die
+ for t in "${cffi_targets[@]}"; do
+ # tkinter doesn't work via -m
+ ../pypy-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
+ done
+
+ # Verify that CFFI module list is up-to-date
+ local expected_cksum=-7df4eab0
+ local local_cksum=$(
+ ../pypy-c - <<-EOF
+ import binascii
+ import json
+ from pypy_tools.build_cffi_imports import cffi_build_scripts as x
+ print("%08x" % (binascii.crc32(json.dumps(x)),))
+ EOF
+ )
+ if [[ ${local_cksum} != ${expected_cksum} ]]; then
+ die "Please verify cffi_targets and update checksum to ${local_cksum}"
+ fi
+
+ # Cleanup temporary objects
+ find -name "_cffi_*.[co]" -delete || die
+ find -type d -empty -delete || die
+ fi
+}
+
+src_test() {
+ # (unset)
+ local -x PYTHONDONTWRITEBYTECODE=
+ local -x COLUMNS=80
+
+ local ignored_tests=(
+ # network
+ --ignore=lib-python/2.7/test/test_urllibnet.py
+ --ignore=lib-python/2.7/test/test_urllib2net.py
+ # lots of free space
+ --ignore=lib-python/2.7/test/test_zipfile64.py
+
+ # broken by expat-2.4.5
+ --ignore=lib-python/2.7/test/test_minidom.py
+ --ignore=lib-python/2.7/test/test_xml_etree.py
+ --ignore=lib-python/2.7/test/test_xml_etree_c.py
+ )
+
+ ./pypy-c ./pypy/test_all.py --pypy=./pypy-c -vv \
+ "${ignored_tests[@]}" lib-python || die
+}
+
+src_install() {
+ local dest=/usr/lib/pypy2.7
+ einfo "Installing PyPy ..."
+ dosym pypy-c-${PYPY_PV} "${dest}/pypy-c"
+ insinto "${dest}"
+ # preserve mtimes to avoid obsoleting caches
+ insopts -p
+ if use full-stdlib; then
+ doins -r include lib_pypy lib-python
+
+ # replace copied headers with symlinks
+ for x in "${BROOT}"/usr/lib/pypy2.7/include/${PYPY_PV}/*; do
+ dosym "${PYPY_PV}/${x##*/}" "${dest}/include/${x##*/}"
+ done
+
+ if ! use gdbm; then
+ rm -r "${ED}${dest}"/lib_pypy/gdbm.py \
+ "${ED}${dest}"/lib-python/*2.7/test/test_gdbm.py || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED}${dest}"/lib-python/*2.7/sqlite3 \
+ "${ED}${dest}"/lib_pypy/_sqlite3.py \
+ "${ED}${dest}"/lib-python/*2.7/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}${dest}"/lib-python/*2.7/{idlelib,lib-tk} \
+ "${ED}${dest}"/lib_pypy/_tkinter \
+ "${ED}${dest}"/lib-python/*2.7/test/test_{tcl,tk,ttk*}.py || die
+ fi
+ else
+ # install only the absolutely minimal subset of modules needed
+ # for pypy3 build
+ local lib_py_modules=(
+ # base modules needed to even start pypy (and import site)
+ codecs.py
+ copy_reg.py
+ encodings
+ genericpath.py
+ linecache.py
+ os.py
+ pkgutil.py
+ posixpath.py
+ re.py
+ runpy.py
+ site.py
+ sre_compile.py
+ sre_constants.py
+ sre_parse.py
+ stat.py
+ string.py
+ sysconfig.py
+ traceback.py
+ warnings.py
+ UserDict.py
+
+ # needed for python_optimize
+ compileall.py
+ getopt.py
+ py_compile.py
+ struct.py
+
+ # needed for rpython
+ argparse.py
+ atexit.py
+ base64.py
+ bdb.py
+ bisect.py
+ cmd.py
+ code.py
+ codeop.py
+ collections.py
+ colorsys.py
+ contextlib.py
+ copy.py
+ ctypes
+ dis.py
+ fnmatch.py
+ functools.py
+ gettext.py
+ hashlib.py
+ heapq.py
+ inspect.py
+ io.py
+ json
+ keyword.py
+ locale.py
+ logging
+ new.py
+ opcode.py
+ optparse.py
+ pdb.py
+ pickle.py
+ platform.py
+ pprint.py
+ random.py
+ repr.py
+ shlex.py
+ shutil.py
+ StringIO.py
+ subprocess.py
+ tempfile.py
+ textwrap.py
+ threading.py
+ tokenize.py
+ weakref.py
+ zipfile.py
+ )
+
+ local distutils_modules=(
+ # needed by site
+ __init__.py
+ errors.py
+ sysconfig.py
+ sysconfig_cpython.py
+ sysconfig_pypy.py
+ )
+
+ local lib_pypy_modules=(
+ # needed by site
+ _sysconfigdata.py
+
+ # needed by rpython
+ cffi
+ _ctypes
+ _ffi.py
+ _functools.py
+ _sha.py
+ _sha256.py
+ _sha512.py
+
+ # NB: we're deliberately skipping _hashlib to avoid some deps
+ )
+
+ cd lib-python/2.7 || die
+ insinto "${dest}/lib-python/2.7"
+ doins -r "${lib_py_modules[@]}"
+ cd - >/dev/null || die
+
+ cd lib-python/2.7/distutils || die
+ insinto "${dest}/lib-python/2.7/distutils"
+ doins -r "${distutils_modules[@]}"
+ cd - >/dev/null || die
+
+ cd lib_pypy || die
+ insinto "${dest}/lib_pypy"
+ doins -r "${lib_pypy_modules[@]}"
+ cd - >/dev/null || die
+ fi
+
+ dosym ../lib/pypy2.7/pypy-c /usr/bin/pypy
+ dodoc README.rst
+
+ local -x PYTHON=${ED}${dest}/pypy-c-${PYPY_PV}
+ # temporarily copy to build tree to facilitate module builds
+ cp -p "${BROOT}${dest}/pypy-c-${PYPY_PV}" "${PYTHON}" || die
+
+ einfo "Byte-compiling Python standard library..."
+ "${PYTHON}" -m compileall \
+ -x 'bad_coding|badsyntax|make_ssl_data|lib2to3/tests/data' \
+ -q -f -d "${dest}" "${ED}/${dest}" || die
+
+ # remove to avoid collisions
+ rm "${PYTHON}" || die
+}
diff --git a/dev-python/pypy3-exe-bin/Manifest b/dev-python/pypy3-exe-bin/Manifest
deleted file mode 100644
index 4b3d7bf6b775..000000000000
--- a/dev-python/pypy3-exe-bin/Manifest
+++ /dev/null
@@ -1,8 +0,0 @@
-DIST pypy3-exe-7.3.11-1.amd64-musl.gpkg.tar 11888640 BLAKE2B e0e78de17b09eeb4928e5898c0ba4a3c3ab9dd7beac0b4541fbe196a1009ac8c1d89ae73c304eb465c392a766b2d9fb9f25d3c9c95e7f78e7d8c6558207a9623 SHA512 d6407f8a423b718e23582e12b7fbe48c9cec308cb5be033c7e30fe79978fce8fb31dcac2ce536eb495a2fe02c929a9a681c7ff583451293e007a2d432e814b92
-DIST pypy3-exe-7.3.11-1.amd64.gpkg.tar 11857920 BLAKE2B f5b49bf28ad74732947fb167addad871fc4e65f024aaaa01c3b4d7ff770dc71fb42d5a135501639d622a02c93f1dec6226daff801a38c23415bf4d6467bbdca7 SHA512 5a890ed0694575eb4e418e0e9bd26ecd3b9ae2252572cae11d1bf1fe82b6894c21d5dc372b347fb4238da4c8b7075448aa63057b22bd8212156cc5cba947e11b
-DIST pypy3-exe-7.3.11-1.arm64-musl.gpkg.tar 9902080 BLAKE2B 82f630477b284b5bc123b848a3babf513ee1269e7ab5ae50ba7f54c2c3f35d6ad029c1c0be8c1a4b52f1d69a66e44e6271df1858257decdb17816583e8b874cd SHA512 92f31e7a61e8210c9409dc1d0e2ca4c9e9f56c57331787f399870fac9bf7b2d4f63ba66cd16da00535a7723080c6243803be3cee0cd4c2f79fd9f8f8659529d2
-DIST pypy3-exe-7.3.11-1.arm64.gpkg.tar 9871360 BLAKE2B d58938a9b83d19f26a96c0690c6287164f7ab20b7b4eba85eed9b1889627ac6e6ec01896555227ca93cd66485a1e019b6cafabd26366dba564900bb7ef17741c SHA512 78bb821002511756bbe38931fe5ca1058bedb3c34889f07cb247765f8e72cdfcfe84f9aa121bb76f00706106f89e967bd2b805e108d35a82bb553e4a8e9a2869
-DIST pypy3-exe-7.3.11-1.ppc64le-musl.gpkg.tar 6492160 BLAKE2B a58cd99780af478369bba867d5cf8c34f68054b42de0d7a5d9e0f12ebed39a6fbf5b5b3d2634502b54c4fbdd81cfbce6e3200f3faf0111b788caf491de4982e0 SHA512 197e3e7d9518a9e8e2b4ebb428dbaef48a035d22fc6153a03a69e250e2fdeb7ced56ff6fa43fb002ea3d287829ca04dde071dab04a2458b76748c07da0117176
-DIST pypy3-exe-7.3.11-1.ppc64le.gpkg.tar 10127360 BLAKE2B 0ee59ebc8f66b5ba4628cfe7cd64bf3578d756b030bf6ff4681c177d45b23212605a7c605f470631708305d36c146b9c746f043fe169ad6fcce457e224d66d10 SHA512 8049a615299ca033834edcd996744cd125d2f258cac0352448796ea9e9dd51e395af15feb42d27432da04ae58fa6e76a8195a39f74316627b0b3e4e0bd1b43cc
-DIST pypy3-exe-7.3.11-1.x86-musl.gpkg.tar 8734720 BLAKE2B 563de983b21fa8eece55056af0596abc2fe9679bdc29042a3f9c97710c473e51415d0109a08c2c404ce8cb9296527350deb310c538b52216c8d68e708f8f8f0d SHA512 ddda659acefcd1125c620421b8570495fb26ae85a3a80a622f2e4cec9748a17ab522d37692629fd78fac3067f5db978c8b8cbf1617d1b1b25e267c26dbcc43fb
-DIST pypy3-exe-7.3.11-1.x86.gpkg.tar 8724480 BLAKE2B f1843bb2302918171a0b6fafa93f3528f85b5d887b8af2cc8c0ea6a03d2f264fde2129299c8301c0a48c6b4e7e75e38d68b9ff8eafa01e58bb79438238c181dc SHA512 2f3ae0dae6cf7353a2ddf2fac37c3f8d947eae62a36b7580722b63a1085174d7ccd16077ad6ca040cf906189c4ab0ac6cf86f573b93f733ee8bb61e203d5044a
diff --git a/dev-python/pypy3-exe-bin/metadata.xml b/dev-python/pypy3-exe-bin/metadata.xml
deleted file mode 100644
index efd7c8c21836..000000000000
--- a/dev-python/pypy3-exe-bin/metadata.xml
+++ /dev/null
@@ -1,8 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.11.ebuild b/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.11.ebuild
deleted file mode 100644
index a8453e3202ca..000000000000
--- a/dev-python/pypy3-exe-bin/pypy3-exe-bin-7.3.11.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pax-utils unpacker
-
-MY_P=pypy3-exe-${PV}-1
-DESCRIPTION="PyPy3 executable (pre-built version)"
-HOMEPAGE="https://www.pypy.org/"
-SRC_URI="
- elibc_glibc? (
- amd64? (
- https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.amd64.gpkg.tar
- )
- arm64? (
- https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy3-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.arm64.gpkg.tar
- )
- ppc64? (
- https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy3-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.ppc64le.gpkg.tar
- )
- x86? (
- https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.x86.gpkg.tar
- )
- )
- elibc_musl? (
- amd64? (
- https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy3-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.amd64-musl.gpkg.tar
- )
- arm64? (
- https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy3-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.arm64-musl.gpkg.tar
- )
- ppc64? (
- https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy3-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.ppc64le-musl.gpkg.tar
- )
- x86? (
- https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy3-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.x86-musl.gpkg.tar
- )
- )
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="3.9-${PV%_p*}"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-
-# sys-devel/gcc for libgcc_s.so
-RDEPEND="
- app-arch/bzip2:0/1
- dev-libs/expat:0/0
- dev-libs/libffi:0/8
- sys-libs/ncurses:0/6
- >=sys-libs/zlib-1.1.3:0/1
- virtual/libintl:0/0
- elibc_glibc? (
- sys-devel/gcc
- >=sys-libs/glibc-2.35
- )
- !dev-python/pypy3-exe:${SLOT}
-"
-
-PYPY_PV=${PV%_p*}
-QA_PREBUILT="
- usr/bin/pypy3.9-c-${PYPY_PV}
-"
-
-src_install() {
- insinto /
- doins -r image/usr
- fperms +x "/usr/bin/pypy3.9-c-${PYPY_PV}"
- pax-mark m "${ED}/usr/bin/pypy3.9-c-${PYPY_PV}"
-}
diff --git a/dev-python/pypy3-exe/Manifest b/dev-python/pypy3-exe/Manifest
deleted file mode 100644
index de5d9083b178..000000000000
--- a/dev-python/pypy3-exe/Manifest
+++ /dev/null
@@ -1,2 +0,0 @@
-DIST pypy3.9-gentoo-patches-7.3.11.tar.xz 6444 BLAKE2B adcc1ae4c3ae2c5317a05d6de51785945625d8bcc7cb35bd6608fa80f09b37c483c95663eacb0353013a5abec308d25b12666699c65512f5f3a6d7345f2b5b18 SHA512 f2064ecffa09ba23f5f8c281ca4c8c0740cb6b57185d66c02eec2bcb77cfb566b1a2db4f52c472bcaf0d5fb759ee8003b27761af37785d12465c2010fd73c49d
-DIST pypy3.9-v7.3.11-src.tar.bz2 23460769 BLAKE2B fa8a827c28813243926c8689addb008c0a43acdc3f81a18749a8f2c1926b6294f2c0c95a4c315e3b77ce84b4f337af7a0bce5daf8dcb60ead965532d4af183cb SHA512 33c978ffbeeb39453028d1d1646ccfdace062ce48a5d939245bea41643038dd3687e80e34f88fa0622bcb175d7dd78f75cbe36b24229c8052f09d2d17dcdfd8c
diff --git a/dev-python/pypy3-exe/metadata.xml b/dev-python/pypy3-exe/metadata.xml
deleted file mode 100644
index 9f1f42740089..000000000000
--- a/dev-python/pypy3-exe/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <use>
- <flag name="low-memory">Build using PyPy with the engine configured towards low memory footprint.
- This makes it possible to build PyPy using ~3.5G of RAM on amd64 and ~half of that on x86,
- at the cost of lengthened build time.</flag>
- </use>
-</pkgmetadata>
diff --git a/dev-python/pypy3-exe/pypy3-exe-7.3.11.ebuild b/dev-python/pypy3-exe/pypy3-exe-7.3.11.ebuild
deleted file mode 100644
index 754c1f25a859..000000000000
--- a/dev-python/pypy3-exe/pypy3-exe-7.3.11.ebuild
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit check-reqs pax-utils toolchain-funcs
-
-PYPY_PV=${PV%_p*}
-MY_P=pypy3.9-v${PYPY_PV/_}
-PATCHSET="pypy3.9-gentoo-patches-${PV/_}"
-
-DESCRIPTION="PyPy3 executable (build from source)"
-HOMEPAGE="https://www.pypy.org/"
-SRC_URI="
- https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
-"
-S="${WORKDIR}/${MY_P}-src"
-
-LICENSE="MIT"
-SLOT="3.9-${PYPY_PV}"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="+jit low-memory ncurses cpu_flags_x86_sse2"
-
-RDEPEND="
- app-arch/bzip2:0=
- dev-libs/expat:0=
- dev-libs/libffi:0=
- >=sys-libs/zlib-1.1.3:0=
- virtual/libintl:0=
- ncurses? ( sys-libs/ncurses:0= )
- !dev-python/pypy3-exe-bin:${SLOT}
-"
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- dev-python/pypy
-"
-
-check_env() {
- if use low-memory; then
- CHECKREQS_MEMORY="1750M"
- use amd64 && CHECKREQS_MEMORY="3500M"
- else
- CHECKREQS_MEMORY="3G"
- use amd64 && CHECKREQS_MEMORY="6G"
- fi
-
- check-reqs_pkg_pretend
-}
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && check_env
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && check_env
-}
-
-src_prepare() {
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
- default
-}
-
-src_configure() {
- tc-export CC
-
- local jit_backend
- if use jit; then
- jit_backend='--jit-backend='
-
- # We only need the explicit sse2 switch for x86.
- # On other arches we can rely on autodetection which uses
- # compiler macros. Plus, --jit-backend= doesn't accept all
- # the modern values...
-
- if use x86; then
- if use cpu_flags_x86_sse2; then
- jit_backend+=x86
- else
- jit_backend+=x86-without-sse2
- fi
- else
- jit_backend+=auto
- fi
- fi
-
- local args=(
- --no-shared
- $(usex jit -Ojit -O2)
-
- ${jit_backend}
-
- pypy/goal/targetpypystandalone
- --withmod-bz2
- $(usex ncurses --with{,out}mod-_minimal_curses)
- )
-
- local interp=( pypy )
- if use low-memory; then
- local -x PYPY_GC_MAX_DELTA=200MB
- interp+=( --jit loop_longevity=300 )
- fi
-
- # translate into the C sources
- # we're going to build them ourselves since otherwise pypy does not
- # free up the unneeded memory before spawning the compiler
- set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
- echo -e "\033[1m${@}\033[0m"
- "${@}" || die "translation failed"
-}
-
-src_compile() {
- emake -C "${T}"/usession*-0/testing_1
-}
-
-src_install() {
- cd "${T}"/usession*-0 || die
- newbin testing_1/pypy3.9-c pypy3.9-c-${PYPY_PV}
- insinto /usr/include/pypy3.9/${PYPY_PV}
- doins *.h
- pax-mark m "${ED}/usr/bin/pypy3.9-c-${PYPY_PV}"
-}
diff --git a/dev-python/pypy3/pypy3-7.3.13.ebuild b/dev-python/pypy3/pypy3-7.3.13.ebuild
deleted file mode 100644
index 7626af9e7fbf..000000000000
--- a/dev-python/pypy3/pypy3-7.3.13.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYVER=3.10
-DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
-HOMEPAGE="
- https://www.pypy.org/
- https://foss.heptapod.net/pypy/pypy/
-"
-S=${WORKDIR}
-
-LICENSE="MIT"
-SLOT="0/pypy310-pp73-384"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="+gdbm ncurses sqlite tk"
-
-RDEPEND="
- =dev-python/pypy3_10-${PV}*:${SLOT}[gdbm?,ncurses?,sqlite?,tk?]
-"
-
-src_install() {
- dodir /usr/bin
- dosym pypy${PYVER} /usr/bin/pypy3
-}
diff --git a/dev-python/pypy3/pypy3-7.3.16.ebuild b/dev-python/pypy3/pypy3-7.3.16.ebuild
new file mode 100644
index 000000000000..ba301054faf0
--- /dev/null
+++ b/dev-python/pypy3/pypy3-7.3.16.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYVER=3.10
+DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://foss.heptapod.net/pypy/pypy/
+"
+S=${WORKDIR}
+
+LICENSE="MIT"
+SLOT="0/pypy310-pp73-384"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="+gdbm ncurses sqlite tk"
+
+RDEPEND="
+ =dev-python/pypy3_10-${PV}*:${SLOT}[gdbm?,ncurses?,sqlite?,tk?]
+"
+
+src_install() {
+ dodir /usr/bin
+ dosym pypy${PYVER} /usr/bin/pypy3
+}
diff --git a/dev-python/pypy3_10-exe-bin/Manifest b/dev-python/pypy3_10-exe-bin/Manifest
index d59e8689cafd..ed0d59b28191 100644
--- a/dev-python/pypy3_10-exe-bin/Manifest
+++ b/dev-python/pypy3_10-exe-bin/Manifest
@@ -1,16 +1,8 @@
-DIST pypy3_10-exe-7.3.13-1.amd64-musl.gpkg.tar 11898880 BLAKE2B ac08e64b7a3a3d1b9c6f4242e373a3c836933c46619f17ee584fb2d1f9b2ea59934d143418c0a410cd3d3cd74621f82ee941fc6ba5e9f54aab94159b2dc43424 SHA512 5b058142664ac7c5cce09eaf3e6e052190336f4a7ef991fb02f6da03258a01f2d8f351aafeed7d49113bed263e2950f03e91c1c41c0c755b7c7c92daa1dbd2d0
-DIST pypy3_10-exe-7.3.13-1.amd64.gpkg.tar 11898880 BLAKE2B c218dcddfd5e532ed25f49c90ada70352af93ba4cd5ccb99d8b79b6cd006e3848cda6d282f4581b64b239c9f298a334ce54ca51e529fab7313caa09ec5a58f02 SHA512 4c64d9187bfc9cba096401ee4e2acae61d8ccf661c34ba43ced66bd1778abc60496626082d4ab57aa4ad16360692f9c2469124741290294754a0607849885ffe
-DIST pypy3_10-exe-7.3.13-1.arm64-musl.gpkg.tar 9891840 BLAKE2B 36eb4e1d801da9dc47335e8202d83088c1f06db0c9627e04724bb9e10cd12335d103fa27ada7151d687988320160466b2c7733f48875e76e50204dbd1dd54e3b SHA512 eb526efe6a4d54bd39455baf412cf8bf63c73f48b15813d176f51395b120e9b89c6f2914204e6ffd4658c1e232f1c07b6b4276cb0918c498cd8d03ab3410ba4a
-DIST pypy3_10-exe-7.3.13-1.arm64.gpkg.tar 9871360 BLAKE2B ac8f2e53f315e2b393698cad78d7a544cbce20294b47e7aba5dee9328f18177cfb77b7e7a99a25502399e354cdf8a68d003c9b54a82b1fe6d7e80b0977357c51 SHA512 ec0e95ed428f80ef1c39efa2c22c0cc34996df8d5bcf924d843ac6b876cb22fe3b3e89bb86d520f08b9da9e28c66c9a9c6bffa5c6cb0aeb827186455ca121bb2
-DIST pypy3_10-exe-7.3.13-1.ppc64le-musl.gpkg.tar 6512640 BLAKE2B 9611d47f890ccd237fa441aa6c741566cec70b2bbe0c7921530b39cfbba8eb918fb68d89274bf1b3dacd2bcc4d44ff56b851b78fa4e96f446e4f64cf3ea58d1e SHA512 2c06eb7a0795167a292fc5729bf2602c9ec1c166d2bb3b6c63dbb588be736cd900ab03bf1339f0b3e555e7c67b3b6d43d53028961606e1a346662e9f37cc405a
-DIST pypy3_10-exe-7.3.13-1.ppc64le.gpkg.tar 10219520 BLAKE2B 95ccc9bf239e77e6cd8821ba45fa1df36f4986b8b9dbe5b3291173a5a1c421eb57c9b7070b63be494e054c76ed233cd87f163a21368b404a853375d14404efa5 SHA512 0f43fe01ce92ee6d714067fe60035e3f9595f18b695004e7a0ad7ef82af9bfb46c96978b45eb5e85424b0c700a2d3672dfd8c63215dc98acf7471f0c174f4898
-DIST pypy3_10-exe-7.3.13-1.x86-musl.gpkg.tar 8744960 BLAKE2B 362a7b6d3ed33623bb3adb94e62498b8c8794cef1354a3fd5579b2e647a8a74f38b44d470598d06a1a2645fee7b70a711f50f8c5e7648eae7e3a97b105fed632 SHA512 8f0109ed58a1344f44cb94aa360b2be82bff885a3fb1984c816d12069d9517e6a49c675d7eeb36d8f6c6869db13d4ec002a12795e72977e296122bf62f21f53f
-DIST pypy3_10-exe-7.3.13-1.x86.gpkg.tar 8796160 BLAKE2B 9a838af1cd63249a55cc7f0849ddd783bd425d4c3a253583b590162ba1dccc5a8811222fb45121999a08a0935f9d61142efb6bbbf71a30e574f21a7b2e1e51b7 SHA512 3d67657e5ba8628ea6049bf74d5da29b32690e997993c37c7bd1166d6460bea8153c52bfea25066a38e7fe97b4612d64fd98b70c3b958a3862603299719bcbda
-DIST pypy3_10-exe-7.3.13_p2-1.amd64-musl.gpkg.tar 11888640 BLAKE2B 5eec1b659638a44893fbb8700ea98a6effcf1479750653f848c1325039a06284a0361d53d75a31619b94d350b3137fdca5691e5ec19d3c5a04d0ce7f3eb9b2de SHA512 76b5c8272fe475a6c85ed7bb56af58c54b4b79aeb126c93d0e9bdea1cea399f08e1d45b0788b4fc0d6202fffe1525766c381ebbb15fc5192f0d9386d978577ef
-DIST pypy3_10-exe-7.3.13_p2-1.amd64.gpkg.tar 11898880 BLAKE2B c6cd265a8643937ed42c72d2d21e6259cc7293bbce30f62e1150e6479811acf1700b4cc0e665fd3a8e856d0f1672e41b98cffe84cec6697093645446420cb713 SHA512 56f44a15fe7a16c2df8a1a20e2bbe6b83babafbb4064e318e903ec25e07234dde3446272a2d51b36ab2df4817578cc29c36849117c981e4572ee4e0d49cac719
-DIST pypy3_10-exe-7.3.13_p2-1.arm64-musl.gpkg.tar 9799680 BLAKE2B 9646e8ed704e28d686ee1f4208a9760ec3924c2bb26212c0d73efe1e3bc658e2158015065e45ba0ce3e694b2ea1a3502ef6e8bf3c82bd666c87959949cc848fe SHA512 aeeda8cb0aeb09a8ec38ff9768db1abcc0f88155cef32a666e5042bfeefe324f74bbdd5e30817fd92cd49bf41d00c6f37abe6425def9f5df3751d987a4e1f21c
-DIST pypy3_10-exe-7.3.13_p2-1.arm64.gpkg.tar 9861120 BLAKE2B 3f85d59dd81f7226a54c5d5db9b03a0260db3bf1b18a31da45e92657eb9e1b56fad26ae7afab30e9f4935f6d1bf9ca13649b56f9b4b9d258fdb9207993f7cff9 SHA512 867688dfd115f86e6e37aaf1b326d59e2fedeff5b92d326b35b47f2692bce2f7eb667c00e584d1c4711857d5a78b4ba57174f45a21e3b25d8f02dfafd0996f6c
-DIST pypy3_10-exe-7.3.13_p2-1.ppc64le-musl.gpkg.tar 6512640 BLAKE2B fde68e13478665a3378fd591f0e88bb98ca8771e95c34c2f547ec13741c26e1a4f1e47d5c4d02ae337baa736e1d7f3311d7ebe66ba292441ef6b38b1f792407c SHA512 fea4750b2aaa1a1519a980555d4d8db9c91bc4c3d267f4245559c063d174b5f792155e9f49356ef71c728194f5db62def58abf68626932172e9ae162f75ba6e1
-DIST pypy3_10-exe-7.3.13_p2-1.ppc64le.gpkg.tar 10219520 BLAKE2B ada5a559d5e38b56ff8fd4c4d103ac51ab0b117ff58f0d5b781da3c43e31ab49adf64459ae25522f57dcc38268a5ec135e24e90697b32cac9c63e0cab28ba658 SHA512 d88fee82cc8386861547c26827947ecad411e733d8f177ac9c689ae23783a554e7a5ca32f4488b9ee6add7c57a49cf56e8042eeb6b8dbfcba57d230280f36822
-DIST pypy3_10-exe-7.3.13_p2-1.x86-musl.gpkg.tar 8775680 BLAKE2B 6174c341088ba6c78681626fb90af4ccffc0980f07f76f0635bbef423a55d67e0fe6719f3abdb4964f7c4d7249fa4404e83a5250771874e04a79cf9ba9a06304 SHA512 c32b25a23cbff996c64ec245df6cb969aa562588a7fd7304688fb8bc9ce73c8c8dabd6a2a9433bd6072fcb706f356d45332a6f7417495d6a76ac6aa7ca41c289
-DIST pypy3_10-exe-7.3.13_p2-1.x86.gpkg.tar 8755200 BLAKE2B 3ca6f513948eea65beb4899658de0bad1badc835a1afd4407c487190060dafe3f6208075f34c6ed4a0a00b33f9a44a5e1bbdfb17a4e2c0e60b9979f6f72b9e74 SHA512 716b5521104a4185c6fa477f7d49384dcd87420ab2d53db0a53bcefe1ed8c7d1784a64ccf1d332c88ba61d189f84e883aeabec0879a51220ee3f26ea1c72f878
+DIST pypy3_10-exe-7.3.16-1.amd64-musl.gpkg.tar 12042240 BLAKE2B a770fce3044ae928c74fcd96be293fef7b87f9f8857ed430d44761eecb28b34879fb86c6c4a032e80fdbf20aede88fcaaf2a53dbe56e0cc150269807cdb28928 SHA512 a9d87be0ef72ac928c35db89321edd713cfff93f93ff2b2c5a04e91febc540859dc4e0a065ec3da2c297cc353f9278ac43d57494d282546c8e4cdc1cbb4a4cec
+DIST pypy3_10-exe-7.3.16-1.amd64.gpkg.tar 12083200 BLAKE2B df6a53532cc10ade867f60d81033ee4ff46e9bb8a3331499acde65866a31ba5e25b6af6df316e4e7187005f6c98609171d5d8908a03ea7088f6306c3680d369b SHA512 89a889ae565e4d2772075eab72246ca5940e905b01f1c91082af583ec28390d018f441f427fa408e84de0b2d24b1deb28602297c653c4aeb25d3ae34e929f9ff
+DIST pypy3_10-exe-7.3.16-1.arm64-musl.gpkg.tar 10219520 BLAKE2B 0fa144cdfd144c881baf71a3ed8d222165571bea07c41079af42846c1a7a633fa146ed128dd7466bff8e7911c7518e6d576bca24326d1248ad96fcb5854eec85 SHA512 dac544bd589c11c52c74ef99216b15ffd3155d764c47f8957c49369e98f2caa8feb0fb278002cb3b1244731f19b5e0c0dd2cf7e59efe49045206325b62daf5e0
+DIST pypy3_10-exe-7.3.16-1.arm64.gpkg.tar 10178560 BLAKE2B 5d9227b35bba2229679e2e103b6c6964ea1a8b88581dbe306e8d03342f6a889dac1127b615a14f85cb9c53fbf496b1f7e1236b7b8f590930dcf4d92d9a87c914 SHA512 1d689bf08fd9a1ec5892e2f81eae1d0f49fb410873e6d2914db698a2a4e0cf1bfdd7725e8d932a20ce69d4ea40f86ae16146dc9fba1c65858ff1f7f5bece4b6b
+DIST pypy3_10-exe-7.3.16-1.ppc64le-musl.gpkg.tar 6819840 BLAKE2B a3ae523a26a187b7af18329483c8129e52df3bb7cc9f611769e48d4fee6ec627e203d7138bec39e4a45c7feca83d5ab913239ba30f52c797f85f2be252ea39b5 SHA512 74cd507c48e639e67beb9e4304237ddce926ff1a07df9e6fe5041305290db1ba3a506fae570b57d2f3c9c732d0deb558c8d0883183434286bc13812098c02a45
+DIST pypy3_10-exe-7.3.16-1.ppc64le.gpkg.tar 10352640 BLAKE2B 53d2804ef1a95de1edf4765261deb4c53accf59b8b2d827b2dec24a279424629322a701bd3942d05e4e13f52e796c119c237d32bf334287daad8664e1e76e67a SHA512 8016ed28f076936e3477d75d47e20af79fb97d138f924c514fcd32a02ad4b9bf3eb0d09a82d08f99843b102b4a048b78a694963e223a936b029ab903a5c60a21
+DIST pypy3_10-exe-7.3.16-1.x86-musl.gpkg.tar 9093120 BLAKE2B 56a349615ce67c3e581da65ac3b52cdc412760aea689d4b8bf6b9f5d2a4285ac67557ee6791363a0faaa1ba10f20b9d761529f278f3737b304e79682353bf1fc SHA512 cf9a8e4475c2d3c8d7c3756c7b4a61fd4effde3010b33f67aa40354658952dcf2ee7d05f6db7912bf8015dd76cf7bb08bfc7d9aea2f168bec23acab9a9068239
+DIST pypy3_10-exe-7.3.16-1.x86.gpkg.tar 9093120 BLAKE2B ef908156f0dd9376495330fe0278aa2565c5428bfe46aaeb9f11dabee2ee998969028296cef3e5b71e6d8963bd7573ddded8583e3410f4c66b7b1f17a9cb52aa SHA512 d65132d4a89f7f0764095fee1a3f10d4b7821ba45745a3576179ff2e74f24f38538fe5df6812e654cecc71fe7feecec4e2b9518c8b51aea9b66d43dca935949e
diff --git a/dev-python/pypy3_10-exe-bin/metadata.xml b/dev-python/pypy3_10-exe-bin/metadata.xml
index efd7c8c21836..2ed15cb705e2 100644
--- a/dev-python/pypy3_10-exe-bin/metadata.xml
+++ b/dev-python/pypy3_10-exe-bin/metadata.xml
@@ -5,4 +5,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">pypy/pypy</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.13.ebuild b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.13.ebuild
deleted file mode 100644
index 6a082de57538..000000000000
--- a/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.13.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pax-utils unpacker
-
-PYVER=3.10
-MY_P=pypy3_10-exe-${PV}-1
-
-DESCRIPTION="PyPy3 executable (pre-built version)"
-HOMEPAGE="https://www.pypy.org/"
-SRC_URI="
- elibc_glibc? (
- amd64? (
- https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.amd64.gpkg.tar
- )
- arm64? (
- https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.arm64.gpkg.tar
- )
- ppc64? (
- https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.ppc64le.gpkg.tar
- )
- x86? (
- https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.x86.gpkg.tar
- )
- )
- elibc_musl? (
- amd64? (
- https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.amd64-musl.gpkg.tar
- )
- arm64? (
- https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.arm64-musl.gpkg.tar
- )
- ppc64? (
- https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.ppc64le-musl.gpkg.tar
- )
- x86? (
- https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.x86-musl.gpkg.tar
- )
- )
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="${PV%_p*}"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-
-# sys-devel/gcc for libgcc_s.so
-RDEPEND="
- app-arch/bzip2:0/1
- dev-libs/expat:0/0
- dev-libs/libffi:0/8
- sys-libs/ncurses:0/6
- >=sys-libs/zlib-1.1.3:0/1
- virtual/libintl:0/0
- elibc_glibc? (
- sys-devel/gcc
- >=sys-libs/glibc-2.35
- )
- !dev-python/pypy3_10-exe:${SLOT}
-"
-
-PYPY_PV=${PV%_p*}
-QA_PREBUILT="
- usr/bin/pypy${PYVER}-c-${PYPY_PV}
-"
-
-src_install() {
- insinto /
- doins -r image/usr
- fperms +x "/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
- pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
-}
diff --git a/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.13_p2.ebuild b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.13_p2.ebuild
deleted file mode 100644
index 3933dcac88c9..000000000000
--- a/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.13_p2.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pax-utils unpacker
-
-PYVER=3.10
-MY_P=pypy3_10-exe-${PV}-1
-
-DESCRIPTION="PyPy3.10 executable (pre-built version)"
-HOMEPAGE="https://www.pypy.org/"
-SRC_URI="
- elibc_glibc? (
- amd64? (
- https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.amd64.gpkg.tar
- )
- arm64? (
- https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.arm64.gpkg.tar
- )
- ppc64? (
- https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.ppc64le.gpkg.tar
- )
- x86? (
- https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.x86.gpkg.tar
- )
- )
- elibc_musl? (
- amd64? (
- https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.amd64-musl.gpkg.tar
- )
- arm64? (
- https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.arm64-musl.gpkg.tar
- )
- ppc64? (
- https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.ppc64le-musl.gpkg.tar
- )
- x86? (
- https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.x86-musl.gpkg.tar
- )
- )
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="${PV%_p*}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-# sys-devel/gcc for libgcc_s.so
-RDEPEND="
- app-arch/bzip2:0/1
- dev-libs/expat:0/0
- dev-libs/libffi:0/8
- sys-libs/ncurses:0/6
- >=sys-libs/zlib-1.1.3:0/1
- virtual/libintl:0/0
- elibc_glibc? (
- sys-devel/gcc
- >=sys-libs/glibc-2.35
- )
- !dev-python/pypy3_10-exe:${SLOT}
-"
-
-PYPY_PV=${PV%_p*}
-QA_PREBUILT="
- usr/bin/pypy${PYVER}-c-${PYPY_PV}
-"
-
-src_install() {
- insinto /
- doins -r image/usr
- fperms +x "/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
- pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
-}
diff --git a/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.16.ebuild b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.16.ebuild
new file mode 100644
index 000000000000..9849a9ecfd11
--- /dev/null
+++ b/dev-python/pypy3_10-exe-bin/pypy3_10-exe-bin-7.3.16.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pax-utils unpacker
+
+PYVER=3.10
+MY_P=pypy3_10-exe-${PV}-1
+
+DESCRIPTION="PyPy3.10 executable (pre-built version)"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ elibc_glibc? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86.gpkg.tar
+ )
+ )
+ elibc_musl? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64-musl.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64-musl.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le-musl.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy3_10-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86-musl.gpkg.tar
+ )
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="${PV%_p*}"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86"
+
+# sys-devel/gcc for libgcc_s.so
+RDEPEND="
+ app-arch/bzip2:0/1
+ dev-libs/expat:0/0
+ dev-libs/libffi:0/8
+ sys-libs/ncurses:0/6
+ >=sys-libs/zlib-1.1.3:0/1
+ virtual/libintl:0/0
+ elibc_glibc? (
+ sys-devel/gcc
+ >=sys-libs/glibc-2.35
+ )
+ !dev-python/pypy3_10-exe:${SLOT}
+"
+
+PYPY_PV=${PV%_p*}
+QA_PREBUILT="
+ usr/bin/pypy${PYVER}-c-${PYPY_PV}
+"
+
+src_install() {
+ insinto /
+ doins -r image/usr
+ fperms +x "/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+ pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy3_10-exe/Manifest b/dev-python/pypy3_10-exe/Manifest
index 900d617b89b9..98534aa04e78 100644
--- a/dev-python/pypy3_10-exe/Manifest
+++ b/dev-python/pypy3_10-exe/Manifest
@@ -1,3 +1,2 @@
-DIST pypy3.10-gentoo-patches-7.3.13.tar.xz 4776 BLAKE2B 9f0ef159c8aa2d3edb5ee0e14be694c4a7c1165d70b16e9b13b6e59da7334354cc8593186a2ff47d4a0ce8c76abdf4a3c12ec3ffdd7a90cc4f30b39c259c3ee7 SHA512 86bfbf7f26f259c0850074c9062544ee091f7a65359cb17dae3ec287841e7a812d7185cb552f3546acdde3965efe0e6c0fb728c30b64779fca10be2f7c4d634f
-DIST pypy3.10-gentoo-patches-7.3.13_p2.tar.xz 7948 BLAKE2B 3978db108a1ab3e471f878e3480d4419262c34137f43c2e11168c85704f8c72769bea5bca9613ba5fb762b7f88c77f55070dc6a28e8a92ffa6f95d74fb5891ad SHA512 dd8c0f74f22f45608addaf362ef0dc8acee3c5a02bed7c557883ca97d4e2bdfe47dbf6621a4da01cc97956550aa252622237b85c642fb33100065237689c2abb
-DIST pypy3.10-v7.3.13-src.tar.bz2 23067819 BLAKE2B 6e2bfd83bcf16feef006dad39ab6d8f452418ee6bc4043edaa590db702f39275e775004bdba762736a901da94cb5274cd34f2811461048d46ac0f4af04158702 SHA512 16fbc76558152b3eadca999d56197a6bf906cbb7bb75035ccd3501372af0f0c22533d22ba231a40b7c02afa11f0d692a6ae85ba6d5e1607b737b8c68209b7c43
+DIST pypy3.10-gentoo-patches-7.3.16.tar.xz 4752 BLAKE2B a5cd87f30c0b20bf5d49c3b5c979c12231d6b67750e777d4488093094d5998e6f0d9adba51c04704eb31d621089aeb12ee5a6b0a58dad0ecda0d60d2ecbdab6d SHA512 e2779841a3e56e384134416ce2a10e1e00a11d7c720023506370fb9f54363da6b7300b4019c121aa1874152b62d9679ebcd3dd679fd0dbd2bf524520990b6f38
+DIST pypy3.10-v7.3.16-src.tar.bz2 23358556 BLAKE2B 4eddae47dea1005b9450b9d3d23bd90782dffecdc252eff4fd3195a61e0e7ebbdafaf4c4b5d318c88534f152c1110c3bc4f76f43a7e711a859dd4330841a0e0b SHA512 5b941e3b5c7b0c7a50413e16122bad3e167dcc4ee159ce53e9716e9d5af79d600823f3d7442b7562bb568ff027723e22904fc0840dc06bd26e3da38c93cc5b94
diff --git a/dev-python/pypy3_10-exe/metadata.xml b/dev-python/pypy3_10-exe/metadata.xml
index 9f1f42740089..3f2aeb55aa5e 100644
--- a/dev-python/pypy3_10-exe/metadata.xml
+++ b/dev-python/pypy3_10-exe/metadata.xml
@@ -5,6 +5,9 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">pypy/pypy</remote-id>
+ </upstream>
<use>
<flag name="low-memory">Build using PyPy with the engine configured towards low memory footprint.
This makes it possible to build PyPy using ~3.5G of RAM on amd64 and ~half of that on x86,
diff --git a/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.13.ebuild b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.13.ebuild
deleted file mode 100644
index c13f2df16f05..000000000000
--- a/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.13.ebuild
+++ /dev/null
@@ -1,127 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit check-reqs pax-utils toolchain-funcs
-
-PYPY_PV=${PV%_p*}
-PYVER=3.10
-MY_P="pypy${PYVER}-v${PYPY_PV/_}"
-PATCHSET="pypy${PYVER}-gentoo-patches-${PV}"
-
-DESCRIPTION="PyPy3 executable (build from source)"
-HOMEPAGE="https://www.pypy.org/"
-SRC_URI="
- https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
-"
-S="${WORKDIR}/${MY_P}-src"
-
-LICENSE="MIT"
-SLOT="${PYPY_PV}"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="+jit low-memory ncurses cpu_flags_x86_sse2"
-
-RDEPEND="
- app-arch/bzip2:0=
- dev-libs/expat:0=
- dev-libs/libffi:0=
- >=sys-libs/zlib-1.1.3:0=
- virtual/libintl:0=
- ncurses? ( sys-libs/ncurses:0= )
- !dev-python/pypy3-exe-bin:${SLOT}
-"
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- dev-python/pypy
-"
-
-check_env() {
- if use low-memory; then
- CHECKREQS_MEMORY="1750M"
- use amd64 && CHECKREQS_MEMORY="3500M"
- else
- CHECKREQS_MEMORY="3G"
- use amd64 && CHECKREQS_MEMORY="6G"
- fi
-
- check-reqs_pkg_pretend
-}
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && check_env
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && check_env
-}
-
-src_prepare() {
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
- default
-}
-
-src_configure() {
- tc-export CC
-
- local jit_backend
- if use jit; then
- jit_backend='--jit-backend='
-
- # We only need the explicit sse2 switch for x86.
- # On other arches we can rely on autodetection which uses
- # compiler macros. Plus, --jit-backend= doesn't accept all
- # the modern values...
-
- if use x86; then
- if use cpu_flags_x86_sse2; then
- jit_backend+=x86
- else
- jit_backend+=x86-without-sse2
- fi
- else
- jit_backend+=auto
- fi
- fi
-
- local args=(
- --no-shared
- $(usex jit -Ojit -O2)
-
- ${jit_backend}
-
- pypy/goal/targetpypystandalone
- --withmod-bz2
- $(usex ncurses --with{,out}mod-_minimal_curses)
- )
-
- local interp=( pypy )
- if use low-memory; then
- local -x PYPY_GC_MAX_DELTA=200MB
- interp+=( --jit loop_longevity=300 )
- fi
-
- # translate into the C sources
- # we're going to build them ourselves since otherwise pypy does not
- # free up the unneeded memory before spawning the compiler
- set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
- echo -e "\033[1m${@}\033[0m"
- "${@}" || die "translation failed"
-}
-
-src_compile() {
- emake -C "${T}"/usession*-0/testing_1
-}
-
-src_install() {
- cd "${T}"/usession*-0 || die
- newbin "testing_1/pypy${PYVER}-c" "pypy${PYVER}-c-${PYPY_PV}"
- insinto "/usr/include/pypy${PYVER}/${PYPY_PV}"
- doins *.h
- pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
-}
diff --git a/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.13_p2.ebuild b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.13_p2.ebuild
deleted file mode 100644
index faf6b8a1e385..000000000000
--- a/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.13_p2.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit check-reqs pax-utils toolchain-funcs
-
-PYPY_PV=${PV%_p*}
-PYVER=3.10
-MY_P="pypy${PYVER}-v${PYPY_PV/_}"
-PATCHSET="pypy${PYVER}-gentoo-patches-${PV}"
-
-DESCRIPTION="PyPy3.10 executable (build from source)"
-HOMEPAGE="https://www.pypy.org/"
-SRC_URI="
- https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
-"
-S="${WORKDIR}/${MY_P}-src"
-
-LICENSE="MIT"
-SLOT="${PYPY_PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="+jit low-memory ncurses cpu_flags_x86_sse2"
-
-RDEPEND="
- app-arch/bzip2:0=
- dev-libs/expat:0=
- dev-libs/libffi:0=
- >=sys-libs/zlib-1.1.3:0=
- virtual/libintl:0=
- ncurses? ( sys-libs/ncurses:0= )
- !dev-python/pypy3-exe-bin:${SLOT}
-"
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- dev-python/pypy
- virtual/pkgconfig
-"
-
-check_env() {
- if use low-memory; then
- CHECKREQS_MEMORY="1750M"
- use amd64 && CHECKREQS_MEMORY="3500M"
- else
- CHECKREQS_MEMORY="3G"
- use amd64 && CHECKREQS_MEMORY="6G"
- fi
-
- check-reqs_pkg_pretend
-}
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && check_env
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && check_env
-}
-
-src_prepare() {
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
- default
-}
-
-src_configure() {
- tc-export CC
-
- local jit_backend
- if use jit; then
- jit_backend='--jit-backend='
-
- # We only need the explicit sse2 switch for x86.
- # On other arches we can rely on autodetection which uses
- # compiler macros. Plus, --jit-backend= doesn't accept all
- # the modern values...
-
- if use x86; then
- if use cpu_flags_x86_sse2; then
- jit_backend+=x86
- else
- jit_backend+=x86-without-sse2
- fi
- else
- jit_backend+=auto
- fi
- fi
-
- local args=(
- --no-shared
- $(usex jit -Ojit -O2)
-
- ${jit_backend}
-
- pypy/goal/targetpypystandalone
- --withmod-bz2
- $(usex ncurses --with{,out}mod-_minimal_curses)
- )
-
- local interp=( pypy )
- if use low-memory; then
- local -x PYPY_GC_MAX_DELTA=200MB
- interp+=( --jit loop_longevity=300 )
- fi
-
- # translate into the C sources
- # we're going to build them ourselves since otherwise pypy does not
- # free up the unneeded memory before spawning the compiler
- set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
- echo -e "\033[1m${@}\033[0m"
- "${@}" || die "translation failed"
-}
-
-src_compile() {
- emake -C "${T}"/usession*-0/testing_1
-}
-
-src_install() {
- cd "${T}"/usession*-0 || die
- newbin "testing_1/pypy${PYVER}-c" "pypy${PYVER}-c-${PYPY_PV}"
- insinto "/usr/include/pypy${PYVER}/${PYPY_PV}"
- doins *.h
- pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
-}
diff --git a/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.16.ebuild b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.16.ebuild
new file mode 100644
index 000000000000..d8e6a582bb10
--- /dev/null
+++ b/dev-python/pypy3_10-exe/pypy3_10-exe-7.3.16.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs flag-o-matic pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+PYVER=3.10
+MY_P="pypy${PYVER}-v${PYPY_PV/_}"
+PATCHSET="pypy${PYVER}-gentoo-patches-${PV}"
+
+DESCRIPTION="PyPy3.10 executable (build from source)"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+SLOT="${PYPY_PV}"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="+jit low-memory ncurses cpu_flags_x86_sse2"
+
+RDEPEND="
+ app-arch/bzip2:0=
+ dev-libs/expat:0=
+ dev-libs/libffi:0=
+ >=sys-libs/zlib-1.1.3:0=
+ virtual/libintl:0=
+ ncurses? ( sys-libs/ncurses:0= )
+ !dev-python/pypy3_10-exe-bin:${SLOT}
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-python/pypy
+ virtual/pkgconfig
+"
+
+check_env() {
+ if use low-memory; then
+ CHECKREQS_MEMORY="1750M"
+ use amd64 && CHECKREQS_MEMORY="3500M"
+ else
+ CHECKREQS_MEMORY="3G"
+ use amd64 && CHECKREQS_MEMORY="6G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+ default
+}
+
+src_configure() {
+ tc-export CC
+
+ # Yes, yuck, but it's being worked on upstream (bug #918971).
+ # https://foss.heptapod.net/pypy/pypy/-/issues/4042
+ append-flags $(test-flags-CC -Wno-error=incompatible-pointer-types)
+
+ local jit_backend
+ if use jit; then
+ jit_backend='--jit-backend='
+
+ # We only need the explicit sse2 switch for x86.
+ # On other arches we can rely on autodetection which uses
+ # compiler macros. Plus, --jit-backend= doesn't accept all
+ # the modern values...
+
+ if use x86; then
+ if use cpu_flags_x86_sse2; then
+ jit_backend+=x86
+ else
+ jit_backend+=x86-without-sse2
+ fi
+ else
+ jit_backend+=auto
+ fi
+ fi
+
+ local args=(
+ --no-shared
+ $(usex jit -Ojit -O2)
+
+ ${jit_backend}
+
+ pypy/goal/targetpypystandalone
+ --withmod-bz2
+ $(usex ncurses --with{,out}mod-_minimal_curses)
+ )
+
+ local interp=( pypy )
+ if use low-memory; then
+ local -x PYPY_GC_MAX_DELTA=200MB
+ interp+=( --jit loop_longevity=300 )
+ fi
+
+ # translate into the C sources
+ # we're going to build them ourselves since otherwise pypy does not
+ # free up the unneeded memory before spawning the compiler
+ set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
+ echo -e "\033[1m${@}\033[0m"
+ "${@}" || die "translation failed"
+}
+
+src_compile() {
+ emake -C "${T}"/usession*-0/testing_1
+}
+
+src_install() {
+ cd "${T}"/usession*-0 || die
+ newbin "testing_1/pypy${PYVER}-c" "pypy${PYVER}-c-${PYPY_PV}"
+ insinto "/usr/include/pypy${PYVER}/${PYPY_PV}"
+ doins *.h
+ pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy3_10/Manifest b/dev-python/pypy3_10/Manifest
index b724b6a918e4..98534aa04e78 100644
--- a/dev-python/pypy3_10/Manifest
+++ b/dev-python/pypy3_10/Manifest
@@ -1,2 +1,2 @@
-DIST pypy3.10-gentoo-patches-7.3.13_p1.tar.xz 5068 BLAKE2B 2dd739a0ec9fc358a1fa1c278d06ed30f63f01565a593abc8b6f6bc14a5210ae3b6d541558b61ec97aad4f520e362310b825409ac46698846e66adbabcc805e7 SHA512 4ba5b2aa173b70ace6ee01ba4b870ab7baceea0b2fc6b0592787f80493c3f76ed0c662e0c86e9043c1bff981aec0268c7122d5a59d592bdb99cd8224953c8b2f
-DIST pypy3.10-v7.3.13-src.tar.bz2 23067819 BLAKE2B 6e2bfd83bcf16feef006dad39ab6d8f452418ee6bc4043edaa590db702f39275e775004bdba762736a901da94cb5274cd34f2811461048d46ac0f4af04158702 SHA512 16fbc76558152b3eadca999d56197a6bf906cbb7bb75035ccd3501372af0f0c22533d22ba231a40b7c02afa11f0d692a6ae85ba6d5e1607b737b8c68209b7c43
+DIST pypy3.10-gentoo-patches-7.3.16.tar.xz 4752 BLAKE2B a5cd87f30c0b20bf5d49c3b5c979c12231d6b67750e777d4488093094d5998e6f0d9adba51c04704eb31d621089aeb12ee5a6b0a58dad0ecda0d60d2ecbdab6d SHA512 e2779841a3e56e384134416ce2a10e1e00a11d7c720023506370fb9f54363da6b7300b4019c121aa1874152b62d9679ebcd3dd679fd0dbd2bf524520990b6f38
+DIST pypy3.10-v7.3.16-src.tar.bz2 23358556 BLAKE2B 4eddae47dea1005b9450b9d3d23bd90782dffecdc252eff4fd3195a61e0e7ebbdafaf4c4b5d318c88534f152c1110c3bc4f76f43a7e711a859dd4330841a0e0b SHA512 5b941e3b5c7b0c7a50413e16122bad3e167dcc4ee159ce53e9716e9d5af79d600823f3d7442b7562bb568ff027723e22904fc0840dc06bd26e3da38c93cc5b94
diff --git a/dev-python/pypy3_10/metadata.xml b/dev-python/pypy3_10/metadata.xml
index 279dc3f87516..2a6a5bdac475 100644
--- a/dev-python/pypy3_10/metadata.xml
+++ b/dev-python/pypy3_10/metadata.xml
@@ -5,6 +5,9 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">pypy/pypy</remote-id>
+ </upstream>
<use>
<flag name="ensurepip">
Install the ensurepip module that uses bundled wheels
@@ -12,7 +15,4 @@
be only possible to use venv `--without-pip`)
</flag>
</use>
- <upstream>
- <remote-id type="heptapod">pypy/pypy</remote-id>
- </upstream>
</pkgmetadata>
diff --git a/dev-python/pypy3_10/pypy3_10-7.3.13_p1.ebuild b/dev-python/pypy3_10/pypy3_10-7.3.13_p1.ebuild
deleted file mode 100644
index a12e9f0f8bdc..000000000000
--- a/dev-python/pypy3_10/pypy3_10-7.3.13_p1.ebuild
+++ /dev/null
@@ -1,211 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pax-utils python-utils-r1 toolchain-funcs
-
-PYPY_PV=${PV%_p*}
-PYVER=3.10
-MY_P="pypy${PYVER}-v${PYPY_PV/_}"
-PATCHSET="pypy${PYVER}-gentoo-patches-${PV/_rc/rc}"
-
-DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
-HOMEPAGE="
- https://www.pypy.org/
- https://foss.heptapod.net/pypy/pypy/
-"
-SRC_URI="
- https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
-"
-S="${WORKDIR}/${MY_P}-src"
-
-LICENSE="MIT"
-# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
-# also check pypy/interpreter/pycode.py -> pypy_incremental_magic
-SLOT="0/pypy310-pp73-384"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
-IUSE="+ensurepip gdbm +jit ncurses sqlite tk"
-# many tests are failing upstream
-# see https://buildbot.pypy.org/summary?branch=py${PYVER}
-RESTRICT="test"
-
-RDEPEND="
- || (
- >=dev-python/${PN}-exe-${PYPY_PV}:${PYPY_PV}[bzip2(+),ncurses?]
- >=dev-python/${PN}-exe-bin-${PYPY_PV}:${PYPY_PV}
- )
- dev-lang/python-exec[python_targets_pypy3(-)]
- dev-libs/openssl:0=
- dev-python/gentoo-common
- ensurepip? ( dev-python/ensurepip-wheels )
- gdbm? ( sys-libs/gdbm:0= )
- sqlite? ( dev-db/sqlite:3= )
- tk? (
- dev-lang/tk:0=
- dev-tcltk/tix:0=
- )
- !~dev-python/pypy3-7.3.12_rc1
-"
-DEPEND="
- ${RDEPEND}
-"
-
-src_prepare() {
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
- default
-
- eapply_user
-}
-
-src_configure() {
- tc-export CC
-}
-
-src_compile() {
- mkdir bin || die
- # switch to the layout expected for cffi module builds
- mkdir include/pypy${PYVER} || die
- # copy over to make sys.prefix happy
- cp -p "${BROOT}"/usr/bin/pypy${PYVER}-c-${PYPY_PV} pypy${PYVER}-c || die
- cp -p "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/* include/pypy${PYVER}/ || die
- # (not installed by pypy-exe)
- rm pypy/module/cpyext/include/_numpypy/numpy/README || die
- mv pypy/module/cpyext/include/* include/pypy${PYVER}/ || die
- mv pypy/module/cpyext/parse/*.h include/pypy${PYVER}/ || die
- pax-mark m pypy${PYVER}-c
-
- # verify the subslot
- local soabi=$(
- ./pypy${PYVER}-c - <<-EOF
- import importlib.util
- import sysconfig
- soabi = sysconfig.get_config_var("SOABI")
- magic = importlib.util._RAW_MAGIC_NUMBER & 0xffff
- print(f"{soabi}-{magic}")
- EOF
- )
- [[ ${soabi} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
-
- # Add epython.py to the distribution
- echo 'EPYTHON="pypy3"' > lib-python/3/epython.py || die
-
- einfo "Generating caches and CFFI modules ..."
-
- # Generate sysconfig data
- local host_gnu_type=$(sh pypy/tool/release/config.guess)
- local overrides=(
- HOST_GNU_TYPE "${host_gnu_type:-unknown}"
- INCLUDEPY "${EPREFIX}/usr/include/pypy${PYVER}"
- LIBDIR "${EPREFIX}/usr/$(get_libdir)"
- TZPATH "${EPREFIX}/usr/share/zoneinfo"
- WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip"
- )
- ./pypy${PYVER}-c -m sysconfig --generate-posix-vars "${overrides[@]}" || die
- local outdir
- outdir=$(<pybuilddir.txt) || die
- cp "${outdir}"/_sysconfigdata__*.py lib-python/3/ || die
-
- # Generate Grammar and PatternGrammar pickles.
- ./pypy${PYVER}-c - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed"
- import lib2to3.pygram
- import lib2to3.patcomp
- lib2to3.patcomp.PatternCompiler()
- EOF
-
- # Generate cffi modules
- # Please keep in sync with lib_pypy/pypy_tools/build_cffi_imports.py!
- # (NB: we build CFFI modules first to avoid error log when importing
- # build_cffi_imports).
- cffi_targets=(
- pypy_util blake2/_blake2 sha3/_sha3 ssl
- audioop syslog pwdgrp resource lzma posixshmem
- ctypes_test testmultiphase
- )
- use gdbm && cffi_targets+=( gdbm )
- use ncurses && cffi_targets+=( curses )
- use sqlite && cffi_targets+=( sqlite3 )
- use tk && cffi_targets+=( tkinter/tklib )
-
- local t
- # all modules except tkinter output to .
- # tkinter outputs to the correct dir ...
- cd lib_pypy || die
- for t in "${cffi_targets[@]}"; do
- # tkinter doesn't work via -m
- ../pypy${PYVER}-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
- done
- # testcapi does not have a "build" script
- ../pypy${PYVER}-c -c "import _testcapi" || die
-
- # Verify that CFFI module list is up-to-date
- local expected_cksum=63d4659f
- local local_cksum=$(
- ../pypy${PYVER}-c - <<-EOF
- import binascii
- import json
- from pypy_tools.build_cffi_imports import cffi_build_scripts as x
- print("%08x" % (binascii.crc32(json.dumps(x).encode()),))
- EOF
- )
- if [[ ${local_cksum} != ${expected_cksum} ]]; then
- die "Please verify cffi_targets and update checksum to ${local_cksum}"
- fi
-
- # Cleanup temporary objects
- find \( -name "*_cffi.c" -o -name '*.o' \) -delete || die
- find -type d -empty -delete || die
-}
-
-src_install() {
- einfo "Installing PyPy ..."
- dodir /usr/bin
- dosym pypy${PYVER}-c-${PYPY_PV} /usr/bin/pypy${PYVER}
- insinto /usr/lib/pypy${PYVER}
- # preserve mtimes to avoid obsoleting caches
- insopts -p
- doins -r lib-python/3/. lib_pypy/.
- insinto /usr/include
- doins -r include/pypy${PYVER}
-
- # replace copied headers with symlinks
- for x in "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/*; do
- dosym "${PYPY_PV}/${x##*/}" "/usr/include/pypy${PYVER}/${x##*/}"
- done
-
- dodoc README.rst
-
- local dest=/usr/lib/pypy${PYVER}
- rm -r "${ED}${dest}"/ensurepip/_bundled || die
- if ! use ensurepip; then
- rm -r "${ED}${dest}"/ensurepip || die
- fi
- if ! use gdbm; then
- rm -r "${ED}${dest}"/_gdbm* || die
- fi
- if ! use sqlite; then
- rm -r "${ED}${dest}"/sqlite3 \
- "${ED}${dest}"/_sqlite3* \
- "${ED}${dest}"/test/test_sqlite.py || die
- fi
- if ! use tk; then
- rm -r "${ED}${dest}"/{idlelib,tkinter} \
- "${ED}${dest}"/_tkinter \
- "${ED}${dest}"/test/test_{tcl,tk,ttk*}.py || die
- fi
- dosym ../python/EXTERNALLY-MANAGED "${dest}/EXTERNALLY-MANAGED"
-
- local -x EPYTHON=pypy3
- local -x PYTHON=${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}
- # temporarily copy to build tree to facilitate module builds
- cp -p "${BROOT}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" "${PYTHON}" || die
-
- einfo "Byte-compiling Python standard library..."
- python_optimize "${ED}${dest}"
-
- # remove to avoid collisions
- rm "${PYTHON}" || die
-}
diff --git a/dev-python/pypy3_10/pypy3_10-7.3.16.ebuild b/dev-python/pypy3_10/pypy3_10-7.3.16.ebuild
new file mode 100644
index 000000000000..5e7deb31db00
--- /dev/null
+++ b/dev-python/pypy3_10/pypy3_10-7.3.16.ebuild
@@ -0,0 +1,212 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multiprocessing pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+PYVER=3.10
+MY_P="pypy${PYVER}-v${PYPY_PV/_}"
+PATCHSET="pypy${PYVER}-gentoo-patches-${PV/_rc/rc}"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
+# also check pypy/interpreter/pycode.py -> pypy_incremental_magic
+SLOT="0/pypy310-pp73-384"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86 ~amd64-linux ~x86-linux"
+IUSE="+ensurepip gdbm +jit ncurses sqlite tk"
+# many tests are failing upstream
+# see https://buildbot.pypy.org/summary?branch=py${PYVER}
+RESTRICT="test"
+
+RDEPEND="
+ || (
+ >=dev-python/${PN}-exe-${PYPY_PV}:${PYPY_PV}[bzip2(+),ncurses?]
+ >=dev-python/${PN}-exe-bin-${PYPY_PV}:${PYPY_PV}
+ )
+ dev-lang/python-exec[python_targets_pypy3(-)]
+ dev-libs/openssl:0=
+ dev-python/gentoo-common
+ ensurepip? ( dev-python/ensurepip-wheels )
+ gdbm? ( sys-libs/gdbm:0= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+
+ default
+}
+
+src_configure() {
+ tc-export CC
+}
+
+src_compile() {
+ mkdir bin || die
+ # switch to the layout expected for cffi module builds
+ mkdir include/pypy${PYVER} || die
+ # copy over to make sys.prefix happy
+ cp -p "${BROOT}"/usr/bin/pypy${PYVER}-c-${PYPY_PV} pypy${PYVER}-c || die
+ cp -p "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/* include/pypy${PYVER}/ || die
+ # (not installed by pypy-exe)
+ rm pypy/module/cpyext/include/_numpypy/numpy/README || die
+ mv pypy/module/cpyext/include/* include/pypy${PYVER}/ || die
+ mv pypy/module/cpyext/parse/*.h include/pypy${PYVER}/ || die
+ pax-mark m pypy${PYVER}-c
+
+ # verify the subslot
+ local soabi=$(
+ ./pypy${PYVER}-c - <<-EOF
+ import importlib.util
+ import sysconfig
+ soabi = sysconfig.get_config_var("SOABI")
+ magic = importlib.util._RAW_MAGIC_NUMBER & 0xffff
+ print(f"{soabi}-{magic}")
+ EOF
+ )
+ [[ ${soabi} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
+
+ # Add epython.py to the distribution
+ echo 'EPYTHON="pypy3"' > lib-python/3/epython.py || die
+
+ einfo "Generating caches and CFFI modules ..."
+
+ # Generate sysconfig data
+ local host_gnu_type=$(sh pypy/tool/release/config.guess)
+ local overrides=(
+ HOST_GNU_TYPE "${host_gnu_type:-unknown}"
+ INCLUDEPY "${EPREFIX}/usr/include/pypy${PYVER}"
+ LIBDIR "${EPREFIX}/usr/$(get_libdir)"
+ TZPATH "${EPREFIX}/usr/share/zoneinfo"
+ WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip"
+ )
+ ./pypy${PYVER}-c -m sysconfig --generate-posix-vars "${overrides[@]}" || die
+ local outdir
+ outdir=$(<pybuilddir.txt) || die
+ cp "${outdir}"/_sysconfigdata__*.py lib-python/3/ || die
+
+ # Generate Grammar and PatternGrammar pickles.
+ ./pypy${PYVER}-c - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed"
+ import lib2to3.pygram
+ import lib2to3.patcomp
+ lib2to3.patcomp.PatternCompiler()
+ EOF
+
+ # Generate cffi modules
+ # Please keep in sync with lib_pypy/pypy_tools/build_cffi_imports.py!
+ # (NB: we build CFFI modules first to avoid error log when importing
+ # build_cffi_imports).
+ cffi_targets=(
+ pypy_util blake2/_blake2 sha3/_sha3 ssl
+ audioop syslog pwdgrp resource lzma posixshmem
+ ctypes_test testmultiphase
+ )
+ use gdbm && cffi_targets+=( gdbm )
+ use ncurses && cffi_targets+=( curses )
+ use sqlite && cffi_targets+=( sqlite3 )
+ use tk && cffi_targets+=( tkinter/tklib )
+
+ local t
+ # all modules except tkinter output to .
+ # tkinter outputs to the correct dir ...
+ cd lib_pypy || die
+ for t in "${cffi_targets[@]}"; do
+ # tkinter doesn't work via -m
+ ../pypy${PYVER}-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
+ done
+ # testcapi does not have a "build" script
+ ../pypy${PYVER}-c -c "import _testcapi" || die
+
+ # Verify that CFFI module list is up-to-date
+ local expected_cksum=a4138e48
+ local local_cksum=$(
+ ../pypy${PYVER}-c - <<-EOF
+ import binascii
+ import json
+ from pypy_tools.build_cffi_imports import cffi_build_scripts as x
+ print("%08x" % (binascii.crc32(json.dumps(x).encode()),))
+ EOF
+ )
+ if [[ ${local_cksum} != ${expected_cksum} ]]; then
+ die "Please verify cffi_targets and update checksum to ${local_cksum}"
+ fi
+
+ # Cleanup temporary objects
+ find \( -name "*_cffi.c" -o -name '*.o' \) -delete || die
+ find -type d -empty -delete || die
+}
+
+src_install() {
+ einfo "Installing PyPy ..."
+ dodir /usr/bin
+ dosym pypy${PYVER}-c-${PYPY_PV} /usr/bin/pypy${PYVER}
+ insinto /usr/lib/pypy${PYVER}
+ # preserve mtimes to avoid obsoleting caches
+ insopts -p
+ doins -r lib-python/3/. lib_pypy/.
+ insinto /usr/include
+ doins -r include/pypy${PYVER}
+
+ # replace copied headers with symlinks
+ for x in "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/*; do
+ dosym "${PYPY_PV}/${x##*/}" "/usr/include/pypy${PYVER}/${x##*/}"
+ done
+
+ dodoc README.rst
+
+ local dest=/usr/lib/pypy${PYVER}
+ rm -r "${ED}${dest}"/ensurepip/_bundled || die
+ if ! use ensurepip; then
+ rm -r "${ED}${dest}"/ensurepip || die
+ fi
+ if ! use gdbm; then
+ rm -r "${ED}${dest}"/_gdbm* || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED}${dest}"/sqlite3 \
+ "${ED}${dest}"/_sqlite3* \
+ "${ED}${dest}"/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}${dest}"/{idlelib,tkinter} \
+ "${ED}${dest}"/_tkinter \
+ "${ED}${dest}"/test/test_{tcl,tk,ttk*}.py || die
+ fi
+ dosym ../python/EXTERNALLY-MANAGED "${dest}/EXTERNALLY-MANAGED"
+
+ local -x PYTHON=${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}
+ # temporarily copy to build tree to facilitate module builds
+ cp -p "${BROOT}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" "${PYTHON}" || die
+
+ einfo "Byte-compiling Python standard library..."
+ # exclude list from CPython Makefile.pre.in
+ "${PYTHON}" -m compileall -j "$(makeopts_jobs)" -o 0 -o 1 -o 2 \
+ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ --hardlink-dupes -q -f -d "${dest}" "${ED}${dest}" || die
+
+ # remove to avoid collisions
+ rm "${PYTHON}" || die
+}
diff --git a/dev-python/pypy3_9-exe-bin/Manifest b/dev-python/pypy3_9-exe-bin/Manifest
index e63e559e559e..f5c0867beee2 100644
--- a/dev-python/pypy3_9-exe-bin/Manifest
+++ b/dev-python/pypy3_9-exe-bin/Manifest
@@ -1,8 +1,8 @@
-DIST pypy3_9-exe-7.3.13-1.amd64-musl.gpkg.tar 11765760 BLAKE2B da943b5076815132a99de6d7a4a5f7c0ddb468802fa53a9c5348ac9447562e1716c171dd0cddba6445e6e284562bf662e069444b85054a6d98b5d15c48d6a1ee SHA512 a26e835001728b31128a9cb485575a179de040ac0a6f77ac7fc80520c74c902b98011433aad49834cd86ad877917b9a5ad057dee328b9e15a8a2d68054e243ac
-DIST pypy3_9-exe-7.3.13-1.amd64.gpkg.tar 11745280 BLAKE2B 2bfeec0f00e099b1ce41436943dba305f12d39802237b9da6749c06a82f5dfab52b06286fa7cdc6314b0c48c5bacd458dd304386a16c4061d40120c2ceac8f93 SHA512 1dbff0d9ba0e5309e50d7d6c6d0fc043c6ddad55a2eb4d8fa4c12146c3577d8f5d3046949434c4bea03c654fe1a435133add567a1adf8bfa30e1519a739fa8eb
-DIST pypy3_9-exe-7.3.13-1.arm64-musl.gpkg.tar 9779200 BLAKE2B 3f0e43c0a5e948fece7b3a338d2ce5d326efbeabef4a876678ee37317c022b156d59bb2f3eb7909476abc869616806b0c0da0a6170d9fe2bfa00a689b315779e SHA512 539284698c256d60e3f34190d5cfd54999574e7d5ccb37a3695a7e08dc5018f680215fbad4b6118c11d9606ec65e5d79bcbcd1e02264b989bde4b85d683aaff6
-DIST pypy3_9-exe-7.3.13-1.arm64.gpkg.tar 9799680 BLAKE2B bd32484e9a576bcf2c36df0558a08eddde37b89d7f4e9aa86db61db7646a3adb4a5984f8dcbdef0135c8507a92b367047c77fdf90a5df438ee3c740aee9c2125 SHA512 cbb6a64452ffa80e2cb9d3c9a24f24ee4b7f0718e48ae03bbbe7a2dffbc200fff83c43b11c2b226392850c898ca7ce6427256354eceb9a4260d6633815a84319
-DIST pypy3_9-exe-7.3.13-1.ppc64le-musl.gpkg.tar 6389760 BLAKE2B 1eb0a9aed7e282277fc8afaee1cb3db20f93363fb93c16b69c1398b6a859bcddaab1e219eccfee466bff657ef253f826886bc13cbc034b885314200d9b9ec9be SHA512 48f1655a610b3a1fac8b8d559659ae524e57535e1a72c0daa4d2742119de6172f2d81c4f28cee90bbf7c43b1de3350dfff74b0d50107afd17009cd10c7223632
-DIST pypy3_9-exe-7.3.13-1.ppc64le.gpkg.tar 9963520 BLAKE2B 07e02711f40e336077162887f1e39e761c295ef13300be46871082a4ecc998bedabbca38aba2a22d76899dd367d25194cf60f5ebe75fd89306c6661beaf4383e SHA512 939850b6d1c4acf634e9fb7eacabefb4888938fda2e333dd658e46304b281619b737cf3b5c1969c4114269a5a2ad90a193a1e7ca3bf57d67c4b777d308997cdf
-DIST pypy3_9-exe-7.3.13-1.x86-musl.gpkg.tar 8704000 BLAKE2B 22e5b403fe30d147d4eeff43b4ff010f5234a759a4383d2131a04e871039ac19f0c9918f43d2958554c0d25c2a1ad5532ab90a11bb2b401ec00f804b8a4f0b58 SHA512 3e9f5f3529473beaa13e1c473743449d08eb636f45fe6f94ecd5dc3560f2b48bd46ba9dc7aef9fbb54c94fd822e1835f0b58b611522a5349d54e5c509a5c1384
-DIST pypy3_9-exe-7.3.13-1.x86.gpkg.tar 8642560 BLAKE2B c5f481f79ba67c5250d6d72d3582ff72be3f55516f14acbfe6720b65d7d6b1464c9a2703f7bb75e9479c5a1e83b07f0c6fa628a55a019eeb9ac939cb68275e99 SHA512 0eadc7cf710c2c02ef9c0ba7ae0c45a9055bb65f0f341d5039e41934d3217b0cd92ee169569205a7b14217f92e91da9b8d376b0dfb25c6c41be150771711ba36
+DIST pypy3_9-exe-7.3.16-1.amd64-musl.gpkg.tar 11939840 BLAKE2B 7467d16c97696cf2c75f2840a0e898c56325f4766ffdd5c2193ca3908a7fce243ee9354d03d75b410d3b7290ebb5be6365bca892cebecf3f7c76053c33883c03 SHA512 ccac91b61018eac95cb394e8bd696ab72295cc7d607fc183d95ffde630ef01823a46f1a5ab6043eb88beacd54bbc368894ad038b40e8c3b19c66beff8a5d568e
+DIST pypy3_9-exe-7.3.16-1.amd64.gpkg.tar 11950080 BLAKE2B 92b1ad6e13dfb221258452c684d95ee30a673c964e502cd1e3b9358220280eff16f2e070469e6a4a2167cb907a4aafb537a56a9ab623595bbaa003f6ae5264e8 SHA512 b0716129d93e450c68710971ab4251e7955e5fb16dc3edf0fdea5ef7ad0babc3243e84398754a9afd85e9f463a6d0a9427f8ca8867006c7c5354adad023da051
+DIST pypy3_9-exe-7.3.16-1.arm64-musl.gpkg.tar 10076160 BLAKE2B a7423e9708f3d3b300b8556ae985843539bf8f13974645073df09107e27ff4d2fb62b21f345966ba2356ddf3e45d4172350393875d0948ca083e9dc4c46adffa SHA512 49549b5b87360be6f09b3ad41a31cd60367f4cced75dc0b32f8267d0a1da4e04efd258ca593304b4dc998e8627e7b81fd6e15110d44ab101cd9108fd4e14f2c0
+DIST pypy3_9-exe-7.3.16-1.arm64.gpkg.tar 10035200 BLAKE2B 39830cf926e990cf2e70baa97e5d486ae171287a4a459501b41fb3849e55cf5cacc07d53054d8470f8ea0265a0b9b8af9a451ee97dc717d7afc70fee0c470578 SHA512 1e93d709dd452b5e4d2b996419ea24450fb96b02e88dd0317f83539f89904ace54defa23888c6eb777237143eeeeb7cf1caef6d502013d06cf8ff5365c73cb38
+DIST pypy3_9-exe-7.3.16-1.ppc64le-musl.gpkg.tar 6676480 BLAKE2B 0822479c1ea9b51ff6996cd9b5484506e2419977fa23a156d72b84f3d7e4d6475f8f1638954e9de98bf8c07c1c4c8e22dd06a7d501940d4cbc5a60d91049a055 SHA512 662284692e9b253c3f43244d4ffc2d837f2dd5f3324b0cf6b035104a2ecdeca6e678767da53f638ed59b8d84d1b99a63ddc8740c943eb16f5714f2bed5ef9f91
+DIST pypy3_9-exe-7.3.16-1.ppc64le.gpkg.tar 10229760 BLAKE2B 8062194aa43492a9d8c0762ae0c76db0f1f5c74250c27da9eec052c1822548ad93a69f729d6130be969e50c17b6c601dcee8a11e9a2721390f53f8bf248f002f SHA512 4e78792c8bc62e56cd5e4e3ff6824d477c48d2aa79f6efb6402c59c05fd1a8b572e8df6e5c269d4dc5ecbe2118db12dea1ba8c8f7970ce63f34a7a005e1d6280
+DIST pypy3_9-exe-7.3.16-1.x86-musl.gpkg.tar 8949760 BLAKE2B 75f1713623ee220ad8bb5fd74cc0c5647cdb753a94c927a0030a102e1d721c8a4195248fe8ba4c833657fccdeeb74557cae389f11d5faf5b31166dea5afbb532 SHA512 9ad3c42756a6d23e1af0c9241da8989b6af90baf88062148b35934a6873967d41577857d845c07655243c4a840a501f60ba690326f593edfad2a5207adc0aefd
+DIST pypy3_9-exe-7.3.16-1.x86.gpkg.tar 8970240 BLAKE2B bafdc25fbf3baaff5a2dc7867edef2f90d17045e51a8eed212fd00e22643aebc492d972f60867d221b3fdf4c3502c387d95f123ba6d34641ccbbf0e606ba0d89 SHA512 bb6f57982c01c6cb372afe7bebef2e1c240e3ef67d75c7ff36d999b7ddc64c12b75a5b0fad528a6dd05a4680e44dafdaa5f1d6534f7ba15a3f77629d02f30310
diff --git a/dev-python/pypy3_9-exe-bin/metadata.xml b/dev-python/pypy3_9-exe-bin/metadata.xml
index efd7c8c21836..2ed15cb705e2 100644
--- a/dev-python/pypy3_9-exe-bin/metadata.xml
+++ b/dev-python/pypy3_9-exe-bin/metadata.xml
@@ -5,4 +5,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">pypy/pypy</remote-id>
+ </upstream>
</pkgmetadata>
diff --git a/dev-python/pypy3_9-exe-bin/pypy3_9-exe-bin-7.3.13.ebuild b/dev-python/pypy3_9-exe-bin/pypy3_9-exe-bin-7.3.13.ebuild
deleted file mode 100644
index d714e8dea6e4..000000000000
--- a/dev-python/pypy3_9-exe-bin/pypy3_9-exe-bin-7.3.13.ebuild
+++ /dev/null
@@ -1,82 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pax-utils unpacker
-
-PYVER=3.9
-MY_P=pypy3_9-exe-${PV}-1
-
-DESCRIPTION="PyPy3.9 executable (pre-built version)"
-HOMEPAGE="https://www.pypy.org/"
-SRC_URI="
- elibc_glibc? (
- amd64? (
- https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.amd64.gpkg.tar
- )
- arm64? (
- https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.arm64.gpkg.tar
- )
- ppc64? (
- https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.ppc64le.gpkg.tar
- )
- x86? (
- https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.x86.gpkg.tar
- )
- )
- elibc_musl? (
- amd64? (
- https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.amd64-musl.gpkg.tar
- )
- arm64? (
- https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.arm64-musl.gpkg.tar
- )
- ppc64? (
- https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.ppc64le-musl.gpkg.tar
- )
- x86? (
- https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
- -> ${MY_P}.x86-musl.gpkg.tar
- )
- )
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="${PV%_p*}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
-
-# sys-devel/gcc for libgcc_s.so
-RDEPEND="
- app-arch/bzip2:0/1
- dev-libs/expat:0/0
- dev-libs/libffi:0/8
- sys-libs/ncurses:0/6
- >=sys-libs/zlib-1.1.3:0/1
- virtual/libintl:0/0
- elibc_glibc? (
- sys-devel/gcc
- >=sys-libs/glibc-2.35
- )
- !dev-python/pypy3_9-exe:${SLOT}
-"
-
-PYPY_PV=${PV%_p*}
-QA_PREBUILT="
- usr/bin/pypy${PYVER}-c-${PYPY_PV}
-"
-
-src_install() {
- insinto /
- doins -r image/usr
- fperms +x "/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
- pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
-}
diff --git a/dev-python/pypy3_9-exe-bin/pypy3_9-exe-bin-7.3.16.ebuild b/dev-python/pypy3_9-exe-bin/pypy3_9-exe-bin-7.3.16.ebuild
new file mode 100644
index 000000000000..b4d8e231b125
--- /dev/null
+++ b/dev-python/pypy3_9-exe-bin/pypy3_9-exe-bin-7.3.16.ebuild
@@ -0,0 +1,85 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit pax-utils unpacker
+
+PYVER=3.9
+MY_P=pypy3_9-exe-${PV}-1
+
+DESCRIPTION="PyPy3.9 executable (pre-built version)"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ elibc_glibc? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86.gpkg.tar
+ )
+ )
+ elibc_musl? (
+ amd64? (
+ https://dev.gentoo.org/~mgorny/binpkg/amd64-musl/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.amd64-musl.gpkg.tar
+ )
+ arm64? (
+ https://dev.gentoo.org/~mgorny/binpkg/arm64-musl/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.arm64-musl.gpkg.tar
+ )
+ ppc64? (
+ https://dev.gentoo.org/~mgorny/binpkg/ppc64le-musl/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.ppc64le-musl.gpkg.tar
+ )
+ x86? (
+ https://dev.gentoo.org/~mgorny/binpkg/x86-musl/pypy/dev-python/pypy3_9-exe/${MY_P}.gpkg.tar
+ -> ${MY_P}.x86-musl.gpkg.tar
+ )
+ )
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="${PV%_p*}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+# sys-devel/gcc for libgcc_s.so
+RDEPEND="
+ app-arch/bzip2:0/1
+ dev-libs/expat:0/0
+ dev-libs/libffi:0/8
+ sys-libs/ncurses:0/6
+ >=sys-libs/zlib-1.1.3:0/1
+ virtual/libintl:0/0
+ elibc_glibc? (
+ sys-devel/gcc
+ >=sys-libs/glibc-2.35
+ )
+ !dev-python/pypy3_9-exe:${SLOT}
+"
+
+PYPY_PV=${PV%_p*}
+QA_PREBUILT="
+ usr/bin/pypy${PYVER}-c-${PYPY_PV}
+"
+
+src_install() {
+ insinto /
+ doins -r image/usr
+ fperms +x "/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+ pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy3_9-exe/Manifest b/dev-python/pypy3_9-exe/Manifest
index ef3b3502ebdf..615238c4ba6a 100644
--- a/dev-python/pypy3_9-exe/Manifest
+++ b/dev-python/pypy3_9-exe/Manifest
@@ -1,2 +1,2 @@
-DIST pypy3.9-gentoo-patches-7.3.13.tar.xz 7476 BLAKE2B 70f80c489686e92e933a200d2e92a095a80e2300814ec4e1f3cb31ec5f5500a45667f7bfe9570ea5eef3933fdda33a9930bdf2cf683c28e3ddb610bebeeca6dd SHA512 5170f5141beb93b3b37cc94f85324c88182967eaff2f8ca26b81d63d5b0d20414a139ca44c250c07b46c747e27c97fd0fe5a2365f6636aba2dd28df3bc55cdca
-DIST pypy3.9-v7.3.13-src.tar.bz2 23452374 BLAKE2B b5ce8dd78e4851b5c7fa6aa0c6f2f5c198a3b2d1e4691ccb20d1b229397d60ac41eaecef37f7c76e4de837876bdd6c1e4276302afc292080e0a38f1a58869580 SHA512 04b184050625f06d2acaa836a786db788c4f658f3384ebde176d0acc95044ee83dbf7193ebab1e4fd6275bed7a590d3945482294be32d8f94e8c541e053dce59
+DIST pypy3.9-gentoo-patches-7.3.16.tar.xz 5764 BLAKE2B 094740bc594bc63648bba997e2a8a8eddd857e6f63594fc3d5f3bca9e74bce101ab56ddf59afd75d62e91c17d89271d7f8b52da6b19adf480dd9fab9f0c6dc2c SHA512 efbe3ac941be19b270336e7b31999114d4334cfd3cc0ab5f2499e41825a51bc7c005e10302114813741772ae0412466c000ab33b64f01d639d5689460f8befcb
+DIST pypy3.9-v7.3.16-src.tar.bz2 23686849 BLAKE2B 736b173d8bd6b19785e64827d289feb39e30e93caaef3071a5185cc5cbaab4aed23b9da89e34a464dad0c0d5142db9dc238a1dd221aea299f95bea2e47299a81 SHA512 bd13cddb0b4cab4e200d2eafd8239c76209a49f8e847193c5ed0fe446ca46271446fc762cafd2aa8f410d022bc65abcd48ba7148502b70b901565e187058310d
diff --git a/dev-python/pypy3_9-exe/metadata.xml b/dev-python/pypy3_9-exe/metadata.xml
index 9f1f42740089..3f2aeb55aa5e 100644
--- a/dev-python/pypy3_9-exe/metadata.xml
+++ b/dev-python/pypy3_9-exe/metadata.xml
@@ -5,6 +5,9 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">pypy/pypy</remote-id>
+ </upstream>
<use>
<flag name="low-memory">Build using PyPy with the engine configured towards low memory footprint.
This makes it possible to build PyPy using ~3.5G of RAM on amd64 and ~half of that on x86,
diff --git a/dev-python/pypy3_9-exe/pypy3_9-exe-7.3.13.ebuild b/dev-python/pypy3_9-exe/pypy3_9-exe-7.3.13.ebuild
deleted file mode 100644
index a6d7ba06e1b1..000000000000
--- a/dev-python/pypy3_9-exe/pypy3_9-exe-7.3.13.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit check-reqs pax-utils toolchain-funcs
-
-PYPY_PV=${PV%_p*}
-PYVER=3.9
-MY_P="pypy${PYVER}-v${PYPY_PV/_}"
-PATCHSET="pypy${PYVER}-gentoo-patches-${PV/_}"
-
-DESCRIPTION="PyPy3.9 executable (build from source)"
-HOMEPAGE="https://www.pypy.org/"
-SRC_URI="
- https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
-"
-S="${WORKDIR}/${MY_P}-src"
-
-LICENSE="MIT"
-SLOT="${PYPY_PV}"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="+jit low-memory ncurses cpu_flags_x86_sse2"
-
-RDEPEND="
- app-arch/bzip2:0=
- dev-libs/expat:0=
- dev-libs/libffi:0=
- >=sys-libs/zlib-1.1.3:0=
- virtual/libintl:0=
- ncurses? ( sys-libs/ncurses:0= )
- !dev-python/pypy3-exe-bin:${SLOT}
-"
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- dev-python/pypy
- virtual/pkgconfig
-"
-
-check_env() {
- if use low-memory; then
- CHECKREQS_MEMORY="1750M"
- use amd64 && CHECKREQS_MEMORY="3500M"
- else
- CHECKREQS_MEMORY="3G"
- use amd64 && CHECKREQS_MEMORY="6G"
- fi
-
- check-reqs_pkg_pretend
-}
-
-pkg_pretend() {
- [[ ${MERGE_TYPE} != binary ]] && check_env
-}
-
-pkg_setup() {
- [[ ${MERGE_TYPE} != binary ]] && check_env
-}
-
-src_prepare() {
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
- default
-}
-
-src_configure() {
- tc-export CC
-
- local jit_backend
- if use jit; then
- jit_backend='--jit-backend='
-
- # We only need the explicit sse2 switch for x86.
- # On other arches we can rely on autodetection which uses
- # compiler macros. Plus, --jit-backend= doesn't accept all
- # the modern values...
-
- if use x86; then
- if use cpu_flags_x86_sse2; then
- jit_backend+=x86
- else
- jit_backend+=x86-without-sse2
- fi
- else
- jit_backend+=auto
- fi
- fi
-
- local args=(
- --no-shared
- $(usex jit -Ojit -O2)
-
- ${jit_backend}
-
- pypy/goal/targetpypystandalone
- --withmod-bz2
- $(usex ncurses --with{,out}mod-_minimal_curses)
- )
-
- local interp=( pypy )
- if use low-memory; then
- local -x PYPY_GC_MAX_DELTA=200MB
- interp+=( --jit loop_longevity=300 )
- fi
-
- # translate into the C sources
- # we're going to build them ourselves since otherwise pypy does not
- # free up the unneeded memory before spawning the compiler
- set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
- echo -e "\033[1m${@}\033[0m"
- "${@}" || die "translation failed"
-}
-
-src_compile() {
- emake -C "${T}"/usession*-0/testing_1
-}
-
-src_install() {
- cd "${T}"/usession*-0 || die
- newbin "testing_1/pypy${PYVER}-c" "pypy${PYVER}-c-${PYPY_PV}"
- insinto "/usr/include/pypy${PYVER}/${PYPY_PV}"
- doins *.h
- pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
-}
diff --git a/dev-python/pypy3_9-exe/pypy3_9-exe-7.3.16.ebuild b/dev-python/pypy3_9-exe/pypy3_9-exe-7.3.16.ebuild
new file mode 100644
index 000000000000..b75e5d8f5409
--- /dev/null
+++ b/dev-python/pypy3_9-exe/pypy3_9-exe-7.3.16.ebuild
@@ -0,0 +1,132 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit check-reqs pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+PYVER=3.9
+MY_P="pypy${PYVER}-v${PYPY_PV/_}"
+PATCHSET="pypy${PYVER}-gentoo-patches-${PV/_}"
+
+DESCRIPTION="PyPy3.9 executable (build from source)"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+SLOT="${PYPY_PV}"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+jit low-memory ncurses cpu_flags_x86_sse2"
+
+RDEPEND="
+ app-arch/bzip2:0=
+ dev-libs/expat:0=
+ dev-libs/libffi:0=
+ >=sys-libs/zlib-1.1.3:0=
+ virtual/libintl:0=
+ ncurses? ( sys-libs/ncurses:0= )
+ !dev-python/pypy3_9-exe-bin:${SLOT}
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ dev-python/pypy
+ virtual/pkgconfig
+"
+
+check_env() {
+ if use low-memory; then
+ CHECKREQS_MEMORY="1750M"
+ use amd64 && CHECKREQS_MEMORY="3500M"
+ else
+ CHECKREQS_MEMORY="3G"
+ use amd64 && CHECKREQS_MEMORY="6G"
+ fi
+
+ check-reqs_pkg_pretend
+}
+
+pkg_pretend() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+pkg_setup() {
+ [[ ${MERGE_TYPE} != binary ]] && check_env
+}
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+ default
+}
+
+src_configure() {
+ tc-export CC
+
+ local jit_backend
+ if use jit; then
+ jit_backend='--jit-backend='
+
+ # We only need the explicit sse2 switch for x86.
+ # On other arches we can rely on autodetection which uses
+ # compiler macros. Plus, --jit-backend= doesn't accept all
+ # the modern values...
+
+ if use x86; then
+ if use cpu_flags_x86_sse2; then
+ jit_backend+=x86
+ else
+ jit_backend+=x86-without-sse2
+ fi
+ else
+ jit_backend+=auto
+ fi
+ fi
+
+ local args=(
+ --no-shared
+ $(usex jit -Ojit -O2)
+
+ ${jit_backend}
+
+ pypy/goal/targetpypystandalone
+ --withmod-bz2
+ $(usex ncurses --with{,out}mod-_minimal_curses)
+ )
+
+ local interp=( pypy )
+ if use low-memory; then
+ local -x PYPY_GC_MAX_DELTA=200MB
+ interp+=( --jit loop_longevity=300 )
+ fi
+
+ # translate into the C sources
+ # we're going to build them ourselves since otherwise pypy does not
+ # free up the unneeded memory before spawning the compiler
+ set -- "${interp[@]}" rpython/bin/rpython --batch --source "${args[@]}"
+ echo -e "\033[1m${@}\033[0m"
+ "${@}" || die "translation failed"
+}
+
+src_compile() {
+ emake -C "${T}"/usession*-0/testing_1
+}
+
+src_install() {
+ cd "${T}"/usession*-0 || die
+ newbin "testing_1/pypy${PYVER}-c" "pypy${PYVER}-c-${PYPY_PV}"
+ insinto "/usr/include/pypy${PYVER}/${PYPY_PV}"
+ doins *.h
+ pax-mark m "${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}"
+}
diff --git a/dev-python/pypy3_9/Manifest b/dev-python/pypy3_9/Manifest
index ef3b3502ebdf..615238c4ba6a 100644
--- a/dev-python/pypy3_9/Manifest
+++ b/dev-python/pypy3_9/Manifest
@@ -1,2 +1,2 @@
-DIST pypy3.9-gentoo-patches-7.3.13.tar.xz 7476 BLAKE2B 70f80c489686e92e933a200d2e92a095a80e2300814ec4e1f3cb31ec5f5500a45667f7bfe9570ea5eef3933fdda33a9930bdf2cf683c28e3ddb610bebeeca6dd SHA512 5170f5141beb93b3b37cc94f85324c88182967eaff2f8ca26b81d63d5b0d20414a139ca44c250c07b46c747e27c97fd0fe5a2365f6636aba2dd28df3bc55cdca
-DIST pypy3.9-v7.3.13-src.tar.bz2 23452374 BLAKE2B b5ce8dd78e4851b5c7fa6aa0c6f2f5c198a3b2d1e4691ccb20d1b229397d60ac41eaecef37f7c76e4de837876bdd6c1e4276302afc292080e0a38f1a58869580 SHA512 04b184050625f06d2acaa836a786db788c4f658f3384ebde176d0acc95044ee83dbf7193ebab1e4fd6275bed7a590d3945482294be32d8f94e8c541e053dce59
+DIST pypy3.9-gentoo-patches-7.3.16.tar.xz 5764 BLAKE2B 094740bc594bc63648bba997e2a8a8eddd857e6f63594fc3d5f3bca9e74bce101ab56ddf59afd75d62e91c17d89271d7f8b52da6b19adf480dd9fab9f0c6dc2c SHA512 efbe3ac941be19b270336e7b31999114d4334cfd3cc0ab5f2499e41825a51bc7c005e10302114813741772ae0412466c000ab33b64f01d639d5689460f8befcb
+DIST pypy3.9-v7.3.16-src.tar.bz2 23686849 BLAKE2B 736b173d8bd6b19785e64827d289feb39e30e93caaef3071a5185cc5cbaab4aed23b9da89e34a464dad0c0d5142db9dc238a1dd221aea299f95bea2e47299a81 SHA512 bd13cddb0b4cab4e200d2eafd8239c76209a49f8e847193c5ed0fe446ca46271446fc762cafd2aa8f410d022bc65abcd48ba7148502b70b901565e187058310d
diff --git a/dev-python/pypy3_9/metadata.xml b/dev-python/pypy3_9/metadata.xml
index 279dc3f87516..2a6a5bdac475 100644
--- a/dev-python/pypy3_9/metadata.xml
+++ b/dev-python/pypy3_9/metadata.xml
@@ -5,6 +5,9 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <upstream>
+ <remote-id type="github">pypy/pypy</remote-id>
+ </upstream>
<use>
<flag name="ensurepip">
Install the ensurepip module that uses bundled wheels
@@ -12,7 +15,4 @@
be only possible to use venv `--without-pip`)
</flag>
</use>
- <upstream>
- <remote-id type="heptapod">pypy/pypy</remote-id>
- </upstream>
</pkgmetadata>
diff --git a/dev-python/pypy3_9/pypy3_9-7.3.13-r1.ebuild b/dev-python/pypy3_9/pypy3_9-7.3.13-r1.ebuild
deleted file mode 100644
index b75fb0c938f5..000000000000
--- a/dev-python/pypy3_9/pypy3_9-7.3.13-r1.ebuild
+++ /dev/null
@@ -1,211 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-inherit pax-utils python-utils-r1 toolchain-funcs
-
-PYPY_PV=${PV%_p*}
-PYVER=3.9
-MY_P="pypy${PYVER}-v${PYPY_PV/_}"
-PATCHSET="pypy${PYVER}-gentoo-patches-${PV/_rc/rc}"
-
-DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
-HOMEPAGE="
- https://www.pypy.org/
- https://foss.heptapod.net/pypy/pypy/
-"
-SRC_URI="
- https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
- https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
-"
-S="${WORKDIR}/${MY_P}-src"
-
-LICENSE="MIT"
-# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
-# also check pypy/interpreter/pycode.py -> pypy_incremental_magic
-SLOT="0/pypy39-pp73-336"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-IUSE="+ensurepip gdbm +jit ncurses sqlite tk"
-# many tests are failing upstream
-# see https://buildbot.pypy.org/summary?branch=py${PYVER}
-RESTRICT="test"
-
-RDEPEND="
- || (
- >=dev-python/${PN}-exe-${PYPY_PV}:${PYPY_PV}[bzip2(+),ncurses?]
- >=dev-python/${PN}-exe-bin-${PYPY_PV}:${PYPY_PV}
- )
- dev-lang/python-exec[python_targets_pypy3(-)]
- dev-libs/openssl:0=
- dev-python/gentoo-common
- ensurepip? ( dev-python/ensurepip-wheels )
- gdbm? ( sys-libs/gdbm:0= )
- sqlite? ( dev-db/sqlite:3= )
- tk? (
- dev-lang/tk:0=
- dev-tcltk/tix:0=
- )
- !<dev-python/pypy3-7.3.12_rc
-"
-DEPEND="
- ${RDEPEND}
-"
-
-src_prepare() {
- local PATCHES=(
- "${WORKDIR}/${PATCHSET}"
- )
- default
-
- eapply_user
-}
-
-src_configure() {
- tc-export CC
-}
-
-src_compile() {
- mkdir bin || die
- # switch to the layout expected for cffi module builds
- mkdir include/pypy${PYVER} || die
- # copy over to make sys.prefix happy
- cp -p "${BROOT}"/usr/bin/pypy${PYVER}-c-${PYPY_PV} pypy${PYVER}-c || die
- cp -p "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/* include/pypy${PYVER}/ || die
- # (not installed by pypy-exe)
- rm pypy/module/cpyext/include/_numpypy/numpy/README || die
- mv pypy/module/cpyext/include/* include/pypy${PYVER}/ || die
- mv pypy/module/cpyext/parse/*.h include/pypy${PYVER}/ || die
- pax-mark m pypy${PYVER}-c
-
- # verify the subslot
- local soabi=$(
- ./pypy${PYVER}-c - <<-EOF
- import importlib.util
- import sysconfig
- soabi = sysconfig.get_config_var("SOABI")
- magic = importlib.util._RAW_MAGIC_NUMBER & 0xffff
- print(f"{soabi}-{magic}")
- EOF
- )
- [[ ${soabi} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
-
- # Add epython.py to the distribution
- echo 'EPYTHON="pypy3"' > lib-python/3/epython.py || die
-
- einfo "Generating caches and CFFI modules ..."
-
- # Generate sysconfig data
- local host_gnu_type=$(sh pypy/tool/release/config.guess)
- local overrides=(
- HOST_GNU_TYPE "${host_gnu_type:-unknown}"
- INCLUDEPY "${EPREFIX}/usr/include/pypy${PYVER}"
- LIBDIR "${EPREFIX}/usr/$(get_libdir)"
- TZPATH "${EPREFIX}/usr/share/zoneinfo"
- WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip"
- )
- ./pypy${PYVER}-c -m sysconfig --generate-posix-vars "${overrides[@]}" || die
- local outdir
- outdir=$(<pybuilddir.txt) || die
- cp "${outdir}"/_sysconfigdata__*.py lib-python/3/ || die
-
- # Generate Grammar and PatternGrammar pickles.
- ./pypy${PYVER}-c - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed"
- import lib2to3.pygram
- import lib2to3.patcomp
- lib2to3.patcomp.PatternCompiler()
- EOF
-
- # Generate cffi modules
- # Please keep in sync with lib_pypy/pypy_tools/build_cffi_imports.py!
- # (NB: we build CFFI modules first to avoid error log when importing
- # build_cffi_imports).
- cffi_targets=(
- pypy_util blake2/_blake2 sha3/_sha3 ssl
- audioop syslog pwdgrp resource lzma posixshmem
- ctypes_test testmultiphase
- )
- use gdbm && cffi_targets+=( gdbm )
- use ncurses && cffi_targets+=( curses )
- use sqlite && cffi_targets+=( sqlite3 )
- use tk && cffi_targets+=( tkinter/tklib )
-
- local t
- # all modules except tkinter output to .
- # tkinter outputs to the correct dir ...
- cd lib_pypy || die
- for t in "${cffi_targets[@]}"; do
- # tkinter doesn't work via -m
- ../pypy${PYVER}-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
- done
- # testcapi does not have a "build" script
- ../pypy${PYVER}-c -c "import _testcapi" || die
-
- # Verify that CFFI module list is up-to-date
- local expected_cksum=63d4659f
- local local_cksum=$(
- ../pypy${PYVER}-c - <<-EOF
- import binascii
- import json
- from pypy_tools.build_cffi_imports import cffi_build_scripts as x
- print("%08x" % (binascii.crc32(json.dumps(x).encode()),))
- EOF
- )
- if [[ ${local_cksum} != ${expected_cksum} ]]; then
- die "Please verify cffi_targets and update checksum to ${local_cksum}"
- fi
-
- # Cleanup temporary objects
- find \( -name "*_cffi.c" -o -name '*.o' \) -delete || die
- find -type d -empty -delete || die
-}
-
-src_install() {
- einfo "Installing PyPy ..."
- dodir /usr/bin
- dosym pypy${PYVER}-c-${PYPY_PV} /usr/bin/pypy${PYVER}
- insinto /usr/lib/pypy${PYVER}
- # preserve mtimes to avoid obsoleting caches
- insopts -p
- doins -r lib-python/3/. lib_pypy/.
- insinto /usr/include
- doins -r include/pypy${PYVER}
-
- # replace copied headers with symlinks
- for x in "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/*; do
- dosym "${PYPY_PV}/${x##*/}" "/usr/include/pypy${PYVER}/${x##*/}"
- done
-
- dodoc README.rst
-
- local dest=/usr/lib/pypy${PYVER}
- rm -r "${ED}${dest}"/ensurepip/_bundled || die
- if ! use ensurepip; then
- rm -r "${ED}${dest}"/ensurepip || die
- fi
- if ! use gdbm; then
- rm -r "${ED}${dest}"/_gdbm* || die
- fi
- if ! use sqlite; then
- rm -r "${ED}${dest}"/sqlite3 \
- "${ED}${dest}"/_sqlite3* \
- "${ED}${dest}"/test/test_sqlite.py || die
- fi
- if ! use tk; then
- rm -r "${ED}${dest}"/{idlelib,tkinter} \
- "${ED}${dest}"/_tkinter \
- "${ED}${dest}"/test/test_{tcl,tk,ttk*}.py || die
- fi
- dosym ../python/EXTERNALLY-MANAGED "${dest}/EXTERNALLY-MANAGED"
-
- local -x EPYTHON=pypy3
- local -x PYTHON=${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}
- # temporarily copy to build tree to facilitate module builds
- cp -p "${BROOT}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" "${PYTHON}" || die
-
- einfo "Byte-compiling Python standard library..."
- python_optimize "${ED}${dest}"
-
- # remove to avoid collisions
- rm "${PYTHON}" || die
-}
diff --git a/dev-python/pypy3_9/pypy3_9-7.3.16.ebuild b/dev-python/pypy3_9/pypy3_9-7.3.16.ebuild
new file mode 100644
index 000000000000..cd6b3d3e3ed8
--- /dev/null
+++ b/dev-python/pypy3_9/pypy3_9-7.3.16.ebuild
@@ -0,0 +1,211 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+inherit multiprocessing pax-utils toolchain-funcs
+
+PYPY_PV=${PV%_p*}
+PYVER=3.9
+MY_P="pypy${PYVER}-v${PYPY_PV/_}"
+PATCHSET="pypy${PYVER}-gentoo-patches-${PV/_rc/rc}"
+
+DESCRIPTION="A fast, compliant alternative implementation of the Python (${PYVER}) language"
+HOMEPAGE="
+ https://www.pypy.org/
+ https://github.com/pypy/pypy/
+"
+SRC_URI="
+ https://downloads.python.org/pypy/${MY_P}-src.tar.bz2
+ https://buildbot.pypy.org/pypy/${MY_P}-src.tar.bz2
+ https://dev.gentoo.org/~mgorny/dist/python/${PATCHSET}.tar.xz
+"
+S="${WORKDIR}/${MY_P}-src"
+
+LICENSE="MIT"
+# pypy3 -c 'import sysconfig; print(sysconfig.get_config_var("SOABI"))'
+# also check pypy/interpreter/pycode.py -> pypy_incremental_magic
+SLOT="0/pypy39-pp73-336"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+IUSE="+ensurepip gdbm +jit ncurses sqlite tk"
+# many tests are failing upstream
+# see https://buildbot.pypy.org/summary?branch=py${PYVER}
+RESTRICT="test"
+
+RDEPEND="
+ || (
+ >=dev-python/${PN}-exe-${PYPY_PV}:${PYPY_PV}[bzip2(+),ncurses?]
+ >=dev-python/${PN}-exe-bin-${PYPY_PV}:${PYPY_PV}
+ )
+ dev-lang/python-exec[python_targets_pypy3(-)]
+ dev-libs/openssl:0=
+ dev-python/gentoo-common
+ ensurepip? ( dev-python/ensurepip-wheels )
+ gdbm? ( sys-libs/gdbm:0= )
+ sqlite? ( dev-db/sqlite:3= )
+ tk? (
+ dev-lang/tk:0=
+ dev-tcltk/tix:0=
+ )
+"
+DEPEND="
+ ${RDEPEND}
+"
+
+src_prepare() {
+ local PATCHES=(
+ "${WORKDIR}/${PATCHSET}"
+ )
+ default
+}
+
+src_configure() {
+ tc-export CC
+}
+
+src_compile() {
+ mkdir bin || die
+ # switch to the layout expected for cffi module builds
+ mkdir include/pypy${PYVER} || die
+ # copy over to make sys.prefix happy
+ cp -p "${BROOT}"/usr/bin/pypy${PYVER}-c-${PYPY_PV} pypy${PYVER}-c || die
+ cp -p "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/* include/pypy${PYVER}/ || die
+ # (not installed by pypy-exe)
+ rm pypy/module/cpyext/include/_numpypy/numpy/README || die
+ mv pypy/module/cpyext/include/* include/pypy${PYVER}/ || die
+ mv pypy/module/cpyext/parse/*.h include/pypy${PYVER}/ || die
+ pax-mark m pypy${PYVER}-c
+
+ # verify the subslot
+ local soabi=$(
+ ./pypy${PYVER}-c - <<-EOF
+ import importlib.util
+ import sysconfig
+ soabi = sysconfig.get_config_var("SOABI")
+ magic = importlib.util._RAW_MAGIC_NUMBER & 0xffff
+ print(f"{soabi}-{magic}")
+ EOF
+ )
+ [[ ${soabi} == ${SLOT#*/} ]] || die "update subslot to ${soabi}"
+
+ # Add epython.py to the distribution
+ echo 'EPYTHON="pypy3"' > lib-python/3/epython.py || die
+
+ einfo "Generating caches and CFFI modules ..."
+
+ # Generate sysconfig data
+ local host_gnu_type=$(sh pypy/tool/release/config.guess)
+ local overrides=(
+ HOST_GNU_TYPE "${host_gnu_type:-unknown}"
+ INCLUDEPY "${EPREFIX}/usr/include/pypy${PYVER}"
+ LIBDIR "${EPREFIX}/usr/$(get_libdir)"
+ TZPATH "${EPREFIX}/usr/share/zoneinfo"
+ WHEEL_PKG_DIR "${EPREFIX}/usr/lib/python/ensurepip"
+ )
+ ./pypy${PYVER}-c -m sysconfig --generate-posix-vars "${overrides[@]}" || die
+ local outdir
+ outdir=$(<pybuilddir.txt) || die
+ cp "${outdir}"/_sysconfigdata__*.py lib-python/3/ || die
+
+ # Generate Grammar and PatternGrammar pickles.
+ ./pypy${PYVER}-c - <<-EOF || die "Generation of Grammar and PatternGrammar pickles failed"
+ import lib2to3.pygram
+ import lib2to3.patcomp
+ lib2to3.patcomp.PatternCompiler()
+ EOF
+
+ # Generate cffi modules
+ # Please keep in sync with lib_pypy/pypy_tools/build_cffi_imports.py!
+ # (NB: we build CFFI modules first to avoid error log when importing
+ # build_cffi_imports).
+ cffi_targets=(
+ pypy_util blake2/_blake2 sha3/_sha3 ssl
+ audioop syslog pwdgrp resource lzma posixshmem
+ ctypes_test testmultiphase
+ )
+ use gdbm && cffi_targets+=( gdbm )
+ use ncurses && cffi_targets+=( curses )
+ use sqlite && cffi_targets+=( sqlite3 )
+ use tk && cffi_targets+=( tkinter/tklib )
+
+ local t
+ # all modules except tkinter output to .
+ # tkinter outputs to the correct dir ...
+ cd lib_pypy || die
+ for t in "${cffi_targets[@]}"; do
+ # tkinter doesn't work via -m
+ ../pypy${PYVER}-c "_${t}_build.py" || die "Failed to build CFFI bindings for ${t}"
+ done
+ # testcapi does not have a "build" script
+ ../pypy${PYVER}-c -c "import _testcapi" || die
+
+ # Verify that CFFI module list is up-to-date
+ local expected_cksum=a4138e48
+ local local_cksum=$(
+ ../pypy${PYVER}-c - <<-EOF
+ import binascii
+ import json
+ from pypy_tools.build_cffi_imports import cffi_build_scripts as x
+ print("%08x" % (binascii.crc32(json.dumps(x).encode()),))
+ EOF
+ )
+ if [[ ${local_cksum} != ${expected_cksum} ]]; then
+ die "Please verify cffi_targets and update checksum to ${local_cksum}"
+ fi
+
+ # Cleanup temporary objects
+ find \( -name "*_cffi.c" -o -name '*.o' \) -delete || die
+ find -type d -empty -delete || die
+}
+
+src_install() {
+ einfo "Installing PyPy ..."
+ dodir /usr/bin
+ dosym pypy${PYVER}-c-${PYPY_PV} /usr/bin/pypy${PYVER}
+ insinto /usr/lib/pypy${PYVER}
+ # preserve mtimes to avoid obsoleting caches
+ insopts -p
+ doins -r lib-python/3/. lib_pypy/.
+ insinto /usr/include
+ doins -r include/pypy${PYVER}
+
+ # replace copied headers with symlinks
+ for x in "${BROOT}"/usr/include/pypy${PYVER}/${PYPY_PV}/*; do
+ dosym "${PYPY_PV}/${x##*/}" "/usr/include/pypy${PYVER}/${x##*/}"
+ done
+
+ dodoc README.rst
+
+ local dest=/usr/lib/pypy${PYVER}
+ rm -r "${ED}${dest}"/ensurepip/_bundled || die
+ if ! use ensurepip; then
+ rm -r "${ED}${dest}"/ensurepip || die
+ fi
+ if ! use gdbm; then
+ rm -r "${ED}${dest}"/_gdbm* || die
+ fi
+ if ! use sqlite; then
+ rm -r "${ED}${dest}"/sqlite3 \
+ "${ED}${dest}"/_sqlite3* \
+ "${ED}${dest}"/test/test_sqlite.py || die
+ fi
+ if ! use tk; then
+ rm -r "${ED}${dest}"/{idlelib,tkinter} \
+ "${ED}${dest}"/_tkinter \
+ "${ED}${dest}"/test/test_{tcl,tk,ttk*}.py || die
+ fi
+ dosym ../python/EXTERNALLY-MANAGED "${dest}/EXTERNALLY-MANAGED"
+
+ local -x PYTHON=${ED}/usr/bin/pypy${PYVER}-c-${PYPY_PV}
+ # temporarily copy to build tree to facilitate module builds
+ cp -p "${BROOT}/usr/bin/pypy${PYVER}-c-${PYPY_PV}" "${PYTHON}" || die
+
+ einfo "Byte-compiling Python standard library..."
+ # exclude list from CPython Makefile.pre.in
+ "${PYTHON}" -m compileall -j "$(makeopts_jobs)" -o 0 -o 1 -o 2 \
+ -x 'bad_coding|badsyntax|site-packages|lib2to3/tests/data' \
+ --hardlink-dupes -q -f -d "${dest}" "${ED}${dest}" || die
+
+ # remove to avoid collisions
+ rm "${PYTHON}" || die
+}
diff --git a/dev-python/pyqt-distutils/Manifest b/dev-python/pyqt-distutils/Manifest
deleted file mode 100644
index eb39f4c49420..000000000000
--- a/dev-python/pyqt-distutils/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pyqt_distutils-0.7.3.gh.tar.gz 16628 BLAKE2B 0d9d7f951890c00efd95bf3caef8c8964d02f3097840f84006a8d9523c0ad9b78dbb5f46c4d752945074ba971c92e81e81be0345b7a8c807932e7157ecd00e03 SHA512 450569be205aa0de792c3f2d8c43e26eb6fed1088b241291347ae14d2343b61517bd7547f741bd62bb9e1bfb92077d1ae5c64b871c39d59a67ca82172ac1c598
diff --git a/dev-python/pyqt-distutils/metadata.xml b/dev-python/pyqt-distutils/metadata.xml
deleted file mode 100644
index 5fbf45f5d41c..000000000000
--- a/dev-python/pyqt-distutils/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="pypi">pyqt-distutils</remote-id>
- <remote-id type="github">ColinDuquesnoy/pyqt_distutils</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pyqt-distutils/pyqt-distutils-0.7.3-r1.ebuild b/dev-python/pyqt-distutils/pyqt-distutils-0.7.3-r1.ebuild
deleted file mode 100644
index f827f8f052b6..000000000000
--- a/dev-python/pyqt-distutils/pyqt-distutils-0.7.3-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${PN/-/_}-${PV}
-DESCRIPTION="distutils extension to work with PyQt applications and UI files"
-HOMEPAGE="
- https://github.com/ColinDuquesnoy/pyqt_distutils/
- https://pypi.org/project/pyqt-distutils/
-"
-SRC_URI="
- https://github.com/ColinDuquesnoy/pyqt_distutils/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/docopt[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyqtgraph/Manifest b/dev-python/pyqtgraph/Manifest
index d00bdbb19d8e..697f33f534f1 100644
--- a/dev-python/pyqtgraph/Manifest
+++ b/dev-python/pyqtgraph/Manifest
@@ -1 +1 @@
-DIST pyqtgraph-0.13.3.gh.tar.gz 1423224 BLAKE2B 6c054e243a95387f18c7f18a1d4375fac3a7ae3794902f72e8d75eaeea01e031422abb7bbd84bb94977c6ce14664fed4f66ebd9892f4200c3b3ccdd598ccbfd2 SHA512 a397fcf8fc2fcc5a212df9f4cd48dc07bc1ad9eb7a9b1283488eb52c236e054b01df02d04088a9d91679c4ae3ab7796cdf95cdbad06a6a585fbbcdb921f33617
+DIST pyqtgraph-0.13.7.gh.tar.gz 2364456 BLAKE2B 3ce1a3eb177a2a6328f1b7354bf9d4a87ffedcf4fa75fa407bd2df708b91fe98e2500364220ac7395745c69ac86f4830ea58999d05af49850edc723a6ccad5a1 SHA512 91e06e143fec4b1a6fae5cc7112a1fb6b7e74c7a38605172aacc5639eb220e30c54694e419313c7bb8368ea5c5f45f41d58e4510735e63a7d6ef03cdbb0f05e9
diff --git a/dev-python/pyqtgraph/pyqtgraph-0.13.3.ebuild b/dev-python/pyqtgraph/pyqtgraph-0.13.3.ebuild
deleted file mode 100644
index 957de8060add..000000000000
--- a/dev-python/pyqtgraph/pyqtgraph-0.13.3.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="A pure-python graphics and GUI library built on PyQt and numpy"
-HOMEPAGE="
- https://www.pyqtgraph.org/
- https://github.com/pyqtgraph/pyqtgraph/
- https://pypi.org/project/pyqtgraph/
-"
-SRC_URI="
- https://github.com/pyqtgraph/pyqtgraph/archive/${P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${PN}-${P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv ~x86"
-IUSE="opengl svg"
-REQUIRED_USE="test? ( opengl svg )"
-
-RDEPEND="
- >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/PyQt5[gui,widgets,opengl=,svg=,${PYTHON_USEDEP}]
- opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- dev-python/h5py[${PYTHON_USEDEP}]
- dev-python/PyQt5[testlib,${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/pytest-xvfb[${PYTHON_USEDEP}]
- dev-vcs/git
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
-
- if ! use opengl; then
- rm -r pyqtgraph/opengl || die
- fi
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # apparently fragile
- tests/test_reload.py::test_reload
-
- # TODO
- tests/graphicsItems/test_ROI.py::test_PolyLineROI
-
- # pyside2 is normally skipped if not installed but these two
- # fail if it is installed
- # TODO: this could be due to USE flags, revisit when pyside2
- # gains py3.9
- 'pyqtgraph/examples/test_examples.py::testExamples[ DateAxisItem_QtDesigner.py - PySide2 ]'
- 'pyqtgraph/examples/test_examples.py::testExamples[ designerExample.py - PySide2 ]'
- )
-
- epytest -p xvfb -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/pyqtgraph/pyqtgraph-0.13.7.ebuild b/dev-python/pyqtgraph/pyqtgraph-0.13.7.ebuild
new file mode 100644
index 000000000000..c1adb8a201c4
--- /dev/null
+++ b/dev-python/pyqtgraph/pyqtgraph-0.13.7.ebuild
@@ -0,0 +1,74 @@
+# 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
+
+DESCRIPTION="A pure-python graphics and GUI library built on PyQt and numpy"
+HOMEPAGE="
+ https://www.pyqtgraph.org/
+ https://github.com/pyqtgraph/pyqtgraph/
+ https://pypi.org/project/pyqtgraph/
+"
+SRC_URI="
+ https://github.com/pyqtgraph/pyqtgraph/archive/${P}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/${PN}-${P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv ~x86"
+IUSE="opengl svg"
+REQUIRED_USE="test? ( opengl svg )"
+
+RDEPEND="
+ >=dev-python/numpy-1.22[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/PyQt5[gui,widgets,opengl=,svg=,${PYTHON_USEDEP}]
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/PyQt5[testlib,${PYTHON_USEDEP}]
+ dev-python/pytest-xvfb[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+
+ if ! use opengl; then
+ rm -r pyqtgraph/opengl || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # apparently fragile
+ tests/test_reload.py::test_reload
+
+ # TODO
+ tests/exporters/test_svg.py::test_plotscene
+ tests/graphicsItems/test_ROI.py::test_PolyLineROI
+
+ # pyside2 is normally skipped if not installed but these two
+ # fail if it is installed
+ # TODO: this could be due to USE flags, revisit when pyside2
+ # gains py3.9
+ 'pyqtgraph/examples/test_examples.py::testExamples[ DateAxisItem_QtDesigner.py - PySide2 ]'
+ 'pyqtgraph/examples/test_examples.py::testExamples[ designerExample.py - PySide2 ]'
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p xvfb
+}
diff --git a/dev-python/pyquery/pyquery-2.0.0.ebuild b/dev-python/pyquery/pyquery-2.0.0.ebuild
index a72d907f5f71..a68b278d5910 100644
--- a/dev-python/pyquery/pyquery-2.0.0.ebuild
+++ b/dev-python/pyquery/pyquery-2.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 optfeature pypi
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
RDEPEND="
>=dev-python/lxml-2.1[${PYTHON_USEDEP}]
@@ -43,13 +43,15 @@ python_test() {
# https://github.com/gawel/pyquery/issues/248
tests/test_pyquery.py::TestXMLNamespace::test_selector_html
)
- if [[ ${EPYTHON} == python3.12 ]]; then
- EPYTEST_DESELECT+=(
- # doctest failing because of changed repr()
- # https://github.com/gawel/pyquery/issues/249
- pyquery/pyquery.py::pyquery.pyquery.PyQuery.serialize_dict
- )
- fi
+ case ${EPYTHON} in
+ python3.1[23])
+ EPYTEST_DESELECT+=(
+ # doctest failing because of changed repr()
+ # https://github.com/gawel/pyquery/issues/249
+ pyquery/pyquery.py::pyquery.pyquery.PyQuery.serialize_dict
+ )
+ ;;
+ esac
epytest
}
diff --git a/dev-python/pyrate-limiter/Manifest b/dev-python/pyrate-limiter/Manifest
index 224a8f4aae48..55c15d3fb6d2 100644
--- a/dev-python/pyrate-limiter/Manifest
+++ b/dev-python/pyrate-limiter/Manifest
@@ -1,3 +1,3 @@
DIST pyrate-limiter-2.10.0.gh.tar.gz 71838 BLAKE2B 3b8fd16684268870991c3a731c5497802c6f7be51e57bc983a14a7484fad2d0983613304fa061fdb70a3e6645d17fe37fbd68e9ddeca57bc7bd97fef4a5d8585 SHA512 b0090b2d80d40ba2f86ac7b5c5612a35fa885b52a87d783aa9726782275e79ca8d54a9a44b1f0dd43c98bf2355f4c17e1686d7c7f806934ea492b67f66b06ffe
-DIST pyrate_limiter-3.0.1.tar.gz 276145 BLAKE2B f7e861b4abb7269e38a7c4c75d6131c453ee0a8dc8fc48686571d22f87d3c95b0e7d3d1bf99c22966276a9949d60abc4edceadad3db93bf247947c4067dbf6a1 SHA512 4f0656e2f8d38319e58b36c4301860a7c326a2daac85d170dc951a14813dc6f0c7a4995b8bf12a354da6d9e192fdf80fa8d8ee4f77e429e8cfc6f5366a8e415c
-DIST pyrate_limiter-3.1.0.tar.gz 276659 BLAKE2B 2858b2cbb4805f139ae1a26171e6a1c235eb2d8eb93380f10ed27db16e2983b01b83e7d72d4bf5b44b69710569687e86c1194ea3e1a5ff8750e5966faf5a5b6e SHA512 601b70a380965fc108ec110842170ea73065af38a809c8d103d5061948058590c6a228327ed425e1c69ef30d2c832cb8a61508d326eb3bcd6cbb2df813fa987e
+DIST pyrate_limiter-3.6.0.tar.gz 280021 BLAKE2B 4ff5e115376cfb5d860c4cd6437ccbb323e40f96bb81a9933f6f648d029c0f3a1d6674e1a9e1c0309a7087a9d1eb670918ca60d3c960e8acab017e12ffa5c28e SHA512 1f7f92203be443c27e2825022462c51eec2e276a4e58afc129599eacde21da55ed8229b0e5c7af21e650eb896b22c73f5fd227f56c1455cbd8d506894fed73a9
+DIST pyrate_limiter-3.6.1.tar.gz 280264 BLAKE2B 042601c2f80fc855301cda8be4af2547afdfb9532a93a418201db312535a12fa30b2469024ee318a14cb51f4555522b70b6aeef96d41978eb8f8c31d046a0a73 SHA512 b57cbd40473eab549ede0045451d1178dccfcac73f328bf4fe8106172602b52bafe612e2fa2df09f9fe99bdf68c3c7447e8d4f749ba260f3b29656100718c02b
diff --git a/dev-python/pyrate-limiter/pyrate-limiter-3.0.1.ebuild b/dev-python/pyrate-limiter/pyrate-limiter-3.0.1.ebuild
deleted file mode 100644
index 47947453dc89..000000000000
--- a/dev-python/pyrate-limiter/pyrate-limiter-3.0.1.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="Python Rate-Limiter using Leaky-Bucket Algorimth Family"
-HOMEPAGE="
- https://github.com/vutran1710/PyrateLimiter/
- https://pypi.org/project/pyrate-limiter/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/filelock[${PYTHON_USEDEP}]
- dev-python/redis[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # Optional dependency redis-py-cluster not packaged
- "tests/test_02.py::test_redis_cluster"
- # Python 3.11 is slightly faster, leading to a non-critical failure here
- "tests/test_concurrency.py::test_concurrency[ProcessPoolExecutor-SQLiteBucket]"
-)
-
-# TODO: package sphinx-copybutton
-# distutils_enable_sphinx docs \
-# dev-python/sphinx-autodoc-typehints \
-# dev-python/furo \
-# dev-python/myst-parser \
-# dev-python/sphinxcontrib-apidoc
-distutils_enable_tests pytest
-
-src_test() {
- local redis_pid="${T}"/redis.pid
- local redis_port=6379
-
- # Spawn Redis itself for testing purposes
- einfo "Spawning Redis"
- einfo "NOTE: Port ${redis_port} must be free"
- "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
- daemonize yes
- pidfile ${redis_pid}
- port ${redis_port}
- bind 127.0.0.1 ::1
- ${extra_conf}
- EOF
-
- # Run the tests
- distutils-r1_src_test
-
- # Clean up afterwards
- kill "$(<"${redis_pid}")" || die
-}
-
-python_test() {
- epytest -n "$(makeopts_jobs)" --dist=worksteal
-}
diff --git a/dev-python/pyrate-limiter/pyrate-limiter-3.1.0.ebuild b/dev-python/pyrate-limiter/pyrate-limiter-3.1.0.ebuild
deleted file mode 100644
index 2bfd9a737bdd..000000000000
--- a/dev-python/pyrate-limiter/pyrate-limiter-3.1.0.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python Rate-Limiter using Leaky-Bucket Algorimth Family"
-HOMEPAGE="
- https://github.com/vutran1710/PyrateLimiter/
- https://pypi.org/project/pyrate-limiter/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/filelock[${PYTHON_USEDEP}]
- dev-python/redis[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # Optional dependency redis-py-cluster not packaged
- "tests/test_02.py::test_redis_cluster"
- # Python 3.11 is slightly faster, leading to a non-critical failure here
- "tests/test_concurrency.py::test_concurrency[ProcessPoolExecutor-SQLiteBucket]"
-)
-EPYTEST_XDIST=1
-
-# TODO: package sphinx-copybutton
-# distutils_enable_sphinx docs \
-# dev-python/sphinx-autodoc-typehints \
-# dev-python/furo \
-# dev-python/myst-parser \
-# dev-python/sphinxcontrib-apidoc
-distutils_enable_tests pytest
-
-src_test() {
- local redis_pid="${T}"/redis.pid
- local redis_port=6379
-
- # Spawn Redis itself for testing purposes
- einfo "Spawning Redis"
- einfo "NOTE: Port ${redis_port} must be free"
- "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
- daemonize yes
- pidfile ${redis_pid}
- port ${redis_port}
- bind 127.0.0.1 ::1
- ${extra_conf}
- EOF
-
- # Run the tests
- distutils-r1_src_test
-
- # Clean up afterwards
- kill "$(<"${redis_pid}")" || die
-}
diff --git a/dev-python/pyrate-limiter/pyrate-limiter-3.6.0.ebuild b/dev-python/pyrate-limiter/pyrate-limiter-3.6.0.ebuild
new file mode 100644
index 000000000000..276657b6cf9d
--- /dev/null
+++ b/dev-python/pyrate-limiter/pyrate-limiter-3.6.0.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python Rate-Limiter using Leaky-Bucket Algorimth Family"
+HOMEPAGE="
+ https://github.com/vutran1710/PyrateLimiter/
+ https://pypi.org/project/pyrate-limiter/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # Optional dependency redis-py-cluster not packaged
+ "tests/test_02.py::test_redis_cluster"
+)
+EPYTEST_XDIST=1
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-autodoc-typehints \
+ dev-python/sphinx-copybutton \
+ dev-python/furo \
+ dev-python/myst-parser \
+ dev-python/sphinxcontrib-apidoc
+distutils_enable_tests pytest
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ # Spawn Redis itself for testing purposes
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1 ::1
+ ${extra_conf}
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # postgres tests require psycopg-pool
+ epytest -p asyncio -p rerunfailures --reruns=5 -k "not postgres"
+}
diff --git a/dev-python/pyrate-limiter/pyrate-limiter-3.6.1.ebuild b/dev-python/pyrate-limiter/pyrate-limiter-3.6.1.ebuild
new file mode 100644
index 000000000000..276657b6cf9d
--- /dev/null
+++ b/dev-python/pyrate-limiter/pyrate-limiter-3.6.1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python Rate-Limiter using Leaky-Bucket Algorimth Family"
+HOMEPAGE="
+ https://github.com/vutran1710/PyrateLimiter/
+ https://pypi.org/project/pyrate-limiter/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # Optional dependency redis-py-cluster not packaged
+ "tests/test_02.py::test_redis_cluster"
+)
+EPYTEST_XDIST=1
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-autodoc-typehints \
+ dev-python/sphinx-copybutton \
+ dev-python/furo \
+ dev-python/myst-parser \
+ dev-python/sphinxcontrib-apidoc
+distutils_enable_tests pytest
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ # Spawn Redis itself for testing purposes
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1 ::1
+ ${extra_conf}
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # postgres tests require psycopg-pool
+ epytest -p asyncio -p rerunfailures --reruns=5 -k "not postgres"
+}
diff --git a/dev-python/pyrfc3339/pyrfc3339-1.1-r1.ebuild b/dev-python/pyrfc3339/pyrfc3339-1.1-r1.ebuild
index 6b7715805eeb..651bcc8a9c30 100644
--- a/dev-python/pyrfc3339/pyrfc3339-1.1-r1.ebuild
+++ b/dev-python/pyrfc3339/pyrfc3339-1.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pyroute2/Manifest b/dev-python/pyroute2/Manifest
index 2ebcc8515143..135485b7b0a7 100644
--- a/dev-python/pyroute2/Manifest
+++ b/dev-python/pyroute2/Manifest
@@ -1 +1 @@
-DIST pyroute2-0.7.9.tar.gz 418877 BLAKE2B 0585af297a58d53ba8698f706e50860eba39ab3334e5d2de9b94d15485399f4429da234e0bc22695097fb90782d482283da304af9bd471749039741cde294734 SHA512 23fea1206a1b6345d05e338449414f3757021ec5cc739aed16cc390e48c62f42f6246838942dc1e3015462aba2ac8051936aad4ce6e76d57ff956046396ecd91
+DIST pyroute2-0.7.12.tar.gz 423519 BLAKE2B 75dbb9348bc6e6cf67ca6e79bd4bb0e93c77502935f9df855317cf22335c15fa0a19c40855cb4d89201f6e83fb4def9a44ade19e099c6a9c1d4233c0269224d6 SHA512 928e7f45569d43c1849d9c8d5972b38343ed8dd79137d6bfc757557d3bde23526af6baea61acc720b7e2d5d26731066b93f180138a6227b7d76d094e04111df7
diff --git a/dev-python/pyroute2/pyroute2-0.7.12-r1.ebuild b/dev-python/pyroute2/pyroute2-0.7.12-r1.ebuild
new file mode 100644
index 000000000000..c0c4de9a1d2f
--- /dev/null
+++ b/dev-python/pyroute2/pyroute2-0.7.12-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A pure Python netlink and Linux network configuration library"
+HOMEPAGE="
+ https://github.com/svinota/pyroute2/
+ https://pypi.org/project/pyroute2/
+"
+
+LICENSE="|| ( GPL-2+ Apache-2.0 )"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+# tests need root access
+RESTRICT="test"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/pyroute2/pyroute2-0.7.9.ebuild b/dev-python/pyroute2/pyroute2-0.7.9.ebuild
deleted file mode 100644
index 2e7b56ef6b06..000000000000
--- a/dev-python/pyroute2/pyroute2-0.7.9.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-PYTHON_REQ_USE="sqlite"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A pure Python netlink and Linux network configuration library"
-HOMEPAGE="
- https://github.com/svinota/pyroute2
- https://pypi.org/project/pyroute2/
-"
-
-LICENSE="|| ( GPL-2+ Apache-2.0 )"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-# tests need root access
-RESTRICT="test"
-
-RDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/pyrqlite/Manifest b/dev-python/pyrqlite/Manifest
index 1b6351e58399..fe7ae7e95276 100644
--- a/dev-python/pyrqlite/Manifest
+++ b/dev-python/pyrqlite/Manifest
@@ -1 +1,2 @@
-DIST pyrqlite-2.2.0.gh.tar.gz 19766 BLAKE2B ba71638d2e94a9210d778884d96f32121ee19ac481b7f0bf8f750350fe03cf34857fcd5bd618c29965aa26b8c2e8371909e6ef75d9471e222e4003912977adec SHA512 b5374cd95c116ed4555ed84aaa13c6cfb913d80e416ecdbd014cf21d79c593e197dafdf1b34d7cd26bb7d0076a6fe2aaef5cad803c6430a908cb2f994881c71f
+DIST pyrqlite-2.2.2.gh.tar.gz 21302 BLAKE2B 8a16155287f4a4698ca63d4643c9fde0dbf4fc8238b4259f194b66a30846bab9b6420df0cc8049b2ea16d8ffdcd8c99f2b7e49a135af458e2b239b52e3ac4f5b SHA512 6faf6d5b1a264a85247ee5a790bc4e718d0632ee4d4bcd16aed2bce65216f23c0cb44d7c367ae73874bdb618d9c56bbefdaeebb40322f228e0ee50d78e03b91b
+DIST pyrqlite-2.2.3.gh.tar.gz 21554 BLAKE2B 1a3c09eaee20a19ab06a4f91a5b12659eafe425f796599ef9abf85f99563a62b40f1f82488611e0bbd1fb18853e2b1e310ecd7f94cb89f5840e34c51a4bd42ef SHA512 063a9072846c31fd34ea5261fe97f1023a95122c39c58292c7ab08ba148e01ab5001adda28c2856f0e29b67be553a8bae011d274edfdd3028aacd22179d309d7
diff --git a/dev-python/pyrqlite/pyrqlite-2.2.0.ebuild b/dev-python/pyrqlite/pyrqlite-2.2.0.ebuild
deleted file mode 100644
index 1c6bee30c4d1..000000000000
--- a/dev-python/pyrqlite/pyrqlite-2.2.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
-
-DESCRIPTION="Python client for rqlite"
-HOMEPAGE="
- https://github.com/rqlite/pyrqlite/
- https://pypi.org/project/pyrqlite/
-"
-SRC_URI="
- https://github.com/rqlite/pyrqlite/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="
- test? (
- >=dev-db/rqlite-6.7.0
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyrqlite/pyrqlite-2.2.2.ebuild b/dev-python/pyrqlite/pyrqlite-2.2.2.ebuild
new file mode 100644
index 000000000000..ec12bed1b7aa
--- /dev/null
+++ b/dev-python/pyrqlite/pyrqlite-2.2.2.ebuild
@@ -0,0 +1,30 @@
+# 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..13} )
+inherit distutils-r1
+
+DESCRIPTION="Python client for rqlite"
+HOMEPAGE="
+ https://github.com/rqlite/pyrqlite/
+ https://pypi.org/project/pyrqlite/
+"
+SRC_URI="
+ https://github.com/rqlite/pyrqlite/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ test? (
+ >=dev-db/rqlite-6.7.0
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyrqlite/pyrqlite-2.2.3.ebuild b/dev-python/pyrqlite/pyrqlite-2.2.3.ebuild
new file mode 100644
index 000000000000..ec12bed1b7aa
--- /dev/null
+++ b/dev-python/pyrqlite/pyrqlite-2.2.3.ebuild
@@ -0,0 +1,30 @@
+# 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..13} )
+inherit distutils-r1
+
+DESCRIPTION="Python client for rqlite"
+HOMEPAGE="
+ https://github.com/rqlite/pyrqlite/
+ https://pypi.org/project/pyrqlite/
+"
+SRC_URI="
+ https://github.com/rqlite/pyrqlite/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ test? (
+ >=dev-db/rqlite-6.7.0
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyrsistent/pyrsistent-0.20.0.ebuild b/dev-python/pyrsistent/pyrsistent-0.20.0.ebuild
index 27f0728ff641..f6a1e1fe8468 100644
--- a/dev-python/pyrsistent/pyrsistent-0.20.0.ebuild
+++ b/dev-python/pyrsistent/pyrsistent-0.20.0.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
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/pyscard/Manifest b/dev-python/pyscard/Manifest
index 5d250a934bb2..1439bcd9e2aa 100644
--- a/dev-python/pyscard/Manifest
+++ b/dev-python/pyscard/Manifest
@@ -1 +1 @@
-DIST pyscard-2.0.7.tar.gz 152304 BLAKE2B 8be34283b85b830597f051fedcdbe4437b81ad6ecf9dc0304e5bbb74f9af4fec36acc8d843802d59a204d75a4792f74827b5f422a9452cb0d84fe0ed51e4c2b3 SHA512 d30a2d0fe9b410f277a4a1e45ae88a30eb3aa7ef6cac683a80d2bb3cfe38aeafe6a483dfd42c50017c46ee0d26da13f7226e25e783176587eafce1988127bb67
+DIST pyscard-2.0.10.tar.gz 153351 BLAKE2B fb600032321ac0bd372c7aa8fcdd82273af9edcfb51eb5d455296a2a685a291e442209d5c59d60b81cdd8cb3b0699f733e41528fe06ed827558146ba4085c97d SHA512 231d5abc0ad31ae7f0e394f928045346323f1040b313394a3d235282feb79bfec0d124ebde84017178dfa1983beadfb245a33bfa6a75b4fab9e65c3090b9e9cb
diff --git a/dev-python/pyscard/pyscard-2.0.10.ebuild b/dev-python/pyscard/pyscard-2.0.10.ebuild
new file mode 100644
index 000000000000..6c140610329e
--- /dev/null
+++ b/dev-python/pyscard/pyscard-2.0.10.ebuild
@@ -0,0 +1,46 @@
+# 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..13} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Smart card support in python"
+HOMEPAGE="
+ https://pyscard.sourceforge.io/
+ https://github.com/LudovicRousseau/pyscard/
+ https://pypi.org/project/pyscard/
+"
+SRC_URI="
+ https://downloads.sourceforge.net/project/pyscard/pyscard/pyscard%20${PV}/${P}.tar.gz
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+
+DEPEND="
+ sys-apps/pcsc-lite
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-lang/swig
+"
+
+distutils_enable_tests unittest
+
+pkg_postinst() {
+ optfeature "Gui support" dev-python/wxpython
+ optfeature "Support of remote readers with Pyro" dev-python/Pyro4
+}
+
+python_test() {
+ cd test || die
+ eunittest
+}
diff --git a/dev-python/pyscard/pyscard-2.0.7.ebuild b/dev-python/pyscard/pyscard-2.0.7.ebuild
deleted file mode 100644
index 26d8d241df8f..000000000000
--- a/dev-python/pyscard/pyscard-2.0.7.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Smart card support in python"
-HOMEPAGE="
- https://pyscard.sourceforge.io/
- https://github.com/LudovicRousseau/pyscard/
- https://pypi.org/project/pyscard/
-"
-SRC_URI="
- https://downloads.sourceforge.net/project/pyscard/pyscard/pyscard%20${PV}/${P}.tar.gz
-"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-
-DEPEND="
- sys-apps/pcsc-lite
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-lang/swig
-"
-
-distutils_enable_tests unittest
-
-pkg_postinst() {
- optfeature "Gui support" dev-python/wxpython
- optfeature "Support of remote readers with Pyro" dev-python/Pyro4
-}
-
-python_test() {
- cd test || die
- eunittest
-}
diff --git a/dev-python/pyscreenshot/pyscreenshot-3.1.ebuild b/dev-python/pyscreenshot/pyscreenshot-3.1.ebuild
index 73d35266c985..62d62de0e488 100644
--- a/dev-python/pyscreenshot/pyscreenshot-3.1.ebuild
+++ b/dev-python/pyscreenshot/pyscreenshot-3.1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 virtualx
diff --git a/dev-python/pyserial/files/pyserial-3.5-unittest-fix.patch b/dev-python/pyserial/files/pyserial-3.5-unittest-fix.patch
new file mode 100644
index 000000000000..1576cedcf00c
--- /dev/null
+++ b/dev-python/pyserial/files/pyserial-3.5-unittest-fix.patch
@@ -0,0 +1,28 @@
+From 239f840076bf9da76906dc029f26a423fef4a698 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@atlas.cz>
+Date: Fri, 7 Jun 2024 16:45:15 +0200
+Subject: [PATCH] Replace deprecated unittest.findTestCases function
+
+The unittest.findTestCases function was deprecated in Python 3.11 and
+later removed in Python 3.13. The TestLoader methods should be used
+instead [1].
+
+[1] https://docs.python.org/3.13/whatsnew/3.13.html#unittest
+
+Upstream-Issue: https://github.com/pyserial/pyserial/issues/754
+Upstream-PR: https://github.com/pyserial/pyserial/issues/757
+
+diff --git a/test/run_all_tests.py b/test/run_all_tests.py
+index e0797e7e..f09fe9bb 100644
+--- a/test/run_all_tests.py
++++ b/test/run_all_tests.py
+@@ -37,7 +37,8 @@
+ print("skipping {}".format(modulename))
+ else:
+ module.PORT = PORT
+- testsuite = unittest.findTestCases(module)
++ loader = unittest.TestLoader()
++ testsuite = loader.loadTestsFromModule(module)
+ print("found {} tests in {!r}".format(testsuite.countTestCases(), modulename))
+ mainsuite.addTest(testsuite)
+
diff --git a/dev-python/pyserial/pyserial-3.5-r2.ebuild b/dev-python/pyserial/pyserial-3.5-r2.ebuild
index a8e14ce8e27f..76c7aed077f9 100644
--- a/dev-python/pyserial/pyserial-3.5-r2.ebuild
+++ b/dev-python/pyserial/pyserial-3.5-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -21,6 +21,10 @@ IUSE="examples"
DOCS=( CHANGES.rst README.rst )
+PATCHES=(
+ "${FILESDIR}/${P}-unittest-fix.patch"
+)
+
distutils_enable_sphinx documentation --no-autodoc
python_test() {
diff --git a/dev-python/pyside2-tools/Manifest b/dev-python/pyside2-tools/Manifest
index d7602001a4a7..b5879c1589f0 100644
--- a/dev-python/pyside2-tools/Manifest
+++ b/dev-python/pyside2-tools/Manifest
@@ -1 +1 @@
-DIST pyside-setup-opensource-src-5.15.11.tar.xz 3584760 BLAKE2B c4d60439a218451eb0c505031524fe1e30a117b7e89a28b5cd7518c193a8d2de01a5db8cb3acdd97c81da6dddff99f786c6c763427f78cdd0af4031122ac2d24 SHA512 377b3f6a793313cf7f5bea0dcef6630bac32d79b247e213d0b1b719805b35692aa8dd9a8896c75c6266f05af38809f574051d64b1a2f958a48c90167feccfb91
+DIST pyside-setup-opensource-src-5.15.14.tar.xz 3586520 BLAKE2B ef103cf3116af2c1378018d44abf3766fed6ba545d0e5f3ea6f720047a884edc1eac2dbfce4ddd806472f2ac6355166fd0cef5427f1f85e73306544306adf003 SHA512 c6ca15cc3a3051c00519d9ccb64d48977f8e5587938f97205fe96511ec7bca1a67308325bc1d61712475514c2a1b351fbac2c84f5cee923f55eb91869f49acd5
diff --git a/dev-python/pyside2-tools/pyside2-tools-5.15.11-r1.ebuild b/dev-python/pyside2-tools/pyside2-tools-5.15.11-r1.ebuild
deleted file mode 100644
index 57b8539973ff..000000000000
--- a/dev-python/pyside2-tools/pyside2-tools-5.15.11-r1.ebuild
+++ /dev/null
@@ -1,72 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# TODO: Add PyPy once officially supported. See also:
-# https://bugreports.qt.io/browse/PYSIDE-535
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit cmake python-r1
-
-MY_P=pyside-setup-opensource-src-${PV}
-
-DESCRIPTION="PySide development tools (pyside2-lupdate with support for Python)"
-HOMEPAGE="https://wiki.qt.io/PySide2"
-SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PV}-src/${MY_P}.tar.xz"
-S="${WORKDIR}/${MY_P}/sources/${PN}"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- ~dev-python/pyside2-${PV}[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-
-# the tools conflict with tools from QT
-PATCHES=(
- "${FILESDIR}/${PN}-5.15.11-no-copy-uic.patch"
-)
-
-src_prepare() {
- cmake_src_prepare
-
- python_copy_sources
-}
-
-src_configure() {
- pyside-tools_configure() {
- local mycmakeargs=(
- -DBUILD_TESTS=OFF
- -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
- )
- cmake_src_configure
- }
-
- python_foreach_impl pyside-tools_configure
-}
-
-src_compile() {
- pyside-tools_compile() {
- cmake_src_compile
- }
-
- python_foreach_impl pyside-tools_compile
-}
-
-src_install() {
- pyside-tools_install() {
- # This replicates the contents of the PySide6 pypi wheel
- DESTDIR="${BUILD_DIR}" cmake_build install
- dobin "${BUILD_DIR}/usr/bin/pyside2-lupdate"
- python_moduleinto PySide2/scripts
- python_domodule "${BUILD_DIR}/usr/bin/pyside_tool.py"
- }
-
- python_foreach_impl pyside-tools_install
-
- einstalldocs
-}
diff --git a/dev-python/pyside2-tools/pyside2-tools-5.15.14.ebuild b/dev-python/pyside2-tools/pyside2-tools-5.15.14.ebuild
new file mode 100644
index 000000000000..30d183182221
--- /dev/null
+++ b/dev-python/pyside2-tools/pyside2-tools-5.15.14.ebuild
@@ -0,0 +1,84 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{10..11} )
+
+LLVM_COMPAT=( 15 )
+
+inherit cmake llvm-r1 python-r1
+
+MY_P=pyside-setup-opensource-src-${PV}
+
+DESCRIPTION="PySide development tools (pyside2-lupdate with support for Python)"
+HOMEPAGE="https://wiki.qt.io/PySide2"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PV}-src/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}/sources/${PN}"
+
+LICENSE="GPL-2"
+SLOT="5/${PV}"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Minimal supported version of Qt.
+QT_PV="$(ver_cut 1-3)*:5"
+
+RDEPEND="${PYTHON_DEPS}
+ =dev-python/shiboken2-${QT_PV}[${PYTHON_USEDEP},${LLVM_USEDEP}]
+ =dev-python/pyside2-${QT_PV}[${PYTHON_USEDEP},${LLVM_USEDEP}]
+ !dev-python/pyside2-tools:0
+"
+DEPEND="${RDEPEND}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/llvm:${LLVM_SLOT}
+ ')
+"
+
+# the tools conflict with tools from QT
+PATCHES=(
+ "${FILESDIR}/${PN}-5.15.11-no-copy-uic.patch"
+)
+
+src_prepare() {
+ cmake_src_prepare
+
+ python_copy_sources
+}
+
+src_configure() {
+ pyside-tools_configure() {
+ local mycmakeargs=(
+ -DBUILD_TESTS=OFF
+ -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
+ )
+ cmake_src_configure
+ }
+
+ python_foreach_impl pyside-tools_configure
+}
+
+src_compile() {
+ pyside-tools_compile() {
+ cmake_src_compile
+ }
+
+ python_foreach_impl pyside-tools_compile
+}
+
+src_install() {
+ pyside-tools_install() {
+ # This replicates the contents of the PySide6 pypi wheel
+ DESTDIR="${BUILD_DIR}" cmake_build install
+ dobin "${BUILD_DIR}/usr/bin/pyside2-lupdate"
+ python_moduleinto PySide2/scripts
+ python_domodule "${BUILD_DIR}/usr/bin/pyside_tool.py"
+ }
+
+ python_foreach_impl pyside-tools_install
+
+ einstalldocs
+}
diff --git a/dev-python/pyside2/Manifest b/dev-python/pyside2/Manifest
index d7602001a4a7..b5879c1589f0 100644
--- a/dev-python/pyside2/Manifest
+++ b/dev-python/pyside2/Manifest
@@ -1 +1 @@
-DIST pyside-setup-opensource-src-5.15.11.tar.xz 3584760 BLAKE2B c4d60439a218451eb0c505031524fe1e30a117b7e89a28b5cd7518c193a8d2de01a5db8cb3acdd97c81da6dddff99f786c6c763427f78cdd0af4031122ac2d24 SHA512 377b3f6a793313cf7f5bea0dcef6630bac32d79b247e213d0b1b719805b35692aa8dd9a8896c75c6266f05af38809f574051d64b1a2f958a48c90167feccfb91
+DIST pyside-setup-opensource-src-5.15.14.tar.xz 3586520 BLAKE2B ef103cf3116af2c1378018d44abf3766fed6ba545d0e5f3ea6f720047a884edc1eac2dbfce4ddd806472f2ac6355166fd0cef5427f1f85e73306544306adf003 SHA512 c6ca15cc3a3051c00519d9ccb64d48977f8e5587938f97205fe96511ec7bca1a67308325bc1d61712475514c2a1b351fbac2c84f5cee923f55eb91869f49acd5
diff --git a/dev-python/pyside2/pyside2-5.15.11-r1.ebuild b/dev-python/pyside2/pyside2-5.15.11-r1.ebuild
deleted file mode 100644
index 5ef575602cfe..000000000000
--- a/dev-python/pyside2/pyside2-5.15.11-r1.ebuild
+++ /dev/null
@@ -1,222 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# TODO: Add PyPy once officially supported. See also:
-# https://bugreports.qt.io/browse/PYSIDE-535
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit cmake python-r1 virtualx
-
-# TODO: Add conditional support for "QtRemoteObjects" via a new "remoteobjects"
-# USE flag after an external "dev-qt/qtremoteobjects" package has been created.
-# TODO: Add conditional support for apidoc generation via a new "doc" USE flag.
-# Note that doing so requires the Qt source tree, sphinx, and graphviz. Once
-# ready, pass the ${QT_SRC_DIR} variable to cmake to enable this support.
-# TODO: Disable GLES support if the "gles2-only" USE flag is disabled. Note
-# that the "PySide2/QtGui/CMakeLists.txt" and
-# "PySide2/QtOpenGLFunctions/CMakeLists.txt" files test for GLES support by
-# testing whether the "Qt5::Gui" list property defined by
-# "/usr/lib64/cmake/Qt5Gui/Qt5GuiConfig.cmake" at "dev-qt/qtgui" installation
-# time contains the substring "opengles2". Since cmake does not permit
-# properties to be overridden from the command line, these files must instead
-# be conditionally patched to avoid these tests. An issue should be filed with
-# upstream requesting a CLI-settable variable to control this.
-
-MY_P=pyside-setup-opensource-src-${PV}
-
-DESCRIPTION="Python bindings for the Qt framework"
-HOMEPAGE="https://wiki.qt.io/PySide2"
-SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PV}-src/${MY_P}.tar.xz"
-S="${WORKDIR}/${MY_P}/sources/pyside2"
-
-# See "sources/pyside2/PySide2/licensecomment.txt" for licensing details.
-# Shall we allow essential modules to be disabled? They are:
-# (core), gui, widgets, printsupport, sql, network, testlib, concurrent,
-# x11extras (for X)
-LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 )"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-IUSE="
- 3d charts +concurrent datavis designer gles2-only +gui help location
- multimedia +network positioning +printsupport qml quick
- scxml sensors speech +sql svg test +testlib webchannel webengine websockets
- +widgets +x11extras xml xmlpatterns
-"
-
-# Manually reextract these requirements on version bumps by running the
-# following one-liners from within "${S}":
-# $ grep 'set.*_deps' PySide2/Qt*/CMakeLists.txt
-# $ cat /lib64/cmake/Qt5*/Qt5*.cmake | grep -i DEPENDENCIES
-# Note that the "designer" USE flag corresponds to the "Qt5UiTools" module.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- 3d? ( gui network )
- charts? ( gui widgets )
- datavis? ( gui )
- designer? ( gui widgets xml )
- gles2-only? ( gui )
- help? ( gui sql widgets )
- location? ( gui network positioning quick )
- multimedia? ( gui network widgets )
- printsupport? ( gui widgets )
- qml? ( gui network )
- quick? ( gui network qml widgets network )
- speech? ( multimedia )
- sql? ( widgets )
- svg? ( widgets )
- testlib? ( widgets )
- webchannel? ( qml )
- webengine? (
- gui network positioning quick qml
- widgets? ( printsupport network webchannel )
- )
- websockets? ( network )
- widgets? ( gui )
- x11extras? ( gui )
-"
-
-# Tests fail pretty bad and I'm not fixing them right now
-RESTRICT="test"
-
-# Minimal supported version of Qt.
-QT_PV="$(ver_cut 1-3)*:5"
-
-RDEPEND="${PYTHON_DEPS}
- ~dev-python/shiboken2-${PV}[${PYTHON_USEDEP}]
- =dev-qt/qtcore-${QT_PV}
- =dev-qt/qtopengl-${QT_PV}[gles2-only=]
- =dev-qt/qtserialport-${QT_PV}
- 3d? ( =dev-qt/qt3d-${QT_PV}[qml?,gles2-only=] )
- charts? ( =dev-qt/qtcharts-${QT_PV}[qml?] )
- concurrent? ( =dev-qt/qtconcurrent-${QT_PV} )
- datavis? ( =dev-qt/qtdatavis3d-${QT_PV}[qml?,gles2-only=] )
- designer? ( =dev-qt/designer-${QT_PV} )
- gui? ( =dev-qt/qtgui-${QT_PV}[jpeg,gles2-only=] )
- help? ( =dev-qt/qthelp-${QT_PV} )
- location? ( =dev-qt/qtlocation-${QT_PV} )
- multimedia? ( =dev-qt/qtmultimedia-${QT_PV}[qml?,gles2-only=,widgets?] )
- network? ( =dev-qt/qtnetwork-${QT_PV} )
- positioning? ( =dev-qt/qtpositioning-${QT_PV}[qml?] )
- printsupport? ( =dev-qt/qtprintsupport-${QT_PV}[gles2-only=] )
- qml? ( =dev-qt/qtdeclarative-${QT_PV}[widgets?] )
- quick? (
- =dev-qt/qtdeclarative-${QT_PV}[widgets?]
- =dev-qt/qtquickcontrols2-${QT_PV}[widgets?]
- )
- scxml? ( =dev-qt/qtscxml-${QT_PV} )
- sensors? ( =dev-qt/qtsensors-${QT_PV}[qml?] )
- speech? ( =dev-qt/qtspeech-${QT_PV} )
- sql? ( =dev-qt/qtsql-${QT_PV} )
- svg? ( =dev-qt/qtsvg-${QT_PV} )
- testlib? ( =dev-qt/qttest-${QT_PV} )
- webchannel? ( =dev-qt/qtwebchannel-${QT_PV}[qml] )
- webengine? ( || (
- =dev-qt/qtwebengine-${QT_PV}[alsa,widgets?]
- =dev-qt/qtwebengine-${QT_PV}[pulseaudio,widgets?]
- )
- )
- websockets? ( =dev-qt/qtwebsockets-${QT_PV}[qml?] )
- widgets? ( =dev-qt/qtwidgets-${QT_PV}[gles2-only=] )
- x11extras? ( =dev-qt/qtx11extras-${QT_PV} )
- xml? ( =dev-qt/qtxml-${QT_PV} )
- xmlpatterns? ( =dev-qt/qtxmlpatterns-${QT_PV}[qml?] )
-"
-DEPEND="${RDEPEND}
- test? ( x11-misc/xvfb-run )
-"
-
-src_configure() {
- # See COLLECT_MODULE_IF_FOUND macros in CMakeLists.txt
- local mycmakeargs=(
- -DBUILD_TESTS=$(usex test)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DAnimation=$(usex !3d)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DCore=$(usex !3d)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DExtras=$(usex !3d)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DInput=$(usex !3d)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DLogic=$(usex !3d)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DRender=$(usex !3d)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Charts=$(usex !charts)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Concurrent=$(usex !concurrent)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5DataVisualization=$(usex !datavis)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Designer=$(usex !designer)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Gui=$(usex !gui)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Help=$(usex !help)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Location=$(usex !location)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Multimedia=$(usex !multimedia)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5MultimediaWidgets=$(usex !multimedia yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Network=$(usex !network)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Positioning=$(usex !positioning)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5PrintSupport=$(usex !printsupport)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Qml=$(usex !qml)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Quick=$(usex !quick)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5QuickControls2=$(usex !quick)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5QuickWidgets=$(usex !quick yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Script=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5ScriptTools=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Scxml=$(usex !scxml)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Sensors=$(usex !sensors)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5TextToSpeech=$(usex !speech)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Sql=$(usex !sql)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Svg=$(usex !svg)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Test=$(usex !testlib)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5UiTools=$(usex !designer)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebChannel=$(usex !webchannel)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngine=$(usex !webengine)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngineCore=$(usex !webengine)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngineWidgets=$(usex !webengine yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebSockets=$(usex !websockets)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Widgets=$(usex !widgets)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5X11Extras=$(usex !x11extras)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Xml=$(usex !xml)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt5XmlPatterns=$(usex !xmlpatterns)
- )
-
- pyside2_configure() {
- local mycmakeargs=(
- "${mycmakeargs[@]}"
- -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
- -DPYTHON_EXECUTABLE="${PYTHON}"
- -DPYTHON_SITE_PACKAGES="$(python_get_sitedir)"
- -DSHIBOKEN_PYTHON_SHARED_LIBRARY_SUFFIX="-${EPYTHON}"
- )
- cmake_src_configure
- }
- python_foreach_impl pyside2_configure
-}
-
-src_compile() {
- python_foreach_impl cmake_src_compile
-}
-
-src_test() {
- local -x PYTHONDONTWRITEBYTECODE
- python_foreach_impl virtx cmake_src_test
-}
-
-src_install() {
- pyside2_install() {
- cmake_src_install
- python_optimize
-
- # Uniquify the shiboken2 pkgconfig dependency in the PySide2 pkgconfig
- # file for the current Python target. See also:
- # https://github.com/leycec/raiagent/issues/73
- sed -i -e 's~^Requires: shiboken2$~&-'${EPYTHON}'~' \
- "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}.pc || die
-
- # Uniquify the PySide2 pkgconfig file for the current Python target,
- # preserving an unversioned "pyside2.pc" file arbitrarily associated
- # with the last Python target. (See the previously linked issue.)
- cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
- }
- python_foreach_impl pyside2_install
-
- # CMakeLists.txt installs a "PySide2Targets-gentoo.cmake" file forcing
- # downstream consumers (e.g., pyside2-tools) to target one
- # "libpyside2-*.so" library linked to one Python interpreter. See also:
- # https://bugreports.qt.io/browse/PYSIDE-1053
- # https://github.com/leycec/raiagent/issues/74
- sed -i -e 's~pyside2-python[[:digit:]]\+\.[[:digit:]]\+~pyside2${PYTHON_CONFIG_SUFFIX}~g' \
- "${ED}/usr/$(get_libdir)"/cmake/PySide2*/PySide2Targets-${CMAKE_BUILD_TYPE,,}.cmake || die
-}
diff --git a/dev-python/pyside2/pyside2-5.15.14.ebuild b/dev-python/pyside2/pyside2-5.15.14.ebuild
new file mode 100644
index 000000000000..81fdf09251fe
--- /dev/null
+++ b/dev-python/pyside2/pyside2-5.15.14.ebuild
@@ -0,0 +1,229 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{10..11} )
+
+LLVM_COMPAT=( 15 )
+
+inherit cmake llvm-r1 python-r1 virtualx
+
+# TODO: Add conditional support for "QtRemoteObjects" via a new "remoteobjects"
+# USE flag after an external "dev-qt/qtremoteobjects" package has been created.
+# TODO: Add conditional support for apidoc generation via a new "doc" USE flag.
+# Note that doing so requires the Qt source tree, sphinx, and graphviz. Once
+# ready, pass the ${QT_SRC_DIR} variable to cmake to enable this support.
+# TODO: Disable GLES support if the "gles2-only" USE flag is disabled. Note
+# that the "PySide2/QtGui/CMakeLists.txt" and
+# "PySide2/QtOpenGLFunctions/CMakeLists.txt" files test for GLES support by
+# testing whether the "Qt5::Gui" list property defined by
+# "/usr/lib64/cmake/Qt5Gui/Qt5GuiConfig.cmake" at "dev-qt/qtgui" installation
+# time contains the substring "opengles2". Since cmake does not permit
+# properties to be overridden from the command line, these files must instead
+# be conditionally patched to avoid these tests. An issue should be filed with
+# upstream requesting a CLI-settable variable to control this.
+
+MY_P=pyside-setup-opensource-src-${PV}
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="https://wiki.qt.io/PySide2"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PV}-src/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}/sources/pyside2"
+
+# See "sources/pyside2/PySide2/licensecomment.txt" for licensing details.
+# Shall we allow essential modules to be disabled? They are:
+# (core), gui, widgets, printsupport, sql, network, testlib, concurrent,
+# x11extras (for X)
+LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 )"
+SLOT="5/${PV}"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+IUSE="
+ 3d charts +concurrent datavis designer gles2-only +gui help location
+ multimedia +network positioning +printsupport qml quick
+ scxml sensors speech +sql svg test +testlib webchannel webengine websockets
+ +widgets +x11extras xml xmlpatterns
+"
+
+# Manually reextract these requirements on version bumps by running the
+# following one-liners from within "${S}":
+# $ grep 'set.*_deps' PySide2/Qt*/CMakeLists.txt
+# $ cat /lib64/cmake/Qt5*/Qt5*.cmake | grep -i DEPENDENCIES
+# Note that the "designer" USE flag corresponds to the "Qt5UiTools" module.
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ 3d? ( gui network )
+ charts? ( gui widgets )
+ datavis? ( gui )
+ designer? ( gui widgets xml )
+ gles2-only? ( gui )
+ help? ( gui sql widgets )
+ location? ( gui network positioning quick )
+ multimedia? ( gui network widgets )
+ printsupport? ( gui widgets )
+ qml? ( gui network )
+ quick? ( gui network qml widgets network )
+ speech? ( multimedia )
+ sql? ( widgets )
+ svg? ( widgets )
+ testlib? ( widgets )
+ webchannel? ( qml )
+ webengine? (
+ gui network positioning quick qml
+ widgets? ( printsupport network webchannel )
+ )
+ websockets? ( network )
+ widgets? ( gui )
+ x11extras? ( gui )
+"
+
+# Tests fail pretty bad and I'm not fixing them right now
+RESTRICT="test"
+
+# Minimal supported version of Qt.
+QT_PV="$(ver_cut 1-3)*:5"
+
+RDEPEND="${PYTHON_DEPS}
+ =dev-python/shiboken2-${QT_PV}[${PYTHON_USEDEP},${LLVM_USEDEP}]
+ =dev-qt/qtcore-${QT_PV}
+ =dev-qt/qtopengl-${QT_PV}[gles2-only=]
+ =dev-qt/qtserialport-${QT_PV}
+ 3d? ( =dev-qt/qt3d-${QT_PV}[qml?,gles2-only=] )
+ charts? ( =dev-qt/qtcharts-${QT_PV}[qml?] )
+ concurrent? ( =dev-qt/qtconcurrent-${QT_PV} )
+ datavis? ( =dev-qt/qtdatavis3d-${QT_PV}[qml?,gles2-only=] )
+ designer? ( =dev-qt/designer-${QT_PV} )
+ gui? ( =dev-qt/qtgui-${QT_PV}[jpeg,gles2-only=] )
+ help? ( =dev-qt/qthelp-${QT_PV} )
+ location? ( =dev-qt/qtlocation-${QT_PV} )
+ multimedia? ( =dev-qt/qtmultimedia-${QT_PV}[qml?,gles2-only=,widgets?] )
+ network? ( =dev-qt/qtnetwork-${QT_PV} )
+ positioning? ( =dev-qt/qtpositioning-${QT_PV}[qml?] )
+ printsupport? ( =dev-qt/qtprintsupport-${QT_PV}[gles2-only=] )
+ qml? ( =dev-qt/qtdeclarative-${QT_PV}[widgets?] )
+ quick? (
+ =dev-qt/qtdeclarative-${QT_PV}[widgets?]
+ =dev-qt/qtquickcontrols2-${QT_PV}[widgets?]
+ )
+ scxml? ( =dev-qt/qtscxml-${QT_PV} )
+ sensors? ( =dev-qt/qtsensors-${QT_PV}[qml?] )
+ speech? ( =dev-qt/qtspeech-${QT_PV} )
+ sql? ( =dev-qt/qtsql-${QT_PV} )
+ svg? ( =dev-qt/qtsvg-${QT_PV} )
+ testlib? ( =dev-qt/qttest-${QT_PV} )
+ webchannel? ( =dev-qt/qtwebchannel-${QT_PV}[qml] )
+ webengine? ( || (
+ =dev-qt/qtwebengine-${QT_PV}[alsa,widgets?]
+ =dev-qt/qtwebengine-${QT_PV}[pulseaudio,widgets?]
+ )
+ )
+ websockets? ( =dev-qt/qtwebsockets-${QT_PV}[qml?] )
+ widgets? ( =dev-qt/qtwidgets-${QT_PV}[gles2-only=] )
+ x11extras? ( =dev-qt/qtx11extras-${QT_PV} )
+ xml? ( =dev-qt/qtxml-${QT_PV} )
+ xmlpatterns? ( =dev-qt/qtxmlpatterns-${QT_PV}[qml?] )
+ !dev-python/pyside2:0
+"
+DEPEND="${RDEPEND}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/llvm:${LLVM_SLOT}
+ ')
+ test? ( x11-misc/xvfb-run )
+"
+
+src_configure() {
+ # See COLLECT_MODULE_IF_FOUND macros in CMakeLists.txt
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DAnimation=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DCore=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DExtras=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DInput=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DLogic=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt53DRender=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Charts=$(usex !charts)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Concurrent=$(usex !concurrent)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5DataVisualization=$(usex !datavis)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Designer=$(usex !designer)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Gui=$(usex !gui)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Help=$(usex !help)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Location=$(usex !location)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Multimedia=$(usex !multimedia)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5MultimediaWidgets=$(usex !multimedia yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Network=$(usex !network)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Positioning=$(usex !positioning)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5PrintSupport=$(usex !printsupport)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Qml=$(usex !qml)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Quick=$(usex !quick)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5QuickControls2=$(usex !quick)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5QuickWidgets=$(usex !quick yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Script=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5ScriptTools=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Scxml=$(usex !scxml)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Sensors=$(usex !sensors)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5TextToSpeech=$(usex !speech)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Sql=$(usex !sql)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Svg=$(usex !svg)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Test=$(usex !testlib)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5UiTools=$(usex !designer)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebChannel=$(usex !webchannel)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngine=$(usex !webengine)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngineCore=$(usex !webengine)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebEngineWidgets=$(usex !webengine yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5WebSockets=$(usex !websockets)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Widgets=$(usex !widgets)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5X11Extras=$(usex !x11extras)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5Xml=$(usex !xml)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt5XmlPatterns=$(usex !xmlpatterns)
+ )
+
+ pyside2_configure() {
+ local mycmakeargs=(
+ "${mycmakeargs[@]}"
+ -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DPYTHON_SITE_PACKAGES="$(python_get_sitedir)"
+ -DSHIBOKEN_PYTHON_SHARED_LIBRARY_SUFFIX="-${EPYTHON}"
+ )
+ cmake_src_configure
+ }
+ python_foreach_impl pyside2_configure
+}
+
+src_compile() {
+ python_foreach_impl cmake_src_compile
+}
+
+src_test() {
+ local -x PYTHONDONTWRITEBYTECODE
+ python_foreach_impl virtx cmake_src_test
+}
+
+src_install() {
+ pyside2_install() {
+ cmake_src_install
+ python_optimize
+
+ # Uniquify the shiboken2 pkgconfig dependency in the PySide2 pkgconfig
+ # file for the current Python target. See also:
+ # https://github.com/leycec/raiagent/issues/73
+ sed -i -e 's~^Requires: shiboken2$~&-'${EPYTHON}'~' \
+ "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}.pc || die
+
+ # Uniquify the PySide2 pkgconfig file for the current Python target,
+ # preserving an unversioned "pyside2.pc" file arbitrarily associated
+ # with the last Python target. (See the previously linked issue.)
+ cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
+ }
+ python_foreach_impl pyside2_install
+
+ # CMakeLists.txt installs a "PySide2Targets-gentoo.cmake" file forcing
+ # downstream consumers (e.g., pyside2-tools) to target one
+ # "libpyside2-*.so" library linked to one Python interpreter. See also:
+ # https://bugreports.qt.io/browse/PYSIDE-1053
+ # https://github.com/leycec/raiagent/issues/74
+ sed -i -e 's~pyside2-python[[:digit:]]\+\.[[:digit:]]\+~pyside2${PYTHON_CONFIG_SUFFIX}~g' \
+ "${ED}/usr/$(get_libdir)"/cmake/PySide2*/PySide2Targets-${CMAKE_BUILD_TYPE,,}.cmake || die
+}
diff --git a/dev-python/pyside6-tools/Manifest b/dev-python/pyside6-tools/Manifest
index 0ec535214c60..6bad2ad97ee1 100644
--- a/dev-python/pyside6-tools/Manifest
+++ b/dev-python/pyside6-tools/Manifest
@@ -1 +1 @@
-DIST pyside-setup-everywhere-src-6.6.0.tar.xz 14054860 BLAKE2B 3d01707796c8711de6c5bfc39bb677ee1f5c24014f8f61d9cccb5ec58982e9765e69b0a623e93276f1336975cf18a228d8397f6c8fce051875962e25ba64ac2f SHA512 58463e9b08ee6264d05293d25aa6e41b091016489abf513fc8303e5cccde26af1a24bf9520a94fad4fdc679bf367eb8c6b3d84a21c6c175dd1382cd1ca32b8ae
+DIST pyside-setup-everywhere-src-6.7.2.tar.xz 14402156 BLAKE2B 321717ba46c7ed29404ee326f852cd4032f93e23b6b32a16e4e05305ff04a00a2029ee7c1d50ad7191a836ffd9a3ae858483bac35e8254bdcaeb474e2c92df60 SHA512 4376aba85867b5a04dab9d8889f5e32cb503cb8010757c1e810e60d29755f15a002b582594d0737a4119c030b48ede26964e8b1392700a6c061d7d631cdfe73e
diff --git a/dev-python/pyside6-tools/pyside6-tools-6.6.0-r1.ebuild b/dev-python/pyside6-tools/pyside6-tools-6.6.0-r1.ebuild
deleted file mode 100644
index a1f2d6f625f6..000000000000
--- a/dev-python/pyside6-tools/pyside6-tools-6.6.0-r1.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# TODO: Add PyPy once officially supported. See also:
-# https://bugreports.qt.io/browse/PYSIDE-535
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit cmake python-r1
-
-MY_PN="pyside-setup-everywhere-src"
-
-DESCRIPTION="PySide development tools (pyside6-lupdate with support for Python)"
-HOMEPAGE="https://wiki.qt.io/PySide6"
-SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_PN}-${PV}.tar.xz"
-S="${WORKDIR}/${MY_PN}-$(ver_cut 1-2)/sources/pyside-tools"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-RDEPEND="${PYTHON_DEPS}
- ~dev-python/pyside6-${PV}[quick,${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-
-src_prepare() {
- cmake_src_prepare
-
- python_copy_sources
-}
-
-src_configure() {
- pyside-tools_configure() {
- local mycmakeargs=(
- # If this is enabled cmake just makes copies of /lib64/qt6/bin/*
- -DNO_QT_TOOLS=yes
- )
- cmake_src_configure
- }
-
- python_foreach_impl pyside-tools_configure
-}
-
-src_compile() {
- pyside-tools_compile() {
- cmake_src_compile
- }
-
- python_foreach_impl pyside-tools_compile
-}
-
-src_install() {
- pyside-tools_install() {
- # This replicates the contents of the PySide6 pypi wheel
- DESTDIR="${BUILD_DIR}" cmake_build install
- cp __init__.py "${BUILD_DIR}/usr/bin" || die
- rm -r "${BUILD_DIR}/usr/bin/qtpy2cpp_lib/tests" || die
- python_moduleinto PySide6/scripts
- python_domodule "${BUILD_DIR}/usr/bin/."
- }
-
- python_foreach_impl pyside-tools_install
-
- einstalldocs
-}
diff --git a/dev-python/pyside6-tools/pyside6-tools-6.7.2.ebuild b/dev-python/pyside6-tools/pyside6-tools-6.7.2.ebuild
new file mode 100644
index 000000000000..6f478d781c10
--- /dev/null
+++ b/dev-python/pyside6-tools/pyside6-tools-6.7.2.ebuild
@@ -0,0 +1,80 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{10..13} )
+
+LLVM_COMPAT=( {15..18} )
+
+inherit cmake llvm-r1 python-r1
+
+MY_PN="pyside-setup-everywhere-src"
+
+DESCRIPTION="PySide development tools (pyside6-lupdate with support for Python)"
+HOMEPAGE="https://wiki.qt.io/PySide6"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_PN}-${PV}.tar.xz"
+S="${WORKDIR}/${MY_PN}-${PV}/sources/pyside-tools"
+
+LICENSE="GPL-2"
+SLOT="6/${PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Minimal supported version of Qt.
+QT_PV="$(ver_cut 1-3)*:6"
+
+RDEPEND="${PYTHON_DEPS}
+ =dev-python/shiboken6-${QT_PV}[${PYTHON_USEDEP},${LLVM_USEDEP}]
+ =dev-python/pyside6-${QT_PV}[quick,${PYTHON_USEDEP},${LLVM_USEDEP}]
+ !dev-python/pyside6-tools:0
+"
+DEPEND="${RDEPEND}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/llvm:${LLVM_SLOT}
+ ')
+"
+
+src_prepare() {
+ cmake_src_prepare
+
+ python_copy_sources
+}
+
+src_configure() {
+ pyside-tools_configure() {
+ local mycmakeargs=(
+ # If this is enabled cmake just makes copies of /lib64/qt6/bin/*
+ -DNO_QT_TOOLS=yes
+ )
+ cmake_src_configure
+ }
+
+ python_foreach_impl pyside-tools_configure
+}
+
+src_compile() {
+ pyside-tools_compile() {
+ cmake_src_compile
+ }
+
+ python_foreach_impl pyside-tools_compile
+}
+
+src_install() {
+ pyside-tools_install() {
+ # This replicates the contents of the PySide6 pypi wheel
+ DESTDIR="${BUILD_DIR}" cmake_build install
+ cp __init__.py "${BUILD_DIR}/usr/bin" || die
+ rm -r "${BUILD_DIR}/usr/bin/qtpy2cpp_lib/tests" || die
+ python_moduleinto PySide6/scripts
+ python_domodule "${BUILD_DIR}/usr/bin/."
+ }
+
+ python_foreach_impl pyside-tools_install
+
+ einstalldocs
+}
diff --git a/dev-python/pyside6/Manifest b/dev-python/pyside6/Manifest
index b0efde9d5fa7..6bad2ad97ee1 100644
--- a/dev-python/pyside6/Manifest
+++ b/dev-python/pyside6/Manifest
@@ -1,2 +1 @@
-DIST pyside-setup-everywhere-src-6.5.3.tar.xz 13577208 BLAKE2B 7a26302d17163e3fd7478571d99116d7eec01ee3ce369c58870fed565258419f8c6cdf88b4cd2b9b48a21ab1e40d5b85ed912e3cd2210cf22707da88c42ad277 SHA512 3fbcc0bb340d5b02616df061d1c1bf08494db5d35297db47ebb2f965efd347bf8412236bb43952b65b787d08d29adf5998cd92c3ff359f728a9006e07a278519
-DIST pyside-setup-everywhere-src-6.6.0.tar.xz 14054860 BLAKE2B 3d01707796c8711de6c5bfc39bb677ee1f5c24014f8f61d9cccb5ec58982e9765e69b0a623e93276f1336975cf18a228d8397f6c8fce051875962e25ba64ac2f SHA512 58463e9b08ee6264d05293d25aa6e41b091016489abf513fc8303e5cccde26af1a24bf9520a94fad4fdc679bf367eb8c6b3d84a21c6c175dd1382cd1ca32b8ae
+DIST pyside-setup-everywhere-src-6.7.2.tar.xz 14402156 BLAKE2B 321717ba46c7ed29404ee326f852cd4032f93e23b6b32a16e4e05305ff04a00a2029ee7c1d50ad7191a836ffd9a3ae858483bac35e8254bdcaeb474e2c92df60 SHA512 4376aba85867b5a04dab9d8889f5e32cb503cb8010757c1e810e60d29755f15a002b582594d0737a4119c030b48ede26964e8b1392700a6c061d7d631cdfe73e
diff --git a/dev-python/pyside6/files/pyside6-6.3.1-fix-designer-plugin-install-location.patch b/dev-python/pyside6/files/pyside6-6.3.1-fix-designer-plugin-install-location.patch
deleted file mode 100644
index b7d1c2b31553..000000000000
--- a/dev-python/pyside6/files/pyside6-6.3.1-fix-designer-plugin-install-location.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-https://bugs.gentoo.org/865363
-
-From 109d7bbec01870f8e944a9cde09d3e2f70e13e0d Mon Sep 17 00:00:00 2001
-From: Bernd Waibel <waebbl-gentoo@posteo.net>
-Date: Mon, 22 Aug 2022 07:10:35 +0200
-Subject: [PATCH] fix designer plugin install location
-
-Signed-off-by: Bernd Waibel <waebbl-gentoo@posteo.net>
---- a/plugins/designer/CMakeLists.txt
-+++ b/plugins/designer/CMakeLists.txt
-@@ -53,4 +53,4 @@ target_link_libraries(PySidePlugin PRIVATE
- Qt::Widgets
- ${SHIBOKEN_PYTHON_LIBRARIES})
-
--install(TARGETS PySidePlugin LIBRARY DESTINATION "plugins/designer")
-+install(TARGETS PySidePlugin LIBRARY DESTINATION "lib${LIB_SUFFIX}/qt6/plugins/designer")
diff --git a/dev-python/pyside6/files/pyside6-6.6.0-fix-qtasyncio-install-dir.patch b/dev-python/pyside6/files/pyside6-6.6.0-fix-qtasyncio-install-dir.patch
deleted file mode 100644
index 066d2d7af774..000000000000
--- a/dev-python/pyside6/files/pyside6-6.6.0-fix-qtasyncio-install-dir.patch
+++ /dev/null
@@ -1,10 +0,0 @@
-diff --git a/PySide6/CMakeLists.txt b/PySide6/CMakeLists.txt
-index e24fdb682..37b7a6c9c 100644
---- a/PySide6/CMakeLists.txt
-+++ b/PySide6/CMakeLists.txt
-@@ -111,4 +111,4 @@ install(FILES ${CMAKE_CURRENT_BINARY_DIR}/pyside6_global.h
- DESTINATION include/${BINDING_NAME}${pyside6_SUFFIX})
-
- install(DIRECTORY "${CMAKE_CURRENT_SOURCE_DIR}/QtAsyncio"
-- DESTINATION "${CMAKE_CURRENT_BINARY_DIR}")
-+ DESTINATION "${PYTHON_SITE_PACKAGES}/${BINDING_NAME}${pyside6_SUFFIX}")
diff --git a/dev-python/pyside6/pyside6-6.5.3.ebuild b/dev-python/pyside6/pyside6-6.5.3.ebuild
deleted file mode 100644
index 876632c3a7b8..000000000000
--- a/dev-python/pyside6/pyside6-6.5.3.ebuild
+++ /dev/null
@@ -1,227 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# TODO: Add PyPy once officially supported. See also:
-# https://bugreports.qt.io/browse/PYSIDE-535
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit cmake python-r1 virtualx
-
-# TODO: Add conditional support for "QtRemoteObjects" via a new "remoteobjects"
-# USE flag after an external "dev-qt/qtremoteobjects" package has been created.
-# TODO: Add conditional support for apidoc generation via a new "doc" USE flag.
-# Note that doing so requires the Qt source tree, sphinx, and graphviz. Once
-# ready, pass the ${QT_SRC_DIR} variable to cmake to enable this support.
-# TODO: Disable GLES support if the "gles2-only" USE flag is disabled. Note
-# that the "PySide6/QtGui/CMakeLists.txt" and
-# "PySide6/QtOpenGLFunctions/CMakeLists.txt" files test for GLES support by
-# testing whether the "Qt5::Gui" list property defined by
-# "/usr/lib64/cmake/Qt5Gui/Qt5GuiConfig.cmake" at "dev-qt/qtgui" installation
-# time contains the substring "opengles2". Since cmake does not permit
-# properties to be overridden from the command line, these files must instead
-# be conditionally patched to avoid these tests. An issue should be filed with
-# upstream requesting a CLI-settable variable to control this.
-
-MY_PN="pyside-setup-everywhere-src"
-
-DESCRIPTION="Python bindings for the Qt framework"
-HOMEPAGE="https://wiki.qt.io/PySide6"
-SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_PN}-${PV}.tar.xz"
-S="${WORKDIR}/${MY_PN}-$(ver_cut 1-3)/sources/pyside6"
-
-# See "sources/pyside6/PySide6/licensecomment.txt" for licensing details.
-# Shall we allow essential modules to be disabled? They are:
-# (core), gui, widgets, printsupport, sql, network, testlib, concurrent,
-# x11extras (for X)
-LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 )"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="
- +dbus charts +concurrent designer gles2-only +gui help multimedia
- +network network-auth +opengl positioning +printsupport qml quick
- quick3d serialport +sql svg test +testlib webchannel webengine
- websockets +widgets +xml
-"
-
-# Manually reextract these requirements on version bumps by running the
-# following one-liner from within "${S}":
-# $ grep 'set.*_deps' PySide6/Qt*/CMakeLists.txt
-# Note that the "designer" USE flag corresponds to the "Qt6UiTools" module.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- charts? ( gui widgets )
- designer? ( widgets )
- gles2-only? ( gui )
- gui? ( dbus opengl )
- help? ( network sql widgets )
- multimedia? ( gui network )
- network-auth? ( network )
- opengl? ( gui )
- printsupport? ( widgets )
- qml? ( network )
- quick? ( gui network opengl qml )
- quick3d? ( gui network opengl qml quick )
- sql? ( widgets )
- svg? ( gui )
- testlib? ( widgets )
- webchannel? ( qml )
- webengine? ( network gui printsupport quick webchannel )
- websockets? ( network )
- widgets? ( gui )
-"
-
-# Tests fail pretty bad and I'm not fixing them right now
-RESTRICT="test"
-
-# Minimal supported version of Qt.
-QT_PV="$(ver_cut 1-3)*:6"
-
-RDEPEND="${PYTHON_DEPS}
- ~dev-python/shiboken6-${PV}[${PYTHON_USEDEP}]
- =dev-qt/qtbase-${QT_PV}[concurrent?,dbus?,gles2-only=,network?,opengl?,sql?,widgets?,xml?]
- charts? ( =dev-qt/qtcharts-${QT_PV} )
- designer? ( =dev-qt/qttools-${QT_PV}[designer] )
- gui? (
- =dev-qt/qtbase-${QT_PV}[gui,jpeg(+)]
- x11-libs/libxkbcommon
- )
- help? ( =dev-qt/qttools-${QT_PV}[assistant] )
- multimedia? ( =dev-qt/qtmultimedia-${QT_PV} )
- network-auth? ( =dev-qt/qtnetworkauth-${QT_PV} )
- positioning? ( =dev-qt/qtpositioning-${QT_PV} )
- printsupport? ( =dev-qt/qtbase-${QT_PV}[gui,widgets] )
- qml? ( =dev-qt/qtdeclarative-${QT_PV}[widgets?] )
- quick3d? ( =dev-qt/qtquick3d-${QT_PV} )
- serialport? ( =dev-qt/qtserialport-${QT_PV} )
- svg? ( =dev-qt/qtsvg-${QT_PV} )
- testlib? ( =dev-qt/qtbase-${QT_PV}[gui] )
- webchannel? ( =dev-qt/qtwebchannel-${QT_PV} )
- webengine? ( || (
- =dev-qt/qtwebengine-${QT_PV}[alsa,widgets?]
- =dev-qt/qtwebengine-${QT_PV}[pulseaudio,widgets?]
- )
- )
- websockets? ( =dev-qt/qtwebsockets-${QT_PV} )
-"
-DEPEND="${RDEPEND}
- test? ( =dev-qt/qtbase-${QT_PV}[gui] )
-"
-# testlib is toggled by the gui flag on qtbase
-
-PATCHES=(
- "${FILESDIR}/${PN}-6.3.1-no-strip.patch"
- "${FILESDIR}/${PN}-6.3.1-fix-designer-plugin-install-location.patch"
-)
-
-src_configure() {
- # See collect_module_if_found macros in PySideHelpers.cmake
- local mycmakeargs=(
- -DBUILD_TESTS=$(usex test)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DAnimation=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DCore=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DExtras=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DInput=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DLogic=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DRender=yes
- #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6AxContainer=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Bluetooth=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Charts=$(usex !charts)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Concurrent=$(usex !concurrent)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DataVisualization=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DBus=$(usex !dbus)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Designer=$(usex !designer)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Gui=$(usex !gui)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Help=$(usex !help)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6HttpServer=yes
- #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6Location=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Multimedia=$(usex !multimedia)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6MultimediaWidgets=$(usex !multimedia yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6NetworkAuth=$(usex !network-auth)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Network=$(usex !network)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Nfc=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGL=$(usex !opengl)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGLWidgets=$(usex !opengl yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Pdf=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PdfWidgets=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Positioning=$(usex !positioning)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PrintSupport=$(usex !printsupport)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Qml=$(usex !qml)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick3D=$(usex !quick3d)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick=$(usex !quick)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickControls2=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickWidgets=$(usex !quick yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6RemoteObjects=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Scxml=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sensors=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SerialPort=$(usex !serialport)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SpatialAudio=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sql=$(usex !sql)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6StateMachine=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Svg=$(usex !svg)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SvgWidgets=$(usex !svg yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Test=$(usex !testlib)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6TextToSpeech=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6UiTools=$(usex !designer)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebChannel=$(usex !webchannel)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineCore=$(usex !webengine)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineQuick=$(usex !webengine yes $(usex !quick))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineWidgets=$(usex !webengine yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebSockets=$(usex !websockets)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Widgets=$(usex !widgets)
- #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6WinExtras=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Xml=$(usex !xml)
- # try to avoid pre-stripping
- -DQFP_NO_OVERRIDE_OPTIMIZATION_FLAGS=yes
- -DQFP_NO_STRIP=yes
-
- )
-
- pyside6_configure() {
- local mycmakeargs=(
- "${mycmakeargs[@]}"
- -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
- -DPYTHON_EXECUTABLE="${PYTHON}"
- -DPYTHON_SITE_PACKAGES="$(python_get_sitedir)"
- -DSHIBOKEN_PYTHON_SHARED_LIBRARY_SUFFIX="-${EPYTHON}"
- )
- cmake_src_configure
- }
- python_foreach_impl pyside6_configure
-}
-
-src_compile() {
- python_foreach_impl cmake_src_compile
-}
-
-src_test() {
- local -x PYTHONDONTWRITEBYTECODE
- python_foreach_impl virtx cmake_src_test
-}
-
-src_install() {
- pyside6_install() {
- cmake_src_install
- python_optimize
-
- # Uniquify the shiboken6 pkgconfig dependency in the PySide6 pkgconfig
- # file for the current Python target. See also:
- # https://github.com/leycec/raiagent/issues/73
- sed -i -e 's~^Requires: shiboken6$~&-'${EPYTHON}'~' \
- "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}.pc || die
-
- # Uniquify the PySide6 pkgconfig file for the current Python target,
- # preserving an unversioned "pyside6.pc" file arbitrarily associated
- # with the last Python target. (See the previously linked issue.)
- cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
- }
- python_foreach_impl pyside6_install
-
- # CMakeLists.txt installs a "PySide6Targets-gentoo.cmake" file forcing
- # downstream consumers (e.g., pyside6-tools) to target one
- # "libpyside6-*.so" library linked to one Python interpreter. See also:
- # https://bugreports.qt.io/browse/PYSIDE-1053
- # https://github.com/leycec/raiagent/issues/74
- sed -i -e 's~pyside6-python[[:digit:]]\+\.[[:digit:]]\+~pyside6${PYTHON_CONFIG_SUFFIX}~g' \
- "${ED}/usr/$(get_libdir)/cmake/PySide6/PySide6Targets-${CMAKE_BUILD_TYPE,,}.cmake" || die
-}
diff --git a/dev-python/pyside6/pyside6-6.6.0-r1.ebuild b/dev-python/pyside6/pyside6-6.6.0-r1.ebuild
deleted file mode 100644
index 34186ac1320b..000000000000
--- a/dev-python/pyside6/pyside6-6.6.0-r1.ebuild
+++ /dev/null
@@ -1,245 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# TODO: Add PyPy once officially supported. See also:
-# https://bugreports.qt.io/browse/PYSIDE-535
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit cmake python-r1 virtualx
-
-# TODO: Add conditional support for "QtRemoteObjects" via a new "remoteobjects"
-# USE flag after an external "dev-qt/qtremoteobjects" package has been created.
-# TODO: Add conditional support for apidoc generation via a new "doc" USE flag.
-# Note that doing so requires the Qt source tree, sphinx, and graphviz. Once
-# ready, pass the ${QT_SRC_DIR} variable to cmake to enable this support.
-# TODO: Disable GLES support if the "gles2-only" USE flag is disabled. Note
-# that the "PySide6/QtGui/CMakeLists.txt" and
-# "PySide6/QtOpenGLFunctions/CMakeLists.txt" files test for GLES support by
-# testing whether the "Qt5::Gui" list property defined by
-# "/usr/lib64/cmake/Qt5Gui/Qt5GuiConfig.cmake" at "dev-qt/qtgui" installation
-# time contains the substring "opengles2". Since cmake does not permit
-# properties to be overridden from the command line, these files must instead
-# be conditionally patched to avoid these tests. An issue should be filed with
-# upstream requesting a CLI-settable variable to control this.
-
-MY_PN="pyside-setup-everywhere-src"
-
-DESCRIPTION="Python bindings for the Qt framework"
-HOMEPAGE="https://wiki.qt.io/PySide6"
-SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_PN}-${PV}.tar.xz"
-S="${WORKDIR}/${MY_PN}-$(ver_cut 1-2)/sources/pyside6"
-
-# See "sources/pyside6/PySide6/licensecomment.txt" for licensing details.
-# Shall we allow essential modules to be disabled? They are:
-# (core), gui, widgets, printsupport, sql, network, testlib, concurrent,
-# x11extras (for X)
-LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 )"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="
- 3d bluetooth charts +concurrent +dbus designer gles2-only +gui help location
- multimedia +network network-auth nfc positioning +opengl pdfium positioning
- +printsupport qml quick quick3d serialport scxml sensors spatialaudio speech
- +sql svg test +testlib webchannel webengine websockets +widgets +xml
-"
-
-# Manually reextract these requirements on version bumps by running the
-# following one-liner from within "${S}":
-# $ grep 'set.*_deps' PySide6/Qt*/CMakeLists.txt
-# Note that the "designer" USE flag corresponds to the "Qt6UiTools" module.
-REQUIRED_USE="${PYTHON_REQUIRED_USE}
- 3d? ( gui network )
- charts? ( gui widgets )
- designer? ( widgets )
- gles2-only? ( gui )
- gui? ( dbus opengl )
- help? ( network sql widgets )
- location? ( gui network positioning quick )
- multimedia? ( gui network )
- network-auth? ( network )
- opengl? ( gui )
- pdfium? ( gui )
- printsupport? ( widgets )
- qml? ( network )
- quick? ( gui network opengl qml )
- quick3d? ( gui network opengl qml quick )
- spatialaudio? ( multimedia )
- speech? ( multimedia )
- sql? ( widgets )
- svg? ( gui )
- testlib? ( widgets )
- webchannel? ( qml )
- webengine? ( network gui printsupport quick webchannel )
- websockets? ( network )
- widgets? ( gui )
-"
-
-# Tests fail pretty bad and I'm not fixing them right now
-RESTRICT="test"
-
-# Minimal supported version of Qt.
-QT_PV="$(ver_cut 1-3)*:6"
-
-RDEPEND="${PYTHON_DEPS}
- ~dev-python/shiboken6-${PV}[${PYTHON_USEDEP}]
- =dev-qt/qtbase-${QT_PV}[concurrent?,dbus?,gles2-only=,network?,opengl?,sql?,widgets?,xml?]
- 3d? ( =dev-qt/qt3d-${QT_PV}[qml?,gles2-only=] )
- bluetooth? ( =dev-qt/qtconnectivity-${QT_PV}[bluetooth] )
- charts? ( =dev-qt/qtcharts-${QT_PV} )
- designer? ( =dev-qt/qttools-${QT_PV}[designer] )
- gui? (
- =dev-qt/qtbase-${QT_PV}[gui,jpeg(+)]
- x11-libs/libxkbcommon
- )
- help? ( =dev-qt/qttools-${QT_PV}[assistant] )
- location? ( =dev-qt/qtlocation-${QT_PV} )
- multimedia? ( =dev-qt/qtmultimedia-${QT_PV} )
- network-auth? ( =dev-qt/qtnetworkauth-${QT_PV} )
- nfc? ( =dev-qt/qtconnectivity-${QT_PV}[nfc] )
- pdfium? ( =dev-qt/qtwebengine-${QT_PV}[pdfium(-),widgets?] )
- positioning? ( =dev-qt/qtpositioning-${QT_PV} )
- printsupport? ( =dev-qt/qtbase-${QT_PV}[gui,widgets] )
- qml? ( =dev-qt/qtdeclarative-${QT_PV}[widgets?] )
- quick3d? ( =dev-qt/qtquick3d-${QT_PV} )
- scxml? ( =dev-qt/qtscxml-${QT_PV} )
- sensors? ( =dev-qt/qtsensors-${QT_PV}[qml?] )
- speech? ( =dev-qt/qtspeech-${QT_PV} )
- serialport? ( =dev-qt/qtserialport-${QT_PV} )
- svg? ( =dev-qt/qtsvg-${QT_PV} )
- testlib? ( =dev-qt/qtbase-${QT_PV}[gui] )
- webchannel? ( =dev-qt/qtwebchannel-${QT_PV} )
- webengine? ( || (
- =dev-qt/qtwebengine-${QT_PV}[alsa,widgets?]
- =dev-qt/qtwebengine-${QT_PV}[pulseaudio,widgets?]
- )
- )
- websockets? ( =dev-qt/qtwebsockets-${QT_PV} )
-"
-DEPEND="${RDEPEND}
- test? ( =dev-qt/qtbase-${QT_PV}[gui] )
-"
-# testlib is toggled by the gui flag on qtbase
-
-PATCHES=(
- "${FILESDIR}/${PN}-6.3.1-no-strip.patch"
- "${FILESDIR}/${PN}-6.3.1-fix-designer-plugin-install-location.patch"
- # References files not present in our dev-qt/qtbase
- "${FILESDIR}/${PN}-6.6.0-no-qtexampleicons.patch"
- # Borrowed from Arch
- # https://gitlab.archlinux.org/archlinux/packaging/packages/pyside6/-/blob/38e02ae70a1ae4c71e25ca483fcc7225da2acdee/fix-install-dir.patch
- "${FILESDIR}/${PN}-6.6.0-fix-qtasyncio-install-dir.patch"
-)
-
-src_configure() {
- # See collect_module_if_found macros in PySideHelpers.cmake
- local mycmakeargs=(
- -DBUILD_TESTS=$(usex test)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DAnimation=$(usex !3d)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DCore=$(usex !3d)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DExtras=$(usex !3d)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DInput=$(usex !3d)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DLogic=$(usex !3d)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DRender=$(usex !3d)
- #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6AxContainer=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Bluetooth=$(usex !bluetooth)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Charts=$(usex !charts)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Concurrent=$(usex !concurrent)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DataVisualization=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DBus=$(usex !dbus)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Designer=$(usex !designer)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Gui=$(usex !gui)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Help=$(usex !help)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6HttpServer=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Location=$(usex !location)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Multimedia=$(usex !multimedia)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6MultimediaWidgets=$(usex !multimedia yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6NetworkAuth=$(usex !network-auth)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Network=$(usex !network)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Nfc=$(usex !nfc)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGL=$(usex !opengl)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGLWidgets=$(usex !opengl yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Pdf=$(usex !pdfium)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PdfWidgets=$(usex !pdfium yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Positioning=$(usex !positioning)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PrintSupport=$(usex !printsupport)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Qml=$(usex !qml)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick3D=$(usex !quick3d)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick=$(usex !quick)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickControls2=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickWidgets=$(usex !quick yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6RemoteObjects=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Scxml=$(usex !scxml)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sensors=$(usex !sensors)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SerialPort=$(usex !serialport)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SpatialAudio=$(usex !spatialaudio)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sql=$(usex !sql)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6StateMachine=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Svg=$(usex !svg)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SvgWidgets=$(usex !svg yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Test=$(usex !testlib)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6TextToSpeech=$(usex !speech)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6UiTools=$(usex !designer)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebChannel=$(usex !webchannel)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineCore=$(usex !webengine)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineQuick=$(usex !webengine yes $(usex !quick))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineWidgets=$(usex !webengine yes $(usex !widgets))
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebSockets=$(usex !websockets)
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Widgets=$(usex !widgets)
- #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6WinExtras=yes
- -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Xml=$(usex !xml)
- # try to avoid pre-stripping
- -DQFP_NO_OVERRIDE_OPTIMIZATION_FLAGS=yes
- -DQFP_NO_STRIP=yes
-
- )
-
- pyside6_configure() {
- local mycmakeargs=(
- "${mycmakeargs[@]}"
- -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
- -DPYTHON_EXECUTABLE="${PYTHON}"
- -DPYTHON_SITE_PACKAGES="$(python_get_sitedir)"
- -DSHIBOKEN_PYTHON_SHARED_LIBRARY_SUFFIX="-${EPYTHON}"
- )
- cmake_src_configure
- }
- python_foreach_impl pyside6_configure
-}
-
-src_compile() {
- python_foreach_impl cmake_src_compile
-}
-
-src_test() {
- local -x PYTHONDONTWRITEBYTECODE
- python_foreach_impl virtx cmake_src_test
-}
-
-src_install() {
- pyside6_install() {
- cmake_src_install
- python_optimize
-
- # Uniquify the shiboken6 pkgconfig dependency in the PySide6 pkgconfig
- # file for the current Python target. See also:
- # https://github.com/leycec/raiagent/issues/73
- sed -i -e 's~^Requires: shiboken6$~&-'${EPYTHON}'~' \
- "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}.pc || die
-
- # Uniquify the PySide6 pkgconfig file for the current Python target,
- # preserving an unversioned "pyside6.pc" file arbitrarily associated
- # with the last Python target. (See the previously linked issue.)
- cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
- }
- python_foreach_impl pyside6_install
-
- # CMakeLists.txt installs a "PySide6Targets-gentoo.cmake" file forcing
- # downstream consumers (e.g., pyside6-tools) to target one
- # "libpyside6-*.so" library linked to one Python interpreter. See also:
- # https://bugreports.qt.io/browse/PYSIDE-1053
- # https://github.com/leycec/raiagent/issues/74
- sed -i -e 's~pyside6-python[[:digit:]]\+\.[[:digit:]]\+~pyside6${PYTHON_CONFIG_SUFFIX}~g' \
- "${ED}/usr/$(get_libdir)/cmake/PySide6/PySide6Targets-${CMAKE_BUILD_TYPE,,}.cmake" || die
-}
diff --git a/dev-python/pyside6/pyside6-6.7.2.ebuild b/dev-python/pyside6/pyside6-6.7.2.ebuild
new file mode 100644
index 000000000000..4d557821ecae
--- /dev/null
+++ b/dev-python/pyside6/pyside6-6.7.2.ebuild
@@ -0,0 +1,248 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{10..13} )
+
+LLVM_COMPAT=( {15..18} )
+
+inherit cmake llvm-r1 python-r1 virtualx
+
+# TODO: Add conditional support for "QtRemoteObjects" via a new "remoteobjects"
+# USE flag after an external "dev-qt/qtremoteobjects" package has been created.
+# TODO: Add conditional support for apidoc generation via a new "doc" USE flag.
+# Note that doing so requires the Qt source tree, sphinx, and graphviz. Once
+# ready, pass the ${QT_SRC_DIR} variable to cmake to enable this support.
+# TODO: Disable GLES support if the "gles2-only" USE flag is disabled. Note
+# that the "PySide6/QtGui/CMakeLists.txt" and
+# "PySide6/QtOpenGLFunctions/CMakeLists.txt" files test for GLES support by
+# testing whether the "Qt5::Gui" list property defined by
+# "/usr/lib64/cmake/Qt5Gui/Qt5GuiConfig.cmake" at "dev-qt/qtgui" installation
+# time contains the substring "opengles2". Since cmake does not permit
+# properties to be overridden from the command line, these files must instead
+# be conditionally patched to avoid these tests. An issue should be filed with
+# upstream requesting a CLI-settable variable to control this.
+
+MY_PN="pyside-setup-everywhere-src"
+
+DESCRIPTION="Python bindings for the Qt framework"
+HOMEPAGE="https://wiki.qt.io/PySide6"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_PN}-${PV}.tar.xz"
+S="${WORKDIR}/${MY_PN}-${PV}/sources/pyside6"
+
+# See "sources/pyside6/PySide6/licensecomment.txt" for licensing details.
+# Shall we allow essential modules to be disabled? They are:
+# (core), gui, widgets, printsupport, sql, network, testlib, concurrent,
+# x11extras (for X)
+LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 )"
+SLOT="6/${PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="
+ 3d bluetooth charts +concurrent +dbus designer gles2-only +gui help location
+ multimedia +network network-auth nfc positioning +opengl pdfium positioning
+ +printsupport qml quick quick3d serialport scxml sensors spatialaudio speech
+ +sql svg test +testlib webchannel webengine websockets +widgets +xml
+"
+
+# Manually reextract these requirements on version bumps by running the
+# following one-liner from within "${S}":
+# $ grep 'set.*_deps' PySide6/Qt*/CMakeLists.txt
+# Note that the "designer" USE flag corresponds to the "Qt6UiTools" module.
+REQUIRED_USE="${PYTHON_REQUIRED_USE}
+ 3d? ( gui network )
+ charts? ( gui widgets )
+ designer? ( widgets )
+ gles2-only? ( gui )
+ gui? ( dbus opengl )
+ help? ( network sql widgets )
+ location? ( gui network positioning quick )
+ multimedia? ( gui network )
+ network-auth? ( network )
+ opengl? ( gui )
+ pdfium? ( gui )
+ printsupport? ( widgets )
+ qml? ( network )
+ quick? ( gui network opengl qml )
+ quick3d? ( gui network opengl qml quick )
+ spatialaudio? ( multimedia )
+ speech? ( multimedia )
+ sql? ( widgets )
+ svg? ( gui )
+ testlib? ( widgets )
+ webchannel? ( qml )
+ webengine? ( network gui printsupport quick webchannel )
+ websockets? ( network )
+ widgets? ( gui )
+"
+
+# Tests fail pretty bad and I'm not fixing them right now
+RESTRICT="test"
+
+# Minimal supported version of Qt.
+QT_PV="$(ver_cut 1-3)*:6"
+
+RDEPEND="${PYTHON_DEPS}
+ =dev-python/shiboken6-${QT_PV}[${PYTHON_USEDEP},${LLVM_USEDEP}]
+ =dev-qt/qtbase-${QT_PV}[concurrent?,dbus?,gles2-only=,network?,opengl?,sql?,widgets?,xml?]
+ 3d? ( =dev-qt/qt3d-${QT_PV}[qml?,gles2-only=] )
+ bluetooth? ( =dev-qt/qtconnectivity-${QT_PV}[bluetooth] )
+ charts? ( =dev-qt/qtcharts-${QT_PV} )
+ designer? ( =dev-qt/qttools-${QT_PV}[designer] )
+ gui? (
+ =dev-qt/qtbase-${QT_PV}[gui,jpeg(+)]
+ x11-libs/libxkbcommon
+ )
+ help? ( =dev-qt/qttools-${QT_PV}[assistant] )
+ location? ( =dev-qt/qtlocation-${QT_PV} )
+ multimedia? ( =dev-qt/qtmultimedia-${QT_PV} )
+ network? ( =dev-qt/qtbase-${QT_PV}[ssl] )
+ network-auth? ( =dev-qt/qtnetworkauth-${QT_PV} )
+ nfc? ( =dev-qt/qtconnectivity-${QT_PV}[nfc] )
+ pdfium? ( =dev-qt/qtwebengine-${QT_PV}[pdfium(-),widgets?] )
+ positioning? ( =dev-qt/qtpositioning-${QT_PV} )
+ printsupport? ( =dev-qt/qtbase-${QT_PV}[gui,widgets] )
+ qml? ( =dev-qt/qtdeclarative-${QT_PV}[widgets?] )
+ quick3d? ( =dev-qt/qtquick3d-${QT_PV} )
+ scxml? ( =dev-qt/qtscxml-${QT_PV} )
+ sensors? ( =dev-qt/qtsensors-${QT_PV}[qml?] )
+ speech? ( =dev-qt/qtspeech-${QT_PV} )
+ serialport? ( =dev-qt/qtserialport-${QT_PV} )
+ svg? ( =dev-qt/qtsvg-${QT_PV} )
+ testlib? ( =dev-qt/qtbase-${QT_PV}[gui] )
+ webchannel? ( =dev-qt/qtwebchannel-${QT_PV} )
+ webengine? ( || (
+ =dev-qt/qtwebengine-${QT_PV}[alsa,widgets?]
+ =dev-qt/qtwebengine-${QT_PV}[pulseaudio,widgets?]
+ )
+ )
+ websockets? ( =dev-qt/qtwebsockets-${QT_PV} )
+ !dev-python/pyside6:0
+"
+DEPEND="${RDEPEND}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/llvm:${LLVM_SLOT}
+ ')
+ test? ( =dev-qt/qtbase-${QT_PV}[gui] )
+"
+# testlib is toggled by the gui flag on qtbase
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.3.1-no-strip.patch"
+ # References files not present in our dev-qt/qtbase
+ "${FILESDIR}/${PN}-6.6.0-no-qtexampleicons.patch"
+)
+
+src_configure() {
+ # See collect_module_if_found macros in PySideHelpers.cmake
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DAnimation=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DCore=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DExtras=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DInput=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DLogic=$(usex !3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt63DRender=$(usex !3d)
+ #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6AxContainer=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Bluetooth=$(usex !bluetooth)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Charts=$(usex !charts)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Concurrent=$(usex !concurrent)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DataVisualization=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6DBus=$(usex !dbus)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Designer=$(usex !designer)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Gui=$(usex !gui)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Help=$(usex !help)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6HttpServer=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Location=$(usex !location)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Multimedia=$(usex !multimedia)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6MultimediaWidgets=$(usex !multimedia yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6NetworkAuth=$(usex !network-auth)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Network=$(usex !network)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Nfc=$(usex !nfc)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGL=$(usex !opengl)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6OpenGLWidgets=$(usex !opengl yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Pdf=$(usex !pdfium)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PdfWidgets=$(usex !pdfium yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Positioning=$(usex !positioning)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6PrintSupport=$(usex !printsupport)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Qml=$(usex !qml)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick3D=$(usex !quick3d)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Quick=$(usex !quick)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickControls2=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6QuickWidgets=$(usex !quick yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6RemoteObjects=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Scxml=$(usex !scxml)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sensors=$(usex !sensors)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SerialPort=$(usex !serialport)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SpatialAudio=$(usex !spatialaudio)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Sql=$(usex !sql)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6StateMachine=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Svg=$(usex !svg)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6SvgWidgets=$(usex !svg yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Test=$(usex !testlib)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6TextToSpeech=$(usex !speech)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6UiTools=$(usex !designer)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebChannel=$(usex !webchannel)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineCore=$(usex !webengine)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineQuick=$(usex !webengine yes $(usex !quick))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebEngineWidgets=$(usex !webengine yes $(usex !widgets))
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6WebSockets=$(usex !websockets)
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Widgets=$(usex !widgets)
+ #-DCMAKE_DISABLE_FIND_PACKAGE_Qt6WinExtras=yes
+ -DCMAKE_DISABLE_FIND_PACKAGE_Qt6Xml=$(usex !xml)
+ # try to avoid pre-stripping
+ -DQFP_NO_OVERRIDE_OPTIMIZATION_FLAGS=yes
+ -DQFP_NO_STRIP=yes
+
+ )
+
+ pyside6_configure() {
+ local mycmakeargs=(
+ "${mycmakeargs[@]}"
+ -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
+ -DPYTHON_SITE_PACKAGES="$(python_get_sitedir)"
+ -DSHIBOKEN_PYTHON_SHARED_LIBRARY_SUFFIX="-${EPYTHON}"
+ )
+ cmake_src_configure
+ }
+ python_foreach_impl pyside6_configure
+}
+
+src_compile() {
+ python_foreach_impl cmake_src_compile
+}
+
+src_test() {
+ local -x PYTHONDONTWRITEBYTECODE
+ python_foreach_impl virtx cmake_src_test
+}
+
+src_install() {
+ pyside6_install() {
+ cmake_src_install
+ python_optimize
+
+ # Uniquify the shiboken6 pkgconfig dependency in the PySide6 pkgconfig
+ # file for the current Python target. See also:
+ # https://github.com/leycec/raiagent/issues/73
+ sed -i -e 's~^Requires: shiboken6$~&-'${EPYTHON}'~' \
+ "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}.pc || die
+
+ # Uniquify the PySide6 pkgconfig file for the current Python target,
+ # preserving an unversioned "pyside6.pc" file arbitrarily associated
+ # with the last Python target. (See the previously linked issue.)
+ cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
+ }
+ python_foreach_impl pyside6_install
+
+ # CMakeLists.txt installs a "PySide6Targets-gentoo.cmake" file forcing
+ # downstream consumers (e.g., pyside6-tools) to target one
+ # "libpyside6-*.so" library linked to one Python interpreter. See also:
+ # https://bugreports.qt.io/browse/PYSIDE-1053
+ # https://github.com/leycec/raiagent/issues/74
+ sed -i -e 's~pyside6-python[[:digit:]]\+\.[[:digit:]]\+~pyside6${PYTHON_CONFIG_SUFFIX}~g' \
+ "${ED}/usr/$(get_libdir)/cmake/PySide6/PySide6Targets-${CMAKE_BUILD_TYPE,,}.cmake" || die
+}
diff --git a/dev-python/pysimdjson/Manifest b/dev-python/pysimdjson/Manifest
index 7e239b3da5ef..225533075c79 100644
--- a/dev-python/pysimdjson/Manifest
+++ b/dev-python/pysimdjson/Manifest
@@ -1 +1 @@
-DIST pysimdjson-5.0.2.gh.tar.gz 3828487 BLAKE2B 6197fa9adaa353df82def9f56f821e8b7f9ec955769e9ac28d990542fc0661f3afbe9cd8f7abfc55cdce8eac94c0e5fc78dba9102c7dcfc4e3c4307d0a6fc5bf SHA512 bd7ba4d6f95967f3cd086077406a2c65b895016c9baf16fa9be6dbf77d31487ad5c40e9e3dd2496070605ef37c6a1dc75f3c1b4c96ddc8465132fbcdbde77fd3
+DIST pysimdjson-6.0.2.gh.tar.gz 4493696 BLAKE2B 18f107fa5db762813e90dbf788d54ee24f823e177d2529f5311ef2b35320a45fd698ef6f8863c45ffad96c116ad5240eaf5a6724a3030578f89111cc40f24897 SHA512 ef8856dd137780a4345539b1604af34757b58a4b4d11854e420ad2e855f3e3f251b2ba6296c04d1bf2b71f095ca95fe95e9076e8740e98c7c4404a57df3617ba
diff --git a/dev-python/pysimdjson/files/pysimdjson-5.0.2-system-lib.patch b/dev-python/pysimdjson/files/pysimdjson-5.0.2-system-lib.patch
deleted file mode 100644
index 0a419e5dbc40..000000000000
--- a/dev-python/pysimdjson/files/pysimdjson-5.0.2-system-lib.patch
+++ /dev/null
@@ -1,72 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 865544d..24fdc36 100644
---- a/setup.py
-+++ b/setup.py
-@@ -1,5 +1,6 @@
- import os.path
- import platform
-+import itertools
-
- from setuptools import setup, find_packages, Extension
-
-@@ -17,11 +18,18 @@ with open(os.path.join(root, 'README.md'), 'rb') as readme:
-
- system = platform.system()
-
-+libraries = []
-+extra_sources = []
- extra_compile_args = []
-
- if system == 'Darwin':
- extra_compile_args.append('-std=c++11')
-
-+if os.getenv('BUILD_WITH_SYSTEM_LIB'):
-+ libraries.append('simdjson')
-+else:
-+ extra_sources.append('simdjson/simdjson.cpp')
-+
- if os.getenv('BUILD_WITH_CYTHON') and not CYTHON_AVAILABLE:
- print(
- 'BUILD_WITH_CYTHON environment variable is set, but cython'
-@@ -49,12 +57,15 @@ if os.getenv('BUILD_WITH_CYTHON') and CYTHON_AVAILABLE:
- extensions = cythonize([
- Extension(
- 'csimdjson',
-- [
-- 'simdjson/simdjson.cpp',
-- 'simdjson/util.cpp',
-- 'simdjson/csimdjson.pyx'
-- ],
-+ list(itertools.chain(
-+ [
-+ 'simdjson/util.cpp',
-+ 'simdjson/csimdjson.pyx'
-+ ],
-+ extra_sources
-+ )),
- define_macros=macros,
-+ libraries=libraries,
- extra_compile_args=extra_compile_args
- )
- ], compiler_directives=compiler_directives, force=force)
-@@ -62,12 +73,15 @@ else:
- extensions = [
- Extension(
- 'csimdjson',
-- [
-- 'simdjson/simdjson.cpp',
-- 'simdjson/util.cpp',
-- 'simdjson/csimdjson.cpp'
-- ],
-+ list(itertools.chain(
-+ [
-+ 'simdjson/util.cpp',
-+ 'simdjson/csimdjson.cpp'
-+ ],
-+ extra_sources
-+ )),
- extra_compile_args=extra_compile_args,
-+ libraries=libraries,
- language='c++'
- )
- ]
diff --git a/dev-python/pysimdjson/files/pysimdjson-5.0.2-tests.patch b/dev-python/pysimdjson/files/pysimdjson-5.0.2-tests.patch
deleted file mode 100644
index a70143b134f6..000000000000
--- a/dev-python/pysimdjson/files/pysimdjson-5.0.2-tests.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/simdjson/csimdjson.pyx b/simdjson/csimdjson.pyx
-index 57c5f35..91182fc 100644
---- a/simdjson/csimdjson.pyx
-+++ b/simdjson/csimdjson.pyx
-@@ -480,7 +480,7 @@ cdef class Parser:
- # a stride in the next step will cause a (potentially
- # confusing) IndexError. This isn't a very good error message,
- # but it's identical to the one simdjson would have raised.
-- raise ValueError('Empty: no JSON found')
-+ raise ValueError('EMPTY: no JSON found')
-
- return element_to_primitive(
- self,
diff --git a/dev-python/pysimdjson/files/pysimdjson-6.0.2-system-lib.patch b/dev-python/pysimdjson/files/pysimdjson-6.0.2-system-lib.patch
new file mode 100644
index 000000000000..8a58c6de0481
--- /dev/null
+++ b/dev-python/pysimdjson/files/pysimdjson-6.0.2-system-lib.patch
@@ -0,0 +1,17 @@
+diff --git a/setup.py b/setup.py
+index fa1ff8b..3f36120 100644
+--- a/setup.py
++++ b/setup.py
+@@ -52,11 +52,11 @@ if os.getenv('BUILD_WITH_CYTHON') and CYTHON_AVAILABLE:
+ Extension(
+ 'csimdjson',
+ [
+- 'simdjson/simdjson.cpp',
+ 'simdjson/util.cpp',
+ 'simdjson/csimdjson.pyx'
+ ],
+ define_macros=macros,
++ libraries=["simdjson"],
+ extra_compile_args=extra_compile_args
+ )
+ ], compiler_directives=compiler_directives, force=force)
diff --git a/dev-python/pysimdjson/pysimdjson-5.0.2-r1.ebuild b/dev-python/pysimdjson/pysimdjson-5.0.2-r1.ebuild
deleted file mode 100644
index 18c2cdbf0cf6..000000000000
--- a/dev-python/pysimdjson/pysimdjson-5.0.2-r1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_EXT=1
-inherit distutils-r1
-
-DESCRIPTION="Python bindings for simdjson"
-HOMEPAGE="
- https://github.com/TkTech/pysimdjson/
- https://pypi.org/project/pysimdjson/
-"
-SRC_URI="
- https://github.com/TkTech/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- >=dev-libs/simdjson-2.0.1:=
- test? ( dev-libs/simdjson[all-impls(-)] )
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- "${FILESDIR}/pysimdjson-5.0.2-system-lib.patch"
- "${FILESDIR}/pysimdjson-5.0.2-tests.patch"
-)
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # benchmarks aren't run
- sed -i -e 's:pytest-benchmark:: ; /license_file/ d' setup.cfg || die
- # force regen
- rm simdjson/csimdjson.cpp || die
- # unbundle
- > simdjson/simdjson.cpp || die
- echo "#include_next <simdjson.h>" > simdjson/simdjson.h || die
-
- distutils-r1_src_prepare
-
- export BUILD_WITH_CYTHON=1 BUILD_WITH_SYSTEM_LIB=1
-}
-
-python_compile() {
- distutils-r1_python_compile --libraries simdjson
-}
diff --git a/dev-python/pysimdjson/pysimdjson-6.0.2.ebuild b/dev-python/pysimdjson/pysimdjson-6.0.2.ebuild
new file mode 100644
index 000000000000..96d0ec9517e1
--- /dev/null
+++ b/dev-python/pysimdjson/pysimdjson-6.0.2.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2020-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} )
+DISTUTILS_EXT=1
+inherit distutils-r1
+
+DESCRIPTION="Python bindings for simdjson"
+HOMEPAGE="
+ https://github.com/TkTech/pysimdjson/
+ https://pypi.org/project/pysimdjson/
+"
+SRC_URI="
+ https://github.com/TkTech/pysimdjson/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+DEPEND="
+ >=dev-libs/simdjson-2.0.1:=
+ test? ( dev-libs/simdjson[all-impls(-)] )
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}/pysimdjson-6.0.2-system-lib.patch"
+)
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # force regen
+ rm simdjson/csimdjson.cpp || die
+ # unbundle
+ rm simdjson/simdjson.cpp || die
+ echo "#include_next <simdjson.h>" > simdjson/simdjson.h || die
+
+ distutils-r1_src_prepare
+
+ export BUILD_WITH_CYTHON=1
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o required_plugins=
+}
diff --git a/dev-python/pysol-cards/Manifest b/dev-python/pysol-cards/Manifest
new file mode 100644
index 000000000000..ebbf07a7b21f
--- /dev/null
+++ b/dev-python/pysol-cards/Manifest
@@ -0,0 +1 @@
+DIST pysol_cards-0.16.0.tar.gz 18987 BLAKE2B 5f4174462aaadd75b325a6c3e7e16bcc8e9694bb2e9a45eab3caa325959b1870531b71332728851bcbffba8f5a2022ae0a5b2fd81b75212a77e3fce8177d128f SHA512 728e76017cab27b5e67ed234951bff0608285caf1a79ab5f60a72d58530f4107fdb28749c4a2b4744830ecabaade1f413ad657149afa6aee8cb792b5dbcc8bce
diff --git a/dev-python/pysol_cards/metadata.xml b/dev-python/pysol-cards/metadata.xml
index 474258121ee8..474258121ee8 100644
--- a/dev-python/pysol_cards/metadata.xml
+++ b/dev-python/pysol-cards/metadata.xml
diff --git a/dev-python/pysol-cards/pysol-cards-0.16.0.ebuild b/dev-python/pysol-cards/pysol-cards-0.16.0.ebuild
new file mode 100644
index 000000000000..91b3b33053c8
--- /dev/null
+++ b/dev-python/pysol-cards/pysol-cards-0.16.0.ebuild
@@ -0,0 +1,26 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Deal PySol FreeCell cards"
+HOMEPAGE="
+ https://github.com/shlomif/pysol_cards/
+ https://pypi.org/project/pysol-cards/
+"
+
+LICENSE="Apache-2.0 MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~loong ~riscv x86"
+
+RDEPEND="
+ dev-python/random2[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/pysol_cards/Manifest b/dev-python/pysol_cards/Manifest
deleted file mode 100644
index 4559b2357a85..000000000000
--- a/dev-python/pysol_cards/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pysol_cards-0.14.3.tar.gz 18322 BLAKE2B 730da3d597377305c86e528606edd3db9f07390d333283a228c2411d35f2e19da61d27f21e3d2650b84ba0f4b0d48e87cf7004d518845fe2a40b041e286d5a28 SHA512 00bb25393eab855d7444324b33e0561bfbcc86ae53306b58623fa15ea005378aff6af51846aab4634b43fdba5497c3872c32baf3a51013ee01d5ab2d7a7a9d51
diff --git a/dev-python/pysol_cards/pysol_cards-0.14.3.ebuild b/dev-python/pysol_cards/pysol_cards-0.14.3.ebuild
deleted file mode 100644
index 03ff0f6e7ea2..000000000000
--- a/dev-python/pysol_cards/pysol_cards-0.14.3.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Deal PySol FreeCell cards"
-HOMEPAGE="
- https://github.com/shlomif/pysol_cards/
- https://pypi.org/project/pysol-cards/
-"
-
-LICENSE="Apache-2.0 MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~loong ~riscv x86"
-
-RDEPEND="
- dev-python/random2[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/pyspectrum2/pyspectrum2-0.2.0-r2.ebuild b/dev-python/pyspectrum2/pyspectrum2-0.2.0-r2.ebuild
index f3058d9b96a2..1d14e5828659 100644
--- a/dev-python/pyspectrum2/pyspectrum2-0.2.0-r2.ebuild
+++ b/dev-python/pyspectrum2/pyspectrum2-0.2.0-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/pyspelling/Manifest b/dev-python/pyspelling/Manifest
index d63c2bca40f3..ce788e5aad75 100644
--- a/dev-python/pyspelling/Manifest
+++ b/dev-python/pyspelling/Manifest
@@ -1 +1 @@
-DIST pyspelling-2.9.gh.tar.gz 151600 BLAKE2B c706767917e9ba3368f9670a492a2233b6a4c13c4dde6a594a06193d856b3fbad007988acb27486b8b8f62edfeb5a0b030ead3db712baa24b0ff3301cf776937 SHA512 b14d29dff4f7791d9223d20b490f4a48ba5a6a7613dc18fc3083a3b6bf810f9a42fcac94bfe72f92023802fc8c1fe0e6432d491af2f274a138ddc56db5550ea5
+DIST pyspelling-2.10.gh.tar.gz 152528 BLAKE2B 47ef182fb09bc3ec44b6c15da76f0d53266276ec807036378a3f5ae94daf98d3b3a49995ce2d12044c81743ee76d8b79547d84ae3c820be1f30161c75a654ba4 SHA512 dfe0d0c211555331dd6d97e06ce64ac2efbe5cc6172f684ca3b1802a8454b957781022375a9a53a2f522f4bd3bbf4e5892ab6be266bcfbe69c4861d95db00ab0
diff --git a/dev-python/pyspelling/metadata.xml b/dev-python/pyspelling/metadata.xml
index 146f18f871be..200c1f52827e 100644
--- a/dev-python/pyspelling/metadata.xml
+++ b/dev-python/pyspelling/metadata.xml
@@ -1,14 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>lssndrbarbieri@gmail.com</email>
- <name>Alessandro Barbieri</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/pyspelling/pyspelling-2.10.ebuild b/dev-python/pyspelling/pyspelling-2.10.ebuild
new file mode 100644
index 000000000000..d288bb13f41e
--- /dev/null
+++ b/dev-python/pyspelling/pyspelling-2.10.ebuild
@@ -0,0 +1,67 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+DISTUTILS_USE_PEP517=hatchling
+
+DOCS_BUILDER="mkdocs"
+DOCS_DEPEND="
+ >=dev-python/mkdocs-pymdownx-material-extras-2.1
+ dev-python/mkdocs-git-revision-date-localized-plugin
+ dev-python/mkdocs-minify-plugin
+"
+
+inherit distutils-r1 docs
+
+DESCRIPTION="Spell checker automation tool"
+HOMEPAGE="
+ https://github.com/facelessuser/pyspelling/
+ https://pypi.org/project/pyspelling/
+"
+SRC_URI="
+ https://github.com/facelessuser/pyspelling/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+
+RDEPEND="
+ || ( app-text/aspell app-text/hunspell )
+
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/markdown[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/soupsieve-1.8[${PYTHON_USEDEP}]
+ >=dev-python/wcmatch-6.5[${PYTHON_USEDEP}]
+"
+# The package can use either aspell or hunspell but tests both if both
+# are installed. Therefore, we need to ensure that both have English
+# dictionary installed.
+BDEPEND="
+ test? (
+ app-dicts/aspell-en
+ app-dicts/myspell-en
+ dev-vcs/git
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # mkdocs-git-revision-date-localized-plugin needs git repo
+ if use doc; then
+ git init -q || die
+ git config --global user.email "you@example.com" || die
+ git config --global user.name "Your Name" || die
+ git add . || die
+ git commit -q -m 'init' || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/pyspelling/pyspelling-2.9.ebuild b/dev-python/pyspelling/pyspelling-2.9.ebuild
deleted file mode 100644
index c541c4c3db44..000000000000
--- a/dev-python/pyspelling/pyspelling-2.9.ebuild
+++ /dev/null
@@ -1,63 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=hatchling
-
-DOCS_BUILDER="mkdocs"
-DOCS_DEPEND="
- >=dev-python/mkdocs-pymdownx-material-extras-2.1
- dev-python/mkdocs-git-revision-date-localized-plugin
- dev-python/mkdocs-minify-plugin
-"
-
-inherit distutils-r1 docs
-
-DESCRIPTION="Spell checker automation tool"
-HOMEPAGE="
- https://github.com/facelessuser/pyspelling/
- https://pypi.org/project/pyspelling/
-"
-SRC_URI="
- https://github.com/facelessuser/pyspelling/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
-
-RDEPEND="
- || ( app-text/aspell app-text/hunspell )
-
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/html5lib[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/markdown[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- >=dev-python/soupsieve-1.8[${PYTHON_USEDEP}]
- >=dev-python/wcmatch-6.5[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-vcs/git
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # mkdocs-git-revision-date-localized-plugin needs git repo
- if use doc; then
- git init || die
- git config --global user.email "you@example.com" || die
- git config --global user.name "Your Name" || die
- git add . || die
- git commit -m 'init' || die
- fi
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/pyspnego/Manifest b/dev-python/pyspnego/Manifest
index 1778f3675e87..389a19d6cfc8 100644
--- a/dev-python/pyspnego/Manifest
+++ b/dev-python/pyspnego/Manifest
@@ -1 +1,2 @@
-DIST pyspnego-0.10.2.tar.gz 222036 BLAKE2B b46c5469e7f764342f1510d54ee307ec57c6d999d2beb013fdc18eb06d56d601b3f035f0a9d9f9f5a656719f19a345ee25ca8664084afac3dd42529ae53dcf4a SHA512 9d5b45a9c4c2c929269f5eceaa05fbe34571e518b289b165049ddb7fd2bb207c7e6074c45216ad0cdf20e4be7bfca2f3d497aba45e2aadceb0b75221edc54f5d
+DIST pyspnego-0.11.0.tar.gz 225609 BLAKE2B 580ba1eb5a36af973af5acd6421ea373597961fe35e8f32c1cdd7938f550e0e20307a540405182761181927ebb69822dd289170ffe5110a8b49bfc4cc4f99f01 SHA512 7717dfbca4cd40f71f6aa436ed3f23f4cfd77c50569af90dd2f4b337cf46b485b8046fc5b2ded6a77c54af2ef3fca28e085616e900e25d8830b3600cbd3e44b5
+DIST pyspnego-0.11.1.tar.gz 225697 BLAKE2B fae4a4873bb7d84076c3703398f7dbb8ce27712804430290232239fef06e9c5b3a30ef397e82f109d6b4dcc61682cdb87d6469c5a1d323818dd16194fcc3b2df SHA512 3fac72600e162aed20d888727d74f67a7f1ae44aa000e0290c25e66a86d37bf2afb0718b36084926316149cb5157affe8beac65507b4d6e924d810c9aa6d86dc
diff --git a/dev-python/pyspnego/pyspnego-0.10.2.ebuild b/dev-python/pyspnego/pyspnego-0.10.2.ebuild
deleted file mode 100644
index 2ead729c77d5..000000000000
--- a/dev-python/pyspnego/pyspnego-0.10.2.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Library to handle SPNEGO and CredSSP authentication"
-HOMEPAGE="
- https://github.com/jborean93/pyspnego/
- https://pypi.org/project/pyspnego/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/cryptography[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/gssapi[${PYTHON_USEDEP}]
- >=dev-python/krb5-0.3.0[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-pkg_postinst() {
- optfeature "Kerberos authentication" "dev-python/gssapi >=dev-python/krb5-0.3.0"
- optfeature "YAML output support" "dev-python/ruamel-yaml"
-}
diff --git a/dev-python/pyspnego/pyspnego-0.11.0.ebuild b/dev-python/pyspnego/pyspnego-0.11.0.ebuild
new file mode 100644
index 000000000000..a5e53956766c
--- /dev/null
+++ b/dev-python/pyspnego/pyspnego-0.11.0.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Library to handle SPNEGO and CredSSP authentication"
+HOMEPAGE="
+ https://github.com/jborean93/pyspnego/
+ https://pypi.org/project/pyspnego/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ dev-python/cryptography[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/gssapi[${PYTHON_USEDEP}]
+ >=dev-python/krb5-0.3.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature "Kerberos authentication" "dev-python/gssapi >=dev-python/krb5-0.3.0"
+ optfeature "YAML output support" "dev-python/ruamel-yaml"
+}
diff --git a/dev-python/pyspnego/pyspnego-0.11.1.ebuild b/dev-python/pyspnego/pyspnego-0.11.1.ebuild
new file mode 100644
index 000000000000..d4c182cc408c
--- /dev/null
+++ b/dev-python/pyspnego/pyspnego-0.11.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Library to handle SPNEGO and CredSSP authentication"
+HOMEPAGE="
+ https://github.com/jborean93/pyspnego/
+ https://pypi.org/project/pyspnego/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/cryptography[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/gssapi[${PYTHON_USEDEP}]
+ >=dev-python/krb5-0.3.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature "Kerberos authentication" "dev-python/gssapi >=dev-python/krb5-0.3.0"
+ optfeature "YAML output support" "dev-python/ruamel-yaml"
+}
diff --git a/dev-python/pysrt/pysrt-1.1.2-r1.ebuild b/dev-python/pysrt/pysrt-1.1.2-r1.ebuild
index b4b7d124685c..b2496faaf35e 100644
--- a/dev-python/pysrt/pysrt-1.1.2-r1.ebuild
+++ b/dev-python/pysrt/pysrt-1.1.2-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pysrt/pysrt-9999.ebuild b/dev-python/pysrt/pysrt-9999.ebuild
index 122ca75948b9..073b1378cfc9 100644
--- a/dev-python/pysrt/pysrt-9999.ebuild
+++ b/dev-python/pysrt/pysrt-9999.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pystache/Manifest b/dev-python/pystache/Manifest
index 09bc0f20a22d..e38962d4433d 100644
--- a/dev-python/pystache/Manifest
+++ b/dev-python/pystache/Manifest
@@ -1,2 +1 @@
-DIST pystache-0.6.1.gh.tar.gz 279050 BLAKE2B 2c61ba260764aa4bf62039bfe1f844d34e26adc29af2f1e1d98619892bfabd3151aa1d34c69596389a68f0d84ce994ddf7114c091d42b497a17b300a5aff36cc SHA512 516d286f84d2c77650550365f6b219acb712376f0b7302fff2aba7dee4d64e3d3fc2d781782777dd37093f6debf52f9d2a40b6ed8b65aa5f7025ff762cb5efae
DIST pystache-0.6.5.gh.tar.gz 272484 BLAKE2B 8b82aa8922480019e4833333f83d767ef19a1505e2fc708fef0d01c08353b5e600a077c1e86e36c412680381ff6fd310f83857038f383b8218b72269b4e5349b SHA512 e3054e0bff5c3bc6679bf22555dd3cfb2f31b241484c7e6201d37b7767a22f2f842912e3f61d8e2e2858615a4f99ef4192d885b60f84dfeffa1408370ccfba75
diff --git a/dev-python/pystache/metadata.xml b/dev-python/pystache/metadata.xml
index 7ea1cd727a6c..9431f9ea7234 100644
--- a/dev-python/pystache/metadata.xml
+++ b/dev-python/pystache/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>nerdboy@gentoo.org</email>
- <name>Steve Arnold</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/pystache/pystache-0.6.1.ebuild b/dev-python/pystache/pystache-0.6.1.ebuild
deleted file mode 100644
index 228eb980f8e3..000000000000
--- a/dev-python/pystache/pystache-0.6.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Updated Python implementation of Mustache templating framework"
-HOMEPAGE="
- https://github.com/PennyDreadfulMTG/pystache/
- https://pypi.org/project/pystache/
-"
-
-if [[ ${PV} = 9999* ]]; then
- EGIT_REPO_URI="https://github.com/PennyDreadfulMTG/pystache.git"
- EGIT_BRANCH="master"
- inherit git-r3
-else
- SRC_URI="
- https://github.com/PennyDreadfulMTG/pystache/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- "
- KEYWORDS="~amd64 ~arm ~arm64 ~x86"
-fi
-
-LICENSE="MIT"
-SLOT="0"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- test? (
- dev-python/pyyaml[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- pystache-test || die "Test failed with ${EPYTHON}"
-}
diff --git a/dev-python/pystache/pystache-0.6.5.ebuild b/dev-python/pystache/pystache-0.6.5.ebuild
index 3c70a630edb7..6421fd663d35 100644
--- a/dev-python/pystache/pystache-0.6.5.ebuild
+++ b/dev-python/pystache/pystache-0.6.5.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pysubs2/Manifest b/dev-python/pysubs2/Manifest
new file mode 100644
index 000000000000..abc8b7a0881c
--- /dev/null
+++ b/dev-python/pysubs2/Manifest
@@ -0,0 +1 @@
+DIST pysubs2-1.7.2.tar.gz 1123677 BLAKE2B 771e05b41eb9da3f18ce932988b7cdd60d461e49cb9a9f03129dd5104a7e1161c8fae898169d737652c7dd596fe3f92d93ba3a6ed082090b9a8d8825cc033f06 SHA512 5732cbd5bfdaeb1c680b4107304d4b94e1e0c7cc43483a71581da03b7be840fcf95bae8d2b5691b8c88ee59f34e6f587033266e24014778f71393b4c78bb08bf
diff --git a/dev-python/pysubs2/metadata.xml b/dev-python/pysubs2/metadata.xml
new file mode 100644
index 000000000000..b5ee14239d42
--- /dev/null
+++ b/dev-python/pysubs2/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">pysubs2</remote-id>
+ <remote-id type="github">tkarabela/pysubs</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pysubs2/pysubs2-1.7.2.ebuild b/dev-python/pysubs2/pysubs2-1.7.2.ebuild
new file mode 100644
index 000000000000..7e320c75c063
--- /dev/null
+++ b/dev-python/pysubs2/pysubs2-1.7.2.ebuild
@@ -0,0 +1,21 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library for editing subtitle files"
+HOMEPAGE="
+ https://github.com/tkarabela/pysubs2
+ https://pypi.org/project/pysubs2/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pysvn/Manifest b/dev-python/pysvn/Manifest
index 1f2bdeba3f41..9f7c0f0a8836 100644
--- a/dev-python/pysvn/Manifest
+++ b/dev-python/pysvn/Manifest
@@ -1 +1 @@
-DIST pysvn-1.9.18.tar.gz 667827 BLAKE2B cd32b4ec55118becd496a9aab6f4dd2b9d57c82e12d5a08b18d36d0caffbafe7066ff45c9493a36499979e759d38dd6b15a68e7bb5819464362c2691e7599160 SHA512 0ca2924223cdc5f29e961e879db6b0f88e82b5c4c40df50169468dd5a72cbccddea9f0d1680ef4a54d45e89b4b2b2c3c22f5e76c66196783a89cac8b583b6623
+DIST pysvn-1.9.22.tar.gz 669169 BLAKE2B b6f5e2aedd902daa29d5e634263e21de134b73f72e17bb9363f415ac0696063457579af8778c72ca9852b5ee33142250d6a46700181b11ec2ec0a4e90db60525 SHA512 68b4fdb8a5de7cd0fb868ef56ac4d17938561a7f2c37db4089a3a2f4fc256043c80d7331befc013e6141be70722c843665c59c36d455e372ecb3ecc4587cba41
diff --git a/dev-python/pysvn/files/pysvn-1.9.18-tests-3.11.patch b/dev-python/pysvn/files/pysvn-1.9.18-tests-3.11.patch
deleted file mode 100644
index 06a0bec16720..000000000000
--- a/dev-python/pysvn/files/pysvn-1.9.18-tests-3.11.patch
+++ /dev/null
@@ -1,33 +0,0 @@
-From 0f4a2071dfeb90357a3eba947d6dd7cc879675ce Mon Sep 17 00:00:00 2001
-From: Sebastian Pipping <sebastian@pipping.org>
-Date: Tue, 29 Nov 2022 01:08:49 +0100
-Subject: [PATCH] Examples/Client/svn_cmd.py: Stop DeprecationWarning from
- breaking tests with Python 3.11
-
----
- Examples/Client/svn_cmd.py | 9 ++++++++-
- 1 file changed, 8 insertions(+), 1 deletion(-)
-
-diff --git a/Examples/Client/svn_cmd.py b/Examples/Client/svn_cmd.py
-index 42e4c87..b8ef4ff 100644
---- a/Examples/Client/svn_cmd.py
-+++ b/Examples/Client/svn_cmd.py
-@@ -72,7 +72,14 @@ def initLocale():
- locale.setlocale( locale.LC_ALL, '' )
-
- else:
-- language_code, encoding = locale.getdefaultlocale()
-+ import warnings
-+
-+ with warnings.catch_warnings():
-+ if sys.version_info >= (3, 11):
-+ warnings.filterwarnings("ignore", category=DeprecationWarning)
-+
-+ language_code, encoding = locale.getdefaultlocale()
-+
- if language_code is None:
- language_code = 'en_GB'
-
---
-2.38.1
-
diff --git a/dev-python/pysvn/pysvn-1.9.18.ebuild b/dev-python/pysvn/pysvn-1.9.18.ebuild
deleted file mode 100644
index e57b794b9f3b..000000000000
--- a/dev-python/pysvn/pysvn-1.9.18.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 toolchain-funcs
-
-DESCRIPTION="Object-oriented python bindings for subversion"
-HOMEPAGE="https://pysvn.sourceforge.io/"
-SRC_URI="mirror://sourceforge/project/pysvn/pysvn/V${PV}/${P}.tar.gz"
-
-LICENSE="Apache-1.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
-IUSE="doc examples"
-
-DEPEND="
- >=dev-python/pycxx-7.0.2[${PYTHON_USEDEP}]
- >=dev-vcs/subversion-1.9"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.9.18-tests-3.11.patch
-)
-
-python_prepare_all() {
- # Don't use internal copy of dev-python/pycxx.
- rm -r Import || die
-
- distutils-r1_python_prepare_all
-}
-
-python_configure() {
- cd Source || die
- CC="$(tc-getCC)" CCC="$(tc-getCXX)" \
- esetup.py configure
-}
-
-python_compile() {
- cd Source || die
- emake
-}
-
-python_test() {
- cd Tests || die
- emake
-}
-
-python_install() {
- cd Source || die
- python_domodule pysvn
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( Docs/. )
- if use examples; then
- docinto examples
- dodoc -r Examples/Client/.
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pysvn/pysvn-1.9.22.ebuild b/dev-python/pysvn/pysvn-1.9.22.ebuild
new file mode 100644
index 000000000000..30365cdf88c4
--- /dev/null
+++ b/dev-python/pysvn/pysvn-1.9.22.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 toolchain-funcs
+
+DESCRIPTION="Object-oriented python bindings for subversion"
+HOMEPAGE="https://pysvn.sourceforge.io/"
+SRC_URI="https://downloads.sourceforge.net/project/pysvn/pysvn/V${PV}/${P}.tar.gz"
+
+LICENSE="Apache-1.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm ppc x86 ~amd64-linux ~x86-linux ~ppc-macos"
+IUSE="doc examples"
+
+DEPEND="
+ >=dev-python/pycxx-7.1.8[${PYTHON_USEDEP}]
+ >=dev-vcs/subversion-1.9"
+RDEPEND="${DEPEND}"
+
+python_prepare_all() {
+ # Don't use internal copy of dev-python/pycxx.
+ rm -r Import || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_configure() {
+ cd Source || die
+ CC="$(tc-getCC)" CCC="$(tc-getCXX)" \
+ esetup.py configure
+}
+
+python_compile() {
+ cd Source || die
+ emake
+}
+
+python_test() {
+ cd Tests || die
+ emake
+}
+
+python_install() {
+ cd Source || die
+ python_domodule pysvn
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( Docs/. )
+ if use examples; then
+ docinto examples
+ dodoc -r Examples/Client/.
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/pyte/pyte-0.8.2.ebuild b/dev-python/pyte/pyte-0.8.2.ebuild
index 56b5025b1938..a6513428ddbe 100644
--- a/dev-python/pyte/pyte-0.8.2.ebuild
+++ b/dev-python/pyte/pyte-0.8.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -18,8 +18,8 @@ SRC_URI="
-> ${P}.gh.tar.gz
"
-SLOT="0"
LICENSE="LGPL-3"
+SLOT="0"
KEYWORDS="amd64 arm64 ~riscv x86 ~amd64-linux ~x86-linux"
RDEPEND="
diff --git a/dev-python/pytesseract/Manifest b/dev-python/pytesseract/Manifest
index 759ac6c51592..f0828998a666 100644
--- a/dev-python/pytesseract/Manifest
+++ b/dev-python/pytesseract/Manifest
@@ -1,3 +1 @@
-DIST pytesseract-0.3.10.tar.gz 1098547 BLAKE2B d89f9082d8c7236b97bb96441809a19f494aacd23d4c02d5b7fb1b742616e7b26c249d49fceecc4f652792cdc3d7f2a79cd580a3360157f81205ff04d65afb10 SHA512 de77f0497c2bf60c1febf439ed13f0a8978aa23df76aadb789f8151177b73f45229799bd6b236aa7356a5145064f892e5b528a2d5a396849348f5b22f4343e16
-DIST pytesseract-0.3.11.gh.tar.gz 1098497 BLAKE2B adaefd8ec43fc464e7d031a5e95c686d6d8f1c0bb10782f2be075ce347d27b0d3b95d5bc1f3283a6692441ddcb5b87bcb3ee7d320eab51400d03d7717297841f SHA512 0f3f8ac985689add9c134581a51ced75399e525797417294616489931deb5eda378ccd8a0ab875e449caa400ba8745b7494a1d610e9a572b5e1295fdc9a5ce0b
DIST pytesseract-0.3.12.gh.tar.gz 1099117 BLAKE2B 07fa50a552347a0f6be536933b98056c78d96e7317a9eb325faa5b4a1a2ef66bd2936ab17ca0abe2e56a0c1da75ca675f2a3c5260fc2882072d6535b78b519dc SHA512 931fcd03a7682cbebc42b1452519ef05ef4c931a47a4364841e0fc5861c9dd9f90ffe38f3211ed3846788dc29eefbc9aba2bbf2af30fb3816abdfcaaa6757365
diff --git a/dev-python/pytesseract/pytesseract-0.3.10-r1.ebuild b/dev-python/pytesseract/pytesseract-0.3.10-r1.ebuild
deleted file mode 100644
index 6360947cee37..000000000000
--- a/dev-python/pytesseract/pytesseract-0.3.10-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Optical character recognition (OCR) tool"
-HOMEPAGE="https://github.com/madmaze/pytesseract"
-SRC_URI="https://github.com/madmaze/${PN}/archive/refs/tags/v${PV}.tar.gz
- -> ${P}.tar.gz"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND=""
-RDEPEND="${DEPEND}
- dev-python/pillow[${PYTHON_USEDEP}]
- app-text/tesseract"
-BDEPEND="
- test? (
- app-text/tesseract[jpeg,png,tiff,webp]
- media-libs/leptonica[gif,jpeg2k]
- app-text/tessdata_fast[l10n_fr]
- dev-python/pillow[jpeg,zlib]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytesseract/pytesseract-0.3.11.ebuild b/dev-python/pytesseract/pytesseract-0.3.11.ebuild
deleted file mode 100644
index d9a773f6bf86..000000000000
--- a/dev-python/pytesseract/pytesseract-0.3.11.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Optical character recognition (OCR) tool"
-HOMEPAGE="
- https://github.com/madmaze/pytesseract/
- https://pypi.org/project/pytesseract/
-"
-SRC_URI="
- https://github.com/madmaze/pytesseract/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/pillow[${PYTHON_USEDEP}]
- app-text/tesseract
-"
-BDEPEND="
- test? (
- app-text/tesseract[jpeg,png,tiff,webp]
- media-libs/leptonica[gif,jpeg2k]
- app-text/tessdata_fast[l10n_fr]
- dev-python/pillow[jpeg,zlib]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytesseract/pytesseract-0.3.12.ebuild b/dev-python/pytesseract/pytesseract-0.3.12.ebuild
index d9a773f6bf86..81f9b8b28baf 100644
--- a/dev-python/pytesseract/pytesseract-0.3.12.ebuild
+++ b/dev-python/pytesseract/pytesseract-0.3.12.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="amd64 ~arm64 x86"
RDEPEND="
dev-python/pillow[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-aiohttp/pytest-aiohttp-1.0.5.ebuild b/dev-python/pytest-aiohttp/pytest-aiohttp-1.0.5.ebuild
index 5156acdaadbd..17f52d02cd4d 100644
--- a/dev-python/pytest-aiohttp/pytest-aiohttp-1.0.5.ebuild
+++ b/dev-python/pytest-aiohttp/pytest-aiohttp-1.0.5.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/pytest-asyncio/Manifest b/dev-python/pytest-asyncio/Manifest
index 9f4ad2907c17..dbbb81bfdec8 100644
--- a/dev-python/pytest-asyncio/Manifest
+++ b/dev-python/pytest-asyncio/Manifest
@@ -1,3 +1,2 @@
-DIST pytest-asyncio-0.21.1.tar.gz 30492 BLAKE2B 6a17f9ba89b8181b5fb734af6d0c0904a828156e63df910b4fe4adb9b93e240266063dcca8d97c8f9d784c6d5111796949fe32bb2832921919e41398ccffc155 SHA512 3aef14bade1dddab4320450d60c6909a76c7cf334d8225ad155b474b042d1c692edc5b567fb86ecf6b3453746105c3cecce86d2c6ff5cf6652d5147a8532cfd0
-DIST pytest-asyncio-0.22.0.tar.gz 37081 BLAKE2B 62941bdf10ee8a5195e900e71c7eba1810edd9721457656fc0b62dca3264f4ce0cba9221f80fd8a5249ee30e662cf068fcc8e491ba6b297e0370fcb04b7fe068 SHA512 7880b03c44997b0cb05b1c9633bf3e94e7eefc0396dc88512baf0e8f700508fa76eb9cbf2ce6d837be9ae0f1efb75343cdc32c7b2983e294ffa30e94893a3a2c
-DIST pytest-asyncio-0.23.0.tar.gz 43658 BLAKE2B 893b446018ce460825555b1f42c36b27a0c2330d08e7588a4f59e8b6390390040b49cee02f27369f3135e95402eab7e3573bbae381e5ce81f23e578b1f21fa9d SHA512 903ec009617385c2e95fcb03e1fe23b5d372f5aaa334c5156b0fe19aab7c3d0272e7e5869a89a6b1c4b3282deba5e37b0832a54518455e48af0ef2a51f4b9ce6
+DIST pytest_asyncio-0.23.7.tar.gz 46296 BLAKE2B afcdba0928f07e91ed68f54de2c1241fec784f164e3d5edb09908b913536edadbba7c90a73a8c843715da4567b18cc27929f31c6d0c2be3940e6ecc23abcc43c SHA512 d7164b060c1d0aa7999537e5681d2153662d49ec94e056da93b4cb2ba3dd0e3e5e4a68691c15b920c8e0ced03a4256620da600a33bcfa76b1adfa7ee66cd8de0
+DIST pytest_asyncio-0.23.8.tar.gz 46920 BLAKE2B 6b7a66e6ef28f2c7a874a115e0346b3803051df5d57e5b8ba35480982231a804adfbe8a4a2c605847730ea940fafe9df2aa94f5081b43aa753b64c3e2ea027a5 SHA512 68f23458c5f22bdb75a6a0a12f185b1f22c5231c0cdcd84806781419f5c866844e851398d771c5932af4a42b5dfdcce6624181f2c0d2f70187bb5feed0ba7c97
diff --git a/dev-python/pytest-asyncio/pytest-asyncio-0.21.1.ebuild b/dev-python/pytest-asyncio/pytest-asyncio-0.21.1.ebuild
deleted file mode 100644
index 68822fde2045..000000000000
--- a/dev-python/pytest-asyncio/pytest-asyncio-0.21.1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Library for testing asyncio code with pytest"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-asyncio/
- https://pypi.org/project/pytest-asyncio/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/pytest-5.4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-3.64[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on precise warning counts
- tests/test_pytest_min_version_warning.py
- tests/modes/test_legacy_mode.py
- tests/trio/test_fixtures.py::test_strict_mode_ignores_trio_fixtures
- tests/test_event_loop_fixture_finalizer.py::test_event_loop_fixture_finalizer_raises_warning_when_fixture_leaves_loop_unclosed
- tests/test_event_loop_fixture_finalizer.py::test_event_loop_fixture_finalizer_raises_warning_when_test_leaves_loop_unclosed
- # incorrect use of hypothesis, test removed in git
- # https://bugs.gentoo.org/916339
- tests/hypothesis/test_inherited_test.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_asyncio.plugin,_hypothesis_pytestplugin,flaky.flaky_pytest_plugin
- epytest
-}
diff --git a/dev-python/pytest-asyncio/pytest-asyncio-0.22.0.ebuild b/dev-python/pytest-asyncio/pytest-asyncio-0.22.0.ebuild
deleted file mode 100644
index 9756a65aac50..000000000000
--- a/dev-python/pytest-asyncio/pytest-asyncio-0.22.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Library for testing asyncio code with pytest"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-asyncio/
- https://pypi.org/project/pytest-asyncio/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/pytest-5.4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-3.64[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on precise warning counts
- tests/test_pytest_min_version_warning.py
- tests/modes/test_legacy_mode.py
- tests/trio/test_fixtures.py::test_strict_mode_ignores_trio_fixtures
- tests/test_event_loop_fixture_finalizer.py::test_event_loop_fixture_finalizer_raises_warning_when_fixture_leaves_loop_unclosed
- tests/test_event_loop_fixture_finalizer.py::test_event_loop_fixture_finalizer_raises_warning_when_test_leaves_loop_unclosed
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_asyncio.plugin,_hypothesis_pytestplugin,flaky.flaky_pytest_plugin
- epytest
-}
diff --git a/dev-python/pytest-asyncio/pytest-asyncio-0.23.0.ebuild b/dev-python/pytest-asyncio/pytest-asyncio-0.23.0.ebuild
deleted file mode 100644
index c35e42670f46..000000000000
--- a/dev-python/pytest-asyncio/pytest-asyncio-0.23.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Library for testing asyncio code with pytest"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-asyncio/
- https://pypi.org/project/pytest-asyncio/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/pytest-5.4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- >=dev-python/hypothesis-3.64[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # rely on precise warning counts
- tests/hypothesis/test_base.py::test_can_use_explicit_event_loop_fixture
- tests/modes/test_legacy_mode.py
- tests/modes/test_strict_mode.py::test_strict_mode_ignores_unmarked_fixture
- tests/test_event_loop_fixture_finalizer.py::test_event_loop_fixture_finalizer_raises_warning_when_fixture_leaves_loop_unclosed
- tests/test_event_loop_fixture_finalizer.py::test_event_loop_fixture_finalizer_raises_warning_when_test_leaves_loop_unclosed
- tests/test_pytest_min_version_warning.py
- tests/trio/test_fixtures.py::test_strict_mode_ignores_trio_fixtures
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_asyncio.plugin,_hypothesis_pytestplugin
- epytest
-}
diff --git a/dev-python/pytest-asyncio/pytest-asyncio-0.23.7.ebuild b/dev-python/pytest-asyncio/pytest-asyncio-0.23.7.ebuild
new file mode 100644
index 000000000000..40f237ee5133
--- /dev/null
+++ b/dev-python/pytest-asyncio/pytest-asyncio-0.23.7.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Library for testing asyncio code with pytest"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-asyncio/
+ https://pypi.org/project/pytest-asyncio/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/pytest-5.4.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hypothesis-3.64[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on precise warning counts
+ tests/hypothesis/test_base.py::test_can_use_explicit_event_loop_fixture
+ tests/modes/test_legacy_mode.py
+ tests/modes/test_strict_mode.py::test_strict_mode_ignores_unmarked_fixture
+ tests/test_event_loop_fixture_finalizer.py::test_event_loop_fixture_finalizer_raises_warning_when_fixture_leaves_loop_unclosed
+ tests/test_event_loop_fixture_finalizer.py::test_event_loop_fixture_finalizer_raises_warning_when_test_leaves_loop_unclosed
+ tests/test_pytest_min_version_warning.py
+ tests/trio/test_fixtures.py::test_strict_mode_ignores_trio_fixtures
+
+ # TODO
+ tests/test_is_async_test.py::test_returns_false_for_unmarked_coroutine_item_in_strict_mode
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_asyncio.plugin,_hypothesis_pytestplugin
+ epytest
+}
diff --git a/dev-python/pytest-asyncio/pytest-asyncio-0.23.8.ebuild b/dev-python/pytest-asyncio/pytest-asyncio-0.23.8.ebuild
new file mode 100644
index 000000000000..ccbee1a2f1c6
--- /dev/null
+++ b/dev-python/pytest-asyncio/pytest-asyncio-0.23.8.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Library for testing asyncio code with pytest"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-asyncio/
+ https://pypi.org/project/pytest-asyncio/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/pytest-5.4.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/hypothesis-3.64[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # rely on precise warning counts
+ tests/hypothesis/test_base.py::test_can_use_explicit_event_loop_fixture
+ tests/modes/test_legacy_mode.py
+ tests/modes/test_strict_mode.py::test_strict_mode_ignores_unmarked_fixture
+ tests/test_event_loop_fixture_finalizer.py::test_event_loop_fixture_finalizer_raises_warning_when_fixture_leaves_loop_unclosed
+ tests/test_event_loop_fixture_finalizer.py::test_event_loop_fixture_finalizer_raises_warning_when_test_leaves_loop_unclosed
+ tests/test_pytest_min_version_warning.py
+ tests/trio/test_fixtures.py::test_strict_mode_ignores_trio_fixtures
+
+ # TODO
+ tests/test_is_async_test.py::test_returns_false_for_unmarked_coroutine_item_in_strict_mode
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_asyncio.plugin,_hypothesis_pytestplugin
+ epytest
+}
diff --git a/dev-python/pytest-bdd/Manifest b/dev-python/pytest-bdd/Manifest
index d73e536d2f07..25f636991b6d 100644
--- a/dev-python/pytest-bdd/Manifest
+++ b/dev-python/pytest-bdd/Manifest
@@ -1,2 +1 @@
-DIST pytest-bdd-7.0.0.gh.tar.gz 80196 BLAKE2B cb34f5439959e93ccb68c566e284d1789a183dd85c1c3088d0c929373e88bd994de2ac159ea942119183976e64903cf7ca8f2b2137aad749f8b67728c541ee89 SHA512 0f95334a56ff7ccc774e5b94b91d232b829fb308a21ce975c88720493abbefa9e76fcd35cc2ca9bbbf0fd2e38b6f20f5be6cf59368aab4cf70abdaf24c7fd5ed
-DIST pytest-bdd-7.0.1.gh.tar.gz 80315 BLAKE2B 7838a71fc6f0e7a86337d3b4d4fb9e0e7a3a0149c4271ecd75b5c9b40a28ad6bf3d6ccbc90d4a49a5472ae158f7710d98f91be340e67995ba47ea729584d16e5 SHA512 60d9713485a4719c6589e6641b45045e79c063278359c14ccbd016a6b0a8c8eebbf93e61d59e037988247c0116023910aa5e6776896b64dc96dcc23d0dbf6e3b
+DIST pytest-bdd-7.2.0.gh.tar.gz 81301 BLAKE2B e47ec5873546596e913453f86d7c0654b8212de74b0bfa46022da093fa87191c9303559ec670bd37f94e282973192596c77a1f7293a608ae8dedbd863fc245c2 SHA512 d0991feb446f264f0f114693dccb67682a10a427cb5fda28dccafd67cc37810e00c34e3235bb38d02b7fa1edabf1359c6c119be9cfdce0ccf00235ca3dde337b
diff --git a/dev-python/pytest-bdd/pytest-bdd-7.0.0.ebuild b/dev-python/pytest-bdd/pytest-bdd-7.0.0.ebuild
deleted file mode 100644
index bc6223fab65a..000000000000
--- a/dev-python/pytest-bdd/pytest-bdd-7.0.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
-
-DESCRIPTION="BDD library for the pytest runner"
-HOMEPAGE="https://pytest-bdd.readthedocs.io/"
-SRC_URI="
- https://github.com/pytest-dev/pytest-bdd/archive/refs/tags/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-
-RDEPEND="
- dev-python/mako[${PYTHON_USEDEP}]
- dev-python/parse[${PYTHON_USEDEP}]
- dev-python/parse_type[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-DOCS=( AUTHORS.rst CHANGES.rst README.rst )
-
-src_test() {
- # terminal_reporter test needs exact wrapping
- local -x COLUMNS=80
-
- # hooks output parsing may be affected by other pytest-*, e.g. tornasync
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_bdd.plugin
-
- distutils-r1_src_test
-}
diff --git a/dev-python/pytest-bdd/pytest-bdd-7.0.1.ebuild b/dev-python/pytest-bdd/pytest-bdd-7.0.1.ebuild
deleted file mode 100644
index 29cf3065023a..000000000000
--- a/dev-python/pytest-bdd/pytest-bdd-7.0.1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
-
-DESCRIPTION="BDD library for the pytest runner"
-HOMEPAGE="https://pytest-bdd.readthedocs.io/"
-SRC_URI="
- https://github.com/pytest-dev/pytest-bdd/archive/refs/tags/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/mako[${PYTHON_USEDEP}]
- dev-python/parse[${PYTHON_USEDEP}]
- dev-python/parse_type[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-DOCS=( AUTHORS.rst CHANGES.rst README.rst )
-
-src_test() {
- # terminal_reporter test needs exact wrapping
- local -x COLUMNS=80
-
- # hooks output parsing may be affected by other pytest-*, e.g. tornasync
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_bdd.plugin
-
- distutils-r1_src_test
-}
diff --git a/dev-python/pytest-bdd/pytest-bdd-7.2.0.ebuild b/dev-python/pytest-bdd/pytest-bdd-7.2.0.ebuild
new file mode 100644
index 000000000000..88ef967028eb
--- /dev/null
+++ b/dev-python/pytest-bdd/pytest-bdd-7.2.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} )
+inherit distutils-r1
+
+DESCRIPTION="BDD library for the pytest runner"
+HOMEPAGE="https://pytest-bdd.readthedocs.io/"
+SRC_URI="
+ https://github.com/pytest-dev/pytest-bdd/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+
+RDEPEND="
+ dev-python/mako[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/parse[${PYTHON_USEDEP}]
+ dev-python/parse_type[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+DOCS=( AUTHORS.rst CHANGES.rst README.rst )
+
+src_test() {
+ # terminal_reporter test needs exact wrapping
+ local -x COLUMNS=80
+
+ # hooks output parsing may be affected by other pytest-*, e.g. tornasync
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_bdd.plugin
+
+ distutils-r1_src_test
+}
diff --git a/dev-python/pytest-check/Manifest b/dev-python/pytest-check/Manifest
index eb9ff80c7918..70bfe4e5dd87 100644
--- a/dev-python/pytest-check/Manifest
+++ b/dev-python/pytest-check/Manifest
@@ -1 +1 @@
-DIST pytest_check-2.2.2.tar.gz 26353 BLAKE2B 90e95aaddfb3f595b7f0ac7fe8f75cc0dbe173dfcd30aa888cebca9e61ddd67a1a25bb5e152151c86c7bd6144f6875622c8c3a53c3453281b94f2e74a4b465e5 SHA512 27f6df34450db762fb6656b255d34bf6656bacefc68cdd050e100dcf53df1406c6983a509c7b7cc3cc37664c06d3798254a350ba9c0ebcf9095cb7aa1bd11557
+DIST pytest_check-2.3.1.tar.gz 28674 BLAKE2B 732538aec690d121132a0594a49b77658eb8be79d6e59bacae1d13ea38e59dd3e4b55c62fc07741e08621dda271d7d2284f825770a2acef7d5b0c80c80e79beb SHA512 b4a2805b7dc3dfe9f56db6f27a9e4927de070d57bf3906f303c611021081d7b638d9ee58de744491005e10541f527f1bfddaf51be64f2def8a1190cfd1abd43a
diff --git a/dev-python/pytest-check/pytest-check-2.2.2.ebuild b/dev-python/pytest-check/pytest-check-2.2.2.ebuild
deleted file mode 100644
index 5a6eb521467d..000000000000
--- a/dev-python/pytest-check/pytest-check-2.2.2.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="pytest plugin that allows multiple failures per test"
-HOMEPAGE="
- https://github.com/okken/pytest-check/
- https://pypi.org/project/pytest-check/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/colorama-0.4.6[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-check/pytest-check-2.3.1.ebuild b/dev-python/pytest-check/pytest-check-2.3.1.ebuild
new file mode 100644
index 000000000000..a23f44d5ee03
--- /dev/null
+++ b/dev-python/pytest-check/pytest-check-2.3.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin that allows multiple failures per test"
+HOMEPAGE="
+ https://github.com/okken/pytest-check/
+ https://pypi.org/project/pytest-check/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/colorama-0.4.6[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-codeblocks/Manifest b/dev-python/pytest-codeblocks/Manifest
index a7c6ed753267..2279b509d24b 100644
--- a/dev-python/pytest-codeblocks/Manifest
+++ b/dev-python/pytest-codeblocks/Manifest
@@ -1,2 +1 @@
-DIST pytest-codeblocks-0.16.1.gh.tar.gz 8900 BLAKE2B 1e884f445975c4c685e763560a8bb5516bd7213b09a8c967948347e455816766dccfd0984fb5746949f90afdf00e0fe21a52f41be65933532d8763ed6ea716a1 SHA512 4c3d91488550373832c8dd45b39873ae3810b423147b3b9524afc8e205605324092b4462b62acf2e34e70b5456795834cae511d9c9a06e08288a46cdb38b1778
DIST pytest-codeblocks-0.17.0.gh.tar.gz 9104 BLAKE2B 50f6d7cdf0c2d355c91a1a518622f65c4520a4e655d9c6aae64b0ea7697cf2605f37cf070fc9b7c60c2aef655b5a9adacd5acf4dbfbca2ccb8224316733dc269 SHA512 20044f10e997fbe15a8389aebdad324c2b102a11287315c8c85042f5497f51723c030b918f0cd923beb9f0c5b33a41673426a8c550814e1bd8b9b5476dd0dbf5
diff --git a/dev-python/pytest-codeblocks/pytest-codeblocks-0.16.1.ebuild b/dev-python/pytest-codeblocks/pytest-codeblocks-0.16.1.ebuild
deleted file mode 100644
index a3ba326e80ee..000000000000
--- a/dev-python/pytest-codeblocks/pytest-codeblocks-0.16.1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Extract code blocks from markdown"
-HOMEPAGE="
- https://github.com/nschloe/pytest-codeblocks/
- https://pypi.org/project/pytest_codeblocks/
-"
-SRC_URI="
- https://github.com/nschloe/pytest-codeblocks/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest -p pytester
-}
diff --git a/dev-python/pytest-codeblocks/pytest-codeblocks-0.17.0.ebuild b/dev-python/pytest-codeblocks/pytest-codeblocks-0.17.0.ebuild
index c13e911c07cc..ebc8e138459c 100644
--- a/dev-python/pytest-codeblocks/pytest-codeblocks-0.17.0.ebuild
+++ b/dev-python/pytest-codeblocks/pytest-codeblocks-0.17.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pytest-console-scripts/pytest-console-scripts-1.4.1.ebuild b/dev-python/pytest-console-scripts/pytest-console-scripts-1.4.1.ebuild
index 3d29146a60fc..cf86cf552bb0 100644
--- a/dev-python/pytest-console-scripts/pytest-console-scripts-1.4.1.ebuild
+++ b/dev-python/pytest-console-scripts/pytest-console-scripts-1.4.1.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -34,6 +34,6 @@ python_test() {
sys.exit(pytest.console_main())
EOF
chmod +x "${script}" || die
- epytest
+ epytest -o tmp_path_retention_count=1
rm "${script}" || die
}
diff --git a/dev-python/pytest-cov/Manifest b/dev-python/pytest-cov/Manifest
index 5260ebbd259a..5e6613bf2053 100644
--- a/dev-python/pytest-cov/Manifest
+++ b/dev-python/pytest-cov/Manifest
@@ -1 +1 @@
-DIST pytest-cov-4.1.0.tar.gz 63245 BLAKE2B ed69b96f2117fb924c47b5d80c4e01ec2ab27162ee31a91943e72927a919fe194a8a67ee86eb6bae68ac5a34288c91c57edd8a4800dbffca83f7da4006792d04 SHA512 1280e338ad236ae6757e4538a641fef740bee6c85c5af1f649ba4f28fd99f84ff1048ae40b8633d1751ea248788c1efd401aa078b3aa5929a9249514e5722fc1
+DIST pytest-cov-5.0.0.tar.gz 63042 BLAKE2B 6a0f3b38bbf6ae8843d804d078b3879e76ef146ba1bee2eb068bffe560332984994a8405964be185b2ededc2c8231288e609573c5a83143147eeb537659da1e5 SHA512 384459cafdb800711b935899acc3716f5fcbc28b40be0e168e58333603b1dea474bbd7a92f09b6afbe2f9dc1ce8599668a787c0f93884c263af894f44311a4a6
diff --git a/dev-python/pytest-cov/pytest-cov-4.1.0.ebuild b/dev-python/pytest-cov/pytest-cov-4.1.0.ebuild
deleted file mode 100644
index e3c664021481..000000000000
--- a/dev-python/pytest-cov/pytest-cov-4.1.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="pytest plugin for coverage reporting"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-cov/
- https://pypi.org/project/pytest-cov/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/py-1.4.22[${PYTHON_USEDEP}]
- >=dev-python/pytest-3.6[${PYTHON_USEDEP}]
- >=dev-python/coverage-6.4.4-r1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/fields[${PYTHON_USEDEP}]
- >=dev-python/process-tests-2.0.2[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-4.0.0-pytest-xdist-2.5.0.patch
-)
-
-distutils_enable_sphinx docs \
- dev-python/sphinx-py3doc-enhanced-theme
-distutils_enable_tests pytest
-
-python_test() {
- # NB: disabling all plugins speeds tests up a lot
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_cov.plugin,xdist.plugin,xdist.looponfail
-
- local src=$(
- "${EPYTHON}" -c "import coverage as m; print(*m.__path__)" || die
- )
- # TODO: why do we need to do that?!
- # https://github.com/pytest-dev/pytest-cov/issues/517
- ln -s "${src}" \
- "${BUILD_DIR}/install$(python_get_sitedir)/coverage" || die
-
- nonfatal epytest -n "$(makeopts_jobs)" --dist=worksteal
- local ret=${?}
-
- rm "${BUILD_DIR}/install$(python_get_sitedir)/coverage" || die
-
- [[ ${ret} -ne 0 ]] && die "epytest failed on ${EPYTHON}"
-}
diff --git a/dev-python/pytest-cov/pytest-cov-5.0.0.ebuild b/dev-python/pytest-cov/pytest-cov-5.0.0.ebuild
new file mode 100644
index 000000000000..042cbd7e6909
--- /dev/null
+++ b/dev-python/pytest-cov/pytest-cov-5.0.0.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="pytest plugin for coverage reporting"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-cov/
+ https://pypi.org/project/pytest-cov/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/py-1.4.22[${PYTHON_USEDEP}]
+ >=dev-python/pytest-3.6[${PYTHON_USEDEP}]
+ >=dev-python/coverage-6.4.4-r1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/fields[${PYTHON_USEDEP}]
+ >=dev-python/process-tests-2.0.2[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-4.0.0-pytest-xdist-2.5.0.patch
+)
+
+distutils_enable_sphinx docs \
+ dev-python/furo
+distutils_enable_tests pytest
+
+python_test() {
+ # NB: disabling all plugins speeds tests up a lot
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_cov.plugin,xdist.plugin,xdist.looponfail
+
+ local src=$(
+ "${EPYTHON}" -c "import coverage as m; print(*m.__path__)" || die
+ )
+ # TODO: why do we need to do that?!
+ # https://github.com/pytest-dev/pytest-cov/issues/517
+ ln -s "${src}" \
+ "${BUILD_DIR}/install$(python_get_sitedir)/coverage" || die
+
+ nonfatal epytest -n "$(makeopts_jobs)" --dist=worksteal
+ local ret=${?}
+
+ rm "${BUILD_DIR}/install$(python_get_sitedir)/coverage" || die
+
+ [[ ${ret} -ne 0 ]] && die "epytest failed on ${EPYTHON}"
+}
diff --git a/dev-python/pytest-custom-exit-code/pytest-custom-exit-code-0.3.0.ebuild b/dev-python/pytest-custom-exit-code/pytest-custom-exit-code-0.3.0.ebuild
index a34aec63857e..585a544ad31c 100644
--- a/dev-python/pytest-custom-exit-code/pytest-custom-exit-code-0.3.0.ebuild
+++ b/dev-python/pytest-custom-exit-code/pytest-custom-exit-code-0.3.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
MY_PN=${PN//-/_}
@@ -21,7 +21,7 @@ S="${WORKDIR}/${MY_PN}-${PV}"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
+KEYWORDS="amd64 ~riscv ~x86"
RDEPEND="
>=dev-python/pytest-7.0.2[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-datadir/pytest-datadir-1.5.0.ebuild b/dev-python/pytest-datadir/pytest-datadir-1.5.0.ebuild
index 18071bf80034..0ebac5d08212 100644
--- a/dev-python/pytest-datadir/pytest-datadir-1.5.0.ebuild
+++ b/dev-python/pytest-datadir/pytest-datadir-1.5.0.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild b/dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild
index 085d0e11c791..1a3c593de3cf 100644
--- a/dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild
+++ b/dev-python/pytest-datafiles/pytest-datafiles-3.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="~amd64 ~arm64 ~ppc ~sparc ~x86"
RDEPEND="
>=dev-python/pytest-3.6[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-describe/Manifest b/dev-python/pytest-describe/Manifest
index 344436ec5567..2a8fd7aaa2d9 100644
--- a/dev-python/pytest-describe/Manifest
+++ b/dev-python/pytest-describe/Manifest
@@ -1 +1 @@
-DIST pytest-describe-2.1.0.tar.gz 10272 BLAKE2B aa0ff1cdcdeeea7f5dee444502eb304415c91d4a54d7caa1b0daa3f6e9546947a51d6d801ca6befaf5f8633f0d4c770c9b7218e2ea1f0412d11a8b21abd3c284 SHA512 ca15a6d2c3bc42cf9bc7dd4359c4e6d1e793862ab256e1b43940f8d1605cb065d260128c6931a79226b5288caa67f0c3934650ce95aa413d65200c53fdc1f817
+DIST pytest-describe-2.2.0.tar.gz 10907 BLAKE2B 1a99cf3060b36caa44fba91d71ae2e66d13dd68c397c1469af1b93f5fee93ace9ef52d985fdd04c46805ab7d50be3f5af1344cec8b8c1d88f4c752d2afa6f58f SHA512 d4bb79edeeb7169deeabbc7f98700b8084f14ba7596c523a52634637cdb642a76a203b15b6c40b23c08de578dafe43a232f39bbc55caee23aeca61558e51cdc9
diff --git a/dev-python/pytest-describe/pytest-describe-2.1.0.ebuild b/dev-python/pytest-describe/pytest-describe-2.1.0.ebuild
deleted file mode 100644
index a99e3ba6aed3..000000000000
--- a/dev-python/pytest-describe/pytest-describe-2.1.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Describe-style plugin for pytest"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-describe/
- https://pypi.org/project/pytest-describe/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"
-
-RDEPEND="
- <dev-python/pytest-8[${PYTHON_USEDEP}]
- >=dev-python/pytest-2.6.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_describe.plugin
- epytest
-}
diff --git a/dev-python/pytest-describe/pytest-describe-2.2.0.ebuild b/dev-python/pytest-describe/pytest-describe-2.2.0.ebuild
new file mode 100644
index 000000000000..35f8cf927be0
--- /dev/null
+++ b/dev-python/pytest-describe/pytest-describe-2.2.0.ebuild
@@ -0,0 +1,33 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Describe-style plugin for pytest"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-describe/
+ https://pypi.org/project/pytest-describe/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~ia64 ~ppc ~ppc64 ~sparc x86"
+
+RDEPEND="
+ <dev-python/pytest-9[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.6.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_describe.plugin
+ epytest
+}
diff --git a/dev-python/pytest-django/Manifest b/dev-python/pytest-django/Manifest
index 9a2e3085b722..d7ff8ae7054b 100644
--- a/dev-python/pytest-django/Manifest
+++ b/dev-python/pytest-django/Manifest
@@ -1 +1 @@
-DIST pytest-django-4.7.0.gh.tar.gz 77146 BLAKE2B 7e5b0c1bc1e3953794f39cf425150a4963acab44295a23d3ee67147d3b6bdb66b56de165caae6ba2cfaa083e9b2de9c13ead699cee46008afeded65ba743b3d3 SHA512 090337442568b43e9da4ec2b3d0c1f862e44c90a3852906338928a968e4fa89ef9e9e930f43d067e48dde317aeba465ec374be9d5ec74c835ad7e1cea9cba93b
+DIST pytest-django-4.8.0.gh.tar.gz 77646 BLAKE2B 206357110066d233c103755cfd6324e8042d9c93442c25db17a13f02132eab60a315856441e26d43a3c493cf72ce39ef51163ccc5368941875e63656bf9122a7 SHA512 8f7ba6b28cc4c0347876beb85247ccd021767811b9122c8cd0fb5d051df4ae76267b27a3fee5c36882a40716bdcbaab43abf71ef8dd61757087b12fd141632aa
diff --git a/dev-python/pytest-django/pytest-django-4.7.0.ebuild b/dev-python/pytest-django/pytest-django-4.7.0.ebuild
deleted file mode 100644
index c2ac99f2e00a..000000000000
--- a/dev-python/pytest-django/pytest-django-4.7.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Django plugin for pytest"
-HOMEPAGE="
- https://pypi.org/project/pytest-django/
- https://pytest-django.readthedocs.io/
- https://github.com/pytest-dev/pytest-django/
-"
-SRC_URI="
- https://github.com/pytest-dev/pytest-django/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-1.11.1[${PYTHON_USEDEP}]
- test? (
- dev-python/django[${PYTHON_USEDEP}]
- >=dev-python/django-configurations-2.0[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x DJANGO_SETTINGS_MODULE
- local -x PYTHONPATH=${PWD}
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_django.plugin,xdist.plugin
- for DJANGO_SETTINGS_MODULE in pytest_django_test.settings_sqlite{,_file}; do
- einfo "Testing ${DJANGO_SETTINGS_MODULE}"
- epytest tests
- done
-}
diff --git a/dev-python/pytest-django/pytest-django-4.8.0.ebuild b/dev-python/pytest-django/pytest-django-4.8.0.ebuild
new file mode 100644
index 000000000000..e9f8ef79b886
--- /dev/null
+++ b/dev-python/pytest-django/pytest-django-4.8.0.ebuild
@@ -0,0 +1,51 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Django plugin for pytest"
+HOMEPAGE="
+ https://pypi.org/project/pytest-django/
+ https://pytest-django.readthedocs.io/
+ https://github.com/pytest-dev/pytest-django/
+"
+SRC_URI="
+ https://github.com/pytest-dev/pytest-django/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-1.11.1[${PYTHON_USEDEP}]
+ test? (
+ dev-python/django[${PYTHON_USEDEP}]
+ >=dev-python/django-configurations-2.0[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x DJANGO_SETTINGS_MODULE
+ local -x PYTHONPATH=${PWD}
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_django.plugin,xdist.plugin
+ for DJANGO_SETTINGS_MODULE in pytest_django_test.settings_sqlite{,_file}; do
+ einfo "Testing ${DJANGO_SETTINGS_MODULE}"
+ epytest tests
+ done
+}
diff --git a/dev-python/pytest-env/Manifest b/dev-python/pytest-env/Manifest
index f92e93b08c83..15b015fec5c5 100644
--- a/dev-python/pytest-env/Manifest
+++ b/dev-python/pytest-env/Manifest
@@ -1,2 +1 @@
-DIST pytest_env-1.1.1.tar.gz 8625 BLAKE2B e455f4183a7c423895f69e8a598c2fd312594501855b650008960cd94757aed4e2cf96302974bd68777a4a75e4363e3facc77ac9ac8a79f11f709f172852d105 SHA512 dffe17d1e7a2f0a8d26fd13ebc5f87ee834f03cbcf9870899952c306bdefafd9b3bc8f6120142c22d82cace28ee6b681e40b8eb71cd3c77781bf56c269c28feb
DIST pytest_env-1.1.3.tar.gz 8627 BLAKE2B 04aee8a84b2224ce1f0bb018d0d5a8f8542d32aa3e3da0ed03afdace2562b1643f712152128f7d673e118a4db9ab10c7440f44728ba774519ceb989b4c9be7f2 SHA512 c38371a272987757774bed6b566b55ba2304ca37e69f3f5671fb03735bbdfe5e51c3b03cd885d6bdbd73496daa95a57d79e03bf5d9171f0e9c5c0ae38492b304
diff --git a/dev-python/pytest-env/metadata.xml b/dev-python/pytest-env/metadata.xml
index 8995e4d03d6e..4213ff39917c 100644
--- a/dev-python/pytest-env/metadata.xml
+++ b/dev-python/pytest-env/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/pytest-env/pytest-env-1.1.1.ebuild b/dev-python/pytest-env/pytest-env-1.1.1.ebuild
deleted file mode 100644
index 6848eed338b2..000000000000
--- a/dev-python/pytest-env/pytest-env-1.1.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="pytest plugin that allows you to add environment variables"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-env/
- https://pypi.org/project/pytest-env/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~hppa ~ppc ~ppc64 x86"
-
-RDEPEND="
- >=dev-python/pytest-7.4.2[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- >=dev-python/hatch-vcs-0.3[${PYTHON_USEDEP}]
- test? (
- >=dev-python/pytest-mock-3.10.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/pytest-env/pytest-env-1.1.3.ebuild b/dev-python/pytest-env/pytest-env-1.1.3.ebuild
index 407864cef54b..8d193a949d7c 100644
--- a/dev-python/pytest-env/pytest-env-1.1.3.ebuild
+++ b/dev-python/pytest-env/pytest-env-1.1.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~hppa ~ppc ~ppc64 ~x86"
+KEYWORDS="amd64 arm64 ~hppa ~ppc ~ppc64 x86"
RDEPEND="
>=dev-python/pytest-7.4.2[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-expect/pytest-expect-1.1.0-r2.ebuild b/dev-python/pytest-expect/pytest-expect-1.1.0-r2.ebuild
index 9d7d3ff01846..3ac1fb105815 100644
--- a/dev-python/pytest-expect/pytest-expect-1.1.0-r2.ebuild
+++ b/dev-python/pytest-expect/pytest-expect-1.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/pytest-faulthandler/Manifest b/dev-python/pytest-faulthandler/Manifest
deleted file mode 100644
index 782d8185b0a9..000000000000
--- a/dev-python/pytest-faulthandler/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pytest-faulthandler-2.0.1.tar.gz 3629 BLAKE2B f66b6989673b179b3ad3f583b9e7b9615b08e1e062f06969f37bd8a9a57e58bd0207544b0c11aa4a9d03f4db40a125bbbe1924160b2bdcb2c0c589de07281570 SHA512 184b4228693db0f15fdcf250f09c3ee9ef4767e744af9000ec46876f0c68e17434a6d1e25c7d59f610b2baa659d7af5a784cbf0e5e29b105f48d50d00cb1a7ca
diff --git a/dev-python/pytest-faulthandler/metadata.xml b/dev-python/pytest-faulthandler/metadata.xml
deleted file mode 100644
index 54988107e7b4..000000000000
--- a/dev-python/pytest-faulthandler/metadata.xml
+++ /dev/null
@@ -1,9 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- maintainer-needed -->
- <upstream>
- <remote-id type="pypi">pytest-faulthandler</remote-id>
- </upstream>
- <stabilize-allarches/>
-</pkgmetadata>
diff --git a/dev-python/pytest-faulthandler/pytest-faulthandler-2.0.1-r1.ebuild b/dev-python/pytest-faulthandler/pytest-faulthandler-2.0.1-r1.ebuild
deleted file mode 100644
index 16aec70381d8..000000000000
--- a/dev-python/pytest-faulthandler/pytest-faulthandler-2.0.1-r1.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Pytest plugin that activates the fault handler module for tests"
-HOMEPAGE="https://github.com/pytest-dev/pytest-faulthandler"
-SRC_URI="
- https://github.com/pytest-dev/pytest-faulthandler/archive/${PV}.tar.gz
- -> ${P}.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- >=dev-python/pytest-5.0[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/pytest-fixture-config/Manifest b/dev-python/pytest-fixture-config/Manifest
deleted file mode 100644
index cd6c26d940aa..000000000000
--- a/dev-python/pytest-fixture-config/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pytest-fixture-config-1.7.0.tar.gz 9884 BLAKE2B d844b07a8b7d59f6761ee71147a0945225a3f30bdd9b0751972bf6149b444ad95c49f3d5001d6414c535c1a230ed1e47ceb90b26c50324ec21165430e633cc21 SHA512 c861bbbb91efff338255734ddb4a8b615880c32a12c981160e9e7575d38adff8c5febad46bb9b4208634e39d4cfa73dec342265ccc1951168c1b12fd334cd746
diff --git a/dev-python/pytest-fixture-config/metadata.xml b/dev-python/pytest-fixture-config/metadata.xml
deleted file mode 100644
index 17b4f2cefce4..000000000000
--- a/dev-python/pytest-fixture-config/metadata.xml
+++ /dev/null
@@ -1,21 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <maintainer>
- <email>eeaston@gmail.com</email>
- <name>Edward Easton</name>
- </maintainer>
- <remote-id type="pypi">pytest-fixture-config</remote-id>
- <remote-id type="github">man-group/pytest-plugins</remote-id>
- </upstream>
- <longdescription>
- Simple configuration objects for Py.test fixtures. Allows you to skip
- tests when their required config variables aren't set.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-python/pytest-fixture-config/pytest-fixture-config-1.7.0-r2.ebuild b/dev-python/pytest-fixture-config/pytest-fixture-config-1.7.0-r2.ebuild
deleted file mode 100644
index 3364df7e0250..000000000000
--- a/dev-python/pytest-fixture-config/pytest-fixture-config-1.7.0-r2.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Virtualenv fixture for py.test"
-HOMEPAGE="
- https://github.com/man-group/pytest-plugins/
- https://pypi.org/project/pytest-fixture-config/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- dev-python/pytest[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/setuptools-git[${PYTHON_USEDEP}]
- test? (
- dev-python/six[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-8.patch b/dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-8.patch
new file mode 100644
index 000000000000..889405c00fad
--- /dev/null
+++ b/dev-python/pytest-forked/files/pytest-forked-1.6.0-pytest-8.patch
@@ -0,0 +1,48 @@
+From 398f003660dda242b97217390718a2a90c3d7a88 Mon Sep 17 00:00:00 2001
+From: Stanislav Levin <slev@altlinux.org>
+Date: Tue, 13 Feb 2024 12:44:53 +0300
+Subject: [PATCH] Sync expected test_xfail's xpassed summary to Pytest 8
+
+With Pytest 8:
+https://docs.pytest.org/en/stable/changelog.html#pytest-8-0-0rc2-2024-01-17
+
+> For xpasses, add - in summary between test name and reason, to match how xfail is displayed.
+
+Fixes: https://github.com/pytest-dev/pytest-forked/issues/89
+Signed-off-by: Stanislav Levin <slev@altlinux.org>
+---
+ testing/test_xfail_behavior.py | 11 +++++------
+ 1 file changed, 5 insertions(+), 6 deletions(-)
+
+diff --git a/testing/test_xfail_behavior.py b/testing/test_xfail_behavior.py
+index 15edd93..d4e5ee7 100644
+--- a/testing/test_xfail_behavior.py
++++ b/testing/test_xfail_behavior.py
+@@ -7,6 +7,7 @@ import pytest
+ IS_PYTEST4_PLUS = int(pytest.__version__[0]) >= 4 # noqa: WPS609
+ FAILED_WORD = "FAILED" if IS_PYTEST4_PLUS else "FAIL"
+ PYTEST_GTE_7_2 = hasattr(pytest, "version_tuple") and pytest.version_tuple >= (7, 2) # type: ignore[attr-defined]
++PYTEST_GTE_8_0 = hasattr(pytest, "version_tuple") and pytest.version_tuple >= (8, 0) # type: ignore[attr-defined]
+
+ pytestmark = pytest.mark.skipif( # pylint: disable=invalid-name
+ not hasattr(os, "fork"), # noqa: WPS421
+@@ -60,12 +61,10 @@ def test_xfail(is_crashing, is_strict, testdir):
+ if expected_lowercase == "xpassed":
+ # XPASS wouldn't have the crash message from
+ # pytest-forked because the crash doesn't happen
+- short_test_summary = " ".join(
+- (
+- short_test_summary,
+- "The process gets terminated",
+- )
+- )
++ if PYTEST_GTE_8_0:
++ short_test_summary += " -"
++ short_test_summary += " The process gets terminated"
++
+ reason_string = (
+ f"reason: The process gets terminated; "
+ f"pytest-forked reason: "
+--
+2.45.2
+
diff --git a/dev-python/pytest-forked/pytest-forked-1.6.0.ebuild b/dev-python/pytest-forked/pytest-forked-1.6.0.ebuild
index 3c55c44a4c2e..8771b249acd4 100644
--- a/dev-python/pytest-forked/pytest-forked-1.6.0.ebuild
+++ b/dev-python/pytest-forked/pytest-forked-1.6.0.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -15,8 +15,8 @@ HOMEPAGE="
https://github.com/pytest-dev/pytest-forked/
"
-SLOT="0"
LICENSE="MIT"
+SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
# Please do not RDEPEND on pytest; this package won't do anything
@@ -31,16 +31,20 @@ BDEPEND="
distutils_enable_tests pytest
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/pytest-dev/pytest-forked/pull/90
+ "${FILESDIR}/${P}-pytest-8.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # this is not printed when loaded via PYTEST_PLUGINS
+ sed -i -e '/loaded_pytest_plugins/d' testing/test_xfail_behavior.py || die
+}
+
python_test() {
- [[ ${PV} != 1.6.0 ]] && die "Recheck the deselect, please"
- local EPYTEST_DESELECT=()
- if [[ ${EPYTHON} == python3.12 ]]; then
- EPYTEST_DESELECT+=(
- # failing due to warnings coming from pytest
- # https://github.com/gentoo/gentoo/pull/31151
- testing/test_xfail_behavior.py::test_xfail
- )
- fi
-
- epytest -p no:flaky
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_forked
+ epytest -o tmp_path_retention_count=1
}
diff --git a/dev-python/pytest-freezegun/pytest-freezegun-0.4.2-r1.ebuild b/dev-python/pytest-freezegun/pytest-freezegun-0.4.2-r1.ebuild
index a29dbac76794..a217130f6f15 100644
--- a/dev-python/pytest-freezegun/pytest-freezegun-0.4.2-r1.ebuild
+++ b/dev-python/pytest-freezegun/pytest-freezegun-0.4.2-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pytest-freezer/pytest-freezer-0.4.8.ebuild b/dev-python/pytest-freezer/pytest-freezer-0.4.8.ebuild
index 674722ca84af..57ee09e3e855 100644
--- a/dev-python/pytest-freezer/pytest-freezer-0.4.8.ebuild
+++ b/dev-python/pytest-freezer/pytest-freezer-0.4.8.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/freezegun-1.0[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-golden/metadata.xml b/dev-python/pytest-golden/metadata.xml
index 8eb191339305..d96c8fa54a8f 100644
--- a/dev-python/pytest-golden/metadata.xml
+++ b/dev-python/pytest-golden/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
diff --git a/dev-python/pytest-golden/pytest-golden-0.2.2-r1.ebuild b/dev-python/pytest-golden/pytest-golden-0.2.2-r1.ebuild
index f27b7bd47795..a34d82d4ebc4 100644
--- a/dev-python/pytest-golden/pytest-golden-0.2.2-r1.ebuild
+++ b/dev-python/pytest-golden/pytest-golden-0.2.2-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pytest-helpers-namespace/pytest-helpers-namespace-2021.12.29-r1.ebuild b/dev-python/pytest-helpers-namespace/pytest-helpers-namespace-2021.12.29-r1.ebuild
index 73107fc7b30c..5b8f0ab7c685 100644
--- a/dev-python/pytest-helpers-namespace/pytest-helpers-namespace-2021.12.29-r1.ebuild
+++ b/dev-python/pytest-helpers-namespace/pytest-helpers-namespace-2021.12.29-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pytest-home/Manifest b/dev-python/pytest-home/Manifest
new file mode 100644
index 000000000000..96f9ab0e2ae5
--- /dev/null
+++ b/dev-python/pytest-home/Manifest
@@ -0,0 +1 @@
+DIST pytest-home-0.5.1.tar.gz 7596 BLAKE2B 3e0ac21a35bff15e652d710bab0c59855c9beda9a1aa32ca5e3aa9e659dabb5a09bc0e93c56f280e859a1d50159f6e56aaf69ec64ee5268a1a93871bca3b3a23 SHA512 6b3ab71f48135d7fe3e0279de598e8067bfeb1f3295d4ab947ff703e8c8c6b61d827ce30f86da15b854a09b813105e459eed02af19da22debd25df20759759b8
diff --git a/dev-python/pytest-home/metadata.xml b/dev-python/pytest-home/metadata.xml
new file mode 100644
index 000000000000..01af36105bbf
--- /dev/null
+++ b/dev-python/pytest-home/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- please remove python@ if tests do not work -->
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">jaraco/pytest-home</remote-id>
+ <remote-id type="pypi">pytest-home</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytest-home/pytest-home-0.5.1.ebuild b/dev-python/pytest-home/pytest-home-0.5.1.ebuild
new file mode 100644
index 000000000000..98e822a8cf57
--- /dev/null
+++ b/dev-python/pytest-home/pytest-home-0.5.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 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=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Home directory fixtures"
+HOMEPAGE="
+ https://github.com/jaraco/pytest-home/
+ https://pypi.org/project/pytest-home/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-vcs/git
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-httpbin/pytest-httpbin-2.0.0.ebuild b/dev-python/pytest-httpbin/pytest-httpbin-2.0.0.ebuild
index 01474d6bfca4..1a7562c8814a 100644
--- a/dev-python/pytest-httpbin/pytest-httpbin-2.0.0.ebuild
+++ b/dev-python/pytest-httpbin/pytest-httpbin-2.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/pytest-httpserver/Manifest b/dev-python/pytest-httpserver/Manifest
index 5d0d51c5091b..c02cf9663032 100644
--- a/dev-python/pytest-httpserver/Manifest
+++ b/dev-python/pytest-httpserver/Manifest
@@ -1 +1,3 @@
-DIST pytest_httpserver-1.0.8.tar.gz 60126 BLAKE2B 9da65074aeca7de6a91c7afab7ac83ec8724c0595efe4abe7f3e2951ac37137c48a770ea1b5baeeb7484d647c1a03c20c86ad4de7627fb63beef174a2f7c3925 SHA512 5acff56b1c250c190da6466d398c10f206a24fe4112628ba4ec56bb2e23e21408b13d22ab6ad428e7ad7e685d7f2e73d5fc4b7afe86e7cb88d844a6e8e1a6bb4
+DIST pytest_httpserver-1.0.10.tar.gz 60446 BLAKE2B 99d1db58f7b6fab78b687db0fc2448cbd9a3132b999e4d0ca1c8533ec2afebc717b9c28a16635260fb305aaafb832f591d28752ba3930473312a677dfaffd0be SHA512 f8636ccf757f687666a5336db66ac061ea6205979c7bbf8c9a2534282d8559453a7470318c07384aa755282c12e63537cce2ab9e9f3b2fbcda0e649ed2a45f92
+DIST pytest_httpserver-1.0.11.tar.gz 66742 BLAKE2B 641c566b2ae349bf02f9a457c488ac6820cbeabbf430d12d84ba02b09382947aa60b61a6a1578b260d160b3e8d01c37745dfd2e90bdb6aea40f546a8103b367f SHA512 3d3055bc48bbe523fddbf9e9ba3495c3141a6dcd4f8b2cf9c19f11d1e6f4a93eebe64bb920ea5bd3bc0d30f4469ecb9a8beca35fc844ca2c62f6868edcb570ee
+DIST pytest_httpserver-1.0.12.tar.gz 66948 BLAKE2B b50871038b1c313db76c456e86bfe82046bcb8207cb72126db18bde5dea4e3cabb6740a19d27eba672967078f60978c1b20946bf502837e0859d957d0318afeb SHA512 fd3d290b23137d0c2893672611e7087e86ed47ccda865779304d177ac2ef6e0068321eb42f42ec89db859fb66910ad68399d3a4aefde250bd207ab9ff4666e3e
diff --git a/dev-python/pytest-httpserver/metadata.xml b/dev-python/pytest-httpserver/metadata.xml
index 7c1d1a182b30..36e3fb944f0e 100644
--- a/dev-python/pytest-httpserver/metadata.xml
+++ b/dev-python/pytest-httpserver/metadata.xml
@@ -7,7 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="pypi">pytest-httpserver</remote-id>
+ <remote-id type="pypi">pytest_httpserver</remote-id>
<remote-id type="github">csernazs/pytest-httpserver</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pytest-httpserver/pytest-httpserver-1.0.10.ebuild b/dev-python/pytest-httpserver/pytest-httpserver-1.0.10.ebuild
new file mode 100644
index 000000000000..f6b937f9a051
--- /dev/null
+++ b/dev-python/pytest-httpserver/pytest-httpserver-1.0.10.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="HTTP server for pytest to test HTTP clients"
+HOMEPAGE="
+ https://github.com/csernazs/pytest-httpserver/
+ https://pypi.org/project/pytest_httpserver/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # tests from building release artifacts
+ tests/test_release.py
+ )
+
+ epytest -p no:localserver
+}
diff --git a/dev-python/pytest-httpserver/pytest-httpserver-1.0.11.ebuild b/dev-python/pytest-httpserver/pytest-httpserver-1.0.11.ebuild
new file mode 100644
index 000000000000..ecf968face41
--- /dev/null
+++ b/dev-python/pytest-httpserver/pytest-httpserver-1.0.11.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="HTTP server for pytest to test HTTP clients"
+HOMEPAGE="
+ https://github.com/csernazs/pytest-httpserver/
+ https://pypi.org/project/pytest_httpserver/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # confused by extra compressors available (for Accept-Encoding)
+ tests/test_log_querying.py::test_verify_assert_msg
+ )
+ local EPYTEST_IGNORE=(
+ # tests from building release artifacts
+ tests/test_release.py
+ )
+
+ epytest -p no:localserver
+}
diff --git a/dev-python/pytest-httpserver/pytest-httpserver-1.0.12.ebuild b/dev-python/pytest-httpserver/pytest-httpserver-1.0.12.ebuild
new file mode 100644
index 000000000000..7c488288d502
--- /dev/null
+++ b/dev-python/pytest-httpserver/pytest-httpserver-1.0.12.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="HTTP server for pytest to test HTTP clients"
+HOMEPAGE="
+ https://github.com/csernazs/pytest-httpserver/
+ https://pypi.org/project/pytest_httpserver/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # tests from building release artifacts
+ tests/test_release.py
+ )
+
+ epytest -p no:localserver
+}
diff --git a/dev-python/pytest-httpserver/pytest-httpserver-1.0.8.ebuild b/dev-python/pytest-httpserver/pytest-httpserver-1.0.8.ebuild
deleted file mode 100644
index 753ffd52d86c..000000000000
--- a/dev-python/pytest-httpserver/pytest-httpserver-1.0.8.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="HTTP server for pytest to test HTTP clients"
-HOMEPAGE="
- https://github.com/csernazs/pytest-httpserver/
- https://pypi.org/project/pytest-httpserver/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/werkzeug[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/requests[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- # tests from building release artifacts
- tests/test_release.py
- )
-
- epytest -p no:localserver
-}
diff --git a/dev-python/pytest-httpx/Manifest b/dev-python/pytest-httpx/Manifest
index 0cc85135bc06..2e4787fb9cd0 100644
--- a/dev-python/pytest-httpx/Manifest
+++ b/dev-python/pytest-httpx/Manifest
@@ -1,2 +1 @@
-DIST pytest_httpx-0.26.0.tar.gz 33490 BLAKE2B 27c267374a575aff2ecbaec4855b733318568d73368a103f93606cc8833be4d4e664418e2f4b67df2d39a8830dd32d75d3a00656e58824b6beb18c4cc0bf3a14 SHA512 b671984714e8958361a773ef5e3f7430736b01556c6af58aac4ca740a679b5c2e316e2d041e1594cc16e7e13cee9692f57dcbbf374ca15924685250f73cc7853
-DIST pytest_httpx-0.27.0.tar.gz 33905 BLAKE2B 352812df060f878044a628dee62ab36f15d17080afc0367b6331c2e5e13600eefff7a3668f4a9364d437394ad8f8354f41619ec4f6b8bc5ac14b1cd652357802 SHA512 e2834313f507d02b9df96a47f8be6f46b451972e88ed9c9bfcb8bdb92545cc44064b11a1160a5d9d900381181918611d5d5a9efaf60f4e491f33182e9bd884dd
+DIST pytest-httpx-0.30.0.tar.gz 36959 BLAKE2B b56f0e51558ffa6eb0c0af61aa3633a8e358f8c78916d101f1de853f683136a68e195bf0af099bbc6766198b4136a560ffd2676d9a49f0b350882896a61d935a SHA512 6aadb544bda5003156bf9c0fa309a166636dc87aea033d9a48ee10e1e8b77e6cb52350930e97cab89cff7c10111d5e26d1d74cd33f0a6c54e34c3fb7ef72ea05
diff --git a/dev-python/pytest-httpx/pytest-httpx-0.26.0.ebuild b/dev-python/pytest-httpx/pytest-httpx-0.26.0.ebuild
deleted file mode 100644
index de5ba8cccec6..000000000000
--- a/dev-python/pytest-httpx/pytest-httpx-0.26.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Send responses to HTTPX using pytest"
-HOMEPAGE="
- https://colin-b.github.io/pytest_httpx/
- https://github.com/Colin-b/pytest_httpx/
- https://pypi.org/project/pytest-httpx/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- =dev-python/httpx-0.25*[${PYTHON_USEDEP}]
- <dev-python/pytest-8[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-httpx/pytest-httpx-0.27.0.ebuild b/dev-python/pytest-httpx/pytest-httpx-0.27.0.ebuild
deleted file mode 100644
index ce4c7bffdcb2..000000000000
--- a/dev-python/pytest-httpx/pytest-httpx-0.27.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Send responses to HTTPX using pytest"
-HOMEPAGE="
- https://colin-b.github.io/pytest_httpx/
- https://github.com/Colin-b/pytest_httpx/
- https://pypi.org/project/pytest-httpx/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- =dev-python/httpx-0.25*[${PYTHON_USEDEP}]
- <dev-python/pytest-8[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-httpx/pytest-httpx-0.30.0.ebuild b/dev-python/pytest-httpx/pytest-httpx-0.30.0.ebuild
new file mode 100644
index 000000000000..fac7c6a1f0a9
--- /dev/null
+++ b/dev-python/pytest-httpx/pytest-httpx-0.30.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Send responses to HTTPX using pytest"
+HOMEPAGE="
+ https://colin-b.github.io/pytest_httpx/
+ https://github.com/Colin-b/pytest_httpx/
+ https://pypi.org/project/pytest-httpx/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ =dev-python/httpx-0.27*[${PYTHON_USEDEP}]
+ <dev-python/pytest-9[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-import-check/Manifest b/dev-python/pytest-import-check/Manifest
new file mode 100644
index 000000000000..6439eed65ca1
--- /dev/null
+++ b/dev-python/pytest-import-check/Manifest
@@ -0,0 +1,2 @@
+DIST pytest_import_check-0.0.3.tar.gz 16993 BLAKE2B c0d9ccff18f46b4331ba455fec3e4353084769be631f81e56bf8f0fce374cbc3b9e5ef16e3527f7d39e2b6f46ea7e26b88ffd4197487575b14ee607f94389045 SHA512 4618bc4f5988480f712d0a5dcf7dc2743520a454e5b32beb225f04afeb70235a65bfc27c5a30dbdf248429b844a64edd4a0af805eaa720ba5658aa7dccf8fbb4
+DIST pytest_import_check-0.0.4.tar.gz 17221 BLAKE2B d835f1104a1b96aa07e42b5abf6db70284affdb50cfbda22f4a1d4cdf6a7bc5fc93914c95c96b775cf799c0a895bedded63b767946a1caa25b3339a20f16daff SHA512 b661c8da479ec3c02907d34c1b87aaf2a6ab2570bcc61bd9bb662d1292d02093f9b2726e23ae773d6a0d8c28f64a7e2025222dd2c8a2bd7af85adcafb85e69ed
diff --git a/dev-python/pytest-import-check/metadata.xml b/dev-python/pytest-import-check/metadata.xml
new file mode 100644
index 000000000000..a22212b8fe0f
--- /dev/null
+++ b/dev-python/pytest-import-check/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>mgorny@gentoo.org</email>
+ <name>Michał Górny</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">projg2/pytest-import-check</remote-id>
+ <remote-id type="pypi">pytest-import-check</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytest-import-check/pytest-import-check-0.0.3.ebuild b/dev-python/pytest-import-check/pytest-import-check-0.0.3.ebuild
new file mode 100644
index 000000000000..62fbf37420b0
--- /dev/null
+++ b/dev-python/pytest-import-check/pytest-import-check-0.0.3.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin to check whether Python modules can be imported"
+HOMEPAGE="
+ https://github.com/projg2/pytest-import-check/
+ https://pypi.org/project/pytest-import-check/
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~mips ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-8.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_import_check.plugin
+ epytest
+}
diff --git a/dev-python/pytest-import-check/pytest-import-check-0.0.4.ebuild b/dev-python/pytest-import-check/pytest-import-check-0.0.4.ebuild
new file mode 100644
index 000000000000..f3d271902403
--- /dev/null
+++ b/dev-python/pytest-import-check/pytest-import-check-0.0.4.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin to check whether Python modules can be imported"
+HOMEPAGE="
+ https://github.com/projg2/pytest-import-check/
+ https://pypi.org/project/pytest-import-check/
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-8.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_import_check.plugin
+ epytest
+}
diff --git a/dev-python/pytest-jupyter/Manifest b/dev-python/pytest-jupyter/Manifest
index a945176ea318..0757bad4d005 100644
--- a/dev-python/pytest-jupyter/Manifest
+++ b/dev-python/pytest-jupyter/Manifest
@@ -1 +1 @@
-DIST pytest_jupyter-0.7.0.tar.gz 15507 BLAKE2B b4b580668083e46830d06908f484f221e511a9dc5b32285de25e8e83268a1cb4a110ab5bc92c4652033bd658332c6aef8560313e041d39ceeec6d7339c67b24d SHA512 5bd44d1cc927281823ab92f5e1dbb4fa66e917fb9ba098c63001bb9edf60d4eb7842d4178c1dce1772e156d871def2319d511187185fbfd81ee9128c7c23ea2a
+DIST pytest_jupyter-0.10.1.tar.gz 15580 BLAKE2B 931045927f14973162d45ccdff3a28b0e1d955c276ccf73fa91cae46af8d697368edc10bb3a8042885aae8309dd901201ef147967eae13bca453bc3c144de1fc SHA512 ca380f3b4550388606053db97666d3e191e2b4c030b98fed8b88cee53aac0451faf63d1300c50af4313f20b38937558c390c7f9113ef6b9d20fa0c8f0b41e118
diff --git a/dev-python/pytest-jupyter/pytest-jupyter-0.10.1.ebuild b/dev-python/pytest-jupyter/pytest-jupyter-0.10.1.ebuild
new file mode 100644
index 000000000000..83df3351df84
--- /dev/null
+++ b/dev-python/pytest-jupyter/pytest-jupyter-0.10.1.ebuild
@@ -0,0 +1,36 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pytest plugin for testing Jupyter libraries and extensions"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter-server/pytest-jupyter/
+ https://pypi.org/project/pytest-jupyter/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/ipykernel-6.14[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-7.4.0[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-core-5.7[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-server-1.21[${PYTHON_USEDEP}]
+ >=dev-python/nbformat-5.3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-jupyter/pytest-jupyter-0.7.0.ebuild b/dev-python/pytest-jupyter/pytest-jupyter-0.7.0.ebuild
deleted file mode 100644
index 53737cb166f2..000000000000
--- a/dev-python/pytest-jupyter/pytest-jupyter-0.7.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 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="Pytest plugin for testing Jupyter libraries and extensions"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter-server/pytest-jupyter/
- https://pypi.org/project/pytest-jupyter/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/jupyter-client-7.4.0[${PYTHON_USEDEP}]
- >=dev-python/ipykernel-6.14[${PYTHON_USEDEP}]
- >=dev-python/jupyter-server-1.21[${PYTHON_USEDEP}]
- >=dev-python/nbformat-5.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-lazy-fixture/pytest-lazy-fixture-0.6.3-r1.ebuild b/dev-python/pytest-lazy-fixture/pytest-lazy-fixture-0.6.3-r1.ebuild
new file mode 100644
index 000000000000..f197eec73932
--- /dev/null
+++ b/dev-python/pytest-lazy-fixture/pytest-lazy-fixture-0.6.3-r1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="It helps to use fixtures in pytest.mark.parametrize"
+HOMEPAGE="
+ https://github.com/tvorog/pytest-lazy-fixture/
+ https://pypi.org/project/pytest-lazy-fixture/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~mips ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-lazy-fixture/pytest-lazy-fixture-0.6.3.ebuild b/dev-python/pytest-lazy-fixture/pytest-lazy-fixture-0.6.3.ebuild
deleted file mode 100644
index 7088080bf410..000000000000
--- a/dev-python/pytest-lazy-fixture/pytest-lazy-fixture-0.6.3.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-inherit distutils-r1 pypi
-
-DESCRIPTION="It helps to use fixtures in pytest.mark.parametrize"
-HOMEPAGE="https://github.com/tvorog/pytest-lazy-fixture"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="dev-python/pytest[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-lazy-fixtures/Manifest b/dev-python/pytest-lazy-fixtures/Manifest
new file mode 100644
index 000000000000..57ae2ef747db
--- /dev/null
+++ b/dev-python/pytest-lazy-fixtures/Manifest
@@ -0,0 +1,3 @@
+DIST pytest_lazy_fixtures-1.0.7.tar.gz 6958 BLAKE2B e8bd937592fc0773077712517655f25a3051263c3ef0a9450e78a22b3e69fa028ecbe17b8f9c5d4e38eff263a2a3a8cb5b0a64e0ca77cd47c80b3128f9a46122 SHA512 abb4cc08d3a3a3de5e1df2df7df8b9f552cefc715408b402a738ebc0368475480f63c627d49b7fe0bdfdb468f15cfc8e568ac1057511f9f9cc4c13231a8c3e71
+DIST pytest_lazy_fixtures-1.1.0.tar.gz 6952 BLAKE2B 487e449368a0cc38a2249c4b1863ddaf050f6c1841624639365b3c972400be677ab2b40e4a9032cd41fbfcadb125109d1801459d48519faaa72533ea54213e3d SHA512 71c55335153520c72dc12b8decc99f2f82369e737ff5067b2a5d53d09ebd5550cf182bb594ef74c574d77f0ce851856eb982860c952147d3fe65b32345e8d6b7
+DIST pytest_lazy_fixtures-1.1.1.tar.gz 6978 BLAKE2B 975f76783a224c5f1237546108c25936a3fc5f6f466e936f506957675f220cf200dd0bb4f516e361fb56795281951b4196e1e7f1f399bf15dd9337766eb611a0 SHA512 b8b215f16414ddfd2f6c16b1eb8f10cc6b9931ff44f7a0a158e721071160d94e550336e785d1b5ab772ccc2a88c08687c3e5bdcf684c5e496630f341ba8b423d
diff --git a/dev-python/pytest-lazy-fixtures/metadata.xml b/dev-python/pytest-lazy-fixtures/metadata.xml
new file mode 100644
index 000000000000..e66300e8bbd2
--- /dev/null
+++ b/dev-python/pytest-lazy-fixtures/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">dev-petrov/pytest-lazy-fixtures</remote-id>
+ <remote-id type="pypi">pytest-lazy-fixtures</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.0.7.ebuild b/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.0.7.ebuild
new file mode 100644
index 000000000000..e789a3c23d78
--- /dev/null
+++ b/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.0.7.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Allows you to use fixtures in @pytest.mark.parametrize"
+HOMEPAGE="
+ https://github.com/dev-petrov/pytest-lazy-fixtures/
+ https://pypi.org/project/pytest-lazy-fixtures/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/pytest-7[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_lazy_fixtures.plugin
+ epytest
+}
diff --git a/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.1.0.ebuild b/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.1.0.ebuild
new file mode 100644
index 000000000000..507bf3099c3d
--- /dev/null
+++ b/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.1.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Allows you to use fixtures in @pytest.mark.parametrize"
+HOMEPAGE="
+ https://github.com/dev-petrov/pytest-lazy-fixtures/
+ https://pypi.org/project/pytest-lazy-fixtures/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-7[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_lazy_fixtures.plugin
+ epytest
+}
diff --git a/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.1.1.ebuild b/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.1.1.ebuild
new file mode 100644
index 000000000000..507bf3099c3d
--- /dev/null
+++ b/dev-python/pytest-lazy-fixtures/pytest-lazy-fixtures-1.1.1.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Allows you to use fixtures in @pytest.mark.parametrize"
+HOMEPAGE="
+ https://github.com/dev-petrov/pytest-lazy-fixtures/
+ https://pypi.org/project/pytest-lazy-fixtures/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~mips ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-7[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_lazy_fixtures.plugin
+ epytest
+}
diff --git a/dev-python/pytest-localftpserver/Manifest b/dev-python/pytest-localftpserver/Manifest
index 34c6c7822a26..8994f7365573 100644
--- a/dev-python/pytest-localftpserver/Manifest
+++ b/dev-python/pytest-localftpserver/Manifest
@@ -1 +1 @@
-DIST pytest_localftpserver-1.2.0.tar.gz 48817 BLAKE2B ccccd0b2cdc2596fa12c8f082fd2fa3847541b731367abfccb7a57d3408d74c1637bfc644bb80482d9a1a25072d94b1f663b8ad8c0ad51c2d9dac65156a80638 SHA512 19e300c4ebb1d89ebfa4dce04296b8962014a139f82a409f6d46f748f653cfd1f4192a7fb65987015b2bf7237682507c4d6e42dab816c275ba7f8a302eb9a3e9
+DIST pytest_localftpserver-1.3.2.tar.gz 48883 BLAKE2B a1e78d632a24f1066e8e96dc54875379e471446d77755b5defd0a0b4a2f00e2f3812d82f7be364f3a414432ae023a9c949132d530d3a2f476dec2c0fe8285408 SHA512 d7be031abd616df9e146ab08f2fe406c1dd55b68e97271e945c20938c01deff53b48cbf5c6b46c90c2cb5388f377e078e5e701ddcc2fa4900d29df9f82c92c4e
diff --git a/dev-python/pytest-localftpserver/pytest-localftpserver-1.2.0.ebuild b/dev-python/pytest-localftpserver/pytest-localftpserver-1.2.0.ebuild
deleted file mode 100644
index 05f2de81ec1c..000000000000
--- a/dev-python/pytest-localftpserver/pytest-localftpserver-1.2.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A PyTest plugin which provides an FTP fixture for your tests"
-HOMEPAGE="
- https://github.com/oz123/pytest-localftpserver/
- https://pypi.org/project/pytest-localftpserver/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- dev-python/pyftpdlib[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-EPYTEST_IGNORE=(
- # These tests require python wget module
- tests/test_pytest_localftpserver.py
- tests/test_pytest_localftpserver_TLS.py
- tests/test_pytest_localftpserver_with_env_var.py
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-localftpserver/pytest-localftpserver-1.3.2.ebuild b/dev-python/pytest-localftpserver/pytest-localftpserver-1.3.2.ebuild
new file mode 100644
index 000000000000..d66fae9a8821
--- /dev/null
+++ b/dev-python/pytest-localftpserver/pytest-localftpserver-1.3.2.ebuild
@@ -0,0 +1,37 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A PyTest plugin which provides an FTP fixture for your tests"
+HOMEPAGE="
+ https://github.com/oz123/pytest-localftpserver/
+ https://pypi.org/project/pytest-localftpserver/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 ~sparc x86"
+
+RDEPEND="
+ dev-python/pyftpdlib[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+EPYTEST_IGNORE=(
+ # these are broken upstream
+ tests/test_pytest_localftpserver_TLS.py
+ # TODO
+ tests/test_pytest_localftpserver_with_env_var.py
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-localserver/pytest-localserver-0.8.1.ebuild b/dev-python/pytest-localserver/pytest-localserver-0.8.1.ebuild
index 75bffcbd8b00..84c4098a7717 100644
--- a/dev-python/pytest-localserver/pytest-localserver-0.8.1.ebuild
+++ b/dev-python/pytest-localserver/pytest-localserver-0.8.1.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/pytest-markdown/metadata.xml b/dev-python/pytest-markdown/metadata.xml
index 9bab5191b914..78defe38a00b 100644
--- a/dev-python/pytest-markdown/metadata.xml
+++ b/dev-python/pytest-markdown/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
+ <!-- maintainer-needed -->
<stabilize-allarches/>
<upstream>
<remote-id type="github">Jc2k/pytest-markdown</remote-id>
diff --git a/dev-python/pytest-markdown/pytest-markdown-1.0.2-r1.ebuild b/dev-python/pytest-markdown/pytest-markdown-1.0.2-r1.ebuild
index beb81872926f..9fbad96e498e 100644
--- a/dev-python/pytest-markdown/pytest-markdown-1.0.2-r1.ebuild
+++ b/dev-python/pytest-markdown/pytest-markdown-1.0.2-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517="poetry"
inherit distutils-r1 pypi
diff --git a/dev-python/pytest-metadata/Manifest b/dev-python/pytest-metadata/Manifest
index 1267cd08c622..f11b6e83c298 100644
--- a/dev-python/pytest-metadata/Manifest
+++ b/dev-python/pytest-metadata/Manifest
@@ -1 +1 @@
-DIST pytest_metadata-3.0.0.tar.gz 9710 BLAKE2B 50f4b0dc1bbed339b0ab0fa5075218f5b8ec5cae873729d1000e34eb2d54d8694580efa3b0884a45b0aeb1ec0edfd41858a287ec8a7efa47adf867b6c8762c1f SHA512 8dd33362ad1e474464f1a762091fa980bc92e9e34f64c7960be36c4875bb585447a363b031d0e8326cb406cb78d0733d99db180f466133a84c1cd080e07ba6e1
+DIST pytest_metadata-3.1.1.tar.gz 9952 BLAKE2B b0f68c406bad035548f051d49cdc5a005279caaca2bffff45674be9143b0c41516bf5a3c1b092cd1717bfd44123e9be3381d40a46664da2231aec9e6c9abc8ce SHA512 20c880cd797534dee9206ef99755643fccc9d62521f1b50dbcc7f2ac0a8ab6adccc4158510c00e20308bed93ada180448ac9f06277cc1af3ba94a1b903da4b09
diff --git a/dev-python/pytest-metadata/pytest-metadata-3.0.0.ebuild b/dev-python/pytest-metadata/pytest-metadata-3.0.0.ebuild
deleted file mode 100644
index 9ddfbd45eedc..000000000000
--- a/dev-python/pytest-metadata/pytest-metadata-3.0.0.ebuild
+++ /dev/null
@@ -1,28 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A plugin for pytest that provides access to test session metadata"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-metadata/
- https://pypi.org/project/pytest-metadata/
-"
-
-LICENSE="MPL-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/hatch-vcs-0.3[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-metadata/pytest-metadata-3.1.1.ebuild b/dev-python/pytest-metadata/pytest-metadata-3.1.1.ebuild
new file mode 100644
index 000000000000..0cef94bdc33f
--- /dev/null
+++ b/dev-python/pytest-metadata/pytest-metadata-3.1.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A plugin for pytest that provides access to test session metadata"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-metadata/
+ https://pypi.org/project/pytest-metadata/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/hatch-vcs-0.3[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-mock/Manifest b/dev-python/pytest-mock/Manifest
index 4c553742bff7..3f7cb9be9fbf 100644
--- a/dev-python/pytest-mock/Manifest
+++ b/dev-python/pytest-mock/Manifest
@@ -1 +1 @@
-DIST pytest-mock-3.12.0.tar.gz 32139 BLAKE2B 4bc2289579686b8ca9e840440b21b7299817e803f108726692cda6f1a138564462b04b9ae6a3038a5e36ec4d665bb7c8f54c26d231d6b17188b8d830d553b20d SHA512 6da429e646a4e3a825f699969dbc87033136918bd9aa111ff334fac324e5ac89ef6516e82ffeeb20cb6a857fbbe904d8ee985acefba2d2b7bd0ffe4b9227ad82
+DIST pytest-mock-3.14.0.tar.gz 32814 BLAKE2B f6e10dd6781bf10076c7c42f9cfc8cd4e4cfd3aa08030c9ad6377ee64b3386ddd190eac8bd1a912d54b5ef4aba14dfe136b3968b6ed08683dd4c4f102eaf8a26 SHA512 c60059fe8fb64540f33382e52b9015dd9771483e2074d35c02cd5852a50eed02a64e202b7e81e920bbbd0621bd23fa9bb0467d2ceef7abd582df3e27eafeaa20
diff --git a/dev-python/pytest-mock/pytest-mock-3.12.0.ebuild b/dev-python/pytest-mock/pytest-mock-3.12.0.ebuild
deleted file mode 100644
index 21e83bfc0670..000000000000
--- a/dev-python/pytest-mock/pytest-mock-3.12.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_TESTED=( python3_{10..12} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Thin-wrapper around the mock package for easier use with pytest"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-mock/
- https://pypi.org/project/pytest-mock/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/pytest-6[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- $(python_gen_cond_dep '
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_mock,pytest_asyncio.plugin
- local EPYTEST_DESELECT=()
-
- if has_version dev-python/mock; then
- EPYTEST_DESELECT+=(
- tests/test_pytest_mock.py::test_standalone_mock
- )
- fi
-
- epytest --assert=plain
-}
diff --git a/dev-python/pytest-mock/pytest-mock-3.14.0.ebuild b/dev-python/pytest-mock/pytest-mock-3.14.0.ebuild
new file mode 100644
index 000000000000..46acb14ae351
--- /dev/null
+++ b/dev-python/pytest-mock/pytest-mock-3.14.0.ebuild
@@ -0,0 +1,54 @@
+# 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_TESTED=( python3_{10..13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Thin-wrapper around the mock package for easier use with pytest"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-mock/
+ https://pypi.org/project/pytest-mock/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/pytest-6.2.5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_mock,pytest_asyncio.plugin
+ local EPYTEST_DESELECT=()
+
+ if has_version dev-python/mock; then
+ EPYTEST_DESELECT+=(
+ tests/test_pytest_mock.py::test_standalone_mock
+ )
+ fi
+
+ epytest --assert=plain
+}
diff --git a/dev-python/pytest-mpl/Manifest b/dev-python/pytest-mpl/Manifest
index 1b363eb582cb..3a6e35a1976d 100644
--- a/dev-python/pytest-mpl/Manifest
+++ b/dev-python/pytest-mpl/Manifest
@@ -1 +1,2 @@
DIST pytest-mpl-0.16.1.tar.gz 663585 BLAKE2B aad171260a10417aab15e7e55115c2fe02aa33dcf8336634281e1a1dad4d1c5ff08293fd9a67be025ec6cbb18c42bc9eb7ccb86275c0fcc7f4bf33a035fc0927 SHA512 64c1689f1698f9223082bc5c6817a1d4f9b413cb193894c23b1e0302254a6358cb3e354ac92ec47677acf460a41d05b2b527c834fd0fbbde04c070b0af8f46e1
+DIST pytest-mpl-0.17.0.tar.gz 885613 BLAKE2B d1a6d4551052eeeb7ecbf9722c782796aa74215a3241d1c037fca98972777dd35d7616ec8ef2bd4f00b6428f5dea516243244b61f56ec38d72a4805a75c91a50 SHA512 968397b1d75482729ad73f4844970c3c335c009e689f4163bd5a028c84627455a7d20563e62c6940b27c62229e5744496bec36c2440d402c0aee0a7853550f9b
diff --git a/dev-python/pytest-mpl/pytest-mpl-0.17.0.ebuild b/dev-python/pytest-mpl/pytest-mpl-0.17.0.ebuild
new file mode 100644
index 000000000000..f2e06c02aa48
--- /dev/null
+++ b/dev-python/pytest-mpl/pytest-mpl-0.17.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Facilitate image comparison for Matplotlib figures"
+HOMEPAGE="
+ https://pypi.org/project/pytest-mpl/
+ https://github.com/matplotlib/pytest-mpl
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+
+EPYTEST_DESELECT=(
+ tests/test_baseline_path.py::test_config
+ tests/test_pytest_mpl.py::test_formats
+ tests/test_results_always.py::test_config
+ tests/test_use_full_test_name.py::test_config
+ tests/subtests/test_subtest.py::test_default
+ tests/subtests/test_subtest.py::test_html_images_only
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-order/Manifest b/dev-python/pytest-order/Manifest
index 7f3fa8d69e4a..13647a70ed85 100644
--- a/dev-python/pytest-order/Manifest
+++ b/dev-python/pytest-order/Manifest
@@ -1,2 +1,2 @@
-DIST pytest-order-1.1.0.tar.gz 43385 BLAKE2B e0bb40d89dbbb382dec2828d024b9a9a8353c87a89d0d9fce517df2be248dc3d9f24672a91f6a9dd82e473d41fb677cc13ef1201563e25402288d5144a8742c0 SHA512 0ce0e0b0437031e672acb838f9e2bb40c2ee8afcc8463c779959309ace125b3a4c92efcf5e156c97037fa6b8d51c255e7cf272427e44587608c2a370289dd3c3
DIST pytest-order-1.2.0.tar.gz 44307 BLAKE2B 82611b713c9ae064c41e966d503c649c130d5a1df520594f513e9ab3d1cf6890fba65afa860822aedcee1a95617d3cd9010f5189d158cd76b2a4b9d25dd7d916 SHA512 f615dd57546e90c614af35fd79e7e579d48a5e709af3324f476d347e191606b81698bde619a2d0c7181e6f3b1a3c41121c1b06b5de87e66ac2caa77b5ea11ad9
+DIST pytest-order-1.2.1.tar.gz 44726 BLAKE2B b0365a6c7d420e5997ca67fc3de3d46a02a085f024ba2777c480f4c9da7e90ac3dd3b533d67e43934429f3a1ace1725171c56ad59eeb598c06bbe4dbbc5f71e0 SHA512 2ea89f05e6dcf82a6df596feeb1e25b634e48c4c6219b5320b662e88b5ee2473062f3bf1d38696dac2e045fdf51a118b7907c4a06a90e6e256b4d21bd156be18
diff --git a/dev-python/pytest-order/pytest-order-1.1.0.ebuild b/dev-python/pytest-order/pytest-order-1.1.0.ebuild
deleted file mode 100644
index cefd5410a82e..000000000000
--- a/dev-python/pytest-order/pytest-order-1.1.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="pytest plugin to run your tests in a specific order"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-order
- https://pypi.org/project/pytest-order/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND=">=dev-python/pytest-6.4.2[${PYTHON_USEDEP}]"
-
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # Appears to fail due to extra warning in pytest 7
- "tests/test_dependency.py::test_order_dependencies_no_auto_mark"
- "tests/test_dependency.py::test_order_dependencies_auto_mark"
- "tests/test_order_group_scope_dep.py::test_class_group_scope_module_scope"
- "tests/test_order_group_scope_named_dep.py::test_class_group_scope_module_scope"
- "tests/test_xdist_handling.py::test_xdist_ordering"
-)
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs/source
diff --git a/dev-python/pytest-order/pytest-order-1.2.0.ebuild b/dev-python/pytest-order/pytest-order-1.2.0.ebuild
index 00d4947e86bc..f861ccc1aacd 100644
--- a/dev-python/pytest-order/pytest-order-1.2.0.ebuild
+++ b/dev-python/pytest-order/pytest-order-1.2.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -26,6 +26,7 @@ RDEPEND="
BDEPEND="
test? (
dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/pytest-order/pytest-order-1.2.1.ebuild b/dev-python/pytest-order/pytest-order-1.2.1.ebuild
new file mode 100644
index 000000000000..daf0ce2a3030
--- /dev/null
+++ b/dev-python/pytest-order/pytest-order-1.2.1.ebuild
@@ -0,0 +1,48 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin to run your tests in a specific order"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-order/
+ https://pypi.org/project/pytest-order/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-6.4.2[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # these require pytest-dependency
+ tests/test_dependency.py::test_order_dependencies_no_auto_mark
+ tests/test_dependency.py::test_order_dependencies_auto_mark
+ tests/test_order_group_scope_dep.py::test_class_group_scope_module_scope
+ tests/test_order_group_scope_named_dep.py::test_class_group_scope_module_scope
+)
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs/source
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_order.plugin,xdist.plugin,pytest_mock
+ epytest
+}
diff --git a/dev-python/pytest-ordering/pytest-ordering-0.6-r1.ebuild b/dev-python/pytest-ordering/pytest-ordering-0.6-r1.ebuild
index 53e3e7edf836..b2f03be453d3 100644
--- a/dev-python/pytest-ordering/pytest-ordering-0.6-r1.ebuild
+++ b/dev-python/pytest-ordering/pytest-ordering-0.6-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pytest-param-files/Manifest b/dev-python/pytest-param-files/Manifest
index 241be20b3dfa..b20cc2822bec 100644
--- a/dev-python/pytest-param-files/Manifest
+++ b/dev-python/pytest-param-files/Manifest
@@ -1,3 +1 @@
-DIST pytest-param-files-0.3.5.gh.tar.gz 7245 BLAKE2B 2a67c5ee30d6efb6b7ca7e3272c19c05dda460167cb1709693560ffe06b0ae39ae1b93fc5d6375f4e9cda21e3e02051424789afee55d201cfe070be8a05642ec SHA512 e80eddba2934fe5a6b68645cae243afa936ea3362a29d0b8a8ae4e11229ffb877f1ace9f41ac96d182d5787740fa76af8b106069feb95a7cab1ecc6f8d1088f9
-DIST pytest-param-files-0.5.0.gh.tar.gz 8563 BLAKE2B fa3907f3da7607caa3ab4933052ce70bc87bdf1b55983ef9660dbf0d6ae8a838d185be7f03f8ee5a1beb5771bb9f19f46fc012eea1eb7ca6331ba3c9626c72ca SHA512 cfff7ef20d453cf50a72e78d546a948d49c415c212ffba8e0ac4abe1da2decd9097930777b5aa182fb97c9c5c01e4b00bee25bd27f34c6f35a14ba7177d17a16
DIST pytest-param-files-0.6.0.gh.tar.gz 8526 BLAKE2B be4f2f385d5dcbb1debde45a9fb48cb22c8e75e39daeaf891ca2b0321afbd27b4917b1f6058816e9fac2fb589076a06d6159bbbb0bac610bc3498ffcf71cf812 SHA512 712e4dfcccec3bc266f98a6339985b42171cf255552356107953dba691f4d6cfac125a8390349459cf67d8ca92ddc2a9dba8cfdd9b3a20a5ec6578df93cb006a
diff --git a/dev-python/pytest-param-files/pytest-param-files-0.3.5.ebuild b/dev-python/pytest-param-files/pytest-param-files-0.3.5.ebuild
deleted file mode 100644
index 3881f69168ec..000000000000
--- a/dev-python/pytest-param-files/pytest-param-files-0.3.5.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Pytest parametrize decorators from external files."
-HOMEPAGE="
- https://github.com/chrisjsewell/pytest-param-files/
- https://pypi.org/project/pytest_param_files/
-"
-SRC_URI="
- https://github.com/chrisjsewell/pytest-param-files/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/pytest[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-param-files/pytest-param-files-0.5.0.ebuild b/dev-python/pytest-param-files/pytest-param-files-0.5.0.ebuild
deleted file mode 100644
index 5982d88730fe..000000000000
--- a/dev-python/pytest-param-files/pytest-param-files-0.5.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Pytest parametrize decorators from external files."
-HOMEPAGE="
- https://github.com/chrisjsewell/pytest-param-files/
- https://pypi.org/project/pytest_param_files/
-"
-SRC_URI="
- https://github.com/chrisjsewell/pytest-param-files/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-param-files/pytest-param-files-0.6.0.ebuild b/dev-python/pytest-param-files/pytest-param-files-0.6.0.ebuild
index d36a7524d4dc..4e88723bbdfa 100644
--- a/dev-python/pytest-param-files/pytest-param-files-0.6.0.ebuild
+++ b/dev-python/pytest-param-files/pytest-param-files-0.6.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
dev-python/pytest[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-plus/Manifest b/dev-python/pytest-plus/Manifest
index bfa91ba7b210..3f7616458d3a 100644
--- a/dev-python/pytest-plus/Manifest
+++ b/dev-python/pytest-plus/Manifest
@@ -1 +1 @@
-DIST pytest-plus-0.6.0.tar.gz 12795 BLAKE2B 6e618f29e679cf1c71018ab4993606add89a4e3fe47a78b3cb4a17908c2bb0192646108918786183b330016a8e8d5458e87900d8bf4b9b61e90d3e24feab43a8 SHA512 7798a4e53a4ca95b24f9039accea2657746982370cd99f5d34d5dceccc08640214241f1e81f3e354f03782f013bf1b375a4e16a69d23e211948232eca678f98d
+DIST pytest-plus-0.7.0.tar.gz 13235 BLAKE2B 87e712a21dcb99b459ac263c46c3dfa1586d6f28404424ea3f02e1436d296b617ead445d35080d014d8385dee56ad2cd579fdf9d52352c7d9e32e31ba90eebdf SHA512 a43b8bd3ea1a7a85e40ea6c180a06a31f5703292758d4c83e1a3f98e0750d75393d9ca8bfb614f1d3a180ee50d18e8162173bfee6b81cf1f7c087aad8e3be3ba
diff --git a/dev-python/pytest-plus/metadata.xml b/dev-python/pytest-plus/metadata.xml
index 3701ac65397b..d1f9da41b86d 100644
--- a/dev-python/pytest-plus/metadata.xml
+++ b/dev-python/pytest-plus/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
diff --git a/dev-python/pytest-plus/pytest-plus-0.6.0.ebuild b/dev-python/pytest-plus/pytest-plus-0.6.0.ebuild
deleted file mode 100644
index 5eaf834b2c45..000000000000
--- a/dev-python/pytest-plus/pytest-plus-0.6.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="PyTest Plus Plugin - extends pytest functionality"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-plus/
- https://pypi.org/project/pytest-plus/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv"
-
-RDEPEND="
- >=dev-python/pytest-7.4.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-plus/pytest-plus-0.7.0.ebuild b/dev-python/pytest-plus/pytest-plus-0.7.0.ebuild
new file mode 100644
index 000000000000..4c489b754f63
--- /dev/null
+++ b/dev-python/pytest-plus/pytest-plus-0.7.0.ebuild
@@ -0,0 +1,29 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PyTest Plus Plugin - extends pytest functionality"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-plus/
+ https://pypi.org/project/pytest-plus/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv"
+
+RDEPEND="
+ >=dev-python/pytest-7.4.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-7.0.5[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-qt/Manifest b/dev-python/pytest-qt/Manifest
index 8fb49db0827d..0acc509ef1d1 100644
--- a/dev-python/pytest-qt/Manifest
+++ b/dev-python/pytest-qt/Manifest
@@ -1 +1 @@
-DIST pytest-qt-4.2.0.tar.gz 120749 BLAKE2B 1986bbf4ebc578ad548d2fcc8888b0d0fb42f75ad8a03f315f51c04ae466587d3299fca8ec3a49bc5d023fc8ca76cbe6c45728bc88609e20d6f68ea8c6ea204e SHA512 57e175bada0e33101eeb7d85579f6e804658d74168714b117b3a1ba564826405e70860b258caf28c917ddca7acd1842de2133a55b342862762fc37ca1a758b69
+DIST pytest-qt-4.4.0.tar.gz 125443 BLAKE2B db2653ffd220e6507edd9cd2610904e5d9c1f5b39edf7b2d5043ecb7951361a6bf75618c9847b62432e0182433f2df528fce300888cca405bdc03502d6ebe717 SHA512 57c6a1866c7685db5301faa42298f11ef3d3a030cbc72fb109a8d6166621625fac89365671f781e5c3d652a190567bec3bae6f12cdab20812f43c7ef8e4518fa
diff --git a/dev-python/pytest-qt/pytest-qt-4.2.0.ebuild b/dev-python/pytest-qt/pytest-qt-4.2.0.ebuild
deleted file mode 100644
index 75e8b72f50f0..000000000000
--- a/dev-python/pytest-qt/pytest-qt-4.2.0.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-PYSIDE2_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 virtualx pypi
-
-DESCRIPTION="Pytest plugin for PyQt5 and PySide2 applications"
-HOMEPAGE="
- https://pypi.org/project/pytest-qt/
- https://github.com/pytest-dev/pytest-qt/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/QtPy[gui,testlib,widgets(+),${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- || (
- dev-python/PyQt6[gui,testlib,widgets,${PYTHON_USEDEP}]
- dev-python/PyQt5[gui,testlib,widgets,${PYTHON_USEDEP}]
- dev-python/pyside6[gui,testlib,widgets,${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/pyside2[gui,testlib,widgets,${PYTHON_USEDEP}]
- ' "${PYSIDE2_COMPAT[@]}")
- )
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- # warnings from other plugins cause the test output matchers to fail
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytestqt.plugin
-
- local EPYTEST_DESELECT=(
- # requires the window to be activated; that doesn't seem
- # to be possible inside Xvfb
- "tests/test_basics.py::test_wait_window[waitActive-True]"
-
- # TODO
- tests/test_exceptions.py::test_exceptions_dont_leak
-
- # we are forcing a specific module via envvar, effectively
- # overriding the config
- tests/test_basics.py::test_qt_api_ini_config
- tests/test_basics.py::test_qt_api_ini_config_with_envvar
- )
-
- local -x PYTEST_QT_API
- for PYTEST_QT_API in PyQt{5,6} pyside{2,6}; do
- if has_version "dev-python/${PYTEST_QT_API}[gui,testlib,widgets,${PYTHON_USEDEP}]"
- then
- einfo "Testing with ${EPYTHON} and ${PYTEST_QT_API}"
- nonfatal epytest ||
- die -n "Tests failed with ${EPYTHON} and ${PYTEST_QT_API}" ||
- return 1
- fi
- done
-}
diff --git a/dev-python/pytest-qt/pytest-qt-4.4.0.ebuild b/dev-python/pytest-qt/pytest-qt-4.4.0.ebuild
new file mode 100644
index 000000000000..5c1535eac486
--- /dev/null
+++ b/dev-python/pytest-qt/pytest-qt-4.4.0.ebuild
@@ -0,0 +1,78 @@
+# 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..13} )
+PYSIDE2_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 virtualx pypi
+
+DESCRIPTION="Pytest plugin for PyQt5 and PySide2 applications"
+HOMEPAGE="
+ https://pypi.org/project/pytest-qt/
+ https://github.com/pytest-dev/pytest-qt/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/QtPy[gui,testlib,widgets(+),${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ || (
+ dev-python/PyQt6[gui,testlib,widgets,${PYTHON_USEDEP}]
+ dev-python/PyQt5[gui,testlib,widgets,${PYTHON_USEDEP}]
+ dev-python/pyside6[gui,testlib,widgets,${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/pyside2[gui,testlib,widgets,${PYTHON_USEDEP}]
+ ' "${PYSIDE2_COMPAT[@]}")
+ )
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ # warnings from other plugins cause the test output matchers to fail
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytestqt.plugin
+
+ local EPYTEST_DESELECT=(
+ # requires the window to be activated; that doesn't seem
+ # to be possible inside Xvfb
+ "tests/test_basics.py::test_wait_window[waitActive-True]"
+
+ # TODO
+ tests/test_exceptions.py::test_exceptions_dont_leak
+
+ # we are forcing a specific module via envvar, effectively
+ # overriding the config
+ tests/test_basics.py::test_qt_api_ini_config
+ tests/test_basics.py::test_qt_api_ini_config_with_envvar
+ )
+
+ local -x PYTEST_QT_API
+ for PYTEST_QT_API in PyQt{5,6} pyside{2,6}; do
+ if has_version "dev-python/${PYTEST_QT_API}[gui,testlib,widgets,${PYTHON_USEDEP}]"
+ then
+ einfo "Testing with ${EPYTHON} and ${PYTEST_QT_API}"
+ # force-disable xfail_strict as upstream as xfail assumptions
+ # don't seem to hold on arm64
+ nonfatal epytest -oxfail_strict=false ||
+ die -n "Tests failed with ${EPYTHON} and ${PYTEST_QT_API}" ||
+ return 1
+ fi
+ done
+}
diff --git a/dev-python/pytest-recording/Manifest b/dev-python/pytest-recording/Manifest
index 18cd14ac4930..b244968a18c2 100644
--- a/dev-python/pytest-recording/Manifest
+++ b/dev-python/pytest-recording/Manifest
@@ -1 +1,2 @@
-DIST pytest_recording-0.13.0.tar.gz 25027 BLAKE2B c325aaf809617886e85c3fa597c36858c7e1a9cb1552a18c8ee27f5a7479b66469b61bce51ceb14fc9dd5fa420c20803ed016875eef1a0cf05de5293ead24bfc SHA512 2e9ab39971d89f838f2d778d1d80fdb5519b39855a69019eeeb22d69ca3c92ecb14a7eda7b55ec37ea07fae0c3316c9c16932a0afcf0abe0dbfefc31fe23bd68
+DIST pytest_recording-0.13.1.tar.gz 24987 BLAKE2B 70c7d65823e1a6507353dcab61659a4fe05a4f3d81471dfa3818ca34f6b6c1c22444ee6c1d04b67e87db93ffba63e8bf091beb7d3f60723bc1f7fa8dfde641cd SHA512 1f815b45361165a9fa2655c0cfb5a69193a556e748dc5d69aac0f49a36e943a60a990c3f503a29aae58f9409661f5f47041a30766fb1b5276789eec255b1556b
+DIST pytest_recording-0.13.2.tar.gz 25270 BLAKE2B b11a4504ec92e5ddeb53d447224cb595d0e2a1cb3ac09e76eafffc8fa8884df07ffc1b739d15095bb4023161bf6b3f45f86e2a912c86649584976a0c786984f9 SHA512 b93b40d8a843a23c7f9d3fe6c9a4076c5d43cdc4439926f641b2a5b1831fb3cdb5511594e4c2e3268bda564c0d56bdd9167a8f2b8a0cac767266e41047ea1c8c
diff --git a/dev-python/pytest-recording/pytest-recording-0.13.0.ebuild b/dev-python/pytest-recording/pytest-recording-0.13.0.ebuild
deleted file mode 100644
index 2a204e0b665c..000000000000
--- a/dev-python/pytest-recording/pytest-recording-0.13.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A pytest plugin to record network interactions via VCR.py"
-HOMEPAGE="
- https://pypi.org/project/pytest-recording/
- https://github.com/kiwicom/pytest-recording/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/pytest-3.5.0[${PYTHON_USEDEP}]
- >=dev-python/vcrpy-2.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-httpbin[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test () {
- local EPYTEST_DESELECT=(
- # Internet
- # https://github.com/kiwicom/pytest-recording/issues/131
- tests/test_blocking_network.py::test_block_network_with_allowed_hosts
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_recording.plugin
- PYTEST_PLUGINS+=,pytest_httpbin.plugin,pytest_mock
- epytest
-}
diff --git a/dev-python/pytest-recording/pytest-recording-0.13.1.ebuild b/dev-python/pytest-recording/pytest-recording-0.13.1.ebuild
new file mode 100644
index 000000000000..9bce53af605b
--- /dev/null
+++ b/dev-python/pytest-recording/pytest-recording-0.13.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A pytest plugin to record network interactions via VCR.py"
+HOMEPAGE="
+ https://pypi.org/project/pytest-recording/
+ https://github.com/kiwicom/pytest-recording/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/pytest-3.5.0[${PYTHON_USEDEP}]
+ >=dev-python/vcrpy-2.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-httpbin[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test () {
+ local EPYTEST_DESELECT=(
+ # Internet
+ # https://github.com/kiwicom/pytest-recording/issues/131
+ tests/test_blocking_network.py::test_block_network_with_allowed_hosts
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_recording.plugin
+ PYTEST_PLUGINS+=,pytest_httpbin.plugin,pytest_mock
+ epytest
+}
diff --git a/dev-python/pytest-recording/pytest-recording-0.13.2.ebuild b/dev-python/pytest-recording/pytest-recording-0.13.2.ebuild
new file mode 100644
index 000000000000..9bce53af605b
--- /dev/null
+++ b/dev-python/pytest-recording/pytest-recording-0.13.2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A pytest plugin to record network interactions via VCR.py"
+HOMEPAGE="
+ https://pypi.org/project/pytest-recording/
+ https://github.com/kiwicom/pytest-recording/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/pytest-3.5.0[${PYTHON_USEDEP}]
+ >=dev-python/vcrpy-2.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-httpbin[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test () {
+ local EPYTEST_DESELECT=(
+ # Internet
+ # https://github.com/kiwicom/pytest-recording/issues/131
+ tests/test_blocking_network.py::test_block_network_with_allowed_hosts
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_recording.plugin
+ PYTEST_PLUGINS+=,pytest_httpbin.plugin,pytest_mock
+ epytest
+}
diff --git a/dev-python/pytest-regressions/pytest-regressions-2.5.0.ebuild b/dev-python/pytest-regressions/pytest-regressions-2.5.0.ebuild
index 134c2a769390..c6593749e824 100644
--- a/dev-python/pytest-regressions/pytest-regressions-2.5.0.ebuild
+++ b/dev-python/pytest-regressions/pytest-regressions-2.5.0.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/pytest-repeat/Manifest b/dev-python/pytest-repeat/Manifest
new file mode 100644
index 000000000000..87139676046f
--- /dev/null
+++ b/dev-python/pytest-repeat/Manifest
@@ -0,0 +1 @@
+DIST pytest_repeat-0.9.3.tar.gz 6272 BLAKE2B 120f05793d82e6e7bf8c6fc510b218bdc72f453a3548d7a41928f3e228f3438fc3ff49f06025c2061f7f987e66868c653b275b2786b0de1f6eeffc296e4431bd SHA512 7a3fdf0a7403d11549e5cdd95e0f4ee93fd3a59d3f19604477ce73e4e20082f229ec03bd250be52c7d651ccb6aab9e995d2800d6f7931ee144e587741142243b
diff --git a/dev-python/pytest-repeat/metadata.xml b/dev-python/pytest-repeat/metadata.xml
new file mode 100644
index 000000000000..3e13149d0347
--- /dev/null
+++ b/dev-python/pytest-repeat/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">pytest-dev/pytest-repeat</remote-id>
+ <remote-id type="pypi">pytest-repeat</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytest-repeat/pytest-repeat-0.9.3.ebuild b/dev-python/pytest-repeat/pytest-repeat-0.9.3.ebuild
new file mode 100644
index 000000000000..6a9a1c6287c3
--- /dev/null
+++ b/dev-python/pytest-repeat/pytest-repeat-0.9.3.ebuild
@@ -0,0 +1,34 @@
+# Copyright 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin for repeating tests"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-repeat/
+ https://pypi.org/project/pytest-repeat/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_repeat
+ epytest
+}
diff --git a/dev-python/pytest-reraise/Manifest b/dev-python/pytest-reraise/Manifest
new file mode 100644
index 000000000000..62e7e97648d6
--- /dev/null
+++ b/dev-python/pytest-reraise/Manifest
@@ -0,0 +1 @@
+DIST pytest-reraise-2.1.2.gh.tar.gz 33487 BLAKE2B 8abb4d9524a397ab9ec8554534b26ce13ce14eaa88fe7073b57f3b4a410ff4e179a5ee7d3eb9e3e94f963a912ea0bdbc44c172e2474ab0035b8be7665b0ca756 SHA512 0095a3fd9672349a8d6628f11ac57369d48e1fdc20722215a8713ee396af563d0c95947592b5578da251b590087e479d6597bd403d1e6c2e38de4208a6db04a9
diff --git a/dev-python/pytest-reraise/metadata.xml b/dev-python/pytest-reraise/metadata.xml
new file mode 100644
index 000000000000..81510df974c7
--- /dev/null
+++ b/dev-python/pytest-reraise/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">bjoluc/pytest-reraise</remote-id>
+ <remote-id type="pypi">pytest-reraise</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytest-reraise/pytest-reraise-2.1.2.ebuild b/dev-python/pytest-reraise/pytest-reraise-2.1.2.ebuild
new file mode 100644
index 000000000000..a941a72240e3
--- /dev/null
+++ b/dev-python/pytest-reraise/pytest-reraise-2.1.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Make multi-threaded pytest test cases fail when they should"
+HOMEPAGE="
+ https://github.com/bjoluc/pytest-reraise/
+ https://pypi.org/project/pytest-reraise/
+"
+# no tests in pypi sdist, v2.1.2
+SRC_URI="
+ https://github.com/bjoluc/pytest-reraise/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/pytest-4.6[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-rerunfailures/Manifest b/dev-python/pytest-rerunfailures/Manifest
index 79c2cba6dc86..9205122c4b3e 100644
--- a/dev-python/pytest-rerunfailures/Manifest
+++ b/dev-python/pytest-rerunfailures/Manifest
@@ -1,2 +1 @@
-DIST pytest-rerunfailures-12.0.tar.gz 21154 BLAKE2B 3de39a8b92858bd90b312fca1c5f2e5ad790e12277f118bf18182b6192edf14dd160070bfe31ce981dc7ba41e0d0e2509ea80793c35c1856afdcfb5272ca55cc SHA512 2e6787ec8b420344eb1f7175b0f9e7f8a2f3cc3fd59ebf0c49128b39dc887200bd497e1d73a59311d072456e34126a1829324a4d86f86e5c01916940383c8fd4
-DIST pytest-rerunfailures-13.0.tar.gz 20846 BLAKE2B 7fbe5b05091ec358769837cb5a3f505f2901e4cec71f311268c606b237b25199d3dddb86f81399c8222f582570d99ef12a51d020d9610ea7fe25aca0a79294fe SHA512 466da7beac4785c82362e65c2c3420a5ac7c3d52a2b0c00f67ab6b8a5c64a51fc0b2172e7308c072b28a0cb0f74e1178f94ade3b10f4ad929ddf33057c80a654
+DIST pytest-rerunfailures-14.0.tar.gz 21350 BLAKE2B bb273d77a732c0296ca041b4cbd91fd48052076e9f76839b862b03de9f448208a216483bc486f23542cd99a12ef2934a46e3ea4162ca87bfd5c0904f2d114179 SHA512 8aa23a57206b0e6af133c716517c3c96cc156cc2f86b06c0fa80e9fea2b11f32e98cfb41f6a5fb05b38bab7496258160ba42fe6ae00d7bef8024159a8ed4a3f5
diff --git a/dev-python/pytest-rerunfailures/pytest-rerunfailures-12.0.ebuild b/dev-python/pytest-rerunfailures/pytest-rerunfailures-12.0.ebuild
deleted file mode 100644
index 202fd8cc2ec1..000000000000
--- a/dev-python/pytest-rerunfailures/pytest-rerunfailures-12.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="pytest plugin to re-run tests to eliminate flaky failures"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-rerunfailures/
- https://pypi.org/project/pytest-rerunfailures/
-"
-
-SLOT="0"
-LICENSE="MPL-2.0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/packaging-17.1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_rerunfailures
- epytest
-}
diff --git a/dev-python/pytest-rerunfailures/pytest-rerunfailures-13.0.ebuild b/dev-python/pytest-rerunfailures/pytest-rerunfailures-13.0.ebuild
deleted file mode 100644
index c6263b8ee63e..000000000000
--- a/dev-python/pytest-rerunfailures/pytest-rerunfailures-13.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="pytest plugin to re-run tests to eliminate flaky failures"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-rerunfailures/
- https://pypi.org/project/pytest-rerunfailures/
-"
-
-SLOT="0"
-LICENSE="MPL-2.0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/packaging-17.1[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_rerunfailures
- epytest
-}
diff --git a/dev-python/pytest-rerunfailures/pytest-rerunfailures-14.0.ebuild b/dev-python/pytest-rerunfailures/pytest-rerunfailures-14.0.ebuild
new file mode 100644
index 000000000000..92f724d179af
--- /dev/null
+++ b/dev-python/pytest-rerunfailures/pytest-rerunfailures-14.0.ebuild
@@ -0,0 +1,44 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin to re-run tests to eliminate flaky failures"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-rerunfailures/
+ https://pypi.org/project/pytest-rerunfailures/
+"
+
+LICENSE="MPL-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/packaging-17.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ if has_version ">=dev-python/pytest-8.2[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ # https://github.com/pytest-dev/pytest-rerunfailures/issues/267
+ tests/test_pytest_rerunfailures.py::test_exception_match_only_rerun_in_dual_query
+ tests/test_pytest_rerunfailures.py::test_exception_matches_only_rerun_query
+ tests/test_pytest_rerunfailures.py::test_exception_matches_rerun_except_query
+ tests/test_pytest_rerunfailures.py::test_exception_not_match_rerun_except_query
+ tests/test_pytest_rerunfailures.py::test_run_session_teardown_once_after_reruns
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_rerunfailures
+ epytest
+}
diff --git a/dev-python/pytest-reserial/Manifest b/dev-python/pytest-reserial/Manifest
new file mode 100644
index 000000000000..6e222b761d17
--- /dev/null
+++ b/dev-python/pytest-reserial/Manifest
@@ -0,0 +1,2 @@
+DIST pytest_reserial-0.4.1.tar.gz 11687 BLAKE2B 68c54b8e89c25d41fcb99f715a6008f71f55ad9e3101b37a90bb3b944fac473dd66392d08bcbe464af942fae58d9406492a65a3d61b547bef33d446b46d69f6a SHA512 1ac92258b3fdfeb9aca95b105c7a8ea21891f2609c591e7aa07ed8cc3d9b17f48eb7ec7d3d53524b564d5572ca679d897b8b06107fc4c370f3ed3cd2125cdfdf
+DIST pytest_reserial-0.4.2.tar.gz 12374 BLAKE2B 4f0d89bef2f4f99f2a9d9ef1ac5c46e31817ed4c91b78bd41f2670a89dd87dd642a1c80f0574957c24467cb77cebb9f0de27e540b47e0f70933cd6cf4a933ac7 SHA512 e3b9a82feee58c6808bb0491bf6c92f6ee0e1f83b3fafb676a4eac4ed03c90e29ead8d93ed275a83a7f2de3148aa55ba27f6dc6266c2e308e7085794d88a0ffa
diff --git a/dev-python/pytest-reserial/metadata.xml b/dev-python/pytest-reserial/metadata.xml
new file mode 100644
index 000000000000..d1bb807c062a
--- /dev/null
+++ b/dev-python/pytest-reserial/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">pytest-reserial</remote-id>
+ <remote-id type="github">bessman/pytest-reserial</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pytest-reserial/pytest-reserial-0.4.1.ebuild b/dev-python/pytest-reserial/pytest-reserial-0.4.1.ebuild
new file mode 100644
index 000000000000..74a38cc5b887
--- /dev/null
+++ b/dev-python/pytest-reserial/pytest-reserial-0.4.1.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pytest plugin for recording and replaying serial port traffic during tests"
+HOMEPAGE="
+ https://pypi.org/project/pytest-reserial/
+ https://github.com/bessman/pytest-reserial/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ dev-python/pyserial[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-reserial/pytest-reserial-0.4.2.ebuild b/dev-python/pytest-reserial/pytest-reserial-0.4.2.ebuild
new file mode 100644
index 000000000000..d7bd5483c32e
--- /dev/null
+++ b/dev-python/pytest-reserial/pytest-reserial-0.4.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pytest plugin for recording and replaying serial port traffic during tests"
+HOMEPAGE="
+ https://pypi.org/project/pytest-reserial/
+ https://github.com/bessman/pytest-reserial/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/pyserial[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-salt-factories/Manifest b/dev-python/pytest-salt-factories/Manifest
index 556d3f94fcc7..5faadd42178a 100644
--- a/dev-python/pytest-salt-factories/Manifest
+++ b/dev-python/pytest-salt-factories/Manifest
@@ -1,4 +1,5 @@
DIST pytest-salt-factories-1.0.0_rc20.gh.tar.gz 160140 BLAKE2B 7ecd9af695626c465e5776ed218bd92f30a556394cf4af0c2b6fb87c182f8aaf2d8f998358a7eef95fae53c85a6be2d4ed5a6ff191496fcac62a97e25cf19063 SHA512 5677c6638b5dc7f90c01f2c2204e1910c2bf6ea2c10b714173d3443d4c682b5f515ad7881e2ceee66f6eaf619e399d6fa10052604fdc9c5157c58348b63c8f2b
DIST pytest-salt-factories-1.0.0_rc23.gh.tar.gz 162711 BLAKE2B 28610679d7717d7a6f97a2f14a1ac838aec5101171ae65f2328d9b902d04b272c5e37f08d8ff3414af52ff7af954da24c083dfdc4afd1a9342b09cce0bf5aec3 SHA512 22d8f4a1c48a144437b9ff7d064760b59bb2a1003838e07f446a6150a77c162bffa7f21c570f796d8214d870d5b029e92abf7b0410ce19726085b607628364f0
-DIST pytest-salt-factories-1.0.0_rc25.gh.tar.gz 166148 BLAKE2B 11935c0164727968b9f2bd6f77498ea9ed4dbafd48bd6bb2730716fbcb1bb69b1ab09ef9ea2e2519368f4b6408bbb03f41fb0e52fc3cf75695f2b9c2b8d37294 SHA512 dd18688731b6bd2384abff9d739154b1ca7786bc3843d9fa8c293d1950925fff6c5820680a8095d4d5f3b75bcaeb07d8b3c7703ecab64a5f3a28bad11da18397
DIST pytest-salt-factories-1.0.0_rc28.gh.tar.gz 168150 BLAKE2B c286c2a3933f8a987f1073ba97097cec29bf494cac9c4ba21ec4c261e22570ac3445900cacf629cce6253fb1a5fb95eb3d637b4d26e8835648dd11c569a7255e SHA512 ea362daa83007d9054b023ca9c11864ba304d802fa359c8cb883aa929f339c5347d50560a2d4a9cbc151a7b05bc46d1dc2f7693dd32d26383766cb5f249f3484
+DIST pytest-salt-factories-1.0.0_rc29.gh.tar.gz 168690 BLAKE2B d365cdef727e6ed0c0d2d06ce3c8731ddf67181d4d8386d106b7569c709fc5336529c72e907d44496463b47b18659376a64c79b08d45aaa5aa7d8d927a646db3 SHA512 7dd0e9d5bb6e4b292ef145f6fec770435f1cd23a07be67c98e155b1aa3a34bec1c542d97a6cae0302ad46e5c2f4e35eadb45bd7ea8979c05c6ddf1aacde9f755
+DIST pytest-salt-factories-1.0.1.gh.tar.gz 169610 BLAKE2B 7f24d25ac9713204b3ba922aefbbb7e41de400128670eeba05679f85e6ee838ca8d595908ed442c8760e08be7c0041f936ee0ccfec651de767a4b660e47c136f SHA512 598486f15f00654509a68b0a216d84e1f790b4b9a28c2fd85b809d357d030299db6137e1b15883dc682b3eaa4f29f47b76bd06c1d1a9994028dc0332af972991
diff --git a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc20-r1.ebuild b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc20-r1.ebuild
index 97f8d92a63e4..519227386942 100644
--- a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc20-r1.ebuild
+++ b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc20-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ S=${WORKDIR}/${PN}-${PV//_/}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
+KEYWORDS="amd64 ~arm64 ~riscv x86"
IUSE="test"
RDEPEND="
diff --git a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc23.ebuild b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc23.ebuild
index bc0fa7676d1d..1704720e0f37 100644
--- a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc23.ebuild
+++ b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc23.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -14,7 +14,7 @@ S=${WORKDIR}/${PN}-${PV//_/}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
IUSE="test"
RDEPEND="
diff --git a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc25.ebuild b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc25.ebuild
deleted file mode 100644
index 2fea90873c20..000000000000
--- a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc25.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_10 )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1
-
-DESCRIPTION="The new generation of the pytest-salt Plugin"
-HOMEPAGE="https://github.com/saltstack/pytest-salt-factories"
-SRC_URI="https://github.com/saltstack/${PN}/archive/${PV//_/}.tar.gz -> ${P}.gh.tar.gz"
-S=${WORKDIR}/${PN}-${PV//_/}
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-IUSE="test"
-
-RDEPEND="
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/docker[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
- dev-python/pytest-system-statistics[${PYTHON_USEDEP}]
- >=dev-python/pytest-shell-utilities-1.4.0[${PYTHON_USEDEP}]
- dev-python/pyzmq[${PYTHON_USEDEP}]
- dev-python/msgpack[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- >=app-admin/salt-3005.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- dev-python/importlib-metadata[${PYTHON_USEDEP}]
- dev-python/pyfakefs[${PYTHON_USEDEP}]
- dev-python/pytest-subtests[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
-)
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -r -e "s:use_scm_version=True:version='${PV}', name='${PN//-/.}':" -i setup.py || die
- sed -r -e '/(setuptools|setup_requires)/ d' -i setup.cfg || die
-
- sed -i 's:tool.setuptools_scm:tool.disabled:' pyproject.toml || die
- printf '__version__ = "%s"\n' "${PV}" > src/saltfactories/version.py || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -a EPYTEST_DESELECT=(
- tests/functional/factories/cli/test_call.py::test_version_info
- tests/functional/factories/cli/test_cloud.py::test_version_info
- tests/functional/factories/cli/test_cp.py::test_version_info
- tests/functional/factories/cli/test_key.py::test_version_info
- tests/functional/factories/cli/test_run.py::test_version_info
- tests/functional/factories/cli/test_salt.py::test_version_info
- tests/functional/factories/cli/test_spm.py::test_version_info
- tests/functional/factories/cli/test_ssh.py::test_version_info
- tests/integration/factories/daemons/ssh/test_salt_ssh.py::test_salt_ssh
- tests/integration/factories/daemons/sshd/test_sshd.py::test_connect
- tests/scenarios/examples/test_echoext.py::test_echoext
- tests/functional/factories/daemons/test_container_factory.py::test_skip_on_pull_failure
- tests/functional/factories/daemons/test_container_factory.py::test_skip_if_docker_client_not_connectable
- )
-
- local tempdir
- # ${T} is too long a path for the tests to work
- tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)" || die
- addwrite "${tempdir}"
-
- (
- cleanup() { rm -rf "${tempdir}" || die; }
-
- trap cleanup EXIT
- export SHELL="/bin/bash" TMPDIR="${tempdir}"
- epytest --no-sys-stats
- )
-}
diff --git a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc28.ebuild b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc28.ebuild
index bf71441f4e49..1c3771a03676 100644
--- a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc28.ebuild
+++ b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc28.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -21,7 +21,7 @@ S=${WORKDIR}/${P//_/}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~riscv ~x86"
+KEYWORDS="amd64 arm64 ~riscv x86"
RDEPEND="
dev-python/attrs[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc29.ebuild b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc29.ebuild
new file mode 100644
index 000000000000..f579f09b3116
--- /dev/null
+++ b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.0_rc29.ebuild
@@ -0,0 +1,88 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_1{0..2} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+DESCRIPTION="The new generation of the pytest-salt Plugin"
+HOMEPAGE="
+ https://github.com/saltstack/pytest-salt-factories/
+ https://pypi.org/project/pytest-salt-factories/
+"
+SRC_URI="
+ https://github.com/saltstack/pytest-salt-factories/archive/${PV//_/}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/${P//_/}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/docker[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
+ dev-python/pytest-system-statistics[${PYTHON_USEDEP}]
+ >=dev-python/pytest-shell-utilities-1.4.0[${PYTHON_USEDEP}]
+ dev-python/pyzmq[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ >=app-admin/salt-3005.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/importlib-metadata[${PYTHON_USEDEP}]
+ dev-python/pyfakefs[${PYTHON_USEDEP}]
+ dev-python/pytest-subtests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+src_prepare() {
+ sed -i -e 's:helpers_namespace:pytest_&.plugin:' tests/conftest.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ "tests/functional/test_manager.py::test_system_service_cli[system-service(True)]"
+ "tests/functional/test_manager.py::test_system_service_config_fixture[system-service(True)]"
+ tests/integration/factories/daemons/ssh/test_salt_ssh.py::test_salt_ssh
+ tests/integration/factories/daemons/sshd/test_sshd.py::test_connect
+ tests/scenarios/examples/test_echoext.py::test_echoext
+ )
+
+ local ret tempdir x
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)" || die
+ addwrite "${tempdir}"
+
+ local -x SHELL="/bin/bash" TMPDIR="${tempdir}"
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=saltfactories.plugins
+ PYTEST_PLUGINS+=,pytest_helpers_namespace.plugin
+ PYTEST_PLUGINS+=,pytestsysstats.plugin
+ PYTEST_PLUGINS+=,pytest_subtests
+ for x in factories markers sysinfo event_listener log_server loader
+ do
+ PYTEST_PLUGINS+=,saltfactories.plugins.${x}
+ done
+
+ nonfatal epytest --no-sys-stats
+ ret=${?}
+
+ rm -rf "${tempdir}" || die
+ [[ ${ret} -ne 0 ]] && die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.1.ebuild b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.1.ebuild
new file mode 100644
index 000000000000..4827179cb1b1
--- /dev/null
+++ b/dev-python/pytest-salt-factories/pytest-salt-factories-1.0.1.ebuild
@@ -0,0 +1,88 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_1{0..2} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+DESCRIPTION="The new generation of the pytest-salt Plugin"
+HOMEPAGE="
+ https://github.com/saltstack/pytest-salt-factories/
+ https://pypi.org/project/pytest-salt-factories/
+"
+SRC_URI="
+ https://github.com/saltstack/pytest-salt-factories/archive/${PV//_/}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/${P//_/}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/docker[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
+ dev-python/pytest-system-statistics[${PYTHON_USEDEP}]
+ >=dev-python/pytest-shell-utilities-1.4.0[${PYTHON_USEDEP}]
+ dev-python/pyzmq[${PYTHON_USEDEP}]
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ >=app-admin/salt-3005.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/importlib-metadata[${PYTHON_USEDEP}]
+ dev-python/pyfakefs[${PYTHON_USEDEP}]
+ dev-python/pytest-subtests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+src_prepare() {
+ sed -i -e 's:helpers_namespace:pytest_&.plugin:' tests/conftest.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ "tests/functional/test_manager.py::test_system_service_cli[system-service(True)]"
+ "tests/functional/test_manager.py::test_system_service_config_fixture[system-service(True)]"
+ tests/integration/factories/daemons/ssh/test_salt_ssh.py::test_salt_ssh
+ tests/integration/factories/daemons/sshd/test_sshd.py::test_connect
+ tests/scenarios/examples/test_echoext.py::test_echoext
+ )
+
+ local ret tempdir x
+ # ${T} is too long a path for the tests to work
+ tempdir="$(mktemp -du --tmpdir=/tmp salt-XXX)" || die
+ addwrite "${tempdir}"
+
+ local -x SHELL="/bin/bash" TMPDIR="${tempdir}"
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=saltfactories.plugins
+ PYTEST_PLUGINS+=,pytest_helpers_namespace.plugin
+ PYTEST_PLUGINS+=,pytestsysstats.plugin
+ PYTEST_PLUGINS+=,pytest_subtests
+ for x in factories markers sysinfo event_listener log_server loader
+ do
+ PYTEST_PLUGINS+=,saltfactories.plugins.${x}
+ done
+
+ nonfatal epytest --no-sys-stats
+ ret=${?}
+
+ rm -rf "${tempdir}" || die
+ [[ ${ret} -ne 0 ]] && die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/pytest-services/pytest-services-2.2.1-r1.ebuild b/dev-python/pytest-services/pytest-services-2.2.1-r1.ebuild
index 8d34daccb60b..675d46525e52 100644
--- a/dev-python/pytest-services/pytest-services-2.2.1-r1.ebuild
+++ b/dev-python/pytest-services/pytest-services-2.2.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~sparc x86"
RDEPEND="
dev-python/requests[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-shell-utilities/Manifest b/dev-python/pytest-shell-utilities/Manifest
index 955df550c1a2..057a06f646b9 100644
--- a/dev-python/pytest-shell-utilities/Manifest
+++ b/dev-python/pytest-shell-utilities/Manifest
@@ -1 +1 @@
-DIST pytest-shell-utilities-1.8.0.gh.tar.gz 79387 BLAKE2B 830e481996347a45aac357da8f98c8e9ee091a2bfd84af01a853abacde7fb9e10c451742cc8aa60cb8fed71e8176e43d95e17fbdd870f3f490334f5f6860e936 SHA512 817219983a77ad1685d4a70aae7a261e40dff095545a261bf527b756f763718ae5a841635600917f6c1c9d37df128ca1a9e2532a211cdf0c7ab89ab1ac083eff
+DIST pytest-shell-utilities-1.9.0.gh.tar.gz 79526 BLAKE2B e17b3903b8b3b9c2a8b3d708a1031c5b18beb4741006cec5cf2b8586fb1a86c0034e374927f09786dd036d01ae8811f4eacdaa28053d3205d19bb122211b6437 SHA512 532d82754d0133cc49e8f88e700b1e7469e32a829079536b886358ba15caa18ff30a8ed88e258116ce4302c4220dc986c0f254cef10561ffee81d1e399107dbf
diff --git a/dev-python/pytest-shell-utilities/metadata.xml b/dev-python/pytest-shell-utilities/metadata.xml
index 7240792f1d5f..584d1f6287a0 100644
--- a/dev-python/pytest-shell-utilities/metadata.xml
+++ b/dev-python/pytest-shell-utilities/metadata.xml
@@ -9,6 +9,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">saltstack/pytest-shell-utilities</remote-id>
<remote-id type="pypi">pytest-shell-utilities</remote-id>
diff --git a/dev-python/pytest-shell-utilities/pytest-shell-utilities-1.8.0.ebuild b/dev-python/pytest-shell-utilities/pytest-shell-utilities-1.8.0.ebuild
deleted file mode 100644
index 1da916209d27..000000000000
--- a/dev-python/pytest-shell-utilities/pytest-shell-utilities-1.8.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="pytest plugin: fixtures and code to help with running shell commands on tests"
-HOMEPAGE="
- https://pypi.org/project/pytest-shell-utilities/
- https://github.com/saltstack/pytest-shell-utilities/
-"
-SRC_URI="
- https://github.com/saltstack/pytest-shell-utilities/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/pytest-7.1.0[${PYTHON_USEDEP}]
- >=dev-python/attrs-22.1.0[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
- dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-subtests[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/pytest-shell-utilities/pytest-shell-utilities-1.9.0-r1.ebuild b/dev-python/pytest-shell-utilities/pytest-shell-utilities-1.9.0-r1.ebuild
new file mode 100644
index 000000000000..0b55407201b4
--- /dev/null
+++ b/dev-python/pytest-shell-utilities/pytest-shell-utilities-1.9.0-r1.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2022-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
+
+DESCRIPTION="pytest plugin: fixtures and code to help with running shell commands on tests"
+HOMEPAGE="
+ https://pypi.org/project/pytest-shell-utilities/
+ https://github.com/saltstack/pytest-shell-utilities/
+"
+SRC_URI="
+ https://github.com/saltstack/pytest-shell-utilities/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/attrs-22.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7.4.0[${PYTHON_USEDEP}]
+ <dev-python/psutil-6[${PYTHON_USEDEP}]
+ dev-python/pytest-helpers-namespace[${PYTHON_USEDEP}]
+ dev-python/pytest-skip-markers[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-subtests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/pytest-shutil/Manifest b/dev-python/pytest-shutil/Manifest
deleted file mode 100644
index f72bfbdf3cc0..000000000000
--- a/dev-python/pytest-shutil/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pytest-shutil-1.7.0.tar.gz 23497 BLAKE2B e13641491fb4bd448973b8004ac9ded2f9b7c412ea93af7f9206e5fc38ea7554073374116eeefc529d2ae35e8a25e678fef5a27089af89026077a72d11d6016d SHA512 3746c08b17834621a7142ed9d5915b5c348c13367f5b423b258d3471bcb9c9e983c61c25ca936f879b8b82f80512512b7f3ade5555c24a790c72b502e3f3d144
diff --git a/dev-python/pytest-shutil/files/pytest-shutil-1.7.0-py312.patch b/dev-python/pytest-shutil/files/pytest-shutil-1.7.0-py312.patch
deleted file mode 100644
index 905550622fc1..000000000000
--- a/dev-python/pytest-shutil/files/pytest-shutil-1.7.0-py312.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-From bbb9e5c7cba84fb4665a521569d1cfcca08ee4e5 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sat, 27 May 2023 18:05:44 +0200
-Subject: [PATCH] pytest-shutil: Replace deprecated imp module
-
-Replace the use of the deprecated `imp` module with `importlib.util',
-as the former has been removed from Python 3.12.
----
- pytest-shutil/pytest_shutil/run.py | 7 +++++--
- 1 file changed, 5 insertions(+), 2 deletions(-)
-
-diff --git a/pytest-shutil/pytest_shutil/run.py b/pytest-shutil/pytest_shutil/run.py
-index 7d46aea..08a6a34 100644
---- a/pytest_shutil/run.py
-+++ b/pytest_shutil/run.py
-@@ -3,7 +3,7 @@
- """
- import sys
- import os
--import imp
-+import importlib.util
- import logging
- from functools import update_wrapper
- import inspect
-@@ -112,7 +112,10 @@ def run_module_as_main(module, argv=[]):
- filename = os.path.splitext(filename)[0] + ".py"
-
- with patch("sys.argv", new=argv):
-- imp.load_source('__main__', os.path.join(where, filename))
-+ spec = importlib.util.spec_from_file_location(
-+ "__main__", os.path.join(where, filename))
-+ module = importlib.util.module_from_spec(spec)
-+ spec.loader.exec_module(module)
-
-
- def _evaluate_fn_source(src, *args, **kwargs):
---
-2.40.1
-
diff --git a/dev-python/pytest-shutil/metadata.xml b/dev-python/pytest-shutil/metadata.xml
deleted file mode 100644
index 9be6b49714b1..000000000000
--- a/dev-python/pytest-shutil/metadata.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <maintainer>
- <email>eeaston@gmail.com</email>
- <name>Edward Easton</name>
- </maintainer>
- <remote-id type="pypi">pytest-shutil</remote-id>
- <remote-id type="github">man-group/pytest-plugins</remote-id>
- </upstream>
- <longdescription>
- This library is a goodie-bag of Unix shell and environment management
- tools for automated tests. A summary of the available functions is
- below, look at the source for the full listing.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-python/pytest-shutil/pytest-shutil-1.7.0-r4.ebuild b/dev-python/pytest-shutil/pytest-shutil-1.7.0-r4.ebuild
deleted file mode 100644
index 652875bbb6c6..000000000000
--- a/dev-python/pytest-shutil/pytest-shutil-1.7.0-r4.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A goodie-bag of unix shell and environment tools for py.test"
-HOMEPAGE="
- https://github.com/man-group/pytest-plugins/
- https://pypi.org/project/pytest-shutil/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/execnet[${PYTHON_USEDEP}]
- dev-python/path[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/termcolor[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- dev-python/setuptools-git[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- # https://github.com/man-group/pytest-plugins/pull/219
- "${FILESDIR}"/${P}-py312.patch
-)
-
-EPYTEST_DESELECT=(
- # colors no longer happen automagically to non-tty, not important
- # https://github.com/man-group/pytest-plugins/pull/217
- tests/unit/test_cmdline.py::test_pretty_formatter
-)
-
-python_prepare_all() {
- # remove unnecessary deps
- # (contextlib2 is not used in py3)
- sed -i -e '/path\.py/d' -e '/contextlib2/d' setup.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/pytest-skip-markers/Manifest b/dev-python/pytest-skip-markers/Manifest
index 1e1d4e98594c..04ea6c52f7f5 100644
--- a/dev-python/pytest-skip-markers/Manifest
+++ b/dev-python/pytest-skip-markers/Manifest
@@ -1 +1 @@
-DIST pytest-skip-markers-1.5.0.gh.tar.gz 73142 BLAKE2B 26575a1a7880714b3af4fd7b02b5c5d56b99e0ad0947012823e6c917afe7ca134e930f2bf75b3504fe3fd1516d39e82acd7dae799255b30c370ae085d0cff402 SHA512 217fae64013a0d0f4b91d33a22576df9dece1bdda28beda0919e3638ed6cddcf24715971fb1da8e8c62df50510c969ce24716044d6aa05f8a0b4891082e83584
+DIST pytest-skip-markers-1.5.1.gh.tar.gz 73219 BLAKE2B f8f23bf64dfc23263ee58397fa8571bf76a77820230f8f27003f72f0a26cbb19ae76185ed203e5b516326a40a355c2d006101f2eb7cd4df40f4a4d80e8e7c629 SHA512 4221e39ab472a88c4f6d0cf2fbf0de1568f99f5ca9962e4afab060b6cfd8365d106583cf818a98bbc7f8f4d5192c7fc9678e4e0da2b6c1082c26ee2e049b0004
diff --git a/dev-python/pytest-skip-markers/pytest-skip-markers-1.5.0.ebuild b/dev-python/pytest-skip-markers/pytest-skip-markers-1.5.0.ebuild
deleted file mode 100644
index bc066f65f3d5..000000000000
--- a/dev-python/pytest-skip-markers/pytest-skip-markers-1.5.0.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Pytest plugin which implements a few useful skip markers"
-HOMEPAGE="
- https://pytest-skip-markers.readthedocs.io/en/latest/
- https://github.com/saltstack/pytest-skip-markers
-"
-SRC_URI="
- https://github.com/saltstack/pytest-skip-markers/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/pytest-7.1.0[${PYTHON_USEDEP}]
- dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/distro[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pyfakefs[${PYTHON_USEDEP}]
- dev-python/pytest-subtests[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytestskipmarkers.plugin,pyfakefs.pytest_plugin
- epytest
-}
diff --git a/dev-python/pytest-skip-markers/pytest-skip-markers-1.5.1.ebuild b/dev-python/pytest-skip-markers/pytest-skip-markers-1.5.1.ebuild
new file mode 100644
index 000000000000..df299f464d59
--- /dev/null
+++ b/dev-python/pytest-skip-markers/pytest-skip-markers-1.5.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Pytest plugin which implements a few useful skip markers"
+HOMEPAGE="
+ https://pytest-skip-markers.readthedocs.io/en/latest/
+ https://github.com/saltstack/pytest-skip-markers
+"
+SRC_URI="
+ https://github.com/saltstack/pytest-skip-markers/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/pytest-7.1.0[${PYTHON_USEDEP}]
+ dev-python/attrs[${PYTHON_USEDEP}]
+ dev-python/distro[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pyfakefs[${PYTHON_USEDEP}]
+ dev-python/pytest-subtests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytestskipmarkers.plugin,pyfakefs.pytest_plugin
+ epytest
+}
diff --git a/dev-python/pytest-subprocess/Manifest b/dev-python/pytest-subprocess/Manifest
index 50d817de0d37..2cef4ce5fd6b 100644
--- a/dev-python/pytest-subprocess/Manifest
+++ b/dev-python/pytest-subprocess/Manifest
@@ -1 +1,3 @@
DIST pytest-subprocess-1.5.0.gh.tar.gz 34771 BLAKE2B b76ab9234ff2ec437ef9679c2e8af6cdc545189c7fd9f832f68c5cad094c80250c5fe1fd6e0da54d7a8c09da30a66f7f097da66f03d169e149186b49e2b72b56 SHA512 8489993cc396d41d127927ab46a43120528dbcb9641e7be03777689af127df29fe618eee3a815e96a0353cc02117dc1af22800d748476c4fe2b76c2246229f08
+DIST pytest-subprocess-1.5.1.gh.tar.gz 35269 BLAKE2B a614376eb25b0e58fe438f2bfc2033ebdb4e83a34cc4fd2ef68b162830dadc2ec4eea436abdcf7d88591ade57e05dd2dcdfbb6443ae30549a03aa9c0935afeeb SHA512 1b719a6d3d1a38638490d574f2b3f9b8a6b76f4059fd05f8c7230395db34caf5e34e58a977ad47a779e65b77317bc05af1293378bca84469fdf205822fbc1cdc
+DIST pytest-subprocess-1.5.2.gh.tar.gz 35438 BLAKE2B bbc92d99dfdd094e8295df37dd3fb66a022ebd4d711bb3f80408d21c8dbe3304bdafd8e7b0fcba15c681b8598bb55f92e0e91e9bd837ca165e94b791ef02c4e3 SHA512 56bf95ee085e74df1b9691d23a1e766de304896a74fb319df22dbb3faa6e4959fe9b7e790cd65a55c816fb39f3ae8db68bd501aeaade0db498a7273cd7267e45
diff --git a/dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild b/dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild
index 48c8bfd856dd..d64fa11a78b9 100644
--- a/dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild
+++ b/dev-python/pytest-subprocess/pytest-subprocess-1.5.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/pytest-4.0.0[${PYTHON_USEDEP}]
diff --git a/dev-python/pytest-subprocess/pytest-subprocess-1.5.1.ebuild b/dev-python/pytest-subprocess/pytest-subprocess-1.5.1.ebuild
new file mode 100644
index 000000000000..f178708bfd6b
--- /dev/null
+++ b/dev-python/pytest-subprocess/pytest-subprocess-1.5.1.ebuild
@@ -0,0 +1,51 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A plugin to fake subprocess for pytest"
+HOMEPAGE="
+ https://github.com/aklajnert/pytest-subprocess/
+ https://pypi.org/project/pytest-subprocess/
+"
+SRC_URI="
+ https://github.com/aklajnert/pytest-subprocess/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-4.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/anyio[${PYTHON_USEDEP}]
+ >=dev-python/docutils-0.12[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.15.1[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # https://github.com/aklajnert/pytest-subprocess/pull/162
+ sed -i -e '/py_modules/d' -e '/find_packages/d' setup.py || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_subprocess.fixtures,pytest_asyncio.plugin
+ epytest -p rerunfailures
+}
diff --git a/dev-python/pytest-subprocess/pytest-subprocess-1.5.2.ebuild b/dev-python/pytest-subprocess/pytest-subprocess-1.5.2.ebuild
new file mode 100644
index 000000000000..644a1235cad1
--- /dev/null
+++ b/dev-python/pytest-subprocess/pytest-subprocess-1.5.2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A plugin to fake subprocess for pytest"
+HOMEPAGE="
+ https://github.com/aklajnert/pytest-subprocess/
+ https://pypi.org/project/pytest-subprocess/
+"
+SRC_URI="
+ https://github.com/aklajnert/pytest-subprocess/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/pytest-4.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/anyio[${PYTHON_USEDEP}]
+ >=dev-python/docutils-0.12[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.15.1[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_subprocess.fixtures,pytest_asyncio.plugin
+ epytest -p rerunfailures
+}
diff --git a/dev-python/pytest-subtesthack/Manifest b/dev-python/pytest-subtesthack/Manifest
deleted file mode 100644
index e7470f8ed6be..000000000000
--- a/dev-python/pytest-subtesthack/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pytest-subtesthack-0.2.0.gh.tar.gz 2886 BLAKE2B e4e34ff73c7dfe92bed94d40fef168a3420879ba4a28eccb66ae7549d895b0ca7885be57178a6403661b57578f55ac3c5dbcaa090d2b658da770e0cabb0f3a75 SHA512 8b4f5ee2b07a8bcfa11934f5f207b9418810a708be7b8ccc0f19a4a4b979bbc60e993f0f2a5158482bc0162364bc96717e1ecda6743832ba121dfef9cfca9dd5
diff --git a/dev-python/pytest-subtesthack/metadata.xml b/dev-python/pytest-subtesthack/metadata.xml
deleted file mode 100644
index 1df3d29b4005..000000000000
--- a/dev-python/pytest-subtesthack/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">pytest-subtesthack</remote-id>
- <remote-id type="github">untitaker/pytest-subtesthack</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pytest-subtesthack/pytest-subtesthack-0.2.0.ebuild b/dev-python/pytest-subtesthack/pytest-subtesthack-0.2.0.ebuild
deleted file mode 100644
index 6ab4b86f0e36..000000000000
--- a/dev-python/pytest-subtesthack/pytest-subtesthack-0.2.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A hack for test fixtures, needed for hypothesis inside py.test"
-HOMEPAGE="
- https://github.com/untitaker/pytest-subtesthack/
- https://pypi.org/project/pytest-subtesthack/
-"
-SRC_URI="
- https://github.com/untitaker/pytest-subtesthack/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-RDEPEND="
- dev-python/pytest[${PYTHON_USEDEP}]
-"
-DEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-subtests/Manifest b/dev-python/pytest-subtests/Manifest
index 33abed93f3b6..f386fef2a6a7 100644
--- a/dev-python/pytest-subtests/Manifest
+++ b/dev-python/pytest-subtests/Manifest
@@ -1 +1,3 @@
-DIST pytest-subtests-0.11.0.tar.gz 12763 BLAKE2B b1e1373d197798a9c27ed65569a681e9ea8dd36014cf6ea57a1d44ed888dca21bd8c5afffeb7f590a501d83d1bc0a8e1fe06b13832173e6937b722163614f21e SHA512 cab486252148e457e234e0dadacefa5ff38cf67df48d9c8bd61aa546a4a1e712b70dca0a270dffceede6be0f8a6324e8c21beaa4d1528b39f12bba72e077ef1d
+DIST pytest-subtests-0.12.1.tar.gz 15303 BLAKE2B 68ce29fd067836cb32b43f260c98b0a8d1827a1bf6f3f61bc98eb69a5259dad725379bece5fe745e86561cab7e58042aff7da51d39e99fd09bbf0127d04d8cca SHA512 5eb4ff950171f8e008b3879453b55bab1ebc82ec60ca4da839158ad6e195c03f1a5d6b6ce2ac263a3ecaa2f684955e4fcc7abf5e429de9ffd898586b758e6cd4
+DIST pytest_subtests-0.13.0.tar.gz 15842 BLAKE2B 8ca2b7eb9983bc8d07d2e1eff281b0047b8a8002eff7aa916e58927522eb390c2e6fd8f788738d5a5ae725bb93cd7f8f4e99eca0270d76b64a2d55f2f3c37d8f SHA512 0cff25633782e898594fab2de7078ef0d3983d5fd5ec35179e8016905f2d795024fd7c430aad42c3889f4c3f28947a4bdb93de7fad2dd9fec2d721c0fd51d323
+DIST pytest_subtests-0.13.1.tar.gz 15936 BLAKE2B 6301c0dae6eccd9f20acf6c08e0b1b77c7e80a64e4558628cc85e0d6c202d0b2bb0d7be27f930d7bf68ab8c4c2076e7fe68ab24b9b45cb22fbb3a4b31fd7b4e7 SHA512 c1c92a7a608710fd75a3a67cfd620ec257d7b1fa191fc4788a747ffebdf3973dde9407ed85e1842f15947558f6ec7c15e5c13ad84ce59489398386d6578f1caf
diff --git a/dev-python/pytest-subtests/pytest-subtests-0.11.0.ebuild b/dev-python/pytest-subtests/pytest-subtests-0.11.0.ebuild
deleted file mode 100644
index 11ac8bbfedb4..000000000000
--- a/dev-python/pytest-subtests/pytest-subtests-0.11.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Unittest subTest() support and subtests fixture"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-subtests/
- https://pypi.org/project/pytest-subtests/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-7[${PYTHON_USEDEP}]
-"
-# pytest-xdist is used to test compatibility
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=xdist.plugin,xdist.looponfail,pytest_forked,pytest_subtests
- epytest
-}
diff --git a/dev-python/pytest-subtests/pytest-subtests-0.12.1.ebuild b/dev-python/pytest-subtests/pytest-subtests-0.12.1.ebuild
new file mode 100644
index 000000000000..d685370d589e
--- /dev/null
+++ b/dev-python/pytest-subtests/pytest-subtests-0.12.1.ebuild
@@ -0,0 +1,40 @@
+# Copyright 2022-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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Unittest subTest() support and subtests fixture"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-subtests/
+ https://pypi.org/project/pytest-subtests/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7[${PYTHON_USEDEP}]
+"
+# pytest-xdist is used to test compatibility
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,pytest_subtests.plugin
+ epytest
+}
diff --git a/dev-python/pytest-subtests/pytest-subtests-0.13.0.ebuild b/dev-python/pytest-subtests/pytest-subtests-0.13.0.ebuild
new file mode 100644
index 000000000000..477c42560e40
--- /dev/null
+++ b/dev-python/pytest-subtests/pytest-subtests-0.13.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Unittest subTest() support and subtests fixture"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-subtests/
+ https://pypi.org/project/pytest-subtests/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7[${PYTHON_USEDEP}]
+"
+# pytest-xdist is used to test compatibility
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,pytest_subtests.plugin
+ epytest
+}
diff --git a/dev-python/pytest-subtests/pytest-subtests-0.13.1.ebuild b/dev-python/pytest-subtests/pytest-subtests-0.13.1.ebuild
new file mode 100644
index 000000000000..477c42560e40
--- /dev/null
+++ b/dev-python/pytest-subtests/pytest-subtests-0.13.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Unittest subTest() support and subtests fixture"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-subtests/
+ https://pypi.org/project/pytest-subtests/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7[${PYTHON_USEDEP}]
+"
+# pytest-xdist is used to test compatibility
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdist.plugin,pytest_subtests.plugin
+ epytest
+}
diff --git a/dev-python/pytest-sugar/Manifest b/dev-python/pytest-sugar/Manifest
index e11ef9d92410..023f68ed522b 100644
--- a/dev-python/pytest-sugar/Manifest
+++ b/dev-python/pytest-sugar/Manifest
@@ -1 +1 @@
-DIST pytest-sugar-0.9.7.tar.gz 14874 BLAKE2B eb65d3261be10897b98f29704a8cd32102a91f7d3023651a6fc5c69e7d4f77c9ade1b3ca808047d0813503ceb416490126402f4751ac93fbdaadf9ddd1ef13c7 SHA512 7ab1a4f91bd252452ffd5b4fa636a1dffd4ffa5a19c839f2d00d0c69b885216144bb25e1a666bebb17be8112a397adfe04d5caa215edc98f64c20fefd43334cf
+DIST pytest-sugar-1.0.0.tar.gz 14992 BLAKE2B 75087685c88a2f5ff27cdebbc7600a23fc57c8ee556f57cf05ef3239b1a88866940f99635065fecf254e7fb7a96784edf1bfeaad1a9548077313c1bfd51146b5 SHA512 3976a77c76ae9a83a84753d426902650d0a63d686a84cdd25439c01ae444ae0a84c6095bf0ee5cfaf544e1cc69680001676a8dc4314d0f4d22c3021cb5b7c41d
diff --git a/dev-python/pytest-sugar/pytest-sugar-0.9.7.ebuild b/dev-python/pytest-sugar/pytest-sugar-0.9.7.ebuild
deleted file mode 100644
index 0ed61a45dcc2..000000000000
--- a/dev-python/pytest-sugar/pytest-sugar-0.9.7.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Plugin that changes the default look and feel of pytest"
-HOMEPAGE="
- https://github.com/Teemu/pytest-sugar/
- https://pypi.org/project/pytest-sugar/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- >=dev-python/pytest-6.2.0[${PYTHON_USEDEP}]
- >=dev-python/termcolor-2.1.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-sugar/pytest-sugar-1.0.0.ebuild b/dev-python/pytest-sugar/pytest-sugar-1.0.0.ebuild
new file mode 100644
index 000000000000..ca680be36a58
--- /dev/null
+++ b/dev-python/pytest-sugar/pytest-sugar-1.0.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2021-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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Plugin that changes the default look and feel of pytest"
+HOMEPAGE="
+ https://github.com/Teemu/pytest-sugar/
+ https://pypi.org/project/pytest-sugar/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-6.2.0[${PYTHON_USEDEP}]
+ >=dev-python/termcolor-2.1.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest-system-statistics/pytest-system-statistics-1.0.2-r2.ebuild b/dev-python/pytest-system-statistics/pytest-system-statistics-1.0.2-r2.ebuild
index 2ed51c91e1d5..b98a56e6ba58 100644
--- a/dev-python/pytest-system-statistics/pytest-system-statistics-1.0.2-r2.ebuild
+++ b/dev-python/pytest-system-statistics/pytest-system-statistics-1.0.2-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pytest-tempdir/metadata.xml b/dev-python/pytest-tempdir/metadata.xml
index 36f849d0a069..97faaa950503 100644
--- a/dev-python/pytest-tempdir/metadata.xml
+++ b/dev-python/pytest-tempdir/metadata.xml
@@ -8,6 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">pytest-tempdir</remote-id>
- <remote-id type="github">saltstack/pytest-tempdir</remote-id>
+ <remote-id type="github">vmware-archive/pytest-tempdir</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/pytest-tempdir/pytest-tempdir-2019.10.12-r1.ebuild b/dev-python/pytest-tempdir/pytest-tempdir-2019.10.12-r1.ebuild
index c021ea21e987..e4b9b9f6d987 100644
--- a/dev-python/pytest-tempdir/pytest-tempdir-2019.10.12-r1.ebuild
+++ b/dev-python/pytest-tempdir/pytest-tempdir-2019.10.12-r1.ebuild
@@ -1,15 +1,22 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
inherit distutils-r1
DESCRIPTION="Pytest plugin to support for a predictable and repeatable temporary directory"
-HOMEPAGE="https://github.com/saltstack/pytest-tempdir"
-SRC_URI="https://github.com/saltstack/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+HOMEPAGE="
+ https://github.com/vmware-archive/pytest-tempdir/
+ https://pypi.org/project/pytest-tempdir/
+"
+SRC_URI="
+ https://github.com/vmware-archive/pytest-tempdir/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="Apache-2.0"
SLOT="0"
diff --git a/dev-python/pytest-testinfra/Manifest b/dev-python/pytest-testinfra/Manifest
index 010879cf0106..a2a24c393c48 100644
--- a/dev-python/pytest-testinfra/Manifest
+++ b/dev-python/pytest-testinfra/Manifest
@@ -1,2 +1 @@
-DIST pytest-testinfra-10.0.0.tar.gz 84667 BLAKE2B 10c62340af7cb0a07cbc3c8099f0d22bbf8e3623e8c5f80dd45acef23ec178a2b090aa012e5602c7b67d0ef61ca9922d05e412e8db62384589080455326c8abc SHA512 3f289fccc3ba38ed1aa316adbb05ef74f51fbd1130ab7a39c5d56a11124de96c048aecef3a19438cd0d50d4891ed843671d9daf50fc5c3fb5c834164b276529d
-DIST pytest-testinfra-9.0.0.tar.gz 83896 BLAKE2B 8d75bf051ec91916dcb9bc727409eefbf53f8635b5dd953d2c1d05a1d4daa37ade01a23bcc004f77ced37d8fb30684df211d16d95839c1a8d8e5d5c4df5336ca SHA512 bbf66597c473b868f0dde0437d666f8235e835a35bfd12b4a86f9970e26c1963d83101e7e0e3b3817e23798bee342f47ac7666041f0e09038236f9ddca4afecf
+DIST pytest-testinfra-10.1.1.tar.gz 86567 BLAKE2B b9dd9ea4023b1b7d9399615fbf6493efb094ec7f2478f65b46118173f6b20f545b645d06f20b42544325d68a917812a55f902ca28774b8ffb8743ac8182c3970 SHA512 6173937b03eaefb84a95b6fca616092ea0649f880fd1bccef6364f338b859bda8d09d706b517625b81cff4f663ababa766dac82d4d094c38683d9b170909f6c9
diff --git a/dev-python/pytest-testinfra/metadata.xml b/dev-python/pytest-testinfra/metadata.xml
index 60e822fcc88a..94c69f341249 100644
--- a/dev-python/pytest-testinfra/metadata.xml
+++ b/dev-python/pytest-testinfra/metadata.xml
@@ -7,10 +7,6 @@
Testinfra aims to be a Serverspec equivalent in Python.
</longdescription>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/pytest-testinfra/pytest-testinfra-10.0.0.ebuild b/dev-python/pytest-testinfra/pytest-testinfra-10.0.0.ebuild
deleted file mode 100644
index 2dc06303060d..000000000000
--- a/dev-python/pytest-testinfra/pytest-testinfra-10.0.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Write unit tests in Python to test actual state of your servers"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-testinfra/
- https://pypi.org/project/pytest-testinfra/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv"
-
-RDEPEND="
- dev-python/pytest[${PYTHON_USEDEP}]
-"
-# Ansible is called via its CLI
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- app-admin/ansible
- $(python_gen_cond_dep '
- app-admin/salt[${PYTHON_USEDEP}]
- ' python3_10)
- dev-python/paramiko[${PYTHON_USEDEP}]
- dev-python/pywinrm[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x EPYTEST_DESELECT=()
-
- # This is the only test which actually fails if salt cannot be imported
- if ! has_version "dev-python/salt[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- test/test_backends.py::test_backend_importables
- )
- fi
-
- epytest
-}
-
-pkg_postinst() {
- elog "For the list of available connection back-ends and their dependencies,"
- elog "please consult https://testinfra.readthedocs.io/en/latest/backends.html"
-}
diff --git a/dev-python/pytest-testinfra/pytest-testinfra-10.1.1.ebuild b/dev-python/pytest-testinfra/pytest-testinfra-10.1.1.ebuild
new file mode 100644
index 000000000000..6a6eef4cb700
--- /dev/null
+++ b/dev-python/pytest-testinfra/pytest-testinfra-10.1.1.ebuild
@@ -0,0 +1,54 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Write unit tests in Python to test actual state of your servers"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-testinfra/
+ https://pypi.org/project/pytest-testinfra/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv"
+
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+# Ansible is called via its CLI
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ app-admin/ansible
+ dev-python/paramiko[${PYTHON_USEDEP}]
+ dev-python/pywinrm[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x EPYTEST_DESELECT=()
+
+ # This is the only test which actually fails if salt cannot be imported
+ if ! has_version "dev-python/salt[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ test/test_backends.py::test_backend_importables
+ )
+ fi
+
+ epytest
+}
+
+pkg_postinst() {
+ elog "For the list of available connection back-ends and their dependencies,"
+ elog "please consult https://testinfra.readthedocs.io/en/latest/backends.html"
+}
diff --git a/dev-python/pytest-testinfra/pytest-testinfra-9.0.0.ebuild b/dev-python/pytest-testinfra/pytest-testinfra-9.0.0.ebuild
deleted file mode 100644
index 6c68af1ef89a..000000000000
--- a/dev-python/pytest-testinfra/pytest-testinfra-9.0.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Write unit tests in Python to test actual state of your servers"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-testinfra/
- https://pypi.org/project/pytest-testinfra/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv"
-
-RDEPEND="
- dev-python/pytest[${PYTHON_USEDEP}]
-"
-# Ansible is called via its CLI
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- app-admin/ansible
- $(python_gen_cond_dep '
- app-admin/salt[${PYTHON_USEDEP}]
- ' python3_10)
- dev-python/paramiko[${PYTHON_USEDEP}]
- dev-python/pywinrm[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x EPYTEST_DESELECT=()
-
- # This is the only test which actually fails if salt cannot be imported
- if ! has_version "dev-python/salt[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- test/test_backends.py::test_backend_importables
- )
- fi
-
- epytest
-}
-
-pkg_postinst() {
- elog "For the list of available connection back-ends and their dependencies,"
- elog "please consult https://testinfra.readthedocs.io/en/latest/backends.html"
-}
diff --git a/dev-python/pytest-timeout/Manifest b/dev-python/pytest-timeout/Manifest
index 74b4d5a96c03..46854c84991e 100644
--- a/dev-python/pytest-timeout/Manifest
+++ b/dev-python/pytest-timeout/Manifest
@@ -1 +1 @@
-DIST pytest-timeout-2.2.0.tar.gz 16391 BLAKE2B 550b803ed4a64ab0fead7f6e61297ea6bfc6e59988998c5383fdccdebb3664fe9f6651314bb1a439f6431e844bb770feb50bedcabd568e4dfea7526d8c328dd7 SHA512 11a0c4e958b324bff3e149bf2a7dc5bf6ab6549405d5061856f8f1ad0e43df1cddce83df4c804b717276bfbcfcf60ee6b400625d0f4e4e73c98785146c22164f
+DIST pytest-timeout-2.3.1.tar.gz 17697 BLAKE2B 5f0ffa2fdda59ef28a92bfd5742891f63c1fa400db4ef89077fa13d917932d83e76d543c4c326a27df582a025122d8a75f1f7adf0daebbecc42273d4323ff93a SHA512 f200d625d11f76173521f4e2e4e09d57f6613d9b1420c57893b454ec496d5f11b32390b95eb995b403d15f8563b742a58fa0e0cbad42246b4049787a389ad83e
diff --git a/dev-python/pytest-timeout/pytest-timeout-2.2.0.ebuild b/dev-python/pytest-timeout/pytest-timeout-2.2.0.ebuild
deleted file mode 100644
index 5faedcdf1e13..000000000000
--- a/dev-python/pytest-timeout/pytest-timeout-2.2.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="pytest plugin to abort hanging tests"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-timeout/
- https://pypi.org/project/pytest-timeout/
-"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-# do not rdepend on pytest, it won't be used without it anyway
-# pytest-cov used to test compatibility
-BDEPEND="
- test? (
- dev-python/pexpect[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- !hppa? (
- dev-python/pytest-cov[${PYTHON_USEDEP}]
- )
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- test_pytest_timeout.py::test_suppresses_timeout_when_debugger_is_entered
- test_pytest_timeout.py::test_disable_debugger_detection_flag
- )
-
- epytest -n "$(makeopts_jobs)" --dist=worksteal
-}
diff --git a/dev-python/pytest-timeout/pytest-timeout-2.3.1.ebuild b/dev-python/pytest-timeout/pytest-timeout-2.3.1.ebuild
new file mode 100644
index 000000000000..cd7abe388b7d
--- /dev/null
+++ b/dev-python/pytest-timeout/pytest-timeout-2.3.1.ebuild
@@ -0,0 +1,51 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="pytest plugin to abort hanging tests"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-timeout/
+ https://pypi.org/project/pytest-timeout/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+# do not rdepend on pytest, it won't be used without it anyway
+# pytest-cov used to test compatibility
+BDEPEND="
+ test? (
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ !hppa? (
+ $(python_gen_cond_dep '
+ dev-python/pytest-cov[${PYTHON_USEDEP}]
+ ' python3_{10..11} pypy3)
+ )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_timeout
+
+ if has_version "dev-python/pytest-cov[${PYTHON_USEDEP}]"; then
+ PYTEST_PLUGINS+=,pytest_cov.plugin
+ else
+ EPYTEST_DESELECT+=(
+ test_pytest_timeout.py::test_cov
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/pytest-tornado/pytest-tornado-0.8.1-r1.ebuild b/dev-python/pytest-tornado/pytest-tornado-0.8.1-r1.ebuild
index adf8e04497c9..aabc191250c6 100644
--- a/dev-python/pytest-tornado/pytest-tornado-0.8.1-r1.ebuild
+++ b/dev-python/pytest-tornado/pytest-tornado-0.8.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -18,8 +18,8 @@ SRC_URI="
-> ${P}.gh.tar.gz
"
-SLOT="0"
LICENSE="Apache-2.0"
+SLOT="0"
KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
diff --git a/dev-python/pytest-tornasync/pytest-tornasync-0.6.0_p2-r1.ebuild b/dev-python/pytest-tornasync/pytest-tornasync-0.6.0_p2-r1.ebuild
index 74bce056758e..c3f1deb3c9b4 100644
--- a/dev-python/pytest-tornasync/pytest-tornasync-0.6.0_p2-r1.ebuild
+++ b/dev-python/pytest-tornasync/pytest-tornasync-0.6.0_p2-r1.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/pytest-trio/files/pytest-trio-0.8.0-test.patch b/dev-python/pytest-trio/files/pytest-trio-0.8.0-test.patch
new file mode 100644
index 000000000000..a65fd2aee071
--- /dev/null
+++ b/dev-python/pytest-trio/files/pytest-trio-0.8.0-test.patch
@@ -0,0 +1,52 @@
+From 9cda20bbb966fe1e4ae51921d566c668654ee5e1 Mon Sep 17 00:00:00 2001
+From: Vincent Vanlaer <vincent.vanlaer@skynet.be>
+Date: Sun, 3 Sep 2023 00:00:54 +0200
+Subject: [PATCH 1/2] Remove trio.tests import causing warnings
+
+It is deprecated and the replacement is made private as trio._tests.
+While we could be using that, this commit copies over the one relevant
+function that is actually necessary. The other two imports just repeat
+tests that are already in trio and do not need repeating here.
+---
+ .../_tests/test_hypothesis_interaction.py | 21 ++++++++++++++-----
+ 1 file changed, 16 insertions(+), 5 deletions(-)
+
+diff --git a/pytest_trio/_tests/test_hypothesis_interaction.py b/pytest_trio/_tests/test_hypothesis_interaction.py
+index 75aa9f7..cb95a96 100644
+--- a/pytest_trio/_tests/test_hypothesis_interaction.py
++++ b/pytest_trio/_tests/test_hypothesis_interaction.py
+@@ -1,10 +1,5 @@
+ import pytest
+ import trio
+-from trio.tests.test_scheduler_determinism import (
+- scheduler_trace,
+- test_the_trio_scheduler_is_not_deterministic,
+- test_the_trio_scheduler_is_deterministic_if_seeded,
+-)
+ from hypothesis import given, settings, strategies as st
+
+ from pytest_trio.plugin import _trio_test_runner_factory
+@@ -38,6 +33,22 @@ async def test_mark_and_parametrize(x, y):
+ assert y in (1, 2)
+
+
++async def scheduler_trace():
++ """Returns a scheduler-dependent value we can use to check determinism."""
++ trace = []
++
++ async def tracer(name):
++ for i in range(10):
++ trace.append((name, i))
++ await trio.sleep(0)
++
++ async with trio.open_nursery() as nursery:
++ for i in range(5):
++ nursery.start_soon(tracer, i)
++
++ return tuple(trace)
++
++
+ def test_the_trio_scheduler_is_deterministic_under_hypothesis():
+ traces = []
+
+
diff --git a/dev-python/pytest-trio/metadata.xml b/dev-python/pytest-trio/metadata.xml
index 485f7038656c..a0206c25c87f 100644
--- a/dev-python/pytest-trio/metadata.xml
+++ b/dev-python/pytest-trio/metadata.xml
@@ -5,6 +5,10 @@
<email>andrewammerlaan@gentoo.org</email>
<name>Andrew Ammerlaan</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<stabilize-allarches/>
<upstream>
<remote-id type="github">python-trio/pytest-trio</remote-id>
diff --git a/dev-python/pytest-trio/pytest-trio-0.8.0-r1.ebuild b/dev-python/pytest-trio/pytest-trio-0.8.0-r1.ebuild
new file mode 100644
index 000000000000..8f7bc831c01f
--- /dev/null
+++ b/dev-python/pytest-trio/pytest-trio-0.8.0-r1.ebuild
@@ -0,0 +1,56 @@
+# 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=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="This is a pytest plugin to help you test projects that use Trio"
+HOMEPAGE="
+ https://github.com/python-trio/pytest-trio
+ https://pypi.org/project/pytest-trio/
+"
+
+LICENSE="|| ( MIT Apache-2.0 )"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/outcome-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7.2.0[${PYTHON_USEDEP}]
+ >=dev-python/trio-0.22.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/hypothesis-3.64[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs/source \
+ dev-python/attrs \
+ dev-python/sphinx-rtd-theme \
+ dev-python/sphinxcontrib-trio
+
+python_prepare_all() {
+ local PATCHES=(
+ # https://github.com/python-trio/pytest-trio/pull/135
+ "${FILESDIR}/${P}-test.patch"
+ )
+
+ # Defining 'pytest_plugins' in a non-top-level conftest is no longer supported:
+ mv pytest_trio/_tests/conftest.py conftest.py || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ # disable autoloading pytest-asyncio in nested pytest calls
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # since we disabled autoloading, force loading pytest-trio
+ local -x PYTEST_PLUGINS=pytest_trio.plugin
+ epytest
+}
diff --git a/dev-python/pytest-trio/pytest-trio-0.8.0.ebuild b/dev-python/pytest-trio/pytest-trio-0.8.0.ebuild
deleted file mode 100644
index 4159233367eb..000000000000
--- a/dev-python/pytest-trio/pytest-trio-0.8.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="This is a pytest plugin to help you test projects that use Trio"
-HOMEPAGE="
- https://github.com/python-trio/pytest-trio
- https://pypi.org/project/pytest-trio/
-"
-
-LICENSE="|| ( MIT Apache-2.0 )"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/outcome-1.1.0[${PYTHON_USEDEP}]
- >=dev-python/pytest-7.2.0[${PYTHON_USEDEP}]
- >=dev-python/trio-0.22.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/hypothesis-3.64[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs/source \
- dev-python/attrs \
- dev-python/sphinx-rtd-theme \
- dev-python/sphinxcontrib-trio
-
-python_prepare_all() {
- # Defining 'pytest_plugins' in a non-top-level conftest is no longer supported:
- mv pytest_trio/_tests/conftest.py conftest.py || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- # disable autoloading pytest-asyncio in nested pytest calls
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # since we disabled autoloading, force loading pytest-trio
- local -x PYTEST_PLUGINS=pytest_trio.plugin
- epytest
-}
diff --git a/dev-python/pytest-twisted/Manifest b/dev-python/pytest-twisted/Manifest
index 5dd091b55d26..3e6cac8d0ff5 100644
--- a/dev-python/pytest-twisted/Manifest
+++ b/dev-python/pytest-twisted/Manifest
@@ -1 +1,2 @@
-DIST pytest-twisted-1.14.0.gh.tar.gz 16234 BLAKE2B 1f0470893135127111194dcb726e5c16c8ce6911456eae7068035a001010b2513f5b1d7507c84f8ebf183042144c3cec3fb4fd1f060d987f5e1f3c053f29ed0e SHA512 d3c1b7320f87bd32bec992b807baf235c13e5595c93895eb7df91f709d7ab92dbbc30a47f4341477d7ba9541958efa1d4ef7d355023050747b401bb541314bc9
+DIST pytest-twisted-1.14.1.gh.tar.gz 17114 BLAKE2B 36b851b734acc03919dc03842d942d205468375d9318d4ce4f880532fca29d31354125fd2ab8149a50bcf29e46ec812898b7167e34c0fa1276dcd5c2aa36ccd1 SHA512 d5b6d629ed3cf7ae1537e76494fa7eb4bbb9767cbc50d97a5657c668b381f39236acc6224b3754d62e2cccd4dff7e6161265ddc6a939f0488cef53eeade0eae9
+DIST pytest-twisted-1.14.2.gh.tar.gz 17120 BLAKE2B d12c00c5a01c8219626f5a85d5cee4b2f0fc27d4dbea5c38e4fa7e374d1ca04098b1e8bc453ff1391415b2999eb1bb1f0472cef85bb4b4b2e50a1d2632cb6177 SHA512 51c915dfba829442b68c981f80d42cc22ece12a81388f239211ca73bb76dbfadeec76722df44b2e6b6473a4a3886031846a47b855ef217ed240a7c28d20f6160
diff --git a/dev-python/pytest-twisted/metadata.xml b/dev-python/pytest-twisted/metadata.xml
index 864118bb47ad..57b1b7e515dc 100644
--- a/dev-python/pytest-twisted/metadata.xml
+++ b/dev-python/pytest-twisted/metadata.xml
@@ -2,17 +2,14 @@
<!DOCTYPE pkgmetadata SYSTEM "http://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>Matt.Jolly@footclan.ninja</email>
+ <email>kangie@gentoo.org</email>
<name>Matt Jolly</name>
</maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Gentoo Proxy Maintainers Project</name>
- </maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">pytest-dev/pytest-twisted</remote-id>
<remote-id type="pypi">pytest-twisted</remote-id>
diff --git a/dev-python/pytest-twisted/pytest-twisted-1.14.0.ebuild b/dev-python/pytest-twisted/pytest-twisted-1.14.0.ebuild
deleted file mode 100644
index e2a7cd45cc14..000000000000
--- a/dev-python/pytest-twisted/pytest-twisted-1.14.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-DESCRIPTION="A pytest plugin for testing Twisted framework consumers"
-HOMEPAGE="
- https://github.com/pytest-dev/pytest-twisted/
- https://pypi.org/project/pytest-twisted/
-"
-SRC_URI="
- https://github.com/pytest-dev/pytest-twisted/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~riscv x86"
-
-RDEPEND="
- dev-python/decorator[${PYTHON_USEDEP}]
- dev-python/greenlet[${PYTHON_USEDEP}]
- >=dev-python/pytest-2.3[${PYTHON_USEDEP}]
- dev-python/twisted[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # If we let pytest-twisted autoload everywhere, it breaks tests in
- # packages that don't expect it. Apply a similar hack as for bug
- # #661218.
- sed -e 's/"pytest11": \[[^]]*\]//' -i setup.py || die
-
- # https://github.com/pytest-dev/pytest/issues/9280
- sed -e '/^pytest_plugins =/d' -i testing/conftest.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=pytest_twisted
-
- epytest -p pytester
-}
diff --git a/dev-python/pytest-twisted/pytest-twisted-1.14.1.ebuild b/dev-python/pytest-twisted/pytest-twisted-1.14.1.ebuild
new file mode 100644
index 000000000000..f90693d8ef2f
--- /dev/null
+++ b/dev-python/pytest-twisted/pytest-twisted-1.14.1.ebuild
@@ -0,0 +1,62 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+DESCRIPTION="A pytest plugin for testing Twisted framework consumers"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-twisted/
+ https://pypi.org/project/pytest-twisted/
+"
+SRC_URI="
+ https://github.com/pytest-dev/pytest-twisted/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
+
+RDEPEND="
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/greenlet[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.3[${PYTHON_USEDEP}]
+ dev-python/twisted[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # If we let pytest-twisted autoload everywhere, it breaks tests in
+ # packages that don't expect it. Apply a similar hack as for bug
+ # #661218.
+ sed -e 's/"pytest11": \[[^]]*\]//' -i setup.py || die
+
+ # https://github.com/pytest-dev/pytest/issues/9280
+ sed -e '/^pytest_plugins =/d' -i testing/conftest.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_twisted
+
+ local EPYTEST_DESELECT=(
+ # regression with pytest-8.2
+ # https://github.com/pytest-dev/pytest-twisted/issues/176
+ testing/test_basic.py::test_async_fixture_module_scope
+ )
+
+ epytest -p pytester
+}
diff --git a/dev-python/pytest-twisted/pytest-twisted-1.14.2.ebuild b/dev-python/pytest-twisted/pytest-twisted-1.14.2.ebuild
new file mode 100644
index 000000000000..c6585205c277
--- /dev/null
+++ b/dev-python/pytest-twisted/pytest-twisted-1.14.2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1
+
+DESCRIPTION="A pytest plugin for testing Twisted framework consumers"
+HOMEPAGE="
+ https://github.com/pytest-dev/pytest-twisted/
+ https://pypi.org/project/pytest-twisted/
+"
+SRC_URI="
+ https://github.com/pytest-dev/pytest-twisted/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/decorator[${PYTHON_USEDEP}]
+ dev-python/greenlet[${PYTHON_USEDEP}]
+ >=dev-python/pytest-2.3[${PYTHON_USEDEP}]
+ dev-python/twisted[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # If we let pytest-twisted autoload everywhere, it breaks tests in
+ # packages that don't expect it. Apply a similar hack as for bug
+ # #661218.
+ sed -e 's/"pytest11": \[[^]]*\]//' -i setup.py || die
+
+ # https://github.com/pytest-dev/pytest/issues/9280
+ sed -e '/^pytest_plugins =/d' -i testing/conftest.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=pytest_twisted
+
+ epytest -p pytester
+}
diff --git a/dev-python/pytest-verbose-parametrize/Manifest b/dev-python/pytest-verbose-parametrize/Manifest
deleted file mode 100644
index c5d68a728927..000000000000
--- a/dev-python/pytest-verbose-parametrize/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pytest-verbose-parametrize-1.7.0.tar.gz 12301 BLAKE2B 908d8c9d82861783931dc25c6b522e13f252e4b04e01a2f6a0e646cd63720816242ef143041abf0aa6b67fb574d5f84d05029edd11e589728b0e5b63f92f898e SHA512 ac81cdf002d60b4af916c4beb4c832c9c39dc9dcfa3eea7385b093f9ea18391cbf968a4e908abdb23523a7cb1e294dce2017083414e61eef6762f157319e2cf4
diff --git a/dev-python/pytest-verbose-parametrize/files/pytest-verbose-parametrize-1.7.0_collections-abc.patch b/dev-python/pytest-verbose-parametrize/files/pytest-verbose-parametrize-1.7.0_collections-abc.patch
deleted file mode 100644
index f4b0720c3600..000000000000
--- a/dev-python/pytest-verbose-parametrize/files/pytest-verbose-parametrize-1.7.0_collections-abc.patch
+++ /dev/null
@@ -1,8 +0,0 @@
---- a/pytest_verbose_parametrize.py
-+++ b/pytest_verbose_parametrize.py
-@@ -1,4 +1,4 @@
--from collections import Iterable
-+from collections.abc import Iterable
- from six import string_types, text_type
-
-
diff --git a/dev-python/pytest-verbose-parametrize/metadata.xml b/dev-python/pytest-verbose-parametrize/metadata.xml
deleted file mode 100644
index 4521ed5138e4..000000000000
--- a/dev-python/pytest-verbose-parametrize/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">man-group/pytest-plugins</remote-id>
- <remote-id type="pypi">pytest-verbose-parametrize</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pytest-verbose-parametrize/pytest-verbose-parametrize-1.7.0-r1.ebuild b/dev-python/pytest-verbose-parametrize/pytest-verbose-parametrize-1.7.0-r1.ebuild
deleted file mode 100644
index 8ec81faef350..000000000000
--- a/dev-python/pytest-verbose-parametrize/pytest-verbose-parametrize-1.7.0-r1.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="More descriptive parametrized-test IDs for py.test"
-HOMEPAGE="https://github.com/man-group/pytest-plugins https://pypi.org/project/pytest-verbose-parametrize/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-# The test suite is borked, some of the tests are extremely sensitive to Python
-# verbosity level whereas others act differently depending on whether the package
-# has previously been installed or not.
-RESTRICT="test"
-
-RDEPEND="dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]"
-BDEPEND="dev-python/setuptools-git[${PYTHON_USEDEP}]
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pytest-virtualenv[${PYTHON_USEDEP}]
- )"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-1.7.0_collections-abc.patch
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytest-virtualenv/Manifest b/dev-python/pytest-virtualenv/Manifest
deleted file mode 100644
index 2d56bfde9fee..000000000000
--- a/dev-python/pytest-virtualenv/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pytest-virtualenv-1.7.0.tar.gz 15767 BLAKE2B 5ee65aff72c50c8facef682827f58a8053d658aa072f3a69d50d13335dda2da37ffc29af009b52a50349647a4a38e149ba1b9847115fc4b4c4f54f063198b14f SHA512 0463ebf44ae18ee50a60e421a22aaaf0e34f827ec8f21c8f0dc79cbdc253748f9d1e5b33e4f418b52f0d8fd45990e162bb6410686ebe9fdc02650c286901d474
diff --git a/dev-python/pytest-virtualenv/metadata.xml b/dev-python/pytest-virtualenv/metadata.xml
deleted file mode 100644
index f359c85654e5..000000000000
--- a/dev-python/pytest-virtualenv/metadata.xml
+++ /dev/null
@@ -1,22 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <maintainer>
- <email>eeaston@gmail.com</email>
- <name>Edward Easton</name>
- </maintainer>
- <remote-id type="pypi">pytest-virtualenv</remote-id>
- <remote-id type="github">man-group/pytest-plugins</remote-id>
- </upstream>
- <longdescription>
- Create a Python virtual environment in your test that cleans up on
- teardown. The fixture has utility methods to install packages and list
- what's installed.
- </longdescription>
-</pkgmetadata>
diff --git a/dev-python/pytest-virtualenv/pytest-virtualenv-1.7.0-r2.ebuild b/dev-python/pytest-virtualenv/pytest-virtualenv-1.7.0-r2.ebuild
deleted file mode 100644
index d62946045aa1..000000000000
--- a/dev-python/pytest-virtualenv/pytest-virtualenv-1.7.0-r2.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Virtualenv fixture for py.test"
-HOMEPAGE="
- https://github.com/man-group/pytest-plugins/
- https://pypi.org/project/pytest-virtualenv/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- dev-python/pytest-fixture-config[${PYTHON_USEDEP}]
- dev-python/pytest-shutil[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-git[${PYTHON_USEDEP}]
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
- if [[ ${EPYTHON} == python3.12 ]]; then
- EPYTEST_DESELECT+=(
- # assumes setuptools is installed inside virtualenv
- # https://github.com/man-group/pytest-plugins/issues/220
- tests/integration/test_tmpvirtualenv.py::test_installed_packages
- )
- fi
-
- epytest
-}
diff --git a/dev-python/pytest-xdist/Manifest b/dev-python/pytest-xdist/Manifest
index 9bf70b109530..12651f40e9a0 100644
--- a/dev-python/pytest-xdist/Manifest
+++ b/dev-python/pytest-xdist/Manifest
@@ -1,3 +1 @@
-DIST pytest-xdist-3.3.1.tar.gz 77751 BLAKE2B 483774b3fefefb513cc3021c49fd816089869a885ba098588e503530ff3b2dfb77612aff80a7147ff33fd8c1fe69c4fda40133de94007e41c699ad763d112e92 SHA512 f439ff1acf65a8df025fec847602ebdc5355b2099501845f8cde3c5287299a9c3102fa6dd6fc82a30bc016893556a24b0b5409323f5db4015e77c711a7b5c59f
-DIST pytest-xdist-3.4.0.tar.gz 78703 BLAKE2B a49dfcc707b4cc258c7cc26aa53f9b6b933880e55754a87f6de0fe5ca9b37cf7c5c5b52c3f04d5ad98857c3988130729510034dc3249c3c39bccf41d2c788be2 SHA512 c8ec998b3b7dc10d416406c0e421c1909e67c7bcd8479674520c0371615d131c75f59f1fb46f19c38cacdc1a42119534d66ace9ba58d0230a96f4f6baf0df185
-DIST pytest-xdist-3.5.0.tar.gz 78977 BLAKE2B 94feaa236728688a993ed89825f4ccd67abd7a520d235790bbfc629173e5918695ac500d04de642f07d323325972512e3ad95f0ae18a9ea239da8c2f167ab1a5 SHA512 1b6a896c6c69c110d1f3aa634740ffced570bbb788b3474687fef20147a5480a8681886b04db0413f7db68db546236f9a7f37e1592a74d1145f6eb6d876216ca
+DIST pytest_xdist-3.6.1.tar.gz 84060 BLAKE2B 01392bc1f5a1587f609fc0246235457ab92ca40b3c34c660c117fae1c2b8b98dc0cde345f42951d69c3b58732e0094c7618ed570a6e3ca41165e93e2d8cf9e84 SHA512 583a78d0adc05d81458bbdd5832c239581c0fcd9cad9edfd16fa78009c005c15bffec7ed074d9e18f1542393f62d9ccb2c9e0a96d825e9cff1faec123545a2a3
diff --git a/dev-python/pytest-xdist/pytest-xdist-3.3.1-r1.ebuild b/dev-python/pytest-xdist/pytest-xdist-3.3.1-r1.ebuild
deleted file mode 100644
index b82d08ba4afc..000000000000
--- a/dev-python/pytest-xdist/pytest-xdist-3.3.1-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Distributed testing and loop-on-failing modes"
-HOMEPAGE="
- https://pypi.org/project/pytest-xdist/
- https://github.com/pytest-dev/pytest-xdist/
-"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- dev-python/execnet[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- >=dev-python/pytest-6.2.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/filelock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- # disable autoloading plugins in nested pytest calls
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # since we disabled autoloading, force loading necessary plugins
- local -x PYTEST_PLUGINS=xdist.plugin,xdist.looponfail
-
- epytest
-}
diff --git a/dev-python/pytest-xdist/pytest-xdist-3.4.0.ebuild b/dev-python/pytest-xdist/pytest-xdist-3.4.0.ebuild
deleted file mode 100644
index bf5367bcf383..000000000000
--- a/dev-python/pytest-xdist/pytest-xdist-3.4.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Distributed testing and loop-on-failing modes"
-HOMEPAGE="
- https://pypi.org/project/pytest-xdist/
- https://github.com/pytest-dev/pytest-xdist/
-"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-RDEPEND="
- dev-python/execnet[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- >=dev-python/pytest-6.2.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/filelock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- # disable autoloading plugins in nested pytest calls
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # since we disabled autoloading, force loading necessary plugins
- local -x PYTEST_PLUGINS=xdist.plugin,xdist.looponfail
-
- epytest
-}
diff --git a/dev-python/pytest-xdist/pytest-xdist-3.5.0.ebuild b/dev-python/pytest-xdist/pytest-xdist-3.5.0.ebuild
deleted file mode 100644
index b7fdf1c9824a..000000000000
--- a/dev-python/pytest-xdist/pytest-xdist-3.5.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Distributed testing and loop-on-failing modes"
-HOMEPAGE="
- https://pypi.org/project/pytest-xdist/
- https://github.com/pytest-dev/pytest-xdist/
-"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-RDEPEND="
- dev-python/execnet[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- >=dev-python/pytest-6.2.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/filelock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- # disable autoloading plugins in nested pytest calls
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # since we disabled autoloading, force loading necessary plugins
- local -x PYTEST_PLUGINS=xdist.plugin,xdist.looponfail
-
- epytest
-}
diff --git a/dev-python/pytest-xdist/pytest-xdist-3.6.1.ebuild b/dev-python/pytest-xdist/pytest-xdist-3.6.1.ebuild
new file mode 100644
index 000000000000..edf7e6315c56
--- /dev/null
+++ b/dev-python/pytest-xdist/pytest-xdist-3.6.1.ebuild
@@ -0,0 +1,43 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Distributed testing and loop-on-failing modes"
+HOMEPAGE="
+ https://pypi.org/project/pytest-xdist/
+ https://github.com/pytest-dev/pytest-xdist/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/execnet-2.1[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7.0.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/filelock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # disable autoloading plugins in nested pytest calls
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # since we disabled autoloading, force loading necessary plugins
+ local -x PYTEST_PLUGINS=xdist.plugin,xdist.looponfail
+
+ epytest -o tmp_path_retention_count=1
+}
diff --git a/dev-python/pytest-xprocess/Manifest b/dev-python/pytest-xprocess/Manifest
index 8fd9164f72ec..71e65e7582fb 100644
--- a/dev-python/pytest-xprocess/Manifest
+++ b/dev-python/pytest-xprocess/Manifest
@@ -1 +1,2 @@
DIST pytest-xprocess-0.23.0.tar.gz 31350 BLAKE2B 71492aa1bbc438221c6ac2825bf2bd678a75c12e8b5a8654d333c1ba2ad5c66b21f85e572998f0e5f1835097483a4895942d664ef7d8f078cad7923a9ee2e962 SHA512 97aa2a8ba0bcca62d53c0a0523696f6ae5fec5eae29e3e2cfe1a3ec8f14622c2c31f0802b2e65b55aa16778dd6ea82951e15af768c9d84cfd13aa2d427f94c9e
+DIST pytest-xprocess-1.0.2.tar.gz 13232 BLAKE2B c58128aba5437ddbb4e7b6870bd7ba67c2630a1571db19bc7033e7e078cecba7f77b2f2b86c12afa3e2a1780a2591db255ff63d4f2cffdea1bf880c5715e90ea SHA512 e1d797dcc6aa47f16fbbf488b395e048df7d603cf0b3a25b66546be2f33bc6ba97db3cf33964a821cc88e990386942225bec5f5606103d3615324efe716291df
diff --git a/dev-python/pytest-xprocess/pytest-xprocess-1.0.2.ebuild b/dev-python/pytest-xprocess/pytest-xprocess-1.0.2.ebuild
new file mode 100644
index 000000000000..5e9eab62aab3
--- /dev/null
+++ b/dev-python/pytest-xprocess/pytest-xprocess-1.0.2.ebuild
@@ -0,0 +1,27 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Manage external processes across test runs"
+HOMEPAGE="
+ https://pypi.org/project/pytest-xprocess/
+ https://github.com/pytest-dev/pytest-xprocess/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytest/Manifest b/dev-python/pytest/Manifest
index fad24f911225..5eebe2b1b608 100644
--- a/dev-python/pytest/Manifest
+++ b/dev-python/pytest/Manifest
@@ -1,2 +1,6 @@
-DIST pytest-7.4.2.tar.gz 1354640 BLAKE2B 3929631bae67c5bfa86c12850c48549b6e545512b3d37d821b48f69adaa8ef057d8cfac4426c047746d9c80e7e3515cc45018744f2155805b5381e7e43cd1b12 SHA512 6f68b7e2bf6a14fbe89a452706b25c4afda69de2c0f78da9c03cf8795d1795d9bdaaff26ba5bc93931c1a04c1472a4eba58bb9774f81116419526413eb1fed4f
-DIST pytest-7.4.3.tar.gz 1356179 BLAKE2B 2f4fd893aaf9867f20548eababc7aac6f4978253bcc4a35c50f7e2327a48458bc184f2340764ee7fed3dd02bc779ed03f084a0d8839a18f614d32245888c4f56 SHA512 1b80e9b7e0ba8fe966d6658aa72d49d101190f255acd9eb81d66142327535b7108c921055d8fe3e330e3ff4163aa03d7c67b2807d433dd9e1799be6a59b208c9
+DIST pytest-7.4.4.tar.gz 1357116 BLAKE2B 0bf281b3d4b7b2eb7805423a75c8c2befa820cc230318511e5a2d5ea35321a78a2603d5dbc033414ed73171525371efa9d9f54083d5638fc752c1c218e6d53aa SHA512 28a259dac6739683c131993409d508e10fbfee461291b8fc7697dd83f30725a3c60e681ba00b5669a215af6a5e683f07a329485d780acc9ad0372a6552f783a1
+DIST pytest-8.0.2.tar.gz 1396924 BLAKE2B ad95d246f5592cfe54faea6c96e38cb60d3e2713070d1ff7cab6c42aea312883c5d97c99a930dbcbd8493e966c4b8351320f6494b4ab904afbf21d7e1dd004a7 SHA512 c495943baad05e09b467d23c7afadb3edff7ae93ee96290d6db9e64739236888148b63dff7e8e25b331b11bd48c55fb0ca8901cf823d69b1a922e94915bab2f1
+DIST pytest-8.1.2.tar.gz 1410060 BLAKE2B 1379047c5ba434e98a383756c53a9cf31dc3bd3abcc49820f872b9110ec70906ca14080ce17ed2770b71195fbd79627a0eb16ee00429e165368144b20153a02b SHA512 a6ffae29da98ee4c357ebb03f00c4bc1a33f093ef867ad118841695548468c7f229eaa2c029a2ce3b158bbb0a65be5014e91555a223d04c1c72e614cb1d00546
+DIST pytest-8.2.2.tar.gz 1427980 BLAKE2B 7f343e5ff05e4d26f816595ad1c52ee2b79d38029e75e3641ed0bbb7477e0a47e5ae48ebc3058a8e9f374cd1a391d360d9eda73eca2e41d8b533eda7948aedcb SHA512 896192f0d41f3fef49915dfea6ae33dbb939f6bbe54de27861bf1554bf87f910702169293e923af9bc40466e7f806aa19ca54cbe41a848c233f70b52bb86a63c
+DIST pytest-8.3.1.tar.gz 1438997 BLAKE2B acf50897e018b678231beecc73093788d1b810c47cf81f5d9b156c04f61bfbea00b2c3d49c5ec81d70d0b1f4c3fe084a821c4fa53a200ffe6950177a823a66a2 SHA512 fd650785ec91233242c9ee2a1847d3f4a679cfc4504fa6863410bda2f16527e655261eb285e936219e0bca0d95d958265aa7d3e06401bcd5f5127af3f2809425
+DIST pytest-8.3.2.tar.gz 1439314 BLAKE2B a8edbd9d0eef59e1277d88ef657c4720b79ada68c51b1a30af81ae5652e1bc6c30bf6723472729015446da7815d8b3a7c73af4f5a49664d96beeedc96bbb3d54 SHA512 df4df6603f89658c1d814e209ec71a29606b2c015e58f139e3154b2092b08d369d4660401ed0ea9f04c3c6cdc86357a5279ad01e102a3b81e2cbf6e1572ca007
diff --git a/dev-python/pytest/pytest-7.4.2.ebuild b/dev-python/pytest/pytest-7.4.2.ebuild
deleted file mode 100644
index c80e3a2e0b35..000000000000
--- a/dev-python/pytest/pytest-7.4.2.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{10..12} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="
- https://pytest.org/
- https://github.com/pytest-dev/pytest/
- https://pypi.org/project/pytest/
-"
-
-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="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/iniconfig[${PYTHON_USEDEP}]
- >=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pluggy-0.12[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
- >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
- ' 3.{9..10})
-"
-BDEPEND="
- >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep '
- dev-python/argcomplete[${PYTHON_USEDEP}]
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/xmlschema[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-src_test() {
- # workaround new readline defaults
- echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
- local -x INPUTRC="${T}"/inputrc
- distutils-r1_src_test
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x COLUMNS=80
-
- local EPYTEST_DESELECT=(
- # broken by epytest args
- testing/test_warnings.py::test_works_with_filterwarnings
-
- # tend to be broken by random pytest plugins
- # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
- testing/test_helpconfig.py::test_version_less_verbose
- testing/test_helpconfig.py::test_version_verbose
- testing/test_junitxml.py::test_random_report_log_xdist
- testing/test_junitxml.py::test_runs_twice_xdist
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
- testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
- testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
- testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
-
- # unstable with xdist
- testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
-
- # TODO (XPASS)
- testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
- testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
- testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
- testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
- testing/test_debugging.py::test_pdb_suspends_fixture_capturing
-
- # setuptools warnings
- testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
- )
-
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- # regressions on pypy3.9
- # https://github.com/pytest-dev/pytest/issues/9787
- testing/test_skipping.py::test_errors_in_xfail_skip_expressions
- testing/test_unraisableexception.py
- )
-
- epytest -p xdist -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/pytest/pytest-7.4.3.ebuild b/dev-python/pytest/pytest-7.4.3.ebuild
deleted file mode 100644
index 786482ce354f..000000000000
--- a/dev-python/pytest/pytest-7.4.3.ebuild
+++ /dev/null
@@ -1,112 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{10..12} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="Simple powerful testing with Python"
-HOMEPAGE="
- https://pytest.org/
- https://github.com/pytest-dev/pytest/
- https://pypi.org/project/pytest/
-"
-
-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="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- dev-python/iniconfig[${PYTHON_USEDEP}]
- >=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pluggy-0.12[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
- >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
- ' 3.{9..10})
-"
-BDEPEND="
- >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep '
- dev-python/argcomplete[${PYTHON_USEDEP}]
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/xmlschema[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-PATCHES=(
- # https://github.com/pytest-dev/pytest/pull/11638
- "${FILESDIR}/${P}-no-color.patch"
-)
-
-src_test() {
- # workaround new readline defaults
- echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
- local -x INPUTRC="${T}"/inputrc
- distutils-r1_src_test
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x COLUMNS=80
-
- local EPYTEST_DESELECT=(
- # broken by epytest args
- testing/test_warnings.py::test_works_with_filterwarnings
-
- # tend to be broken by random pytest plugins
- # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
- testing/test_helpconfig.py::test_version_less_verbose
- testing/test_helpconfig.py::test_version_verbose
- testing/test_junitxml.py::test_random_report_log_xdist
- testing/test_junitxml.py::test_runs_twice_xdist
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
- testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
- testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
- testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
- testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
-
- # unstable with xdist
- testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
-
- # TODO (XPASS)
- testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
- testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
- testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
- testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
- testing/test_debugging.py::test_pdb_suspends_fixture_capturing
-
- # setuptools warnings
- testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
- )
-
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- # regressions on pypy3.9
- # https://github.com/pytest-dev/pytest/issues/9787
- testing/test_skipping.py::test_errors_in_xfail_skip_expressions
- testing/test_unraisableexception.py
- )
-
- epytest -p xdist -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/pytest/pytest-7.4.4.ebuild b/dev-python/pytest/pytest-7.4.4.ebuild
new file mode 100644
index 000000000000..b3da0bb6e954
--- /dev/null
+++ b/dev-python/pytest/pytest-7.4.4.ebuild
@@ -0,0 +1,115 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Simple powerful testing with Python"
+HOMEPAGE="
+ https://pytest.org/
+ https://github.com/pytest-dev/pytest/
+ https://pypi.org/project/pytest/
+"
+
+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="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/iniconfig[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-0.12[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/xmlschema[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+PATCHES=(
+ # https://github.com/pytest-dev/pytest/pull/11638
+ "${FILESDIR}/${PN}-7.4.3-no-color.patch"
+)
+
+src_test() {
+ # workaround new readline defaults
+ echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
+ local -x INPUTRC="${T}"/inputrc
+ distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x COLUMNS=80
+
+ local EPYTEST_DESELECT=(
+ # broken by epytest args
+ testing/test_warnings.py::test_works_with_filterwarnings
+
+ # tend to be broken by random pytest plugins
+ # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
+ testing/test_helpconfig.py::test_version_less_verbose
+ testing/test_helpconfig.py::test_version_verbose
+ testing/test_junitxml.py::test_random_report_log_xdist
+ testing/test_junitxml.py::test_runs_twice_xdist
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
+ testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
+ testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
+ testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
+
+ # unstable with xdist
+ testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
+
+ # TODO (XPASS)
+ testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
+ testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
+ testing/test_debugging.py::test_pdb_suspends_fixture_capturing
+
+ # setuptools warnings
+ testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
+
+ # times out
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_exception
+ )
+
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ # regressions on pypy3.9
+ # https://github.com/pytest-dev/pytest/issues/9787
+ testing/test_skipping.py::test_errors_in_xfail_skip_expressions
+ testing/test_unraisableexception.py
+ )
+
+ epytest -p xdist -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/pytest/pytest-8.0.2.ebuild b/dev-python/pytest/pytest-8.0.2.ebuild
new file mode 100644
index 000000000000..e06a50f78f5c
--- /dev/null
+++ b/dev-python/pytest/pytest-8.0.2.ebuild
@@ -0,0 +1,111 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Simple powerful testing with Python"
+HOMEPAGE="
+ https://pytest.org/
+ https://github.com/pytest-dev/pytest/
+ https://pypi.org/project/pytest/
+"
+
+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="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/iniconfig[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-4.0.0[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1.3.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/xmlschema[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+src_test() {
+ # workaround new readline defaults
+ echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
+ local -x INPUTRC="${T}"/inputrc
+ distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x COLUMNS=80
+
+ local EPYTEST_DESELECT=(
+ # broken by epytest args
+ testing/test_warnings.py::test_works_with_filterwarnings
+
+ # tend to be broken by random pytest plugins
+ # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
+ testing/test_helpconfig.py::test_version_less_verbose
+ testing/test_helpconfig.py::test_version_verbose
+ testing/test_junitxml.py::test_random_report_log_xdist
+ testing/test_junitxml.py::test_runs_twice_xdist
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
+ testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
+ testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
+ testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
+
+ # unstable with xdist
+ testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
+
+ # TODO (XPASS)
+ testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
+ testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
+ testing/test_debugging.py::test_pdb_suspends_fixture_capturing
+
+ # setuptools warnings
+ testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
+
+ # times out
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_exception
+ testing/test_debugging.py::TestPDB::test_pdb_with_caplog_on_pdb_invocation
+ )
+
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ # regressions on pypy3.9
+ # https://github.com/pytest-dev/pytest/issues/9787
+ testing/test_skipping.py::test_errors_in_xfail_skip_expressions
+ testing/test_unraisableexception.py
+ )
+
+ epytest -p xdist -n "$(makeopts_jobs)"
+}
diff --git a/dev-python/pytest/pytest-8.1.2.ebuild b/dev-python/pytest/pytest-8.1.2.ebuild
new file mode 100644
index 000000000000..bc3240afb1d2
--- /dev/null
+++ b/dev-python/pytest/pytest-8.1.2.ebuild
@@ -0,0 +1,113 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple powerful testing with Python"
+HOMEPAGE="
+ https://pytest.org/
+ https://github.com/pytest-dev/pytest/
+ https://pypi.org/project/pytest/
+"
+
+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="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/iniconfig[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ <dev-python/pluggy-2[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1.4[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ >=dev-python/tomli-1[${PYTHON_USEDEP}]
+ ' 3.10)
+ !!<=dev-python/flaky-3.7.0-r5
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ >=dev-python/attrs-19.2[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/xmlschema[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+src_test() {
+ # workaround new readline defaults
+ echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
+ local -x INPUTRC="${T}"/inputrc
+ distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x COLUMNS=80
+
+ local EPYTEST_DESELECT=(
+ # broken by epytest args
+ testing/test_warnings.py::test_works_with_filterwarnings
+
+ # tend to be broken by random pytest plugins
+ # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
+ testing/test_helpconfig.py::test_version_less_verbose
+ testing/test_helpconfig.py::test_version_verbose
+ testing/test_junitxml.py::test_random_report_log_xdist
+ testing/test_junitxml.py::test_runs_twice_xdist
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
+ testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
+ testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
+ testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
+
+ # unstable with xdist
+ testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
+
+ # TODO (XPASS)
+ testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
+ testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
+ testing/test_debugging.py::test_pdb_suspends_fixture_capturing
+
+ # setuptools warnings
+ testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
+
+ # times out
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_exception
+ testing/test_debugging.py::TestPDB::test_pdb_with_caplog_on_pdb_invocation
+ )
+
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ # regressions on pypy3.9
+ # https://github.com/pytest-dev/pytest/issues/9787
+ testing/test_skipping.py::test_errors_in_xfail_skip_expressions
+ testing/test_unraisableexception.py
+ )
+
+ local EPYTEST_XDIST=1
+ epytest
+}
diff --git a/dev-python/pytest/pytest-8.2.2.ebuild b/dev-python/pytest/pytest-8.2.2.ebuild
new file mode 100644
index 000000000000..b5226eac655b
--- /dev/null
+++ b/dev-python/pytest/pytest-8.2.2.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{10..13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple powerful testing with Python"
+HOMEPAGE="
+ https://pytest.org/
+ https://github.com/pytest-dev/pytest/
+ https://pypi.org/project/pytest/
+"
+
+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="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/iniconfig[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ <dev-python/pluggy-2[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1.5.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ >=dev-python/tomli-1[${PYTHON_USEDEP}]
+ ' 3.10)
+ !!<=dev-python/flaky-3.7.0-r5
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ >=dev-python/attrs-19.2[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/xmlschema[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+src_test() {
+ # workaround new readline defaults
+ echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
+ local -x INPUTRC="${T}"/inputrc
+ distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x COLUMNS=80
+
+ local EPYTEST_DESELECT=(
+ # broken by epytest args
+ testing/test_warnings.py::test_works_with_filterwarnings
+
+ # tend to be broken by random pytest plugins
+ # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
+ testing/test_helpconfig.py::test_version_less_verbose
+ testing/test_helpconfig.py::test_version_verbose
+ testing/test_junitxml.py::test_random_report_log_xdist
+ testing/test_junitxml.py::test_runs_twice_xdist
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
+ testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
+ testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
+ testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
+
+ # unstable with xdist
+ testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
+
+ # TODO (XPASS)
+ testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
+ testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
+ testing/test_debugging.py::test_pdb_suspends_fixture_capturing
+
+ # setuptools warnings
+ testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
+
+ # PDB tests seem quite flaky (they time out often)
+ testing/test_debugging.py::TestPDB
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # regressions on pypy3.9
+ # https://github.com/pytest-dev/pytest/issues/9787
+ testing/test_skipping.py::test_errors_in_xfail_skip_expressions
+ testing/test_unraisableexception.py
+ )
+ ;;
+ esac
+
+ local EPYTEST_XDIST=1
+ epytest
+}
diff --git a/dev-python/pytest/pytest-8.3.1.ebuild b/dev-python/pytest/pytest-8.3.1.ebuild
new file mode 100644
index 000000000000..a6ff2735eb2d
--- /dev/null
+++ b/dev-python/pytest/pytest-8.3.1.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{10..13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple powerful testing with Python"
+HOMEPAGE="
+ https://pytest.org/
+ https://github.com/pytest-dev/pytest/
+ https://pypi.org/project/pytest/
+"
+
+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="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/iniconfig[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ <dev-python/pluggy-2[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1.5.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ >=dev-python/tomli-1[${PYTHON_USEDEP}]
+ ' 3.10)
+ !!<=dev-python/flaky-3.7.0-r5
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ >=dev-python/attrs-19.2[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/xmlschema[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+src_test() {
+ # workaround new readline defaults
+ echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
+ local -x INPUTRC="${T}"/inputrc
+ distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x COLUMNS=80
+
+ local EPYTEST_DESELECT=(
+ # broken by epytest args
+ testing/test_warnings.py::test_works_with_filterwarnings
+
+ # tend to be broken by random pytest plugins
+ # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
+ testing/test_helpconfig.py::test_version_less_verbose
+ testing/test_helpconfig.py::test_version_verbose
+ testing/test_junitxml.py::test_random_report_log_xdist
+ testing/test_junitxml.py::test_runs_twice_xdist
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
+ testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
+ testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
+ testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
+
+ # unstable with xdist
+ testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
+
+ # TODO (XPASS)
+ testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
+ testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
+ testing/test_debugging.py::test_pdb_suspends_fixture_capturing
+
+ # setuptools warnings
+ testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
+
+ # PDB tests seem quite flaky (they time out often)
+ testing/test_debugging.py::TestPDB
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # regressions on pypy3.9
+ # https://github.com/pytest-dev/pytest/issues/9787
+ testing/test_skipping.py::test_errors_in_xfail_skip_expressions
+ testing/test_unraisableexception.py
+ )
+ ;;
+ esac
+
+ local EPYTEST_XDIST=1
+ epytest
+}
diff --git a/dev-python/pytest/pytest-8.3.2.ebuild b/dev-python/pytest/pytest-8.3.2.ebuild
new file mode 100644
index 000000000000..a6ff2735eb2d
--- /dev/null
+++ b/dev-python/pytest/pytest-8.3.2.ebuild
@@ -0,0 +1,116 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{10..13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple powerful testing with Python"
+HOMEPAGE="
+ https://pytest.org/
+ https://github.com/pytest-dev/pytest/
+ https://pypi.org/project/pytest/
+"
+
+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="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ dev-python/iniconfig[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ <dev-python/pluggy-2[${PYTHON_USEDEP}]
+ >=dev-python/pluggy-1.5.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.0.0_rc8[${PYTHON_USEDEP}]
+ >=dev-python/tomli-1[${PYTHON_USEDEP}]
+ ' 3.10)
+ !!<=dev-python/flaky-3.7.0-r5
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.2.3[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/argcomplete[${PYTHON_USEDEP}]
+ >=dev-python/attrs-19.2[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-3.56[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.7.2[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/xmlschema[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+src_test() {
+ # workaround new readline defaults
+ echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
+ local -x INPUTRC="${T}"/inputrc
+ distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x COLUMNS=80
+
+ local EPYTEST_DESELECT=(
+ # broken by epytest args
+ testing/test_warnings.py::test_works_with_filterwarnings
+
+ # tend to be broken by random pytest plugins
+ # (these tests patch PYTEST_DISABLE_PLUGIN_AUTOLOAD out)
+ testing/test_helpconfig.py::test_version_less_verbose
+ testing/test_helpconfig.py::test_version_verbose
+ testing/test_junitxml.py::test_random_report_log_xdist
+ testing/test_junitxml.py::test_runs_twice_xdist
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_normal_count
+ testing/test_terminal.py::TestProgressOutputStyle::test_xdist_verbose
+ testing/test_terminal.py::TestProgressWithTeardown::test_xdist_normal
+ testing/test_terminal.py::TestTerminalFunctional::test_header_trailer_info
+ testing/test_terminal.py::TestTerminalFunctional::test_no_header_trailer_info
+
+ # unstable with xdist
+ testing/test_terminal.py::TestTerminalFunctional::test_verbose_reporting_xdist
+
+ # TODO (XPASS)
+ testing/test_debugging.py::TestDebuggingBreakpoints::test_pdb_not_altered
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_simple
+ testing/test_debugging.py::TestPDB::test_pdb_interaction_capturing_twice
+ testing/test_debugging.py::TestPDB::test_pdb_with_injected_do_debug
+ testing/test_debugging.py::test_pdb_suspends_fixture_capturing
+
+ # setuptools warnings
+ testing/acceptance_test.py::TestInvocationVariants::test_cmdline_python_namespace_package
+
+ # PDB tests seem quite flaky (they time out often)
+ testing/test_debugging.py::TestPDB
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # regressions on pypy3.9
+ # https://github.com/pytest-dev/pytest/issues/9787
+ testing/test_skipping.py::test_errors_in_xfail_skip_expressions
+ testing/test_unraisableexception.py
+ )
+ ;;
+ esac
+
+ local EPYTEST_XDIST=1
+ epytest
+}
diff --git a/dev-python/python-augeas/python-augeas-1.1.0-r1.ebuild b/dev-python/python-augeas/python-augeas-1.1.0-r1.ebuild
index 75a88f6b1902..e94dfa9a2365 100644
--- a/dev-python/python-augeas/python-augeas-1.1.0-r1.ebuild
+++ b/dev-python/python-augeas/python-augeas-1.1.0-r1.ebuild
@@ -1,16 +1,20 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="Python bindings for Augeas"
-HOMEPAGE="http://augeas.net/"
+HOMEPAGE="
+ https://augeas.net/
+ https://github.com/hercules-team/python-augeas/
+ https://pypi.org/project/python-augeas/
+"
LICENSE="LGPL-2.1"
SLOT="0"
@@ -20,11 +24,12 @@ RDEPEND="
app-admin/augeas
>=dev-python/cffi-1.0.0[${PYTHON_USEDEP}]
"
-DEPEND="${RDEPEND}"
+BDEPEND="
+ ${RDEPEND}
+"
-PATCHES=( "${FILESDIR}/remove-tests.patch" )
+PATCHES=(
+ "${FILESDIR}/remove-tests.patch"
+)
-python_test() {
- cd test || die
- "${EPYTHON}" test_augeas.py || die "Tests failed with ${EPYTHON}"
-}
+distutils_enable_tests unittest
diff --git a/dev-python/python-axolotl-curve25519/metadata.xml b/dev-python/python-axolotl-curve25519/metadata.xml
index 146e25fb3495..9bcf66a3d106 100644
--- a/dev-python/python-axolotl-curve25519/metadata.xml
+++ b/dev-python/python-axolotl-curve25519/metadata.xml
@@ -2,9 +2,6 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>hanno@gentoo.org</email>
- </maintainer>
- <maintainer type="person">
<email>conikost@gentoo.org</email>
<name>Conrad Kostecki</name>
</maintainer>
diff --git a/dev-python/python-axolotl/metadata.xml b/dev-python/python-axolotl/metadata.xml
index 55266b20f758..c0b1f15bdc96 100644
--- a/dev-python/python-axolotl/metadata.xml
+++ b/dev-python/python-axolotl/metadata.xml
@@ -2,9 +2,6 @@
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
<maintainer type="person">
- <email>hanno@gentoo.org</email>
- </maintainer>
- <maintainer type="person">
<email>conikost@gentoo.org</email>
<name>Conrad Kostecki</name>
</maintainer>
diff --git a/dev-python/python-box/Manifest b/dev-python/python-box/Manifest
index 19f8e6c78cf2..15512ddd708f 100644
--- a/dev-python/python-box/Manifest
+++ b/dev-python/python-box/Manifest
@@ -1 +1 @@
-DIST Box-7.1.1.gh.tar.gz 87515 BLAKE2B 388944c3a577105ce1e12e9abff7da148d028db88d8070a09e6abe190882acdbfa4cf9d773af6cbae7e945603dc13d3d853253dc18b0d2d2b17c678293583b8a SHA512 60e44eda013a5ab1de2215d156caf2567a24b0471ee20e52096137ad761e92c3ca20d9f3967a21e38ac924488a2b76399c4ea1bc86b652dd72d7494ce22effee
+DIST Box-7.2.0.gh.tar.gz 87699 BLAKE2B d6f033919e5451adfdcb0c14c28a47e25b619eb531280a39b68912179ad3a21638d4fadd6dbee2b09bc445b1adc2dd31e042d1e816dc5fc36098ea5eadab8a30 SHA512 8f2ec95a0539c8000d08353eccd66dd9de4049408b0cef9095f3bf98486424214e1d47ef5c408e425c5c2958652624efa512701138d91d51356f07795c508b9f
diff --git a/dev-python/python-box/metadata.xml b/dev-python/python-box/metadata.xml
index a825fd0ab27e..f82e4094d819 100644
--- a/dev-python/python-box/metadata.xml
+++ b/dev-python/python-box/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>Matt.Jolly@footclan.ninja</email>
+ <maintainer type="person">
+ <email>kangie@gentoo.org</email>
<name>Matt Jolly</name>
</maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<upstream>
<remote-id type="github">cdgriffith/Box</remote-id>
<remote-id type="pypi">python-box</remote-id>
diff --git a/dev-python/python-box/python-box-7.1.1.ebuild b/dev-python/python-box/python-box-7.1.1.ebuild
deleted file mode 100644
index 9229c71b3a4b..000000000000
--- a/dev-python/python-box/python-box-7.1.1.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=Box-${PV}
-DESCRIPTION="Python dictionaries with advanced dot notation access"
-HOMEPAGE="
- https://github.com/cdgriffith/Box/
- https://pypi.org/project/python-box/
-"
-SRC_URI="
- https://github.com/cdgriffith/Box/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
-IUSE="+native-extensions"
-
-RDEPEND="
- dev-python/msgpack[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
- dev-python/tomli-w[${PYTHON_USEDEP}]
-"
-BDEPEND="
- native-extensions? (
- dev-python/cython[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- if ! use native-extensions; then
- # a cheap hack, extensions are auto-disabled if Cython.Build
- # is not importable
- > Cython.py || die
- fi
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- rm -rf box || die
- epytest
-}
diff --git a/dev-python/python-box/python-box-7.2.0.ebuild b/dev-python/python-box/python-box-7.2.0.ebuild
new file mode 100644
index 000000000000..5ac6f4364422
--- /dev/null
+++ b/dev-python/python-box/python-box-7.2.0.ebuild
@@ -0,0 +1,58 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=Box-${PV}
+DESCRIPTION="Python dictionaries with advanced dot notation access"
+HOMEPAGE="
+ https://github.com/cdgriffith/Box/
+ https://pypi.org/project/python-box/
+"
+SRC_URI="
+ https://github.com/cdgriffith/Box/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+IUSE="+native-extensions"
+
+RDEPEND="
+ dev-python/msgpack[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.8 3.9 3.10)
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ native-extensions? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ if ! use native-extensions; then
+ # a cheap hack, extensions are auto-disabled if Cython.Build
+ # is not importable
+ > Cython.py || die
+ fi
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ rm -rf box || die
+ epytest
+}
diff --git a/dev-python/python-bugzilla/python-bugzilla-3.2.0-r1.ebuild b/dev-python/python-bugzilla/python-bugzilla-3.2.0-r1.ebuild
index 3f93f0ced781..a925a6e040d8 100644
--- a/dev-python/python-bugzilla/python-bugzilla-3.2.0-r1.ebuild
+++ b/dev-python/python-bugzilla/python-bugzilla-3.2.0-r1.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -15,9 +15,9 @@ HOMEPAGE="
https://pypi.org/project/python-bugzilla/
"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86"
LICENSE="GPL-2+"
SLOT="0"
+KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
|| (
diff --git a/dev-python/python-caja/Manifest b/dev-python/python-caja/Manifest
index 9d820acff79c..5a6b22d183ce 100644
--- a/dev-python/python-caja/Manifest
+++ b/dev-python/python-caja/Manifest
@@ -1 +1,2 @@
DIST python-caja-1.26.0.tar.xz 314936 BLAKE2B 1fabd7bafa19051a19643aa9f10180d72062bc485231760439d988936406e07b9e600a80c1c9d45c88a5ac40c0b16e90878c02dba81f722d8a6f60713fe28cc7 SHA512 632b0b4a9fa29bdcde3b84b37820a7e171b59e78972f71c0c3d25d52cad8233ae7d1548e23ed6d3a06734b084532db1c4e85c3beaed15fce88cf8abff5be35d0
+DIST python-caja-1.28.0.tar.xz 324164 BLAKE2B a0b0f3a75acbd6481dfaf88656d32b1c4de4435597a85bfd95bc4989b9c29b218ac2e4629b0551f779d60f045d5768cac5aa3c0c298412bc45f11282d53b01f6 SHA512 a87c05664c1afcddd14a26c564ecfaa58405d922b48bd9e53bd777623e88e53ddb59dd6debf5a90f3989285b198d8c307e7e5059cbd6e333fde9426724946366
diff --git a/dev-python/python-caja/python-caja-1.26.0.ebuild b/dev-python/python-caja/python-caja-1.26.0.ebuild
index 284b2b2693de..666a0e058ac1 100644
--- a/dev-python/python-caja/python-caja-1.26.0.ebuild
+++ b/dev-python/python-caja/python-caja-1.26.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
MATE_LA_PUNT="yes"
-PYTHON_COMPAT=( python{3_9,3_10,3_11} )
+PYTHON_COMPAT=( python{3_10,3_11} )
inherit mate python-single-r1
@@ -29,7 +29,7 @@ RDEPEND="${COMMON_DEPEND}"
BDEPEND="${COMMON_DEPEND}
dev-util/gtk-doc
- dev-util/gtk-doc-am
+ dev-build/gtk-doc-am
>=sys-devel/gettext-0.19.8
virtual/pkgconfig
doc? ( app-text/docbook-xml-dtd:4.1.2 )
diff --git a/dev-python/python-caja/python-caja-1.28.0.ebuild b/dev-python/python-caja/python-caja-1.28.0.ebuild
new file mode 100644
index 000000000000..d4a7cee678a9
--- /dev/null
+++ b/dev-python/python-caja/python-caja-1.28.0.ebuild
@@ -0,0 +1,55 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+MATE_LA_PUNT="yes"
+
+PYTHON_COMPAT=( python3_{9..11} )
+
+inherit mate python-single-r1
+
+if [[ "${PV}" != *9999 ]]; then
+ KEYWORDS="~amd64 ~arm ~arm64 ~loong ~riscv ~x86"
+fi
+
+DESCRIPTION="Python bindings for the Caja file manager"
+LICENSE="GPL-2+"
+SLOT="0"
+IUSE="doc"
+REQUIRED_USE=${PYTHON_REQUIRED_USE}
+
+RDEPEND="${PYTHON_DEPS}
+ >=dev-libs/glib-2.50:2
+ $( python_gen_cond_dep 'dev-python/pygobject:3[${PYTHON_USEDEP}]' )
+ >=mate-base/caja-1.17.1[introspection]
+ >=x11-libs/gtk+-3.22:3
+"
+BDEPEND="${RDEPEND}
+ dev-util/gtk-doc
+ dev-build/gtk-doc-am
+ >=sys-devel/gettext-0.19.8
+ virtual/pkgconfig
+ doc? ( app-text/docbook-xml-dtd:4.1.2 )
+"
+
+src_prepare() {
+ MATE_FORCE_AUTORECONF="true"
+
+ sed -i "s/\$(PACKAGE)/${PF}/g" examples/Makefile.am || die
+ mate_src_prepare
+}
+
+src_install() {
+ mate_src_install
+
+ # Keep the directory for systemwide extensions.
+ keepdir /usr/share/caja-python/extensions/
+
+ # The HTML documentation generation is broken and commented out by upstream.
+ #
+ #if use doc ; then
+ # insinto /usr/share/gtk-doc/html/nautilus-python # for dev-util/devhelp
+ # doins -r docs/html/*
+ #fi
+}
diff --git a/dev-python/python-cinderclient/Manifest b/dev-python/python-cinderclient/Manifest
index 16a033aa8235..9cf073b3e82a 100644
--- a/dev-python/python-cinderclient/Manifest
+++ b/dev-python/python-cinderclient/Manifest
@@ -1 +1 @@
-DIST python-cinderclient-9.4.0.tar.gz 236451 BLAKE2B 75d5ee0c3f64c3254e7f9f806bccc685ab929c5812076fb7b78a995e9c9adbf384f296799f7119128e1781a34e727e305e3ae4bef04939adc2e7fd0268e83b1c SHA512 e7628b569bf46c7a8d5ecf7918be9133b400411d5509112baad49f7ff60ad0fc5d7c98cec9d4d6286cf8bd9c23c918af3aaa52c1b2d68536a3a2e4a89ce8502b
+DIST python-cinderclient-9.5.0.tar.gz 236811 BLAKE2B 60d450ea31357d366c0c18b6715a36f51a9700393c2e5bb0967cd86706dd552fb2deaee428816019e87bd2c272b2f9342118b1f770370ce5aba062d3ebd292ce SHA512 efcc0f4b32e1d6f8d696137c416aeed6fc4f2a69b6fa59d47f0c46dc7d38d1f2bbc5ea35d1bcbac0604e9db8b75d256d47a76d17d040b6e84fca6069a65df8d8
diff --git a/dev-python/python-cinderclient/python-cinderclient-9.4.0.ebuild b/dev-python/python-cinderclient/python-cinderclient-9.4.0.ebuild
deleted file mode 100644
index 3813b4b9711b..000000000000
--- a/dev-python/python-cinderclient/python-cinderclient-9.4.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A client for the OpenStack Cinder API"
-HOMEPAGE="
- https://opendev.org/openstack/python-cinderclient/
- https://github.com/openstack/python-cinderclient/
- https://pypi.org/project/python-cinderclient/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/keystoneauth1-4.3.1[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-5.0.1[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-4.8.0[${PYTHON_USEDEP}]
- >=dev-python/pbr-5.5.0[${PYTHON_USEDEP}]
- >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
- >=dev-python/requests-2.25.1[${PYTHON_USEDEP}]
- >=dev-python/stevedore-3.3.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/pbr[${PYTHON_USEDEP}]
- test? (
- dev-python/ddt[${PYTHON_USEDEP}]
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/oslo-serialization[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- dev-python/testtools[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_test() {
- # functional tests require cloud instance access
- eunittest -b cinderclient/tests/unit
-}
diff --git a/dev-python/python-cinderclient/python-cinderclient-9.5.0.ebuild b/dev-python/python-cinderclient/python-cinderclient-9.5.0.ebuild
new file mode 100644
index 000000000000..5f33bd8d91e1
--- /dev/null
+++ b/dev-python/python-cinderclient/python-cinderclient-9.5.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client for the OpenStack Cinder API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-cinderclient/
+ https://github.com/openstack/python-cinderclient/
+ https://pypi.org/project/python-cinderclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/keystoneauth1-4.3.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-5.0.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-4.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pbr-5.5.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.25.1[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-3.3.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ddt[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/oslo-serialization[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b cinderclient/tests/unit
+}
diff --git a/dev-python/python-constraint/python-constraint-1.4.0.ebuild b/dev-python/python-constraint/python-constraint-1.4.0.ebuild
index 744c3aeda685..800d214a9c43 100644
--- a/dev-python/python-constraint/python-constraint-1.4.0.ebuild
+++ b/dev-python/python-constraint/python-constraint-1.4.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/python-ctags3/python-ctags3-1.6.0.ebuild b/dev-python/python-ctags3/python-ctags3-1.6.0.ebuild
index 89f53b3750e2..338fe38093f6 100644
--- a/dev-python/python-ctags3/python-ctags3-1.6.0.ebuild
+++ b/dev-python/python-ctags3/python-ctags3-1.6.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/python-dateutil/Manifest b/dev-python/python-dateutil/Manifest
index e719bccf5703..82d26649de2c 100644
--- a/dev-python/python-dateutil/Manifest
+++ b/dev-python/python-dateutil/Manifest
@@ -1 +1 @@
-DIST python-dateutil-2.8.2.tar.gz 357324 BLAKE2B 060f97280b63ed70e6d83fa5696af6dc3c729cdf5bc48c7a90e3e59eb0cc0360e5205536685550330d64ecc9b6e40ca12888409d6819dd136b17a67add2ec4e8 SHA512 6538858e4a3e2d1de1bf25b6d8b25e3a8d20bf60fb85e32d07ac491c90ce193e268bb5641371b8a79fb0f033a184bac9896b3bc643c1aca9ee9c6478286ac20c
+DIST python-dateutil-2.9.0.post0.tar.gz 342432 BLAKE2B b3469ff9900afd98f474f162083570c28ac93378efc772b5f365fa0d5d4354a96867a024065adc430b71d7bde6909195ac4ebe3ad1d17e638fded0b4b40f9954 SHA512 f76522de0ff21547327eaf6966e80a15c57f8f92588d520eabd354a732e5c4b51d9c3ac5effd9eaa6dd451d1bce329a54a3f4c6bf4f1bd08ff06b0305c994e5a
diff --git a/dev-python/python-dateutil/files/python-dateutil-2.8.1-no-pytest-cov.patch b/dev-python/python-dateutil/files/python-dateutil-2.8.1-no-pytest-cov.patch
deleted file mode 100644
index 84adb944548e..000000000000
--- a/dev-python/python-dateutil/files/python-dateutil-2.8.1-no-pytest-cov.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/dateutil/test/conftest.py b/dateutil/test/conftest.py
-index 78ed70a..4bb4c0a 100644
---- a/dateutil/test/conftest.py
-+++ b/dateutil/test/conftest.py
-@@ -14,10 +14,11 @@ def pytest_collection_modifyitems(items):
-
- marker = marker_getter('xfail')
-
-+ # requires pytest-cov
- # Need to query the args because conditional xfail tests still have
- # the xfail mark even if they are not expected to fail
-- if marker and (not marker.args or marker.args[0]):
-- item.add_marker(pytest.mark.no_cover)
-+ #if marker and (not marker.args or marker.args[0]):
-+ # item.add_marker(pytest.mark.no_cover)
-
-
- def set_tzpath():
diff --git a/dev-python/python-dateutil/files/python-dateutil-2.8.2-system-tzdata.patch b/dev-python/python-dateutil/files/python-dateutil-2.8.2-system-tzdata.patch
deleted file mode 100644
index 3790a29b4213..000000000000
--- a/dev-python/python-dateutil/files/python-dateutil-2.8.2-system-tzdata.patch
+++ /dev/null
@@ -1,104 +0,0 @@
-From 907459c6f632a87fce5729f6eebd2adf5b94e577 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Tue, 3 Apr 2018 22:03:32 +0200
-Subject: [PATCH] zoneinfo: Get timezone data from system tzdata
-
----
- dateutil/test/test_imports.py | 3 +--
- dateutil/zoneinfo/__init__.py | 25 ++++++++++++++-----------
- 2 files changed, 15 insertions(+), 13 deletions(-)
-
-diff --git a/dateutil/test/test_imports.py b/dateutil/test/test_imports.py
-index 60b8600..b9f517c 100644
---- a/dateutil/test/test_imports.py
-+++ b/dateutil/test/test_imports.py
-@@ -168,9 +168,8 @@ def test_import_zone_info_from():
- def test_import_zone_info_star():
- from dateutil.zoneinfo import gettz
- from dateutil.zoneinfo import gettz_db_metadata
-- from dateutil.zoneinfo import rebuild
-
-- zi_all = (gettz, gettz_db_metadata, rebuild)
-+ zi_all = (gettz, gettz_db_metadata)
-
- for var in zi_all:
- assert var is not None
-diff --git a/dateutil/zoneinfo/__init__.py b/dateutil/zoneinfo/__init__.py
-index 34f11ad..e3f0f94 100644
---- a/dateutil/zoneinfo/__init__.py
-+++ b/dateutil/zoneinfo/__init__.py
-@@ -1,6 +1,7 @@
- # -*- coding: utf-8 -*-
- import warnings
- import json
-+import os
-
- from tarfile import TarFile
- from pkgutil import get_data
-@@ -10,7 +11,7 @@ from dateutil.tz import tzfile as _tzfile
-
- __all__ = ["get_zonefile_instance", "gettz", "gettz_db_metadata"]
-
--ZONEFILENAME = "dateutil-zoneinfo.tar.gz"
-+ZONEDIRECTORY = "/usr/share/zoneinfo"
- METADATA_FN = 'METADATA'
-
-
-@@ -19,12 +20,14 @@ class tzfile(_tzfile):
- return (gettz, (self._filename,))
-
-
--def getzoneinfofile_stream():
-- try:
-- return BytesIO(get_data(__name__, ZONEFILENAME))
-- except IOError as e: # TODO switch to FileNotFoundError?
-- warnings.warn("I/O error({0}): {1}".format(e.errno, e.strerror))
-- return None
-+def iter_zones(topdir):
-+ for dirpath, dirnames, filenames in os.walk(topdir):
-+ for f in filenames:
-+ if f.endswith(('.list', '.tab', '.zi', 'leapseconds')):
-+ continue
-+ fpath = os.path.join(dirpath, f)
-+ relpath = os.path.relpath(fpath, topdir)
-+ yield (relpath, tzfile(fpath, filename=relpath))
-
-
- class ZoneInfoFile(object):
-@@ -48,7 +51,7 @@ class ZoneInfoFile(object):
- # no metadata in tar file
- self.metadata = None
- else:
-- self.zones = {}
-+ self.zones = dict(iter_zones(ZONEDIRECTORY))
- self.metadata = None
-
- def get(self, name, default=None):
-@@ -99,7 +102,7 @@ def get_zonefile_instance(new_instance=False):
- zif = getattr(get_zonefile_instance, '_cached_instance', None)
-
- if zif is None:
-- zif = ZoneInfoFile(getzoneinfofile_stream())
-+ zif = ZoneInfoFile()
-
- get_zonefile_instance._cached_instance = zif
-
-@@ -140,7 +143,7 @@ def gettz(name):
- DeprecationWarning)
-
- if len(_CLASS_ZONE_INSTANCE) == 0:
-- _CLASS_ZONE_INSTANCE.append(ZoneInfoFile(getzoneinfofile_stream()))
-+ _CLASS_ZONE_INSTANCE.append(ZoneInfoFile())
- return _CLASS_ZONE_INSTANCE[0].zones.get(name)
-
-
-@@ -163,5 +166,5 @@ def gettz_db_metadata():
- DeprecationWarning)
-
- if len(_CLASS_ZONE_INSTANCE) == 0:
-- _CLASS_ZONE_INSTANCE.append(ZoneInfoFile(getzoneinfofile_stream()))
-+ _CLASS_ZONE_INSTANCE.append(ZoneInfoFile())
- return _CLASS_ZONE_INSTANCE[0].metadata
---
-2.32.0
-
diff --git a/dev-python/python-dateutil/files/python-dateutil-2.9.0-no-pytest-cov.patch b/dev-python/python-dateutil/files/python-dateutil-2.9.0-no-pytest-cov.patch
new file mode 100644
index 000000000000..d483451a0adf
--- /dev/null
+++ b/dev-python/python-dateutil/files/python-dateutil-2.9.0-no-pytest-cov.patch
@@ -0,0 +1,18 @@
+diff --git a/tests/conftest.py b/tests/conftest.py
+index 78ed70a..4bb4c0a 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -14,10 +14,11 @@ def pytest_collection_modifyitems(items):
+
+ marker = marker_getter('xfail')
+
++ # requires pytest-cov
+ # Need to query the args because conditional xfail tests still have
+ # the xfail mark even if they are not expected to fail
+- if marker and (not marker.args or marker.args[0]):
+- item.add_marker(pytest.mark.no_cover)
++ #if marker and (not marker.args or marker.args[0]):
++ # item.add_marker(pytest.mark.no_cover)
+
+
+ def set_tzpath():
diff --git a/dev-python/python-dateutil/files/python-dateutil-2.9.0-system-tzdata.patch b/dev-python/python-dateutil/files/python-dateutil-2.9.0-system-tzdata.patch
new file mode 100644
index 000000000000..08a983d9f6a2
--- /dev/null
+++ b/dev-python/python-dateutil/files/python-dateutil-2.9.0-system-tzdata.patch
@@ -0,0 +1,91 @@
+diff --git a/src/dateutil/zoneinfo/__init__.py b/src/dateutil/zoneinfo/__init__.py
+index 34f11ad..e3f0f94 100644
+--- a/src/dateutil/zoneinfo/__init__.py
++++ b/src/dateutil/zoneinfo/__init__.py
+@@ -1,6 +1,7 @@
+ # -*- coding: utf-8 -*-
+ import warnings
+ import json
++import os
+
+ from tarfile import TarFile
+ from pkgutil import get_data
+@@ -10,7 +11,7 @@ from dateutil.tz import tzfile as _tzfile
+
+ __all__ = ["get_zonefile_instance", "gettz", "gettz_db_metadata"]
+
+-ZONEFILENAME = "dateutil-zoneinfo.tar.gz"
++ZONEDIRECTORY = "/usr/share/zoneinfo"
+ METADATA_FN = 'METADATA'
+
+
+@@ -19,12 +20,14 @@ class tzfile(_tzfile):
+ return (gettz, (self._filename,))
+
+
+-def getzoneinfofile_stream():
+- try:
+- return BytesIO(get_data(__name__, ZONEFILENAME))
+- except IOError as e: # TODO switch to FileNotFoundError?
+- warnings.warn("I/O error({0}): {1}".format(e.errno, e.strerror))
+- return None
++def iter_zones(topdir):
++ for dirpath, dirnames, filenames in os.walk(topdir):
++ for f in filenames:
++ if f.endswith(('.list', '.tab', '.zi', 'leapseconds')):
++ continue
++ fpath = os.path.join(dirpath, f)
++ relpath = os.path.relpath(fpath, topdir)
++ yield (relpath, tzfile(fpath, filename=relpath))
+
+
+ class ZoneInfoFile(object):
+@@ -48,7 +51,7 @@ class ZoneInfoFile(object):
+ # no metadata in tar file
+ self.metadata = None
+ else:
+- self.zones = {}
++ self.zones = dict(iter_zones(ZONEDIRECTORY))
+ self.metadata = None
+
+ def get(self, name, default=None):
+@@ -99,7 +102,7 @@ def get_zonefile_instance(new_instance=False):
+ zif = getattr(get_zonefile_instance, '_cached_instance', None)
+
+ if zif is None:
+- zif = ZoneInfoFile(getzoneinfofile_stream())
++ zif = ZoneInfoFile()
+
+ get_zonefile_instance._cached_instance = zif
+
+@@ -140,7 +143,7 @@ def gettz(name):
+ DeprecationWarning)
+
+ if len(_CLASS_ZONE_INSTANCE) == 0:
+- _CLASS_ZONE_INSTANCE.append(ZoneInfoFile(getzoneinfofile_stream()))
++ _CLASS_ZONE_INSTANCE.append(ZoneInfoFile())
+ return _CLASS_ZONE_INSTANCE[0].zones.get(name)
+
+
+@@ -163,5 +166,5 @@ def gettz_db_metadata():
+ DeprecationWarning)
+
+ if len(_CLASS_ZONE_INSTANCE) == 0:
+- _CLASS_ZONE_INSTANCE.append(ZoneInfoFile(getzoneinfofile_stream()))
++ _CLASS_ZONE_INSTANCE.append(ZoneInfoFile())
+ return _CLASS_ZONE_INSTANCE[0].metadata
+diff --git a/tests/test_imports.py b/tests/test_imports.py
+index 7d0749e..4256f45 100644
+--- a/tests/test_imports.py
++++ b/tests/test_imports.py
+@@ -232,9 +232,8 @@ def test_import_zone_info_from():
+ def test_import_zone_info_star():
+ from dateutil.zoneinfo import gettz
+ from dateutil.zoneinfo import gettz_db_metadata
+- from dateutil.zoneinfo import rebuild
+
+- zi_all = (gettz, gettz_db_metadata, rebuild)
++ zi_all = (gettz, gettz_db_metadata)
+
+ for var in zi_all:
+ assert var is not None
diff --git a/dev-python/python-dateutil/python-dateutil-2.8.2-r1.ebuild b/dev-python/python-dateutil/python-dateutil-2.8.2-r1.ebuild
deleted file mode 100644
index 76c14100eeb1..000000000000
--- a/dev-python/python-dateutil/python-dateutil-2.8.2-r1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Extensions to the standard Python datetime module"
-HOMEPAGE="
- https://dateutil.readthedocs.io/
- https://pypi.org/project/python-dateutil/
- https://github.com/dateutil/dateutil/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
-
-RDEPEND="
- >=dev-python/six-1.5[${PYTHON_USEDEP}]
- sys-libs/timezone-data
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/python-dateutil-2.8.2-system-tzdata.patch"
- "${FILESDIR}/python-dateutil-2.8.1-no-pytest-cov.patch"
-)
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # don't install zoneinfo tarball
- sed -i '/package_data=/d' setup.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/python-dateutil/python-dateutil-2.9.0_p0.ebuild b/dev-python/python-dateutil/python-dateutil-2.9.0_p0.ebuild
new file mode 100644
index 000000000000..9ef80c68d092
--- /dev/null
+++ b/dev-python/python-dateutil/python-dateutil-2.9.0_p0.ebuild
@@ -0,0 +1,47 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Extensions to the standard Python datetime module"
+HOMEPAGE="
+ https://dateutil.readthedocs.io/
+ https://pypi.org/project/python-dateutil/
+ https://github.com/dateutil/dateutil/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos"
+
+RDEPEND="
+ >=dev-python/six-1.5[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/python-dateutil-2.9.0-system-tzdata.patch"
+ "${FILESDIR}/python-dateutil-2.9.0-no-pytest-cov.patch"
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # don't install zoneinfo tarball
+ sed -i '/package_data=/d' setup.py || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/python-dbusmock/Manifest b/dev-python/python-dbusmock/Manifest
index 947788871011..91fa077f518d 100644
--- a/dev-python/python-dbusmock/Manifest
+++ b/dev-python/python-dbusmock/Manifest
@@ -1,2 +1,2 @@
-DIST python-dbusmock-0.29.1.tar.gz 92555 BLAKE2B 64888de1a6b99698a36be357cad56f7d0f646a2ddb67825b37f5a9241a90dc7d4df6f0de42abc471ec10e10e9166e0b8b3d17f4e6277f2e54836cd01968dfe61 SHA512 722002838a983bbe908192ed1cae715066f509f33bd3b9bff8075d8f2d75c41b57e89bc7d76af2591d815f244b604671fa45030a52499a369d2cf23842fa4e88
-DIST python-dbusmock-0.30.0.tar.gz 98201 BLAKE2B eb519dc526d4e3ab804c3415d223d77462e944bac8d03dd64fbe11f8a5d875ebad1643230b93d1d51cd4a979eed24e6b97d0744b115d28d233b4d1239ec04f01 SHA512 280a8ebfe12a0f5b309d5b807547ed521c80c9899fdc89abaaee238621cf94d05f8413ab2908ca331f9d3ef1c610234dafbd912f8590f18c7d9cafe470beece6
+DIST python-dbusmock-0.31.1.tar.gz 98739 BLAKE2B 623aa336c66ad1743d1b86421184c13d647970ffe1a7ffbc2e100c179fb3af98846c96f0a8baccfb9a1f47aa2e380d0bff91c17f967d9c798a97a5fef43bc376 SHA512 5d409e979046cf301c5f8604b43c67abba111315d40e54b59cc5ff6e8fe3bb006591fdac877f750b3a0d56f840337f136b99dda9237de1b00718ef85a3bfcf7b
+DIST python-dbusmock-0.32.1.tar.gz 104265 BLAKE2B 78357a767e8f008463c69b55b57a02016c1aa1a392dc7a1ef3392020af839ef553ed6ff3cadac12a9c175efccdb29c7f3ed74ab7abafb0436a760dbe3193fbc6 SHA512 14b71c5d0a760fd1e8609815e4ae702ebc5c9f1f3c3e1bd930da616350b63b7fdbf99c7d584f5a834857798fb1cad56347d6a1cf2bdd758f9100180b0a7e725d
diff --git a/dev-python/python-dbusmock/python-dbusmock-0.29.1.ebuild b/dev-python/python-dbusmock/python-dbusmock-0.29.1.ebuild
deleted file mode 100644
index c34d6f133aad..000000000000
--- a/dev-python/python-dbusmock/python-dbusmock-0.29.1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Easily create mock objects on D-Bus for software testing"
-HOMEPAGE="
- https://github.com/martinpitt/python-dbusmock/
- https://pypi.org/project/python-dbusmock/
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/dbus-python[${PYTHON_USEDEP}]
- dev-python/pygobject:3[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # linter tests, fragile to newer linter versions
- tests/test_code.py
-)
-
-src_prepare() {
- # dev-python/dbus-python uses autotools, so no .dist-info there
- sed -i '/dbus-python/d' pyproject.toml setup.cfg || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/python-dbusmock/python-dbusmock-0.30.0.ebuild b/dev-python/python-dbusmock/python-dbusmock-0.30.0.ebuild
deleted file mode 100644
index 51ed224162c1..000000000000
--- a/dev-python/python-dbusmock/python-dbusmock-0.30.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Easily create mock objects on D-Bus for software testing"
-HOMEPAGE="
- https://github.com/martinpitt/python-dbusmock/
- https://pypi.org/project/python-dbusmock/
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/dbus-python[${PYTHON_USEDEP}]
- dev-python/pygobject:3[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # linter tests, fragile to newer linter versions
- tests/test_code.py
-)
-
-src_prepare() {
- # dev-python/dbus-python uses autotools, so no .dist-info there
- sed -i '/dbus-python/d' pyproject.toml setup.cfg || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/python-dbusmock/python-dbusmock-0.31.1-r1.ebuild b/dev-python/python-dbusmock/python-dbusmock-0.31.1-r1.ebuild
new file mode 100644
index 000000000000..30e58b199eee
--- /dev/null
+++ b/dev-python/python-dbusmock/python-dbusmock-0.31.1-r1.ebuild
@@ -0,0 +1,54 @@
+# 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..13} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Easily create mock objects on D-Bus for software testing"
+HOMEPAGE="
+ https://github.com/martinpitt/python-dbusmock/
+ https://pypi.org/project/python-dbusmock/
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ sys-power/upower
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # linter tests, fragile to newer linter versions
+ tests/test_code.py
+)
+
+src_prepare() {
+ # dev-python/dbus-python uses autotools, so no .dist-info there
+ sed -i '/dbus-python/d' pyproject.toml setup.cfg || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # tests are fragile to long socket paths
+ local -x TMPDIR=/tmp
+ # Tests break if XDG_DATA_DIRS is modified by flatpak install
+ unset XDG_DATA_DIRS
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/python-dbusmock/python-dbusmock-0.32.1.ebuild b/dev-python/python-dbusmock/python-dbusmock-0.32.1.ebuild
new file mode 100644
index 000000000000..50edc076c019
--- /dev/null
+++ b/dev-python/python-dbusmock/python-dbusmock-0.32.1.ebuild
@@ -0,0 +1,54 @@
+# 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..13} )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Easily create mock objects on D-Bus for software testing"
+HOMEPAGE="
+ https://github.com/martinpitt/python-dbusmock/
+ https://pypi.org/project/python-dbusmock/
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/dbus-python[${PYTHON_USEDEP}]
+ dev-python/pygobject:3[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ sys-power/upower
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # linter tests, fragile to newer linter versions
+ tests/test_code.py
+)
+
+src_prepare() {
+ # dev-python/dbus-python uses autotools, so no .dist-info there
+ sed -i '/dbus-python/d' pyproject.toml setup.cfg || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # tests are fragile to long socket paths
+ local -x TMPDIR=/tmp
+ # Tests break if XDG_DATA_DIRS is modified by flatpak install
+ unset XDG_DATA_DIRS
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/python-debian/python-debian-0.1.49.ebuild b/dev-python/python-debian/python-debian-0.1.49.ebuild
index d99f43c8102f..855bcbe7bcc8 100644
--- a/dev-python/python-debian/python-debian-0.1.49.ebuild
+++ b/dev-python/python-debian/python-debian-0.1.49.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2011-2023 Gentoo Authors
+# Copyright 2011-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -32,10 +32,13 @@ BDEPEND="
distutils_enable_tests pytest
python_prepare_all() {
+ distutils-r1_python_prepare_all
+
# See debian/rules.
sed -e "s/__CHANGELOG_VERSION__/${PV}/" lib/debian/_version.py.in \
> lib/debian/_version.py || die
- distutils-r1_python_prepare_all
+ # silence false positives
+ rm -rf debian || die
}
python_compile_all() {
diff --git a/dev-python/python-distutils-extra/metadata.xml b/dev-python/python-distutils-extra/metadata.xml
index d84f41434ec0..49fc8db10447 100644
--- a/dev-python/python-distutils-extra/metadata.xml
+++ b/dev-python/python-distutils-extra/metadata.xml
@@ -8,5 +8,6 @@
<stabilize-allarches/>
<upstream>
<bugs-to>https://www.debian.org/Bugs/</bugs-to>
+ <remote-id type="launchpad">python-distutils-extra</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/python-distutils-extra/python-distutils-extra-2.47.ebuild b/dev-python/python-distutils-extra/python-distutils-extra-2.47.ebuild
index 3a6c802e0da9..a61970f3a316 100644
--- a/dev-python/python-distutils-extra/python-distutils-extra-2.47.ebuild
+++ b/dev-python/python-distutils-extra/python-distutils-extra-2.47.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
@@ -19,7 +19,7 @@ SRC_URI="
LICENSE="GPL-2+"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ppc x86"
+KEYWORDS="amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv x86"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/python-dotenv/Manifest b/dev-python/python-dotenv/Manifest
index 33686de53205..8fc411a128d9 100644
--- a/dev-python/python-dotenv/Manifest
+++ b/dev-python/python-dotenv/Manifest
@@ -1 +1 @@
-DIST python-dotenv-1.0.0.tar.gz 37399 BLAKE2B cc5a4b810fae2a79e091a9523738be37ba030c29a373f375f2d413396f56d0606b77febddfba82085f94abc151e86b3a8d4719899e4e80e9956bea3989569dbd SHA512 8fc14eb07d8fb5e4cb4a83338aac1009aaa0715b3e7438b4ac8ee7da0ad5f7cf6b05121a685d05af7f03828ab39df61382cfbc5e95c6708246d1f400fe10d250
+DIST python-dotenv-1.0.1.tar.gz 39115 BLAKE2B 31bc0598abce2ffe5da0f248f56587fc549489c11b21e87ca144654c564701d7a5f952614b21ba12afb49a7bbb6d3753714c6e628485b449e9de2ec9513657f0 SHA512 d03f28f123b19e6e4af05c239686e189e5767108049399c110b80668bfea9d2a3f9222b719863fdef016cbe726a7a77748a18ddad013f7fc21c239ccf680c1da
diff --git a/dev-python/python-dotenv/python-dotenv-1.0.0.ebuild b/dev-python/python-dotenv/python-dotenv-1.0.0.ebuild
deleted file mode 100644
index eefe5f60a4b6..000000000000
--- a/dev-python/python-dotenv/python-dotenv-1.0.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Manage .env files"
-HOMEPAGE="
- https://github.com/theskumar/python-dotenv/
- https://pypi.org/project/python-dotenv/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- test? (
- >=dev-python/click-5[${PYTHON_USEDEP}]
- >=dev-python/sh-2[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/ipython[${PYTHON_USEDEP}]
- ' python3_{10,11})
- )
-"
-
-DOCS=( CHANGELOG.md README.md )
-
-distutils_enable_tests pytest
-
-python_install() {
- distutils-r1_python_install
- ln -s dotenv "${D}$(python_get_scriptdir)"/python-dotenv || die
-}
-
-src_install() {
- distutils-r1_src_install
-
- # Avoid collision with dev-ruby/dotenv (bug #798648)
- mv "${ED}"/usr/bin/{,python-}dotenv || die
-}
diff --git a/dev-python/python-dotenv/python-dotenv-1.0.1.ebuild b/dev-python/python-dotenv/python-dotenv-1.0.1.ebuild
new file mode 100644
index 000000000000..9cd13e324c80
--- /dev/null
+++ b/dev-python/python-dotenv/python-dotenv-1.0.1.ebuild
@@ -0,0 +1,44 @@
+# 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=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Manage .env files"
+HOMEPAGE="
+ https://github.com/theskumar/python-dotenv/
+ https://pypi.org/project/python-dotenv/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ test? (
+ >=dev-python/click-5[${PYTHON_USEDEP}]
+ dev-python/ipython[${PYTHON_USEDEP}]
+ >=dev-python/sh-2[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( CHANGELOG.md README.md )
+
+distutils_enable_tests pytest
+
+python_install() {
+ distutils-r1_python_install
+ ln -s dotenv "${D}$(python_get_scriptdir)"/python-dotenv || die
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ # Avoid collision with dev-ruby/dotenv (bug #798648)
+ mv "${ED}"/usr/bin/{,python-}dotenv || die
+}
diff --git a/dev-python/python-editor/python-editor-1.0.4-r2.ebuild b/dev-python/python-editor/python-editor-1.0.4-r2.ebuild
index 7e5c91f55fbe..a9fd59a81318 100644
--- a/dev-python/python-editor/python-editor-1.0.4-r2.ebuild
+++ b/dev-python/python-editor/python-editor-1.0.4-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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/python-efl/Manifest b/dev-python/python-efl/Manifest
deleted file mode 100644
index f3181cb0781f..000000000000
--- a/dev-python/python-efl/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-efl-1.26.1.tar.xz 9554132 BLAKE2B d08c9c695c3667e0d3b1b45b1c7026f1af6ca1c100235c1a412dfa354e549c45db75442693c1d7a3f68b6c63a47cf6d120fd3071856a6e7c7da51f0ccdb309b0 SHA512 42b7586885d47fc67bf3692e65325e58cb0566fb772b415255b2f63b05adfdcdc44762f532bc951781ece118833486b33dc5a3f0aa10e0a14d5226ca4dc30f9e
diff --git a/dev-python/python-efl/files/python-efl-1.25-clang-crosscompile.patch b/dev-python/python-efl/files/python-efl-1.25-clang-crosscompile.patch
deleted file mode 100644
index 856aed8474ec..000000000000
--- a/dev-python/python-efl/files/python-efl-1.25-clang-crosscompile.patch
+++ /dev/null
@@ -1,14 +0,0 @@
-diff -Naur a/setup.py b/setup.py
---- a/setup.py 2020-06-25 19:46:38.312786000 +0300
-+++ b/setup.py 2020-09-25 09:52:34.830587205 +0300
-@@ -221,6 +221,10 @@
- # remove clang unknown flags
- if os.getenv("CC") == "clang":
- common_cflags.remove('-fno-var-tracking-assignments')
-+if os.getenv("CC") == "x86_64-pc-linux-gnu-clang":
-+ common_cflags.remove('-fno-var-tracking-assignments')
-+if os.getenv("CC") == "i686-pc-linux-gnu-clang":
-+ common_cflags.remove('-fno-var-tracking-assignments')
-
-
- if set(("build", "build_ext", "install", "bdist", "sdist")) & set(sys.argv):
diff --git a/dev-python/python-efl/metadata.xml b/dev-python/python-efl/metadata.xml
deleted file mode 100644
index c88f176c6144..000000000000
--- a/dev-python/python-efl/metadata.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>juippis@gentoo.org</email>
- <name>Joonas Niilola</name>
- </maintainer>
- <longdescription>
- EFL is a collection of libraries for handling many common tasks a
- developer man have such as data structures, communication,
- rendering, widgets and more.
-
- PYTHON-EFL are the python bindings for the whole EFL stack (eo,
- evas, ecore, edje, emotion, ethumb and elementary)
- </longdescription>
- <upstream>
- <remote-id type="pypi">python-efl</remote-id>
- <remote-id type="github">DaveMDS/python-efl</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/python-efl/python-efl-1.26.1.ebuild b/dev-python/python-efl/python-efl-1.26.1.ebuild
deleted file mode 100644
index 692648e09aec..000000000000
--- a/dev-python/python-efl/python-efl-1.26.1.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 flag-o-matic
-
-DESCRIPTION="Python bindings for Enlightenment Foundation Libraries"
-HOMEPAGE="https://github.com/DaveMDS/python-efl https://docs.enlightenment.org/python-efl/current/"
-SRC_URI="https://download.enlightenment.org/rel/bindings/python/${P}.tar.xz"
-
-LICENSE="|| ( GPL-3 LGPL-3 )"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86"
-IUSE="doc test"
-
-RESTRICT="!test? ( test )"
-
-RDEPEND="=dev-libs/efl-$(ver_cut 1-2)*
- dev-python/dbus-python[${PYTHON_USEDEP}]
- sys-apps/dbus"
-DEPEND="${RDEPEND}"
-BDEPEND="<dev-python/cython-3.0[${PYTHON_USEDEP}]
- virtual/pkgconfig
- doc? (
- dev-python/sphinx[${PYTHON_USEDEP}]
- media-gfx/graphviz
- )"
-
-PATCHES=( "${FILESDIR}/python-efl-1.25-clang-crosscompile.patch" )
-
-src_prepare() {
- default
-
- # Generate our own C files, discard the bundled ones.
- export ENABLE_CYTHON=1
-
- # Tries to download a file under /tmp
- rm tests/ecore/test_09_file_download.py || die
-
- # Tries to use that file which failed to download
- rm tests/ecore/test_10_file_monitor.py || die
-
- # Needs an active internet connection
- rm tests/ecore/test_11_con.py || die
-
- # Test fails because of deleted files above
- sed -i 's/>= 13/>= 10/g' tests/ecore/test_08_exe.py || die
-
- # Make tests verbose
- sed -i 's:verbosity=1:verbosity=3:' tests/00_run_all_tests.py || die
-
- # Disable any optimization on x86, #704260
- if use x86; then
- filter-flags -O?
- append-cflags -O0
- fi
-}
-
-python_compile_all() {
- if use doc ; then
- ${EPYTHON} -m sphinx.cmd.build doc "${S}"/build/doc/ || die "Building docs failed with ${EPYTHON}."
- fi
-
- ${EPYTHON} setup.py build || die "src_compile failed with ${EPYTHON}"
-}
-
-python_test() {
- cd tests/ || die
- ${EPYTHON} 00_run_all_tests.py --verbose || die "Tests failed with ${EPYTHON}"
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( ./build/doc/. )
- distutils-r1_python_install_all
-}
diff --git a/dev-python/python-engineio/Manifest b/dev-python/python-engineio/Manifest
index e943b2633277..9d3e26218dd2 100644
--- a/dev-python/python-engineio/Manifest
+++ b/dev-python/python-engineio/Manifest
@@ -1,6 +1 @@
-DIST python-engineio-4.5.1.gh.tar.gz 309858 BLAKE2B 684bb4c32f050d52091c91312fa2cbe2ef1be133a797734de75f9c4b2c088e8f1b239260e62f189266cd72e4ff1203d63f1abca6887a34b498de43b6ceedefaf SHA512 c661e4691c8e14c547ed4de381b97470f0eead36783a299829e0a472022b508e45c6a131bb2c88bdf9542d59f8128a4640340514e20476ec8e7c7a4babbe3c68
-DIST python-engineio-4.6.0.gh.tar.gz 310597 BLAKE2B 7749e65f1f79bd21fb3f89dd541f3c306c780b2a98e8f0a8368b6fa7bf40738a5115f00f976f40914fcef9a94ef618e40b05993e6812630f46524d05c55b0eba SHA512 28efc25ff7eda98fa16e7c52effafc0789f18d947301479e5393e674e97826cd16bffe8554a8016c53587ac66b1f2cac90d2f64dfa9c1e2466f4324ee9880b1d
-DIST python-engineio-4.6.1.gh.tar.gz 310625 BLAKE2B 2247e926117ee659f7bd428df673b10c3655534b33d062eb33e7f400890062116f3edc82f66e6bd29817e61b314376b2227fbb513802c11a04c921a610f00063 SHA512 a423a048a09396d7a3c834056118bbd124a1313e8f63b16fa40ec51b6b8f247fbe7d540e1e5f4a8a103c14ff5b5e3f53686723f2cd70e26c3a59b6100bff336f
-DIST python-engineio-4.7.0.gh.tar.gz 311878 BLAKE2B 6b33bbf8c386fd6bf02f00d66e98bb11ef7a862d0d7c796094aeeeba8c87dd41e1f5b957a786b6ef181037dd5e6c390abdafc4f91fbacae356a0dbfe736e2775 SHA512 c1a41059024939a2cd11ed235a984b4e25cb622745fd6b46f15304d1470d33214283b7ae7b097edc8312ce1b5dc144eed7a2a505042b150b7bbd4320f026cd9d
-DIST python-engineio-4.7.1.gh.tar.gz 311622 BLAKE2B 101a15515aa80eb56c2285bef3f7967023cd8a2e54360c348d84af81dc4901424446b50a1d7b70ba0d6a073ee2780ccd524e61a30b1475d54b30f32494063386 SHA512 fa71efb885628b9337d3f6d20cc92ac990fadb5fafdb020904e6e2bb452957a437f6467724897729f2f9e30eb713d8ce88f254fbfe49258fa33ba38572206289
-DIST python-engineio-4.8.0.gh.tar.gz 313056 BLAKE2B 508c7303ee1020db27f7d8a26148b1748b9685f1d8fadb6abbe110e9b4acb85d6510c6bbc074ae0582efeab7c5b8e294eeed7115d34784bddd55f0b4bd20318f SHA512 351d982bf729a9747215d5845d9b547ecc5dd031cb3c32cd98d75b42374455e625ba0a8f7edf0db63354f7d905eedeb749145a851f8744571f0f2ab9d1142b47
+DIST python-engineio-4.9.1.gh.tar.gz 317721 BLAKE2B b776a56993f6dafe1778be93dbc507eb5ae96e44f0635b17fb3592fb9fca49c0a338393a128e05089a846b43f41328d788066f0b7a0edad78c88e3b14d6adec9 SHA512 1414d30fa3073124936909e1395e27579eea2b27862a9770b78c8d91b5568aff869e84f9477c7225cbe35462849445ce9ab17b8ca7b6e8aadeafcdebcb26df0b
diff --git a/dev-python/python-engineio/python-engineio-4.5.1.ebuild b/dev-python/python-engineio/python-engineio-4.5.1.ebuild
deleted file mode 100644
index 705b082df961..000000000000
--- a/dev-python/python-engineio/python-engineio-4.5.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python implementation of the Engine.IO realtime server"
-HOMEPAGE="
- https://python-engineio.readthedocs.io/
- https://github.com/miguelgrinberg/python-engineio/
- https://pypi.org/project/python-engineio/"
-SRC_URI="
- https://github.com/miguelgrinberg/python-engineio/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/websocket-client[${PYTHON_USEDEP}]
-"
-# Can use eventlet, werkzeug, or gevent, but no tests for werkzeug
-BDEPEND="
- test? (
- dev-python/tornado[${PYTHON_USEDEP}]
- dev-python/websockets[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/alabaster
-
-EPYTEST_IGNORE=(
- # eventlet is masked for removal
- tests/common/test_async_eventlet.py
-)
-
-EPYTEST_DESELECT=(
- # also eventlet
- tests/common/test_server.py::TestServer::test_async_mode_eventlet
- tests/common/test_server.py::TestServer::test_connect
- tests/common/test_server.py::TestServer::test_service_task_started
- tests/common/test_server.py::TestServer::test_upgrades
-)
diff --git a/dev-python/python-engineio/python-engineio-4.6.0.ebuild b/dev-python/python-engineio/python-engineio-4.6.0.ebuild
deleted file mode 100644
index 685f61efc6c4..000000000000
--- a/dev-python/python-engineio/python-engineio-4.6.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python implementation of the Engine.IO realtime server"
-HOMEPAGE="
- https://python-engineio.readthedocs.io/
- https://github.com/miguelgrinberg/python-engineio/
- https://pypi.org/project/python-engineio/"
-SRC_URI="
- https://github.com/miguelgrinberg/python-engineio/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/websocket-client[${PYTHON_USEDEP}]
-"
-# Can use eventlet, werkzeug, or gevent, but no tests for werkzeug
-BDEPEND="
- test? (
- dev-python/tornado[${PYTHON_USEDEP}]
- dev-python/websockets[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/alabaster
-
-EPYTEST_IGNORE=(
- # eventlet is masked for removal
- tests/common/test_async_eventlet.py
-)
-
-EPYTEST_DESELECT=(
- # also eventlet
- tests/common/test_server.py::TestServer::test_async_mode_eventlet
- tests/common/test_server.py::TestServer::test_connect
- tests/common/test_server.py::TestServer::test_service_task_started
- tests/common/test_server.py::TestServer::test_upgrades
-)
diff --git a/dev-python/python-engineio/python-engineio-4.6.1.ebuild b/dev-python/python-engineio/python-engineio-4.6.1.ebuild
deleted file mode 100644
index 685f61efc6c4..000000000000
--- a/dev-python/python-engineio/python-engineio-4.6.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python implementation of the Engine.IO realtime server"
-HOMEPAGE="
- https://python-engineio.readthedocs.io/
- https://github.com/miguelgrinberg/python-engineio/
- https://pypi.org/project/python-engineio/"
-SRC_URI="
- https://github.com/miguelgrinberg/python-engineio/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/websocket-client[${PYTHON_USEDEP}]
-"
-# Can use eventlet, werkzeug, or gevent, but no tests for werkzeug
-BDEPEND="
- test? (
- dev-python/tornado[${PYTHON_USEDEP}]
- dev-python/websockets[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/alabaster
-
-EPYTEST_IGNORE=(
- # eventlet is masked for removal
- tests/common/test_async_eventlet.py
-)
-
-EPYTEST_DESELECT=(
- # also eventlet
- tests/common/test_server.py::TestServer::test_async_mode_eventlet
- tests/common/test_server.py::TestServer::test_connect
- tests/common/test_server.py::TestServer::test_service_task_started
- tests/common/test_server.py::TestServer::test_upgrades
-)
diff --git a/dev-python/python-engineio/python-engineio-4.7.0.ebuild b/dev-python/python-engineio/python-engineio-4.7.0.ebuild
deleted file mode 100644
index 96cfd80c6af2..000000000000
--- a/dev-python/python-engineio/python-engineio-4.7.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python implementation of the Engine.IO realtime server"
-HOMEPAGE="
- https://python-engineio.readthedocs.io/
- https://github.com/miguelgrinberg/python-engineio/
- https://pypi.org/project/python-engineio/"
-SRC_URI="
- https://github.com/miguelgrinberg/python-engineio/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/websocket-client[${PYTHON_USEDEP}]
-"
-# Can use eventlet, werkzeug, or gevent, but no tests for werkzeug
-BDEPEND="
- test? (
- dev-python/tornado[${PYTHON_USEDEP}]
- dev-python/websockets[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/alabaster
-
-python_test() {
- local EPYTEST_IGNORE=(
- # eventlet is masked for removal
- tests/common/test_async_eventlet.py
- )
-
- local EPYTEST_DESELECT=(
- # also eventlet
- tests/common/test_server.py::TestServer::test_async_mode_eventlet
- tests/common/test_server.py::TestServer::test_connect
- tests/common/test_server.py::TestServer::test_service_task_started
- tests/common/test_server.py::TestServer::test_upgrades
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/python-engineio/python-engineio-4.7.1.ebuild b/dev-python/python-engineio/python-engineio-4.7.1.ebuild
deleted file mode 100644
index d30dc486a613..000000000000
--- a/dev-python/python-engineio/python-engineio-4.7.1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python implementation of the Engine.IO realtime server"
-HOMEPAGE="
- https://python-engineio.readthedocs.io/
- https://github.com/miguelgrinberg/python-engineio/
- https://pypi.org/project/python-engineio/"
-SRC_URI="
- https://github.com/miguelgrinberg/python-engineio/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- >=dev-python/simple-websocket-0.10.0[${PYTHON_USEDEP}]
- dev-python/websocket-client[${PYTHON_USEDEP}]
-"
-# Can use eventlet, werkzeug, or gevent, but no tests for werkzeug
-BDEPEND="
- test? (
- dev-python/tornado[${PYTHON_USEDEP}]
- dev-python/websockets[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/alabaster
-
-python_test() {
- local EPYTEST_IGNORE=(
- # eventlet is masked for removal
- tests/common/test_async_eventlet.py
- )
-
- local EPYTEST_DESELECT=(
- # also eventlet
- tests/common/test_server.py::TestServer::test_async_mode_eventlet
- tests/common/test_server.py::TestServer::test_connect
- tests/common/test_server.py::TestServer::test_service_task_started
- tests/common/test_server.py::TestServer::test_upgrades
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/python-engineio/python-engineio-4.8.0.ebuild b/dev-python/python-engineio/python-engineio-4.8.0.ebuild
deleted file mode 100644
index 9b215468b329..000000000000
--- a/dev-python/python-engineio/python-engineio-4.8.0.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python implementation of the Engine.IO realtime server"
-HOMEPAGE="
- https://python-engineio.readthedocs.io/
- https://github.com/miguelgrinberg/python-engineio/
- https://pypi.org/project/python-engineio/"
-SRC_URI="
- https://github.com/miguelgrinberg/python-engineio/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- >=dev-python/simple-websocket-0.10.0[${PYTHON_USEDEP}]
- dev-python/websocket-client[${PYTHON_USEDEP}]
-"
-# Can use eventlet, werkzeug, or gevent, but no tests for werkzeug
-BDEPEND="
- test? (
- dev-python/tornado[${PYTHON_USEDEP}]
- dev-python/websockets[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/alabaster
-
-python_test() {
- local EPYTEST_IGNORE=(
- # eventlet is masked for removal
- tests/common/test_async_eventlet.py
- )
-
- local EPYTEST_DESELECT=(
- # also eventlet
- tests/common/test_server.py::TestServer::test_async_mode_eventlet
- tests/common/test_server.py::TestServer::test_connect
- tests/common/test_server.py::TestServer::test_service_task_started
- tests/common/test_server.py::TestServer::test_upgrades
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/python-engineio/python-engineio-4.9.1.ebuild b/dev-python/python-engineio/python-engineio-4.9.1.ebuild
new file mode 100644
index 000000000000..1112128be5ae
--- /dev/null
+++ b/dev-python/python-engineio/python-engineio-4.9.1.ebuild
@@ -0,0 +1,59 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python implementation of the Engine.IO realtime server"
+HOMEPAGE="
+ https://python-engineio.readthedocs.io/
+ https://github.com/miguelgrinberg/python-engineio/
+ https://pypi.org/project/python-engineio/"
+SRC_URI="
+ https://github.com/miguelgrinberg/python-engineio/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ >=dev-python/simple-websocket-0.10.0[${PYTHON_USEDEP}]
+ dev-python/websocket-client[${PYTHON_USEDEP}]
+"
+# Can use eventlet, werkzeug, or gevent, but no tests for werkzeug
+BDEPEND="
+ test? (
+ dev-python/tornado[${PYTHON_USEDEP}]
+ dev-python/websockets[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/alabaster
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # eventlet is masked for removal
+ tests/common/test_async_eventlet.py
+ )
+
+ local EPYTEST_DESELECT=(
+ # also eventlet
+ tests/common/test_server.py::TestServer::test_async_mode_eventlet
+ tests/common/test_server.py::TestServer::test_connect
+ tests/common/test_server.py::TestServer::test_service_task_started
+ tests/common/test_server.py::TestServer::test_upgrades
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/python-evdev/Manifest b/dev-python/python-evdev/Manifest
deleted file mode 100644
index 418742012671..000000000000
--- a/dev-python/python-evdev/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-evdev-1.6.0.gh.tar.gz 86212 BLAKE2B bbb9adc3caff31c817972e33cd02ff63ee4e037ebe346fc6b128d119c38b337681bc9ef9069cbe9b604b1ac926dd23a02add23da2f629b31b74b0de338f9f423 SHA512 d3dc27aad70897d46ae3cad71cafdf5ac49e8cb52b88566b004edaee3b192b68093e44b487f9ab27b503a18e8e62a08b17d7b782726658f4d8131aa4562cd17a
diff --git a/dev-python/python-evdev/python-evdev-1.6.0.ebuild b/dev-python/python-evdev/python-evdev-1.6.0.ebuild
deleted file mode 100644
index a26cac5f94ea..000000000000
--- a/dev-python/python-evdev/python-evdev-1.6.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Python library for evdev bindings"
-HOMEPAGE="
- https://python-evdev.readthedocs.io/
- https://github.com/gvalkov/python-evdev/
- https://pypi.org/project/evdev/
-"
-SRC_URI="
- https://github.com/gvalkov/python-evdev/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- tests/test_uinput.py
-)
-
-python_configure_all() {
- esetup.py build_ecodes \
- --evdev-headers \
- "${ESYSROOT}/usr/include/linux/input.h:${ESYSROOT}/usr/include/linux/input-event-codes.h"
-}
-
-src_test() {
- cd tests || die
- distutils-r1_src_test
-}
diff --git a/dev-python/python-gammu/python-gammu-3.2.4-r1.ebuild b/dev-python/python-gammu/python-gammu-3.2.4-r1.ebuild
index e1b603df4aee..d053fd02f1a3 100644
--- a/dev-python/python-gammu/python-gammu-3.2.4-r1.ebuild
+++ b/dev-python/python-gammu/python-gammu-3.2.4-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/python-gflags/python-gflags-3.1.2-r2.ebuild b/dev-python/python-gflags/python-gflags-3.1.2-r2.ebuild
index 680d56e062fd..e2076b9c8843 100644
--- a/dev-python/python-gflags/python-gflags-3.1.2-r2.ebuild
+++ b/dev-python/python-gflags/python-gflags-3.1.2-r2.ebuild
@@ -1,16 +1,19 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
DESCRIPTION="Google's Python argument parsing library"
-HOMEPAGE="https://github.com/google/python-gflags"
+HOMEPAGE="
+ https://github.com/google/python-gflags/
+ https://pypi.org/project/python-gflags/
+"
LICENSE="BSD"
SLOT="0"
diff --git a/dev-python/python-glanceclient/Manifest b/dev-python/python-glanceclient/Manifest
index f2796d6586af..69d943393d4b 100644
--- a/dev-python/python-glanceclient/Manifest
+++ b/dev-python/python-glanceclient/Manifest
@@ -1 +1 @@
-DIST python-glanceclient-4.4.0.tar.gz 205612 BLAKE2B 8a1e31eb8dbefe4b08e945377bb190264332cd01066b96ec061e8839a45294ed6cf5ab08fd89d97b57bc072987ce04d19f94a887d5e8eaa10760d996058122bf SHA512 31d2994fef3298f790a3ec268b26d432602a6b73265277e961ff2b47df2a84028253da8b2090193e1e65c55ab6e4b40413a16d01a653b90cae926545ea4097ae
+DIST python-glanceclient-4.6.0.tar.gz 206480 BLAKE2B 302414b0fcf85ec9a8e53e9bf43c5801df82826524780249e9c4b46b44ca2e53c1c5d63f6e80c73dee2a59009a3e0aa1df591ecb2a4d000b74ee078b4810de2c SHA512 ed9d554d40a03134bc8871fbf712dd4bb2aab5e18854fd9c07df0d20dead1a9f3473bc4253ba4dd8c87cf7227148c637718461d45cd01bd9aaf673f7fc7ee9fc
diff --git a/dev-python/python-glanceclient/files/python-glanceclient-4.6.0-test-py3.13.patch b/dev-python/python-glanceclient/files/python-glanceclient-4.6.0-test-py3.13.patch
new file mode 100644
index 000000000000..b1760f8b87af
--- /dev/null
+++ b/dev-python/python-glanceclient/files/python-glanceclient-4.6.0-test-py3.13.patch
@@ -0,0 +1,66 @@
+From 6aa007080e1db0f95b04824f42a6b52cbd5ff886 Mon Sep 17 00:00:00 2001
+From: Petr Vaněk <arkamar@atlas.cz>
+Date: Mon, 08 Jul 2024 12:01:15 +0200
+Subject: [PATCH] Python 3.13 test fixes
+
+Python 3.13 newly calls close in mock_open [1], which makes two
+_cache_schemas related tests fail because they expect different amount
+of mock_calls. This fix makes the expected check results conditional
+based on python version.
+
+[1] https://github.com/python/cpython/commit/3f7c0810f6158a7ff37be432f8d7f9511427489f
+
+Change-Id: I8b019f73fe3a9f28f114c95321a1da0feadf750f
+
+Upstream-PR: https://review.opendev.org/c/openstack/python-glanceclient/+/923628
+
+diff --git a/glanceclient/tests/unit/test_shell.py b/glanceclient/tests/unit/test_shell.py
+index 4a123ab..ea835c4 100644
+--- a/glanceclient/tests/unit/test_shell.py
++++ b/glanceclient/tests/unit/test_shell.py
+@@ -786,14 +786,19 @@ class ShellCacheSchemaTest(testutils.TestCase):
+ client = self.shell._get_versioned_client('2', args)
+ self.shell._cache_schemas(args, client, home_dir=self.cache_dir)
+
+- self.assertEqual(12, open.mock_calls.__len__())
++ # see https://github.com/python/cpython/commit/3f7c0810f6158a7ff37be432f8d7f9511427489f
++ expected_count = 12 if sys.version_info < (3, 13) else 15
++ open_idx = 4 if sys.version_info < (3, 13) else 5
++ write_idx = 6 if sys.version_info < (3, 13) else 7
++
++ self.assertEqual(expected_count, open.mock_calls.__len__())
+ self.assertEqual(mock.call(self.cache_files[0], 'w'),
+ open.mock_calls[0])
+ self.assertEqual(mock.call(self.cache_files[1], 'w'),
+- open.mock_calls[4])
++ open.mock_calls[open_idx])
+ actual = json.loads(open.mock_calls[2][1][0])
+ self.assertEqual(schema_odict, actual)
+- actual = json.loads(open.mock_calls[6][1][0])
++ actual = json.loads(open.mock_calls[write_idx][1][0])
+ self.assertEqual(schema_odict, actual)
+
+ @mock.patch('builtins.open', new=mock.mock_open(), create=True)
+@@ -809,14 +814,19 @@ class ShellCacheSchemaTest(testutils.TestCase):
+ client = self.shell._get_versioned_client('2', args)
+ self.shell._cache_schemas(args, client, home_dir=self.cache_dir)
+
+- self.assertEqual(12, open.mock_calls.__len__())
++ # see https://github.com/python/cpython/commit/3f7c0810f6158a7ff37be432f8d7f9511427489f
++ expected_count = 12 if sys.version_info < (3, 13) else 15
++ open_idx = 4 if sys.version_info < (3, 13) else 5
++ write_idx = 6 if sys.version_info < (3, 13) else 7
++
++ self.assertEqual(expected_count, open.mock_calls.__len__())
+ self.assertEqual(mock.call(self.cache_files[0], 'w'),
+ open.mock_calls[0])
+ self.assertEqual(mock.call(self.cache_files[1], 'w'),
+- open.mock_calls[4])
++ open.mock_calls[open_idx])
+ actual = json.loads(open.mock_calls[2][1][0])
+ self.assertEqual(schema_odict, actual)
+- actual = json.loads(open.mock_calls[6][1][0])
++ actual = json.loads(open.mock_calls[write_idx][1][0])
+ self.assertEqual(schema_odict, actual)
+
+ @mock.patch('builtins.open', new=mock.mock_open(), create=True)
diff --git a/dev-python/python-glanceclient/files/python-glanceclient-4.6.0-test.patch b/dev-python/python-glanceclient/files/python-glanceclient-4.6.0-test.patch
new file mode 100644
index 000000000000..6adde80670c0
--- /dev/null
+++ b/dev-python/python-glanceclient/files/python-glanceclient-4.6.0-test.patch
@@ -0,0 +1,92 @@
+diff --git a/glanceclient/tests/unit/test_http.py b/glanceclient/tests/unit/test_http.py
+index 31d21f9..e2ba2c0 100644
+--- a/glanceclient/tests/unit/test_http.py
++++ b/glanceclient/tests/unit/test_http.py
+@@ -341,9 +341,9 @@ class TestClient(testtools.TestCase):
+ self.assertEqual(data, json.loads(self.mock.last_request.body))
+
+ def test_http_chunked_response(self):
+- data = "TEST"
++ data = b"TEST"
+ path = '/v1/images/'
+- self.mock.get(self.endpoint + path, body=io.StringIO(data),
++ self.mock.get(self.endpoint + path, body=io.BytesIO(data),
+ headers={"Content-Type": "application/octet-stream"})
+
+ resp, body = self.client.get(path)
+@@ -457,9 +457,9 @@ class TestClient(testtools.TestCase):
+
+ def test_log_request_id_once(self):
+ logger = self.useFixture(fixtures.FakeLogger(level=logging.DEBUG))
+- data = "TEST"
++ data = b"TEST"
+ path = '/v1/images/'
+- self.mock.get(self.endpoint + path, body=io.StringIO(data),
++ self.mock.get(self.endpoint + path, body=io.BytesIO(data),
+ headers={"Content-Type": "application/octet-stream",
+ 'x-openstack-request-id': "1234"})
+
+diff --git a/glanceclient/tests/unit/test_ssl.py b/glanceclient/tests/unit/test_ssl.py
+index f95e777..8b67d4c 100644
+--- a/glanceclient/tests/unit/test_ssl.py
++++ b/glanceclient/tests/unit/test_ssl.py
+@@ -87,8 +87,7 @@ class TestHTTPSVerifyCert(testtools.TestCase):
+ client.images.get('image123')
+ self.fail('No SSL exception has been raised')
+ except exc.CommunicationError as e:
+- if 'certificate verify failed' not in e.message:
+- self.fail('No certificate failure message is received')
++ pass
+
+ @mock.patch('sys.stderr')
+ def test_v1_requests_cert_verification_no_compression(self, __):
+@@ -104,8 +103,7 @@ class TestHTTPSVerifyCert(testtools.TestCase):
+ client.images.get('image123')
+ self.fail('No SSL exception has been raised')
+ except exc.CommunicationError as e:
+- if 'certificate verify failed' not in e.message:
+- self.fail('No certificate failure message is received')
++ pass
+
+ @mock.patch('sys.stderr')
+ def test_v2_requests_cert_verification(self, __):
+@@ -120,8 +118,7 @@ class TestHTTPSVerifyCert(testtools.TestCase):
+ gc.images.get('image123')
+ self.fail('No SSL exception has been raised')
+ except exc.CommunicationError as e:
+- if 'certificate verify failed' not in e.message:
+- self.fail('No certificate failure message is received')
++ pass
+
+ @mock.patch('sys.stderr')
+ def test_v2_requests_cert_verification_no_compression(self, __):
+@@ -137,8 +134,7 @@ class TestHTTPSVerifyCert(testtools.TestCase):
+ gc.images.get('image123')
+ self.fail('No SSL exception has been raised')
+ except exc.CommunicationError as e:
+- if 'certificate verify failed' not in e.message:
+- self.fail('No certificate failure message is received')
++ pass
+
+ @mock.patch('sys.stderr')
+ def test_v2_requests_valid_cert_verification(self, __):
+@@ -154,8 +150,7 @@ class TestHTTPSVerifyCert(testtools.TestCase):
+ cacert=cacert)
+ gc.images.get('image123')
+ except exc.CommunicationError as e:
+- if 'certificate verify failed' in e.message:
+- self.fail('Certificate failure message is received')
++ pass
+
+ @mock.patch('sys.stderr')
+ def test_v2_requests_valid_cert_verification_no_compression(self, __):
+@@ -171,8 +166,7 @@ class TestHTTPSVerifyCert(testtools.TestCase):
+ cacert=cacert)
+ gc.images.get('image123')
+ except exc.CommunicationError as e:
+- if 'certificate verify failed' in e.message:
+- self.fail('Certificate failure message is received')
++ pass
+
+ @mock.patch('sys.stderr')
+ def test_v2_requests_valid_cert_no_key(self, __):
diff --git a/dev-python/python-glanceclient/python-glanceclient-4.4.0-r1.ebuild b/dev-python/python-glanceclient/python-glanceclient-4.4.0-r1.ebuild
deleted file mode 100644
index 232d8a4bb350..000000000000
--- a/dev-python/python-glanceclient/python-glanceclient-4.4.0-r1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A client for the OpenStack Glance API"
-HOMEPAGE="
- https://opendev.org/openstack/python-glanceclient/
- https://github.com/openstack/python-glanceclient/
- https://pypi.org/project/python-glanceclient/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/keystoneauth1-3.6.2[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-17.1.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
- >=dev-python/warlock-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/wrapt-1.7.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- dev-python/ddt[${PYTHON_USEDEP}]
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- dev-python/tempest[${PYTHON_USEDEP}]
- dev-python/testscenarios[${PYTHON_USEDEP}]
- dev-python/testtools[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_test() {
- # functional tests require cloud instance access
- eunittest -b glanceclient/tests/unit
-}
diff --git a/dev-python/python-glanceclient/python-glanceclient-4.6.0.ebuild b/dev-python/python-glanceclient/python-glanceclient-4.6.0.ebuild
new file mode 100644
index 000000000000..b1ca97d43703
--- /dev/null
+++ b/dev-python/python-glanceclient/python-glanceclient-4.6.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
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client for the OpenStack Glance API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-glanceclient/
+ https://github.com/openstack/python-glanceclient/
+ https://pypi.org/project/python-glanceclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/keystoneauth1-3.6.2[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/warlock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/wrapt-1.7.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ddt[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/tempest[${PYTHON_USEDEP}]
+ dev-python/testscenarios[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+PATCHES=(
+ # combined patch for urllib3-2 and py3.12 test failures
+ # https://bugs.launchpad.net/python-glanceclient/+bug/2069684
+ # https://bugs.launchpad.net/python-glanceclient/+bug/2069682
+ "${FILESDIR}/${P}-test.patch"
+
+ # py3.13 added close() to mock_open calls
+ # https://review.opendev.org/c/openstack/python-glanceclient/+/923628
+ "${FILESDIR}/${P}-test-py3.13.patch"
+)
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b glanceclient/tests/unit
+}
diff --git a/dev-python/python-gnupg/Manifest b/dev-python/python-gnupg/Manifest
index 5f04d9c5c2a4..fd18b8116071 100644
--- a/dev-python/python-gnupg/Manifest
+++ b/dev-python/python-gnupg/Manifest
@@ -1,2 +1,2 @@
-DIST python-gnupg-0.5.1.tar.gz 64377 BLAKE2B bc17b2a21b44c2238ad528951ddcc43d4f607cace7bf9656329dfdba360090da5efe90425c0d3ff9e9d3c42655b996a3a5a31a1f90524457fe047ab46b272e27 SHA512 7be68c2f8aad0e0923fd27e53bbbfaea8fe7b3816ff231ab6a06a52efd3a4a594af27355abcf0a453e1d0556ad8c02e960ff7c84cb0ce7d053a1adc91131eea0
-DIST python-gnupg-0.5.1.tar.gz.asc 801 BLAKE2B a3b34af465d412a35f8450b5de287764c2b516de8dc989a0654d136e77123db533792faaef2f1f7a246d4bf02783e23c84cf76cf404def1282edffa2d25ec73a SHA512 ecf1fd69030ec6dff5d0ffbbcaa9112d7b2d5d1badb76257c6cdf674cbc579e8bd9837f8e30943aa23c316d121926c4aa5e2f0b865ed55a6ba661c4b2642fd30
+DIST python-gnupg-0.5.2.tar.gz 64531 BLAKE2B c753004e60c16d9c098074b44f1d0b71e35544b478fbd90bfce0e50ab72b8581229d540ea612327b1fde0bcb247782daf4c39c51efe4de3360faeadc13a22f80 SHA512 9ccfb1dad7895cd08b86f9d220a58d67d83a8acead830364d51d49733d442e7d36e8b68541f3f867a4f11c964293b084a316c1caeb45165af2882b8603742846
+DIST python-gnupg-0.5.2.tar.gz.asc 801 BLAKE2B e778867bf354f6b488a2876bd70928642062200388227cae497cd09c934803a57801a2a306b669aa13aeaeb741f69b15c9597df2d19c04fb9137a1e6f20d36e8 SHA512 ea1d017331dcc88bda9bfa5332894a55e9597aabcecf9abdfd1ae8fa9e23478346d3c82d809fc1e34f112ace091c1d4cfb2bc67f33d30bd34dc0127055bb2065
diff --git a/dev-python/python-gnupg/python-gnupg-0.5.1.ebuild b/dev-python/python-gnupg/python-gnupg-0.5.1.ebuild
deleted file mode 100644
index 7311b3cddd03..000000000000
--- a/dev-python/python-gnupg/python-gnupg-0.5.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/vinaysajip.asc
-inherit distutils-r1 verify-sig
-
-DESCRIPTION="A Python wrapper for GnuPG"
-HOMEPAGE="
- https://docs.red-dove.com/python-gnupg/
- https://github.com/vsajip/python-gnupg/
- https://pypi.org/project/python-gnupg/
-"
-SRC_URI="https://github.com/vsajip/python-gnupg/releases/download/${PV}/${P}.tar.gz"
-SRC_URI+=" verify-sig? ( https://github.com/vsajip/python-gnupg/releases/download/${PV}/${P}.tar.gz.asc )"
-
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv sparc x86"
-LICENSE="BSD"
-SLOT="0"
-
-# Need gnupg[nls] for avoiding decode errors and possible hangs
-# w/ e.g. sec-keys/openpgp-keys-gentoo-developers but other pkgs too.
-RDEPEND="app-crypt/gnupg[nls]"
-DEPEND="${RDEPEND}"
-BDEPEND="verify-sig? ( sec-keys/openpgp-keys-vinaysajip )"
-
-distutils_enable_tests unittest
-
-python_test() {
- # NO_EXTERNAL_TESTS must be enabled,
- # to disable all tests, which need internet access.
- NO_EXTERNAL_TESTS=1 eunittest
-}
diff --git a/dev-python/python-gnupg/python-gnupg-0.5.2.ebuild b/dev-python/python-gnupg/python-gnupg-0.5.2.ebuild
new file mode 100644
index 000000000000..a73b97dcdca7
--- /dev/null
+++ b/dev-python/python-gnupg/python-gnupg-0.5.2.ebuild
@@ -0,0 +1,48 @@
+# 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..13} )
+
+inherit distutils-r1 verify-sig
+
+DESCRIPTION="A Python wrapper for GnuPG"
+HOMEPAGE="
+ https://docs.red-dove.com/python-gnupg/
+ https://github.com/vsajip/python-gnupg/
+ https://pypi.org/project/python-gnupg/
+"
+SRC_URI="
+ https://github.com/vsajip/python-gnupg/releases/download/${PV}/${P}.tar.gz
+ verify-sig? (
+ https://github.com/vsajip/python-gnupg/releases/download/${PV}/${P}.tar.gz.asc
+ )
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv sparc x86"
+
+# Need gnupg[nls] for avoiding decode errors and possible hangs
+# w/ e.g. sec-keys/openpgp-keys-gentoo-developers but other pkgs too.
+DEPEND="
+ app-crypt/gnupg[nls]
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ verify-sig? ( sec-keys/openpgp-keys-vinaysajip )
+"
+
+distutils_enable_tests unittest
+
+VERIFY_SIG_OPENPGP_KEY_PATH=/usr/share/openpgp-keys/vinaysajip.asc
+
+python_test() {
+ # NO_EXTERNAL_TESTS must be enabled,
+ # to disable all tests, which need internet access.
+ NO_EXTERNAL_TESTS=1 eunittest
+}
diff --git a/dev-python/python-ironicclient/Manifest b/dev-python/python-ironicclient/Manifest
index d63c49e4d2fa..1b3278f47937 100644
--- a/dev-python/python-ironicclient/Manifest
+++ b/dev-python/python-ironicclient/Manifest
@@ -1 +1,2 @@
-DIST python-ironicclient-5.4.0.tar.gz 228187 BLAKE2B 1ce5f17fbbc752d0b8589abbc1207b8cde8c8d11a9ea6394b726313e3c5bdaf415536e606fb052cb130a0bd264dbd125048ceab5368a1c64915d3e52473017c0 SHA512 dccbbdeddd3f0cd087b6589e120de375e7c8bb33a67ac8a51b1f62e7a66307b19c508cc1a568346136129bb52cfdd0af00d70af8b0d50b2bd634d89a75db0378
+DIST python-ironicclient-5.6.0.tar.gz 229569 BLAKE2B 2db608463479fc5bb7061562d8617d96244e80276790ae2829373d9ba02412027658c33c5f22d6fd921bf84599584c588c462b4480d294e288dc063f7c73e274 SHA512 133de151e5a884c0c9840b72236f5d99e5e197889ed2e80545174d8754b09e65c370c6a97c367ed4c4ca76f593e665e6481cd45c266fdf3ba7fc348307539907
+DIST python-ironicclient-5.7.0.tar.gz 230550 BLAKE2B a4571693ce95608d7403113e56df62961eb040ee924ff8d45ebacf41a924cb489157a48043d768e4e5691477bd2dbf24a658a59703e84c61871be5f4d9700dbf SHA512 f819a2be1301da821eb340da789dd188dea33fb48b2ea2f3ec740eb04b66cf121fc1f72f592e3f17cd38be30b9afedf4209dbe725eaa772938a9977a83e84506
diff --git a/dev-python/python-ironicclient/python-ironicclient-5.4.0.ebuild b/dev-python/python-ironicclient/python-ironicclient-5.4.0.ebuild
deleted file mode 100644
index b21b2c7b54e1..000000000000
--- a/dev-python/python-ironicclient/python-ironicclient-5.4.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings for the Ironic API"
-HOMEPAGE="
- https://opendev.org/openstack/python-ironicclient/
- https://github.com/openstack/python-ironicclient/
- https://pypi.org/project/python-ironicclient/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-
-RDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/appdirs-1.3.0[${PYTHON_USEDEP}]
- >dev-python/cliff-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/dogpile-cache-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/keystoneauth1-3.11.0[${PYTHON_USEDEP}]
- >=dev-python/openstacksdk-0.18.0[${PYTHON_USEDEP}]
- >=dev-python/osc-lib-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.13.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
- >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
- >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
- >=dev-python/python-openstackclient-3.12.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/python-ironicclient/python-ironicclient-5.6.0.ebuild b/dev-python/python-ironicclient/python-ironicclient-5.6.0.ebuild
new file mode 100644
index 000000000000..cf8010e79c9b
--- /dev/null
+++ b/dev-python/python-ironicclient/python-ironicclient-5.6.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for the Ironic API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-ironicclient/
+ https://github.com/openstack/python-ironicclient/
+ https://pypi.org/project/python-ironicclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.11.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.18.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/python-openstackclient-3.12.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/python-ironicclient/python-ironicclient-5.7.0.ebuild b/dev-python/python-ironicclient/python-ironicclient-5.7.0.ebuild
new file mode 100644
index 000000000000..036a407a0b35
--- /dev/null
+++ b/dev-python/python-ironicclient/python-ironicclient-5.7.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pbr
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for the Ironic API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-ironicclient/
+ https://github.com/openstack/python-ironicclient/
+ https://pypi.org/project/python-ironicclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/dogpile-cache-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.11.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.18.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.13.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ >=dev-python/python-openstackclient-3.12.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/python-jose/files/python-jose-3.3.0-test.patch b/dev-python/python-jose/files/python-jose-3.3.0-test.patch
new file mode 100644
index 000000000000..7f87069853d7
--- /dev/null
+++ b/dev-python/python-jose/files/python-jose-3.3.0-test.patch
@@ -0,0 +1,119 @@
+From 19677540e74eba4392be53ae434b561cf74ad9a6 Mon Sep 17 00:00:00 2001
+From: Todd Wildey <twwildey@amazon.com>
+Date: Thu, 30 May 2024 16:02:09 -0700
+Subject: [PATCH] Adding `get_pem_for_key` and `normalize_pem` methods to
+ normalize PEM formatting of keys in `tests/algorithms/test_EC.py` and
+ updating `tests/algorithms/test_EC_compat.py` to use these methods
+
+Test failures were occurring due to differences of line lengths generated by the `cryptography` vs `ecdsa` PIP libraries for PEM formatting of cryptographic keys. This method removes newlines from the bodies of PEM-formated keys so that test comparisons will not fail on differentiated line lengths between PEM formattings.
+---
+ tests/algorithms/test_EC.py | 28 +++++++++++++++++++++++++++-
+ tests/algorithms/test_EC_compat.py | 14 +++++++-------
+ 2 files changed, 34 insertions(+), 8 deletions(-)
+
+diff --git a/tests/algorithms/test_EC.py b/tests/algorithms/test_EC.py
+index 6c167d29..b9028a77 100644
+--- a/tests/algorithms/test_EC.py
++++ b/tests/algorithms/test_EC.py
+@@ -1,4 +1,5 @@
+ import json
++import re
+
+ from jose.backends import ECKey
+ from jose.constants import ALGORITHMS
+@@ -48,6 +49,31 @@
+ b"\xfeMO\x04\xb2[\x86A\xbd\xc6hu\x953X\x1e"
+ )
+
++# Define the regex pattern to capture the header, body, and footer of the PEM file
++PEM_REGEX = re.compile(r"(-----BEGIN [A-Z ]+-----)(.*?)(-----END [A-Z ]+-----)", re.DOTALL)
++WHITE_SPACE_REGEX = re.compile(r"\s+")
++
++
++def get_pem_for_key(key):
++ return key.to_pem().strip().decode("utf-8")
++
++
++def normalize_pem(key_pem_str):
++ # Search for the PEM sections
++ pem_match = PEM_REGEX.search(key_pem_str)
++ if not pem_match:
++ raise ValueError("The provided string does not contain a valid PEM formatted data.")
++
++ header = pem_match.group(1)
++ body = pem_match.group(2)
++ footer = pem_match.group(3)
++
++ # Remove all newlines and spaces from the body
++ clean_body = WHITE_SPACE_REGEX.sub("", body)
++
++ # Reassemble the PEM string
++ return f"{header}\n{clean_body}\n{footer}"
++
+
+ def _backend_exception_types():
+ """Build the backend exception types based on available backends."""
+@@ -104,7 +130,7 @@ def test_key_from_pem(self):
+ def test_to_pem(self):
+ key = ECKey(private_key, ALGORITHMS.ES256)
+ assert not key.is_public()
+- assert key.to_pem().strip() == private_key.strip().encode("utf-8")
++ assert normalize_pem(get_pem_for_key(key)) == normalize_pem(private_key.strip())
+
+ public_pem = key.public_key().to_pem()
+ assert ECKey(public_pem, ALGORITHMS.ES256).is_public()
+diff --git a/tests/algorithms/test_EC_compat.py b/tests/algorithms/test_EC_compat.py
+index 05d033cc..1bb7373a 100644
+--- a/tests/algorithms/test_EC_compat.py
++++ b/tests/algorithms/test_EC_compat.py
+@@ -7,7 +7,7 @@
+ ECDSAECKey = CryptographyECKey = None
+ from jose.constants import ALGORITHMS
+
+-from .test_EC import private_key
++from .test_EC import get_pem_for_key, normalize_pem, private_key
+
+
+ @pytest.mark.backend_compatibility
+@@ -37,7 +37,7 @@ def test_public_key_to_pem(self, BackendFrom, BackendTo):
+ key = BackendFrom(private_key, ALGORITHMS.ES256)
+ key2 = BackendTo(private_key, ALGORITHMS.ES256)
+
+- assert key.public_key().to_pem().strip() == key2.public_key().to_pem().strip()
++ assert normalize_pem(get_pem_for_key(key.public_key())) == normalize_pem(get_pem_for_key(key2.public_key()))
+
+ @pytest.mark.parametrize("BackendFrom", [ECDSAECKey, CryptographyECKey])
+ @pytest.mark.parametrize("BackendTo", [ECDSAECKey, CryptographyECKey])
+@@ -45,7 +45,7 @@ def test_private_key_to_pem(self, BackendFrom, BackendTo):
+ key = BackendFrom(private_key, ALGORITHMS.ES256)
+ key2 = BackendTo(private_key, ALGORITHMS.ES256)
+
+- assert key.to_pem().strip() == key2.to_pem().strip()
++ assert normalize_pem(get_pem_for_key(key)) == normalize_pem(get_pem_for_key(key2))
+
+ @pytest.mark.parametrize("BackendFrom", [ECDSAECKey, CryptographyECKey])
+ @pytest.mark.parametrize("BackendTo", [ECDSAECKey, CryptographyECKey])
+@@ -53,19 +53,19 @@ def test_public_key_load_cycle(self, BackendFrom, BackendTo):
+ key = BackendFrom(private_key, ALGORITHMS.ES256)
+ pubkey = key.public_key()
+
+- pub_pem_source = pubkey.to_pem().strip()
++ pub_pem_source = normalize_pem(get_pem_for_key(pubkey))
+
+ pub_target = BackendTo(pub_pem_source, ALGORITHMS.ES256)
+
+- assert pub_pem_source == pub_target.to_pem().strip()
++ assert pub_pem_source == normalize_pem(get_pem_for_key(pub_target))
+
+ @pytest.mark.parametrize("BackendFrom", [ECDSAECKey, CryptographyECKey])
+ @pytest.mark.parametrize("BackendTo", [ECDSAECKey, CryptographyECKey])
+ def test_private_key_load_cycle(self, BackendFrom, BackendTo):
+ key = BackendFrom(private_key, ALGORITHMS.ES256)
+
+- pem_source = key.to_pem().strip()
++ pem_source = normalize_pem(get_pem_for_key(key))
+
+ target = BackendTo(pem_source, ALGORITHMS.ES256)
+
+- assert pem_source == target.to_pem().strip()
++ assert pem_source == normalize_pem(get_pem_for_key(target))
diff --git a/dev-python/python-jose/python-jose-3.3.0-r1.ebuild b/dev-python/python-jose/python-jose-3.3.0-r1.ebuild
index e64e737b8e73..ecfd9c2c9724 100644
--- a/dev-python/python-jose/python-jose-3.3.0-r1.ebuild
+++ b/dev-python/python-jose/python-jose-3.3.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -37,8 +37,12 @@ distutils_enable_tests pytest
distutils_enable_sphinx docs
python_prepare_all() {
- sed -e '/pytest-runner/d' \
- -i setup.py || die
- sed -e '/addopts/d' -i setup.cfg || die
+ local PATCHES=(
+ # https://github.com/mpdavis/python-jose/commit/19677540e74eba4392be53ae434b561cf74ad9a6
+ "${FILESDIR}/${P}-test.patch"
+ )
+
distutils-r1_python_prepare_all
+ sed -e '/pytest-runner/d' -i setup.py || die
+ sed -e '/addopts/d' -i setup.cfg || die
}
diff --git a/dev-python/python-json-logger/files/python-json-logger-2.0.7-py312.patch b/dev-python/python-json-logger/files/python-json-logger-2.0.7-py312.patch
new file mode 100644
index 000000000000..1cab3b851ff6
--- /dev/null
+++ b/dev-python/python-json-logger/files/python-json-logger-2.0.7-py312.patch
@@ -0,0 +1,38 @@
+From 0ce621a8dd9dfa708a920c0ad90df8f7593b6110 Mon Sep 17 00:00:00 2001
+From: cache-miss <cache-miss>
+Date: Sat, 9 Mar 2024 18:27:24 +0800
+Subject: [PATCH] add taskName to reserved_attrs which was added in python 3.12
+
+Closes: https://github.com/madzak/python-json-logger/pull/188
+---
+ src/pythonjsonlogger/jsonlogger.py | 7 +++++++
+ 1 file changed, 7 insertions(+)
+
+diff --git a/src/pythonjsonlogger/jsonlogger.py b/src/pythonjsonlogger/jsonlogger.py
+index e250c7e..a911478 100644
+--- a/src/pythonjsonlogger/jsonlogger.py
++++ b/src/pythonjsonlogger/jsonlogger.py
+@@ -6,6 +6,7 @@ import logging
+ import json
+ import re
+ from datetime import date, datetime, time, timezone
++import sys
+ import traceback
+ import importlib
+
+@@ -23,6 +24,12 @@ RESERVED_ATTRS: Tuple[str, ...] = (
+ 'msecs', 'message', 'msg', 'name', 'pathname', 'process',
+ 'processName', 'relativeCreated', 'stack_info', 'thread', 'threadName')
+
++if sys.version_info >= (3, 12):
++ RESERVED_ATTRS = (
++ *RESERVED_ATTRS,
++ "taskName",
++ )
++
+
+
+ def merge_record_extra(
+--
+2.45.2
+
diff --git a/dev-python/python-json-logger/files/python-json-logger-2.0.7-py313.patch b/dev-python/python-json-logger/files/python-json-logger-2.0.7-py313.patch
new file mode 100644
index 000000000000..8421617783da
--- /dev/null
+++ b/dev-python/python-json-logger/files/python-json-logger-2.0.7-py313.patch
@@ -0,0 +1,25 @@
+diff --git a/tests/test_jsonlogger.py b/tests/test_jsonlogger.py
+index af369d2..068e760 100644
+--- a/tests/test_jsonlogger.py
++++ b/tests/test_jsonlogger.py
+@@ -176,13 +176,17 @@ def test_json_default_encoder(self):
+ "1900-01-01T00:00:00")
+
+ @unittest.mock.patch('time.time', return_value=1500000000.0)
+- def test_json_default_encoder_with_timestamp(self, time_mock):
++ @unittest.mock.patch('time.time_ns', return_value=1500000000000000000)
++ def test_json_default_encoder_with_timestamp(self, time_ns_mock, time_mock):
+ fr = jsonlogger.JsonFormatter(timestamp=True)
+ self.log_handler.setFormatter(fr)
+
+ self.log.info("Hello")
+-
+- self.assertTrue(time_mock.called)
++
++ if sys.version_info < (3, 13):
++ self.assertTrue(time_mock.called)
++ else:
++ self.assertTrue(time_ns_mock.called)
+ log_json = json.loads(self.buffer.getvalue())
+ self.assertEqual(log_json.get("timestamp"), "2017-07-14T02:40:00+00:00")
+
diff --git a/dev-python/python-json-logger/python-json-logger-2.0.7-r1.ebuild b/dev-python/python-json-logger/python-json-logger-2.0.7-r1.ebuild
new file mode 100644
index 000000000000..f066b81d5d99
--- /dev/null
+++ b/dev-python/python-json-logger/python-json-logger-2.0.7-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Standard python logging to output log data as json objects"
+HOMEPAGE="
+ https://github.com/madzak/python-json-logger/
+ https://pypi.org/project/python-json-logger/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/madzak/python-json-logger/pull/188
+ "${FILESDIR}/${P}-py312.patch"
+ # https://github.com/madzak/python-json-logger/pull/192
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/python-keystoneclient/Manifest b/dev-python/python-keystoneclient/Manifest
index 0bc607cb7893..beb90557e4f3 100644
--- a/dev-python/python-keystoneclient/Manifest
+++ b/dev-python/python-keystoneclient/Manifest
@@ -1 +1 @@
-DIST python-keystoneclient-5.2.0.tar.gz 324652 BLAKE2B 2279e4d094faefc17b70211dc65083a4b726dd178d655d2efb55c9ae6f4d0837051d563e96b7ecca553c2f855de7affc20e11dcff615fdb2fb755fdd6e508f3c SHA512 2cb7137d88b090e3054448b3134084964597b77f013e75b3665bf80438b6f900630407b8dbd992ae39a877b2546bb61e6ffa665690cc7ed79aa453ee459c909e
+DIST python-keystoneclient-5.4.0.tar.gz 324151 BLAKE2B a086432c7fe81e6b39661f2e582e5c81efde88f04ba9e8e4fca17d4d217cb67a9a7cc38087e41a2b47e5b4540245a2586436c31e9596a2c520ad3e3219ff9b0f SHA512 496c321cc68efc3f7eaacfcef39ce3a4e669ab816245e6d4afb8e06a97490eafa6f16135a2c957bfdaecf9fe12577f0ecb6a97185844d376e41d22beee190475
diff --git a/dev-python/python-keystoneclient/python-keystoneclient-5.2.0.ebuild b/dev-python/python-keystoneclient/python-keystoneclient-5.2.0.ebuild
deleted file mode 100644
index ed65981a784e..000000000000
--- a/dev-python/python-keystoneclient/python-keystoneclient-5.2.0.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1,
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Client Library for OpenStack Identity"
-HOMEPAGE="
- https://opendev.org/openstack/python-keystoneclient/
- https://github.com/openstack/python-keystoneclient/
- https://pypi.org/project/python-keystoneclient/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/keystoneauth1-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
- >dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
- >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.5.0[${PYTHON_USEDEP}]
- >=dev-python/oauthlib-0.6.2[${PYTHON_USEDEP}]
- >=dev-python/os-client-config-1.28.0
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
- >=dev-python/testresources-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_test() {
- # functional tests require cloud instance access
- eunittest keystoneclient/tests/unit
-}
diff --git a/dev-python/python-keystoneclient/python-keystoneclient-5.4.0.ebuild b/dev-python/python-keystoneclient/python-keystoneclient-5.4.0.ebuild
new file mode 100644
index 000000000000..0fccc15d7ace
--- /dev/null
+++ b/dev-python/python-keystoneclient/python-keystoneclient-5.4.0.ebuild
@@ -0,0 +1,56 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Client Library for OpenStack Identity"
+HOMEPAGE="
+ https://opendev.org/openstack/python-keystoneclient/
+ https://github.com/openstack/python-keystoneclient/
+ https://pypi.org/project/python-keystoneclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/six-1.10.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/oauthlib-0.6.2[${PYTHON_USEDEP}]
+ >=dev-python/os-client-config-1.28.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/testresources-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/testscenarios-0.4[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest keystoneclient/tests/unit
+}
diff --git a/dev-python/python-ldap/Manifest b/dev-python/python-ldap/Manifest
index d451602e0a26..b46fb1d0095b 100644
--- a/dev-python/python-ldap/Manifest
+++ b/dev-python/python-ldap/Manifest
@@ -1,2 +1 @@
-DIST python-ldap-3.4.3.gh.tar.gz 378215 BLAKE2B d5c165e668ed8bf1415e06e28e306bb757dea71ee7cc1ad380c35a5d911767fd08e249577aef0e5e888c1e9129072f93f499560e8b70e6848fbad4d7f9bb95a6 SHA512 a52403b7d9fc4d114b995640ff34f5aefd313d36cea5ff6de73ea9f46036694ebd43cd9d11382daf3be9da887f62c6675b49d684c05a7d5f0c93d446b16d1981
DIST python-ldap-3.4.4.gh.tar.gz 378862 BLAKE2B 05a0f9696b888f56ea51f4cdfc21e3c67b10aec8d1d300c1f6b26d23285d81e7a126e0e56e4a8343a5c1f35c919ef340287dc9109d26ed146e1d64a0831b722b SHA512 de87bc6f64540969d1a0ec003f2518c4e8a1899798085371ed017209702fe0c580eea235def8208a5aea42541011b2515c982924f6a75558a84b3f01785254ae
diff --git a/dev-python/python-ldap/python-ldap-3.4.3.ebuild b/dev-python/python-ldap/python-ldap-3.4.3.ebuild
deleted file mode 100644
index ff3693c2dce0..000000000000
--- a/dev-python/python-ldap/python-ldap-3.4.3.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Various LDAP-related Python modules"
-HOMEPAGE="
- https://www.python-ldap.org/en/latest/
- https://pypi.org/project/python-ldap/
- https://github.com/python-ldap/python-ldap/
-"
-SRC_URI="
- https://github.com/python-ldap/python-ldap/archive/${P}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S=${WORKDIR}/${PN}-${P}
-
-LICENSE="MIT PSF-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv sparc x86"
-IUSE="examples sasl ssl"
-
-RDEPEND="
- >=dev-python/pyasn1-0.3.7[${PYTHON_USEDEP}]
- >=dev-python/pyasn1-modules-0.1.5[${PYTHON_USEDEP}]
- net-nds/openldap:=[sasl?,ssl?]
-"
-# We do not link against cyrus-sasl but we use some
-# of its headers during the build.
-DEPEND="
- net-nds/openldap:=[sasl?,ssl?]
- sasl? ( >=dev-libs/cyrus-sasl-2.1 )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx Doc
-
-python_prepare_all() {
- if ! use sasl; then
- sed -i 's/HAVE_SASL//g' setup.cfg || die
- fi
- if ! use ssl; then
- sed -i 's/HAVE_TLS//g' setup.cfg || die
- fi
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- # Run all tests which don't require slapd
- local EPYTEST_IGNORE=(
- t_bind.py
- t_cext.py
- t_edit.py
- t_ldapobject.py
- t_ldap_options.py
- t_ldap_sasl.py
- t_ldap_schema_subentry.py
- t_ldap_syncrepl.py
- t_slapdobject.py
- )
- pushd Tests >/dev/null || die
- epytest
- popd > /dev/null || die
-}
-
-python_install_all() {
- if use examples; then
- docinto examples
- dodoc -r Demo/.
- docompress -x /usr/share/doc/${PF}/examples
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/python-ldap/python-ldap-3.4.4.ebuild b/dev-python/python-ldap/python-ldap-3.4.4.ebuild
index b6b0d8598aa1..072891fecc1e 100644
--- a/dev-python/python-ldap/python-ldap-3.4.4.ebuild
+++ b/dev-python/python-ldap/python-ldap-3.4.4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -23,7 +23,7 @@ S=${WORKDIR}/${PN}-${P}
LICENSE="MIT PSF-2"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ~ppc ppc64 ~riscv sparc x86"
IUSE="examples sasl ssl"
RDEPEND="
diff --git a/dev-python/python-linux-procfs/Manifest b/dev-python/python-linux-procfs/Manifest
index c7910a668031..36fdf396a140 100644
--- a/dev-python/python-linux-procfs/Manifest
+++ b/dev-python/python-linux-procfs/Manifest
@@ -1 +1 @@
-DIST python-linux-procfs-0.7.1.tar.xz 19104 BLAKE2B e6e495ecce77c1ea4c1580c2534e87f769a0057702648ee75bf89f5cbaa944012ba17e69c231977889b9b18d8e9b8d67261361b499ef8a567bed978a207d61ec SHA512 532613cd0feab1317131a3ec30e0730ed48415de333f1430573b7bf0eb5525222dc92db38dab6ff76c27ff10ac0a381975c329441b9ca6011e79bd637482056d
+DIST python-linux-procfs-0.7.3.tar.xz 11412 BLAKE2B 66c22261a3ab9fff68949e2e1e54a07ac5bc365d12e52b8149a02105e2ace85e22be38ec84fb1c97b3d4fec6392998d98252e11454a72135eacae770efa171ae SHA512 fbb4bd5b22ccafd6e8fed853f9bc175f9c7b5fc6795b9641a5e39404a96c1cdfdad7856fa89b3dc91ee9f13e3c76a23c79e3729fdfd7a10df1e46fdbb25aa631
diff --git a/dev-python/python-linux-procfs/metadata.xml b/dev-python/python-linux-procfs/metadata.xml
index 85e4ed814fa2..efd7c8c21836 100644
--- a/dev-python/python-linux-procfs/metadata.xml
+++ b/dev-python/python-linux-procfs/metadata.xml
@@ -1,5 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
-<!-- maintainer-needed -->
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
</pkgmetadata>
diff --git a/dev-python/python-linux-procfs/python-linux-procfs-0.7.1.ebuild b/dev-python/python-linux-procfs/python-linux-procfs-0.7.1.ebuild
deleted file mode 100644
index 89622b4136e5..000000000000
--- a/dev-python/python-linux-procfs/python-linux-procfs-0.7.1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python classes to extract information from the Linux kernel /proc files"
-HOMEPAGE="
- https://git.kernel.org/pub/scm/libs/python/python-linux-procfs/
- https://kernel.googlesource.com/pub/scm/libs/python/python-linux-procfs/python-linux-procfs/
-"
-SRC_URI="https://cdn.kernel.org/pub/software/libs/python/${PN}/${P}.tar.xz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="dev-python/six[${PYTHON_USEDEP}]"
-
-python_test() {
- ${EPYTHON} ./bitmasklist_test.py || die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/python-linux-procfs/python-linux-procfs-0.7.3.ebuild b/dev-python/python-linux-procfs/python-linux-procfs-0.7.3.ebuild
new file mode 100644
index 000000000000..9c0709b18526
--- /dev/null
+++ b/dev-python/python-linux-procfs/python-linux-procfs-0.7.3.ebuild
@@ -0,0 +1,27 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python classes to extract information from the Linux kernel /proc files"
+HOMEPAGE="
+ https://git.kernel.org/pub/scm/libs/python/python-linux-procfs/python-linux-procfs.git/
+"
+SRC_URI="https://cdn.kernel.org/pub/software/libs/python/${PN}/${P}.tar.xz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ dev-python/six[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ "${EPYTHON}" ./bitmasklist_test.py || die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/python-lsp-black/Manifest b/dev-python/python-lsp-black/Manifest
index 3407923c9a61..36f007d7773e 100644
--- a/dev-python/python-lsp-black/Manifest
+++ b/dev-python/python-lsp-black/Manifest
@@ -1 +1 @@
-DIST python-lsp-black-1.3.0.gh.tar.gz 9781 BLAKE2B d079d7a95dff682b86df23825796d2fa6e89d1aa3e66da1452e576fd1e96a4c298da181f53840fe5fcdcbbc8a0ca55aa53cbc4885a0178b6402365ef41a239be SHA512 9e3d081ac022854626c120128949ab5e58c44f9e76ddd566e3b80a697fbc02a96f62994f43195b02f899e770768d55d223984267133eedd6f642b70560d46c09
+DIST python-lsp-black-2.0.0.gh.tar.gz 10399 BLAKE2B e38bf7ae736b3b71c1e17dd34b7e98b9bcbdbc7a12e2c1596ccdbe13b8fac8caef8a1f043aa50e1688b9159928885b8b116b709b4d2574b8ddf77172df756862 SHA512 e374ea34ac53e0d78ba198814210d9d7293e18b8fc7b22bb288621a994c8c9d492cc9c99c40cd1574b618add518671430e1e88f32e93e4c95507373932c08dc0
diff --git a/dev-python/python-lsp-black/python-lsp-black-1.3.0.ebuild b/dev-python/python-lsp-black/python-lsp-black-1.3.0.ebuild
deleted file mode 100644
index 6ffcca7672f7..000000000000
--- a/dev-python/python-lsp-black/python-lsp-black-1.3.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Black plugin for the Python LSP Server"
-HOMEPAGE="
- https://github.com/python-lsp/python-lsp-black/
- https://pypi.org/project/python-lsp-black/
-"
-SRC_URI="
- https://github.com/python-lsp/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- >=dev-python/python-lsp-server-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/black-22.3.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/python-lsp-black/python-lsp-black-2.0.0.ebuild b/dev-python/python-lsp-black/python-lsp-black-2.0.0.ebuild
new file mode 100644
index 000000000000..ea5f6f6f18da
--- /dev/null
+++ b/dev-python/python-lsp-black/python-lsp-black-2.0.0.ebuild
@@ -0,0 +1,44 @@
+# 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
+
+DESCRIPTION="Black plugin for the Python LSP Server"
+HOMEPAGE="
+ https://github.com/python-lsp/python-lsp-black/
+ https://pypi.org/project/python-lsp-black/
+"
+SRC_URI="
+ https://github.com/python-lsp/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ >=dev-python/python-lsp-server-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/black-23.11.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ !!<dev-python/python-lsp-black-2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/python-lsp-jsonrpc/python-lsp-jsonrpc-1.1.2.ebuild b/dev-python/python-lsp-jsonrpc/python-lsp-jsonrpc-1.1.2.ebuild
index ca39dc201529..3ad82463713b 100644
--- a/dev-python/python-lsp-jsonrpc/python-lsp-jsonrpc-1.1.2.ebuild
+++ b/dev-python/python-lsp-jsonrpc/python-lsp-jsonrpc-1.1.2.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/python-lsp-server/Manifest b/dev-python/python-lsp-server/Manifest
index 049f8a30befa..40b8902654af 100644
--- a/dev-python/python-lsp-server/Manifest
+++ b/dev-python/python-lsp-server/Manifest
@@ -1 +1 @@
-DIST python-lsp-server-1.9.0.tar.gz 111176 BLAKE2B 8143e7e294e820114d2752ef2a3afe3d0494aab7a3bbc785cf543585531bdb5e7df681f446f2db7d2c05271d06fad94e6850fa0eef244c6ed5d36efeb7606597 SHA512 052ee7b9cf042afc64df34592b4daa2fb4113d78fe538a72db0426618f13ce6a453173a343b62fefeefb47ffa5a026ae0e7d029d65a5a1b235f52dd4b44c6067
+DIST python-lsp-server-1.11.0.tar.gz 113347 BLAKE2B d8417fb63447c5130d88dd6583ef0dc0c724076b22006a59da914a10440e67a4fc2362fd677a45b257fcca804c965920d54ff47568ad607e49f05d13d6d3e1ee SHA512 bd96850b822dc3c2e97d5ee38f25c9f7731dc68b31fedcc2d3e0ff373bc3ad8a989f1a4b85527477bbbc875e853d5513d8583bc3cdc22a3c0545716e68382093
diff --git a/dev-python/python-lsp-server/python-lsp-server-1.11.0.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.11.0.ebuild
new file mode 100644
index 000000000000..5b8d17ae376c
--- /dev/null
+++ b/dev-python/python-lsp-server/python-lsp-server-1.11.0.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python Language Server for the Language Server Protocol"
+HOMEPAGE="
+ https://github.com/python-lsp/python-lsp-server/
+ https://pypi.org/project/python-lsp-server/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+IUSE="all-plugins"
+
+RDEPEND="
+ dev-python/docstring-to-markdown[${PYTHON_USEDEP}]
+ >=dev-python/jedi-0.17.2[${PYTHON_USEDEP}]
+ >=dev-python/python-lsp-jsonrpc-1.1.0[${PYTHON_USEDEP}]
+ dev-python/pluggy[${PYTHON_USEDEP}]
+ all-plugins? (
+ >=dev-python/autopep8-2.0.4[${PYTHON_USEDEP}]
+ >=dev-python/flake8-7[${PYTHON_USEDEP}]
+ >=dev-python/mccabe-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/pycodestyle-2.11.0[${PYTHON_USEDEP}]
+ >=dev-python/pyflakes-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pylint-3.1[${PYTHON_USEDEP}]
+ >=dev-python/whatthepatch-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/yapf-0.33.0[${PYTHON_USEDEP}]
+ >=dev-python/rope-1.11.0[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ test? (
+ >=dev-python/autopep8-1.6.0[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ >=dev-python/flake8-5.0.0[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ >=dev-python/mccabe-0.7.0[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/pycodestyle-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/pyflakes-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pylint-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/whatthepatch-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/yapf-0.33.0[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/QtPy[gui,testlib,${PYTHON_USEDEP}]
+ >=dev-python/rope-1.2.0[${PYTHON_USEDEP}]
+ )
+"
+
+# Note: xdist breaks some tests
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # remove pytest-cov dep
+ sed -i -e '/addopts =/d' pyproject.toml || die
+ # unpin all the deps
+ sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # broken by presence of pathlib2
+ 'test/plugins/test_autoimport.py'
+ )
+ local EPYTEST_IGNORE=(
+ # pydocstyle is archived upstream and broken with py3.12
+ test/plugins/test_pydocstyle_lint.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "Automatically format Python code to conform to the PEP 8 style guide" dev-python/autopep8
+ optfeature "A wrapper around PyFlakes, pep8 & mccabe" dev-python/flake8
+ optfeature "flake8 plugin: McCabe complexity checker" dev-python/mccabe
+ optfeature "Python style guide checker (fka pep8)" dev-python/pycodestyle
+ optfeature "Python docstring style checker" dev-python/pydocstyle
+ optfeature "Passive checker for Python programs" dev-python/pyflakes
+ optfeature "Python code static checker" dev-python/pylint
+ optfeature "Python refactoring library" dev-python/rope
+ optfeature "A formatter for Python files" dev-python/yapf
+}
diff --git a/dev-python/python-lsp-server/python-lsp-server-1.9.0.ebuild b/dev-python/python-lsp-server/python-lsp-server-1.9.0.ebuild
deleted file mode 100644
index 1bc60931eda6..000000000000
--- a/dev-python/python-lsp-server/python-lsp-server-1.9.0.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Python Language Server for the Language Server Protocol"
-HOMEPAGE="
- https://github.com/python-lsp/python-lsp-server/
- https://pypi.org/project/python-lsp-server/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 x86"
-IUSE="all-plugins"
-
-RDEPEND="
- dev-python/docstring-to-markdown[${PYTHON_USEDEP}]
- >=dev-python/jedi-0.17.2[${PYTHON_USEDEP}]
- >=dev-python/python-lsp-jsonrpc-1.1.0[${PYTHON_USEDEP}]
- dev-python/pluggy[${PYTHON_USEDEP}]
- all-plugins? (
- >=dev-python/autopep8-2.0.4[${PYTHON_USEDEP}]
- >=dev-python/flake8-5.0.0[${PYTHON_USEDEP}]
- >=dev-python/mccabe-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/pylint-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/whatthepatch-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/yapf-0.33.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/rope-1.2.0[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-BDEPEND="
- test? (
- >=dev-python/autopep8-1.6.0[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- >=dev-python/flake8-5.0.0[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- >=dev-python/mccabe-0.7.0[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- >=dev-python/pycodestyle-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/pyflakes-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/pylint-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/whatthepatch-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/yapf-0.33.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/QtPy[gui,testlib,${PYTHON_USEDEP}]
- >=dev-python/rope-1.2.0[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-# Note: xdist breaks some tests
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # remove pytest-cov dep
- sed -i -e '/addopts =/d' pyproject.toml || die
- # unpin all the deps
- sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken by presence of pathlib2
- 'test/plugins/test_autoimport.py'
- )
- local EPYTEST_IGNORE=(
- # pydocstyle is archived upstream and broken with py3.12
- test/plugins/test_pydocstyle_lint.py
- )
-
- if [[ ${EPYTHON} == pypy3 ]] ; then
- # Not all plugins are available for pypy3
- EPYTEST_IGNORE+=(
- test/plugins/test_autoimport.py
- test/plugins/test_completion.py
- test/plugins/test_rope_rename.py
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-pkg_postinst() {
- optfeature "Automatically format Python code to conform to the PEP 8 style guide" dev-python/autopep8
- optfeature "A wrapper around PyFlakes, pep8 & mccabe" dev-python/flake8
- optfeature "flake8 plugin: McCabe complexity checker" dev-python/mccabe
- optfeature "Python style guide checker (fka pep8)" dev-python/pycodestyle
- optfeature "Python docstring style checker" dev-python/pydocstyle
- optfeature "Passive checker for Python programs" dev-python/pyflakes
- optfeature "Python code static checker" dev-python/pylint
- optfeature "Python refactoring library" dev-python/rope
- optfeature "A formatter for Python files" dev-python/yapf
-}
diff --git a/dev-python/python-lzo/python-lzo-1.15.ebuild b/dev-python/python-lzo/python-lzo-1.15.ebuild
index 5e53b8e527ce..325a6fc4274a 100644
--- a/dev-python/python-lzo/python-lzo-1.15.ebuild
+++ b/dev-python/python-lzo/python-lzo-1.15.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 prefix pypi
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="GPL-2"
SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 ~arm ~arm64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
DEPEND="
dev-libs/lzo:2
diff --git a/dev-python/python-magic/python-magic-0.4.27.ebuild b/dev-python/python-magic/python-magic-0.4.27.ebuild
index 8b18fbc7f7e8..8560ff22816a 100644
--- a/dev-python/python-magic/python-magic-0.4.27.ebuild
+++ b/dev-python/python-magic/python-magic-0.4.27.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/python-markdown-math/python-markdown-math-0.8-r1.ebuild b/dev-python/python-markdown-math/python-markdown-math-0.8-r1.ebuild
index 00c89672687d..88c5a2f7779f 100644
--- a/dev-python/python-markdown-math/python-markdown-math-0.8-r1.ebuild
+++ b/dev-python/python-markdown-math/python-markdown-math-0.8-r1.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/python-memcached/Manifest b/dev-python/python-memcached/Manifest
index 41e707c68cfc..ed08a1d002e1 100644
--- a/dev-python/python-memcached/Manifest
+++ b/dev-python/python-memcached/Manifest
@@ -1 +1 @@
-DIST python-memcached-1.59.gh.tar.gz 32334 BLAKE2B de8d18ba887b03e4737b554cc4b0074a4f16745e26a8b3631a747c45019e1da83612677dc3e98f97d76e851320c61baafbd0a29231a826c14b7d3bf3e477f29e SHA512 d7ff45a329f2a9bf97fdc7c0268c2c67046c3501270fcf03578b955c2da35904d7bdecd4239924d390797ddff8f4cc69fc5743f4d4f663cdb9f2f8c7e8159512
+DIST python-memcached-1.62.gh.tar.gz 28598 BLAKE2B 4251931d4e77e83b959d1d3c23d96b532083ebe86e23c25e899185485de59348994041529c03be22be412128657e8bac9edd326b81a218113c465d69e4ae2b4f SHA512 0394a3c6c1521e2dd5ce27953ebe285ab6ffc514ea64f8da22e9e630d01d49e975f5f81e8fc12080424a35409f7b39b4d8a0ff9893ab4b4985bad1005c6c1026
diff --git a/dev-python/python-memcached/python-memcached-1.59-r2.ebuild b/dev-python/python-memcached/python-memcached-1.59-r2.ebuild
deleted file mode 100644
index 2d234212dcdc..000000000000
--- a/dev-python/python-memcached/python-memcached-1.59-r2.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure python memcached client"
-HOMEPAGE="
- https://github.com/linsomniac/python-memcached/
- https://pypi.org/project/python-memcached/
-"
-SRC_URI="
- https://github.com/linsomniac/python-memcached/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="PSF-2.4"
-SLOT="0"
-KEYWORDS="amd64 arm64 ppc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- net-misc/memcached
- )
-"
-
-distutils_enable_tests unittest
-
-python_test() {
- local pidfile="${TMPDIR}/memcached.pid"
-
- memcached -d -P "${pidfile}" || die "failed to start memcached"
-
- eunittest || die "Tests fail with ${EPYTHON}"
-
- kill "$(<"${pidfile}")" || die "failed to kill memcached"
- local elapsed=0
- while [[ -f ${pidfile} ]]; do
- if [[ $(( elapsed++ )) -ge 30 ]]; then
- kill -KILL "$(<"${pidfile}")" ||
- die "failed to kill -KILL memcached"
- die "memcached failed to stop after 30 seconds"
- fi
- sleep 1
- done
-}
diff --git a/dev-python/python-memcached/python-memcached-1.62.ebuild b/dev-python/python-memcached/python-memcached-1.62.ebuild
new file mode 100644
index 000000000000..4bbb086634a6
--- /dev/null
+++ b/dev-python/python-memcached/python-memcached-1.62.ebuild
@@ -0,0 +1,50 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Pure python memcached client"
+HOMEPAGE="
+ https://github.com/linsomniac/python-memcached/
+ https://pypi.org/project/python-memcached/
+"
+SRC_URI="
+ https://github.com/linsomniac/python-memcached/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="PSF-2.4"
+SLOT="0"
+KEYWORDS="amd64 arm64 ppc x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ test? (
+ net-misc/memcached
+ )
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ local pidfile="${TMPDIR}/memcached.pid"
+
+ memcached -d -P "${pidfile}" || die "failed to start memcached"
+
+ eunittest || die "Tests fail with ${EPYTHON}"
+
+ kill "$(<"${pidfile}")" || die "failed to kill memcached"
+ local elapsed=0
+ while [[ -f ${pidfile} ]]; do
+ if [[ $(( elapsed++ )) -ge 30 ]]; then
+ kill -KILL "$(<"${pidfile}")" ||
+ die "failed to kill -KILL memcached"
+ die "memcached failed to stop after 30 seconds"
+ fi
+ sleep 1
+ done
+}
diff --git a/dev-python/python-mimeparse/files/python-mimeparse-1.6.0-py3.13.patch b/dev-python/python-mimeparse/files/python-mimeparse-1.6.0-py3.13.patch
new file mode 100644
index 000000000000..90b4c4fc7d8a
--- /dev/null
+++ b/dev-python/python-mimeparse/files/python-mimeparse-1.6.0-py3.13.patch
@@ -0,0 +1,79 @@
+From 5427072b12119fe28fd66f19f74beb7da0c1de8b Mon Sep 17 00:00:00 2001
+From: Stanis Trendelenburg <stanis.trendelenburg@gmail.com>
+Date: Mon, 1 Jan 2024 12:48:19 +0100
+Subject: [PATCH] chore(cgi): include `parse_header()` from the deprecated cgi
+ module (#46)
+
+* Include functions from the deprecated cgi module
+
+* Document source of vendored functions from cgi.py
+
+* Fix linter error
+---
+
+Upstream-PR: https://github.com/falconry/python-mimeparse/pull/46
+
+diff --git a/mimeparse.py b/mimeparse.py
+index 0de6d57..506e138 100644
+--- a/mimeparse.py
++++ b/mimeparse.py
+@@ -1,5 +1,3 @@
+-import cgi
+-
+ __version__ = '1.6.0'
+ __author__ = 'Joe Gregorio'
+ __email__ = 'joe@bitworking.org'
+@@ -11,6 +9,44 @@ class MimeTypeParseException(ValueError):
+ pass
+
+
++# Vendored version of cgi._parseparam from Python 3.11 (deprecated and slated
++# for removal in 3.13)
++def _parseparam(s):
++ while s[:1] == ';':
++ s = s[1:]
++ end = s.find(';')
++ while end > 0 and (s.count('"', 0, end) - s.count('\\"', 0, end)) % 2:
++ end = s.find(';', end + 1)
++ if end < 0:
++ end = len(s)
++ f = s[:end]
++ yield f.strip()
++ s = s[end:]
++
++
++# Vendored version of cgi.parse_header from Python 3.11 (deprecated and slated
++# for removal in 3.13)
++def _parse_header(line):
++ """Parse a Content-type like header.
++
++ Return the main content-type and a dictionary of options.
++
++ """
++ parts = _parseparam(';' + line)
++ key = parts.__next__()
++ pdict = {}
++ for p in parts:
++ i = p.find('=')
++ if i >= 0:
++ name = p[:i].strip().lower()
++ value = p[i + 1:].strip()
++ if len(value) >= 2 and value[0] == value[-1] == '"':
++ value = value[1:-1]
++ value = value.replace('\\\\', '\\').replace('\\"', '"')
++ pdict[name] = value
++ return key, pdict
++
++
+ def parse_mime_type(mime_type):
+ """Parses a mime-type into its component parts.
+
+@@ -23,7 +59,7 @@ def parse_mime_type(mime_type):
+
+ :rtype: (str,str,dict)
+ """
+- full_type, params = cgi.parse_header(mime_type)
++ full_type, params = _parse_header(mime_type)
+ # Java URLConnection class sends an Accept header that includes a
+ # single '*'. Turn it into a legal wildcard.
+ if full_type == '*':
diff --git a/dev-python/python-mimeparse/python-mimeparse-1.6.0-r4.ebuild b/dev-python/python-mimeparse/python-mimeparse-1.6.0-r4.ebuild
deleted file mode 100644
index 72a6b947fe2d..000000000000
--- a/dev-python/python-mimeparse/python-mimeparse-1.6.0-r4.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Basic functions for handling mime-types in python"
-HOMEPAGE="
- https://github.com/falconry/python-mimeparse/
- https://pypi.org/project/python-mimeparse/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-python_test() {
- "${EPYTHON}" mimeparse_test.py -v || die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/python-mimeparse/python-mimeparse-1.6.0-r5.ebuild b/dev-python/python-mimeparse/python-mimeparse-1.6.0-r5.ebuild
new file mode 100644
index 000000000000..e8d24c6fe6a0
--- /dev/null
+++ b/dev-python/python-mimeparse/python-mimeparse-1.6.0-r5.ebuild
@@ -0,0 +1,28 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Basic functions for handling mime-types in python"
+HOMEPAGE="
+ https://github.com/falconry/python-mimeparse/
+ https://pypi.org/project/python-mimeparse/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+PATCHES=(
+ "${FILESDIR}/${P}-py3.13.patch"
+)
+
+python_test() {
+ "${EPYTHON}" mimeparse_test.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/python-mpd2/Manifest b/dev-python/python-mpd2/Manifest
index 9f2197ad234c..0c23aff9c345 100644
--- a/dev-python/python-mpd2/Manifest
+++ b/dev-python/python-mpd2/Manifest
@@ -1 +1 @@
-DIST python-mpd2-3.1.0.gh.tar.gz 69162 BLAKE2B fb9b13f3e73b654d7e2a6ee84907f84ebf354d8f56ee47f58046a28aef1d43b5ddd52bf51f42a3e56dd6d8036010abc74d5537cfe8cf4f976b0a758506879dfe SHA512 9d8dd774540d9e09804fd293ce362401b2253f8021c1581c0764bac0b61d2e4b5f50bb752e5d774459194a717354f28ad5d96d48f29ef0f54011969ec91ff106
+DIST python-mpd2-3.1.1.gh.tar.gz 69613 BLAKE2B 4769799edb7a5fa8d772e95fdda362845d97ff2e17bc5eed7ec057c0e17389e8ad3b5d1ecd3b169ddea9d33fdfc52d46b86b8e1abc89489cf04f53aa803219d0 SHA512 abd882bc0652ed4a8ee2f4abf0a039e7c62e77b35d278c5fc99bb032c220caac831cc483445516044964f2ea078d2134af61c64d55cb20770b4d32a5aa1ce5e2
diff --git a/dev-python/python-mpd2/python-mpd2-3.1.0.ebuild b/dev-python/python-mpd2/python-mpd2-3.1.0.ebuild
deleted file mode 100644
index 9b1a64a683f6..000000000000
--- a/dev-python/python-mpd2/python-mpd2-3.1.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-# py3.12: https://github.com/Mic92/python-mpd2/issues/214
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python MPD client library"
-HOMEPAGE="
- https://github.com/Mic92/python-mpd2/
- https://pypi.org/project/python-mpd2/
-"
-# as of 3.1.0, sdist is missing some doc files
-SRC_URI="
- https://github.com/Mic92/python-mpd2/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3+"
-KEYWORDS="amd64 arm64 ppc ppc64 x86"
-SLOT="0"
-IUSE="examples +twisted"
-
-RDEPEND="
- twisted? ( dev-python/twisted[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/twisted[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( README.rst doc/{changes.rst,commands_header.txt} doc/topics/. )
-
-distutils_enable_sphinx doc --no-autodoc
-distutils_enable_tests pytest
-
-python_test() {
- epytest mpd/tests.py
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- use examples && dodoc -r examples/.
-}
diff --git a/dev-python/python-mpd2/python-mpd2-3.1.1.ebuild b/dev-python/python-mpd2/python-mpd2-3.1.1.ebuild
new file mode 100644
index 000000000000..600cb1f2cbf6
--- /dev/null
+++ b/dev-python/python-mpd2/python-mpd2-3.1.1.ebuild
@@ -0,0 +1,49 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python MPD client library"
+HOMEPAGE="
+ https://github.com/Mic92/python-mpd2/
+ https://pypi.org/project/python-mpd2/
+"
+# as of 3.1.0, sdist is missing some doc files
+SRC_URI="
+ https://github.com/Mic92/python-mpd2/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="amd64 arm64 ppc ppc64 x86"
+IUSE="examples +twisted"
+
+RDEPEND="
+ twisted? ( dev-python/twisted[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ dev-python/twisted[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( README.rst doc/{changes.rst,commands_header.txt} doc/topics/. )
+
+distutils_enable_sphinx doc --no-autodoc
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest mpd.tests
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ use examples && dodoc -r examples/.
+}
diff --git a/dev-python/python-mpv/Manifest b/dev-python/python-mpv/Manifest
index 06b803877dfa..a6c5771121bc 100644
--- a/dev-python/python-mpv/Manifest
+++ b/dev-python/python-mpv/Manifest
@@ -1,2 +1 @@
-DIST python-mpv-1.0.4.gh.tar.gz 211628 BLAKE2B cb3b9042648ffd0472093f84116084f255893ab7068379a01011e8153da9c60c525c9b701e8f0be29ebbfaca9da9b4fd0024741e7b243b13c3b9e69f597dede8 SHA512 d8bab1373961ef52645f0886f317e8a1328a9d737c1a7de77d0f348a31822daa3120b79d9fd8e969c971b1de9c30fdd40aa120c8775ad3110f5a11ab9992ae7c
-DIST python-mpv-1.0.5.gh.tar.gz 211622 BLAKE2B eeda4e61c8e2728898ddae7c2cd9e92a7cf718b22aefd8104edf361b7d7feab7655561019cbed35045cbdc4faac96e0d85c77d053bfae61e05052a981bd00342 SHA512 cefc0b38146d707a06e2b9e58951675be8d236c95e24de7665085641b24f7d7d5303130ebdb4c97f4f4c79b6de393c30656d9fc0dabf6760156d4aca8207d77c
+DIST python-mpv-1.0.7.gh.tar.gz 212686 BLAKE2B 5a3de241739196a3baec6fb985422d82ae35fe0b3709ba96bdc7ae51489de02495f886b0c5ca38fbfdd110e974954dc715e9334925e558f69f8961f00487b9ed SHA512 9373259bab0857855cb08c13f9f33fb3a26f880b09c8c468ce1330433c1b2cff72a5015fc066fb830a4089eff08852ad5aa05e648bfba617b9b3d225860c20d3
diff --git a/dev-python/python-mpv/python-mpv-1.0.4.ebuild b/dev-python/python-mpv/python-mpv-1.0.4.ebuild
deleted file mode 100644
index d67648af6e30..000000000000
--- a/dev-python/python-mpv/python-mpv-1.0.4.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Python interface to the mpv media player"
-HOMEPAGE="
- https://github.com/jaseg/python-mpv/
- https://pypi.org/project/python-mpv/
-"
-SRC_URI="
- https://github.com/jaseg/python-mpv/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="AGPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- media-video/mpv[libmpv]
- dev-python/pillow[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/pyvirtualdisplay[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # hangs
- tests/test_mpv.py::TestLifecycle::test_wait_for_property_event_overflow
- )
-
- virtx epytest
-}
diff --git a/dev-python/python-mpv/python-mpv-1.0.5.ebuild b/dev-python/python-mpv/python-mpv-1.0.5.ebuild
deleted file mode 100644
index 68c92177161a..000000000000
--- a/dev-python/python-mpv/python-mpv-1.0.5.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Python interface to the mpv media player"
-HOMEPAGE="
- https://github.com/jaseg/python-mpv/
- https://pypi.org/project/python-mpv/
-"
-SRC_URI="
- https://github.com/jaseg/python-mpv/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="AGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- media-video/mpv[libmpv]
- dev-python/pillow[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/pyvirtualdisplay[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # hanging tests
- tests/test_mpv.py::TestLifecycle::test_wait_for_property_event_overflow
- tests/test_mpv.py::TestStreams::test_custom_stream
- )
-
- virtx epytest
-}
diff --git a/dev-python/python-mpv/python-mpv-1.0.7.ebuild b/dev-python/python-mpv/python-mpv-1.0.7.ebuild
new file mode 100644
index 000000000000..6b9246e27c40
--- /dev/null
+++ b/dev-python/python-mpv/python-mpv-1.0.7.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Python interface to the mpv media player"
+HOMEPAGE="
+ https://github.com/jaseg/python-mpv/
+ https://pypi.org/project/python-mpv/
+"
+SRC_URI="
+ https://github.com/jaseg/python-mpv/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="AGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ media-video/mpv[libmpv]
+ dev-python/pillow[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/pyvirtualdisplay[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # hanging tests
+ tests/test_mpv.py::TestLifecycle::test_wait_for_property_event_overflow
+ tests/test_mpv.py::TestStreams::test_custom_stream
+ )
+
+ virtx epytest
+}
diff --git a/dev-python/python-multipart/Manifest b/dev-python/python-multipart/Manifest
index ac378bcb4544..6c3ba688e6d9 100644
--- a/dev-python/python-multipart/Manifest
+++ b/dev-python/python-multipart/Manifest
@@ -1 +1 @@
-DIST python-multipart-0.0.6.gh.tar.gz 48648 BLAKE2B 4995136e6fcda8df952a6ee868238a507f3d5ea8f8454d4c4933e89b4897440f9186bd820af427f81b3240ca3610aa8300a944e4a0436291cc414f5e97daca30 SHA512 fb996725266996aefb5284b4815ecd8d0005344359f29780f0c2817125f625f3910be14d7d937e975b3ca9fb27a2a483401ab342a0c861df0e1112d447b1f083
+DIST python-multipart-0.0.9.gh.tar.gz 49448 BLAKE2B 9ab4026dd4f45e60fd3bd781b178258edc9841e2a999ba6d0e918e37da106d7e9fb5816fa3e2fccb9eb3139c06c83dc892fe3e38b98bc6289dccaee4cdc64260 SHA512 6e41be080e079b1e9730e61d72b5b339fbb447bfb2b171a617c17025c5ad69924ca3c24f39e160f7b1cc495cea0999e72e6674e5631ce88a48240ecc229d0343
diff --git a/dev-python/python-multipart/metadata.xml b/dev-python/python-multipart/metadata.xml
index 7efb07682e6c..100f4a588dae 100644
--- a/dev-python/python-multipart/metadata.xml
+++ b/dev-python/python-multipart/metadata.xml
@@ -8,6 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">python-multipart</remote-id>
- <remote-id type="github">andrew-d/python-multipart</remote-id>
+ <remote-id type="github">Kludex/python-multipart</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/python-multipart/python-multipart-0.0.6.ebuild b/dev-python/python-multipart/python-multipart-0.0.6.ebuild
deleted file mode 100644
index 956fcbbc095c..000000000000
--- a/dev-python/python-multipart/python-multipart-0.0.6.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2022-2023 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
-
-DESCRIPTION="A streaming multipart parser for Python"
-HOMEPAGE="
- https://github.com/andrew-d/python-multipart/
- https://pypi.org/project/python-multipart/
-"
-SRC_URI="
- https://github.com/andrew-d/python-multipart/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- test? (
- dev-python/pyyaml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/python-multipart/python-multipart-0.0.9.ebuild b/dev-python/python-multipart/python-multipart-0.0.9.ebuild
new file mode 100644
index 000000000000..7e293028bff2
--- /dev/null
+++ b/dev-python/python-multipart/python-multipart-0.0.9.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A streaming multipart parser for Python"
+HOMEPAGE="
+ https://github.com/Kludex/python-multipart/
+ https://pypi.org/project/python-multipart/
+"
+SRC_URI="
+ https://github.com/Kludex/python-multipart/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ test? (
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/python-netlink/python-netlink-0.1.ebuild b/dev-python/python-netlink/python-netlink-0.1.ebuild
index 6f79613e74d4..986639b51678 100644
--- a/dev-python/python-netlink/python-netlink-0.1.ebuild
+++ b/dev-python/python-netlink/python-netlink-0.1.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN="NetLink"
@@ -16,6 +17,7 @@ LICENSE="LGPL-3+"
SLOT="0"
KEYWORDS="~amd64 ~x86"
+BDEPEND="${DISTUTILS_DEPS}"
RDEPEND="!dev-libs/libnl[python(-)]"
python_prepare_all() {
diff --git a/dev-python/python-neutronclient/Manifest b/dev-python/python-neutronclient/Manifest
index c94966357fe8..4aa3aad7886b 100644
--- a/dev-python/python-neutronclient/Manifest
+++ b/dev-python/python-neutronclient/Manifest
@@ -1,2 +1,2 @@
-DIST python-neutronclient-11.0.0.tar.gz 206846 BLAKE2B e7ba4db5763a9310aa393e01d8561e9cfe85dfe584942de70a1b2254ccd8d5a79f6ffe5dc195fc3ef6f338c49686f8460b81111f6d4118315af38d7eea6f8c1c SHA512 3732892db34287343bc7015aa0be426e61f7a111e8a69c529f9baac0b6abbba09232d2d73e255dc82a816a1e9ff70237097c6269a287910a034787af58a730a1
-DIST python-neutronclient-11.1.0.tar.gz 210626 BLAKE2B c9b3328a57fb05a6bd4058b3a96a1a346caea08110724cc5d7d3855d08140bb2baeb3f133464aa02d74a6ed18e3b7f174560766134d15aa681fea68b169c7b2c SHA512 04f81f0dffc085a16ffca76d16c4de7b9c0a686053e45aacbedfb94902651c20dd34c6ccc29b15bb8e8836df5124e466d5f1bea94a82dc06d194fa6c2df62734
+DIST python-neutronclient-11.3.0.tar.gz 211322 BLAKE2B 495e2f8db5d85cc92d1990239999c920341cc18e2d519da4e458eb8e50b803aa77d838dc06f2a248ead2ee156a763103c5376b786fa99d97a0c6dff5659374ba SHA512 4115326f2a40957f1db94ee4e65f7399019fa135774fa9ed5f2ffc6d20f65f326fedc724639decb730ce9de0a0e82239e1ffe6ec4df59382adb16d9c3cfb64d5
+DIST python-neutronclient-11.3.1.tar.gz 211410 BLAKE2B db1bed173ca546529502dc2ce564e950c6908f4fa3dc81eb78bc59dfa4ba3e608a058c2b143db111afba153eef9e62f3a7f3bb588faed9d306e3bc960fc33e94 SHA512 76e17bf2f0bce6bad939029beb3a75b840675582fcef766f61ac139d29d7f0632dae3a7ee3aea596c60e3b86b9e5cf24c8070f75a03a9c8066b92437fcdd03be
diff --git a/dev-python/python-neutronclient/python-neutronclient-11.0.0.ebuild b/dev-python/python-neutronclient/python-neutronclient-11.0.0.ebuild
deleted file mode 100644
index 682f17ae021f..000000000000
--- a/dev-python/python-neutronclient/python-neutronclient-11.0.0.ebuild
+++ /dev/null
@@ -1,79 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A client for the OpenStack Quantum API"
-HOMEPAGE="
- https://opendev.org/openstack/python-neutronclient/
- https://github.com/openstack/python-neutronclient/
- https://pypi.org/project/python-neutronclient/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-RDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/cliff-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
- >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
- >=dev-python/openstacksdk-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/osc-lib-1.8.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
- >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
- >dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/os-client-config-1.28.0[${PYTHON_USEDEP}]
- >=dev-python/keystoneauth1-3.8.0[${PYTHON_USEDEP}]
- >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
- >=dev-python/simplejson-3.5.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- dev-python/bandit[${PYTHON_USEDEP}]
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/oslotest[${PYTHON_USEDEP}]
- dev-python/python-openstackclient[${PYTHON_USEDEP}]
- dev-python/subunit[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- dev-python/testtools[${PYTHON_USEDEP}]
- dev-python/testscenarios[${PYTHON_USEDEP}]
- dev-python/tempest[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # Needs osprofile
- rm neutronclient/tests/unit/test_http.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- # functional tests require cloud instance access
- eunittest -b neutronclient.tests.unit
-}
-
-python_install() {
- distutils-r1_python_install
- # stupid stupid stupid
- local SITEDIR="${D}$(python_get_sitedir)" || die
- cd "${SITEDIR}" || die
- local egg=( python_neutronclient*.dist-info )
- [[ -d ${egg[0]} ]] || die "python_quantumclient*.dist-info not found"
- ln -s "${egg[0]}" "${egg[0]/neutron/quantum}" || die
- ln -s neutronclient quantumclient || die
- ln -s neutron quantumclient/quantum || die
-}
diff --git a/dev-python/python-neutronclient/python-neutronclient-11.1.0.ebuild b/dev-python/python-neutronclient/python-neutronclient-11.1.0.ebuild
deleted file mode 100644
index 299e8a865b73..000000000000
--- a/dev-python/python-neutronclient/python-neutronclient-11.1.0.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A client for the OpenStack Quantum API"
-HOMEPAGE="
- https://opendev.org/openstack/python-neutronclient/
- https://github.com/openstack/python-neutronclient/
- https://pypi.org/project/python-neutronclient/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-RDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/cliff-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
- >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
- >=dev-python/openstacksdk-1.5.0[${PYTHON_USEDEP}]
- >=dev-python/osc-lib-1.8.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
- >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
- >dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/os-client-config-1.28.0[${PYTHON_USEDEP}]
- >=dev-python/keystoneauth1-3.8.0[${PYTHON_USEDEP}]
- >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- dev-python/bandit[${PYTHON_USEDEP}]
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/oslotest[${PYTHON_USEDEP}]
- dev-python/python-openstackclient[${PYTHON_USEDEP}]
- dev-python/subunit[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- dev-python/testtools[${PYTHON_USEDEP}]
- dev-python/testscenarios[${PYTHON_USEDEP}]
- dev-python/tempest[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # Needs osprofile
- rm neutronclient/tests/unit/test_http.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- # functional tests require cloud instance access
- eunittest -b neutronclient.tests.unit
-}
-
-python_install() {
- distutils-r1_python_install
- # stupid stupid stupid
- local SITEDIR="${D}$(python_get_sitedir)" || die
- cd "${SITEDIR}" || die
- local egg=( python_neutronclient*.dist-info )
- [[ -d ${egg[0]} ]] || die "python_quantumclient*.dist-info not found"
- ln -s "${egg[0]}" "${egg[0]/neutron/quantum}" || die
- ln -s neutronclient quantumclient || die
- ln -s neutron quantumclient/quantum || die
-}
diff --git a/dev-python/python-neutronclient/python-neutronclient-11.3.0.ebuild b/dev-python/python-neutronclient/python-neutronclient-11.3.0.ebuild
new file mode 100644
index 000000000000..5f3b9670d1e2
--- /dev/null
+++ b/dev-python/python-neutronclient/python-neutronclient-11.3.0.ebuild
@@ -0,0 +1,78 @@
+# 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 pypi
+
+DESCRIPTION="A client for the OpenStack Quantum API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-neutronclient/
+ https://github.com/openstack/python-neutronclient/
+ https://pypi.org/project/python-neutronclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/os-client-config-1.28.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/bandit[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/oslotest[${PYTHON_USEDEP}]
+ dev-python/python-openstackclient[${PYTHON_USEDEP}]
+ dev-python/subunit[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ dev-python/testscenarios[${PYTHON_USEDEP}]
+ dev-python/tempest[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Needs osprofile
+ rm neutronclient/tests/unit/test_http.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b neutronclient.tests.unit
+}
+
+python_install() {
+ distutils-r1_python_install
+ # stupid stupid stupid
+ local SITEDIR="${D}$(python_get_sitedir)" || die
+ cd "${SITEDIR}" || die
+ local egg=( python_neutronclient*.dist-info )
+ [[ -d ${egg[0]} ]] || die "python_quantumclient*.dist-info not found"
+ ln -s "${egg[0]}" "${egg[0]/neutron/quantum}" || die
+ ln -s neutronclient quantumclient || die
+ ln -s neutron quantumclient/quantum || die
+}
diff --git a/dev-python/python-neutronclient/python-neutronclient-11.3.1.ebuild b/dev-python/python-neutronclient/python-neutronclient-11.3.1.ebuild
new file mode 100644
index 000000000000..621717e09572
--- /dev/null
+++ b/dev-python/python-neutronclient/python-neutronclient-11.3.1.ebuild
@@ -0,0 +1,78 @@
+# 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 pypi
+
+DESCRIPTION="A client for the OpenStack Quantum API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-neutronclient/
+ https://github.com/openstack/python-neutronclient/
+ https://pypi.org/project/python-neutronclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-1.5.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/os-client-config-1.28.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.8.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/bandit[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/oslotest[${PYTHON_USEDEP}]
+ dev-python/python-openstackclient[${PYTHON_USEDEP}]
+ dev-python/subunit[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ dev-python/testscenarios[${PYTHON_USEDEP}]
+ dev-python/tempest[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Needs osprofile
+ rm neutronclient/tests/unit/test_http.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b neutronclient.tests.unit
+}
+
+python_install() {
+ distutils-r1_python_install
+ # stupid stupid stupid
+ local SITEDIR="${D}$(python_get_sitedir)" || die
+ cd "${SITEDIR}" || die
+ local egg=( python_neutronclient*.dist-info )
+ [[ -d ${egg[0]} ]] || die "python_quantumclient*.dist-info not found"
+ ln -s "${egg[0]}" "${egg[0]/neutron/quantum}" || die
+ ln -s neutronclient quantumclient || die
+ ln -s neutron quantumclient/quantum || die
+}
diff --git a/dev-python/python-novaclient/Manifest b/dev-python/python-novaclient/Manifest
index a7117ebaee17..362d9a04b26e 100644
--- a/dev-python/python-novaclient/Manifest
+++ b/dev-python/python-novaclient/Manifest
@@ -1 +1 @@
-DIST python-novaclient-18.4.0.tar.gz 339338 BLAKE2B 6a0c47d8d7aec338986d5928d29a736020a08ccbd3df3bbaeda77dd18de8fb78d51da9586065bf25bd620f224462cbcaf421dcb28c649e1a4ee92911a9f12a9a SHA512 767d53c3fa3b312b2210dcdbe8895baefa167c00041fe6b228a30099c892b17ed4339477894a81d314b746da5c2a772a07e7a887eb807a31ef7bbdbea621c40f
+DIST python-novaclient-18.6.0.tar.gz 339868 BLAKE2B 069d7b213c8dc8b8061cc70ea49f9f7f7599aab1daead5b7e54423133f0765df32924ce05f1d2c00833e5ea177f6ffa9311055328246137bc134f3a162ef9fa4 SHA512 a2f93f063bc22b12294664edd37187a0edc80e01b62802d59a5603c11cba8154300e5206c9f835a0a0b6a00adb2b281271b6f8a1f50379668d88f4c5222d55b9
diff --git a/dev-python/python-novaclient/python-novaclient-18.4.0.ebuild b/dev-python/python-novaclient/python-novaclient-18.4.0.ebuild
deleted file mode 100644
index c0bdeab07522..000000000000
--- a/dev-python/python-novaclient/python-novaclient-18.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A client for the OpenStack Nova API"
-HOMEPAGE="
- https://opendev.org/openstack/python-novaclient/
- https://github.com/openstack/python-novaclient/
- https://pypi.org/project/python-novaclient/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-RDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/keystoneauth1-3.5.0[${PYTHON_USEDEP}]
- >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
- >dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
- >dev-python/requests-2.12.2[${PYTHON_USEDEP}]
- >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- dev-python/bandit[${PYTHON_USEDEP}]
- dev-python/ddt[${PYTHON_USEDEP}]
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/python-keystoneclient[${PYTHON_USEDEP}]
- dev-python/python-cinderclient[${PYTHON_USEDEP}]
- dev-python/python-glanceclient[${PYTHON_USEDEP}]
- dev-python/python-neutronclient[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- dev-python/openstacksdk[${PYTHON_USEDEP}]
- dev-python/testscenarios[${PYTHON_USEDEP}]
- dev-python/testtools[${PYTHON_USEDEP}]
- dev-python/tempest[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- sed -e 's/test_osprofiler/_&/' -i novaclient/tests/unit/test_shell.py || die
- sed -e 's/novaclient\.tests\.unit\.//' -i novaclient/tests/unit/test_api_versions.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- # functional tests require cloud instance access
- eunittest -b novaclient/tests/unit
-}
diff --git a/dev-python/python-novaclient/python-novaclient-18.6.0.ebuild b/dev-python/python-novaclient/python-novaclient-18.6.0.ebuild
new file mode 100644
index 000000000000..06ab04e911c9
--- /dev/null
+++ b/dev-python/python-novaclient/python-novaclient-18.6.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=pbr
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client for the OpenStack Nova API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-novaclient/
+ https://github.com/openstack/python-novaclient/
+ https://pypi.org/project/python-novaclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/keystoneauth1-3.5.0[${PYTHON_USEDEP}]
+ >=dev-python/iso8601-0.1.11[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >dev-python/oslo-serialization-2.19.1[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.2[${PYTHON_USEDEP}]
+ >dev-python/requests-2.12.2[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/bandit[${PYTHON_USEDEP}]
+ dev-python/ddt[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/python-keystoneclient[${PYTHON_USEDEP}]
+ dev-python/python-cinderclient[${PYTHON_USEDEP}]
+ dev-python/python-glanceclient[${PYTHON_USEDEP}]
+ dev-python/python-neutronclient[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/openstacksdk[${PYTHON_USEDEP}]
+ dev-python/testscenarios[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ dev-python/tempest[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ sed -e 's/test_osprofiler/_&/' -i novaclient/tests/unit/test_shell.py || die
+ sed -e 's/novaclient\.tests\.unit\.//' -i novaclient/tests/unit/test_api_versions.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b novaclient/tests/unit
+}
diff --git a/dev-python/python-openstackclient/Manifest b/dev-python/python-openstackclient/Manifest
index 07dd5b50b268..ac034b7a1d13 100644
--- a/dev-python/python-openstackclient/Manifest
+++ b/dev-python/python-openstackclient/Manifest
@@ -1 +1 @@
-DIST python-openstackclient-6.3.0.tar.gz 899811 BLAKE2B 9dd1b174d23f4bfe0f4e54e1e72fc92f28989b7007981132ab3d60050e1c7c19be820388c9453e004f0847ad67c1bf6eadfccd26fd391e5c1b6c62185e2132c9 SHA512 da03e92208ec82920bb3fae3be0c3ecb834f3046cf709cff626a2336ca875976bcc72a41593bfee28b988ab5e89e49dbfc466362ab6200f90c91f949ce1feb06
+DIST python-openstackclient-6.6.0.tar.gz 917251 BLAKE2B 9f11b357bdeede556e106a21b2c7bbd86804251612cd676525a8817b693733dfe72388213cfa16517b3b75725702090fa3e728ec6986dcda196aa1e8aac9fd0a SHA512 7b073263fe9d905b3c10b2a4dcfa7156c9cd5ae453d792e1dcf3be278de0abc25c931388c8cabff6b11b61174acf79c87951028626af1e1b9f0dd09f38b7900a
diff --git a/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild b/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild
deleted file mode 100644
index 90321acb3163..000000000000
--- a/dev-python/python-openstackclient/python-openstackclient-6.3.0.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A client for the OpenStack APIs"
-HOMEPAGE="
- https://opendev.org/openstack/python-openstackclient/
- https://github.com/openstack/python-openstackclient/
- https://pypi.org/project/python-openstackclient/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv x86"
-
-RDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/cliff-3.5.0[${PYTHON_USEDEP}]
- >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
- >=dev-python/openstacksdk-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/osc-lib-2.3.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-3.33.0[${PYTHON_USEDEP}]
- >=dev-python/python-keystoneclient-3.22.0[${PYTHON_USEDEP}]
- >=dev-python/python-novaclient-18.1.0[${PYTHON_USEDEP}]
- >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
- >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
- >=dev-python/wrapt-1.7.0[${PYTHON_USEDEP}]
- >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # Depends on specific runner
- sed -e 's/test_command_has_logger/_&/' -i openstackclient/tests/unit/common/test_command.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- # functional tests require cloud instance access
- eunittest -b openstackclient/tests/unit
-}
diff --git a/dev-python/python-openstackclient/python-openstackclient-6.6.0.ebuild b/dev-python/python-openstackclient/python-openstackclient-6.6.0.ebuild
new file mode 100644
index 000000000000..8051f0afcb11
--- /dev/null
+++ b/dev-python/python-openstackclient/python-openstackclient-6.6.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
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..11} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A client for the OpenStack APIs"
+HOMEPAGE="
+ https://opendev.org/openstack/python-openstackclient/
+ https://github.com/openstack/python-openstackclient/
+ https://pypi.org/project/python-openstackclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/cliff-3.5.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-2.7[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/osc-lib-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-i18n-3.15.3[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-3.22.0[${PYTHON_USEDEP}]
+ >=dev-python/python-novaclient-18.1.0[${PYTHON_USEDEP}]
+ >=dev-python/python-cinderclient-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-2.0.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.14.2[${PYTHON_USEDEP}]
+ >=dev-python/requests-mock-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/tempest-17.1.0[${PYTHON_USEDEP}]
+ >=dev-python/wrapt-1.7.0[${PYTHON_USEDEP}]
+ >=dev-python/ddt-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # Depends on a specific runner
+ sed -e 's/test_command_has_logger/_&/' \
+ -i openstackclient/tests/unit/common/test_command.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # functional tests require cloud instance access
+ eunittest -b openstackclient/tests/unit
+}
diff --git a/dev-python/python-pam/python-pam-2.0.2-r2.ebuild b/dev-python/python-pam/python-pam-2.0.2-r2.ebuild
index 5128788119df..c5d384668b4d 100644
--- a/dev-python/python-pam/python-pam-2.0.2-r2.ebuild
+++ b/dev-python/python-pam/python-pam-2.0.2-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/python-poppler-qt5/Manifest b/dev-python/python-poppler-qt5/Manifest
index 90f4d7db1177..c6788136d272 100644
--- a/dev-python/python-poppler-qt5/Manifest
+++ b/dev-python/python-poppler-qt5/Manifest
@@ -1 +1 @@
-DIST python-poppler-qt5-21.3.0.tar.gz 25641 BLAKE2B 5937f1ddc1493bb1ef1d98b91dd8ccec4bd8c835956d84c8d7ce7a1cedcbe16854861e1f13825812e0f74c335020f0d74aad2d2bbc7a5780c6eb3ac77437f13b SHA512 cc942a860c2c999ff04fb0468b1556b0e23e7aa19a0185a39c5e903e717dca64bcbd51b8fe34b6885bd789cbf5cc1080c2ca1dcee30b3e69fa1721618e8db278
+DIST python-poppler-qt5-21.3.0.gh.tar.gz 25641 BLAKE2B 5937f1ddc1493bb1ef1d98b91dd8ccec4bd8c835956d84c8d7ce7a1cedcbe16854861e1f13825812e0f74c335020f0d74aad2d2bbc7a5780c6eb3ac77437f13b SHA512 cc942a860c2c999ff04fb0468b1556b0e23e7aa19a0185a39c5e903e717dca64bcbd51b8fe34b6885bd789cbf5cc1080c2ca1dcee30b3e69fa1721618e8db278
diff --git a/dev-python/python-poppler-qt5/python-poppler-qt5-21.3.0.ebuild b/dev-python/python-poppler-qt5/python-poppler-qt5-21.3.0.ebuild
index fe358ef69dac..cfb68d7001d9 100644
--- a/dev-python/python-poppler-qt5/python-poppler-qt5-21.3.0.ebuild
+++ b/dev-python/python-poppler-qt5/python-poppler-qt5-21.3.0.ebuild
@@ -1,28 +1,35 @@
-# 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=sip
-PYTHON_COMPAT=( python3_{9,10,11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 multiprocessing qmake-utils
DESCRIPTION="Python binding for libpoppler-qt5"
-HOMEPAGE="https://github.com/frescobaldi/python-poppler-qt5"
-SRC_URI="https://github.com/frescobaldi/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/frescobaldi/python-poppler-qt5/
+ https://pypi.org/project/python-poppler-qt5/
+"
+SRC_URI="
+ https://github.com/frescobaldi/python-poppler-qt5/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="LGPL-2.1"
SLOT="0"
KEYWORDS="amd64 x86"
-IUSE=""
-RDEPEND="
+DEPEND="
app-text/poppler[qt5]
dev-python/PyQt5[${PYTHON_USEDEP}]
"
-DEPEND="${RDEPEND}"
+RDEPEND="
+ ${DEPEND}
+"
src_configure() {
DISTUTILS_ARGS=(
diff --git a/dev-python/python-ptrace/Manifest b/dev-python/python-ptrace/Manifest
index 46a9b2f7cb21..68a8a7fa09ec 100644
--- a/dev-python/python-ptrace/Manifest
+++ b/dev-python/python-ptrace/Manifest
@@ -1 +1 @@
-DIST python-ptrace-0.9.8.gh.tar.gz 104079 BLAKE2B 3d387beca9c92c0e3bbd5cf2c9d2af447c233b631e894ce1af2cdc697a1a48e24a299bbc998cd187ac9ad0f45bfc886f476afdb69329d761e8730a047731126b SHA512 f50ba7d457bf20a161a99913a552f2e829e97975d7cfbf8cf5d89b4f2320772b537678f2e70b9aaa88341c4f01d4bf41f62683e913628db503152f3510a013a3
+DIST python-ptrace-0.9.9.gh.tar.gz 106526 BLAKE2B ff9b85e17fd8d767c3fd1db13f1c69ad0b4e7d47379d6ee9468d9424702d34d7a7a7489590987213707829ab62e5eb83df277d3b60de6d2ad05ac99b93586ca3 SHA512 5f2291a4ca642ab99c49e853f12a3cd4ee911df45326fe077ef5df82b813b54a4351c3c23a195b65342af37aed8ecbc26968f65ce9b6a974863bee0ffd556039
diff --git a/dev-python/python-ptrace/files/python-ptrace-0.9.8-python3_12.patch b/dev-python/python-ptrace/files/python-ptrace-0.9.8-python3_12.patch
deleted file mode 100644
index fc7e55f6160e..000000000000
--- a/dev-python/python-ptrace/files/python-ptrace-0.9.8-python3_12.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-Upstream: https://github.com/vstinner/python-ptrace/pull/81
-commit 80e0c97a84eccb8b82737cf40b9c5581c20c245f
-Author: Mario Haustein <mario.haustein@hrz.tu-chemnitz.de>
-Date: Sat Sep 16 13:49:43 2023 +0200
-
- Remove deprecated `imp` module
-
---- a/setup.py
-+++ b/setup.py
-@@ -28,7 +28,7 @@
- # - git commit -a -m "post-release"
- # - git push
-
--from imp import load_source
-+import importlib.util
- from os import path
- try:
- # setuptools supports bdist_wheel
-@@ -55,7 +55,10 @@ CLASSIFIERS = [
- with open('README.rst') as fp:
- LONG_DESCRIPTION = fp.read()
-
--ptrace = load_source("version", path.join("ptrace", "version.py"))
-+ptrace_spec = importlib.util.spec_from_file_location("version", path.join("ptrace", "version.py"))
-+ptrace = importlib.util.module_from_spec(ptrace_spec)
-+ptrace_spec.loader.exec_module(ptrace)
-+
- PACKAGES = {}
- for name in MODULES:
- PACKAGES[name] = name.replace(".", "/")
diff --git a/dev-python/python-ptrace/python-ptrace-0.9.8-r1.ebuild b/dev-python/python-ptrace/python-ptrace-0.9.8-r1.ebuild
deleted file mode 100644
index 53464d743d9b..000000000000
--- a/dev-python/python-ptrace/python-ptrace-0.9.8-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python binding of ptrace library"
-HOMEPAGE="https://github.com/vstinner/python-ptrace"
-
-if [[ ${PV} == 9999 ]] ; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/vstinner/python-ptrace"
-else
- SRC_URI="https://github.com/vstinner/python-ptrace/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
- KEYWORDS="amd64 x86"
-fi
-
-LICENSE="GPL-2"
-SLOT="0"
-
-RDEPEND="${PYTHON_DEPS}
- dev-python/six[${PYTHON_USEDEP}]"
-
-PATCHES=(
- "${FILESDIR}/${P}-python3_12.patch"
-)
-
-distutils_enable_tests pytest
-
-src_test() {
- ./runtests.py --tests tests/ || die
-}
diff --git a/dev-python/python-ptrace/python-ptrace-0.9.9.ebuild b/dev-python/python-ptrace/python-ptrace-0.9.9.ebuild
new file mode 100644
index 000000000000..387eb899a380
--- /dev/null
+++ b/dev-python/python-ptrace/python-ptrace-0.9.9.ebuild
@@ -0,0 +1,35 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python binding of ptrace library"
+HOMEPAGE="
+ https://github.com/vstinner/python-ptrace/
+ https://pypi.org/project/python-ptrace/
+"
+
+if [[ ${PV} == 9999 ]] ; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/vstinner/python-ptrace"
+else
+ SRC_URI="
+ https://github.com/vstinner/python-ptrace/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
+ KEYWORDS="amd64 x86"
+fi
+
+LICENSE="GPL-2"
+SLOT="0"
+
+distutils_enable_tests pytest
+
+python_test() {
+ "${EPYTHON}" runtests.py -v --tests tests/ || die
+}
diff --git a/dev-python/python-ptrace/python-ptrace-9999.ebuild b/dev-python/python-ptrace/python-ptrace-9999.ebuild
index 38400e564dc8..e5c52be38aeb 100644
--- a/dev-python/python-ptrace/python-ptrace-9999.ebuild
+++ b/dev-python/python-ptrace/python-ptrace-9999.ebuild
@@ -1,32 +1,35 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
DESCRIPTION="A Python binding of ptrace library"
-HOMEPAGE="https://github.com/vstinner/python-ptrace"
+HOMEPAGE="
+ https://github.com/vstinner/python-ptrace/
+ https://pypi.org/project/python-ptrace/
+"
if [[ ${PV} == 9999 ]] ; then
inherit git-r3
EGIT_REPO_URI="https://github.com/vstinner/python-ptrace"
else
- SRC_URI="https://github.com/vstinner/python-ptrace/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+ SRC_URI="
+ https://github.com/vstinner/python-ptrace/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ "
KEYWORDS="~amd64 ~x86"
fi
LICENSE="GPL-2"
SLOT="0"
-RDEPEND="${PYTHON_DEPS}
- dev-python/six[${PYTHON_USEDEP}]"
-
distutils_enable_tests pytest
-src_test() {
- ./runtests.py --tests tests/ || die
+python_test() {
+ "${EPYTHON}" runtests.py -v --tests tests/ || die
}
diff --git a/dev-python/python-redmine/Manifest b/dev-python/python-redmine/Manifest
index e754b6d19e35..9ec00caf0c14 100644
--- a/dev-python/python-redmine/Manifest
+++ b/dev-python/python-redmine/Manifest
@@ -1 +1 @@
-DIST python-redmine-2.4.0.tar.gz 67730 BLAKE2B 22c74ad194af9b56affab39de38b13a8f5a46e79b8ea8d9f9f47eb12c4ad4c91156db9ef0e8dfd013602b8cc06e0636a724ae34969f385dc9f8ffc63514ccc63 SHA512 afb03ca8a3bdacace3c12b7295ba08953ab2040971b57988deb9955df24e5ac1782a9b3fbf0f5070eb22c640e88f489cda12cdec38449f9e3bcf7189dc422642
+DIST python-redmine-2.5.0.tar.gz 73643 BLAKE2B aae400a68385fa98d454820081abacfabe69be473de8ee21feb47dfd8b3372cb0b8dfca168fc9daebd37da04a4fcca84235eb555262489dc1b717fd589dc849a SHA512 8c610efe5e4362ab27a33a04e78347e2962b9e766cea81c725b5b34bdff1d2c6a2e68e5d928b5aed97af569f5c6656dc2b39347a76cb371a3069bba3fd02c8e2
diff --git a/dev-python/python-redmine/python-redmine-2.4.0.ebuild b/dev-python/python-redmine/python-redmine-2.4.0.ebuild
deleted file mode 100644
index ab566a510d5b..000000000000
--- a/dev-python/python-redmine/python-redmine-2.4.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python interface to the Redmine REST API"
-HOMEPAGE="
- https://github.com/maxtepkeev/python-redmine/
- https://pypi.org/project/python-redmine/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/requests-2.28.2[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # https://github.com/maxtepkeev/python-redmine/pull/332
- sed -i -e 's:assertEquals:assertEqual:' tests/*.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- epytest -o addopts=
-}
diff --git a/dev-python/python-redmine/python-redmine-2.5.0.ebuild b/dev-python/python-redmine/python-redmine-2.5.0.ebuild
new file mode 100644
index 000000000000..cc301f30f2df
--- /dev/null
+++ b/dev-python/python-redmine/python-redmine-2.5.0.ebuild
@@ -0,0 +1,30 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python interface to the Redmine REST API"
+HOMEPAGE="
+ https://github.com/maxtepkeev/python-redmine/
+ https://pypi.org/project/python-redmine/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/requests-2.28.2[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/python-rtmidi/Manifest b/dev-python/python-rtmidi/Manifest
index c7567cc691a6..193f9f36e877 100644
--- a/dev-python/python-rtmidi/Manifest
+++ b/dev-python/python-rtmidi/Manifest
@@ -1 +1 @@
-DIST python_rtmidi-1.5.7.tar.gz 368514 BLAKE2B 32028dff34928b1794cc178b22821fe8e01bff36d18b17b8673c763b21ca7ef85a6cb3ee62adcddbaf0b655079e7b8819ba5a28e58b8d5713015728cd6648246 SHA512 23c88cd307b5bc937920db9b39d0423043fb47878d679f4d721a025368a01e23b8e72749e1146da3277d37a20a9c5486e2c40c2a907c5efc5418567e97c3de91
+DIST python_rtmidi-1.5.8.tar.gz 368130 BLAKE2B 99fecb8cd003431b5fca31f436a77f27a50076a02ea7f92019800d0816c968f032bd31d236a13d67b2ee9ebdc341d16955675867a8dd345e76282131b781ef13 SHA512 0f2b949a2a53f813a891bc391ce0369fbbec0d6e898a9ace2925adc5714d791ce1f4df133edf34c87b3336cb3ab4ad70851a42124241ec1707f32f66a778dc18
diff --git a/dev-python/python-rtmidi/metadata.xml b/dev-python/python-rtmidi/metadata.xml
index 93ee6355d770..fea32d854d2f 100644
--- a/dev-python/python-rtmidi/metadata.xml
+++ b/dev-python/python-rtmidi/metadata.xml
@@ -1,10 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<remote-id type="pypi">python-rtmidi</remote-id>
<remote-id type="github">SpotlightKid/python-rtmidi</remote-id>
diff --git a/dev-python/python-rtmidi/python-rtmidi-1.5.7.ebuild b/dev-python/python-rtmidi/python-rtmidi-1.5.8.ebuild
index a1779b717ea1..a1779b717ea1 100644
--- a/dev-python/python-rtmidi/python-rtmidi-1.5.7.ebuild
+++ b/dev-python/python-rtmidi/python-rtmidi-1.5.8.ebuild
diff --git a/dev-python/python-sense-hat/Manifest b/dev-python/python-sense-hat/Manifest
deleted file mode 100644
index d1e5bc696c3f..000000000000
--- a/dev-python/python-sense-hat/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST python-sense-hat-2.4.0.gh.tar.gz 27396 BLAKE2B 7f7482e17f80a3598c92f53f7a5b99ce4f5da10a5fc9ba6de656b6e18db323f8133f720d1486c3ecbe9badfdfe597c5365d2ba17ff637933d3053ec52f36dcfa SHA512 b2ce6c231b814d415dcf72b1031b29fd2309ccf194b8996401b1d3d7ff356ad4ed83a9ecff7c182410f789c3f1f47c3a6d64dd53884abf952f928734b94e54a5
diff --git a/dev-python/python-sense-hat/python-sense-hat-2.4.0.ebuild b/dev-python/python-sense-hat/python-sense-hat-2.4.0.ebuild
deleted file mode 100644
index f2e7bd4fe801..000000000000
--- a/dev-python/python-sense-hat/python-sense-hat-2.4.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Raspberry Pi Sense HAT python library"
-HOMEPAGE="https://github.com/astro-pi/python-sense-hat"
-SRC_URI="https://github.com/astro-pi/python-sense-hat/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="arm arm64"
-
-RDEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/rtimulib[${PYTHON_USEDEP}]
-"
-
-DEPEND="${RDEPEND}"
diff --git a/dev-python/python-slugify/Manifest b/dev-python/python-slugify/Manifest
index 977aa7ea4523..af80a0330af7 100644
--- a/dev-python/python-slugify/Manifest
+++ b/dev-python/python-slugify/Manifest
@@ -1 +1 @@
-DIST python-slugify-8.0.1.gh.tar.gz 13574 BLAKE2B 24fe3dc74f2a867e81bfbb9eac4a1db59a185ddfaf0f2f80cb50d5f06b2061ce28d23ba09ffd214dba26563d1ef37900d016d75dde7a7c35fa756cf49f51b9c2 SHA512 721089244c90f784e49259ee70caa0908d8523c2cf42c8fd57804a73017a815311a9cc9981c1f70a8c2f7cd7e01d77eedf8f9bd3c9d5c55ac4d5f72dbe512b34
+DIST python-slugify-8.0.4.gh.tar.gz 14098 BLAKE2B 684061ef5f1ee96d727caeb123957709ed391c4a746ef8a40945294ae9278947c18bd8be3d51fd2d9466b420f27ce833a54b84882375617004f9909a683090a9 SHA512 b401e574f23fa77152f8c64f15263766ed7d081759e93c28fce5fa32495eb4921701030b395ca1c738ca46a509e54bc987d81ff07fa602dd42bfa630a49aa4a0
diff --git a/dev-python/python-slugify/python-slugify-8.0.1.ebuild b/dev-python/python-slugify/python-slugify-8.0.1.ebuild
deleted file mode 100644
index 22e3139f4748..000000000000
--- a/dev-python/python-slugify/python-slugify-8.0.1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python Slugify application that handles Unicode"
-HOMEPAGE="
- https://github.com/un33k/python-slugify/
- https://pypi.org/project/python-slugify/
-"
-SRC_URI="
- https://github.com/un33k/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- dev-python/text-unidecode[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/python-slugify/python-slugify-8.0.4.ebuild b/dev-python/python-slugify/python-slugify-8.0.4.ebuild
new file mode 100644
index 000000000000..7f1df88bba20
--- /dev/null
+++ b/dev-python/python-slugify/python-slugify-8.0.4.ebuild
@@ -0,0 +1,29 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python Slugify application that handles Unicode"
+HOMEPAGE="
+ https://github.com/un33k/python-slugify/
+ https://pypi.org/project/python-slugify/
+"
+SRC_URI="
+ https://github.com/un33k/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86 ~arm64-macos ~x64-macos"
+
+RDEPEND="
+ dev-python/text-unidecode[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/python-snappy/Manifest b/dev-python/python-snappy/Manifest
index fc4f9904af29..b3376162bec1 100644
--- a/dev-python/python-snappy/Manifest
+++ b/dev-python/python-snappy/Manifest
@@ -1 +1 @@
-DIST python-snappy-0.6.1.tar.gz 24110 BLAKE2B 66ba24aa1768084c87188dde6eb6c98daf90da39e49902bbc283226aaf28b8d267bbc69f3cb9f30d9aaf64b3e25cc0fae47113bcc65f18dbec2128294c0dbe4b SHA512 43301f568633068bbdcb3dc318f37efcabbb5bd3f61a06b3a3a476006c3cbc1dfddea4ac2de0876bb127b354aa81ccc55dc44631dc8fba06036a0b6c7dfbdb9b
+DIST python_snappy-0.7.2.tar.gz 9108 BLAKE2B a0f23b286f97de2d61afc51dcba188d77d0c0099b7cba26c7a0e2bc4da41045fc6a4a95d3adf3ef80d16300a7d35a66955552cf5693c0a0a38b73478b864d266 SHA512 c585e9e953c2bf2cb7d3f24ae9745d267b334d681ca44b7d842de2405df19b24af0f6915f0274de2a86e74fdcfef3715e5c27765243d84459216476c31aaa437
diff --git a/dev-python/python-snappy/metadata.xml b/dev-python/python-snappy/metadata.xml
index 8e5d00faef0e..bc644dd69735 100644
--- a/dev-python/python-snappy/metadata.xml
+++ b/dev-python/python-snappy/metadata.xml
@@ -7,6 +7,6 @@
</maintainer>
<upstream>
<remote-id type="pypi">python-snappy</remote-id>
- <remote-id type="github">andrix/python-snappy</remote-id>
+ <remote-id type="github">intake/python-snappy</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/python-snappy/python-snappy-0.6.1.ebuild b/dev-python/python-snappy/python-snappy-0.6.1.ebuild
deleted file mode 100644
index c18c335f985f..000000000000
--- a/dev-python/python-snappy/python-snappy-0.6.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 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_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library for the snappy compression library from Google"
-HOMEPAGE="
- https://github.com/andrix/python-snappy/
- https://pypi.org/project/python-snappy/
-"
-
-LICENSE="BSD"
-KEYWORDS="amd64 arm arm64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
-SLOT="0"
-
-DEPEND="
- >=app-arch/snappy-1.0.2:=
-"
-RDEPEND="
- ${DEPEND}
-"
-
-python_test() {
- cp test*.py "${BUILD_DIR}" || die
- cd "${BUILD_DIR}" || die
- "${EPYTHON}" -m unittest -v || die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/python-snappy/python-snappy-0.7.2.ebuild b/dev-python/python-snappy/python-snappy-0.7.2.ebuild
new file mode 100644
index 000000000000..5e880843c1d3
--- /dev/null
+++ b/dev-python/python-snappy/python-snappy-0.7.2.ebuild
@@ -0,0 +1,25 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python library for the snappy compression library from Google"
+HOMEPAGE="
+ https://github.com/intake/python-snappy/
+ https://pypi.org/project/python-snappy/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~riscv ~sparc x86"
+
+RDEPEND="
+ >=dev-python/cramjam-2.6.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/python-socks/Manifest b/dev-python/python-socks/Manifest
index b2205a90d2ab..815fc5a9be22 100644
--- a/dev-python/python-socks/Manifest
+++ b/dev-python/python-socks/Manifest
@@ -1 +1 @@
-DIST python-socks-2.4.3.gh.tar.gz 32006 BLAKE2B 571c04e5b12ddff3e6d813b547b43899883ef132ad0e55c2fce33ae9e4cd63ca588fb700aba7e2ea5c021f55c7aeae0f8213d2aa8fca3d7bff502b7bd00ca854 SHA512 5ef55367b1fae2249690df0eb8ea55284f02287115b14e8b7ebeeed9ae3e8ed431e17247f369323651daa1177ac8c6dd207d5dd188134e04eff178dc240b9b8b
+DIST python-socks-2.5.0.gh.tar.gz 32293 BLAKE2B 20eaa8b27d695116f9d03bfa1807496c789a43804c06f441f7961d928095d169f9b581120c29d188e0eda39d15b517012647e6f6f682a29c260179dca422b0dc SHA512 d59a3eb851c80556e08513ae417a109da6670b81858df365818ca187d14b57719ee86c6a65d9e8a8366ad3c7a2516a10cabcbf9895d8456b5f188c80dae74eee
diff --git a/dev-python/python-socks/python-socks-2.4.3.ebuild b/dev-python/python-socks/python-socks-2.4.3.ebuild
deleted file mode 100644
index 1ce8d7e61fe4..000000000000
--- a/dev-python/python-socks/python-socks-2.4.3.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="SOCKS4, SOCKS5, HTTP tunneling functionality for Python"
-HOMEPAGE="
- https://github.com/romis2012/python-socks/
- https://pypi.org/project/python-socks/
-"
-SRC_URI="
- https://github.com/romis2012/python-socks/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-# curio is not packaged
-# asyncio is the only backend we have, so dep on its deps unconditionally
-# TODO: revisit
-RDEPEND="
- dev-python/async-timeout[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/anyio-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/async-timeout-3.0.1[${PYTHON_USEDEP}]
- >=dev-python/flask-1.1.2[${PYTHON_USEDEP}]
- >=dev-python/pytest-asyncio-0.18.3[${PYTHON_USEDEP}]
- >=dev-python/pytest-trio-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/tiny-proxy-0.1.1[${PYTHON_USEDEP}]
- >=dev-python/trio-0.16.0[${PYTHON_USEDEP}]
- >=dev-python/trustme-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/yarl-1.4.2[${PYTHON_USEDEP}]
- )
-"
-
-# Test markers exist to exclude trio etc if needed
-distutils_enable_tests pytest
diff --git a/dev-python/python-socks/python-socks-2.5.0.ebuild b/dev-python/python-socks/python-socks-2.5.0.ebuild
new file mode 100644
index 000000000000..2b88d418ab9c
--- /dev/null
+++ b/dev-python/python-socks/python-socks-2.5.0.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="SOCKS4, SOCKS5, HTTP tunneling functionality for Python"
+HOMEPAGE="
+ https://github.com/romis2012/python-socks/
+ https://pypi.org/project/python-socks/
+"
+SRC_URI="
+ https://github.com/romis2012/python-socks/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+# curio is not packaged
+# asyncio is the only backend we have, so dep on its deps unconditionally
+# TODO: revisit
+RDEPEND="
+ dev-python/async-timeout[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/anyio-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/async-timeout-3.0.1[${PYTHON_USEDEP}]
+ >=dev-python/flask-1.1.2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.18.3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-trio-0.7.0[${PYTHON_USEDEP}]
+ >=dev-python/tiny-proxy-0.1.1[${PYTHON_USEDEP}]
+ >=dev-python/trio-0.16.0[${PYTHON_USEDEP}]
+ >=dev-python/trustme-0.9.0[${PYTHON_USEDEP}]
+ >=dev-python/yarl-1.4.2[${PYTHON_USEDEP}]
+ )
+"
+
+# Test markers exist to exclude trio etc if needed
+distutils_enable_tests pytest
diff --git a/dev-python/python-stdnum/Manifest b/dev-python/python-stdnum/Manifest
index 0b4e63232368..88b7fb3e802f 100644
--- a/dev-python/python-stdnum/Manifest
+++ b/dev-python/python-stdnum/Manifest
@@ -1 +1 @@
-DIST python-stdnum-1.19.tar.gz 1134517 BLAKE2B a6e35abcd00302dff0c6df82c13691c4528de069b7702f905aabffd840b7d95902f2c74525d824606bc4b28579d38153367997a73910ab93afb4eb4272b76c40 SHA512 02c56aea710a9a02e14160840fbd45751cd00f1a49b1d046124945ba92e2dd3377006f44a146030522d09b92f809ceb4d1e3589ef3d9c9302f7674a79602ef07
+DIST python-stdnum-1.20.tar.gz 1191978 BLAKE2B 8395106d155c1f4642a74691d219230b42e81b521db41c57d5e978eb8e1769ca51598a1ad061356a1997fac5a60ca21796d1e8f79fa7d737e70fbbfe78dbfcc6 SHA512 92ec9fcb3bf71405569e93668ab1d089225da74a33095e63ee8f0116c868a4b937d093ba98e29085889d1745cc55eab13936d6ed9ceb24beecbc193c722a515e
diff --git a/dev-python/python-stdnum/python-stdnum-1.19.ebuild b/dev-python/python-stdnum/python-stdnum-1.19.ebuild
deleted file mode 100644
index 848cbf574444..000000000000
--- a/dev-python/python-stdnum/python-stdnum-1.19.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A module to handle standardized numbers and codes"
-HOMEPAGE="
- https://arthurdejong.org/python-stdnum/
- https://github.com/arthurdejong/python-stdnum/
- https://pypi.org/project/python-stdnum/
-"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-IUSE="vies"
-
-RDEPEND="
- vies? (
- || (
- dev-python/zeep[${PYTHON_USEDEP}]
- dev-python/suds-community[${PYTHON_USEDEP}]
- )
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -i -e 's:--cov.*::' setup.cfg || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/python-stdnum/python-stdnum-1.20.ebuild b/dev-python/python-stdnum/python-stdnum-1.20.ebuild
new file mode 100644
index 000000000000..d2c1ea631a5d
--- /dev/null
+++ b/dev-python/python-stdnum/python-stdnum-1.20.ebuild
@@ -0,0 +1,38 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A module to handle standardized numbers and codes"
+HOMEPAGE="
+ https://arthurdejong.org/python-stdnum/
+ https://github.com/arthurdejong/python-stdnum/
+ https://pypi.org/project/python-stdnum/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+IUSE="vies"
+
+RDEPEND="
+ vies? (
+ || (
+ dev-python/zeep[${PYTHON_USEDEP}]
+ dev-python/suds-community[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e 's:--cov.*::' setup.cfg || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/python-swiftclient/Manifest b/dev-python/python-swiftclient/Manifest
index 3d99e937c315..a8af850e35c9 100644
--- a/dev-python/python-swiftclient/Manifest
+++ b/dev-python/python-swiftclient/Manifest
@@ -1 +1 @@
-DIST python-swiftclient-4.4.0.tar.gz 206470 BLAKE2B d822af670fcb06a5977d070fb9e5ec1110f7ae275203d18eaeb0cd4335fe0e07f3f7e6b28e367834d33770d3a8b27a9af0c85cd30a1e9a7047ad908ca34f13bf SHA512 d3e814d367ff0c9a251524a50ce00cd89955edf43a542257142aa831d0d2d1f8dceb5b1b0b6456ad940c9aef78ec44bd1617fc45e47f64f045ddb591b5adb83b
+DIST python-swiftclient-4.6.0.tar.gz 209473 BLAKE2B e35516c4e05c889af5e9e794179b2c5a5fe364bcc85492639dd58c45ffc756d86942038d683e685c9f33d876043c0953c6b0cf69db16abdf57c057cf24ab97ed SHA512 19883c2640cf6071752e09261c7d8499e01b749100e6d79cc3a83e08bffc7392ee852351b11d549001d23898d4c34e8309fdadb8e0241e301bf03300db80eef7
diff --git a/dev-python/python-swiftclient/python-swiftclient-4.4.0.ebuild b/dev-python/python-swiftclient/python-swiftclient-4.4.0.ebuild
deleted file mode 100644
index 1ed6637c0c18..000000000000
--- a/dev-python/python-swiftclient/python-swiftclient-4.4.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings to the OpenStack Object Storage API"
-HOMEPAGE="
- https://opendev.org/openstack/python-swiftclient/
- https://github.com/openstack/python-swiftclient/
- https://pypi.org/project/python-swiftclient/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- >=dev-python/requests-2.4.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/pbr[${PYTHON_USEDEP}]
- test? (
- >=dev-python/keystoneauth1-3.4.0[${PYTHON_USEDEP}]
- dev-python/python-keystoneclient[${PYTHON_USEDEP}]
- >=dev-python/mock-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/openstacksdk-0.11.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_prepare_all() {
- sed -e 's/test_password_prompt/_&/' -i test/unit/test_shell.py || die
- # fix duplicate script/entry point
- # https://bugs.launchpad.net/python-swiftclient/+bug/1975361
- sed -i -e '/bin\/swift/d' setup.cfg || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/python-swiftclient/python-swiftclient-4.6.0.ebuild b/dev-python/python-swiftclient/python-swiftclient-4.6.0.ebuild
new file mode 100644
index 000000000000..bb6756e38ebb
--- /dev/null
+++ b/dev-python/python-swiftclient/python-swiftclient-4.6.0.ebuild
@@ -0,0 +1,40 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings to the OpenStack Object Storage API"
+HOMEPAGE="
+ https://opendev.org/openstack/python-swiftclient/
+ https://github.com/openstack/python-swiftclient/
+ https://pypi.org/project/python-swiftclient/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ >=dev-python/requests-2.4.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/keystoneauth1-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/openstacksdk-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/python-keystoneclient-0.7.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_prepare_all() {
+ sed -e 's/test_password_prompt/_&/' -i test/unit/test_shell.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/python-systemd/python-systemd-235.ebuild b/dev-python/python-systemd/python-systemd-235.ebuild
index 170980c64f32..66a2edc3db57 100644
--- a/dev-python/python-systemd/python-systemd-235.ebuild
+++ b/dev-python/python-systemd/python-systemd-235.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2015-2023 Gentoo Authors
+# Copyright 2015-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_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/python-utils/Manifest b/dev-python/python-utils/Manifest
index 363313da9b47..02716de34825 100644
--- a/dev-python/python-utils/Manifest
+++ b/dev-python/python-utils/Manifest
@@ -1 +1 @@
-DIST python-utils-3.8.1.tar.gz 30545 BLAKE2B 9132387de0d12c51dbd4a7a3eda561fa9935c9fa86d76346e50e4ee9401065211a02bb45e89df402900263d28b115b761c2a8d7a2fe799866da20d4848f48451 SHA512 ccba9651cc99a8f4e3f13e7ff66a43a40d2e85bc735b6246524269495ff321225a0dcad9abd03ca9cb61b4b1b35a27009fac3fe87e3f748ffc5c87a956acd335
+DIST python-utils-3.8.2.tar.gz 30431 BLAKE2B 3c53c02729f601b30e68a26cd4b61e49c29f036a1327c43124e326dae173d1b528035bb0952c349ec43f3cd6e159c2e0d5e82c8c46efd12c95f445dbb20751c0 SHA512 e0de794abe95f3e205fcbde0fd52615f44128ffb702a406ff0d3f7ce2640ff60ac3cc508829245bce750ed191c9d3ae563b8f0619af4c2c43cacde6a1aa0fde4
diff --git a/dev-python/python-utils/python-utils-3.8.1.ebuild b/dev-python/python-utils/python-utils-3.8.1.ebuild
deleted file mode 100644
index 049b88eae0d8..000000000000
--- a/dev-python/python-utils/python-utils-3.8.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Collection of small Python functions & classes"
-HOMEPAGE="
- https://github.com/WoLpH/python-utils/
- https://pypi.org/project/python-utils/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-
-RDEPEND="
- dev-python/typing-extensions[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- docs
- _python_utils_tests/test_logger.py
- python_utils/loguru.py
-)
-
-python_prepare_all() {
- sed -i -e '/--cov/d' -e '/--mypy/d' pytest.ini || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/python-utils/python-utils-3.8.2.ebuild b/dev-python/python-utils/python-utils-3.8.2.ebuild
new file mode 100644
index 000000000000..21dab8c4ee1d
--- /dev/null
+++ b/dev-python/python-utils/python-utils-3.8.2.ebuild
@@ -0,0 +1,47 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of small Python functions & classes"
+HOMEPAGE="
+ https://github.com/WoLpH/python-utils/
+ https://pypi.org/project/python-utils/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+
+RDEPEND="
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ docs
+ _python_utils_tests/test_logger.py
+ python_utils/loguru.py
+)
+
+EPYTEST_DESELECT=(
+ # fragile
+ _python_utils_tests/test_time.py::test_timeout_generator
+)
+
+python_prepare_all() {
+ sed -i -e '/--cov/d' -e '/--mypy/d' pytest.ini || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/python-vlc/Manifest b/dev-python/python-vlc/Manifest
index 3b17911e4d8b..7eb48ac6de4e 100644
--- a/dev-python/python-vlc/Manifest
+++ b/dev-python/python-vlc/Manifest
@@ -1,2 +1 @@
-DIST python-vlc-3.0.18122.tar.gz 152762 BLAKE2B 311d3e450160db5fa7ec2cbf078382a8cb1c4a73a42aba7aa47dcfdeb09f1be26ace94d8dd2cd49d4c300dd8a74fcb1bea93a9b7f913e31d5240f3eab0249601 SHA512 f9233cba21ad986486d088c70c721d79847858762a10519bb19f69e2dbe4de9899304080742cc6bac3a53f7489152c38a432cff3fed516ece7e2b5d3136fc0a6
DIST python-vlc-3.0.20123.tar.gz 159444 BLAKE2B 683433f2ab1f6b8a08971aac668c8dcbf98ecb9327a567be8be101b20be8157ca954da717f82dcec26310468254cf785d30a237560fd5da2b9799e4910cbceac SHA512 7268ef806b99fcfac552d7735dc0e3b07741aa1bc8b7dfacf53bcaa4e82d7af854f96f48198fd648a8fa78eb817643ac0f1939c3e370385f407ebe3c468e35d5
diff --git a/dev-python/python-vlc/python-vlc-3.0.18122.ebuild b/dev-python/python-vlc/python-vlc-3.0.18122.ebuild
deleted file mode 100644
index 439e4eb3f722..000000000000
--- a/dev-python/python-vlc/python-vlc-3.0.18122.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python ctypes-based bindings for libvlc"
-HOMEPAGE="https://github.com/oaubert/python-vlc
- https://wiki.videolan.org/Python_bindings/"
-
-LICENSE="LGPL-2.1+"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- media-video/vlc
-"
diff --git a/dev-python/python-xlib/python-xlib-0.33.ebuild b/dev-python/python-xlib/python-xlib-0.33.ebuild
index de00bd38d19e..ec6e1d083285 100644
--- a/dev-python/python-xlib/python-xlib-0.33.ebuild
+++ b/dev-python/python-xlib/python-xlib-0.33.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 virtualx
@@ -19,7 +19,7 @@ SRC_URI="
LICENSE="LGPL-2+"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ppc ~ppc64 ~riscv x86"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
IUSE="doc"
RDEPEND="
diff --git a/dev-python/python-xmp-toolkit/Manifest b/dev-python/python-xmp-toolkit/Manifest
index c03dc430d529..aaca8017a812 100644
--- a/dev-python/python-xmp-toolkit/Manifest
+++ b/dev-python/python-xmp-toolkit/Manifest
@@ -1 +1 @@
-DIST python-xmp-toolkit-2.0.1.gh.tar.gz 3576384 BLAKE2B cbe73d08d101d0d44c368fd1f1c6f1c8308ece5ca26f164f78312d901fb5d0387a5d2a6519d527b3625d11e338df5c366bed8a7361ac822ac887ef8be3a74948 SHA512 46f83b03574b2d742f6c6efb5b94a549068557ad6338e74fc62368c265d05f0b66a4dd36b17cd51b39f7b6cfbfb1210d54cc44c69e9a9e3da3392ee5f11de3bd
+DIST python-xmp-toolkit-2.0.2.gh.tar.gz 3577828 BLAKE2B bc24224c5dc789b0f66545a85b10bcab2dd64dcd5195ef04eae6cac94e1c377466aa40adc4aa42d014a7094df4dbe6f437b78e38b5a0e36e0f2eeeb0a08f1f4b SHA512 7ab70e78abe3f315863c444c5d841ff4ae9e95968ccef45e15d20df5206140939f0e857e6c987a643ba908aa8d92dc4870e77d94cfafc547208e4705fa9187e1
diff --git a/dev-python/python-xmp-toolkit/python-xmp-toolkit-2.0.1-r2.ebuild b/dev-python/python-xmp-toolkit/python-xmp-toolkit-2.0.1-r2.ebuild
deleted file mode 100644
index f7dd1001fd8a..000000000000
--- a/dev-python/python-xmp-toolkit/python-xmp-toolkit-2.0.1-r2.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Library for working with XMP metadata"
-HOMEPAGE="
- https://github.com/python-xmp-toolkit/python-xmp-toolkit/
- https://pypi.org/project/python-xmp-toolkit/
-"
-SRC_URI="
- https://github.com/python-xmp-toolkit/python-xmp-toolkit/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-DEPEND="
- test? ( media-libs/exempi )
-"
-RDEPEND="
- dev-python/pytz[${PYTHON_USEDEP}]
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-test.patch
-)
-
-distutils_enable_sphinx docs
-distutils_enable_tests unittest
diff --git a/dev-python/python-xmp-toolkit/python-xmp-toolkit-2.0.2-r1.ebuild b/dev-python/python-xmp-toolkit/python-xmp-toolkit-2.0.2-r1.ebuild
new file mode 100644
index 000000000000..aaada29bf89b
--- /dev/null
+++ b/dev-python/python-xmp-toolkit/python-xmp-toolkit-2.0.2-r1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Library for working with XMP metadata"
+HOMEPAGE="
+ https://github.com/python-xmp-toolkit/python-xmp-toolkit/
+ https://pypi.org/project/python-xmp-toolkit/
+"
+SRC_URI="
+ https://github.com/python-xmp-toolkit/python-xmp-toolkit/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~loong ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/pytz[${PYTHON_USEDEP}]
+ media-libs/exempi
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.0.1-test.patch
+)
+
+distutils_enable_sphinx docs
+distutils_enable_tests unittest
diff --git a/dev-python/python3-discogs-client/python3-discogs-client-2.7.ebuild b/dev-python/python3-discogs-client/python3-discogs-client-2.7.ebuild
index 5544804553aa..5e2a9ac6cd6b 100644
--- a/dev-python/python3-discogs-client/python3-discogs-client-2.7.ebuild
+++ b/dev-python/python3-discogs-client/python3-discogs-client-2.7.ebuild
@@ -1,11 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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
-PYPI_PN="python3-discogs-client"
PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/python3-discogs-client/python3-discogs-client-9999.ebuild b/dev-python/python3-discogs-client/python3-discogs-client-9999.ebuild
index 3e47b3b4124c..6c4aa64a3c5d 100644
--- a/dev-python/python3-discogs-client/python3-discogs-client-9999.ebuild
+++ b/dev-python/python3-discogs-client/python3-discogs-client-9999.ebuild
@@ -1,11 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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
-PYPI_PN="python3-discogs-client"
PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1
diff --git a/dev-python/python3-saml/Manifest b/dev-python/python3-saml/Manifest
index 3e07812b42b8..b6371b767e0f 100644
--- a/dev-python/python3-saml/Manifest
+++ b/dev-python/python3-saml/Manifest
@@ -1,2 +1 @@
-DIST python3-saml-1.15.0.gh.tar.gz 511199 BLAKE2B c1dafb5ff9c45a79042915261cdc380a1ca77b56d518999164f48c904e53a486d157e5b522b77df9abea2b3306f8b17a06a7ac3e41ad0c86bea2c08468199e60 SHA512 8ecfd827e3b90f65a04ed46f8efd49680d42ecaa46b46857e0f712c2996207a8aa38834f55ec35e599845f6921bd4d82d76e549494c71cc5ffd918e70b87b6a8
DIST python3-saml-1.16.0.gh.tar.gz 3578998 BLAKE2B 94fc65caf978aeb30577ff435ce874c1fbb15dac0c5028e15a8adb21631496b9382d538c80ae77e1ba4166d2fbf22c7ac96bce7b6e3533589a6b8654f5be35ee SHA512 77e779a3d3190f3164105bbc2943b54729dfef12c71b0303a523acada95da291bc77b331a83726f00c503ef09040a05180c234620e5a65d4ea4fd88da24eeade
diff --git a/dev-python/python3-saml/python3-saml-1.15.0.ebuild b/dev-python/python3-saml/python3-saml-1.15.0.ebuild
deleted file mode 100644
index 48d771b7a68b..000000000000
--- a/dev-python/python3-saml/python3-saml-1.15.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="OneLogin's SAML Python Toolkit"
-HOMEPAGE="
- https://github.com/SAML-Toolkits/python3-saml/
- https://pypi.org/project/python3-saml/
-"
-SRC_URI="
- https://github.com/SAML-Toolkits/python3-saml/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc64 ~x86"
-
-RDEPEND="
- >=dev-python/isodate-0.6.1[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.9.0[${PYTHON_USEDEP}]
- >=dev-python/xmlsec-1.3.9[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_test() {
- # The tests are horribly fragile to paths.
- local -x PYTHONPATH=src
- eunittest -p '*_test.py'
-}
diff --git a/dev-python/python3-xapp/files/python3-xapp-configurable-python-target.patch b/dev-python/python3-xapp/files/python3-xapp-configurable-python-target.patch
new file mode 100644
index 000000000000..cdc6988934b9
--- /dev/null
+++ b/dev-python/python3-xapp/files/python3-xapp-configurable-python-target.patch
@@ -0,0 +1,31 @@
+From 70966ad200bf2a5e5769a2ac5f1d4da0a4a3aa51 Mon Sep 17 00:00:00 2001
+From: Sparky Bluefang <sparky@bluefang-logic.com>
+Date: Tue, 2 Jan 2024 22:19:46 -0500
+Subject: [PATCH] Make python installation configurable for distro packaging.
+
+---
+ meson.build | 2 +-
+ meson_options.txt | 1 +
+ 2 files changed, 2 insertions(+), 1 deletion(-)
+ create mode 100644 meson_options.txt
+
+diff --git a/meson.build b/meson.build
+index a9b67ca..a930803 100644
+--- a/meson.build
++++ b/meson.build
+@@ -1,7 +1,7 @@
+ project('python-xapp', version: '2.4.1', meson_version: '>=0.47.0')
+
+ pymod = import('python')
+-python3 = pymod.find_installation('python3')
++python3 = pymod.find_installation(get_option('python_target'))
+
+ subdir('xapp')
+
+diff --git a/meson_options.txt b/meson_options.txt
+new file mode 100644
+index 0000000..689a9c9
+--- /dev/null
++++ b/meson_options.txt
+@@ -0,0 +1 @@
++option('python_target', type: 'string', value: 'python3', description: 'Python installation to target')
diff --git a/dev-python/python3-xapp/python3-xapp-2.4.1-r2.ebuild b/dev-python/python3-xapp/python3-xapp-2.4.1-r2.ebuild
new file mode 100644
index 000000000000..46d9df3aeab8
--- /dev/null
+++ b/dev-python/python3-xapp/python3-xapp-2.4.1-r2.ebuild
@@ -0,0 +1,58 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=7
+
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit meson python-r1
+
+DESCRIPTION="Python bindings for x11-libs/xapp"
+HOMEPAGE="https://github.com/linuxmint/python3-xapp"
+SRC_URI="https://github.com/linuxmint/python3-xapp/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="LGPL-2+"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv x86"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+DEPEND="
+ $(python_gen_cond_dep '
+ >=x11-libs/xapp-2.8.1[introspection,${PYTHON_USEDEP}]
+ ')
+"
+RDEPEND="
+ ${DEPEND}
+ ${PYTHON_DEPS}
+ dev-python/psutil[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ # Make python installation configurable for distro packaging
+ # https://github.com/linuxmint/python3-xapp/pull/23
+ "${FILESDIR}"/${PN}-configurable-python-target.patch
+)
+
+src_configure() {
+ configuring() {
+ meson_src_configure \
+ -Dpython_target="${EPYTHON}"
+ }
+ python_foreach_impl configuring
+}
+
+src_compile() {
+ python_foreach_impl meson_src_compile
+}
+
+src_test() {
+ python_foreach_impl meson_src_test
+}
+
+src_install() {
+ installing() {
+ meson_src_install
+ python_optimize
+ }
+ python_foreach_impl installing
+}
diff --git a/dev-python/python3-xapp/python3-xapp-2.4.1.ebuild b/dev-python/python3-xapp/python3-xapp-2.4.1.ebuild
deleted file mode 100644
index 6492fcd562ef..000000000000
--- a/dev-python/python3-xapp/python3-xapp-2.4.1.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=7
-
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit meson python-r1
-
-DESCRIPTION="Python bindings for x11-libs/xapp"
-HOMEPAGE="https://github.com/linuxmint/python3-xapp"
-SRC_URI="https://github.com/linuxmint/python3-xapp/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="LGPL-2+"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~loong ~ppc64 ~riscv x86"
-IUSE=""
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="
- >=x11-libs/xapp-2.4.1[introspection]
-"
-RDEPEND="
- ${DEPEND}
- ${PYTHON_DEPS}
- dev-python/psutil[${PYTHON_USEDEP}]
-"
-
-src_prepare() {
- echo "option('python', type: 'string', value: 'python3')" >> meson_options.txt || die
- sed -i "s/find_installation('python3')/find_installation(get_option('python'))/" meson.build || die
- default
-}
-
-src_configure() {
- configuring() {
- meson_src_configure \
- -Dpython="${EPYTHON}"
- }
- python_foreach_impl configuring
-}
-
-src_compile() {
- python_foreach_impl meson_src_compile
-}
-
-src_test() {
- python_foreach_impl meson_src_test
-}
-
-src_install() {
- installing() {
- meson_src_install
- python_optimize
- }
- python_foreach_impl installing
-}
diff --git a/dev-python/pythondialog/pythondialog-3.5.3.ebuild b/dev-python/pythondialog/pythondialog-3.5.3.ebuild
index 694085c05663..0e1109ba8ba4 100644
--- a/dev-python/pythondialog/pythondialog-3.5.3.ebuild
+++ b/dev-python/pythondialog/pythondialog-3.5.3.ebuild
@@ -1,16 +1,16 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..11} pypy3 )
inherit distutils-r1
DESCRIPTION="A Python module for making simple text/console-mode user interfaces"
HOMEPAGE="https://pythondialog.sourceforge.io/"
-SRC_URI="mirror://sourceforge/project/${PN}/${PN}/${PV}/python3-${P}.tar.bz2"
+SRC_URI="https://downloads.sourceforge.net/project/${PN}/${PN}/${PV}/python3-${P}.tar.bz2"
LICENSE="LGPL-2"
SLOT="0"
diff --git a/dev-python/pythonfinder/Manifest b/dev-python/pythonfinder/Manifest
index d57d6a8849bd..ceaa7d12fb6d 100644
--- a/dev-python/pythonfinder/Manifest
+++ b/dev-python/pythonfinder/Manifest
@@ -1,2 +1 @@
-DIST pythonfinder-2.0.5.tar.gz 718776 BLAKE2B 32a49dbff143042554d5328b61b612e3bde7a870d53a229303b6bdd2c2ce76457bf6aadcdb215efa332407003c1319215292f3278a2808b669b5b7819af08902 SHA512 4d205c66d7ae36f4f2b8ddab9cce00f4efd5548a41d251470a515b88f8be2dcede75372b9301223822031ae663c6ccf77156531b0dd5d8972424f90641255c5b
-DIST pythonfinder-2.0.6.tar.gz 718821 BLAKE2B bc45c8ebffd4b8a21084c3b5f4d9cba71383613e6b25ec01ba53b0abf5d01cf78d1636b19c6c32f80eec401c56c25eedded793fabc46e2bbd389074a45ae14f5 SHA512 2aad884101d1a9fc1340fb63b11811aa7bd1c1f6d2945f9d133bb473099c7e11da21a4348ca742cae03a23fc8b12b85dcae4e9b3a2d29ec98530b6d8d2567d1c
+DIST pythonfinder-2.1.0.tar.gz 717240 BLAKE2B 73e748c1c8d3b38270d9d73861c296eb96685f2bf1318344f7f6214b948381e464a90422451a49c32b4e6117c5a75ba8af0cffc75405a65e28c5f3e14f8c834a SHA512 ddba8fe6fbd986c48be941b1bd76f8ca1f11985cadbce55a51e1fd110c2a8bc99c7536c288f2e16d0204bd854ee46db1761c12bca336d74764e99ab424210555
diff --git a/dev-python/pythonfinder/files/2.0.5-fix-import-cached-property.patch b/dev-python/pythonfinder/files/2.0.5-fix-import-cached-property.patch
deleted file mode 100644
index ce1af3244fbd..000000000000
--- a/dev-python/pythonfinder/files/2.0.5-fix-import-cached-property.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/src/pythonfinder/models/path.py b/src/pythonfinder/models/path.py
-index a8fb807..a933a91 100644
---- a/src/pythonfinder/models/path.py
-+++ b/src/pythonfinder/models/path.py
-@@ -19,7 +19,7 @@ from typing import (
- Union,
- )
-
--from cached_property import cached_property
-+from functools import cached_property
- from pydantic import Field, root_validator
-
- from ..environment import (
diff --git a/dev-python/pythonfinder/files/pythonfinder-2.0.6-pydantic-2.patch b/dev-python/pythonfinder/files/pythonfinder-2.0.6-pydantic-2.patch
deleted file mode 100644
index 6b3840361bed..000000000000
--- a/dev-python/pythonfinder/files/pythonfinder-2.0.6-pydantic-2.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-diff --git a/pyproject.toml b/pyproject.toml
-index 73a3c85..27c9a7e 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -39 +39 @@ dependencies = [
-- "pydantic>=1.10.7,<2",
-+ "pydantic>=2",
-@@ -140 +140 @@ runtime-evaluated-base-classes = [
-- "pydantic.BaseModel",
-+ "pydantic.v1.BaseModel",
-diff --git a/src/pythonfinder/models/common.py b/src/pythonfinder/models/common.py
-index 4c439c9..0ef3d77 100644
---- a/src/pythonfinder/models/common.py
-+++ b/src/pythonfinder/models/common.py
-@@ -3 +3 @@ from __future__ import annotations
--from pydantic import BaseModel, Extra
-+from pydantic.v1 import BaseModel, Extra
-diff --git a/src/pythonfinder/models/mixins.py b/src/pythonfinder/models/mixins.py
-index 58ce99a..e68020f 100644
---- a/src/pythonfinder/models/mixins.py
-+++ b/src/pythonfinder/models/mixins.py
-@@ -15 +15 @@ from typing import (
--from pydantic import BaseModel, Field, validator
-+from pydantic.v1 import BaseModel, Field, validator
-diff --git a/src/pythonfinder/models/path.py b/src/pythonfinder/models/path.py
-index fe98054..beb88be 100644
---- a/src/pythonfinder/models/path.py
-+++ b/src/pythonfinder/models/path.py
-@@ -26 +26 @@ else:
--from pydantic import Field, root_validator
-+from pydantic.v1 import Field, root_validator
-diff --git a/src/pythonfinder/models/python.py b/src/pythonfinder/models/python.py
-index c5e0345..32c82a8 100644
---- a/src/pythonfinder/models/python.py
-+++ b/src/pythonfinder/models/python.py
-@@ -22 +22 @@ from packaging.version import Version
--from pydantic import Field, validator
-+from pydantic.v1 import Field, validator
diff --git a/dev-python/pythonfinder/pythonfinder-2.0.5.ebuild b/dev-python/pythonfinder/pythonfinder-2.0.5.ebuild
deleted file mode 100644
index 9c74fb3a81be..000000000000
--- a/dev-python/pythonfinder/pythonfinder-2.0.5.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2022-2023 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="PythonFinder: Cross Platform Search Tool for Finding Pythons"
-HOMEPAGE="
- https://github.com/sarugaku/pythonfinder
- https://pypi.org/project/pythonfinder/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-PATCHES=(
- "${FILESDIR}/2.0.5-fix-import-cached-property.patch"
-)
-
-RDEPEND="
- <dev-python/pydantic-2[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pythonfinder/pythonfinder-2.0.6.ebuild b/dev-python/pythonfinder/pythonfinder-2.0.6.ebuild
deleted file mode 100644
index 3218968b9d7a..000000000000
--- a/dev-python/pythonfinder/pythonfinder-2.0.6.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2022-2023 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="PythonFinder: Cross Platform Search Tool for Finding Pythons"
-HOMEPAGE="
- https://github.com/sarugaku/pythonfinder/
- https://pypi.org/project/pythonfinder/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv"
-
-RDEPEND="
- >=dev-python/pydantic-2[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- # based on the patch from Arch
- # https://gitlab.archlinux.org/archlinux/packaging/packages/python-pythonfinder/-/blob/main/python-pythonfinder-2.0.5-pydantic2.patch
- "${FILESDIR}"/pythonfinder-2.0.6-pydantic-2.patch
-)
-
-python_test() {
- epytest -o addopts=
-}
diff --git a/dev-python/pythonfinder/pythonfinder-2.1.0.ebuild b/dev-python/pythonfinder/pythonfinder-2.1.0.ebuild
new file mode 100644
index 000000000000..4061a8d818af
--- /dev/null
+++ b/dev-python/pythonfinder/pythonfinder-2.1.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="PythonFinder: Cross Platform Search Tool for Finding Pythons"
+HOMEPAGE="
+ https://github.com/sarugaku/pythonfinder/
+ https://pypi.org/project/pythonfinder/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+BDEPEND="
+ test? (
+ dev-python/click[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/pythonnet/Manifest b/dev-python/pythonnet/Manifest
new file mode 100644
index 000000000000..38964eb1ff57
--- /dev/null
+++ b/dev-python/pythonnet/Manifest
@@ -0,0 +1,188 @@
+DIST benchmarkdotnet.0.13.1.nupkg 1122681 BLAKE2B 52c59126e95a50d257e2a5a6348b72e333d94c3ebd5ca7e1b4fd3572bdd56b011929f3964cea6ccff6ada9eafca051cb7577f570b3f8b53af6f8b567363843f2 SHA512 6deab63b856f09cd55482765521dd303e29e40feed8f084e9a306206fae1bcaed0e52282dd4977fb5f9704df705449f91fd085c0d01ea9896919b1659a081a6a
+DIST benchmarkdotnet.annotations.0.13.1.nupkg 44665 BLAKE2B 0bb66d76096ea22d7813d53a5fa59938ecbdbf842652ad2e64a20567660ebc1ffa18c23876a3b29bd86d4f1c6bdf4e18c198afbf247a88c8bd17efd7928da58a SHA512 4aef6f2b80f45f54ae908f8858b90d60ef32d04da33a8d5c89178fa5b504993a7b521581421769627746e7c3de7670732455180019f6139c84da7ded5f39bc64
+DIST commandlineparser.2.4.3.nupkg 110637 BLAKE2B 0493839d7a58ed915281dbf922c2223a8b7acf7b85433673c448e88246537ee95f352144b554af9e117b24f99518483c8d08d2c71a3843d52f222a6067e98dc5 SHA512 dff5a9482b07368e1a4d268d5bd4a7992a91343811e2678a5499f96a72999ff851fe51a70e9f076c332ed7fc361973978b6ac0851114d5c37040cb44b654759a
+DIST iced.1.8.0.nupkg 1841514 BLAKE2B c8d8e6d2c4f21e07fb686dd912102176c73f4e5809e2dfad46398324e2ce31d44b5b883d33aa37f20f1ae5133746dbe3a6fda17743ed86091d84dcc45e69c3b8 SHA512 e227279c18cae8d618b87c45077140c6f0ecbe57c58965015dbfb7895434ec07e4954f8ef209a08c23512df73fe694eda42bc0254fe0dc28439fd4ad80e28e8e
+DIST lost.compat.nullabilityattributes.0.0.4.nupkg 13605 BLAKE2B a064819687babeddc6f3fda561e8c3bd4a94baaae0d1113ba02838695c5824e660dbaeb9519172d762efb952542cfaf462d37e23573a4c6a6e1f057304ecc079 SHA512 21f92c3927205e5940b84558c50d3a2fc356b5a4fc5e37ccc2d8af7ede8b2ad248f2f45d997b0c9f1921d1adefbbe174822896f800d558d1ad5b3e3ee5d1aeda
+DIST microsoft.build.tasks.git.1.1.1.nupkg 479497 BLAKE2B 053ad5b3b88194d12e9e784c8a91d33deb8a2abc48cf3179990fdd2f576168b19a757b3a3915309fb040a1441bd5102bca333383d757f828c029846e3feef88f SHA512 1961b5ba2ce215f6cd0943948e66462b7388b612708c58a5e03ab1e041ac77f1582f9ed9134136fce0d5345d1d46a1537ff728f542e6dd4ea2c11eac9d3f8d46
+DIST microsoft.codeanalysis.analyzers.2.6.1.nupkg 192329 BLAKE2B e8bf6faf16fff0083a85fa240cf63fa23bce0be3bedaba58ca1006c9f70b7f13edfa9ae310b35b62b4503f0d38bf24179d60917372d3bcc0d0a4745386dc3fdd SHA512 7a208ff196e406e8ac1d48cb6c11db94575751de64e73d96bdbebe1f62f073fc29a9c1fd205d03db54bcecaa3e74e1b53703861b5fb3ab004717fbf1d67f8f19
+DIST microsoft.codeanalysis.common.2.10.0.nupkg 1822495 BLAKE2B 27f6b52d84b62a62e8cab3f9ef38a39ebfbc48249fdf3189bc7275995efc8ff5974db360a015b561d0e5db846367668fc450cb810436bca306e170e6266a6da7 SHA512 33e030a4247560fcd36aa490ba09ffbfb3dfb514cca75c7ace1a43a5fa08a1c360aeec1e253401969c1c3724151af4591e09eb7793ffc5c50c840f4ca184b63e
+DIST microsoft.codeanalysis.csharp.2.10.0.nupkg 3991648 BLAKE2B 5702b70f6450a017ec21c3da6c3590f9008a1f2fc78054a3ab7562cf25745549ea0ad36c81521ea7cef2cefb0051c68e827c0f7493ed9f37178f98a79ce93f7b SHA512 6339b58a24d3f53d259c50d1ef5618aa986ae75f4036a50e7f478ab49e04f851dd2c28d8bdd1624237db180defe09076cdadff18e19d0876c89b5f6396a82c07
+DIST microsoft.codecoverage.16.11.0.nupkg 6555498 BLAKE2B af38676c45bd6bf373af459f5fd568fc6caecb60f6f1cb9e2f8dcc9ecac1981af4484b55f029deefe46b1e1c4d3889bd6c67023b0728b61d7acb3334f91d143e SHA512 ddafda2e157025c7299f452884c6802f347e446139e6b503b843e9f5b2301e4bcc5a74d7b8a89fb128d30a7960bddbdab879c0aa79fa6cd56b99e916fb891a88
+DIST microsoft.codecoverage.17.0.0.nupkg 6633320 BLAKE2B 9093b05a947dd2349ad2652031df05fa18b24c5cde6b33829a593994cffe5546a4e29e650953fa6b95c61bf4d2d41531dd653c8a593182504d9b96d0ce10fe57 SHA512 af91eb6f3919a61b4277471f421041bdeabe88e071b67a6ee06e0d1f2f60d012137346389ac0b60956f6e61515a068c4a1ab91bd947ac08bd4a3d62d90dd2292
+DIST microsoft.codecoverage.17.8.0.nupkg 9139132 BLAKE2B b9a9e71595742023f43a50e159ae6c0ec61858b0f786a394eb24438a28708a4583e7cb1914ca5e0a717738452aa01c816258eb032736fd3ee404ffb1994d2988 SHA512 bbfb44e01038c77dc33c175478c5f1107bda23536cfc212c14060385c5e41145411550462f6665924883788fbf66477d2f517acb28c51fad53c0f895ceec288c
+DIST microsoft.csharp.4.7.0.nupkg 627100 BLAKE2B 114a5af7151feb80785619d54caf5f928558a034254b5c2e185820a441f017705c933b0d66a31d395ce516a81f97655cfeca46e37397082b1b5d6ac6f507301a SHA512 2c96988515f95714d4b83f5650f183dc6a564e0b3cf5255fa0e3ef48476debab4bde542f9f2f6c47f6620b7a71d6a515e4415e6d2e388b60817a29621d5690df
+DIST microsoft.diagnostics.netcore.client.0.2.61701.nupkg 55078 BLAKE2B 5a6ea1105815d11353b3400f65bee8716a1387f3caafe6a44acd8aa7561f2f4a04a1aead5bb21785d8a988cadee3ef43d9c36402a86775b24d9bf70b047a2de5 SHA512 c3075fc37ca749ea9785b37bb0d4dd99fa37d0d1549fb94f5ad27d8fd114f0091584ac9a095aa2e8eb1738e9a47125891e3906267e25ce92cc1f562b7028c350
+DIST microsoft.diagnostics.runtime.1.1.126102.nupkg 885091 BLAKE2B 27b73f264c84d972d4a29a3173a7ec961a136cf212ca7f408b7f338b8dd3d0da9f92c75608badc89d1e2486a21866cda58a3c2e0408c1f66f7140e66ffb07843 SHA512 70ca69f0d59812e2b82e62a0b56e754d5e5a140c467fdcee080a0e748eea1eec774e8fbf90149212cc6c9a36f3c01aac42cb2a219c9aeeb83c25931355620799
+DIST microsoft.diagnostics.tracing.traceevent.2.0.61.nupkg 5509328 BLAKE2B 116639ebb1ca4e69e37281d364f97f8a299888a4593daaf1f817c4c248b28a87933da49399f7c3cabe937b3c5a6da7cda0e5a1b27121fc9b8251d4dc37fecadf SHA512 258398c09dcba60a9b79b18b9e4696c3195194a8bcb5514a301d2f627bb87401ab537ebe63e18498a25b1aeccd865501034de7337f14360f965388f7ee8d9836
+DIST microsoft.dotnet.internalabstractions.1.0.0.nupkg 36684 BLAKE2B 79b53923871286f950d9023e70dabefd14f89934ba250ecb8e6f21ba69a81d98ddedbaad1f01ee4d0e1715d5d45a963be11d3c947c20386c1ac031c6ce426223 SHA512 4bc7f79a748de3235869fbcc12e64acf75524afe3d0506a123a21b9b1f6bcae73eec443742c4ede2b4afadacf0a17daa70b8643e90d5ff02d6ef20caea7cae14
+DIST microsoft.dotnet.platformabstractions.2.1.0.nupkg 57680 BLAKE2B f379768b1fbb0af857c022d78c3af7d910bbbb6eaa62d4400355d1b94eae6a7b1036fe553f2cc3c0d60c3855b9c026d83255a51a8e5bbb8bc1a0974046b7448e SHA512 69efdcde95fabe10acd7b71a52b559adbf27f600d3cebeaeb2764a6441e56bbbb2ed972340b7e6d3d812ee6f889de56d986c179b985c4836b9ab0ab02da1f652
+DIST microsoft.net.compilers.toolset.4.0.1.nupkg 20147386 BLAKE2B eec8d4525ec424a822cafefe69791947f7ba4787cf4707471496eaefe02dc8e51335e3db61de47bacbc87b5636b6071cc33b263da936c9fd70263f420f47fa6c SHA512 b67be32d52380229b4ad8aae0e0ff47af05fddf3b1fa5a0cc56488b24004b6134f7f09af9c988fc6d70f21238c25b0416ae5a0e0c179783c26ac625dc5dbd439
+DIST microsoft.net.test.sdk.16.11.0.nupkg 40299 BLAKE2B 07661a0ccf19bd035f13df047682f516fc32e12eba4d826a09c001a2b0f46bf94ecd367ec7c62d700e9f709751034b3718729c0c38d9e73c8396744873d9c466 SHA512 59b26a53c90d2d2535222362ca6d2651fdd95224204587df83a0cb01de64cb96e50e4ed52f1f700f16fcb1900bd757d2cbe8150e4b09e8c61d930fd29c77d97f
+DIST microsoft.net.test.sdk.17.0.0.nupkg 40301 BLAKE2B 077be8cd5b8056dce8776f74be83c7781f60cfd5fdcceb1935eab7069e9036d1c3da45b11c93207476b833db5f15e54e5de807d3b5b99fe15055b1793b78b13f SHA512 8fd66711d69708363c7dbe20cc4c845b94c6370cdc09c9b5c721361856a474064ea09efa16f3d8fa66bd63f572522c4456ecb2908b2885c69425862c0fdee830
+DIST microsoft.net.test.sdk.17.8.0.nupkg 37824 BLAKE2B 3ef98fbed1b0fb6e6734939601744c4047ea701681fc7eb5cd13ed33d3a317379aad946d931410492b9efed3543bd50213bb1def3fc465d812ff3ddab0f940cb SHA512 f211f2610137cd114621bd6c8418e52a64149af37c176a79f418892fadb6d5dba31ea4622a95c67e50b32a92fb1b1d5d7fb980502c5c9570dcc4c3258c6787e9
+DIST microsoft.netcore.platforms.1.0.1.nupkg 17876 BLAKE2B 13250226ef4869ad62b8acbe8b8f791f9bca1932562cb7a7e8162c3fa502c02200673cc9839f79953cb2d3a75f64f92d43ed1dcd9081732e4917197483188163 SHA512 5f3622dafd8fe8f3406c7a7ee506a7363c9955b28819ae1f2b067c38eae7ab6e620eb63442929b967c94fc511e47a2b7547ab62b6f1aafe37daa222499c9bb19
+DIST microsoft.netcore.platforms.1.1.0.nupkg 17960 BLAKE2B 6a9fa22d75f5a1c65746dd71a63c3d4e37c393e99c23007c10f5ecce248a04863bf26e7562c7751177a6985eaac266c29cc6a5443a4a853e773f88994ad2a3fd SHA512 6bf892c274596fe2c7164e3d8503b24e187f64d0b7bec6d9b05eb95f04086fceb7a85ea6b2685d42dc465c52f6f0e6f636c0b3fddac48f6f0125dfd83e92d106
+DIST microsoft.netcore.targets.1.0.1.nupkg 18189 BLAKE2B d43a064d4c6f836be5164708ff0401913b32fc3340cad7c8fd08f421ea553805ac150a134a0d60a55d41eec124514a5e5197eebcc85aa6595cc6b91e33025d61 SHA512 6ed8e75f945a18651066fe9ee31cf6c8257a5974340fe4d262438903c4959a479f4a515a4d1389e6d3d3ab34f09a3c7bc2009aada2e8a7f697b6655a82d3bfc9
+DIST microsoft.netcore.targets.1.1.0.nupkg 18162 BLAKE2B 419d19e0da934ab4b9db75dd66cc22b83a003f34e93cf7a92feccf4f32d3d695e18b826b1aba13073dd4ec53aa7905a67346921d1055516647ddcde0d79009f1 SHA512 1ef033a68688aab9997ec1c0378acb1638b4afb618e533fcaf749d93389737ba94f4a0a94481becdf701c7e988ae2fe390136a8eae225887ee60db45063490fe
+DIST microsoft.netframework.referenceassemblies.1.0.0.nupkg 20946 BLAKE2B ac609f5ddaec68f4afca36b710408e8f5601f13e6b2c793dae11e1afd3f8fc9b45c3ae9abba2429b4f414a43a48f8e0ea11498f439a17158257701466f372582 SHA512 c8f18b9fc83113c65086d93f7dfd9d62600edd614f5eaaeb294d96cc46bb024cc1cbd93b665f849a33d367acd4df30913db1e50ebc695de7e12cd185a6e1ee9e
+DIST microsoft.netframework.referenceassemblies.net461.1.0.0.nupkg 20140577 BLAKE2B 1daecb1375a6e1138cfdca86e42f4f96fe8dcd83661dbb7078e7cf66d717bb380222f1947ed2f08730aa842fef172a1e3f67100a4046c0a730601305db2fe7eb SHA512 365cd4012393d95dbb3c84aa18169d59d5eb5ec727efada8af9a2fd5de621829373ec14ca6dd53f1fb76b769ed2e424cdc9cdef03a02162b635b56670db8627f
+DIST microsoft.netframework.referenceassemblies.net472.1.0.0.nupkg 20790131 BLAKE2B fcccc6ce87313932ae71734d8cbaf00d2a9da679c53889f7edc9f6f0715db673fb35c047d1a2926cd34e6a57b87beee7345fa01c9baae424ead17c6ce2127281 SHA512 ca06ce1df8b06feddec5370e5c9e36c7ac95400c265b92bfddf5dda8e454788de129068e50ccfa14e5f324093c3998c9b3104570817e450596a60059e3cbedac
+DIST microsoft.testplatform.objectmodel.16.11.0.nupkg 2966263 BLAKE2B 5bf6464154b639b478c4000dd64e7570d124a446680583bceafee1cf3eafdc6a7bc10cacc665327a562a28fe0268c5d749dad0ef11376880f76310f1e3cb055c SHA512 105ec3c2d2d476abfa9fec73b25a701d815b743512b575e7ee2373ef7e459f767688be7ecdb555849a8342e07e922ab819dfae637e8b23b36ed918655d9a7471
+DIST microsoft.testplatform.objectmodel.17.8.0.nupkg 1492114 BLAKE2B 32a3a7f4e4cb9af1d330fcb2588ee9602414760eb4f2bda49888372b3ed64e8c47347dbdeda11259134e37b717ad5c23b06ffeda9a1a1772e1afe299429e828d SHA512 17119c472fd87ff721677f92a801693eab53a1897582150c26a60429c99eb1764628e7ba895b40e3b10b9edc00f803b18316a6fdc906ffe54dbd2d04ac63db33
+DIST microsoft.testplatform.testhost.16.11.0.nupkg 7327788 BLAKE2B eab31bacbbf159a128db837076c2057b4a68b912e4dbc1583f5042b0333bbec78e2718ab2db0a6900c41d984a913115573444695d117f270b272141402db55d9 SHA512 17b0956e03edf7660dc31d59d5cd9fb141b3d002149aeed824a2d3381bab2f6a5ccfbcc2fd6c37e960bfd29e33e734db14cd1862799fadc80154f3d8ac3825a5
+DIST microsoft.testplatform.testhost.17.8.0.nupkg 2806274 BLAKE2B dff54d1c59a6873793bbe2d6fc9ed75c2d610a8dc41f4f9349228b690db3beb7845660c7d90a5d2588443c13aff4d97b6e0a1df58e88a398b3631a344609060c SHA512 39fb1549fd23fc2c7b4f5525043fc1152b8c62cc813a88c9701f33a666041c6690dadd455899d247fef5e6df372d17f081d6098839086007b2c10618e187ac7a
+DIST microsoft.win32.primitives.4.3.0.nupkg 63333 BLAKE2B 132ec29940d4b716110980c4f9a06ba15183d29de638379d09998124605165e51652b2727e3892b57dbc7cacfdc71f9e1b59c9dd5463a524657351f5385d896d SHA512 366f07a79d72f6d61c2b7c43eaa938dd68dfb6b83599d1f6e02089b136fa82bec74b6d54d6e03e08a3c612d51c5596e3535cbc2b29f39b97a827b3e7c79826f0
+DIST microsoft.win32.registry.4.3.0.nupkg 190042 BLAKE2B aebc51a12c2a1722fb2e5cdca662f5205ce84218be139b0b3ccf90686551c6666d7c5df77e4f68c4af09ec2c68d51f0660435be7866862de67ed92cfef12f7f2 SHA512 38702f72eead561e343e77136059292c8b6cc3d3bcb14739f42e1ea92a8477e539ad8eedd3ebbb5e88ba330d9039fbcf2761d4265c08115ab19250c87e7ef9ed
+DIST microsoft.win32.registry.4.5.0.nupkg 350921 BLAKE2B 05e3d715a76486275ba1a00beff693894fd8d2bf6ff67f2f3b42332d299eecf0ea73bad2a17b97061cf89bb2e5dbe503288f649e4fb317539a1f7d84199044f8 SHA512 2ca99fd058a083064184da33d12f72a5c43412151d426c309e2284a5df4b722b2f26dc72616ab6452a24ed81693839b756861d47eea27d60d7db7ff6749ab664
+DIST netstandard.library.2.0.0.nupkg 3143842 BLAKE2B 7e3fc865e7893fb531b21e2ca791b788af01481316e49a79c4676050c2b8ad413fd8a4ef9890557582ec8b9741c8aa01b080b8d2caa16e02bfff2a7b38777989 SHA512 e3d64072b9cd9f9e86209c06a22688ecda7070427c9a35327d2a9560824c0e1381ccf7bc1d21d2ef8b301761f4bfc7f38fba712df7188d2f4fe4f748aac4d0c7
+DIST netstandard.library.2.0.3.nupkg 3146139 BLAKE2B 311e5367398f76c74e78930bc2cd39e450a86bd8626311ded8d58bd84c94a8a84db3c11b2bc10f3eeba20a9d081fe7827981f702ad746b49ae3108c949ba1022 SHA512 e78f0cea69c14895b1b089644077dbce8631a626055d96522f4d29e061d8bfc3e48aa1419e74faf265b998612c03f721f5f0cef4690f824150a5689764dee601
+DIST newtonsoft.json.13.0.1.nupkg 2065787 BLAKE2B 000c38ce26a2a00bb25a9c1d6fb069ada521ff089bb624a5c1255b25767c10616cc51821524e7bc3d8b45eb8f8ee54c97454db1db9ae5e5c78eb6300a99f979d SHA512 83731b662eaf05379a23f8446ef47bbc111349dd4358b7bd8b51383fe9cf637e2fe62f78cea52a0d7bdd582dc6fbbb5837d4a7b1d53dcf37a0ae7473e21ee7b1
+DIST newtonsoft.json.9.0.1.nupkg 1613054 BLAKE2B 56918db57c3786cff0548b642195521ef203246a6b2ed010186ccae230af3b0c913ace4b2a3319bf94c6e47647b9c5ad7b017e3b50d35e6654b4d5b987643739 SHA512 da8917a5347051c8106f4ea9bade4bc300a3b60a05a3be3390f92c8dcbcea67223c7b4da8065b9228042000e25b99c75fad7e2221a0daa8888ed8ef3c161b228
+DIST noncopyableanalyzer.0.7.0.nupkg 19891 BLAKE2B 7098ec60554569b345fed93987486d2a8cf432a525c54196139589072f41aa8071bec08096a9fa735d01557fca3fe11d1d97be4bb9aee2e758c9a073db5176b1 SHA512 847e7441daadac5cd60f63591ad96d0949337a0c5511bcbc4382c6e2ae2cb470d80f47518031b912eefc85d518c0391d03bec00b07f37b382c0d368bb778d5a2
+DIST nuget.frameworks.5.0.0.nupkg 215958 BLAKE2B 1deeb9d7d43736c70d11f3bb7a1a44f8a8a407fc18b32f85e252d2a310e1127a8e5a85ced627fc94ab9e034c73211a08da3b6a3fd43be83d95a4e3f5e26d856a SHA512 ebb9444b3b46063522e3b432c67acafe8943da39c866978146f88757f1be5571bf40e9df208824440efa4116b0b47d00f9708a72767a22878a78aca5a9887650
+DIST nuget.frameworks.6.5.0.nupkg 131644 BLAKE2B d8fbfaeb2ec4c269ecad319478b64da5ad9e44d9d82fab8b42400a15ea7d31627bcdb9f1af0f18b15dd8455ac4e92df1b25bc47808f465cd2e972ffa40333f1c SHA512 3f97626af018fa9b03f06751054be2c4e8dbd0d5329de21662b36f3336849838bf5af7d3721643faa6ea90935f836cf502661573953176cff33d4d829d953d56
+DIST nunit.3.12.0.nupkg 3463090 BLAKE2B 70ba0c1a06d33b96a09e9b034f961170bb89678d755c1909efc09e7c03f8bbb8bfb0012e77e38124fac97b9e43018c731e5d94afe20666e3c2a041a4c78c3718 SHA512 1c0870171afe67e3c97fc857cdcef8ecd79cbec0f0119fb75fc480e7e18844ce37180cb5029f9340f307b160a78ac7deb39bcf675fdada677ff75bbeb21a13b1
+DIST nunit.3.14.0.nupkg 1318234 BLAKE2B 4891e0c5bd367bddf1318fb4a1825b7833d46dfab5b5ecded69812a247acdf0e057b8ff0f27236c6ad5c655370bb9867547d4a44475a30aab07b98277f3513c9 SHA512 5d711925b947c9e4a9f53f6b5d769bc4a702efd72bcff6b4fe4fe51a724544a5266d02317fdb5fe5e312f924cebe31549e5eeb2c5781c9c2f35c3e4e31ae3484
+DIST nunit3testadapter.3.16.1.nupkg 485883 BLAKE2B 601bbe55147c4a41ca35db0a9a91b4ac86869fd973792b6c6d9451a4aeb8e246096aa7ec895c3aed5bceecb90d59c50ba0fc2aee7fd90fbaa35848b812f13517 SHA512 a70f31831649b2c13a25c82326dc5dd5f42a7582558f90ce1a8a37fcb6390787ac33f7fde187752a22cb285bd12051fbc21f2e7135034e8b4f07db3173f89feb
+DIST nunit3testadapter.3.17.0.nupkg 520006 BLAKE2B a8cd4eddd4a0dda614f17591b33e204944a63ab2358f24524ed6e1ca22c63d1cf305bb52d05fc208eece01938ef81957e528e8d4f9f7efd2042021f8aa48f5cf SHA512 e0459f379592f0523adc73be45af72a1aad87466d87ad7cc7e9d12597c48315e80e1136596227cfcf52789da2e421158fdf1ddc58bb345cdf338510d0c9b22ee
+DIST nunit3testadapter.4.5.0.nupkg 504560 BLAKE2B 8fb18358909ef9b5828b2b6c2a5bb1c234b2041cef7d57f22319a287bb187621c6e8e40e33b7e1e23f17b9e5ff01a2cc41f932d54e7affc935edf275f0d397d6 SHA512 be32fd672c3ab18bc948f7a6d9c41f79bdabc1fd8d2b6ad9106c14499b35a613ebf05a720959aae4507c2cc10adab45e79f48aa731c6506c716d300193d69154
+DIST perfolizer.0.2.1.nupkg 51987 BLAKE2B 2e01e7673ae420136e6194d89c406fca31af85b7f90b460a53ebbe0fef82c38ba3be3821d9e1a7b9b2bf5d117bb9f2f4f91767796bffb51ac14e5cb9f472d873 SHA512 9db50cdcf13a85737c275a0aa3dc4a98b97e7d23e7aca1c9b27df28e454b0d4587315bd62f7181dc03e0257a83d79c7af2e90733eafda70afe5a956c92c20a9a
+DIST pythonnet-3.0.3.tar.gz 427360 BLAKE2B a1dee35ebd3ce136bbbc23ae3c031c38c3b6350e555e7a869b3e4fb6b12377a447a2c9334d96d40123c40440d25cfc7c311202fdc01c35357c958b9ec30306de SHA512 b0d8730693916c7b82bff69e5de4c7b80c974667e9535cd72d1e3867142e15ef748f39b227f512ee5619b8a7ea2331dd232f3f79b16ca6642cff0a92d3c7a141
+DIST runtime.any.system.collections.4.3.0.nupkg 107990 BLAKE2B 802e2ae919a4834150d825ac086d8f47e2185e31b60b45f3dbe5f63b1d714953d9faaa7d8fe4cc25a1ea8495c4f8fd925bb198eea0b67e594a8558238b18196c SHA512 9f8833176c139b71a58694ae401c5aec209a63227be07c7ab559bef772082bd1f6cc38ba2949cb1c8e5c5514ad9f4ff51859838dc2f28191f8bb7ae611a50239
+DIST runtime.any.system.diagnostics.tools.4.3.0.nupkg 43707 BLAKE2B 33d1c57eb4e50c06488da02ab2bb1b8dba9948026053e662986af05b74045c014e76815edbb588f10d6a904de22e4c50177f31f3fac36d159b9af361a4cb2b62 SHA512 bd257401e179d4b836a4a2f7236a0e303ae997d2453c946bf272036620a0b14e85e5f42c229332930a954655ab4cae359d191a3e3d9746df09535a651367764c
+DIST runtime.any.system.diagnostics.tracing.4.3.0.nupkg 49844 BLAKE2B e35998e1369bacc9fa90f74825e021c62b9c671ac9b7cfad4e9b455656bd40e968f348ba8943ed670c74c22bddb1c94ccf5058885233607e3c73a5c7d2a56688 SHA512 0b480d21e23c38965222be7fa1e1a0c7e444cebdf400d1db8d3ac609f893b82d78c5d8b271da61808b7b179dd6466a0090bd807fc2d35020f93a00f0213bb436
+DIST runtime.any.system.globalization.4.3.0.nupkg 43718 BLAKE2B d6f90f72f080afc0dbaaf487e2966d2569ec8dd51d573ba2afd1d705cc8c1f5d47ea77beb63ffe4fbc75dd6aae869a9b52e9e293b737ab32321420f635113d80 SHA512 3aac1a076212fae7d0ac81d2b5fdf216b064a1d890577307f89c9a4984c239838c3bdfac4dea052027de090704839319231eef49ce542f3e8bb2f85ba23d28dc
+DIST runtime.any.system.io.4.3.0.nupkg 54553 BLAKE2B 0066bcf13ad4f769cced6704e3d5bce057138e35650699df8c84fb67aad1dd0f2b9ac62eec023fd1b2845e3e2038d1a56602e0cbe59795219b34b9b47d0aa880 SHA512 7e0d4a238322d434a19afc79ea988d3727c1687fdd5bcd1c4c39cb6201073caabb924cc201c70545d60acf8b94cde8b783d0c268743e040c357d100677e4c5ed
+DIST runtime.any.system.reflection.4.3.0.nupkg 43499 BLAKE2B dbfed54ebbe3c7814773dc60e586bc6442024c4565dc7579c2a3dea9ecb7fa6eb554bb7d8da7d2603fb455d38caffab9ce553e6cb82f8c6202700e2a3c80d6db SHA512 293d3dd8be87e1c5cd76ece4ed64ebb5ae6b50be95a39bee401eeed64355e34641905f8c14392fbc3acf8609f5d6fca731f39ce7607962eb5951f09516480015
+DIST runtime.any.system.reflection.extensions.4.3.0.nupkg 44123 BLAKE2B 77dd6ebec2090e9902b5fb9a0505d07f953baedf9ae30bb823f18867b0e4096af08175203efc2205a5439d53eb264b085615978c782969ac8e051b5c7ac8b516 SHA512 8de7a4c53fc0324e766bfec360342ee4a4b99a5975a9d61faab0a715ef71ff97aa83383a5a8affb354c02a4e2fbbb91e1b4ae6b282d2880108cb489f06aba500
+DIST runtime.any.system.reflection.primitives.4.3.0.nupkg 43106 BLAKE2B 9be774d083220f790c2710bf0add5f186c30da37cdab7abe6fd084e8b3e43926350cbde084ddbab58295b9bdfff34f63de6f24d72c9333c8f0dc0fd6b04b9ddb SHA512 a2f374276290ad9b799d3e49cd8fe7839c07b52f22894bcd77b9470841564319fb2ebbd7503e76feef42db4e8a362af8648cf0842a1cb0b5d9a60a58ef8b205e
+DIST runtime.any.system.resources.resourcemanager.4.3.0.nupkg 42939 BLAKE2B f0a3df9518b008cdfa62fa7b7aae3d419bdd8f77e7b400cd06f03bfd20d2ac7abf570b26c63ab32329cb47f7b9763db786e4e397ad958dd81e55d9ee8926bcd0 SHA512 39fab03cbade2b3848d62e137313530c06b37216e24cd58c70ed6ae54bdaf9d9613a3b410375ee167c87ff935a558b1f8766ee016b8b244fde99c38fcf42a49b
+DIST runtime.any.system.runtime.4.3.0.nupkg 55302 BLAKE2B 2de44260ec821b818b3c0cb3517be7ade5c16f29e0ced086460dfabc29479743947134214c037df83b9646724cad004f55c2f518cd4bc2079853f2f6e1cd70fe SHA512 bfee3c68312296860e5459af5e770c2e9fcd4ac134361fd569a9ce1e6574b9ae3978aad403f89639a4b5bac8ee5bb0ee1b8edb819e9a60f13ca5bd1812889bbd
+DIST runtime.any.system.runtime.handles.4.3.0.nupkg 30945 BLAKE2B 27f615ec387f75416d05d0d545f1f90bda9cd7ace1e7370cf935735ae7e6ecec9c8d54b0b267aa42c041981b7d4ff22603f8a12e18290e0f354e7656f4271d81 SHA512 95cdae2867a2182535bd0f4d01dc3eff70319dff044b070ab7791fa2bf8688a69b00a279ed569b7f0c5f3e26bf705303dc344ecf7d1ea014c579436d8e7b7389
+DIST runtime.any.system.runtime.interopservices.4.3.0.nupkg 71496 BLAKE2B 56aea647e26b0b6fe2e8786732100a20b66dcda904df76d0463c5cd048d842e9899be7482f819bd8d4a62dd6b8d9f2f8289efa99ef6c76d2cbfd0fabe6c5b36b SHA512 70eeb2469726d092bb95568e51ba5cfdd1cc07a9e65077e2b6dd5b7c8b164d4b45c749ef4a52f45928f63a27e8accdb83b861ea73c9ad3d42dc38e6afdbd0e8c
+DIST runtime.any.system.text.encoding.4.3.0.nupkg 43396 BLAKE2B 99ea1ca2da0e85683e240129d4adba28eee337d0a3ca937b61123d775255f738b27f00db4b08e1fa9242bf29ad916828552639ab3b55eea05e0f307bdb1bb58b SHA512 cbe6df98acd50e2251d3343620c408af56cfe7c1979277a8ec65b5eef093e93ed93c05980902a7152ed83302d5a625d7058921baa7f446c5e67194fa4c06f20a
+DIST runtime.any.system.text.encoding.extensions.4.3.0.nupkg 43296 BLAKE2B eb16dfc6e2fafe299fe49dcc5cd1d2d18180d18caee2b0e65fe5c75b6b4206260e18f4e2bf509fe1d2dc3366541bb38de219929db6e7e12f08b64b3a5d3abac3 SHA512 656aa8bd9d7e19534964ac7b8405615f00359779e322d4cfe1f18c132fec4a4f52c5588bfe61cec9966a9142a73315f5d2b9e5a7c524b418364f0322b20961c3
+DIST runtime.any.system.threading.tasks.4.3.0.nupkg 47940 BLAKE2B 950e0a58dcda7dcb15167d028380ae4ba1ac576b141d95ba8eda08e0d346a9e0452e64ceff1169959eb9f4435231466be209fd6e9d17f8dae05254443f0ffe1e SHA512 5f37a56f5d6c7fc198c7ef76b822b85284f9d7d1c06583c26a698793ade65da1b273d5fb03c20be1eb91a9c835f7122ad2775f4e51dffb2758fabac2a30f8c23
+DIST runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 44390 BLAKE2B 60483871cb9b81514f5b63f1f9ab9cf1c7a6ddb1d33a2a65608b47a2cf8cc3b7eee8e087250a1c49eb2893f36f29410e897387346fa4c3fc5c71e41046f13673 SHA512 b2cf809fe50c4b46bd6f2372265cd3059622550123afceb5dbb2410906c07a7f47bae4273584d29253d5e7a63a17c68c7ba0434608bbc8fd4d00e479b2f128ff
+DIST runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 42827 BLAKE2B d2b79a9b83e0bdf569a5c333ba4f86ccb1d5b532d2e1cff3ba7bb597688ac78268a515be4c35a025c66727070100634a4bc946e02ae7b93061be968fab241bed SHA512 fd8e32d7d3e9a465202e391b0ab8b95e212900879bc4d8ac22954fd2d0f98fa579e9d25f88885ac2a4bf1eba755db940f8d131250a3ffec34dbe77431a379cab
+DIST runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 42833 BLAKE2B be9197f3008b3dda19a45e5b5df2ce3604f58a98045a122aa77f082708de67ad953fba761c39ec419e945155ad74d5800638feb581e5d84424ba104f32541640 SHA512 4afac5cc1734330a6103880e790d639e825bfb1b34dbd42083762c47db5e5dab6c03efd16049ac03861d7d87746caed09c7534241d51b7341d47ba6af7e8dd31
+DIST runtime.native.system.4.3.0.nupkg 16854 BLAKE2B be46e3bd8781915572308ed7d4d8a0338a5c79b901a27c7e7c7fb7fb25788cf00968a40f96cc43b1202e56e5bbb2f87602d247295d8c98f2c143a0ad3a8d7664 SHA512 299c5a96fffdcaf1972e3e3d1c727837d18ac9e88cb79c09914f12ff1de7280dff10c9232a49a1c1d3ba7785a5cf76f28c9dce414f0a2a567688de7fd5331dc8
+DIST runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 17048 BLAKE2B f3d49c45e52d4e317fd5750de6dbd6628b414d127ef38f9fb4e2ebe447b13a0f93f38c91850c9df4c0a6a3fa738f58daf2c440827bcf7c7d3436a8174b5d212d SHA512 ee5d047908b99b776ff9bb54856454b24b09a0f9271b127239543b1f5faa3381a032d9eeb4d813d01b5a4b7d183b6a16250f159fdc450d5314a7eace1550bea3
+DIST runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 44200 BLAKE2B 30ee247fc53f9de0147a5c5666bcfbfb674ebf03ceaa4ea3c73671154caa6ccee2c9254c0fca588e9a21f98e27ad86f387255b554ce37d7e36f8a69502049e71 SHA512 81bdb93c1c86c560343df6cc367499fb2a01a9b3016617be416874a23c4355a8d95c7be34f175510f3fdea4872302a87c8efab98a328dfa39422db520c3f291c
+DIST runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 44118 BLAKE2B f89226f71e042a6bf70a45db59dddf06fb5083da2ccc1cbc17e8b3381a1462c36e0ddee7cb38a2003ccd07ec4f2a987a9e69ab143054a3a106ec314e3ac4947e SHA512 6de9544b4da49f127680cf5b3b4afea96bfcac3293038a1b0a12eea0ad60be368af31ee1dfd66d48d458b40200738c04aa0c71adcc54ae2dddbea2cd50d6f28d
+DIST runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 37682 BLAKE2B 0fd5229c9394741456079a6eed8efb2c99e4211cb7be1873882ae6708c5e87a4f5116a9cdd6fda005896d2af4237779f1bd3c2332a1fcc993690e2ef6f5d889c SHA512 61da1667a5dd1e53a5d19fbe90abbfe332d84fe755fb811a080668a47d41a97db44539e3174fd1d2a0770ff1bd83afa68c82ce06df5775da65a6054ccc12c4be
+DIST runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 42668 BLAKE2B be90c86ebb383a1d7e037d0a0b24aeb8a7e9974388ded41964a82a2d2a4dce0e62feae830fe7dcd29c0fa19584c0b15281f1959d326fd6b7e17c6e70bf125c1b SHA512 e65a6a1f1928cfb760c395a399542dc7f9087399c53874376604504ae60abd2da24ed735ebd148d335000a5e35c8108ea55404685e902df392eac2e8d38fb665
+DIST runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 43118 BLAKE2B 242cc78b2b335d3c15e798c81cb19654b44ecb79e29e6babdc404bcbffd1691b07e0640143cde2d03a0640d6e1851228188eb91cc6b8b9f8759d13e8aa258e52 SHA512 c9f219515e268cf40e16b135bd64cba95c35e866dd9bc34954159562314d01d2f9ea7eb8b0db94acf6bdac83d651d90bad7890cb657ffe40fa3440ec662c9944
+DIST runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 42901 BLAKE2B c62ae072f63c79e2fbd080688852a545df160e6be41c68365508d6bc96c85927feb6859b32c2d8450b07058c2955aa94d4763600f12efdc76fb4d161081cdc81 SHA512 4981b2d7a106703b185e176ad35bfda149156f3b752778fa71c56b3686407765fd2b6625de352bd563aac1e1e8769d7886cc59a0d5d0bfb41ed60277360beb81
+DIST runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl.4.3.0.nupkg 42939 BLAKE2B f166d9c0b266e7c7fa6d6ac61201a755ddca3ca6d3f13e52e4a04575c7143af5bfda9929d3701ac7cacb0e61d8debedae4419fc202d8cef73c8c1496776ffe28 SHA512 5dbe6bc007a9b46491e5299602291f5dbf8cc8d51e6c1b08db2fa0efd365990b41b6e181ed6bf82e873a659396427bc0e33e85b47d645d273fef8bf8ec643631
+DIST runtime.unix.microsoft.win32.primitives.4.3.0.nupkg 31929 BLAKE2B 18ff9482cae737a7098f352f59948119b4f9982eefc1d835245c5336ee6fecdb7fdb92445d0c1fefd4e4c7cc4e64fec3d317e8b5dc160320781a3f820cf34da7 SHA512 93e6d3db61f9c2ca2048f25990dda92acd5ec74561e0c776d2c6dd8d1d55128f2c953f33d6832fb6a72bd9edca304a2551085bdeafe6e18af87619c9ba943c32
+DIST runtime.unix.system.diagnostics.debug.4.3.0.nupkg 38808 BLAKE2B c7bc02cd3fcc7f547c9d1786fd12da492bea65cf9e01a385e40366614c6e90bbb2a46103096ab491ef6765af5f5ffbad9506f0bae8e68b6d33c40f7672bba0e9 SHA512 a8ce331953b1f4424aa7f4b6dfedfce9ad138940bc92f332de2bc6d05185830ec6eb832e752f62eaf425f749caadd4ea1789121cb7ed79740fa5868eba55c838
+DIST runtime.unix.system.io.filesystem.4.3.0.nupkg 62460 BLAKE2B 6431b1bbf73d43f5d49afcfdac3f4e6a21b4d6c86db7a99f339d97c86fd9f98fe64d2a4873350076a42d1f7faf479fe744220d14d1badaa56370e1c615afb4de SHA512 6d4c80aceffac60e1560fda34c5984bbfa2e1bd106bde2c6d3540905cc30c58e6f5f2eaf5703cef5e68e3d25a4b97982193b2db8130a50c622a498e43eb9bdca
+DIST runtime.unix.system.private.uri.4.3.0.nupkg 75969 BLAKE2B 82611545be3eba44ccfbef1f104e9b5afade845fd3b30c6cb40171368330f9d4bb2ad8752e415aa3b1678ec140c40f8e72cd4cc3731f42ca64016c1a1dce70cf SHA512 203ebe272791d79ab0c40afe9d0543852ee91b9fb4ae5bc15524d97728bc8bc9d7e0cbcf65d1fab8cfb0aa7a4ae37e7938933eef127aa5ea46f60e57b6ad2d91
+DIST runtime.unix.system.runtime.extensions.4.3.0.nupkg 54075 BLAKE2B f81d86cc15c63aa0b4a3d03546a07649587af7a0285af0de4123734e719fc023fa4227b7abb18307d4fc060e2952c157ec72b3bb85d49ab8508d8167b1aeedd7 SHA512 54b81784c08e934389c59e6e155af6b1855e4bbc41678b01a702c94e6daba87c6ddfd16fe9e2cb61f3097bfa4950dbc37781454d027ce5ba6c50a393cc91b888
+DIST system.appcontext.4.1.0.nupkg 146990 BLAKE2B 7881a5a903a358e19b0de72fe800c70ac9233e7c5e1e4115d69be6f8dbc4fbe86debb79bcd453295730e803ff1da974075c999f52e4c721e085676746c2f9b58 SHA512 f724af13eb14aa57255f82841683a93b427de172b8d31b9fe2c6bc8c21a795e60ecf211b4e49e1c2e285fe1ad498e6bd9c843e109a60a3dc27b49df560106e96
+DIST system.appcontext.4.3.0.nupkg 147030 BLAKE2B fafd6d050e77a265cf41c6d00a3ab3d8db47f2258e10a6cb556031ab183a01a508a986bb495b68c5e8610c05b92b2f3c7b0718f68f508111fd262291684f84c3 SHA512 0d6ea63006304708feae2cc0590d2cdd99327b682210822bb2803ac842fdf4d8d57170d7947c006eec4b5687c942768478a7ec109745472f3946d230732483e8
+DIST system.buffers.4.3.0.nupkg 35171 BLAKE2B 3b274a048ce14845ca957019b3670db00338972f6e11279e47f59ca6b4326aaecab1d11317694ed98e8a27f3de7ef6f90de94d4711ab224f805388d468728392 SHA512 3dcbf66f6edf7e9bb4f698cddcf81b9d059811d84e05c7ac618b2640efed642f089b0ef84c927c5f58feffe43bb96a6bcf4fec422529b82998b18d70e4648cbe
+DIST system.buffers.4.4.0.nupkg 78363 BLAKE2B 3d25c21afaf3f3b2ebe348b55ac9350bc982a2f3a78659ba0a6a2994ae6423ca94c5a0f55bf97ff5041d882dba2403f52efc9a125b8a6250c681e3334d10ea41 SHA512 222d9b79d7781d5cdd76ea5d537e67df28288543e5367ecc0e298139873058d71ed8d8b34357c249a4096354f3bfcd1a32a386a55714e3066bfd77b9d31713c2
+DIST system.collections.4.0.11.nupkg 810001 BLAKE2B 7f20413de51be3416862a8e3624fe575740aa35fd0983a694b128587fe05d7a3f869afb893106b02866bd6811dd045e35d0c3f43b55e06ba9f92758f21aa507e SHA512 f61b75329ba5d7c0e688aa9d110b2200c8934c3a1888f6b1b5f198baa7ab93f23835e8380853e8c046f257172b5060578ed86df26e5fe0ef34d8c4408a02c33f
+DIST system.collections.4.3.0.nupkg 810001 BLAKE2B 0079d5834bb3857c002cc686313646895b47be1079e10cf365ce9e67c05f14c2e70e782b122b07a7cd9d5090b57334d0cb2336503cf5059cdbafeb3ef3cc8220 SHA512 ca7b952d30da1487ca4e43aa522817b5ee26e7e10537062810112fc67a7512766c39d402f394bb0426d1108bbcf9bbb64e9ce1f5af736ef215a51a35e55f051b
+DIST system.collections.concurrent.4.3.0.nupkg 502676 BLAKE2B 0d98ffad345254596133bad8a487bb91bd235f2a757573c3ab7999184fac6685b4ec33316bee9b4a4e588ba96aa745a681077cb2e2d2b0a7f5cc113aa75efc2c SHA512 35c1aa3e636216fe5dc2ebeb504293e69ad6355d26e22453af060af94d8279faa93bdcfe127aecb0b316c7e7d9185bcac72e994984efdb7f2d8515f1f55cf682
+DIST system.collections.immutable.1.5.0.nupkg 804405 BLAKE2B f11cab8fc6e1543d09bb65aec905d8a7b56318fc1f6e4ba723fc5ef393340fe3e29cb8f5d3e788d31b61a80661367371af90065432a63b3a954c39b68b8ecf16 SHA512 4f95c64257078443bbe50c77f061825033dd9389ffef2ad1993832e32733cc957c6a53c76b13d4e794c10b6505ae4438d9bbb7e2c64f7cad1d53e9d665438424
+DIST system.collections.nongeneric.4.3.0.nupkg 239265 BLAKE2B cc987578ab9b0c1dfc8925f2c946876f8c8d6f335d8d6a6a0a30848c6c812a24774d059fe28aa83887b45d924705abe88fd96451dba7b2253dc9b99afc7a75e8 SHA512 dc6abfe778b3ea08e99f50b79112a51728e689f353b082234351b9f5b1be4b601a0b6d38a04c2138d05b5bdd83d6f3d91b53ee86ed119225c15e4683c38bf98c
+DIST system.collections.specialized.4.3.0.nupkg 183462 BLAKE2B 9297ea15b3d8880a719e4608622793e8883f68887ed2422b287897ad389b41f5301c69707434868c3db88ba3b8819c4cc22b7f5cbb09d2729b0f5e121ddb6921 SHA512 c7a257cbda812d6c0c44b29d8bb5cc4f5cf2d3cb81574eb1dc94a7efde980ac26c5ffadb7cc3521fe7b19437766a046c83cbf2e7ea59a36435c288add8142b57
+DIST system.componentmodel.4.3.0.nupkg 95320 BLAKE2B 8c03f003539d1c0920c4d1a2d0b57a19f93c9c1d7f2e0004035b758b56915da1ba0207d1506cc0cf8af71bb2e58408fb824674941230a0465249752b1dc0df93 SHA512 7c638ac92a132e1553a089c6a711ffb7431b22fecca322ce748d6684ae2baaf161bab2f71704750bd15ec6fda11e795f2ab8491ac769b89341bde77aa9212d59
+DIST system.componentmodel.eventbasedasync.4.3.0.nupkg 185773 BLAKE2B dc94d7b31e3e5325472d8ab475d9bb086a0bb8fd3e5684b1f55f4a0e1830b4e4615c3077de472b82b5a94aeb9ed1e9c1372e38db1cc04c625b749efc9c812663 SHA512 497c786cea127d61354c8abb47263b1a120bf16d6e796fb11d002957b6e45ace36783654c1f3e072de6dbf78d9916464bd0f098d617569bd5dd65170a983c4f9
+DIST system.componentmodel.primitives.4.3.0.nupkg 93137 BLAKE2B abc810f534c991a46cef506df47b66abde687ad65ce16fa8739a05a5c6cd8338ade9961e035f38c559f964c469e47398f537285b63552fb80b4d6b9421993f07 SHA512 ab26d413abce9cfc31b860765d91b21d4048976016d853ce8969f7ba79c039d8846b3c4e2986530f20b62dcb23ff0a769ae5ee37fc078d69eaa962832f2035ef
+DIST system.componentmodel.typeconverter.4.3.0.nupkg 292985 BLAKE2B 732b3362abf534f3a28d6afdf010d9cc52960edbacd19fd70ad49ff1813d31a7f840206773dd5d8661575a0a5b4053a51d58e23fff803e6726bebaf3bedd158d SHA512 0a2b2f3c25de4a6429c6cb9fbb37409e86168921ea71ec58889912742e39e1b67f5cbe764affc3580aa0ef167c7f73a55332a0abf7b043e89185293029d8b087
+DIST system.console.4.3.0.nupkg 102397 BLAKE2B c21bc97bbcda781257473768239f775a16fcc399e933df35a5f5c00f75c5088462ea01ecec2d711a803581d5499c8cb15518e790d6c9e74b15a36c3a1f237d19 SHA512 a08a684a583c9b3278ce32be1007dae495f9d87254666392f794ef1203079f333cd7d388c28944ffa36fb49f0c8bb21f42c70f6e1d7c1c03920df6d0d1130c82
+DIST system.diagnostics.debug.4.0.11.nupkg 149779 BLAKE2B 337beed5f06441a09fb704ffdcc3c277e2f99d7b4931e86419e4d4d0925ad44c86276aae0ee1e29f94ecd37257953731e9607bd00de716d3195dc994dbe189c2 SHA512 02f4d0bf969eb1a876def21c1ffd75f8ed5f979aed9a1169f409e60a6e07016854e2154da5c0164fabaeaf6527a18d8e67282db1b69327a1b3581e9c0c742f58
+DIST system.diagnostics.debug.4.3.0.nupkg 149774 BLAKE2B bdb6d5ee3b8ca4f28b241b098281b7d2957d0996f9345aa086a54b1a981822962e5cc319687849ee52445db47b439b6cd4e99a4c71595f6227f78160aa31724b SHA512 6c58fe1e3618e7f87684c1cea7efc7d3b19bd7df8d2535f9e27b62c52f441f11b67b21225d6bcd62f409e02c2a16231c4db19be33b8fab5b9b0a5c8660ddab24
+DIST system.diagnostics.fileversioninfo.4.3.0.nupkg 138783 BLAKE2B e03f0c54cd242dac69e4c557efc2df0779c67d2bf3114bbee671a27cea37a6952cf84c64d2111e5661a3fc1f45bd7590525cf2abbd270b1b9e62f053f74c14b4 SHA512 0aac60b56b118c1bfa5aa6492a0d32dce19a5350e61d8759367cee704e05d35913a113772b98277a76ed806d5f575803376f5c0c6810a801e2566213c44dba01
+DIST system.diagnostics.process.4.3.0.nupkg 543776 BLAKE2B 46d432cbfcc6664d74424cad4e25ccbcd09f5e5ee35f81f67aeb990d810a7012f38061ac922b9112eaa77dd01725c56872075a6481e77a878aba9562e964e349 SHA512 805bc86a25b1b77dc49f7a14564cd2614ccaa0e9bc69b57c21b339dc73ce7cb6412c3f7245d0f1bea46284aff5c92464169e4d6485dde1c616b18d326e7bc036
+DIST system.diagnostics.stacktrace.4.3.0.nupkg 101411 BLAKE2B e80a43762a9102adb03ebbc22e46590c2d123f6a762789136d680f868fb73a365ba252502a7a92aa2f78c6c51bb8ad57acac87636e28790d0475c01d53053940 SHA512 3a7d95fd5d64d8b490c12d7e90c22b2d476c25acb7a211b9205626d6a9002c5107aac1a8efd08217181473e092e6abde15cfb2b35ccee86e18bd1bb7fed2cbe8
+DIST system.diagnostics.tools.4.0.1.nupkg 67228 BLAKE2B b2b74a8c3164181513c960e79bb2cfd9673af3d864c681d379051361743459ee0604806c09e9154913d016963f20a59aa8b45b4b3c30275709878405085ca690 SHA512 a812ccbbdd0a66eb57075121ea6332a526803ef883ca9f8b06431d6668ad50efd13624fa87dfaf6aed03c652f795c2ffb9fa9d9895a2fafa96eca614cbf86cdb
+DIST system.diagnostics.tools.4.3.0.nupkg 67227 BLAKE2B f03928755ec84fd360b2a8a0de3f39e57322cafc4be9e7fa6b7a67d606de9c0869688f62f6b7c9a2ee2915c424ab20779ac87ff510637a9bba740ba0361e6041 SHA512 164d6977e721cbceb44ede7bfd75b03b8d9771e0426aefa5d40c71867e964092fdc6a6808bcbc5559ed73ec2c532ca657d6476af79a49ca3ad879b8366f13d90
+DIST system.diagnostics.tracing.4.3.0.nupkg 581864 BLAKE2B e09e616dff7879932b358746a62b530499aa61726c4490c56d2d7a0bf888db5b42d75d89cc5befc9fdb6af231beff998b6b243c2b2a08084da089709e0c82a75 SHA512 d0a5d30e261cd45b7dfab02b7ffbd76b64e0c9b892ed826ea61481c983c0208b05b69981cd79e91cd4e5811e1cd4c3cea06a1afce05811ece58be5e4c20169ea
+DIST system.dynamic.runtime.4.0.11.nupkg 547813 BLAKE2B a59d9fa95313f269033f7e25e39e499ca4910da5c2c1307a1d3d4d96b07fa25fc6b9223755597727b60a26280e1dd4a8bba0b165c3fae9a3d3d9732b77f3e1e8 SHA512 0b2189a6f50effab44a8b1f883f2a1f9b9b32c448123190e8946a877c28ff46a235aa90af0898d1ccd6da2f3155aa2cf26e57f7f61ee7e3c50dfde2190d781ab
+DIST system.dynamic.runtime.4.3.0.nupkg 548103 BLAKE2B 42ac34ffe9b9b6fe69c984aa2b22f0715f7979685730de048490ca05feefd800349df39aeb2bc6b4c3608cd042abc018714fbdc49475a11b46077a2638824c8b SHA512 54446fee94f432cb8fd38ec10c929a87b307a76f152a2e9da11ba99c41ceb0f65913cf218944990f0e122d4f858945091e9806c84c0285ada1fcc939337d30ea
+DIST system.globalization.4.0.11.nupkg 589139 BLAKE2B a4ee2d6848c249b34a67192dfd32f78d842f4b12f8be137804966d00b2e15dd8b2f9ecc6427f9074c35802d9bc13674c912c80ba405e610324772f9b640dea46 SHA512 66bc21667f5f839bc711eda3b0463863d70e0ad86770fd5410e0123006d6f031755cf7220187fb7cefed69b3f4a9eab8f0868cae765cb1425c8bf60427f395e6
+DIST system.globalization.4.3.0.nupkg 589136 BLAKE2B 7b07f9b68f0744ddcfa3f0db6190c1a0696c2f89f8c5e92922ac20fc4155e22d97e7191bf7866c9b58acec056bff08531b0adacccaec7d4301e1d4b149fa511f SHA512 823d2ba308cb073b40a3146ecccd0d9fd7b1615ac3fbefb16f73d873e411fd81c3bdc87df206d3dc7e2f14c9cd53aafca684a3570c25471280aada8de805ece2
+DIST system.globalization.extensions.4.3.0.nupkg 142949 BLAKE2B 4eb77d4ce5af01136145ea867e9d6cc81181b36a178ff487905dd7d7c6a4986c518675af68eac0e854347503e11513056173a93e6803683f3fddee7677b88e05 SHA512 a4d360003f95e0c31edf39c0b91e1c73850a60ac5d0032b17db888a3c7d7134cef9acd97219d14174ad213b7c044f49b364cc5720073ebfcb6e1bf6e4ec24ce5
+DIST system.io.4.1.0.nupkg 703645 BLAKE2B b0df16bf1368571d6755f88cc8fcce330d1dd5b478a009363e87f463e12eed7722d4bcd66a1e70de63d1b31ae2793b80c735e19a63e80ad4bc4c45f107e94ce6 SHA512 e01b432f3d715f3c88d5d7f3e7cc1ceee78caf99407a11c3306f9103aee78963f818417f14eec52f0096fa247900a31e53bd3226e06f0c0f93870db0b2b78331
+DIST system.io.4.3.0.nupkg 703652 BLAKE2B b5b2627ace4cc49f35a0caf5c064c4c8262ff0fe3df79bb1bd3529b3e306c8b1e77ea9e5948de343ee786a50e12be822ca89b5ea3f16347b9c0bce6bd8071127 SHA512 bfca5a21e3e1986b9765b13dc6fbcd6f8b89e4c1383855d1d7ef256bf1bf2f51889769db5365859dd7606fbf6454add4daeb3bab56994ffb98fd1d03fe8bc1e6
+DIST system.io.compression.4.3.0.nupkg 485197 BLAKE2B d813f11d1eafa9c5bae049c2e6d7081edbb264520e253bc03441fbc1ea62b75760dd31c038a5a376d41df59c8be55fe1085d7dc012f611731b72040c8c41430b SHA512 f540ee51a3bb6941cdfbaace9a9738d7f7986a2f94770db61f45a88ecb7ef36b571d4c07417dc89cdbe9655a262b7cc599b0a4b78effea91819e186121b44807
+DIST system.io.filesystem.4.0.1.nupkg 274255 BLAKE2B e5beb1350bea00cf6d533de221129bc3bb799f4e041b23e45304ea39000d9b70cc63fafcbd302046793bac360d431e3dde5c432fb19b0e1af7a1e1bf8e9fb0d1 SHA512 a6478b17f5d52fc5b9517458e93e1a69b92575c170f44046b3f4e25c7e67c9d4126ab486f5a3c51abcb279d05a057bd53aa8f49a1e51eae69563ae39214b72d3
+DIST system.io.filesystem.4.3.0.nupkg 274316 BLAKE2B 4ba513b503cfcad068c23a82423f9900c648fa2bc4fc16555bec717b6c5cfeac6c7708b28009c7a089f80c77ff744f573d72e4dcbeaa14acafb9fd3e8b5100d5 SHA512 4fb581d6f85b9529a091a0e974633752aa39e50b2be6c8a9e5eca8c2bc225cea07064ccec7778f77df9987deebf4dccec050b1a97edac0ee9107142e6a8ee7ee
+DIST system.io.filesystem.primitives.4.0.1.nupkg 94921 BLAKE2B 32311ebb93e758016ba0971c99f5010080597b630bd6b1aacef03e39d7693c66b7d2531a6af05c7b14cd2dad34b1cd485aa19d77ccbe53e512c4e021e3291f9a SHA512 dce1c4074938391ea4ea01226812982a893bfc910e66ac99ecfe31c9b6fe635f3fbff11dcab222ed5036eb21c4f49cd3f121c310adbf87d22cf3d512bf6a9d73
+DIST system.io.filesystem.primitives.4.3.0.nupkg 94996 BLAKE2B 95fa6178164a7cc6a29c5a3fc55e415419c433b3b74abbcfa4fa5ae1bef40141b9515076b6869e8ed771b0ba6800bdb2fe6fa5d1f773ce52c40753efc0a82be9 SHA512 5885953d09582cffd973d23a21a929064d72f2bc9518af3732d671fffcc628a8b686f1d058a001ee6a114023b3e48b3fc0d0e4b22629a1c7f715e03795ee9ee5
+DIST system.linq.4.1.0.nupkg 511874 BLAKE2B 3f5941e6fdc731ab7acb58aaad0340695ba2c1ad285ee5eefd9c4ad3972e278d74cabb0d5480f29697b8c9ebf839c3c8064436be4c508ad406f0b3ab2b6366fc SHA512 53e53220e5fdd6ad44f498e4657503780bca1f73be646009134150f06a76b0873753db3aae97398054bd1e8cc0c1c4cdd2db773f65a26874ab94110edb0cddb1
+DIST system.linq.4.3.0.nupkg 512550 BLAKE2B cc6cbb532575bfcfde7ac897970dcd49067186547108f46449f9f819e7910ad32496df3663d4db8eff48224b8ee95b27f7bb442bb477ad47f44da2f6fa893078 SHA512 eacc7fe1ec526f405f5ba0e671f616d0e5be9c1828d543a9e2f8c65df4099d6b2ea4a9fa2cdae4f34b170dc37142f60e267e137ca39f350281ed70d2dc620458
+DIST system.linq.expressions.4.1.0.nupkg 1929236 BLAKE2B a804c6741afed5fdc918c046092f8a526668fdeca8712f750efade8f1f272fcd2c58b1d1493f20528ff7006e189fddd21f8a2220c15d689c8de2ad2bea21b1d6 SHA512 04605a091d3aea404bc97cb7ffc154708b3bec886562d9e36aecd4d2ed130afbb45f54cd16a3f714f0ccb3f27c5bc7707e55fbc3e81681a783e9396930058acc
+DIST system.linq.expressions.4.3.0.nupkg 1928029 BLAKE2B 1add363cc651e551fd7abcb797252785e2617159b197ec081de605d7c7dd829e7653e7693495a87909f46575b6619e95fef6e3132532110b3c1e74157ff096a6 SHA512 61b90ef9ae6f779fbc8a7b6483ee8f5449cdd05c81b05235f70447e656a73b2aab7c341784b999f7532374744a72e2c3a5cd13800ea23417fac32ccfae5cde6d
+DIST system.management.4.5.0.nupkg 191264 BLAKE2B 352a84fc0b53b98a67ee2b1c407e0c9fc26c46f216998d8863b130ee312118d4c102d1c4feeeac3067b10f987b200737f9e226e7ce25386ce7f84507433340bc SHA512 8cebee5c8b6fc3d8eaf2ce069b893619b8cababf20db1a69bee23cc0ae365547d110f12d5f6c7bb7c58932ff9a662a3ad8ce3996f7c70195e1db61d932664313
+DIST system.memory.4.5.3.nupkg 154054 BLAKE2B 0f75d5365d96b42949e53ae9498affce97ba074d6f404d30bec043e5def8cc39af05ccedffc7e9b13af4200336a9737cf44c85aa2d58069a64b1dc80537a6eac SHA512 70fce15a52cc76aacbae05c8e89e2e398d1d32903f63f640a7dd4a3e5747f2c7a887d4bfd22f2a2e40274906cf91648dfd169734fb7c74eb9b4f72614084e1db
+DIST system.numerics.vectors.4.4.0.nupkg 337043 BLAKE2B 94cca7283873edd9199d843db78e23bc5815de039c2aaeb67ba3cbe4cb5e161eab27b89cfbeeb437f0a9d235b48e86a5b31f53306a7e7a2a38feb28d6e5e523c SHA512 81d46b509b3546b8d6dc9079a7cda162303aef1a1e14bbe1d127522168d388df2a13195b16dfd1b57c1560d73906e909fdff4e2b34104ba81a9336c97874ea1e
+DIST system.objectmodel.4.0.12.nupkg 321648 BLAKE2B 7a008caf5f7f38f34d62037e5e3505dc237356246103d00be5b07423829fc4f2a763fa841673ebdeb0d6caa79dea8d7fb9f56cf078addddb3cc853e63101f03a SHA512 f5191cdb360bd2624abd7454c66862540f97aa19df92ea0854786b9d3cb9549e95c6194cfe8adc01589203c4feb1673a129c4929486bcb5f8db83ea535477c53
+DIST system.private.uri.4.3.0.nupkg 16869 BLAKE2B 7a407e16b35e4a5f405029e80749f7ae1c907707d9f72657016667ccf1255463011497b09b7d9e23fb3ccfd4de508dea48b33b13267775619f63134897e54c61 SHA512 5989a57ef273b689a663e961a0fe09d9b1d88438e5478358efc4b165de3b2674fa9579c301ce12d2d2fa5f33295f2acb42eceea2ebebf70c733da6364ceaf94d
+DIST system.reflection.4.1.0.nupkg 700819 BLAKE2B 7d98a07245ceb46e777b904b66ebd5d85067ed9a5e7ca10bc0838f115cfd5f7da1b6420b2126e56310b47b533fcd22ce020e046d03423ccdeb9392609783ce56 SHA512 67143ef8f6fb1044830c70c66e9a2b4f1850f50df5dadfaa5177338362ea7b9e9fe4b0ba59cd4eac6e1c8db4e0c285c239e4c2b3ce61391618b411aaff45f7c2
+DIST system.reflection.4.3.0.nupkg 700821 BLAKE2B a6aaf054f27be81f1a8251241deaddd6d35aa9ff1cd1b35a65c75201c3305ca0481d8f7a6de52a85736b0477332c404573db300f324e6301365f14fd59784225 SHA512 2325b67ed60dce0302807064f25422cbe1b7fb275b539b44fba3c4a8ce4926f21d78529a5c34b31c03d80d110f7bace9af9589d457266beac014220057af8333
+DIST system.reflection.emit.4.0.1.nupkg 219037 BLAKE2B 032654f464c65df895878e3e726c7f14c8c380fdb29a092b3ab99b57cd5b4c2a094df9a579b6a0b8ab416244a98b7bb2efe4a3e56792bd62f35d7077eeae33dc SHA512 ff7766886b945148ea65a49e4ddc648336340def2c2e94b8277b584444ec9126d96918f0bcbeb62016a530623a89ccd9eae749d62065b01058387b5d09fc7dd1
+DIST system.reflection.emit.4.3.0.nupkg 219534 BLAKE2B dddeaced247da3ced46ad776c3560d886db0581d10d2a32df3827c275a895f474933c528b637439831e7f69cabf70bcec544ed1d16069ef11cb047126f2c3b57 SHA512 be45051467a36ab965410f112a475fb81510a5595347d1cc0c46b028e0436a339218dd3c073f048c2d338b67dc13b45742290b6c46f55982503f74a8f2698818
+DIST system.reflection.emit.ilgeneration.4.0.1.nupkg 123128 BLAKE2B 784130af9ff312b8757308a16ef704a66b70f60461eaac1c39f54db4b3d4ca0ff066e495374c6899b4f65f4bd3454d2f252b4b404cc9c04e9ea44e896167849f SHA512 c3819cd3a58f609ff579652536f9f414481caa4d9e7dc277e0d3c8c8fe8e0ff90806fa94f7c6436d4af853c6fccd26d5af57f0a49c5baceef4e0daaa39e26773
+DIST system.reflection.emit.ilgeneration.4.3.0.nupkg 124567 BLAKE2B 4495327d565f0ef5935bb2ff6f71e25132abda4c8ffeb51195bd4b96d1d5c885e344519287dbb22d28957f0fbad2af0cc977c2fe4650206f7b72ee5dec45a08c SHA512 e9be5f62bf64b1947a49857337306a5d0980686b58d665989e94006ab04aa7e0bbf4d8543d1b57d5bb38079052f275f339b73054a7357e4fa357208a0ac85d69
+DIST system.reflection.emit.lightweight.4.0.1.nupkg 82989 BLAKE2B 80372b79e7e12b1945f6f178a9d427e32dda82998609dad684e9ebd806039869cbec3561a836b20b3988a4579049e1f39a04c9e4fbef4085a2e54f02dbb9c120 SHA512 542863fa085a31705b0b294b64744c11617a098beae4d5664beb53189148d19246c9a112de30f2d597e0888069a414f2aed8e94a2b369294a81b24b991bc2149
+DIST system.reflection.emit.lightweight.4.3.0.nupkg 84426 BLAKE2B 370e3b74a769e2a8043287ae93804d726ae0704440e3fea9cf5fd1ee46222cdd293d35896349719e87123ac24b05042665148023185ffb89ab8e00820820590c SHA512 ad58af07296bd084907a089f92026fa3898b764eb9d6a07c9414b550a83ac60456f32a34127c29bb93a9633fb07ba9fd828f7b41a31dce5ff019a7cf1ab29435
+DIST system.reflection.extensions.4.0.1.nupkg 99743 BLAKE2B bb72501a2dd11ecdb1f0ee41f022d7a20635cfb8858f8570ee52d15f7c0a7bd167ebc420ff164acf9a5e763e2dabdb7c7571e9155289fa8d9569ba1e42071dd5 SHA512 3e2f07c29836735be6247e75f760de90783d5ece64e8cce4e23eceb777da8975a35130804d87ddd26449c13d2ca34180e3f6b844b0fdd2dc594bbec6e7272098
+DIST system.reflection.extensions.4.3.0.nupkg 99740 BLAKE2B 15554874193bbddbb2a7a769a239923ea039b117d9f8ba5ae634b82fdc8f04fcdc871bdf328b0b4e418c9f0c987dfd71546c778a99453ba6b5e754e6939b3c28 SHA512 06cfd992c8d7fd9ab6432ab02be981a01b6558285a6e26a7825a064d4efcce08d9e7344f03fa19b033a2459d42b0b80e8c1400ce39b47a1752869ab8825b0475
+DIST system.reflection.metadata.1.6.0.nupkg 852113 BLAKE2B 4d15704a1fe00501c1bd8c945d02cd2e2d77c12ce86aa628edd18383838c9dbbfc449b8026707bb1ac570e55369e988aa6068f57acdea28f519bd3bdfd5b9304 SHA512 f5227666edc6bb1da78b8a8e86a68e9bd647caa2ec6a1580c14a4a5e1fe5cfde3bdaf0d8c23dc210c405a55f83ceb6add1a9adab149dc065b38cfddc9b01ba20
+DIST system.reflection.primitives.4.0.1.nupkg 281678 BLAKE2B 3aba0904b106e846cc9ff3fec98a6cc4acba2d2dd3296248303bb02b2e32bdafa7fa095f1c29636fd1c85ca5ef4d972a7b6218834e458ec9f41f275eb195cb4d SHA512 08ad6f78c5f68af95a47b0854b4ee4360c4bad6e83946c2e45eaa88b48d27d06618c6b7479bd813eb5f30a2db486590d17645e9c0e06a72dbe12ffd37730707e
+DIST system.reflection.primitives.4.3.0.nupkg 281679 BLAKE2B 36dc0fb5e7a6927ab2f54bc9ccb2e032cce0284c3aa9b83cf2ded8bab5fc7918553b06b16bef69161a7d9a0548b3e9159ab582533578cd28a661225559bd2b1d SHA512 d4b9cc905f5a5cab900206338e889068bf66c18ee863a29d68eff3cde2ccca734112a2a851f2e2e5388a21ec28005fa19317c64d9b23923b05d6344be2e49eaa
+DIST system.reflection.typeextensions.4.1.0.nupkg 187836 BLAKE2B d9cf37002f9c37bd11c43df97fd2e8234993f34c97e9a0606ef28164f1c587cc55ad2f2d66dc62de304ccae90f4d5636d163bbbc86fc00b4bb258a5dc91f4068 SHA512 5b1875ae86f76f60307fbe261c7471e996d4d4eade0c4783cb35a5aad7fec4f01be01cb1f1f78af22d483ecce12096f6ed431d69c4a66c7bf235008bcac30cb7
+DIST system.reflection.typeextensions.4.3.0.nupkg 187842 BLAKE2B 2cec73bd787cc6b4bee793782ff0db98aaced7e7a0645cefb60e6e47d353e1959eed7a48db24e9c7ea6ad7b87648c11c3588d43028c4e0d14c695c38356943a2 SHA512 68ae81a635b9af2aee9fc8fc8fe7da0356ef4da4eb32f81a89fb75613b96714e8f1a1f4c12bd0d335efbb03408cc7a744314837f13564d5fb262ca272055677f
+DIST system.resources.resourcemanager.4.0.1.nupkg 85915 BLAKE2B 11b7c350695fee892052fadccc4f24f6cdc9bbdae8e51122115dbdb357f584a6392ad4fc10a4be59c123a018e0ec559f5ba035fe5e5d7fd868f5878c7b00e306 SHA512 5165916e258dd38fa83278fb98dce271a95e0091c1274b8cf5f17d88b9e6284f7a7bf145194afe4f20250cc31ad714141f9e0687cf235ff05460fb47cea0c525
+DIST system.resources.resourcemanager.4.3.0.nupkg 85908 BLAKE2B 002ba25bb953e5a9162214338b50abcecfd8183c68c7b5de8bbc1780e57322b6aa225e13436ffda54b4013fb77540df7428d8c3c89c1a21622ab124d8ca174cd SHA512 9067db28f1c48d08fc52ad40a608f88c14ad9112646741ddaf426fdfe68bed61ab01954b179461e61d187371600c1e6e5c36c788993f5a105a64f5702a6b81d4
+DIST system.runtime.4.1.0.nupkg 7263653 BLAKE2B 0a6699d985304a5072c7c283a42c100cb8f13ae61e95f93463ed57438ef3d7c655c3c4aed43b1d8fed4057933e924ca1e6b9a5987f1328fe4e2e172861572593 SHA512 4b05eb68bb485846707c4fe3393f9616d3ffb6c5f62a121d81142ddf7d0241c931fe96d193b7bf02281a9368458e0764466766557cfa9709035dc76d8fdd7706
+DIST system.runtime.4.3.0.nupkg 7263712 BLAKE2B 6cf2c6704f2a5639bffe2db645fd6ac935e341a5d50f1be97969bfba15e7fd93c94a2ddbb75a3538cefc05142fd72331185ca7ed175141102e8f977649f3bf1f SHA512 92ab2249f08073cfafdc4cfbd7db36d651ad871b8d8ba961006982187de374bf4a30af93f15f73b05af343f7a70cbd484b04d646570587636ae72171eb0714fb
+DIST system.runtime.compilerservices.unsafe.4.5.2.nupkg 104723 BLAKE2B 30ab5b99a60b0a207bb4306ebcd483882af1721025f61a63dc3d654f060a42ec23e3dcac10623665a14e69ade86189ba0138deb199f63fb8f5124c3581e63c90 SHA512 84c91d5b192cca942515707b25a9907a00ec73110040ee051ddfe5c3fce549953d7598008a3eb9c630ab5deaf5f37c2fa0d033262739cf38e3da873dfdd9685a
+DIST system.runtime.extensions.4.1.0.nupkg 1060307 BLAKE2B 5426e4a8e6d9ebaa6c88ca7dc495c120b848602f15f102d3c65105c8a03ee35136d5eb2e04a3eb2452dea96a36af70e42cb7a317e269bf4ef8a1d3a5f33f9784 SHA512 42d009be57d6497aa0724924891289f3decd916d0432c1c865cc0494092f5e59287f632a70c5060b3c78e361ab04510d75dfb3c2d2853f54201f735eb6e2dea6
+DIST system.runtime.extensions.4.3.0.nupkg 1060357 BLAKE2B e58c5c36d42228a507fba876d43f064b872c93dc4a48e9a7475a77c27e00f2added1dbb8dd5d6516a4c5652ef2b01f5fa31aa611360b38a0b66a0b1a2e479699 SHA512 680a32b19c2bd5026f8687aa5382aea4f432b4f032f8bde299facb618c56d57369adef7f7cc8e60ad82ae3c12e5dd50772491363bf8044c778778628a6605bbc
+DIST system.runtime.handles.4.0.1.nupkg 54854 BLAKE2B 396943fd119a2ca9b91d1e8059ec1854ec4eedda6b73699042f8ae761bde1b6dde5f7a92a2066220d4c8f7d872741939ba198cde2154d62ff0350ed867ad0d09 SHA512 966a943195b66118277a340075609676e951216d404478ac55196760f0b7b2bd9314bfbb38051204a1517c53097bd656e588e8ab1ec336ce264957956695848a
+DIST system.runtime.handles.4.3.0.nupkg 54854 BLAKE2B e68360382f2c625e3b1526dddb1d49c6bddc9b78d38041801f0df876f1b06d429c608ff3b28a0c1415495eb38fcd70aafa9fe8dc0bb323790e8a85718a9f93f9 SHA512 0a5baf1dd554bf9e01bcb4ce082cb26ee82b783364feb47cba730faeecd70edc528efad0394dcce11f37d7f9507f8608f15629ebaf051906bfd3513e46af0f11
+DIST system.runtime.interopservices.4.1.0.nupkg 2542509 BLAKE2B 3ecf490aacb98e44dd952301828ab27f5cbe6b2053dfdd745737cfe1d7a847691e13b3a7df558daa2a1747e50e7045145a90f51e26f108fe9826814a0c60b7c0 SHA512 e8511e6a4cd40f3c603df4ffbbf6a4aac4d10be79bcfd0249a9af90d55cf2a02543ad9b82e607a4665d58f28c7ce9bdb0f7f3ff9bc8ded8a252213916a771bd2
+DIST system.runtime.interopservices.4.3.0.nupkg 2597020 BLAKE2B 4753b772f9d3596eae34b10497af40bc6e7cd63e9319e5789378cd148b009ae9fd5bde5e5757954ef06826bd4f4b79a3f8d8ea07766238407f26f3e222cdb2cf SHA512 650799c3e654efbb9ad67157c9c60ce46f288a81597be37ce2a0bf5d4835044065ef3f65b997328cbbbbfb81f4c89b8d7e7d61380880019deee6eb3f963f70d9
+DIST system.runtime.interopservices.runtimeinformation.4.0.0.nupkg 165972 BLAKE2B 0a4e21adbb275fded46ae04ccda695b9fcb29d4f199979b914a55d0cdc4457a6a7dfa8bbd82a5a46048d052a7e852cb935a1d4a7c6bf7e462f7b14327a52dc9d SHA512 462d35e66cbdd21dc007f06c6ef129ab57e810fa0f0416bd2fc6fb7eed55138780d4d31e31ee6267a82e2e3a1607e5c642bd6efeb130b57a1baa87e3141b0080
+DIST system.runtime.interopservices.runtimeinformation.4.3.0.nupkg 179546 BLAKE2B 780a92196ee216c1175768b32c04e88cfbc453bd9fdd6e5645c4ccc98f2c5ad62fd5cb158117df9391b1cdc3130a2cddca49304d2579434597350097960ce013 SHA512 6f4905329a3cc9e62d274c885f275ee31c5af57a6c9fd1a5080d039cb748e0277bef3dc8ce42863cac78365084e00a032279bf3d2b7254a49f3fb1566a29ad1b
+DIST system.runtime.numerics.4.3.0.nupkg 283763 BLAKE2B b9e2ffc7e974fb4824ed174be43e664d0fcbe1e996640b8f66a17503c8af24d106e883092fd61b2990c32472423bcad943e07b7e25d126563a219e1b617446ee SHA512 3e347faa8e7ec484d481e53b1c219fe1ce346ae8278a214b4508cf0e233c1627bd9c6c6c7c654e8c1f4143271838ddd9593f63a1043577ad87c40e392af7fd34
+DIST system.runtime.serialization.primitives.4.1.1.nupkg 222353 BLAKE2B c53253fbc44b119c29e3cc5a049919d293600182543e6b0b39d0abbaa7853b4b025937d5e5df9e89630a74dfd22bea4c0da826ce2b37211b8db3cb4aeb18ba6a SHA512 fa6a90aeb26c0f1e72c48abec0b60a1ebea955cd3c1133b3245c04dd0bd6984c0ce0253944d28676abb8edb93e1c649c693e7c6425459a3c29a74381531cb540
+DIST system.security.accesscontrol.4.5.0.nupkg 551848 BLAKE2B ff1d5476ce5f07624d708f53c4e73568ac2dcf9c2a968836e1bee358cf8dbc64b853dc8358c860f792962f5dba6f5422425e1ce4605cb7eb60feb54872c92583 SHA512 e9142d713f93c8380b505b009e699d7d144674b60ac526469123ce774e76b6f605c4e4cc6906fa00d970846a99b4d3b9d8fa2c682a17bbbb9ab459deba303198
+DIST system.security.cryptography.algorithms.4.3.0.nupkg 402204 BLAKE2B 3bed21fdd12f005b6a7eb225623e71880a37c79cfdaa770971b6563d8e7f613a64617c73deedc2c6c31fd8e908f9ac95903a1004f1376bd914431f89c9dcc8f0 SHA512 7641d70c2ba6f37bf429d5d949bda427f078098c2dcb8924fd79b23bb22c4b956ef14235422d8b1cc5720cbbcc6cfee8943d5ff87ce7abf0d54c5e8bce2aa5e2
+DIST system.security.cryptography.encoding.4.3.0.nupkg 144382 BLAKE2B 9f8e6a4ce5fe2a4de2be0c827e914a02a257011b508e97e289b9de4657b598fdbba4e64dcf23a29af6e4910af41e62f3b3f0d6a2156ab691e2e00ad76c6499ef SHA512 5c26add23e63542f37506f5fa1f72e8980f03743d529cd8e583d1054b8d8a579fb773fa035a00d9073db84db6be4f47cac340d1ebc6d23dd761dbdbd600075e0
+DIST system.security.cryptography.primitives.4.3.0.nupkg 81382 BLAKE2B 55bcbe3143e85d24f47c72ec5e1f0ad38a1f931932b3a8a03dc00028668fc085d070dfcded55654e09328a745b208b9f15928aaff1087d8906bad41d7cfb23e0 SHA512 5ad8273f998ebb9cca2f7bd03143d3f6d57b5d560657b26d6f4e78d038010fb30c379a23a27c08730f15c9b66f4ba565a06984ec246dfc79acf1a741b0dd4347
+DIST system.security.cryptography.x509certificates.4.3.0.nupkg 706727 BLAKE2B 67c777394c982267c08dba232dd75aba6e924784d14388f7f8e347293c8f3a67ef9490a078b3f56f649a1ab352a4c924630f384850e3d5f1510dceae45fd0af1 SHA512 318d86ab5528e2b444ec3e4b9824c1be82bb93db513eab34b238e486f886c4d74310ed82c2110401fe5cd790e4d97f4a023a0b2d5c2e29952d3fd02e42734d00
+DIST system.security.principal.windows.4.5.0.nupkg 390138 BLAKE2B f788682d5f771fe9db0d41b11f61717c2f5fc69ee944ee18d1c63344dda45ae9fa4d014729fd0b0c2bbb4b9f5b7895fba391fb6ab7d5e65b6c512ca8fdf48789 SHA512 86cdb3178b4e437578890b6d5672eb9d1fe2f003abac082ed869a9e3f8cd684ffee618995838f6d052bf9bf396dc8b5d8bd5c3bea7f9e56cc7922598b4e49436
+DIST system.text.encoding.4.0.11.nupkg 327286 BLAKE2B ec08fe2bfd3eaedc7a50d823ae424268d1f51f8816d9b3645b4210e10b8cf89e801f5f7d831a565e31cbf795952ee5a6a60a45d6432e0593727f0e0e213818ed SHA512 f974335143f36b318abf040ed535887f28089d749b1fa55056345df5243dfbd56d27b74c6e4d87a737fdbb8e699c5291bd25f1e5db4700bb00bf53330c7e3e9a
+DIST system.text.encoding.4.3.0.nupkg 327281 BLAKE2B e153609b257919932499a013337b8b2a4087ebff7e8ffe6854ad1c70fbd058aaabc4e974313dfb3cf1a9355b0ced87bd97cd39f6a4962b8a4a87003d3a66c53c SHA512 6ff7feec7313a7121f795ec7d376e4b8728c17294219fafdfd4ea078f9df1455b4685f0b3962c3810098e95d68594a8392c0b799d36ec8284cd6fcbd4cfe2c67
+DIST system.text.encoding.codepages.4.3.0.nupkg 1615064 BLAKE2B 302b7bc27ca021fb44608baf1e0a7ff0e19b5b3758fb969b5c41406ed11c22b3f87ae78e970637d169fdbf3e72a94e0ef859ebb8a67593784c55a718c6895e95 SHA512 d6179be2beac0a19aa4bfd3c317ffaa5db0c3ea224a0ba1f0269c0267ad679f76d387d8455ec26c06f3a166ea84af2348597425412d95ccfe352a3ef11123a44
+DIST system.text.encoding.extensions.4.0.11.nupkg 244203 BLAKE2B 957201548c8629ab5111cbbcae3518b7c07bef93ac972b557e4f9f729dfd2519ef4523d5f6ea23b22eb19f93a3b17dbf7f1b6bed105f89b9219d53d8ed1534f7 SHA512 b2ba1f2a96bf14466fb31e4ac1fad25e7032688357340ad8976b8aafe7cbe39c061835a4e17d7cf6ae291d3155f07d3371f6b65ffc1c15474c3c86dbb7735e82
+DIST system.text.encoding.extensions.4.3.0.nupkg 244195 BLAKE2B 9dc2fbf672e07c5302bbb8435e8c09bc91febb96f22b85b57b09b2046fca224c786f8710b634559de2722f3dbece7b30e6a3c6a78e98e77f955d550e440beb60 SHA512 e648c5dc781e35cf00c5cc8e7e42e815b963cf8fb788e8a817f9b53e318b2b42e2f7a556e9c3c64bf2f6a2fd4615f26ab4f0d4eb713a0151e71e0af3fe9c3eed
+DIST system.text.regularexpressions.4.1.0.nupkg 514882 BLAKE2B 864d70cdb65bf87b684561f98d2d5193e2d66015e4cd770ab823a6ba966b3813d75f0ed6aaec82012a3d5f66ef9be182e7773b4c3b94407ab10c9e5dcd9e9f2e SHA512 9b612027e43c33cc256e016e0b400547c5923e93ab6ed1a40d2b97292cb18a1195fa79aba2b0166a6b11842a0fef6685d31b848375daffdf6d2acf297af40bbe
+DIST system.text.regularexpressions.4.3.0.nupkg 530523 BLAKE2B fc77aa0a92658cfac1b3fc00b87fabbec1be5c79776b0b2680775615b273a5a49ff8d5000f97415b85fc0283ff95569ba9a5a72917828455646053033088b49b SHA512 80353c148df30d9a2c03ee10a624d91b64d7ccc3218cb966344cfa70657f0b59c867fed2ab94057f64ab281ad9318353f25c23375c00e1376b6589ae0a70aad3
+DIST system.threading.4.0.11.nupkg 708036 BLAKE2B 6b85f9c80dfddd5faa9799fdd64379c4c066b076596cd0008c46114b91025a20e00cb8b626b6fa5d139af6aeb8a3f6781ca7e55c4f7d147eae2f38e14d7a63c2 SHA512 05c0dd1bbcfcedb6fc6c5f311c41920a4775f8a28a61ca246b6c65ad8afd9b04881d3357880af000ac056fd121fc5c3ec0b56d6fd607e0c27e7a639157c85e3e
+DIST system.threading.4.3.0.nupkg 708088 BLAKE2B 004d01762fad35a4607522d974a0cdc3d0049c82fe704f2f86fb98ee81059ebb56d13c290fcd273d1067a1a7c7f17bf3259d4d7e802c1d09a95e3c5fa29ef3f3 SHA512 97a2751bdce69faaf9c54f834a9fd5c60c7a786faa52f420769828dbc9b5804c1f3721ba1ea945ea1d844835d909810f9e782c9a44d0faaecccb230c4cd95a88
+DIST system.threading.tasks.4.0.11.nupkg 840020 BLAKE2B ec5b6bbd3c912d3552922acd338611baa992dca6bf07b97b391e47b5b41ab718c373551dacffc7b4b67870287e93eb6e70ed184213e800fd9b424bf3e02cd8cb SHA512 fb66c496a5b4c88c5cb6e9d7b7d220e10f2fc0aed181420390f12f8d9986a1bd2829e9f1bf080bb6361cd8b8b4ffc9b622288dfa42124859e1be1e981b5cfa7b
+DIST system.threading.tasks.4.3.0.nupkg 840017 BLAKE2B 1cf4a8cc833da0a38304757db3808df5c217518c817d5807bf6f35393725a31223129fd1c4c964a36a60c65b686d24fc25d1777fa12ee622bddbb0f7c1772bec SHA512 7d488ff82cb20a3b3cef6380f2dae5ea9f7baa66bf75ad711aade1e3301b25993ccf2694e33c847ea5b9bdb90ff34c46fcd8a6ba7d6f95605ba0c124ed7c5d13
+DIST system.threading.tasks.extensions.4.0.0.nupkg 49355 BLAKE2B 898f05110ec79e3518937d10df244782ae19e36a11228b427785f367e1974135836046a6a0445c87b206550c11fd23b6d22b0dd399992ae5ac20b3d5c3060056 SHA512 f294f1a4179f53d59f91f01a372cc7896bf8c322e9827299cb1aa3ae2b1f809e98034834f5ccd4cb3fa1c30735082d244fff6584dab6e8870ad409b55e8a4986
+DIST system.threading.tasks.extensions.4.3.0.nupkg 52499 BLAKE2B 3e6532ad1936859e2713e2e864831efe0af00a5ce561bd7f8723845bf285b8c15de00cb1fc246504f99599d183b400746cea987db883f0e61283db1fb2725a1e SHA512 2c33900ff7f544d6db31ad11b6baee1c9ecb40d5a54f51e5dd5bbbb37f4c50ee35ed481615cbf7c1da61a31ae3333c4454bfbeee4ae32241789e72ce3f910db6
+DIST system.threading.tasks.extensions.4.5.2.nupkg 87298 BLAKE2B a94766dbafe79b031dff04ce899e24c2e76e665b35560d4b8d5cd03af876d351ae87205c51315ce9a1910bbc9103f05c334e8b54b518df9dee2bc4cce0e5453f SHA512 e470aef15dd007e828b8c6661ab03aebac1e67451046df8e4c3d7aad21371f286ee10865bf191fe274cf23418bcb9dacd2bc608bb0bcb766b2140cf0ed42b5a2
+DIST system.threading.tasks.parallel.4.3.0.nupkg 176896 BLAKE2B b3052582b96170f58148c4a4b0eb9a4d0a2c811f6d0b9888d9a8efdf3ed006607647b5e7093dd8b26f8493718f1b216dc9de683d478b3b2b5d6ee00ce842c643 SHA512 460eec2492b2cc8fc8fefa64ff148d77aae2da157caab25d03023cd6e2064cd8ec2ab3f68fd722fbe8a8dc1e05e775d2aecd789a0fc5d48fe2ae59921ed5a12a
+DIST system.threading.thread.4.3.0.nupkg 98902 BLAKE2B 2b80e5bdf32b1ee3f4abffaf8e2c23bec55277b50d33df6b61e6d3a83fe970e722af6b82be56d47f64dc5fcc33c9291c230d545608110a3e100e21f7801dbf80 SHA512 cfe12b6a60e79e2f7fca779a511153d5b0dcae59ea1b11606f6327dbf8b3c565e2551e8ecada558e62dd3b684b5c9d676575025048edfbd3988faf7f7235a5fe
+DIST system.threading.threadpool.4.3.0.nupkg 89926 BLAKE2B ec4210a5862c0704b118e4055785c7094ff8c3586800fcae109fa60e77565d8288089c64bce105e9cab08f8bb107dca340e72ae1d39d19f6118538ed32f449d6 SHA512 450a40f94a48e9396979e764e494ad624d8333f3378b91ea69b23fc836df8f5c43bbd6c8cfd91da2ab95a476e1ff042338968e09b720447f2241c014bfc75159
+DIST system.valuetuple.4.5.0.nupkg 204904 BLAKE2B effebc14eba236b1b5c4dbbab544781867b66418fb293ecb1a71c42daeeacd4327c3cb6f988742a038fb978c2d23546485e3c29ca7afc41c5e2425013c29e842 SHA512 fa00ebb5045d12c51274f64411c551981beceb1266a8606a4731063109b95ea1f15939197bf3d2ba899db61e593dc39bfce876908bba34286823525093ae3d8e
+DIST system.xml.readerwriter.4.0.11.nupkg 1363068 BLAKE2B b151c0560022d796720ce342c6c47189d5cb5d292bdc62eb0439deb87b05e80d9c57cb38267a9e153e0d4513e8edf503d88926e9956eba118b5d00d488e2fc78 SHA512 d40d6e9d55e57acdf04132bcb8ae8abf1abb3483620cde969c78c6c393a9936abf742c1dcf66288e6e9dffcb399a880ee3c11540ac140cb32e20b41365aaf35e
+DIST system.xml.readerwriter.4.3.0.nupkg 1388897 BLAKE2B ae51b8fe4492dec1e4e3584d05b0f477fd4e75e79dddb46d8077ae5311245d6fc6213d0655025f25db56f1370cb0e88bd60a83dc937bb53db1db0262390281f2 SHA512 991101497fbd39e43fc306ca280a465318868afa8db1f34bb87c266fe61f0c81a0ec34a797b236ee823bd60d1149b7592def96fe044abb511858efffe890c2e6
+DIST system.xml.xdocument.4.0.11.nupkg 591353 BLAKE2B 8373fa19c6aafbe6e347db7bb1ec304dd8ce77df415acf0c3ee04ea2dcfce050f59d6e72cdeb14c4e54d29c1c07fc9eb0ef8045fb09830b48fb1a8e90dcb09a8 SHA512 f8ae902901963f2636f39c0652d82daa9df3fb3e3d5a60493c39f6cf01ed07c7d57f175a2d2895f4a872d4e92527e5131522218d1a67da2fd491e162273a8527
+DIST system.xml.xdocument.4.3.0.nupkg 591350 BLAKE2B 86f910cef36c056f4a9ea9dc26eea6e01070467d27ac80fb8a0af5e1a572ad5d2169e4f1297cd362fddc9e0309458dbd413fca85ef8e56f97781c218e594604a SHA512 c2d9236a696daf23a29b530b9aa510fb813041685a1bb9a95845a51e61d870a0615e988b150f5be0d0896ef94b123e97f96c8a43ee815cf5b9897593986b1113
+DIST system.xml.xmldocument.4.3.0.nupkg 285212 BLAKE2B 0d96ca356543e8e915597e0624dca42f0c7032a2ae9e380a6fba3fbee0dacb9e5f06017893b2b7a8b937dbb4de7d5665fa6648e3bf8df12e0d34e4075c125109 SHA512 22251b3f16de9aa06e091b24baea1b8c95752f0d22266faf34e1fb76b347b23f7910cdaf567058e23d06b7079961090ca70805070a2491add5da4d0271afd133
+DIST system.xml.xpath.4.3.0.nupkg 250182 BLAKE2B 8a4177d47af56bc7a6289ed8f2cac41d504dee212a858ed221277b3f523b1ce38ccb47bc3ce4d59a2c7cfd77f00f3c9693a9c257c90adb38096ee77a860f10cc SHA512 2bd0979a2020579fb32ad374b89929a272e763ee1233ed9a215408c0a1f9f82a5fdb74330c1c55a6102e0dfdb8b7b59ed25fdf6454bf3de146152ea779f366e0
+DIST system.xml.xpath.xdocument.4.3.0.nupkg 89906 BLAKE2B b15b21497207c788ab23bb4f80af85044770087b25623285da5081989dc1608730a1b5040e32b7c080b98ed790b010237a6e295351d5ec27ef66e0b21ed405a0 SHA512 06ac9786b2f20b1336f3f56a3c97536907d033f1a9b9ec07267192f60ed51732924aa366f481e862f1f63d75fabdc5de51b445c5cb6c36f1fb89690a29b6e1e8
+DIST system.xml.xpath.xmldocument.4.3.0.nupkg 138523 BLAKE2B ba53f3b5ac0f2d1d1e9120940b302e6960690ed4a44b96ba15b03e16f9159f2c57d6004aa55b796ba2327009d23fc2f10d4d09e948b88eb6af36efa5f76e401b SHA512 f75b6f7c75874ab6053e8942c1662a6e9a3561aa01502437b8d67f3bfcebd1ebf906792801326889ed7acb094c55469766d7d27cd10bc61b46ddaaa94dfc11e3
diff --git a/dev-python/pythonnet/files/pythonnet-3.0.3-no-sourcelink.patch b/dev-python/pythonnet/files/pythonnet-3.0.3-no-sourcelink.patch
new file mode 100644
index 000000000000..ba1c1e9011e9
--- /dev/null
+++ b/dev-python/pythonnet/files/pythonnet-3.0.3-no-sourcelink.patch
@@ -0,0 +1,10 @@
+--- a/src/runtime/Python.Runtime.csproj
++++ b/src/runtime/Python.Runtime.csproj
+@@ -63,7 +63,6 @@
+
+ <ItemGroup>
+ <PackageReference Include="Lost.Compat.NullabilityAttributes" Version="0.0.4" PrivateAssets="All" />
+- <PackageReference Include="Microsoft.SourceLink.GitHub" Version="1.1.1" PrivateAssets="All" />
+ <PackageReference Include="System.Reflection.Emit" Version="4.3.0" />
+ </ItemGroup>
+ </Project>
diff --git a/dev-python/pythonnet/metadata.xml b/dev-python/pythonnet/metadata.xml
new file mode 100644
index 000000000000..8b6f57e251fe
--- /dev/null
+++ b/dev-python/pythonnet/metadata.xml
@@ -0,0 +1,21 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+
+<pkgmetadata>
+ <maintainer type="project">
+ <email>dotnet@gentoo.org</email>
+ <name>Gentoo Dotnet Project</name>
+ </maintainer>
+ <longdescription>
+ Python.NET is a package that gives Python programmers nearly seamless
+ integration with the .NET Common Language Runtime (CLR) and provides a
+ powerful application scripting tool for .NET developers. It allows Python
+ code to interact with the CLR, and may also be used to embed Python into a
+ .NET application.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/pythonnet/pythonnet/issues/</bugs-to>
+ <remote-id type="github">pythonnet/pythonnet</remote-id>
+ <remote-id type="pypi">pythonnet</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/pythonnet/pythonnet-3.0.3.ebuild b/dev-python/pythonnet/pythonnet-3.0.3.ebuild
new file mode 100644
index 000000000000..42f52b60443a
--- /dev/null
+++ b/dev-python/pythonnet/pythonnet-3.0.3.ebuild
@@ -0,0 +1,282 @@
+# 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} )
+
+DOTNET_PKG_COMPAT=8.0
+NUGETS="
+benchmarkdotnet.annotations@0.13.1
+benchmarkdotnet@0.13.1
+commandlineparser@2.4.3
+iced@1.8.0
+lost.compat.nullabilityattributes@0.0.4
+microsoft.build.tasks.git@1.1.1
+microsoft.codeanalysis.analyzers@2.6.1
+microsoft.codeanalysis.common@2.10.0
+microsoft.codeanalysis.csharp@2.10.0
+microsoft.codecoverage@16.11.0
+microsoft.codecoverage@17.0.0
+microsoft.codecoverage@17.8.0
+microsoft.csharp@4.7.0
+microsoft.diagnostics.netcore.client@0.2.61701
+microsoft.diagnostics.runtime@1.1.126102
+microsoft.diagnostics.tracing.traceevent@2.0.61
+microsoft.dotnet.internalabstractions@1.0.0
+microsoft.dotnet.platformabstractions@2.1.0
+microsoft.net.compilers.toolset@4.0.1
+microsoft.net.test.sdk@16.11.0
+microsoft.net.test.sdk@17.0.0
+microsoft.net.test.sdk@17.8.0
+microsoft.netcore.platforms@1.0.1
+microsoft.netcore.platforms@1.1.0
+microsoft.netcore.targets@1.0.1
+microsoft.netcore.targets@1.1.0
+microsoft.netframework.referenceassemblies.net461@1.0.0
+microsoft.netframework.referenceassemblies.net472@1.0.0
+microsoft.netframework.referenceassemblies@1.0.0
+microsoft.testplatform.objectmodel@16.11.0
+microsoft.testplatform.objectmodel@17.8.0
+microsoft.testplatform.testhost@16.11.0
+microsoft.testplatform.testhost@17.8.0
+microsoft.win32.primitives@4.3.0
+microsoft.win32.registry@4.3.0
+microsoft.win32.registry@4.5.0
+netstandard.library@2.0.0
+netstandard.library@2.0.3
+newtonsoft.json@13.0.1
+newtonsoft.json@9.0.1
+noncopyableanalyzer@0.7.0
+nuget.frameworks@5.0.0
+nuget.frameworks@6.5.0
+nunit3testadapter@3.16.1
+nunit3testadapter@3.17.0
+nunit3testadapter@4.5.0
+nunit@3.12.0
+nunit@3.14.0
+perfolizer@0.2.1
+runtime.any.system.collections@4.3.0
+runtime.any.system.diagnostics.tools@4.3.0
+runtime.any.system.diagnostics.tracing@4.3.0
+runtime.any.system.globalization@4.3.0
+runtime.any.system.io@4.3.0
+runtime.any.system.reflection.extensions@4.3.0
+runtime.any.system.reflection.primitives@4.3.0
+runtime.any.system.reflection@4.3.0
+runtime.any.system.resources.resourcemanager@4.3.0
+runtime.any.system.runtime.handles@4.3.0
+runtime.any.system.runtime.interopservices@4.3.0
+runtime.any.system.runtime@4.3.0
+runtime.any.system.text.encoding.extensions@4.3.0
+runtime.any.system.text.encoding@4.3.0
+runtime.any.system.threading.tasks@4.3.0
+runtime.debian.8-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.fedora.23-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.fedora.24-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.native.system@4.3.0
+runtime.opensuse.13.2-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.opensuse.42.1-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.osx.10.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.rhel.7-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.14.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.16.04-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.ubuntu.16.10-x64.runtime.native.system.security.cryptography.openssl@4.3.0
+runtime.unix.microsoft.win32.primitives@4.3.0
+runtime.unix.system.diagnostics.debug@4.3.0
+runtime.unix.system.io.filesystem@4.3.0
+runtime.unix.system.private.uri@4.3.0
+runtime.unix.system.runtime.extensions@4.3.0
+system.appcontext@4.1.0
+system.appcontext@4.3.0
+system.buffers@4.3.0
+system.buffers@4.4.0
+system.collections.concurrent@4.3.0
+system.collections.immutable@1.5.0
+system.collections.nongeneric@4.3.0
+system.collections.specialized@4.3.0
+system.collections@4.0.11
+system.collections@4.3.0
+system.componentmodel.eventbasedasync@4.3.0
+system.componentmodel.primitives@4.3.0
+system.componentmodel.typeconverter@4.3.0
+system.componentmodel@4.3.0
+system.console@4.3.0
+system.diagnostics.debug@4.0.11
+system.diagnostics.debug@4.3.0
+system.diagnostics.fileversioninfo@4.3.0
+system.diagnostics.process@4.3.0
+system.diagnostics.stacktrace@4.3.0
+system.diagnostics.tools@4.0.1
+system.diagnostics.tools@4.3.0
+system.diagnostics.tracing@4.3.0
+system.dynamic.runtime@4.0.11
+system.dynamic.runtime@4.3.0
+system.globalization.extensions@4.3.0
+system.globalization@4.0.11
+system.globalization@4.3.0
+system.io.compression@4.3.0
+system.io.filesystem.primitives@4.0.1
+system.io.filesystem.primitives@4.3.0
+system.io.filesystem@4.0.1
+system.io.filesystem@4.3.0
+system.io@4.1.0
+system.io@4.3.0
+system.linq.expressions@4.1.0
+system.linq.expressions@4.3.0
+system.linq@4.1.0
+system.linq@4.3.0
+system.management@4.5.0
+system.memory@4.5.3
+system.numerics.vectors@4.4.0
+system.objectmodel@4.0.12
+system.private.uri@4.3.0
+system.reflection.emit.ilgeneration@4.0.1
+system.reflection.emit.ilgeneration@4.3.0
+system.reflection.emit.lightweight@4.0.1
+system.reflection.emit.lightweight@4.3.0
+system.reflection.emit@4.0.1
+system.reflection.emit@4.3.0
+system.reflection.extensions@4.0.1
+system.reflection.extensions@4.3.0
+system.reflection.metadata@1.6.0
+system.reflection.primitives@4.0.1
+system.reflection.primitives@4.3.0
+system.reflection.typeextensions@4.1.0
+system.reflection.typeextensions@4.3.0
+system.reflection@4.1.0
+system.reflection@4.3.0
+system.resources.resourcemanager@4.0.1
+system.resources.resourcemanager@4.3.0
+system.runtime.compilerservices.unsafe@4.5.2
+system.runtime.extensions@4.1.0
+system.runtime.extensions@4.3.0
+system.runtime.handles@4.0.1
+system.runtime.handles@4.3.0
+system.runtime.interopservices.runtimeinformation@4.0.0
+system.runtime.interopservices.runtimeinformation@4.3.0
+system.runtime.interopservices@4.1.0
+system.runtime.interopservices@4.3.0
+system.runtime.numerics@4.3.0
+system.runtime.serialization.primitives@4.1.1
+system.runtime@4.1.0
+system.runtime@4.3.0
+system.security.accesscontrol@4.5.0
+system.security.cryptography.algorithms@4.3.0
+system.security.cryptography.encoding@4.3.0
+system.security.cryptography.primitives@4.3.0
+system.security.cryptography.x509certificates@4.3.0
+system.security.principal.windows@4.5.0
+system.text.encoding.codepages@4.3.0
+system.text.encoding.extensions@4.0.11
+system.text.encoding.extensions@4.3.0
+system.text.encoding@4.0.11
+system.text.encoding@4.3.0
+system.text.regularexpressions@4.1.0
+system.text.regularexpressions@4.3.0
+system.threading.tasks.extensions@4.0.0
+system.threading.tasks.extensions@4.3.0
+system.threading.tasks.extensions@4.5.2
+system.threading.tasks.parallel@4.3.0
+system.threading.tasks@4.0.11
+system.threading.tasks@4.3.0
+system.threading.thread@4.3.0
+system.threading.threadpool@4.3.0
+system.threading@4.0.11
+system.threading@4.3.0
+system.valuetuple@4.5.0
+system.xml.readerwriter@4.0.11
+system.xml.readerwriter@4.3.0
+system.xml.xdocument@4.0.11
+system.xml.xdocument@4.3.0
+system.xml.xmldocument@4.3.0
+system.xml.xpath.xdocument@4.3.0
+system.xml.xpath.xmldocument@4.3.0
+system.xml.xpath@4.3.0
+"
+
+inherit check-reqs dotnet-pkg distutils-r1 readme.gentoo-r1
+
+DESCRIPTION="Nearly seamless integration with the .NET Common Language Runtime"
+HOMEPAGE="http://pythonnet.github.io/
+ https://github.com/pythonnet/pythonnet/"
+
+if [[ "${PV}" == *9999* ]] ; then
+ inherit git-r3
+
+ EGIT_REPO_URI="https://github.com/pythonnet/${PN}.git"
+else
+ inherit pypi
+
+ KEYWORDS="amd64"
+fi
+
+SRC_URI+=" ${NUGET_URIS} "
+
+LICENSE="MIT"
+SLOT="0"
+
+RDEPEND="
+ dev-python/clr-loader[${PYTHON_USEDEP}]
+ dev-python/pycparser[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+CHECKREQS_DISK_BUILD="1500M"
+EPYTEST_DESELECT=(
+ 'tests/test_codec.py::test_sequence'
+ 'tests/test_engine.py::test_import_module'
+ 'tests/test_engine.py::test_run_string'
+ 'tests/test_method.py::test_getting_method_overloads_binding_does_not_leak_memory'
+ 'tests/test_method.py::test_params_array_overloaded_failing'
+ 'tests/test_module.py::test_assembly_load_recursion_bug'
+ 'tests/test_module.py::test_implicit_assembly_load'
+)
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.3-no-sourcelink.patch"
+)
+
+DOCS=( AUTHORS.md CHANGELOG.md README.rst )
+DOC_CONTENTS="Python.NET defaults to the mono runtime, not .NET SDK's coreclr.
+You can workaround this either by exporting PYTHONNET_RUNTIME=coreclr or some
+Python code. Please read the documentation on
+https://pythonnet.github.io/pythonnet/python.html"
+
+distutils_enable_tests pytest
+
+pkg_setup() {
+ check-reqs_pkg_setup
+ dotnet-pkg_pkg_setup
+}
+
+src_prepare() {
+ nuget_writeconfig "$(pwd)/"
+
+ distutils-r1_src_prepare
+}
+
+src_configure() {
+ dotnet-pkg_src_configure
+ distutils-r1_src_configure
+}
+
+python_test() {
+ epytest --runtime coreclr
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ readme.gentoo_create_doc
+}
+
+pkg_postinst() {
+ readme.gentoo_print_elog
+}
diff --git a/dev-python/pythran/Manifest b/dev-python/pythran/Manifest
index aaf6b8fdadef..3588adea381f 100644
--- a/dev-python/pythran/Manifest
+++ b/dev-python/pythran/Manifest
@@ -1,2 +1 @@
-DIST pythran-0.13.1.gh.tar.gz 3639196 BLAKE2B 8aba73c68542d69dd2287d7081226161ecade9e49fe6ea69d034f9116becbc148614212cbcff0056291809d2994caf43ee374393939e44635c6bed69220b29b8 SHA512 2497fa49d78ff64e577816f4b48bd424c03f04b7605c92d359f0f8514aaa67b30b7e68248db475c215deafaf7e55f7b4b74ab37c9dbef2a27e813878bf350e77
-DIST pythran-0.14.0.gh.tar.gz 3642431 BLAKE2B cd5eeca0c52b0c3d17862b38c176b435a63a1f399e66979b8ac2682625cd0b0e074265e79bfdb6e57db989633954266132752e9b50c601ff43ae5c17c3e34bf5 SHA512 2a485c00b015abafc9ded28bfea8d8a7ae3ce87b5b654c318d5514fe12fd9374b599c05e3c4a2ff911fbae84df2efaa3cec2019c91e82ac1f36e0cc5ddeb2d8e
+DIST pythran-0.16.1.gh.tar.gz 3680817 BLAKE2B 2a4b928e9d0ce68248eb543c97da5afca900d81bc660377313617149c5aae7529a371bfd3604dd9feb6e38f834360fef881c8324ae72b585d8ab86e867c2f6b3 SHA512 7a89546b52bdae9bdaeba42768ac822c584a3714b8f4e32417d793454dc0b5492342dfd393d92f8ecee12c854bc39e418f5860aadd00d328afef7b17ebddec99
diff --git a/dev-python/pythran/pythran-0.13.1.ebuild b/dev-python/pythran/pythran-0.13.1.ebuild
deleted file mode 100644
index c8ba5658ab10..000000000000
--- a/dev-python/pythran/pythran-0.13.1.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{9..11} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-
-inherit distutils-r1 multiprocessing
-
-MY_P=${P/_p/.post}
-DESCRIPTION="Ahead of Time compiler for numeric kernels"
-HOMEPAGE="
- https://pypi.org/project/pythran/
- https://github.com/serge-sans-paille/pythran/
-"
-SRC_URI="
- https://github.com/serge-sans-paille/pythran/archive/${PV/_p/.post}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- dev-libs/boost
- =dev-python/beniget-0.4*[${PYTHON_USEDEP}]
- =dev-python/gast-0.5*[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- >=dev-python/ply-3.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- dev-python/ipython[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- virtual/cblas
- !!dev-python/setuptools-declarative-requirements
- )
-"
-
-distutils_enable_tests pytest
-
-src_configure() {
- # TODO: package xsimd then set no_xsimd = True
- cat >> setup.cfg <<-EOF
- [build_py]
- no_boost = True
- EOF
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- pythran/tests/test_xdoc.py::TestDoctest::test_cli
- pythran/tests/test_xdoc.py::TestDoctest::test_toolchain
- # Tries to invoke pip
- pythran/tests/test_distutils.py::TestDistutils::test_setup_build
- pythran/tests/test_distutils.py::TestDistutils::test_setup_build2
- )
-
- local -x COLUMNS=80
- epytest -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/pythran/pythran-0.14.0.ebuild b/dev-python/pythran/pythran-0.14.0.ebuild
deleted file mode 100644
index 48f1c2f4387c..000000000000
--- a/dev-python/pythran/pythran-0.14.0.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( pypy3 python3_{10..12} )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-
-inherit distutils-r1 multiprocessing
-
-MY_P=${P/_p/.post}
-DESCRIPTION="Ahead of Time compiler for numeric kernels"
-HOMEPAGE="
- https://pypi.org/project/pythran/
- https://github.com/serge-sans-paille/pythran/
-"
-SRC_URI="
- https://github.com/serge-sans-paille/pythran/archive/${PV/_p/.post}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- dev-libs/boost
- =dev-python/beniget-0.4*[${PYTHON_USEDEP}]
- =dev-python/gast-0.5*[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- >=dev-python/ply-3.4[${PYTHON_USEDEP}]
-"
-DEPEND="
- dev-libs/boost
- dev-cpp/xsimd
-"
-BDEPEND="
- test? (
- $(python_gen_cond_dep '
- dev-python/ipython[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- virtual/cblas
- !!dev-python/setuptools-declarative-requirements
- )
-"
-
-distutils_enable_tests pytest
-
-src_configure() {
- cat >> setup.cfg <<-EOF || die
- [build_py]
- no_boost = True
- no_xsimd = True
- EOF
-
- if use test ; then
- sed -i \
- -e 's|blas=blas|blas=cblas|' \
- -e 's|libs=|libs=cblas|' \
- pythran/pythran-*.cfg || die
- fi
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- pythran/tests/test_xdoc.py::TestDoctest::test_cli
- pythran/tests/test_xdoc.py::TestDoctest::test_toolchain
- # Tries to invoke pip
- pythran/tests/test_distutils.py::TestDistutils::test_setup_build
- pythran/tests/test_distutils.py::TestDistutils::test_setup_build2
- )
-
- case ${EPYTHON} in
- python3.12)
- EPYTEST_DESELECT+=(
- # requires numpy.distutils
- pythran/tests/test_distutils.py::TestDistutils::test_setup_{b,s}dist_install3
- )
- ;;
- esac
-
- local -x COLUMNS=80
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p xdist -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/pythran/pythran-0.16.1.ebuild b/dev-python/pythran/pythran-0.16.1.ebuild
new file mode 100644
index 000000000000..b93681c29f4f
--- /dev/null
+++ b/dev-python/pythran/pythran-0.16.1.ebuild
@@ -0,0 +1,107 @@
+# Copyright 2021-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..13} )
+
+inherit distutils-r1
+
+MY_P=${P/_p/.post}
+DESCRIPTION="Ahead of Time compiler for numeric kernels"
+HOMEPAGE="
+ https://pypi.org/project/pythran/
+ https://github.com/serge-sans-paille/pythran/
+"
+SRC_URI="
+ https://github.com/serge-sans-paille/pythran/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv ~s390 ~sparc x86"
+
+RDEPEND="
+ dev-libs/boost
+ dev-cpp/xsimd
+ =dev-python/beniget-0.4*[${PYTHON_USEDEP}]
+ =dev-python/gast-0.5*[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ >=dev-python/ply-3.4[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+DEPEND="
+ test? (
+ dev-libs/boost
+ dev-cpp/xsimd
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/ipython[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ virtual/cblas
+ !!dev-python/setuptools-declarative-requirements
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_configure() {
+ # vendored C++ headers -- use system copies
+ rm -r pythran/{boost,xsimd} || die
+
+ if use test ; then
+ # https://bugs.gentoo.org/916461
+ sed -i \
+ -e 's|blas=blas|blas=cblas|' \
+ -e 's|libs=|libs=cblas|' \
+ pythran/pythran-*.cfg || die
+ fi
+}
+
+python_test() {
+ local -x COLUMNS=80
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
+ local EPYTEST_DESELECT=(
+ # TODO
+ pythran/tests/test_numpy_ufunc_unary.py::TestNumpyUFuncUnary::test_signbit0
+ )
+
+ if has_version ">=dev-python/numpy-2[${PYTHON_USEDEP}]"; then
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ pythran/tests/test_distutils.py::TestDistutils::test_setup_bdist_install3
+ pythran/tests/test_distutils.py::TestDistutils::test_setup_build3
+ pythran/tests/test_distutils.py::TestDistutils::test_setup_sdist_install
+ pythran/tests/test_distutils.py::TestDistutils::test_setup_sdist_install2
+ pythran/tests/test_distutils.py::TestDistutils::test_setup_sdist_install3
+ pythran/tests/test_exception.py::TestException::test_multiple_tuple_exception_register
+ pythran/tests/test_ndarray.py::TestNdarray::test_ndarray_fancy_indexing1
+ pythran/tests/test_numpy_fft.py::TestNumpyFFTN::test_fftn_1
+ pythran/tests/test_numpy_func0.py::TestNumpyFunc0::test_ravel0
+ pythran/tests/test_numpy_func3.py::TestNumpyFunc3::test_list_imag0
+ pythran/tests/test_numpy_random.py::TestNumpyRandom::test_numpy_uniform_size_int
+ pythran/tests/test_set.py::TestSet::test_fct_symmetric_difference_update
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # repr() differences?
+ pythran/tests/test_xdoc.py::TestDoctest::test_tutorial
+ pythran/tests/test_xdoc.py::TestDoctest::test_utils
+ )
+ esac
+ fi
+
+ epytest
+}
diff --git a/dev-python/pytidylib/pytidylib-0.3.2-r2.ebuild b/dev-python/pytidylib/pytidylib-0.3.2-r2.ebuild
index 9677945b3efb..94715bca990e 100644
--- a/dev-python/pytidylib/pytidylib-0.3.2-r2.ebuild
+++ b/dev-python/pytidylib/pytidylib-0.3.2-r2.ebuild
@@ -1,18 +1,21 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
DESCRIPTION="Python wrapper for HTML Tidy (tidylib)"
-HOMEPAGE="http://countergram.com/open-source/pytidylib https://github.com/countergram/pytidylib"
+HOMEPAGE="
+ https://github.com/countergram/pytidylib/
+ https://pypi.org/project/pytidylib/
+"
-SLOT="0"
LICENSE="MIT"
+SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="app-text/htmltidy"
diff --git a/dev-python/pytimeparse/pytimeparse-1.1.8-r1.ebuild b/dev-python/pytimeparse/pytimeparse-1.1.8-r1.ebuild
index bada4b1ee5d1..79163995d5da 100644
--- a/dev-python/pytimeparse/pytimeparse-1.1.8-r1.ebuild
+++ b/dev-python/pytimeparse/pytimeparse-1.1.8-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/pytoolconfig/Manifest b/dev-python/pytoolconfig/Manifest
index e7849ab75fd0..b6bd46bf314e 100644
--- a/dev-python/pytoolconfig/Manifest
+++ b/dev-python/pytoolconfig/Manifest
@@ -1 +1 @@
-DIST pytoolconfig-1.2.6.tar.gz 16425 BLAKE2B 669c3bc906b06ac48ecb5649f1bef8a6af53e85d8f8d23f4059b63e4d1e57e10b0a66d2e89e72e0b4afe7d00aa9d26b4ceb23cc49b8e46a891e7fae60d228686 SHA512 beade8cd1780eb986dab1d630c1583c9c75fea5067d399081a5b8361789fdec96087243d8d79291655c83aca481d5888b3414a1b445200a9d8c59703761a83b2
+DIST pytoolconfig-1.3.1.tar.gz 16655 BLAKE2B 8a35f6e1751b99e7bccb81f173ee56dfc94b586237e28e8ddcc859befb6ff502469fd70f02521216585367bc87c85ac81503055f055cf355be12476bc3efe608 SHA512 c8321a5e46593044828d737532926a2df0341f563bd15ee7ffa39ebba8ab2ddcf8a56d6c099d3b8801cb65bbe7e688fddd916fc9f2babc862d00f0a925837a12
diff --git a/dev-python/pytoolconfig/pytoolconfig-1.2.6.ebuild b/dev-python/pytoolconfig/pytoolconfig-1.2.6.ebuild
deleted file mode 100644
index 8833929d6863..000000000000
--- a/dev-python/pytoolconfig/pytoolconfig-1.2.6.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python tool configuration"
-HOMEPAGE="
- https://pypi.org/project/pytoolconfig/
- https://github.com/bagel897/pytoolconfig/
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 x86"
-
-RDEPEND="
- >=dev-python/packaging-22.0[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-1.4.4[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- ' 3.10 )
-"
-BDEPEND="
- test? (
- >=dev-python/sphinx-4.5.0[${PYTHON_USEDEP}]
- >=dev-python/tabulate-0.8.9[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytoolconfig/pytoolconfig-1.3.1.ebuild b/dev-python/pytoolconfig/pytoolconfig-1.3.1.ebuild
new file mode 100644
index 000000000000..7a546d38c2c4
--- /dev/null
+++ b/dev-python/pytoolconfig/pytoolconfig-1.3.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python tool configuration"
+HOMEPAGE="
+ https://pypi.org/project/pytoolconfig/
+ https://github.com/bagel897/pytoolconfig/
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
+
+RDEPEND="
+ >=dev-python/packaging-23.2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.11.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10 )
+"
+BDEPEND="
+ test? (
+ >=dev-python/sphinx-4.5.0[${PYTHON_USEDEP}]
+ >=dev-python/tabulate-0.8.9[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytools/Manifest b/dev-python/pytools/Manifest
index 17fdfa7405e5..0fb7b7cb7a6a 100644
--- a/dev-python/pytools/Manifest
+++ b/dev-python/pytools/Manifest
@@ -1 +1,5 @@
-DIST pytools-2023.1.1.tar.gz 75472 BLAKE2B a7d83dc55175d17fe7ded758279d236a9cd8f103fe7c9da2994a04dddd8799817509fbdd38466468ce4de2e5cd2984f4906f6f5524462cd72760ad32c6ebfab9 SHA512 0b8d4ec7145a42d9a679b7e08a05aa126c7d4514faa77e207fb154c84e56233b80dd49f388f261ba29e70e2cff836f6c850ea05af81360da8120756a0db35e6a
+DIST pytools-2024.1.10.tar.gz 81741 BLAKE2B 39d44636c82ce7f2cadd543e9e3f7a32def0e11b3df24f0ae43aa47da924a1c2d9258b3147187dc9b0a12a5485e74bb906a87655ee863390af61ec6ce03ec95e SHA512 2e8d401b9f26b9a60ef4f479c982ff2b8801b00ac35b7ec06e36980fb5071c709d574e2a841f826d7ceff8a1303591c46a269284b09730c30eaca6759ca88ad5
+DIST pytools-2024.1.11.tar.gz 81917 BLAKE2B 197481c41ddf589c46e7f5470de6122f13aa1b69fab46342e20b30e51cc0f5a54cfc240522e16daaea941f4492eb9dd858de66255fba4ddbec8bd763a4f87069 SHA512 03521c3e6473e5e26c329ddeb596548c11a814c65a45b9d5a925346b7cdd9332ec0968cf80c350310955288e703c2e3d914a24253d34546a6ee814b07d373ae6
+DIST pytools-2024.1.6.tar.gz 81344 BLAKE2B ff68e2606170bf54e3f609ee7f4cfe58e063f43dcfb2706d5ed7659ea2fde863e6315d0d81dff2e62a3378f195413561a927b0c1e7bedc06388cf4893c07b873 SHA512 a9e934f1cbaf0ace32420f9b74224a06ce8421ee291b837292133969c6788c4cc8bea01446cd4d1505aca9fa81e8ae0d3eacf60d3285186e66d67d5abe10ce3e
+DIST pytools-2024.1.8.tar.gz 82220 BLAKE2B bc1dd2eb80be38f6ee450f2d0a780b4815b3a3349bc99ca8521a891bccbc0c4e532881db749def53e26e088238f852ca9174e0fc2a7a7a43a064c1caadec2772 SHA512 d49a6c2cd73915dbc9446f4ed2a05ac30c3235b8fd57fc26814c42cb31ab43c54ae3b06ad69354c7932f266e0f2e0fcde4b9ff91426f8744f924e3d6837f0060
+DIST pytools-2024.1.9.tar.gz 80992 BLAKE2B 0c097690eaba7e40be3bc6ec5a0a3a3fd19cd793cd637a7c4ecf89adbd0a64ee63340f7d631c3b23a35e9230de37b239306da35fd7a8d9d9a50a7ea39198f977 SHA512 224bc9e98f6e2fdac1433f1d486946ce17d7b48271b78110066ebbb59384e0e8f3087ad82899fc6fdae4494198872acda384426c49a01b3d3c879eaf9b618323
diff --git a/dev-python/pytools/metadata.xml b/dev-python/pytools/metadata.xml
index 7a972bc64a8f..b16ffcd293ef 100644
--- a/dev-python/pytools/metadata.xml
+++ b/dev-python/pytools/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/pytools/pytools-2023.1.1.ebuild b/dev-python/pytools/pytools-2023.1.1.ebuild
deleted file mode 100644
index 8757120ea15d..000000000000
--- a/dev-python/pytools/pytools-2023.1.1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE='sqlite'
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Collection of tools missing from the Python standard library"
-HOMEPAGE="
- https://mathema.tician.de/software/pytools/
- https://github.com/inducer/pytools/
- https://pypi.org/project/pytools/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 ~riscv"
-
-# NB: numpy is now an "extra" (optional) dep -- we can remove it from
-# RDEPEND If revdeps don't need it
-RDEPEND="
- >=dev-python/numpy-1.6.0[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pytools/pytools-2024.1.10.ebuild b/dev-python/pytools/pytools-2024.1.10.ebuild
new file mode 100644
index 000000000000..0f076af0c8bc
--- /dev/null
+++ b/dev-python/pytools/pytools-2024.1.10.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_REQ_USE='sqlite'
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of tools missing from the Python standard library"
+HOMEPAGE="
+ https://mathema.tician.de/software/pytools/
+ https://github.com/inducer/pytools/
+ https://pypi.org/project/pytools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+# NB: numpy is now an "extra" (optional) dep -- we can remove it from
+# RDEPEND If revdeps don't need it
+RDEPEND="
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/siphash24-1.6[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4[${PYTHON_USEDEP}]
+ ' 3.{10..12})
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytools/pytools-2024.1.11.ebuild b/dev-python/pytools/pytools-2024.1.11.ebuild
new file mode 100644
index 000000000000..05030eb43d28
--- /dev/null
+++ b/dev-python/pytools/pytools-2024.1.11.ebuild
@@ -0,0 +1,33 @@
+# 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..13} )
+PYTHON_REQ_USE='sqlite'
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of tools missing from the Python standard library"
+HOMEPAGE="
+ https://mathema.tician.de/software/pytools/
+ https://github.com/inducer/pytools/
+ https://pypi.org/project/pytools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+# NB: numpy & siphash24 are an "extra" (optional) deps
+RDEPEND="
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/siphash24-1.6[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4[${PYTHON_USEDEP}]
+ ' 3.{10..12})
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytools/pytools-2024.1.6.ebuild b/dev-python/pytools/pytools-2024.1.6.ebuild
new file mode 100644
index 000000000000..c190bc38483c
--- /dev/null
+++ b/dev-python/pytools/pytools-2024.1.6.ebuild
@@ -0,0 +1,33 @@
+# 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..13} )
+PYTHON_REQ_USE='sqlite'
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of tools missing from the Python standard library"
+HOMEPAGE="
+ https://mathema.tician.de/software/pytools/
+ https://github.com/inducer/pytools/
+ https://pypi.org/project/pytools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv"
+
+# NB: numpy is now an "extra" (optional) dep -- we can remove it from
+# RDEPEND If revdeps don't need it
+RDEPEND="
+ >=dev-python/numpy-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytools/pytools-2024.1.8.ebuild b/dev-python/pytools/pytools-2024.1.8.ebuild
new file mode 100644
index 000000000000..a2fde559d718
--- /dev/null
+++ b/dev-python/pytools/pytools-2024.1.8.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_REQ_USE='sqlite'
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of tools missing from the Python standard library"
+HOMEPAGE="
+ https://mathema.tician.de/software/pytools/
+ https://github.com/inducer/pytools/
+ https://pypi.org/project/pytools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+# NB: numpy is now an "extra" (optional) dep -- we can remove it from
+# RDEPEND If revdeps don't need it
+RDEPEND="
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/siphash24-1.6[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytools/pytools-2024.1.9.ebuild b/dev-python/pytools/pytools-2024.1.9.ebuild
new file mode 100644
index 000000000000..0f076af0c8bc
--- /dev/null
+++ b/dev-python/pytools/pytools-2024.1.9.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+PYTHON_REQ_USE='sqlite'
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of tools missing from the Python standard library"
+HOMEPAGE="
+ https://mathema.tician.de/software/pytools/
+ https://github.com/inducer/pytools/
+ https://pypi.org/project/pytools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+# NB: numpy is now an "extra" (optional) dep -- we can remove it from
+# RDEPEND If revdeps don't need it
+RDEPEND="
+ >=dev-python/numpy-1.6[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/siphash24-1.6[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4[${PYTHON_USEDEP}]
+ ' 3.{10..12})
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pytrie/pytrie-0.4.0-r1.ebuild b/dev-python/pytrie/pytrie-0.4.0-r1.ebuild
index 226d234bb8a8..f3773320e270 100644
--- a/dev-python/pytrie/pytrie-0.4.0-r1.ebuild
+++ b/dev-python/pytrie/pytrie-0.4.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN="PyTrie"
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/pytz/Manifest b/dev-python/pytz/Manifest
index d09ead4326bc..6bc7f0a173bf 100644
--- a/dev-python/pytz/Manifest
+++ b/dev-python/pytz/Manifest
@@ -1 +1 @@
-DIST pytz-2023.3.post1.tar.gz 316899 BLAKE2B 3274e11c38b34eae42089cacf92e537f1376fa721294ea2da3a68fe3491e7e95d1c88cb4687d1e83965be4730504373c72960f5dc5e9b6a8a339e541476515f4 SHA512 c2f1bd52e42c7d1014b8aebf3544b865eb5ae5e17146253406def72785af14bcfe34b9db6b71ca91a3c988c496fbe93e5d1731bee66349463c992be619d21f2c
+DIST pytz-2024.1.tar.gz 316214 BLAKE2B 1047e11c41d3abeb10cdf55021c8702fbbb0c0dbcafc63c8c044ecf73dda2ac9344fc66e0a239302a0fd12856bbb3a7d49745eae671fac35db9c83fa502e7cf8 SHA512 cc1e4c9b34c62791cea277a0ce188d975e62135cb15bccfb49dc1a9366c7697ead9c67956846699f18b90db4c66e6c5fe1a91a524d01ae821c0eaa613550ea74
diff --git a/dev-python/pytz/pytz-2023.3_p1.ebuild b/dev-python/pytz/pytz-2023.3_p1.ebuild
deleted file mode 100644
index c9ef6b990085..000000000000
--- a/dev-python/pytz/pytz-2023.3_p1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="World timezone definitions for Python"
-HOMEPAGE="
- https://pythonhosted.org/pytz/
- https://github.com/stub42/pytz/
- https://pypi.org/project/pytz/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- || (
- >=sys-libs/timezone-data-2023b
- sys-libs/glibc[vanilla]
- )
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- )
-"
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # unbundle timezone-data
- rm -r pytz/zoneinfo || die
- # remove hardcoded list of all timezones but leave subjective set
- # of "common timezones"
- sed -i -e '/^_all_timezones_unchecked/,/^all_timezones_set/d' pytz/__init__.py || die
- eapply "${FILESDIR}"/pytz-2023.2-system-tzinfo.patch
-}
-
-python_test() {
- "${EPYTHON}" pytz/tests/test_tzinfo.py -v ||
- die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/pytz/pytz-2024.1.ebuild b/dev-python/pytz/pytz-2024.1.ebuild
new file mode 100644
index 000000000000..8b4eb20b62a0
--- /dev/null
+++ b/dev-python/pytz/pytz-2024.1.ebuild
@@ -0,0 +1,51 @@
+# 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..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="World timezone definitions for Python"
+HOMEPAGE="
+ https://pythonhosted.org/pytz/
+ https://github.com/stub42/pytz/
+ https://pypi.org/project/pytz/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ || (
+ >=sys-libs/timezone-data-2023b
+ sys-libs/glibc[vanilla]
+ )
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ )
+"
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unbundle timezone-data
+ rm -r pytz/zoneinfo || die
+ # remove hardcoded list of all timezones but leave subjective set
+ # of "common timezones"
+ sed -i -e '/^_all_timezones_unchecked/,/^all_timezones_set/d' pytz/__init__.py || die
+ eapply "${FILESDIR}"/pytz-2023.2-system-tzinfo.patch
+}
+
+python_test() {
+ "${EPYTHON}" pytz/tests/test_tzinfo.py -v ||
+ die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/pytzdata/Manifest b/dev-python/pytzdata/Manifest
deleted file mode 100644
index 82953886e3f5..000000000000
--- a/dev-python/pytzdata/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST pytzdata-2020.1.gh.tar.gz 249045 BLAKE2B 6f07a7577edc87030fd70e720b32146e9044a8c6f74d0bafb9239ad666d0d6fd0ac7c3cca070914701af301b1a3368ace2985f8169b9747937fa6ed066be7302 SHA512 fd154bfbe90ce07a90f769063b772234036d2627c1e6d78a465d9ddbc894e50cb9d821c04ebff1a7cc6a327266f7843fe54e5592d37c41db023329d6e0f668c2
diff --git a/dev-python/pytzdata/files/pytzdata-2020.1-system-zoneinfo.patch b/dev-python/pytzdata/files/pytzdata-2020.1-system-zoneinfo.patch
deleted file mode 100644
index 7a4cced9e720..000000000000
--- a/dev-python/pytzdata/files/pytzdata-2020.1-system-zoneinfo.patch
+++ /dev/null
@@ -1,115 +0,0 @@
-From f0d2c5fd28dbe2aa9ecb59e140ab42b11d677a33 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Fri, 9 Jul 2021 10:15:51 +0200
-Subject: [PATCH] Use system zoneinfo database by default
-MIME-Version: 1.0
-Content-Type: text/plain; charset=UTF-8
-Content-Transfer-Encoding: 8bit
-
-Signed-off-by: Michał Górny <mgorny@gentoo.org>
----
- pytzdata/__init__.py | 2 +-
- tests/test_set_directory.py | 8 +++-----
- tests/test_tz_file.py | 5 ++---
- tests/test_tz_path.py | 5 ++---
- 4 files changed, 8 insertions(+), 12 deletions(-)
-
-diff --git a/pytzdata/__init__.py b/pytzdata/__init__.py
-index 22940da..6c3bcb9 100644
---- a/pytzdata/__init__.py
-+++ b/pytzdata/__init__.py
-@@ -8,7 +8,7 @@ from ._compat import FileNotFoundError
-
-
- DEFAULT_DIRECTORY = os.path.join(
-- os.path.dirname(__file__),
-+ '/usr/share',
- 'zoneinfo'
- )
-
-diff --git a/tests/test_set_directory.py b/tests/test_set_directory.py
-index 430d239..6c078e6 100644
---- a/tests/test_set_directory.py
-+++ b/tests/test_set_directory.py
-@@ -2,7 +2,7 @@
-
- import os
- import pytest
--from pytzdata import set_directory, tz_path, TimezoneNotFound
-+from pytzdata import set_directory, tz_path, TimezoneNotFound, DEFAULT_DIRECTORY
-
-
- fixtures_path = os.path.join(os.path.dirname(__file__), 'fixtures', 'tz')
-@@ -30,9 +30,8 @@ def test_set_directory():
- with pytest.raises(TimezoneNotFound):
- tz_path('America/New_York')
-
-- here = os.path.realpath(os.path.dirname(__file__))
- filepath = os.path.realpath(
-- os.path.join(here, '..', 'pytzdata', 'zoneinfo', 'America', 'New_York')
-+ os.path.join(DEFAULT_DIRECTORY, 'America', 'New_York')
- )
-
- set_directory()
-@@ -51,9 +50,8 @@ def test_env_variable():
-
- del os.environ['PYTZDATA_TZDATADIR']
-
-- here = os.path.realpath(os.path.dirname(__file__))
- filepath = os.path.realpath(
-- os.path.join(here, '..', 'pytzdata', 'zoneinfo', 'America', 'New_York')
-+ os.path.join(DEFAULT_DIRECTORY, 'America', 'New_York')
- )
-
- set_directory()
-diff --git a/tests/test_tz_file.py b/tests/test_tz_file.py
-index 8b912b5..b20c08b 100644
---- a/tests/test_tz_file.py
-+++ b/tests/test_tz_file.py
-@@ -3,7 +3,7 @@
- import os
- import pytest
-
--from pytzdata import tz_file, set_directory
-+from pytzdata import tz_file, set_directory, DEFAULT_DIRECTORY
- from pytzdata.exceptions import TimezoneNotFound
-
-
-@@ -22,9 +22,8 @@ def teardown_module(module):
-
-
- def test_tz_file():
-- here = os.path.realpath(os.path.dirname(__file__))
- filepath = os.path.realpath(
-- os.path.join(here, '..', 'pytzdata', 'zoneinfo', 'Europe', 'Paris')
-+ os.path.join(DEFAULT_DIRECTORY, 'Europe', 'Paris')
- )
-
- with open(filepath) as f1:
-diff --git a/tests/test_tz_path.py b/tests/test_tz_path.py
-index fd4db48..77c8c74 100644
---- a/tests/test_tz_path.py
-+++ b/tests/test_tz_path.py
-@@ -3,7 +3,7 @@
- import os
- import pytest
-
--from pytzdata import tz_path, set_directory
-+from pytzdata import tz_path, set_directory, DEFAULT_DIRECTORY
- from pytzdata.exceptions import TimezoneNotFound
-
-
-@@ -22,9 +22,8 @@ def teardown_module(module):
-
-
- def test_tz_path():
-- here = os.path.realpath(os.path.dirname(__file__))
- filepath = os.path.realpath(
-- os.path.join(here, '..', 'pytzdata', 'zoneinfo', 'Europe', 'Paris')
-+ os.path.join(DEFAULT_DIRECTORY, 'Europe', 'Paris')
- )
-
- assert filepath == tz_path('Europe/Paris')
---
-2.32.0
-
diff --git a/dev-python/pytzdata/metadata.xml b/dev-python/pytzdata/metadata.xml
deleted file mode 100644
index 4cea3d0ec48e..000000000000
--- a/dev-python/pytzdata/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>jsmolic@gentoo.org</email>
- <name>Jakov Smolić</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">sdispater/pytzdata</remote-id>
- <remote-id type="pypi">pytzdata</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/pytzdata/pytzdata-2020.1-r2.ebuild b/dev-python/pytzdata/pytzdata-2020.1-r2.ebuild
deleted file mode 100644
index 54007f31b6f2..000000000000
--- a/dev-python/pytzdata/pytzdata-2020.1-r2.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="The Olson timezone database for Python"
-HOMEPAGE="
- https://github.com/sdispater/pytzdata/
- https://pypi.org/project/pytzdata/
-"
-SRC_URI="
- https://github.com/sdispater/pytzdata/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- dev-python/cleo[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/pytzdata-2020.1-system-zoneinfo.patch
-)
diff --git a/dev-python/pyu2f/Manifest b/dev-python/pyu2f/Manifest
index ad1233361036..1d88c564bc49 100644
--- a/dev-python/pyu2f/Manifest
+++ b/dev-python/pyu2f/Manifest
@@ -1 +1 @@
-DIST pyu2f-0.1.5.tar.gz 39008 BLAKE2B 475a47ad99bfbe8f85ebe246eb7c394d0855732fc6bf0dd887bb32ad02bacb1f34dadc5506d330add64bca5b353824e773d2b1e971e78d9cf9dc2438d12b4f62 SHA512 ddb15bb1d917117a2b19ad169ac0f8b8c7667d7ef8ee4c266cc30326429bb3627d41d84dc390ce0036d0b0f110e1d2da47d06d4e4d03a8be98cedb5ea3112246
+DIST pyu2f-0.1.5.gh.tar.gz 39008 BLAKE2B 475a47ad99bfbe8f85ebe246eb7c394d0855732fc6bf0dd887bb32ad02bacb1f34dadc5506d330add64bca5b353824e773d2b1e971e78d9cf9dc2438d12b4f62 SHA512 ddb15bb1d917117a2b19ad169ac0f8b8c7667d7ef8ee4c266cc30326429bb3627d41d84dc390ce0036d0b0f110e1d2da47d06d4e4d03a8be98cedb5ea3112246
diff --git a/dev-python/pyu2f/pyu2f-0.1.5-r1.ebuild b/dev-python/pyu2f/pyu2f-0.1.5-r1.ebuild
index 11a34a3194b4..43d950f052e0 100644
--- a/dev-python/pyu2f/pyu2f-0.1.5-r1.ebuild
+++ b/dev-python/pyu2f/pyu2f-0.1.5-r1.ebuild
@@ -1,16 +1,22 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
DESCRIPTION="Python based U2F host library"
-HOMEPAGE="https://github.com/google/pyu2f"
-SRC_URI="https://github.com/google/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/google/pyu2f/
+ https://pypi.org/project/pyu2f/
+"
+SRC_URI="
+ https://github.com/google/pyu2f/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="Apache-2.0"
SLOT="0"
@@ -33,11 +39,18 @@ DOCS=( CONTRIBUTING.md README.md )
distutils_enable_tests pytest
python_prepare_all() {
- # adjust pyfakefs usage #888223
+ # https://github.com/google/pyu2f/commit/5e2f862dd5ba61eadff341dbf0a1202e91b1b145
+ sed -i -e 's:logger[.]warn:&ing:' pyu2f/hid/macos.py || die
sed -e "s:CreateFile:create_file:" \
-e "s:CreateDirectory:create_dir:" \
-e "s:RemoveObject:remove_object:" \
-e "s:SetContents:set_contents:" \
-i pyu2f/tests/hid/linux_test.py || die
+ # https://github.com/google/pyu2f/commit/793acd9ff6612bb035f0724b04e10a01cdb5bb8d
+ # https://github.com/google/pyu2f/commit/dad654010a030f1038bd2df95a9647fb417e0447
+ find pyu2f/tests -name '*.py' -exec \
+ sed -e 's:assertEquals:assertEqual:' \
+ -e 's:assertRaisesRegexp:assertRaisesRegex:' \
+ -i {} + || die
distutils-r1_python_prepare_all
}
diff --git a/dev-python/pyuca/pyuca-1.2.ebuild b/dev-python/pyuca/pyuca-1.2.ebuild
index a19f3c52227c..c5525a5081d6 100644
--- a/dev-python/pyuca/pyuca-1.2.ebuild
+++ b/dev-python/pyuca/pyuca-1.2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/pyudev/pyudev-0.24.1.ebuild b/dev-python/pyudev/pyudev-0.24.1.ebuild
index 7d9d8b3839e0..ff7981c2c97a 100644
--- a/dev-python/pyudev/pyudev-0.24.1.ebuild
+++ b/dev-python/pyudev/pyudev-0.24.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1 optfeature pypi
DESCRIPTION="Python binding to libudev"
diff --git a/dev-python/pyupgrade/Manifest b/dev-python/pyupgrade/Manifest
index 23256ddedf5e..fa948958c3c1 100644
--- a/dev-python/pyupgrade/Manifest
+++ b/dev-python/pyupgrade/Manifest
@@ -1,4 +1,3 @@
-DIST pyupgrade-3.12.0.gh.tar.gz 63321 BLAKE2B 8b8e5f637c4cd59d5c208bd3d5a620c9462ba1998dd88ead150240fb4b2eece78d97b611b91ecc6fe800f22f19705fb97eaf38c3e3a6fa8efcf2c9cf88435849 SHA512 1d585491fb1da8ec0ac269fe3cd068f515dfea5fd54454906d91ef316bb740443e6140669a4bbc1fe762feea9e637a2f553e606695d7bfc352280b52b663e33d
-DIST pyupgrade-3.13.0.gh.tar.gz 63800 BLAKE2B b1e5c1288b36f7193aae03476ceb0009bd193d0c2801e425501580bb0c8800d7bb101587999133673f15a874956763d55cb8b920e267f135b5d5743de0666769 SHA512 9cd1392bc9522ebffc30e9f9344cbf753f930b684c7022f19d50de69463dea35ec5ea60bba4e6f5ebc74936c784beff57b44d0e7c1c83d03d21f3b57c537e243
-DIST pyupgrade-3.14.0.gh.tar.gz 64107 BLAKE2B a9499bd5db04c37a427ad1aea17f8c7c2fee53175e84351b4c94e8685c31f30683dfc381c4e99335909650f0ea13e474b01f8fba529e728526ec6330a099f75d SHA512 818b1caa83771cbcc8b9577e6d0b9d9c6c6a42fd88b43aea5be3abeacce902a1b5a7f454e002fa7c7379e1d6093aaba362bf97de1d504d209dc44cfb5a63b795
-DIST pyupgrade-3.15.0.gh.tar.gz 65317 BLAKE2B a13eca9d5591068355722e0cd0d16debce7c4d55fbce2759af9f0154cf5591beca20bc7e4551d6d707ef63deccf142e639229fb052063be68921c435731dd5ef SHA512 58bde84c625898ded781b4bb0cf8409ad406f81fe4f4f1819bc261714928dd6b9bb2063cd12697ce17a20dc7a56426685ba02b8ef3e306023e109277d2da2205
+DIST pyupgrade-3.15.1.gh.tar.gz 65432 BLAKE2B 2978745edcbbcc3aee5abb14c2b509a3912d1932401e8957e04d0491fa0e6b01521317ef62b6486f80835715f09254e6bb39c6482c2155e8986580c146ad06ca SHA512 5946cd03231e9c56543ac2f1dc4a84c0a4dc8cb44b0f88983a0a02f190a20615e2c2e4b22d8b3ec0d4728482464fe4f87bbd90514e11230776a1d67540170e91
+DIST pyupgrade-3.15.2.gh.tar.gz 65444 BLAKE2B 3e0004452957f4bac9e7bc2fab886fd3e4dc799d7c53d988da1c0515d445cb275463115d9dee495991a1be61adbee7dd72782f2a21985568dd39fd8afe4088d5 SHA512 98ac1629e2bdc0956536b51e96929e7a88a3355364ccc0696cff38d2e6cf4dd5552f91f76644d7977dbdc57ef44ca9942585acd0506ca47e7a4e69c6eb95ed7c
+DIST pyupgrade-3.16.0.gh.tar.gz 65582 BLAKE2B 99c04e528d6bc8d802595ee320843561b317cdf57c87fe2f095b29dfa99b23d00c87951b48f437a72a2602a5bc7bd237abc98cdf9b802ca8c5faff83fe666396 SHA512 a348fd925418e5ec57777360f77aa814eb1b95e45842b8310ed4edb357e5a3648dfbecf09ab7c5d70a8ba98728f2355ef5e5f51908a8c53faf5762869b74e1da
diff --git a/dev-python/pyupgrade/pyupgrade-3.12.0.ebuild b/dev-python/pyupgrade/pyupgrade-3.12.0.ebuild
deleted file mode 100644
index 19a841ef7eff..000000000000
--- a/dev-python/pyupgrade/pyupgrade-3.12.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Tool + pre-commit hook to automatically upgrade syntax for newer Pythons"
-HOMEPAGE="
- https://github.com/asottile/pyupgrade/
- https://pypi.org/project/pyupgrade/
-"
-# no tests in sdist, as of 3.3.2
-SRC_URI="
- https://github.com/asottile/pyupgrade/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/tokenize-rt-5.2.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyupgrade/pyupgrade-3.13.0.ebuild b/dev-python/pyupgrade/pyupgrade-3.13.0.ebuild
deleted file mode 100644
index 19a841ef7eff..000000000000
--- a/dev-python/pyupgrade/pyupgrade-3.13.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Tool + pre-commit hook to automatically upgrade syntax for newer Pythons"
-HOMEPAGE="
- https://github.com/asottile/pyupgrade/
- https://pypi.org/project/pyupgrade/
-"
-# no tests in sdist, as of 3.3.2
-SRC_URI="
- https://github.com/asottile/pyupgrade/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/tokenize-rt-5.2.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyupgrade/pyupgrade-3.14.0.ebuild b/dev-python/pyupgrade/pyupgrade-3.14.0.ebuild
deleted file mode 100644
index 19a841ef7eff..000000000000
--- a/dev-python/pyupgrade/pyupgrade-3.14.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Tool + pre-commit hook to automatically upgrade syntax for newer Pythons"
-HOMEPAGE="
- https://github.com/asottile/pyupgrade/
- https://pypi.org/project/pyupgrade/
-"
-# no tests in sdist, as of 3.3.2
-SRC_URI="
- https://github.com/asottile/pyupgrade/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/tokenize-rt-5.2.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyupgrade/pyupgrade-3.15.0.ebuild b/dev-python/pyupgrade/pyupgrade-3.15.0.ebuild
deleted file mode 100644
index 19a841ef7eff..000000000000
--- a/dev-python/pyupgrade/pyupgrade-3.15.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Tool + pre-commit hook to automatically upgrade syntax for newer Pythons"
-HOMEPAGE="
- https://github.com/asottile/pyupgrade/
- https://pypi.org/project/pyupgrade/
-"
-# no tests in sdist, as of 3.3.2
-SRC_URI="
- https://github.com/asottile/pyupgrade/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- >=dev-python/tokenize-rt-5.2.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyupgrade/pyupgrade-3.15.1.ebuild b/dev-python/pyupgrade/pyupgrade-3.15.1.ebuild
new file mode 100644
index 000000000000..127ff6fc4c1d
--- /dev/null
+++ b/dev-python/pyupgrade/pyupgrade-3.15.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022-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
+
+DESCRIPTION="Tool + pre-commit hook to automatically upgrade syntax for newer Pythons"
+HOMEPAGE="
+ https://github.com/asottile/pyupgrade/
+ https://pypi.org/project/pyupgrade/
+"
+# no tests in sdist, as of 3.3.2
+SRC_URI="
+ https://github.com/asottile/pyupgrade/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/tokenize-rt-5.2.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyupgrade/pyupgrade-3.15.2.ebuild b/dev-python/pyupgrade/pyupgrade-3.15.2.ebuild
new file mode 100644
index 000000000000..127ff6fc4c1d
--- /dev/null
+++ b/dev-python/pyupgrade/pyupgrade-3.15.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022-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
+
+DESCRIPTION="Tool + pre-commit hook to automatically upgrade syntax for newer Pythons"
+HOMEPAGE="
+ https://github.com/asottile/pyupgrade/
+ https://pypi.org/project/pyupgrade/
+"
+# no tests in sdist, as of 3.3.2
+SRC_URI="
+ https://github.com/asottile/pyupgrade/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/tokenize-rt-5.2.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyupgrade/pyupgrade-3.16.0.ebuild b/dev-python/pyupgrade/pyupgrade-3.16.0.ebuild
new file mode 100644
index 000000000000..12bbba4127a7
--- /dev/null
+++ b/dev-python/pyupgrade/pyupgrade-3.16.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Tool + pre-commit hook to automatically upgrade syntax for newer Pythons"
+HOMEPAGE="
+ https://github.com/asottile/pyupgrade/
+ https://pypi.org/project/pyupgrade/
+"
+# no tests in sdist, as of 3.3.2
+SRC_URI="
+ https://github.com/asottile/pyupgrade/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ >=dev-python/tokenize-rt-5.2.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyusb/pyusb-1.2.1-r1.ebuild b/dev-python/pyusb/pyusb-1.2.1-r1.ebuild
index 4edc92acc431..0af103cb0940 100644
--- a/dev-python/pyusb/pyusb-1.2.1-r1.ebuild
+++ b/dev-python/pyusb/pyusb-1.2.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 pypi
DESCRIPTION="USB support for Python"
diff --git a/dev-python/pyvirtualdisplay/pyvirtualdisplay-3.0.ebuild b/dev-python/pyvirtualdisplay/pyvirtualdisplay-3.0.ebuild
index d2c954674162..16637f705553 100644
--- a/dev-python/pyvirtualdisplay/pyvirtualdisplay-3.0.ebuild
+++ b/dev-python/pyvirtualdisplay/pyvirtualdisplay-3.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pywavelets/Manifest b/dev-python/pywavelets/Manifest
index 09349fbeba85..162a9502dc7c 100644
--- a/dev-python/pywavelets/Manifest
+++ b/dev-python/pywavelets/Manifest
@@ -1,2 +1 @@
-DIST PyWavelets-1.4.1.tar.gz 4589677 BLAKE2B 7bd42b26665ca180caa8c2f142834b1e820faf78667109e3ce68b43b2b75e038cac9738583d5138f34ee781e13f6c4ea3217a30f12131ce386e795f3b6e56372 SHA512 6a37a717537f3c62c1ee3b1a8017a7ed1f2a231d05b20cbcfaaadbad0f20e6d6b7f24749d00b5a4ae04d7efac49943e1aa8d431eedf641c6b45b6cb99390c1f9
-DIST pywavelets-1.5.0.tar.gz 3937269 BLAKE2B 787d59a23d0de94783f55b7fa65bddc58c2d2040c2eb36ebc95a53ba95c52a765d4d2e1ad78d4f06015f339150a100525336836e71a9f8b94b92da89885f3f3f SHA512 a70435392cd2c0fed470c0093e8b838e233462e6f595f5d40396b1186cbea1654b2f671f45a9731bfc393a693221a0907cee48b2209944e7cda6f40e268fb34c
+DIST pywavelets-1.6.0.tar.gz 3939946 BLAKE2B 6b008079a05431d3a52b6c42239b8ef188a3d4a416c77af18da970d8a1c7fa82e4ba2cddf9003c843f05cca5eb168ff28ed0ff1c341e948e3599894ac5490838 SHA512 2b2a0b5f649ed374e1c2d46c185afbe221018e37d1461f1a34f0a9a9b0d06d8d8e9b6afc5c28a4a109df6ec783531a481b7caf3c4dea913b98800fd774b89fab
diff --git a/dev-python/pywavelets/pywavelets-1.4.1.ebuild b/dev-python/pywavelets/pywavelets-1.4.1.ebuild
deleted file mode 100644
index 7f05189e67e8..000000000000
--- a/dev-python/pywavelets/pywavelets-1.4.1.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-PYPI_NO_NORMALIZE=1
-PYPI_PN="PyWavelets"
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Discrete Wavelet Transforms in Python"
-HOMEPAGE="
- https://pywavelets.readthedocs.io/en/latest/
- https://github.com/PyWavelets/pywt/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-IUSE="examples"
-
-RDEPEND="
- dev-python/matplotlib[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.17.3[${PYTHON_USEDEP}]
-"
-BDEPEND="${RDEPEND}
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc/source \
- dev-python/numpydoc
-
-python_test() {
- epytest "${BUILD_DIR}/lib"
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- if use examples; then
- docinto examples
- dodoc -r demo
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/dev-python/pywavelets/pywavelets-1.5.0.ebuild b/dev-python/pywavelets/pywavelets-1.5.0.ebuild
deleted file mode 100644
index 7fa30d61d3e0..000000000000
--- a/dev-python/pywavelets/pywavelets-1.5.0.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYPI_PN="PyWavelets"
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Discrete Wavelet Transforms in Python"
-HOMEPAGE="
- https://pywavelets.readthedocs.io/en/latest/
- https://github.com/PyWavelets/pywt/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux"
-IUSE="examples"
-
-RDEPEND="
- dev-python/matplotlib[${PYTHON_USEDEP}]
- <dev-python/numpy-2[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.22.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- >=dev-python/cython-0.29.35[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- rm -rf pywt || die
- epytest --pyargs pywt
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- if use examples; then
- docinto examples
- dodoc -r demo
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/dev-python/pywavelets/pywavelets-1.6.0.ebuild b/dev-python/pywavelets/pywavelets-1.6.0.ebuild
new file mode 100644
index 000000000000..3075d06baf2c
--- /dev/null
+++ b/dev-python/pywavelets/pywavelets-1.6.0.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYPI_PN="PyWavelets"
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Discrete Wavelet Transforms in Python"
+HOMEPAGE="
+ https://pywavelets.readthedocs.io/en/latest/
+ https://github.com/PyWavelets/pywt/
+ https://pypi.org/project/PyWavelets/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86 ~amd64-linux ~x86-linux"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ <dev-python/numpy-3[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.22.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+ >=dev-python/cython-3.0.4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ rm -rf pywt || die
+ epytest --pyargs pywt
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use examples; then
+ docinto examples
+ dodoc -r demo
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+}
diff --git a/dev-python/pywayland/pywayland-0.4.17.ebuild b/dev-python/pywayland/pywayland-0.4.17.ebuild
index b4fdba82692d..087b800910f9 100644
--- a/dev-python/pywayland/pywayland-0.4.17.ebuild
+++ b/dev-python/pywayland/pywayland-0.4.17.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 xdg-utils
diff --git a/dev-python/pywinrm/Manifest b/dev-python/pywinrm/Manifest
index 2300c8b1a3cb..b0c5d31ab76b 100644
--- a/dev-python/pywinrm/Manifest
+++ b/dev-python/pywinrm/Manifest
@@ -1 +1,2 @@
DIST pywinrm-0.4.3.tar.gz 38356 BLAKE2B f998b9b56a60bf9d56b871e5fa8f59a4c0ec510b7a0a626b543b10e790596455797109eb2f929ff3224915ba8f6d1444843d735a67b9e2657fc6f705447dd056 SHA512 f6da28fc1c53a4c000539583ef5e6bdc108a2396f161a416cc151a8591478a6c7a577c5733374339fe3612a5a85046fb9cd44ca38f502aecd56b2723aae16943
+DIST pywinrm-0.5.0.tar.gz 40875 BLAKE2B 13c0ae5fa2de14f880cdd89c00b8c374d65cc9d8c7b6e941333554a987f20c1c4c5c9cf47d23adfb8bd3a7fd83a67f65b54dc31f68b64436c3d418505182e04c SHA512 9a5a3ebe5b2ec3daf4417e0b43143b415d652ebd0f78bd04cfbe6d69aac1c45d012742f0ec754156131869c4695f94e993edefd1e8d4c4d88245bf628a6cdda5
diff --git a/dev-python/pywinrm/metadata.xml b/dev-python/pywinrm/metadata.xml
index b09f80302a60..0601e7bd14f3 100644
--- a/dev-python/pywinrm/metadata.xml
+++ b/dev-python/pywinrm/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
diff --git a/dev-python/pywinrm/pywinrm-0.4.3-r1.ebuild b/dev-python/pywinrm/pywinrm-0.4.3-r1.ebuild
new file mode 100644
index 000000000000..cd981c218634
--- /dev/null
+++ b/dev-python/pywinrm/pywinrm-0.4.3-r1.ebuild
@@ -0,0 +1,47 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python client for the Windows Remote Management (WinRM) service"
+HOMEPAGE="
+ https://github.com/diyan/pywinrm/
+ https://pypi.org/project/pywinrm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE="kerberos"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-ntlm[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+ kerberos? (
+ <dev-python/kerberos-2.0.0[${PYTHON_USEDEP}]
+ dev-python/requests-credssp[${PYTHON_USEDEP}]
+ dev-python/requests-kerberos[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unbundle requests-kerberos
+ rm -r winrm/vendor || die
+ sed -i -e 's:winrm\.vendor\.::' winrm/*.py || die
+}
diff --git a/dev-python/pywinrm/pywinrm-0.4.3.ebuild b/dev-python/pywinrm/pywinrm-0.4.3.ebuild
index 18eabe625b95..82a93b0e806e 100644
--- a/dev-python/pywinrm/pywinrm-0.4.3.ebuild
+++ b/dev-python/pywinrm/pywinrm-0.4.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/pywinrm/pywinrm-0.5.0.ebuild b/dev-python/pywinrm/pywinrm-0.5.0.ebuild
new file mode 100644
index 000000000000..0ed4cca78731
--- /dev/null
+++ b/dev-python/pywinrm/pywinrm-0.5.0.ebuild
@@ -0,0 +1,46 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python client for the Windows Remote Management (WinRM) service"
+HOMEPAGE="
+ https://github.com/diyan/pywinrm/
+ https://pypi.org/project/pywinrm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+IUSE="kerberos"
+
+RDEPEND="
+ >=dev-python/requests-2.9.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-ntlm-1.1.0[${PYTHON_USEDEP}]
+ dev-python/xmltodict[${PYTHON_USEDEP}]
+ kerberos? (
+ <dev-python/kerberos-2.0.0[${PYTHON_USEDEP}]
+ dev-python/requests-credssp[${PYTHON_USEDEP}]
+ dev-python/requests-kerberos[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # unbundle requests-kerberos
+ rm -r winrm/vendor || die
+ sed -i -e 's:winrm\.vendor\.::' winrm/*.py || die
+}
diff --git a/dev-python/pywlroots/Manifest b/dev-python/pywlroots/Manifest
index d7589afe73e1..15963280fe77 100644
--- a/dev-python/pywlroots/Manifest
+++ b/dev-python/pywlroots/Manifest
@@ -1,2 +1,2 @@
DIST pywlroots-0.15.24.gh.tar.gz 85570 BLAKE2B 0c7ba0be6159152488785298028bb1feec20e2380357060a850dab417b3fb1fccb4a9e6cc6564d2b7f124bf4fc454789549267e9036b0b4559e5fcd4c6f06196 SHA512 b29b76cf18a65b2ef19d15ecf018a9ba44119d60ee61435967d17f06d5f7544d2117f2e9a81574734c71591a237b00c8584a5cc6d6adb928f39f11170f21ee94
-DIST pywlroots-0.16.6.tar.gz 91625 BLAKE2B d8784add8266958745fb9d9ca25d47b3bd52957cef22a70b30b051aa53996a8b870d436a44c75f8a16fd7346b7ff2c00a70eb86b376294f3928ecd8807b6646e SHA512 31588ebccbd269e45374cd42067738c23bd76ea8a0304d17aff9da33c7686a5fb9c83a676575f0ad034afd2827cb8bea7eb9334e96badcc83ffede56fbf75a1b
+DIST pywlroots-0.17.0.tar.gz 99439 BLAKE2B 0f4153e5d4e7786d52d2a66614c4c92d29d0ef57be74ce8e7b23ed244c361a551b84606493296b99b4b1f48f5c862911f48aa32f3e7d5bd1c0fcedcfb1240474 SHA512 20b93845f26f1942bc111d12de24acc17af24cd70abd644a66a4b43e3622fa2cb9323c7dc846a5708c5cb63631e77020350231a67d3b6702ac5882fcd31411df
diff --git a/dev-python/pywlroots/pywlroots-0.16.6-r1.ebuild b/dev-python/pywlroots/pywlroots-0.16.6-r1.ebuild
deleted file mode 100644
index e5ef19dd6278..000000000000
--- a/dev-python/pywlroots/pywlroots-0.16.6-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python binding to the wlroots library using cffi"
-HOMEPAGE="
- https://github.com/flacjacket/pywlroots/
- https://pypi.org/project/pywlroots/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~riscv ~x86"
-
-# See README for wlroots dep
-DEPEND="
- dev-python/cffi:=[${PYTHON_USEDEP}]
- >=dev-python/pywayland-0.4.14[${PYTHON_USEDEP}]
- >=dev-python/xkbcommon-0.2[${PYTHON_USEDEP}]
- =gui-libs/wlroots-$(ver_cut 1-2)*:=
- x11-base/xwayland
-"
-RDEPEND="
- ${DEPEND}
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-0.15.24-no-import-version-check.patch
-)
-
-distutils_enable_tests pytest
-
-python_test() {
- rm -rf wlroots || die
- epytest
-}
diff --git a/dev-python/pywlroots/pywlroots-0.17.0.ebuild b/dev-python/pywlroots/pywlroots-0.17.0.ebuild
new file mode 100644
index 000000000000..4b8b0ae8d4f4
--- /dev/null
+++ b/dev-python/pywlroots/pywlroots-0.17.0.ebuild
@@ -0,0 +1,55 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python binding to the wlroots library using cffi"
+HOMEPAGE="
+ https://github.com/flacjacket/pywlroots/
+ https://pypi.org/project/pywlroots/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~riscv ~x86"
+IUSE="X"
+
+# See README for wlroots dep
+DEPEND="
+ dev-python/cffi:=[${PYTHON_USEDEP}]
+ >=dev-python/pywayland-0.4.14[${PYTHON_USEDEP}]
+ >=dev-python/xkbcommon-0.2[${PYTHON_USEDEP}]
+ =gui-libs/wlroots-$(ver_cut 1-2)*:=[X?]
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}"/${PN}-0.15.24-no-import-version-check.patch
+ )
+
+ # override automagic detection and caching that's completely broken
+ # by design; https://github.com/flacjacket/pywlroots/issues/132
+ cat > wlroots/_build.py <<-EOF || die
+ has_xwayland = $(usex X True False)
+ EOF
+ sed -e "s:return.*has_xwayland$:return $(usex X True False):" \
+ -i wlroots/ffi_build.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ rm -rf wlroots || die
+ epytest
+}
diff --git a/dev-python/pyx/pyx-0.16.ebuild b/dev-python/pyx/pyx-0.16.ebuild
deleted file mode 100644
index 3f9d45e61825..000000000000
--- a/dev-python/pyx/pyx-0.16.ebuild
+++ /dev/null
@@ -1,68 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-#DISTUTILS_USE_SETUPTOOLS=no
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python package for the generation of encapsulated PostScript figures"
-MY_PN="PyX"
-MY_P=${MY_PN}-${PV}
-HOMEPAGE="
- https://github.com/pyx-project/pyx
- https://pyx-project.org/
- https://pypi.org/project/PyX/"
-SRC_URI="https://github.com/pyx-project/${PN}/releases/download/${PV}/${MY_P}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-IUSE="doc"
-
-RDEPEND="
- dev-python/pillow[${PYTHON_USEDEP}]
- virtual/tex-base
- virtual/latex-base
- dev-texlive/texlive-basic"
-
-BDEPEND="${RDEPEND}
- doc? (
- $(python_gen_any_dep '
- dev-python/sphinx[latex,${PYTHON_USEDEP}]
- dev-python/sphinx_selective_exclude[${PYTHON_USEDEP}]
- ')
- )"
-
-PATCHES=( "${FILESDIR}"/pyx-0.14.1-unicode-latex.patch )
-S="${WORKDIR}"/${MY_P}
-
-python_check_deps() {
- use doc || return 0
- python_has_version "dev-python/sphinx[latex,${PYTHON_USEDEP}]" \
- "dev-python/sphinx_selective_exclude[${PYTHON_USEDEP}]"
-}
-
-src_prepare() {
- sed -i \
- -e 's/^build_t1code=.*/build_t1code=1/' \
- -e 's/^build_pykpathsea=.*/build_pykpathsea=1/' \
- setup.cfg || die "setup.cfg fix failed"
- distutils-r1_src_prepare
-}
-
-python_compile_all() {
- if use doc; then
- local -x VARTEXFONTS="${T}"/fonts
- emake -C "${S}"/manual latexpdf
- emake -C "${S}"/faq latexpdf
- fi
-}
-
-python_install_all() {
- use doc && dodoc manual/_build/latex/manual.pdf faq/_build/latex/pyxfaq.pdf
- distutils-r1_python_install_all
-}
diff --git a/dev-python/pyxDamerauLevenshtein/Manifest b/dev-python/pyxDamerauLevenshtein/Manifest
index 30d65685f37c..6a35681d1f45 100644
--- a/dev-python/pyxDamerauLevenshtein/Manifest
+++ b/dev-python/pyxDamerauLevenshtein/Manifest
@@ -1 +1 @@
-DIST pyxDamerauLevenshtein-1.7.1.gh.tar.gz 43690 BLAKE2B 52950fa10667775828ee57ae9f68ea06bf8cf4e794c3cf27189fbc1affe877ee2537a5dfc3173a58a8b9ccfae664190e4eac250ddbc7cbeda748af033dd3fbbb SHA512 d16be05305ac8cdabecae90353e68cc51ac99ea88338fafe8379f6969434a9e3e3ac95ba58f71d15ccfcadfb3a9fbe30af563ec848e54115c64c83c69596e116
+DIST pyxDamerauLevenshtein-1.8.0.gh.tar.gz 9175 BLAKE2B 2c17ee794153071081cb463597a85d1428eb0620f4f30966a0deb257eb03efb34f95c45fc7d90a22bfd5034283ba7ba08ab1338278f0d81024e45d6ab8d19b05 SHA512 87429f8c106b31c024893313645d9f7af04f855c01009a461a59c506ac778be717c3052af47e9dce53a28c00ed4ee47347e975e9f8ccb50eb504c97b7d580206
diff --git a/dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.7.1.ebuild b/dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.7.1.ebuild
deleted file mode 100644
index 1b2e371e0d5d..000000000000
--- a/dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.7.1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10,11,12,12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Implements the Damerau-Levenshtein edit distance algorithm for Python in Cython"
-HOMEPAGE="
- https://github.com/lanl/pyxDamerauLevenshtein/
- https://pypi.org/project/pyxDamerauLevenshtein/
-"
-SRC_URI="
- https://github.com/lanl/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_configure() {
- # recythonize
- cd pyxdameraulevenshtein || die
- cython -3 -f *.pyx || die
-}
-
-src_test() {
- rm -r pyxdameraulevenshtein || die
- distutils-r1_src_test
-}
diff --git a/dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.8.0.ebuild b/dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.8.0.ebuild
new file mode 100644
index 000000000000..5dd8ca35907b
--- /dev/null
+++ b/dev-python/pyxDamerauLevenshtein/pyxDamerauLevenshtein-1.8.0.ebuild
@@ -0,0 +1,41 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Implements the Damerau-Levenshtein edit distance algorithm for Python in Cython"
+HOMEPAGE="
+ https://github.com/lanl/pyxDamerauLevenshtein/
+ https://pypi.org/project/pyxDamerauLevenshtein/
+"
+SRC_URI="
+ https://github.com/lanl/pyxDamerauLevenshtein/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~ppc64 ~riscv x86"
+
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ # recythonize
+ cd pyxdameraulevenshtein || die
+ cython -3 -f *.pyx || die
+}
+
+src_test() {
+ rm -r pyxdameraulevenshtein || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/pyxdg/pyxdg-0.28-r1.ebuild b/dev-python/pyxdg/pyxdg-0.28-r1.ebuild
index 2849938767ca..c6df6ad0b701 100644
--- a/dev-python/pyxdg/pyxdg-0.28-r1.ebuild
+++ b/dev-python/pyxdg/pyxdg-0.28-r1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/pyyaml_env_tag/Manifest b/dev-python/pyyaml-env-tag/Manifest
index f164431c4296..f164431c4296 100644
--- a/dev-python/pyyaml_env_tag/Manifest
+++ b/dev-python/pyyaml-env-tag/Manifest
diff --git a/dev-python/pyyaml_env_tag/metadata.xml b/dev-python/pyyaml-env-tag/metadata.xml
index 237c8879c4cc..237c8879c4cc 100644
--- a/dev-python/pyyaml_env_tag/metadata.xml
+++ b/dev-python/pyyaml-env-tag/metadata.xml
diff --git a/dev-python/pyyaml-env-tag/pyyaml-env-tag-0.1-r1.ebuild b/dev-python/pyyaml-env-tag/pyyaml-env-tag-0.1-r1.ebuild
new file mode 100644
index 000000000000..e8278ab904d3
--- /dev/null
+++ b/dev-python/pyyaml-env-tag/pyyaml-env-tag-0.1-r1.ebuild
@@ -0,0 +1,25 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A custom YAML tag for referencing environment variables in YAML files"
+HOMEPAGE="
+ https://github.com/waylan/pyyaml-env-tag/
+ https://pypi.org/project/pyyaml_env_tag/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/pyyaml/Manifest b/dev-python/pyyaml/Manifest
index afe749130ef2..ce442a8e6667 100644
--- a/dev-python/pyyaml/Manifest
+++ b/dev-python/pyyaml/Manifest
@@ -1 +1,2 @@
DIST pyyaml-6.0.1.gh.tar.gz 120376 BLAKE2B c34f2169f6eb6aa718aeb53dbfaf02590e11e504d16cc85a802e1a1191f296ef9aa2501db683e1a48173ce6adeaeca09f2ab989581dcf1c1ba4004831bb4cf47 SHA512 1c74a92a4ad7d47854dc7bcb2e89b3c8e0b14fa815c7dbfbc22b24480dbba6c81e971c77ee384c494a960914b95f06edf943d7431925a5ed674a0ba830d258e0
+DIST pyyaml-6.0.2rc1.gh.tar.gz 123879 BLAKE2B 9d983338c4e61fa6f5056aa7733dadc854a859baffe3ad5a353d6fc0525b6c5788df7e85ab40514ad8bdeffbccf10417701fdaac4d0985e0a20b300867b89f4f SHA512 4eac37f3b367099e93c53f327f5f838d5f2f06fa636ea08f277a6cf4f570b7dc9870b35057a889d0895c2abd1bfc121d624f282610dcf90e68727973573267ef
diff --git a/dev-python/pyyaml/pyyaml-6.0.1-r1.ebuild b/dev-python/pyyaml/pyyaml-6.0.1-r1.ebuild
index e99a4b526dcc..68bb7965f6a5 100644
--- a/dev-python/pyyaml/pyyaml-6.0.1-r1.ebuild
+++ b/dev-python/pyyaml/pyyaml-6.0.1-r1.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
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/pyyaml/pyyaml-6.0.2_rc1.ebuild b/dev-python/pyyaml/pyyaml-6.0.2_rc1.ebuild
new file mode 100644
index 000000000000..e0d131f54408
--- /dev/null
+++ b/dev-python/pyyaml/pyyaml-6.0.2_rc1.ebuild
@@ -0,0 +1,63 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+MY_P=${P/_}
+DESCRIPTION="YAML parser and emitter for Python"
+HOMEPAGE="
+ https://pyyaml.org/wiki/PyYAML
+ https://pypi.org/project/PyYAML/
+ https://github.com/yaml/pyyaml/
+"
+SRC_URI="
+ https://github.com/yaml/pyyaml/archive/${PV/_}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+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"
+
+DEPEND="
+ dev-libs/libyaml:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+src_configure() {
+ export PYYAML_FORCE_CYTHON=1
+}
+
+python_test() {
+ local -x PATH="${BUILD_DIR}/test${EPREFIX}/usr/bin:${PATH}"
+ local -x PYTHONPATH="tests/legacy_tests:${PYTHONPATH}"
+ # upstream indicates testing may pollute the package
+ cp -a "${BUILD_DIR}"/{install,test} || die
+ "${BUILD_DIR}"/test/usr/bin/python <<-EOF || die "Tests failed on ${EPYTHON}"
+ import sys
+ import test_all
+ sys.exit(0 if test_all.main() else 1)
+ EOF
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}
+ fi
+}
diff --git a/dev-python/pyyaml_env_tag/pyyaml_env_tag-0.1-r1.ebuild b/dev-python/pyyaml_env_tag/pyyaml_env_tag-0.1-r1.ebuild
deleted file mode 100644
index 2e0286c1bbab..000000000000
--- a/dev-python/pyyaml_env_tag/pyyaml_env_tag-0.1-r1.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A custom YAML tag for referencing environment variables in YAML files"
-HOMEPAGE="https://github.com/waylan/pyyaml-env-tag"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/pyzbar/pyzbar-0.1.9.ebuild b/dev-python/pyzbar/pyzbar-0.1.9.ebuild
index 82d10d03fa72..4435793ec4b7 100644
--- a/dev-python/pyzbar/pyzbar-0.1.9.ebuild
+++ b/dev-python/pyzbar/pyzbar-0.1.9.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/pyzmq/Manifest b/dev-python/pyzmq/Manifest
index 64ba51e9228b..83a8e3f57467 100644
--- a/dev-python/pyzmq/Manifest
+++ b/dev-python/pyzmq/Manifest
@@ -1 +1,3 @@
-DIST pyzmq-25.1.1.gh.tar.gz 389825 BLAKE2B d8e231a0eeaa6a7ad372da912cb42e96e4d862e163859b97d1c369a7940e019c074fc717685f53da06de69cfee79430e343fcd1987d768f3cc99ec75cad0955b SHA512 4aa0d5d5c1036e6ac35898c48d9612f677ee6e9345fafd02091ba81a5081f1ac8bf552eb5c03636ad643cc87e17f037013ec981d9b852c0252d30de8ce046d5a
+DIST pyzmq-25.1.2.gh.tar.gz 391272 BLAKE2B 80814704e7ea08d407859c1d71338f6ea283efcd1f3994155334aa5b60c4b6cd89167de8c78d19f8efdbeb5f4071f7b5954ea911eb6e7fbb48a0087b86579cab SHA512 b146a6dbce7cbbe2eb1da7ebd64e463067354f1566cdb4ff634b59bbb6d65e16263b6acb2d101a4ea53f870be5c753c9a12f9cc37bc5a81236681ea4fda6c56b
+DIST pyzmq-26.0.2.gh.tar.gz 267895 BLAKE2B c71a0149cb6c596dfcbc760376aa14afa69bd927fcc739698f7d2ea44579dc8437ae605745b383a9b317ff66c092a4f963671e7933cf19f3f73acac16ac06daa SHA512 5772743e71810f9a0c332dcf16f04237eeb0a34ef2efdd22b63258ebe93e6b493a79845090e677a33582a9a80e7bee773160ec7ecfdaf240b655f3819e5b67a5
+DIST pyzmq-26.0.3.gh.tar.gz 268927 BLAKE2B 7504a45776e8c618833702563b50f672a3ecabb3353551ea61d2d2343dd9e955d1d2938046c2f90d115255482b9b6b2c0f1817b238e591b9319ac92a4341c04a SHA512 f4a32164daf9d9521be83008a94089406078779b9e0e56812a826df1fb295cc03781566825697313aa0c2b36b85b0bb760b8fb90959a856a0542b9072cde78c9
diff --git a/dev-python/pyzmq/files/pyzmq-26.0.3-gcc14.patch b/dev-python/pyzmq/files/pyzmq-26.0.3-gcc14.patch
new file mode 100644
index 000000000000..8d87af8b7289
--- /dev/null
+++ b/dev-python/pyzmq/files/pyzmq-26.0.3-gcc14.patch
@@ -0,0 +1,53 @@
+From bc5e214e957eb96c7e23b2c46a075e3850805ff1 Mon Sep 17 00:00:00 2001
+From: Min RK <benjaminrk@gmail.com>
+Date: Thu, 16 May 2024 08:34:51 +0200
+Subject: [PATCH 1/2] cffi: fix type of hint mutex pointer
+
+---
+ zmq/backend/cffi/_cdefs.h | 5 +++--
+ 1 file changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/zmq/backend/cffi/_cdefs.h b/zmq/backend/cffi/_cdefs.h
+index 6c9a06558..cf27f5b4e 100644
+--- a/zmq/backend/cffi/_cdefs.h
++++ b/zmq/backend/cffi/_cdefs.h
+@@ -75,13 +75,14 @@ void * malloc(size_t sz);
+ void free(void *p);
+ int get_ipc_path_max_len(void);
+
++typedef ... mutex_t;
++
+ typedef struct _zhint {
+ void *sock;
+- void *mutex;
++ mutex_t *mutex;
+ size_t id;
+ } zhint;
+
+-typedef ... mutex_t;
+ mutex_t* mutex_allocate();
+
+ int zmq_wrap_msg_init_data(zmq_msg_t *msg,
+
+From b180ebc07fc04b0576fef50c3969fd48fa58694d Mon Sep 17 00:00:00 2001
+From: Min RK <benjaminrk@gmail.com>
+Date: Sun, 26 May 2024 00:29:06 +0200
+Subject: [PATCH 2/2] maybe it needs to specify struct
+
+---
+ zmq/backend/cffi/_cdefs.h | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/zmq/backend/cffi/_cdefs.h b/zmq/backend/cffi/_cdefs.h
+index cf27f5b4e..7833b9b26 100644
+--- a/zmq/backend/cffi/_cdefs.h
++++ b/zmq/backend/cffi/_cdefs.h
+@@ -75,7 +75,7 @@ void * malloc(size_t sz);
+ void free(void *p);
+ int get_ipc_path_max_len(void);
+
+-typedef ... mutex_t;
++typedef struct { ...; } mutex_t;
+
+ typedef struct _zhint {
+ void *sock;
diff --git a/dev-python/pyzmq/pyzmq-25.1.1.ebuild b/dev-python/pyzmq/pyzmq-25.1.2.ebuild
index 7a6aa2779167..7a6aa2779167 100644
--- a/dev-python/pyzmq/pyzmq-25.1.1.ebuild
+++ b/dev-python/pyzmq/pyzmq-25.1.2.ebuild
diff --git a/dev-python/pyzmq/pyzmq-26.0.2.ebuild b/dev-python/pyzmq/pyzmq-26.0.2.ebuild
new file mode 100644
index 000000000000..2e3555948fec
--- /dev/null
+++ b/dev-python/pyzmq/pyzmq-26.0.2.ebuild
@@ -0,0 +1,87 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=scikit-build-core
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Lightweight and super-fast messaging library built on top of the ZeroMQ library"
+HOMEPAGE="
+ https://zeromq.org/languages/python/
+ https://pypi.org/project/pyzmq/
+ https://github.com/zeromq/pyzmq/
+"
+SRC_URI="
+ https://github.com/zeromq/pyzmq/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="drafts"
+
+# There are additional test failures if zeromq has the draft api enabled, but pyzmq has it disabled.
+DEPEND="
+ >=net-libs/zeromq-4.2.2-r2:=[drafts=]
+"
+# It uses cffi backend for pypy, cython backend for cpython
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+ ' 'python*')
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=dev-python/tornado-5.0.2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+# TODO: Package enum_tools
+# distutils_enable_sphinx docs/source \
+# dev-python/numpydoc \
+# dev-python/sphinx-rtd-theme \
+# dev-python/myst-parser
+
+src_configure() {
+ DISTUTILS_ARGS=(
+ -DZMQ_DRAFT_API="$(usex drafts)"
+ )
+}
+
+src_test() {
+ # need to move them around to make EPYTEST_IGNORE work cleanly
+ # with tests-in-package and extension modules
+ mv zmq/tests . || die
+ rm -r zmq || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Avoid dependency on mypy
+ tests/test_mypy.py
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # not implemented in cffi variant?
+ tests/test_draft.py::TestDraftSockets
+ )
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # avoid large to reduce memory consumption
+ epytest -p asyncio -p rerunfailures tests -m "not large"
+}
diff --git a/dev-python/pyzmq/pyzmq-26.0.3.ebuild b/dev-python/pyzmq/pyzmq-26.0.3.ebuild
new file mode 100644
index 000000000000..19f47060d59e
--- /dev/null
+++ b/dev-python/pyzmq/pyzmq-26.0.3.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=scikit-build-core
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Lightweight and super-fast messaging library built on top of the ZeroMQ library"
+HOMEPAGE="
+ https://zeromq.org/languages/python/
+ https://pypi.org/project/pyzmq/
+ https://github.com/zeromq/pyzmq/
+"
+SRC_URI="
+ https://github.com/zeromq/pyzmq/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="drafts"
+
+# There are additional test failures if zeromq has the draft api enabled, but pyzmq has it disabled.
+DEPEND="
+ >=net-libs/zeromq-4.2.2-r2:=[drafts=]
+"
+# It uses cffi backend for pypy, cython backend for cpython
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+ ' 'python*')
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=dev-python/tornado-5.0.2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+# TODO: Package enum_tools
+# distutils_enable_sphinx docs/source \
+# dev-python/numpydoc \
+# dev-python/sphinx-rtd-theme \
+# dev-python/myst-parser
+
+PATCHES=(
+ # https://github.com/zeromq/pyzmq/pull/1990
+ "${FILESDIR}/${P}-gcc14.patch"
+)
+
+src_configure() {
+ DISTUTILS_ARGS=(
+ -DZMQ_DRAFT_API="$(usex drafts)"
+ )
+}
+
+src_test() {
+ # need to move them around to make EPYTEST_IGNORE work cleanly
+ # with tests-in-package and extension modules
+ mv zmq/tests . || die
+ rm -r zmq || die
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Avoid dependency on mypy
+ tests/test_mypy.py
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # not implemented in cffi variant?
+ tests/test_draft.py::TestDraftSockets
+ )
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # avoid large to reduce memory consumption
+ epytest -p asyncio -p rerunfailures tests -m "not large"
+}
diff --git a/dev-python/pyzotero/Manifest b/dev-python/pyzotero/Manifest
index 4512489d29cf..b228f334b928 100644
--- a/dev-python/pyzotero/Manifest
+++ b/dev-python/pyzotero/Manifest
@@ -1,6 +1,3 @@
-DIST pyzotero-1.5.10.tar.gz 526403 BLAKE2B f62607b14dd558f7d3bb74e9758ae3bc762df178ce92c31253d183609dc0e8c48e67382457a6078139e003076ee8b1cd20959d807fdf9fd8bf1cf2c383bbdf1a SHA512 9fe4c337e597786ada1cfdfbe1bbb42f03356e3a1258760f945f22e17fd3c48a77ad1f92b3854fc36be4ffcbaf9453cd7109f2bd339b2bfe837719fdbc71b129
-DIST pyzotero-1.5.15.tar.gz 527652 BLAKE2B dee831d15cb5a387b985ff1a85fd505b5063dc7348a61a1acc4a5b1c730fe7ec2f55096697df14df16e17c32cb2d15460f9896eb28d9481a08c96f149716a4f2 SHA512 0061e08983aaef115a88e181093b5e7bca521f5a627dfbfc7ccdf56ff7d606aca2c1d70001dc3c93cc621b621d1909f9d0f6acb25a65b04e0bf9764ed969de8b
-DIST pyzotero-1.5.16.tar.gz 527689 BLAKE2B b772368057c7ef078dbbe187ae4089a1d0dec883de9ffcced875b111478cad5ab48b23f48411426be6e17db61e741a359e275a0615a84071cbab8cd635779485 SHA512 56521688229399eff1997e42212e155dc691f6fe1f28e8db997dd5419e93552854c974f4069d34c19678bf1df9e7b0d0328c52993bd5f4a5e5f33853347fa033
-DIST pyzotero-1.5.17.tar.gz 527504 BLAKE2B c20232e8833c727bf070a3de9a120cfa53dcde801d37e9e6e07210c7075b0a28cf6219fccdbf27bfcb5375702f53fac4b41780cfdd4eead91abcf5bda7aea088 SHA512 d1823f20c9bcf5133fcad033dde6508c84812e70a2e16bb311b385df0eb1b1f537e3505212aea5c98cbdf4000ddd3edd6208441e671235bfd62142bbe7844237
DIST pyzotero-1.5.18.tar.gz 527435 BLAKE2B 27ab1ccf32c260098a684ce4ee05c9acdedec787ec268ebe994d4e9904b9aae73c4a48bb169ec84d727d780c2168e177bcb47209d0f09dc661dd990f1a4075db SHA512 c45e18de0ed479b0ce03cc69ec7a2b060370d6c26e57fa707d2230078e87cdb9eb70f341bac8533a9fa6f4101f29aeca8767befa1e275c0dbd7e778e9c227c21
-DIST pyzotero-1.5.9.tar.gz 526093 BLAKE2B bf29b557226363d71d536c41fb168b55b0d63dace5789f8abc92b8342bffb1ddcb4344132a68cc401db0ca0a536f534141690b017bc4dcf4d45299dec308a554 SHA512 be8c2135d3cc1bc5defc27a4eaf5233ced01a7c84cdf89074ce318558728c9356ddcf9e4ede4012b03c1f836dde641fee9366ca954e5d3cf35642638c3e38145
+DIST pyzotero-1.5.19.tar.gz 527472 BLAKE2B 3cd188812f44d4f3d77fb74c7a2e915969f835a941234b60975d11435d651408cb86462ba684a607698ab634138389999796749217be8b4db1bdd8a9b3dffd8c SHA512 ffb466592f96f2af5775d7b57da3dd314809605c57a1fcbe863003eed1774e9bf89d99e3bc549c61fbaf29a0d520c0eaa767ff0dd9cdaae538a6880018b6347e
+DIST pyzotero-1.5.20.tar.gz 526300 BLAKE2B 7f9110d70843563ce675c2efadc2e7f336671e4e6c9b70ead48dfec1680dd48ec3b4f6ea2898ed37e4548bca4cdeb68d4f50e68f617aefcb94002c9fe1881a40 SHA512 925b1c735c05a251d19de64565e83a91a88e6f21ac9ce0a14bb6fe4288337ff3564623589d1bf1b3c3794d25081e72aa21b9582716a2e4391f404107a9d5a62a
diff --git a/dev-python/pyzotero/pyzotero-1.5.10.ebuild b/dev-python/pyzotero/pyzotero-1.5.10.ebuild
deleted file mode 100644
index 60101efb1fe5..000000000000
--- a/dev-python/pyzotero/pyzotero-1.5.10.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A Python client for the Zotero API"
-HOMEPAGE="
- https://github.com/urschrei/pyzotero/
- https://pypi.org/project/pyzotero/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- app-text/zotero-bin
- dev-python/bibtexparser[${PYTHON_USEDEP}]
- dev-python/feedparser[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/httpretty[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx doc --no-autodoc
-distutils_enable_tests pytest
diff --git a/dev-python/pyzotero/pyzotero-1.5.15.ebuild b/dev-python/pyzotero/pyzotero-1.5.15.ebuild
deleted file mode 100644
index f3a14dc2a090..000000000000
--- a/dev-python/pyzotero/pyzotero-1.5.15.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A Python client for the Zotero API"
-HOMEPAGE="
- https://github.com/urschrei/pyzotero/
- https://pypi.org/project/pyzotero/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- app-text/zotero-bin
- dev-python/bibtexparser[${PYTHON_USEDEP}]
- >=dev-python/feedparser-6[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- >=dev-python/requests-2.21.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/httpretty[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx doc --no-autodoc
-distutils_enable_tests pytest
diff --git a/dev-python/pyzotero/pyzotero-1.5.16.ebuild b/dev-python/pyzotero/pyzotero-1.5.16.ebuild
deleted file mode 100644
index f3a14dc2a090..000000000000
--- a/dev-python/pyzotero/pyzotero-1.5.16.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A Python client for the Zotero API"
-HOMEPAGE="
- https://github.com/urschrei/pyzotero/
- https://pypi.org/project/pyzotero/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- app-text/zotero-bin
- dev-python/bibtexparser[${PYTHON_USEDEP}]
- >=dev-python/feedparser-6[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- >=dev-python/requests-2.21.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/httpretty[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx doc --no-autodoc
-distutils_enable_tests pytest
diff --git a/dev-python/pyzotero/pyzotero-1.5.17.ebuild b/dev-python/pyzotero/pyzotero-1.5.17.ebuild
deleted file mode 100644
index f3a14dc2a090..000000000000
--- a/dev-python/pyzotero/pyzotero-1.5.17.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A Python client for the Zotero API"
-HOMEPAGE="
- https://github.com/urschrei/pyzotero/
- https://pypi.org/project/pyzotero/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- app-text/zotero-bin
- dev-python/bibtexparser[${PYTHON_USEDEP}]
- >=dev-python/feedparser-6[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- >=dev-python/requests-2.21.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/httpretty[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx doc --no-autodoc
-distutils_enable_tests pytest
diff --git a/dev-python/pyzotero/pyzotero-1.5.19.ebuild b/dev-python/pyzotero/pyzotero-1.5.19.ebuild
new file mode 100644
index 000000000000..9f5c51eba660
--- /dev/null
+++ b/dev-python/pyzotero/pyzotero-1.5.19.ebuild
@@ -0,0 +1,37 @@
+# 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="A Python client for the Zotero API"
+HOMEPAGE="
+ https://github.com/urschrei/pyzotero/
+ https://pypi.org/project/pyzotero/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ app-text/zotero-bin
+ dev-python/bibtexparser[${PYTHON_USEDEP}]
+ >=dev-python/feedparser-6.0.11[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.21.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/httpretty[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx doc --no-autodoc
+distutils_enable_tests pytest
diff --git a/dev-python/pyzotero/pyzotero-1.5.20.ebuild b/dev-python/pyzotero/pyzotero-1.5.20.ebuild
new file mode 100644
index 000000000000..07c2b497906d
--- /dev/null
+++ b/dev-python/pyzotero/pyzotero-1.5.20.ebuild
@@ -0,0 +1,38 @@
+# 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="A Python client for the Zotero API"
+HOMEPAGE="
+ https://github.com/urschrei/pyzotero/
+ https://pypi.org/project/pyzotero/
+"
+
+LICENSE="BlueOak-1.0.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ app-text/zotero-bin
+ dev-python/bibtexparser[${PYTHON_USEDEP}]
+ >=dev-python/feedparser-6.0.11[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.21.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ >=dev-python/trove-classifiers-2024.7.2[${PYTHON_USEDEP}]
+ test? (
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/httpretty[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx doc --no-autodoc
+distutils_enable_tests pytest
diff --git a/dev-python/pyzotero/pyzotero-1.5.9.ebuild b/dev-python/pyzotero/pyzotero-1.5.9.ebuild
deleted file mode 100644
index 9d9ad538c0fd..000000000000
--- a/dev-python/pyzotero/pyzotero-1.5.9.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A Python client for the Zotero API"
-HOMEPAGE="
- https://github.com/urschrei/pyzotero/
- https://pypi.org/project/pyzotero/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- app-text/zotero-bin
- dev-python/bibtexparser[${PYTHON_USEDEP}]
- dev-python/feedparser[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/httpretty[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx doc --no-autodoc
-distutils_enable_tests pytest
diff --git a/dev-python/qdarkstyle/Manifest b/dev-python/qdarkstyle/Manifest
index 3d4fef3c07b8..bf4e488071e5 100644
--- a/dev-python/qdarkstyle/Manifest
+++ b/dev-python/qdarkstyle/Manifest
@@ -1,4 +1 @@
-DIST QDarkStyle-3.1.tar.gz 698602 BLAKE2B 8c96b2dd5532c9db0c1d813fe0cf049b7cf55ef6469d2ebb21b5ea85fe6ecd23e8a247c45f45cfa674f8012a4a03ea377df8cb7efac8f13c079e2512091ecdc7 SHA512 275fe333bcf2502f8f1ef61eca3f82d8909e760e8f88a1605157c5043cb1e4cad97bbb8ddb0464ef2125c1b70f318bfa8f0106d2721d6b9862c162b5f716aa4b
-DIST QDarkStyle-3.2.1.tar.gz 681590 BLAKE2B 837b56ca96be3a03cc94840c7b70df3c6ef98d9edb7ec2d590dc82a06eef93c7d436746284e6d80e0d87212184ed67725bd40a87242ffae87f2afcaf311bb96e SHA512 435c836c9f5d61345cd9b37c151a990d1abb8c79505820cfb62ed4134f43511825a44709364bd8044e0f3acc9d63e1ccf65984334165707f9b28739f6745df50
-DIST QDarkStyle-3.2.2.tar.gz 698131 BLAKE2B 98fa7684fb97c1a719b73f893b0d32fcbfb6453f62847bf40a3f92794b1f24c5396c988cff0aa3cbe877615c9762522c911afb15b1765335d9c1ff34a3217d91 SHA512 e0f428565280b453af49f12f2c3298fe1d5d78358acfe350d6cbb4d5780a851ab4d10016d2a5836292218e4d114d0c021ac67d0a3b1b62441c32b779275e66b7
DIST QDarkStyle-3.2.3.tar.gz 700957 BLAKE2B be58444ad99dc4814b722aa9ef2b7cf30d8ce92926db60d063cfa3d6ee923de922db2752182ccbf5d6de0f0cf4a29b1fe4085822910e7ddc4ad44e91ec6b5d13 SHA512 185d04c89d002da67f63c71b7da1cb13fa941bf75271b089d3d67bcc33011e5c5dcdac6a51854d99711070230596f2cd5c40f7ed2ff99b3ae1fde62fbe260edf
diff --git a/dev-python/qdarkstyle/qdarkstyle-3.1.ebuild b/dev-python/qdarkstyle/qdarkstyle-3.1.ebuild
deleted file mode 100644
index 36689ad9eeb0..000000000000
--- a/dev-python/qdarkstyle/qdarkstyle-3.1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN="QDarkStyle"
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="A dark style sheet for QtWidgets application"
-HOMEPAGE="
- https://github.com/ColinDuquesnoy/QDarkStyleSheet/
- https://pypi.org/project/QDarkStyle/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- >=dev-python/QtPy-1.9[gui,${PYTHON_USEDEP}]
-"
-DEPEND="
- test? (
- dev-python/qtsass[${PYTHON_USEDEP}]
- dev-python/watchdog[${PYTHON_USEDEP}]
- >=dev-python/QtPy-1.9[gui,testlib,${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-pkg_postinst() {
- optfeature "Retrieve detailed system information and report bugs upstream" dev-python/helpdev
- optfeature "qdarkstyle.utils" dev-python/qtsass dev-python/watchdog
-}
diff --git a/dev-python/qdarkstyle/qdarkstyle-3.2.1.ebuild b/dev-python/qdarkstyle/qdarkstyle-3.2.1.ebuild
deleted file mode 100644
index c83697e8bea2..000000000000
--- a/dev-python/qdarkstyle/qdarkstyle-3.2.1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN="QDarkStyle"
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="A dark style sheet for QtWidgets application"
-HOMEPAGE="
- https://github.com/ColinDuquesnoy/QDarkStyleSheet/
- https://pypi.org/project/QDarkStyle/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/QtPy-2.0.0[gui,${PYTHON_USEDEP}]
-"
-DEPEND="
- test? (
- dev-python/qtsass[${PYTHON_USEDEP}]
- dev-python/watchdog[${PYTHON_USEDEP}]
- >=dev-python/QtPy-2.0.0[gui,testlib,${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-pkg_postinst() {
- optfeature "Retrieve detailed system information and report bugs upstream" dev-python/helpdev
- optfeature "qdarkstyle.utils" dev-python/qtsass dev-python/watchdog
-}
diff --git a/dev-python/qdarkstyle/qdarkstyle-3.2.2.ebuild b/dev-python/qdarkstyle/qdarkstyle-3.2.2.ebuild
deleted file mode 100644
index c83697e8bea2..000000000000
--- a/dev-python/qdarkstyle/qdarkstyle-3.2.2.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN="QDarkStyle"
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="A dark style sheet for QtWidgets application"
-HOMEPAGE="
- https://github.com/ColinDuquesnoy/QDarkStyleSheet/
- https://pypi.org/project/QDarkStyle/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/QtPy-2.0.0[gui,${PYTHON_USEDEP}]
-"
-DEPEND="
- test? (
- dev-python/qtsass[${PYTHON_USEDEP}]
- dev-python/watchdog[${PYTHON_USEDEP}]
- >=dev-python/QtPy-2.0.0[gui,testlib,${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-pkg_postinst() {
- optfeature "Retrieve detailed system information and report bugs upstream" dev-python/helpdev
- optfeature "qdarkstyle.utils" dev-python/qtsass dev-python/watchdog
-}
diff --git a/dev-python/qdarkstyle/qdarkstyle-3.2.3.ebuild b/dev-python/qdarkstyle/qdarkstyle-3.2.3.ebuild
index c83697e8bea2..d1da652bcc9e 100644
--- a/dev-python/qdarkstyle/qdarkstyle-3.2.3.ebuild
+++ b/dev-python/qdarkstyle/qdarkstyle-3.2.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN="QDarkStyle"
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 optfeature pypi
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 x86"
RDEPEND="
>=dev-python/QtPy-2.0.0[gui,${PYTHON_USEDEP}]
diff --git a/dev-python/qiskit-aer/Manifest b/dev-python/qiskit-aer/Manifest
index d886abef6e28..01caeb503da1 100644
--- a/dev-python/qiskit-aer/Manifest
+++ b/dev-python/qiskit-aer/Manifest
@@ -1,4 +1 @@
-DIST qiskit-aer-0.11.2.gh.tar.gz 6707283 BLAKE2B ae32a469d23a31f202b9f970c59e9efb76c290243bce6179b0a58590d671f6dec0428245131e7cb2966b818dae9fbe7e7078a63fac107572e9e7d4a66e47a539 SHA512 48b28f6c54c898bb3984062ec772373e90899fd436c8e00f0c4abd57b6b98ea6c647283445fe551bd516483b66d25c9861ef519f01a0d1ddc6b3ddbce07bc56a
-DIST qiskit-aer-0.12.2.gh.tar.gz 6979559 BLAKE2B c7f12c9b8f53a9031844e123b8ef6d723e0099be028c5cfba03143fb8b3c7269768ade99d3ef3b4b82c0b36756bf8e82971a3f70c0f5735891eb77a78a6d9512 SHA512 2a9ed6777e5e4d60a393d5a1b21b44ea3fa90fb791aeafda8bbb4ca8b55c7e8161cd5a275fd14bf968a22537cede099dbd419d1a3c5edebe85fdb82501c4de90
-DIST qiskit-aer-0.13.0.gh.tar.gz 6976422 BLAKE2B ca38dc3ec718a2e1c29bb54e69b0c327e8b0b3b7be5de41aef92c45c4e192565e43e9a21bd53bd2fa55cff4b0259052c59112d45d413d4eb3ba091e1855de4ca SHA512 3e9b8c46dcd655f44a790c6c704f8fa4adb734e4adcb5e6b7b24d7d2f126bfe55340de9814b6b7a7fc276f510dd6fd9fed8525cc42a236ed97f48199435cebe5
-DIST qiskit-aer-0.13.1.gh.tar.gz 6979392 BLAKE2B a49f992a80ef644f34cb570d6cf85e147b7c897004c248ec749c43a64c5b950fe9d7f178c53b79202f73186c03e5bc61f36be76b904e22aa6f82a79b1b255bcf SHA512 45568fc1027bb530121a0c39b3bab7847e481e0dba57a005c1a1afb8f3523c098a11acddf96eac87bc750e19d2f7c4e47d8de797ae2501b464d68b849ec7b809
+DIST qiskit-aer-0.14.2.gh.tar.gz 7132159 BLAKE2B bc684f7acca071866bc6413d5fb881cf131fe212be7294922a6861dc526d77d0cfb906d9c2ea57236e42e8a99e137ee0ac5f0c1e11fd027122983ad3d8992f73 SHA512 75a2fadb413fc557f98043cc028b28f6cae65b983fd0f32f1e8b8eda6d5cbc6d9d528c38f765d14ede5909045cef914335a483f762c20c4dd85754449d63371c
diff --git a/dev-python/qiskit-aer/files/qiskit-aer-0.10.3-remove-cmake-dependency.patch b/dev-python/qiskit-aer/files/qiskit-aer-0.10.3-remove-cmake-dependency.patch
deleted file mode 100644
index 44917bbf8cca..000000000000
--- a/dev-python/qiskit-aer/files/qiskit-aer-0.10.3-remove-cmake-dependency.patch
+++ /dev/null
@@ -1,10 +0,0 @@
---- a/setup.py 2022-02-09 17:41:55.000000000 +0100
-+++ b/setup.py 2022-03-02 14:44:04.344551645 +0100
-@@ -72,7 +72,6 @@
-
- setup_requirements = common_requirements + [
- 'scikit-build>=0.11.0',
-- 'cmake!=3.17,!=3.17.0',
- 'pybind11>=2.6',
- ]
-
diff --git a/dev-python/qiskit-aer/files/qiskit-aer-0.11.2-terra-test.patch b/dev-python/qiskit-aer/files/qiskit-aer-0.11.2-terra-test.patch
deleted file mode 100644
index e9f65dd6a42a..000000000000
--- a/dev-python/qiskit-aer/files/qiskit-aer-0.11.2-terra-test.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-https://github.com/Qiskit/qiskit-aer/commit/cec5c11513118fa8d701e2bef1376dc3db7263c3
-
-From cec5c11513118fa8d701e2bef1376dc3db7263c3 Mon Sep 17 00:00:00 2001
-From: Jun Doi <doichan@jp.ibm.com>
-Date: Fri, 27 Jan 2023 18:55:59 +0900
-Subject: [PATCH] Fix test_aer_statevector (#1710)
-
-* fix test_aer_statevector
-
-* add plot directive to docs
-
-* fix test_aer_statevector and remove reno
-
-Co-authored-by: Hiroshi Horii <horii@jp.ibm.com>
---- a/docs/conf.py
-+++ b/docs/conf.py
-@@ -67,6 +67,7 @@ extensions = [
- 'sphinx_tabs.tabs',
- 'jupyter_sphinx',
- 'reno.sphinxext',
-+ 'matplotlib.sphinxext.plot_directive',
- ]
- html_static_path = ['_static']
- templates_path = ['_templates']
---- a/test/terra/states/test_aer_statevector.py
-+++ b/test/terra/states/test_aer_statevector.py
-@@ -1347,13 +1347,14 @@ class TestAerStatevector(common.QiskitAerTestCase):
- ([-1, 1j], ["-", "+i"]),
- ([1e-16 + 1j], ["i"]),
- ([-1 + 1e-16 * 1j], ["-"]),
-- ([-1, -1 - 1j], ["-", "+ (-1 - i)"]),
-+ ([-1, -1 - 1j], ["-", "+(-1 - i)"]),
- ([np.sqrt(2) / 2, np.sqrt(2) / 2], ["\\frac{\\sqrt{2}}{2}", "+\\frac{\\sqrt{2}}{2}"]),
- ([1 + np.sqrt(2)], ["(1 + \\sqrt{2})"]),
- ]
-- for numbers, latex_terms in cases:
-- terms = numbers_to_latex_terms(numbers)
-- self.assertListEqual(terms, latex_terms)
-+ with self.assertWarns(DeprecationWarning):
-+ for numbers, latex_terms in cases:
-+ terms = numbers_to_latex_terms(numbers, 15)
-+ self.assertListEqual(terms, latex_terms)
-
- def test_statevector_draw_latex_regression(self):
- """Test numerical rounding errors are not printed"""
diff --git a/dev-python/qiskit-aer/files/qiskit-aer-0.12.0-remove-cmake-dependency.patch b/dev-python/qiskit-aer/files/qiskit-aer-0.12.0-remove-cmake-dependency.patch
deleted file mode 100644
index d54e1993a7ea..000000000000
--- a/dev-python/qiskit-aer/files/qiskit-aer-0.12.0-remove-cmake-dependency.patch
+++ /dev/null
@@ -1,13 +0,0 @@
-diff --git a/pyproject.toml b/pyproject.toml
-index 0e025a3..566aa44 100644
---- a/pyproject.toml
-+++ b/pyproject.toml
-@@ -4,8 +4,6 @@ requires = [
- "wheel",
- "conan<2.0.0",
- "scikit-build>=0.11.0",
-- "cmake!=3.17.1,!=3.17.0",
-- "ninja",
- "pybind11>2.6",
- "oldest-supported-numpy; python_version>'3.7' or platform_machine=='aarch64' or platform_python_implementation=='PyPy'",
- "numpy==1.16.3; python_version<='3.7' and platform_machine!='aarch64' or platform_python_implementation=='PyPy'",
diff --git a/dev-python/qiskit-aer/qiskit-aer-0.11.2-r1.ebuild b/dev-python/qiskit-aer/qiskit-aer-0.11.2-r1.ebuild
deleted file mode 100644
index 157523e90315..000000000000
--- a/dev-python/qiskit-aer/qiskit-aer-0.11.2-r1.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="High performance simulator for quantum circuits that includes noise models"
-HOMEPAGE="
- https://github.com/Qiskit/qiskit-aer/
- https://pypi.org/project/qiskit-aer/
-"
-SRC_URI="
- https://github.com/Qiskit/qiskit-aer/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-# The reference implementation of BLAS/CBLAS is not compatible with qiskit-aer right now,
-# because importing library causes an error.
-# /usr/lib/python3.9/site-packages/qiskit/providers/aer/backends/controller_wrappers.cpython-39-x86_64-linux-gnu.so: undefined symbol: slamch_
-# Using sci-libs/openblas instead here,
-# with the option to switch between reference/openblas implementation runtime (eselect-ldso).
-DEPEND="
- >=dev-python/numpy-1.16.3[${PYTHON_USEDEP}]
- >=dev-cpp/nlohmann_json-3.1.1
- >=dev-libs/spdlog-1.5.0:=
- >=dev-cpp/muParserX-4.0.8
- virtual/cblas[eselect-ldso]
- sci-libs/openblas[eselect-ldso]
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/qiskit-terra-0.21.0[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-util/cmake-3.17
- >=dev-python/scikit-build-0.11.0[${PYTHON_USEDEP}]
- >=dev-python/pybind11-2.6[${PYTHON_USEDEP}]
- test? (
- dev-python/ddt[${PYTHON_USEDEP}]
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- # Remove cmake dependency from setup.py because of
- # invalid dependency description. We put this dependency check in BDEPEND.
- "${FILESDIR}/qiskit-aer-0.10.3-remove-cmake-dependency.patch"
- "${FILESDIR}/qiskit-aer-0.11.2-terra-test.patch"
-)
-
-distutils_enable_tests pytest
-
-check_openblas() {
- local libdir=$(get_libdir) me="openblas"
-
- # check blas
- local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
- if [[ ${current_blas} != "${me}" ]]; then
- eerror "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
- eerror "To use qiskit-aer, you have to issue (as root):"
- eerror "\t eselect blas set ${libdir} ${me}"
- return 1
- fi
- return 0
-}
-
-pkg_setup() {
- if use test; then
- check_openblas
- if [[ $? -ne 0 ]]; then
- die "Set blas implementation to openblas using 'eselect blas set openblas'!"
- fi
- fi
-}
-
-python_prepare_all() {
- export DISABLE_CONAN="ON"
- export DISABLE_DEPENDENCY_INSTALL="ON"
- #export SKBUILD_CONFIGURE_OPTIONS=""
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- test/terra/states/test_aer_statevector.py::TestAerStatevector::test_drawings
-
- # TODO: GLIBCXX_ASSERTIONS, bug #897758
- test/terra/backends/aer_simulator/test_algorithms.py::TestAlgorithms::test_extended_stabilizer_sparse_output_probs
- test/terra/backends/aer_simulator/test_options.py::TestOptions::test_mps_options
- )
-
- rm -rf qiskit_aer || die
- epytest -n "$(makeopts_jobs)" -s
-}
-
-pkg_postinst() {
- check_openblas
-}
diff --git a/dev-python/qiskit-aer/qiskit-aer-0.12.2.ebuild b/dev-python/qiskit-aer/qiskit-aer-0.12.2.ebuild
deleted file mode 100644
index 9224a7dcb613..000000000000
--- a/dev-python/qiskit-aer/qiskit-aer-0.12.2.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="High performance simulator for quantum circuits that includes noise models"
-HOMEPAGE="
- https://github.com/Qiskit/qiskit-aer/
- https://pypi.org/project/qiskit-aer/
-"
-SRC_URI="
- https://github.com/Qiskit/qiskit-aer/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-# The reference implementation of BLAS/CBLAS is not compatible with qiskit-aer right now,
-# because importing library causes an error.
-# /usr/lib/python3.9/site-packages/qiskit/providers/aer/backends/controller_wrappers.cpython-39-x86_64-linux-gnu.so: undefined symbol: slamch_
-# Using sci-libs/openblas instead here,
-# with the option to switch between reference/openblas implementation runtime (eselect-ldso).
-#
-# <nlohmann_json-3.10.3 for https://github.com/Qiskit/qiskit-aer/issues/1742
-DEPEND="
- >=dev-python/numpy-1.16.3[${PYTHON_USEDEP}]
- <dev-cpp/nlohmann_json-3.10.3
- >=dev-cpp/nlohmann_json-3.1.1
- >=dev-libs/spdlog-1.9.2:=
- >=dev-cpp/muParserX-4.0.8
- virtual/cblas[eselect-ldso]
- sci-libs/openblas[eselect-ldso]
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/qiskit-terra-0.25.1-r1[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-util/cmake-3.17
- >=dev-python/scikit-build-0.11.0[${PYTHON_USEDEP}]
- >=dev-python/pybind11-2.6[${PYTHON_USEDEP}]
- test? (
- dev-python/ddt[${PYTHON_USEDEP}]
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- # Remove cmake dependency from setup.py because of
- # invalid dependency description. We put this dependency check in BDEPEND.
- "${FILESDIR}"/${PN}-0.12.0-remove-cmake-dependency.patch
-)
-
-distutils_enable_tests pytest
-
-check_openblas() {
- local libdir=$(get_libdir) me="openblas"
-
- # check blas
- local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
- if [[ ${current_blas} != "${me}" ]]; then
- eerror "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
- eerror "To use qiskit-aer, you have to issue (as root):"
- eerror "\t eselect blas set ${libdir} ${me}"
- return 1
- fi
- return 0
-}
-
-pkg_setup() {
- if use test; then
- check_openblas
- if [[ $? -ne 0 ]]; then
- die "Set blas implementation to openblas using 'eselect blas set openblas'!"
- fi
- fi
-}
-
-python_prepare_all() {
- export DISABLE_CONAN="ON"
- export DISABLE_DEPENDENCY_INSTALL="ON"
- export SKBUILD_CONFIGURE_OPTIONS="-DTEST_JSON=1"
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- test/terra/states/test_aer_state.py::TestAerState::test_appply_diagonal
- test/terra/states/test_aer_state.py::TestAerState::test_appply_measure
- test/terra/states/test_aer_state.py::TestAerState::test_appply_reset
-
- # TODO: GLIBCXX_ASSERTIONS, bug #897758
- test/terra/backends/aer_simulator/test_algorithms.py::TestAlgorithms::test_extended_stabilizer_sparse_output_probs
- test/terra/backends/aer_simulator/test_options.py::TestOptions::test_mps_options
- test/terra/backends/aer_simulator/test_fusion.py::TestGateFusion::test_parallel_fusion_diagonal
-
- # requires qiskit_qasm3_import
- test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_1___automatic____CPU__
- test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_2___statevector____CPU__
- test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_3___matrix_product_state____CPU__
- test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_4___extended_stabilizer____CPU__
- )
-
- # From tox.ini/tests.yml in CI
- # Needed to suppress a warning in jupyter-core 5.x by eagerly migrating to
- # a new internal interface that will be the default in jupyter-core 6.x.
- # This variable should become redundant on release of jupyter-core 6.
- local -x JUPYTER_PLATFORM_DIRS=1
-
- rm -rf qiskit_aer || die
- epytest -n "$(makeopts_jobs)" -s
-}
-
-pkg_postinst() {
- check_openblas
-}
diff --git a/dev-python/qiskit-aer/qiskit-aer-0.13.0-r1.ebuild b/dev-python/qiskit-aer/qiskit-aer-0.13.0-r1.ebuild
deleted file mode 100644
index 2619da85ec7d..000000000000
--- a/dev-python/qiskit-aer/qiskit-aer-0.13.0-r1.ebuild
+++ /dev/null
@@ -1,125 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="High performance simulator for quantum circuits that includes noise models"
-HOMEPAGE="
- https://github.com/Qiskit/qiskit-aer/
- https://pypi.org/project/qiskit-aer/
-"
-SRC_URI="
- https://github.com/Qiskit/qiskit-aer/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-# The reference implementation of BLAS/CBLAS is not compatible with qiskit-aer right now,
-# because importing library causes an error.
-# /usr/lib/python3.9/site-packages/qiskit/providers/aer/backends/controller_wrappers.cpython-39-x86_64-linux-gnu.so: undefined symbol: slamch_
-# Using sci-libs/openblas instead here,
-# with the option to switch between reference/openblas implementation runtime (eselect-ldso).
-#
-# <nlohmann_json-3.10.3 for https://github.com/Qiskit/qiskit-aer/issues/1742
-DEPEND="
- >=dev-python/numpy-1.16.3[${PYTHON_USEDEP}]
- <dev-cpp/nlohmann_json-3.10.3
- >=dev-cpp/nlohmann_json-3.1.1
- >=dev-libs/spdlog-1.9.2:=
- >=dev-cpp/muParserX-4.0.8
- virtual/cblas[eselect-ldso]
- sci-libs/openblas[eselect-ldso]
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/qiskit-terra-0.25.1-r1[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-util/cmake-3.17
- >=dev-python/scikit-build-0.11.0[${PYTHON_USEDEP}]
- >=dev-python/pybind11-2.6[${PYTHON_USEDEP}]
- test? (
- dev-python/ddt[${PYTHON_USEDEP}]
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-check_openblas() {
- local libdir=$(get_libdir) me="openblas"
-
- # check blas
- local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
- if [[ ${current_blas} != "${me}" ]]; then
- eerror "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
- eerror "To use qiskit-aer, you have to issue (as root):"
- eerror "\t eselect blas set ${libdir} ${me}"
- return 1
- fi
- return 0
-}
-
-pkg_setup() {
- if use test; then
- check_openblas
- if [[ $? -ne 0 ]]; then
- die "Set blas implementation to openblas using 'eselect blas set openblas'!"
- fi
- fi
-}
-
-python_prepare_all() {
- export DISABLE_CONAN="ON"
- export DISABLE_DEPENDENCY_INSTALL="ON"
- export SKBUILD_CONFIGURE_OPTIONS="-DTEST_JSON=1"
-
- # remove meaningless dep on the metapackage
- sed -i -e '/qiskit>=/d' setup.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- test/terra/states/test_aer_state.py::TestAerState::test_appply_diagonal
- test/terra/states/test_aer_state.py::TestAerState::test_appply_measure
- test/terra/states/test_aer_state.py::TestAerState::test_appply_reset
-
- # TODO: GLIBCXX_ASSERTIONS, bug #897758
- test/terra/backends/aer_simulator/test_algorithms.py::TestAlgorithms::test_extended_stabilizer_sparse_output_probs
- test/terra/backends/aer_simulator/test_options.py::TestOptions::test_mps_options
- test/terra/backends/aer_simulator/test_fusion.py::TestGateFusion::test_parallel_fusion_diagonal
-
- # requires qiskit_qasm3_import
- test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_1___automatic____CPU__
- test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_2___statevector____CPU__
- test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_3___matrix_product_state____CPU__
- test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_4___extended_stabilizer____CPU__
- )
-
- # From tox.ini/tests.yml in CI
- # Needed to suppress a warning in jupyter-core 5.x by eagerly migrating to
- # a new internal interface that will be the default in jupyter-core 6.x.
- # This variable should become redundant on release of jupyter-core 6.
- local -x JUPYTER_PLATFORM_DIRS=1
-
- rm -rf qiskit_aer || die
- epytest -n "$(makeopts_jobs)" -s
-}
-
-pkg_postinst() {
- check_openblas
-}
diff --git a/dev-python/qiskit-aer/qiskit-aer-0.13.1.ebuild b/dev-python/qiskit-aer/qiskit-aer-0.13.1.ebuild
deleted file mode 100644
index 9001a0058e12..000000000000
--- a/dev-python/qiskit-aer/qiskit-aer-0.13.1.ebuild
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 multiprocessing
-
-DESCRIPTION="High performance simulator for quantum circuits that includes noise models"
-HOMEPAGE="
- https://github.com/Qiskit/qiskit-aer/
- https://pypi.org/project/qiskit-aer/
-"
-SRC_URI="
- https://github.com/Qiskit/qiskit-aer/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-# The reference implementation of BLAS/CBLAS is not compatible with qiskit-aer right now,
-# because importing library causes an error.
-# /usr/lib/python3.9/site-packages/qiskit/providers/aer/backends/controller_wrappers.cpython-39-x86_64-linux-gnu.so: undefined symbol: slamch_
-# Using sci-libs/openblas instead here,
-# with the option to switch between reference/openblas implementation runtime (eselect-ldso).
-#
-# <nlohmann_json-3.10.3 for https://github.com/Qiskit/qiskit-aer/issues/1742
-DEPEND="
- >=dev-python/numpy-1.16.3[${PYTHON_USEDEP}]
- <dev-cpp/nlohmann_json-3.10.3
- >=dev-cpp/nlohmann_json-3.1.1
- >=dev-libs/spdlog-1.9.2:=
- >=dev-cpp/muParserX-4.0.8
- virtual/cblas[eselect-ldso]
- sci-libs/openblas[eselect-ldso]
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/psutil-5[${PYTHON_USEDEP}]
- >=dev-python/qiskit-terra-0.25.1-r1[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-util/cmake-3.17
- >=dev-python/scikit-build-0.11.0[${PYTHON_USEDEP}]
- >=dev-python/pybind11-2.6[${PYTHON_USEDEP}]
- test? (
- dev-python/ddt[${PYTHON_USEDEP}]
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-check_openblas() {
- local libdir=$(get_libdir) me="openblas"
-
- # check blas
- local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
- if [[ ${current_blas} != "${me}" ]]; then
- eerror "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
- eerror "To use qiskit-aer, you have to issue (as root):"
- eerror "\t eselect blas set ${libdir} ${me}"
- return 1
- fi
- return 0
-}
-
-pkg_setup() {
- if use test; then
- check_openblas
- if [[ $? -ne 0 ]]; then
- die "Set blas implementation to openblas using 'eselect blas set openblas'!"
- fi
- fi
-}
-
-python_prepare_all() {
- export DISABLE_CONAN="ON"
- export DISABLE_DEPENDENCY_INSTALL="ON"
- export SKBUILD_CONFIGURE_OPTIONS="-DTEST_JSON=1"
-
- # remove meaningless dep on the metapackage
- sed -i -e '/qiskit>=/d' setup.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- test/terra/states/test_aer_state.py::TestAerState::test_appply_diagonal
- test/terra/states/test_aer_state.py::TestAerState::test_appply_measure
- test/terra/states/test_aer_state.py::TestAerState::test_appply_reset
-
- # TODO: GLIBCXX_ASSERTIONS, bug #897758
- test/terra/backends/aer_simulator/test_algorithms.py::TestAlgorithms::test_extended_stabilizer_sparse_output_probs
- test/terra/backends/aer_simulator/test_options.py::TestOptions::test_mps_options
- test/terra/backends/aer_simulator/test_fusion.py::TestGateFusion::test_parallel_fusion_diagonal
-
- # requires qiskit_qasm3_import
- test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_1___automatic____CPU__
- test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_2___statevector____CPU__
- test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_3___matrix_product_state____CPU__
- test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_4___extended_stabilizer____CPU__
- )
-
- # From tox.ini/tests.yml in CI
- # Needed to suppress a warning in jupyter-core 5.x by eagerly migrating to
- # a new internal interface that will be the default in jupyter-core 6.x.
- # This variable should become redundant on release of jupyter-core 6.
- local -x JUPYTER_PLATFORM_DIRS=1
-
- rm -rf qiskit_aer || die
- epytest -n "$(makeopts_jobs)" -s
-}
-
-pkg_postinst() {
- check_openblas
-}
diff --git a/dev-python/qiskit-aer/qiskit-aer-0.14.2.ebuild b/dev-python/qiskit-aer/qiskit-aer-0.14.2.ebuild
new file mode 100644
index 000000000000..06def0bfe1d8
--- /dev/null
+++ b/dev-python/qiskit-aer/qiskit-aer-0.14.2.ebuild
@@ -0,0 +1,119 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="High performance simulator for quantum circuits that includes noise models"
+HOMEPAGE="
+ https://github.com/Qiskit/qiskit-aer/
+ https://pypi.org/project/qiskit-aer/
+"
+SRC_URI="
+ https://github.com/Qiskit/qiskit-aer/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+
+# The reference implementation of BLAS/CBLAS is not compatible with qiskit-aer right now,
+# because importing library causes an error.
+# /usr/lib/python3.9/site-packages/qiskit/providers/aer/backends/controller_wrappers.cpython-39-x86_64-linux-gnu.so: undefined symbol: slamch_
+# Using sci-libs/openblas instead here,
+# with the option to switch between reference/openblas implementation runtime (eselect-ldso).
+#
+# <nlohmann_json-3.10.3 for https://github.com/Qiskit/qiskit-aer/issues/1742
+DEPEND="
+ >=dev-python/numpy-1.16.3[${PYTHON_USEDEP}]
+ <dev-cpp/nlohmann_json-3.10.3
+ >=dev-cpp/nlohmann_json-3.1.1
+ >=dev-libs/spdlog-1.9.2:=
+ >=dev-cpp/muParserX-4.0.8
+ virtual/cblas[eselect-ldso]
+ sci-libs/openblas[eselect-ldso]
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/psutil-5[${PYTHON_USEDEP}]
+ >=dev-python/qiskit-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-build/cmake-3.17
+ >=dev-python/scikit-build-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/pybind11-2.6[${PYTHON_USEDEP}]
+ test? (
+ dev-python/ddt[${PYTHON_USEDEP}]
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+check_openblas() {
+ local libdir=$(get_libdir) me="openblas"
+
+ # check blas
+ local current_blas=$(eselect blas show ${libdir} | cut -d' ' -f2)
+ if [[ ${current_blas} != "${me}" ]]; then
+ eerror "Current eselect: BLAS/CBLAS ($libdir) -> [${current_blas}]."
+ eerror "To use qiskit-aer, you have to issue (as root):"
+ eerror "\t eselect blas set ${libdir} ${me}"
+ return 1
+ fi
+ return 0
+}
+
+pkg_setup() {
+ if use test; then
+ check_openblas
+ if [[ $? -ne 0 ]]; then
+ die "Set blas implementation to openblas using 'eselect blas set openblas'!"
+ fi
+ fi
+}
+
+python_prepare_all() {
+ export DISABLE_CONAN="ON"
+ export DISABLE_DEPENDENCY_INSTALL="ON"
+ export SKBUILD_CONFIGURE_OPTIONS="-DTEST_JSON=1"
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires qiskit_qasm3_import
+ test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_1___automatic____CPU__
+ test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_2___statevector____CPU__
+ test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_3___matrix_product_state____CPU__
+ test/terra/backends/aer_simulator/test_save_statevector.py::TestSaveStatevector::test_save_statevector_for_qasm3_circuit_4___extended_stabilizer____CPU__
+ )
+
+ local EPYTEST_IGNORE=(
+ # TODO: qiskit.providers.aer? wtf?
+ test/terra/expression/test_classical_expressions.py
+ )
+
+ # From tox.ini/tests.yml in CI
+ # Needed to suppress a warning in jupyter-core 5.x by eagerly migrating to
+ # a new internal interface that will be the default in jupyter-core 6.x.
+ # This variable should become redundant on release of jupyter-core 6.
+ local -x JUPYTER_PLATFORM_DIRS=1
+
+ rm -rf qiskit_aer || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -s
+}
+
+pkg_postinst() {
+ check_openblas
+}
diff --git a/dev-python/qiskit-terra/Manifest b/dev-python/qiskit-terra/Manifest
deleted file mode 100644
index f50395d4bb8e..000000000000
--- a/dev-python/qiskit-terra/Manifest
+++ /dev/null
@@ -1,118 +0,0 @@
-DIST ahash-0.7.6.crate 38030 BLAKE2B aca3661477fcd7822d6d10970151e05c28e1615f8cd7ddaac064b15102027e404b19b0f3f16dd76145048594ea1c22ae27dd08cc05c411efbae9ec7a1ef55ce9 SHA512 61354688b6fb096359faefb6f34be958cd2215d56b88c22c737d24183eaad433f811bc9e64f927e4852c87d2799c22fda82b55cfbef2ed6357ff74f0c4ffec68
-DIST ahash-0.8.3.crate 42416 BLAKE2B 84836a4e33451012ff32c1a1a90500d87eb7ce649b60dff4eecfb0d25b9782a186376c154673c3121b154ff4616016d1718dfd687b88f4772c2c89eeb2f119b6 SHA512 cf2d2f1201ac0969cf4e2a0c47090bee971b2287ac44b5e091c90a9eced03cf6ff56d7900cc0f529d4acedc30bd400261c15e50efabdd1731f79951b449af53e
-DIST allocator-api2-0.2.16.crate 59025 BLAKE2B fda69b52435a7243eb19bc55914a1961e59dbad5ac12c40db39cccdf7a99c742da59c3ef160350808698db24b91e0ce655cd1acedbbcbe20c717604aae23ea5e SHA512 e1eb0df6b44b62115795ebf772f81e9ac0b6d273afd81659dbddb7eb6628b6e5ef6a60ea21413e79ee638afb72e6872ba83a075f6324daf93f2f1eda48daff2f
-DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
-DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
-DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST crossbeam-channel-0.5.8.crate 90455 BLAKE2B 017132056f1b40e55fbc7a09b75509d72b0a6123a0e5ea5d6104fe822f73b3ccce670d711d3b84b5ce743dcab5f10445297a6701b71213b77c0d56e2c3fd7160 SHA512 47677d6fe63050c51393e4a0537a3c65d7055c9eae118ebe60c5d716b4f47f23c2b1947b1e1b66bfb34a57c4db3a44631d323e996dd545565fe4f58c25863ff4
-DIST crossbeam-deque-0.8.3.crate 21746 BLAKE2B c24025c65d7c1c98e442af95491749dd4f777af0509636ed66886dcf656359ec50dc2a5e26327559c6659f6b355d2b0b992dafa691a36571c99637cb47372d0f SHA512 f3201c9afef7d2d119702696f7e5e7997a104b8f7d67c7adebd1cbed84d3a3415636ff674f1ccdfd95d0dc162384e46c6138c8203ede69577b0d5359a4b44672
-DIST crossbeam-epoch-0.9.14.crate 48524 BLAKE2B 439eec7e5e0364af0fe0a34ffc9354ae289798ffa7480bc656d4a610101e1ef2d5f484d84f82c87f961bd622434c36adfb7a87f7fbd2c71077b732cc7cc765ad SHA512 543cb60cff7c0823733f6ace191b137a04025a2b40fe4fea5eb273772009627fb705aecf742bc59e01367d4c15a14aca73aa2caf7f4b509f4b25947e14fd1e19
-DIST crossbeam-epoch-0.9.15.crate 48553 BLAKE2B 23aa0532d3126e22efc779859478098e505b4ec895c643530a3f7e8dba0543df3d8ffcb6825b1d3869a4418e17d798d464b3e1bb51522435d50f53ac224e22c8 SHA512 d9292c059ef1d156da52950137b2b3ea5eab66c4cc2f763d02078d0b0106980839ebed2ae2aec53e026ee7b3ddc37c4b51370d925ada1ad13d9981934daa7bde
-DIST crossbeam-utils-0.8.15.crate 42326 BLAKE2B 23e6bd2a6535c6fccf7b7d17487fdd4095c92a3f3ae383a72dd6d90c1c49c2ec8d96dc01a94c7127b2681bfaef843585b3ae8665ecbc43b2e7db8434e31c6c8b SHA512 adb9ce1886396bc637299cb8122d102bcc9e561f25d67ef73e98c9ed8a8b13b78bc0f5bbacab19d015e1a7690bc0201f08b3d8e82393ec347e7f2933eb622533
-DIST crossbeam-utils-0.8.16.crate 42508 BLAKE2B dfaf9e7cade2cb5a2de90dc622e58a69c5b28fe9f69d3cbb945431683cf48fb409565190e3414a815563afb12631d990476919890fc482ce6b5792fdc25536a7 SHA512 4b8d599a8b93015eea2fd404cdf1526fbb94662fffc7c64d2f0659aeef349e4ad682f61b2b85d075c7f3fbbc4d8106cd7caf6e65dae117ba982f31262df3f831
-DIST either-1.8.1.crate 16027 BLAKE2B 2fad54b5f20bb8540fff5959ca7b2f9021c814ee610895d770f7081b12ebe2c93ce754c462df9d81824d479ca75e07f4a9e398c07a655f4abe2740b9c9de9c62 SHA512 5e4da301a605e0bc1ee3a269fe449aef044df05b5e833940c7f79bed61bbff4fc248e9c82b45dab92b2688d578ada000b271aaf67f2f4f7c82b35f05663cfe7e
-DIST either-1.9.0.crate 16660 BLAKE2B ad61038bfacb16f678fff5dd9ccf8f345e1bef18bd7aa0aa9c99d44abf8428939362f32fc8dbb1b60ac56016e0096201071d0bf8c0431b660605d0dfa97da466 SHA512 4978d50842386f51e31a47ad037d5e491106a668bc701bb833e6ec3998afe3ebd80efddc47756b2f300f534b39b26fc01386dc878d3b02cc8c1fec6a474c2177
-DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140
-DIST fixedbitset-0.4.2.crate 15954 BLAKE2B 91270883db5ad0e999ebbca1123d8729d3040eb936034ab8da3cda72a830e45fcb977b3fe3c2b94e870c1fbc366ee8602357bb77e8b9a40cc41a04afad1b266b SHA512 57c5d756b0a202b2506270f0d5e890f7617a1e0c015b6059ea23fab49cf7af47fd06927eb56feb03b37cb2b6c467e326b3f0da1e32cfcb6339cf11a130a3ccab
-DIST getrandom-0.2.10.crate 34955 BLAKE2B 8e7b8554ae360484ceca2a05f834c2664b08f41cbc6c955663e1f8f22fb5750481518bf1c7b49f49223a99a66914ef013347b9186acc97a20249f3222a13f9d4 SHA512 82af9e0417bff9272ed0478be4ac90426405ce210014b21899c6b95fde1b16893bf46295388ff5f13fa712a04c99c46b770fab83f41a1343af1590a86ca8da3b
-DIST getrandom-0.2.9.crate 34457 BLAKE2B ccf7232ece1047000140ed6bb9a1afa784be87b5cf83e2f58dff77abcd79e34120b45336cb05e47fbfde36407957fe9da8b04971092ec05f67b321fde9142d29 SHA512 48e341125223945d1c02c4dfc54df303ae27d3ceca0d5a30b42065f5e40da600cb2010bb59e88af6b990d54b5eb4bf83ae5bbd27e13e56363f5f68be03ea9082
-DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
-DIST hashbrown-0.14.0.crate 116103 BLAKE2B 24bab03e8a8cb7623b92282c83bf8acaf0752c696ee1c010249e3ebb3646e7549d8d6d798b02c9d5b621afbebba7320f8a859d9a1af1523dbd46377b857dbb5f SHA512 f0fbdf81517f59a0b67f792a4097f1131d346b2b4cbda93590749cef7f9f1c9029e0e182f58c23b74d3028f7502c30b9593c1eb4da37f95388d74b14582b8959
-DIST hermit-abi-0.2.6.crate 13027 BLAKE2B 4df5306639511a5f69594e903f8ce62482cbbfbfe272a91a12f407483dbac4e87c2d7e5668cc06ca5c0fc149ca93a3152fe6ad4bb3b96cacf56a22cb635e5b7f SHA512 bad8442bb822a9c99f6536db16523c80f5139af6a139bcc359c03725c59ff935816e2ecc5c491dc362ac75ab2dff41ab1e9dd29431f5e9a109b60eb9b7a8dc28
-DIST indexmap-1.9.3.crate 54653 BLAKE2B 7bc1768589e74020dc15d3dd064009edaaef39b7aeb682d0ca8e49944e3f020b9c04d64feb102e88b22feb40863479dfaf4722d6a77b5d19e7ca553f4bf64c1b SHA512 2aa8069eb07a814c8fa3e11296c9f032ef60963520d7786ad20cca5cb7e73b8f76d97722a994d65295bb713020aadce5008cd3df5e99d8bd968ef1979f910a37
-DIST indexmap-2.0.1.crate 64305 BLAKE2B 61863f045afbf78466fb73ef99cc02b48c6781c596cf46a67fbde3c025468bfac3380a31efe10e8c69eee4ec1c85cd79b260627111ca6842d50c39552f3e17e4 SHA512 69b7da13fdc3164630e79ea09bf7e036bdf9cc44384742069ef59b3f8f909a5912c65908f9c605748a1476722d0536c3468cb5243666b37215d3f4f5f38cabc1
-DIST indoc-1.0.9.crate 13475 BLAKE2B a9696788574e56dd125c3371169fd59d6947d188f76e2669b21c0304692efd6709cd048920f7822e92c6a5620fb178e0e85c7776118cef8ccee0f58398e14abf SHA512 db8aef4a7bb606452dc8ed45aa29a255c7a135357a0bd586fb4429c5f56a1aa2ca9400d6fac39956aeb486a15d25cf5d1b9524967867f2c651d9d563e3e85be8
-DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3
-DIST libc-0.2.144.crate 682092 BLAKE2B 1f699cb880a65baf9210527789abb35fe8be9565828d061e12b5c76330e21babab67b21e9a44be6a706f643f3c8b98503a3b40482183188b49f33f96a2489a68 SHA512 576da68e3845a7149f64bee425529ffec4bbb8df0272790182e49c8bad5b9744de21ffb5c1206753b57b7fe45af02c6c429e16522b72a77e5262482d64df5692
-DIST libc-0.2.147.crate 686772 BLAKE2B ab2f0c65d071d46b8b88149add1c8429237ef6d9e0563d56ee1adbf23e6147dbb57fb68fbd02498f8ec75327693237a47e5e5259615ce8b0d5ed7a03bbf4fffb SHA512 bfb3c230b59d623b98726f92b7c3f897b47ba3d22fe9834c15f5b4c1b662289aba35a0ae3acfc704ad74696db8c691ee007b9cc6fa03ae65a18eb6bedc81931e
-DIST libm-0.2.7.crate 115688 BLAKE2B e180347d10847c40a88e43d321e08561df053e6fea0cea2cac480c4162c2f31d8697b4572a384edae323d43781d3c6462b2d77220dd71b2fd0da3a2757487db1 SHA512 b7adbf657be812451fc50cd5e5f92b7a71d43b4e48761bd2738d65498c9abad851f8e86d3be06ae75cf39c7798c23cafe767bc5fd40f596774e858f69fcb46d9
-DIST lock_api-0.4.10.crate 26713 BLAKE2B 113adf8554c65e9782e8fd0360d0398567dfbfddb1fea4928cc152fbab98dbe086e42b81170f6f5c333d61dd3261e8a1ebfbaed786e6bf6378e6afde6d7f9e5c SHA512 ffe8cad8099bc382832181c1ff95e0935993491f247114604201be7d4ddf8402fd4db8fd6499c611f95fbce7d57dc3d3738eddfab31c52f50ab8709e549697db
-DIST lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990
-DIST matrixmultiply-0.3.7.crate 57046 BLAKE2B 7ba1abb8602370e8780c8401a4197653998af1d0aa0976a6710fd316cc057b4d6ef71d009ce71da85ebb2d2867c597e02ca2df721bcb28ab1c175ea4b7ac48b9 SHA512 40d68362bfe3ada4b8674bde0f5b0bc34e88590b8a0bb442cf1dd55de1d6dc696533221cf373da898bbf5aee83a12eac564e7fb8b2bd451e62c827b7fbc81c21
-DIST memoffset-0.8.0.crate 8912 BLAKE2B 19ad3abed21fc39461b0382b15a8cc312378aba36f042b1e5335012115d31b350a4e3bc720f1eea300d7d19b9b317f75a28d4ccd78ff3b31defd9e4b3147899c SHA512 47adcae0848ff967035e10543ea599c7af9c5bad387023eb4dc77c9e8d875994ec8139b9941b3ecc4fc17214d80944a47a3be174a45b334661914a5a7382dfbe
-DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
-DIST ndarray-0.15.6.crate 275225 BLAKE2B f17e028e7d57670f136d777dc2bb720dd52bc3d9fdbc0e2de5f5c2fcd9f6310f0bc39299fadbb53e0d1588e1e64d9f2b5daf20e30dd95517bbfa597b9572581f SHA512 19037ba1de0ea5f8e0cba5d8735d6192c1674007529289a357e9c5e036a1af88b48ba8a26b4929663403159f6700bd00d04becd9b1fdd4c07990bbeddfc20ead
-DIST num-bigint-0.4.3.crate 97799 BLAKE2B afe9a08bf20dc974dcea12b5f9dd465e8b399a0cb0a6d0028d08f7f753aa4dfc929710e4dae883e67633d9dda073f995287e5315b1487e8f99f8f23f1f70e581 SHA512 4b38eaa8b51119dbc7cd8a1e177f37ec935ee348b693a93378742e9bfa68fe5f7e5062b7f34638283c23f04d2127451d796d310cd8adb64dc8e865b28708374f
-DIST num-bigint-0.4.4.crate 99369 BLAKE2B 09a44754e3a3d4f949b3714d96ddd7f3915164d611036675e3df421d6c0863e368eb0180978a4ec27fbfff529b4999d2593e411903516670c24c08fbed6a79de SHA512 0dcef3344a933509fdfe87d6adb0bb1bf67af3c692ccaeec5663a8f18ad0a251199ef9c7a24c25b95d1b255b413947e70f0a205669d549b13e54b6f4864ab3b5
-DIST num-complex-0.4.3.crate 29523 BLAKE2B 7f6af07ca78b00ba21f04931c473b2b725c61c78bb74b3bcef7b10a0fb00353c06283da02c056fa8cd4f9949476392054dda56ddacd330abc2d1aea3317e9ebe SHA512 64f1e6ee49f162a190b9aaccdebdf5d4f1712645eebda7877437f58859c5d8d4cfd10b67a39098dc964f9c842909b10e222aa8a2159575a7bb19352f753d3d99
-DIST num-complex-0.4.4.crate 29564 BLAKE2B 8ae65e8f2d87de96ec0a3d0e6d580584aff8cfbd0ebe56272dcf7cc5eea1b545fb9d597cbe4b1e25562b99a217a03ceef60e6cbda47c1e8cbd29b38d16cbe428 SHA512 632f9486df426d9254d2b6484c560b31e4ac0270de85878b9c4d14339a05ab318a90019f0724d2fac4d8496b03680650f899cedb1741c58eb7536cf3732db600
-DIST num-integer-0.1.45.crate 22529 BLAKE2B 4da3e801f71ba8f92c692497e200bfc8d32183c94eaad91260683b09f4697c03175fec7cff5a9ff3782d5db5d514d74f22f7a61a102c0f0d2e67a7a4b4f29222 SHA512 731bdc09c3af7f9d8b171041f2957aa60facef93b06886000d8ba60d410aabbbee358d700bf31b2588b2e077464f290f24a0b712df7bb7f12972675b6c9bd735
-DIST num-traits-0.2.15.crate 49262 BLAKE2B 942ab170b2acce1cb40e6847f766bf810a79edd293d34f3a27864f464c16fe2b99fb13171ba429cc6d584248de879434beaadf1b231a4001b0e8389ed6c1be04 SHA512 5228498af0f15daeac3c9210f3e6e71cfaaeb30beea81dd37f8eb06b9592c8bf3226a47597cd8592ad4c513964a9a40f1ab2c33102ef3dfe3800d22c8d4528e8
-DIST num-traits-0.2.16.crate 50130 BLAKE2B 1101d28cb4dce477657684a068792b94c7008a965e655edbabfeff51cbe6f008450dc6d7e4fc5dc4fe9c3ee8623ed77a7bde83ce2f68e75d618295fe6cebe0a8 SHA512 2ef65e2f6275b1000f611cc4d019b2f4846a8964b54d9b96462da10e3ac9edbf3d1de82e40094c76f7f5205740361b0eb0ced414bcddbaba5955144f728c6f94
-DIST num_cpus-1.15.0.crate 15680 BLAKE2B a4d98b29ad534de9bc262f58f615ec06bde5d5a2f5252f09b5a0a6ecb06a9daf9709ad9045eb08f7cb744d8a838854b9095aa73918e06624a84efbc11a9a5c1d SHA512 fd4772868def9460a6ee17ef6fc00b0bc74115eec891bb3fdb07ba5b5fe4057a2ac69eb31ba8beddbd3189c7be4545888e5724879f3a89132fbc9b32aa7bb10f
-DIST numpy-0.19.0.crate 66304 BLAKE2B 1ea519b4a34e184b49f2c08388ef4d47a0b081bf199eaea0de3e9daaa3d89f0584a4005f7ee9a0a85b5fcc1b16f1271cf779bc1492173907c2069c2c891e8ff4 SHA512 fe6d1ec55c5e88afa82407351502558a516c7e12bd799001a7f0624a385f6ee4d109d7688df30e8502240d22a75eb9976aaa3ecd209209d04a6960f3481441a6
-DIST once_cell-1.17.2.crate 33335 BLAKE2B 8f1bf825fd618fa1070c3497264085bd354c9b470aab08663179cf2eacd1778b6dde0c54247aa5c8091be97c40d3da20e56dd92981318a0c0ce85d41c3a740d0 SHA512 8a00338f5aabe766fe5cd741cafd8c2ff544d60d081e5706b0965db6c86e00cc7b5fa0f73d8aa54cd1f4506a0858de589ceb4bd32afa7046dd3a1fbcf52b69d7
-DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
-DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
-DIST parking_lot_core-0.9.7.crate 32412 BLAKE2B fec3ed2cf28e6d5090aae6a7c0ad583acf3ce6e54e881b78a9cb6721ca1e7040d46c044d405852728e74baff6ff1feaee7a89a64c69d20531f29942dfaafcc72 SHA512 1f232f1a87ba9377621244ba49378663f3113da7192a399fdb70be971ff5e5ca0d0601e1210a3fd8ab75ef464dc8505e719f81902e3448cce5e7848ef4bdbef0
-DIST parking_lot_core-0.9.8.crate 32383 BLAKE2B 2f9666872894d1c85895437d1353f9e15be2bc8d004ffc8f0e5be95e9dd4b274797db3752eba1c0b5b6071c1b8a71e4857cae0b2aff1afdaa39e92e70be2e6fd SHA512 8d6dfdf661b0f7d0774cb9f61121f2daefd182ac8a2a0d24eab451febfbe1a664c815c163d34a7f3d15a54915a8e22e6c6cd10e89cb7d7598d48d81ad6a3c256
-DIST petgraph-0.6.3.crate 185740 BLAKE2B dc3d4a0c29662f761bfc107d9654619a3443b07890e0caea5851a6dfab2f071181ab94c521d641197e159098885363d7ed4e1c9c34333fd1339c7484c2237c4e SHA512 9b624ab93ebd06fcda716b1e79dd82c5594a11c71ea0ad806b6b708fee3f432ee174ac292c5af3bb0c84b411c26564ad11436624a52ac4e74ed40432778c21e8
-DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a
-DIST priority-queue-1.3.1.crate 33880 BLAKE2B 8d2cb40f5983b89f9c13985fbd25e91ca2c5bb98be3674cd8ec78f56c5f4de446de1cdd9eb2735df01548e116d842b9f1f3f815729de23d85277c5fea9714398 SHA512 75dd9ad95eb68ae1053501e4c421fe01c22e0e8c267dbdb1c0f7a034c92dcbf8b31dc6dc33fe99e62a2c18bfd038f612240136ed2afb63578305c418307b9e2c
-DIST priority-queue-1.3.2.crate 33905 BLAKE2B 2bd083a8ef4e6025fcd2de360a29442da3190d642a176cfec240743e060fb4c54dbc4c1e86fd10259296dbdf69accb802033594bd8aee9c664d684f6f983188c SHA512 8f0b05aabad32201b69e1c7d410df43d38ebece63c2b7c0510ae41733547f3df71cc93d100d2241453e0caa490a0b6e5f66d67a6fc05dd0463227cf8b364c7f4
-DIST proc-macro2-1.0.59.crate 44360 BLAKE2B b1e42efd70e9a61bd46fd8bdd7db26aea142d98d28765de799901606b721c23a22c3e853d0821709ef5ddeac0304731b6a09c3bff3b7769e946b77fc67e44d36 SHA512 30e3340f53593afb3f07c4ba4c3d51acabd9a7513976aeaeed4c063fee268a28066c53b265b629d5d3f56597d1d34a9e69378f0ef5cda37b51a8fa8b67424aea
-DIST proc-macro2-1.0.66.crate 43575 BLAKE2B 9eb3e816b00fcf625c280ba14ad269f5893d0523473a24de07c21945f6f932fbd08efb3c339b35d903245510e3f065e1478439b024a325f2bb9f97bc7bcbb18d SHA512 85f5a762f9411142e5ac28144bd380f07f0633ed2e44d8a2545be9fb8f42abaca6b5d45631b4be83b8e8b9beca7438bc52f25615c3a410a3a1249474b1aca407
-DIST pyo3-0.19.1.crate 418297 BLAKE2B 19ad6aa4fba175961b7fe97ae0bc45050f930859972b1b25cf0139bb3436c050ba76b63894f0df26174f141a52ac6abf10fd84c03c056af5a0665e723ae24195 SHA512 b27500cf49f1c6f217d21344d24ac96c07b82c157dd36fa4550b94059da5715ba7d0e085ec07dd5f8a8ac9de4d7e9239c1cceac4337294eb0dc9f6102049d5ff
-DIST pyo3-0.19.2.crate 418228 BLAKE2B ee018b33383fada78cd22643aea9231a8c8a2f19d1eb297f40eec9206c5220f322fff4c926d939a93a24ac6d231a207ebb25afcc0709191151c7ed9af7465efa SHA512 58698183e0f2f0507f8f765bf3e90185c933e78d62f0a9be65c4b1ce8eea19a98fe0341abe7c58cafdacb63a012ec417876dccb7be6facc1360fcb22796fcaf9
-DIST pyo3-build-config-0.19.1.crate 29205 BLAKE2B f88cbf9763fd68f7b30d109ae608efc29e0d4bf6672ee5f31b77342b5f37baa4f981916124af6897ccea3d93990ff889815fc3abbe9ce3fdbd860b6d5698b7da SHA512 311fef01ac2c3ce12485849cb99eba038a36260206308c5af4621fc5393f942e03aae4f6a5fe24ef3005eb781d2161453667ad552d6a371ddd96460b05a2e710
-DIST pyo3-build-config-0.19.2.crate 29206 BLAKE2B 5b1cd80d643e448cf8f1d28a514333526061c178121b9a0dcb5bff6082f402ecfd166536d94d42065f6dc1f108a73f12bbb78eedf9ea053a6aa2e9c80ac00ddf SHA512 ccc73061ec1989258921c5b5800689170635fa5503d74a4ac458baef903dd31efa41995d238783f1e099ece1f66d0a0e95c4fcb4b772b9f653dbb20e838b4e28
-DIST pyo3-ffi-0.19.1.crate 64837 BLAKE2B deb3065ce99b4bd3b5dee182f7cc20dbbb1792e792e78425f30a71ad3e45aa8552f99f02debd640e16db44cbcad58f67b04ca6e08cb964e788d41dca64500a0c SHA512 6293d75c71ebe80c320f0a240716a2e0c62f66aecc58320f2f40a81f85390c7d9174b4888ead89818b73fdc8d3d21df12adc6625087f0c9ebb82767d4a7c5adc
-DIST pyo3-ffi-0.19.2.crate 66500 BLAKE2B b4139fba31ef17017b6b60784e41ccda34931a072c2638af1eed8d02d7af701c46fe38b12772d2301cff41d10a433ff0f00a69d79d40233eadafe82abe585f8d SHA512 789191bca537998dd23d72dce4f185b84bbe700f4171c47de35b9bbca15a180ad214392b4f465cc1ecb0be955ebec1cf5a3c497815073be18035bd8bf8c51a32
-DIST pyo3-macros-0.19.1.crate 7173 BLAKE2B b8d53ed51e2454abb77528c9e08315f288718dca08888bc24752f156942c27ffff75c88504bddcf05cc89d16b3fd2cd86280b0b94bd09947a2ffa4c800dfde68 SHA512 2c12cff4a8af948f9ecaadb83d1ed5199758f9e9c626c5930a1b74c65027a8b74dcf989ee470798aeff7c1165650d5d3dd75cb1f813859b7b8e241cd2bb8f2eb
-DIST pyo3-macros-0.19.2.crate 7173 BLAKE2B 8862f42a30929579b0b0bc2ba7f0b416518724480e197fa13288e49324e851f964183e1529b7f31bf5d4fe0ae194a412723b6b401100e66fba98bbcd9c283866 SHA512 852cc2792aa3d30d9ab8802a451be5617cae6536adced1bf0dde71704a3c7c1bfe862fba751b6d045249819a8ba5d87dfc50914d142a0b662f046498c06f8c2e
-DIST pyo3-macros-backend-0.19.1.crate 49916 BLAKE2B 930774ee7ec936bbefc4ea81e2496cd15438dc82954ec7b85c0bc42b290b41c60869f8b31e109ba16a373d3ebf1e0058c0c7ef7d4911ae40feb99fb61d66a745 SHA512 7c7949588a15ef57b12f11e903c1110228bb653212761c97ff50399aa39be97108b471a2cdf47afb307f6c86bfb24b3e9ab32fd08e0550ee27e8808f2acd5145
-DIST pyo3-macros-backend-0.19.2.crate 49962 BLAKE2B 9d8a032c2205f55d2431b6bbc40df153339e08479df3a8a65506ade7d1f3d17cfaf664cbd09eaec9acff3f5a248598e37427d0c5a531eaf527137803adf49834 SHA512 fd708e6fdbd54ef7c676bedc62070175bac6b8f7ae11231578196dbf552b163a8a2499a1266f786bb6bfb85517fe83610902137d59a5c42efcb1a27c4235a07e
-DIST qiskit-0.25.1.gh.tar.gz 12138283 BLAKE2B 6fcc24f01888d1e1e8a2dbc491f361d1fb2afd306cfa5da9ffd26e7448224a210ce3e7ab1ecf04efb36be7c85a6ccbf71a8d4817a291fe0af1b66e6297d1e6e1 SHA512 bc1fefcabacfaa65cef35f0a9fbdb04f42a188ef811e2115b0e44dbc85d2cb8f2c6c1403e0d59728b7f69b5ff7420808abd8aafa422640ad5df967275f763523
-DIST qiskit-0.25.2.gh.tar.gz 12330466 BLAKE2B 6bf11f841372a4be5e836457c87ce30b70a93f4e00cdd4af32f17bcbe9af5fd6c09f92f6734888c899ddf5dba59fa3b249995dcf85df2606b55a727562e4dc0e SHA512 e6b19990ad3e4e540817b8134e772bbcb772f9755cde6fe3a7e241bc4f0bc92f501bfd0ef52311394e7297e685aeb1d2c1a8494fce54dc784fe84c16884f507f
-DIST qiskit-0.25.3.gh.tar.gz 12335701 BLAKE2B b9263523c908fa755cfb811398d6c8dda146fb1e0210be23336db272aa3bebadca24c44ecad27f79973af1a24fd5e7345d08c4ed7634168860d69421fa758c3b SHA512 27dfa1da4a61cadd1fa9fa412cfa79fd4824b2bed586a73ec69481a07c0598691288bbd851f0821b5d509eb93c6ff585b8b8fc83ce1a3e8091cc1d35c4960250
-DIST qiskit-0.45.0.gh.tar.gz 15979814 BLAKE2B c18b8f6f8e365f3bae2df87db4f1f623a407bbeacfdb09c45a641187a683c25f2be6781c1637f2b94dbc7fde8080ff9b4007fed5e1ca62df5fbaabfb14cec593 SHA512 fa75351136d97378255c45d1a682fb762e1e694d3d9ff6c795d652a8e9e4ac7001e8525582e4f6c9cc04f947121956f359a54b471fcdef7d350e3613616f89ff
-DIST qiskit-0.45.1.gh.tar.gz 16001091 BLAKE2B fd5ac5e98dd3512e34309fb81dfcb97d10ef03db03ad9011fa5043f28e9f9019fa3bc8a8406252cc1623ca6d9841703e9353cda8b8af81fd2602294aceed5b6b SHA512 e44649bea4f5db3d7bd6f5e69a577e37fdc1f89ed573edb27cdc1eca1796e0cb6da68ee3cc8c4782fcbbc472aee1664dd386494fc9213d7d07d64b23e1fbd949
-DIST qiskit-terra-0.25.0.gh.tar.gz 10378062 BLAKE2B 6c5a30f9e3d8ffb8ac6415b1afbe4965031aae5e9959d9aa6b5a0fe7f269e0d61958161be5c67a22f861a8ba474ba37d197e51ac1b89340725729be0a6906cab SHA512 9c50c71a956d46858dc7e9d3634dc71f71a079c89b2651eb5dd5e921628bd64e73c6779dc70cbac5b6186c7374023ac6b036472213ce447aee6817fd0a433288
-DIST quote-1.0.28.crate 28382 BLAKE2B 9fb16c3bb2a7fec3d8138ffec1f58277061f4a643c9051e1f6525f9e347ed9de41a3797eb3140a6dd828526eb4114c1f7ca562151dc933f338d64b175ed35d9f SHA512 846d718153f78cbae6dc714caa9413a5d5964bcc5e032f5c6c5356c62c33bf22635955ebdff0dede69ba1c9657387e65d61de7c537f6f56f8060721dfa52d735
-DIST quote-1.0.32.crate 28037 BLAKE2B 7b243ac7929f3b2e1d91a51a2dc2b11dd29bc017be9db588c83bd137609e2f991a4f3ff8682c7c11c177153e517c4f818285cce3237f435aa43ad0126c4bab6d SHA512 13cae36920dcbd0ad1978be63f20b35b8424d02b4d9992032fa78c7770d61d1fa7ec1532a48793cab48e703236b7bee7843041253b9e83700903228078b4c025
-DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2
-DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075
-DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79
-DIST rand_distr-0.4.3.crate 58255 BLAKE2B c93a4db62e1c27bde51c77423e15674c4bafd04a63424ee8b8863e4eb27e56f774136949edc8b05ff4189dfab1f0dffc92855706f4a612be897523e7712ee830 SHA512 e5209a78b8ca1af97ac6c6add858ee6d91e67c1edd124bb297f787d37218a5f1afd570252da2eb25738b8d77482df4e93aa1eb3c4a8165f90219410dba495cda
-DIST rand_pcg-0.3.1.crate 11983 BLAKE2B 87c2a9d0f6fd71076280a0f6447ef2a8c9efb81567c530bc45001ed93a254dbf0d007f4d3d22355cb68dea51e82bbd78761bfb9f139a62983dda39f0432306ed SHA512 6386c23c26fb911c3b20718e31b6a2f395e3cb46b59351cbd58bbc0666f1d42c2092638360162079387e0d61f7591d01271cb50212b91db6df78a76bae239dc4
-DIST rawpointer-0.2.1.crate 7490 BLAKE2B ee4542886347f2bfc7cb32cf4f7d025d35c78cb763e6d6acf2a8f85ae8d0261a2a20f86903952bd33b886dcaff789bd30c507b4e5d53c0debd2e6696291a825b SHA512 bff9ba7b69e7754e89ca6d42bd3b7a547f450404de999e35c10e4002fe03ee1f563b9799673c5010aa4c2f80885ca9e45b5560c5093e117be3b75d86affcb62f
-DIST rayon-1.7.0.crate 169488 BLAKE2B 518f0eda1fcbd1b1b230587ea18cab0023a699e796c819bf35a6492b7edb051137446bfbc49aaab0a68aef8280c970ad14301a9f8f7461d537af119a65b33a38 SHA512 d999c811b701d0aa4e547234bdc20a7df56728e142c4aa882bae081b7b057e8c3a72f4a62fb35535e57501e8c2ba7ff072068b59d6b5374e9ca6bb66cc0984d3
-DIST rayon-1.8.0.crate 170172 BLAKE2B e2df52c64435926a13f4f275c4f25a9694316aeb02b73856c600a1a813686ceb20828676d8272393d1aec18eac4f05bfcdc5ef02ff1e19245c547c0313a2a03c SHA512 ab1cef238530d81c255b6631ecfed9cc4f3f8d7cb6a74701d29c1dcb022cc5b859db1d246cf8247d47702fdadcedfe64a6749e24cf6c7258e8c9411af7e4524a
-DIST rayon-cond-0.2.0.crate 9651 BLAKE2B d88c2668bd701414f4ba678a372b91fd63baf8b27668502ee1ffbfb0e38852383b949b98d6943d2e6c3379666ed8dbcc51aead0c5876b0c303e190bcbf8c9eb5 SHA512 3cb038d35ce21c53eb93986f30de8119c613a522e45b6151366e85a58668c540fedb140d218e29e517348617b96b75b765840ee97fac94688b059d0eb927515e
-DIST rayon-core-1.11.0.crate 73118 BLAKE2B 313d65bb6e3a010569b317b32ac91c72e38282f4fcddbcb56ffa97de42d88c0d34f35f76b62e1ad60ee96b596aa681caf2071a8d5dfdca085fb1fbafb07c3ee4 SHA512 00ac782f49d688da90e823980e83b5ccd858f93769e2d801061fdef78728cff37d3a9fa4fd47a5cddb058f28f3289de349f8c8fdd94fa2f8c400d73bc4529800
-DIST rayon-core-1.12.0.crate 70081 BLAKE2B ef1bb1d430776b0ad49aa523cfe83bb0aa3a381b2e571db74cb8de04bbff884b8c269de31d7afbfd609118c445bf079afd2d4920842c8a8b312d329e4675cfc0 SHA512 588fa479c499e1620e25c5818996f0376d3bf526272af6c50a17ca0ccf0f8f67b03a3a665938575a86a8edc1f101a37ab01133b27f904eb5c291bbfc581135b2
-DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
-DIST redox_syscall-0.3.5.crate 23404 BLAKE2B 85aa4299d9816666bf576f523da5cdeae87b3c8fbb2af103e82258d23f73303c068a4b6c3ef4117ad67958cb31e41f836a9f59f2ce1bc52c23605e34399afcf1 SHA512 16f8f4766932bb54e4740cfdb4f0802f76246c0bf88c1d76c69c115949b124b625d8c3b85d8947073c2e9544f425aa16c10f71fabe3c03d29e424c47fe4ccdde
-DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
-DIST rustworkx-core-0.13.0.crate 77256 BLAKE2B a7caed3311268331d12b71e531ab6e57586add9176693a3c574248d62c52bc7e8da5fe768680f02f4dfe1919cc36e65d0965c667046a53b7d466988748a3fb9f SHA512 9be6599f54d554dcd9265efd3a77e9af217e0719a619111a0c77fbfce9e85c14bfeabb3823d7016af33fb9c6102a3aad1e1cf145132b5b2fe904e2eee10064f9
-DIST rustworkx-core-0.13.1.crate 77327 BLAKE2B 16fb6041c226e580d327c11b9aa2a6e57643a2528ec83cb191d340c98c2bb38b920a785b22b773a89e7e3e2efed0b1131f62518f4f5a19eb74bd4ef9752ed2cc SHA512 321acf18a9d2d6ce92ac3c13efb83cf4edfa6df894a226733f21cc462d9b30219e3b71263e71bce44d809b52a4afbc9e23042c65b5fb81c18c878fce5e022233
-DIST rustworkx-core-0.13.2.crate 77333 BLAKE2B f55adb31177f4484b16900a7155710436ad47635c0c260d9babb7e2f52de0dce2ab24a633d8ead832f14fc5fd6a3dd4f50440f975ab4c9aca8770eb4d9744504 SHA512 4eafb29f02e7b60f41c5c574e8a376331fd4d9aeac866ef37c227c6d2b92e6564c1adb0b0fa6dc70151a73329a30b11fd796510a6c13b2a24e9d54347191342c
-DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
-DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
-DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
-DIST smallvec-1.11.1.crate 34831 BLAKE2B bad85ddb1d3a1fcec0cb6aba413f90695e0aa0c16b2b231d6d15095bdd6de1731720ea2b394c3f9a444d6d4763bbf44cff389a01aef3488dc599d2ea63ddbc36 SHA512 d4ed45e8867366072e77f23ebe8b31be96be37e5beed30fc2b5ffea81ab04a2ad2aa34fb4f29724b02a5eb90f8b1d8c40b800ee915453947f90758ce999704b5
-DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
-DIST target-lexicon-0.12.11.crate 24594 BLAKE2B cf06720caecb5b5758f05c6375fa600da9260aac04017458060406a042dc578d51a2c5b6f189345d45dacea42ba01fbe46853d07f70d7b37cba17d87aa101f9a SHA512 f38701a8e9dd17b7db591b1b4c82c3b75d317e003262bb7b09b9cabd3afab5ab79c02a7dd524910b6941ada3a8f1378ea9e199b2b5938f8f01ee75bb0eae8718
-DIST target-lexicon-0.12.7.crate 24402 BLAKE2B 3715b15649566b9f26fe02aad818325a43b54512008e4ea9fcda9ea15a87b8f4baf4ffd7343fc12456c97d8a6b1e121158c4cb61997de0e2d24d1bce93d86850 SHA512 0f3cdbd7515141315934b6ca61c5666f3bf60e259711f68ed3c33468e2bd400cedf824db7158a80fa07e78cc7ac2a0a1eed2df199352176148e9df34b06511a2
-DIST unicode-ident-1.0.11.crate 42067 BLAKE2B 3c7cac3d2bf1cbf1cf04716a482f130123e8e6940f7a90a17bc62fca44ac0069688165538f5329b95a72f735b594cfb85e3250738393ffd1b53cb0cd95077d89 SHA512 9682bbee339fb987c9d0bb6a54406d37b28b5c3587372d406402e4341900fec97e3234cd03b5c98b90b6378fd533dc452cac3de90d3ade19c4b09657e4abf6df
-DIST unicode-ident-1.0.9.crate 41978 BLAKE2B 4e78cefb4e7d7f173f1826a5ab6c8ffde386fea67cf3227bd22e6a6e65d3348dc53c9438e6bde9af06fb5e04b0beac866209d2426e7f04cd10b2435db85df7e3 SHA512 4d8cffe699c6f15ee82ab5f5a73421a6bb8b1a476237aefefa6e932c45c30683a4fb015f138bce99d7cb27a27fb7972909c828e77daef091da84ec162315625a
-DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
-DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
-DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
-DIST windows-sys-0.45.0.crate 2568659 BLAKE2B 6f2d634d121a9bf41e2887e277a73f33aee69b04c7fcfc6ff973d21902787997f1e186f530e9226cddc003ffc3f85a179c069c8a8688de459f617df92d33f94f SHA512 f239346c0141b95aa76e0771e2f4e38b9a592f3cd92c6001de353637cd65cd73b94cbf9917a4eaa9b0c0b2e6e2af920b9cf6b3fccb52770df5160254cffc1c47
-DIST windows-targets-0.42.2.crate 5492 BLAKE2B 42fc4a7d3e287fe2a70637e890304b49737776596f4a94a6d216668247092135e84322bd04caddd19c83b7700b0f27278e600ce8ed326957fabc21bffcae89b0 SHA512 84fbaffcad9a80beca77506aac26d0c5cb75aa0f21a5a70bcd3f6a16e71e8753ae00d3b89da9262c99756624163dcc0d6074fa9f99dfaae0dc098018209025f9
-DIST windows-targets-0.48.2.crate 6902 BLAKE2B 0b8f31d714e473e212949e1d4612ab914ef1e5e0496883e95c1c339d9c23a81a6cd26b30285e50fa1d8f534d8557f1a5e678222fb6c421fa6d9b10965e9cf3e8 SHA512 0cdb8b4937e85e765505964fd9dd7896168f1dc7cf5e0d3dbef8fdca39c7f0e1928063e542eb714cc4d52d674aa117ac49da58774b9ba9ad88240e00f0a615c5
-DIST windows_aarch64_gnullvm-0.42.2.crate 364071 BLAKE2B 97c4e3b2a2dd3f936f9bfcdad23639c9c4c499eed220aec361d26d6013d798efa118e6b298f9cf841ac149d2ae5d58ca653731718450fcf2910bb5f6fa39159f SHA512 75cd7eb1def8ce9d0ff3d7468d2b1cc31cc76c08f981a2460c3d1eb09cff7100d7442863a3591621c1f5f3b3f4badf0b5c95285b6ed583e37283a8403f1095f1
-DIST windows_aarch64_gnullvm-0.48.2.crate 418490 BLAKE2B cba4b824e24de57d628e2158d1440aeda851a1b04bb5c3d8fdcf17b10d0fba71a62c5a39cfda47a97118bda2c1c80d74f1483467854018d4318ee767b846dc40 SHA512 fc5c3d08ea91e831b9a30fe9c9bf94b5b0e7fcad7a70bca4ca18dfac1b2be0fd7418c2cf2e1bfdd5bc58441e3138f39af951a0b3098d8eef9e8d0f77add4127d
-DIST windows_aarch64_msvc-0.42.2.crate 666981 BLAKE2B 9f3cc5592cdede08bcdc1e7c455325279e3b763d96942695e10dccf1dfc37a81c749b69a7d6de883d4c0fa6e8a0d2f578fe2a8d6c42ad8ef6282590bf8fc87b7 SHA512 d2dafa8c94d01c1b65ca1bd631d31f2ef842f1db7accb132ff78c3f8483221b991afd3391563e03dcec42bbc9cbdc0ebdab47b991d25af85b5ba2ac1bbf8db63
-DIST windows_aarch64_msvc-0.48.2.crate 798478 BLAKE2B 1b76087e8ba8f392fca64bc7da6bdb1c1c9229ecc50823eed3736ce8f722538b4877e64fc485740b3debb4baf0061053b5a129685bd0ddbc4555cbf2db5ef2e4 SHA512 6831644f41b86cc6827d6c9827b8787768a5961a723003fe4950bf7b47bef79562095682d688d9a6184d39f305da6477b6666229b9434e9f60093cf79d0925e8
-DIST windows_i686_gnu-0.42.2.crate 736236 BLAKE2B 4ef0496462afc73d9d72af7e5da1e6d3506a92f8172930e88ae64ab97596ffd31c4f97fb969e9b677e30159c27f00a8e756deb006b630fb98ce83f03c8b762e2 SHA512 ad09d650a05cb91cb6b40f59025c023a4c286bc1194586697c506016df2b9b0d5b02606b81687bc634795a0d9a9b8a73e486599328ae09c853e8e5ba662fc59c
-DIST windows_i686_gnu-0.48.2.crate 844890 BLAKE2B aa39109e2ecf796bba3f7e2e72ad27698778e0d05066c0bb05a43f6c579c527a14d1f339cfca1a77d50ad3cbd5b1bcd4e482fab7054e33759cce1e0a0dd53d97 SHA512 196a918a631e56eba0b1775ca4bea4cf95a86251e5211650a0ab9aa87194b2a7aaf10270f1b7d4d204e2dfd27611df4eab7ccc34234adc2298fa808c09c4820e
-DIST windows_i686_msvc-0.42.2.crate 724951 BLAKE2B b084286cd4927efd2889b149abf8a9fe9d3d777130db9e592982660dbf9a96a0f5e723ca121465787aa11877d2d29a5a7d7cf066cdc8fa7e90d7ca7dcb7677f1 SHA512 c1706fc36d4b157c020744a11b3eb5d7dfbf05a0b56775bc717e94b7fd725816b20154fdbcd69ac08dbfb8b8bbfa74fab72d7a9c10399aad6a1cc54cf597e804
-DIST windows_i686_msvc-0.48.2.crate 864299 BLAKE2B 1d2e1932c582015267e416cb5631f204b09aeec312add1b3c2c44c9696d35605fba1ade92d4e8941723107da75556b4a05f0369dc1ac9e6e8e06ddb75d1d780d SHA512 eeb55369bcde8ec90f16632ae352ade618a5a1a828637ef1630a5d6f6c72ea9f984331974e69ad5ecb123326ebe9b0eb9d1e4eccedc25f2174a7ddfb2308f3c0
-DIST windows_x86_64_gnu-0.42.2.crate 699373 BLAKE2B 01c70809d564b16b268656e47295e99c992d8f9839fac8a51338a0e7c3b9cdcd0429c456ca8c1c139a8c687ed7ed6c43a82250889d881aadaa65bd037223e0a6 SHA512 5767af3c86e717f93137a89d442230e6b60a649057edb3ab104b1f82c0bcd64fe089dcdf2f4fd486a799bece1ddb5f0449641536b678211945e749ae24f35c1f
-DIST windows_x86_64_gnu-0.48.2.crate 801615 BLAKE2B 72529734ea7c0019025d6de7a083b3161d39725cce2994e5c16a9c5a0fde7b3a4667cb1a3a32ca86698c03fac5b535c5c2eb1dfc27b8385372731906c1c3eef9 SHA512 80975d01da78b45a44837d302e7110419a112088a8966648b8feba2a8450d753ba5e1daa5795374ddf4f5f9a3367482ed03a83f82221fa9177c47a35f5cbffb7
-DIST windows_x86_64_gnullvm-0.42.2.crate 364068 BLAKE2B 64bc53e98eb3fc649c9b43a6e734de4e65088e41edacabd49f7afcc5dc6e1065c563ecfc682747dda05978dea2dba4f45c16fcc18c3b00684c3d93681e5a7deb SHA512 d39a8bc948110fe612d3f8d6628b3f0d56620df11d8a49e0fabb6c90389ad407582b3af10e4eab46c79b3d11d2e10753d73d9e55963fbeac085f41e9749bdba3
-DIST windows_x86_64_gnullvm-0.48.2.crate 418482 BLAKE2B d51b983aa23ce467001493d909751866c5f6e4f3241f578a79aba56f6700cf210a0328a0b9bafaffbc331cbd1b843704a96610adae18b290f317ca351de684ee SHA512 10dc93b706b5c295e5fe54ad30277699b4491751baec30d9f57618eb083b850cddac4fd871bc4519aef74942127a4bbd637d6abcb16249ff8658dcd2c87dbd5d
-DIST windows_x86_64_msvc-0.42.2.crate 666936 BLAKE2B bc3a456e7f8bc272f8978ec69506ec9d89f97b7582ebbe05d8bd57bdf8156ef62d0d2dc6137a97e81d54059d70db97a24af9a038adff357f5dfd28805d6193b5 SHA512 53a35f438903fceb59e36bd2ac331773fb8e6c8c5a6d984e79021761f91b3b4a23efe49d219667a4d0d23dcdbf906da9c24e74fb1cff93395b5c55ff524e3788
-DIST windows_x86_64_msvc-0.48.2.crate 798416 BLAKE2B 2e9b22359a1c61b8cf9b071cde74ca3382a82b7deffd96749a2353e9ea458b688772876149b54995ecef16df1890529412d78727966febd39afe69a9cd380011 SHA512 423de12304534f8cb54952d51e82abb6438c5c8e8d2e12d9573ef2209ed3be9976d825c1329bba9dd438d155c12688a23f33f48045f19891cea5ffc17545b722
diff --git a/dev-python/qiskit-terra/metadata.xml b/dev-python/qiskit-terra/metadata.xml
deleted file mode 100644
index 424533a2d207..000000000000
--- a/dev-python/qiskit-terra/metadata.xml
+++ /dev/null
@@ -1,28 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!-- comaintainers-welcomed -->
- <maintainer type="person" proxied="yes">
- <email>gaboroszkar@protonmail.com</email>
- <name>Gábor Oszkár Dénes</name>
- </maintainer>
- <maintainer type="project">
- <email>sci@gentoo.org</email>
- <name>Gentoo Science Project</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <longdescription>
- Qiskit is an open-source framework for working with noisy quantum computers at the level of pulses, circuits, and algorithms.
- Qiskit is made up of elements that work together to enable quantum computing. This element is Terra and is the foundation on which the rest of Qiskit is built.
- </longdescription>
- <use>
- <flag name="visualization">Enable visualization modules</flag>
- </use>
- <upstream>
- <remote-id type="github">Qiskit/qiskit</remote-id>
- <remote-id type="pypi">qiskit-terra</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/qiskit-terra/qiskit-terra-0.25.0.ebuild b/dev-python/qiskit-terra/qiskit-terra-0.25.0.ebuild
deleted file mode 100644
index f9eebda50c76..000000000000
--- a/dev-python/qiskit-terra/qiskit-terra-0.25.0.ebuild
+++ /dev/null
@@ -1,181 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-CRATES="
- ahash@0.7.6
- ahash@0.8.3
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- crossbeam-channel@0.5.8
- crossbeam-deque@0.8.3
- crossbeam-epoch@0.9.14
- crossbeam-utils@0.8.15
- either@1.8.1
- fixedbitset@0.4.2
- getrandom@0.2.9
- hashbrown@0.12.3
- hermit-abi@0.2.6
- indexmap@1.9.3
- indoc@1.0.9
- itertools@0.10.5
- libc@0.2.144
- libm@0.2.7
- lock_api@0.4.9
- matrixmultiply@0.3.7
- memoffset@0.8.0
- memoffset@0.9.0
- ndarray@0.15.6
- num-bigint@0.4.3
- num-complex@0.4.3
- num-integer@0.1.45
- num-traits@0.2.15
- num_cpus@1.15.0
- numpy@0.19.0
- once_cell@1.17.2
- parking_lot@0.12.1
- parking_lot_core@0.9.7
- petgraph@0.6.3
- ppv-lite86@0.2.17
- priority-queue@1.3.1
- proc-macro2@1.0.59
- pyo3-build-config@0.19.1
- pyo3-ffi@0.19.1
- pyo3-macros-backend@0.19.1
- pyo3-macros@0.19.1
- pyo3@0.19.1
- quote@1.0.28
- rand@0.8.5
- rand_chacha@0.3.1
- rand_core@0.6.4
- rand_distr@0.4.3
- rand_pcg@0.3.1
- rawpointer@0.2.1
- rayon-cond@0.2.0
- rayon-core@1.11.0
- rayon@1.7.0
- redox_syscall@0.2.16
- rustc-hash@1.1.0
- rustworkx-core@0.13.0
- scopeguard@1.1.0
- smallvec@1.10.0
- syn@1.0.109
- target-lexicon@0.12.7
- unicode-ident@1.0.9
- unindent@0.1.11
- version_check@0.9.4
- wasi@0.11.0+wasi-snapshot-preview1
- windows-sys@0.45.0
- windows-targets@0.42.2
- windows_aarch64_gnullvm@0.42.2
- windows_aarch64_msvc@0.42.2
- windows_i686_gnu@0.42.2
- windows_i686_msvc@0.42.2
- windows_x86_64_gnu@0.42.2
- windows_x86_64_gnullvm@0.42.2
- windows_x86_64_msvc@0.42.2
-"
-
-inherit cargo distutils-r1 multiprocessing optfeature
-
-DESCRIPTION="Terra is the foundation on which Qiskit is built"
-HOMEPAGE="
- https://github.com/Qiskit/qiskit-terra/
- https://pypi.org/project/qiskit-terra/
-"
-SRC_URI="
- https://github.com/Qiskit/qiskit-terra/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="Apache-2.0"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT
- Unicode-DFS-2016
- || ( LGPL-3 MPL-2.0 )
-"
-SLOT="0"
-IUSE="+visualization"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/rustworkx-0.13.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
- >=dev-python/ply-3.10[${PYTHON_USEDEP}]
- >=dev-python/psutil-5[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.5[${PYTHON_USEDEP}]
- >=dev-python/sympy-1.3[${PYTHON_USEDEP}]
- >=dev-python/dill-0.3[${PYTHON_USEDEP}]
- >=dev-python/python-constraint-1.4[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}]
- <dev-python/symengine-0.10[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.10)
- visualization? (
- >=dev-python/matplotlib-3.3[${PYTHON_USEDEP}]
- >=dev-python/ipywidgets-7.3.0[${PYTHON_USEDEP}]
- dev-python/pydot[${PYTHON_USEDEP}]
- >=dev-python/pillow-4.2.1[${PYTHON_USEDEP}]
- >=dev-python/pylatexenc-1.4[${PYTHON_USEDEP}]
- >=dev-python/seaborn-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.4[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- >=dev-python/cython-0.27.1[${PYTHON_USEDEP}]
- test? (
- app-text/poppler[png]
- >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-4.24.3[${PYTHON_USEDEP}]
- >=dev-python/networkx-2.2[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/qiskit-aer[${PYTHON_USEDEP}]
- >=sci-libs/scikit-learn-0.20.0[${PYTHON_USEDEP}]
- )
-"
-
-# Files built without CFLAGS/LDFLAGS, acceptable for rust
-QA_FLAGS_IGNORED="
- usr/lib.*/py.*/site-packages/qiskit/_accelerate.*.so
- usr/lib.*/py.*/site-packages/qiskit/_qasm2.*.so
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- test/python/circuit/test_equivalence.py::TestEquivalenceLibraryVisualization::test_equivalence_draw
- test/python/primitives/test_backend_estimator.py::TestBackendEstimator::test_bound_pass_manager
- test/python/primitives/test_backend_sampler.py::TestBackendSampler::test_bound_pass_manager
- test/python/pulse/test_block.py::TestBlockOperation::test_execute_block
- test/python/transpiler/test_unitary_synthesis_plugin.py::TestUnitarySynthesisPlugin
- test/python/visualization/test_dag_drawer.py::TestDagDrawer::test_dag_drawer_no_register
- )
-
- local EPYTEST_IGNORE=(
- # Breaks xdist
- test/python/qasm2/test_parse_errors.py
- )
-
- rm -rf qiskit || die
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # Run the Python test suite rather than everything under test/ which
- # includes the 'randomized' suite. Upstream run that in a separate CI job.
- # Note: use -p timeout --timeout 500 if debugging hanging tests.
- epytest -p xdist -n "$(makeopts_jobs)" --dist=worksteal test/python
-}
-
-pkg_postinst() {
- optfeature "qiskit.circuit.classicalfunction support" dev-python/tweedledum
-}
diff --git a/dev-python/qiskit-terra/qiskit-terra-0.25.1-r1.ebuild b/dev-python/qiskit-terra/qiskit-terra-0.25.1-r1.ebuild
deleted file mode 100644
index e6bed22000a8..000000000000
--- a/dev-python/qiskit-terra/qiskit-terra-0.25.1-r1.ebuild
+++ /dev/null
@@ -1,188 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-CRATES="
- ahash@0.7.6
- ahash@0.8.3
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- crossbeam-channel@0.5.8
- crossbeam-deque@0.8.3
- crossbeam-epoch@0.9.14
- crossbeam-utils@0.8.15
- either@1.8.1
- fixedbitset@0.4.2
- getrandom@0.2.9
- hashbrown@0.12.3
- hermit-abi@0.2.6
- indexmap@1.9.3
- indoc@1.0.9
- itertools@0.10.5
- libc@0.2.144
- libm@0.2.7
- lock_api@0.4.9
- matrixmultiply@0.3.7
- memoffset@0.8.0
- memoffset@0.9.0
- ndarray@0.15.6
- num-bigint@0.4.3
- num-complex@0.4.3
- num-integer@0.1.45
- num-traits@0.2.15
- num_cpus@1.15.0
- numpy@0.19.0
- once_cell@1.17.2
- parking_lot@0.12.1
- parking_lot_core@0.9.7
- petgraph@0.6.3
- ppv-lite86@0.2.17
- priority-queue@1.3.1
- proc-macro2@1.0.59
- pyo3-build-config@0.19.2
- pyo3-ffi@0.19.2
- pyo3-macros-backend@0.19.2
- pyo3-macros@0.19.2
- pyo3@0.19.2
- quote@1.0.28
- rand@0.8.5
- rand_chacha@0.3.1
- rand_core@0.6.4
- rand_distr@0.4.3
- rand_pcg@0.3.1
- rawpointer@0.2.1
- rayon-cond@0.2.0
- rayon-core@1.11.0
- rayon@1.7.0
- redox_syscall@0.2.16
- rustc-hash@1.1.0
- rustworkx-core@0.13.1
- scopeguard@1.1.0
- smallvec@1.10.0
- syn@1.0.109
- target-lexicon@0.12.7
- unicode-ident@1.0.9
- unindent@0.1.11
- version_check@0.9.4
- wasi@0.11.0+wasi-snapshot-preview1
- windows-sys@0.45.0
- windows-targets@0.42.2
- windows_aarch64_gnullvm@0.42.2
- windows_aarch64_msvc@0.42.2
- windows_i686_gnu@0.42.2
- windows_i686_msvc@0.42.2
- windows_x86_64_gnu@0.42.2
- windows_x86_64_gnullvm@0.42.2
- windows_x86_64_msvc@0.42.2
-"
-
-inherit cargo distutils-r1 multiprocessing optfeature
-
-MY_P=qiskit-${PV}
-DESCRIPTION="Terra is the foundation on which Qiskit is built"
-HOMEPAGE="
- https://github.com/Qiskit/qiskit/
- https://pypi.org/project/qiskit-terra/
-"
-SRC_URI="
- https://github.com/Qiskit/qiskit/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
- ${CARGO_CRATE_URIS}
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT
- Unicode-DFS-2016
- || ( LGPL-3 MPL-2.0 )
-"
-SLOT="0"
-IUSE="+visualization"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/rustworkx-0.13.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
- >=dev-python/ply-3.10[${PYTHON_USEDEP}]
- >=dev-python/psutil-5[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.5[${PYTHON_USEDEP}]
- >=dev-python/sympy-1.3[${PYTHON_USEDEP}]
- >=dev-python/dill-0.3[${PYTHON_USEDEP}]
- >=dev-python/python-constraint-1.4[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}]
- <dev-python/symengine-0.10[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.10)
- visualization? (
- >=dev-python/matplotlib-3.3[${PYTHON_USEDEP}]
- >=dev-python/ipywidgets-7.3.0[${PYTHON_USEDEP}]
- dev-python/pydot[${PYTHON_USEDEP}]
- >=dev-python/pillow-4.2.1[${PYTHON_USEDEP}]
- >=dev-python/pylatexenc-1.4[${PYTHON_USEDEP}]
- >=dev-python/seaborn-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.4[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- >=dev-python/cython-0.27.1[${PYTHON_USEDEP}]
- test? (
- app-text/poppler[png]
- >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-4.24.3[${PYTHON_USEDEP}]
- >=dev-python/networkx-2.2[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/qiskit-aer[${PYTHON_USEDEP}]
- >=sci-libs/scikit-learn-0.20.0[${PYTHON_USEDEP}]
- )
-"
-
-# Files built without CFLAGS/LDFLAGS, acceptable for rust
-QA_FLAGS_IGNORED="
- usr/lib.*/py.*/site-packages/qiskit/_accelerate.*.so
- usr/lib.*/py.*/site-packages/qiskit/_qasm2.*.so
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # strip forcing -Werror from tests that also leaks to other packages
- sed -i -e '/filterwarnings.*error/d' qiskit/test/base.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- test/python/circuit/test_equivalence.py::TestEquivalenceLibraryVisualization::test_equivalence_draw
- test/python/primitives/test_backend_estimator.py::TestBackendEstimator::test_bound_pass_manager
- test/python/primitives/test_backend_sampler.py::TestBackendSampler::test_bound_pass_manager
- test/python/transpiler/test_unitary_synthesis_plugin.py::TestUnitarySynthesisPlugin
- test/python/visualization/test_dag_drawer.py::TestDagDrawer::test_dag_drawer_no_register
- )
-
- local EPYTEST_IGNORE=(
- # Breaks xdist
- test/python/qasm2/test_parse_errors.py
- )
-
- rm -rf qiskit || die
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # Run the Python test suite rather than everything under test/ which
- # includes the 'randomized' suite. Upstream run that in a separate CI job.
- # Note: use -p timeout --timeout 500 if debugging hanging tests.
- epytest -p xdist -n "$(makeopts_jobs)" --dist=worksteal test/python
-}
-
-pkg_postinst() {
- optfeature "qiskit.circuit.classicalfunction support" dev-python/tweedledum
-}
diff --git a/dev-python/qiskit-terra/qiskit-terra-0.25.2.ebuild b/dev-python/qiskit-terra/qiskit-terra-0.25.2.ebuild
deleted file mode 100644
index e6bed22000a8..000000000000
--- a/dev-python/qiskit-terra/qiskit-terra-0.25.2.ebuild
+++ /dev/null
@@ -1,188 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-CRATES="
- ahash@0.7.6
- ahash@0.8.3
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- crossbeam-channel@0.5.8
- crossbeam-deque@0.8.3
- crossbeam-epoch@0.9.14
- crossbeam-utils@0.8.15
- either@1.8.1
- fixedbitset@0.4.2
- getrandom@0.2.9
- hashbrown@0.12.3
- hermit-abi@0.2.6
- indexmap@1.9.3
- indoc@1.0.9
- itertools@0.10.5
- libc@0.2.144
- libm@0.2.7
- lock_api@0.4.9
- matrixmultiply@0.3.7
- memoffset@0.8.0
- memoffset@0.9.0
- ndarray@0.15.6
- num-bigint@0.4.3
- num-complex@0.4.3
- num-integer@0.1.45
- num-traits@0.2.15
- num_cpus@1.15.0
- numpy@0.19.0
- once_cell@1.17.2
- parking_lot@0.12.1
- parking_lot_core@0.9.7
- petgraph@0.6.3
- ppv-lite86@0.2.17
- priority-queue@1.3.1
- proc-macro2@1.0.59
- pyo3-build-config@0.19.2
- pyo3-ffi@0.19.2
- pyo3-macros-backend@0.19.2
- pyo3-macros@0.19.2
- pyo3@0.19.2
- quote@1.0.28
- rand@0.8.5
- rand_chacha@0.3.1
- rand_core@0.6.4
- rand_distr@0.4.3
- rand_pcg@0.3.1
- rawpointer@0.2.1
- rayon-cond@0.2.0
- rayon-core@1.11.0
- rayon@1.7.0
- redox_syscall@0.2.16
- rustc-hash@1.1.0
- rustworkx-core@0.13.1
- scopeguard@1.1.0
- smallvec@1.10.0
- syn@1.0.109
- target-lexicon@0.12.7
- unicode-ident@1.0.9
- unindent@0.1.11
- version_check@0.9.4
- wasi@0.11.0+wasi-snapshot-preview1
- windows-sys@0.45.0
- windows-targets@0.42.2
- windows_aarch64_gnullvm@0.42.2
- windows_aarch64_msvc@0.42.2
- windows_i686_gnu@0.42.2
- windows_i686_msvc@0.42.2
- windows_x86_64_gnu@0.42.2
- windows_x86_64_gnullvm@0.42.2
- windows_x86_64_msvc@0.42.2
-"
-
-inherit cargo distutils-r1 multiprocessing optfeature
-
-MY_P=qiskit-${PV}
-DESCRIPTION="Terra is the foundation on which Qiskit is built"
-HOMEPAGE="
- https://github.com/Qiskit/qiskit/
- https://pypi.org/project/qiskit-terra/
-"
-SRC_URI="
- https://github.com/Qiskit/qiskit/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
- ${CARGO_CRATE_URIS}
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT
- Unicode-DFS-2016
- || ( LGPL-3 MPL-2.0 )
-"
-SLOT="0"
-IUSE="+visualization"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/rustworkx-0.13.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
- >=dev-python/ply-3.10[${PYTHON_USEDEP}]
- >=dev-python/psutil-5[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.5[${PYTHON_USEDEP}]
- >=dev-python/sympy-1.3[${PYTHON_USEDEP}]
- >=dev-python/dill-0.3[${PYTHON_USEDEP}]
- >=dev-python/python-constraint-1.4[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}]
- <dev-python/symengine-0.10[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.10)
- visualization? (
- >=dev-python/matplotlib-3.3[${PYTHON_USEDEP}]
- >=dev-python/ipywidgets-7.3.0[${PYTHON_USEDEP}]
- dev-python/pydot[${PYTHON_USEDEP}]
- >=dev-python/pillow-4.2.1[${PYTHON_USEDEP}]
- >=dev-python/pylatexenc-1.4[${PYTHON_USEDEP}]
- >=dev-python/seaborn-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.4[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- >=dev-python/cython-0.27.1[${PYTHON_USEDEP}]
- test? (
- app-text/poppler[png]
- >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-4.24.3[${PYTHON_USEDEP}]
- >=dev-python/networkx-2.2[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/qiskit-aer[${PYTHON_USEDEP}]
- >=sci-libs/scikit-learn-0.20.0[${PYTHON_USEDEP}]
- )
-"
-
-# Files built without CFLAGS/LDFLAGS, acceptable for rust
-QA_FLAGS_IGNORED="
- usr/lib.*/py.*/site-packages/qiskit/_accelerate.*.so
- usr/lib.*/py.*/site-packages/qiskit/_qasm2.*.so
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # strip forcing -Werror from tests that also leaks to other packages
- sed -i -e '/filterwarnings.*error/d' qiskit/test/base.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- test/python/circuit/test_equivalence.py::TestEquivalenceLibraryVisualization::test_equivalence_draw
- test/python/primitives/test_backend_estimator.py::TestBackendEstimator::test_bound_pass_manager
- test/python/primitives/test_backend_sampler.py::TestBackendSampler::test_bound_pass_manager
- test/python/transpiler/test_unitary_synthesis_plugin.py::TestUnitarySynthesisPlugin
- test/python/visualization/test_dag_drawer.py::TestDagDrawer::test_dag_drawer_no_register
- )
-
- local EPYTEST_IGNORE=(
- # Breaks xdist
- test/python/qasm2/test_parse_errors.py
- )
-
- rm -rf qiskit || die
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # Run the Python test suite rather than everything under test/ which
- # includes the 'randomized' suite. Upstream run that in a separate CI job.
- # Note: use -p timeout --timeout 500 if debugging hanging tests.
- epytest -p xdist -n "$(makeopts_jobs)" --dist=worksteal test/python
-}
-
-pkg_postinst() {
- optfeature "qiskit.circuit.classicalfunction support" dev-python/tweedledum
-}
diff --git a/dev-python/qiskit-terra/qiskit-terra-0.25.3.ebuild b/dev-python/qiskit-terra/qiskit-terra-0.25.3.ebuild
deleted file mode 100644
index 09d0bbef5045..000000000000
--- a/dev-python/qiskit-terra/qiskit-terra-0.25.3.ebuild
+++ /dev/null
@@ -1,188 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-CRATES="
- ahash@0.7.6
- ahash@0.8.3
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- crossbeam-channel@0.5.8
- crossbeam-deque@0.8.3
- crossbeam-epoch@0.9.14
- crossbeam-utils@0.8.15
- either@1.8.1
- fixedbitset@0.4.2
- getrandom@0.2.9
- hashbrown@0.12.3
- hermit-abi@0.2.6
- indexmap@1.9.3
- indoc@1.0.9
- itertools@0.10.5
- libc@0.2.144
- libm@0.2.7
- lock_api@0.4.9
- matrixmultiply@0.3.7
- memoffset@0.8.0
- memoffset@0.9.0
- ndarray@0.15.6
- num-bigint@0.4.3
- num-complex@0.4.3
- num-integer@0.1.45
- num-traits@0.2.15
- num_cpus@1.15.0
- numpy@0.19.0
- once_cell@1.17.2
- parking_lot@0.12.1
- parking_lot_core@0.9.7
- petgraph@0.6.3
- ppv-lite86@0.2.17
- priority-queue@1.3.1
- proc-macro2@1.0.59
- pyo3-build-config@0.19.2
- pyo3-ffi@0.19.2
- pyo3-macros-backend@0.19.2
- pyo3-macros@0.19.2
- pyo3@0.19.2
- quote@1.0.28
- rand@0.8.5
- rand_chacha@0.3.1
- rand_core@0.6.4
- rand_distr@0.4.3
- rand_pcg@0.3.1
- rawpointer@0.2.1
- rayon-cond@0.2.0
- rayon-core@1.11.0
- rayon@1.7.0
- redox_syscall@0.2.16
- rustc-hash@1.1.0
- rustworkx-core@0.13.1
- scopeguard@1.1.0
- smallvec@1.10.0
- syn@1.0.109
- target-lexicon@0.12.7
- unicode-ident@1.0.9
- unindent@0.1.11
- version_check@0.9.4
- wasi@0.11.0+wasi-snapshot-preview1
- windows-sys@0.45.0
- windows-targets@0.42.2
- windows_aarch64_gnullvm@0.42.2
- windows_aarch64_msvc@0.42.2
- windows_i686_gnu@0.42.2
- windows_i686_msvc@0.42.2
- windows_x86_64_gnu@0.42.2
- windows_x86_64_gnullvm@0.42.2
- windows_x86_64_msvc@0.42.2
-"
-
-inherit cargo distutils-r1 multiprocessing optfeature
-
-MY_P=qiskit-${PV}
-DESCRIPTION="Terra is the foundation on which Qiskit is built"
-HOMEPAGE="
- https://github.com/Qiskit/qiskit/
- https://pypi.org/project/qiskit-terra/
-"
-SRC_URI="
- https://github.com/Qiskit/qiskit/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
- ${CARGO_CRATE_URIS}
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT
- Unicode-DFS-2016
- || ( LGPL-3 MPL-2.0 )
-"
-SLOT="0"
-IUSE="+visualization"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/rustworkx-0.13.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
- >=dev-python/ply-3.10[${PYTHON_USEDEP}]
- >=dev-python/psutil-5[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.5[${PYTHON_USEDEP}]
- >=dev-python/sympy-1.3[${PYTHON_USEDEP}]
- >=dev-python/dill-0.3[${PYTHON_USEDEP}]
- >=dev-python/python-constraint-1.4[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}]
- <dev-python/symengine-0.10[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.10)
- visualization? (
- >=dev-python/matplotlib-3.3[${PYTHON_USEDEP}]
- >=dev-python/ipywidgets-7.3.0[${PYTHON_USEDEP}]
- dev-python/pydot[${PYTHON_USEDEP}]
- >=dev-python/pillow-4.2.1[${PYTHON_USEDEP}]
- >=dev-python/pylatexenc-1.4[${PYTHON_USEDEP}]
- >=dev-python/seaborn-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.4[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- >=dev-python/cython-0.27.1[${PYTHON_USEDEP}]
- test? (
- app-text/poppler[png]
- >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-4.24.3[${PYTHON_USEDEP}]
- >=dev-python/networkx-2.2[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- <dev-python/qiskit-aer-0.13[${PYTHON_USEDEP}]
- >=sci-libs/scikit-learn-0.20.0[${PYTHON_USEDEP}]
- )
-"
-
-# Files built without CFLAGS/LDFLAGS, acceptable for rust
-QA_FLAGS_IGNORED="
- usr/lib.*/py.*/site-packages/qiskit/_accelerate.*.so
- usr/lib.*/py.*/site-packages/qiskit/_qasm2.*.so
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # strip forcing -Werror from tests that also leaks to other packages
- sed -i -e '/filterwarnings.*error/d' qiskit/test/base.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- test/python/circuit/test_equivalence.py::TestEquivalenceLibraryVisualization::test_equivalence_draw
- test/python/primitives/test_backend_estimator.py::TestBackendEstimator::test_bound_pass_manager
- test/python/primitives/test_backend_sampler.py::TestBackendSampler::test_bound_pass_manager
- test/python/transpiler/test_unitary_synthesis_plugin.py::TestUnitarySynthesisPlugin
- test/python/visualization/test_dag_drawer.py::TestDagDrawer::test_dag_drawer_no_register
- )
-
- local EPYTEST_IGNORE=(
- # Breaks xdist
- test/python/qasm2/test_parse_errors.py
- )
-
- rm -rf qiskit || die
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # Run the Python test suite rather than everything under test/ which
- # includes the 'randomized' suite. Upstream run that in a separate CI job.
- # Note: use -p timeout --timeout 500 if debugging hanging tests.
- epytest -p xdist -n "$(makeopts_jobs)" --dist=worksteal test/python
-}
-
-pkg_postinst() {
- optfeature "qiskit.circuit.classicalfunction support" dev-python/tweedledum
-}
diff --git a/dev-python/qiskit-terra/qiskit-terra-0.45.0.ebuild b/dev-python/qiskit-terra/qiskit-terra-0.45.0.ebuild
deleted file mode 100644
index 0a5f543bac62..000000000000
--- a/dev-python/qiskit-terra/qiskit-terra-0.45.0.ebuild
+++ /dev/null
@@ -1,187 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-CRATES="
- ahash@0.8.3
- allocator-api2@0.2.16
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- crossbeam-deque@0.8.3
- crossbeam-epoch@0.9.15
- crossbeam-utils@0.8.16
- either@1.9.0
- equivalent@1.0.1
- fixedbitset@0.4.2
- getrandom@0.2.10
- hashbrown@0.12.3
- hashbrown@0.14.0
- indexmap@1.9.3
- indexmap@2.0.1
- indoc@1.0.9
- itertools@0.10.5
- libc@0.2.147
- libm@0.2.7
- lock_api@0.4.10
- matrixmultiply@0.3.7
- memoffset@0.9.0
- ndarray@0.15.6
- num-bigint@0.4.4
- num-complex@0.4.4
- num-integer@0.1.45
- num-traits@0.2.16
- numpy@0.19.0
- once_cell@1.18.0
- parking_lot@0.12.1
- parking_lot_core@0.9.8
- petgraph@0.6.3
- ppv-lite86@0.2.17
- priority-queue@1.3.2
- proc-macro2@1.0.66
- pyo3-build-config@0.19.2
- pyo3-ffi@0.19.2
- pyo3-macros-backend@0.19.2
- pyo3-macros@0.19.2
- pyo3@0.19.2
- quote@1.0.32
- rand@0.8.5
- rand_chacha@0.3.1
- rand_core@0.6.4
- rand_distr@0.4.3
- rand_pcg@0.3.1
- rawpointer@0.2.1
- rayon-cond@0.2.0
- rayon-core@1.12.0
- rayon@1.8.0
- redox_syscall@0.3.5
- rustc-hash@1.1.0
- rustworkx-core@0.13.2
- scopeguard@1.2.0
- smallvec@1.11.1
- syn@1.0.109
- target-lexicon@0.12.11
- unicode-ident@1.0.11
- unindent@0.1.11
- version_check@0.9.4
- wasi@0.11.0+wasi-snapshot-preview1
- windows-targets@0.48.2
- windows_aarch64_gnullvm@0.48.2
- windows_aarch64_msvc@0.48.2
- windows_i686_gnu@0.48.2
- windows_i686_msvc@0.48.2
- windows_x86_64_gnu@0.48.2
- windows_x86_64_gnullvm@0.48.2
- windows_x86_64_msvc@0.48.2
-"
-
-inherit cargo distutils-r1 multiprocessing optfeature
-
-MY_P=qiskit-${PV}
-DESCRIPTION="Terra is the foundation on which Qiskit is built"
-HOMEPAGE="
- https://github.com/Qiskit/qiskit/
- https://pypi.org/project/qiskit-terra/
-"
-SRC_URI="
- https://github.com/Qiskit/qiskit/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
- ${CARGO_CRATE_URIS}
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT
- Unicode-DFS-2016
- || ( LGPL-3 MPL-2.0 )
-"
-SLOT="0"
-IUSE="+visualization"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/rustworkx-0.13.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
- >=dev-python/ply-3.10[${PYTHON_USEDEP}]
- >=dev-python/psutil-5[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.5[${PYTHON_USEDEP}]
- >=dev-python/sympy-1.3[${PYTHON_USEDEP}]
- >=dev-python/dill-0.3[${PYTHON_USEDEP}]
- >=dev-python/python-constraint-1.4[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}]
- <dev-python/symengine-0.10[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.10)
- visualization? (
- >=dev-python/matplotlib-3.3[${PYTHON_USEDEP}]
- >=dev-python/ipywidgets-7.3.0[${PYTHON_USEDEP}]
- dev-python/pydot[${PYTHON_USEDEP}]
- >=dev-python/pillow-4.2.1[${PYTHON_USEDEP}]
- >=dev-python/pylatexenc-1.4[${PYTHON_USEDEP}]
- >=dev-python/seaborn-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.4[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- >=dev-python/cython-0.27.1[${PYTHON_USEDEP}]
- test? (
- app-text/poppler[png]
- >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-4.24.3[${PYTHON_USEDEP}]
- >=dev-python/networkx-2.2[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- <dev-python/qiskit-aer-0.13[${PYTHON_USEDEP}]
- >=sci-libs/scikit-learn-0.20.0[${PYTHON_USEDEP}]
- )
-"
-
-# Files built without CFLAGS/LDFLAGS, acceptable for rust
-QA_FLAGS_IGNORED="
- usr/lib.*/py.*/site-packages/qiskit/_accelerate.*.so
- usr/lib.*/py.*/site-packages/qiskit/_qasm2.*.so
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # strip forcing -Werror from tests that also leaks to other packages
- sed -i -e '/filterwarnings.*error/d' qiskit/test/base.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- test/python/circuit/test_equivalence.py::TestEquivalenceLibraryVisualization::test_equivalence_draw
- test/python/primitives/test_backend_estimator.py::TestBackendEstimator::test_bound_pass_manager
- test/python/primitives/test_backend_sampler.py::TestBackendSampler::test_bound_pass_manager
- test/python/transpiler/aqc/test_aqc.py::TestAqc::test_aqc_deprecation
- test/python/transpiler/test_unitary_synthesis_plugin.py::TestUnitarySynthesisPlugin
- test/python/visualization/test_dag_drawer.py::TestDagDrawer::test_dag_drawer_no_register
- )
-
- local EPYTEST_IGNORE=(
- # Breaks xdist
- test/python/qasm2/test_parse_errors.py
- )
-
- rm -rf qiskit || die
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # Run the Python test suite rather than everything under test/ which
- # includes the 'randomized' suite. Upstream run that in a separate CI job.
- # Note: use -p timeout --timeout 500 if debugging hanging tests.
- epytest -p xdist -n "$(makeopts_jobs)" --dist=worksteal test/python
-}
-
-pkg_postinst() {
- optfeature "qiskit.circuit.classicalfunction support" dev-python/tweedledum
-}
diff --git a/dev-python/qiskit-terra/qiskit-terra-0.45.1.ebuild b/dev-python/qiskit-terra/qiskit-terra-0.45.1.ebuild
deleted file mode 100644
index 82bd1bf1d0b6..000000000000
--- a/dev-python/qiskit-terra/qiskit-terra-0.45.1.ebuild
+++ /dev/null
@@ -1,187 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-CRATES="
- ahash@0.8.3
- allocator-api2@0.2.16
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- crossbeam-deque@0.8.3
- crossbeam-epoch@0.9.15
- crossbeam-utils@0.8.16
- either@1.9.0
- equivalent@1.0.1
- fixedbitset@0.4.2
- getrandom@0.2.10
- hashbrown@0.12.3
- hashbrown@0.14.0
- indexmap@1.9.3
- indexmap@2.0.1
- indoc@1.0.9
- itertools@0.10.5
- libc@0.2.147
- libm@0.2.7
- lock_api@0.4.10
- matrixmultiply@0.3.7
- memoffset@0.9.0
- ndarray@0.15.6
- num-bigint@0.4.4
- num-complex@0.4.4
- num-integer@0.1.45
- num-traits@0.2.16
- numpy@0.19.0
- once_cell@1.18.0
- parking_lot@0.12.1
- parking_lot_core@0.9.8
- petgraph@0.6.3
- ppv-lite86@0.2.17
- priority-queue@1.3.2
- proc-macro2@1.0.66
- pyo3-build-config@0.19.2
- pyo3-ffi@0.19.2
- pyo3-macros-backend@0.19.2
- pyo3-macros@0.19.2
- pyo3@0.19.2
- quote@1.0.32
- rand@0.8.5
- rand_chacha@0.3.1
- rand_core@0.6.4
- rand_distr@0.4.3
- rand_pcg@0.3.1
- rawpointer@0.2.1
- rayon-cond@0.2.0
- rayon-core@1.12.0
- rayon@1.8.0
- redox_syscall@0.3.5
- rustc-hash@1.1.0
- rustworkx-core@0.13.2
- scopeguard@1.2.0
- smallvec@1.11.1
- syn@1.0.109
- target-lexicon@0.12.11
- unicode-ident@1.0.11
- unindent@0.1.11
- version_check@0.9.4
- wasi@0.11.0+wasi-snapshot-preview1
- windows-targets@0.48.2
- windows_aarch64_gnullvm@0.48.2
- windows_aarch64_msvc@0.48.2
- windows_i686_gnu@0.48.2
- windows_i686_msvc@0.48.2
- windows_x86_64_gnu@0.48.2
- windows_x86_64_gnullvm@0.48.2
- windows_x86_64_msvc@0.48.2
-"
-
-inherit cargo distutils-r1 multiprocessing optfeature
-
-MY_P=qiskit-${PV}
-DESCRIPTION="Terra is the foundation on which Qiskit is built"
-HOMEPAGE="
- https://github.com/Qiskit/qiskit/
- https://pypi.org/project/qiskit-terra/
-"
-SRC_URI="
- https://github.com/Qiskit/qiskit/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
- ${CARGO_CRATE_URIS}
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="Apache-2.0"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT
- Unicode-DFS-2016
- || ( LGPL-3 MPL-2.0 )
-"
-SLOT="0"
-IUSE="+visualization"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/rustworkx-0.13.0[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
- >=dev-python/ply-3.10[${PYTHON_USEDEP}]
- >=dev-python/psutil-5[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.5[${PYTHON_USEDEP}]
- >=dev-python/sympy-1.3[${PYTHON_USEDEP}]
- >=dev-python/dill-0.3[${PYTHON_USEDEP}]
- >=dev-python/python-constraint-1.4[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/symengine-0.11.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/typing-extensions[${PYTHON_USEDEP}]
- ' 3.10)
- visualization? (
- >=dev-python/matplotlib-3.3[${PYTHON_USEDEP}]
- >=dev-python/ipywidgets-7.3.0[${PYTHON_USEDEP}]
- dev-python/pydot[${PYTHON_USEDEP}]
- >=dev-python/pillow-4.2.1[${PYTHON_USEDEP}]
- >=dev-python/pylatexenc-1.4[${PYTHON_USEDEP}]
- >=dev-python/seaborn-0.9.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.4[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- >=dev-python/cython-0.27.1[${PYTHON_USEDEP}]
- test? (
- app-text/poppler[png]
- >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-4.24.3[${PYTHON_USEDEP}]
- >=dev-python/networkx-2.2[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- <dev-python/qiskit-aer-0.13[${PYTHON_USEDEP}]
- >=sci-libs/scikit-learn-0.20.0[${PYTHON_USEDEP}]
- )
-"
-
-# Files built without CFLAGS/LDFLAGS, acceptable for rust
-QA_FLAGS_IGNORED="
- usr/lib.*/py.*/site-packages/qiskit/_accelerate.*.so
- usr/lib.*/py.*/site-packages/qiskit/_qasm2.*.so
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # strip forcing -Werror from tests that also leaks to other packages
- sed -i -e '/filterwarnings.*error/d' qiskit/test/base.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- test/python/circuit/test_equivalence.py::TestEquivalenceLibraryVisualization::test_equivalence_draw
- test/python/primitives/test_backend_estimator.py::TestBackendEstimator::test_bound_pass_manager
- test/python/primitives/test_backend_sampler.py::TestBackendSampler::test_bound_pass_manager
- test/python/transpiler/aqc/test_aqc.py::TestAqc::test_aqc_deprecation
- test/python/transpiler/test_unitary_synthesis_plugin.py::TestUnitarySynthesisPlugin
- test/python/visualization/test_dag_drawer.py::TestDagDrawer::test_dag_drawer_no_register
- )
-
- local EPYTEST_IGNORE=(
- # Breaks xdist
- test/python/qasm2/test_parse_errors.py
- )
-
- rm -rf qiskit || die
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # Run the Python test suite rather than everything under test/ which
- # includes the 'randomized' suite. Upstream run that in a separate CI job.
- # Note: use -p timeout --timeout 500 if debugging hanging tests.
- epytest -p xdist -n "$(makeopts_jobs)" --dist=worksteal test/python
-}
-
-pkg_postinst() {
- optfeature "qiskit.circuit.classicalfunction support" dev-python/tweedledum
-}
diff --git a/dev-python/qiskit/Manifest b/dev-python/qiskit/Manifest
new file mode 100644
index 000000000000..7726e2edfcbf
--- /dev/null
+++ b/dev-python/qiskit/Manifest
@@ -0,0 +1,184 @@
+DIST ahash-0.7.8.crate 38550 BLAKE2B 0fd5f220c15bc0a1aa2e95d13477bcc832d992c6406f9da0994ae32419e440a6f7ef84c1a7a1242d5904dca5d91206602d943ca81b444f46d2eb91d55844baea SHA512 63677b2001d633ecabb36c08bd92e00b5fa71f24aed1c4601d12d846ea06aeaf093c37cfe1f6642147800caa6c749e9a202aa21f9ab4799efa379ad0d952a2ee
+DIST ahash-0.8.11.crate 43607 BLAKE2B 7dff8e41798ba25df8c4827ff414a182bb25da4825f0119a74916fe775db5445b87be8fc87f7c7f98d3b5053e1d47546f98873de1a942d36e5f308a3fb7dd620 SHA512 47d211b2422de0b381dfe32229faa346406eb7a22dff867dc04c22389609a8671ce3218e662000c49891a06c259d82e0ff4413740f007729d80e097a6c3f0d9d
+DIST allocator-api2-0.2.18.crate 62504 BLAKE2B 8152c5a611be91ba23b1e8647511e21f48e7d4f1a7b9a828083f5bb8747cdc92aee66f73251b19195bbdc1f65aad992632e820d86cbeff287d598257ae3628a6 SHA512 5e5b0e23e1f5b259e5d3746e3e05817af8dee95af7105ea775a5c1d69b4e537a4d6a25e2c1d46ab83e2385217b158f7940dc1315ae581c35ee23289647105e73
+DIST always-assert-0.1.3.crate 7063 BLAKE2B f75126a7a828da2578af46917bab4dc821b1b4371f81c14b2a6ff18e1868c210bb8943967bd12aa2d0255470b3b41d3a194ab1abffa2fea053a1007d407794ba SHA512 6f09f68add20fcbe2c8e5027504c68fddba9213468e3282b24fa31bd7b616d42032b6a0ae52ea4d73c8f6b06150447f37064733c395b2e980868e0618c94a478
+DIST approx-0.5.1.crate 15100 BLAKE2B 8fe84d52263521c0b72a1d1e82ed283828f680b8b56f532df2c14ea86ca09e793686d823c5d58ecfd7a829948543bb375e85223c866cf036e9432be5d6aa7399 SHA512 c6d768496c974b6ff4cf7ad8e65f3fc9faf29a1957da497968ee112c6a0b9d7a0ff9a2579206e864976c0f65ed2190bc9d2b63b31a09ced7b57879e207c46407
+DIST ariadne-0.3.0.crate 21829 BLAKE2B 9aa92dab32aaafb131c390206c32b7336f05b1eb5a6eae244db68625cf039830e9ce079faaf6d2d72c9e95a3eb93bb5450bb2915f6f15def13a2d6ec5fac37c0 SHA512 ff00de0667ff8dfabe11086e5bffccaef595924481d6458de5b598bd9362e9f12f103061c2b7faddc3923018e4ed211315ced7d53d4209236bcbc1f923490047
+DIST autocfg-1.2.0.crate 14808 BLAKE2B 122327d6ffd32e08dc9fbdb4dcf69128b19d56280f9d934311b946741003b40571cdd1f3ef54b2be02c8dc505aea11c962b244d33a92206bf4ee8f6b2b9da432 SHA512 66cbfd13e33b36284cf4c74c8d654f93adcc45893d127d9aaa4c1d183e47336096e72d74e7c17dd481fb7a98931ab6cfec7e4d4165cfb491861d4e3ffe2416fc
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST bitflags-2.5.0.crate 43821 BLAKE2B 2d2a78b0a19dcb39580e6f73ed6c468b0626043010b34661084944c83561fe49db24bee1ab57fd692d57617be6506d529e095aea27b753a77e26d0b1ebf7ed78 SHA512 75d7a89e53e5e7582591932bc430e6a1db7ed0f914ded6dbcf957125be52975598df7fee14ef816f66544432ef0505f0a081f3794d17138ec429e283fe14fcf9
+DIST block-buffer-0.10.4.crate 10538 BLAKE2B d819c4f9c4be85868e8b105fb7e479d2e58d3ed85c3339bd677a3e111f85cb1ff624a54d7802ab79a6e1d9221115f66388568340480fe83eae1cb448f19f5b11 SHA512 b7d436d8e627e16e6ddc300ee8f706a6cef28ff6f09eff848eedee46f84bdcd03601303c92ab8996042e55922866a59259948177c0a4496eed723523e77f6fdb
+DIST boolenum-0.1.0.crate 3444 BLAKE2B 60fafabfdc9c4a2a8778048dc40065d0be1a89a5a7080eae2a31b7183551fea30273b3f352f15449fe324349e9d209c04ce5aa934061759db327c8ff160aaae8 SHA512 e4c68d6f0778b5a1ee85e73122c5b3b2acf8b1d3d339cd88ddd662299ac01e1eb01507019558d234dfd24e19c0ec7b3d4efbb013c09f158872e69a3bf8d3f6e1
+DIST bytemuck-1.15.0.crate 47672 BLAKE2B 49f2d92cfd5abfbe3fd94e7e4c9a3d4ac22c67b58e73947f461cf8e5022738b7d38c790de2a1717b731d658f1646066bee2f936a1575e2995e6de39d20f918b2 SHA512 5b6886f252945449c4546c181bbb6c95597e498aba6b1faf81c5a4af69bcb9e3e024d7d6e849d347682e8ca72ecaa9a70d13fb06c174e17846f0c85bb4810433
+DIST bytemuck_derive-1.6.0.crate 21194 BLAKE2B 9cfad9add5c35c2ccaf3615d3273410c14ed1b420dec930d41d5b3456d7c6fc4da04c12b59594e9f591092ce3f2096a7c7ccba55f724ddb7f1aa2c013b749559 SHA512 085ed20e91dbca4619802ad796f79d25e04d5360422e9f8dd7693d5ef536ae93ba00e996353c196bf1f410225f84d23e55ccd0c84df99dcab22cb32b2a0fcd3d
+DIST byteorder-1.5.0.crate 23288 BLAKE2B 7f85a7948406844070a2c8202e0bd52f73b3dfc7c666a97046128044eb9352195afb80e2bf894c0742ad109e4473339de1365d09591de70dfec6c8c02a8e1453 SHA512 96caf981177f6ded9f27f025922cb94eb0cd9de5303bd91680099912d922092e77b7361efa70011e84f1595e443193e4f1b354443b9980c123f6ae573b236f7f
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST coe-rs-0.1.2.crate 2819 BLAKE2B 203fc1423b3d9f8f1c9964cb89487b933ae807405a56e340c9740e1cee36cd5fac58e1c989ff331801a29672a58827be6f87db2e4146bf1be8ab0038ac5781d7 SHA512 d08b8e75405415bf7097f4f9fbd97a600ae404629850f8c8945b9a505fcfdcd350c76ea8de7d606dee7a31f365fbdef17f27ed2a1a3f5a9f9f461a46ece845f8
+DIST concolor-0.1.1.crate 10093 BLAKE2B e1d10d6f253d8a0b5e0d87bf2de5408d0f74cd7a15feef940ad08dfbfed3b53663f4d810e9f2bb96bb6c1f17cb2fe732636caaefde6b51e7a16b2cc7cee8e1e7 SHA512 3cfee7d0094c4f9f36ae11ac0492e7dd94308d756e01a85cac879001280117621dd366ae8487e960258a39fe8569bf25aa5700f513a60542d12367f16f9bc2ac
+DIST concolor-query-0.3.3.crate 8337 BLAKE2B 0d4069a63d79dbf76fb56ab1aeb9992e2c32a2cfdcb02d8304b55c8fb0dd1df315ba4bbe7d7a3d5f6e6f9c5654c1165b99113ffde30eadb5e84b31d15ebab957 SHA512 6c039db27978b809d2eaccb86261532a46ebab3677e6c3963cae5a6cc2920021cfd097bf622fd6eaf2b1fb3c5ee5f07fa79eeff0682f2b70e739fc0d062505e9
+DIST countme-3.0.1.crate 10784 BLAKE2B de1803559fab0accab1edcf5db43279dfa3d7b2874f5c0ee300f46ccccc8ce4c5c3d92c5a3c211068430d903f2e9288ea07fff532d84e3c0f80edadb0752a803 SHA512 f4c8c0977c6871ac8b7eab15904789ca53cbb28385a6fc90d880f85afb44bf10602850198c624963c7db04dbee8c97e271865ae2eadfdf840c21792de4f2af47
+DIST cov-mark-2.0.0-pre.1.crate 8324 BLAKE2B ea1acdf5ca1e7d88445a7b532368b96eb36f432342dabea3398c40541fa7cbdb3b91e83c47f58afe1d9a79f143f5bf80a40e6b59139f767ed0bd77370ff6c108 SHA512 c0057dc9ba4949f35842de756ed7a9af84a61ff19d4bf53551d0a85596ab7ea8468f9ef9abfd4059a2e7bb39f02c4923996d4da5809d5ea67479bb80cad3bb8e
+DIST cpufeatures-0.2.12.crate 12837 BLAKE2B 5b518c58c548d9116f94cefc2214fe2faf87c3aaf3fffbb0bf4085f75372cf7fc5144bc3f827101a3a14a51363d06d8075db94ff5ed853ab2ccffaf597728093 SHA512 52742595702fc3371d4126fb355f3d7a6da514a94e43170f1db041cc6c560027f92115eab7846131dba1018ca5c72003ae36f945c1de88d57a0e7f66331623c6
+DIST crossbeam-channel-0.5.12.crate 90515 BLAKE2B 5a302e58411d99d52630cd154f4f642ec925af3330ced9456a16e417e2e43a37dc2b2288ccc88137a75e682e7b10ab2979f1f90c0bd42ceca8fa84c700b7dd0d SHA512 e17b0e41901b2b41e89913a0a50cd1eaacbf64cd07f454605a85781b8b1373c35bedd16ccf6b24029404a3171e0d670fc2b1474a6448d0feb40ba0e41f99019c
+DIST crossbeam-deque-0.8.5.crate 21726 BLAKE2B d97b35e8e8858deaa7fa9a836e836d02914aad29e5c34ab121f52ed65e95213cb2574df82273277365889ea771f04eb40bb2439347c259979f1dd6d5e9853bcf SHA512 0f0c9745763ab156136227cf1415de514952a3f8282ffe413cc249f9f4b345b029940e6a6c87b3be8331a7c783655a35b89c7a2547360ea5ae10aa64ba7ae864
+DIST crossbeam-epoch-0.9.18.crate 46875 BLAKE2B 200c256cad6011a3a14c4664bea6b150fce72d561c4fffc387fa561b08c0480e8756bf51c14874c5fb19f427424547f72d2cd7dd6f56fb8b6666a85f8d52bfd1 SHA512 0a8a199b9d77f4e28e91fe0a0cbff7e0dec58cac283631fd972477fa912d2f6ddfddaed2c695e4978b01cb5440b702822af6333e7c3dfbcb9a2c2086999516b2
+DIST crossbeam-utils-0.8.19.crate 42328 BLAKE2B b2846f569555818fe7a3ef4aa29f68c638f933ee0251713c2c92624bee5f8013def5527027022963f572815991abb98d5e68d0fa00f478b2762133f84ffc84c0 SHA512 6e742fbb0d2a6371db87e81f8ac583259530a288237d0e8347394581c60004703a822318ec945936c410bb44001b115d8d986bb264e5b2d8091bb63a8edd93a9
+DIST crunchy-0.2.2.crate 2995 BLAKE2B 74ddf8c5e0deb2ceab65c20a2743e1230739ac6aa3af60c9e867a7852270697a1278b7dee00df8949fc4268f9756a4a098df1211ab3b3e31a122652c3ba0a6fb SHA512 36dc0aebc41a3aac5f1b178a7e61b65bcd9bb5c8539b2024f79428200f7c62daa7098af55c6ab0765febd2f8969bd6c0ac8096f73cdc0958e5c4e4eb6a4f7025
+DIST crypto-common-0.1.6.crate 8760 BLAKE2B f2422bfb89c15d47a8f91c8f6695e05eb56990a922e3cdf3d426044736f9932324c0d899a151a6df4d6683e6a6b21659c657d3988734014c02cd854bb4b924e7 SHA512 471dbc43f517089d2cfe0868e29510c6ca579875b3bb5d013c70796db969b609b6c4bb35c9a07b9a2917012dc5708b717d48e317a20038adbe7e7039bf3ada6f
+DIST dbgf-0.1.2.crate 1310 BLAKE2B 14c808ad916764d07ae49aa2bc0153ff0026a9fab14fa5bce869cce5a7ca80a8b38c3238672c9dff9847c34b5462f31ac7f8d9902857642f53e2b40d4bde564a SHA512 5975f40ae6c84e8ac9a5e0db48ef8b0c1d82cd81e24c8d3f06ed4c14eae11cf87426144e7cefbc93230555f124500d6b46b63f6adb6afbeaa546cc400588da3b
+DIST digest-0.10.7.crate 19557 BLAKE2B 61e69d78cb8d6850ae26ad7ff2d52dd6dce820d8c621230def11cc0e8aa6d883a6e1b25340fb45748db52a8ccf3c8d36a8aa0c8cdf4d4eeb4e3f870d86abe09a SHA512 0dd8c012468ab9011b89413ea4d3647d95b1f683b020a0e6274c95ed5148638b56fef19cd9044c837ad53715b582b88eed277fe96e917c27c5d7abdbf7c3794c
+DIST drop_bomb-0.1.5.crate 6859 BLAKE2B d115c842c3642e070cbf91c8155e09a10fd51f772b2f491d7ac16ddb983e9a6334fad23415670caf24fc3dc2f37a894f6b39443453ca394d9227e8783d5519b4 SHA512 b4b33e275506a52a062d4d3c6beff14b4081b56c4491fcc28f4aaee645f6dec103fc0b67994cf7816d36313ad5383478aca28dc4d6cf619486a517f136d7b344
+DIST dyn-stack-0.10.0.crate 10753 BLAKE2B ed2988b30a5ded321d603ac0de05607a6694a41340bc92530e7bfe29c77ba848fafb7010b6733146f5dfcd2dba22abade482873d2d1e666ff82941bf5ad02b8c SHA512 483118bcba661dab8e77031709c71ccd18c6b54bb946ef4cb604564aece0f5a8222463d480a93bb3a4adcfd3cf135b01b5f1a21c5d9d33b7bd85e94c61ae7de5
+DIST either-1.11.0.crate 18973 BLAKE2B 31ece6eb44a367926b5f9ee817f6ac9d93746f5b95c95fab360361f6b3a02160c682d298d115f39615e5b4758953f3f29ece22a72fe4285875dce03483f87486 SHA512 f62a3859afdba762b004d4c766090a25d3bd81e4a14509c3bd0f39b0d433aeff997b39759f7dbc5a012bf3b680fc4510a4b2643d63dda8171bad7403554905ff
+DIST enum-as-inner-0.6.0.crate 12079 BLAKE2B fea251b187470b6204f686eede8d9d2fc3869a396d50051a45c72e3628b4d893a2393760afdbe14676cf505b1892ff67846226ffdc4a23f59a18b2cda1a2629c SHA512 c06e0bbc43068161a07a8b34bf1382311273cfc5390f3fb4c90b758d47cf49baf648f6bb277770a983942f7d2effd242bf1f6eaa4eab77e7f6f4fe9ef6ce188b
+DIST equator-0.1.10.crate 4722 BLAKE2B 47f3937b6d3e76f1af9457985b9cc53444d6acbc0c116573ffd3f4dcbc65b5c452e7d0d60e03d840ebf7350e6216d44ae8dfc60d6bbf929c4c93f7d27230cc31 SHA512 48dbeab9cc6919b8bfdd92d5bc7d9b76b20c1245806c5fbdc3e9e2ffe604ec16386c32065fd0a332be71082272da9906420ee7ae48c9edd02e224c93ff6961ed
+DIST equator-macro-0.1.9.crate 4065 BLAKE2B aabf4e69db3bddf46873c8f33a6ac96446436f8b6ae49182f0c906e3584e0e92de11dafd998cfaee5deeee152c045740de5612b763737e6c8a75ed09df485df3 SHA512 77d92b1b7b640a8898f411143bf13167dacd58d0ad862f21937eb600e404e92b0593d3d928f05ef11a1ff87ae733fb77e1ef9c05e0495153cf87d7b47993f82c
+DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140
+DIST faer-0.18.2.crate 728620 BLAKE2B 50523839acbd7fa289fbf9d8a0a60a3a3a7f54823d6ada33ec18e640b5c7302baceb1f5af61495a0469457f099206fdf8e51381c0143684e338f9d4c1e4e520d SHA512 a06a53748ecf836b84c48ae0daf8d653f8778ff0fcf17898f86ba6ba1a21f3294143493fd2a5f83c459ab66bda5595004787ddeb7d17a0daba0165255bc2de1f
+DIST faer-entity-0.18.0.crate 17017 BLAKE2B 564be666909faa94f1a6c7d48349e0ffbef09cb678eea3bad1cfc06a514b39a4c1322b1940be6ac98cbbd1466bed56456f09e127f4eec4117136ed2f3e640602 SHA512 9c11faa0fedde28294cb5263db1e9fa5af5f181a6524f792900e41474ff2e8aa67f8498eb83a726ad59d1504d20645bc2433f48f5983d17bf55fcb5670b0dd80
+DIST faer-ext-0.1.0.crate 6955 BLAKE2B ffce2a8cd80d1a7898c29c9af896dc61f6a637d854e77df1d1b5a52523149c8cb785fce25a72cb6c49aba5ffbc7d92c6807c72d50f13b6654e300483b6da457b SHA512 8166cee128e470d9e56c038de2cd19139ffecb31feea30256468264dce8477d8e1d3c3a0485e25e4d53f0fc0b484cf24ff67076b4c124b4f76b0aeb79281797b
+DIST fixedbitset-0.4.2.crate 15954 BLAKE2B 91270883db5ad0e999ebbca1123d8729d3040eb936034ab8da3cda72a830e45fcb977b3fe3c2b94e870c1fbc366ee8602357bb77e8b9a40cc41a04afad1b266b SHA512 57c5d756b0a202b2506270f0d5e890f7617a1e0c015b6059ea23fab49cf7af47fd06927eb56feb03b37cb2b6c467e326b3f0da1e32cfcb6339cf11a130a3ccab
+DIST gemm-0.17.1.crate 6931 BLAKE2B ca5ac2a053eb0fd8a4c50fbd243935bef4333fd2704191066614a851ea11616b1e16e4f405ba36a7515f658999aec508865a2387dd5ccbe415ff691a94164686 SHA512 491a6c6c2a67c6d531d133444e89fd39957052799d4601580c829f0d670f57cf6e6f50d6757da555a8aa46a10acd41318f89cdf57919af13dbcd695917c79643
+DIST gemm-c32-0.17.1.crate 3829 BLAKE2B b2988142eabf3c4bb188b995cb52b5357e5ed62f47720569f4c6c53992176c31323796d97c27d7e61ef2e5f8ace860dd60dfa7acbcea3e1c7fde7d89d5c62469 SHA512 1b31ab5ae680740c4b03a3470e64cb5b67bd70179d6fd3d5cd0288f0f3f6be5c41d2f9e3dfdbb82b00c1990fe3236e3a00817706f808a94844cc27bff9f532c8
+DIST gemm-c64-0.17.1.crate 3827 BLAKE2B 240e56a39ef394f402aba17a9b1e20ffdf843ec5fad688a3e0138c5566ceb6807ba8c887ed12be20ce47850143fa5a39c16763c26da5117779d9d4af651a8404 SHA512 20b8857714295f3eb9d9914779eedef17fba5cd469e77b0f28cdd4a70a7359c3c5a8fe84bebe464ae0380c20db26fb871dce25b1b432b30994e2e55b974244ad
+DIST gemm-common-0.17.1.crate 26643 BLAKE2B 69cd3cc2a7094034c980b702170c25697ee61a1b3fdae77f33811128ede4bfae5be12ab99d217f51052128450aa878762c60653e4ec9d5cad1a402eeaa08b221 SHA512 e12beda1cf3c8871f3ae7e397551c538600f372213b7c5b754f3d1c3f483c148907299b8dbda8c7c07a60d4a4898f3c35ec4274f4353b89fa80919546478b290
+DIST gemm-f16-0.17.1.crate 7939 BLAKE2B 2fc8cc091db193cd8953d38f4919c4aeb3a4ce388fd60ed9fbc8818b57959f9878e256fa7fdca5977c0f86adb77144f62f3873c031e986f27d6251dc858c7718 SHA512 571ab961946111ea36f11691f977b4b786ce5cd6567d209e482cb50e87a538788fed243cf86d9740ab370ab574a8870d5e5df92e87719a16f36dce84291bf847
+DIST gemm-f32-0.17.1.crate 3519 BLAKE2B e5c6f4421a953cfa9e0347bbb253001454d58e151e315ac9240064dae125471840e7bb6545ccaa41f942641dc97748d2e98dc441b2a8dfaeca563f4526f25219 SHA512 c494c8f1f5276a5650f3520e1085dbc933f4c383dd32eef70e9b83b183db73f07028cc062a7e2341ad2c0c0f0115276c959dc1c241e863cdeaf85f6dd2d88f54
+DIST gemm-f64-0.17.1.crate 3515 BLAKE2B f5df0a8e070542b140396d44aecc2be693b4788c24b49eca4a0f52e7f9b0db0e6fcd1de662f85087fdf1676790f02658590dc9ebc09b2d35426219cdecea8e11 SHA512 ee096d409c34555fc2a81f6401e284cd8b4809770292cef04f4baf5048d1d3bebb60818a56fc1a5e18ccf687bc8ece18530f1cb66eebea4eded97974e4875f02
+DIST generic-array-0.14.7.crate 15950 BLAKE2B e74c785e3127095625951da192a018281ea9976aaeb11019f9088c3f27748c5fed1ef25d577150864486dc48b5138d6892e42f99979339f711a66fc70756c82b SHA512 363a7b04e4102f9ca63d429721c1ada6272be6bf0a2e97da681faf76381f73f0e3acb86623b9ce2dae441de9fda704088391779b9769ec02b3c8c9f9f35f897d
+DIST getrandom-0.2.14.crate 37307 BLAKE2B 5904388869335ea904d950ee83ad1867a0d3f6831b7139102b53f4bb4a2c12371c9396f1f1cbcc44e3ce69a4ea316651b1674722071bfa7562385ad4b6a88c33 SHA512 6c334415e09f570e3123e3c6c6eed1727533ac6c9c4142e16ae995c237a16effe146832a891be9fdde4335bd02b454e0fdd9160f20dc02f107ad106756221658
+DIST half-2.4.1.crate 50892 BLAKE2B c275a9ec70d2fc0c50cb63421399202d31252b0dbf463798ed0a12a17493817c66b8933811d483b348f8f945cb05aab7cc2a4d952bd16009c3da4860202e28dc SHA512 0bce235583ca128723186e1fb50f636b519bf826c942f02c5b969db4117baa87c644665c541991c16d1f1dd97c7233c017a513d45075fc72c5d99ccc7c1ac193
+DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
+DIST hashbrown-0.14.5.crate 141498 BLAKE2B 7d7f31b6377c901de12f78f0004a347e3e3b948b1336a54b6abd8dd2210db0ac415efcdded421a00723f16563a7b833b5d1db3cad5c12cac916e273bf3e588b3 SHA512 215ea860bd3de80e2dd2d4647c9dd31c0ac895ea7c08b87256dc11d36407e412ffefaebc6cdbec024057dd4f24b3762b4fe427be307e15d1e68ccfde89a99742
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST hermit-abi-0.3.9.crate 16165 BLAKE2B b779f005bd4cb9ba9abe401a0a559a5bbcc44726ac37f53e9c8d1f7218389ec8b48f74d14666261bc4fba4fbe5558cfefae873c49a2312c8c8bd4010b8344064 SHA512 f3a5a51d834a6ad55480b53f7e9cdc73a512ab0cc6c246a6ab1e8bf8f9851a0c8a55982f5bba6cb57b5a03b54870e73b0bab0a79195764c308318394a3ea8045
+DIST indexmap-1.9.3.crate 54653 BLAKE2B 7bc1768589e74020dc15d3dd064009edaaef39b7aeb682d0ca8e49944e3f020b9c04d64feb102e88b22feb40863479dfaf4722d6a77b5d19e7ca553f4bf64c1b SHA512 2aa8069eb07a814c8fa3e11296c9f032ef60963520d7786ad20cca5cb7e73b8f76d97722a994d65295bb713020aadce5008cd3df5e99d8bd968ef1979f910a37
+DIST indexmap-2.2.6.crate 82420 BLAKE2B fac5cf6339dc3c0a40b100035a5c874cc7b2efeafeb31c51488d25156e392dc9db86a497e76eead351d2126f69d060422faa9c55d73407a0de9f5be18d234123 SHA512 53211c4a9003d751feb6dcdf1a76495764cbf32d24bbfe2be7023946622ef4f2b07a6de57109e5d24ee01892f4b2be0e0692e10cd31fd39c4ffdff4d37abe9ea
+DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
+DIST is-terminal-0.4.12.crate 7470 BLAKE2B 6d1db6148198299d0775539734dc62a3c7e453d621d69e01c3addeadbec4e88dde6082e4e12c7b7e8359cbd93b68c0af314d4a8df4600061a9534834699cc38a SHA512 9eb840a419f530c60d6acc52fdc9d6477818fb513bf9c3e8ab808ecd19087a52933e958a930e7a8c316d5e5a3e5beb56c34b560dddaa03c744ad37cfe6554a0f
+DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3
+DIST itertools-0.11.0.crate 125074 BLAKE2B 8e686f176764e92e4da3697eb781e1bc30d6c57ac61d97343b4fc3a48e4febf669d5771fa8620005c620cce52c236760ee2e1bc344cf602e878bc168a2e69cab SHA512 8ece00ba0a7cf481ad4586da24385a6f0b1719b9c3f0c25b9b5b373dd1a0ca7b9687a77cd179853392890b7bf4d31e0356a4e5fd540465b4ac62bd74ef717fd8
+DIST itertools-0.12.1.crate 137761 BLAKE2B d7db67feb7418d6a779dc17d8a2f33481114cd81a4d53a10cffe08e13f0d3cf4525a5ef43368fe979d5a3ce230872eaf993f7065885531aeb5a6479351857708 SHA512 0d9c1849dcc0ddf7555b0aeb7e4f2ef3b101cfc6f03310ce1b6072d70ac8c8d3387ef4c726146102012e75171e0b0bf13465704b6edfc02752e349dc6af7cf68
+DIST jod-thread-0.1.2.crate 6322 BLAKE2B 8e27300e03c4d34265be761212b8d23dbea90fa6f443a55437a23df8b769e76a341f060c6ced8dd5a036d4142b08461b9d0a68a46b593fcf772fb0d3a7e78cec SHA512 fe3a3feb983b273bf86ec26dcf4edbb1fc0c5f583c3115cedcc63279cb72f0b40bf4134f95d673d5f3e532bcbeafff09759509f55543c98850e750aea39711e2
+DIST libc-0.2.154.crate 743304 BLAKE2B 25ff132ec29b78dec455f0a1fc9fbfc744ee0d6eb410aba05ec6b1b08af9d83ec61e56f840f86cb833f590e8cdec7f67ce6e7b630ee227a36581650c81298b84 SHA512 891a36cf153a9f4d58793412c104504c57280994e428ce8ba208673a924b2de38cc21eece09b91696eaea3b2359606dbe9f1509f9bf364bdabdb366ef2dd0f61
+DIST libm-0.2.8.crate 113450 BLAKE2B fc4a55ecc0d4a558b9014b58861341887679c696af6b6539c7cdb70c033c63219b24f6f30cb8d9b335d15e3af42be6f3a6bd719e189667ca0c43ac818730b674 SHA512 753df71bb2c838abbac360db2e4400c2d931185ecff993da51a979870f2c3f7ac017380fadee4622102fb4b37ebcc1960b0cbd295afc9cd1cb3307524e1f39c5
+DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7
+DIST log-0.4.21.crate 43442 BLAKE2B 8429b3270794d3e2c7f7d5b58bd4fa1abb9d4807ab3a1ac980ac81c11d9544635003d8cf2e608c2c0094865459108a2879f280278e121df68d09bc1561d604ba SHA512 0becc1a06b6e7048cff6c0bb8df49a16ac4772133c00239e9e9459c0811e7715c500f440cf1a9aef8d7ad74f57434559ca9b55917f588b8e476cf36eb6d4e10b
+DIST matrixcompare-0.3.0.crate 27568 BLAKE2B f872463a5de9a81098a146327d3a0295a11dab5d25da2caddf11b68c07b94fa3ba29b97a3243e0292a3ffc8e373bf50e9eb632ab6aca8d1d13780740b0c76b9c SHA512 c5559129f02c6c01d42a7c7c320170e8b99cf6da88c69e0ff0efd1f3ab5c02b74753889c34bcbb8cafe69ef27489805eb70496ecb4a127630515e6c695dfec06
+DIST matrixcompare-core-0.1.0.crate 1221 BLAKE2B d865c4c0940a48f1034aa97446b33f1b0a06925002932ec02e295befa780f3a9999952fde9f35210509f83a87b4a58e7ebc992d580bd1153432a810c165bb248 SHA512 d9e50370b03677dc445b079f57b55186d918f6e9e396599345a169e3849ae2c6e7d58352b5911f741e02d1047834b004a870806f63556ccd3bcf6ce757d33a05
+DIST matrixmultiply-0.3.8.crate 57530 BLAKE2B 3a97130168de9dd18fcc0ed33df126f25f47a919e9f74289f809f33c2a290bc41626a743e6c446d3ed0a22fb5eecadbf29c11082704970ba9e465fdc5ce18332 SHA512 c2d31d5764cdec868fddf018b3e51b936e8bb18b131bb9899a5747ad5a4cbe892c0d62265f99077137308ea11f32254c8a8b64da07855a6c38756df42d76e5f3
+DIST memchr-2.7.2.crate 96220 BLAKE2B 2399064b6db21838d4aa0b25ed0bf04940ee3820741658cc6bf62e5ade08f41320df743ff13f99b2781da7b844e18deb1cfe25fe570f0e93f98ff03ca5d442e3 SHA512 cadcb4239c7f3aaab042592c5186770a225621e32f8583052fd3dbebb4a6d9b99be28f589b39b5ca36cb2d56fb3709e7d4ba91838ebb882e28e51280c02bbc40
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
+DIST miow-0.5.0.crate 27696 BLAKE2B 7286b13b0ede0bbef23b9eb3456ca5c1903b572e37c274d136fb1d26785bf87d95a877a67abd930f08efc986e19e8da0136927fd2d5f5453faedef312342fa46 SHA512 3340b5dd1ec88b1033982cc93e6496c34d53404ff6e385a2cea566a01efac794d695443da19955a73a1dbfe857cb72a10fce55a5f2ecbdc4a079160e9414722e
+DIST ndarray-0.15.6.crate 275225 BLAKE2B f17e028e7d57670f136d777dc2bb720dd52bc3d9fdbc0e2de5f5c2fcd9f6310f0bc39299fadbb53e0d1588e1e64d9f2b5daf20e30dd95517bbfa597b9572581f SHA512 19037ba1de0ea5f8e0cba5d8735d6192c1674007529289a357e9c5e036a1af88b48ba8a26b4929663403159f6700bd00d04becd9b1fdd4c07990bbeddfc20ead
+DIST npyz-0.8.3.crate 75073 BLAKE2B 2b74a4e916c1fcb8c88c66b00b23904679832e86ed070c77b3a2e9358f5806eecdf2194dce1a88b51ee29d0946dbc80476fd18666f0face0093281e4e382b407 SHA512 fc0a2ea9698d1dab800ad439a8bc168cdce8c26a1889032e221429160ea3fdde4945ca3bcb4fb32356be48c6f228b83b4a39692ba3b893ac31a19797f039bb72
+DIST num-bigint-0.4.4.crate 99369 BLAKE2B 09a44754e3a3d4f949b3714d96ddd7f3915164d611036675e3df421d6c0863e368eb0180978a4ec27fbfff529b4999d2593e411903516670c24c08fbed6a79de SHA512 0dcef3344a933509fdfe87d6adb0bb1bf67af3c692ccaeec5663a8f18ad0a251199ef9c7a24c25b95d1b255b413947e70f0a205669d549b13e54b6f4864ab3b5
+DIST num-complex-0.4.5.crate 29614 BLAKE2B 32277724d5336443768a299c835cba63906ac91b85c57ff0e57338902e32731a0e67a93c647e6a57ae53a1b4a961c8b9ca2f6937a275e51a58089378a9646e8a SHA512 7b607f240773e4f4ff1954f46b2ee85be1a4f012e2d290343f6178543d10b69c0e9e1a93b0df8efa013c3914ad48321e1d96a4578092ae4d359acdc239ce1ebf
+DIST num-integer-0.1.46.crate 22331 BLAKE2B d88c9f84e5d803a3aa8f44dfc1bd6d9b5e336e7cbf47231cb3a7de30dfe263c41c62c586d31f0029459c8c240475cd329b3fce79f355be7643bdccf8d56dcbba SHA512 e27986d91f6c6dc3d5a0900defe28ab5f47905cde3f84d0914b7acee076dca8fec6fdb7b631ac94d3a31eb01ecbc5854e51afc3187cd1abfa21e1bfafdc700ae
+DIST num-traits-0.2.18.crate 51930 BLAKE2B 6c40e155d7a52267a7183d8030ef34245492d33f103cc24551b10da3eaa18e3db485062ff87057dc23e6b55e381e5c5d2a2633aaf6f4763c06677a0a0c524f02 SHA512 e395ad9f3b21b0dd1d3a94cefe0d68a42d1b1d429ddb2823696f9cd75042568a635d93d133ddb9497ed357e5b3be5caddb8e4a4af87b65882bbdc60b05c74ebc
+DIST numpy-0.21.0.crate 76859 BLAKE2B 6900342fe71f557635b94a941c9dd317024047b41ee55d9fd7a3eca2401bc2734b2902999ecd2e6b3b5783ea6398674cb00e0a6173ab15fe5a4157c9de1d4987 SHA512 27cd512692d7f9188844b9a351224ca1a87f0f8d90a5d288fb1e1f62fbe66807e1cfd6529226ea1d5dc27725d1abcce6202ffbdcf25c130d3437b0cd9bc4f7e5
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
+DIST oq3_lexer-0.6.0.crate 16828 BLAKE2B 8db4e1254e5cd305388dd91716e41527126d50bffa40def25dc68cc09e32bdb3f8284b6622ed471b59cf9c30339ebc3828aeb75da72c6ed2de57ae66e70bedc0 SHA512 485fc2eaf7a4c3fb5e317cfa5a7342baa544e6eb98d02139513028685101a76dc039a8f1710859c4f4ffb85d4844f6d0658394a80015e72a4fd3cae3d4177f51
+DIST oq3_parser-0.6.0.crate 33018 BLAKE2B b6f9bed8a5bc6896666010ca70ffe631d45e87b6a66e7a35082a653998bc66e4298faca480368f10bd4aabd13c6056784c06f74fd7ef0f0c66430562edb70ec6 SHA512 c86038f3aa8e003044389ed58fdf3de67b3df4887c291e9b9a491655d1aa56c55dd4ca249b47311637d067ce106db8b68b1d7c18ca9989b5e2f8ea56519dc7d9
+DIST oq3_semantics-0.6.0.crate 48855 BLAKE2B c5458f16e6902e431412ec4853a1d2d4a59845498e4cb6d505c8a6e8b6b5bec637c897591f0c62ae319b1c814aa3c73770b37cb269bf9650053bab9e2c586b08 SHA512 34fab12844ec2a55ec2aedfd6b3c98b93c3736b1300da3a3a29d66ae372fb065bac93507d21ca50fd7330ebae590440a227bea53eb1feb804a81588c9810e720
+DIST oq3_source_file-0.6.0.crate 7134 BLAKE2B 7bda4d503b1c830255bc1d2a15c10fac12dfa13982615b9f02ef6b2c26dace15e9d54a14b6ede8f60b6ed949421102b8182ddf417b8e005458e7a5e318fa7de5 SHA512 cbbdd36385c596ed7902a0c80a3abad3e3bfe05e0ce17c240fbf79af0d62b95228c74dada4df20b9226c2b72352174d50da442a5cd20c977adffa11f84d1c52e
+DIST oq3_syntax-0.6.0.crate 63889 BLAKE2B 85ae0c5bbe32a7a573143768eca5bd05c645c637753fb74d9683e135cd48a15021a30890eaab794a2cf140ed12a48a697e47f1678c9e45d7a4dee490bc203027 SHA512 16e7e7c5a8e0ea5a1c8d240a6a644cc0c51a8b8823f3ce54f0f344ceeb4c359835e8f1a2345628d048aa9e43d03b995a5f5d50280eb2bd1d206f149011de044f
+DIST parking_lot-0.12.2.crate 41723 BLAKE2B 7c9a4f483b09f4e4bb25fc758c80e8259cb02960b791695a061fe595cd6ed9b13f62903513cefb595bd633488b23254dee054a98282162fc4664301ce04853c0 SHA512 42794b06d410771d1ffdfdd4a9cab136cfb80cf95385876a580fc45739fa41f0769adfbf16be54a9a931632e02d2464278c5395092a1d6107703875e9ad112b2
+DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac00288b1472d784c0aa7fa2953fcf9279c750d243ce69744993ee8cbe6899633e71e0a54ffc11e39247755685107f2f8dea54 SHA512 4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389
+DIST paste-1.0.14.crate 18157 BLAKE2B 35e8548611c51ee75f4d04926149e5e54870d7073d9b635d550a6fa0f85891f57f326bdbcff3dd8618cf40f8e08cf903ef87d9c034d5921d8b91e1db842cdd7c SHA512 3a793f0e5e773a7f7defc798a4c17ae9a40d715144632ea6cb0a8c785e14c4212046491df016bb9838281f8eaf327a79f01c1e2ac5f26785c028bc880faff9ee
+DIST pest-2.7.10.crate 123707 BLAKE2B df683c015ac230f2e51ded7f2400b68fb733845dd4601cba89052a2d1148c89d5ffc8ff7e15a42f1822d617c872b5a59fa0f1db88cc94edf5e1b8cbec57be44e SHA512 3facdb4a8bcf0356b702cbff4d314db32a80b33fb3512e52c31114a3f666414a49445a1f502c911cccfb28b7390fa058207570bf9127677815842b4988d1f34a
+DIST pest_derive-2.7.10.crate 36221 BLAKE2B 5cbb80d894f501b282346520d900ac718b36724e46429b17d96ea91e6359f0115173a4331f0db48596e77b6bb2c605535c774231a0c19ff69b1c34ee0c7c0ced SHA512 c63ec4c6849b27946f68afeb0eed6d3f3bf6160bf73ef4228c3303b5b9271e30db8e93d01842ab3cf1ea6a987f33b1e4f55ef4bb62fdf7d9ec32220193ba2b89
+DIST pest_generator-2.7.10.crate 18411 BLAKE2B 67e4df45b33e6f7b212c2e1a0ca2e064359b9237fb94a2d3eb40a886ac761c55f198be734a3812b61915f75f6646cca277fae03faadc06f3cfcc6b3a36f36487 SHA512 8fd4678f445780cccdac73c51d75a823a9b71c9b9c52c9fd4dca32b2bc4e8a8b33e68d8d90bbe039e4fb2fd9eb8247bcb7911019325c1137ff4d9d835adb0f59
+DIST pest_meta-2.7.10.crate 41550 BLAKE2B 2a5799519a7032cfd3afd1c2cd23b6af2e9f317717613bb635128c578dc92bfb51706492a083bd6e46c737784c0a69017ecca0f09124786ea633377124ef1f36 SHA512 8c931690d025be0af8ef3ef997eb95d3ebcef47ce0672544a632c77281651f2d0c9c34f1b477426164b169bab638171853bfdad2696d32a90ac22a8bb143cf6e
+DIST petgraph-0.6.4.crate 185895 BLAKE2B 9ddfb2796c461d2820db8227753113b02024e5dcb694a0bb2826bc1f375f028d8b98a3bd67555485db7fab88eb86043f5b768585dbe0c60703cc655976030a2c SHA512 b5a21572526387af3151dd4f864bd95c94f65eaf0612d96f99926faf646214df205bcc652b98d3b281f2e270779a4c1fdd6a32614ed60b3612e5d594b2bf3f20
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
+DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a
+DIST priority-queue-1.4.0.crate 33872 BLAKE2B c313509f663318033d93afaaf1a9507dc3ca091992c00029184a070fb8a29e91ca907a7d5f80c815b87d1e79570d329c8399cd95886ddf9839a0a3c2c2c7fa7f SHA512 de3ff208bdbbe3b9868f7c7e3524efa70b575031271a1dafcb19d699ee025e1d020dacfedf55592623f1f7f58fd6c7b98549d55355ea94befd646f91b540d3a8
+DIST proc-macro-error-1.0.4.crate 25293 BLAKE2B ef918c5efaf2545ab38787c8d0c07315af00431139e4dff66346bf798e3a429f91d12a79776c150412fdda0b158a72badd5e1044ac4d6917f8482d4b5a7110b7 SHA512 8a47bc9d3e24e9561d1e384d8f5a633284c2cf9b5e6733c5f9d1dbfe1870ccc8e2152482852e50b551cecb68e009148585b910ffb0508a7b4875598eaf8657db
+DIST proc-macro-error-attr-1.0.4.crate 7971 BLAKE2B 98e2925881c2be186e22c2c439697e91d43f807eb61a5d13e3b0b4321ed50a74f3d699942c04b89b6fea0f156bb5d19ebcf22f9cd4b98a7e6917c437600ed823 SHA512 2606afa9ec78d7dad4500c98d3a5ecbd02c6b53ab829c742bed7f57b322a95238ab4e01cf268746815f1424fd9b02eddfa30e72f98c66106f57765f3d3116495
+DIST proc-macro2-1.0.81.crate 48233 BLAKE2B 94319064772c757b6bf57eb9e759e827454f719d82210271ebab9c6ee4ecfddc9099522cdc8595123efe2efb64fd50eadd7e31419c5842ff1cb8fdd32e8daa0c SHA512 7edec4b786d9fe076ced4fa5c0d369c163fd1c27c895431245a8268ab2e16665b7c0a585552d46ceee6b8103979a4201f92abb381f0e678128abed359f514de7
+DIST pulp-0.18.10.crate 91596 BLAKE2B 45fa89058c28545c6679089cdb12a46ccba380085429e7dbbce115658f53fbe80fe56680588d36459fd5cd1f5f9c7f6850c30edfe47063b8a4fa36a53991c45e SHA512 26599378559e23d1781247dc886648a3edff40b7ec612b825c1a713e994916c5deb8a091175800052196660c16381d692273d1921f8b85c4114d13982815da20
+DIST pulp-macro-0.1.1.crate 3268 BLAKE2B 91f7d87e2321219641ad68b628d3b3eb089ae743a064bc656000d8d0c8032a18177e03a6f6181da359b618ee9246c5610fb6605d76b78e610992a420ccdec411 SHA512 b7aff5992f99d7ada3c95e48a6f1ccab726ffe20dccbe9f86098b24a75433434f1e7caedc9f0a2a79ba53ab27db1b9c19e56b0fbe950999a0d6865710b64ab99
+DIST py_literal-0.4.0.crate 16747 BLAKE2B 824a3aeb85dc95f0b126f286d23dbe951c0e7646dc67fcc1171d713bbde470cac22af18c39294d5375da9225b26892854721008bb65026487ddc03dff7b51f77 SHA512 9de0d5e7f9a1738cb82eefd02b6c8096318d4567b6a3e00099a37f0d4123b9b1445fccfb51e4d1f406e8fce62b4e3420896424f35c4b1481ce31d0d1284ffbcd
+DIST pyo3-0.21.2.crate 504574 BLAKE2B 1b8bf374d1b61e3e4bedce6344338126051a6d951ea87d258e5ed92d4c0e13b0202f2e7e56500277c54743dd16c9b4587f436cf2058567501c8a9ac7c6b6c17a SHA512 5f88cda423e82b62698a74ceaa31fc27e5c1f1d417928accddb2e00337d163fda622f774ae6e24c1cb73c467d6b01e9a2ba866e4454338b1fbfc892ae14ffc53
+DIST pyo3-build-config-0.21.2.crate 30581 BLAKE2B 993c1f7f15124336b70570ed3949cc0873c2b883e81dd3a350f347cf014fb9a82d487197fdaf475989b727b7ee8d9a5511a72422f76126b8788c4f40831baed8 SHA512 8b6bedb31235de3dd95bca6e19ea4eb7752227ceb9f1c928c4df2b277df5ee443e5c262e448012e4e54e3104213db4d745c9c42f79ab3029dee68f48ec3a2795
+DIST pyo3-ffi-0.21.2.crate 66160 BLAKE2B 759622fa3a41bcdb48170983c4e194898415f8db16a7c57ace89a7945bd47374d9a14e5ecf24e80a178bde597cfa30d41f9e6617b458d365640bdbda048e6f6e SHA512 5cbc9dfb14569210776fd66341e77e61642a9920354251a65b91aa13a0fb1c373258d1a6b4f8feacdc4266d472193d8f20a6dd2cc180ccc3d43fb66237ae6d0d
+DIST pyo3-ffi-0.22.1-py313.patch 6315 BLAKE2B 55f9c5d45356e8c4b2a86da0f489788de576d7fb4c7b124a87d953e8d3a850fbeb05a1af8e6f34edf252aeda40445f711f4409a3a80df7442bd4676c1d8969f8 SHA512 f6e6e2498bbd8b60e013b4cb6e1f1eda764292e3cd91ba5800fe798521f462bb97f1e621711513d52c263f7b394821a710252425cfb0de0f1c4457882dd138ab
+DIST pyo3-macros-0.21.2.crate 7920 BLAKE2B 60ceb626fd1ffeca7e81ebc721bb4cfebd99bb708d48bbfdd296b250ed41471f82e8657715e1f58840423ac11d8c5a84a6107a7037affdea4e0c2cc561514ed7 SHA512 95335a55d57346107fdc7591d51e36aa0a985d6c44a875475a0ed52df25d33b21a7b922fdab0eed190da9708968e79f7cd50bc683b6d210eb068713a915ac7f4
+DIST pyo3-macros-backend-0.21.2.crate 58088 BLAKE2B 05dd49983c8aeddc47cd94f6cd58f10e41ad6f4ec57006908cde4fe3edbcf6814058d7843a88c9dbeb0824f840ad3509414c52e47fffe5ad4b730f791c9a3f19 SHA512 f8488ba0a68f1ae20d053e2323d065f03b40c24231a50b05205b100e973ae50bc7bb9c25e4d37df56f4cfa73d2001655ce9685078d1017a4a90bd7945c01b833
+DIST qiskit-1.1.0.gh.tar.gz 9734708 BLAKE2B b188fe116ff5d0fa498e2b5c829b61950043163528ff39a51701d4f497a9dc0e1ffa27c518833dec84198682477c3398e8edb737d74b4f321b70fb3971b25a57 SHA512 7830b004b32461918ae5a739ee0dc1043386877f22f5112607828f6100e8b7b8b00fd946f465a1ae160fa1f6c40c1339dc743c7811add1c03e20c67d206a29e4
+DIST qiskit-1.1.1.gh.tar.gz 9741147 BLAKE2B ffacc2ca98fe9e5de995e44e45f5bdc463accd9a2f42d045c37dbe3571b0cd71ef78a5a89e2661cfade40bb1cc2fcdbae37733853f690c7c31b649760de30cb2 SHA512 90b241e87b7a7d6399101269d6f33c14ae8195e988a10c2a2ae5512c0e14b4a30d85845ee6ef79e1c322bccac4a036c3343fb9c362cd123305e05250cf47ec6c
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
+DIST ra_ap_limit-0.0.188.crate 1283 BLAKE2B 265a70d088ed76500cdbefa04d1b2778d54985aa978b806e9ebb016348556559799b8ac889c00aeff51d4ff08f3fa86cd3be3742f5896916edbbda49bca1946e SHA512 01d56844fb4437959e93fc3394d674848eaae3365d271c01ba5ff12fc05d4a1d11eb4145ee89a65eb5ba12db4075e8102ee31df55c569c8ee5ad6d383f9f451a
+DIST ra_ap_stdx-0.0.188.crate 16911 BLAKE2B 28e11f1a24412ebc7436bd938efb2f9491e5843e13ebacbdee3bc9451274bd29175855e56d41fc4d4b4c1a7868ab59521c41f718f141f7bc6366678662f010e1 SHA512 c8c2582c69668edee1756fec64197a3d4ff70cb3670b8db590b08050e7042ae6f89a0e1d78fc23fbd1b0338173c87cc9c27b5fd15272f6c17b7393c3b77c5d32
+DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2
+DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075
+DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79
+DIST rand_distr-0.4.3.crate 58255 BLAKE2B c93a4db62e1c27bde51c77423e15674c4bafd04a63424ee8b8863e4eb27e56f774136949edc8b05ff4189dfab1f0dffc92855706f4a612be897523e7712ee830 SHA512 e5209a78b8ca1af97ac6c6add858ee6d91e67c1edd124bb297f787d37218a5f1afd570252da2eb25738b8d77482df4e93aa1eb3c4a8165f90219410dba495cda
+DIST rand_pcg-0.3.1.crate 11983 BLAKE2B 87c2a9d0f6fd71076280a0f6447ef2a8c9efb81567c530bc45001ed93a254dbf0d007f4d3d22355cb68dea51e82bbd78761bfb9f139a62983dda39f0432306ed SHA512 6386c23c26fb911c3b20718e31b6a2f395e3cb46b59351cbd58bbc0666f1d42c2092638360162079387e0d61f7591d01271cb50212b91db6df78a76bae239dc4
+DIST raw-cpuid-10.7.0.crate 107292 BLAKE2B 5452276b4e7d3ab164bf0fe65eb767df262404d059a140548afdbd34725af80dfb0e1fd9f0f3816cd31455a1d7b2b00476dcb60d8634aa113249b3832ae42d86 SHA512 74a80eb24c01946e96e995e63cc346cf9ebb1cebdab4026bfe30dd18926d23a95d3eacc140ba2742cf847b0df4097017ae365f76c6d7f09dbf1aa027ee72c892
+DIST rawpointer-0.2.1.crate 7490 BLAKE2B ee4542886347f2bfc7cb32cf4f7d025d35c78cb763e6d6acf2a8f85ae8d0261a2a20f86903952bd33b886dcaff789bd30c507b4e5d53c0debd2e6696291a825b SHA512 bff9ba7b69e7754e89ca6d42bd3b7a547f450404de999e35c10e4002fe03ee1f563b9799673c5010aa4c2f80885ca9e45b5560c5093e117be3b75d86affcb62f
+DIST rayon-1.10.0.crate 180155 BLAKE2B 16cb706d2317d8a349394c521ec5ab550290c5ab2a0a0dc24f0282fa7eb01fd1351a7dc8b5af3a55ea321e6526fbe037fec3cf8b32463166a082a6e417a51fca SHA512 3f628c58f3af3cbd1f245ca1be9c8393eff41112891fc4e676a2b9e26b6cba7cb80d7b6ce46e75bbb65e42fc00c5c0bb6b6a4b59092882f03febeb31f9cca5d3
+DIST rayon-cond-0.3.0.crate 9913 BLAKE2B 4096dc35abfa825739953b92e2eb62822761e4f0eb3311bdb4a0e1639b4453fdabf49c5c6909d4f7ea3c1a674f55acee2d2cd4d116e5a30620ee62ec853e4e04 SHA512 4cd02f2ffc2a7f02db6b1c0468fe8ed78ea092c0629fae448542c11cb8c065883f6939b610dd0e0eb1463dc240aaa75117a5d910cfe5f4eab6a424b774f4b249
+DIST rayon-core-1.12.1.crate 70701 BLAKE2B a32eb9ae9a71b4f0881f7bfd5375aa7db5681f20f7e0b25e6ecb3161f2aad36b93026c1691d02bf298a48ea07ec9475a237fba457ed0b0b8624aebab2b4988df SHA512 33d0297b682f131c50e1eabc3be583211a5abe790301cbca91bf510e43d6714b7564ca39fab7c4bf6f02aa0df6bb394f386a61320f21ddb6bd7aea1372b5e99e
+DIST reborrow-0.5.5.crate 3789 BLAKE2B fe9dc9308f9ba42779d46a4e329068f75ca401ad17ff497f0f04710eed3392a11c316e76223b6e0b6f3d5ddee5e2382acc8307de930f17ecff36e47570b3a58c SHA512 86323b500ecbe862634f5a85d494bfb8b67398a3d704882e29826c47ec03d496f3bc4d8b35d55b530f6034a750c716e2628283bb68fa4ea612bda5f963f5c9f3
+DIST redox_syscall-0.5.1.crate 22536 BLAKE2B b7766fcf35dd865fc98495f60da54ca9a6b4cff007f4323d1c63de5d1152766aa5517139b5ec50afca39d934360c701a180c4516feccbc2600085d5d72dabd2a SHA512 0952b5f4f79f2cff04b4c21d964df7b56bc0cbff8d8a2a9a7d38ba66fd69cbd0fb004cd3d8ac6feadde8d9590858cd7e1763da7e4a5de840cdef42b1b6f1e460
+DIST rowan-0.15.15.crate 39971 BLAKE2B 26f2ac9d56998141d770bd2a4c9d19500591c814c497f9e2ebc45d89c440a623021469aa54e2775f5138aa0b87d7a1fd73b731e033822ee193122750e6cae29d SHA512 77caf068a088d2ae7fa333b744a30483b560c395fb7e6d3958858da871b495bbdcd8bd8472f44a247cbaa315fe4c7174c6d85b61cf30a0eeb7b0cbd3526ced2c
+DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
+DIST rustversion-1.0.15.crate 17406 BLAKE2B ef68a3a83e11f6734be94117e5170f92f9e1211d353a81b45ed11d4c738278c7f519ebfc9896681d564698fbcc579da10f97fddd77d56b14dbb96b90e16ea811 SHA512 e0e37511c25b71a64bd6f91cd8b29e43c4073ef56196de808634f3408cc297fc7fda1316a5adc5fffde9192b7d64f1940deb7cf396277a3805e89e15b2a855da
+DIST rustworkx-core-0.14.2.crate 93519 BLAKE2B 61d5b4457a741881014afeb9690333e400959251849d6ad26942b1c39596fe905f3ae1e8ee87f257c561b4f3f9f96401db04a983aa834fdf2b50e6afa72c8ccc SHA512 312717dcdda202759153142ed93dcc9552b2bbc637c1c9f362b750a08cc8e9fec94ffa1ffdf7117edcd8e63f1db2b6acb8613164a5b81eaebc4cdaadc0d76a31
+DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
+DIST seq-macro-0.3.5.crate 13332 BLAKE2B 2e93de606214852f2d5818398565770d01425fa2cd8361397e877dfba2c890e472d46eebe2c8ea2483f99dd783c8e80383f700b81dab3cc019cbea977f4ec96d SHA512 5eea67d40e6c6217512140791dba33e0909bdef6ddbc09ab14ebf5ec862126be68413e0c4ea34dda416ef1a9b2e64e32d7c69ae14dff44a7965b04606b6ed596
+DIST serde-1.0.200.crate 77611 BLAKE2B 57f4a76cf534ffda009a5441e694b0ac87b30e470c97d77bfd572eb54f039c3cec56f9bf5e035e4b3b257ddb341cb4b7fdb85ca3c4684167220dbb98d1e6a762 SHA512 d4d01d62e7338b147f83bdbe358813e70b7ac218ddbdeab534926d205d46f86e2086f73a01f453c9d4a3bfed07e10d57ebd1f86bdafd4fe96c6298f1e527b8eb
+DIST serde_derive-1.0.200.crate 55785 BLAKE2B 45eca5504aff6bd099a42dfc794cf732c7e76e5ed362d16082ac069d29e1e6c22bb3e13dede4bc498df8f008bdba15479de618380f37c9742a34d97c9ca12efe SHA512 e70f0e092d81542a96b33610da8ddbf04023d8ecc1fa4a4f31978699c118f096e8534f9e3e4e479ee74280efb86d752dd1fce038ef2def329fdcc10c1aa50942
+DIST sha2-0.10.8.crate 26357 BLAKE2B 1d01b381223a931dc631ad3a1191f5378b1d2f3f9f20474c5f020e366624c73b08330ce8dc4bdd3e63b15f647276f533de655b545b77f70fbedc1a1846f44f0a SHA512 3be73133a6b7690e14acaead47914dc92395dca4191fb657a2ea186fefd0ccd94d12a1121d63a26027d9a9c62b775c53202473edc461587b9dcd75472af77785
+DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
+DIST smol_str-0.2.1.crate 14689 BLAKE2B a1bc1121fcbd42fff6248b74a566ef606470b733a9e37211748512a95f3a0710ebdabe6f96d9b2d2482a8a546618e428e32fedd38ca893f6ae87c52a69948a7f SHA512 97ec765f3244210adac567a36b21436ab3cb387db0810b86258b80161ff4858d34e148fe34f5cf351b4355ef998b017d216749e12c154554fb36abe37bb541d8
+DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
+DIST syn-2.0.60.crate 255808 BLAKE2B d7a8e415dd72267fd92da48ba8b3e6feb728f0639797db1aa74aeaa2a57935b7565eec37cbd32eec826154e2c54075b121737369eb15af36c322c34b3cfd7930 SHA512 20bfa02b03c193672a9922f9a5e196185341e082a262f7c00d7c2d467d9e2d77f4af3994634923cfaeee34aa9eab510415165f052ffd9b1ed0b1b581e272898d
+DIST sysctl-0.5.5.crate 18414 BLAKE2B 221ed0a30b698a7a32b4bf86f16a641182b6e430ffb584420b555628ece13b5a6ed44f663337c4bf278d5e151967e82ea5ad55a9a8090f80b837708740830521 SHA512 cb8914b367e4d6adb31924adedaaea22a404a4274bea5a3f2b7f71dc429297e7805511c74616a41015c13db0a10a714ed8d8f5d999e87e0418afdc4791760fb4
+DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a
+DIST text-size-1.1.1.crate 12553 BLAKE2B 54c48d202650606d182b2d046d6a0a35b41d4e49adebb8f9f48a22329966891036af7dbc09a4522f0ca55533dfc8e87c276fa2bb4e7a24bed57a26794bfc3ee8 SHA512 e1b0323d2f83ad85ab8c5dcbe9b2084d09592979e9edbcd03d40576abc805b20ba3d6b59261465cae5e987542d4b665fbf797369ff1cd7cbbbfad271258b0ce8
+DIST thiserror-1.0.59.crate 21040 BLAKE2B d9ae0b1d810e7631edf072a41267a871c1cd88d71c882c8fb47d65b3dc563ca2addef0ebf9a9cb122fbfdccff5b92815b8f2e0f7c3382963828cb69d21ec8531 SHA512 254b0ad6c4b135234f89db8bd5674fb8c6b633495810140abf93cf06c58e911ad2ebcfdc002e7ce29739e95ea066eeed3fbd7c831e2858822dff620598dd147a
+DIST thiserror-impl-1.0.59.crate 15726 BLAKE2B 0e524c851f999f4592e5450d7d8ad45a922c9cc5d2229f4dd106144238c8a0ceaeff5a4d1c7e27cdc53a7eb44e60f890fabe1f43ba3d5b950da9c63e6ddcc9d1 SHA512 75543ad39d1243dab23a4b50075bec337c39045f0271337a1ccc144f25dc1e7fc23b0163f16958ded9a1f44ff359378bd22f4c0f5e095c1823e928fc929457e8
+DIST triomphe-0.1.11.crate 28299 BLAKE2B b7ad2ce3aae0d97363bda330b2e0fd83fcd661550cfb84f8b90061dd85719c18846bb002552a6e1bdfa6028636729fb5945b2568ca42d13b41ee890a2c9e0b46 SHA512 4f555d9955978efd7d1bd806d098e0d39bf7f41cac7fbe2864de02b43697735d64746300edbf18cda2a3ec61ec0936cbbedd7a4e82fb4f99916be79f8c3e34bf
+DIST typenum-1.17.0.crate 42849 BLAKE2B a6d1162050679e2c4ab2467f3a77d301f6861882eb7c9749f31d047f383dd5bd2ed5846ad63eed99ccc04d6ac36cc697a305861e1d65880b4d2ef04ee0a79b94 SHA512 99773d5d9f850c0602db4bb67dd062b0ade6f086e155216f1bb2fb6569461ba7e1b7c2f2af81ea8833bc3bfcf3fe5033edecb7c438adae63f59d3e30cf63a508
+DIST ucd-trie-0.1.6.crate 45790 BLAKE2B a6d47c903be6094423d89b8ec3ca899d0a84df6dbd6e76632bb6c9b9f40ad9c216f8fa400310753d392f85072756b43ac3892e0a2c4d55f87ab6463002554823 SHA512 00d9732797029c16d84fe518b2d90de841b87b5ed6c3628b9f097f5340f1e50778749db18f22e4ecc513f53624806ddc3484e5cc9ebffdbb6c0c800bef817e95
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+DIST unicode-properties-0.1.1.crate 41088 BLAKE2B 1cbe1df6b2d17ede3b83a65fcd09948637428d1ea17a051ea9da62b97a5564d34a39d3105e3d49362d52ad637656210cf03cfaae4b7b759a483a346e05c0db89 SHA512 377ce59a78cb7a0b5f040c90cd80ca800e9e48867df69ed3a5476618613c3520a3fb9306b212dcefc927e44db52f2cca99839b5ff762446dc190019f3ae0a039
+DIST unicode-width-0.1.12.crate 24062 BLAKE2B 61afd22353d46a8a77519af9b3580d75dafc7965967f7724cb740f1ee199c7742b3549ad6c67776b876dbda5b8f27c634431f68517e29a72ade1622da9fde446 SHA512 0bafd7a69bdf49c849e7c063ebf0487eca8a76244e3bc18c9a5f4609465dc0e5d482daceb6a9a6f4125b801bf7063cb8225fdb55173e5dc55e7bf278300df1b4
+DIST unicode-xid-0.2.4.crate 15352 BLAKE2B 80c327b39f3b8f2cdb5747cde968cfa1efe7b65b6bee9136adc881fa19f66aa5b1010d9d08de55a61b322d665b5b0cb0395e9ac471f6333c40d8dca5d97e123c SHA512 e67bd1258e1961807d9d5fe583a89ab5b82b2a529ecd32cadfc79aa5331380eb4a2db9fd96b74c8eace47f2f29021587d69bcdbf79f7e2650e92a25f7839d03c
+DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
+DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
+DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf3ab82536295019268b3125084da5dbcad818070bfdcb6a5de08da4eb483475bc225a829f58a1e3e040b5fba SHA512 da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad
+DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
+DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
+DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
+DIST winapi-util-0.1.8.crate 12416 BLAKE2B 5b48c27dfbb5db5c332f7e248138327b35ceec0909788b940168e7f6fe1402800da5e7690b2b1654da6c510b5c720330a92da16dff53ef15821f37fef6f335e3 SHA512 e186111398f9f0f0686e791ad0d72c39205e5f246b6e020df413e477ee07f32e91d09405c61dc92752f061f54fd7533435545c1a151477b40e2d68acc94a57fd
+DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
+DIST windows-sys-0.42.0.crate 3006791 BLAKE2B 7a0962364ecc416cf0ae7e49cce1298a12d819003e488f6e77aff1a52710f00378638b6a05db5557a031e1b75659587657971ddc63eaab35495133762f99a7b2 SHA512 b07b119688f3e3ad234d36979947f34e8e19988fb62101afbe18ec8afc9c8a4261128939df8bbb849d5c5982422cb4c50dbcba70f2bf401fbb7c605df1b2b354
+DIST windows-sys-0.45.0.crate 2568659 BLAKE2B 6f2d634d121a9bf41e2887e277a73f33aee69b04c7fcfc6ff973d21902787997f1e186f530e9226cddc003ffc3f85a179c069c8a8688de459f617df92d33f94f SHA512 f239346c0141b95aa76e0771e2f4e38b9a592f3cd92c6001de353637cd65cd73b94cbf9917a4eaa9b0c0b2e6e2af920b9cf6b3fccb52770df5160254cffc1c47
+DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03
+DIST windows-targets-0.42.2.crate 5492 BLAKE2B 42fc4a7d3e287fe2a70637e890304b49737776596f4a94a6d216668247092135e84322bd04caddd19c83b7700b0f27278e600ce8ed326957fabc21bffcae89b0 SHA512 84fbaffcad9a80beca77506aac26d0c5cb75aa0f21a5a70bcd3f6a16e71e8753ae00d3b89da9262c99756624163dcc0d6074fa9f99dfaae0dc098018209025f9
+DIST windows-targets-0.52.5.crate 6376 BLAKE2B 1d39fd86380ab086c536d88e67b60956410b345790ccea62a25e6a700757b2a9cfa6dfeb7b86934cf47b981ea2e5f42dddf49780ad9829a551dc507fcf108641 SHA512 d00d7bc7eec3c10272e803ee5c9ea0d9b07c43311124dae975b4f5aae7408c5f2ccb2fe6e68228ea3d4e70b6b658382cac6992ea177f43a9cba2ef95c4fda0ee
+DIST windows_aarch64_gnullvm-0.42.2.crate 364071 BLAKE2B 97c4e3b2a2dd3f936f9bfcdad23639c9c4c499eed220aec361d26d6013d798efa118e6b298f9cf841ac149d2ae5d58ca653731718450fcf2910bb5f6fa39159f SHA512 75cd7eb1def8ce9d0ff3d7468d2b1cc31cc76c08f981a2460c3d1eb09cff7100d7442863a3591621c1f5f3b3f4badf0b5c95285b6ed583e37283a8403f1095f1
+DIST windows_aarch64_gnullvm-0.52.5.crate 433266 BLAKE2B dee1b69cdf1fbd4143136909e4df3adaa7b80d7630a01ca9a42fc5ad0d5a4d9a9e2873b43c6d8e55de59f237d9199fad0768c4e1cda3b1e5354847bd70d4c79e SHA512 b4cf511025458fe30d5b11368af285610e1654a8986ea9f78fa81b8bb87d38a00c4869441c62692534df66d06baf14c8a4d17f8eb06468eb260b99e2fda6439d
+DIST windows_aarch64_msvc-0.42.2.crate 666981 BLAKE2B 9f3cc5592cdede08bcdc1e7c455325279e3b763d96942695e10dccf1dfc37a81c749b69a7d6de883d4c0fa6e8a0d2f578fe2a8d6c42ad8ef6282590bf8fc87b7 SHA512 d2dafa8c94d01c1b65ca1bd631d31f2ef842f1db7accb132ff78c3f8483221b991afd3391563e03dcec42bbc9cbdc0ebdab47b991d25af85b5ba2ac1bbf8db63
+DIST windows_aarch64_msvc-0.52.5.crate 827944 BLAKE2B 3bcb16d527be1dfdf18a9105ab259a064f00e949937ca423c8dcd1d2b90090d85aa7e42ca6ccc50c9baeee1aa144123d0a04643f9ff1147e62b2fce28b8a697b SHA512 c8974f81e37a43d92c4a8b142705e36b7acc58d9150d80ffa3997433da878044c467a2d9167ba792d37a183a0082d912500fea8c8fed743f395b63ca62a5758d
+DIST windows_i686_gnu-0.42.2.crate 736236 BLAKE2B 4ef0496462afc73d9d72af7e5da1e6d3506a92f8172930e88ae64ab97596ffd31c4f97fb969e9b677e30159c27f00a8e756deb006b630fb98ce83f03c8b762e2 SHA512 ad09d650a05cb91cb6b40f59025c023a4c286bc1194586697c506016df2b9b0d5b02606b81687bc634795a0d9a9b8a73e486599328ae09c853e8e5ba662fc59c
+DIST windows_i686_gnu-0.52.5.crate 875699 BLAKE2B 528ea431d080c5326e4c6ed316d9ea3e38b40c2e1322a12a432506a2c11555a94537661a0941e90c20eff4a9ce42c12539876dae6e77a1df18b522529928b309 SHA512 cc3e0362fb62dd5e8a855bda3be0177708ec8629ee9685f1f9aaac3f71a8cb082387388bdf49b09d3f5ee24a636b0b4f933d2c8bb75db434ee0192c8ce0547d2
+DIST windows_i686_gnullvm-0.52.5.crate 473064 BLAKE2B abe41ee330c05ee1366b3a835d15c6db3964ffd7b340ee69d215056b0d4b65c67f2782b0c04a55db64001098de87c93e2d447e25ef2a27f2cfa6685b8cf20c88 SHA512 da45c882248070911bf55698f62c245cb081a23254cdcf578df053905adb9117454235e52dcf1dd97c0d2248f92ff1d2fd3e18844a7be8d93ba08590c1eca22b
+DIST windows_i686_msvc-0.42.2.crate 724951 BLAKE2B b084286cd4927efd2889b149abf8a9fe9d3d777130db9e592982660dbf9a96a0f5e723ca121465787aa11877d2d29a5a7d7cf066cdc8fa7e90d7ca7dcb7677f1 SHA512 c1706fc36d4b157c020744a11b3eb5d7dfbf05a0b56775bc717e94b7fd725816b20154fdbcd69ac08dbfb8b8bbfa74fab72d7a9c10399aad6a1cc54cf597e804
+DIST windows_i686_msvc-0.52.5.crate 895404 BLAKE2B 02555169f8c5b944231a877de8693fc871ea0d7d33f52f60e164bacb35cec13d463af07c57fec4667948047cc222d8bda7f6a0be01a07e7184b69e4adc2b4577 SHA512 08c96f8e9385ac121549bae8ed228741b32004be20b2955d163a98d4b62af464f1682cb813681fa22823d20646f19335cf0a66203a876b105e119e05a4db0634
+DIST windows_x86_64_gnu-0.42.2.crate 699373 BLAKE2B 01c70809d564b16b268656e47295e99c992d8f9839fac8a51338a0e7c3b9cdcd0429c456ca8c1c139a8c687ed7ed6c43a82250889d881aadaa65bd037223e0a6 SHA512 5767af3c86e717f93137a89d442230e6b60a649057edb3ab104b1f82c0bcd64fe089dcdf2f4fd486a799bece1ddb5f0449641536b678211945e749ae24f35c1f
+DIST windows_x86_64_gnu-0.52.5.crate 831539 BLAKE2B 54f84c19988addeb7cbbbddb940e430e7345944589419592b99addf9b83bf6d801b18f4e80399b85bbb0b0ccf4608e36d9a50b79d8b1d6ce2b93745856e06eba SHA512 d9bf91765d02d2727344e42081f4bcfa73be97991495126f7e633f27e56a261ada3a8b865a559cfe71f9bc9aed5b14504f89138796766937b3521009726dfab8
+DIST windows_x86_64_gnullvm-0.42.2.crate 364068 BLAKE2B 64bc53e98eb3fc649c9b43a6e734de4e65088e41edacabd49f7afcc5dc6e1065c563ecfc682747dda05978dea2dba4f45c16fcc18c3b00684c3d93681e5a7deb SHA512 d39a8bc948110fe612d3f8d6628b3f0d56620df11d8a49e0fabb6c90389ad407582b3af10e4eab46c79b3d11d2e10753d73d9e55963fbeac085f41e9749bdba3
+DIST windows_x86_64_gnullvm-0.52.5.crate 433246 BLAKE2B f34328a6d100e092ecb34a6305daedf4fecd71840432f104e8707f049b60d784584ce4f02fabdd0281fdb8bc7ebed34b38fdacf3be9c8abd60084e9a4ee9fd56 SHA512 22a978c40df9705cd94e4c52f2b706e477e667b564c608d0adb144b38cb486c279c09d1eb1dd2d6c7bd3401b75a2dc5eafe0f7d642ffe6453f394d1f59483a08
+DIST windows_x86_64_msvc-0.42.2.crate 666936 BLAKE2B bc3a456e7f8bc272f8978ec69506ec9d89f97b7582ebbe05d8bd57bdf8156ef62d0d2dc6137a97e81d54059d70db97a24af9a038adff357f5dfd28805d6193b5 SHA512 53a35f438903fceb59e36bd2ac331773fb8e6c8c5a6d984e79021761f91b3b4a23efe49d219667a4d0d23dcdbf906da9c24e74fb1cff93395b5c55ff524e3788
+DIST windows_x86_64_msvc-0.52.5.crate 827905 BLAKE2B fd5dac198bfbf29878cb461a7338c289c9af16ea80b3e5fa567980d2a6a5ea6a1cd83729ce6fd67e4da171873083dbeb1d6e16a287620f0245201f9cb29c29b4 SHA512 81176090dc725d7fe3867e6322fdc4a4065168580847b35e6f8da345f685c4f66a81e35cd1880dbaabdd4cdc82446dde9d6a0e583cf0b7fe47dda8bc8002f1c6
+DIST xshell-0.2.6.crate 24472 BLAKE2B cc78b785457f3d9f5a7eb95cefba79a85d259dda5bf00c8622a94967c9696f4c820f7c42ecfe2b020a50da9777cd0960989cc3dddf63657702136d3638e12c12 SHA512 3fcde7cf5fe4ff0ec651f2ab97e6bdedfe3ce9d5506a5aa7dfa5612f8e0c3e0e4796ac9fa4bfa31d189356749967d8f6bbced7a2db3af1055a40614449c730e9
+DIST xshell-macros-0.2.6.crate 2843 BLAKE2B 6393ab28fc2ca9644ef1fbdb30cf652df11f411a10355b202c75512f75156893d8f4456a378b61faa550171bc2cdc7aa024d2e966b914750189a18763ad360fd SHA512 16ae2b4ed905ce63b3e0d14d9b72ef90066dd63e7d1b22bd8f292ffb041fb10ce75fa2d4e5914159f4c4755be4e29511849e88ff1ff7be1cb8cfbe09da72d28e
+DIST yansi-0.5.1.crate 16525 BLAKE2B 3b5a93b98293daae72f53bf3f13bfc05feba8d5b27921f79595f7448fbcb9a0dfa6cd70f467c5735b914c46b7d3592e6cce080c540a458a904308525eb3aa839 SHA512 7b33005a066cc612408a65df6533e8718d1de43efc0fd57416a19dc2b811497570e6e18f100fb26073565e395e711518c27de7d644ae64777713f1a102eb16d2
+DIST zerocopy-0.7.32.crate 151096 BLAKE2B 12c7c329ec0e0865467af08306ff4b55ce1e39fd77b094ee48ed9c6e266dfa807bda9ea72a3f7ea989916327f4d9e803d8868995728bfe2fb1c2dc1e5ecff78e SHA512 6729b05eb88029555b88c75feff4f8bc28ad9675edb02b07486381f775c8650c95e2e59612906bd9c34c5e390fd339857ca91573ee9f9ca7948572cff4171c82
+DIST zerocopy-derive-0.7.32.crate 37623 BLAKE2B 8b583d39d7bf9c3dbbba578120751c664f87363c5ba3fc45f6506a4059b9e599c43d9fc7bd498a257ff7c9d872af77d39bebdb0e65fb8009eaa2ae9903dece46 SHA512 3ce8528871fd18d6abe92b98503927451d25791c9c4af0ba39a3b6ba2006030bdc137084d080e9b1ac8b5ddf5f2121e0a3ef34bb2033a040f2c72c8149a9fc0d
diff --git a/dev-python/qiskit/metadata.xml b/dev-python/qiskit/metadata.xml
new file mode 100644
index 000000000000..d962059d50d8
--- /dev/null
+++ b/dev-python/qiskit/metadata.xml
@@ -0,0 +1,28 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- comaintainers-welcomed -->
+ <maintainer type="person" proxied="yes">
+ <email>gaboroszkar@protonmail.com</email>
+ <name>Gábor Oszkár Dénes</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <longdescription>
+ Qiskit is an open-source framework for working with noisy quantum computers at the level of pulses, circuits, and algorithms.
+ Qiskit is made up of elements that work together to enable quantum computing. This element is Terra and is the foundation on which the rest of Qiskit is built.
+ </longdescription>
+ <use>
+ <flag name="visualization">Enable visualization modules</flag>
+ </use>
+ <upstream>
+ <remote-id type="github">Qiskit/qiskit</remote-id>
+ <remote-id type="pypi">qiskit</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/qiskit/qiskit-1.1.0.ebuild b/dev-python/qiskit/qiskit-1.1.0.ebuild
new file mode 100644
index 000000000000..dcff5753571b
--- /dev/null
+++ b/dev-python/qiskit/qiskit-1.1.0.ebuild
@@ -0,0 +1,287 @@
+# Copyright 2022-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} )
+
+CRATES="
+ ahash@0.7.8
+ ahash@0.8.11
+ allocator-api2@0.2.18
+ always-assert@0.1.3
+ approx@0.5.1
+ ariadne@0.3.0
+ autocfg@1.2.0
+ bitflags@1.3.2
+ bitflags@2.5.0
+ block-buffer@0.10.4
+ boolenum@0.1.0
+ bytemuck@1.15.0
+ bytemuck_derive@1.6.0
+ byteorder@1.5.0
+ cfg-if@1.0.0
+ coe-rs@0.1.2
+ concolor-query@0.3.3
+ concolor@0.1.1
+ countme@3.0.1
+ cov-mark@2.0.0-pre.1
+ cpufeatures@0.2.12
+ crossbeam-channel@0.5.12
+ crossbeam-deque@0.8.5
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.19
+ crunchy@0.2.2
+ crypto-common@0.1.6
+ dbgf@0.1.2
+ digest@0.10.7
+ drop_bomb@0.1.5
+ dyn-stack@0.10.0
+ either@1.11.0
+ enum-as-inner@0.6.0
+ equator-macro@0.1.9
+ equator@0.1.10
+ equivalent@1.0.1
+ faer-entity@0.18.0
+ faer-ext@0.1.0
+ faer@0.18.2
+ fixedbitset@0.4.2
+ gemm-c32@0.17.1
+ gemm-c64@0.17.1
+ gemm-common@0.17.1
+ gemm-f16@0.17.1
+ gemm-f32@0.17.1
+ gemm-f64@0.17.1
+ gemm@0.17.1
+ generic-array@0.14.7
+ getrandom@0.2.14
+ half@2.4.1
+ hashbrown@0.12.3
+ hashbrown@0.14.5
+ heck@0.4.1
+ hermit-abi@0.3.9
+ indexmap@1.9.3
+ indexmap@2.2.6
+ indoc@2.0.5
+ is-terminal@0.4.12
+ itertools@0.10.5
+ itertools@0.11.0
+ itertools@0.12.1
+ jod-thread@0.1.2
+ libc@0.2.154
+ libm@0.2.8
+ lock_api@0.4.12
+ log@0.4.21
+ matrixcompare-core@0.1.0
+ matrixcompare@0.3.0
+ matrixmultiply@0.3.8
+ memchr@2.7.2
+ memoffset@0.9.1
+ miow@0.5.0
+ ndarray@0.15.6
+ npyz@0.8.3
+ num-bigint@0.4.4
+ num-complex@0.4.5
+ num-integer@0.1.46
+ num-traits@0.2.18
+ numpy@0.21.0
+ once_cell@1.19.0
+ oq3_lexer@0.6.0
+ oq3_parser@0.6.0
+ oq3_semantics@0.6.0
+ oq3_source_file@0.6.0
+ oq3_syntax@0.6.0
+ parking_lot@0.12.2
+ parking_lot_core@0.9.10
+ paste@1.0.14
+ pest@2.7.10
+ pest_derive@2.7.10
+ pest_generator@2.7.10
+ pest_meta@2.7.10
+ petgraph@0.6.4
+ portable-atomic@1.6.0
+ ppv-lite86@0.2.17
+ priority-queue@1.4.0
+ proc-macro-error-attr@1.0.4
+ proc-macro-error@1.0.4
+ proc-macro2@1.0.81
+ pulp-macro@0.1.1
+ pulp@0.18.10
+ py_literal@0.4.0
+ pyo3-build-config@0.21.2
+ pyo3-ffi@0.21.2
+ pyo3-macros-backend@0.21.2
+ pyo3-macros@0.21.2
+ pyo3@0.21.2
+ quote@1.0.36
+ ra_ap_limit@0.0.188
+ ra_ap_stdx@0.0.188
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ rand_distr@0.4.3
+ rand_pcg@0.3.1
+ raw-cpuid@10.7.0
+ rawpointer@0.2.1
+ rayon-cond@0.3.0
+ rayon-core@1.12.1
+ rayon@1.10.0
+ reborrow@0.5.5
+ redox_syscall@0.5.1
+ rowan@0.15.15
+ rustc-hash@1.1.0
+ rustversion@1.0.15
+ rustworkx-core@0.14.2
+ same-file@1.0.6
+ scopeguard@1.2.0
+ seq-macro@0.3.5
+ serde@1.0.200
+ serde_derive@1.0.200
+ sha2@0.10.8
+ smallvec@1.13.2
+ smol_str@0.2.1
+ syn@1.0.109
+ syn@2.0.60
+ sysctl@0.5.5
+ target-lexicon@0.12.14
+ text-size@1.1.1
+ thiserror-impl@1.0.59
+ thiserror@1.0.59
+ triomphe@0.1.11
+ typenum@1.17.0
+ ucd-trie@0.1.6
+ unicode-ident@1.0.12
+ unicode-properties@0.1.1
+ unicode-width@0.1.12
+ unicode-xid@0.2.4
+ unindent@0.2.3
+ version_check@0.9.4
+ walkdir@2.5.0
+ wasi@0.11.0+wasi-snapshot-preview1
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.8
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-sys@0.42.0
+ windows-sys@0.45.0
+ windows-sys@0.52.0
+ windows-targets@0.42.2
+ windows-targets@0.52.5
+ windows_aarch64_gnullvm@0.42.2
+ windows_aarch64_gnullvm@0.52.5
+ windows_aarch64_msvc@0.42.2
+ windows_aarch64_msvc@0.52.5
+ windows_i686_gnu@0.42.2
+ windows_i686_gnu@0.52.5
+ windows_i686_gnullvm@0.52.5
+ windows_i686_msvc@0.42.2
+ windows_i686_msvc@0.52.5
+ windows_x86_64_gnu@0.42.2
+ windows_x86_64_gnu@0.52.5
+ windows_x86_64_gnullvm@0.42.2
+ windows_x86_64_gnullvm@0.52.5
+ windows_x86_64_msvc@0.42.2
+ windows_x86_64_msvc@0.52.5
+ xshell-macros@0.2.6
+ xshell@0.2.6
+ yansi@0.5.1
+ zerocopy-derive@0.7.32
+ zerocopy@0.7.32
+"
+
+inherit cargo distutils-r1
+
+MY_P=qiskit-${PV}
+DESCRIPTION="An open-source SDK for working with quantum computers"
+HOMEPAGE="
+ https://github.com/Qiskit/qiskit/
+ https://pypi.org/project/qiskit/
+"
+SRC_URI="
+ https://github.com/Qiskit/qiskit/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT
+ Unicode-DFS-2016
+ || ( LGPL-3 MPL-2.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+visualization"
+
+RDEPEND="
+ >=dev-python/dill-0.3[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
+ >=dev-python/python-constraint-1.4[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/rustworkx-0.14.0[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.5[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/symengine-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10)
+ visualization? (
+ >=dev-python/matplotlib-3.3[${PYTHON_USEDEP}]
+ dev-python/pydot[${PYTHON_USEDEP}]
+ >=dev-python/pillow-4.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pylatexenc-1.4[${PYTHON_USEDEP}]
+ >=dev-python/seaborn-0.9.0[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ >=dev-python/cython-0.27.1[${PYTHON_USEDEP}]
+ test? (
+ app-text/poppler[png]
+ >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-4.24.3[${PYTHON_USEDEP}]
+ >=dev-python/networkx-2.2[${PYTHON_USEDEP}]
+ <dev-python/pytest-8.2[${PYTHON_USEDEP}]
+ >=dev-python/qiskit-aer-0.14[${PYTHON_USEDEP}]
+ >=dev-python/scikit-learn-0.20.0[${PYTHON_USEDEP}]
+ )
+"
+
+# Files built without CFLAGS/LDFLAGS, acceptable for rust
+QA_FLAGS_IGNORED="
+ usr/lib.*/py.*/site-packages/qiskit/_accelerate.*.so
+ usr/lib.*/py.*/site-packages/qiskit/_qasm2.*.so
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # strip forcing -Werror from tests that also leaks to other packages
+ sed -i -e '/filterwarnings.*error/d' test/utils/base.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/python/circuit/test_equivalence.py::TestEquivalenceLibraryVisualization::test_equivalence_draw
+ test/python/transpiler/test_unitary_synthesis_plugin.py::TestUnitarySynthesisPlugin
+ test/python/visualization/test_dag_drawer.py::TestDagDrawer::test_dag_drawer_no_register
+ )
+
+ local EPYTEST_IGNORE=(
+ # Breaks xdist
+ test/python/qasm2/test_parse_errors.py
+ )
+
+ rm -rf qiskit || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # Run the Python test suite rather than everything under test/ which
+ # includes the 'randomized' suite. Upstream run that in a separate CI job.
+ epytest test/python
+}
diff --git a/dev-python/qiskit/qiskit-1.1.1-r1.ebuild b/dev-python/qiskit/qiskit-1.1.1-r1.ebuild
new file mode 100644
index 000000000000..854b99273f90
--- /dev/null
+++ b/dev-python/qiskit/qiskit-1.1.1-r1.ebuild
@@ -0,0 +1,304 @@
+# Copyright 2022-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..13} )
+
+CRATES="
+ ahash@0.7.8
+ ahash@0.8.11
+ allocator-api2@0.2.18
+ always-assert@0.1.3
+ approx@0.5.1
+ ariadne@0.3.0
+ autocfg@1.2.0
+ bitflags@1.3.2
+ bitflags@2.5.0
+ block-buffer@0.10.4
+ boolenum@0.1.0
+ bytemuck@1.15.0
+ bytemuck_derive@1.6.0
+ byteorder@1.5.0
+ cfg-if@1.0.0
+ coe-rs@0.1.2
+ concolor-query@0.3.3
+ concolor@0.1.1
+ countme@3.0.1
+ cov-mark@2.0.0-pre.1
+ cpufeatures@0.2.12
+ crossbeam-channel@0.5.12
+ crossbeam-deque@0.8.5
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.19
+ crunchy@0.2.2
+ crypto-common@0.1.6
+ dbgf@0.1.2
+ digest@0.10.7
+ drop_bomb@0.1.5
+ dyn-stack@0.10.0
+ either@1.11.0
+ enum-as-inner@0.6.0
+ equator-macro@0.1.9
+ equator@0.1.10
+ equivalent@1.0.1
+ faer-entity@0.18.0
+ faer-ext@0.1.0
+ faer@0.18.2
+ fixedbitset@0.4.2
+ gemm-c32@0.17.1
+ gemm-c64@0.17.1
+ gemm-common@0.17.1
+ gemm-f16@0.17.1
+ gemm-f32@0.17.1
+ gemm-f64@0.17.1
+ gemm@0.17.1
+ generic-array@0.14.7
+ getrandom@0.2.14
+ half@2.4.1
+ hashbrown@0.12.3
+ hashbrown@0.14.5
+ heck@0.4.1
+ hermit-abi@0.3.9
+ indexmap@1.9.3
+ indexmap@2.2.6
+ indoc@2.0.5
+ is-terminal@0.4.12
+ itertools@0.10.5
+ itertools@0.11.0
+ itertools@0.12.1
+ jod-thread@0.1.2
+ libc@0.2.154
+ libm@0.2.8
+ lock_api@0.4.12
+ log@0.4.21
+ matrixcompare-core@0.1.0
+ matrixcompare@0.3.0
+ matrixmultiply@0.3.8
+ memchr@2.7.2
+ memoffset@0.9.1
+ miow@0.5.0
+ ndarray@0.15.6
+ npyz@0.8.3
+ num-bigint@0.4.4
+ num-complex@0.4.5
+ num-integer@0.1.46
+ num-traits@0.2.18
+ numpy@0.21.0
+ once_cell@1.19.0
+ oq3_lexer@0.6.0
+ oq3_parser@0.6.0
+ oq3_semantics@0.6.0
+ oq3_source_file@0.6.0
+ oq3_syntax@0.6.0
+ parking_lot@0.12.2
+ parking_lot_core@0.9.10
+ paste@1.0.14
+ pest@2.7.10
+ pest_derive@2.7.10
+ pest_generator@2.7.10
+ pest_meta@2.7.10
+ petgraph@0.6.4
+ portable-atomic@1.6.0
+ ppv-lite86@0.2.17
+ priority-queue@1.4.0
+ proc-macro-error-attr@1.0.4
+ proc-macro-error@1.0.4
+ proc-macro2@1.0.81
+ pulp-macro@0.1.1
+ pulp@0.18.10
+ py_literal@0.4.0
+ pyo3-build-config@0.21.2
+ pyo3-ffi@0.21.2
+ pyo3-macros-backend@0.21.2
+ pyo3-macros@0.21.2
+ pyo3@0.21.2
+ quote@1.0.36
+ ra_ap_limit@0.0.188
+ ra_ap_stdx@0.0.188
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ rand_distr@0.4.3
+ rand_pcg@0.3.1
+ raw-cpuid@10.7.0
+ rawpointer@0.2.1
+ rayon-cond@0.3.0
+ rayon-core@1.12.1
+ rayon@1.10.0
+ reborrow@0.5.5
+ redox_syscall@0.5.1
+ rowan@0.15.15
+ rustc-hash@1.1.0
+ rustversion@1.0.15
+ rustworkx-core@0.14.2
+ same-file@1.0.6
+ scopeguard@1.2.0
+ seq-macro@0.3.5
+ serde@1.0.200
+ serde_derive@1.0.200
+ sha2@0.10.8
+ smallvec@1.13.2
+ smol_str@0.2.1
+ syn@1.0.109
+ syn@2.0.60
+ sysctl@0.5.5
+ target-lexicon@0.12.14
+ text-size@1.1.1
+ thiserror-impl@1.0.59
+ thiserror@1.0.59
+ triomphe@0.1.11
+ typenum@1.17.0
+ ucd-trie@0.1.6
+ unicode-ident@1.0.12
+ unicode-properties@0.1.1
+ unicode-width@0.1.12
+ unicode-xid@0.2.4
+ unindent@0.2.3
+ version_check@0.9.4
+ walkdir@2.5.0
+ wasi@0.11.0+wasi-snapshot-preview1
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.8
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-sys@0.42.0
+ windows-sys@0.45.0
+ windows-sys@0.52.0
+ windows-targets@0.42.2
+ windows-targets@0.52.5
+ windows_aarch64_gnullvm@0.42.2
+ windows_aarch64_gnullvm@0.52.5
+ windows_aarch64_msvc@0.42.2
+ windows_aarch64_msvc@0.52.5
+ windows_i686_gnu@0.42.2
+ windows_i686_gnu@0.52.5
+ windows_i686_gnullvm@0.52.5
+ windows_i686_msvc@0.42.2
+ windows_i686_msvc@0.52.5
+ windows_x86_64_gnu@0.42.2
+ windows_x86_64_gnu@0.52.5
+ windows_x86_64_gnullvm@0.42.2
+ windows_x86_64_gnullvm@0.52.5
+ windows_x86_64_msvc@0.42.2
+ windows_x86_64_msvc@0.52.5
+ xshell-macros@0.2.6
+ xshell@0.2.6
+ yansi@0.5.1
+ zerocopy-derive@0.7.32
+ zerocopy@0.7.32
+"
+
+inherit cargo distutils-r1
+
+MY_P=qiskit-${PV}
+DESCRIPTION="An open-source SDK for working with quantum computers"
+HOMEPAGE="
+ https://github.com/Qiskit/qiskit/
+ https://pypi.org/project/qiskit/
+"
+SRC_URI="
+ https://github.com/Qiskit/qiskit/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+ https://github.com/PyO3/pyo3/pull/4324.patch
+ -> pyo3-ffi-0.22.1-py313.patch
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT
+ Unicode-DFS-2016
+ || ( LGPL-3 MPL-2.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+visualization"
+
+RDEPEND="
+ >=dev-python/dill-0.3[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
+ >=dev-python/python-constraint-1.4[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/rustworkx-0.14.0[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.5[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/symengine-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10)
+ visualization? (
+ >=dev-python/matplotlib-3.3[${PYTHON_USEDEP}]
+ dev-python/pydot[${PYTHON_USEDEP}]
+ >=dev-python/pillow-4.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pylatexenc-1.4[${PYTHON_USEDEP}]
+ >=dev-python/seaborn-0.9.0[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ >=dev-python/cython-0.27.1[${PYTHON_USEDEP}]
+ test? (
+ app-text/poppler[png]
+ >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-4.24.3[${PYTHON_USEDEP}]
+ >=dev-python/networkx-2.2[${PYTHON_USEDEP}]
+ >=dev-python/qiskit-aer-0.14[${PYTHON_USEDEP}]
+ >=dev-python/scikit-learn-0.20.0[${PYTHON_USEDEP}]
+ )
+"
+
+# Files built without CFLAGS/LDFLAGS, acceptable for rust
+QA_FLAGS_IGNORED="
+ usr/lib.*/py.*/site-packages/qiskit/_accelerate.*.so
+ usr/lib.*/py.*/site-packages/qiskit/_qasm2.*.so
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # strip forcing -Werror from tests that also leaks to other packages
+ sed -i -e '/filterwarnings.*error/d' test/utils/base.py || die
+
+ cd "${ECARGO_VENDOR}"/pyo3-ffi-*/ || die
+ eapply -p2 "${DISTDIR}/pyo3-ffi-0.22.1-py313.patch"
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/python/circuit/test_equivalence.py::TestEquivalenceLibraryVisualization::test_equivalence_draw
+ test/python/quantum_info/operators/symplectic/test_sparse_pauli_op.py::TestSparsePauliOpConversions::test_to_matrix_zero
+ test/python/transpiler/test_unitary_synthesis_plugin.py::TestUnitarySynthesisPlugin
+ test/python/visualization/test_dag_drawer.py::TestDagDrawer::test_dag_drawer_no_register
+ )
+
+ local EPYTEST_IGNORE=(
+ # Breaks xdist
+ test/python/qasm2/test_parse_errors.py
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # docstring mismatches
+ test/python/utils/test_deprecation.py::AddDeprecationDocstringTest::test_add_deprecation_docstring_meta_lines
+ test/python/utils/test_deprecation.py::AddDeprecationDocstringTest::test_add_deprecation_docstring_multiple_entries
+ test/python/utils/test_deprecation.py::AddDeprecationDocstringTest::test_add_deprecation_docstring_no_meta_lines
+ )
+ ;;
+ esac
+
+ rm -rf qiskit || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # Run the Python test suite rather than everything under test/ which
+ # includes the 'randomized' suite. Upstream run that in a separate CI job.
+ epytest test/python
+}
diff --git a/dev-python/qiskit/qiskit-1.1.1.ebuild b/dev-python/qiskit/qiskit-1.1.1.ebuild
new file mode 100644
index 000000000000..63c9785275fa
--- /dev/null
+++ b/dev-python/qiskit/qiskit-1.1.1.ebuild
@@ -0,0 +1,287 @@
+# Copyright 2022-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} )
+
+CRATES="
+ ahash@0.7.8
+ ahash@0.8.11
+ allocator-api2@0.2.18
+ always-assert@0.1.3
+ approx@0.5.1
+ ariadne@0.3.0
+ autocfg@1.2.0
+ bitflags@1.3.2
+ bitflags@2.5.0
+ block-buffer@0.10.4
+ boolenum@0.1.0
+ bytemuck@1.15.0
+ bytemuck_derive@1.6.0
+ byteorder@1.5.0
+ cfg-if@1.0.0
+ coe-rs@0.1.2
+ concolor-query@0.3.3
+ concolor@0.1.1
+ countme@3.0.1
+ cov-mark@2.0.0-pre.1
+ cpufeatures@0.2.12
+ crossbeam-channel@0.5.12
+ crossbeam-deque@0.8.5
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.19
+ crunchy@0.2.2
+ crypto-common@0.1.6
+ dbgf@0.1.2
+ digest@0.10.7
+ drop_bomb@0.1.5
+ dyn-stack@0.10.0
+ either@1.11.0
+ enum-as-inner@0.6.0
+ equator-macro@0.1.9
+ equator@0.1.10
+ equivalent@1.0.1
+ faer-entity@0.18.0
+ faer-ext@0.1.0
+ faer@0.18.2
+ fixedbitset@0.4.2
+ gemm-c32@0.17.1
+ gemm-c64@0.17.1
+ gemm-common@0.17.1
+ gemm-f16@0.17.1
+ gemm-f32@0.17.1
+ gemm-f64@0.17.1
+ gemm@0.17.1
+ generic-array@0.14.7
+ getrandom@0.2.14
+ half@2.4.1
+ hashbrown@0.12.3
+ hashbrown@0.14.5
+ heck@0.4.1
+ hermit-abi@0.3.9
+ indexmap@1.9.3
+ indexmap@2.2.6
+ indoc@2.0.5
+ is-terminal@0.4.12
+ itertools@0.10.5
+ itertools@0.11.0
+ itertools@0.12.1
+ jod-thread@0.1.2
+ libc@0.2.154
+ libm@0.2.8
+ lock_api@0.4.12
+ log@0.4.21
+ matrixcompare-core@0.1.0
+ matrixcompare@0.3.0
+ matrixmultiply@0.3.8
+ memchr@2.7.2
+ memoffset@0.9.1
+ miow@0.5.0
+ ndarray@0.15.6
+ npyz@0.8.3
+ num-bigint@0.4.4
+ num-complex@0.4.5
+ num-integer@0.1.46
+ num-traits@0.2.18
+ numpy@0.21.0
+ once_cell@1.19.0
+ oq3_lexer@0.6.0
+ oq3_parser@0.6.0
+ oq3_semantics@0.6.0
+ oq3_source_file@0.6.0
+ oq3_syntax@0.6.0
+ parking_lot@0.12.2
+ parking_lot_core@0.9.10
+ paste@1.0.14
+ pest@2.7.10
+ pest_derive@2.7.10
+ pest_generator@2.7.10
+ pest_meta@2.7.10
+ petgraph@0.6.4
+ portable-atomic@1.6.0
+ ppv-lite86@0.2.17
+ priority-queue@1.4.0
+ proc-macro-error-attr@1.0.4
+ proc-macro-error@1.0.4
+ proc-macro2@1.0.81
+ pulp-macro@0.1.1
+ pulp@0.18.10
+ py_literal@0.4.0
+ pyo3-build-config@0.21.2
+ pyo3-ffi@0.21.2
+ pyo3-macros-backend@0.21.2
+ pyo3-macros@0.21.2
+ pyo3@0.21.2
+ quote@1.0.36
+ ra_ap_limit@0.0.188
+ ra_ap_stdx@0.0.188
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ rand_distr@0.4.3
+ rand_pcg@0.3.1
+ raw-cpuid@10.7.0
+ rawpointer@0.2.1
+ rayon-cond@0.3.0
+ rayon-core@1.12.1
+ rayon@1.10.0
+ reborrow@0.5.5
+ redox_syscall@0.5.1
+ rowan@0.15.15
+ rustc-hash@1.1.0
+ rustversion@1.0.15
+ rustworkx-core@0.14.2
+ same-file@1.0.6
+ scopeguard@1.2.0
+ seq-macro@0.3.5
+ serde@1.0.200
+ serde_derive@1.0.200
+ sha2@0.10.8
+ smallvec@1.13.2
+ smol_str@0.2.1
+ syn@1.0.109
+ syn@2.0.60
+ sysctl@0.5.5
+ target-lexicon@0.12.14
+ text-size@1.1.1
+ thiserror-impl@1.0.59
+ thiserror@1.0.59
+ triomphe@0.1.11
+ typenum@1.17.0
+ ucd-trie@0.1.6
+ unicode-ident@1.0.12
+ unicode-properties@0.1.1
+ unicode-width@0.1.12
+ unicode-xid@0.2.4
+ unindent@0.2.3
+ version_check@0.9.4
+ walkdir@2.5.0
+ wasi@0.11.0+wasi-snapshot-preview1
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-util@0.1.8
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-sys@0.42.0
+ windows-sys@0.45.0
+ windows-sys@0.52.0
+ windows-targets@0.42.2
+ windows-targets@0.52.5
+ windows_aarch64_gnullvm@0.42.2
+ windows_aarch64_gnullvm@0.52.5
+ windows_aarch64_msvc@0.42.2
+ windows_aarch64_msvc@0.52.5
+ windows_i686_gnu@0.42.2
+ windows_i686_gnu@0.52.5
+ windows_i686_gnullvm@0.52.5
+ windows_i686_msvc@0.42.2
+ windows_i686_msvc@0.52.5
+ windows_x86_64_gnu@0.42.2
+ windows_x86_64_gnu@0.52.5
+ windows_x86_64_gnullvm@0.42.2
+ windows_x86_64_gnullvm@0.52.5
+ windows_x86_64_msvc@0.42.2
+ windows_x86_64_msvc@0.52.5
+ xshell-macros@0.2.6
+ xshell@0.2.6
+ yansi@0.5.1
+ zerocopy-derive@0.7.32
+ zerocopy@0.7.32
+"
+
+inherit cargo distutils-r1
+
+MY_P=qiskit-${PV}
+DESCRIPTION="An open-source SDK for working with quantum computers"
+HOMEPAGE="
+ https://github.com/Qiskit/qiskit/
+ https://pypi.org/project/qiskit/
+"
+SRC_URI="
+ https://github.com/Qiskit/qiskit/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT
+ Unicode-DFS-2016
+ || ( LGPL-3 MPL-2.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+visualization"
+
+RDEPEND="
+ >=dev-python/dill-0.3[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
+ >=dev-python/python-constraint-1.4[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.0[${PYTHON_USEDEP}]
+ >=dev-python/rustworkx-0.14.0[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.5[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/symengine-0.11.0[${PYTHON_USEDEP}]
+ >=dev-python/sympy-1.3[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ ' 3.10)
+ visualization? (
+ >=dev-python/matplotlib-3.3[${PYTHON_USEDEP}]
+ dev-python/pydot[${PYTHON_USEDEP}]
+ >=dev-python/pillow-4.2.1[${PYTHON_USEDEP}]
+ >=dev-python/pylatexenc-1.4[${PYTHON_USEDEP}]
+ >=dev-python/seaborn-0.9.0[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ >=dev-python/cython-0.27.1[${PYTHON_USEDEP}]
+ test? (
+ app-text/poppler[png]
+ >=dev-python/ddt-1.4.4[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-4.24.3[${PYTHON_USEDEP}]
+ >=dev-python/networkx-2.2[${PYTHON_USEDEP}]
+ >=dev-python/qiskit-aer-0.14[${PYTHON_USEDEP}]
+ >=dev-python/scikit-learn-0.20.0[${PYTHON_USEDEP}]
+ )
+"
+
+# Files built without CFLAGS/LDFLAGS, acceptable for rust
+QA_FLAGS_IGNORED="
+ usr/lib.*/py.*/site-packages/qiskit/_accelerate.*.so
+ usr/lib.*/py.*/site-packages/qiskit/_qasm2.*.so
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # strip forcing -Werror from tests that also leaks to other packages
+ sed -i -e '/filterwarnings.*error/d' test/utils/base.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ test/python/circuit/test_equivalence.py::TestEquivalenceLibraryVisualization::test_equivalence_draw
+ test/python/quantum_info/operators/symplectic/test_sparse_pauli_op.py::TestSparsePauliOpConversions::test_to_matrix_zero
+ test/python/transpiler/test_unitary_synthesis_plugin.py::TestUnitarySynthesisPlugin
+ test/python/visualization/test_dag_drawer.py::TestDagDrawer::test_dag_drawer_no_register
+ )
+
+ local EPYTEST_IGNORE=(
+ # Breaks xdist
+ test/python/qasm2/test_parse_errors.py
+ )
+
+ rm -rf qiskit || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # Run the Python test suite rather than everything under test/ which
+ # includes the 'randomized' suite. Upstream run that in a separate CI job.
+ epytest test/python
+}
diff --git a/dev-python/qrcode/qrcode-7.4.2.ebuild b/dev-python/qrcode/qrcode-7.4.2.ebuild
index 3630698dcec6..e943b475b02a 100644
--- a/dev-python/qrcode/qrcode-7.4.2.ebuild
+++ b/dev-python/qrcode/qrcode-7.4.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -30,8 +30,10 @@ RDEPEND="
distutils_enable_tests pytest
EPYTEST_DESELECT=(
- # TODO
+ # sys.stdout is not properly mocked, see
+ # https://github.com/lincolnloop/python-qrcode/pull/364
qrcode/tests/test_script.py::ScriptTest::test_factory
+ qrcode/tests/test_script.py::ScriptTest::test_pipe
# release process-specific tests, broken on py3.12
qrcode/tests/test_release.py
)
diff --git a/dev-python/qscintilla-python/Manifest b/dev-python/qscintilla-python/Manifest
index 3ff66b83fdc4..96cf9c1d21e4 100644
--- a/dev-python/qscintilla-python/Manifest
+++ b/dev-python/qscintilla-python/Manifest
@@ -1,2 +1 @@
-DIST QScintilla_src-2.13.3.tar.gz 3060031 BLAKE2B e93dd884f630ef5f02fbf558ea8d9f94cfde1af03b811c8df9c3197ce9cadc430bf9727aec114ba118588effa5bc76166e3bda48800b6112edc8e8c598d72952 SHA512 be102fd6123fad0bc7f8de39080886369398889de48a4ec8873a0751890d7be1f238ae5194b71d31aac492e2881b6bf7885d9c06a2a47e36328780b47694f5b5
DIST QScintilla_src-2.14.1.tar.gz 3233610 BLAKE2B 83b54378f0d3fa39ea120214a06c91982f81281e15c61fc70a9e83928be64724cfd2679b5e4aafee44a324e24a6c4729693cd118c6ad0b1636a199f2f41d34fe SHA512 19e2f9e0a14947501c575018df368d24eb7f8c74e74faa5246db36415bf28dc0beee507ed0e73107c02b36a99bbaf55f0ef3349f479d2332e1b92b2c4a32788a
diff --git a/dev-python/qscintilla-python/metadata.xml b/dev-python/qscintilla-python/metadata.xml
index fe062101d646..cb669d0602d2 100644
--- a/dev-python/qscintilla-python/metadata.xml
+++ b/dev-python/qscintilla-python/metadata.xml
@@ -1,14 +1,7 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="project">
- <email>qt@gentoo.org</email>
- <name>Gentoo Qt Project</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
<maintainer status="active">
<email>phil@riverbankcomputing.com</email>
diff --git a/dev-python/qscintilla-python/qscintilla-python-2.13.3.ebuild b/dev-python/qscintilla-python/qscintilla-python-2.13.3.ebuild
deleted file mode 100644
index af961b1876ec..000000000000
--- a/dev-python/qscintilla-python/qscintilla-python-2.13.3.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-inherit python-r1 qmake-utils
-
-DESCRIPTION="Python bindings for QScintilla"
-HOMEPAGE="https://www.riverbankcomputing.com/software/qscintilla/ https://pypi.org/project/QScintilla/"
-
-MY_PN=QScintilla
-MY_P=${MY_PN}_src-${PV/_pre/.dev}
-if [[ ${PV} == *_pre* ]]; then
- SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.gz"
-else
- SRC_URI="https://www.riverbankcomputing.com/static/Downloads/${MY_PN}/${PV}/${MY_P}.tar.gz"
-fi
-S=${WORKDIR}/${MY_P}/Python
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-IUSE="debug"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="${PYTHON_DEPS}
- >=dev-python/PyQt5-5.15.5[gui,printsupport,widgets,${PYTHON_USEDEP}]
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtprintsupport:5
- dev-qt/qtwidgets:5
- ~x11-libs/qscintilla-${PV}:=
-"
-RDEPEND="${DEPEND}
- >=dev-python/PyQt5-sip-12.9:=[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/PyQt-builder-1.10[${PYTHON_USEDEP}]
- >=dev-python/sip-6.2[${PYTHON_USEDEP}]
- dev-qt/qtcore:5
-"
-
-src_prepare() {
- default
- mv pyproject{-qt5,}.toml || die
-}
-
-src_configure() {
- configuration() {
- local myconf=(
- sip-build
- --verbose
- --build-dir="${BUILD_DIR}"
- --scripts-dir="$(python_get_scriptdir)"
- --qmake="$(qt5_get_bindir)"/qmake
- --no-make
- $(usev debug '--debug --qml-debug --tracing')
- )
- echo "${myconf[@]}"
- "${myconf[@]}" || die
-
- # Run eqmake to respect toolchain and build flags
- run_in_build_dir eqmake5 -recursive ${MY_PN}.pro
- }
- python_foreach_impl configuration
-}
-
-src_compile() {
- python_foreach_impl run_in_build_dir default
-}
-
-src_install() {
- installation() {
- emake INSTALL_ROOT="${D}" install
- python_optimize
- }
- python_foreach_impl run_in_build_dir installation
-}
diff --git a/dev-python/qscintilla-python/qscintilla-python-2.14.1-r2.ebuild b/dev-python/qscintilla-python/qscintilla-python-2.14.1-r2.ebuild
new file mode 100644
index 000000000000..83e0ea4da40d
--- /dev/null
+++ b/dev-python/qscintilla-python/qscintilla-python-2.14.1-r2.ebuild
@@ -0,0 +1,112 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+inherit multibuild python-r1 qmake-utils out-of-source-utils
+
+DESCRIPTION="Python bindings for QScintilla"
+HOMEPAGE="https://www.riverbankcomputing.com/software/qscintilla/ https://pypi.org/project/QScintilla/"
+
+MY_PN=QScintilla
+MY_P=${MY_PN}_src-${PV/_pre/.dev}
+SRC_URI="https://www.riverbankcomputing.com/static/Downloads/${MY_PN}/${PV}/${MY_P}.tar.gz"
+S=${WORKDIR}/${MY_P}/Python
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~ppc64 x86"
+IUSE="debug +qt5 qt6"
+
+REQUIRED_USE="|| ( qt5 qt6 ) ${PYTHON_REQUIRED_USE}"
+
+# no tests
+RESTRICT="test"
+
+DEPEND="${PYTHON_DEPS}
+ qt5? (
+ >=dev-python/PyQt5-5.15.5[gui,printsupport,widgets,${PYTHON_USEDEP}]
+ dev-qt/qtcore:5
+ dev-qt/qtgui:5
+ dev-qt/qtprintsupport:5
+ dev-qt/qtwidgets:5
+ )
+ qt6? (
+ dev-python/PyQt6[gui,printsupport,widgets,${PYTHON_USEDEP}]
+ dev-qt/qtbase:6[gui,widgets]
+ )
+ ~x11-libs/qscintilla-${PV}:=[qt5(+)?,qt6(-)?]
+"
+RDEPEND="${DEPEND}
+ qt5? ( >=dev-python/PyQt5-sip-12.9:=[${PYTHON_USEDEP}] )
+ qt6? ( >=dev-python/PyQt6-sip-13.5:=[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ >=dev-python/PyQt-builder-1.10[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.2[${PYTHON_USEDEP}]
+ qt5? ( dev-qt/qtcore:5 )
+ qt6? ( dev-qt/qtbase:6 )
+"
+
+pkg_setup() {
+ MULTIBUILD_VARIANTS=( $(usev qt5) $(usev qt6) )
+}
+
+src_configure() {
+ my_src_configure() {
+ case ${MULTIBUILD_VARIANT} in
+ qt5)
+ configuration() {
+ local myconf=(
+ sip-build
+ --verbose
+ --build-dir="${BUILD_DIR}"
+ --scripts-dir="$(python_get_scriptdir)"
+ --qmake="$(qt5_get_bindir)"/qmake
+ --no-make
+ $(usev debug '--debug --qml-debug --tracing')
+ )
+ echo "${myconf[@]}"
+ "${myconf[@]}" || die
+
+ run_in_build_dir qmake5 -recursive ${MY_PN}.pro
+ }
+ mv pyproject{-${MULTIBUILD_VARIANT},}.toml || die
+ python_foreach_impl configuration
+ ;;
+ qt6)
+ configuration() {
+ local myconf=(
+ sip-build
+ --verbose
+ --build-dir="${BUILD_DIR}"
+ --scripts-dir="$(python_get_scriptdir)"
+ --qmake="$(qt6_get_bindir)"/qmake
+ --no-make
+ $(usev debug '--debug --qml-debug --tracing')
+ )
+ echo "${myconf[@]}"
+ "${myconf[@]}" || die
+
+ run_in_build_dir qmake6 -recursive ${MY_PN}.pro
+ }
+ mv pyproject{-${MULTIBUILD_VARIANT},}.toml || die
+ python_foreach_impl configuration
+ ;;
+ esac
+ }
+ multibuild_foreach_variant my_src_configure
+}
+
+src_compile() {
+ multibuild_foreach_variant python_foreach_impl run_in_build_dir default
+}
+
+src_install() {
+ installation() {
+ emake INSTALL_ROOT="${D}" install
+ python_optimize
+ }
+ multibuild_foreach_variant python_foreach_impl run_in_build_dir installation
+}
diff --git a/dev-python/qscintilla-python/qscintilla-python-2.14.1.ebuild b/dev-python/qscintilla-python/qscintilla-python-2.14.1.ebuild
deleted file mode 100644
index 2a2e748056e9..000000000000
--- a/dev-python/qscintilla-python/qscintilla-python-2.14.1.ebuild
+++ /dev/null
@@ -1,80 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-inherit out-of-source-utils python-r1 qmake-utils
-
-DESCRIPTION="Python bindings for QScintilla"
-HOMEPAGE="https://www.riverbankcomputing.com/software/qscintilla/ https://pypi.org/project/QScintilla/"
-
-MY_PN=QScintilla
-MY_P=${MY_PN}_src-${PV/_pre/.dev}
-if [[ ${PV} == *_pre* ]]; then
- SRC_URI="https://dev.gentoo.org/~pesa/distfiles/${MY_P}.tar.gz"
-else
- SRC_URI="https://www.riverbankcomputing.com/static/Downloads/${MY_PN}/${PV}/${MY_P}.tar.gz"
-fi
-S=${WORKDIR}/${MY_P}/Python
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-IUSE="debug"
-
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-DEPEND="${PYTHON_DEPS}
- >=dev-python/PyQt5-5.15.5[gui,printsupport,widgets,${PYTHON_USEDEP}]
- dev-qt/qtcore:5
- dev-qt/qtgui:5
- dev-qt/qtprintsupport:5
- dev-qt/qtwidgets:5
- ~x11-libs/qscintilla-${PV}:=
-"
-RDEPEND="${DEPEND}
- >=dev-python/PyQt5-sip-12.12:=[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/PyQt-builder-1.15[${PYTHON_USEDEP}]
- >=dev-python/sip-6.7[${PYTHON_USEDEP}]
- dev-qt/qtcore:5
-"
-
-src_prepare() {
- default
- mv pyproject{-qt5,}.toml || die
-}
-
-src_configure() {
- configuration() {
- local myconf=(
- sip-build
- --verbose
- --build-dir="${BUILD_DIR}"
- --scripts-dir="$(python_get_scriptdir)"
- --qmake="$(qt5_get_bindir)"/qmake
- --no-make
- $(usev debug '--debug --qml-debug --tracing')
- )
- echo "${myconf[@]}"
- "${myconf[@]}" || die
-
- # Run eqmake to respect toolchain and build flags
- run_in_build_dir eqmake5 -recursive ${MY_PN}.pro
- }
- python_foreach_impl configuration
-}
-
-src_compile() {
- python_foreach_impl run_in_build_dir default
-}
-
-src_install() {
- installation() {
- emake INSTALL_ROOT="${D}" install
- python_optimize
- }
- python_foreach_impl run_in_build_dir installation
-}
diff --git a/dev-python/qstylizer/Manifest b/dev-python/qstylizer/Manifest
index 331c10749b7b..690b5c56dd46 100644
--- a/dev-python/qstylizer/Manifest
+++ b/dev-python/qstylizer/Manifest
@@ -1 +1 @@
-DIST qstylizer-0.2.2.gh.tar.gz 20752 BLAKE2B c5442821389863bc03bb0659b528322cc12f5be8137f74746e3ec7a18bf89d2822d533d13cc23842daf32a0077ad84d0e7b5dc62f231e75e57388064bd08e5fc SHA512 682f10462965a93b36f0e44b75885b9d60b4d3cd03369976b977c9b928afed4e930b6b7ef26850bdb7b40ef2a31db35a9778738582dae8715f54c1f00a957fb3
+DIST qstylizer-0.2.3.gh.tar.gz 20813 BLAKE2B edb19f9bcadee3229a1d98cc7170ba7bbab266fea74ab42987380dd8aec0ba4d02dda0fb7522f2cfbc52feb5646e44ee1603528d3331315ddcbcc18095a9ca76 SHA512 ba5188f702d4fbd43d963be206c75d55710bfe63accc84aea3bfd03ad06a0cb484d50b538c2d1d6a7ce21055d0b2eefb2cb35a732b929f5477033a8ddea945c0
diff --git a/dev-python/qstylizer/qstylizer-0.2.2.ebuild b/dev-python/qstylizer/qstylizer-0.2.2.ebuild
deleted file mode 100644
index 3f24d1fa7d5b..000000000000
--- a/dev-python/qstylizer/qstylizer-0.2.2.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Stylesheet Generator for PyQt5/PySide2"
-HOMEPAGE="
- https://github.com/blambright/qstylizer/
- https://pypi.org/project/qstylizer/
-"
-SRC_URI="
- https://github.com/blambright/qstylizer/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/tinycss2-0.5[${PYTHON_USEDEP}]
- <dev-python/tinycss2-2[${PYTHON_USEDEP}]
- >=dev-python/inflection-0.3.0[${PYTHON_USEDEP}]
- <dev-python/inflection-1[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- dev-python/pbr[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc \
- dev-python/sphinx-rtd-theme \
- dev-python/sphinxcontrib-autoprogram
-
-python_prepare_all() {
- # fix test
- # https://github.com/blambright/qstylizer/pull/17
- sed -e 's:[.]called_once_with:.assert_called_once_with:' \
- -i test/unit/test_style.py || die
-
- distutils-r1_python_prepare_all
-
- export PBR_VERSION=${PV}
-}
diff --git a/dev-python/qstylizer/qstylizer-0.2.3.ebuild b/dev-python/qstylizer/qstylizer-0.2.3.ebuild
new file mode 100644
index 000000000000..a73a48d3b655
--- /dev/null
+++ b/dev-python/qstylizer/qstylizer-0.2.3.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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Stylesheet Generator for PyQt5/PySide2"
+HOMEPAGE="
+ https://github.com/blambright/qstylizer/
+ https://pypi.org/project/qstylizer/
+"
+SRC_URI="
+ https://github.com/blambright/qstylizer/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/tinycss2-0.5[${PYTHON_USEDEP}]
+ <dev-python/tinycss2-2[${PYTHON_USEDEP}]
+ >=dev-python/inflection-0.3.0[${PYTHON_USEDEP}]
+ <dev-python/inflection-1[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc \
+ dev-python/sphinx-rtd-theme \
+ dev-python/sphinxcontrib-autoprogram
+
+export PBR_VERSION=${PV}
diff --git a/dev-python/qtawesome/Manifest b/dev-python/qtawesome/Manifest
index 25346ce48f10..e60247f3fd04 100644
--- a/dev-python/qtawesome/Manifest
+++ b/dev-python/qtawesome/Manifest
@@ -1 +1 @@
-DIST QtAwesome-1.2.3.tar.gz 2281470 BLAKE2B 3aa015708b6cc26b01fdb17cd1a283ce6aaf05eb8e6e6c316f02a6475738565fb350d64d298c7c2983604f61f40c3b51f3b5e2c134ecae6142519fa78593daf9 SHA512 8c265511922016e6e304443d5771ce19abae62afc8a7115452bde83ca033cb63da2fbe3a91073ff0394ded9a5959a965a0e2a17cae9ed8be0e7c93309a952337
+DIST QtAwesome-1.3.1.tar.gz 2372190 BLAKE2B d7a0a0d5ac1ff8e60e14ce407a2220ef9bc5463304274df7d04a00178b3021dd4f5e35c028a4038f53adf04c85eabd8e33b10c59d57804733265ee17d5875563 SHA512 6b50a4fce231331ec05497905f4fb1e7d91d5bbc9dfd963f3b2dd649d3d28f20436d1c3aed574457ff4afaf277d0e53b371ead7e0ddfb208ab8a4b5ddd4bc2f1
diff --git a/dev-python/qtawesome/qtawesome-1.2.3-r1.ebuild b/dev-python/qtawesome/qtawesome-1.2.3-r1.ebuild
deleted file mode 100644
index 6802a0bc902b..000000000000
--- a/dev-python/qtawesome/qtawesome-1.2.3-r1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="Enables iconic fonts such as Font Awesome in PyQt"
-HOMEPAGE="
- https://github.com/spyder-ide/qtawesome/
- https://pypi.org/project/QtAwesome/
-"
-SRC_URI="$(pypi_sdist_url --no-normalize QtAwesome)"
-S="${WORKDIR}/QtAwesome-${PV}"
-
-LICENSE="MIT"
-# bundled fonts
-# -------------
-# Font Awesome, Elusive Icons: OFL-1.1
-# Phosphor: MIT
-# Material Design Icons, Remix Icon: Apache-2.0
-# Codicons: CC-BY-4.0
-LICENSE+=" Apache-2.0 CC-BY-4.0 MIT OFL-1.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-RDEPEND="
- media-fonts/fontawesome
- dev-python/QtPy[gui,${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-qt[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs/source
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- nonfatal epytest || die -n "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/qtawesome/qtawesome-1.3.1.ebuild b/dev-python/qtawesome/qtawesome-1.3.1.ebuild
new file mode 100644
index 000000000000..8d34344ce5dc
--- /dev/null
+++ b/dev-python/qtawesome/qtawesome-1.3.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="Enables iconic fonts such as Font Awesome in PyQt"
+HOMEPAGE="
+ https://github.com/spyder-ide/qtawesome/
+ https://pypi.org/project/QtAwesome/
+"
+SRC_URI="$(pypi_sdist_url --no-normalize QtAwesome)"
+S="${WORKDIR}/QtAwesome-${PV}"
+
+LICENSE="MIT"
+# bundled fonts
+# -------------
+# Font Awesome, Elusive Icons: OFL-1.1
+# Phosphor: MIT
+# Material Design Icons, Remix Icon: Apache-2.0
+# Codicons: CC-BY-4.0
+LICENSE+=" Apache-2.0 CC-BY-4.0 MIT OFL-1.1"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ media-fonts/fontawesome
+ dev-python/QtPy[gui,${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-qt[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs/source \
+ dev-python/sphinx-rtd-theme
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ nonfatal epytest || die -n "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/qtconsole/Manifest b/dev-python/qtconsole/Manifest
index 13a064a241d9..c83cba115af0 100644
--- a/dev-python/qtconsole/Manifest
+++ b/dev-python/qtconsole/Manifest
@@ -1,4 +1 @@
-DIST qtconsole-5.4.3.tar.gz 437303 BLAKE2B ead6676dabf342a74c30ecba1f280e697c7e58fb970813a572bcacf4adbc71e525df4323b50c30100433373e89eeea464dc382844066416e121a0f1c140487db SHA512 9c2061441775daa3045c1788ed57048de9197938a927647197d29a0b7cada836d5fe4e3329b5126c984064070a275cccbe0341622c3b8591f63842a619b859e8
-DIST qtconsole-5.4.4.tar.gz 437213 BLAKE2B 2def481c7ceb29c8ce92dfb96055310a8ee3a664a77c76da0eac672c6fd036326402a47cdaab25d504a855172067ae73e7f94b874545951674395d82f18374b5 SHA512 95d00a7896579eeba75896dd96efe9f07a54a687eca4ec2c4d9c7cf05029570788cd23267682ee4bce9943cf4d6cb36d7bd1d77be66f6bfd0f37e7d15e0d8f0f
-DIST qtconsole-5.5.0.tar.gz 438967 BLAKE2B f9833f18ecb0ddadd55793d3dc38b9f421add4ac22cd98849f8770b5762df01c9e4e0e6f5c42baf8e3715e87aa0b6ca5a207f5d2d954b1f6b2a5f9e2664f7669 SHA512 8e128ae3988b29398eb4b0cde4f18668c6ad22718c6f8d1c0feec09eb632f5b3c2bdf004932b8e2931eb4553f70c4a6d73104dcb611b09a41a744f0f8036a7eb
-DIST qtconsole-5.5.1.tar.gz 438961 BLAKE2B 6b65ce4bbba888ca96e5fae7b0067308a0fe188d35ceb309c454eacae784188bffa01ebb5344400c74f46cbffc6518db10ef135e699174187d221e7a76ee9628 SHA512 b9ca316fe7cc305cff33a0e924cb78d5c3bad7d11cbd553a7944a01e726cd59e283f7df4e82fce4da80d52b00b7366d538c567486ba3db4ad08d5b5f48a1e4f1
+DIST qtconsole-5.5.2.tar.gz 439219 BLAKE2B f354d3e6132142a3da52a1cb6b290d0a07b13920bc9f33f7fb29eb307cc5b653beccc5d28e53f7cbe7483147adb6e34ffc584718a79b814c9ce2c37b57a768fc SHA512 f79e51903fe5a1164a90c0905c308d2bce066bef2c61fed2b5bb7e757a9cf56875cdd14665df9284317497cd73bb544ae09e0b23c63b527bbd4bc90b874009f6
diff --git a/dev-python/qtconsole/qtconsole-5.4.3-r1.ebuild b/dev-python/qtconsole/qtconsole-5.4.3-r1.ebuild
deleted file mode 100644
index 2dd67dae4c33..000000000000
--- a/dev-python/qtconsole/qtconsole-5.4.3-r1.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="Qt-based console for Jupyter with support for rich media output"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/qtconsole/
- https://pypi.org/project/qtconsole/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/ipykernel-4.1[${PYTHON_USEDEP}]
- dev-python/ipython_genutils[${PYTHON_USEDEP}]
- dev-python/jupyter-core[${PYTHON_USEDEP}]
- >=dev-python/jupyter-client-4.1.1[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-17.1[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.2.2_p1[${PYTHON_USEDEP}]
- >=dev-python/QtPy-2.0.1[${PYTHON_USEDEP},gui,printsupport,svg]
-"
-BDEPEND="
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/pytest-qt[${PYTHON_USEDEP}]
- dev-python/QtPy[${PYTHON_USEDEP},svg,testlib]
- )
-"
-
-PDEPEND="
- dev-python/ipython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO; expects exact HTML, so perhaps fragile
- qtconsole/tests/test_jupyter_widget.py::TestJupyterWidget::test_other_output
- )
- local -x QT_API
- for QT_API in pyqt5 pyqt6 pyside2 pyside6; do
- if has_version "dev-python/QtPy[${QT_API}]"; then
- local -x PYTEST_QT_API=${QT_API}
- einfo "Testing with ${QT_API}"
- nonfatal epytest ||
- die "Tests failed with ${EPYTHON} / ${QT_API}"
- fi
- done
-}
diff --git a/dev-python/qtconsole/qtconsole-5.4.3.ebuild b/dev-python/qtconsole/qtconsole-5.4.3.ebuild
deleted file mode 100644
index 3cd57fe34ba3..000000000000
--- a/dev-python/qtconsole/qtconsole-5.4.3.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Qt-based console for Jupyter with support for rich media output"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/qtconsole/
- https://pypi.org/project/qtconsole/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong x86"
-
-RDEPEND="
- >=dev-python/ipykernel-4.1[${PYTHON_USEDEP}]
- dev-python/ipython_genutils[${PYTHON_USEDEP}]
- dev-python/jupyter-core[${PYTHON_USEDEP}]
- >=dev-python/jupyter-client-4.1.1[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-17.1[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.2.2_p1[${PYTHON_USEDEP}]
- >=dev-python/QtPy-2.0.1[${PYTHON_USEDEP},gui,printsupport,svg]
-"
-BDEPEND="
- test? (
- dev-python/QtPy[${PYTHON_USEDEP},svg,testlib]
- )
-"
-# required by the tests that are removed:
-# dev-python/flaky[${PYTHON_USEDEP}]
-# dev-python/pytest-qt[${PYTHON_USEDEP}]
-
-PDEPEND="
- dev-python/ipython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-python_test() {
- # TODO: these tests require virtx; however, running under virtx
- # causes pytest to segv on exit (even though tests pass)
- local EPYTEST_IGNORE=(
- qtconsole/tests/test_00_console_widget.py
- qtconsole/tests/test_jupyter_widget.py
- )
- local -x QT_API
- for QT_API in pyqt5 pyqt6 pyside2 pyside6; do
- if has_version "dev-python/QtPy[${QT_API}]"; then
- local -x PYTEST_QT_API=${QT_API}
- einfo "Testing with ${QT_API}"
- epytest
- fi
- done
-}
diff --git a/dev-python/qtconsole/qtconsole-5.4.4.ebuild b/dev-python/qtconsole/qtconsole-5.4.4.ebuild
deleted file mode 100644
index f0dd3d6b58b3..000000000000
--- a/dev-python/qtconsole/qtconsole-5.4.4.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="Qt-based console for Jupyter with support for rich media output"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/qtconsole/
- https://pypi.org/project/qtconsole/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~loong ~x86"
-
-RDEPEND="
- >=dev-python/ipykernel-4.1[${PYTHON_USEDEP}]
- dev-python/ipython_genutils[${PYTHON_USEDEP}]
- dev-python/jupyter-core[${PYTHON_USEDEP}]
- >=dev-python/jupyter-client-4.1.1[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-17.1[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.2.2_p1[${PYTHON_USEDEP}]
- >=dev-python/QtPy-2.4.0[${PYTHON_USEDEP},gui,printsupport,svg]
-"
-BDEPEND="
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/pytest-qt[${PYTHON_USEDEP}]
- dev-python/QtPy[${PYTHON_USEDEP},svg,testlib]
- )
-"
-
-PDEPEND="
- dev-python/ipython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO; expects exact HTML, so perhaps fragile
- qtconsole/tests/test_jupyter_widget.py::TestJupyterWidget::test_other_output
- )
- local -x QT_API
- for QT_API in pyqt5 pyqt6 pyside2 pyside6; do
- if has_version "dev-python/QtPy[${QT_API}]"; then
- local -x PYTEST_QT_API=${QT_API}
- einfo "Testing with ${QT_API}"
- nonfatal epytest ||
- die "Tests failed with ${EPYTHON} / ${QT_API}"
- fi
- done
-}
diff --git a/dev-python/qtconsole/qtconsole-5.5.0.ebuild b/dev-python/qtconsole/qtconsole-5.5.0.ebuild
deleted file mode 100644
index 5ceced5c22c0..000000000000
--- a/dev-python/qtconsole/qtconsole-5.5.0.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="Qt-based console for Jupyter with support for rich media output"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/qtconsole/
- https://pypi.org/project/qtconsole/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~loong ~x86"
-
-RDEPEND="
- >=dev-python/ipykernel-4.1[${PYTHON_USEDEP}]
- dev-python/jupyter-core[${PYTHON_USEDEP}]
- >=dev-python/jupyter-client-4.1.1[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-17.1[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.2.2_p1[${PYTHON_USEDEP}]
- >=dev-python/QtPy-2.4.0[${PYTHON_USEDEP},gui,printsupport,svg]
-"
-BDEPEND="
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/pytest-qt[${PYTHON_USEDEP}]
- dev-python/QtPy[${PYTHON_USEDEP},svg,testlib]
- )
-"
-
-PDEPEND="
- dev-python/ipython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO; expects exact HTML, so perhaps fragile
- qtconsole/tests/test_jupyter_widget.py::TestJupyterWidget::test_other_output
- )
- local -x QT_API
- for QT_API in pyqt5 pyqt6 pyside2 pyside6; do
- if has_version "dev-python/QtPy[${QT_API}]"; then
- local -x PYTEST_QT_API=${QT_API}
- einfo "Testing with ${QT_API}"
- nonfatal epytest ||
- die "Tests failed with ${EPYTHON} / ${QT_API}"
- fi
- done
-}
diff --git a/dev-python/qtconsole/qtconsole-5.5.1.ebuild b/dev-python/qtconsole/qtconsole-5.5.1.ebuild
deleted file mode 100644
index 5ceced5c22c0..000000000000
--- a/dev-python/qtconsole/qtconsole-5.5.1.ebuild
+++ /dev/null
@@ -1,66 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="Qt-based console for Jupyter with support for rich media output"
-HOMEPAGE="
- https://jupyter.org/
- https://github.com/jupyter/qtconsole/
- https://pypi.org/project/qtconsole/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~loong ~x86"
-
-RDEPEND="
- >=dev-python/ipykernel-4.1[${PYTHON_USEDEP}]
- dev-python/jupyter-core[${PYTHON_USEDEP}]
- >=dev-python/jupyter-client-4.1.1[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-17.1[${PYTHON_USEDEP}]
- >=dev-python/traitlets-5.2.2_p1[${PYTHON_USEDEP}]
- >=dev-python/QtPy-2.4.0[${PYTHON_USEDEP},gui,printsupport,svg]
-"
-BDEPEND="
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/pytest-qt[${PYTHON_USEDEP}]
- dev-python/QtPy[${PYTHON_USEDEP},svg,testlib]
- )
-"
-
-PDEPEND="
- dev-python/ipython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO; expects exact HTML, so perhaps fragile
- qtconsole/tests/test_jupyter_widget.py::TestJupyterWidget::test_other_output
- )
- local -x QT_API
- for QT_API in pyqt5 pyqt6 pyside2 pyside6; do
- if has_version "dev-python/QtPy[${QT_API}]"; then
- local -x PYTEST_QT_API=${QT_API}
- einfo "Testing with ${QT_API}"
- nonfatal epytest ||
- die "Tests failed with ${EPYTHON} / ${QT_API}"
- fi
- done
-}
diff --git a/dev-python/qtconsole/qtconsole-5.5.2.ebuild b/dev-python/qtconsole/qtconsole-5.5.2.ebuild
new file mode 100644
index 000000000000..8f08269264b9
--- /dev/null
+++ b/dev-python/qtconsole/qtconsole-5.5.2.ebuild
@@ -0,0 +1,66 @@
+# 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..13} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="Qt-based console for Jupyter with support for rich media output"
+HOMEPAGE="
+ https://jupyter.org/
+ https://github.com/jupyter/qtconsole/
+ https://pypi.org/project/qtconsole/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86"
+
+RDEPEND="
+ >=dev-python/ipykernel-4.1[${PYTHON_USEDEP}]
+ dev-python/jupyter-core[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-4.1.1[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-17.1[${PYTHON_USEDEP}]
+ >=dev-python/traitlets-5.2.2_p1[${PYTHON_USEDEP}]
+ >=dev-python/QtPy-2.4.0[${PYTHON_USEDEP},gui,printsupport,svg]
+"
+BDEPEND="
+ test? (
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/pytest-qt[${PYTHON_USEDEP}]
+ dev-python/QtPy[${PYTHON_USEDEP},svg,testlib]
+ )
+"
+
+PDEPEND="
+ dev-python/ipython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO; expects exact HTML, so perhaps fragile
+ qtconsole/tests/test_jupyter_widget.py::TestJupyterWidget::test_other_output
+ )
+ local -x QT_API
+ for QT_API in pyqt5 pyqt6 pyside2 pyside6; do
+ if has_version "dev-python/QtPy[${QT_API}]"; then
+ local -x PYTEST_QT_API=${QT_API}
+ einfo "Testing with ${QT_API}"
+ nonfatal epytest ||
+ die "Tests failed with ${EPYTHON} / ${QT_API}"
+ fi
+ done
+}
diff --git a/dev-python/qtsass/qtsass-0.4.0.ebuild b/dev-python/qtsass/qtsass-0.4.0.ebuild
index fb554d558f4e..91a26d492c63 100644
--- a/dev-python/qtsass/qtsass-0.4.0.ebuild
+++ b/dev-python/qtsass/qtsass-0.4.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
+KEYWORDS="amd64 arm64 x86"
RDEPEND="
>=dev-python/libsass-0.22.0[${PYTHON_USEDEP}]
diff --git a/dev-python/quantities/Manifest b/dev-python/quantities/Manifest
index f2ffa4b2f7be..4a036d67ff41 100644
--- a/dev-python/quantities/Manifest
+++ b/dev-python/quantities/Manifest
@@ -1 +1 @@
-DIST python-quantities-0.14.1.gh.tar.gz 84275 BLAKE2B 7760a46f9f893a87badcbfd8aaad6a5598013b0cc835f17e0b788d3329be35702532fa17dc581ab0db4064292d6521d39d3ada7819c9a6c7b0e8a9b568d343dd SHA512 16c12110c2a705e4016d9575beb7f3322c3590cd12091a2710eca48fd6927b07b0d564ef93eb8af0b21688a0e86df1e60abb45625234abfaf1fa414e8b9fd110
+DIST python-quantities-0.15.0.gh.tar.gz 91327 BLAKE2B b75371e99b0f270d97cf6e9b80df1e7a0afa8ae8eb5d18750196e9b874737d58d3e3189ef9fdca4b312d24a19b406fe21f7eb304f0c1f11987873528190ca2e4 SHA512 987fb30d25a7b14e681d6eb963fc2cc68f954d017eca256739e897062249fce606adcb3224e3c8f0d371e49904caef7171a9a8ba4a7e60baa2fe063004846439
diff --git a/dev-python/quantities/quantities-0.14.1.ebuild b/dev-python/quantities/quantities-0.14.1.ebuild
deleted file mode 100644
index 2ef1a583ed53..000000000000
--- a/dev-python/quantities/quantities-0.14.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P="python-quantities-${PV}"
-DESCRIPTION="Support for physical quantities with units, based on numpy"
-HOMEPAGE="
- https://github.com/python-quantities/python-quantities/
- https://pypi.org/project/quantities/
-"
-SRC_URI="
- https://github.com/python-quantities/python-quantities/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-
-RDEPEND="
- >=dev-python/numpy-1.19[$PYTHON_USEDEP]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/quantities/quantities-0.15.0-r1.ebuild b/dev-python/quantities/quantities-0.15.0-r1.ebuild
new file mode 100644
index 000000000000..7a00fb00b973
--- /dev/null
+++ b/dev-python/quantities/quantities-0.15.0-r1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2020-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
+
+MY_P="python-quantities-${PV}"
+DESCRIPTION="Support for physical quantities with units, based on numpy"
+HOMEPAGE="
+ https://github.com/python-quantities/python-quantities/
+ https://pypi.org/project/quantities/
+"
+SRC_URI="
+ https://github.com/python-quantities/python-quantities/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+
+# >=dev-python/numpy-2 is not currently supported,
+# see https://github.com/python-quantities/python-quantities/pull/232
+RDEPEND="
+ >=dev-python/numpy-1.20[$PYTHON_USEDEP]
+ <dev-python/numpy-2[$PYTHON_USEDEP]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+python_test() {
+ epytest --pyargs quantities.tests
+}
diff --git a/dev-python/quart-trio/Manifest b/dev-python/quart-trio/Manifest
new file mode 100644
index 000000000000..ca8de06ec426
--- /dev/null
+++ b/dev-python/quart-trio/Manifest
@@ -0,0 +1 @@
+DIST quart-trio-0.11.1.gh.tar.gz 18568 BLAKE2B faabf4204a82dcc70e41d1d1ec7171c89386f2e40979c20501890d9bc27eb2af693bc791a9015a9c4c676a5e25ec69dc4975a0cd09987cd14f699a04442d54da SHA512 8ea20c36c772eff3e2b0a83a4c325cd223c19b3d7e1e51e7378897bd11479db2c8015d2e8c4713721070fc413f42b19f844a3966a0d06d299439cf514b0b3291
diff --git a/dev-python/quart-trio/files/quart-trio-0.11.1-trio-0.25.patch b/dev-python/quart-trio/files/quart-trio-0.11.1-trio-0.25.patch
new file mode 100644
index 000000000000..f95a253d06e9
--- /dev/null
+++ b/dev-python/quart-trio/files/quart-trio-0.11.1-trio-0.25.patch
@@ -0,0 +1,73 @@
+From 805686abfd9963be26d59d9da9b11faddd583d11 Mon Sep 17 00:00:00 2001
+From: pgjones <philip.graham.jones@googlemail.com>
+Date: Sun, 19 May 2024 15:03:24 +0100
+Subject: [PATCH] Fix test failures
+
+Catch and extract from ExceptionGroups
+---
+ tests/test_app.py | 14 +++++++++-----
+ tests/test_basic.py | 10 ++++++++--
+ 2 files changed, 17 insertions(+), 7 deletions(-)
+
+diff --git a/tests/test_app.py b/tests/test_app.py
+index b6bffb5..1585107 100644
+--- a/tests/test_app.py
++++ b/tests/test_app.py
+@@ -51,8 +51,10 @@ async def handler(_: Exception) -> ResponseReturnValue:
+ try:
+ async with test_client.websocket("/ws/") as test_websocket:
+ await test_websocket.receive()
+- except WebsocketResponseError as error:
+- assert error.response.status_code == 201
++ except BaseExceptionGroup as error:
++ for exception in error.exceptions:
++ if isinstance(exception, WebsocketResponseError):
++ assert exception.response.status_code == 201
+
+
+ @pytest.mark.trio
+@@ -68,8 +70,10 @@ async def test_websocket_exception_group_unhandled(error_app: QuartTrio) -> None
+ try:
+ async with test_client.websocket("/ws/") as test_websocket:
+ await test_websocket.receive()
+- except WebsocketResponseError as error:
+- assert error.response.status_code == 500
++ except BaseExceptionGroup as error:
++ for exception in error.exceptions:
++ if isinstance(exception, WebsocketResponseError):
++ assert exception.response.status_code == 500
+
+
+ @pytest.mark.trio
+diff --git a/tests/test_basic.py b/tests/test_basic.py
+index 5cc4c4a..a483678 100644
+--- a/tests/test_basic.py
++++ b/tests/test_basic.py
+@@ -1,3 +1,4 @@
++import sys
+ from pathlib import Path
+
+ import pytest
+@@ -6,6 +7,9 @@
+
+ from quart_trio import QuartTrio
+
++if sys.version_info < (3, 11):
++ from exceptiongroup import BaseExceptionGroup
++
+
+ @pytest.fixture
+ def app() -> Quart:
+@@ -53,8 +57,10 @@ async def test_websocket_abort(app: Quart) -> None:
+ try:
+ async with test_client.websocket("/ws/abort/") as test_websocket:
+ await test_websocket.receive()
+- except WebsocketResponseError as error:
+- assert error.response.status_code == 401
++ except BaseExceptionGroup as error:
++ for exception in error.exceptions:
++ if isinstance(exception, WebsocketResponseError):
++ assert exception.response.status_code == 401
+
+
+ @pytest.mark.trio
diff --git a/dev-python/quart-trio/metadata.xml b/dev-python/quart-trio/metadata.xml
new file mode 100644
index 000000000000..0a22f1b2a556
--- /dev/null
+++ b/dev-python/quart-trio/metadata.xml
@@ -0,0 +1,13 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <!-- please remove python@ if tests do not work -->
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">pgjones/quart-trio</remote-id>
+ <remote-id type="pypi">quart-trio</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/quart-trio/quart-trio-0.11.1.ebuild b/dev-python/quart-trio/quart-trio-0.11.1.ebuild
new file mode 100644
index 000000000000..ec8cf463b5d3
--- /dev/null
+++ b/dev-python/quart-trio/quart-trio-0.11.1.ebuild
@@ -0,0 +1,48 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Quart extension to provide trio support"
+HOMEPAGE="
+ https://github.com/pgjones/quart-trio/
+ https://pypi.org/project/quart-trio/
+"
+# no tests in sdist, as of 0.11.1
+SRC_URI="
+ https://github.com/pgjones/quart-trio/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/exceptiongroup-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/hypercorn-0.12.0[${PYTHON_USEDEP}]
+ >=dev-python/quart-0.19[${PYTHON_USEDEP}]
+ >=dev-python/trio-0.19.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-trio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/pgjones/quart-trio/commit/805686abfd9963be26d59d9da9b11faddd583d11
+ "${FILESDIR}/${P}-trio-0.25.patch"
+)
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -p trio
+}
diff --git a/dev-python/quart/Manifest b/dev-python/quart/Manifest
new file mode 100644
index 000000000000..21f1c927843d
--- /dev/null
+++ b/dev-python/quart/Manifest
@@ -0,0 +1 @@
+DIST quart-0.19.6.gh.tar.gz 747457 BLAKE2B 2912e8e951ad94e8f86e553ee8fac2d3ea679f71be54ff6638aa36d3d3027b48de47994a2f264b3cee69b483ffe4e153c7ea0080b8f6904a2ebaddce2fbede96 SHA512 2a28a36638052c26265122771936dbe8a12332c8abe177a9addafc71b4a0987c864c26f73160492d6e849a5b0a576346ac24c961c5e461afd11981c45aecbcd7
diff --git a/dev-python/quart/metadata.xml b/dev-python/quart/metadata.xml
new file mode 100644
index 000000000000..e630e696005f
--- /dev/null
+++ b/dev-python/quart/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">pallets/quart</remote-id>
+ <remote-id type="pypi">Quart</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/quart/quart-0.19.6.ebuild b/dev-python/quart/quart-0.19.6.ebuild
new file mode 100644
index 000000000000..00986140fd9e
--- /dev/null
+++ b/dev-python/quart/quart-0.19.6.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python ASGI web microframework with the same API as Flask"
+HOMEPAGE="
+ https://github.com/pallets/quart/
+ https://pypi.org/project/Quart/
+"
+# no tests in sdist as of 0.19.4
+SRC_URI="
+ https://github.com/pallets/quart/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/aiofiles[${PYTHON_USEDEP}]
+ >=dev-python/blinker-1.6[${PYTHON_USEDEP}]
+ >=dev-python/click-8.0.0[${PYTHON_USEDEP}]
+ >=dev-python/flask-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/hypercorn-0.11.2[${PYTHON_USEDEP}]
+ dev-python/itsdangerous[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+ >=dev-python/werkzeug-3.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o addopts= -p asyncio
+}
diff --git a/dev-python/radon/radon-6.0.1.ebuild b/dev-python/radon/radon-6.0.1.ebuild
index be3e9f7dcf95..383927aae60c 100644
--- a/dev-python/radon/radon-6.0.1.ebuild
+++ b/dev-python/radon/radon-6.0.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/raet/raet-0.6.8-r5.ebuild b/dev-python/raet/raet-0.6.8-r5.ebuild
deleted file mode 100644
index 3e58eb839473..000000000000
--- a/dev-python/raet/raet-0.6.8-r5.ebuild
+++ /dev/null
@@ -1,47 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Reliable Asynchronous Event Transport Protocol"
-HOMEPAGE="
- https://github.com/RaetProtocol/raet/
- https://pypi.org/project/raet/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/six-1.6.1[${PYTHON_USEDEP}]
- >=dev-python/libnacl-1.4.3[${PYTHON_USEDEP}]
- >=dev-python/ioflo-2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/raet-0.6.8-msgpack-1.0.patch"
- "${FILESDIR}/raet-0.6.8-py310.patch"
-)
-
-python_prepare_all() {
- distutils-r1_python_prepare_all
- sed -e "/setuptools_git/d" -i setup.py || die
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- "${EPYTHON}" raet/test/__init__.py || die "tests failed for ${EPYTHON}"
-}
diff --git a/dev-python/raet/raet-0.6.8-r6.ebuild b/dev-python/raet/raet-0.6.8-r6.ebuild
new file mode 100644
index 000000000000..2cf4d7d342c9
--- /dev/null
+++ b/dev-python/raet/raet-0.6.8-r6.ebuild
@@ -0,0 +1,48 @@
+# 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="Reliable Asynchronous Event Transport Protocol"
+HOMEPAGE="
+ https://github.com/RaetProtocol/raet/
+ https://pypi.org/project/raet/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/six-1.6.1[${PYTHON_USEDEP}]
+ >=dev-python/libnacl-1.4.3[${PYTHON_USEDEP}]
+ >=dev-python/ioflo-2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/msgpack-1.0.0[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/raet-0.6.8-msgpack-1.0.patch"
+ "${FILESDIR}/raet-0.6.8-py310.patch"
+)
+
+python_prepare_all() {
+ distutils-r1_python_prepare_all
+ sed -e "/setuptools_git/d" -i setup.py || die
+}
+
+python_test() {
+ pushd "${BUILD_DIR}/install$(python_get_sitedir)" >/dev/null || die
+ "${EPYTHON}" raet/test/__init__.py || die "tests failed for ${EPYTHON}"
+ popd >/dev/null || die
+}
diff --git a/dev-python/random2/Manifest b/dev-python/random2/Manifest
index 593715f790fc..d9e4218a3dc8 100644
--- a/dev-python/random2/Manifest
+++ b/dev-python/random2/Manifest
@@ -1 +1 @@
-DIST random2-1.0.1.zip 21088 BLAKE2B 69747711e355d3dea2b16562a6b9cdaa170732172e9eaac9a5cee4b8058f569e0c4527aec89e408e6472168fdecfc52b87703d23f153ec04f6ed2c049bcd162a SHA512 31de31c27bc6e07e99c24d30e97d9ddc3085fe557bcb0725881d4ab0b4c06e6208f64ba6267098c7b1be4f115ad45b399e841beecc90f71da2fb7d82982e75ff
+DIST random2-1.0.2.tar.gz 18095 BLAKE2B 17755408300a40c792fd1e6fdef278666408b178016b7b0d0c7b7e7a4927c522bea70961ae0393d3be35fcce8a6924a0421fe7e7fc319ff831d3346712060a07 SHA512 69b91de23ae2f384bf0054bd8e2bf36de0778b006d7c4620dd34b86297f021f80670c550069086f3c123cc47126e41449323de4944a31754c9d830eb08ab7db0
diff --git a/dev-python/random2/files/random2-1.0.1-py39-tests.patch b/dev-python/random2/files/random2-1.0.1-py39-tests.patch
deleted file mode 100644
index 48317af2f258..000000000000
--- a/dev-python/random2/files/random2-1.0.1-py39-tests.patch
+++ /dev/null
@@ -1,32 +0,0 @@
-From a60d5ce10e5df0cebd7e7de0bff6f291bf9403ca Mon Sep 17 00:00:00 2001
-From: Andreas Sturmlechner <asturm@gentoo.org>
-Date: Sat, 24 Oct 2020 20:57:00 +0200
-Subject: [PATCH] getrandbits() accepts 0 in python3_9
-
----
- src/tests.py | 2 --
- 1 file changed, 2 deletions(-)
-
-diff --git a/src/tests.py b/src/tests.py
-index d918891..6f600ab 100644
---- a/src/tests.py
-+++ b/src/tests.py
-@@ -291,7 +291,6 @@ class SystemRandom_TestBasicOps(TestBasicOps):
- # Verify argument checking
- self.assertRaises(TypeError, self.gen.getrandbits)
- self.assertRaises(TypeError, self.gen.getrandbits, 1, 2)
-- self.assertRaises(ValueError, self.gen.getrandbits, 0)
- self.assertRaises(ValueError, self.gen.getrandbits, -1)
- self.assertRaises(TypeError, self.gen.getrandbits, 10.1)
-
-@@ -448,7 +447,6 @@ class MersenneTwister_TestBasicOps(TestBasicOps):
- self.assertRaises(TypeError, self.gen.getrandbits)
- self.assertRaises(TypeError, self.gen.getrandbits, 'a')
- self.assertRaises(TypeError, self.gen.getrandbits, 1, 2)
-- self.assertRaises(ValueError, self.gen.getrandbits, 0)
- self.assertRaises(ValueError, self.gen.getrandbits, -1)
-
- def test_randbelow_logic(self, _log=log, int=int):
---
-2.29.1
-
diff --git a/dev-python/random2/random2-1.0.1-r2.ebuild b/dev-python/random2/random2-1.0.1-r2.ebuild
deleted file mode 100644
index 8f7d6d98c8be..000000000000
--- a/dev-python/random2/random2-1.0.1-r2.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python-2.7 random module ported to python-3"
-HOMEPAGE="https://pypi.org/project/random2/"
-SRC_URI="$(pypi_sdist_url "${PN}" "${PV}" .zip)"
-
-LICENSE="PSF-2"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~loong ~riscv x86"
-
-BDEPEND="
- app-arch/unzip
-"
-
-distutils_enable_tests setup.py
-
-PATCHES=(
- "${FILESDIR}/${P}-py39-tests.patch"
-)
diff --git a/dev-python/random2/random2-1.0.2.ebuild b/dev-python/random2/random2-1.0.2.ebuild
new file mode 100644
index 000000000000..c6300a35950a
--- /dev/null
+++ b/dev-python/random2/random2-1.0.2.ebuild
@@ -0,0 +1,21 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python 2.7 random module ported to Python 3"
+HOMEPAGE="https://pypi.org/project/random2/"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~loong ~riscv x86"
+
+python_test() {
+ "${EPYTHON}" -m unittest -vv src.tests.test_suite ||
+ die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/rapidfuzz-capi/Manifest b/dev-python/rapidfuzz-capi/Manifest
deleted file mode 100644
index 2b991b1ac19f..000000000000
--- a/dev-python/rapidfuzz-capi/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST rapidfuzz_capi-1.0.5.gh.tar.gz 5908 BLAKE2B a5f3c27c2292800527f0e0558e0f25525c2865a6348fbbe36da8d5a96e5524c68154bfba8dbfc3c174f759dde14a95c64e47dd6669166beb035bd1126741569b SHA512 b62c6fdd0e5d0804f7c1ef6f6b5e007afd8439720071fbdf1440232c62925e794a6ae33774a33ef745ebbd4ef956a85d2bf60934a7d568d39d1e590467f26bcf
diff --git a/dev-python/rapidfuzz-capi/metadata.xml b/dev-python/rapidfuzz-capi/metadata.xml
deleted file mode 100644
index 43ddd18c41eb..000000000000
--- a/dev-python/rapidfuzz-capi/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">maxbachmann/rapidfuzz_capi</remote-id>
- <remote-id type="pypi">rapidfuzz-capi</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/rapidfuzz-capi/rapidfuzz-capi-1.0.5.ebuild b/dev-python/rapidfuzz-capi/rapidfuzz-capi-1.0.5.ebuild
deleted file mode 100644
index 25a7cc31b8c8..000000000000
--- a/dev-python/rapidfuzz-capi/rapidfuzz-capi-1.0.5.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2022-2023 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
-
-MY_P=rapidfuzz_capi-${PV}
-DESCRIPTION="C-API of RapidFuzz, which can be used to extend RapidFuzz"
-HOMEPAGE="
- https://github.com/maxbachmann/rapidfuzz_capi/
- https://pypi.org/project/rapidfuzz-capi/
-"
-SRC_URI="
- https://github.com/maxbachmann/rapidfuzz_capi/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
diff --git a/dev-python/rapidfuzz/Manifest b/dev-python/rapidfuzz/Manifest
index da4822874811..9fedb67168c0 100644
--- a/dev-python/rapidfuzz/Manifest
+++ b/dev-python/rapidfuzz/Manifest
@@ -1 +1 @@
-DIST rapidfuzz-3.5.2.tar.gz 1524315 BLAKE2B 0877a38f3d4229b12944ede688891f5cc401ac644439d93e02a424370ab0e64eebab283de8d921a6e51ff622e425f8ba3b4f13f4eb16f0764440d9c62eca2c50 SHA512 65f7041558c1932ca916faa3c165f62694c7b261d626eb87579e25cd544e9be5bf6da073b6ee621ba2eba4662183315836acb0deda9bb33c1dc927e692438754
+DIST rapidfuzz-3.9.4.tar.gz 1595863 BLAKE2B ba835b6d1c5bc7da99ae7202ae469d9a1d069ea0351b732a701abbadfbe1539a389efb051cd58e462505ebcf6020b60ec6413d9f44bbfd63a0dc8419cded9722 SHA512 4494d86f17e7b4ae51639f1d2941d4e313c26739787f3a47261a5d5bf26da4091d918e1603e2199774edd5e1b91d67446b762a81e6b98496d67fbddb93effe21
diff --git a/dev-python/rapidfuzz/metadata.xml b/dev-python/rapidfuzz/metadata.xml
index 91cac0023d89..e69b40da9b2f 100644
--- a/dev-python/rapidfuzz/metadata.xml
+++ b/dev-python/rapidfuzz/metadata.xml
@@ -6,7 +6,7 @@
<name>Python</name>
</maintainer>
<upstream>
- <remote-id type="github">maxbachmann/RapidFuzz</remote-id>
+ <remote-id type="github">rapidfuzz/RapidFuzz</remote-id>
<remote-id type="pypi">rapidfuzz</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/rapidfuzz/rapidfuzz-3.5.2.ebuild b/dev-python/rapidfuzz/rapidfuzz-3.5.2.ebuild
deleted file mode 100644
index 433f30ae316b..000000000000
--- a/dev-python/rapidfuzz/rapidfuzz-3.5.2.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-# custom wrapper over setuptools
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="Rapid fuzzy string matching in Python using various string metrics"
-HOMEPAGE="
- https://github.com/maxbachmann/RapidFuzz/
- https://pypi.org/project/rapidfuzz/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-# all these are header-only libraries
-DEPEND="
- >=dev-cpp/taskflow-3.0.0
- >=dev-cpp/rapidfuzz-cpp-2.2.3
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/cython-3[${PYTHON_USEDEP}]
- dev-python/rapidfuzz-capi[${PYTHON_USEDEP}]
- >=dev-python/scikit-build-0.16.2[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # sterilize build flags
- sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
- # remove bundled libraries
- rm -r extern || die
- # force recythonization
- find src -name '*.cxx' -delete || die
-
- distutils-r1_src_prepare
-
- export RAPIDFUZZ_BUILD_EXTENSION=1
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p xdist -n "$(makeopts_jobs)" --dist=worksteal
-}
diff --git a/dev-python/rapidfuzz/rapidfuzz-3.9.4.ebuild b/dev-python/rapidfuzz/rapidfuzz-3.9.4.ebuild
new file mode 100644
index 000000000000..1cdc7dce3c36
--- /dev/null
+++ b/dev-python/rapidfuzz/rapidfuzz-3.9.4.ebuild
@@ -0,0 +1,67 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+# custom wrapper over setuptools
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Rapid fuzzy string matching in Python using various string metrics"
+HOMEPAGE="
+ https://github.com/rapidfuzz/RapidFuzz/
+ https://pypi.org/project/rapidfuzz/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+# all these are header-only libraries
+DEPEND="
+ >=dev-cpp/taskflow-3.0.0
+ >=dev-cpp/rapidfuzz-cpp-3.0.5
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/cython-3[${PYTHON_USEDEP}]
+ >=dev-python/scikit-build-0.16.2[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ # sterilize build flags
+ sed -i -e '/CMAKE_INTERPROCEDURAL_OPTIMIZATION/d' CMakeLists.txt || die
+ # remove bundled libraries
+ rm -r extern || die
+ # force recythonization
+ find src -name '*.cxx' -delete || die
+ # do not require exact taskflow version
+ sed -i -e '/Taskflow/s:3\.7\.0::' CMakeLists.txt || die
+
+ distutils-r1_src_prepare
+
+ export RAPIDFUZZ_BUILD_EXTENSION=1
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ # scikit-build is broken and reuses the same build
+ # https://github.com/scikit-build/scikit-build/issues/633
+ rm -r _skbuild || die
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/rarfile/Manifest b/dev-python/rarfile/Manifest
index 4aa242146948..a583dacc249e 100644
--- a/dev-python/rarfile/Manifest
+++ b/dev-python/rarfile/Manifest
@@ -1 +1 @@
-DIST rarfile-4.1.tar.gz 152826 BLAKE2B a64fbb036b33922ef99c73db3b32f3b08119ebc527d41751c2013ae05fb6d2f82523b818e7fe16983427094ab0baf15e93b356f1b19084fdfbec34cb2737780e SHA512 ca3ac26e02b8d7770c43fe70a06cf42b2183a34846d59c79d3478651e9d7ffc022fe7336be44b8df8fa6f0789bae055c1d057c21d87af78acccc43a927fd02e2
+DIST rarfile-4.2.tar.gz 153476 BLAKE2B ddaf85bf0edeb7203a6d1007c118facd53dc5c310ed110f087ec990532f576d601075b4a2455657dc5730ed3668f6494e4fd3132efeb95a821162dbda91caf23 SHA512 fed3943a6d201d4832ee5377069ea400e58394590dd5022cdd7b6f6944c9bf1b6c26387aa0db4c56d5d82f6d10d0cecd2e438e224287cdbdb3314770848c14d8
diff --git a/dev-python/rarfile/rarfile-4.1.ebuild b/dev-python/rarfile/rarfile-4.1.ebuild
deleted file mode 100644
index 6a7b0c10755a..000000000000
--- a/dev-python/rarfile/rarfile-4.1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Module for RAR archive reading"
-HOMEPAGE="
- https://github.com/markokr/rarfile/
- https://pypi.org/project/rarfile/
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86"
-IUSE="+compressed test"
-REQUIRED_USE="test? ( compressed )"
-
-RDEPEND="
- compressed? ( app-arch/unrar )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/rarfile/rarfile-4.2.ebuild b/dev-python/rarfile/rarfile-4.2.ebuild
new file mode 100644
index 000000000000..af4008f7ed8d
--- /dev/null
+++ b/dev-python/rarfile/rarfile-4.2.ebuild
@@ -0,0 +1,27 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Module for RAR archive reading"
+HOMEPAGE="
+ https://github.com/markokr/rarfile/
+ https://pypi.org/project/rarfile/
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 x86"
+IUSE="+compressed test"
+REQUIRED_USE="test? ( compressed )"
+
+RDEPEND="
+ compressed? ( app-arch/unrar )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/ratelimit/ratelimit-2.2.1-r1.ebuild b/dev-python/ratelimit/ratelimit-2.2.1-r1.ebuild
index 829c2b5a7c9d..688ce2cc0342 100644
--- a/dev-python/ratelimit/ratelimit-2.2.1-r1.ebuild
+++ b/dev-python/ratelimit/ratelimit-2.2.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
DESCRIPTION="An API rate limit decorator for Python"
diff --git a/dev-python/re-assert/files/re-assert-1.1.0-re-fallback.patch b/dev-python/re-assert/files/re-assert-1.1.0-re-fallback.patch
new file mode 100644
index 000000000000..b292d48d6e0f
--- /dev/null
+++ b/dev-python/re-assert/files/re-assert-1.1.0-re-fallback.patch
@@ -0,0 +1,42 @@
+diff --git a/re_assert.py b/re_assert.py
+index 840401e..8818da1 100644
+--- a/re_assert.py
++++ b/re_assert.py
+@@ -1,8 +1,13 @@
++import sys
++
+ from typing import Any
+ from typing import Optional
+ from typing import Pattern
+
+-import regex
++if sys.implementation.name == "cpython":
++ import regex
++else:
++ import re as regex
+
+
+ class Matches: # TODO: Generic[AnyStr] (binary pattern support)
+@@ -12,6 +17,9 @@ class Matches: # TODO: Generic[AnyStr] (binary pattern support)
+ self._type = type(pattern)
+
+ def _fail_message(self, fail: str) -> str:
++ if sys.implementation.name != "cpython":
++ return "regex failed to match"
++
+ # binary search to find the longest substring match
+ pos, bound = 0, len(fail)
+ while pos < bound:
+diff --git a/setup.cfg b/setup.cfg
+index 46303ca..74cf999 100644
+--- a/setup.cfg
++++ b/setup.cfg
+@@ -20,7 +20,7 @@ classifiers =
+ [options]
+ py_modules = re_assert
+ install_requires =
+- regex
++ regex; python_implementation=="CPython"
+ python_requires = >=3.6.1
+
+ [bdist_wheel]
diff --git a/dev-python/re-assert/re-assert-1.1.0-r1.ebuild b/dev-python/re-assert/re-assert-1.1.0-r1.ebuild
deleted file mode 100644
index c7db72bc2d04..000000000000
--- a/dev-python/re-assert/re-assert-1.1.0-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Show where your regex match assertion failed"
-HOMEPAGE="
- https://github.com/asottile/re-assert/
- https://pypi.org/project/re-assert/
-"
-SRC_URI="
- https://github.com/asottile/re-assert/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- dev-python/regex[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/re-assert/re-assert-1.1.0-r3.ebuild b/dev-python/re-assert/re-assert-1.1.0-r3.ebuild
new file mode 100644
index 000000000000..7227db089f23
--- /dev/null
+++ b/dev-python/re-assert/re-assert-1.1.0-r3.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2020-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Show where your regex match assertion failed"
+HOMEPAGE="
+ https://github.com/asottile/re-assert/
+ https://pypi.org/project/re-assert/
+"
+SRC_URI="
+ https://github.com/asottile/re-assert/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/regex[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # use `re` as fallback since `regex` doesn't support PyPy
+ "${FILESDIR}/${P}-re-fallback.patch"
+)
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # message/repr mismatches due to using `re` module
+ tests/re_assert_test.py::test_fail_at_beginning
+ tests/re_assert_test.py::test_fail_at_end_of_line
+ tests/re_assert_test.py::test_fail_at_end_of_line_mismatching_newline
+ tests/re_assert_test.py::test_fail_end_of_line_with_newline
+ tests/re_assert_test.py::test_fail_multiple_lines
+ tests/re_assert_test.py::test_match_with_tabs
+ tests/re_assert_test.py::test_matches_repr_with_flags
+ tests/re_assert_test.py::test_repr_with_failure
+ )
+ ;;
+ esac
+
+ epytest
+}
diff --git a/dev-python/readme-renderer/Manifest b/dev-python/readme-renderer/Manifest
index d98300a32f68..f0d7f7703208 100644
--- a/dev-python/readme-renderer/Manifest
+++ b/dev-python/readme-renderer/Manifest
@@ -1,3 +1,2 @@
-DIST readme_renderer-40.0.tar.gz 32300 BLAKE2B feacff6f82bc59e1e21da99a702004f409b19868356a47c37e01ff1bb52e3b896eaeef2815ccc8d7f20009ce5faf8f3a75d56d1c5f4acbc38b90116d2bef45d1 SHA512 8b598f7882e5e4a3a6c3b010c2252fd4a4babd5e90426dcf35f0586391cc0c2f2f106e016cef24d8fc5f4ed2712e5f88fada4cda160f42158979b6ec14672d36
-DIST readme_renderer-41.0.tar.gz 32420 BLAKE2B 130585144f2344a3991abca2e62a8f2b41db395a440d5e81082e3e8f3f40adb93cb1ad1d68e32f922937e6ae994a916d409de1ab2e780747f7de461c1ad52d6a SHA512 1c40084d75b864d942ea698efdae44ae33046bcdd1515afc78274ae1c5c3a921e19fe709feef1c6e7c1b14a26a1e2fc0c02e16e8476611a036a3e74f50dbea44
-DIST readme_renderer-42.0.tar.gz 31532 BLAKE2B d20e6e27e3d551d25788f177671d54b9307ab78f6d685e77831e20bb36ebf4e5b1e0d5d0622ec8d2e868ee202aa1176fa09348137c88f90d2da462aa2c477de1 SHA512 76d78fb2d92faa581679691feeb3cec50ef518417c6c1f187527209ac995f549b4de4b38c7449d1e4dfa7b93d30bfd599db7d01e5e5228c00a24261b0421ce66
+DIST readme_renderer-43.0.tar.gz 31768 BLAKE2B 0f0c3fbac8a1358d5271ee6805e051225bee53a33098d60f8fb54b2bed04de77dc5986759669bf3e14d5fac449b5f6c712aca66400320666958533a406b1ae3b SHA512 505cca08179c0eb35a7248d6bcfea24a968ad749365bec6bb65bbe4ba64ac78ef971ee63422796fdcc462210b199c9df126c8424bfc078ed1a9d1149b2d874e2
+DIST readme_renderer-44.0.tar.gz 32056 BLAKE2B d496f0ee8e0ddca1fbca0ccd8185b63169c23d2bd071b0e34aa3b1382052b3ef882737d361249597c42d8897f4188cf5cc1035d1b1115a242db3a6ce326bad7d SHA512 f68b1d9f7352ce07537d82a096e0d31000b7395a5809e7d160083071dfb8fdae38dc7a3460f42abb7aec5d932866a20bbe2b2fc09480cf4505add1bc403c34c8
diff --git a/dev-python/readme-renderer/files/readme-renderer-43.0-docutils-0.21.patch b/dev-python/readme-renderer/files/readme-renderer-43.0-docutils-0.21.patch
new file mode 100644
index 000000000000..f216b775263a
--- /dev/null
+++ b/dev-python/readme-renderer/files/readme-renderer-43.0-docutils-0.21.patch
@@ -0,0 +1,70 @@
+From fedd830cdd2fdc7311b6b69b307412ba3d3f011c Mon Sep 17 00:00:00 2001
+From: Kurt McKee <contactme@kurtmckee.org>
+Date: Sat, 29 Jun 2024 17:56:36 -0500
+Subject: [PATCH 4/5] Update HTML test files that render differently in newer
+ docutils
+
+---
+ tests/fixtures/test_rst_bibtex.html | 2 +-
+ tests/fixtures/test_rst_contents.html | 2 +-
+ tests/fixtures/test_rst_linkify.html | 8 ++++++--
+ 3 files changed, 8 insertions(+), 4 deletions(-)
+
+diff --git a/tests/fixtures/test_rst_bibtex.html b/tests/fixtures/test_rst_bibtex.html
+index d9048e7..0f312a7 100644
+--- a/tests/fixtures/test_rst_bibtex.html
++++ b/tests/fixtures/test_rst_bibtex.html
+@@ -1,2 +1,2 @@
+ <pre><code><span class="nc">@article</span><span class="p">{</span><span class="nl">the_impact_of_pygments_docutils_config_and_html5</span><span class="p">,</span><span class="w">
+- </span><span class="na">year</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><s>{2022}</s><span class="p">,</span></code></pre>
++ </span><span class="na">year</span><span class="w"> </span><span class="p">=</span><span class="w"> </span><span class="s">{2022}</span><span class="p">,</span></code></pre>
+diff --git a/tests/fixtures/test_rst_contents.html b/tests/fixtures/test_rst_contents.html
+index 48a5556..445f610 100644
+--- a/tests/fixtures/test_rst_contents.html
++++ b/tests/fixtures/test_rst_contents.html
+@@ -1,5 +1,5 @@
+ <nav class="contents" id="contents">
+-<p class="topic-title">Contents</p>
++<p class="topic-title"><a href="#top" rel="nofollow">Contents</a></p>
+ <ul class="simple">
+ <li><p><a href="#features" id="toc-entry-1" rel="nofollow">Features</a></p></li>
+ <li><p><a href="#installation" id="toc-entry-2" rel="nofollow">Installation</a></p></li>
+diff --git a/tests/fixtures/test_rst_linkify.html b/tests/fixtures/test_rst_linkify.html
+index 5956925..f796a70 100644
+--- a/tests/fixtures/test_rst_linkify.html
++++ b/tests/fixtures/test_rst_linkify.html
+@@ -1,5 +1,9 @@
+-<a href="https://travis-ci.org/tulsawebdevs/django-multi-gtfs" rel="nofollow"><img alt="https://travis-ci.org/tulsawebdevs/django-multi-gtfs.svg?branch=master" src="https://travis-ci.org/tulsawebdevs/django-multi-gtfs.svg?branch=master"></a>
+-<a href="https://coveralls.io/github/tulsawebdevs/django-multi-gtfs" rel="nofollow"><img alt="https://coveralls.io/repos/github/tulsawebdevs/django-multi-gtfs/badge.svg?branch=django19" src="https://coveralls.io/repos/github/tulsawebdevs/django-multi-gtfs/badge.svg?branch=django19"></a>
++<a href="https://travis-ci.org/tulsawebdevs/django-multi-gtfs" rel="nofollow">
++<img alt="https://travis-ci.org/tulsawebdevs/django-multi-gtfs.svg?branch=master" src="https://travis-ci.org/tulsawebdevs/django-multi-gtfs.svg?branch=master">
++</a>
++<a href="https://coveralls.io/github/tulsawebdevs/django-multi-gtfs" rel="nofollow">
++<img alt="https://coveralls.io/repos/github/tulsawebdevs/django-multi-gtfs/badge.svg?branch=django19" src="https://coveralls.io/repos/github/tulsawebdevs/django-multi-gtfs/badge.svg?branch=django19">
++</a>
+ <p><strong>multigtfs</strong> is an <a href="http://choosealicense.com/licenses/apache/" rel="nofollow">Apache 2.0</a>-licensed Django app that supports importing
+ and exporting of GTFS feeds. All features of the <a href="https://developers.google.com/transit/gtfs/reference" rel="nofollow">June 20, 2012 reference</a>
+ are supported, including <a href="https://developers.google.com/transit/gtfs/changes#RevisionHistory" rel="nofollow">all changes</a> up to February 17, 2014.
+
+From 406d81e84f84393be35c35289ebab64a179f4532 Mon Sep 17 00:00:00 2001
+From: Kurt McKee <contactme@kurtmckee.org>
+Date: Mon, 1 Jul 2024 08:42:52 -0500
+Subject: [PATCH 5/5] Feedback: Remove `<s>` from the list of allowed HTML tags
+
+---
+ readme_renderer/clean.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/readme_renderer/clean.py b/readme_renderer/clean.py
+index 6cd5972..a123044 100644
+--- a/readme_renderer/clean.py
++++ b/readme_renderer/clean.py
+@@ -26,7 +26,7 @@
+ "br", "caption", "cite", "col", "colgroup", "dd", "del", "details", "div",
+ "dl", "dt", "h1", "h2", "h3", "h4", "h5", "h6", "hr", "img", "p", "pre",
+ "span", "sub", "summary", "sup", "table", "tbody", "td", "th", "thead",
+- "tr", "tt", "kbd", "var", "input", "section", "aside", "nav", "s", "figure",
++ "tr", "tt", "kbd", "var", "input", "section", "aside", "nav", "figure",
+ "figcaption", "picture",
+ }
+
diff --git a/dev-python/readme-renderer/readme-renderer-40.0.ebuild b/dev-python/readme-renderer/readme-renderer-40.0.ebuild
deleted file mode 100644
index c9858155b6a6..000000000000
--- a/dev-python/readme-renderer/readme-renderer-40.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A library for rendering 'readme' descriptions for Warehouse"
-HOMEPAGE="
- https://github.com/pypa/readme_renderer/
- https://pypi.org/project/readme-renderer/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/bleach-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/docutils-0.13.1[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.5.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( README.rst )
-
-distutils_enable_tests pytest
diff --git a/dev-python/readme-renderer/readme-renderer-41.0.ebuild b/dev-python/readme-renderer/readme-renderer-41.0.ebuild
deleted file mode 100644
index c40ffa3184a5..000000000000
--- a/dev-python/readme-renderer/readme-renderer-41.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A library for rendering 'readme' descriptions for Warehouse"
-HOMEPAGE="
- https://github.com/pypa/readme_renderer/
- https://pypi.org/project/readme-renderer/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/bleach-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/docutils-0.13.1[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.5.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( README.rst )
-
-distutils_enable_tests pytest
diff --git a/dev-python/readme-renderer/readme-renderer-42.0.ebuild b/dev-python/readme-renderer/readme-renderer-42.0.ebuild
deleted file mode 100644
index 1d6d5778bdf6..000000000000
--- a/dev-python/readme-renderer/readme-renderer-42.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A library for rendering 'readme' descriptions for Warehouse"
-HOMEPAGE="
- https://github.com/pypa/readme_renderer/
- https://pypi.org/project/readme-renderer/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv sparc x86"
-
-RDEPEND="
- >=dev-python/docutils-0.13.1[${PYTHON_USEDEP}]
- >=dev-python/nh3-0.2.14[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.5.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( README.rst )
-
-distutils_enable_tests pytest
diff --git a/dev-python/readme-renderer/readme-renderer-43.0-r1.ebuild b/dev-python/readme-renderer/readme-renderer-43.0-r1.ebuild
new file mode 100644
index 000000000000..f19e136436e4
--- /dev/null
+++ b/dev-python/readme-renderer/readme-renderer-43.0-r1.ebuild
@@ -0,0 +1,39 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A library for rendering 'readme' descriptions for Warehouse"
+HOMEPAGE="
+ https://github.com/pypa/readme_renderer/
+ https://pypi.org/project/readme-renderer/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/docutils-0.13.1[${PYTHON_USEDEP}]
+ >=dev-python/nh3-0.2.14[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.5.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/docutils-0.21.2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( README.rst )
+
+PATCHES=(
+ # https://github.com/pypa/readme_renderer/pull/315
+ "${FILESDIR}/${P}-docutils-0.21.patch"
+)
diff --git a/dev-python/readme-renderer/readme-renderer-43.0.ebuild b/dev-python/readme-renderer/readme-renderer-43.0.ebuild
new file mode 100644
index 000000000000..a7d0247324d5
--- /dev/null
+++ b/dev-python/readme-renderer/readme-renderer-43.0.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A library for rendering 'readme' descriptions for Warehouse"
+HOMEPAGE="
+ https://github.com/pypa/readme_renderer/
+ https://pypi.org/project/readme-renderer/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/docutils-0.13.1[${PYTHON_USEDEP}]
+ >=dev-python/nh3-0.2.14[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.5.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( README.rst )
+
+distutils_enable_tests pytest
diff --git a/dev-python/readme-renderer/readme-renderer-44.0.ebuild b/dev-python/readme-renderer/readme-renderer-44.0.ebuild
new file mode 100644
index 000000000000..e311393ba51c
--- /dev/null
+++ b/dev-python/readme-renderer/readme-renderer-44.0.ebuild
@@ -0,0 +1,29 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A library for rendering 'readme' descriptions for Warehouse"
+HOMEPAGE="
+ https://github.com/pypa/readme_renderer/
+ https://pypi.org/project/readme-renderer/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/docutils-0.21.2[${PYTHON_USEDEP}]
+ >=dev-python/nh3-0.2.14[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.5.2[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+DOCS=( README.rst )
diff --git a/dev-python/readthedocs-sphinx-ext/Manifest b/dev-python/readthedocs-sphinx-ext/Manifest
index 9efa517bc8e6..689c6ba442cf 100644
--- a/dev-python/readthedocs-sphinx-ext/Manifest
+++ b/dev-python/readthedocs-sphinx-ext/Manifest
@@ -1 +1 @@
-DIST readthedocs-sphinx-ext-2.2.3.tar.gz 12176 BLAKE2B 9467e3d08baa15fe64ce0a718e922e4f8dc6c0bd76fd8a53f4bae66114bbd043bbcca71a2b7b152a162d7ca89b102668ccdc9ab9b0904e0caf2e0ff953fc489c SHA512 f8c9b2b62c73307906fc61a2dacc0c9079c1b81920718fbd2c60a45e22da7e581b9fa60aca83003081753603cb904187cae6075922a62616554c8fcc4c1d7991
+DIST readthedocs-sphinx-ext-2.2.5.tar.gz 12303 BLAKE2B 55e67a96b8e5c4fef9d0768a4e514da924969628349d210b1cba6d8167c288bb4b6792486a80176fb01df7f8889b3f7b59ff30cb4ea487943e4bfe0d6942488f SHA512 d096803bb3d065236502d790ddd9efbf281854177dee7043f8bf2292cb124aea636b0d036e23ea3f23643484faaf2fd5e1b8636a2ed7973674cf5d5584f39bf3
diff --git a/dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.2.3.ebuild b/dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.2.3.ebuild
deleted file mode 100644
index a8aa2efef40d..000000000000
--- a/dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.2.3.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Code specific for Read the Docs and Sphinx"
-HOMEPAGE="
- https://github.com/readthedocs/readthedocs-sphinx-ext/
- https://pypi.org/project/readthedocs-sphinx-ext/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/jinja-2.9[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
-
-# unittest should be sufficient but tests are very verbose, so pytest's
-# output capture is most welcome
-distutils_enable_tests pytest
diff --git a/dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.2.5.ebuild b/dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.2.5.ebuild
new file mode 100644
index 000000000000..971209a67778
--- /dev/null
+++ b/dev-python/readthedocs-sphinx-ext/readthedocs-sphinx-ext-2.2.5.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2020-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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Code specific for Read the Docs and Sphinx"
+HOMEPAGE="
+ https://github.com/readthedocs/readthedocs-sphinx-ext/
+ https://pypi.org/project/readthedocs-sphinx-ext/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/jinja-2.9[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+"
+
+# unittest should be sufficient but tests are very verbose, so pytest's
+# output capture is most welcome
+distutils_enable_tests pytest
diff --git a/dev-python/readtime/readtime-3.0.0.ebuild b/dev-python/readtime/readtime-3.0.0.ebuild
index df106e3853a7..7aa0fdcea7bb 100644
--- a/dev-python/readtime/readtime-3.0.0.ebuild
+++ b/dev-python/readtime/readtime-3.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/rebulk/rebulk-3.2.0.ebuild b/dev-python/rebulk/rebulk-3.2.0.ebuild
index 12a6b132057a..28396133b8b0 100644
--- a/dev-python/rebulk/rebulk-3.2.0.ebuild
+++ b/dev-python/rebulk/rebulk-3.2.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/recommonmark/recommonmark-0.7.1-r1.ebuild b/dev-python/recommonmark/recommonmark-0.7.1-r1.ebuild
index 66b02242eff9..a4ccdcf2f351 100644
--- a/dev-python/recommonmark/recommonmark-0.7.1-r1.ebuild
+++ b/dev-python/recommonmark/recommonmark-0.7.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
DESCRIPTION="Python docutils-compatibility bridge to CommonMark"
diff --git a/dev-python/recurring-ical-events/Manifest b/dev-python/recurring-ical-events/Manifest
index 0188b3b9ebd0..422fa97146f4 100644
--- a/dev-python/recurring-ical-events/Manifest
+++ b/dev-python/recurring-ical-events/Manifest
@@ -1,3 +1,3 @@
-DIST python-recurring-ical-events-2.0.2.gh.tar.gz 326754 BLAKE2B 1df6ffaf08e991ca49360f586abda344a9967e9fe0446a367920d6fe502aea20af35bb976b7a030d47f0b34388e7f169027e4106fc7c317d3a68358af812d40f SHA512 377f2f974cf0ce141d6c4f32aafe1b55339121229a74d66647d6779c1bec3ec4ede47a0c1353692c5eb3d5a6144b53f1fef3150343b503884c1d1d241138b65d
-DIST python-recurring-ical-events-2.1.0.gh.tar.gz 327954 BLAKE2B 8dae03b538e961fa18b51d6ecfd3d0818a64a44ebd9811370a7c78e8b897f38cad520d692fcc6e1c93751f500d8fd6072f0ce86ee9ac947b0aab7c82fcc3d9f7 SHA512 8e8e0d18e110be01f60a4834d21794d7a595413d109af88f44896d75db4c37176020f1f4fd74dc81c2f76d1e3654bc77c97240a6163444b0449a08178bb22c27
-DIST python-recurring-ical-events-2.1.1.gh.tar.gz 328303 BLAKE2B 204ca63f87829cab0b4fd972027fbdabdcd027a0cc2fb1d42b70c517b5de69aa177a68e3a0ec051b326bce69cb4d341939ab4e53020f4fe5155476ad7dba5205 SHA512 d77f71317da8df3d71105b5c2ce08f33854df423b0b10e2dba117737832cc7b2257bd3d3b6f6d8470bea0beb7b5e6bc695e8204e02e3d8118cedf6a16e45f0cf
+DIST python-recurring-ical-events-2.2.1.gh.tar.gz 332458 BLAKE2B 337823e2a98c43015ffd7e848ab4fe43429f787ceb8ff262dca9d73668a785d6245f9e64779c900f1a84a2d7713832621d42044309f38c44bba79fc2853d066f SHA512 1bd6337b5b8670b2c587d54eae26291c381adba76c38e21a937db8a16480d9b4c6eaddda6660fd0c345f67e38ed4f7cfe9e528ecce3686bce9659f4ef30d278c
+DIST python-recurring-ical-events-2.2.2.gh.tar.gz 335683 BLAKE2B 1cad8f90f5dcf9e84ac7688e15b8535aaef0c00a0e65a036ef7f38e1b030cc4c017247149d8ef9d099a28a919d015603ebb71c18a44b8bbf26f3f4c3eefbf942 SHA512 0429a344c70c1a844ed2705112776971413e4ed61a54ccb665f0246b208416ad2ce855ff31766bd628439d08432bf4fea8cbf43f878c35835ba6b137bffa3b85
+DIST python-recurring-ical-events-2.2.3.gh.tar.gz 337134 BLAKE2B 6a119c427e176c92f822186aa910eb133f04157069f7a4e632c0b784ab5e71ae37584ceaddf1d0a6d533854d790322130964222eaa00948c6af2bae89491ef00 SHA512 569a21056947d19d85cbf93e02b3fb9236163535d478188a6cdb5b5d7a5e3b460ecf41ac3a2b858e446273aba5d8c5a9b69eebbb3f32ce453e2ee90a31ed1acf
diff --git a/dev-python/recurring-ical-events/recurring-ical-events-2.0.2.ebuild b/dev-python/recurring-ical-events/recurring-ical-events-2.0.2.ebuild
deleted file mode 100644
index 23278d4d47b2..000000000000
--- a/dev-python/recurring-ical-events/recurring-ical-events-2.0.2.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=python-${P}
-DESCRIPTION="Repeat ICalendar events by RRULE, RDATE and EXDATE"
-HOMEPAGE="
- https://github.com/niccokunzmann/python-recurring-ical-events/
- https://pypi.org/project/recurring-ical-events/
-"
-SRC_URI="
- https://github.com/niccokunzmann/python-recurring-ical-events/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/icalendar[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- <dev-python/x-wr-timezone-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/x-wr-timezone-0.0.5[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- test/test_readme.py
-)
-
-EPYTEST_DESELECT=(
- # a test checking if tzdata package is installed that is apparently
- # needed for other tests, except it isn't
- test/test_zoneinfo_issue_57.py::test_zoneinfo_must_be_installed_if_it_is_possible
-)
diff --git a/dev-python/recurring-ical-events/recurring-ical-events-2.1.0.ebuild b/dev-python/recurring-ical-events/recurring-ical-events-2.1.0.ebuild
deleted file mode 100644
index c790e2121364..000000000000
--- a/dev-python/recurring-ical-events/recurring-ical-events-2.1.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=python-${P}
-DESCRIPTION="Repeat ICalendar events by RRULE, RDATE and EXDATE"
-HOMEPAGE="
- https://github.com/niccokunzmann/python-recurring-ical-events/
- https://pypi.org/project/recurring-ical-events/
-"
-SRC_URI="
- https://github.com/niccokunzmann/python-recurring-ical-events/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- <dev-python/icalendar-6[${PYTHON_USEDEP}]
- >=dev-python/icalendar-5.0.9[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- >=dev-python/pytz-2023.3[${PYTHON_USEDEP}]
- <dev-python/x-wr-timezone-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/x-wr-timezone-0.0.5[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- test/test_readme.py
-)
-
-EPYTEST_DESELECT=(
- # a test checking if tzdata package is installed that is apparently
- # needed for other tests, except it isn't
- test/test_zoneinfo_issue_57.py::test_zoneinfo_must_be_installed_if_it_is_possible
-)
diff --git a/dev-python/recurring-ical-events/recurring-ical-events-2.1.1.ebuild b/dev-python/recurring-ical-events/recurring-ical-events-2.1.1.ebuild
deleted file mode 100644
index c790e2121364..000000000000
--- a/dev-python/recurring-ical-events/recurring-ical-events-2.1.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=python-${P}
-DESCRIPTION="Repeat ICalendar events by RRULE, RDATE and EXDATE"
-HOMEPAGE="
- https://github.com/niccokunzmann/python-recurring-ical-events/
- https://pypi.org/project/recurring-ical-events/
-"
-SRC_URI="
- https://github.com/niccokunzmann/python-recurring-ical-events/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- <dev-python/icalendar-6[${PYTHON_USEDEP}]
- >=dev-python/icalendar-5.0.9[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- >=dev-python/pytz-2023.3[${PYTHON_USEDEP}]
- <dev-python/x-wr-timezone-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/x-wr-timezone-0.0.5[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- test/test_readme.py
-)
-
-EPYTEST_DESELECT=(
- # a test checking if tzdata package is installed that is apparently
- # needed for other tests, except it isn't
- test/test_zoneinfo_issue_57.py::test_zoneinfo_must_be_installed_if_it_is_possible
-)
diff --git a/dev-python/recurring-ical-events/recurring-ical-events-2.2.1.ebuild b/dev-python/recurring-ical-events/recurring-ical-events-2.2.1.ebuild
new file mode 100644
index 000000000000..71560d4ad7a9
--- /dev/null
+++ b/dev-python/recurring-ical-events/recurring-ical-events-2.2.1.ebuild
@@ -0,0 +1,46 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=python-${P}
+DESCRIPTION="Repeat ICalendar events by RRULE, RDATE and EXDATE"
+HOMEPAGE="
+ https://github.com/niccokunzmann/python-recurring-ical-events/
+ https://pypi.org/project/recurring-ical-events/
+"
+SRC_URI="
+ https://github.com/niccokunzmann/python-recurring-ical-events/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ <dev-python/icalendar-6[${PYTHON_USEDEP}]
+ >=dev-python/icalendar-5.0.9[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2023.3[${PYTHON_USEDEP}]
+ <dev-python/x-wr-timezone-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/x-wr-timezone-0.0.5[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ test/test_readme.py
+)
+
+EPYTEST_DESELECT=(
+ # a test checking if tzdata package is installed that is apparently
+ # needed for other tests, except it isn't
+ test/test_zoneinfo_issue_57.py::test_zoneinfo_must_be_installed_if_it_is_possible
+)
diff --git a/dev-python/recurring-ical-events/recurring-ical-events-2.2.2.ebuild b/dev-python/recurring-ical-events/recurring-ical-events-2.2.2.ebuild
new file mode 100644
index 000000000000..6c85248725e5
--- /dev/null
+++ b/dev-python/recurring-ical-events/recurring-ical-events-2.2.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=python-${P}
+DESCRIPTION="Repeat ICalendar events by RRULE, RDATE and EXDATE"
+HOMEPAGE="
+ https://github.com/niccokunzmann/python-recurring-ical-events/
+ https://pypi.org/project/recurring-ical-events/
+"
+SRC_URI="
+ https://github.com/niccokunzmann/python-recurring-ical-events/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ <dev-python/icalendar-7[${PYTHON_USEDEP}]
+ >=dev-python/icalendar-5.0.9[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ <dev-python/x-wr-timezone-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/x-wr-timezone-0.0.5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/icalendar-6[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2023.3[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ test/test_readme.py
+)
diff --git a/dev-python/recurring-ical-events/recurring-ical-events-2.2.3.ebuild b/dev-python/recurring-ical-events/recurring-ical-events-2.2.3.ebuild
new file mode 100644
index 000000000000..6c85248725e5
--- /dev/null
+++ b/dev-python/recurring-ical-events/recurring-ical-events-2.2.3.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=python-${P}
+DESCRIPTION="Repeat ICalendar events by RRULE, RDATE and EXDATE"
+HOMEPAGE="
+ https://github.com/niccokunzmann/python-recurring-ical-events/
+ https://pypi.org/project/recurring-ical-events/
+"
+SRC_URI="
+ https://github.com/niccokunzmann/python-recurring-ical-events/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ <dev-python/icalendar-7[${PYTHON_USEDEP}]
+ >=dev-python/icalendar-5.0.9[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ <dev-python/x-wr-timezone-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/x-wr-timezone-0.0.5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/icalendar-6[${PYTHON_USEDEP}]
+ >=dev-python/pytz-2023.3[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ test/test_readme.py
+)
diff --git a/dev-python/redis/Manifest b/dev-python/redis/Manifest
index e0a324020663..a68bfa88f9f0 100644
--- a/dev-python/redis/Manifest
+++ b/dev-python/redis/Manifest
@@ -1 +1 @@
-DIST redis-py-5.0.1.gh.tar.gz 4769633 BLAKE2B 3b572ef41abfdb0cf0ba957c93a23aacbe931e50ebe11e50a62dffe6aaaf57926224f7a497727e1e233b443c6be053f786dadac64f16a5170748e6afd9604d01 SHA512 05c32d6961326ff39312f5513136e72be3a42819b0c4bf646f3bac14e66a8a87a191697a89c2cbc22a83398896e25adc5fbd34f12e67719f0a0af927bf423130
+DIST redis-py-5.0.7.gh.tar.gz 4775787 BLAKE2B 72060bd2101ba5b16ab5823ec6ed16fdc6714546f4be2a0c89871f9f1a3f2cc0e11075071507f9f89eb9b21a7ab4844e04c37f698d62a37e94ca93aa0ad5762a SHA512 dd46459eb1331f0ef844b12e65aed548aaf744d0c5581c9bc3f4450be4e4a5ba77130ba905a57a8ce87b5d0aa22495d34ddab01463d276797e1d277c949502a6
diff --git a/dev-python/redis/redis-5.0.1.ebuild b/dev-python/redis/redis-5.0.1.ebuild
deleted file mode 100644
index 773b415b4d2f..000000000000
--- a/dev-python/redis/redis-5.0.1.ebuild
+++ /dev/null
@@ -1,105 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-MY_P=redis-py-${PV}
-DESCRIPTION="Python client for Redis key-value store"
-HOMEPAGE="
- https://github.com/redis/redis-py/
- https://pypi.org/project/redis/
-"
-SRC_URI="
- https://github.com/redis/redis-py/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/async-timeout-4.0.2[${PYTHON_USEDEP}]
- ' 3.{9..10})
-"
-BDEPEND="
- test? (
- dev-db/redis
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Flaky test
- tests/test_pubsub.py::TestPubSubDeadlock::test_pubsub_deadlock
- # require extra redis modules that apparently aren't packaged
- # on Gentoo
- tests/test_bloom.py
- tests/test_graph.py
- tests/test_json.py
- tests/test_timeseries.py
- # apparently available only in "Redis Stack 7.2 RC3 or later"
- tests/test_commands.py::TestRedisCommands::test_tfunction_load_delete
- tests/test_commands.py::TestRedisCommands::test_tfunction_list
- tests/test_commands.py::TestRedisCommands::test_tfcall
- # TODO
- tests/test_commands.py::TestRedisCommands::test_zrank_withscore
- tests/test_commands.py::TestRedisCommands::test_zrevrank_withscore
- tests/test_commands.py::TestRedisCommands::test_xinfo_consumers
- tests/test_asyncio/test_commands.py::TestRedisCommands::test_zrank_withscore
- tests/test_asyncio/test_commands.py::TestRedisCommands::test_zrevrank_withscore
- tests/test_asyncio/test_commands.py::TestRedisCommands::test_xinfo_consumers
- )
-
- case ${EPYTHON} in
- python3.12)
- EPYTEST_DESELECT+=(
- tests/test_asyncio/test_connect.py
- tests/test_asyncio/test_cwe_404.py
- )
- ;;
- esac
-
- # TODO: try to run more servers?
- epytest -m "not redismod and not onlycluster and not replica and not ssl"
-}
-
-src_test() {
- local redis_pid="${T}"/redis.pid
- local redis_port=6379
-
- if has_version ">=dev-db/redis-7"; then
- local extra_conf="
- enable-debug-command yes
- enable-module-command yes
- "
- fi
-
- # Spawn Redis itself for testing purposes
- einfo "Spawning Redis"
- einfo "NOTE: Port ${redis_port} must be free"
- "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
- daemonize yes
- pidfile ${redis_pid}
- port ${redis_port}
- bind 127.0.0.1 ::1
- ${extra_conf}
- EOF
-
- # Run the tests
- distutils-r1_src_test
-
- # Clean up afterwards
- kill "$(<"${redis_pid}")" || die
-}
diff --git a/dev-python/redis/redis-5.0.7.ebuild b/dev-python/redis/redis-5.0.7.ebuild
new file mode 100644
index 000000000000..615ccc4a50d9
--- /dev/null
+++ b/dev-python/redis/redis-5.0.7.ebuild
@@ -0,0 +1,97 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+MY_P=redis-py-${PV}
+DESCRIPTION="Python client for Redis key-value store"
+HOMEPAGE="
+ https://github.com/redis/redis-py/
+ https://pypi.org/project/redis/
+"
+SRC_URI="
+ https://github.com/redis/redis-py/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~hppa ppc ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ >=dev-python/async-timeout-4.0.2[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Flaky test
+ tests/test_pubsub.py::TestPubSubDeadlock::test_pubsub_deadlock
+ # require extra redis modules that apparently aren't packaged
+ # on Gentoo
+ tests/{,test_asyncio/}test_bloom.py
+ tests/{,test_asyncio/}test_graph.py
+ tests/{,test_asyncio/}test_json.py
+ tests/{,test_asyncio/}test_timeseries.py
+ # apparently available only in "Redis Stack 7.2 RC3 or later"
+ tests/test_commands.py::TestRedisCommands::test_tfunction_load_delete
+ tests/test_commands.py::TestRedisCommands::test_tfunction_list
+ tests/test_commands.py::TestRedisCommands::test_tfcall
+ # TODO
+ tests/test_commands.py::TestRedisCommands::test_zrank_withscore
+ tests/test_commands.py::TestRedisCommands::test_zrevrank_withscore
+ tests/test_commands.py::TestRedisCommands::test_xinfo_consumers
+ tests/test_asyncio/test_commands.py::TestRedisCommands::test_zrank_withscore
+ tests/test_asyncio/test_commands.py::TestRedisCommands::test_zrevrank_withscore
+ tests/test_asyncio/test_commands.py::TestRedisCommands::test_xinfo_consumers
+ tests/test_asyncio/test_pubsub.py::TestPubSubAutoReconnect::test_reconnect_socket_error[pool-hiredis-listen]
+ )
+
+ # TODO: try to run more servers?
+ epytest -m "not redismod and not onlycluster and not replica and not ssl"
+}
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+
+ if has_version ">=dev-db/redis-7"; then
+ local extra_conf="
+ enable-debug-command yes
+ enable-module-command yes
+ "
+ fi
+
+ # Spawn Redis itself for testing purposes
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ "${EPREFIX}"/usr/sbin/redis-server - <<- EOF || die "Unable to start redis server"
+ daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1 ::1
+ ${extra_conf}
+ EOF
+
+ # Run the tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/reedsolo/reedsolo-2.1.1_beta1-r2.ebuild b/dev-python/reedsolo/reedsolo-2.1.1_beta1-r2.ebuild
index d88408f4e74a..9de977325536 100644
--- a/dev-python/reedsolo/reedsolo-2.1.1_beta1-r2.ebuild
+++ b/dev-python/reedsolo/reedsolo-2.1.1_beta1-r2.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-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_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/referencing/Manifest b/dev-python/referencing/Manifest
index 3cfff4abf786..0552de56138a 100644
--- a/dev-python/referencing/Manifest
+++ b/dev-python/referencing/Manifest
@@ -1,2 +1 @@
-DIST referencing-0.31.0.tar.gz 53776 BLAKE2B 9fe01f00ce8ea7d2daa5953939c255772d532ddf6405c5a8ea5c79785619f223f0aa5fa56156d29c2c126a02c7993178bcbf1844941e9d04bbdb9a3238b12724 SHA512 1d32abf9f7e88e3cee484dcf51804151a9a4de0743dded30dc71184f542147d274987b4c0948423aaf34a981133c2a9607c8b805e5a721282a6472c95a109aee
-DIST referencing-0.31.1.tar.gz 54177 BLAKE2B d6973740dda23da9730f279176dc729327ac4c16d8420852ff7d6298c48ea6428281acf5de44557e7522d399f0ced2cb83730b07c166476eab633517add36974 SHA512 3522461dc9ba4fee0e8dceaf753094bb1a204fb5b08534a80147c567e5b8cc70c0d27d4ae0cb420725d2e2ad8e6565bd1891201cbdd9db91c9a6816cdad857f9
+DIST referencing-0.35.1.tar.gz 62991 BLAKE2B b434d3b24bb01c7ea2b97300408571483ecfaa49b52867374a8734b4dafd06404c8b993757620329668fa01eb791c2a6f938aa4be20ff841fe691a4b47dcf6b3 SHA512 b737afb45bfb1adb91f457b78ab4a31a6f33839ef61095663fd66d91c09fc379d900f778bacaa36722770ce80eccd6a227a074cb44836e69205bed06165d033d
diff --git a/dev-python/referencing/referencing-0.31.0.ebuild b/dev-python/referencing/referencing-0.31.0.ebuild
deleted file mode 100644
index b56978846a6d..000000000000
--- a/dev-python/referencing/referencing-0.31.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2023 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="Cross-specification JSON referencing (JSON Schema, OpenAPI...)"
-HOMEPAGE="
- https://github.com/python-jsonschema/referencing/
- https://pypi.org/project/referencing/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
- >=dev-python/rpds-py-0.7.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/pytest-subtests[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/referencing/referencing-0.31.1.ebuild b/dev-python/referencing/referencing-0.31.1.ebuild
deleted file mode 100644
index cf903ff5c365..000000000000
--- a/dev-python/referencing/referencing-0.31.1.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2023 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="Cross-specification JSON referencing (JSON Schema, OpenAPI...)"
-HOMEPAGE="
- https://github.com/python-jsonschema/referencing/
- https://pypi.org/project/referencing/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
- >=dev-python/rpds-py-0.7.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/pytest-subtests[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/referencing/referencing-0.35.1.ebuild b/dev-python/referencing/referencing-0.35.1.ebuild
new file mode 100644
index 000000000000..723de44d0d73
--- /dev/null
+++ b/dev-python/referencing/referencing-0.35.1.ebuild
@@ -0,0 +1,33 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Cross-specification JSON referencing (JSON Schema, OpenAPI...)"
+HOMEPAGE="
+ https://github.com/python-jsonschema/referencing/
+ https://pypi.org/project/referencing/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/attrs-22.2.0[${PYTHON_USEDEP}]
+ >=dev-python/rpds-py-0.7.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pytest-subtests[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/reflink/Manifest b/dev-python/reflink/Manifest
index 962a554aedba..fe2631b82867 100644
--- a/dev-python/reflink/Manifest
+++ b/dev-python/reflink/Manifest
@@ -1 +1 @@
-DIST reflink-0.2.1.tar.gz 14638 BLAKE2B a6449ebb27619ead9ff8452df6c48f3617e5f06eb347fbbe14ab00b9a43c01de8e101466288ac6fb73602165d4d4e9315f941c2f28dffe245ed2c39a10a61cf1 SHA512 5995ed787bda93cb46d99a603110768087420edd72c01d5f3f7f08a3f8f63b4629b900a3c173dd7f3119a892ac19ab1a9c3000ddd83810b22a52dfb5fb892a28
+DIST reflink-0.2.2.tar.gz 21956 BLAKE2B 48631117b76f09cfc90d60907f77ce772794d306bacd938756bca544251660c13694e862786eb93517555c3fc26e9d39ff4e925ff1bea95d1847f760a2d024d4 SHA512 11874303a4d57ce23a9e25bd54b2d4ca5f95c640c8de3234587c82f03566783f7ce2afc0b63d408964b74f4ec8d7cb8eaefe44eec7a011083deff79e6748d847
diff --git a/dev-python/reflink/metadata.xml b/dev-python/reflink/metadata.xml
index c4d2b11f78d9..94c6ecf219a9 100644
--- a/dev-python/reflink/metadata.xml
+++ b/dev-python/reflink/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<longdescription lang="en">
Python wrapper around the reflink system calls.
diff --git a/dev-python/reflink/reflink-0.2.1-r3.ebuild b/dev-python/reflink/reflink-0.2.1-r3.ebuild
deleted file mode 100644
index f6eb77f2210f..000000000000
--- a/dev-python/reflink/reflink-0.2.1-r3.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_IN_SOURCE_BUILD=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python wrapper around the reflink system calls"
-HOMEPAGE="
- https://gitlab.com/rubdos/pyreflink/
- https://pypi.org/project/reflink/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~x86"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/cffi[${PYTHON_USEDEP}]
- ' 'python*')
-"
-DEPEND="
- ${RDEPEND}
-"
-BDEPEND="
- ${RDEPEND}
- test? ( sys-fs/btrfs-progs )
-"
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -e 's|'\''pytest-runner'\'',\?||' -i setup.py || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local notestmsg="Tests need FEATURES='-usersandbox -userpriv -sandbox'"
- if [[ ${EUID} != 0 ]]; then
- ewarn "${notestmsg}"
- elif
- has sandbox ${FEATURES}; then
- ewarn "${notestmsg}"
- else
- pushd "${BUILD_DIR}"/lib >/dev/null || die
- # module import will fail with any other directory structure
- cp -rv "${S}"/tests ./ || die
- pytest -vv || die "Tests fail with ${EPYTHON}"
- popd >/dev/null || die
- fi
-}
diff --git a/dev-python/reflink/reflink-0.2.2.ebuild b/dev-python/reflink/reflink-0.2.2.ebuild
new file mode 100644
index 000000000000..5934b49d9382
--- /dev/null
+++ b/dev-python/reflink/reflink-0.2.2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 2019-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python wrapper around the reflink system calls"
+HOMEPAGE="
+ https://gitlab.com/rubdos/pyreflink/
+ https://pypi.org/project/reflink/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~ppc64 ~x86"
+# The test suite mounts a btrfs volume on a loopback device.
+PROPERTIES="test_privileged"
+RESTRICT="test"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+DEPEND="
+ ${RDEPEND}
+"
+BDEPEND="
+ ${RDEPEND}
+ test? ( sys-fs/btrfs-progs )
+"
+
+distutils_enable_sphinx docs
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -i -e '/pytest-runner/d' setup.py || die
+ distutils-r1_src_prepare
+}
+
+src_test() {
+ if [[ ! -c /dev/loop-control ]]; then
+ die "Tests require /dev/loop-control"
+ fi
+
+ rm -rf reflink || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ addwrite /dev
+ distutils-r1_src_test
+}
diff --git a/dev-python/regex/Manifest b/dev-python/regex/Manifest
index 2cedfe2afee5..71e4affdaf42 100644
--- a/dev-python/regex/Manifest
+++ b/dev-python/regex/Manifest
@@ -1 +1,2 @@
-DIST regex-2023.10.3.tar.gz 394659 BLAKE2B 2a842b307efb32c87087991312d09a03f0772729ba290222c9917073a6335c7d6cc76bc0d193352d9904ce655868d3415f75b93861de612fceeb8507080da1fb SHA512 c300f5c8218697362a15ec9bcbef60e510743ab098d8f2fcf1c8e9e39c19f848c60ae85def93780a1696a7ed864a69e704e045e995cd5bafb26bfec117a16609
+DIST regex-2024.5.15.tar.gz 394856 BLAKE2B 8990bbc78f7f9c6a4dc07d913ec5557a4cd1bac022bc71093e3d8083b5d547182e08f2e8189c3808d8e368ed42530578df9951367b59dc3450bb09458b57f496 SHA512 7e465987bff529a6895cd6606b5a188c0fb2cdf333de108a4e3e37c7badeea146fd23d1d757f47b65d4facdc30cbdb0ca3c0df2395124c8e3e6946a98f52f413
+DIST regex-2024.7.24.tar.gz 393485 BLAKE2B d2a46fe2039f78fc3f1e8cda1b7b1808b160018d8e0c1b880bb1a573b36a3e1e7c7ccfa238f99719b5a484fa3b7457109f9e8668fbf16cbaef52006e0e6f6f89 SHA512 7b9efc5bdefa6610862be06831404380939dfffad6e2a488d362f4a247356eb0739c2b9078f41e554eca21d64fd4b1b145291ca8140f18d1586328f7d19cefc9
diff --git a/dev-python/regex/files/regex-2021.4.4-pypy3-fix-test_empty_array.patch b/dev-python/regex/files/regex-2021.4.4-pypy3-fix-test_empty_array.patch
deleted file mode 100644
index 706b41b74688..000000000000
--- a/dev-python/regex/files/regex-2021.4.4-pypy3-fix-test_empty_array.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From: Arthur Zamarin <arthurzam@gmail.com>
-Date: Fri, 30 Jul 2021 11:13:41 +0300
-[PATCH] PyPy3: fix test_empty_array
-
-As an optimization, PyPy sets empty array.array to use a NULL buffer
-pointer, while CPython uses empty buffer (but not NULL).
-Add a very specially crafted fix for PyPy3
-
-Signed-off-by: Arthur Zamarin <arthurzam@gmail.com>
----
- regex_3/_regex.c | 10 ++++++++++
- 1 file changed, 10 insertions(+)
-
---- a/regex_3/_regex.c
-+++ b/regex_3/_regex.c
-@@ -18062,9 +18062,19 @@ Py_LOCAL_INLINE(BOOL) get_string(PyObject* string, RE_StringInfo* str_info) {
- }
-
- if (!str_info->view.buf) {
-+#if defined(PYPY_VERSION)
-+ /* In PyPy3, when the array.array is empty, it's buffer is NULL */
-+ str_info->characters = NULL;
-+ str_info->length = 0;
-+ str_info->charsize = 1;
-+ str_info->is_unicode = FALSE;
-+ str_info->should_release = FALSE;
-+ return TRUE;
-+#else
- PyBuffer_Release(&str_info->view);
- PyErr_SetString(PyExc_ValueError, "buffer is NULL");
- return FALSE;
-+#endif
- }
-
- str_info->should_release = TRUE;
diff --git a/dev-python/regex/files/regex-2021.4.4-pypy3-fix-test_issue_18468.patch b/dev-python/regex/files/regex-2021.4.4-pypy3-fix-test_issue_18468.patch
deleted file mode 100644
index ae5958021781..000000000000
--- a/dev-python/regex/files/regex-2021.4.4-pypy3-fix-test_issue_18468.patch
+++ /dev/null
@@ -1,31 +0,0 @@
-From: Arthur Zamarin <arthurzam@gmail.com>
-Date: Fri, 30 Jul 2021 11:38:26 +0300
-[PATCH] PyPy3: fix test_issue_18468
-
-When using the small subclass classes to test correctness of split
-results, there are difference between CPython and PyPy3:
- - CPython returns always the base class (for example str instead
- of StrSubclass)
- - PyPy3 returns the same class, so we get an StrSubclass
-
-Based on the test, it looks like the behaviour of PyPy3 is correct,
-but the test works based on CPython.
-
-The fix was to relax the equals type to check that it is a subclass.
-
-Signed-off-by: Arthur Zamarin <arthurzam@gmail.com>
----
- regex_3/test_regex.py | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
---- a/regex_3/test_regex.py
-+++ b/regex_3/test_regex.py
-@@ -52,7 +52,7 @@ class RegexTests(unittest.TestCase):
- for x, y in zip(actual, expect):
- recurse(x, y)
- else:
-- self.assertIs(type(actual), type(expect), msg)
-+ self.assertIsInstance(actual, type(expect), msg)
-
- recurse(actual, expect)
-
diff --git a/dev-python/regex/regex-2023.10.3.ebuild b/dev-python/regex/regex-2023.10.3.ebuild
deleted file mode 100644
index ff99bbc293f8..000000000000
--- a/dev-python/regex/regex-2023.10.3.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Alternative regular expression module to replace re"
-HOMEPAGE="
- https://github.com/mrabarnett/mrab-regex/
- https://pypi.org/project/regex/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-IUSE="doc"
-
-PATCHES=(
- "${FILESDIR}/${PN}-2021.4.4-pypy3-fix-test_empty_array.patch"
- "${FILESDIR}/${PN}-2021.4.4-pypy3-fix-test_issue_18468.patch"
-)
-
-distutils_enable_tests unittest
-
-python_install_all() {
- use doc && local HTML_DOCS=( docs/Features.html )
- local DOCS=( README.rst docs/*.rst )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/regex/regex-2024.5.15.ebuild b/dev-python/regex/regex-2024.5.15.ebuild
new file mode 100644
index 000000000000..120bb6f979d8
--- /dev/null
+++ b/dev-python/regex/regex-2024.5.15.ebuild
@@ -0,0 +1,32 @@
+# 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
+# pypy isn't supported upstream because of its UTF8 representation for strings
+# See https://github.com/mrabarnett/mrab-regex/issues/521#issuecomment-1936260187.
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Alternative regular expression module to replace re"
+HOMEPAGE="
+ https://github.com/mrabarnett/mrab-regex/
+ https://pypi.org/project/regex/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+IUSE="doc"
+
+distutils_enable_tests unittest
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/Features.html )
+ local DOCS=( README.rst docs/*.rst )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/regex/regex-2024.7.24.ebuild b/dev-python/regex/regex-2024.7.24.ebuild
new file mode 100644
index 000000000000..1857c471aed9
--- /dev/null
+++ b/dev-python/regex/regex-2024.7.24.ebuild
@@ -0,0 +1,32 @@
+# 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
+# pypy isn't supported upstream because of its UTF8 representation for strings
+# See https://github.com/mrabarnett/mrab-regex/issues/521#issuecomment-1936260187.
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Alternative regular expression module to replace re"
+HOMEPAGE="
+ https://github.com/mrabarnett/mrab-regex/
+ https://pypi.org/project/regex/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="doc"
+
+distutils_enable_tests unittest
+
+python_install_all() {
+ use doc && local HTML_DOCS=( docs/Features.html )
+ local DOCS=( README.rst docs/*.rst )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/regress/Manifest b/dev-python/regress/Manifest
new file mode 100644
index 000000000000..827b4da32e46
--- /dev/null
+++ b/dev-python/regress/Manifest
@@ -0,0 +1,40 @@
+DIST ahash-0.8.3.crate 42416 BLAKE2B 84836a4e33451012ff32c1a1a90500d87eb7ce649b60dff4eecfb0d25b9782a186376c154673c3121b154ff4616016d1718dfd687b88f4772c2c89eeb2f119b6 SHA512 cf2d2f1201ac0969cf4e2a0c47090bee971b2287ac44b5e091c90a9eced03cf6ff56d7900cc0f529d4acedc30bd400261c15e50efabdd1731f79951b449af53e
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST hashbrown-0.13.2.crate 105265 BLAKE2B e9ff7e6e753166ab3051a834df6f2da81a19ac6997ba269ab13a65e0abb9ce00839311785aefb451553284ad5ef3a0cda925dc2bc188d2a138a78578e530969c SHA512 21dae7a283326d21e16bb32ae0dd1481c4936939a32a06478a3351c2dec97941be532437b808e99ac40e7900a75433fe0efbd852158659a682461245e19d0e70
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
+DIST libc-0.2.140.crate 669153 BLAKE2B f4269549f6b450a3da3196ecaae52afe178d5b6905666fae04e2879f975f0129788898ca2ccd214d721af42a8b2fa86b26355d6baa0a81c223b56c658ee66dd5 SHA512 f450fe619ea2f45e4ada2567981987f19d35a9f13f88a0ce3a53e1751c6fbff708ca69fa6a64d807cce5dfe18b08751f0695d8a01e68e269da1aafc831528b7b
+DIST lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990
+DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa
+DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
+DIST once_cell-1.17.1.crate 32856 BLAKE2B 8bde2aaaf9ef45d1f6b8458686179f1fe9295ee8faea269e9b49779583ce26ab9dafe988c3584e841a9e5d05e28430ca967ef3b25e755f48f0120d9c99cdb7bc SHA512 1302d51801e38bfee23e74c0046f1ecb1d3c27309b5fe11c2b6c99553b357db502ce1718695602f9d8b10429e8ff03f91c016d5d604957083728293824c05904
+DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
+DIST parking_lot_core-0.9.7.crate 32412 BLAKE2B fec3ed2cf28e6d5090aae6a7c0ad583acf3ce6e54e881b78a9cb6721ca1e7040d46c044d405852728e74baff6ff1feaee7a89a64c69d20531f29942dfaafcc72 SHA512 1f232f1a87ba9377621244ba49378663f3113da7192a399fdb70be971ff5e5ca0d0601e1210a3fd8ab75ef464dc8505e719f81902e3448cce5e7848ef4bdbef0
+DIST proc-macro2-1.0.52.crate 42982 BLAKE2B c432e889c6d02e359863ca40d30e20b5c3567d065ea16e5963eb713ea9a02a9979ec996939efbb23aa37857ec37e6587b2519d8267a1a713d1b17fce014acca6 SHA512 76b24c82bfd37a7eed4dda59a56fa2101ec4e8d6ad726e3fdace9daa729090de2cb2bcfd4246dd691129645c613ae18c6fc448c940b459724681202f7a232f3f
+DIST pyo3-0.20.0.crate 431766 BLAKE2B 104bc21ce2c6931753ca0c7b2d91693f454c964260ca3c4628a899fc8e7edbe4238db913ed7356f3beff154d88a60a17c0e252b655768e75483e1d9d9b86f40b SHA512 85d9533c75f905752c62f6a4898582ae48daf085e287b44949c47260301205a5f00477927877ce46300d2801d22fbc04a958c058a37eb28374c834fff27feca1
+DIST pyo3-build-config-0.20.0.crate 29534 BLAKE2B eb1d5f75276533483c52c6fcae49b294d6d8edf504859dae18811c1ef695dc6d0a055f2a34bea305975e4c1492c312433d2dcb7753484f793376c62cd59c8e40 SHA512 a01d06ebeb4b9cfe6ff6731046101e9437498453ca5aa68ec53df3bfb2f34665a489f8072636c2da16c1e867f536032fd293f05a43561117fd131bde5fe5aac7
+DIST pyo3-ffi-0.20.0.crate 64220 BLAKE2B dfe75b9459b4a564d1dd9f907166b76d00c5b50ba027db65d11540a7b993f3ef4e19e574135b538635ebb9c9eba66115c09198c7b6071b0b82fd94faccb1bb63 SHA512 a68f0b1380f2ac3d3034ac8b3788cd6573850137c6678694cbcc3e814b619510b9b21b11704c2e702d4eb7433d8b1d3a6dac663501b6db5197a409407802b714
+DIST pyo3-macros-0.20.0.crate 7678 BLAKE2B 03fdc0cc9c735086ca2d27e0bcd197e69538c3640ba7f87bc3d65907db374ac7283f61bdb67a1d45b66ce972072ddcb3b1daed4aeb9a66100d11bba6515cdc86 SHA512 79b61f55010dad60dda2c5061c9736bef3f6805f28db230726937340a5c40a3fcfb727a0db7779c3eb094ebd45492f7af4f40a3fcaef42f160989a8ef6174e7e
+DIST pyo3-macros-backend-0.20.0.crate 49383 BLAKE2B a239042abdfcf5ad38505b57bc6b858ba346bf8681e24acf2e433f53e4a40bf0b28928b434b96f596d12acbb602b14b7e1bbf4be1e5789e6d9c754368db00a1e SHA512 c823caba48b4a30aaf84c23f80934f0172f2c76a41b538b69ebc25afcb61611b54b8fbb4ab6cac1c7a78b4e6f9f909f22748a2cd279b508d3897b74b17021d56
+DIST quote-1.0.26.crate 28397 BLAKE2B b468a5e9350843ea81e540d17c9fcb302b46fbd450e10280c5fff6fd7c98a439df8c3d3d47e551bc6d67ed02052b5b5c65d215d5ff8ee34f045747e75c1ba37e SHA512 6fcfe4d31f601aa60beb858c25df217421b0a184d185eebc7a4cb9fbf97c687992b77bebd8671a9e6193716387c3e926fed9b75a08684eb2d9a5b155fbc321a5
+DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
+DIST regress-0.4.5.tar.gz 9134 BLAKE2B 4099041658e1bf8e419c6d8976823cd2c63264f44848db50a01f0c727794d994708889b45988414b1088830b34ff8fe8658d977fe8396d2dfe4b404ccdb0407a SHA512 db7539097a1a69f2dfc982880dc0120888b7f7e5f4c100a84b4d89928de2aa172297fd00294800d42ab8c00737d75dbb51fff310fe696ebaf3501db98b738602
+DIST regress-0.7.1.crate 248686 BLAKE2B af9dfea481829ab1f9e32ebb982fdc3f109a31fc6fd30b390a0b2eed1cceba452b5a014f0b648f9771a69022536e519baa7e61567295480a243d4d1e8d872ae3 SHA512 b96b74f8ea412af045c1a506133e96a644134a0f78fad9d43649ee6952f09e8fa28fcd00cadebbb3138dee3796278ef2b70a82d25c2e3efb1b71caf9d98f3087
+DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
+DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
+DIST syn-2.0.12.crate 240123 BLAKE2B 3a7b58eb8bc7afc57c08add89ec4969db77aa8d8f9c30569a5194608e6894c98496f52ffe082b2a966d6fe120b39d3213a111c01d2a4bdaf39f04e2faa20d3f2 SHA512 170707bd4b6d815529a0066a875f097a25cd6fca03921314b9b909a69bbdb60860b0b3779d0bfac362062420355fe0cd4bd68b4aed188d4d8a790e278cdb5ce7
+DIST target-lexicon-0.12.6.crate 24357 BLAKE2B 5d9aef958155bdc1b546b9940083cf81ba4c638525e2d46340e50c4274764b39ac19a12214f3ff64a6830524a2ecea9d555db3f07d5d7dbccd7dd809255c4499 SHA512 63ccc047d10ebff55c3b9be400e2deafcaba7beb28ee67bae6d5df58e7c08362b2c4e0004f6daa582928850701969015ad43714c7ad46df665474667ff4db58f
+DIST unicode-ident-1.0.8.crate 41962 BLAKE2B 3e3394a421460b0cdd56f96e1149b3816651ffd7064f9ec85c12050917d0b271eeee4bc3f6d3f0a3c1596635df3dac54bd610243d34e459743fe29b3b931a237 SHA512 8104999c6fff002c5aa109e2ca75ce3eaf772155d31dff87bcf39e3eb3da58b6cb543717be7b55acdb0cb1a4bd2a3d2e9c9974f7f75b6528668f5ef665ef4088
+DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
+DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
+DIST windows-sys-0.45.0.crate 2568659 BLAKE2B 6f2d634d121a9bf41e2887e277a73f33aee69b04c7fcfc6ff973d21902787997f1e186f530e9226cddc003ffc3f85a179c069c8a8688de459f617df92d33f94f SHA512 f239346c0141b95aa76e0771e2f4e38b9a592f3cd92c6001de353637cd65cd73b94cbf9917a4eaa9b0c0b2e6e2af920b9cf6b3fccb52770df5160254cffc1c47
+DIST windows-targets-0.42.2.crate 5492 BLAKE2B 42fc4a7d3e287fe2a70637e890304b49737776596f4a94a6d216668247092135e84322bd04caddd19c83b7700b0f27278e600ce8ed326957fabc21bffcae89b0 SHA512 84fbaffcad9a80beca77506aac26d0c5cb75aa0f21a5a70bcd3f6a16e71e8753ae00d3b89da9262c99756624163dcc0d6074fa9f99dfaae0dc098018209025f9
+DIST windows_aarch64_gnullvm-0.42.2.crate 364071 BLAKE2B 97c4e3b2a2dd3f936f9bfcdad23639c9c4c499eed220aec361d26d6013d798efa118e6b298f9cf841ac149d2ae5d58ca653731718450fcf2910bb5f6fa39159f SHA512 75cd7eb1def8ce9d0ff3d7468d2b1cc31cc76c08f981a2460c3d1eb09cff7100d7442863a3591621c1f5f3b3f4badf0b5c95285b6ed583e37283a8403f1095f1
+DIST windows_aarch64_msvc-0.42.2.crate 666981 BLAKE2B 9f3cc5592cdede08bcdc1e7c455325279e3b763d96942695e10dccf1dfc37a81c749b69a7d6de883d4c0fa6e8a0d2f578fe2a8d6c42ad8ef6282590bf8fc87b7 SHA512 d2dafa8c94d01c1b65ca1bd631d31f2ef842f1db7accb132ff78c3f8483221b991afd3391563e03dcec42bbc9cbdc0ebdab47b991d25af85b5ba2ac1bbf8db63
+DIST windows_i686_gnu-0.42.2.crate 736236 BLAKE2B 4ef0496462afc73d9d72af7e5da1e6d3506a92f8172930e88ae64ab97596ffd31c4f97fb969e9b677e30159c27f00a8e756deb006b630fb98ce83f03c8b762e2 SHA512 ad09d650a05cb91cb6b40f59025c023a4c286bc1194586697c506016df2b9b0d5b02606b81687bc634795a0d9a9b8a73e486599328ae09c853e8e5ba662fc59c
+DIST windows_i686_msvc-0.42.2.crate 724951 BLAKE2B b084286cd4927efd2889b149abf8a9fe9d3d777130db9e592982660dbf9a96a0f5e723ca121465787aa11877d2d29a5a7d7cf066cdc8fa7e90d7ca7dcb7677f1 SHA512 c1706fc36d4b157c020744a11b3eb5d7dfbf05a0b56775bc717e94b7fd725816b20154fdbcd69ac08dbfb8b8bbfa74fab72d7a9c10399aad6a1cc54cf597e804
+DIST windows_x86_64_gnu-0.42.2.crate 699373 BLAKE2B 01c70809d564b16b268656e47295e99c992d8f9839fac8a51338a0e7c3b9cdcd0429c456ca8c1c139a8c687ed7ed6c43a82250889d881aadaa65bd037223e0a6 SHA512 5767af3c86e717f93137a89d442230e6b60a649057edb3ab104b1f82c0bcd64fe089dcdf2f4fd486a799bece1ddb5f0449641536b678211945e749ae24f35c1f
+DIST windows_x86_64_gnullvm-0.42.2.crate 364068 BLAKE2B 64bc53e98eb3fc649c9b43a6e734de4e65088e41edacabd49f7afcc5dc6e1065c563ecfc682747dda05978dea2dba4f45c16fcc18c3b00684c3d93681e5a7deb SHA512 d39a8bc948110fe612d3f8d6628b3f0d56620df11d8a49e0fabb6c90389ad407582b3af10e4eab46c79b3d11d2e10753d73d9e55963fbeac085f41e9749bdba3
+DIST windows_x86_64_msvc-0.42.2.crate 666936 BLAKE2B bc3a456e7f8bc272f8978ec69506ec9d89f97b7582ebbe05d8bd57bdf8156ef62d0d2dc6137a97e81d54059d70db97a24af9a038adff357f5dfd28805d6193b5 SHA512 53a35f438903fceb59e36bd2ac331773fb8e6c8c5a6d984e79021761f91b3b4a23efe49d219667a4d0d23dcdbf906da9c24e74fb1cff93395b5c55ff524e3788
diff --git a/dev-python/regress/metadata.xml b/dev-python/regress/metadata.xml
new file mode 100644
index 000000000000..3641f4e96897
--- /dev/null
+++ b/dev-python/regress/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>chutzpah@gentoo.org</email>
+ <name>Patrick McLean</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="pypi">regress</remote-id>
+ <remote-id type="github">crate-py/regress</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/regress/regress-0.4.5.ebuild b/dev-python/regress/regress-0.4.5.ebuild
new file mode 100644
index 000000000000..1358bee2816e
--- /dev/null
+++ b/dev-python/regress/regress-0.4.5.ebuild
@@ -0,0 +1,72 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+CRATES="
+ ahash@0.8.3
+ autocfg@1.1.0
+ bitflags@1.3.2
+ cfg-if@1.0.0
+ hashbrown@0.13.2
+ heck@0.4.1
+ indoc@2.0.4
+ libc@0.2.140
+ lock_api@0.4.9
+ memchr@2.5.0
+ memoffset@0.9.0
+ once_cell@1.17.1
+ parking_lot@0.12.1
+ parking_lot_core@0.9.7
+ proc-macro2@1.0.52
+ pyo3-build-config@0.20.0
+ pyo3-ffi@0.20.0
+ pyo3-macros-backend@0.20.0
+ pyo3-macros@0.20.0
+ pyo3@0.20.0
+ quote@1.0.26
+ redox_syscall@0.2.16
+ regress@0.7.1
+ scopeguard@1.1.0
+ smallvec@1.10.0
+ syn@2.0.12
+ target-lexicon@0.12.6
+ unicode-ident@1.0.8
+ unindent@0.2.3
+ version_check@0.9.4
+ windows-sys@0.45.0
+ windows-targets@0.42.2
+ windows_aarch64_gnullvm@0.42.2
+ windows_aarch64_msvc@0.42.2
+ windows_i686_gnu@0.42.2
+ windows_i686_msvc@0.42.2
+ windows_x86_64_gnu@0.42.2
+ windows_x86_64_gnullvm@0.42.2
+ windows_x86_64_msvc@0.42.2
+"
+
+inherit cargo distutils-r1
+
+DESCRIPTION="Python bindings to the Rust regress crate"
+HOMEPAGE="
+ https://pypi.org/project/regress/
+ https://github.com/crate-py/regress
+"
+SRC_URI="
+ https://github.com/crate-py/regress/releases/download/v${PV}/${P}.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib/py.*/site-packages/regress/regress.*.so"
diff --git a/dev-python/rencode/rencode-1.0.6-r3.ebuild b/dev-python/rencode/rencode-1.0.6-r3.ebuild
index e2cc427220b3..a8a254443730 100644
--- a/dev-python/rencode/rencode-1.0.6-r3.ebuild
+++ b/dev-python/rencode/rencode-1.0.6-r3.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
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/reno/Manifest b/dev-python/reno/Manifest
index 76673a1d7a69..3d6854f9c66f 100644
--- a/dev-python/reno/Manifest
+++ b/dev-python/reno/Manifest
@@ -1 +1 @@
-DIST reno-4.0.0.tar.gz 84541 BLAKE2B fdb04fb337d4cd1f9ec7c4656fdacdd76135fc44dc3357fdb43056204756ccbf854fdadccf319c3c3b2f19b611479b34f8e5afcb20f178c2aca2aca5241a165c SHA512 1058416f0291a6d8fe8e3600f0e02ebc8146541fd665b4c5027c24f1e3192f178424701a48c4413f94c997719cb82fd257dff5d0fcbb5fd7fcb4aba205baea62
+DIST reno-4.1.0.tar.gz 86657 BLAKE2B 001a2723f814b537926fd4cf6eb70acd28661affa4d3a6a20f35f2409e262e7a3431480d6cc8e95a87b2ab49399e02dba85e810155b0092f2fa5455e5842ad97 SHA512 b0db51f61bb5a1bef3b0149b1bd3c6cdb6c8189e4325d2acffc122e7960a4c3d1afa87318596ff3bef99ea06e911d3260c5207951cc6d6b036e49b07969243a4
diff --git a/dev-python/reno/reno-4.0.0.ebuild b/dev-python/reno/reno-4.0.0.ebuild
deleted file mode 100644
index 840133a24fa2..000000000000
--- a/dev-python/reno/reno-4.0.0.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-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/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/reno/reno-4.1.0.ebuild b/dev-python/reno/reno-4.1.0.ebuild
new file mode 100644
index 000000000000..f188eb3fa638
--- /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..13} )
+
+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/reportlab/Manifest b/dev-python/reportlab/Manifest
index 065efdac9202..8054a3cd66f7 100644
--- a/dev-python/reportlab/Manifest
+++ b/dev-python/reportlab/Manifest
@@ -1,2 +1,2 @@
DIST pfbfer-20070710.zip 677333 BLAKE2B 100214476a361a5e5d1f3da0999591345f6e3a3f8c6bc3f6a3e9eca734190c6259758a43302c6e41254d33491fe535eb7d5dd07aa9727c912424bebc31fc18df SHA512 6fd4a5d955464b10d13a7b748703450c1fe120d5ed09e8cfa1b4dfa9c183c59fe001df29433af551796b0df62544b7ddc364f9bb1bdcc2cd300434340ffcc4f2
-DIST reportlab-4.0.7.tar.gz 3683030 BLAKE2B e307fd165bc66a97ad98789d8fcd128e7db789a8dbbad50451a910efd4052e850a34f7b0a65b78920c77de9309519c242640ba348005733693d1998641ca23cf SHA512 d0fa92f1553a7ac2d4df13d0ec68f8145a78ed8a702c14fb283bee6e8b05bc1afb16664d02313154d40875712de2767b2b2d93f78c72e7ca6b53c5332dac334b
+DIST reportlab-4.2.2.tar.gz 3690306 BLAKE2B 1f778d25cb02f918758db13f27e380db4d0082c79c534699840e760a54ccb40c1d8bffc51b66de1f79030458ab9d48df7464a40a0a154382f1d02534696f7701 SHA512 4dc7a414ea32a741f660f523d14605fb46410d844d3be60b9f6d39642c0a7ad6162fa4b7448eba650b087a31e40e0ff7fc0bb5eb416dbbaeb104c416285a438d
diff --git a/dev-python/reportlab/reportlab-4.0.7.ebuild b/dev-python/reportlab/reportlab-4.0.7.ebuild
deleted file mode 100644
index c4886666bf9a..000000000000
--- a/dev-python/reportlab/reportlab-4.0.7.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Tools for generating printable PDF documents from any data source"
-HOMEPAGE="
- https://www.reportlab.com/
- https://pypi.org/project/reportlab/
-"
-SRC_URI+="
- https://www.reportlab.com/ftp/fonts/pfbfer-20070710.zip
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/pillow[tiff,truetype,jpeg(+),${PYTHON_USEDEP}]
-"
-BDEPEND="
- app-arch/unzip
-"
-
-distutils_enable_sphinx docs/source
-
-src_unpack() {
- unpack ${P}.tar.gz
- cd ${P}/src/reportlab/fonts || die
- unpack pfbfer-20070710.zip
-}
-
-src_configure() {
- cat > local-setup.cfg <<-EOF || die
- [OPTIONS]
- no-download-t1-files = 1
- EOF
-}
-
-python_test() {
- pushd tests >/dev/null || die
- "${EPYTHON}" runAll.py --post-install --verbosity=2 ||
- die "Testing failed with ${EPYTHON}"
- popd >/dev/null || die
-}
diff --git a/dev-python/reportlab/reportlab-4.2.2.ebuild b/dev-python/reportlab/reportlab-4.2.2.ebuild
new file mode 100644
index 000000000000..edb187f21c28
--- /dev/null
+++ b/dev-python/reportlab/reportlab-4.2.2.ebuild
@@ -0,0 +1,53 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Tools for generating printable PDF documents from any data source"
+HOMEPAGE="
+ https://www.reportlab.com/
+ https://pypi.org/project/reportlab/
+"
+SRC_URI+="
+ https://www.reportlab.com/ftp/fonts/pfbfer-20070710.zip
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/pillow[tiff,truetype,jpeg(+),${PYTHON_USEDEP}]
+"
+BDEPEND="
+ app-arch/unzip
+"
+
+distutils_enable_sphinx docs/source
+
+src_unpack() {
+ unpack ${P}.tar.gz
+ cd ${P}/src/reportlab/fonts || die
+ unpack pfbfer-20070710.zip
+}
+
+src_configure() {
+ cat > local-setup.cfg <<-EOF || die
+ [OPTIONS]
+ no-download-t1-files = 1
+ EOF
+}
+
+python_test() {
+ pushd tests >/dev/null || die
+ "${EPYTHON}" runAll.py --post-install --verbosity=2 ||
+ die "Testing failed with ${EPYTHON}"
+ popd >/dev/null || die
+}
diff --git a/dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild b/dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild
index 9a0ee04c9318..938f76c5cff6 100644
--- a/dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild
+++ b/dev-python/repoze-lru/repoze-lru-0.7-r3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -24,11 +24,7 @@ S=${WORKDIR}/${MY_P}
LICENSE="repoze"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- !dev-python/namespace-repoze
-"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~sparc x86"
distutils_enable_tests unittest
diff --git a/dev-python/requests-cache/Manifest b/dev-python/requests-cache/Manifest
index 830fe161ad1a..402efa8db244 100644
--- a/dev-python/requests-cache/Manifest
+++ b/dev-python/requests-cache/Manifest
@@ -1,2 +1 @@
-DIST requests-cache-1.1.0.gh.tar.gz 2918734 BLAKE2B 4f420a607631568b40999a904598504e0917f50f33715d1d041e0c11dc196abc88cf96ed57860632a1e1f1fb74f3fcabde3df6096821dc0a0967aabca868f7ad SHA512 8fa9fdf4f47d67a6ad877fc181e04378b4540b35cef200735caff14e4907519aa5de74acaf61c6588856d5c8b2f9529768250a8e5fe28962b7861daf2279bb94
-DIST requests-cache-1.1.1.gh.tar.gz 2927360 BLAKE2B 2db8b71d4f219f2b61e4477a57af9dee09783ea47e86dfcc7b7726acb2507043186433ee6a9f67162c0a01c5f1439fd52ea9b74b89daa94cbe351341ef6b1f53 SHA512 99782fe635daa0834709b254b0d51c5d2b2ad37d26201acdc143f963b613bb6b4e5863e2246a2bf9d099c773e229157a983b04a40740e6207e2c356dc48bdba6
+DIST requests-cache-1.2.1.gh.tar.gz 3056882 BLAKE2B e1e5f971490f865ac2771d1dd87802ba138940adbfa0183ed5978b92794795fb26a30219de5560a925642ca08de1b8854d759408f86b30e6150e1c948ec8dcfe SHA512 f8977b1afc005ddd73019d2a0e39da368f376602110602c0b24c317b548f31a3489e686502ecd48ae3583e471fdd70671913e529c73dacdcaecadb1cd1e6c126
diff --git a/dev-python/requests-cache/requests-cache-1.1.0.ebuild b/dev-python/requests-cache/requests-cache-1.1.0.ebuild
deleted file mode 100644
index 8495284f8b9b..000000000000
--- a/dev-python/requests-cache/requests-cache-1.1.0.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="sqlite"
-
-inherit distutils-r1 optfeature
-
-HOMEPAGE="
- https://pypi.org/project/requests-cache/
- https://github.com/requests-cache/requests-cache/
-"
-DESCRIPTION="Persistent cache for requests library"
-SRC_URI="
- https://github.com/requests-cache/requests-cache/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/attrs[${PYTHON_USEDEP}]
- >=dev-python/cattrs-22.2[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.5[${PYTHON_USEDEP}]
- >=dev-python/requests-2.0.0[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
- >=dev-python/url-normalize-1.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/itsdangerous[${PYTHON_USEDEP}]
- dev-python/pytest-httpbin[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- >=dev-python/rich-10.0[${PYTHON_USEDEP}]
- dev-python/timeout-decorator[${PYTHON_USEDEP}]
- >=dev-python/ujson-5.4[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/time-machine[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- # These require extra servers running
- tests/integration/test_dynamodb.py
- tests/integration/test_gridfs.py
- tests/integration/test_mongodb.py
- tests/integration/test_redis.py
- )
- local EPYTEST_DESELECT=(
- # Requires Internet access
- tests/integration/test_upgrade.py::test_version_upgrade
- )
-
- case ${EPYTHON} in
- python3.12)
- # https://github.com/requests-cache/requests-cache/issues/845
- EPYTEST_DESELECT+=(
- tests/integration/test_memory.py::TestMemoryCache::test_response_no_duplicate_read
- tests/integration/test_sqlite.py::TestSQLiteCache::test_concurrency
- )
- ;;
- esac
-
- local -x USE_PYTEST_HTTPBIN=true
- epytest
-}
-
-pkg_postinst() {
- optfeature "redis backend" "dev-python/redis"
- optfeature "MongoDB backend" "dev-python/pymongo"
-
- optfeature "JSON serialization" "dev-python/ujson"
- optfeature "YAML serialization" "dev-python/pyyaml"
- optfeature "signing serialized data" "dev-python/itsdangerous"
-}
diff --git a/dev-python/requests-cache/requests-cache-1.1.1.ebuild b/dev-python/requests-cache/requests-cache-1.1.1.ebuild
deleted file mode 100644
index 605e560b1a0b..000000000000
--- a/dev-python/requests-cache/requests-cache-1.1.1.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-PYTHON_REQ_USE="sqlite"
-
-inherit distutils-r1 optfeature
-
-HOMEPAGE="
- https://pypi.org/project/requests-cache/
- https://github.com/requests-cache/requests-cache/
-"
-DESCRIPTION="Persistent cache for requests library"
-SRC_URI="
- https://github.com/requests-cache/requests-cache/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86"
-
-RDEPEND="
- dev-python/attrs[${PYTHON_USEDEP}]
- >=dev-python/cattrs-22.2[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.5[${PYTHON_USEDEP}]
- >=dev-python/requests-2.0.0[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
- >=dev-python/url-normalize-1.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/itsdangerous[${PYTHON_USEDEP}]
- dev-python/pytest-httpbin[${PYTHON_USEDEP}]
- dev-python/requests-mock[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- >=dev-python/rich-10.0[${PYTHON_USEDEP}]
- dev-python/timeout-decorator[${PYTHON_USEDEP}]
- >=dev-python/ujson-5.4[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/time-machine[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- # These require extra servers running
- tests/integration/test_dynamodb.py
- tests/integration/test_gridfs.py
- tests/integration/test_mongodb.py
- tests/integration/test_redis.py
- )
- local EPYTEST_DESELECT=(
- # Requires Internet access
- tests/integration/test_upgrade.py::test_version_upgrade
- )
-
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # "database is locked", upstream probably relies on GC
- # too much
- tests/integration/test_sqlite.py
- )
- ;;
- python3.12)
- # https://github.com/requests-cache/requests-cache/issues/845
- EPYTEST_DESELECT+=(
- tests/integration/test_memory.py::TestMemoryCache::test_response_no_duplicate_read
- tests/integration/test_sqlite.py::TestSQLiteCache::test_concurrency
- )
- ;;
- esac
-
- local -x USE_PYTEST_HTTPBIN=true
- epytest
-}
-
-pkg_postinst() {
- optfeature "redis backend" "dev-python/redis"
- optfeature "MongoDB backend" "dev-python/pymongo"
-
- optfeature "JSON serialization" "dev-python/ujson"
- optfeature "YAML serialization" "dev-python/pyyaml"
- optfeature "signing serialized data" "dev-python/itsdangerous"
-}
diff --git a/dev-python/requests-cache/requests-cache-1.2.1.ebuild b/dev-python/requests-cache/requests-cache-1.2.1.ebuild
new file mode 100644
index 000000000000..8a5134989d01
--- /dev/null
+++ b/dev-python/requests-cache/requests-cache-1.2.1.ebuild
@@ -0,0 +1,92 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Persistent cache for requests library"
+HOMEPAGE="
+ https://pypi.org/project/requests-cache/
+ https://github.com/requests-cache/requests-cache/
+"
+SRC_URI="
+ https://github.com/requests-cache/requests-cache/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/attrs[${PYTHON_USEDEP}]
+ >=dev-python/cattrs-22.2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.5[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.0.0[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ >=dev-python/url-normalize-1.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/itsdangerous[${PYTHON_USEDEP}]
+ dev-python/pytest-httpbin[${PYTHON_USEDEP}]
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ >=dev-python/rich-10.0[${PYTHON_USEDEP}]
+ dev-python/timeout-decorator[${PYTHON_USEDEP}]
+ >=dev-python/ujson-5.4[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # These require extra servers running
+ tests/integration/test_dynamodb.py
+ tests/integration/test_gridfs.py
+ tests/integration/test_mongodb.py
+ tests/integration/test_redis.py
+ )
+ local EPYTEST_DESELECT=(
+ # Requires Internet access
+ tests/integration/test_upgrade.py::test_version_upgrade
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # "database is locked", upstream probably relies on GC
+ # too much
+ tests/integration/test_sqlite.py
+ )
+ ;;
+ python3.12)
+ # https://github.com/requests-cache/requests-cache/issues/845
+ EPYTEST_DESELECT+=(
+ tests/integration/test_memory.py::TestMemoryCache::test_response_no_duplicate_read
+ tests/integration/test_sqlite.py::TestSQLiteCache::test_concurrency
+ )
+ ;;
+ esac
+
+ local -x USE_PYTEST_HTTPBIN=true
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "redis backend" "dev-python/redis"
+ optfeature "MongoDB backend" "dev-python/pymongo"
+
+ optfeature "JSON serialization" "dev-python/ujson"
+ optfeature "YAML serialization" "dev-python/pyyaml"
+ optfeature "signing serialized data" "dev-python/itsdangerous"
+}
diff --git a/dev-python/requests-credssp/Manifest b/dev-python/requests-credssp/Manifest
index c5c618cc38ee..894c9086924c 100644
--- a/dev-python/requests-credssp/Manifest
+++ b/dev-python/requests-credssp/Manifest
@@ -1 +1 @@
-DIST requests-credssp-2.0.0.tar.gz 15225 BLAKE2B 3cd2a6bafcef5803d89ab13c42385709308998187eda514a598d262ab5e8c94bc3c0e9b9bf3756de1454d570012863a01f650b4fc6e3a17fb2845d8e52f0bf3b SHA512 d11a76bc9577f3054e5955aad513ee27ff2cf3a70414a1d4a81e721a7b40510d45fa33abc5957724ead6c04958a009153f670e154f38f32f2331cc14dd44ee27
+DIST requests-credssp-2.0.0.gh.tar.gz 15225 BLAKE2B 3cd2a6bafcef5803d89ab13c42385709308998187eda514a598d262ab5e8c94bc3c0e9b9bf3756de1454d570012863a01f650b4fc6e3a17fb2845d8e52f0bf3b SHA512 d11a76bc9577f3054e5955aad513ee27ff2cf3a70414a1d4a81e721a7b40510d45fa33abc5957724ead6c04958a009153f670e154f38f32f2331cc14dd44ee27
diff --git a/dev-python/requests-credssp/metadata.xml b/dev-python/requests-credssp/metadata.xml
index e000df1d8dd0..fbf00c930cbe 100644
--- a/dev-python/requests-credssp/metadata.xml
+++ b/dev-python/requests-credssp/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/requests-credssp/requests-credssp-2.0.0.ebuild b/dev-python/requests-credssp/requests-credssp-2.0.0.ebuild
index 5aec141b3f9b..776b93eb8884 100644
--- a/dev-python/requests-credssp/requests-credssp-2.0.0.ebuild
+++ b/dev-python/requests-credssp/requests-credssp-2.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -15,7 +15,7 @@ HOMEPAGE="
"
SRC_URI="
https://github.com/jborean93/${PN}/archive/refs/tags/v${PV}.tar.gz
- -> ${P}.tar.gz
+ -> ${P}.gh.tar.gz
"
LICENSE="MIT"
diff --git a/dev-python/requests-file/Manifest b/dev-python/requests-file/Manifest
index 7c5624459d5d..0e9a0b1bbc24 100644
--- a/dev-python/requests-file/Manifest
+++ b/dev-python/requests-file/Manifest
@@ -1 +1 @@
-DIST requests-file-1.5.1.tar.gz 5668 BLAKE2B 4060ab3728e32d87252d1bb25e310937dad0a6e790a9633f8932d45c1d791343ea6813509d15a24c9787736ef6b9992d236b06a504efce6c3d5fcfc04176ae87 SHA512 e671bba8de63d3fa5665f928734f1a152d95ac9973c99f3a09d2dcbb9c9c16334c54a4f0824a5ebe63e262a4cc5d4990f08244ff0b84af11fa475dd416b1e2bc
+DIST requests_file-2.1.0.tar.gz 6891 BLAKE2B 69d92d836f184b48420ed3a0cdc44905ac0c495e3cbc574a62c1c3b4088770654925a97775fedfdcec25e247ef4d06df82a52f2303d5b29f875f77d8f13c3952 SHA512 1c13ca665797987ad2908ebe0cdff97f03cbbbb110c6fe782a03edb6035575ee8eb89683e197336d6ed8d5868873d88eccac642d45996e88368af234a9318611
diff --git a/dev-python/requests-file/requests-file-1.5.1-r2.ebuild b/dev-python/requests-file/requests-file-1.5.1-r2.ebuild
deleted file mode 100644
index 563a150aeb38..000000000000
--- a/dev-python/requests-file/requests-file-1.5.1-r2.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="File transport adapter for Requests"
-HOMEPAGE="https://pypi.org/project/requests-file/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~loong x86"
-
-RDEPEND="
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/requests-file/requests-file-2.1.0.ebuild b/dev-python/requests-file/requests-file-2.1.0.ebuild
new file mode 100644
index 000000000000..ae887f726648
--- /dev/null
+++ b/dev-python/requests-file/requests-file-2.1.0.ebuild
@@ -0,0 +1,28 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="File transport adapter for Requests"
+HOMEPAGE="
+ https://github.com/dashea/requests-file/
+ https://pypi.org/project/requests-file/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~loong x86"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/requests-futures/requests-futures-1.0.1.ebuild b/dev-python/requests-futures/requests-futures-1.0.1.ebuild
index 0d242c6357f9..16c066936825 100644
--- a/dev-python/requests-futures/requests-futures-1.0.1.ebuild
+++ b/dev-python/requests-futures/requests-futures-1.0.1.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1 pypi
diff --git a/dev-python/requests-kerberos/Manifest b/dev-python/requests-kerberos/Manifest
index e722e44f2105..2f9eefb1007e 100644
--- a/dev-python/requests-kerberos/Manifest
+++ b/dev-python/requests-kerberos/Manifest
@@ -1 +1 @@
-DIST requests-kerberos-0.14.0.tar.gz 21275 BLAKE2B d64c92bf70df07a8dd38626a6699ecb95aaf82b6aa93797eefa80af2b9760f5b064e0aa3a3bca5242ef73ce1efc4b6ef0ef1bb1802c7c59a20b6655bd3894aae SHA512 9dd6eed0d6afe4b852ba96f621be3af2965e9011bf372c5dce77e0bca18191255ea407ba313904271615d722d60029807db2d6815b24437b021b02b026eb60d6
+DIST requests-kerberos-0.15.0.gh.tar.gz 21883 BLAKE2B 44af889a4a0a553ff0e727a7e89f9c73917dc4bd41524e29fa36b85a33e1c1c548b582672b928ee08bec33242bb3e69f8a9bd16c59d82db4ce7314adf12c06c1 SHA512 7ff6e1a366749d96ec5c193f1f945ffa0709d6cf636ddd49f83813b66d2f0a914538f94d8f53b61ec4d674ef22d882fb7565f420c0126ecd9c70ca4ebf690475
diff --git a/dev-python/requests-kerberos/requests-kerberos-0.14.0-r1.ebuild b/dev-python/requests-kerberos/requests-kerberos-0.14.0-r1.ebuild
deleted file mode 100644
index eb525d29942d..000000000000
--- a/dev-python/requests-kerberos/requests-kerberos-0.14.0-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Kerberos authentication handler for python-requests"
-HOMEPAGE="
- https://github.com/requests/requests-kerberos/
- https://pypi.org/project/requests-kerberos/
-"
-SRC_URI="
- https://github.com/requests/${PN}/archive/v${PV}.tar.gz
- -> ${P}.tar.gz
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/cryptography[${PYTHON_USEDEP}]
- >=dev-python/requests-1.1.0[${PYTHON_USEDEP}]
- dev-python/pyspnego[${PYTHON_USEDEP}]
- dev-python/gssapi[${PYTHON_USEDEP}]
- dev-python/krb5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/requests-kerberos/requests-kerberos-0.15.0.ebuild b/dev-python/requests-kerberos/requests-kerberos-0.15.0.ebuild
new file mode 100644
index 000000000000..ccc0c64945de
--- /dev/null
+++ b/dev-python/requests-kerberos/requests-kerberos-0.15.0.ebuild
@@ -0,0 +1,38 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Kerberos authentication handler for python-requests"
+HOMEPAGE="
+ https://github.com/requests/requests-kerberos/
+ https://pypi.org/project/requests-kerberos/
+"
+SRC_URI="
+ https://github.com/requests/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+RDEPEND="
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ >=dev-python/requests-1.1.0[${PYTHON_USEDEP}]
+ dev-python/pyspnego[${PYTHON_USEDEP}]
+ dev-python/gssapi[${PYTHON_USEDEP}]
+ dev-python/krb5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/requests-mock/Manifest b/dev-python/requests-mock/Manifest
index e8bda4a814bd..d03e0f6492db 100644
--- a/dev-python/requests-mock/Manifest
+++ b/dev-python/requests-mock/Manifest
@@ -1 +1 @@
-DIST requests-mock-1.11.0.tar.gz 74377 BLAKE2B f871bbd18b42668d9eb693b807a67a33c9fb7c4316966ad2c16800bf562be982c737e1c1a803e3c5b6d3cde8c3d789671b5fce7d54df308dc55b2ef73a641ff4 SHA512 8d161cb0f6183994053d4dd06b801c2614b7ac937798addcdc52ee8e3973a7ef874ca615ca1946ea4bc0e05ce36c5c813460f7a41b3254671095059536fd2961
+DIST requests-mock-1.12.1.tar.gz 60901 BLAKE2B 708b19731260b8a1c1334b564c35825a9bceb20b8205ed3ad0f9c778e2c22e3ae4a93fa09cd47e9c745f5a282ebaf83a43be09ee4bd578195b77f69b116e28c6 SHA512 be1f4afa800811025e3c7b14a65759851ef2d56a3e4bf155368dc6772440fe0fcc5d01f62b1b029d0cabd7a57fe35074e3ba0791240f95f43b62109a00f96120
diff --git a/dev-python/requests-mock/files/requests-mock-1.12.0-no-pbr.patch b/dev-python/requests-mock/files/requests-mock-1.12.0-no-pbr.patch
new file mode 100644
index 000000000000..fcfc8f9d2eb4
--- /dev/null
+++ b/dev-python/requests-mock/files/requests-mock-1.12.0-no-pbr.patch
@@ -0,0 +1,22 @@
+From 82a6d09fa8db7a0667b365e9c06e99f8c0dfd245 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Thu, 28 Mar 2024 12:54:18 +0100
+Subject: [PATCH] Replace the last use of pbr with modern packaging
+
+diff --git a/doc/source/conf.py b/doc/source/conf.py
+index 395acaa..e0895f5 100755
+--- a/doc/source/conf.py
++++ b/doc/source/conf.py
+@@ -16 +16,2 @@ import sys, os
+-import pbr.version
++import importlib.metadata
++import packaging
+@@ -56 +57 @@ copyright = u'2023, Jamie Lennox'
+-version_info = pbr.version.VersionInfo(project)
++version_info = packaging.version.parse(importlib.metadata.version(project))
+@@ -59 +60 @@ version_info = pbr.version.VersionInfo(project)
+-version = version_info.version_string()
++version = version_info.base_version
+@@ -61 +62 @@ version = version_info.version_string()
+-release = version_info.release_string()
++release = version_info.public
diff --git a/dev-python/requests-mock/requests-mock-1.11.0.ebuild b/dev-python/requests-mock/requests-mock-1.11.0.ebuild
deleted file mode 100644
index d253f36b86ee..000000000000
--- a/dev-python/requests-mock/requests-mock-1.11.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Mock out responses from the requests package"
-HOMEPAGE="
- https://github.com/jamielennox/requests-mock/
- https://pypi.org/project/requests-mock/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/requests-2.3[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pbr-0.8[${PYTHON_USEDEP}]
- test? (
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/requests-futures[${PYTHON_USEDEP}]
- dev-python/testtools[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx doc/source
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Disable reno which only works inside a git repository
- sed -i "s/'reno.sphinxext',//" doc/source/conf.py || die
- # Remove the release notes section which requires reno
- rm doc/source/release-notes.rst || die
- sed -i '/^=============$/,/release-notes/d' doc/source/index.rst || die
- # Disable a test which requires purl (not in the tree)
- sed -e "/^import purl$/d" -e "s/test_with_purl/_&/" \
- -i tests/test_adapter.py || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/requests-mock/requests-mock-1.12.1.ebuild b/dev-python/requests-mock/requests-mock-1.12.1.ebuild
new file mode 100644
index 000000000000..4d6df9a0ef45
--- /dev/null
+++ b/dev-python/requests-mock/requests-mock-1.12.1.ebuild
@@ -0,0 +1,53 @@
+# 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=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Mock out responses from the requests package"
+HOMEPAGE="
+ https://github.com/jamielennox/requests-mock/
+ https://pypi.org/project/requests-mock/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/requests-2.22[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/requests-futures[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx doc/source
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ local PATCHES=(
+ # https://github.com/jamielennox/requests-mock/pull/255
+ "${FILESDIR}/${PN}-1.12.0-no-pbr.patch"
+ )
+
+ # Disable reno which only works inside a git repository
+ sed -i "s/'reno.sphinxext',//" doc/source/conf.py || die
+ # Remove the release notes section which requires reno
+ rm doc/source/release-notes.rst || die
+ sed -i '/^=============$/,/release-notes/d' doc/source/index.rst || die
+ # Disable a test which requires purl (not in the tree)
+ sed -e "/^import purl$/d" -e "s/test_with_purl/_&/" \
+ -i tests/test_adapter.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/requests-ntlm/Manifest b/dev-python/requests-ntlm/Manifest
index faa23a475d6b..28f2d6ff1391 100644
--- a/dev-python/requests-ntlm/Manifest
+++ b/dev-python/requests-ntlm/Manifest
@@ -1 +1 @@
-DIST requests-ntlm-1.2.0.gh.tar.gz 14540 BLAKE2B 0b9dd72680c6e67dc6e4f0a3eef3b9fa0cc03c71010238a0e7ef8a48b59c57e12846040975f7eef7710113f372cd1e1628e5a9be0eca8e7a287a9cfd0765ebf0 SHA512 230eb6c8a90e8745a3c969114f81d2559aa0f411b79b54747d21c6c28572f7d61c024c47a831777c2d85fb8b09af7fee667d3a3abf318473c97e727c5f2d7943
+DIST requests-ntlm-1.3.0.gh.tar.gz 15460 BLAKE2B 6d2306cfa28e784ef5f399d9168c844fa1196d35a63bcb1508ae15b10eba0d7852679e4b66b328b567878bf0c1a1b919b35a0b8caf3b8f9c35ea7ecf2dbed8ba SHA512 2c2110a0694f43d2147144ee1e9761fdea6e60ac37f5923d608e7e2a047125f9c7dd84cb8b255033ada1c8de287eb0f7ab6751b3e8f85ed638c8fe6e4303f7f9
diff --git a/dev-python/requests-ntlm/requests-ntlm-1.2.0.ebuild b/dev-python/requests-ntlm/requests-ntlm-1.2.0.ebuild
deleted file mode 100644
index 3371dfd99302..000000000000
--- a/dev-python/requests-ntlm/requests-ntlm-1.2.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="HTTP NTLM authentication using the requests library"
-HOMEPAGE="
- https://github.com/requests/requests-ntlm/
- https://pypi.org/project/requests-ntlm/
-"
-SRC_URI="
- https://github.com/requests/requests-ntlm/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-SLOT="0"
-LICENSE="ISC"
-KEYWORDS="amd64 arm64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/cryptography-1.3[${PYTHON_USEDEP}]
- >=dev-python/pyspnego-0.1.6[${PYTHON_USEDEP}]
- >=dev-python/requests-2.0.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/flask[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local ts_pid test_ret
-
- "${EPYTHON}" -m tests.test_server &> "${T}"/test-server.log &
- ts_pid=${!}
-
- nonfatal epytest tests/unit
- test_ret=${?}
-
- kill "${ts_pid}"
- [[ ${test_ret} -ne 0 ]] && die "Tests failed with ${EPYTHON}"
-}
diff --git a/dev-python/requests-ntlm/requests-ntlm-1.3.0.ebuild b/dev-python/requests-ntlm/requests-ntlm-1.3.0.ebuild
new file mode 100644
index 000000000000..15a48c004140
--- /dev/null
+++ b/dev-python/requests-ntlm/requests-ntlm-1.3.0.ebuild
@@ -0,0 +1,50 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="HTTP NTLM authentication using the requests library"
+HOMEPAGE="
+ https://github.com/requests/requests-ntlm/
+ https://pypi.org/project/requests-ntlm/
+"
+SRC_URI="
+ https://github.com/requests/requests-ntlm/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/cryptography-1.3[${PYTHON_USEDEP}]
+ >=dev-python/pyspnego-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.0.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/flask[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local ts_pid test_ret
+
+ "${EPYTHON}" -m tests.test_server &> "${T}"/test-server.log &
+ ts_pid=${!}
+
+ nonfatal epytest tests/unit
+ test_ret=${?}
+
+ kill "${ts_pid}"
+ [[ ${test_ret} -ne 0 ]] && die "Tests failed with ${EPYTHON}"
+}
diff --git a/dev-python/requests-oauthlib/Manifest b/dev-python/requests-oauthlib/Manifest
index c6de87b7f1d6..de54cb979b7c 100644
--- a/dev-python/requests-oauthlib/Manifest
+++ b/dev-python/requests-oauthlib/Manifest
@@ -1 +1 @@
-DIST requests-oauthlib-1.3.1.tar.gz 48367 BLAKE2B 0cc538fe7ed1ef12740b60bb8b3e32d84f0d45b6c231c70b8bbfe9db9c8775acc51f50e78589e43eb0644c82e919a5a124941986023de4432e0631ebf0764869 SHA512 86fe34d39ad7224fd44a1b0c4fbf3784032239b894ae73ba65043941cde9675c2f8abedf44ccc00b5fb1648b8e261de258464b311f3ace6392ab6202fb50aa08
+DIST requests-oauthlib-2.0.0.gh.tar.gz 51357 BLAKE2B 1c1c8c2295f1bce2cb1da1c2fdd899004dfac2dc53956ebcd4affb9fcc6c11047545dec0b96311755d041694c07dcfccaff7ae479ecf7aaaf5ebcfb64665a76a SHA512 15d353da1422ce6f826b5cb3b26afeb597da4b1f0ffdf797f9cba75be4d8bbf00321dd697c1e368f6a8aeb92c57566725c745969fa7e8d60f690f79da13db867
diff --git a/dev-python/requests-oauthlib/metadata.xml b/dev-python/requests-oauthlib/metadata.xml
index b6547c782642..f6cf56a73274 100644
--- a/dev-python/requests-oauthlib/metadata.xml
+++ b/dev-python/requests-oauthlib/metadata.xml
@@ -5,6 +5,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">requests/requests-oauthlib</remote-id>
<remote-id type="pypi">requests-oauthlib</remote-id>
diff --git a/dev-python/requests-oauthlib/requests-oauthlib-1.3.1.ebuild b/dev-python/requests-oauthlib/requests-oauthlib-1.3.1.ebuild
deleted file mode 100644
index f51383ed752c..000000000000
--- a/dev-python/requests-oauthlib/requests-oauthlib-1.3.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="This project provides first-class OAuth library support for Requests"
-HOMEPAGE="https://github.com/requests/requests-oauthlib"
-SRC_URI="https://github.com/requests/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
-
-SLOT="0"
-LICENSE="ISC"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/requests-2.0.0[${PYTHON_USEDEP}]
- >=dev-python/oauthlib-3.0.0[${PYTHON_USEDEP}]"
-BDEPEND="
- test? (
- dev-python/requests-mock[${PYTHON_USEDEP}]
- )"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Internet access
- tests/test_core.py::OAuth1Test::testCanPostBinaryData
- tests/test_core.py::OAuth1Test::test_content_type_override
- tests/test_core.py::OAuth1Test::test_url_is_native_str
-)
diff --git a/dev-python/requests-oauthlib/requests-oauthlib-2.0.0.ebuild b/dev-python/requests-oauthlib/requests-oauthlib-2.0.0.ebuild
new file mode 100644
index 000000000000..bdd6e7878e85
--- /dev/null
+++ b/dev-python/requests-oauthlib/requests-oauthlib-2.0.0.ebuild
@@ -0,0 +1,50 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="This project provides first-class OAuth library support for Requests"
+HOMEPAGE="
+ https://github.com/requests/requests-oauthlib/
+ https://pypi.org/project/requests-oauthlib/
+"
+SRC_URI="
+ https://github.com/requests/requests-oauthlib/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/requests-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/oauthlib-3.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/requests-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet access
+ tests/test_core.py::OAuth1Test::testCanPostBinaryData
+ tests/test_core.py::OAuth1Test::test_content_type_override
+ tests/test_core.py::OAuth1Test::test_url_is_native_str
+ )
+ local EPYTEST_IGNORE=(
+ tests/examples
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/requests-toolbelt/requests-toolbelt-1.0.0.ebuild b/dev-python/requests-toolbelt/requests-toolbelt-1.0.0.ebuild
index 5d60cbcca90d..3b9361049786 100644
--- a/dev-python/requests-toolbelt/requests-toolbelt-1.0.0.ebuild
+++ b/dev-python/requests-toolbelt/requests-toolbelt-1.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -22,7 +22,7 @@ S=${WORKDIR}/${P#requests-}
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
IUSE="test-rust"
RDEPEND="
diff --git a/dev-python/requests-unixsocket/files/requests-unixsocket-0.3.0-requests-2.32.2.patch b/dev-python/requests-unixsocket/files/requests-unixsocket-0.3.0-requests-2.32.2.patch
new file mode 100644
index 000000000000..eb7b8f5df7b3
--- /dev/null
+++ b/dev-python/requests-unixsocket/files/requests-unixsocket-0.3.0-requests-2.32.2.patch
@@ -0,0 +1,25 @@
+From 8b02ed531d8def03b4cf767e8a925be09db43dff Mon Sep 17 00:00:00 2001
+From: Simon Deziel <simon.deziel@canonical.com>
+Date: Wed, 22 May 2024 12:02:20 -0400
+Subject: [PATCH] adapters: fix for requests 2.32.2+
+
+Signed-off-by: Simon Deziel <simon.deziel@canonical.com>
+---
+ requests_unixsocket/adapters.py | 4 ++++
+ 1 file changed, 4 insertions(+)
+
+diff --git a/requests_unixsocket/adapters.py b/requests_unixsocket/adapters.py
+index 83e1400..c3c73cc 100644
+--- a/requests_unixsocket/adapters.py
++++ b/requests_unixsocket/adapters.py
+@@ -63,6 +63,10 @@ def __init__(self, timeout=60, pool_connections=25, *args, **kwargs):
+ pool_connections, dispose_func=lambda p: p.close()
+ )
+
++ # Fix for requests 2.32.2+: https://github.com/psf/requests/pull/6710
++ def get_connection_with_tls_context(self, request, verify, proxies=None, cert=None):
++ return self.get_connection(request.url, proxies)
++
+ def get_connection(self, url, proxies=None):
+ proxies = proxies or {}
+ proxy = proxies.get(urlparse(url.lower()).scheme)
diff --git a/dev-python/requests-unixsocket/requests-unixsocket-0.3.0-r4.ebuild b/dev-python/requests-unixsocket/requests-unixsocket-0.3.0-r4.ebuild
index 1af801834bff..c2a089e9fb6d 100644
--- a/dev-python/requests-unixsocket/requests-unixsocket-0.3.0-r4.ebuild
+++ b/dev-python/requests-unixsocket/requests-unixsocket-0.3.0-r4.ebuild
@@ -1,15 +1,16 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
DESCRIPTION="Use requests to talk HTTP via a UNIX domain socket"
+# TODO: replace with requests-unixsocket2?
HOMEPAGE="
https://github.com/msabramo/requests-unixsocket/
https://pypi.org/project/requests-unixsocket/
@@ -33,6 +34,8 @@ BDEPEND="
PATCHES=(
# https://github.com/msabramo/requests-unixsocket/pull/69
"${FILESDIR}/${P}-urllib3-2.patch"
+ # https://github.com/msabramo/requests-unixsocket/pull/72
+ "${FILESDIR}/${P}-requests-2.32.2.patch"
)
distutils_enable_tests pytest
diff --git a/dev-python/requests-wsgi-adapter/requests-wsgi-adapter-0.4.1.ebuild b/dev-python/requests-wsgi-adapter/requests-wsgi-adapter-0.4.1.ebuild
index 9f4b3da43524..cb7b1e82a5a0 100644
--- a/dev-python/requests-wsgi-adapter/requests-wsgi-adapter-0.4.1.ebuild
+++ b/dev-python/requests-wsgi-adapter/requests-wsgi-adapter-0.4.1.ebuild
@@ -1,15 +1,16 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
DESCRIPTION="WSGI Transport Adapter for Requests"
HOMEPAGE="
+ https://github.com/seanbrant/requests-wsgi-adapter/
https://pypi.org/project/requests-wsgi-adapter/
"
COMMIT_HASH="5b771effb5414096089375a3a36a3e7af1522ae0"
diff --git a/dev-python/requests/Manifest b/dev-python/requests/Manifest
index 0ff86da8cb06..efbbda4ca0b8 100644
--- a/dev-python/requests/Manifest
+++ b/dev-python/requests/Manifest
@@ -1 +1 @@
-DIST requests-2.31.0.tar.gz 110794 BLAKE2B e4e2781b272ccd94230c5b8c1bea83901bc8c28a34880709dbb95b887417b47833512e25045dab6e4226295294e2bf56fc821b6f636ae28aefdeee6039f53d44 SHA512 ce50d64973752f4cf7f7c7c91401669854b55c66d7465bea3689772fae8a6b646cf6720d84a2984bbe6fd78fc8b9ce0aa377f291fb6d7c20c7c2a4be8193acdd
+DIST requests-2.32.3.tar.gz 131218 BLAKE2B c36bd80e0544e83b80c001e6bfdde7b8552e65b888d44d781f95d5a6302dd34dfd4368e18dbfeab3a014d7170946c502e3bf3a6dbd027a60a2f0f535c674d75c SHA512 20d413597ff4803a62156ada25ef2e8a5edd0d4dbf7d79cc7fcd88d51a76e019a7dacf41d7c3d546306f37c506ede68f16b9afea57c918db64e702382b1ae420
diff --git a/dev-python/requests/files/requests-2.28.0-drop-dependency-warnings.patch b/dev-python/requests/files/requests-2.28.0-drop-dependency-warnings.patch
deleted file mode 100644
index ec3634966a07..000000000000
--- a/dev-python/requests/files/requests-2.28.0-drop-dependency-warnings.patch
+++ /dev/null
@@ -1,21 +0,0 @@
-Minimal patch to avoid often rebasing.
-
-We already have tools to try check for these (`pip check` obviously, but also
-app-portage/gpyutils provides gpy-verify-deps).
---- a/requests/__init__.py
-+++ b/requests/__init__.py
-@@ -106,13 +106,7 @@ try:
- urllib3.__version__, chardet_version, charset_normalizer_version
- )
- except (AssertionError, ValueError):
-- warnings.warn(
-- "urllib3 ({}) or chardet ({})/charset_normalizer ({}) doesn't match a supported "
-- "version!".format(
-- urllib3.__version__, chardet_version, charset_normalizer_version
-- ),
-- RequestsDependencyWarning,
-- )
-+ pass
-
- # Attempt to enable urllib3's fallback for SNI support
- # if the standard library doesn't support SNI or the
diff --git a/dev-python/requests/requests-2.31.0.ebuild b/dev-python/requests/requests-2.31.0.ebuild
deleted file mode 100644
index 84aead8c6d19..000000000000
--- a/dev-python/requests/requests-2.31.0.ebuild
+++ /dev/null
@@ -1,81 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="HTTP library for human beings"
-HOMEPAGE="
- https://requests.readthedocs.io/
- https://github.com/psf/requests/
- https://pypi.org/project/requests/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-IUSE="socks5 test-rust"
-
-RDEPEND="
- >=dev-python/certifi-2017.4.17[${PYTHON_USEDEP}]
- <dev-python/charset-normalizer-4[${PYTHON_USEDEP}]
- <dev-python/idna-4[${PYTHON_USEDEP}]
- <dev-python/urllib3-3[${PYTHON_USEDEP}]
- socks5? ( >=dev-python/PySocks-1.5.6[${PYTHON_USEDEP}] )
-"
-
-BDEPEND="
- test? (
- >=dev-python/pytest-httpbin-2.0.0[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- >=dev-python/PySocks-1.5.6[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/trustme[${PYTHON_USEDEP}]
- )
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-2.28.0-drop-dependency-warnings.patch
-)
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Internet (doctests)
- requests/__init__.py::requests
- requests/api.py::requests.api.request
- requests/models.py::requests.models.PreparedRequest
- requests/sessions.py::requests.sessions.Session
- # require IPv4 interface in 10.* range
- tests/test_requests.py::TestTimeout::test_connect_timeout
- tests/test_requests.py::TestTimeout::test_total_timeout_connect
- # TODO: openssl?
- tests/test_requests.py::TestRequests::test_pyopenssl_redirect
- # flask-2
- tests/test_requests.py::TestRequests::test_cookie_sent_on_redirect
- tests/test_requests.py::TestRequests::test_cookie_removed_on_expire
- tests/test_requests.py::TestPreparingURLs::test_redirecting_to_bad_url
- )
- if [[ ${EPYTHON} == python3.12 ]]; then
- EPYTEST_DESELECT+=(
- # different repr()
- requests/utils.py::requests.utils.from_key_val_list
- )
- fi
-
- if ! has_version "dev-python/trustme[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_requests.py::TestRequests::test_https_warnings
- )
- fi
-
- epytest
-}
diff --git a/dev-python/requests/requests-2.32.3.ebuild b/dev-python/requests/requests-2.32.3.ebuild
new file mode 100644
index 000000000000..a59ea6ebead2
--- /dev/null
+++ b/dev-python/requests/requests-2.32.3.ebuild
@@ -0,0 +1,82 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="HTTP library for human beings"
+HOMEPAGE="
+ https://requests.readthedocs.io/
+ https://github.com/psf/requests/
+ https://pypi.org/project/requests/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+IUSE="socks5 test-rust"
+
+RDEPEND="
+ >=dev-python/certifi-2017.4.17[${PYTHON_USEDEP}]
+ <dev-python/charset-normalizer-4[${PYTHON_USEDEP}]
+ <dev-python/idna-4[${PYTHON_USEDEP}]
+ <dev-python/urllib3-3[${PYTHON_USEDEP}]
+ socks5? ( >=dev-python/PySocks-1.5.6[${PYTHON_USEDEP}] )
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/pytest-httpbin-2.0.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ >=dev-python/PySocks-1.5.6[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet (doctests)
+ requests/__init__.py::requests
+ requests/api.py::requests.api.request
+ requests/models.py::requests.models.PreparedRequest
+ requests/sessions.py::requests.sessions.Session
+ # require IPv4 interface in 10.* range
+ tests/test_requests.py::TestTimeout::test_connect_timeout
+ tests/test_requests.py::TestTimeout::test_total_timeout_connect
+ # TODO: openssl?
+ tests/test_requests.py::TestRequests::test_pyopenssl_redirect
+ # flask-2
+ tests/test_requests.py::TestRequests::test_cookie_sent_on_redirect
+ tests/test_requests.py::TestRequests::test_cookie_removed_on_expire
+ tests/test_requests.py::TestPreparingURLs::test_redirecting_to_bad_url
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ ;&
+ python3.12)
+ EPYTEST_DESELECT+=(
+ # different repr()
+ requests/utils.py::requests.utils.from_key_val_list
+ )
+ ;;
+ esac
+
+ if ! has_version "dev-python/trustme[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ tests/test_requests.py::TestRequests::test_https_warnings
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/requests_download/Manifest b/dev-python/requests_download/Manifest
index 8951ccff9fd3..85b3c7a8855d 100644
--- a/dev-python/requests_download/Manifest
+++ b/dev-python/requests_download/Manifest
@@ -1 +1 @@
-DIST requests_download-0.1.2.tar.gz 2584 BLAKE2B c6f2eb7a182e0f42ccb7b603dec47a077b1b946bfa93968972dce5267c7c51fa8c4158e15cd35621cbe229e12f6644db9734e52439796d8d8411be16a38e1e9a SHA512 99d4b275200c88befd2730d17a3329c8cbb155fa5cf9600a7466e8ab109f999a9fc9b8c668aa3b389bc2a3deb33b8a3fd390270d71f04bb0a8f998da67cfde82
+DIST requests_download-0.1.2.gh.tar.gz 2584 BLAKE2B c6f2eb7a182e0f42ccb7b603dec47a077b1b946bfa93968972dce5267c7c51fa8c4158e15cd35621cbe229e12f6644db9734e52439796d8d8411be16a38e1e9a SHA512 99d4b275200c88befd2730d17a3329c8cbb155fa5cf9600a7466e8ab109f999a9fc9b8c668aa3b389bc2a3deb33b8a3fd390270d71f04bb0a8f998da67cfde82
diff --git a/dev-python/requests_download/requests_download-0.1.2-r1.ebuild b/dev-python/requests_download/requests_download-0.1.2-r1.ebuild
deleted file mode 100644
index ae003f7242d0..000000000000
--- a/dev-python/requests_download/requests_download-0.1.2-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A convenient function to download to a file using requests"
-HOMEPAGE="https://github.com/takluyver/requests_download https://pypi.org/project/requests_download/"
-SRC_URI="https://github.com/takluyver/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~mips ~x86"
-
-RDEPEND="dev-python/requests[${PYTHON_USEDEP}]"
-BDEPEND="${RDEPEND}"
-
-# there are no tests upstream
-RESTRICT="test"
-
-DOCS=( README.rst )
diff --git a/dev-python/requests_download/requests_download-0.1.2-r2.ebuild b/dev-python/requests_download/requests_download-0.1.2-r2.ebuild
new file mode 100644
index 000000000000..92aaeeecb585
--- /dev/null
+++ b/dev-python/requests_download/requests_download-0.1.2-r2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="A convenient function to download to a file using requests"
+HOMEPAGE="
+ https://github.com/takluyver/requests_download
+ https://pypi.org/project/requests_download/
+"
+SRC_URI="
+ https://github.com/takluyver/requests_download/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~mips ~x86"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+# there are no tests upstream
+RESTRICT="test"
+
+DOCS=( README.rst )
diff --git a/dev-python/requestsexceptions/requestsexceptions-1.4.0-r1.ebuild b/dev-python/requestsexceptions/requestsexceptions-1.4.0-r1.ebuild
index dd554a99b8db..fd4a39648b21 100644
--- a/dev-python/requestsexceptions/requestsexceptions-1.4.0-r1.ebuild
+++ b/dev-python/requestsexceptions/requestsexceptions-1.4.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/resolvelib/resolvelib-1.0.1.ebuild b/dev-python/resolvelib/resolvelib-1.0.1.ebuild
index 091e5388976b..6e5546b15bbf 100644
--- a/dev-python/resolvelib/resolvelib-1.0.1.ebuild
+++ b/dev-python/resolvelib/resolvelib-1.0.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="ISC"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~ppc64 ~riscv ~sparc x86"
BDEPEND="
test? (
diff --git a/dev-python/responses/Manifest b/dev-python/responses/Manifest
index e23be5023d75..caee0becbef5 100644
--- a/dev-python/responses/Manifest
+++ b/dev-python/responses/Manifest
@@ -1 +1 @@
-DIST responses-0.24.1.tar.gz 77530 BLAKE2B 6f4482a0b7f7388506782286e35e716b4fcb746f6d562cba3e5b095163e380e0921f71f808c4729c2c6fb03c3efa1005ae6dbab9d3b61275af720b215b4e4181 SHA512 fd97f56055da4e31fc9866e4fdb7d68b2273cac25c6d882811268daf5f474d21897454b790122ed4c12e18032b9ae2c032b958402c6840b46ec38fdd7306033f
+DIST responses-0.25.3.tar.gz 77798 BLAKE2B c85ccca93bf24e392e33bffc697d657e1bdb1d733c36ba035dffb0e1185ad579e35b44c9342d257c3eec735ea789961ea37e739884511b0c5ef9ef88f344dd77 SHA512 f5691cb603174a06a8efebde3e64091a8b21005adc841dcfa83f2bb9aea0c0b8bd8a3d490cc579d77fd4a1106bbdd2f140da1d3c04cbcfd42a6d49c900618f47
diff --git a/dev-python/responses/responses-0.24.1.ebuild b/dev-python/responses/responses-0.24.1.ebuild
deleted file mode 100644
index 3745618094dc..000000000000
--- a/dev-python/responses/responses-0.24.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Utility for mocking out the Python Requests library"
-HOMEPAGE="
- https://pypi.org/project/responses/
- https://github.com/getsentry/responses/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-# tomli backend is optional now, with pyyaml being the new default.
-# However, keeping it unconditional here for backwards compatibility.
-RDEPEND="
- dev-python/pyyaml[${PYTHON_USEDEP}]
- <dev-python/requests-3[${PYTHON_USEDEP}]
- >=dev-python/requests-2.30.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- dev-python/tomli-w[${PYTHON_USEDEP}]
- <dev-python/urllib3-3[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.25.10[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/pytest-httpserver[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_httpserver
-}
diff --git a/dev-python/responses/responses-0.25.3.ebuild b/dev-python/responses/responses-0.25.3.ebuild
new file mode 100644
index 000000000000..431d6caffa38
--- /dev/null
+++ b/dev-python/responses/responses-0.25.3.ebuild
@@ -0,0 +1,47 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Utility for mocking out the Python Requests library"
+HOMEPAGE="
+ https://pypi.org/project/responses/
+ https://github.com/getsentry/responses/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+# tomli backend is optional now, with pyyaml being the new default.
+# However, keeping it unconditional here for backwards compatibility.
+RDEPEND="
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ <dev-python/requests-3[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.30.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ dev-python/tomli-w[${PYTHON_USEDEP}]
+ <dev-python/urllib3-3[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.25.10[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o asyncio_mode=auto -p asyncio -p pytest_httpserver
+}
diff --git a/dev-python/respx/Manifest b/dev-python/respx/Manifest
new file mode 100644
index 000000000000..899bbf1b2a9f
--- /dev/null
+++ b/dev-python/respx/Manifest
@@ -0,0 +1 @@
+DIST respx-0.21.1.gh.tar.gz 432341 BLAKE2B b375e8bc9370e13855197487e1e8139cf3fede0f03d7ad034ef2c78bce5ad95d3cb8cc7440c2566d188a98a52d0068c13288c7d4ec802e04d2f269a64e1ce326 SHA512 156f34f4635012230b68812f24978136f37f96dc0cf0ea9e80ed2d6a3e0639eb7591ed34933f75d5cda32993852aa034b22389af0fed341ab4ad1002482f2e9c
diff --git a/dev-python/respx/metadata.xml b/dev-python/respx/metadata.xml
new file mode 100644
index 000000000000..75a5ff3e72ad
--- /dev/null
+++ b/dev-python/respx/metadata.xml
@@ -0,0 +1,20 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <maintainer type="person">
+ <email>parona@protonmail.com</email>
+ <name>Alfred Wingate</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">respx</remote-id>
+ <remote-id type="github">lundberg/respx</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/respx/respx-0.21.1.ebuild b/dev-python/respx/respx-0.21.1.ebuild
new file mode 100644
index 000000000000..424cae52ceb9
--- /dev/null
+++ b/dev-python/respx/respx-0.21.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Mock HTTPX with awesome request patterns and response side effects"
+HOMEPAGE="
+ https://lundberg.github.io/respx/
+ https://pypi.org/project/respx/
+ https://github.com/lundberg/respx/
+"
+# no tests in pypi sdist
+SRC_URI="
+ https://github.com/lundberg/respx/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ dev-python/httpx[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/httpcore[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/starlette[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -p 'no:*' -p asyncio -o addopts=
+}
diff --git a/dev-python/restructuredtext-lint/restructuredtext-lint-1.4.0.ebuild b/dev-python/restructuredtext-lint/restructuredtext-lint-1.4.0.ebuild
index 7199badb88b6..fc428e9ea2ac 100644
--- a/dev-python/restructuredtext-lint/restructuredtext-lint-1.4.0.ebuild
+++ b/dev-python/restructuredtext-lint/restructuredtext-lint-1.4.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/retry-decorator/Manifest b/dev-python/retry-decorator/Manifest
index 8cec44ada680..51b3009cab34 100644
--- a/dev-python/retry-decorator/Manifest
+++ b/dev-python/retry-decorator/Manifest
@@ -1 +1 @@
-DIST retry-decorator-1.1.1.tar.gz 4466 BLAKE2B a64836bba5620974e393a952544c82074b667a5fac80d6944069bf88e9162d03cc48cfe511f09476571c46561331576a2b06b2aefd087f905f968aa8257a596c SHA512 2241b24a02424905a2f3b7660c7ee4f6cd034c67c5019cce54d38ae250a9ac9e011fe323b25254bed051a0d3560d48ecdf4e2a1ee84cf2d7c5b1c12dea2921be
+DIST retry-decorator-1.1.1.gh.tar.gz 4466 BLAKE2B a64836bba5620974e393a952544c82074b667a5fac80d6944069bf88e9162d03cc48cfe511f09476571c46561331576a2b06b2aefd087f905f968aa8257a596c SHA512 2241b24a02424905a2f3b7660c7ee4f6cd034c67c5019cce54d38ae250a9ac9e011fe323b25254bed051a0d3560d48ecdf4e2a1ee84cf2d7c5b1c12dea2921be
diff --git a/dev-python/retry-decorator/retry-decorator-1.1.1-r1.ebuild b/dev-python/retry-decorator/retry-decorator-1.1.1-r1.ebuild
index 7b43e81cdb92..3193073f7904 100644
--- a/dev-python/retry-decorator/retry-decorator-1.1.1-r1.ebuild
+++ b/dev-python/retry-decorator/retry-decorator-1.1.1-r1.ebuild
@@ -1,15 +1,22 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
+
inherit distutils-r1
DESCRIPTION="Decorator for retrying when exceptions occur"
-HOMEPAGE="https://github.com/pnpnpn/retry-decorator"
-SRC_URI="https://github.com/pnpnpn/${PN}/archive/v${PV}.tar.gz -> ${P}.tar.gz"
+HOMEPAGE="
+ https://github.com/pnpnpn/retry-decorator/
+ https://pypi.org/project/retry-decorator/
+"
+SRC_URI="
+ https://github.com/pnpnpn/retry-decorator/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/retrying/retrying-1.3.4.ebuild b/dev-python/retrying/retrying-1.3.4.ebuild
index 6a0fd7dfe7bd..093710045c94 100644
--- a/dev-python/retrying/retrying-1.3.4.ebuild
+++ b/dev-python/retrying/retrying-1.3.4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/rfc3339-validator/Manifest b/dev-python/rfc3339-validator/Manifest
index 85b1d8b20c0b..b68cc6937a55 100644
--- a/dev-python/rfc3339-validator/Manifest
+++ b/dev-python/rfc3339-validator/Manifest
@@ -1 +1 @@
-DIST rfc3339-validator-0.1.4.tar.gz 7451 BLAKE2B f8216b2eb08cc7cd755a2a57dc6fa93da9aa664cc49f7e34c551d07eb61e57dc865de4a3e86ed2dfbf5a38ff99c149868762a3807e916c884b12fba7e98c3ced SHA512 ed593b31c4984cdbc313e42dc0432173eaa649712e29627ab462dfa262efb30cee97b74f589d3d211c2193623fac3baca560a52a7a3f718071a63482e06c4203
+DIST rfc3339-validator-0.1.4.gh.tar.gz 7451 BLAKE2B f8216b2eb08cc7cd755a2a57dc6fa93da9aa664cc49f7e34c551d07eb61e57dc865de4a3e86ed2dfbf5a38ff99c149868762a3807e916c884b12fba7e98c3ced SHA512 ed593b31c4984cdbc313e42dc0432173eaa649712e29627ab462dfa262efb30cee97b74f589d3d211c2193623fac3baca560a52a7a3f718071a63482e06c4203
diff --git a/dev-python/rfc3339-validator/rfc3339-validator-0.1.4-r1.ebuild b/dev-python/rfc3339-validator/rfc3339-validator-0.1.4-r1.ebuild
index c61a88c3cf9b..48888809050d 100644
--- a/dev-python/rfc3339-validator/rfc3339-validator-0.1.4-r1.ebuild
+++ b/dev-python/rfc3339-validator/rfc3339-validator-0.1.4-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -15,7 +15,7 @@ HOMEPAGE="
"
SRC_URI="
https://github.com/naimetti/rfc3339-validator/archive/v${PV}.tar.gz
- -> ${P}.tar.gz
+ -> ${P}.gh.tar.gz
"
LICENSE="MIT"
diff --git a/dev-python/rfc3986-validator/rfc3986-validator-0.1.1-r1.ebuild b/dev-python/rfc3986-validator/rfc3986-validator-0.1.1-r1.ebuild
deleted file mode 100644
index cced400b50cc..000000000000
--- a/dev-python/rfc3986-validator/rfc3986-validator-0.1.1-r1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Pure python RFC3986 validator"
-HOMEPAGE="
- https://pypi.org/project/rfc3986-validator/
- https://github.com/naimetti/rfc3986-validator
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-RDEPEND="
- dev-python/rfc3987[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # remove dep on pytest-runner
- sed -i -r "s:('|\")pytest-runner('|\")(,|)::" setup.py || die
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/rfc3986-validator/rfc3986-validator-0.1.1-r2.ebuild b/dev-python/rfc3986-validator/rfc3986-validator-0.1.1-r2.ebuild
new file mode 100644
index 000000000000..4754716592c5
--- /dev/null
+++ b/dev-python/rfc3986-validator/rfc3986-validator-0.1.1-r2.ebuild
@@ -0,0 +1,35 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pure python RFC3986 validator"
+HOMEPAGE="
+ https://pypi.org/project/rfc3986-validator/
+ https://github.com/naimetti/rfc3986-validator
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+# not a typo, it actually test-depends on rfc3987, and not rfc3986
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/rfc3987[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # remove dep on pytest-runner
+ sed -i -r "s:('|\")pytest-runner('|\")(,|)::" setup.py || die
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/rfc3986/rfc3986-2.0.0-r1.ebuild b/dev-python/rfc3986/rfc3986-2.0.0-r1.ebuild
index 4230540ef8ca..e3ce27166593 100644
--- a/dev-python/rfc3986/rfc3986-2.0.0-r1.ebuild
+++ b/dev-python/rfc3986/rfc3986-2.0.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -13,7 +13,7 @@ HOMEPAGE="
https://rfc3986.rtfd.org/
https://github.com/python-hyper/rfc3986/
https://pypi.org/project/rfc3986/
- https://tools.ietf.org/html/rfc3986/
+ https://datatracker.ietf.org/doc/html/rfc3986/
"
LICENSE="Apache-2.0"
diff --git a/dev-python/rfc3987/rfc3987-1.3.8-r2.ebuild b/dev-python/rfc3987/rfc3987-1.3.8-r2.ebuild
deleted file mode 100644
index 59f2ba52b4ff..000000000000
--- a/dev-python/rfc3987/rfc3987-1.3.8-r2.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Parsing and validation of URIs (RFC 3986) and IRIs (RFC 3987)"
-HOMEPAGE="
- https://github.com/dgerber/rfc3987/
- https://pypi.org/project/rfc3987/
-"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-
-RDEPEND="
- dev-python/regex[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
-"
-
-python_test() {
- "${EPYTHON}" -m doctest -v "${S}/${PN}.py" || die
-}
diff --git a/dev-python/rfc3987/rfc3987-1.3.8-r3.ebuild b/dev-python/rfc3987/rfc3987-1.3.8-r3.ebuild
new file mode 100644
index 000000000000..447fbd85a6d2
--- /dev/null
+++ b/dev-python/rfc3987/rfc3987-1.3.8-r3.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Parsing and validation of URIs (RFC 3986) and IRIs (RFC 3987)"
+HOMEPAGE="
+ https://github.com/dgerber/rfc3987/
+ https://pypi.org/project/rfc3987/
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+
+# dev-python/regex doesn't support pypy. The package falls back to re and has most
+# functionality without it.
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/regex[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+BDEPEND="
+ ${RDEPEND}
+"
+
+python_test() {
+ "${EPYTHON}" -m doctest -v "${S}/${PN}.py" || die
+}
diff --git a/dev-python/rich/Manifest b/dev-python/rich/Manifest
index 666481a284dc..f37f2db2d0c5 100644
--- a/dev-python/rich/Manifest
+++ b/dev-python/rich/Manifest
@@ -1,5 +1,2 @@
DIST rich-13.4.2.gh.tar.gz 15063000 BLAKE2B f65079440bc7d89a3ff03be01fa71e076493ae50f22ae8781be2448a7ff2769c174d6654db3a835d34720c34cd8cbecfdd6b13e3064cf7fdcade71806563309d SHA512 17052a9fb0e1d89b31a00d8a719214719891d048fd805185b2d4258c8766130f44bf2280c9567bc162f3b34d9bf2eb7d747d6a37d910c81cd53d3003b51f70bd
-DIST rich-13.5.2.gh.tar.gz 15064941 BLAKE2B 64f7e879588c42db9ac4f2173647143722c1de4865479b975ac5362e8073f60b493193abb0f50fb0d85923fdbe4145b2331fff7564ab78e3b43bc3a1be9d461c SHA512 60dfc66836f277763695611f6a3890da21afbb84bd85f38952efdac78680a8e3faca2e8c0aa937d618f876df1f36d3e67986979aa4fa9b6cb7dfb214f348b8aa
-DIST rich-13.5.3.gh.tar.gz 15065440 BLAKE2B cba268b36499c0f65980ba7b7ce327c53d598b856a39e6c69989b55d488eb0bbe305b6ebf1ca0370251aa8f9ec7dacc6bdee612587a9ace9c66f19d91fdc20b8 SHA512 acae49b796c8ff310b272bca43ce925fe717ddc6252dec20784a4730e63e9c0f81f459ee40b152c001ad0a512e47dddaadbb8fbb949ced262e2d5429b6396344
-DIST rich-13.6.0.gh.tar.gz 15055370 BLAKE2B f9182d45ee5ebd802e0b5a02de7a8c27b98770fc97be7ad098aa0c77076bfe38af8d9434bcf961dd300718e1f4e14ee8bf669a89e8f7a24cd4d9817e11552f81 SHA512 6b954205b3cf5f2b7afd35b2b4f022c973206c8073e6c3f20979e015ebd64359576962d5bd3b29e5feb1dfed54f72def6c7c5d51d7940ed280022cf273b515ec
-DIST rich-13.7.0.gh.tar.gz 15057791 BLAKE2B d474b5817c0e64143313a1d0b66ef0953990196ecef6b0fd62d82828902008fa7293290c7f43c605a0c897ecebecb84e816583da8921cd31fc56c902ead2f5c9 SHA512 c5c432bd73b0c28d9585bce2e122d6b9da0a0744ea7824b4682948f11e153dfc615f5ed94d9531ced422298d352371fba5f25ddf16ca7a1d669f799ab361d984
+DIST rich-13.7.1.gh.tar.gz 15058064 BLAKE2B 6fad18bf0a4e4f72e530c78db7a498f27dd8c9a7b9b17ca5ef12a94bbe513857f3c42d4903f8ebbfe8907727cddaf290f08862c27efb29db8aaf70c7bcb13ace SHA512 0c69101bc6c2a238a4c516812cda08299115b903b8282ee348b45b212a88fcbfbf69d11a3705a97bdb6192988ee3047804bb5b52b7950d860542cde8ce2d4bd2
diff --git a/dev-python/rich/rich-13.5.2.ebuild b/dev-python/rich/rich-13.5.2.ebuild
deleted file mode 100644
index 7d07d7e5e93f..000000000000
--- a/dev-python/rich/rich-13.5.2.ebuild
+++ /dev/null
@@ -1,65 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Python library for rendering rich text, tables, etc. to the terminal"
-HOMEPAGE="
- https://github.com/Textualize/rich/
- https://pypi.org/project/rich/
-"
-SRC_URI="
- https://github.com/Textualize/rich/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/colorama[${PYTHON_USEDEP}]
- >=dev-python/markdown-it-py-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.13.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x COLUMNS=80
- local EPYTEST_DESELECT=(
- # TODO
- tests/test_console.py::test_size_can_fall_back_to_std_descriptors
- tests/test_inspect.py::test_inspect_integer_with_methods_python38_and_python39
- # pygments?
- tests/test_syntax.py::test_python_render_simple_indent_guides
- tests/test_syntax.py::test_python_render_line_range_indent_guides
- )
- # version-specific output -- the usual deal
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # pypy3.10, to be more precise
- tests/test_inspect.py::test_inspect_integer_with_methods_python310only
- )
- ;;
- python3.12)
- EPYTEST_DESELECT+=(
- tests/test_inspect.py::test_inspect_builtin_function_except_python311
- tests/test_inspect.py::test_inspect_integer_with_methods_python310only
- tests/test_inspect.py::test_inspect_integer_with_methods_python311_and_above
- tests/test_pretty.py::test_attrs_broken
- )
- ;;
- esac
- epytest -p no:pytest-qt
-}
-
-pkg_postinst() {
- optfeature "integration with HTML widgets for Jupyter" dev-python/ipywidgets
-}
diff --git a/dev-python/rich/rich-13.5.3.ebuild b/dev-python/rich/rich-13.5.3.ebuild
deleted file mode 100644
index e6eb76070020..000000000000
--- a/dev-python/rich/rich-13.5.3.ebuild
+++ /dev/null
@@ -1,74 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Python library for rendering rich text, tables, etc. to the terminal"
-HOMEPAGE="
- https://github.com/Textualize/rich/
- https://pypi.org/project/rich/
-"
-SRC_URI="
- https://github.com/Textualize/rich/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/colorama[${PYTHON_USEDEP}]
- >=dev-python/markdown-it-py-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.13.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x COLUMNS=80
- local EPYTEST_DESELECT=(
- # TODO
- tests/test_console.py::test_size_can_fall_back_to_std_descriptors
- tests/test_inspect.py::test_inspect_integer_with_methods_python38_and_python39
- # pygments?
- tests/test_syntax.py::test_python_render_simple_indent_guides
- tests/test_syntax.py::test_python_render_line_range_indent_guides
- tests/test_card.py::test_card_render
- tests/test_markdown.py::test_markdown_render
- tests/test_markdown_no_hyperlinks.py::test_markdown_render
- tests/test_syntax.py::test_python_render
- tests/test_syntax.py::test_python_render_simple
- tests/test_syntax.py::test_python_render_simple_passing_lexer_instance
- tests/test_syntax.py::test_python_render_indent_guides
- tests/test_syntax.py::test_option_no_wrap
- tests/test_syntax.py::test_syntax_highlight_ranges
- )
- # version-specific output -- the usual deal
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # pypy3.10, to be more precise
- tests/test_inspect.py::test_inspect_integer_with_methods_python310only
- )
- ;;
- python3.12)
- EPYTEST_DESELECT+=(
- tests/test_inspect.py::test_inspect_builtin_function_except_python311
- tests/test_inspect.py::test_inspect_integer_with_methods_python310only
- tests/test_inspect.py::test_inspect_integer_with_methods_python311_and_above
- tests/test_pretty.py::test_attrs_broken
- )
- ;;
- esac
- epytest -p no:pytest-qt
-}
-
-pkg_postinst() {
- optfeature "integration with HTML widgets for Jupyter" dev-python/ipywidgets
-}
diff --git a/dev-python/rich/rich-13.6.0.ebuild b/dev-python/rich/rich-13.6.0.ebuild
deleted file mode 100644
index cdffd9766be3..000000000000
--- a/dev-python/rich/rich-13.6.0.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Python library for rendering rich text, tables, etc. to the terminal"
-HOMEPAGE="
- https://github.com/Textualize/rich/
- https://pypi.org/project/rich/
-"
-SRC_URI="
- https://github.com/Textualize/rich/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/colorama[${PYTHON_USEDEP}]
- >=dev-python/markdown-it-py-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.13.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- tests/test_console.py::test_size_can_fall_back_to_std_descriptors
- )
- # version-specific output -- the usual deal
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # pypy3.10, to be more precise
- tests/test_inspect.py::test_inspect_integer_with_methods_python310only
- )
- ;;
- esac
-
- local -x COLUMNS=80
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-pkg_postinst() {
- optfeature "integration with HTML widgets for Jupyter" dev-python/ipywidgets
-}
diff --git a/dev-python/rich/rich-13.7.0.ebuild b/dev-python/rich/rich-13.7.0.ebuild
deleted file mode 100644
index 856c2c6051b5..000000000000
--- a/dev-python/rich/rich-13.7.0.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Python library for rendering rich text, tables, etc. to the terminal"
-HOMEPAGE="
- https://github.com/Textualize/rich/
- https://pypi.org/project/rich/
-"
-SRC_URI="
- https://github.com/Textualize/rich/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/colorama[${PYTHON_USEDEP}]
- >=dev-python/markdown-it-py-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.13.0[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO
- tests/test_console.py::test_size_can_fall_back_to_std_descriptors
- # TODO: segfault in recursion (PyQt6 interfering?)
- tests/test_traceback.py::test_recursive
- )
- # version-specific output -- the usual deal
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # pypy3.10, to be more precise
- tests/test_inspect.py::test_inspect_integer_with_methods_python310only
- )
- ;;
- esac
-
- local -x COLUMNS=80
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-pkg_postinst() {
- optfeature "integration with HTML widgets for Jupyter" dev-python/ipywidgets
-}
diff --git a/dev-python/rich/rich-13.7.1.ebuild b/dev-python/rich/rich-13.7.1.ebuild
new file mode 100644
index 000000000000..aff3b8ccfcf3
--- /dev/null
+++ b/dev-python/rich/rich-13.7.1.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Python library for rendering rich text, tables, etc. to the terminal"
+HOMEPAGE="
+ https://github.com/Textualize/rich/
+ https://pypi.org/project/rich/
+"
+SRC_URI="
+ https://github.com/Textualize/rich/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/colorama[${PYTHON_USEDEP}]
+ >=dev-python/markdown-it-py-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.13.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/attrs-21.4.0[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO
+ tests/test_console.py::test_size_can_fall_back_to_std_descriptors
+ # TODO: segfault in recursion (PyQt6 interfering?)
+ tests/test_traceback.py::test_recursive
+ )
+ # version-specific output -- the usual deal
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # pypy3.10, to be more precise
+ tests/test_inspect.py::test_inspect_integer_with_methods_python310only
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ tests/test_inspect.py::test_inspect_builtin_function_except_python311
+ tests/test_inspect.py::test_inspect_integer_with_methods_python38_and_python39
+ tests/test_inspect.py::test_inspect_integer_with_methods_python310only
+ tests/test_inspect.py::test_inspect_integer_with_methods_python311
+ tests/test_pretty.py::test_pretty_dataclass
+ tests/test_pretty.py::test_reference_cycle_dataclass
+ tests/test_pretty.py::test_max_depth_dataclass
+ tests/test_pretty.py::test_attrs_broken
+ )
+ ;;
+ esac
+
+ local -x COLUMNS=80
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "integration with HTML widgets for Jupyter" dev-python/ipywidgets
+}
diff --git a/dev-python/roman/Manifest b/dev-python/roman/Manifest
index 503fc37d5503..18dcda558ee7 100644
--- a/dev-python/roman/Manifest
+++ b/dev-python/roman/Manifest
@@ -1 +1 @@
-DIST roman-4.1.tar.gz 7005 BLAKE2B de3e7dc4e05994f906b357d8db2f1149f3bf9f420552220cf1cf9427a8ae63ed3ba873b28b75dcbc1f675a370354efa5cae3ac9fb070f9b02126a2867bcefb07 SHA512 69214f35098e17bd106411036feec8a4e5c8450e394c74d60a8e3cc17c6884556347a1d2852fa174db4f66d969e71b26c066439afd6d278786d1a47bf925f302
+DIST roman-4.2.tar.gz 7339 BLAKE2B 1315925ffc4324e21582030fa6d963ed50f9fe917056fdf8dba62d90812874dd40d8899ae47274fc584bb56877c5517f507ff8741266e95a89912aead3a23a15 SHA512 4b1ddd54078e5ab38a11cad29fe4ea1f8e4740d7a9d1b093bec7d08ba37ca2bbbf89b2c420987b74270b01a8af5c03bfbfe8cfb5a4dfeb8923894cb52f083e82
diff --git a/dev-python/roman/roman-4.1.ebuild b/dev-python/roman/roman-4.1.ebuild
deleted file mode 100644
index a5f95f0aaefa..000000000000
--- a/dev-python/roman/roman-4.1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="An Integer to Roman numerals converter"
-HOMEPAGE="
- https://pypi.org/project/roman/
- https://github.com/zopefoundation/roman
-"
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-distutils_enable_tests unittest
-
-python_prepare_all() {
- mv "${S}/src/tests.py" . || die "moving test file failed"
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/roman/roman-4.2.ebuild b/dev-python/roman/roman-4.2.ebuild
new file mode 100644
index 000000000000..ebc51f70fefc
--- /dev/null
+++ b/dev-python/roman/roman-4.2.ebuild
@@ -0,0 +1,26 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="An Integer to Roman numerals converter"
+HOMEPAGE="
+ https://pypi.org/project/roman/
+ https://github.com/zopefoundation/roman
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+distutils_enable_tests unittest
+
+python_prepare_all() {
+ mv "${S}/src/tests.py" . || die "moving test file failed"
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/rope/Manifest b/dev-python/rope/Manifest
index 52985384ea98..490ab93c1c15 100644
--- a/dev-python/rope/Manifest
+++ b/dev-python/rope/Manifest
@@ -1 +1 @@
-DIST rope-1.11.0.tar.gz 287210 BLAKE2B 64aebaf2a52f84d6e92ba0ccbaf5421b46a52de92675c03922167e2d363d5916675856795b0adaa70d54d4e8249870348ee002648244537dc1acb123fc8c6350 SHA512 e5c382325a900c1b5870aae0b7ef60528da6c73a27834b557f5245e6a6bf3412451c730cac0d5fb12f1a668dd7a8d8d0c814826babce59eb00198cd6706c016d
+DIST rope-1.13.0.tar.gz 294457 BLAKE2B 6d859f9a5d09734ef90398671a3ef3c8564f2a8b1d03a064d22161ac7deeceefb38849cd6940a53f61f20199c27edc5ef5e88d59336cfd69f4da22685c705356 SHA512 2f150d8b56165dd3cffc3f41d94394b5f44d7d6274859d7b460c6e61b99cb9d9630f3540940fa97bcd1238fa8a799cf9c80f2d9b5b7fd6a690cebabadf775db4
diff --git a/dev-python/rope/rope-1.11.0.ebuild b/dev-python/rope/rope-1.11.0.ebuild
deleted file mode 100644
index 538590fc7e60..000000000000
--- a/dev-python/rope/rope-1.11.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python refactoring library"
-HOMEPAGE="
- https://pypi.org/project/rope/
- https://github.com/python-rope/rope/
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 x86"
-IUSE="doc"
-
-RDEPEND="
- >=dev-python/pytoolconfig-1.2.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/build[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # our venv style confuses this comparison
- ropetest/contrib/autoimport/utilstest.py::test_get_package_source_typing
- ropetest/contrib/autoimport/utilstest.py::test_get_package_tuple_typing
- ropetest/contrib/autoimport/utilstest.py::test_get_package_tuple_compiled
-)
diff --git a/dev-python/rope/rope-1.13.0.ebuild b/dev-python/rope/rope-1.13.0.ebuild
new file mode 100644
index 000000000000..17994cbaff67
--- /dev/null
+++ b/dev-python/rope/rope-1.13.0.ebuild
@@ -0,0 +1,43 @@
+# 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="Python refactoring library"
+HOMEPAGE="
+ https://pypi.org/project/rope/
+ https://github.com/python-rope/rope/
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
+IUSE="doc"
+
+RDEPEND="
+ >=dev-python/pytoolconfig-1.2.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # our venv style confuses this comparison
+ ropetest/contrib/autoimport/utilstest.py::test_get_package_source_typing
+ ropetest/contrib/autoimport/utilstest.py::test_get_package_tuple_typing
+ ropetest/contrib/autoimport/utilstest.py::test_get_package_tuple_compiled
+ # TODO
+ ropetest/contrib/autoimport/autoimporttest.py::TestQueryUsesIndexes::test_search_by_name_like_uses_index
+ ropetest/contrib/autoimport/autoimporttest.py::TestQueryUsesIndexes::test_search_module_like_uses_index
+)
diff --git a/dev-python/routes/routes-2.5.1-r2.ebuild b/dev-python/routes/routes-2.5.1-r2.ebuild
index 6feb5b4fc0d4..ad41736af307 100644
--- a/dev-python/routes/routes-2.5.1-r2.ebuild
+++ b/dev-python/routes/routes-2.5.1-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -23,7 +23,7 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
RDEPEND="
>=dev-python/repoze-lru-0.3[${PYTHON_USEDEP}]
diff --git a/dev-python/rpds-py/Manifest b/dev-python/rpds-py/Manifest
index 346edbedc2dc..c8e852b16db3 100644
--- a/dev-python/rpds-py/Manifest
+++ b/dev-python/rpds-py/Manifest
@@ -1,44 +1,59 @@
-DIST archery-1.0.0.crate 21187 BLAKE2B 5dd323734a238ccc84c186d19fbc1557d8845a7e3b64b53eb952f17e3d44078931e9e2a96fe15373721ee5df4426844a4309172a9ada7a51b4ed71fad1deee55 SHA512 4f955fec7df473279925f195fbb48159ef1e23f9722c416347c84eee22ba9d2a2ecc466a879f43f1f8aed53778467f6d203ca43bfca9dd24f3f7a4cb0cc0eb89
-DIST archery-1.1.0.crate 22240 BLAKE2B bae7ff007419d6aaa738f541610a65f1c2c832a0ef571207b3f55fb6d36adfb64355f0bcdc8c06823166bbdf531d3c52eef042ef720aa2dc51e9e5fa3dc69c7b SHA512 0a5180563fd2cf50e26d470e32f07dc523a94218cfe7d519ea5f79d4fef07d91f2e108b10a786e9f7af0e9c98e4178bf3812d795ddaaa9ffbeb8d9f2b34f7aaa
+DIST archery-1.2.0.crate 22842 BLAKE2B 018539188a76836c35834d948f64e51888083021a90bfd56229e3cf9cba2f12db289a248d2602a71431a04a09c4a9194d11530ec769fa85eaeff239388d00a44 SHA512 82c51b29984ebf611597ef530af2b04aa4046f7e532276612f7ad8485d79cea675f70a7ca60ce65f87114abb72ad6984b2c48c2f257957ba53a05a61537531ea
DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST cc-1.0.90.crate 73954 BLAKE2B 840417889519dec96a745c49ecbc8b0d3da9b37a4b6b0165ee8983c07b8150061690b34409381365ae4c70c5780923d19cddce29d5fbc370eb6b6fff29121436 SHA512 349f3c3f8208632f8754cc05d70976eb14f3f13a14d59413994c656efc36bb32b7310adc7d5f3a6745f15e0aaa88334644c9aba8d29fb961215d74bec605307e
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
-DIST indoc-1.0.9.crate 13475 BLAKE2B a9696788574e56dd125c3371169fd59d6947d188f76e2669b21c0304692efd6709cd048920f7822e92c6a5620fb178e0e85c7776118cef8ccee0f58398e14abf SHA512 db8aef4a7bb606452dc8ed45aa29a255c7a135357a0bd586fb4429c5f56a1aa2ca9400d6fac39956aeb486a15d25cf5d1b9524967867f2c651d9d563e3e85be8
+DIST heck-0.5.0.crate 11517 BLAKE2B 5365ec43b2239a76b33a174f1a4292ece4147f9d382a68c6c60db78fdc8bad0afb1d51a65bcb25e96675372faa4ea37c318265030b0546ba51942f7c929e1835 SHA512 f044fc9c3d22466629fd8f772ec0555350fd611c0cfadca51d99a3d2f10e155f77c1091916c8a95a6b9b499f366c2e99a5fbf45b010f988bfb9b2501bf9f6a76
DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
+DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
DIST libc-0.2.147.crate 686772 BLAKE2B ab2f0c65d071d46b8b88149add1c8429237ef6d9e0563d56ee1adbf23e6147dbb57fb68fbd02498f8ec75327693237a47e5e5259615ce8b0d5ed7a03bbf4fffb SHA512 bfb3c230b59d623b98726f92b7c3f897b47ba3d22fe9834c15f5b4c1b662289aba35a0ae3acfc704ad74696db8c691ee007b9cc6fa03ae65a18eb6bedc81931e
+DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807
DIST lock_api-0.4.10.crate 26713 BLAKE2B 113adf8554c65e9782e8fd0360d0398567dfbfddb1fea4928cc152fbab98dbe086e42b81170f6f5c333d61dd3261e8a1ebfbaed786e6bf6378e6afde6d7f9e5c SHA512 ffe8cad8099bc382832181c1ff95e0935993491f247114604201be7d4ddf8402fd4db8fd6499c611f95fbce7d57dc3d3738eddfab31c52f50ab8709e549697db
DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
DIST parking_lot_core-0.9.8.crate 32383 BLAKE2B 2f9666872894d1c85895437d1353f9e15be2bc8d004ffc8f0e5be95e9dd4b274797db3752eba1c0b5b6071c1b8a71e4857cae0b2aff1afdaa39e92e70be2e6fd SHA512 8d6dfdf661b0f7d0774cb9f61121f2daefd182ac8a2a0d24eab451febfbe1a664c815c163d34a7f3d15a54915a8e22e6c6cd10e89cb7d7598d48d81ad6a3c256
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
DIST proc-macro2-1.0.66.crate 43575 BLAKE2B 9eb3e816b00fcf625c280ba14ad269f5893d0523473a24de07c21945f6f932fbd08efb3c339b35d903245510e3f065e1478439b024a325f2bb9f97bc7bcbb18d SHA512 85f5a762f9411142e5ac28144bd380f07f0633ed2e44d8a2545be9fb8f42abaca6b5d45631b4be83b8e8b9beca7438bc52f25615c3a410a3a1249474b1aca407
-DIST pyo3-0.19.2.crate 418228 BLAKE2B ee018b33383fada78cd22643aea9231a8c8a2f19d1eb297f40eec9206c5220f322fff4c926d939a93a24ac6d231a207ebb25afcc0709191151c7ed9af7465efa SHA512 58698183e0f2f0507f8f765bf3e90185c933e78d62f0a9be65c4b1ce8eea19a98fe0341abe7c58cafdacb63a012ec417876dccb7be6facc1360fcb22796fcaf9
-DIST pyo3-0.20.0.crate 431766 BLAKE2B 104bc21ce2c6931753ca0c7b2d91693f454c964260ca3c4628a899fc8e7edbe4238db913ed7356f3beff154d88a60a17c0e252b655768e75483e1d9d9b86f40b SHA512 85d9533c75f905752c62f6a4898582ae48daf085e287b44949c47260301205a5f00477927877ce46300d2801d22fbc04a958c058a37eb28374c834fff27feca1
-DIST pyo3-build-config-0.19.2.crate 29206 BLAKE2B 5b1cd80d643e448cf8f1d28a514333526061c178121b9a0dcb5bff6082f402ecfd166536d94d42065f6dc1f108a73f12bbb78eedf9ea053a6aa2e9c80ac00ddf SHA512 ccc73061ec1989258921c5b5800689170635fa5503d74a4ac458baef903dd31efa41995d238783f1e099ece1f66d0a0e95c4fcb4b772b9f653dbb20e838b4e28
-DIST pyo3-build-config-0.20.0.crate 29534 BLAKE2B eb1d5f75276533483c52c6fcae49b294d6d8edf504859dae18811c1ef695dc6d0a055f2a34bea305975e4c1492c312433d2dcb7753484f793376c62cd59c8e40 SHA512 a01d06ebeb4b9cfe6ff6731046101e9437498453ca5aa68ec53df3bfb2f34665a489f8072636c2da16c1e867f536032fd293f05a43561117fd131bde5fe5aac7
-DIST pyo3-ffi-0.19.2.crate 66500 BLAKE2B b4139fba31ef17017b6b60784e41ccda34931a072c2638af1eed8d02d7af701c46fe38b12772d2301cff41d10a433ff0f00a69d79d40233eadafe82abe585f8d SHA512 789191bca537998dd23d72dce4f185b84bbe700f4171c47de35b9bbca15a180ad214392b4f465cc1ecb0be955ebec1cf5a3c497815073be18035bd8bf8c51a32
-DIST pyo3-ffi-0.20.0.crate 64220 BLAKE2B dfe75b9459b4a564d1dd9f907166b76d00c5b50ba027db65d11540a7b993f3ef4e19e574135b538635ebb9c9eba66115c09198c7b6071b0b82fd94faccb1bb63 SHA512 a68f0b1380f2ac3d3034ac8b3788cd6573850137c6678694cbcc3e814b619510b9b21b11704c2e702d4eb7433d8b1d3a6dac663501b6db5197a409407802b714
-DIST pyo3-macros-0.19.2.crate 7173 BLAKE2B 8862f42a30929579b0b0bc2ba7f0b416518724480e197fa13288e49324e851f964183e1529b7f31bf5d4fe0ae194a412723b6b401100e66fba98bbcd9c283866 SHA512 852cc2792aa3d30d9ab8802a451be5617cae6536adced1bf0dde71704a3c7c1bfe862fba751b6d045249819a8ba5d87dfc50914d142a0b662f046498c06f8c2e
-DIST pyo3-macros-0.20.0.crate 7678 BLAKE2B 03fdc0cc9c735086ca2d27e0bcd197e69538c3640ba7f87bc3d65907db374ac7283f61bdb67a1d45b66ce972072ddcb3b1daed4aeb9a66100d11bba6515cdc86 SHA512 79b61f55010dad60dda2c5061c9736bef3f6805f28db230726937340a5c40a3fcfb727a0db7779c3eb094ebd45492f7af4f40a3fcaef42f160989a8ef6174e7e
-DIST pyo3-macros-backend-0.19.2.crate 49962 BLAKE2B 9d8a032c2205f55d2431b6bbc40df153339e08479df3a8a65506ade7d1f3d17cfaf664cbd09eaec9acff3f5a248598e37427d0c5a531eaf527137803adf49834 SHA512 fd708e6fdbd54ef7c676bedc62070175bac6b8f7ae11231578196dbf552b163a8a2499a1266f786bb6bfb85517fe83610902137d59a5c42efcb1a27c4235a07e
-DIST pyo3-macros-backend-0.20.0.crate 49383 BLAKE2B a239042abdfcf5ad38505b57bc6b858ba346bf8681e24acf2e433f53e4a40bf0b28928b434b96f596d12acbb602b14b7e1bbf4be1e5789e6d9c754368db00a1e SHA512 c823caba48b4a30aaf84c23f80934f0172f2c76a41b538b69ebc25afcb61611b54b8fbb4ab6cac1c7a78b4e6f9f909f22748a2cd279b508d3897b74b17021d56
+DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
+DIST pyo3-0.20.3.crate 434673 BLAKE2B 1dcb881fd1fe5c76e9b4951f4d95fcd1daa1845c226a4ab1db4283cabe67bda822ff03e3cc85d797fe4665a1614229e7406dea65ec5e99ce4aac96b973a7f55d SHA512 77cce558fa60bbd8d9981ff5e62fdfa9bac94bd650b287fbf14ac93ef1c326c8ae7fda82d744e3582df03cab8adf490e0f2752fabd9ae3de044e7d80984e0350
+DIST pyo3-0.22.1.crate 536682 BLAKE2B 5c30834d5d30c2745d9133993039f9f88cf969ecee1119a4a82c8b5b5afa4b4d677c940666d250ac6769efb0d6bd767d2717d7eb6b65a93aee7c58e8e6cad88d SHA512 184829a31dad378d9d2e73e0cb3242d2113935e80f7f5289c89029f55c6b41d707b9e8ae631a5f04287f74b211a302d745003afe4e59c6cd027ffac5baf652ef
+DIST pyo3-0.22.2.crate 538342 BLAKE2B faf347695117f9fe0ebe5cd7f6aa1b0dcfe718343875d6c06438046deccc1075f104d2a2413dcda41ae9827bc363aa147057b45968f6634f577a6a4510a4bb8e SHA512 e8bae09059f50ffe477dad44499cedeaf3a734665f0fd8e8bd4b44f48578d21e4bdb8d55ceea00c5a27da750761842ddf89cfcecdecb2e7a4a17ab192259be9c
+DIST pyo3-build-config-0.20.3.crate 30060 BLAKE2B ef122b0b7d840d5362928bac76e1299b333775ec5c49a3bf23a19eccec074917931356bbf719c6d700999941bb6a396948ee7f8761e685c8e9251af07ba0cadc SHA512 70685415bba443787dabb9c61ca3702aefbcacb0705471b496b4f01efe34291735321d91243355b4be9aed8b243e393c09fb65556f1b926ac7f22f64560bd927
+DIST pyo3-build-config-0.22.1.crate 31205 BLAKE2B 5f2f09cd97643c0b3af372b24c07b65860eb3d502978fdd066c58641af207ed7e26a2a6b1b7855490dc7bf39920c990a17f260f1d91addcc8020df67cac4ea70 SHA512 4033d54c6ebe1ecd685bb4cf6b8440b56d700c7714296001129278c590cdb8007709558443863bfbd5a633df6d1d8997e4b643e92bf42fa2650e547c8f818108
+DIST pyo3-build-config-0.22.2.crate 31225 BLAKE2B c2e6a3d3d23b7f2f51bcbf1214ab20a298a1e62f85c9af3dab1e77b09f20b657b576feefffb18eb49d438f0ffab525b6bcd1086d500601c327ffd4fd24a719ee SHA512 644c82d30bb27051557efcc9789a81380a64e29bc62abf97de88f42c3791dac74228c7a7d09e0d46d14f07c0475f0bc03fac6ed1367b9a616153e8820b94cbc8
+DIST pyo3-ffi-0.20.3.crate 65024 BLAKE2B 33e79a02c7ab85f4767e02a39d8553ddc015c80d13bea674885ad8a18d89bd90f866cc39d81ecbf56270ebe87d29bca48f635c4e73ec99df02ce425f1427cb31 SHA512 3d1ced58e243be7cee4a3ca831dc08a1631fcd511c707dd3bada87d7662807dea2d88393d76e56ff19a6d1c2804d93b5b6b7b5efd36b9c275d66fa1bb1bfc384
+DIST pyo3-ffi-0.22.1.crate 67422 BLAKE2B 5dae443139a2223dbb4c29357ece0f730b9b01f92b0da61acf3993b840e410fcc0a8bf4384953283536e9174c52240ab12a2a6537ef3ddc613aa7cef0aaf5756 SHA512 ea77aa12d0d2d96c25c260bef26ec1ef38bd22a30a513f10b2bd95f27cbce50f21b46b7c1ecee7874d2fedd79607283c6798ec17ada5de009ec64c07f0e7ac95
+DIST pyo3-ffi-0.22.2.crate 67749 BLAKE2B 0a4357d5f4fbcab9717d58b7a80b63a63bc329267d4725136c4eac7c0101095a50e5f840638dde79034e5df99c4f46664cfdc2ad437837643db5d475c5705cb3 SHA512 bf8b83b4790832d99de8c6a61a15a43fc189505dd843011933305f7f93c4f5f4849fb00cc2a6fa410b788645f8ed8c0df61799cf801966a925abb9756b1ab579
+DIST pyo3-macros-0.20.3.crate 7920 BLAKE2B 0510accf51cd83390cbb7b6ba4ec9f4610e3dbb7448d1213994013487ae81bb087df1ba0076a3862e5ecfd172b7846f9439a2d86950a93b016aae565ced4f03b SHA512 454f3c0c054aa131ffe955e4be1af061005b9c81b4d80702827e19b983224c118dfea474da515d5fc2c79cfd3fa21204ed4af2d9e81427123e0a78bd246a23f8
+DIST pyo3-macros-0.22.1.crate 8029 BLAKE2B 5ecd6f26cea60539134e2ad29620227cdf3a189566518020b00e7d362f87754a5ce793359e770f09532f7c4bdf65cd53d05b9fb488cfc320ffa89dbd3e7b0757 SHA512 230a1440e89f0fc9413515f5552495c94576c3cd6d243bf3a304a476d6a24843a18bd37bcff9d1f3569c733c1e3663829c2a8a92a5b19b691cbd049a2beb8d8c
+DIST pyo3-macros-0.22.2.crate 8136 BLAKE2B 9dc97d2f60581db1b8ddb562dac917069525f297fe2cbb9aff3ed34d5a08ea43c112c9c7a450539da3536d753778b5ca506dd1b18e1d6b8a3649fc098e7af439 SHA512 f4f4f6af8dc3aa4bcc1698661990ab2112391ef9502e9f71d86e35bd10dc4e1be309102ebb1b7b32751817a6033168dc0486fdb16b35c626101e69f0de807a4a
+DIST pyo3-macros-backend-0.20.3.crate 49797 BLAKE2B 59c55d482577ce105db3e19a1db794eaab8221d7de01197716b75d5d2602e0f27c86aaae527eae7098eafad311144550bd597efe8cd6560c82dc435021f3428f SHA512 e177ee0d6a538a555fbe9108e3e2c20102622b2c9b9696ae309189e5c4d068efad2132afd4a97d734ebabb4d7146980a26cb68dc05d5eb88f338be2ad0cd651f
+DIST pyo3-macros-backend-0.22.1.crate 65589 BLAKE2B 9cd0bcf4e30a60a00a8645c6b3deedd9cd3202dbfc783940993c9af5b4e21eaa04747bbe7a7647dd707c48c14d255b07e961121486f8c5ee84c4ce134229ac47 SHA512 4d79a4edae12e73fb22e66100be0d7774279515ff5b3de43c4301162fb697bc8ef11fa035f5da6d4363b08e61d6da7382bac6a6b455b4295e5b8d0fca332db70
+DIST pyo3-macros-backend-0.22.2.crate 65620 BLAKE2B 37fba9ff384373418d3a7341acafb8e33308a64e30026f828693a37c32ab4a74d058f2db84d00467a20f9f267c96fe54c0f154d1ebbae92490e8dfc0d29c042f SHA512 0517080c0d5d4ed8136521fd37aa3a192c2eb8cab58545d8543ee4df9cd0dcea19fe0678d5ab90f05fe3eb0f4a86fc2f07b76f2e12ac1fcf7e7c195c2ffa4fd8
+DIST python3-dll-a-0.2.10.crate 74573 BLAKE2B 770c5b070f4dd1b9639b8aff59bb733575eb1117ae8e510818b6e13bdc69b22bcad395bb5cf0d1931de3562775a56e1404bb7fca7384b62e5e782e6284fa1494 SHA512 c1171c29f6914ff809950a9f6c330638e72c58c7c691bf4d9e765dee47166915cc91131b494b65aeb3a812543690c5072f2f5ff32cdebb76ba588330f9c74cdb
DIST quote-1.0.31.crate 27881 BLAKE2B 47c8ac1051f7fa03d002420ade3cb18bf2aedc6ba922d13b117c016ee89c3326bea5cad32ec2f0e5ac1afcce68982f20b3f973914c205e6d6f426487989c6ec4 SHA512 8b2ec131937ce53f3fa01e68fb9261ed6442222e513cbe86f62b6da3cf3051cda0d134dc8028bc6c992fa63735ef3507490a169f8b4af1d6fc17058c6d2faaab
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
DIST redox_syscall-0.3.5.crate 23404 BLAKE2B 85aa4299d9816666bf576f523da5cdeae87b3c8fbb2af103e82258d23f73303c068a4b6c3ef4117ad67958cb31e41f836a9f59f2ce1bc52c23605e34399afcf1 SHA512 16f8f4766932bb54e4740cfdb4f0802f76246c0bf88c1d76c69c115949b124b625d8c3b85d8947073c2e9544f425aa16c10f71fabe3c03d29e424c47fe4ccdde
-DIST rpds-1.0.1.crate 69049 BLAKE2B 2235344d274d4fef171b430e7500a075d383f2409f22908217a6caf6b6924891893835c3427a01a351d5bfbdda661542446a5db1f5c9bccdb2bc505474443794 SHA512 119527d615f359ddf2681dda05e9bf853a2747db4524559601c4cf5114cfdc00ba734fcd727830787e3f1cb978eb28538e5f9424d968deec95ff3826db18f377
DIST rpds-1.1.0.crate 69493 BLAKE2B f2d02c758de1abd46ff133965e0491a0276e4a95be5b64b6c83947bf8b3718896781eb96cf96d4abac84aba0c7caaa5e95abf1364ab2ffd65d573d0af212e058 SHA512 b24640e34c2f88ecfff5efb1581941eb02987bb7b342dc439513e8d7c8ee0afa63949f8dee09bf8f445ec6f3b3ec22d2927d3d03be05fee3c651b29c924a6b3e
-DIST rpds_py-0.10.6.tar.gz 16514 BLAKE2B b3df3d79b22fe102e96b5d56cfac97d30b2de0ce05ecc82227f411aca2ae39aa3c10171e08f850e58c60faac5dd9cfb5f1f0eb0559d8dc3ac18d530b8c6b95d3 SHA512 4e887e57c59372f48b87ec10a810a65d0ff1ba2fc7587cc4f4da78d8394a78a91d84a7a7b8ad810bd1f34f4e73ad706628dbc2bd25662c9e4f83e4183c280ab1
-DIST rpds_py-0.13.1.tar.gz 17008 BLAKE2B e8fbc559ead936ae378d26dd6c0b704ab53b5bc41fe0a1bab67e48b8a627b43060b454f6915b2653d78f2f8e0f1d623f77db96c821bc2a25a3141fa145b5f5a3 SHA512 1cc901ae5bbfbbfdd14df4ff988dc3ffd75c5ac60acdec4dea9ddc30b9849ee12bf9ac05377bdf29a8db58919ceda51ef2fbb66885567608f1268baa1fa3eba1
-DIST rpds_py-0.13.2.tar.gz 17146 BLAKE2B 722ff3115e0eca30692b71f8f7eeeebc7c1276c49dc03b4a3fd322b527d6b2a3570a8a8f80ed188566eced79fa19538b342828ca72a8309a78162d87cbcebc14 SHA512 a2aeb3cdb6a0c09ffb09091bb02d60a5cb79d4dae81711d9cd67a005081354124a5c9476ab3c6f4ae1a3c28544a824bf0b0f9f96d54674428198601e06138734
+DIST rpds_py-0.18.1.tar.gz 25388 BLAKE2B 9f843e7530062c0564a67bae8d8ec15155f0a68cd53b69a52906ba3176d97fc1388d599fddc7bb804a88c77bd5b57fd0f54ed718558355a59100ce3b85b851fe SHA512 3ad144fe399eab121fe6b6ac4fa0a711dc1cc63763705534606d125c66f0e1b68955e53789ec885d217848d1a0c52c8a069905abdcc24d207d16ee65f4050886
+DIST rpds_py-0.19.0.tar.gz 24613 BLAKE2B 9c6e06a4e68747b58d623d17379c2bbe4210f66735b3b39f5c7163491c86ad6125d4134c4227b85add9a52a785378196814cd3994af0e7d4c77a463db68da82d SHA512 fccdf7a43c6319ec950ae3f58eb8c7c45f0fb838607512f6724ecc0b9ca2a6c5c97239af67fbd18980d926b636b3514fa1d2bd7b4cfd009aacd1596d91b4ce23
+DIST rpds_py-0.19.1.tar.gz 25022 BLAKE2B f0ca3173d5afa5c44a67a9012be234eb143a3bd6e1a89b1bd3a0e7f23d31999017ed5d5359c01ea33f4a28b2eab655113b03d9cfbb5880488bbd66a50c206db5 SHA512 dfb0b7180c5fbd77108e2a90d0b664d6410d3f3d00efcb9b7a79291ac736668f3cd3d7dec12292d30ae4bd445f909563e35aaa841814075b2b020863f2e49f3c
DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
DIST smallvec-1.11.0.crate 34680 BLAKE2B e54d56f6bbffbfa7ce5fe5f04e325b2e5cf19d290e4be278bc00a136e26284625b9c18c7c2b10b7fb8fad0ea7e3770f3cdbcfbaa913f5ac08d0a2f8b4e0de188 SHA512 41bfbecbc2c244497568a41724d65791ec3fd6d8057813d521367cca316c09c2b28fb3973826236b01c1f5d2f905d8d22b0c3c47f957a9ff5d7685591f15ccd7
DIST static_assertions-1.1.0.crate 18480 BLAKE2B 358dd5ac413d06f62da0388e2016c5fcb8ec68fd7dceb0dbbcb97665c032b7509b7e083c20701648b6a9174485f117c02682ae4bde7ef037e80a85cdf6a0c86e SHA512 46d0e35f77941dee6f60f574c130472248063dc38494c1c4f84f7c048244cc2a58a86fe17c0990e3f0f01406b75ed385a13d00058612b27cf0e867c8d31c92ee
-DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
DIST syn-2.0.32.crate 242504 BLAKE2B 2c2938c0d711c684c9baf95538e2e76220418646590474b2b654d9242d2818aa7c3e5990208fe231ef64903df17edbbf6cc930e6224c964cad4eae5aeaeae781 SHA512 609f125f8138d17b1185760b1a63f3713079f5214fb56c23012229a56d10ac1c12654466c9ad1ecd6b2aff1126d125abfb0a42bd7f669635e5024b962b0cb0af
+DIST syn-2.0.69.crate 265441 BLAKE2B b01576c2c86426d2bbb2c9553dc1dce6a309d9922c35167ee6a718ad08cf3d0a22f0aed4d4c547cdbed85b47283e5b60a128fd1bbb230a6687f0c28af3a9c228 SHA512 fddc0f1ffa3e68ce57833c6ff18382296838287dd98f9f77f679ced471c3f801af30376363a870232f337bda27b3ba6ea93074f8e3c05ee390bcc024e3690bea
+DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a
DIST target-lexicon-0.12.9.crate 24532 BLAKE2B 7f09be1827a5f9563b842c38aff659432ec61b66b814ebf4cc8a963daf6c93e7dc453a6966aa02d3a886007506d2b993e16ceb047bd34f6d206de76a39d08dfe SHA512 62033617d4587fb9d4b3159c78dbb628041d7ba6c5849c27a5755f173a7279aa4a03e56d31e03f87adfae50cef49eb6f0bc5eea1f6a131b87c618330d19d61d5
+DIST triomphe-0.1.13.crate 29568 BLAKE2B f0450292e3a4c2df6b400621bada57c099e5779cd3659c6171e452b552d2acaedbb2c0cd074c8f2144fbba9dc095648ba1c43a3fdcfe6fe3e01efe2561f6971d SHA512 e8364bf262d41aaf23de5c519c0303fd6ad928d8691843c7e0eda26b530c746c458837b08421559c50edf1cb8b9a2a216d7c32f5ea50be1543a2dec2cc60dd6a
DIST triomphe-0.1.9.crate 26674 BLAKE2B 5c553d84da71c8a6fd6c65d1c0736864a2e8ad3842878402c7cc6023f88e72b849921d9337d5edf12d9f080b4f4d6e993e2f0f80f36683e51e293f6c26648adc SHA512 9dc43f449352944479dd147ab07f22fb185f713f1b81437ae55363870b0aa86cb9c250e132f16d4f60603f55e3388855a1dac3b80f6012aeea8cbce13cfd6756
DIST unicode-ident-1.0.11.crate 42067 BLAKE2B 3c7cac3d2bf1cbf1cf04716a482f130123e8e6940f7a90a17bc62fca44ac0069688165538f5329b95a72f735b594cfb85e3250738393ffd1b53cb0cd95077d89 SHA512 9682bbee339fb987c9d0bb6a54406d37b28b5c3587372d406402e4341900fec97e3234cd03b5c98b90b6378fd533dc452cac3de90d3ade19c4b09657e4abf6df
-DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
DIST windows-targets-0.48.1.crate 6902 BLAKE2B 8e6cd47dea52131c66983cbf4982e88f7bd30416dfae4e380f7afb39f67ee0ac88d40769668dd5aba40d4415f9f00cbc2ac98d598506fed26029f5ec4df3a2c5 SHA512 e48179620cce528292167f1d5ee2deea0659569c996dc90eb4ab62b9ea8baee6c0bea3ab739e06d8793c9690bfc895545ed0039cb633ca39293de79c42ea9de2
DIST windows_aarch64_gnullvm-0.48.0.crate 366543 BLAKE2B 9b10f65089fe6da3ff38a1061783f635644ae84f567f891eaced280af68f7ff3919b34289e8850aa34554bb0346903273ff0a7fa743ca8794c2d23a9f1b0185f SHA512 80c5aa74c5669f7acff3882a8e7575f15e8d7cc58c11a1cb731ff423eb9cc9ba43cc6b80e52803c0d44e6a9001655ba87de6f43a9fe858da6d6e3a5c983a2711
diff --git a/dev-python/rpds-py/rpds-py-0.10.6.ebuild b/dev-python/rpds-py/rpds-py-0.10.6.ebuild
deleted file mode 100644
index cd3b719b8ca7..000000000000
--- a/dev-python/rpds-py/rpds-py-0.10.6.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-CRATES="
- archery@1.0.0
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- indoc@1.0.9
- libc@0.2.147
- lock_api@0.4.10
- memoffset@0.9.0
- once_cell@1.18.0
- parking_lot@0.12.1
- parking_lot_core@0.9.8
- proc-macro2@1.0.66
- pyo3-build-config@0.19.2
- pyo3-ffi@0.19.2
- pyo3-macros-backend@0.19.2
- pyo3-macros@0.19.2
- pyo3@0.19.2
- quote@1.0.31
- redox_syscall@0.3.5
- rpds@1.0.1
- scopeguard@1.1.0
- smallvec@1.11.0
- static_assertions@1.1.0
- syn@1.0.109
- target-lexicon@0.12.9
- unicode-ident@1.0.11
- unindent@0.1.11
- windows-targets@0.48.1
- windows_aarch64_gnullvm@0.48.0
- windows_aarch64_msvc@0.48.0
- windows_i686_gnu@0.48.0
- windows_i686_msvc@0.48.0
- windows_x86_64_gnu@0.48.0
- windows_x86_64_gnullvm@0.48.0
- windows_x86_64_msvc@0.48.0
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Python bindings to Rust's persistent data structures (rpds)"
-HOMEPAGE="
- https://github.com/crate-py/rpds/
- https://pypi.org/project/rpds-py/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT MPL-2.0
- Unicode-DFS-2016
-"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so"
-
-distutils_enable_tests pytest
diff --git a/dev-python/rpds-py/rpds-py-0.13.1.ebuild b/dev-python/rpds-py/rpds-py-0.13.1.ebuild
deleted file mode 100644
index 3e3f91b7643d..000000000000
--- a/dev-python/rpds-py/rpds-py-0.13.1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-CRATES="
- archery@1.1.0
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- heck@0.4.1
- indoc@2.0.4
- libc@0.2.147
- lock_api@0.4.10
- memoffset@0.9.0
- once_cell@1.18.0
- parking_lot@0.12.1
- parking_lot_core@0.9.8
- proc-macro2@1.0.66
- pyo3-build-config@0.20.0
- pyo3-ffi@0.20.0
- pyo3-macros-backend@0.20.0
- pyo3-macros@0.20.0
- pyo3@0.20.0
- quote@1.0.31
- redox_syscall@0.3.5
- rpds@1.1.0
- scopeguard@1.1.0
- smallvec@1.11.0
- static_assertions@1.1.0
- syn@2.0.32
- target-lexicon@0.12.9
- triomphe@0.1.9
- unicode-ident@1.0.11
- unindent@0.2.3
- windows-targets@0.48.1
- windows_aarch64_gnullvm@0.48.0
- windows_aarch64_msvc@0.48.0
- windows_i686_gnu@0.48.0
- windows_i686_msvc@0.48.0
- windows_x86_64_gnu@0.48.0
- windows_x86_64_gnullvm@0.48.0
- windows_x86_64_msvc@0.48.0
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Python bindings to Rust's persistent data structures (rpds)"
-HOMEPAGE="
- https://github.com/crate-py/rpds/
- https://pypi.org/project/rpds-py/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 Unicode-DFS-2016"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86"
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so"
-
-distutils_enable_tests pytest
diff --git a/dev-python/rpds-py/rpds-py-0.13.2.ebuild b/dev-python/rpds-py/rpds-py-0.13.2.ebuild
deleted file mode 100644
index e8a8abb66b65..000000000000
--- a/dev-python/rpds-py/rpds-py-0.13.2.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-CRATES="
- archery@1.1.0
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- heck@0.4.1
- indoc@2.0.4
- libc@0.2.147
- lock_api@0.4.10
- memoffset@0.9.0
- once_cell@1.18.0
- parking_lot@0.12.1
- parking_lot_core@0.9.8
- proc-macro2@1.0.66
- pyo3-build-config@0.20.0
- pyo3-ffi@0.20.0
- pyo3-macros-backend@0.20.0
- pyo3-macros@0.20.0
- pyo3@0.20.0
- quote@1.0.31
- redox_syscall@0.3.5
- rpds@1.1.0
- scopeguard@1.1.0
- smallvec@1.11.0
- static_assertions@1.1.0
- syn@2.0.32
- target-lexicon@0.12.9
- triomphe@0.1.9
- unicode-ident@1.0.11
- unindent@0.2.3
- windows-targets@0.48.1
- windows_aarch64_gnullvm@0.48.0
- windows_aarch64_msvc@0.48.0
- windows_i686_gnu@0.48.0
- windows_i686_msvc@0.48.0
- windows_x86_64_gnu@0.48.0
- windows_x86_64_gnullvm@0.48.0
- windows_x86_64_msvc@0.48.0
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Python bindings to Rust's persistent data structures (rpds)"
-HOMEPAGE="
- https://github.com/crate-py/rpds/
- https://pypi.org/project/rpds-py/
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 Unicode-DFS-2016"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so"
-
-distutils_enable_tests pytest
diff --git a/dev-python/rpds-py/rpds-py-0.18.1.ebuild b/dev-python/rpds-py/rpds-py-0.18.1.ebuild
new file mode 100644
index 000000000000..58f2742cde47
--- /dev/null
+++ b/dev-python/rpds-py/rpds-py-0.18.1.ebuild
@@ -0,0 +1,72 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+CRATES="
+ archery@1.2.0
+ autocfg@1.1.0
+ bitflags@1.3.2
+ cfg-if@1.0.0
+ heck@0.4.1
+ indoc@2.0.4
+ libc@0.2.147
+ lock_api@0.4.10
+ memoffset@0.9.0
+ once_cell@1.18.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.8
+ portable-atomic@1.6.0
+ proc-macro2@1.0.66
+ pyo3-build-config@0.20.3
+ pyo3-ffi@0.20.3
+ pyo3-macros-backend@0.20.3
+ pyo3-macros@0.20.3
+ pyo3@0.20.3
+ quote@1.0.31
+ redox_syscall@0.3.5
+ rpds@1.1.0
+ scopeguard@1.1.0
+ smallvec@1.11.0
+ static_assertions@1.1.0
+ syn@2.0.32
+ target-lexicon@0.12.9
+ triomphe@0.1.9
+ unicode-ident@1.0.11
+ unindent@0.2.3
+ windows-targets@0.48.1
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_msvc@0.48.0
+ windows_i686_gnu@0.48.0
+ windows_i686_msvc@0.48.0
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_msvc@0.48.0
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Python bindings to Rust's persistent data structures (rpds)"
+HOMEPAGE="
+ https://github.com/crate-py/rpds/
+ https://pypi.org/project/rpds-py/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 Unicode-DFS-2016"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so"
+
+distutils_enable_tests pytest
+
+export UNSAFE_PYO3_SKIP_VERSION_CHECK=1
diff --git a/dev-python/rpds-py/rpds-py-0.19.0.ebuild b/dev-python/rpds-py/rpds-py-0.19.0.ebuild
new file mode 100644
index 000000000000..f1c00942c9d0
--- /dev/null
+++ b/dev-python/rpds-py/rpds-py-0.19.0.ebuild
@@ -0,0 +1,57 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+CRATES="
+ archery@1.2.0
+ autocfg@1.3.0
+ cfg-if@1.0.0
+ heck@0.5.0
+ indoc@2.0.5
+ libc@0.2.155
+ memoffset@0.9.1
+ once_cell@1.19.0
+ portable-atomic@1.6.0
+ proc-macro2@1.0.86
+ pyo3-build-config@0.22.1
+ pyo3-ffi@0.22.1
+ pyo3-macros-backend@0.22.1
+ pyo3-macros@0.22.1
+ pyo3@0.22.1
+ quote@1.0.36
+ rpds@1.1.0
+ static_assertions@1.1.0
+ syn@2.0.69
+ target-lexicon@0.12.14
+ triomphe@0.1.13
+ unicode-ident@1.0.12
+ unindent@0.2.3
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Python bindings to Rust's persistent data structures (rpds)"
+HOMEPAGE="
+ https://github.com/crate-py/rpds/
+ https://pypi.org/project/rpds-py/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 Unicode-DFS-2016"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so"
+
+distutils_enable_tests pytest
+
+export UNSAFE_PYO3_SKIP_VERSION_CHECK=1
diff --git a/dev-python/rpds-py/rpds-py-0.19.1.ebuild b/dev-python/rpds-py/rpds-py-0.19.1.ebuild
new file mode 100644
index 000000000000..2e15fcaff7b2
--- /dev/null
+++ b/dev-python/rpds-py/rpds-py-0.19.1.ebuild
@@ -0,0 +1,59 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+CRATES="
+ archery@1.2.0
+ autocfg@1.3.0
+ cc@1.0.90
+ cfg-if@1.0.0
+ heck@0.5.0
+ indoc@2.0.5
+ libc@0.2.155
+ memoffset@0.9.1
+ once_cell@1.19.0
+ portable-atomic@1.6.0
+ proc-macro2@1.0.86
+ pyo3-build-config@0.22.2
+ pyo3-ffi@0.22.2
+ pyo3-macros-backend@0.22.2
+ pyo3-macros@0.22.2
+ pyo3@0.22.2
+ python3-dll-a@0.2.10
+ quote@1.0.36
+ rpds@1.1.0
+ static_assertions@1.1.0
+ syn@2.0.69
+ target-lexicon@0.12.14
+ triomphe@0.1.13
+ unicode-ident@1.0.12
+ unindent@0.2.3
+"
+
+inherit cargo distutils-r1 pypi
+
+DESCRIPTION="Python bindings to Rust's persistent data structures (rpds)"
+HOMEPAGE="
+ https://github.com/crate-py/rpds/
+ https://pypi.org/project/rpds-py/
+"
+SRC_URI+="
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT MPL-2.0 Unicode-DFS-2016"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rpds/rpds.*.so"
+
+distutils_enable_tests pytest
+
+export UNSAFE_PYO3_SKIP_VERSION_CHECK=1
diff --git a/dev-python/rply/rply-0.7.8-r1.ebuild b/dev-python/rply/rply-0.7.8-r1.ebuild
index a721bedcbc29..d95f91d02f80 100644
--- a/dev-python/rply/rply-0.7.8-r1.ebuild
+++ b/dev-python/rply/rply-0.7.8-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/rpy/Manifest b/dev-python/rpy/Manifest
index 9b5346f571ec..4b05cc402c2c 100644
--- a/dev-python/rpy/Manifest
+++ b/dev-python/rpy/Manifest
@@ -1,2 +1 @@
DIST rpy2-3.5.14.tar.gz 219268 BLAKE2B 167284d4974710121475d83aada49e128566f075276f5f641096f6ce94c236c315617df2847504e0e3ca804090e1f422fa1b53a4a37b60f1c5bcdba8c0b059ff SHA512 d02454fb41c946a0a92547f8a5dba3c614741bec8e293984116b34dfbe97574a655b7066fd75d34fee4c0f604c41c8b672d6a2c3b4194cba30a37c95da6578dd
-DIST rpy2-3.5.8.tar.gz 214245 BLAKE2B 70d6b1e07df3fb6936898ab1353f134a4184ce611486c3da875ca7b562ec9a60bde9657869807aab969ccf515a32cf2a3767704e8ed8ab8b8977b9ac15745033 SHA512 e0781aeea4e483e60c2e54322bc577e5314627c6ef881387af6011e5ef3c08b4ee1be16bcbeba9083dcd0758655fc83a1ff474a3e05291745f85d94a70437521
diff --git a/dev-python/rpy/rpy-3.5.8.ebuild b/dev-python/rpy/rpy-3.5.8.ebuild
deleted file mode 100644
index 45b6a9c9404e..000000000000
--- a/dev-python/rpy/rpy-3.5.8.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="sqlite"
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 pypi virtualx
-
-MYSLOT=2
-MY_PN=${PN}${MYSLOT}
-MY_P=${MY_PN}-${PV}
-
-DESCRIPTION="Python interface to the R Programming Language"
-HOMEPAGE="
- https://rpy.sourceforge.io/
- https://pypi.org/project/rpy2/
-"
-SRC_URI="$(pypi_sdist_url rpy2)"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="AGPL-3 GPL-2 LGPL-2.1 MPL-1.1"
-SLOT="0"
-KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
-
-# ggplot2 is a test dep but not in ::gentoo atm
-RESTRICT="test"
-
-RDEPEND="
- >=dev-lang/R-3.2
- dev-python/cffi[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- >=dev-python/pandas-0.13.1[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
- dev-python/tzlocal[${PYTHON_USEDEP}]
-"
-PDEPEND="dev-python/ipython[${PYTHON_USEDEP}]"
-
-python_test() {
- cd "${BUILD_DIR}"/lib || die
- virtx "${EPYTHON}" -m 'rpy2.tests'
-}
diff --git a/dev-python/rpyc/Manifest b/dev-python/rpyc/Manifest
index 3dd555a227cf..90e2b8fab858 100644
--- a/dev-python/rpyc/Manifest
+++ b/dev-python/rpyc/Manifest
@@ -1 +1 @@
-DIST rpyc-5.3.1.gh.tar.gz 1271046 BLAKE2B b7c86aa5cf774d306b2d6fdbac97441533bc5a847aaf03c11b0abf0a07587a2f7d081470d3402fde4251ea6654051d96983feefa2ba7e65a9a95d76f179edcad SHA512 a328903c336483f7110cbbff96173ba0b5ae6cf16f6306c624055bd631d914772c42dcfcf48a275b7dc53241f6b10a397ee49f17b8a3c3c8dbee8f42ac784465
+DIST rpyc-6.0.0.gh.tar.gz 1273858 BLAKE2B e55d008dc772be7fd4bae9065a5eabcf5612faf8131e8161e7921eeb84475183c677687ef8606c664003089ae714d4cb403ff6afa26d2695a8fe763d549aab0d SHA512 04b74fa6d4ad944b43c3f3acb6c9029a826da350bffdc59875ec31562bbaa70945e74bedb69778811ce16560ef4f4cfe2579b9c6b52773fe238951fc6328e029
diff --git a/dev-python/rpyc/metadata.xml b/dev-python/rpyc/metadata.xml
index 9bb47af5f2a2..3ffac5c2b46f 100644
--- a/dev-python/rpyc/metadata.xml
+++ b/dev-python/rpyc/metadata.xml
@@ -15,7 +15,7 @@
<flag name="numpy">Run tests depending on
<pkg>dev-python/numpy</pkg>, <pkg>dev-python/pandas</pkg>
</flag>
- <flag name="gdb">Run tests depending on <pkg>sys-devel/gdb</pkg>
+ <flag name="gdb">Run tests depending on <pkg>dev-debug/gdb</pkg>
</flag>
</use>
</pkgmetadata>
diff --git a/dev-python/rpyc/rpyc-5.3.1-r1.ebuild b/dev-python/rpyc/rpyc-5.3.1-r1.ebuild
deleted file mode 100644
index b102dca92b62..000000000000
--- a/dev-python/rpyc/rpyc-5.3.1-r1.ebuild
+++ /dev/null
@@ -1,69 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Remote Python Call (RPyC), a transparent and symmetric RPC library"
-HOMEPAGE="https://rpyc.readthedocs.io/en/latest/
- https://pypi.org/project/rpyc/
- https://github.com/tomerfiliba-org/rpyc"
-SRC_URI="https://github.com/tomerfiliba-org/rpyc/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-# USE flags gdb, numpy are used *only* to run tests depending on these packages
-IUSE="test numpy gdb"
-RESTRICT="!test? ( test )"
-
-CDEPEND="numpy? ( dev-python/numpy[${PYTHON_USEDEP}] dev-python/pandas[${PYTHON_USEDEP}] )
- gdb? ( sys-devel/gdb )"
-
-DEPEND="${CDEPEND}
- dev-python/setuptools[${PYTHON_USEDEP}]"
-
-RDEPEND="${CDEPEND}
- dev-python/plumbum[${PYTHON_USEDEP}]"
-
-PATCHES=( "${FILESDIR}"/${PN}-5.3.0-no-gevent.patch )
-
-src_prepare() {
- default
-
- # Windows specific test
- rm tests/test_win32pipes.py || die "rm tests/test_win32pipes.py failed"
-
- # These tests require running sshd
- rm tests/test_ssh.py tests/test_deploy.py || die "rm test_ssh.py test_deploy.py failed"
-
- # This test requires internet access
- rm tests/test_registry.py || die "rm test_registry.py failed"
-
- # This test fails with NO_CIPHERS_AVAILABLE
- rm tests/test_ssl.py || die "rm test_ssl.py failed"
-
- # dev-python/gevent is being removed
- rm tests/test_gevent_server.py || die "rm test_gevent_server.py failed"
-
- if ! use numpy
- then rm tests/test_service_pickle.py || die "rm test_service_pickle.py failed"
- fi
-
- if ! use gdb
- then rm tests/test_gdb.py || die "rm test_gdb.py failed"
- fi
-}
-
-python_test() {
- # for some reason, when tests are run via pytest or nose, some of them hung
- pushd tests > /dev/null || die "pushd tests failed"
- for x in test_*.py
- do PYTHONPATH="${WORKDIR}"/${P}-${EPYTHON/./_}/install/usr/lib/${EPYTHON}/site-packages ${EPYTHON} ${x} || die "${x} failed"
- done
- popd > /dev/null
-}
diff --git a/dev-python/rpyc/rpyc-6.0.0.ebuild b/dev-python/rpyc/rpyc-6.0.0.ebuild
new file mode 100644
index 000000000000..7c6af49decaf
--- /dev/null
+++ b/dev-python/rpyc/rpyc-6.0.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Remote Python Call (RPyC), a transparent and symmetric RPC library"
+HOMEPAGE="https://rpyc.readthedocs.io/en/latest/
+ https://pypi.org/project/rpyc/
+ https://github.com/tomerfiliba-org/rpyc"
+SRC_URI="https://github.com/tomerfiliba-org/rpyc/archive/refs/tags/${PV}.tar.gz -> ${P}.gh.tar.gz"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+# USE flags gdb, numpy are used *only* to run tests depending on these packages
+IUSE="test numpy gdb"
+RESTRICT="!test? ( test )"
+
+CDEPEND="numpy? ( dev-python/numpy[${PYTHON_USEDEP}] dev-python/pandas[${PYTHON_USEDEP}] )
+ gdb? ( dev-debug/gdb )"
+
+DEPEND="${CDEPEND}
+ dev-python/setuptools[${PYTHON_USEDEP}]"
+
+RDEPEND="${CDEPEND}
+ dev-python/plumbum[${PYTHON_USEDEP}]"
+
+PATCHES=( "${FILESDIR}"/${PN}-5.3.0-no-gevent.patch )
+
+src_prepare() {
+ default
+
+ # Windows specific test
+ rm tests/test_win32pipes.py || die "rm tests/test_win32pipes.py failed"
+
+ # These tests require running sshd
+ rm tests/test_ssh.py tests/test_deploy.py || die "rm test_ssh.py test_deploy.py failed"
+
+ # This test requires internet access
+ rm tests/test_registry.py || die "rm test_registry.py failed"
+
+ # This test fails with NO_CIPHERS_AVAILABLE
+ rm tests/test_ssl.py || die "rm test_ssl.py failed"
+
+ # dev-python/gevent is being removed
+ rm tests/test_gevent_server.py || die "rm test_gevent_server.py failed"
+
+ if ! use numpy
+ then rm tests/test_service_pickle.py || die "rm test_service_pickle.py failed"
+ fi
+
+ if ! use gdb
+ then rm tests/test_gdb.py || die "rm test_gdb.py failed"
+ fi
+}
+
+python_test() {
+ # for some reason, when tests are run via pytest or nose, some of them hung
+ pushd tests > /dev/null || die "pushd tests failed"
+ for x in test_*.py
+ do PYTHONPATH="${WORKDIR}"/${P}-${EPYTHON/./_}/install/usr/lib/${EPYTHON}/site-packages ${EPYTHON} ${x} || die "${x} failed"
+ done
+ popd > /dev/null
+}
diff --git a/dev-python/rq/Manifest b/dev-python/rq/Manifest
index 22cd23663130..d5576c94eb41 100644
--- a/dev-python/rq/Manifest
+++ b/dev-python/rq/Manifest
@@ -1 +1 @@
-DIST rq-1.15.1.gh.tar.gz 633531 BLAKE2B e1cf463e54533a1a56fab98a66f4cfe2ef73da48ab965a10066b84050aa1ac72373328246236fbd45bdf3d026ffc355aa117a21047dce1cef16b18c6e96a0f3f SHA512 75228f037c5c731f7788bb18654f2e07a9af39f8980900166e07145887f7cbed06fbd7fb5513a770cee791d07a49d85a544b83f347cce6726d7745f8396e3aac
+DIST rq-1.16.2.tar.gz 629881 BLAKE2B 69ac4ba43ea79ddf998bc9f7cf0fc5fa42acb0315dff663b1c924498ccfabdd37ac6d9613e128b838b9e1f45988632a337fb2fa50f5adcd1b69aa520b5ad33e2 SHA512 1c3162b1acffc9d11292fcbff7177267272a02e752b5839a4004b875bb5bb25af7e61f31041df438ef4e0e47152296c3a2711856c6a36d787848dcb766387d1a
diff --git a/dev-python/rq/rq-1.15.1.ebuild b/dev-python/rq/rq-1.15.1.ebuild
deleted file mode 100644
index 906f2d4678f7..000000000000
--- a/dev-python/rq/rq-1.15.1.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Simple, lightweight library for creating and processing background jobs"
-HOMEPAGE="
- https://python-rq.org/
- https://github.com/rq/rq/
- https://pypi.org/project/rq/
-"
-# Tests missing from sdist, as of 1.14.1
-SRC_URI="
- https://github.com/rq/rq/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- >=dev-python/click-5.0[${PYTHON_USEDEP}]
- >=dev-python/redis-4.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-db/redis
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/sentry-sdk[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- local redis_pid="${T}"/redis.pid
- local redis_port=6379
- local redis_test_config="daemonize yes
- pidfile ${redis_pid}
- port ${redis_port}
- bind 127.0.0.1
- "
-
- # Spawn Redis itself for testing purposes
- # NOTE: On sam@'s machine, spawning Redis can hang in the sandbox.
- # I'm not restricting tests yet because this doesn't happen for anyone else AFAICT.
- einfo "Spawning Redis"
- einfo "NOTE: Port ${redis_port} must be free"
- /usr/sbin/redis-server - <<< "${redis_test_config}" || die
-
- # Run the actual tests
- distutils-r1_src_test
-
- # Clean up afterwards
- kill "$(<"${redis_pid}")" || die
-}
diff --git a/dev-python/rq/rq-1.16.2.ebuild b/dev-python/rq/rq-1.16.2.ebuild
new file mode 100644
index 000000000000..936514338ab0
--- /dev/null
+++ b/dev-python/rq/rq-1.16.2.ebuild
@@ -0,0 +1,57 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple, lightweight library for creating and processing background jobs"
+HOMEPAGE="
+ https://python-rq.org/
+ https://github.com/rq/rq/
+ https://pypi.org/project/rq/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ >=dev-python/click-5.0[${PYTHON_USEDEP}]
+ >=dev-python/redis-4.5.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-db/redis
+ dev-python/psutil[${PYTHON_USEDEP}]
+ <dev-python/sentry-sdk-2[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ local redis_pid="${T}"/redis.pid
+ local redis_port=6379
+ local redis_test_config="daemonize yes
+ pidfile ${redis_pid}
+ port ${redis_port}
+ bind 127.0.0.1
+ "
+
+ # Spawn Redis itself for testing purposes
+ # NOTE: On sam@'s machine, spawning Redis can hang in the sandbox.
+ # I'm not restricting tests yet because this doesn't happen for anyone else AFAICT.
+ einfo "Spawning Redis"
+ einfo "NOTE: Port ${redis_port} must be free"
+ /usr/sbin/redis-server - <<< "${redis_test_config}" || die
+
+ # Run the actual tests
+ distutils-r1_src_test
+
+ # Clean up afterwards
+ kill "$(<"${redis_pid}")" || die
+}
diff --git a/dev-python/rsa/rsa-4.9.ebuild b/dev-python/rsa/rsa-4.9.ebuild
index 3b6bbd40ffa9..411af68642cb 100644
--- a/dev-python/rsa/rsa-4.9.ebuild
+++ b/dev-python/rsa/rsa-4.9.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/rst-linker/Manifest b/dev-python/rst-linker/Manifest
index 0aec84dfc54e..a77a68fb44dd 100644
--- a/dev-python/rst-linker/Manifest
+++ b/dev-python/rst-linker/Manifest
@@ -1 +1 @@
-DIST rst.linker-2.4.0.tar.gz 11340 BLAKE2B a1ae9c811b7d6fa2821bfbf5787dce75fd3d7e5d933ec15fbac9cd3bde08cfad59fdc81b3b58dc39d1209a27ca9dd8d2ecd68034b434b3f6d15469bfb98efa3d SHA512 31e3427ecf35b433cc9650138ee36090e99003b72c69b60b530835eb624d7eb13aae4cf81cc0044b36750798a4b8aa676e53e3b9eb335430076593640a243940
+DIST rst_linker-2.6.0.tar.gz 11308 BLAKE2B 216c3d79b2de02fc53f1548127d7dc08d85d065e103659168b6e4b9521d75972f1ff28c78b45f59a9be09c16e66897c2506b0e48d37b3a08b114060999a76d09 SHA512 08977a88e53ebdb82f0e69923430e08a9ad643c184ad76154a7d5840c8193e71e53fd1b7fb97f6d74f65d55e3d45f5c0c262a60a1d030788d2c067f71918aa8e
diff --git a/dev-python/rst-linker/rst-linker-2.4.0.ebuild b/dev-python/rst-linker/rst-linker-2.4.0.ebuild
deleted file mode 100644
index de0844994b99..000000000000
--- a/dev-python/rst-linker/rst-linker-2.4.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sphinx plugin to add links and timestamps to the changelog"
-HOMEPAGE="
- https://github.com/jaraco/rst.linker/
- https://pypi.org/project/rst.linker/
-"
-SRC_URI="$(pypi_sdist_url --no-normalize "${PN/-/.}")"
-S=${WORKDIR}/${P/-/.}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/python-dateutil[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-scm-3.4.1[${PYTHON_USEDEP}]
- test? (
- dev-python/path[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/rst-linker/rst-linker-2.6.0.ebuild b/dev-python/rst-linker/rst-linker-2.6.0.ebuild
new file mode 100644
index 000000000000..374b8b0fc572
--- /dev/null
+++ b/dev-python/rst-linker/rst-linker-2.6.0.ebuild
@@ -0,0 +1,33 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx plugin to add links and timestamps to the changelog"
+HOMEPAGE="
+ https://github.com/jaraco/rst.linker/
+ https://pypi.org/project/rst.linker/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/jaraco-context[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-vcs-2.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-3.4.1[${PYTHON_USEDEP}]
+ test? (
+ dev-python/path[${PYTHON_USEDEP}]
+ dev-python/pytest-subprocess[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/rtree/Manifest b/dev-python/rtree/Manifest
new file mode 100644
index 000000000000..0fac7140604c
--- /dev/null
+++ b/dev-python/rtree/Manifest
@@ -0,0 +1,2 @@
+DIST Rtree-1.0.0.tar.gz 48837 BLAKE2B 60e516155e7e48158494b7ea4720dc71ece2111fb94e320976a6dd691d2458b8586c2bf8109a37d86db211ac342d77877b435bdb54627a94c898642e8520a071 SHA512 9a414cd65b27ba35313dd7185dece83f5d7235867f6f0c72c2902d7ffd72808138dbf30d8fe11c8bbf0ec463072e5f6112d75b5fdd5a1dab7720c56d3632d576
+DIST rtree-1.3.0.tar.gz 48190 BLAKE2B 1a9ed3617ca14e3a88e5800e871e3d3edd58bc31d5dcad3c30a4a3a51b44678beacfddc1c72cbd984139e8e9acfffda45cc478857dacba5b44e7775f29ef890f SHA512 28810b769d90914e5aea9ea0b7f27b946c8d19495965696624d4fdd94c6ad462eb5ce7004d2c41e017d14a69bc913f43fdcef5293abe8504b66d8dcd5f4955a2
diff --git a/dev-python/rtree/metadata.xml b/dev-python/rtree/metadata.xml
new file mode 100644
index 000000000000..eb60738f3714
--- /dev/null
+++ b/dev-python/rtree/metadata.xml
@@ -0,0 +1,25 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>3dprint@gentoo.org</email>
+ <name>Gentoo 3D Printer Project</name>
+ </maintainer>
+ <maintainer type="person">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <longdescription>
+ Rtree is a ctypes Python wrapper of libspatialindex that provides a number of advanced spatial indexing
+ features for the spatially curious Python user.
+ </longdescription>
+ <upstream>
+ <bugs-to>https://github.com/Toblerity/rtree/issues</bugs-to>
+ <remote-id type="github">Toblerity/rtree</remote-id>
+ <remote-id type="pypi">Rtree</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/rtree/rtree-1.0.0.ebuild b/dev-python/rtree/rtree-1.0.0.ebuild
new file mode 100644
index 000000000000..40896a2c822c
--- /dev/null
+++ b/dev-python/rtree/rtree-1.0.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=${PN^}
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="R-Tree spatial index for Python GIS"
+HOMEPAGE="https://rtree.readthedocs.io"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+
+RDEPEND="
+ sci-libs/libspatialindex
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? ( dev-python/numpy[${PYTHON_USEDEP}] )
+"
+
+distutils_enable_sphinx docs/source
+distutils_enable_tests pytest
diff --git a/dev-python/rtree/rtree-1.3.0.ebuild b/dev-python/rtree/rtree-1.3.0.ebuild
new file mode 100644
index 000000000000..ff8999dbd054
--- /dev/null
+++ b/dev-python/rtree/rtree-1.3.0.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN=${PN^}
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="R-Tree spatial index for Python GIS"
+HOMEPAGE="
+ https://rtree.readthedocs.io/
+ https://github.com/Toblerity/rtree/
+ https://pypi.org/project/Rtree/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ sci-libs/libspatialindex
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/source \
+ dev-python/sphinx-issues
+distutils_enable_tests pytest
diff --git a/dev-python/rtslib-fb/rtslib-fb-2.1.76.ebuild b/dev-python/rtslib-fb/rtslib-fb-2.1.76.ebuild
index 75d5a13393cc..b60489000794 100644
--- a/dev-python/rtslib-fb/rtslib-fb-2.1.76.ebuild
+++ b/dev-python/rtslib-fb/rtslib-fb-2.1.76.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
PYPI_NO_NORMALIZE=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 systemd pypi
diff --git a/dev-python/ruamel-std-pathlib/Manifest b/dev-python/ruamel-std-pathlib/Manifest
deleted file mode 100644
index 26cd8c2ebaf6..000000000000
--- a/dev-python/ruamel-std-pathlib/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST ruamel-std-pathlib-0.12.0.tar.xz 20972 BLAKE2B f228982f0df4d5bb41fb99e74179764eecc7d7850bb381cc219b4a3521dfbd42ec88e246600dd4d20977ce5718e32a32a89b5c922b7f56fc63396cdc3974d157 SHA512 07c969d95fa3ebcf2e5070aa50044760fa1198d189f2d4104bfbaf9b49884deb391e32db2b4ffa23e5ed7d192c4a010c76d7ecc0cbe7f321cdc449f9a89f12be
diff --git a/dev-python/ruamel-std-pathlib/metadata.xml b/dev-python/ruamel-std-pathlib/metadata.xml
deleted file mode 100644
index be31b64778bf..000000000000
--- a/dev-python/ruamel-std-pathlib/metadata.xml
+++ /dev/null
@@ -1,25 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
- <maintainer type="person" proxied="yes">
- <email>zoltan@sinustrom.info</email>
- <name>Zoltan Puskas</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">ruamel.std.pathlib</remote-id>
- <remote-id type="sourceforge">ruamel-std-pathlib</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/ruamel-std-pathlib/ruamel-std-pathlib-0.12.0.ebuild b/dev-python/ruamel-std-pathlib/ruamel-std-pathlib-0.12.0.ebuild
deleted file mode 100644
index c4f302b3ad61..000000000000
--- a/dev-python/ruamel-std-pathlib/ruamel-std-pathlib-0.12.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P="${PN//-/.}-${PV}"
-DESCRIPTION="Ruamel enhancements to pathlib and pathlib2"
-HOMEPAGE="
- https://pypi.org/project/ruamel.std.pathlib/
- https://sourceforge.net/projects/ruamel-std-pathlib/
-"
-# PyPI tarballs do not include tests
-SRC_URI="mirror://sourceforge/ruamel-dl-tagged-releases/${MY_P}.tar.xz -> ${P}.tar.xz"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv sparc x86"
-
-RDEPEND="
- !dev-python/namespace-ruamel
-"
-BDEPEND="
- test? (
- dev-python/ujson[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # these tests fail without orjson
- _test/test_json.py::TestJSON::test_json_standard
- # (this one also hardcodes path in /var/tmp, sigh)
- _test/test_json.py::TestJSON::test_json
- _test/test_json.py::TestJSON::test_bytes_orjson
- )
-
- rm -f *.py || die
- distutils_write_namespace ruamel
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/ruamel-yaml-clib/metadata.xml b/dev-python/ruamel-yaml-clib/metadata.xml
index 7454d15a135c..37c72920f891 100644
--- a/dev-python/ruamel-yaml-clib/metadata.xml
+++ b/dev-python/ruamel-yaml-clib/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
<maintainer type="person" proxied="yes">
<email>zoltan@sinustrom.info</email>
<name>Zoltan Puskas</name>
diff --git a/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.8.ebuild b/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.8.ebuild
index f2f52daec91f..62594101fa68 100644
--- a/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.8.ebuild
+++ b/dev-python/ruamel-yaml-clib/ruamel-yaml-clib-0.2.8.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
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -18,13 +18,13 @@ HOMEPAGE="
https://sourceforge.net/projects/ruamel-yaml-clib/
"
# sdist lacks .pyx files for cythonizing
-SRC_URI="mirror://sourceforge/ruamel-dl-tagged-releases/${MY_P}.tar.xz"
+SRC_URI="https://downloads.sourceforge.net/ruamel-dl-tagged-releases/${MY_P}.tar.xz"
# workaround https://bugs.gentoo.org/898716
S=${WORKDIR}/ruamel_yaml_clib
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
BDEPEND="
dev-python/cython[${PYTHON_USEDEP}]
diff --git a/dev-python/ruamel-yaml/Manifest b/dev-python/ruamel-yaml/Manifest
index 88e933e8f233..2c57b89997d9 100644
--- a/dev-python/ruamel-yaml/Manifest
+++ b/dev-python/ruamel-yaml/Manifest
@@ -1,2 +1,2 @@
DIST ruamel.yaml-0.17.40.tar.xz 193424 BLAKE2B 80405ef0c85af476ef0e996b1da5aba1a116e8c181d18f40fb4fd86093a512c09cf0da30d52d85946c524e86e10379cb11154cb08a7ea7b054ba9379996de4f4 SHA512 848af49430b9c028a6676a159915c66e29f4290374ba0863e4fd87527f3178bb303a80f4ba97139fc8cbcd01f7f7782a4b3112325237a39659e227afda61fcb8
-DIST ruamel.yaml-0.18.5.tar.xz 197372 BLAKE2B ebb48da26e1e9ced585d78d4ca27359cf72891dcd2cd6793711cebcb67e5d18212992216bc8658c169c8df06847d8f70e3ce5c60ff8cdb8eaecacf3695a2e0d8 SHA512 8f299190ad9e32122fd15b80b8b53c8909df078d1575612c11a50d46eec93f25375d2c3368fb637bf83e3bd7b4eaa6ddfcd8cd90540130b4e1fb5654bc847e9a
+DIST ruamel.yaml-0.18.6.tar.xz 198544 BLAKE2B 94d50ba8aef92e2885b24118bd9f4b1d06a82d51b2e7930c39dea93f4c0f9fc9d0604dfbbe716f81f3c9a927698d14c7005bb0ce2ae5d2eadf27514dfbba88c1 SHA512 319e1029746ebf6ef1c6b6bf6055d7c56e7caa2559b34b4fe639616c4332ef46661afad67c42d123bd0de67819812ea8f9cc9d51c0189edd6e33d5d47f47bb26
diff --git a/dev-python/ruamel-yaml/metadata.xml b/dev-python/ruamel-yaml/metadata.xml
index 005ccc63c8de..7b731453c01e 100644
--- a/dev-python/ruamel-yaml/metadata.xml
+++ b/dev-python/ruamel-yaml/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
<maintainer type="person" proxied="yes">
<email>zoltan@sinustrom.info</email>
<name>Zoltan Puskas</name>
diff --git a/dev-python/ruamel-yaml/ruamel-yaml-0.17.40.ebuild b/dev-python/ruamel-yaml/ruamel-yaml-0.17.40.ebuild
index 6eadb5876683..0b0839c508c1 100644
--- a/dev-python/ruamel-yaml/ruamel-yaml-0.17.40.ebuild
+++ b/dev-python/ruamel-yaml/ruamel-yaml-0.17.40.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -15,7 +15,7 @@ HOMEPAGE="
https://sourceforge.net/projects/ruamel-yaml/
"
# PyPI tarballs do not include tests
-SRC_URI="mirror://sourceforge/ruamel-dl-tagged-releases/${MY_P}.tar.xz"
+SRC_URI="https://downloads.sourceforge.net/ruamel-dl-tagged-releases/${MY_P}.tar.xz"
S="${WORKDIR}"/${MY_P}
LICENSE="MIT"
@@ -26,11 +26,6 @@ RDEPEND="
dev-python/ruamel-yaml-clib[${PYTHON_USEDEP}]
!dev-python/namespace-ruamel
"
-BDEPEND="
- test? (
- dev-python/ruamel-std-pathlib[${PYTHON_USEDEP}]
- )
-"
distutils_enable_tests pytest
diff --git a/dev-python/ruamel-yaml/ruamel-yaml-0.18.5.ebuild b/dev-python/ruamel-yaml/ruamel-yaml-0.18.5.ebuild
deleted file mode 100644
index dc93d7f804fc..000000000000
--- a/dev-python/ruamel-yaml/ruamel-yaml-0.18.5.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P="${P/-/.}"
-DESCRIPTION="YAML parser/emitter that supports roundtrip comment preservation"
-HOMEPAGE="
- https://pypi.org/project/ruamel.yaml/
- https://sourceforge.net/projects/ruamel-yaml/
-"
-# PyPI tarballs do not include tests
-SRC_URI="mirror://sourceforge/ruamel-dl-tagged-releases/${MY_P}.tar.xz"
-S="${WORKDIR}"/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv sparc x86"
-
-RDEPEND="
- dev-python/ruamel-yaml-clib[${PYTHON_USEDEP}]
- !dev-python/namespace-ruamel
-"
-BDEPEND="
- test? (
- dev-python/ruamel-std-pathlib[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- _test/test_deprecation.py::test_collections_deprecation
- )
- local EPYTEST_IGNORE=(
- # Old PyYAML tests from lib/ require special set-up and are
- # invoked indirectly via test_z_olddata, tell pytest itself
- # to leave the subdir alone.
- _test/lib/
- )
-
- # this is needed to keep the tests working while
- # dev-python/namespace-ruamel is still installed
- distutils_write_namespace ruamel
- epytest
-}
diff --git a/dev-python/ruamel-yaml/ruamel-yaml-0.18.6.ebuild b/dev-python/ruamel-yaml/ruamel-yaml-0.18.6.ebuild
new file mode 100644
index 000000000000..e848f1ae9cf9
--- /dev/null
+++ b/dev-python/ruamel-yaml/ruamel-yaml-0.18.6.ebuild
@@ -0,0 +1,53 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P="${P/-/.}"
+DESCRIPTION="YAML parser/emitter that supports roundtrip comment preservation"
+HOMEPAGE="
+ https://pypi.org/project/ruamel.yaml/
+ https://sourceforge.net/projects/ruamel-yaml/
+"
+# PyPI tarballs do not include tests
+SRC_URI="https://downloads.sourceforge.net/ruamel-dl-tagged-releases/${MY_P}.tar.xz"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/ruamel-yaml-clib[${PYTHON_USEDEP}]
+ !dev-python/namespace-ruamel
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
+ _test/test_deprecation.py::test_collections_deprecation
+ )
+ local EPYTEST_IGNORE=(
+ # Old PyYAML tests from lib/ require special set-up and are
+ # invoked indirectly via test_z_olddata, tell pytest itself
+ # to leave the subdir alone.
+ _test/lib/
+ )
+
+ # this is needed to keep the tests working while
+ # dev-python/namespace-ruamel is still installed
+ distutils_write_namespace ruamel
+ epytest
+}
diff --git a/dev-python/rustworkx/Manifest b/dev-python/rustworkx/Manifest
index 98bbd334d427..a65f00e00bb9 100644
--- a/dev-python/rustworkx/Manifest
+++ b/dev-python/rustworkx/Manifest
@@ -1,84 +1,153 @@
-DIST ahash-0.7.6.crate 38030 BLAKE2B aca3661477fcd7822d6d10970151e05c28e1615f8cd7ddaac064b15102027e404b19b0f3f16dd76145048594ea1c22ae27dd08cc05c411efbae9ec7a1ef55ce9 SHA512 61354688b6fb096359faefb6f34be958cd2215d56b88c22c737d24183eaad433f811bc9e64f927e4852c87d2799c22fda82b55cfbef2ed6357ff74f0c4ffec68
-DIST ahash-0.8.0.crate 39776 BLAKE2B 577f82ca509d5c04e25d8dbf1d0929a2d4ffd9314b13eca4f05229cdf62f678a8284bc3cc422776bb0bec8a6db6178b5e8f7f7430043ca6fed9593ea34710272 SHA512 97f85602b516ddc30509ec16402f7e83065034c93224b4421b53fc3ff03301b59c2548608bfcd5147f04d5100d491c0f8c5c38361a7d6684c79a4d7e029ba826
+DIST ahash-0.8.11.crate 43607 BLAKE2B 7dff8e41798ba25df8c4827ff414a182bb25da4825f0119a74916fe775db5445b87be8fc87f7c7f98d3b5053e1d47546f98873de1a942d36e5f308a3fb7dd620 SHA512 47d211b2422de0b381dfe32229faa346406eb7a22dff867dc04c22389609a8671ce3218e662000c49891a06c259d82e0ff4413740f007729d80e097a6c3f0d9d
+DIST ahash-0.8.6.crate 42780 BLAKE2B ce2fb8201a484715d42bbd9ca1bfe2d5f541d90e3619ebd437c34a018920b679d5a11f9e96be48fbdabd2e98a379c0395d118616f21eb9004724d8fcb04b2b2b SHA512 46428b27e96be1f30058b9383a94988beeb5064dfb4df04d6959b451d0c77ef69fc51f07fdf9511ab9728295eb6beee7783c31a2297f9e473fc537883e722b73
DIST alga-0.9.3.crate 37838 BLAKE2B cd5e31d9445c5a1e4b4f86f333843bccb5600416b43f5ff5e90540e0ddbe72fde1aadb0a7da81aaaaaa1537a2ca865e262ee828386192c20f66ec28e3e04c6f7 SHA512 dbfbdd98b4fc382e98efd0a63b28fa8591c6c882ad238ea376640ac3362003de0c6fa7997e4001f248710426b330fca735515c3827e7eeb064bdf470aef9086c
+DIST allocator-api2-0.2.16.crate 59025 BLAKE2B fda69b52435a7243eb19bc55914a1961e59dbad5ac12c40db39cccdf7a99c742da59c3ef160350808698db24b91e0ce655cd1acedbbcbe20c717604aae23ea5e SHA512 e1eb0df6b44b62115795ebf772f81e9ac0b6d273afd81659dbddb7eb6628b6e5ef6a60ea21413e79ee638afb72e6872ba83a075f6324daf93f2f1eda48daff2f
+DIST allocator-api2-0.2.18.crate 62504 BLAKE2B 8152c5a611be91ba23b1e8647511e21f48e7d4f1a7b9a828083f5bb8747cdc92aee66f73251b19195bbdc1f65aad992632e820d86cbeff287d598257ae3628a6 SHA512 5e5b0e23e1f5b259e5d3746e3e05817af8dee95af7105ea775a5c1d69b4e537a4d6a25e2c1d46ab83e2385217b158f7940dc1315ae581c35ee23289647105e73
DIST approx-0.3.2.crate 14288 BLAKE2B 601eb7b83c6f0e41a4d64db5669b7058b4038319414bde74761f0b1584baf8426f9735cd0076d1dde829a056a07e8f820d85737e5b1bf371d9510551c367025c SHA512 3853684c3b1c5c63204304f2e4f1c673b92311125c1df0fc16e96bd6f765e8266079e8d4ec3c85fad933361638c7515d5be18a2fc551353c4097051d0bd96ae3
DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST autocfg-1.2.0.crate 14808 BLAKE2B 122327d6ffd32e08dc9fbdb4dcf69128b19d56280f9d934311b946741003b40571cdd1f3ef54b2be02c8dc505aea11c962b244d33a92206bf4ee8f6b2b9da432 SHA512 66cbfd13e33b36284cf4c74c8d654f93adcc45893d127d9aaa4c1d183e47336096e72d74e7c17dd481fb7a98931ab6cfec7e4d4165cfb491861d4e3ffe2416fc
+DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST bitflags-2.6.0.crate 45357 BLAKE2B 3a368bd2eb58c095b7b4a46680cc2d90a28e24b2e37c854bbf8647c861c4b8fb37eca827599673c5c7df763048149dd82123d1ede1f8a0e58a6bc23c8250f7e6 SHA512 f9bb3c48931ed7e7e05ec6d13305af5da6b6c18861ff307d7dc17c658f63972c87b70b0527287b3625c8592befc207cfe15550654995faf3862bb12a6d95bacf
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST crossbeam-channel-0.5.6.crate 90292 BLAKE2B 7da87ab15c384754d2493dd1a30e83550cd4b2b749b7f0c24de131f054e3a2e521e1bb4ba10094378c8f4c7bdf19218e35b10562c50b4ad1d2871bf6f821e488 SHA512 de6a42ffede95750a13e3b9af6ab26cbc498125860cd8e4d227c7361bd831e558254a48bdef5cf901585a915003071b0efa321f2011f282218c364780f62f44a
-DIST crossbeam-deque-0.8.2.crate 21237 BLAKE2B f00948fe90806fcbf1585c0404250dc84bca2cf27733bf7f2a0aa957e618f916162f41124333329a5b1e84909cbae3d93fb3b4461ab23e9dd97672c7d520d5b7 SHA512 a50a878d843d6eb1b5b92321ce6bfb87a23d3c16e820b1ff55472f0bd3d29b41d09ea95e1b9ccb2790f6687c043dd9ada1cd5124705e24292ccbd8fae1f243b3
-DIST crossbeam-epoch-0.9.11.crate 47900 BLAKE2B 2deb54409587df48e0686731dded6600816e4c2b82369c47fd2e00ecd59f29935cb3e7f9bf3457b99831bea088830a625370c4c07ce56cb78ccdc62a6ad7715c SHA512 3fff7ebe038993af5117460e0ff89318541afea8d16f3bb991cd37f9fabff58f1cf122a8163af03c275af4ba6802b264f516fbf12f9a9f8ec978f0f8024187a8
-DIST crossbeam-utils-0.8.12.crate 41785 BLAKE2B 486aaa80eb0fff5740690d8a63c7b41dd06c19cd141f4e12c8f133f5ffa93a121d4e24e19390851051ef07ba63480d9ce3bf751621ada3a420ab6982a0445e28 SHA512 0e1f17887615b1883c3a0c4f0fb908999d550bd0041e8333eebbe43a964838d948fc1e5892e4ebd31e59ad53e5fbb5ebf6741dc1dd8b61907429f691c84de2d2
-DIST either-1.8.0.crate 15992 BLAKE2B 5b9254d54ced1f23447cc78fca74f12085c37e3c2da441b30521819025ebb808e8cbd9cbcec811f8b3951030914c1736b8bda61744d1323af8c5b8b0a3ef3ee9 SHA512 5089b218af067b51ee39c085568a1a6f542e8f68b362207bd7126cbcd2b76783cd21cc1517a1d088ce4dad1714be03a3660f50e9498a0bb43a8676cd7ec490d2
+DIST crossbeam-deque-0.8.5.crate 21726 BLAKE2B d97b35e8e8858deaa7fa9a836e836d02914aad29e5c34ab121f52ed65e95213cb2574df82273277365889ea771f04eb40bb2439347c259979f1dd6d5e9853bcf SHA512 0f0c9745763ab156136227cf1415de514952a3f8282ffe413cc249f9f4b345b029940e6a6c87b3be8331a7c783655a35b89c7a2547360ea5ae10aa64ba7ae864
+DIST crossbeam-epoch-0.9.18.crate 46875 BLAKE2B 200c256cad6011a3a14c4664bea6b150fce72d561c4fffc387fa561b08c0480e8756bf51c14874c5fb19f427424547f72d2cd7dd6f56fb8b6666a85f8d52bfd1 SHA512 0a8a199b9d77f4e28e91fe0a0cbff7e0dec58cac283631fd972477fa912d2f6ddfddaed2c695e4978b01cb5440b702822af6333e7c3dfbcb9a2c2086999516b2
+DIST crossbeam-utils-0.8.19.crate 42328 BLAKE2B b2846f569555818fe7a3ef4aa29f68c638f933ee0251713c2c92624bee5f8013def5527027022963f572815991abb98d5e68d0fa00f478b2762133f84ffc84c0 SHA512 6e742fbb0d2a6371db87e81f8ac583259530a288237d0e8347394581c60004703a822318ec945936c410bb44001b115d8d986bb264e5b2d8091bb63a8edd93a9
+DIST crossbeam-utils-0.8.20.crate 42487 BLAKE2B b50da06721cfbfff07825574feada8a28d3814edb218434288683eec31bddabe2ffbf7e5ef1281ee14a8a77c56db3b66f3c5ceabaea9c72317c1bd2cecda0c26 SHA512 7175eadf9fa7c526fa11ff87e40ff203f0e7a4bcec15cb972f924f3c7ff7cc20b6e2e8dbbc1ede142a0207cd2baa4f446deb25d825d28a54cbd25c263701bfaa
+DIST either-1.10.0.crate 18334 BLAKE2B ac5d81e0822132846e29f8959671b14ac6047330d54020ea7d4ad790ef985ecb4ddcb96ec7e327b1a66b9c89d37b112dae33c9ac35232c136f60ad9baab7d5a2 SHA512 2de38a37b7f3e61effa89648acadbf220eacfda1ca7c82fb77484e45577769b724f7dbaa297e73e3d355d6b1bd5109373c3e96e4c1a13a918176162b33ea2432
+DIST either-1.13.0.crate 19169 BLAKE2B d6223c76421babf163a694aa513fe07adcf4cea329872c02f5af5956e89b2c353a899f5708e5a2924e5a92d871ba748490350ba30c17dcd78dd4379e229f6e11 SHA512 72e803079bae621d282136ab1e423ba71415bf12038b6f386f294cae68a67ad9ff16e4fdf4344eb3fee4418e853f9cac344c248f6befa3006d1c954668b36322
+DIST either-1.9.0.crate 16660 BLAKE2B ad61038bfacb16f678fff5dd9ccf8f345e1bef18bd7aa0aa9c99d44abf8428939362f32fc8dbb1b60ac56016e0096201071d0bf8c0431b660605d0dfa97da466 SHA512 4978d50842386f51e31a47ad037d5e491106a668bc701bb833e6ec3998afe3ebd80efddc47756b2f300f534b39b26fc01386dc878d3b02cc8c1fec6a474c2177
+DIST equivalent-1.0.1.crate 6615 BLAKE2B 302d78069d9df05e78b53f0488a9e4eb98fa2bc1e21893dc8a0acf2234347ba7c4df4b9d6b380ae77d8ffb1074b9c790460fe2dae47318aa1c4fe4208244540a SHA512 b2bc60e804c1b02c461dcefcfd60fc37145af710d183ebe65f9a4d63f2b2072d23193f98dc550a9213c7fdc6a2a837af23b04a89294ebbb681a4aaf5d5031140
DIST fixedbitset-0.4.2.crate 15954 BLAKE2B 91270883db5ad0e999ebbca1123d8729d3040eb936034ab8da3cda72a830e45fcb977b3fe3c2b94e870c1fbc366ee8602357bb77e8b9a40cc41a04afad1b266b SHA512 57c5d756b0a202b2506270f0d5e890f7617a1e0c015b6059ea23fab49cf7af47fd06927eb56feb03b37cb2b6c467e326b3f0da1e32cfcb6339cf11a130a3ccab
-DIST getrandom-0.2.8.crate 30553 BLAKE2B 30211bc6a8ceb5ba765cbf068405cfc08842b2521c5850647971f4cb4bc9a5b0a9195ccfbc1461de019eeb7744ee69f934922ff21677259d7b815800516df4dc SHA512 cd7aea29f79a33a0de2a52a0a82f2b57ea8f27908ccfe00a5f42248766df88b225023603ec56d6fc634ef9c1eb67ad0135c90d4c695f6f659db0767e7fda44c5
+DIST getrandom-0.2.12.crate 36163 BLAKE2B 0afef8504932ea0ea051cde1d14bd5b79edde68d6ebae6fe88fa4aaa532605a16f466d0d9c0d0aa619eaa105600b6d5ee4e191865a3fa041549a78f78ca82396 SHA512 dd97d7dae1a7ba653abdaf2db719e1a9c8eb721b08b4af0f1c45b1ed5079069d1b57e4f6d9d879e7fae3a890763f4b6aea9bc2d945392b98e811e7b348589bee
+DIST getrandom-0.2.15.crate 37163 BLAKE2B 7d534e799a4711d01c6553b8c9422dbf01e384a850fb0f7cd76e444628f2b96d28d0f5e8dae042f8081a2bf9340f57c558be50a6f22ed5fa6b0301a15898fb35 SHA512 04789a53d3f4a84862e1e8b2113641af67e471b468de1222470d5e6cef0015232463a2cf3c3518dc2a533b3983b175a7c8922da00665bcf71c1e4e279b67e6fb
DIST hashbrown-0.12.3.crate 102968 BLAKE2B 492072f27eaec45abd2c5d7405c614c0c6a8221425e901bb6174bfa1688ee524408a618650126d6c683b7285b9bf0a21dcdbff7347e4d8f97bf7111defa1b7e5 SHA512 b3700fcd659a21a6b9b3777c18b37a83bf25542b4e8f2b963779a122f5d22e1742c064cfc03e649583e7dd5c6e90ca8407f8c51a0e8755f6a108682853022f76
-DIST hermit-abi-0.1.19.crate 9979 BLAKE2B 801e8052b85341cca388ada9db4b06bb1bd7b64474185b2ad06c0256b9e597639bd3dd4ba0053ea010f922e53969a4ab47b90d451fd9b94c8f2324055d151ea1 SHA512 1c877fcd562b15d2de9c151fd6c5f3ea4bf48abcb799e6139a180ffad5d64b632f0000d5707bbd92ff23a0e5f349157b9e0f5be8b50f03680b0fa47315dbb78a
+DIST hashbrown-0.14.3.crate 141425 BLAKE2B 23c63a99c6c6b7a6b9b9e8bbbc7f1e342e1eb9d7582fc9eb408d3eec50c99f34502d450170bcfef4da7f2b1e743e1d1619875ec879e4753dffcb84f3c10dc3b2 SHA512 4d344e5c89ce58e04668b80ef10e4e110a3a5daf4d610c52d980577795d0e2050c7d0b151d8ba97128117665e27b92ab0300f85b88bd6e1de943c62d49249356
+DIST hashbrown-0.14.5.crate 141498 BLAKE2B 7d7f31b6377c901de12f78f0004a347e3e3b948b1336a54b6abd8dd2210db0ac415efcdded421a00723f16563a7b833b5d1db3cad5c12cac916e273bf3e588b3 SHA512 215ea860bd3de80e2dd2d4647c9dd31c0ac895ea7c08b87256dc11d36407e412ffefaebc6cdbec024057dd4f24b3762b4fe427be307e15d1e68ccfde89a99742
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST hermit-abi-0.3.4.crate 14445 BLAKE2B 4dd00ad81a5ba9f94e6658c2964ae7983990c9e7df228cb92039964bc5fec537802ef221812adac53b2adac345df84179c03fc982b3c90bd097175fa5f8c4a49 SHA512 61c2d4aa1f5edc1a51e1e6c07cd360b88db1ef7302b583ea9b97ce62d1020b8864e7bbe4b5d7de82760cc319c15c7cf75509fcd536ad5913f50046de662eeea4
+DIST hermit-abi-0.3.9.crate 16165 BLAKE2B b779f005bd4cb9ba9abe401a0a559a5bbcc44726ac37f53e9c8d1f7218389ec8b48f74d14666261bc4fba4fbe5558cfefae873c49a2312c8c8bd4010b8344064 SHA512 f3a5a51d834a6ad55480b53f7e9cdc73a512ab0cc6c246a6ab1e8bf8f9851a0c8a55982f5bba6cb57b5a03b54870e73b0bab0a79195764c308318394a3ea8045
DIST indexmap-1.9.3.crate 54653 BLAKE2B 7bc1768589e74020dc15d3dd064009edaaef39b7aeb682d0ca8e49944e3f020b9c04d64feb102e88b22feb40863479dfaf4722d6a77b5d19e7ca553f4bf64c1b SHA512 2aa8069eb07a814c8fa3e11296c9f032ef60963520d7786ad20cca5cb7e73b8f76d97722a994d65295bb713020aadce5008cd3df5e99d8bd968ef1979f910a37
-DIST indoc-1.0.7.crate 13716 BLAKE2B fe515fcf534a552feba188aea5d5da0febc123db24485eb887a3431592780fd468f6409167457c68a7ef6368fcad71c14fcd7922bf2de29794a341d7d4cbbf0b SHA512 b60e534953d600bc2de3d6951f9da67ca3ab3c78fdce3e9c5f91e544ca848aef0c22c35a26fe7a39c07bd916a79fdf496269fecfa5491a58e178f37b2965b348
+DIST indexmap-2.1.0.crate 68224 BLAKE2B 9d833570cbb63ecae138ca234b998bd0e5b11b1a7e3d5ef4a21212bb32d0998395f1fc609f66860bdbab198081687630f583f5a2e495fac1afa40ff48bee8a0f SHA512 9d303eef918b9264b9fe326cc1d71f4095f7ed5639ed8696efa3e9be65dff2c50ada4495409e109e7718997db51ae1fd865cf8e88978107d7823faba14380600
+DIST indexmap-2.2.6.crate 82420 BLAKE2B fac5cf6339dc3c0a40b100035a5c874cc7b2efeafeb31c51488d25156e392dc9db86a497e76eead351d2126f69d060422faa9c55d73407a0de9f5be18d234123 SHA512 53211c4a9003d751feb6dcdf1a76495764cbf32d24bbfe2be7023946622ef4f2b07a6de57109e5d24ee01892f4b2be0e0692e10cd31fd39c4ffdff4d37abe9ea
+DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
+DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
DIST itertools-0.10.5.crate 115354 BLAKE2B f24734bdfedf1dba48554e39b43669efcd4a43656eeb2c511096060daeaf049e1ad3eab232e757057750ce94aabad9fc8a0cf29a997edc6c4b167301c3443391 SHA512 d03c3cfba9841776913bbb6daad0c8945830c155f32ae4b48872e0f937c75a443f0ac9a0355f43b359ff75232f38b15f4f6d446b4be30b00b4209cf66ef770c3
-DIST itoa-1.0.4.crate 10601 BLAKE2B 95545252eaabc3114323a44c8b8ea12a91568d9fc8d26ccb3bdd798ac0e04d9a6a9307927c17558f1284fa5491464cfceba2f0b880d00673449b94c0fb783150 SHA512 a70bb6fbdbcab27fbb5a84041bcbad8e0c8fda58d55ca7ac757f7be5cd373101be40df99e9acd6ae49e637e40de037c6bc59560f96c9adeccb2b2e0bf6531e42
-DIST libc-0.2.137.crate 606185 BLAKE2B 6724b7ddc2460fef1d0f20efee8726162d904b92987f9de2d3dda06c9cd49124c9fa43a9b39e84d78c03d217ed8ffd30e0dc55a4eb31970413d56fd58ea00adb SHA512 1ef979dc59a7ec4aad7229ec5b40be0ec9a8496c7a2177d325db62f3eab00d72c8d2277d517c0093e0750de12fbb4e45b67133604afeef9153b8e1d4aa0baac4
-DIST libm-0.2.7.crate 115688 BLAKE2B e180347d10847c40a88e43d321e08561df053e6fea0cea2cac480c4162c2f31d8697b4572a384edae323d43781d3c6462b2d77220dd71b2fd0da3a2757487db1 SHA512 b7adbf657be812451fc50cd5e5f92b7a71d43b4e48761bd2738d65498c9abad851f8e86d3be06ae75cf39c7798c23cafe767bc5fd40f596774e858f69fcb46d9
-DIST lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990
-DIST matrixmultiply-0.3.2.crate 49247 BLAKE2B 7f7eff4e0c7b71d942319caab54df7b75e3bb6e6fc7c224312da0a607c78894010b870a5649b7ce20767f622b64141752c55d3ab77cb0a394295041cb2e2a73a SHA512 9a6203c0f604474007b2d28b4db5b83282315de39c775cedefe1c1793ed8b48e83ad01c21669076a77bc28a75eeb847defbcd662239854e8e32acf71bbc800bc
-DIST memchr-2.5.0.crate 65812 BLAKE2B 57966413a1f933dcb2d2d4ccb29c247070f65a83299b2a9f5aa83f5a48a5c5f1c4c7c632fa63bd19f9508e9291e7258db2f16e2813a56fd84e0856f70f1e67ab SHA512 444a163b484c233e78c0e2e4d51f01ce2da93d7d29f516a95e4b0866b20bdfd3f34137653abed53eb70387991ee3e2b5937d8d4360a85bbcb50a93005a75defa
-DIST memoffset-0.6.5.crate 7686 BLAKE2B 9a797388702389076c426052c3d54dc62802d5db8bc5c9c83990429f2ffaec4fab4c7dd3f09cd0704d1ea555e87976563bb43408ba54b5e66ce7e406d4604009 SHA512 11bdd9185b99dfee8e659e051b09ee301c7142a372a8117864745a5085c015436d2efbb1478192886f09cbc562529e209d2e3325d94938a64bc75b1d91d2bf3f
+DIST itertools-0.11.0.crate 125074 BLAKE2B 8e686f176764e92e4da3697eb781e1bc30d6c57ac61d97343b4fc3a48e4febf669d5771fa8620005c620cce52c236760ee2e1bc344cf602e878bc168a2e69cab SHA512 8ece00ba0a7cf481ad4586da24385a6f0b1719b9c3f0c25b9b5b373dd1a0ca7b9687a77cd179853392890b7bf4d31e0356a4e5fd540465b4ac62bd74ef717fd8
+DIST itoa-1.0.10.crate 10534 BLAKE2B 8ffcb345d07070cc01651fd44c19f3e0659185eda733c407fd4be0955a301879ae1272dae7f425279dae8dcb7f7dc954465c9a09b5c521938a503d34fecfe2a7 SHA512 fc496be0873e31afa6ddf7f2958030f8fcb517cadb86a48280a0c50ce50460afda189af1e6c26e5ff6f85c750d772c21503864c32b526c4fe4bcdb5b07918538
+DIST itoa-1.0.11.crate 10563 BLAKE2B 94da07e0f7f2535d0b1491b3a3c64905274b315ffd35ec8e9a3e36e26cd7211733b462eefb5208963e388345f65be9694804c344a6132b2b595b0bc716c0b328 SHA512 7e22dffac34c9c9f432daef395e0ec710ed658164bc9cd9fc6445c9f984c912a10bac556214a026bcddbe27a3197b35b0c87d6709fd605062637d086b2d20311
+DIST libc-0.2.152.crate 740278 BLAKE2B 8eecde477063207d77b6894d6f9194c8dd10e55b69585e3d66296eaa0b9d3f6e2d033e667207182bf4c3cf31f6d38820c9187b2006f4b5ebee898adafb4b2751 SHA512 1722f6f52077efab90026aae3d10306f8c38ebba95366593c3c1adf707fae121ab450064ad9e8be5a667caf6af0b90fad4d1ca1009db0f2220093c44e33c4b5c
+DIST libc-0.2.153.crate 740614 BLAKE2B 523a41bc8cff4ebcba0edbbe9e6a2286ec7cb3ba5e90ca5926c972b68e4b34188bc077d20c22376238c3cd91b7455898a95c505ace4ededea88cc496edb4c5a7 SHA512 3f99e3a192974fffdc053ef21e9ad5fb54b7cdbd4755df176704a95dba38047138ccab76763e89c6b565f37f98fd549fe368749f84f6d1638b3209cb07eae9b4
+DIST libc-0.2.155.crate 743539 BLAKE2B 42cdcf8d4a187383548b1f09d404474f168916d626d614463fe10a1fd886e972e1caf6297e75445214af3f31fe631d0927e54ec1cdc63e20082b3587e38dce16 SHA512 05354bba532b8338bda1f88f12c7f3893429734a06e33925fca2b99d49548ae5216e2cd84e782d2368a2dfef20b0e035e2dcad8dd13ede7119462a8c639b2807
+DIST libm-0.2.8.crate 113450 BLAKE2B fc4a55ecc0d4a558b9014b58861341887679c696af6b6539c7cdb70c033c63219b24f6f30cb8d9b335d15e3af42be6f3a6bd719e189667ca0c43ac818730b674 SHA512 753df71bb2c838abbac360db2e4400c2d931185ecff993da51a979870f2c3f7ac017380fadee4622102fb4b37ebcc1960b0cbd295afc9cd1cb3307524e1f39c5
+DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3
+DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7
+DIST matrixmultiply-0.3.8.crate 57530 BLAKE2B 3a97130168de9dd18fcc0ed33df126f25f47a919e9f74289f809f33c2a290bc41626a743e6c446d3ed0a22fb5eecadbf29c11082704970ba9e465fdc5ce18332 SHA512 c2d31d5764cdec868fddf018b3e51b936e8bb18b131bb9899a5747ad5a4cbe892c0d62265f99077137308ea11f32254c8a8b64da07855a6c38756df42d76e5f3
+DIST memchr-2.7.1.crate 96307 BLAKE2B f1a008fbdbfe84852a8ae1d9d9574306b1bf120dd5087903adbcca6af342c9abbb296496eb9bf6cb58915c4444b3edd6ca4e27131ac7d8aed8849815df87a944 SHA512 5120496faa31fc427c8b4178461a262b3a34d70eddb7ad17a19d6db8b9969c9e113d3625b5e6dc677087fc80907377b00ba0421aba9a92cf73ca2849d932f473
+DIST memchr-2.7.2.crate 96220 BLAKE2B 2399064b6db21838d4aa0b25ed0bf04940ee3820741658cc6bf62e5ade08f41320df743ff13f99b2781da7b844e18deb1cfe25fe570f0e93f98ff03ca5d442e3 SHA512 cadcb4239c7f3aaab042592c5186770a225621e32f8583052fd3dbebb4a6d9b99be28f589b39b5ca36cb2d56fb3709e7d4ba91838ebb882e28e51280c02bbc40
+DIST memchr-2.7.4.crate 96670 BLAKE2B da38114beca670467c3e1fbf4e415af6f22d52e3223715d52e181babb89b872b46511563985bcc16d7ff4e82f812c6e83ad904b0fe2501b14445119dfa8240e6 SHA512 8d0e8b9c30208897d4b1b920f1bdcccd0c2b75d92a06abe4a1b2407938768abb6487d63de56c6a80419798fe69517210643dfaf11f5f5540185f0eccf220adb2
DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
DIST ndarray-0.15.6.crate 275225 BLAKE2B f17e028e7d57670f136d777dc2bb720dd52bc3d9fdbc0e2de5f5c2fcd9f6310f0bc39299fadbb53e0d1588e1e64d9f2b5daf20e30dd95517bbfa597b9572581f SHA512 19037ba1de0ea5f8e0cba5d8735d6192c1674007529289a357e9c5e036a1af88b48ba8a26b4929663403159f6700bd00d04becd9b1fdd4c07990bbeddfc20ead
DIST ndarray-stats-0.5.1.crate 51483 BLAKE2B 3003fbf3e91512f73e0305f615fda68270ddbd5ab588ed0a3baf95cb039ec5a0c2aa8cde1cc8288cb42d85a2737821d98d4427b5a95db8a9048e486880799b1b SHA512 2f0cef07b6c82a958a9e95da83f7a6cd9394e501138877ca9625d212b4c9393f94770945d6aedb3f53cef103563b0cc8399a2e713be2ef245563eaaf2cc4ceb9
DIST noisy_float-0.2.0.crate 15564 BLAKE2B 12708b3af27234d16447ec2ac882ae0b8d31d01d9b25165206a1c289d0d5b514f659c380ca73ab08f6e236e62e844c70fc51fc0e3e7a629749e98e6ad09fc388 SHA512 98e7914d37e9c170753e999e349eb50603c4df5f9abc0c9803c150604e05848be24af318ca0370cc4902250aad2641b1393f2e75da15bf581737e44d3719cd38
-DIST num-bigint-0.4.3.crate 97799 BLAKE2B afe9a08bf20dc974dcea12b5f9dd465e8b399a0cb0a6d0028d08f7f753aa4dfc929710e4dae883e67633d9dda073f995287e5315b1487e8f99f8f23f1f70e581 SHA512 4b38eaa8b51119dbc7cd8a1e177f37ec935ee348b693a93378742e9bfa68fe5f7e5062b7f34638283c23f04d2127451d796d310cd8adb64dc8e865b28708374f
+DIST num-bigint-0.4.4.crate 99369 BLAKE2B 09a44754e3a3d4f949b3714d96ddd7f3915164d611036675e3df421d6c0863e368eb0180978a4ec27fbfff529b4999d2593e411903516670c24c08fbed6a79de SHA512 0dcef3344a933509fdfe87d6adb0bb1bf67af3c692ccaeec5663a8f18ad0a251199ef9c7a24c25b95d1b255b413947e70f0a205669d549b13e54b6f4864ab3b5
+DIST num-bigint-0.4.5.crate 102281 BLAKE2B a25880f907caeb948d0a8619180be7e1e66d0644819a842fd1413a1ecc8d7cd873b4a55a684e8a98f6bc1b74612e20d3d01389c6753389cd9f4cf7f754125fdd SHA512 0d3b1da7f37a441cae0bc276b5b9b8aaad2f5a7ddc3a1c9b6c6e09be70147f7430604c74c57a79dce12d32c242393c8031ec7bbe9b1cc6fb6e496d6fd151474e
+DIST num-bigint-0.4.6.crate 102801 BLAKE2B 0460e7dfdbd44b6c68fc8ead6bff4353e549127158dab8bb5d217ee33104fe9ad5f58b63a01d56fffa8d7c4df1a87dcf5b536e436a0ef98dc4418a4690c4cc15 SHA512 19d14a7755de2b559026547d9e3e1775e636781bdfdd418f2e1d962c51411a0973a46d84d0356e30c0f708a7c7b2097926611960043f71391919cab1aeb6aa04
DIST num-complex-0.2.4.crate 24679 BLAKE2B 175ee644720b6bbff108eb4ef94d0fea8f340533c2be0e18524e54777734d1c7dc10a7c36b1f2ca3f032ddcb3dc351e60564340aa59b29aa4fa7ecb2487314c4 SHA512 53be64d6f67b1ff7d0a4e1723ae21035abfd300ab27bed0976e0c3903fe8e29f47ffe75040832ee2f81da5c2f4f671d3d845d308365b9a5a989ace99a7d463ea
-DIST num-complex-0.4.3.crate 29523 BLAKE2B 7f6af07ca78b00ba21f04931c473b2b725c61c78bb74b3bcef7b10a0fb00353c06283da02c056fa8cd4f9949476392054dda56ddacd330abc2d1aea3317e9ebe SHA512 64f1e6ee49f162a190b9aaccdebdf5d4f1712645eebda7877437f58859c5d8d4cfd10b67a39098dc964f9c842909b10e222aa8a2159575a7bb19352f753d3d99
+DIST num-complex-0.4.4.crate 29564 BLAKE2B 8ae65e8f2d87de96ec0a3d0e6d580584aff8cfbd0ebe56272dcf7cc5eea1b545fb9d597cbe4b1e25562b99a217a03ceef60e6cbda47c1e8cbd29b38d16cbe428 SHA512 632f9486df426d9254d2b6484c560b31e4ac0270de85878b9c4d14339a05ab318a90019f0724d2fac4d8496b03680650f899cedb1741c58eb7536cf3732db600
+DIST num-complex-0.4.6.crate 30352 BLAKE2B b9f0465d53e8e16edc44187f8efa40681377e75fc4bbaec2c9fd8b8f5384044c3a989106ed3cdb740cb86e19659b34e4b38e7cfd7bb01904e137ddeda3d0b6b5 SHA512 11ca2c28ffbd15aacb7e184b7f3e09cbec9c955738568c1e0760c256c72b230cae7152403d834c8ed9358e42b724269e99313dde9a23027a6963ca176ca45615
DIST num-integer-0.1.45.crate 22529 BLAKE2B 4da3e801f71ba8f92c692497e200bfc8d32183c94eaad91260683b09f4697c03175fec7cff5a9ff3782d5db5d514d74f22f7a61a102c0f0d2e67a7a4b4f29222 SHA512 731bdc09c3af7f9d8b171041f2957aa60facef93b06886000d8ba60d410aabbbee358d700bf31b2588b2e077464f290f24a0b712df7bb7f12972675b6c9bd735
-DIST num-traits-0.2.16.crate 50130 BLAKE2B 1101d28cb4dce477657684a068792b94c7008a965e655edbabfeff51cbe6f008450dc6d7e4fc5dc4fe9c3ee8623ed77a7bde83ce2f68e75d618295fe6cebe0a8 SHA512 2ef65e2f6275b1000f611cc4d019b2f4846a8964b54d9b96462da10e3ac9edbf3d1de82e40094c76f7f5205740361b0eb0ced414bcddbaba5955144f728c6f94
-DIST num_cpus-1.13.1.crate 14752 BLAKE2B 27490aeee349d944c29e50b44e9a84371030459353a9316ffaa0245ce499df4424e39c25a81be59cd0f9a19c3214c78bdc7a84b632059282be476d8f918c44d6 SHA512 91ffe0ec792228621d6c2d5cc544ef4744203d19fc9c86e0aad2610038c43aca0448b6c27d82979417a0f6c939ea73523303a44c28df0d1c1b8d09814d5306d9
-DIST numpy-0.19.0.crate 66304 BLAKE2B 1ea519b4a34e184b49f2c08388ef4d47a0b081bf199eaea0de3e9daaa3d89f0584a4005f7ee9a0a85b5fcc1b16f1271cf779bc1492173907c2069c2c891e8ff4 SHA512 fe6d1ec55c5e88afa82407351502558a516c7e12bd799001a7f0624a385f6ee4d109d7688df30e8502240d22a75eb9976aaa3ecd209209d04a6960f3481441a6
-DIST once_cell-1.15.0.crate 31460 BLAKE2B ae4481883865abe6a684d63520fb2e91b64d6ccdd0374464200015640122bd68b8a769309773226c8a31d0119f450ee821a2bd35c346fd86adb4474ea7c28fcf SHA512 934a7c3631e9ca4fa78d9577b6672ca0b2f926a8d6c3be9542b906c5968033446f98f76ae6f368a1a5b92ab9064c31a57d74ab6d2097108029a7ea951541ff7e
+DIST num-integer-0.1.46.crate 22331 BLAKE2B d88c9f84e5d803a3aa8f44dfc1bd6d9b5e336e7cbf47231cb3a7de30dfe263c41c62c586d31f0029459c8c240475cd329b3fce79f355be7643bdccf8d56dcbba SHA512 e27986d91f6c6dc3d5a0900defe28ab5f47905cde3f84d0914b7acee076dca8fec6fdb7b631ac94d3a31eb01ecbc5854e51afc3187cd1abfa21e1bfafdc700ae
+DIST num-traits-0.2.17.crate 50190 BLAKE2B a549ef00c749dc7f276c4817477d1f9dab70cba01b6a3afa5743f16f16353bc50d992d7446a54859cf750a410d66c8cd3440708a6b91fd89d3b8889f8fff1668 SHA512 4d47d3e2f5a31019e038e609897cb0cef1ba061b35cee7e2a02e65179dcdd4960bd5b9bc759b5c013d699b3fbd9b014940a15e36658f7d4fd12cb0c7841c5b4e
+DIST num-traits-0.2.19.crate 51631 BLAKE2B 78637360cbf32d172510a62bd9442708af9730c0296a2bb4ebd200c08facd49bc31bf8ddd58967e0df7273a938832b620265d9f8f4d26ad16049bf6dac1cb4e5 SHA512 180018a5eceb45085e4e8d103ff21bb4d5079cea874c42a0ad4c76c99d275d434bbc1cc289f0cdec172866daa89dbfe0871410b2cc3407233fe1129786905956
+DIST num_cpus-1.16.0.crate 15713 BLAKE2B 11b432fc7c7496d48918f09ed0954e0f1d0845596301266321293b374392898853fb7c313a0b0fd9d22d9dbfe3ccc5cc1e38f38407c89b2e5906eb76caa6ad68 SHA512 a75863afc4a563e63c64d06471c7921615355d98011ea9497b1f1a7dac2bdfc876509136018e8062ac38575ccf476a196d1fd9231e09e90017333bbf2df4615d
+DIST numpy-0.20.0.crate 71258 BLAKE2B b6e50e0d40ce11ade5298324b51f3204029cea0988264abef819b2cfcc8eefacba5f6ded33ff2de2791eae4fbf88ea0f5e1738ee6692ddc9363488169bd16dee SHA512 bb4184d540b01d6983d05c409e8508e04735d4451e2c05f9f3578bf3a731f9065eebd6bb309955d6abef835f52756c225a4d5c19f99edfd6760a9d92f630540e
+DIST numpy-0.21.0.crate 76859 BLAKE2B 6900342fe71f557635b94a941c9dd317024047b41ee55d9fd7a3eca2401bc2734b2902999ecd2e6b3b5783ea6398674cb00e0a6173ab15fe5a4157c9de1d4987 SHA512 27cd512692d7f9188844b9a351224ca1a87f0f8d90a5d288fb1e1f62fbe66807e1cfd6529226ea1d5dc27725d1abcce6202ffbdcf25c130d3437b0cd9bc4f7e5
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
-DIST parking_lot_core-0.9.4.crate 32359 BLAKE2B 98629cee7346434103d0e9776d89d1c875c023c3fe91d47beae2f3029fe8bdcbe7dedadd262012ad9d1a1e624ffbebe6d3a9165623e40077ab9d0fa4b768cea7 SHA512 6dae00356b759ad1dd08c1edbcc3ffcc86ad412af98a5e4cdf4fc622d0feb79bdb3900c4f72e76cce803c667a6d8581b44264980816ebdc85d59ddaa881a2990
-DIST petgraph-0.6.3.crate 185740 BLAKE2B dc3d4a0c29662f761bfc107d9654619a3443b07890e0caea5851a6dfab2f071181ab94c521d641197e159098885363d7ed4e1c9c34333fd1339c7484c2237c4e SHA512 9b624ab93ebd06fcda716b1e79dd82c5594a11c71ea0ad806b6b708fee3f432ee174ac292c5af3bb0c84b411c26564ad11436624a52ac4e74ed40432778c21e8
-DIST ppv-lite86-0.2.16.crate 22245 BLAKE2B 03cba61af42dc3a78ab8f6b03d833c028b7ed737e101b1952467a1e19706bdce6c758eca4ec7d575b2f61daa47cb25fa1d74039b2adb0dbf949b66b7aff3f10a SHA512 264b916f7d1bb6f1c0c0d3cc45f40b72b638abc7174416b49241c3663fe500409509ef6c8241a24515a21a20288c2ba508035b6b37972e4ae7ad02ad19118b74
-DIST priority-queue-1.2.2.crate 32561 BLAKE2B de6259913acb70a8d160c5f866a53d5a73c8e9b1e397960f3cd5ef036b1ccd4fff567b9acdf68574f19f2b2834b6dc15185eda7e1f65081975390d553ad1e82d SHA512 94d85e015feb4349c00d0d0a8c3c28f208aec821cd29fddb2a7e63a0cc89b2b33f309a52efa797ee6b7c9355b338ac11e381d3388852548c887bda5ecbfe1ce1
-DIST proc-macro2-1.0.52.crate 42982 BLAKE2B c432e889c6d02e359863ca40d30e20b5c3567d065ea16e5963eb713ea9a02a9979ec996939efbb23aa37857ec37e6587b2519d8267a1a713d1b17fce014acca6 SHA512 76b24c82bfd37a7eed4dda59a56fa2101ec4e8d6ad726e3fdace9daa729090de2cb2bcfd4246dd691129645c613ae18c6fc448c940b459724681202f7a232f3f
-DIST pyo3-0.19.2.crate 418228 BLAKE2B ee018b33383fada78cd22643aea9231a8c8a2f19d1eb297f40eec9206c5220f322fff4c926d939a93a24ac6d231a207ebb25afcc0709191151c7ed9af7465efa SHA512 58698183e0f2f0507f8f765bf3e90185c933e78d62f0a9be65c4b1ce8eea19a98fe0341abe7c58cafdacb63a012ec417876dccb7be6facc1360fcb22796fcaf9
-DIST pyo3-build-config-0.19.2.crate 29206 BLAKE2B 5b1cd80d643e448cf8f1d28a514333526061c178121b9a0dcb5bff6082f402ecfd166536d94d42065f6dc1f108a73f12bbb78eedf9ea053a6aa2e9c80ac00ddf SHA512 ccc73061ec1989258921c5b5800689170635fa5503d74a4ac458baef903dd31efa41995d238783f1e099ece1f66d0a0e95c4fcb4b772b9f653dbb20e838b4e28
-DIST pyo3-ffi-0.19.2.crate 66500 BLAKE2B b4139fba31ef17017b6b60784e41ccda34931a072c2638af1eed8d02d7af701c46fe38b12772d2301cff41d10a433ff0f00a69d79d40233eadafe82abe585f8d SHA512 789191bca537998dd23d72dce4f185b84bbe700f4171c47de35b9bbca15a180ad214392b4f465cc1ecb0be955ebec1cf5a3c497815073be18035bd8bf8c51a32
-DIST pyo3-macros-0.19.2.crate 7173 BLAKE2B 8862f42a30929579b0b0bc2ba7f0b416518724480e197fa13288e49324e851f964183e1529b7f31bf5d4fe0ae194a412723b6b401100e66fba98bbcd9c283866 SHA512 852cc2792aa3d30d9ab8802a451be5617cae6536adced1bf0dde71704a3c7c1bfe862fba751b6d045249819a8ba5d87dfc50914d142a0b662f046498c06f8c2e
-DIST pyo3-macros-backend-0.19.2.crate 49962 BLAKE2B 9d8a032c2205f55d2431b6bbc40df153339e08479df3a8a65506ade7d1f3d17cfaf664cbd09eaec9acff3f5a248598e37427d0c5a531eaf527137803adf49834 SHA512 fd708e6fdbd54ef7c676bedc62070175bac6b8f7ae11231578196dbf552b163a8a2499a1266f786bb6bfb85517fe83610902137d59a5c42efcb1a27c4235a07e
-DIST quick-xml-0.28.2.crate 156462 BLAKE2B 45fe1846ab93fd16f9afdc60e119918b3c50b7eddddc4ff1ff14c6a767ad0b18624b1ff1a251fbc58f58c50585b875eb73f0aafcf0fe8a8ac3bb58da27c55ac0 SHA512 24913a45e962c144c82f13a6ab4877ab7c91fd51f34becc6412a47dd91e75436590a646f85c346236ed2729d480242b20781ccfdd1d42bc2a510bc883966a0a0
-DIST quote-1.0.26.crate 28397 BLAKE2B b468a5e9350843ea81e540d17c9fcb302b46fbd450e10280c5fff6fd7c98a439df8c3d3d47e551bc6d67ed02052b5b5c65d215d5ff8ee34f045747e75c1ba37e SHA512 6fcfe4d31f601aa60beb858c25df217421b0a184d185eebc7a4cb9fbf97c687992b77bebd8671a9e6193716387c3e926fed9b75a08684eb2d9a5b155fbc321a5
+DIST parking_lot-0.12.3.crate 41860 BLAKE2B d1899a1132035aaea3a784290cf4951ea3b36b2018d407e27d333b2a2ce3820e040d635009c44cb6e58ad07cec6565c0347af6f6fb02954eac2d4c348bb036f0 SHA512 368c17203fb5b9e4ecfd4857e3b1ab96b86da3770b8f21be392818c845952f72dde1072a10265760a62aa8a1dd65332bfd585667444e5fbb9dbe3280b5862703
+DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac00288b1472d784c0aa7fa2953fcf9279c750d243ce69744993ee8cbe6899633e71e0a54ffc11e39247755685107f2f8dea54 SHA512 4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389
+DIST parking_lot_core-0.9.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032
+DIST petgraph-0.6.4.crate 185895 BLAKE2B 9ddfb2796c461d2820db8227753113b02024e5dcb694a0bb2826bc1f375f028d8b98a3bd67555485db7fab88eb86043f5b768585dbe0c60703cc655976030a2c SHA512 b5a21572526387af3151dd4f864bd95c94f65eaf0612d96f99926faf646214df205bcc652b98d3b281f2e270779a4c1fdd6a32614ed60b3612e5d594b2bf3f20
+DIST petgraph-0.6.5.crate 710970 BLAKE2B 7f590e93fb44f1bfb8920e512402edc1cb087ff9d5dac7bc4be965f64ffacf9c1c503eab4156cd2005f41099f6b34f51e49b21dfa217271fcc0d4ee16ae85366 SHA512 454e9805731374abf1085f1a8a72aaed85e83cd30ab9601bcfe0e46882ba6656242284bdf32b6e75c2f5ebdd1325d5f8873d5f720aabf297822ca97311afb677
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
+DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a
+DIST priority-queue-1.3.2.crate 33905 BLAKE2B 2bd083a8ef4e6025fcd2de360a29442da3190d642a176cfec240743e060fb4c54dbc4c1e86fd10259296dbdf69accb802033594bd8aee9c664d684f6f983188c SHA512 8f0b05aabad32201b69e1c7d410df43d38ebece63c2b7c0510ae41733547f3df71cc93d100d2241453e0caa490a0b6e5f66d67a6fc05dd0463227cf8b364c7f4
+DIST priority-queue-2.0.3.crate 34752 BLAKE2B c75fd76bd3eae2f9b9dac4c3bcef12955129c6906e90e85b5113a85d2345dc3aaecbdbb64acea106f6b507aa217794e3e6d51fcb852983ba30c4967cb9c13862 SHA512 408aae316643937d1e1aa9ad2aa99a054775a1958945fdcded3cdfca4796975a5686ffec3af24bed9ab62bb3abc6bbb106d40be74846bd99192cea1fd8c2dce7
+DIST proc-macro2-1.0.78.crate 47158 BLAKE2B c56a24fce3faca9e04db7965cab552d2a976c3764df0a84179b5a89d1230ab355c777a82b4c982e3945414f1f0478473a88821dd176c32d6de394d73a26adb9a SHA512 11956fe03a2e77a925cdff2c3c8bc8804dffab4fa1de963a128fa23f4189976fd2e2102bd346b92c33524beae320b71dadaa5213695a3ec638404196e14fa769
+DIST proc-macro2-1.0.79.crate 47200 BLAKE2B fff8e514d618b8ef60d6a4ca7610607641cb25701fc5e8452e0db5f942a3c38c724acbbfb0474823fe0f4864df07958c1524383e7640105266608f1d5a741368 SHA512 8bfa6fc1022556cbabe0050a37b93c5ef1056ebda9d3dd368e705a7c695df9dfb5cd5adc18ad1eadf7338631ad1d5ed6f63f0adff3616429ef8c50a930b1838f
+DIST proc-macro2-1.0.86.crate 48958 BLAKE2B 4b89e07f23af8328dbb34fe2b3f1b202f1e6a3885a6269740a23359b41bb4099ac2484565d3b2b0936261689ca525785ac620c766997234fd8d0f409e80e5ea3 SHA512 1cdb7e22a35ae231d880c9420784c9acf97bda2db258b3d34aae5061dc1858449defe19a49e12c6a4173906aa72a4115059ac2db0fc760205fd2ab8b5b414434
+DIST pyo3-0.20.2.crate 434326 BLAKE2B 3114fd6f3fb8ae7d1b35c9d2ac5ba6a49c5ac911ee3a5b941c5063263ca7cce47fa4b4f7ec34cbfe3083f3d1303fd7f061639fba833a04fedb9d5098f5784028 SHA512 cc5151a116179157046ec92677e5a72318b4cdb13a7d7e3bb83778739b5758040e5020f667dd83554a66b758581a08f5de05eb38e7b339813cec85e0712e6355
+DIST pyo3-0.21.2.crate 504574 BLAKE2B 1b8bf374d1b61e3e4bedce6344338126051a6d951ea87d258e5ed92d4c0e13b0202f2e7e56500277c54743dd16c9b4587f436cf2058567501c8a9ac7c6b6c17a SHA512 5f88cda423e82b62698a74ceaa31fc27e5c1f1d417928accddb2e00337d163fda622f774ae6e24c1cb73c467d6b01e9a2ba866e4454338b1fbfc892ae14ffc53
+DIST pyo3-build-config-0.20.2.crate 30029 BLAKE2B 846eb95d1417a658763417a2750dca1c55201105a3978d61b1db5e3962680ede188f8285dd7deec778ea9860d43e40513b88f5a54f0b1881b08416760bdbbedf SHA512 9dbc669ec69d38716c3909fa8f3b6c5be13c717b20bfd5dd11edab59b8eb35247d7996acd260fec88f92eb3e71248c86e9b40c1a700827889e2990bba20ecddf
+DIST pyo3-build-config-0.21.2.crate 30581 BLAKE2B 993c1f7f15124336b70570ed3949cc0873c2b883e81dd3a350f347cf014fb9a82d487197fdaf475989b727b7ee8d9a5511a72422f76126b8788c4f40831baed8 SHA512 8b6bedb31235de3dd95bca6e19ea4eb7752227ceb9f1c928c4df2b277df5ee443e5c262e448012e4e54e3104213db4d745c9c42f79ab3029dee68f48ec3a2795
+DIST pyo3-ffi-0.20.2.crate 64601 BLAKE2B cf1141ad34a13dcb46de0d1e15dda192ca41a7441bfc92a9295861876dcc690d1d5d6d39dafa51cd70c4627353efa91563eaefee8c39f655d12818003f9524da SHA512 ee6386b6fdb80689d104f9cd5229f02e1893d00a52be710bd36882c47305abbe24ef2f3cdef8200fddc0bb97e29001fa3a2fd9d3d2673ecd9a104a070420d01e
+DIST pyo3-ffi-0.21.2.crate 66160 BLAKE2B 759622fa3a41bcdb48170983c4e194898415f8db16a7c57ace89a7945bd47374d9a14e5ecf24e80a178bde597cfa30d41f9e6617b458d365640bdbda048e6f6e SHA512 5cbc9dfb14569210776fd66341e77e61642a9920354251a65b91aa13a0fb1c373258d1a6b4f8feacdc4266d472193d8f20a6dd2cc180ccc3d43fb66237ae6d0d
+DIST pyo3-ffi-0.22.1-py313.patch 6315 BLAKE2B 55f9c5d45356e8c4b2a86da0f489788de576d7fb4c7b124a87d953e8d3a850fbeb05a1af8e6f34edf252aeda40445f711f4409a3a80df7442bd4676c1d8969f8 SHA512 f6e6e2498bbd8b60e013b4cb6e1f1eda764292e3cd91ba5800fe798521f462bb97f1e621711513d52c263f7b394821a710252425cfb0de0f1c4457882dd138ab
+DIST pyo3-macros-0.20.2.crate 7925 BLAKE2B 00fc60becfa39bf452786d8a612247785f1737cc3e627700d0d144ab2efaadfb34ce8a8f46e932382a1ea99caebfe1946fbc517b5c26fadb0822ecaa8b2e9df0 SHA512 dd9ea9acda95dfc53689a4c26d8c2139f8a90a05ab06737037f19b8bccd5e52b0da5f297a29194b958f5f8b59cbb566b5f409b3f17a863eddf855ecb755d2719
+DIST pyo3-macros-0.21.2.crate 7920 BLAKE2B 60ceb626fd1ffeca7e81ebc721bb4cfebd99bb708d48bbfdd296b250ed41471f82e8657715e1f58840423ac11d8c5a84a6107a7037affdea4e0c2cc561514ed7 SHA512 95335a55d57346107fdc7591d51e36aa0a985d6c44a875475a0ed52df25d33b21a7b922fdab0eed190da9708968e79f7cd50bc683b6d210eb068713a915ac7f4
+DIST pyo3-macros-backend-0.20.2.crate 49710 BLAKE2B 711b18984e61219555df4b62667f7f376951c6cb47e6dd947fc24618b923c4f4f790eb1aba1901abea4761632cdb58cfa81cce91f33586da3022e6c7d126bc9f SHA512 c6ca2a2cdae8630fba3f8e4122e81b60ef2ef0905ad2a3fbcfae134456d5ca9e73690b61590e391f3b9d82c24725809f18544c5dfa0b36ffdb1914844fe65d3a
+DIST pyo3-macros-backend-0.21.2.crate 58088 BLAKE2B 05dd49983c8aeddc47cd94f6cd58f10e41ad6f4ec57006908cde4fe3edbcf6814058d7843a88c9dbeb0824f840ad3509414c52e47fffe5ad4b730f791c9a3f19 SHA512 f8488ba0a68f1ae20d053e2323d065f03b40c24231a50b05205b100e973ae50bc7bb9c25e4d37df56f4cfa73d2001655ce9685078d1017a4a90bd7945c01b833
+DIST quick-xml-0.31.0.crate 172236 BLAKE2B b83c7f485a30576027a4ae77aa23cd6284942d786f0f0a14faafdfecff646371ba15133b3ba90f820183c8537c8ac47ad3e1e7deaad65e56761bc662be406026 SHA512 9b1f4f9c32694ccb244938a9a4e9373c3902314afb6af5d2f6b1be55e5ec63fee5cf1085f8f32161570cc10fdd96f3375c7564b1d884bb152542b86593f175de
+DIST quick-xml-0.34.0.crate 184595 BLAKE2B 5e51d79b64aadbbf23269b7a0a344e2c70465a74107bf633b258e2cc0165745d2b43132392fe97792ff15a3cd641be404c420680290fed4c1843747f77f9c2fa SHA512 d7c9e0ba651da1cdb322c10d575d9a650767c1694bea7df50b49dc98f0296a671bea2a3700ea3099dd708f0ed3f480fc921c90e86796f36afff42edafbc76a86
+DIST quote-1.0.35.crate 28136 BLAKE2B 81424245e1e2b94459df68bb3a9a866c6a364102b5e1d010ede9c5f8278f8406d7b651957d091c5914e936b494b0f6e9a6a1dd8b7d35cd7d7100f86dee4ec12e SHA512 f5314fb6af17cf36c228e1970c569c29ec248954a450a5f90ba9e2896d04f74904c9cec5a1f74325f2489295a94491eee4ce8fb461e22cd4b34e53f1f881efd2
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
DIST rand-0.8.5.crate 87113 BLAKE2B 516f26bb2a969d0d79e957818133f35d2c0b4d9f1b401098ea23c5b80d27599e842b9298c0c5e46e2a6cb6953857bf8a9fb71ec9366c5ce6708cf17df14f179c SHA512 8b33a8988906ba5e2057a9a84bdd11f867a5536c22f5056eec59ed4ec4e3a6da2fd773da4c0510d343762e5a4ea0f007db4c4a7cef87a47f90e36c1a84d86fb2
DIST rand_chacha-0.3.1.crate 15251 BLAKE2B 645771b2c3e274f085e0837a20306b1d59f6e9032fba8eb38a6d1b30180d15e2f89ffa2a162bf6358da41e030098242d81e71dab4321980d0a4f6ddfc2974ce3 SHA512 8198c580b1b9b0429758ffa49cd8138fa3ce724f0dcf73c767ea7e55611d6a2e4c7cad9950896510def500ce4062b594386c947ac3d89425b4e5c9b04d0b8075
DIST rand_core-0.6.4.crate 22666 BLAKE2B 8b6b66d50aade877f2779c006f8038db450f808c66d73d79efa66c4178dc03db06f12201bf0e7930181c4b0f4030c49b20cce6eb7839763cf2217cad9710789a SHA512 36c67eb845aa2ccca49d6d680f28d418229bbc5a050729e487fe6b9f9f384fdd7b8d67fc6508b90b79ffb3c26688e72feceb3ecae57d3d7f59338aeb62296f79
DIST rand_pcg-0.3.1.crate 11983 BLAKE2B 87c2a9d0f6fd71076280a0f6447ef2a8c9efb81567c530bc45001ed93a254dbf0d007f4d3d22355cb68dea51e82bbd78761bfb9f139a62983dda39f0432306ed SHA512 6386c23c26fb911c3b20718e31b6a2f395e3cb46b59351cbd58bbc0666f1d42c2092638360162079387e0d61f7591d01271cb50212b91db6df78a76bae239dc4
DIST rawpointer-0.2.1.crate 7490 BLAKE2B ee4542886347f2bfc7cb32cf4f7d025d35c78cb763e6d6acf2a8f85ae8d0261a2a20f86903952bd33b886dcaff789bd30c507b4e5d53c0debd2e6696291a825b SHA512 bff9ba7b69e7754e89ca6d42bd3b7a547f450404de999e35c10e4002fe03ee1f563b9799673c5010aa4c2f80885ca9e45b5560c5093e117be3b75d86affcb62f
-DIST rayon-1.6.1.crate 166330 BLAKE2B 5bbc439e0c88780b8d80cb36d4b4164e698a1189bd140e8c84d9f6a466023de0cd69a1f24c4217d595ae9af1f61aca6829461648152116c6bebeef0f0e686e50 SHA512 2e03585170e59f4388359817d67a43cd10a2244382615ae39bf84210db03a6dfec3b75d8a23800b8faaa31f45e8df4c44fbc343f02e18dd3dc0572c207791e73
-DIST rayon-cond-0.2.0.crate 9651 BLAKE2B d88c2668bd701414f4ba678a372b91fd63baf8b27668502ee1ffbfb0e38852383b949b98d6943d2e6c3379666ed8dbcc51aead0c5876b0c303e190bcbf8c9eb5 SHA512 3cb038d35ce21c53eb93986f30de8119c613a522e45b6151366e85a58668c540fedb140d218e29e517348617b96b75b765840ee97fac94688b059d0eb927515e
-DIST rayon-core-1.10.1.crate 70008 BLAKE2B aa6dc470af3464ddd20f75faa5793bbc684d1550e44e0148134be7219dbded5dc7c1a1da96487ce9132330f26a587d9861b64be342566d6550cf3806a764d51b SHA512 a9261aa4a648029f50bcca30bd991ef51353c258b9b8c98027efe9ff62e4b7be200e59bc7aa9144d9a3d39873b01bbe104c1d7875d61e02e089bb04e0312798f
-DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
+DIST rayon-1.10.0.crate 180155 BLAKE2B 16cb706d2317d8a349394c521ec5ab550290c5ab2a0a0dc24f0282fa7eb01fd1351a7dc8b5af3a55ea321e6526fbe037fec3cf8b32463166a082a6e417a51fca SHA512 3f628c58f3af3cbd1f245ca1be9c8393eff41112891fc4e676a2b9e26b6cba7cb80d7b6ce46e75bbb65e42fc00c5c0bb6b6a4b59092882f03febeb31f9cca5d3
+DIST rayon-1.8.1.crate 170448 BLAKE2B 982f7ba7d6a43956e6f438921fea2e40d3b398f4f72a4c89f55657aba6aa0d99912a7240b1c32c1dadafa9852adf440e3153a3f0cc56f6582867fa2794bb5144 SHA512 a83304be8334f5aa1c63468ddc749d8e8124c6947f1472320ba0bd4351c9ae582dba31ff369e9efdafdab439571fbf91b497c2370ec15406cfa810f5161cfb32
+DIST rayon-cond-0.3.0.crate 9913 BLAKE2B 4096dc35abfa825739953b92e2eb62822761e4f0eb3311bdb4a0e1639b4453fdabf49c5c6909d4f7ea3c1a674f55acee2d2cd4d116e5a30620ee62ec853e4e04 SHA512 4cd02f2ffc2a7f02db6b1c0468fe8ed78ea092c0629fae448542c11cb8c065883f6939b610dd0e0eb1463dc240aaa75117a5d910cfe5f4eab6a424b774f4b249
+DIST rayon-core-1.12.1.crate 70701 BLAKE2B a32eb9ae9a71b4f0881f7bfd5375aa7db5681f20f7e0b25e6ecb3161f2aad36b93026c1691d02bf298a48ea07ec9475a237fba457ed0b0b8624aebab2b4988df SHA512 33d0297b682f131c50e1eabc3be583211a5abe790301cbca91bf510e43d6714b7564ca39fab7c4bf6f02aa0df6bb394f386a61320f21ddb6bd7aea1372b5e99e
+DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
+DIST redox_syscall-0.5.2.crate 23957 BLAKE2B 6261df25a59af5119a21d31fc3b6a8800bb1783cf2fd63a5524d48d0b187f5f2e65ebbdec00d9282adf110ba8f307d4ceb154bf029a0c6a26e8a887fc722b2d7 SHA512 b7e39a08e220153370449cec7b058c2dbc4916ff7be01b34658e1793035323ecc28f40712194cb9bfc9b863e4bb316e58662721eb0e54f68f09438bd880ea032
DIST rustc-hash-1.1.0.crate 9331 BLAKE2B 16ac56622897f47a06b661fb59a196b08d48e782ab87549c8bd5c6fe92f374c9bfd44dcb36588512bd9b6125c2fd79a12d648aaa308fd9694bcca3a7c1b49ac9 SHA512 84e673ea9b046f7b989d47f2c4505557fbd5de991e6fc9f56a03605d40e0b4ba5427cd566954890153cc033ccbec6c984306634571935bfe0d4cdfbe56f39544
-DIST rustworkx-0.13.2.gh.tar.gz 599348 BLAKE2B 77067f1ac27fd578b9e9d0e485fd5f516a7799941ff51b83eb5fb6644de328c29567c7ac2a0bea4944be5ae412f130ca12f6fd42efa57272a3cc35955399d003 SHA512 c7a18627511c0e6131b6fe94f8a0e6ac3949a13acab925e6da937c0312dabac868bb7774b13ed1b875ce033a2e8a5cf58148e94b5223ca6fe7ca4c9c2310c2b3
-DIST ryu-1.0.11.crate 47007 BLAKE2B d03e8df69c3b21c1b2e4ffa91ece794f141e9f9bce4e9ed1ebf394b1cb0f796147b86189885f0734df8f431b2d166d8f6ed6a261be398d6d088fd56046a85c2e SHA512 dd2642aab2d3017c31432436226d5350b894c8b88a09395eb7de6350964b3cc48451a829ce78b04a9e4e0480076fe1bddd0604f4e57700faa2d60cac6e361408
-DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
-DIST serde-1.0.163.crate 77030 BLAKE2B 0d7ead66faab8ae01c693c9bbcadfd0a7a736c8bf46f50ef43ba261eec9e0f0c43477feadb2e134f0ed6dda3115dcbc3d22daa28592f343739f1ea03d9c25723 SHA512 752738ef5f67f1b4435bdd4e76e740ba192bd93e83cac55fd667809af26ceaf02db7083aaf7b2074644b38964021af206000b6130199e7994c12c9c57cd31a34
-DIST serde_derive-1.0.163.crate 54447 BLAKE2B 284d02fcbdd05c53c8da737fac422fd61ff53669b140686d1732ef727a1e873945b1ebdb85fbda1d79f2c563b2c7b81d3ac51c76fe0cf5205dc6ab4d46a9d4d8 SHA512 744c4235330781c8d9c6ab4f49f6ddd11fcd70b97c97fcbf1434ccac02ba7d29eacfed21ee8e005f5541dd8ab4a34023e95d85231f11c5f4d6e24fcf806f7283
-DIST serde_json-1.0.96.crate 144652 BLAKE2B 2754e63479aa07507015dcb0f989d6447f5b2c01e5f02cf8a843d90c90c6fd0acd3ecb68d80d76c249efdabe0bd0670649a9e576269928d2276ba00a3153131d SHA512 39779419900e1d395d81e70cff0e7a688564a66124b08e74da54ac30f389c912707f4bf5e29afab6fa106faf4bf4e0b841f42fef125cf7bec185482ff6bbba0e
-DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
-DIST sprs-0.11.0.crate 109233 BLAKE2B 1fa0f852571f3999eec6b2ae417f6ac808443128fee57b466c5ad263616b23f54d7ce4f785ab73d8ec488e722e5aaae1f489a7c259ef30ebf939245b4cebece0 SHA512 a365953e1039552c98217c4f334270b29d5e5c08660520d5de52a02237f4eced9d86d836eea27d486912b19f198d35dc59b0f603d0d68033a45d4f825ece4cdf
-DIST syn-1.0.104.crate 236683 BLAKE2B 865904923ecac469f1d92bab04ea9ee384be0592c7a303d9d0f2f4bc755744bd883372c215a8f1add8bc2728d7c2c27489ab292fc8a89bdce918fc4a32deae44 SHA512 8feabd8e6b1b5eb15077d7c92f0b3269e848d33b1f233b3df343b6d445ed332fb23e0222911a13edfd82cee969d25c43434268cd7a20ce1c0a608a1bbe327b29
-DIST syn-2.0.3.crate 240085 BLAKE2B f198cb4d48129ade407a015505c5cbaf958c6e53f20c5486a6c171b42b24f05352b94ad16e63d8ca887eb55caa14eeb8e3b60eca509cedf3705e71b4a9c24ef0 SHA512 42b7de4718bd38ade29dbb0b2f0b0fc07819ee355c754f9b10de102cbd27ec183322f71c0e19b8be09c1a521dfbdde1086167553f875198e1a1534efe3c15435
-DIST target-lexicon-0.12.4.crate 23020 BLAKE2B ad9780b9478b00b4fdcb07bd016d83216695413090ac29cca06388c3790e2832c978b1c7e69f6d34bb6fc9adc39c0a0b6b6636e50a9715a9f5f16445dba22d19 SHA512 194fe1946ad8d9fdb383bf8a65374e24d216382c1ed5379dabc98d58842512624c32838b8d6d0658d866f6559d37f1343a30c5809e8914dd85790399252b3e06
-DIST unicode-ident-1.0.5.crate 35455 BLAKE2B 7e14ce97ac53a88ccec015dea690918a673dc5b49e44de7fdcb5421871da35c4f514c6db9a363d6f4bfcf2e9a61a50a593d345d0b6f388ea882b17a00cd0335d SHA512 d355370daac356d900cd4c0a792d6c0eff114524c4bffce4d7e74469fe2117883ee00bf0e27d950b72e88739473f2045d5f83440a0aedfede97b4d9163b64a6c
-DIST unindent-0.1.10.crate 7703 BLAKE2B 75458d7f21ded1eca4bb3f7f55b2fa73bf92b2309316eca1b2ffaa0c9f8d7cd8c7851b96688f6597f4af6973f70e9053c2708c1228fa6a9784e41c778488c4b7 SHA512 46ff1a2c042972af2fe5958677b2fa5adf3b9edbb168bd66cc93baf9d1b128f583d9502b83f174b35866343b57a57c8a91a465eab267dddae919af24095bf6bd
+DIST rustworkx-0.14.2.gh.tar.gz 558859 BLAKE2B 479510c4e132eda5af7a0301e760fe05daa26dd88c3299ca159ce0f87744d63cebfa33b6a1a6b43541b4c22607ea78352f36288e50d3f6535a6337be4edbf5c6 SHA512 625a4942cba111cdc4a9cf6fd8612ccb5ed94c28e4dcb176137105fc81516d2226fb57b1e401d91e323229eb1444775e5bca239b1bc8a4f26be6d8cea9997dab
+DIST rustworkx-0.15.0.gh.tar.gz 620021 BLAKE2B 10d4554ee5292b1e8c94b6a6e6ce36f894ebd7e5f0439ebc5953f71da1a724210165e78105eec4b38b6ea8db96a1e8d173983249bc15e5cb2a2d033a1e57ecb7 SHA512 a89e67d83da22c92ac34051e7f9c4a5dd1ad08b0fae9cd134c3709d89b50dde4cd3fc74f42d00002af417dae4d835c89599cc945be6826450bc4e9436020c06f
+DIST rustworkx-0.15.1.gh.tar.gz 621518 BLAKE2B b74a892cdaf184977d05f3e99205dded6d6eebbed3cff6cde52b7832eb8945c6de51297a7dad7b4ab6ca5229d5b5b8f15c754dba8341941ff618d2826bd86a6d SHA512 9cc49745eb008f50df5fde246ed3e0675640066702ff27ca9566711d8f2847d85e2de0dd49b2f062bcde2eb06093c730e80e06cfb28f3b5350f43a96cd21c552
+DIST ryu-1.0.16.crate 47351 BLAKE2B 13c72ec8aa608f6c53cf27c95d06b90839c5bec5e54b0441e9c4f779af3dece30d01a2276c717a733f92406a5a02b09c045b2b5f92714fe492d7263b6c6808e6 SHA512 89e3e18346ae6e4035787766f286a6eb62f5294e39ad902cc29e95c53781c4e5dd629f567f22ecc7e9fe9d1c273323da9b867aadc9cd8a066727c58330b51b10
+DIST ryu-1.0.17.crate 47537 BLAKE2B 28408e17a4322f1afb6f21bc8d7328c39d07186de4d464f8e9bd63a69757cb4af61b46e558075e14836f310f020ac824d5ffa616fc0a5ffba59b9df0bb66ffc4 SHA512 6dad725c4fb2d3a33ea30107b63cb702eed56bd2f3c16a72265f648f5aaefcd3d5a7b919b1d037af926cc6311bc68ba58c4e0483da2b2e2135c6a7c2d6601af4
+DIST ryu-1.0.18.crate 47713 BLAKE2B 409cdf4b4e77685394018371e91ad6fdb175ac57e1df9f902871f13208515e5a2ab1daa226fc1e7291278e64448332845be4cc9409bce3b2f3daed409259e104 SHA512 a9b2beac778ec47e6be303148d7512ee681bd2361f6e4ac6db32c8b4baf86a8c5eb5b0d02eacd6131ae88c7b5105c57018c3050676e0b3dd1ed9c4d2fd650e84
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
+DIST serde-1.0.195.crate 76856 BLAKE2B 6a80b59335f222ae48d5e377c30611f30fe6416e6853ca47a39016e21f649cb9dfbe4964ce19e5da977fb9a963228a6a81c1e85af99ae12d7a0a5722901aa2f5 SHA512 0002ecb933d08fbdc8585ee74efb4048d385459f629261f5a4a8401b794f1c02b8296db79f479013a0b2a47ba99bee6c02d60d0fc2454e32f1b038b4071e8727
+DIST serde-1.0.203.crate 77935 BLAKE2B 3d3dd4f81f7d74b60483d6759879a9f87c0c7d615aec308bad1bc575fac4e2071dc86551c2789e87331dbf8089e923ae56fff82e6f5a9992cf850121b052ce1d SHA512 a8d302589244e41f6f675e8d199b2532b29f62b63e45aee141a93dad96033e4bbb27ed01c11e329ec2266cdcc6f2a40f41dfc7d1b9bada69aea81d35d2d82cec
+DIST serde_derive-1.0.195.crate 55687 BLAKE2B 4da7916e36f71dfe82defa6c45b3075395cae54631cdff08a4607e962290020e7214288258fd316439c02536073325f5902e7b00144f97269a207fc453496599 SHA512 8a82ae4e7cfe0c3ac27688cc95d74bf4c2e10c1fe845ab28fb57579b2f47f36d13218c2ae603f93f00114065d47c3e46166dea39b205be673f443c34305dacce
+DIST serde_derive-1.0.203.crate 55867 BLAKE2B 1bc8aa96328bb83e4e4ff527b1df855bbcefd333f0c43c96d1e0b93f98a46273dd88a21653bccc8f517c4fc06d17b9b44332a963d024796e0a2c18a5bfecc824 SHA512 b2aeeab33395ac11ebdbd922fcdbda29f2592e7a20e78aef250713baf269cacf497271be7aa407f657aba33da132df0e035be046fef070f915f234097d1dd392
+DIST serde_json-1.0.111.crate 146447 BLAKE2B a3509185e78c438f495ee9d5b5b7c23cd3b565d45178500f2b9ceb8cc8b1cc509b8d25d217f2c98bb597bab205566d660c3f60506c836da903c52206e6fb160e SHA512 11851e34a9a40de32654a12ada1d1bd01abb11531c5804f5d0747bbb01bf59025dd92be916104fbc278bbba5c89c77920941b83c0ac2f0da23f5d61a7788e83f
+DIST serde_json-1.0.118.crate 146962 BLAKE2B b85f17cbef0cb9fcc8af5d8d18a74850804de631f8ac94193bdb0ff8c95d4c8507876e4802005e0bc8fc4745d52c79be153d825e106090b680b620acc5b1add4 SHA512 1fa7e01d849684e3ed6f9bd67ba9862f822dcecdcb9110a43182367225f559416f855d59f2b8bd943756957932710b930244963a1f47a3d7d530be19dd412f20
+DIST smallvec-1.13.1.crate 34952 BLAKE2B e0dcf1d26883564cd4f5d20a588562404e193075b1ae011f7f7542009a9466e5df3ade7768e1a8feb8806774b2cee5f15d31779928f83714e7d4b6ed46af9ab9 SHA512 1259ef947400470b8c9e74c5582dbc1a49753aa46420883c1f7d66f320f67bebe733a15a23cd57ba461020fad4ff337a5b298de82754602a78f5e6cec969652d
+DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
+DIST sprs-0.11.1.crate 103925 BLAKE2B b2f62d60ab8bdfe9cdbe80b52d306d7a465071219bfd514652f532e910669366bdc1b0baeb2f00416024c6cffac0219ef78a5ec77a2114fc6e06d2fcad384b9e SHA512 5b2a387b8ff08dab0a062c012d89f9e217625b1950f57c1415bb256be97202fb8bea026d9280a5c2e7fc71350c2cc29cca1f71581827574ecee953fe3220a65f
+DIST syn-2.0.48.crate 250566 BLAKE2B e46b0863af76c3116c84d01b654a9820b7edc51f75c9c5301a7967d12284f78da602409f34fc40524728350dc6b998a4d738f08b8868f95236b3e5d24c460580 SHA512 926c0ad55cc743df20f9166b6d71fd44421aeb1f073fd86b6ddb53e13cd508b539c0360ce64b07b65597bb14639c8f33acf7e60951e1e9128624517aa3aee325
+DIST syn-2.0.57.crate 254911 BLAKE2B 76fd87dd0aebb85b81bf50c56e65f01342b92778ebaf3475b7654c9bbcf4dbfed147d3d63f25cb073bdfcd0318826903dd68ee5c8227ff1e8b742ae6ec66bf25 SHA512 270b86ceb1a9eda6db5b3d7fcbf998d5e8f243b6285f59e593dd6a6495b8829f0b81428d6ffd4e8eb9f021ef747ec5b60c3358c626158e3333f3bd44e84b797d
+DIST syn-2.0.68.crate 265035 BLAKE2B 8bc6f68ed286bea617a2cfaf3949bb699d3a0466faeca735314a51596ce950e4ee57eda88154bd562c1728cfaff4cdb5bc1ba701b9d47a9c50d4c4f011bee975 SHA512 7b781f8ea2b0d01c06f47d165da99cd96e3b44a33de1d77c78a2cb37ebe3f8304f426ba3d0d1cf766241dcc0537908774504df7d455d63bf89ec22ac0499d372
+DIST target-lexicon-0.12.13.crate 25424 BLAKE2B 5fcac231c270a59b6589adb79c90cd3bb15ce024e3c5fa3fd267b3226e5514ce77387c57c86ca765b43ee593a55ec99fdc8fbfd464dc01afaa91ad10337b6278 SHA512 323331857bd3db9877a6c7304392e39d378439462ae4f6d6939c02d28914ecddec52696c94ceebfe8a0e7e93ce25c900099bb3922d7783643162e55c7a8769b7
+DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
DIST version_check-0.9.4.crate 14895 BLAKE2B fa1fa4008af165bfc1fdbe560488afd9d232cfafee94104fbcc4cbc52f234849bff9ddfa88109a1ac682f6d9c1d86b0459893d223f64e65adc08966aaf93dc89 SHA512 b172dc9a3759a4a683ffc39b9a40b03b9974b626a088217de87090466cef695226557c226cf3e469b2b25ee7297b7eb0d7719878cab42457f80146a81943c0c8
DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
-DIST windows-sys-0.42.0.crate 3006791 BLAKE2B 7a0962364ecc416cf0ae7e49cce1298a12d819003e488f6e77aff1a52710f00378638b6a05db5557a031e1b75659587657971ddc63eaab35495133762f99a7b2 SHA512 b07b119688f3e3ad234d36979947f34e8e19988fb62101afbe18ec8afc9c8a4261128939df8bbb849d5c5982422cb4c50dbcba70f2bf401fbb7c605df1b2b354
-DIST windows_aarch64_gnullvm-0.42.0.crate 357917 BLAKE2B 58da715a46692ed786fa554338d446eaaa50c63ec1d4090cf0690a9211c0221034479e9066cad1c98234410519833826ae3163bf6724c3b06097d5b84d7b9fcf SHA512 8bd60142e8982ddb14dde4e93b9753f9ac34830c05c2a1dd4568377f9a928651bf9f026a0080e5bc7dfa62a45942376736954e3ac800855d00eef0c72929f338
-DIST windows_aarch64_msvc-0.42.0.crate 659424 BLAKE2B a8c9a288767756f2086bd0706774cdcce5c8639431ad76ed122d4b6d13c936ca8fb1a463d34835b3a2728f4444e2f4b91ee772f00c54f348094da69c05ce6b93 SHA512 20c0840adec84dde03b143e5b82bb0003fee675310487f0071a81ed7f40ee647c4018ccb9ebdbc4aeada717ec8600a30dfb15510c6b336f07becdb7167668fd0
-DIST windows_i686_gnu-0.42.0.crate 728570 BLAKE2B b72079610b5c4fc798a79fa757b19f8c8baceaf7f4ce824193a65fadaac988ebdff1719a74d676b7dd017e11ceb029402bbac4e55c35206172e15a9bef422f78 SHA512 a24dd1ba5eb7d5231853bebadfde0575ae9071a565868d2f3d1bc6ec0a87380c569a621f0cba2552af7a1e46ac62f09f87cfbce3f674be06be1a7c1d3f421474
-DIST windows_i686_msvc-0.42.0.crate 717477 BLAKE2B a37e068f45590f0c31349acbdb56848106d6de0e1f8030e6bd5e1e174bd9a46737db54fbd61de99054e5e8c5263eaef0508c440f43c39dca82baa77792ff2743 SHA512 740400e2b11c1d177f7f37f844cd2a0f84b97a5adb03a7656661deb026b593a799ace8da1f9013ba9f74446fc43260d01dff7d4be607129ec7d602f341b2b4d1
-DIST windows_x86_64_gnu-0.42.0.crate 692493 BLAKE2B e00eae443cfed3004809244654268ee1bec17975166ca876dd393dcfe8a2ef0ca65d81b04c8f513f95a0fae9405ba796c085951bc2c597d252a3122f7dbf6425 SHA512 7df7ee0c345f0a2c37d7f9ec3a2824116b4d7a943bf245787509e67809a4f31ebb1862e212efb2d943d82ccef77a716437cdc61004396ca86e95e688368c6dae
-DIST windows_x86_64_gnullvm-0.42.0.crate 357906 BLAKE2B 02e08e696f18105f0c131fcf5db046ec945cb21ede76d2da477589e15d062ca6f04906dac80fdd2ef9fcda9244490aad86b401d0156eb6b65ba3599098e8cfe7 SHA512 242e11b4a0d50a0ffe8d0e26e971de30ef4d29260ae6749403d39cb4278297a240c1ec4112bb38151cbb11a6f3c8a743e84cd75b6a76adfeaee8e623649c9ecf
-DIST windows_x86_64_msvc-0.42.0.crate 659377 BLAKE2B f01dbfcb86dcb7301790a1a704661864378021cbb92b147fdfcee978b7011bb770441c481b439985c298816c524c6a11f21a7bd81115e65882fa000a28566bcd SHA512 94d6554ae293785d2fc9dc9d53480c98bc08ab2b78bd8684a0606e7e0ec156a454c1a653d214c21de382bc7ab5d898e45000ed73e6110f679da513ffabbf3cb9
+DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows-targets-0.52.5.crate 6376 BLAKE2B 1d39fd86380ab086c536d88e67b60956410b345790ccea62a25e6a700757b2a9cfa6dfeb7b86934cf47b981ea2e5f42dddf49780ad9829a551dc507fcf108641 SHA512 d00d7bc7eec3c10272e803ee5c9ea0d9b07c43311124dae975b4f5aae7408c5f2ccb2fe6e68228ea3d4e70b6b658382cac6992ea177f43a9cba2ef95c4fda0ee
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_gnullvm-0.52.5.crate 433266 BLAKE2B dee1b69cdf1fbd4143136909e4df3adaa7b80d7630a01ca9a42fc5ad0d5a4d9a9e2873b43c6d8e55de59f237d9199fad0768c4e1cda3b1e5354847bd70d4c79e SHA512 b4cf511025458fe30d5b11368af285610e1654a8986ea9f78fa81b8bb87d38a00c4869441c62692534df66d06baf14c8a4d17f8eb06468eb260b99e2fda6439d
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_aarch64_msvc-0.52.5.crate 827944 BLAKE2B 3bcb16d527be1dfdf18a9105ab259a064f00e949937ca423c8dcd1d2b90090d85aa7e42ca6ccc50c9baeee1aa144123d0a04643f9ff1147e62b2fce28b8a697b SHA512 c8974f81e37a43d92c4a8b142705e36b7acc58d9150d80ffa3997433da878044c467a2d9167ba792d37a183a0082d912500fea8c8fed743f395b63ca62a5758d
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_gnu-0.52.5.crate 875699 BLAKE2B 528ea431d080c5326e4c6ed316d9ea3e38b40c2e1322a12a432506a2c11555a94537661a0941e90c20eff4a9ce42c12539876dae6e77a1df18b522529928b309 SHA512 cc3e0362fb62dd5e8a855bda3be0177708ec8629ee9685f1f9aaac3f71a8cb082387388bdf49b09d3f5ee24a636b0b4f933d2c8bb75db434ee0192c8ce0547d2
+DIST windows_i686_gnullvm-0.52.5.crate 473064 BLAKE2B abe41ee330c05ee1366b3a835d15c6db3964ffd7b340ee69d215056b0d4b65c67f2782b0c04a55db64001098de87c93e2d447e25ef2a27f2cfa6685b8cf20c88 SHA512 da45c882248070911bf55698f62c245cb081a23254cdcf578df053905adb9117454235e52dcf1dd97c0d2248f92ff1d2fd3e18844a7be8d93ba08590c1eca22b
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_i686_msvc-0.52.5.crate 895404 BLAKE2B 02555169f8c5b944231a877de8693fc871ea0d7d33f52f60e164bacb35cec13d463af07c57fec4667948047cc222d8bda7f6a0be01a07e7184b69e4adc2b4577 SHA512 08c96f8e9385ac121549bae8ed228741b32004be20b2955d163a98d4b62af464f1682cb813681fa22823d20646f19335cf0a66203a876b105e119e05a4db0634
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnu-0.52.5.crate 831539 BLAKE2B 54f84c19988addeb7cbbbddb940e430e7345944589419592b99addf9b83bf6d801b18f4e80399b85bbb0b0ccf4608e36d9a50b79d8b1d6ce2b93745856e06eba SHA512 d9bf91765d02d2727344e42081f4bcfa73be97991495126f7e633f27e56a261ada3a8b865a559cfe71f9bc9aed5b14504f89138796766937b3521009726dfab8
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_gnullvm-0.52.5.crate 433246 BLAKE2B f34328a6d100e092ecb34a6305daedf4fecd71840432f104e8707f049b60d784584ce4f02fabdd0281fdb8bc7ebed34b38fdacf3be9c8abd60084e9a4ee9fd56 SHA512 22a978c40df9705cd94e4c52f2b706e477e667b564c608d0adb144b38cb486c279c09d1eb1dd2d6c7bd3401b75a2dc5eafe0f7d642ffe6453f394d1f59483a08
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
+DIST windows_x86_64_msvc-0.52.5.crate 827905 BLAKE2B fd5dac198bfbf29878cb461a7338c289c9af16ea80b3e5fa567980d2a6a5ea6a1cd83729ce6fd67e4da171873083dbeb1d6e16a287620f0245201f9cb29c29b4 SHA512 81176090dc725d7fe3867e6322fdc4a4065168580847b35e6f8da345f685c4f66a81e35cd1880dbaabdd4cdc82446dde9d6a0e583cf0b7fe47dda8bc8002f1c6
+DIST zerocopy-0.7.32.crate 151096 BLAKE2B 12c7c329ec0e0865467af08306ff4b55ce1e39fd77b094ee48ed9c6e266dfa807bda9ea72a3f7ea989916327f4d9e803d8868995728bfe2fb1c2dc1e5ecff78e SHA512 6729b05eb88029555b88c75feff4f8bc28ad9675edb02b07486381f775c8650c95e2e59612906bd9c34c5e390fd339857ca91573ee9f9ca7948572cff4171c82
+DIST zerocopy-0.7.34.crate 151177 BLAKE2B 30b65131370dfa4f41d3c2705d3b75da9b76f2a4ed723dec66345939de8bafe2c181ab6c98036c25a30739cae1720d927e27e5fa5587442d5cfb7f39a7018c8f SHA512 4d27b1230ebcea4e9d4c15f38a979aa3fe8b23833e95df781a0a67054e920637642b89345596fe331907edc27abab83c766967f2a04399a6fe0a4e89fa0dd148
+DIST zerocopy-derive-0.7.32.crate 37623 BLAKE2B 8b583d39d7bf9c3dbbba578120751c664f87363c5ba3fc45f6506a4059b9e599c43d9fc7bd498a257ff7c9d872af77d39bebdb0e65fb8009eaa2ae9903dece46 SHA512 3ce8528871fd18d6abe92b98503927451d25791c9c4af0ba39a3b6ba2006030bdc137084d080e9b1ac8b5ddf5f2121e0a3ef34bb2033a040f2c72c8149a9fc0d
+DIST zerocopy-derive-0.7.34.crate 37907 BLAKE2B 23a698c3c892187307007cbc76c9338dbe163e4f14d4ea73969ba834f5c6732d16f5bc26e2e85c5e3df2100b28e6e72ae6473b2159f5160ee19befdef3615f98 SHA512 1bd93062b0d2c699066f8a991326b4470426aae0517d33748a8f0e52b009fc46e6b0b238abe97462a2e13c870fa3d0d070615870e6dbbf8b6991c0e3fb5c3e63
diff --git a/dev-python/rustworkx/files/rustworkx-0.14.2-numpy-2.patch b/dev-python/rustworkx/files/rustworkx-0.14.2-numpy-2.patch
new file mode 100644
index 000000000000..8abf8027ccfa
--- /dev/null
+++ b/dev-python/rustworkx/files/rustworkx-0.14.2-numpy-2.patch
@@ -0,0 +1,134 @@
+From 4934a14448444832d96de6f230fd72d33d2f862c Mon Sep 17 00:00:00 2001
+From: Jake Lishman <jake.lishman@ibm.com>
+Date: Fri, 5 Apr 2024 14:51:11 +0100
+Subject: [PATCH] Fix test suite for Numpy 2 (#1156)
+
+The only change needed was a now-removed alias. Also fix a typo in a
+test file's name that otherwise took me literally 6 goes to type even
+with tab completion.
+---
+ tests/digraph/test_adjacency_matrix.py | 8 ++++----
+ ...test_adjencency_matrix.py => test_adjacency_matrix.py} | 8 ++++----
+ 2 files changed, 8 insertions(+), 8 deletions(-)
+ rename tests/graph/{test_adjencency_matrix.py => test_adjacency_matrix.py} (98%)
+
+diff --git a/tests/digraph/test_adjacency_matrix.py b/tests/digraph/test_adjacency_matrix.py
+index 38d998559..7b85a31ef 100644
+--- a/tests/digraph/test_adjacency_matrix.py
++++ b/tests/digraph/test_adjacency_matrix.py
+@@ -153,10 +153,10 @@ def test_random_graph_float_dtype(self):
+
+ def test_non_zero_null(self):
+ input_matrix = np.array(
+- [[np.Inf, 1, np.Inf], [1, np.Inf, 1], [np.Inf, 1, np.Inf]],
++ [[np.inf, 1, np.inf], [1, np.inf, 1], [np.inf, 1, np.inf]],
+ dtype=np.float64,
+ )
+- graph = rustworkx.PyDiGraph.from_adjacency_matrix(input_matrix, null_value=np.Inf)
++ graph = rustworkx.PyDiGraph.from_adjacency_matrix(input_matrix, null_value=np.inf)
+ adj_matrix = rustworkx.adjacency_matrix(graph, float)
+ expected_matrix = np.array(
+ [[0.0, 1.0, 0.0], [1.0, 0.0, 1.0], [0.0, 1.0, 0.0]],
+@@ -231,10 +231,10 @@ def test_random_graph_complex_dtype(self):
+
+ def test_non_zero_null(self):
+ input_matrix = np.array(
+- [[np.Inf, 1, np.Inf], [1, np.Inf, 1], [np.Inf, 1, np.Inf]],
++ [[np.inf, 1, np.inf], [1, np.inf, 1], [np.inf, 1, np.inf]],
+ dtype=np.complex128,
+ )
+- graph = rustworkx.PyDiGraph.from_complex_adjacency_matrix(input_matrix, null_value=np.Inf)
++ graph = rustworkx.PyDiGraph.from_complex_adjacency_matrix(input_matrix, null_value=np.inf)
+ expected = [
+ (0, 1, 1 + 0j),
+ (1, 0, 1 + 0j),
+diff --git a/tests/graph/test_adjencency_matrix.py b/tests/graph/test_adjacency_matrix.py
+similarity index 98%
+rename from tests/graph/test_adjencency_matrix.py
+rename to tests/graph/test_adjacency_matrix.py
+index d303c7550..4944ea418 100644
+--- a/tests/graph/test_adjencency_matrix.py
++++ b/tests/graph/test_adjacency_matrix.py
+@@ -165,10 +165,10 @@ def test_graph_to_digraph_adjacency_matrix(self):
+
+ def test_non_zero_null(self):
+ input_matrix = np.array(
+- [[np.Inf, 1, np.Inf], [1, np.Inf, 1], [np.Inf, 1, np.Inf]],
++ [[np.inf, 1, np.inf], [1, np.inf, 1], [np.inf, 1, np.inf]],
+ dtype=np.float64,
+ )
+- graph = rustworkx.PyGraph.from_adjacency_matrix(input_matrix, null_value=np.Inf)
++ graph = rustworkx.PyGraph.from_adjacency_matrix(input_matrix, null_value=np.inf)
+ adj_matrix = rustworkx.adjacency_matrix(graph, float)
+ expected_matrix = np.array([[0, 1, 0], [1, 0, 1], [0, 1, 0]], dtype=np.float64)
+ self.assertTrue(np.array_equal(adj_matrix, expected_matrix))
+@@ -231,10 +231,10 @@ def test_random_graph_complex_dtype(self):
+
+ def test_non_zero_null(self):
+ input_matrix = np.array(
+- [[np.Inf, 1, np.Inf], [1, np.Inf, 1], [np.Inf, 1, np.Inf]],
++ [[np.inf, 1, np.inf], [1, np.inf, 1], [np.inf, 1, np.inf]],
+ dtype=np.complex128,
+ )
+- graph = rustworkx.PyGraph.from_complex_adjacency_matrix(input_matrix, null_value=np.Inf)
++ graph = rustworkx.PyGraph.from_complex_adjacency_matrix(input_matrix, null_value=np.inf)
+ expected = [
+ (0, 1, 1 + 0j),
+ (1, 2, 1 + 0j),
+From a6c9849e61228be20158dee03fe687456cbb3022 Mon Sep 17 00:00:00 2001
+From: Matthew Treinish <mtreinish@kortar.org>
+Date: Fri, 26 Apr 2024 20:42:45 -0400
+Subject: [PATCH] Relax numpy upper version cap (#1172)
+
+* Relax numpy upper version cap
+
+In #1012 we added an upper version cap to numpy to prevent it from
+installing numpy 2.0 before we confirmed that rustworkx was compatible
+with it. Now that numpy 2.0.0rc1 has been released we're able to confirm
+that rustworkx works fine with numpy 2.0. This commit raises the upper
+bound on the numpy version to < 3 to enable installing numpy 2.0 with
+rustworkx.
+
+* Handle new __array__ API in numpy 2.0
+
+While we didn't have any test coverage for this looking at the numpy 2.0
+migration guide one thing we'll have to handle is the new copy kwarg on
+array:
+
+https://numpy.org/devdocs/numpy_2_0_migration_guide.html#adapting-to-changes-in-the-copy-keyword
+
+This commit updates the sole use of __array__ we have on custom sequence
+return types so that if copy=False is passed in we raise a ValueError.
+Additionally, the dtype handling is done directly in the rustworkx code
+now to ensure we don't have any issues with numpy 2.0.
+
+* Fix __array__ stubs
+
+* Update src/iterators.rs
+
+* Pin ruff to 0.4.1
+
+---------
+
+Co-authored-by: Ivan Carvalho <8753214+IvanIsCoding@users.noreply.github.com>
+---
+ .github/workflows/main.yml | 2 +-
+ rustworkx/rustworkx.pyi | 2 +-
+ setup.py | 2 +-
+ src/iterators.rs | 28 ++++++++++++++++++++++------
+ tests/test_custom_return_types.py | 10 ++++++++++
+ 5 files changed, 35 insertions(+), 9 deletions(-)
+
+diff --git a/setup.py b/setup.py
+index 82a390d7e..40bf25ca8 100644
+--- a/setup.py
++++ b/setup.py
+@@ -28,7 +28,7 @@ def readme():
+ PKG_NAME = os.getenv("RUSTWORKX_PKG_NAME", "rustworkx")
+ PKG_VERSION = "0.15.0"
+ PKG_PACKAGES = ["rustworkx", "rustworkx.visualization"]
+-PKG_INSTALL_REQUIRES = ["numpy>=1.16.0,<2"]
++PKG_INSTALL_REQUIRES = ["numpy>=1.16.0,<3"]
+ RUST_EXTENSIONS = [RustExtension("rustworkx.rustworkx", "Cargo.toml",
+ binding=Binding.PyO3, debug=rustworkx_debug)]
+ RUST_OPTS ={"bdist_wheel": {"py_limited_api": "cp38"}}
diff --git a/dev-python/rustworkx/rustworkx-0.13.2.ebuild b/dev-python/rustworkx/rustworkx-0.13.2.ebuild
deleted file mode 100644
index ae55d9363627..000000000000
--- a/dev-python/rustworkx/rustworkx-0.13.2.ebuild
+++ /dev/null
@@ -1,148 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-CRATES="
- ahash@0.7.6
- ahash@0.8.0
- alga@0.9.3
- approx@0.3.2
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- crossbeam-channel@0.5.6
- crossbeam-deque@0.8.2
- crossbeam-epoch@0.9.11
- crossbeam-utils@0.8.12
- either@1.8.0
- fixedbitset@0.4.2
- getrandom@0.2.8
- hashbrown@0.12.3
- hermit-abi@0.1.19
- indexmap@1.9.3
- indoc@1.0.7
- itertools@0.10.5
- itoa@1.0.4
- libc@0.2.137
- libm@0.2.7
- lock_api@0.4.9
- matrixmultiply@0.3.2
- memchr@2.5.0
- memoffset@0.6.5
- memoffset@0.9.0
- ndarray-stats@0.5.1
- ndarray@0.15.6
- noisy_float@0.2.0
- num-bigint@0.4.3
- num-complex@0.2.4
- num-complex@0.4.3
- num-integer@0.1.45
- num-traits@0.2.16
- num_cpus@1.13.1
- numpy@0.19.0
- once_cell@1.15.0
- parking_lot@0.12.1
- parking_lot_core@0.9.4
- petgraph@0.6.3
- ppv-lite86@0.2.16
- priority-queue@1.2.2
- proc-macro2@1.0.52
- pyo3-build-config@0.19.2
- pyo3-ffi@0.19.2
- pyo3-macros-backend@0.19.2
- pyo3-macros@0.19.2
- pyo3@0.19.2
- quick-xml@0.28.2
- quote@1.0.26
- rand@0.8.5
- rand_chacha@0.3.1
- rand_core@0.6.4
- rand_pcg@0.3.1
- rawpointer@0.2.1
- rayon-cond@0.2.0
- rayon-core@1.10.1
- rayon@1.6.1
- redox_syscall@0.2.16
- rustc-hash@1.1.0
- ryu@1.0.11
- scopeguard@1.1.0
- serde@1.0.163
- serde_derive@1.0.163
- serde_json@1.0.96
- smallvec@1.10.0
- sprs@0.11.0
- syn@1.0.104
- syn@2.0.3
- target-lexicon@0.12.4
- unicode-ident@1.0.5
- unindent@0.1.10
- version_check@0.9.4
- wasi@0.11.0+wasi-snapshot-preview1
- windows-sys@0.42.0
- windows_aarch64_gnullvm@0.42.0
- windows_aarch64_msvc@0.42.0
- windows_i686_gnu@0.42.0
- windows_i686_msvc@0.42.0
- windows_x86_64_gnu@0.42.0
- windows_x86_64_gnullvm@0.42.0
- windows_x86_64_msvc@0.42.0
-"
-
-inherit cargo distutils-r1
-
-DESCRIPTION="A high performance Python graph library implemented in Rust"
-HOMEPAGE="
- https://github.com/Qiskit/rustworkx/
- https://pypi.org/project/rustworkx/
-"
-SRC_URI="
- https://github.com/Qiskit/rustworkx/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="Apache-2.0"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT
- Unicode-DFS-2016
- || ( LGPL-3 MPL-2.0 )
-"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- >=dev-python/numpy-1.16.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-rust[${PYTHON_USEDEP}]
- test? (
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/graphviz[${PYTHON_USEDEP}]
- >=dev-python/networkx-2.5[${PYTHON_USEDEP}]
- dev-python/stestr[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}]
- media-gfx/graphviz[gts]
- )
-"
-
-# Libraries built with rust do not use CFLAGS and LDFLAGS.
-QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rustworkx/rustworkx.*\\.so"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local EPYTEST_DESELECT=(
- # TODO: hangs
- tests/retworkx_backwards_compat/visualization/test_mpl.py
- tests/rustworkx_tests/visualization/test_mpl.py
- )
- rm -rf rustworkx || die
- epytest
-}
diff --git a/dev-python/rustworkx/rustworkx-0.14.2-r1.ebuild b/dev-python/rustworkx/rustworkx-0.14.2-r1.ebuild
new file mode 100644
index 000000000000..7f9ec72bc304
--- /dev/null
+++ b/dev-python/rustworkx/rustworkx-0.14.2-r1.ebuild
@@ -0,0 +1,159 @@
+# Copyright 2022-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} )
+
+CRATES="
+ ahash@0.8.6
+ alga@0.9.3
+ allocator-api2@0.2.16
+ approx@0.3.2
+ autocfg@1.1.0
+ bitflags@1.3.2
+ cfg-if@1.0.0
+ crossbeam-deque@0.8.5
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.19
+ either@1.9.0
+ equivalent@1.0.1
+ fixedbitset@0.4.2
+ getrandom@0.2.12
+ hashbrown@0.12.3
+ hashbrown@0.14.3
+ heck@0.4.1
+ hermit-abi@0.3.4
+ indexmap@1.9.3
+ indexmap@2.1.0
+ indoc@2.0.4
+ itertools@0.10.5
+ itertools@0.11.0
+ itoa@1.0.10
+ libc@0.2.152
+ libm@0.2.8
+ lock_api@0.4.11
+ matrixmultiply@0.3.8
+ memchr@2.7.1
+ memoffset@0.9.0
+ ndarray-stats@0.5.1
+ ndarray@0.15.6
+ noisy_float@0.2.0
+ num-bigint@0.4.4
+ num-complex@0.2.4
+ num-complex@0.4.4
+ num-integer@0.1.45
+ num-traits@0.2.17
+ num_cpus@1.16.0
+ numpy@0.20.0
+ once_cell@1.19.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ petgraph@0.6.4
+ ppv-lite86@0.2.17
+ priority-queue@1.3.2
+ proc-macro2@1.0.78
+ pyo3-build-config@0.20.2
+ pyo3-ffi@0.20.2
+ pyo3-macros-backend@0.20.2
+ pyo3-macros@0.20.2
+ pyo3@0.20.2
+ quick-xml@0.31.0
+ quote@1.0.35
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ rand_pcg@0.3.1
+ rawpointer@0.2.1
+ rayon-cond@0.3.0
+ rayon-core@1.12.1
+ rayon@1.8.1
+ redox_syscall@0.4.1
+ rustc-hash@1.1.0
+ ryu@1.0.16
+ scopeguard@1.2.0
+ serde@1.0.195
+ serde_derive@1.0.195
+ serde_json@1.0.111
+ smallvec@1.13.1
+ sprs@0.11.1
+ syn@2.0.48
+ target-lexicon@0.12.13
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+ zerocopy-derive@0.7.32
+ zerocopy@0.7.32
+"
+
+inherit cargo distutils-r1
+
+DESCRIPTION="A high performance Python graph library implemented in Rust"
+HOMEPAGE="
+ https://github.com/Qiskit/rustworkx/
+ https://pypi.org/project/rustworkx/
+"
+SRC_URI="
+ https://github.com/Qiskit/rustworkx/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT
+ Unicode-DFS-2016
+ || ( LGPL-3 MPL-2.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/numpy-1.16.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ test? (
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ >=dev-python/networkx-2.5[${PYTHON_USEDEP}]
+ dev-python/stestr[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}]
+ media-gfx/graphviz[gts]
+ )
+"
+
+# Libraries built with rust do not use CFLAGS and LDFLAGS.
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rustworkx/rustworkx.*\\.so"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/Qiskit/rustworkx/pull/1156
+ # part of https://github.com/Qiskit/rustworkx/pull/1172
+ "${FILESDIR}/${P}-numpy-2.patch"
+)
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_DESELECT=(
+ # TODO: hangs
+ tests/retworkx_backwards_compat/visualization/test_mpl.py
+ tests/rustworkx_tests/visualization/test_mpl.py
+ )
+ rm -rf rustworkx || die
+ epytest
+}
diff --git a/dev-python/rustworkx/rustworkx-0.15.0.ebuild b/dev-python/rustworkx/rustworkx-0.15.0.ebuild
new file mode 100644
index 000000000000..2809ede475f2
--- /dev/null
+++ b/dev-python/rustworkx/rustworkx-0.15.0.ebuild
@@ -0,0 +1,154 @@
+# Copyright 2022-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} )
+
+CRATES="
+ ahash@0.8.11
+ alga@0.9.3
+ allocator-api2@0.2.16
+ approx@0.3.2
+ autocfg@1.2.0
+ bitflags@1.3.2
+ cfg-if@1.0.0
+ crossbeam-deque@0.8.5
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.19
+ either@1.10.0
+ equivalent@1.0.1
+ fixedbitset@0.4.2
+ getrandom@0.2.12
+ hashbrown@0.12.3
+ hashbrown@0.14.5
+ heck@0.4.1
+ hermit-abi@0.3.9
+ indexmap@1.9.3
+ indexmap@2.2.6
+ indoc@2.0.5
+ itertools@0.10.5
+ itertools@0.11.0
+ itoa@1.0.11
+ libc@0.2.153
+ libm@0.2.8
+ lock_api@0.4.11
+ matrixmultiply@0.3.8
+ memchr@2.7.2
+ memoffset@0.9.1
+ ndarray-stats@0.5.1
+ ndarray@0.15.6
+ noisy_float@0.2.0
+ num-bigint@0.4.5
+ num-complex@0.2.4
+ num-complex@0.4.6
+ num-integer@0.1.46
+ num-traits@0.2.19
+ num_cpus@1.16.0
+ numpy@0.21.0
+ once_cell@1.19.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ petgraph@0.6.5
+ portable-atomic@1.6.0
+ ppv-lite86@0.2.17
+ priority-queue@2.0.3
+ proc-macro2@1.0.79
+ pyo3-build-config@0.21.2
+ pyo3-ffi@0.21.2
+ pyo3-macros-backend@0.21.2
+ pyo3-macros@0.21.2
+ pyo3@0.21.2
+ quick-xml@0.34.0
+ quote@1.0.35
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ rand_pcg@0.3.1
+ rawpointer@0.2.1
+ rayon-cond@0.3.0
+ rayon-core@1.12.1
+ rayon@1.10.0
+ redox_syscall@0.4.1
+ rustc-hash@1.1.0
+ ryu@1.0.17
+ scopeguard@1.2.0
+ serde@1.0.203
+ serde_derive@1.0.203
+ serde_json@1.0.118
+ smallvec@1.13.2
+ sprs@0.11.1
+ syn@2.0.57
+ target-lexicon@0.12.14
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+ zerocopy-derive@0.7.32
+ zerocopy@0.7.32
+"
+
+inherit cargo distutils-r1
+
+DESCRIPTION="A high performance Python graph library implemented in Rust"
+HOMEPAGE="
+ https://github.com/Qiskit/rustworkx/
+ https://pypi.org/project/rustworkx/
+"
+SRC_URI="
+ https://github.com/Qiskit/rustworkx/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT
+ Unicode-DFS-2016
+ || ( LGPL-3+ MPL-2.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/numpy-1.16.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ test? (
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ >=dev-python/networkx-2.5[${PYTHON_USEDEP}]
+ dev-python/stestr[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}]
+ media-gfx/graphviz[gts]
+ )
+"
+
+# Libraries built with rust do not use CFLAGS and LDFLAGS.
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rustworkx/rustworkx.*\\.so"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_DESELECT=(
+ # TODO: hangs
+ tests/retworkx_backwards_compat/visualization/test_mpl.py
+ tests/rustworkx_tests/visualization/test_mpl.py
+ )
+ rm -rf rustworkx || die
+ epytest
+}
diff --git a/dev-python/rustworkx/rustworkx-0.15.1-r2.ebuild b/dev-python/rustworkx/rustworkx-0.15.1-r2.ebuild
new file mode 100644
index 000000000000..9017dc943e07
--- /dev/null
+++ b/dev-python/rustworkx/rustworkx-0.15.1-r2.ebuild
@@ -0,0 +1,164 @@
+# Copyright 2022-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..13} )
+
+CRATES="
+ ahash@0.8.11
+ alga@0.9.3
+ allocator-api2@0.2.18
+ approx@0.3.2
+ autocfg@1.3.0
+ bitflags@2.6.0
+ cfg-if@1.0.0
+ crossbeam-deque@0.8.5
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.20
+ either@1.13.0
+ equivalent@1.0.1
+ fixedbitset@0.4.2
+ getrandom@0.2.15
+ hashbrown@0.12.3
+ hashbrown@0.14.5
+ heck@0.4.1
+ hermit-abi@0.3.9
+ indexmap@1.9.3
+ indexmap@2.2.6
+ indoc@2.0.5
+ itertools@0.10.5
+ itertools@0.11.0
+ itoa@1.0.11
+ libc@0.2.155
+ libm@0.2.8
+ lock_api@0.4.12
+ matrixmultiply@0.3.8
+ memchr@2.7.4
+ memoffset@0.9.1
+ ndarray-stats@0.5.1
+ ndarray@0.15.6
+ noisy_float@0.2.0
+ num-bigint@0.4.6
+ num-complex@0.2.4
+ num-complex@0.4.6
+ num-integer@0.1.46
+ num-traits@0.2.19
+ num_cpus@1.16.0
+ numpy@0.21.0
+ once_cell@1.19.0
+ parking_lot@0.12.3
+ parking_lot_core@0.9.10
+ petgraph@0.6.5
+ portable-atomic@1.6.0
+ ppv-lite86@0.2.17
+ priority-queue@2.0.3
+ proc-macro2@1.0.86
+ pyo3-build-config@0.21.2
+ pyo3-ffi@0.21.2
+ pyo3-macros-backend@0.21.2
+ pyo3-macros@0.21.2
+ pyo3@0.21.2
+ quick-xml@0.34.0
+ quote@1.0.36
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ rand_pcg@0.3.1
+ rawpointer@0.2.1
+ rayon-cond@0.3.0
+ rayon-core@1.12.1
+ rayon@1.10.0
+ redox_syscall@0.5.2
+ rustc-hash@1.1.0
+ ryu@1.0.18
+ scopeguard@1.2.0
+ serde@1.0.203
+ serde_derive@1.0.203
+ serde_json@1.0.118
+ smallvec@1.13.2
+ sprs@0.11.1
+ syn@2.0.68
+ target-lexicon@0.12.14
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.52.5
+ windows_aarch64_gnullvm@0.52.5
+ windows_aarch64_msvc@0.52.5
+ windows_i686_gnu@0.52.5
+ windows_i686_gnullvm@0.52.5
+ windows_i686_msvc@0.52.5
+ windows_x86_64_gnu@0.52.5
+ windows_x86_64_gnullvm@0.52.5
+ windows_x86_64_msvc@0.52.5
+ zerocopy-derive@0.7.34
+ zerocopy@0.7.34
+"
+
+inherit cargo distutils-r1
+
+DESCRIPTION="A high performance Python graph library implemented in Rust"
+HOMEPAGE="
+ https://github.com/Qiskit/rustworkx/
+ https://pypi.org/project/rustworkx/
+"
+SRC_URI="
+ https://github.com/Qiskit/rustworkx/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+ https://github.com/PyO3/pyo3/pull/4324.patch
+ -> pyo3-ffi-0.22.1-py313.patch
+"
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT
+ Unicode-DFS-2016
+ || ( LGPL-3+ MPL-2.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/numpy-1.16.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ test? (
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ >=dev-python/networkx-2.5[${PYTHON_USEDEP}]
+ dev-python/stestr[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}]
+ media-gfx/graphviz[gts]
+ )
+"
+
+# Libraries built with rust do not use CFLAGS and LDFLAGS.
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rustworkx/rustworkx.*\\.so"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ default
+
+ cd "${ECARGO_VENDOR}"/pyo3-ffi-*/ || die
+ eapply -p2 "${DISTDIR}/pyo3-ffi-0.22.1-py313.patch"
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_DESELECT=(
+ # TODO: hangs
+ tests/retworkx_backwards_compat/visualization/test_mpl.py
+ tests/rustworkx_tests/visualization/test_mpl.py
+ )
+ rm -rf rustworkx || die
+ epytest
+}
diff --git a/dev-python/rustworkx/rustworkx-0.15.1.ebuild b/dev-python/rustworkx/rustworkx-0.15.1.ebuild
new file mode 100644
index 000000000000..c7817894b3a2
--- /dev/null
+++ b/dev-python/rustworkx/rustworkx-0.15.1.ebuild
@@ -0,0 +1,155 @@
+# Copyright 2022-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} )
+
+CRATES="
+ ahash@0.8.11
+ alga@0.9.3
+ allocator-api2@0.2.18
+ approx@0.3.2
+ autocfg@1.3.0
+ bitflags@2.6.0
+ cfg-if@1.0.0
+ crossbeam-deque@0.8.5
+ crossbeam-epoch@0.9.18
+ crossbeam-utils@0.8.20
+ either@1.13.0
+ equivalent@1.0.1
+ fixedbitset@0.4.2
+ getrandom@0.2.15
+ hashbrown@0.12.3
+ hashbrown@0.14.5
+ heck@0.4.1
+ hermit-abi@0.3.9
+ indexmap@1.9.3
+ indexmap@2.2.6
+ indoc@2.0.5
+ itertools@0.10.5
+ itertools@0.11.0
+ itoa@1.0.11
+ libc@0.2.155
+ libm@0.2.8
+ lock_api@0.4.12
+ matrixmultiply@0.3.8
+ memchr@2.7.4
+ memoffset@0.9.1
+ ndarray-stats@0.5.1
+ ndarray@0.15.6
+ noisy_float@0.2.0
+ num-bigint@0.4.6
+ num-complex@0.2.4
+ num-complex@0.4.6
+ num-integer@0.1.46
+ num-traits@0.2.19
+ num_cpus@1.16.0
+ numpy@0.21.0
+ once_cell@1.19.0
+ parking_lot@0.12.3
+ parking_lot_core@0.9.10
+ petgraph@0.6.5
+ portable-atomic@1.6.0
+ ppv-lite86@0.2.17
+ priority-queue@2.0.3
+ proc-macro2@1.0.86
+ pyo3-build-config@0.21.2
+ pyo3-ffi@0.21.2
+ pyo3-macros-backend@0.21.2
+ pyo3-macros@0.21.2
+ pyo3@0.21.2
+ quick-xml@0.34.0
+ quote@1.0.36
+ rand@0.8.5
+ rand_chacha@0.3.1
+ rand_core@0.6.4
+ rand_pcg@0.3.1
+ rawpointer@0.2.1
+ rayon-cond@0.3.0
+ rayon-core@1.12.1
+ rayon@1.10.0
+ redox_syscall@0.5.2
+ rustc-hash@1.1.0
+ ryu@1.0.18
+ scopeguard@1.2.0
+ serde@1.0.203
+ serde_derive@1.0.203
+ serde_json@1.0.118
+ smallvec@1.13.2
+ sprs@0.11.1
+ syn@2.0.68
+ target-lexicon@0.12.14
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ version_check@0.9.4
+ wasi@0.11.0+wasi-snapshot-preview1
+ windows-targets@0.52.5
+ windows_aarch64_gnullvm@0.52.5
+ windows_aarch64_msvc@0.52.5
+ windows_i686_gnu@0.52.5
+ windows_i686_gnullvm@0.52.5
+ windows_i686_msvc@0.52.5
+ windows_x86_64_gnu@0.52.5
+ windows_x86_64_gnullvm@0.52.5
+ windows_x86_64_msvc@0.52.5
+ zerocopy-derive@0.7.34
+ zerocopy@0.7.34
+"
+
+inherit cargo distutils-r1
+
+DESCRIPTION="A high performance Python graph library implemented in Rust"
+HOMEPAGE="
+ https://github.com/Qiskit/rustworkx/
+ https://pypi.org/project/rustworkx/
+"
+SRC_URI="
+ https://github.com/Qiskit/rustworkx/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="Apache-2.0"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 MIT
+ Unicode-DFS-2016
+ || ( LGPL-3+ MPL-2.0 )
+"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/numpy-1.16.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ test? (
+ dev-python/fixtures[${PYTHON_USEDEP}]
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ >=dev-python/networkx-2.5[${PYTHON_USEDEP}]
+ dev-python/stestr[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.5.0[${PYTHON_USEDEP}]
+ media-gfx/graphviz[gts]
+ )
+"
+
+# Libraries built with rust do not use CFLAGS and LDFLAGS.
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/rustworkx/rustworkx.*\\.so"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_DESELECT=(
+ # TODO: hangs
+ tests/retworkx_backwards_compat/visualization/test_mpl.py
+ tests/rustworkx_tests/visualization/test_mpl.py
+ )
+ rm -rf rustworkx || die
+ epytest
+}
diff --git a/dev-python/s3transfer/Manifest b/dev-python/s3transfer/Manifest
index 68515f49b1f7..4b8562589831 100644
--- a/dev-python/s3transfer/Manifest
+++ b/dev-python/s3transfer/Manifest
@@ -1,4 +1,2 @@
-DIST s3transfer-0.7.0.tar.gz 132904 BLAKE2B cdb1315d4c6ca2ae36199f3a7c0796a1460c07d9b3c68c47f94fea99082ba9136fd13904908e477af84fdeec1ee45e35993612734dd66e989e28706c80f893d4 SHA512 93a0ee7fe607796b7d78319897465e09bc1b0a8dd430b7f13997cbecb54922edb9db7eadbd663a9b65c66d10ef19bc6bd876c51f73349cf377ef02febccffdb0
-DIST s3transfer-0.8.0.tar.gz 138839 BLAKE2B 9c4d9eae115faa3f6da426bf7659e5852dd408e9a848819edb1b1ec77598fa1cd5a971f7f41f269e302fc5c6f9ba73c233b6910583066d09e6942538d508896c SHA512 32eb258fff438f20c8ee3d7ed0b65d35745b4580c9c747af93262d7a4994e60b6ddcbfd498efd42766c544ab2e14e0e2a757bb99958e990033e8fd99018b4fc6
-DIST s3transfer-0.8.1.tar.gz 139496 BLAKE2B fd7269fe76b92c9ba05cf7c69cc63074b1563eeae0bdc7b04430acfc5b8a07cb5bf794b1790362ff3d2f52ab2cb02d3543dcdeae7f3a60c3d94640fa73966367 SHA512 62daa54121fde2de55a9c35bbf006f1d1d74cbb7120d51e0fc533719c22d617239b82834437341a29c307ed1bcb881e40ac14eae812d29ccf957eacf16c341f2
-DIST s3transfer-0.8.2.tar.gz 139536 BLAKE2B e8897fb295c633dbceb43908f441b92adfe90265c18c3da1154e66074ca19e3a645ba166fbe9456c1a6b884bc6f81fa7b72f76004f2acb84fb92356146e7bae6 SHA512 cbba2ce0a8bf3f110a369137e2aa154012631c6fa2638885afcd2dd668a96715e50af8e720f6460447adc1e2ad241e95f7fa8554334b135777be768d892baaf9
+DIST s3transfer-0.10.1.tar.gz 143308 BLAKE2B cab8c94ed4ea4277583a902a6a943157cdaf5f742842e1c1a24f7f90ccb6e07dce0c50aa66b500097ad17f06ff398c90c73dadb3959f8317dbf31573c5ff2a1f SHA512 f18a5f655b354cba1c745bba699b8abdeae406669b0dded249925e4189c1d849bc0966ddc415ca25562a7214fbf7979553a67b4d993d054bc5237e301414f0a1
+DIST s3transfer-0.10.2.tar.gz 144095 BLAKE2B 6fc9af9bc33a115d03253441881710aa72e9b4df3e6fac1fa49b069ec6f5e19198b464f0d7fd2bae63229fd6b54cb0c8673a6e9c5a9642010f3b725d355b5992 SHA512 6d11a3a79042070b764042d502878854c18b641723a8e1fb0b8d90f06bd6100ac295350ab3a91b23acd742bb69da18bfc98e9b834f71f57d58548296de0c8d75
diff --git a/dev-python/s3transfer/s3transfer-0.10.1.ebuild b/dev-python/s3transfer/s3transfer-0.10.1.ebuild
new file mode 100644
index 000000000000..52a5fe99b0a3
--- /dev/null
+++ b/dev-python/s3transfer/s3transfer-0.10.1.ebuild
@@ -0,0 +1,43 @@
+# 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="An Amazon S3 Transfer Manager"
+HOMEPAGE="
+ https://github.com/boto/s3transfer/
+ https://pypi.org/project/s3transfer/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-1.33.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ epytest tests/{unit,functional}
+}
diff --git a/dev-python/s3transfer/s3transfer-0.10.2.ebuild b/dev-python/s3transfer/s3transfer-0.10.2.ebuild
new file mode 100644
index 000000000000..f2aefe9297fa
--- /dev/null
+++ b/dev-python/s3transfer/s3transfer-0.10.2.ebuild
@@ -0,0 +1,43 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="An Amazon S3 Transfer Manager"
+HOMEPAGE="
+ https://github.com/boto/s3transfer/
+ https://pypi.org/project/s3transfer/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/botocore-1.33.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # do not rely on bundled deps in botocore (sic!)
+ find -name '*.py' -exec sed -i \
+ -e 's:from botocore[.]vendored import:import:' \
+ -e 's:from botocore[.]vendored[.]:from :' \
+ {} + || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ epytest tests/{unit,functional}
+}
diff --git a/dev-python/s3transfer/s3transfer-0.7.0.ebuild b/dev-python/s3transfer/s3transfer-0.7.0.ebuild
deleted file mode 100644
index eb471d88a484..000000000000
--- a/dev-python/s3transfer/s3transfer-0.7.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="An Amazon S3 Transfer Manager"
-HOMEPAGE="
- https://github.com/boto/s3transfer/
- https://pypi.org/project/s3transfer/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/botocore-1.24.7[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- epytest tests/{unit,functional}
-}
diff --git a/dev-python/s3transfer/s3transfer-0.8.0.ebuild b/dev-python/s3transfer/s3transfer-0.8.0.ebuild
deleted file mode 100644
index b1849d3b9bb2..000000000000
--- a/dev-python/s3transfer/s3transfer-0.8.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="An Amazon S3 Transfer Manager"
-HOMEPAGE="
- https://github.com/boto/s3transfer/
- https://pypi.org/project/s3transfer/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/botocore-1.32.7[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- epytest tests/{unit,functional}
-}
diff --git a/dev-python/s3transfer/s3transfer-0.8.1.ebuild b/dev-python/s3transfer/s3transfer-0.8.1.ebuild
deleted file mode 100644
index 103c98396afb..000000000000
--- a/dev-python/s3transfer/s3transfer-0.8.1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="An Amazon S3 Transfer Manager"
-HOMEPAGE="
- https://github.com/boto/s3transfer/
- https://pypi.org/project/s3transfer/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/botocore-1.33.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- epytest tests/{unit,functional}
-}
diff --git a/dev-python/s3transfer/s3transfer-0.8.2.ebuild b/dev-python/s3transfer/s3transfer-0.8.2.ebuild
deleted file mode 100644
index 103c98396afb..000000000000
--- a/dev-python/s3transfer/s3transfer-0.8.2.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="An Amazon S3 Transfer Manager"
-HOMEPAGE="
- https://github.com/boto/s3transfer/
- https://pypi.org/project/s3transfer/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/botocore-1.33.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # do not rely on bundled deps in botocore (sic!)
- find -name '*.py' -exec sed -i \
- -e 's:from botocore[.]vendored import:import:' \
- -e 's:from botocore[.]vendored[.]:from :' \
- {} + || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- epytest tests/{unit,functional}
-}
diff --git a/dev-python/sabctools/Manifest b/dev-python/sabctools/Manifest
index ab1f7ab5ad89..3683e8b7a95c 100644
--- a/dev-python/sabctools/Manifest
+++ b/dev-python/sabctools/Manifest
@@ -1,4 +1,3 @@
-DIST sabctools-7.0.2.gh.tar.gz 8539819 BLAKE2B 38212656c745238f106fbc9334f6dccb02bb9e05153bc73a21a783a25a0c5a63cae2893a01fcceefe37e6f5f187fc6d762fcc632f1228410e951740c808e0e9e SHA512 05968a29afb7a041549bae9e9a4303160820da4cd10ea33ab4475fe48fd0b4cf46023c6254715161265f3e1bdf2b66ae7e62007789fbc288aa229d3a218a3df8
-DIST sabctools-7.1.1.gh.tar.gz 8963314 BLAKE2B 583ac11ba8f4ef9d0f9d04a1697bb7e09644f2edfa851e175bf6454600e2d78bfb593c2fd3696ee077f3243084c90faa276eddd21578122233090be905367d55 SHA512 461f554d4e0032b4a4b0eaa4801d45cd014be00b5cd2f2c13ed7686d20994bb111c80fe8486a50af5622b3977056bd12d2465922f7daccd04a92af7101e52e0f
-DIST sabctools-7.1.2.gh.tar.gz 8963375 BLAKE2B a404780c40cd98a605af58a79c9ecf7c5e479460db925c34486bc36621e749dcad363225e7a73e0222cc30b7bba8747d5d21ed4ac240c5df75485a2bd620e962 SHA512 7887ff3f6b46bd538540b591ab7b47a7b3efa277b45d69ed7329252b1f7326adfa6b286cc207a4262002a802c6acff03c0df4792e099da3dd8be1c3dd68a1ae0
-DIST sabctools-8.0.0.gh.tar.gz 8963761 BLAKE2B d6977c399801653bcc04136c614257a8dba952129ff87a06064518796bb4de1bf340b3f5ba1e841d05c33be804232cedc38da46991b69451661a89fcb2e2ede9 SHA512 0a1e17bbb316271fa620b037cd71a88b7a424206471766f8b77c81db7d7f2828fb58518916e51d4a3aa29f0615c31fd1da615f1b67838a31ee985c13b3045257
+DIST sabctools-8.1.0.gh.tar.gz 8963885 BLAKE2B 36d6bbc34f636ac4e892f941eb6e583166ee1f5f740440b3f07faacddf7715d8b4c642a4e6252ece1bdef69017be3d04ce5d6c8e36479bb176e4cd0635f1567d SHA512 862c39f2e386622b528f120a431f214e1e2e92b7c5a751e47d0768f40ce06ad2736d867f7ac2e1810d676e980312bbfedd29951cbadeddefe75246cdcf53fcc6
+DIST sabctools-8.2.3.gh.tar.gz 8974172 BLAKE2B 15b15cb1a5b7e923cc43e5e619e02f09d34f69d05d692b11bf3de8b12a1f33efcf6cf8cd8b251c646f1e2be7e2941c755e2e30a205b9e066d280038b287b262d SHA512 7bf1b0e9f55d9f6384166cca911c0d1dd79b3d4d1c33effe295fe4e053394a674a36548e5241a86817ce109a1165e0814954550436f5381daddfc8c1a7c188e5
+DIST sabctools-8.2.4.gh.tar.gz 8974209 BLAKE2B ddea09ec8a0a4b34779f1e8fe5fc4712ce7dd311ded308c77fb7925b8236e740bb8c345998f7e8e92837c7c19e9c4bbaf0bd0c2ac2b967cf98aa660105814d59 SHA512 2e79a7b854be51b04a91fffb3401a4bd2e7c6d74d1815d1228a9fca97b79c599463a062386f85555ba6ce9a3e8130a1615a3c576fe5411b7dff48c37eaf6b34b
diff --git a/dev-python/sabctools/metadata.xml b/dev-python/sabctools/metadata.xml
index 5f55022d388c..96af7f755660 100644
--- a/dev-python/sabctools/metadata.xml
+++ b/dev-python/sabctools/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>Matt.Jolly@footclan.ninja</email>
+ <maintainer type="person">
+ <email>kangie@gentoo.org</email>
<name>Matt Jolly</name>
</maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<upstream>
<remote-id type="github">sabnzbd/sabctools</remote-id>
<remote-id type="pypi">sabctools</remote-id>
diff --git a/dev-python/sabctools/sabctools-7.0.2.ebuild b/dev-python/sabctools/sabctools-7.0.2.ebuild
deleted file mode 100644
index de4949031d0a..000000000000
--- a/dev-python/sabctools/sabctools-7.0.2.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_PN="sabctools"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Module providing raw yEnc encoding/decoding for SABnzbd"
-HOMEPAGE="
- https://github.com/sabnzbd/sabctools/
- https://pypi.org/project/sabctools/
-"
-SRC_URI="
- https://github.com/sabnzbd/${MY_PN}/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-BDEPEND="
- test? (
- dev-python/chardet[${PYTHON_USEDEP}]
- dev-python/portend[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( README.md doc/yenc-draft.1.3.txt )
-
-distutils_enable_tests pytest
diff --git a/dev-python/sabctools/sabctools-7.1.1.ebuild b/dev-python/sabctools/sabctools-7.1.1.ebuild
deleted file mode 100644
index de4949031d0a..000000000000
--- a/dev-python/sabctools/sabctools-7.1.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_PN="sabctools"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Module providing raw yEnc encoding/decoding for SABnzbd"
-HOMEPAGE="
- https://github.com/sabnzbd/sabctools/
- https://pypi.org/project/sabctools/
-"
-SRC_URI="
- https://github.com/sabnzbd/${MY_PN}/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-BDEPEND="
- test? (
- dev-python/chardet[${PYTHON_USEDEP}]
- dev-python/portend[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( README.md doc/yenc-draft.1.3.txt )
-
-distutils_enable_tests pytest
diff --git a/dev-python/sabctools/sabctools-7.1.2.ebuild b/dev-python/sabctools/sabctools-7.1.2.ebuild
deleted file mode 100644
index a500ef55dcbb..000000000000
--- a/dev-python/sabctools/sabctools-7.1.2.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_PN="sabctools"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Module providing raw yEnc encoding/decoding for SABnzbd"
-HOMEPAGE="
- https://github.com/sabnzbd/sabctools/
- https://pypi.org/project/sabctools/
-"
-SRC_URI="
- https://github.com/sabnzbd/${MY_PN}/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="
- test? (
- dev-python/chardet[${PYTHON_USEDEP}]
- dev-python/portend[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( README.md doc/yenc-draft.1.3.txt )
-
-distutils_enable_tests pytest
diff --git a/dev-python/sabctools/sabctools-8.0.0.ebuild b/dev-python/sabctools/sabctools-8.0.0.ebuild
deleted file mode 100644
index de4949031d0a..000000000000
--- a/dev-python/sabctools/sabctools-8.0.0.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_PN="sabctools"
-MY_P="${MY_PN}-${PV}"
-
-DESCRIPTION="Module providing raw yEnc encoding/decoding for SABnzbd"
-HOMEPAGE="
- https://github.com/sabnzbd/sabctools/
- https://pypi.org/project/sabctools/
-"
-SRC_URI="
- https://github.com/sabnzbd/${MY_PN}/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}/${MY_P}"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-BDEPEND="
- test? (
- dev-python/chardet[${PYTHON_USEDEP}]
- dev-python/portend[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( README.md doc/yenc-draft.1.3.txt )
-
-distutils_enable_tests pytest
diff --git a/dev-python/sabctools/sabctools-8.1.0.ebuild b/dev-python/sabctools/sabctools-8.1.0.ebuild
new file mode 100644
index 000000000000..daa91eaf56e0
--- /dev/null
+++ b/dev-python/sabctools/sabctools-8.1.0.ebuild
@@ -0,0 +1,39 @@
+# 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} )
+
+inherit distutils-r1
+
+MY_PN="sabctools"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Module providing raw yEnc encoding/decoding for SABnzbd"
+HOMEPAGE="
+ https://github.com/sabnzbd/sabctools/
+ https://pypi.org/project/sabctools/
+"
+SRC_URI="
+ https://github.com/sabnzbd/${MY_PN}/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/portend[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( README.md doc/yenc-draft.1.3.txt )
+
+distutils_enable_tests pytest
diff --git a/dev-python/sabctools/sabctools-8.2.3.ebuild b/dev-python/sabctools/sabctools-8.2.3.ebuild
new file mode 100644
index 000000000000..daa91eaf56e0
--- /dev/null
+++ b/dev-python/sabctools/sabctools-8.2.3.ebuild
@@ -0,0 +1,39 @@
+# 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} )
+
+inherit distutils-r1
+
+MY_PN="sabctools"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Module providing raw yEnc encoding/decoding for SABnzbd"
+HOMEPAGE="
+ https://github.com/sabnzbd/sabctools/
+ https://pypi.org/project/sabctools/
+"
+SRC_URI="
+ https://github.com/sabnzbd/${MY_PN}/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/portend[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( README.md doc/yenc-draft.1.3.txt )
+
+distutils_enable_tests pytest
diff --git a/dev-python/sabctools/sabctools-8.2.4.ebuild b/dev-python/sabctools/sabctools-8.2.4.ebuild
new file mode 100644
index 000000000000..5660f5098ba9
--- /dev/null
+++ b/dev-python/sabctools/sabctools-8.2.4.ebuild
@@ -0,0 +1,39 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_PN="sabctools"
+MY_P="${MY_PN}-${PV}"
+
+DESCRIPTION="Module providing raw yEnc encoding/decoding for SABnzbd"
+HOMEPAGE="
+ https://github.com/sabnzbd/sabctools/
+ https://pypi.org/project/sabctools/
+"
+SRC_URI="
+ https://github.com/sabnzbd/${MY_PN}/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}/${MY_P}"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/portend[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( README.md doc/yenc-draft.1.3.txt )
+
+distutils_enable_tests pytest
diff --git a/dev-python/sarge/sarge-0.1.7_p1.ebuild b/dev-python/sarge/sarge-0.1.7_p1.ebuild
index 24f01fbebc35..7eb127eb0314 100644
--- a/dev-python/sarge/sarge-0.1.7_p1.ebuild
+++ b/dev-python/sarge/sarge-0.1.7_p1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/sarif-om/sarif-om-1.0.4-r1.ebuild b/dev-python/sarif-om/sarif-om-1.0.4-r1.ebuild
index f426244805b0..6482c0252e0a 100644
--- a/dev-python/sarif-om/sarif-om-1.0.4-r1.ebuild
+++ b/dev-python/sarif-om/sarif-om-1.0.4-r1.ebuild
@@ -1,16 +1,18 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
+
inherit distutils-r1 pypi
DESCRIPTION="Classes implementing the SARIF 2.1.0 object model"
HOMEPAGE="
https://pypi.org/project/sarif-om/
- https://github.com/microsoft/sarif-python-om/"
+ https://github.com/microsoft/sarif-python-om/
+"
LICENSE="MIT"
SLOT="0"
@@ -18,6 +20,8 @@ KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
RDEPEND="
dev-python/attrs[${PYTHON_USEDEP}]
- dev-python/pbr[${PYTHON_USEDEP}]"
+ dev-python/pbr[${PYTHON_USEDEP}]
+"
BDEPEND="
- dev-python/pbr[${PYTHON_USEDEP}]"
+ dev-python/pbr[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/schema/Manifest b/dev-python/schema/Manifest
new file mode 100644
index 000000000000..3d54fa8dfea0
--- /dev/null
+++ b/dev-python/schema/Manifest
@@ -0,0 +1 @@
+DIST schema-0.7.7.tar.gz 44245 BLAKE2B c984f5948b5f87eafe45cee42b927a61ea7b3fc1877474f189abf448f95be37d299720d1fe72b46d4a24760758c39818c966cef581df48fbf365b9754bcf7167 SHA512 9c811f5c4e87a123a5a1401b6e4b1ff5319f044458fa2b280740dbe78e76661ae868643f0c8a4b738161be6d8ad575401841a824df6664825a545aa0339815c2
diff --git a/dev-python/schema/metadata.xml b/dev-python/schema/metadata.xml
new file mode 100644
index 000000000000..44897a815387
--- /dev/null
+++ b/dev-python/schema/metadata.xml
@@ -0,0 +1,12 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">keleshev/schema</remote-id>
+ <remote-id type="pypi">schema</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/schema/schema-0.7.7.ebuild b/dev-python/schema/schema-0.7.7.ebuild
new file mode 100644
index 000000000000..b36d2507555f
--- /dev/null
+++ b/dev-python/schema/schema-0.7.7.ebuild
@@ -0,0 +1,21 @@
+# Copyright 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple data validation library"
+HOMEPAGE="
+ https://github.com/keleshev/schema/
+ https://pypi.org/project/schema/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+distutils_enable_tests pytest
diff --git a/dev-python/scikit-build-core/Manifest b/dev-python/scikit-build-core/Manifest
index 9028be4c1dc5..5d4c05dd05f8 100644
--- a/dev-python/scikit-build-core/Manifest
+++ b/dev-python/scikit-build-core/Manifest
@@ -1,2 +1 @@
-DIST scikit_build_core-0.6.1.tar.gz 191098 BLAKE2B 8ce97e6ae81b729fe2ea2bdaa8d90620f1279004f0b73cf7b546ae7f9427dc06f4f11afd251dd669ca044db5a7eca2602c2652fd4c85b759ca7db3e15daed53e SHA512 82902d1a18ce9e9b3088bfb61fe10366eadc2cc48869d995e3126c14e1abf42112e1b28739a782aa78301571291b044a6923e2ea125feee6b85b38e2d73f53a2
-DIST scikit_build_core-0.7.0.tar.gz 197884 BLAKE2B f632cc131af9db03db2c84b32e451c6369273f9d5db0bca2991cface419c5f9faa5d98239a8a5edd8a36749bc368c0f3c25b3813f33ed63f125731ba4e3d11ae SHA512 ee50070156030fe6c8e07db428902bec67e2267bf36338e62bd936e63f402da869fc4c629c0bc274ab6f798642d163906cc8d6695a62228580ba979878e5d6f8
+DIST scikit_build_core-0.9.8.tar.gz 229845 BLAKE2B 419d8891dd3f95bee7f8f7dcc1addb94d2698f8ff392eef19a67e851f57b58d09b9878705d0e8d728d3c6f2b316d538c76471164781fcd1fb5d02dfbfd9d7a85 SHA512 f1206715eef1bdeccddc5987cae4f455522c4ef4dbca305ad7d3772c61f5615c5742b109c5527a5ad5e25a2348abff69ea5ae7153ac18c43cca63783872aa3d5
diff --git a/dev-python/scikit-build-core/metadata.xml b/dev-python/scikit-build-core/metadata.xml
index 4636b4452315..22ba3826d7f1 100644
--- a/dev-python/scikit-build-core/metadata.xml
+++ b/dev-python/scikit-build-core/metadata.xml
@@ -4,7 +4,7 @@
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
- <stabilize-allarches/>
+ <!-- no ALLARCHES: a build system for C extensions -->
<upstream>
<remote-id type="github">scikit-build/scikit-build-core</remote-id>
<remote-id type="pypi">scikit-build-core</remote-id>
diff --git a/dev-python/scikit-build-core/scikit-build-core-0.6.1.ebuild b/dev-python/scikit-build-core/scikit-build-core-0.6.1.ebuild
deleted file mode 100644
index f798d2c34185..000000000000
--- a/dev-python/scikit-build-core/scikit-build-core-0.6.1.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Build backend for CMake based projects"
-HOMEPAGE="
- https://github.com/scikit-build/scikit-build-core/
- https://pypi.org/project/scikit-build-core/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-# we always want [pyproject] extra
-RDEPEND="
- >=dev-python/packaging-20.9[${PYTHON_USEDEP}]
- >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}]
- >=dev-python/pyproject-metadata-0.5[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/exceptiongroup[${PYTHON_USEDEP}]
- >=dev-python/tomli-1.1[${PYTHON_USEDEP}]
- ' 3.9 3.10)
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/build[${PYTHON_USEDEP}]
- >=dev-python/cattrs-22.2.0[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- >=dev-python/pytest-subprocess-1.5[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO / we don't package validate_pyproject anyway
- tests/test_schema.py::test_compare_schemas
- )
-
- epytest -m "not isolated and not network"
-}
diff --git a/dev-python/scikit-build-core/scikit-build-core-0.7.0.ebuild b/dev-python/scikit-build-core/scikit-build-core-0.7.0.ebuild
deleted file mode 100644
index f798d2c34185..000000000000
--- a/dev-python/scikit-build-core/scikit-build-core-0.7.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Build backend for CMake based projects"
-HOMEPAGE="
- https://github.com/scikit-build/scikit-build-core/
- https://pypi.org/project/scikit-build-core/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-# we always want [pyproject] extra
-RDEPEND="
- >=dev-python/packaging-20.9[${PYTHON_USEDEP}]
- >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}]
- >=dev-python/pyproject-metadata-0.5[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/exceptiongroup[${PYTHON_USEDEP}]
- >=dev-python/tomli-1.1[${PYTHON_USEDEP}]
- ' 3.9 3.10)
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/build[${PYTHON_USEDEP}]
- >=dev-python/cattrs-22.2.0[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- >=dev-python/pytest-subprocess-1.5[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO / we don't package validate_pyproject anyway
- tests/test_schema.py::test_compare_schemas
- )
-
- epytest -m "not isolated and not network"
-}
diff --git a/dev-python/scikit-build-core/scikit-build-core-0.9.8.ebuild b/dev-python/scikit-build-core/scikit-build-core-0.9.8.ebuild
new file mode 100644
index 000000000000..14c7618d86ef
--- /dev/null
+++ b/dev-python/scikit-build-core/scikit-build-core-0.9.8.ebuild
@@ -0,0 +1,63 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Build backend for CMake based projects"
+HOMEPAGE="
+ https://github.com/scikit-build/scikit-build-core/
+ https://pypi.org/project/scikit-build-core/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86"
+
+# we always want [pyproject] extra
+RDEPEND="
+ app-alternatives/ninja
+ dev-build/cmake
+ >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
+ >=dev-python/pathspec-0.10.1[${PYTHON_USEDEP}]
+ >=dev-python/pyproject-metadata-0.5[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/exceptiongroup[${PYTHON_USEDEP}]
+ >=dev-python/tomli-1.2.2[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ >=dev-python/cattrs-22.2.0[${PYTHON_USEDEP}]
+ dev-python/fastjsonschema[${PYTHON_USEDEP}]
+ dev-python/pybind11[${PYTHON_USEDEP}]
+ >=dev-python/pytest-subprocess-1.5[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local _EPYTEST_DESELECT=(
+ # TODO / we don't package validate_pyproject anyway
+ tests/test_schema.py::test_compare_schemas
+ # setuptools now respects PEP 625
+ tests/test_setuptools_pep517.py::test_pep517_sdist
+ )
+ local EPYTEST_IGNORE=(
+ # needs unpackaged validate_pyproject
+ tests/test_schema.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p subprocess -m "not isolated and not network"
+}
diff --git a/dev-python/scikit-build/Manifest b/dev-python/scikit-build/Manifest
index 5fba8e6d3153..0285d4720969 100644
--- a/dev-python/scikit-build/Manifest
+++ b/dev-python/scikit-build/Manifest
@@ -1 +1,2 @@
DIST scikit_build-0.17.6.tar.gz 272208 BLAKE2B 9e3f908041eca89182f798c54a1a248934dc026816f7cd041a8debc97be27096942dda42a0ae63e87b9337304a478d6f520edcd5ea7a45aae6a195d1f769eed2 SHA512 92b97146f40d8222bd8415ef8439497d5075b72e5bafc40aba0a3e2911d269a118f2f7d41f468f7add8949f550b1fd7d5a9113d249e42dfac431108182ca9198
+DIST scikit_build-0.18.0.tar.gz 273824 BLAKE2B 2eac991ea22948e900c4485783f5bcbb8b87bd5858bbe7ade99b2a67c16a9a035e04c53b2d9b94422a5eff36f33c11cf297198bce520ba818b7355386977a8a1 SHA512 a374f86c69a288ddcfe8e8d95b594b2bf94365b4d6d4d25a7912cf871f12dfb1866b1d74694c919ef8e4fef3d166b7afe9de3b32b56add33173840a9bb917c71
diff --git a/dev-python/scikit-build/files/scikit-build-0.17.6-setuptools-69.3.patch b/dev-python/scikit-build/files/scikit-build-0.17.6-setuptools-69.3.patch
new file mode 100644
index 000000000000..ce5121bea72f
--- /dev/null
+++ b/dev-python/scikit-build/files/scikit-build-0.17.6-setuptools-69.3.patch
@@ -0,0 +1,164 @@
+From acee12430753e8350435d4304196e8eaa654ccd6 Mon Sep 17 00:00:00 2001
+From: Steve Kowalik <steven@wedontsleep.org>
+Date: Mon, 3 Jun 2024 20:47:20 +1000
+Subject: [PATCH] Support setuptools 69.3.0 changes in four tests
+
+setuptools 69.3.0 now canonicalizes package names in filenames, which
+means all dashes are now converted to underscores, leading to test
+failures due to FileNotFoundErrors. Handle both cases to support older
+and newer setuptools.
+---
+ tests/test_hello_cython.py | 23 ++++++++++++++---------
+ tests/test_hello_fortran.py | 29 +++++++++++++++++------------
+ tests/test_hello_pure.py | 15 ++++++++++-----
+ tests/test_manifest_in.py | 17 +++++++++++------
+ 4 files changed, 52 insertions(+), 32 deletions(-)
+
+diff --git a/tests/test_hello_cython.py b/tests/test_hello_cython.py
+index dc95f697..1d9e944d 100644
+--- a/tests/test_hello_cython.py
++++ b/tests/test_hello_cython.py
+@@ -29,20 +29,25 @@ def test_hello_cython_sdist():
+ sdists_zip = glob.glob("dist/*.zip")
+ assert sdists_tar or sdists_zip
+
++ dirname = "hello-cython-1.2.3"
++ # setuptools 69.3.0 and above now canonicalize the filename as well.
++ if any("hello_cython" in x for x in sdists_zip + sdists_tar):
++ dirname = "hello_cython-1.2.3"
++
+ expected_content = [
+- "hello-cython-1.2.3/CMakeLists.txt",
+- "hello-cython-1.2.3/hello/_hello.pyx",
+- "hello-cython-1.2.3/hello/CMakeLists.txt",
+- "hello-cython-1.2.3/hello/__init__.py",
+- "hello-cython-1.2.3/hello/__main__.py",
+- "hello-cython-1.2.3/setup.py",
++ f"{dirname}/CMakeLists.txt",
++ f"{dirname}/hello/_hello.pyx",
++ f"{dirname}/hello/CMakeLists.txt",
++ f"{dirname}/hello/__init__.py",
++ f"{dirname}/hello/__main__.py",
++ f"{dirname}/setup.py",
+ ]
+
+- sdist_archive = "dist/hello-cython-1.2.3.zip"
++ sdist_archive = f"dist/{dirname}.zip"
+ if sdists_tar:
+- sdist_archive = "dist/hello-cython-1.2.3.tar.gz"
++ sdist_archive = f"dist/{dirname}.tar.gz"
+
+- check_sdist_content(sdist_archive, "hello-cython-1.2.3", expected_content, package_dir="hello")
++ check_sdist_content(sdist_archive, dirname, expected_content, package_dir="hello")
+
+
+ @project_setup_py_test("hello-cython", ["bdist_wheel"])
+diff --git a/tests/test_hello_fortran.py b/tests/test_hello_fortran.py
+index 41f5f444..be9cede9 100644
+--- a/tests/test_hello_fortran.py
++++ b/tests/test_hello_fortran.py
+@@ -33,23 +33,28 @@ def test_hello_fortran_sdist():
+ sdists_zip = glob.glob("dist/*.zip")
+ assert sdists_tar or sdists_zip
+
++ dirname = "hello-fortran-1.2.3"
++ # setuptools 69.3.0 and above now canonicalize the filename as well.
++ if any("hello_fortran" in x for x in sdists_zip + sdists_tar):
++ dirname = "hello_fortran-1.2.3"
++
+ expected_content = [
+- "hello-fortran-1.2.3/bonjour/_bonjour.f90",
+- "hello-fortran-1.2.3/bonjour/_bonjour.pyf",
+- "hello-fortran-1.2.3/bonjour/CMakeLists.txt",
+- "hello-fortran-1.2.3/CMakeLists.txt",
+- "hello-fortran-1.2.3/hello/_hello.f90",
+- "hello-fortran-1.2.3/hello/CMakeLists.txt",
+- "hello-fortran-1.2.3/hello/__init__.py",
+- "hello-fortran-1.2.3/hello/__main__.py",
+- "hello-fortran-1.2.3/setup.py",
++ f"{dirname}/bonjour/_bonjour.f90",
++ f"{dirname}/bonjour/_bonjour.pyf",
++ f"{dirname}/bonjour/CMakeLists.txt",
++ f"{dirname}/CMakeLists.txt",
++ f"{dirname}/hello/_hello.f90",
++ f"{dirname}/hello/CMakeLists.txt",
++ f"{dirname}/hello/__init__.py",
++ f"{dirname}/hello/__main__.py",
++ f"{dirname}/setup.py",
+ ]
+
+- sdist_archive = "dist/hello-fortran-1.2.3.zip"
++ sdist_archive = f"dist/{dirname}.zip"
+ if sdists_tar:
+- sdist_archive = "dist/hello-fortran-1.2.3.tar.gz"
++ sdist_archive = f"dist/{dirname}.tar.gz"
+
+- check_sdist_content(sdist_archive, "hello-fortran-1.2.3", expected_content)
++ check_sdist_content(sdist_archive, dirname, expected_content)
+
+
+ @pytest.mark.fortran()
+diff --git a/tests/test_hello_pure.py b/tests/test_hello_pure.py
+index 21b0840b..cc176854 100644
+--- a/tests/test_hello_pure.py
++++ b/tests/test_hello_pure.py
+@@ -27,16 +27,21 @@ def test_hello_pure_sdist():
+ sdists_zip = glob.glob("dist/*.zip")
+ assert sdists_tar or sdists_zip
+
++ dirname = "hello-pure-1.2.3"
++ # setuptools 69.3.0 and above now canonicalize the filename as well.
++ if any("hello_pure" in x for x in sdists_zip + sdists_tar):
++ dirname = "hello_pure-1.2.3"
++
+ expected_content = [
+- "hello-pure-1.2.3/hello/__init__.py",
+- "hello-pure-1.2.3/setup.py",
++ f"{dirname}/hello/__init__.py",
++ f"{dirname}/setup.py",
+ ]
+
+- sdist_archive = "dist/hello-pure-1.2.3.zip"
++ sdist_archive = f"dist/{dirname}.zip"
+ if sdists_tar:
+- sdist_archive = "dist/hello-pure-1.2.3.tar.gz"
++ sdist_archive = f"dist/{dirname}.tar.gz"
+
+- check_sdist_content(sdist_archive, "hello-pure-1.2.3", expected_content)
++ check_sdist_content(sdist_archive, dirname, expected_content)
+
+
+ @project_setup_py_test("hello-pure", ["bdist_wheel"], disable_languages_test=True)
+diff --git a/tests/test_manifest_in.py b/tests/test_manifest_in.py
+index 86652308..65c23d1a 100644
+--- a/tests/test_manifest_in.py
++++ b/tests/test_manifest_in.py
+@@ -21,17 +21,22 @@ def test_manifest_in_sdist():
+ sdists_zip = glob.glob("dist/*.zip")
+ assert sdists_tar or sdists_zip
+
++ dirname = "manifest-in-1.2.3"
++ # setuptools 69.3.0 and above now canonicalize the filename as well.
++ if any("manifest_in" in x for x in sdists_zip + sdists_tar):
++ dirname = "manifest_in-1.2.3"
++
+ expected_content = [
+- "manifest-in-1.2.3/hello/__init__.py",
+- "manifest-in-1.2.3/setup.py",
+- "manifest-in-1.2.3/MANIFEST.in",
++ f"{dirname}/hello/__init__.py",
++ f"{dirname}/setup.py",
++ f"{dirname}/MANIFEST.in",
+ ]
+
+- sdist_archive = "dist/manifest-in-1.2.3.zip"
++ sdist_archive = f"dist/{dirname}.zip"
+ if sdists_tar:
+- sdist_archive = "dist/manifest-in-1.2.3.tar.gz"
++ sdist_archive = f"dist/{dirname}.tar.gz"
+
+- check_sdist_content(sdist_archive, "manifest-in-1.2.3", expected_content)
++ check_sdist_content(sdist_archive, dirname, expected_content)
+
+
+ @project_setup_py_test("manifest-in", ["bdist_wheel"], disable_languages_test=True)
diff --git a/dev-python/scikit-build/scikit-build-0.17.6.ebuild b/dev-python/scikit-build/scikit-build-0.17.6.ebuild
index 64d867f18fce..13aa6fbe700a 100644
--- a/dev-python/scikit-build/scikit-build-0.17.6.ebuild
+++ b/dev-python/scikit-build/scikit-build-0.17.6.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -14,8 +14,8 @@ HOMEPAGE="
https://pypi.org/project/scikit-build/
"
-SLOT="0"
LICENSE="MIT"
+SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
@@ -24,7 +24,7 @@ RDEPEND="
>=dev-python/setuptools-42.0.0[${PYTHON_USEDEP}]
$(python_gen_cond_dep '
dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{9..10})
+ ' 3.10)
>=dev-python/wheel-0.32.0[${PYTHON_USEDEP}]
"
@@ -43,9 +43,15 @@ BDEPEND="
distutils_enable_sphinx docs \
dev-python/sphinx-rtd-theme \
dev-python/sphinx-issues
+# note: tests are unstable with xdist
distutils_enable_tests pytest
src_prepare() {
+ local PATCHES=(
+ # https://github.com/scikit-build/scikit-build/pull/1087
+ "${FILESDIR}/${P}-setuptools-69.3.patch"
+ )
+
# not packaged
sed -i -e '/cmakedomain/d' docs/conf.py || die
distutils-r1_src_prepare
@@ -63,6 +69,9 @@ python_test() {
;;
esac
- epytest -m "not isolated and not nosetuptoolsscm"
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock \
+ -m "not isolated and not nosetuptoolsscm" \
+ -o tmp_path_retention_count=1
rm -r "${BUILD_DIR}/install$(python_get_sitedir)"/{easy-install.pth,*.egg,*.egg-link} || die
}
diff --git a/dev-python/scikit-build/scikit-build-0.18.0.ebuild b/dev-python/scikit-build/scikit-build-0.18.0.ebuild
new file mode 100644
index 000000000000..4e9e8d953cd4
--- /dev/null
+++ b/dev-python/scikit-build/scikit-build-0.18.0.ebuild
@@ -0,0 +1,73 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Improved build system generator for Python C/C++/Fortran/Cython extensions"
+HOMEPAGE="
+ https://github.com/scikit-build/scikit-build/
+ https://pypi.org/project/scikit-build/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ dev-python/distro[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-42.0.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+ >=dev-python/wheel-0.32.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/build-0.7[${PYTHON_USEDEP}]
+ >=dev-python/cython-0.25.1[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ >=dev-python/pytest-mock-1.10.4[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/sphinx-rtd-theme \
+ dev-python/sphinx-issues
+# note: tests are unstable with xdist
+distutils_enable_tests pytest
+
+src_prepare() {
+ # not packaged
+ sed -i -e '/cmakedomain/d' docs/conf.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # no "library" in (our install of) pypy3
+ tests/test_cmaker.py::test_get_python_library
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock \
+ -m "not isolated and not nosetuptoolsscm" \
+ -o tmp_path_retention_count=1
+ rm -r "${BUILD_DIR}/install$(python_get_sitedir)"/{easy-install.pth,*.egg,*.egg-link} || die
+}
diff --git a/dev-python/scikit-image/Manifest b/dev-python/scikit-image/Manifest
new file mode 100644
index 000000000000..640af69cc674
--- /dev/null
+++ b/dev-python/scikit-image/Manifest
@@ -0,0 +1,3 @@
+DIST scikit-image-data-15735b54e85c02427f07c71e6456723495034805.tar.bz2 143900901 BLAKE2B c1352e76337250fe1a9d6e07f08b6c9b1e0aed922ab8e0a3a4a1ea175f593b3375522e59550d30a22d392c34fef26d638c007c2af3d991887e02e7c68e56ebbb SHA512 d113dd258b35be710d841f9900cfbfe7103d1190b042489de88dd504b56277edac9a98fed5517e57725c5292fe26528267a06ff313bf6500b669d872c4481146
+DIST scikit_image-0.23.2.tar.gz 22678261 BLAKE2B 11c44676e9f7bce7735e85d8416175a55b1808807b99597d60495dc2b0c961a05a514b5ec456665a25d31cc09a20e430c331cfd5bc10afa01ca4070722aa03f8 SHA512 8abf6c2bb92a75524d254265822cdc49db636a482efe0d6459fc113f6898bc5c19ad58905a5020a9c4262f55993ad2e8d13810023c62d06c5ee9854666f5337f
+DIST scikit_image-0.24.0.tar.gz 22693928 BLAKE2B f165f702908fe446b459de3db0ec056a4b79d7266f85bc81c991569c1e492c22d238e8553d8f035abd83d4d3c4b449304e74b55d8bf558cac977c3ea5f0c864a SHA512 becb062725b4c1f64e12a1f775175e48dbce1b989c1e8f40ec04ff79cb926740be514b9a0a68e3f9e17fb0d3c7b860c7451b91eb178bbae93521e02e3e8e92db
diff --git a/dev-python/scikit-image/metadata.xml b/dev-python/scikit-image/metadata.xml
new file mode 100644
index 000000000000..132691d57cb8
--- /dev/null
+++ b/dev-python/scikit-image/metadata.xml
@@ -0,0 +1,18 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ This SciKit (toolkit for SciPy) includes useful image processing
+ algorithms for use with Python and NumPy. While SciPy’s ndimage
+ provides low-level manipulation, scikits.image centres around
+ algorithms and applications.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">scikit-image</remote-id>
+ <remote-id type="github">scikit-image/scikit-image</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/scikit-image/scikit-image-0.23.2.ebuild b/dev-python/scikit-image/scikit-image-0.23.2.ebuild
new file mode 100644
index 000000000000..2ec63290c17b
--- /dev/null
+++ b/dev-python/scikit-image/scikit-image-0.23.2.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=meson-python
+DISTUTILS_EXT=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 optfeature pypi
+
+TEST_DATA_COMMIT=15735b54e85c02427f07c71e6456723495034805
+DESCRIPTION="Image processing routines for SciPy"
+HOMEPAGE="
+ https://scikit-image.org/
+ https://github.com/scikit-image/scikit-image/
+ https://pypi.org/project/scikit-image/
+"
+SRC_URI+="
+ test? (
+ https://gitlab.com/scikit-image/data/-/archive/${TEST_DATA_COMMIT}/scikit-image-data-${TEST_DATA_COMMIT}.tar.bz2
+ )
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/imageio-2.33[${PYTHON_USEDEP}]
+ >=dev-python/lazy-loader-0.4[${PYTHON_USEDEP}]
+ >=dev-python/networkx-2.8[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
+ >=dev-python/pillow-9.1[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.9[sparse(+),${PYTHON_USEDEP}]
+ >=dev-python/tifffile-2022.8.12[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-python/cython-3.0.4[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( CONTRIBUTORS.txt RELEASE.txt )
+
+# xdist does not work with this test suite
+distutils_enable_tests pytest
+# There is a programmable error in your configuration file:
+#distutils_enable_sphinx doc/source dev-python/numpydoc dev-python/myst-parser
+
+src_test() {
+ # for some reason, upstream refetches data that's already in the tarball
+ # sigh
+ mkdir -p "${HOME}/.cache/scikit-image" || die
+ mv skimage "${HOME}/.cache/scikit-image/${PV/_/}" || die
+
+ # This is a true horror, sigh
+ local cache_dir=${HOME}/.cache/scikit-image/${PV/_/}/data
+ pushd "${WORKDIR}/data-${TEST_DATA_COMMIT}" >/dev/null || die
+ cp Tests_besides_Equalize_Otsu/add18_entropy/rank_filters_tests_3d.npz \
+ Tests_besides_Equalize_Otsu/gray_morph_output.npz \
+ brain.tiff cells3d.tif eagle.png \
+ "${cache_dir}/" || die
+ cp Normal_Epidermis_and_Dermis_with_Intradermal_Nevus_10x.JPG "${cache_dir}"/skin.jpg || die
+ cp pivchallenge/B/B001_1.tif "${cache_dir}"/pivchallenge-B-B001_1.tif || die
+ cp pivchallenge/B/B001_2.tif "${cache_dir}"/pivchallenge-B-B001_2.tif || die
+ cp kidney-tissue-fluorescence.tif "${cache_dir}"/kidney.tif || die
+ cp lily-of-the-valley-fluorescence.tif "${cache_dir}"/lily.tif || die
+ cp astronaut_rl.npy "${cache_dir}/../restoration/tests/" || die
+ popd > /dev/null || die
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # tests for downloading all data files, including these not needed
+ # by any actual tests
+ data/tests/test_data.py::test_download_all_with_pooch
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest --pyargs skimage -p localserver -o xfail_strict=False
+}
+
+pkg_postinst() {
+ optfeature "FITS io capability" dev-python/astropy
+ optfeature "GTK" dev-python/pygtk
+ optfeature "io plugin providing most standard formats" dev-python/imread
+ optfeature "plotting" dev-python/matplotlib
+ optfeature "wavelet transformations" dev-python/pywavelets
+ optfeature "io plugin providing a wide variety of formats, including specialized formats using in medical imaging." dev-python/simpleitk
+}
diff --git a/dev-python/scikit-image/scikit-image-0.24.0.ebuild b/dev-python/scikit-image/scikit-image-0.24.0.ebuild
new file mode 100644
index 000000000000..2ec63290c17b
--- /dev/null
+++ b/dev-python/scikit-image/scikit-image-0.24.0.ebuild
@@ -0,0 +1,96 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=meson-python
+DISTUTILS_EXT=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 optfeature pypi
+
+TEST_DATA_COMMIT=15735b54e85c02427f07c71e6456723495034805
+DESCRIPTION="Image processing routines for SciPy"
+HOMEPAGE="
+ https://scikit-image.org/
+ https://github.com/scikit-image/scikit-image/
+ https://pypi.org/project/scikit-image/
+"
+SRC_URI+="
+ test? (
+ https://gitlab.com/scikit-image/data/-/archive/${TEST_DATA_COMMIT}/scikit-image-data-${TEST_DATA_COMMIT}.tar.bz2
+ )
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/imageio-2.33[${PYTHON_USEDEP}]
+ >=dev-python/lazy-loader-0.4[${PYTHON_USEDEP}]
+ >=dev-python/networkx-2.8[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
+ >=dev-python/pillow-9.1[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.9[sparse(+),${PYTHON_USEDEP}]
+ >=dev-python/tifffile-2022.8.12[${PYTHON_USEDEP}]
+"
+DEPEND="${RDEPEND}"
+BDEPEND="
+ >=dev-python/cython-3.0.4[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( CONTRIBUTORS.txt RELEASE.txt )
+
+# xdist does not work with this test suite
+distutils_enable_tests pytest
+# There is a programmable error in your configuration file:
+#distutils_enable_sphinx doc/source dev-python/numpydoc dev-python/myst-parser
+
+src_test() {
+ # for some reason, upstream refetches data that's already in the tarball
+ # sigh
+ mkdir -p "${HOME}/.cache/scikit-image" || die
+ mv skimage "${HOME}/.cache/scikit-image/${PV/_/}" || die
+
+ # This is a true horror, sigh
+ local cache_dir=${HOME}/.cache/scikit-image/${PV/_/}/data
+ pushd "${WORKDIR}/data-${TEST_DATA_COMMIT}" >/dev/null || die
+ cp Tests_besides_Equalize_Otsu/add18_entropy/rank_filters_tests_3d.npz \
+ Tests_besides_Equalize_Otsu/gray_morph_output.npz \
+ brain.tiff cells3d.tif eagle.png \
+ "${cache_dir}/" || die
+ cp Normal_Epidermis_and_Dermis_with_Intradermal_Nevus_10x.JPG "${cache_dir}"/skin.jpg || die
+ cp pivchallenge/B/B001_1.tif "${cache_dir}"/pivchallenge-B-B001_1.tif || die
+ cp pivchallenge/B/B001_2.tif "${cache_dir}"/pivchallenge-B-B001_2.tif || die
+ cp kidney-tissue-fluorescence.tif "${cache_dir}"/kidney.tif || die
+ cp lily-of-the-valley-fluorescence.tif "${cache_dir}"/lily.tif || die
+ cp astronaut_rl.npy "${cache_dir}/../restoration/tests/" || die
+ popd > /dev/null || die
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # tests for downloading all data files, including these not needed
+ # by any actual tests
+ data/tests/test_data.py::test_download_all_with_pooch
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest --pyargs skimage -p localserver -o xfail_strict=False
+}
+
+pkg_postinst() {
+ optfeature "FITS io capability" dev-python/astropy
+ optfeature "GTK" dev-python/pygtk
+ optfeature "io plugin providing most standard formats" dev-python/imread
+ optfeature "plotting" dev-python/matplotlib
+ optfeature "wavelet transformations" dev-python/pywavelets
+ optfeature "io plugin providing a wide variety of formats, including specialized formats using in medical imaging." dev-python/simpleitk
+}
diff --git a/dev-python/scikit-learn/Manifest b/dev-python/scikit-learn/Manifest
new file mode 100644
index 000000000000..720d475019bc
--- /dev/null
+++ b/dev-python/scikit-learn/Manifest
@@ -0,0 +1,2 @@
+DIST scikit-learn-1.5.0.gh.tar.gz 7806059 BLAKE2B d58a92fa230ee3f249cd9d9cf2cfd9406e12b0aaed6f3d3360fc5f914b7d690709786477474b95d90711f61b44d5490b01bcb57e36a320235591d3b2520dd9c0 SHA512 dfa6364770a982642c94e70a6ada8d60d3bba5e0a6e1d4acb622c102f176b39ba1c8b5ec8df6a12142afa258974cd606f0bdda4461dc23b7518bfaf71a7319cc
+DIST scikit-learn-1.5.1.gh.tar.gz 6944196 BLAKE2B 65ed2016e1caf12e9a347e133b6b3be29b234de7ee8e374859a7235da3ede67a1b4c37a253b62ceb85a1ae3a1e6bc5afea2a0f07f4a7c81f59965614bde52b8c SHA512 f04c988490436d46d8210e68e41969af689810eff3e57098694768d3ccb7c4b919aecb13f36af1534745e56785fbf55c3dc3614497765d5b2f7c5e7e8dfbae05
diff --git a/dev-python/scikit-learn/metadata.xml b/dev-python/scikit-learn/metadata.xml
new file mode 100644
index 000000000000..8700c73ecc29
--- /dev/null
+++ b/dev-python/scikit-learn/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>sci@gentoo.org</email>
+ <name>Gentoo Science Project</name>
+ </maintainer>
+ <longdescription lang="en">
+ sklearn is a python library for machine learning. It aims to
+ implement classic machine learning algorithms while remaining simple
+ and efficient.
+ </longdescription>
+ <upstream>
+ <remote-id type="pypi">scikit-learn</remote-id>
+ <remote-id type="github">scikit-learn/scikit-learn</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/scikit-learn/scikit-learn-1.5.0.ebuild b/dev-python/scikit-learn/scikit-learn-1.5.0.ebuild
new file mode 100644
index 000000000000..bfe7835f2238
--- /dev/null
+++ b/dev-python/scikit-learn/scikit-learn-1.5.0.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Machine learning library for Python"
+HOMEPAGE="
+ https://scikit-learn.org/stable/
+ https://github.com/scikit-learn/scikit-learn/
+ https://pypi.org/project/scikit-learn/
+"
+SRC_URI="
+ https://github.com/scikit-learn/scikit-learn/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ppc64 ~riscv ~x86 ~arm64-macos ~x64-macos"
+IUSE="examples"
+
+DEPEND="
+ virtual/blas:=
+ virtual/cblas:=
+ >=dev-python/numpy-1.19.5:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/joblib-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/threadpoolctl-3.1.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pythran-0.14.0[${PYTHON_USEDEP}]
+ >=dev-python/cython-3.0.10[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+# For some reason this wants to use urllib to fetch things from the internet
+# distutils_enable_sphinx doc \
+# dev-python/matplotlib \
+# dev-python/memory-profiler \
+# dev-python/numpydoc \
+# dev-python/pandas \
+# dev-python/pillow \
+# dev-python/seaborn \
+# dev-python/sphinx-gallery \
+# dev-python/sphinx-prompt \
+# dev-python/scikit-image
+
+python_test() {
+ rm -rf sklearn || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest --pyargs sklearn
+}
+
+python_install_all() {
+ find "${S}" -name \*LICENSE.txt -delete || die
+ distutils-r1_python_install_all
+ use examples && dodoc -r examples
+}
diff --git a/dev-python/scikit-learn/scikit-learn-1.5.1.ebuild b/dev-python/scikit-learn/scikit-learn-1.5.1.ebuild
new file mode 100644
index 000000000000..2a967ff73380
--- /dev/null
+++ b/dev-python/scikit-learn/scikit-learn-1.5.1.ebuild
@@ -0,0 +1,69 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Machine learning library for Python"
+HOMEPAGE="
+ https://scikit-learn.org/stable/
+ https://github.com/scikit-learn/scikit-learn/
+ https://pypi.org/project/scikit-learn/
+"
+SRC_URI="
+ https://github.com/scikit-learn/scikit-learn/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86 ~arm64-macos ~x64-macos"
+IUSE="examples"
+
+DEPEND="
+ virtual/blas:=
+ virtual/cblas:=
+ >=dev-python/numpy-1.19.5:=[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/joblib-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/threadpoolctl-3.1.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/pythran-0.14.0[${PYTHON_USEDEP}]
+ >=dev-python/cython-3.0.10[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+# For some reason this wants to use urllib to fetch things from the internet
+# distutils_enable_sphinx doc \
+# dev-python/matplotlib \
+# dev-python/memory-profiler \
+# dev-python/numpydoc \
+# dev-python/pandas \
+# dev-python/pillow \
+# dev-python/seaborn \
+# dev-python/sphinx-gallery \
+# dev-python/sphinx-prompt \
+# dev-python/scikit-image
+
+python_test() {
+ rm -rf sklearn || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest --pyargs sklearn
+}
+
+python_install_all() {
+ find "${S}" -name \*LICENSE.txt -delete || die
+ distutils-r1_python_install_all
+ use examples && dodoc -r examples
+}
diff --git a/dev-python/scipy/Manifest b/dev-python/scipy/Manifest
index 456596767a77..1e6b60d8065c 100644
--- a/dev-python/scipy/Manifest
+++ b/dev-python/scipy/Manifest
@@ -1,9 +1,2 @@
-DIST scipy-1.10.1.tar.gz 42407997 BLAKE2B 807dceb1e056a1a2c0ec354e4e21f64e59cdab9eaf286cec3783bb93bf80efa00a71e7bd8d1898e8a2fdf86b614f035a0a97436dc4515574d73d9d4521824316 SHA512 767e1dee6285d98e4d58d8d8d1e3654b00e3216e9ad55455fc9473f1d044bef80ecce749bcd24d8f331367b882c9c3e6b652a6e901bb4296ddc7cc44699215b6
-DIST scipy-1.11.0.tar.gz 56030121 BLAKE2B e700bf8f9cffa7bc0f4832722010dcf2e03d8f93d13534f7f85734394c02536c1427cae5a097b59616f0873ba941579fcf2efd0baafc2037d9eca1f93362d38b SHA512 248cfbbedba73925b0461bf0f96c4a11bd4cfc7849cb18c58f6405074796ab0efdc4f056c58d344cb8833c0d2c6425f84e7ac6fe958cf98b1cc0bf16e7ff2444
-DIST scipy-1.11.1.tar.gz 56031509 BLAKE2B 456a80103f8c31c456f80e06b25d765f7ad5655dbdd49e99f476e78273f4291c578a8e99fda3f3a1e848c0e75e08629a09a8146b4a798e85edcaffb7ed1d34a9 SHA512 2859fc73c4fef713497f450b76a57d274bb46477a08ac909714823225f065a13c1e42a61ce67575cfc475e1e4612090cc4ca0920411fe32370c5b5c476352f97
-DIST scipy-1.11.2.tar.gz 56045065 BLAKE2B c92a27ef7b560c17bea7dbbc5ca7e192cc7ee8297b65887c3bad50509cca0f83314b688e8c9ef14228c7891e4c16e9d45920de7cb39a0456c7712ae752839203 SHA512 f6902d48617827d01f69c057f3c4790c7388bc58df0791ade96e073740253bc0529475f9fc22d00c23c0b649acaeb820792528d3805d0ac68588c329aa87b3f2
-DIST scipy-1.11.3.tar.gz 56335652 BLAKE2B 2b35c24522b2bd498b4ebe84a854c8ec1e62917e7b899b3e3526abb9780c1e56f8e776a3bb1eab1bedb17a273fac881e5ffdaac808084a4f5a5f97428bff1029 SHA512 6491c4e479d9f4f02e677396a25ddca947a0dc6c009fc2ec34c658012a6224c0b535f14045bb011fbde9973ea987d184574ed64e6760c31798ec860eb0896fcf
-DIST scipy-1.11.4.tar.gz 56336202 BLAKE2B a2091a1edb54eb73c2de6ed8c62a7e571f37b247c9af50947aa97b739342c96b87b20a82b1a238c859fa532c84249cbadde228366dcea3555e9a506c1ae55031 SHA512 2eb403f6de9723b411d948b8e1b5457078704c605b8e760d42362c82d802e167eaaf701ddb8b480af2bdf2efe4dbf66fcc4e97321519bb8dab19b0e2a8976beb
-DIST scipy-html-1.10.1.zip 49191107 BLAKE2B 5163ae3a62745992bcf94ab02ca2bb13fcf6d2ae0eb2a113ba29bc37a8e8f40ec70e39fe16e6371ce0bc31d4c8f0f46746be91b4fe2ad41c68a985c6f00fb8e7 SHA512 f3252452d3bfd400890f29460de2f97bf72732e0fc864582e906b78808e856ead5b1bf97cba531f2150e396408e585499d127004231421d20108e96040316232
-DIST scipy-html-1.11.0.zip 50421508 BLAKE2B cb5e4a4f8817a80f54ae73b4a47ba22d2438df46ebfe27ef5fdc2695fdd983226f4ccae925bf82b15d01ced4f4b6807384ecadac5e1aa7700aa887ad06b7d065 SHA512 33718bbd5e828687d93fccc441a53b6a2e8f54ac4952d3b69d4c4668f55cb6ef5aba33df9acda20b2400effa5ae71767b2a5602a365ad2045a6edd24ff89c253
-DIST scipy-html-1.11.2.zip 50435722 BLAKE2B 460c67509a8bf50986f866ee2f90e634af21ddd71508efeef5681c2ee2130c3f79b4b428bc21277bfb310bb45ccad1fb38221ada43620055377cdc4839b9d1e5 SHA512 986a6e37f9e01dc4925ef22af6ff660bae1e4b66e57270262974c207dfb70285e3f8f548774d6e81d5f457b9198c0ba1c06e6d689fe5d54fdea878c1e5a7f797
+DIST scipy-1.14.0.tar.gz 58618870 BLAKE2B bf9ed05628b02dc058555402995caae722cf6802bde80387d4e4477ec533589a66ca70b5dd44a32ddac652c7c69300406434b80e7cbc9aee2a78ae6b26ee4c2b SHA512 6579d988a2093602f5fc82203bbb5dc5690a95032484b5d5bd843d1e7995b3b89d802c7b38ec0345c1f3d8e22c98fb92b3982a1eadfcdf63607f929a52b56abf
+DIST scipy-html-1.14.0.zip 65723829 BLAKE2B ba47dbf00a5d2a53a9addc5ea68ab18b42f211a018b89aa4b0b57ff0dee02e410a3effc59ddf8fbbc5aa33075d45d86880aed3a14068da5bd7b62ee526199967 SHA512 93be0bafcc64cea1ba130bbcc77c0741acc4f819c84a5030391a22657a1bc63abe8434a2723f66b7ad04c0809dc6d02e3a97ffb8d94bd3d4a4bb759ee796b475
diff --git a/dev-python/scipy/files/scipy-1.11.0-determinant-1x1-matrix.patch b/dev-python/scipy/files/scipy-1.11.0-determinant-1x1-matrix.patch
deleted file mode 100644
index 248ee5299f2c..000000000000
--- a/dev-python/scipy/files/scipy-1.11.0-determinant-1x1-matrix.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-https://github.com/scipy/scipy/issues/18759
-https://github.com/scipy/scipy/pull/18763
-https://github.com/scipy/scipy/commit/61d892c9faa543ad80bd5e2d0bf69821188487e0
-
-From 61d892c9faa543ad80bd5e2d0bf69821188487e0 Mon Sep 17 00:00:00 2001
-From: Ilhan Polat <ilhanpolat@gmail.com>
-Date: Tue, 27 Jun 2023 12:00:38 +0200
-Subject: [PATCH] MAINT:linalg.det:Return scalars for singleton inputs (#18763)
-
---- a/scipy/linalg/_basic.py
-+++ b/scipy/linalg/_basic.py
-@@ -1001,7 +1001,8 @@ def det(a, overwrite_a=False, check_finite=True):
- det : (...) float or complex
- Determinant of `a`. For stacked arrays, a scalar is returned for each
- (m, m) slice in the last two dimensions of the input. For example, an
-- input of shape (p, q, m, m) will produce a result of shape (p, q).
-+ input of shape (p, q, m, m) will produce a result of shape (p, q). If
-+ all dimensions are 1 a scalar is returned regardless of ndim.
-
- Notes
- -----
-@@ -1066,11 +1067,17 @@ def det(a, overwrite_a=False, check_finite=True):
-
- # Scalar case
- if a1.shape[-2:] == (1, 1):
-- if a1.dtype.char in 'dD':
-- return np.squeeze(a1)
-+ # Either ndarray with spurious singletons or a single element
-+ if max(*a1.shape) > 1:
-+ temp = np.squeeze(a1)
-+ if a1.dtype.char in 'dD':
-+ return temp
-+ else:
-+ return (temp.astype('d') if a1.dtype.char == 'f' else
-+ temp.astype('D'))
- else:
-- return (np.squeeze(a1).astype('d') if a1.dtype.char == 'f' else
-- np.squeeze(a1).astype('D'))
-+ return (np.float64(a1.item()) if a1.dtype.char in 'fd' else
-+ np.complex128(a1.item()))
-
- # Then check overwrite permission
- if not _datacopied(a1, a): # "a" still alive through "a1"
---- a/scipy/linalg/tests/test_basic.py
-+++ b/scipy/linalg/tests/test_basic.py
-@@ -930,6 +930,23 @@ class TestDet:
- def setup_method(self):
- self.rng = np.random.default_rng(1680305949878959)
-
-+ def test_1x1_all_singleton_dims(self):
-+ a = np.array([[1]])
-+ deta = det(a)
-+ assert deta.dtype.char == 'd'
-+ assert np.isscalar(deta)
-+ assert deta == 1.
-+ a = np.array([[[[1]]]], dtype='f')
-+ deta = det(a)
-+ assert deta.dtype.char == 'd'
-+ assert np.isscalar(deta)
-+ assert deta == 1.
-+ a = np.array([[[1 + 3.j]]], dtype=np.complex64)
-+ deta = det(a)
-+ assert deta.dtype.char == 'D'
-+ assert np.isscalar(deta)
-+ assert deta == 1.+3.j
-+
- def test_1by1_stacked_input_output(self):
- a = self.rng.random([4, 5, 1, 1], dtype=np.float32)
- deta = det(a)
diff --git a/dev-python/scipy/files/scipy-1.11.1-cython-3.patch b/dev-python/scipy/files/scipy-1.11.1-cython-3.patch
deleted file mode 100644
index 4b402b5c469d..000000000000
--- a/dev-python/scipy/files/scipy-1.11.1-cython-3.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From d0dd5c957876300c33db303042dfa4888b1696f4 Mon Sep 17 00:00:00 2001
-From: Matus Valo <matusvalo@gmail.com>
-Date: Sun, 2 Jul 2023 23:12:51 +0200
-Subject: [PATCH 1/2] Add cython_optimize.pxd to _cython_tree
-
----
- scipy/optimize/meson.build | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/scipy/optimize/meson.build b/scipy/optimize/meson.build
-index 26458b05cd7..7c6097acf55 100644
---- a/scipy/optimize/meson.build
-+++ b/scipy/optimize/meson.build
-@@ -206,6 +206,10 @@ endif
-
- _dummy_init_optimize = fs.copyfile('__init__.py')
-
-+_cython_tree = [
-+ fs.copyfile('cython_optimize.pxd'),
-+]
-+
- opt_gen = generator(cython,
- arguments : cython_args,
- output : '@BASENAME@.c',
-
-From b8621185fa61d6b3610e2cb62eae3b81434952c9 Mon Sep 17 00:00:00 2001
-From: Matus Valo <matusvalo@gmail.com>
-Date: Sun, 2 Jul 2023 23:28:41 +0200
-Subject: [PATCH 2/2] Use absolute import in cython_optimize.pxd
-
----
- scipy/optimize/cython_optimize.pxd | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/scipy/optimize/cython_optimize.pxd b/scipy/optimize/cython_optimize.pxd
-index d5a0bdd758e..d35f8da68b3 100644
---- a/scipy/optimize/cython_optimize.pxd
-+++ b/scipy/optimize/cython_optimize.pxd
-@@ -7,5 +7,5 @@
- # support. Changing it causes an ABI forward-compatibility break
- # (gh-11793), so we currently leave it as is (no further cimport
- # statements should be used in this file).
--from .cython_optimize._zeros cimport (
-+from scipy.optimize.cython_optimize._zeros cimport (
- brentq, brenth, ridder, bisect, zeros_full_output)
diff --git a/dev-python/scipy/scipy-1.10.1.ebuild b/dev-python/scipy/scipy-1.10.1.ebuild
deleted file mode 100644
index d5fdfb2484a5..000000000000
--- a/dev-python/scipy/scipy-1.10.1.ebuild
+++ /dev/null
@@ -1,121 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-FORTRAN_NEEDED=fortran
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit fortran-2 distutils-r1 multiprocessing
-
-DESCRIPTION="Scientific algorithms library for Python"
-HOMEPAGE="
- https://scipy.org/
- https://github.com/scipy/scipy/
- https://pypi.org/project/scipy/
-"
-
-if [[ ${PV} == *9999* ]] ; then
- inherit git-r3
-
- # Need submodules, so git for now.
- EGIT_REPO_URI="https://github.com/scipy/scipy"
- EGIT_BRANCH="maintenance/$(ver_cut 1-2).x"
- EGIT_SUBMODULES=( '*' )
-else
- inherit pypi
-
- # Upstream is often behind with doc updates
- DOC_PV=${PV}
-
- SRC_URI+="
- doc? (
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${DOC_PV}.zip
- )"
-
- if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="amd64 arm arm64 -hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
- fi
-fi
-
-LICENSE="BSD LGPL-2"
-SLOT="0"
-IUSE="doc +fortran test-rust"
-
-# umfpack is technically optional but it's preferred to have it available.
-DEPEND="
- >=dev-python/numpy-1.19.5[lapack,${PYTHON_USEDEP}]
- sci-libs/arpack:=
- sci-libs/umfpack
- virtual/cblas
- >=virtual/lapack-3.8
-"
-RDEPEND="
- ${DEPEND}
- dev-python/pillow[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-lang/swig
- >=dev-python/cython-0.29.18[${PYTHON_USEDEP}]
- >=dev-python/meson-python-0.11[${PYTHON_USEDEP}]
- dev-python/pybind11[${PYTHON_USEDEP}]
- >=dev-util/meson-0.62.2
- dev-util/patchelf
- virtual/pkgconfig
- doc? ( app-arch/unzip )
- fortran? ( dev-python/pythran[${PYTHON_USEDEP}] )
- test? (
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
- test-rust? (
- dev-python/pooch[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_unpack() {
- default
-
- if use doc; then
- unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die
- fi
-}
-
-python_configure_all() {
- export SCIPY_USE_PYTHRAN=$(usex fortran 1 0)
- DISTUTILS_ARGS=(
- -Dblas=blas
- -Dlapack=lapack
- )
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
-
- local EPYTEST_DESELECT=(
- # Network
- scipy/datasets/tests/test_data.py::TestDatasets::test_existence_all
- scipy/datasets/tests/test_data.py::TestDatasets::test_ascent
- scipy/datasets/tests/test_data.py::TestDatasets::test_face
- scipy/datasets/tests/test_data.py::TestDatasets::test_electrocardiogram
- )
- local EPYTEST_IGNORE=()
-
- if ! has_version -b "dev-python/pooch[${PYTHON_USEDEP}]" ; then
- EPYTEST_IGNORE+=(
- scipy/datasets/tests/test_data.py
- )
- fi
-
- epytest -n "$(makeopts_jobs)" scipy
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( "${WORKDIR}"/html/. )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/scipy/scipy-1.11.0-r1.ebuild b/dev-python/scipy/scipy-1.11.0-r1.ebuild
deleted file mode 100644
index f3c49aa6ef84..000000000000
--- a/dev-python/scipy/scipy-1.11.0-r1.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-FORTRAN_NEEDED=fortran
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit fortran-2 distutils-r1 multiprocessing
-
-DESCRIPTION="Scientific algorithms library for Python"
-HOMEPAGE="
- https://scipy.org/
- https://github.com/scipy/scipy/
- https://pypi.org/project/scipy/
-"
-
-if [[ ${PV} == *9999* ]] ; then
- inherit git-r3
-
- # Need submodules, so git for now.
- EGIT_REPO_URI="https://github.com/scipy/scipy"
- EGIT_BRANCH="maintenance/$(ver_cut 1-2).x"
- EGIT_SUBMODULES=( '*' )
-else
- inherit pypi
-
- # Upstream is often behind with doc updates
- DOC_PV=${PV}
-
- SRC_URI+="
- doc? (
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${DOC_PV}.zip
- )"
-
- if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="~amd64 ~arm ~arm64 -hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
- fi
-fi
-
-LICENSE="BSD LGPL-2"
-SLOT="0"
-IUSE="doc +fortran test-rust"
-
-# umfpack is technically optional but it's preferred to have it available.
-DEPEND="
- >=dev-python/numpy-1.21.6[lapack,${PYTHON_USEDEP}]
- sci-libs/arpack:=
- sci-libs/umfpack
- virtual/cblas
- >=virtual/lapack-3.8
-"
-RDEPEND="
- ${DEPEND}
- dev-python/pillow[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-lang/swig
- >=dev-python/cython-0.29.35[${PYTHON_USEDEP}]
- >=dev-python/meson-python-0.12.1[${PYTHON_USEDEP}]
- >=dev-python/pybind11-2.10.4[${PYTHON_USEDEP}]
- >=dev-util/meson-1.1.0
- dev-util/patchelf
- virtual/pkgconfig
- doc? ( app-arch/unzip )
- fortran? ( dev-python/pythran[${PYTHON_USEDEP}] )
- test? (
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
- test-rust? (
- dev-python/pooch[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}"/${P}-determinant-1x1-matrix.patch
-)
-
-src_unpack() {
- default
-
- if use doc; then
- unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die
- fi
-}
-
-python_configure_all() {
- DISTUTILS_ARGS=(
- -Dblas=blas
- -Dlapack=lapack
- -Duse-pythran=$(usex fortran true false)
- )
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
-
- local EPYTEST_DESELECT=(
- # Network
- scipy/datasets/tests/test_data.py::TestDatasets::test_existence_all
- scipy/datasets/tests/test_data.py::TestDatasets::test_ascent
- scipy/datasets/tests/test_data.py::TestDatasets::test_face
- scipy/datasets/tests/test_data.py::TestDatasets::test_electrocardiogram
-
- # Precision issue with diff. blas?
- scipy/optimize/tests/test__basinhopping.py::Test_Metropolis::test_gh7799
- )
- local EPYTEST_IGNORE=()
-
- if ! has_version -b "dev-python/pooch[${PYTHON_USEDEP}]" ; then
- EPYTEST_IGNORE+=(
- scipy/datasets/tests/test_data.py
- )
- fi
-
- epytest -n "$(makeopts_jobs)" scipy
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( "${WORKDIR}"/html/. )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/scipy/scipy-1.11.1.ebuild b/dev-python/scipy/scipy-1.11.1.ebuild
deleted file mode 100644
index 93ae94854c0b..000000000000
--- a/dev-python/scipy/scipy-1.11.1.ebuild
+++ /dev/null
@@ -1,130 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-FORTRAN_NEEDED=fortran
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit fortran-2 distutils-r1 multiprocessing
-
-DESCRIPTION="Scientific algorithms library for Python"
-HOMEPAGE="
- https://scipy.org/
- https://github.com/scipy/scipy/
- https://pypi.org/project/scipy/
-"
-
-if [[ ${PV} == *9999* ]] ; then
- inherit git-r3
-
- # Need submodules, so git for now.
- EGIT_REPO_URI="https://github.com/scipy/scipy"
- EGIT_BRANCH="maintenance/$(ver_cut 1-2).x"
- EGIT_SUBMODULES=( '*' )
-else
- inherit pypi
-
- # Upstream is often behind with doc updates
- #DOC_PV=${PV}
- DOC_PV=1.11.0
-
- SRC_URI+="
- doc? (
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${DOC_PV}.zip
- )"
-
- if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="amd64 arm arm64 -hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
- fi
-fi
-
-LICENSE="BSD LGPL-2"
-SLOT="0"
-IUSE="doc +fortran test-rust"
-
-# umfpack is technically optional but it's preferred to have it available.
-DEPEND="
- >=dev-python/numpy-1.21.6[lapack,${PYTHON_USEDEP}]
- sci-libs/arpack:=
- sci-libs/umfpack
- virtual/cblas
- >=virtual/lapack-3.8
-"
-RDEPEND="
- ${DEPEND}
- dev-python/pillow[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-lang/swig
- >=dev-python/cython-0.29.35[${PYTHON_USEDEP}]
- >=dev-python/meson-python-0.12.1[${PYTHON_USEDEP}]
- >=dev-python/pybind11-2.10.4[${PYTHON_USEDEP}]
- >=dev-util/meson-1.1.0
- !kernel_Darwin? ( dev-util/patchelf )
- virtual/pkgconfig
- doc? ( app-arch/unzip )
- fortran? ( dev-python/pythran[${PYTHON_USEDEP}] )
- test? (
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
- test-rust? (
- dev-python/pooch[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- # https://github.com/scipy/scipy/pull/18810
- "${FILESDIR}/${P}-cython-3.patch"
-)
-
-src_unpack() {
- default
-
- if use doc; then
- unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die
- fi
-}
-
-python_configure_all() {
- DISTUTILS_ARGS=(
- -Dblas=blas
- -Dlapack=lapack
- -Duse-pythran=$(usex fortran true false)
- )
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
-
- local EPYTEST_DESELECT=(
- # Network
- scipy/datasets/tests/test_data.py::TestDatasets::test_existence_all
- scipy/datasets/tests/test_data.py::TestDatasets::test_ascent
- scipy/datasets/tests/test_data.py::TestDatasets::test_face
- scipy/datasets/tests/test_data.py::TestDatasets::test_electrocardiogram
-
- # Precision issue with diff. blas?
- scipy/optimize/tests/test__basinhopping.py::Test_Metropolis::test_gh7799
- )
- local EPYTEST_IGNORE=()
-
- if ! has_version -b "dev-python/pooch[${PYTHON_USEDEP}]" ; then
- EPYTEST_IGNORE+=(
- scipy/datasets/tests/test_data.py
- )
- fi
-
- epytest -n "$(makeopts_jobs)" scipy
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( "${WORKDIR}"/html/. )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/scipy/scipy-1.11.2.ebuild b/dev-python/scipy/scipy-1.11.2.ebuild
deleted file mode 100644
index df339d927313..000000000000
--- a/dev-python/scipy/scipy-1.11.2.ebuild
+++ /dev/null
@@ -1,125 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-FORTRAN_NEEDED=fortran
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit fortran-2 distutils-r1 multiprocessing
-
-DESCRIPTION="Scientific algorithms library for Python"
-HOMEPAGE="
- https://scipy.org/
- https://github.com/scipy/scipy/
- https://pypi.org/project/scipy/
-"
-
-if [[ ${PV} == *9999* ]] ; then
- inherit git-r3
-
- # Need submodules, so git for now.
- EGIT_REPO_URI="https://github.com/scipy/scipy"
- EGIT_BRANCH="maintenance/$(ver_cut 1-2).x"
- EGIT_SUBMODULES=( '*' )
-else
- inherit pypi
-
- # Upstream is often behind with doc updates
- #DOC_PV=${PV}
- DOC_PV=1.11.0
-
- SRC_URI+="
- doc? (
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${DOC_PV}.zip
- )"
-
- if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="amd64 arm arm64 -hppa ~ia64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
- fi
-fi
-
-LICENSE="BSD LGPL-2"
-SLOT="0"
-IUSE="doc +fortran test-rust"
-
-# umfpack is technically optional but it's preferred to have it available.
-DEPEND="
- >=dev-python/numpy-1.21.6[lapack,${PYTHON_USEDEP}]
- sci-libs/arpack:=
- sci-libs/umfpack
- virtual/cblas
- >=virtual/lapack-3.8
-"
-RDEPEND="
- ${DEPEND}
- dev-python/pillow[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-lang/swig
- >=dev-python/cython-0.29.35[${PYTHON_USEDEP}]
- >=dev-python/meson-python-0.12.1[${PYTHON_USEDEP}]
- >=dev-python/pybind11-2.10.4[${PYTHON_USEDEP}]
- >=dev-util/meson-1.1.0
- !kernel_Darwin? ( dev-util/patchelf )
- virtual/pkgconfig
- doc? ( app-arch/unzip )
- fortran? ( dev-python/pythran[${PYTHON_USEDEP}] )
- test? (
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
- test-rust? (
- dev-python/pooch[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_unpack() {
- default
-
- if use doc; then
- unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die
- fi
-}
-
-python_configure_all() {
- DISTUTILS_ARGS=(
- -Dblas=blas
- -Dlapack=lapack
- -Duse-pythran=$(usex fortran true false)
- )
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
-
- local EPYTEST_DESELECT=(
- # Network
- scipy/datasets/tests/test_data.py::TestDatasets::test_existence_all
- scipy/datasets/tests/test_data.py::TestDatasets::test_ascent
- scipy/datasets/tests/test_data.py::TestDatasets::test_face
- scipy/datasets/tests/test_data.py::TestDatasets::test_electrocardiogram
-
- # Precision issue with diff. blas?
- scipy/optimize/tests/test__basinhopping.py::Test_Metropolis::test_gh7799
- )
- local EPYTEST_IGNORE=()
-
- if ! has_version -b "dev-python/pooch[${PYTHON_USEDEP}]" ; then
- EPYTEST_IGNORE+=(
- scipy/datasets/tests/test_data.py
- )
- fi
-
- epytest -n "$(makeopts_jobs)" scipy
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( "${WORKDIR}"/html/. )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/scipy/scipy-1.11.3-r1.ebuild b/dev-python/scipy/scipy-1.11.3-r1.ebuild
deleted file mode 100644
index 1d3764815407..000000000000
--- a/dev-python/scipy/scipy-1.11.3-r1.ebuild
+++ /dev/null
@@ -1,147 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-FORTRAN_NEEDED=fortran
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit fortran-2 distutils-r1 multiprocessing
-
-DESCRIPTION="Scientific algorithms library for Python"
-HOMEPAGE="
- https://scipy.org/
- https://github.com/scipy/scipy/
- https://pypi.org/project/scipy/
-"
-
-if [[ ${PV} == *9999* ]] ; then
- inherit git-r3
-
- # Need submodules, so git for now.
- EGIT_REPO_URI="https://github.com/scipy/scipy"
- EGIT_BRANCH="maintenance/$(ver_cut 1-2).x"
- EGIT_SUBMODULES=( '*' )
-else
- inherit pypi
-
- # Upstream is often behind with doc updates
- #DOC_PV=${PV}
- DOC_PV=1.11.0
-
- SRC_URI+="
- doc? (
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${DOC_PV}.zip
- )"
-
- if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv ~sparc x86"
- fi
-fi
-
-LICENSE="BSD LGPL-2"
-SLOT="0"
-IUSE="doc +fortran test-rust"
-
-# umfpack is technically optional but it's preferred to have it available.
-DEPEND="
- >=dev-python/numpy-1.21.6[lapack,${PYTHON_USEDEP}]
- sci-libs/arpack:=
- sci-libs/umfpack
- virtual/cblas
- >=virtual/lapack-3.8
-"
-RDEPEND="
- ${DEPEND}
- dev-python/pillow[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-lang/swig
- >=dev-python/cython-0.29.35[${PYTHON_USEDEP}]
- >=dev-python/meson-python-0.12.1[${PYTHON_USEDEP}]
- >=dev-python/pybind11-2.10.4[${PYTHON_USEDEP}]
- >=dev-util/meson-1.1.0
- !kernel_Darwin? ( dev-util/patchelf )
- virtual/pkgconfig
- doc? ( app-arch/unzip )
- fortran? ( dev-python/pythran[${PYTHON_USEDEP}] )
- test? (
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
- test-rust? (
- dev-python/pooch[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_unpack() {
- default
-
- if use doc; then
- unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die
- fi
-}
-
-python_configure_all() {
- DISTUTILS_ARGS=(
- -Dblas=blas
- -Dlapack=lapack
- -Duse-pythran=$(usex fortran true false)
- )
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
-
- local EPYTEST_DESELECT=(
- # Network
- scipy/datasets/tests/test_data.py::TestDatasets::test_existence_all
- scipy/datasets/tests/test_data.py::TestDatasets::test_ascent
- scipy/datasets/tests/test_data.py::TestDatasets::test_face
- scipy/datasets/tests/test_data.py::TestDatasets::test_electrocardiogram
-
- # Precision issue with diff. blas?
- scipy/optimize/tests/test__basinhopping.py::Test_Metropolis::test_gh7799
-
- # Crashes with assertion, not a regression
- # https://github.com/scipy/scipy/issues/19321
- scipy/signal/tests/test_signaltools.py::test_lfilter_bad_object
-
- # timeouts
- scipy/sparse/linalg/tests/test_propack.py::test_examples
- # hang or incredibly slow
- scipy/optimize/tests/test_lsq_linear.py::TestBVLS::test_large_rank_deficient
- scipy/optimize/tests/test_lsq_linear.py::TestTRF::test_large_rank_deficient
- )
- local EPYTEST_IGNORE=()
-
- if ! has_version -b "dev-python/pooch[${PYTHON_USEDEP}]" ; then
- EPYTEST_IGNORE+=(
- scipy/datasets/tests/test_data.py
- )
- fi
-
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # fd leaks in tests
- # https://github.com/scipy/scipy/issues/19553
- scipy/fft/_pocketfft/tests/test_real_transforms.py
- # TODO
- 'scipy/special/tests/test_data.py::test_boost[<Data for expi: expinti_data_long_ipp-expinti_data_long>]'
- )
- ;;
- esac
-
- epytest -n "$(makeopts_jobs)" --dist=worksteal scipy
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( "${WORKDIR}"/html/. )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/scipy/scipy-1.11.3.ebuild b/dev-python/scipy/scipy-1.11.3.ebuild
deleted file mode 100644
index 7dc5558d9dc2..000000000000
--- a/dev-python/scipy/scipy-1.11.3.ebuild
+++ /dev/null
@@ -1,129 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-FORTRAN_NEEDED=fortran
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit fortran-2 distutils-r1 multiprocessing
-
-DESCRIPTION="Scientific algorithms library for Python"
-HOMEPAGE="
- https://scipy.org/
- https://github.com/scipy/scipy/
- https://pypi.org/project/scipy/
-"
-
-if [[ ${PV} == *9999* ]] ; then
- inherit git-r3
-
- # Need submodules, so git for now.
- EGIT_REPO_URI="https://github.com/scipy/scipy"
- EGIT_BRANCH="maintenance/$(ver_cut 1-2).x"
- EGIT_SUBMODULES=( '*' )
-else
- inherit pypi
-
- # Upstream is often behind with doc updates
- #DOC_PV=${PV}
- DOC_PV=1.11.0
-
- SRC_URI+="
- doc? (
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${DOC_PV}.zip
- )"
-
- if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="~amd64 ~arm ~arm64 -hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
- fi
-fi
-
-LICENSE="BSD LGPL-2"
-SLOT="0"
-IUSE="doc +fortran test-rust"
-
-# umfpack is technically optional but it's preferred to have it available.
-DEPEND="
- >=dev-python/numpy-1.21.6[lapack,${PYTHON_USEDEP}]
- sci-libs/arpack:=
- sci-libs/umfpack
- virtual/cblas
- >=virtual/lapack-3.8
-"
-RDEPEND="
- ${DEPEND}
- dev-python/pillow[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-lang/swig
- >=dev-python/cython-0.29.35[${PYTHON_USEDEP}]
- >=dev-python/meson-python-0.12.1[${PYTHON_USEDEP}]
- >=dev-python/pybind11-2.10.4[${PYTHON_USEDEP}]
- >=dev-util/meson-1.1.0
- !kernel_Darwin? ( dev-util/patchelf )
- virtual/pkgconfig
- doc? ( app-arch/unzip )
- fortran? ( dev-python/pythran[${PYTHON_USEDEP}] )
- test? (
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
- test-rust? (
- dev-python/pooch[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_unpack() {
- default
-
- if use doc; then
- unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die
- fi
-}
-
-python_configure_all() {
- DISTUTILS_ARGS=(
- -Dblas=blas
- -Dlapack=lapack
- -Duse-pythran=$(usex fortran true false)
- )
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
-
- local EPYTEST_DESELECT=(
- # Network
- scipy/datasets/tests/test_data.py::TestDatasets::test_existence_all
- scipy/datasets/tests/test_data.py::TestDatasets::test_ascent
- scipy/datasets/tests/test_data.py::TestDatasets::test_face
- scipy/datasets/tests/test_data.py::TestDatasets::test_electrocardiogram
-
- # Precision issue with diff. blas?
- scipy/optimize/tests/test__basinhopping.py::Test_Metropolis::test_gh7799
-
- # Crashes with assertion, not a regression
- # https://github.com/scipy/scipy/issues/19321
- scipy/signal/tests/test_signaltools.py::test_lfilter_bad_object
- )
- local EPYTEST_IGNORE=()
-
- if ! has_version -b "dev-python/pooch[${PYTHON_USEDEP}]" ; then
- EPYTEST_IGNORE+=(
- scipy/datasets/tests/test_data.py
- )
- fi
-
- epytest -n "$(makeopts_jobs)" --dist=worksteal scipy
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( "${WORKDIR}"/html/. )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/scipy/scipy-1.11.4.ebuild b/dev-python/scipy/scipy-1.11.4.ebuild
deleted file mode 100644
index 6556c4b262d5..000000000000
--- a/dev-python/scipy/scipy-1.11.4.ebuild
+++ /dev/null
@@ -1,147 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-FORTRAN_NEEDED=fortran
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=meson-python
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit fortran-2 distutils-r1 multiprocessing
-
-DESCRIPTION="Scientific algorithms library for Python"
-HOMEPAGE="
- https://scipy.org/
- https://github.com/scipy/scipy/
- https://pypi.org/project/scipy/
-"
-
-if [[ ${PV} == *9999* ]] ; then
- inherit git-r3
-
- # Need submodules, so git for now.
- EGIT_REPO_URI="https://github.com/scipy/scipy"
- EGIT_BRANCH="maintenance/$(ver_cut 1-2).x"
- EGIT_SUBMODULES=( '*' )
-else
- inherit pypi
-
- # Upstream is often behind with doc updates
- #DOC_PV=${PV}
- DOC_PV=1.11.2
-
- SRC_URI+="
- doc? (
- https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${DOC_PV}.zip
- )"
-
- if [[ ${PV} != *rc* ]] ; then
- KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
- fi
-fi
-
-LICENSE="BSD LGPL-2"
-SLOT="0"
-IUSE="doc +fortran test-rust"
-
-# umfpack is technically optional but it's preferred to have it available.
-DEPEND="
- >=dev-python/numpy-1.21.6[lapack,${PYTHON_USEDEP}]
- sci-libs/arpack:=
- sci-libs/umfpack
- virtual/cblas
- >=virtual/lapack-3.8
-"
-RDEPEND="
- ${DEPEND}
- dev-python/pillow[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-lang/swig
- >=dev-python/cython-0.29.35[${PYTHON_USEDEP}]
- >=dev-python/meson-python-0.12.1[${PYTHON_USEDEP}]
- >=dev-python/pybind11-2.10.4[${PYTHON_USEDEP}]
- >=dev-util/meson-1.1.0
- !kernel_Darwin? ( dev-util/patchelf )
- virtual/pkgconfig
- doc? ( app-arch/unzip )
- fortran? ( dev-python/pythran[${PYTHON_USEDEP}] )
- test? (
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
- test-rust? (
- dev-python/pooch[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_unpack() {
- default
-
- if use doc; then
- unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die
- fi
-}
-
-python_configure_all() {
- DISTUTILS_ARGS=(
- -Dblas=blas
- -Dlapack=lapack
- -Duse-pythran=$(usex fortran true false)
- )
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
-
- local EPYTEST_DESELECT=(
- # Network
- scipy/datasets/tests/test_data.py::TestDatasets::test_existence_all
- scipy/datasets/tests/test_data.py::TestDatasets::test_ascent
- scipy/datasets/tests/test_data.py::TestDatasets::test_face
- scipy/datasets/tests/test_data.py::TestDatasets::test_electrocardiogram
-
- # Precision issue with diff. blas?
- scipy/optimize/tests/test__basinhopping.py::Test_Metropolis::test_gh7799
-
- # Crashes with assertion, not a regression
- # https://github.com/scipy/scipy/issues/19321
- scipy/signal/tests/test_signaltools.py::test_lfilter_bad_object
-
- # timeouts
- scipy/sparse/linalg/tests/test_propack.py::test_examples
- # hang or incredibly slow
- scipy/optimize/tests/test_lsq_linear.py::TestBVLS::test_large_rank_deficient
- scipy/optimize/tests/test_lsq_linear.py::TestTRF::test_large_rank_deficient
- )
- local EPYTEST_IGNORE=()
-
- if ! has_version -b "dev-python/pooch[${PYTHON_USEDEP}]" ; then
- EPYTEST_IGNORE+=(
- scipy/datasets/tests/test_data.py
- )
- fi
-
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- # fd leaks in tests
- # https://github.com/scipy/scipy/issues/19553
- scipy/fft/_pocketfft/tests/test_real_transforms.py
- # TODO
- 'scipy/special/tests/test_data.py::test_boost[<Data for expi: expinti_data_long_ipp-expinti_data_long>]'
- )
- ;;
- esac
-
- epytest -n "$(makeopts_jobs)" --dist=worksteal scipy
-}
-
-python_install_all() {
- use doc && local HTML_DOCS=( "${WORKDIR}"/html/. )
-
- distutils-r1_python_install_all
-}
diff --git a/dev-python/scipy/scipy-1.14.0.ebuild b/dev-python/scipy/scipy-1.14.0.ebuild
new file mode 100644
index 000000000000..cd7be229a991
--- /dev/null
+++ b/dev-python/scipy/scipy-1.14.0.ebuild
@@ -0,0 +1,179 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+FORTRAN_NEEDED=fortran
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit flag-o-matic fortran-2 distutils-r1
+
+DESCRIPTION="Scientific algorithms library for Python"
+HOMEPAGE="
+ https://scipy.org/
+ https://github.com/scipy/scipy/
+ https://pypi.org/project/scipy/
+"
+
+if [[ ${PV} == *9999* ]] ; then
+ inherit git-r3
+
+ # Need submodules, so git for now.
+ EGIT_REPO_URI="https://github.com/scipy/scipy"
+ EGIT_BRANCH="maintenance/$(ver_cut 1-2).x"
+ EGIT_SUBMODULES=( '*' )
+else
+ inherit pypi
+
+ # Upstream is often behind with doc updates
+ DOC_PV=${PV}
+
+ SRC_URI+="
+ doc? (
+ https://docs.scipy.org/doc/${PN}-${DOC_PV}/${PN}-html-${DOC_PV}.zip
+ )"
+
+ if [[ ${PV} != *rc* ]] ; then
+ KEYWORDS="amd64 arm arm64 ~loong ~ppc ppc64 ~riscv ~s390 ~sparc x86"
+ fi
+fi
+
+LICENSE="BSD LGPL-2"
+SLOT="0"
+IUSE="doc +fortran test-rust"
+
+# umfpack is technically optional but it's preferred to have it available.
+DEPEND="
+ >=dev-python/numpy-1.23.5:=[lapack,${PYTHON_USEDEP}]
+ sci-libs/arpack:=
+ sci-libs/umfpack
+ virtual/cblas
+ >=virtual/lapack-3.8
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/pillow[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-lang/swig
+ >=dev-python/cython-3.0.8[${PYTHON_USEDEP}]
+ >=dev-python/meson-python-0.15.0[${PYTHON_USEDEP}]
+ >=dev-python/pybind11-2.12.0[${PYTHON_USEDEP}]
+ >=dev-build/meson-1.1.0
+ !kernel_Darwin? ( dev-util/patchelf )
+ virtual/pkgconfig
+ doc? ( app-arch/unzip )
+ fortran? (
+ >=dev-python/pythran-0.14.0[${PYTHON_USEDEP}]
+ )
+ test? (
+ >=dev-python/hypothesis-6.30[${PYTHON_USEDEP}]
+ )
+ test-rust? (
+ dev-python/pooch[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_unpack() {
+ default
+
+ if use doc; then
+ unzip -qo "${DISTDIR}"/${PN}-html-${DOC_PV}.zip -d html || die
+ fi
+}
+
+python_configure_all() {
+ DISTUTILS_ARGS=(
+ -Dblas=blas
+ -Dlapack=lapack
+ -Duse-pythran=$(usex fortran true false)
+ )
+
+ # https://bugs.gentoo.org/932721
+ has_version '>=dev-python/numpy-2.0.0' && filter-lto
+
+ # hide real scipy, to prevent pythran crashing when scipy is being
+ # rebuilt for new numpy ABI
+ # https://github.com/serge-sans-paille/pythran/issues/2194
+ cat >> "${T}/scipy.py" <<-EOF || die
+ raise ImportError("hide real scipy")
+ EOF
+}
+
+python_compile() {
+ local -x PYTHONPATH="${T}${PYTHONPATH+:${PYTHONPATH}}"
+ distutils-r1_python_compile
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+
+ local EPYTEST_DESELECT=(
+ # Network
+ scipy/datasets/tests/test_data.py::TestDatasets::test_existence_all
+ scipy/datasets/tests/test_data.py::TestDatasets::test_ascent
+ scipy/datasets/tests/test_data.py::TestDatasets::test_face
+ scipy/datasets/tests/test_data.py::TestDatasets::test_electrocardiogram
+
+ # Precision issue with diff. blas?
+ scipy/optimize/tests/test__basinhopping.py::Test_Metropolis::test_gh7799
+
+ # Crashes with assertion, not a regression
+ # https://github.com/scipy/scipy/issues/19321
+ scipy/signal/tests/test_signaltools.py::test_lfilter_bad_object
+
+ # timeouts
+ scipy/sparse/linalg/tests/test_propack.py::test_examples
+ # hang or incredibly slow
+ scipy/optimize/tests/test_lsq_linear.py::TestBVLS::test_large_rank_deficient
+ scipy/optimize/tests/test_lsq_linear.py::TestTRF::test_large_rank_deficient
+
+ # TODO
+ scipy/optimize/tests/test_minimize_constrained.py::TestTrustRegionConstr::test_list_of_problems
+ )
+ local EPYTEST_IGNORE=()
+
+ if ! has_version -b "dev-python/pooch[${PYTHON_USEDEP}]" ; then
+ EPYTEST_IGNORE+=(
+ scipy/datasets/tests/test_data.py
+ )
+ fi
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ # fd leaks in tests
+ # https://github.com/scipy/scipy/issues/19553
+ scipy/fft/_pocketfft/tests/test_real_transforms.py
+ # TODO
+ 'scipy/special/tests/test_data.py::test_boost[<Data for expi: expinti_data_long_ipp-expinti_data_long>]'
+ # missing dict.__ror__
+ # https://github.com/pypy/pypy/issues/4934
+ 'scipy/sparse/tests/test_dok.py::test_dunder_ror[dok_matrix]'
+ # mismatched exception message
+ scipy/optimize/tests/test_hessian_update_strategy.py::TestHessianUpdateStrategy::test_initialize_catch_illegal
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # docstring formatting
+ scipy/misc/tests/test_doccer.py::test_decorator
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest scipy
+}
+
+python_install_all() {
+ use doc && local HTML_DOCS=( "${WORKDIR}"/html/. )
+
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/scripttest/scripttest-1.3.0-r2.ebuild b/dev-python/scripttest/scripttest-1.3.0-r2.ebuild
index 2b195d0d030c..0475fb845bdc 100644
--- a/dev-python/scripttest/scripttest-1.3.0-r2.ebuild
+++ b/dev-python/scripttest/scripttest-1.3.0-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/scrypt/Manifest b/dev-python/scrypt/Manifest
index e0122e561714..0d4235d15ec1 100644
--- a/dev-python/scrypt/Manifest
+++ b/dev-python/scrypt/Manifest
@@ -1 +1 @@
-DIST scrypt-0.8.20.tar.gz 55874 BLAKE2B b31c7dcec735944f6162709ba6ceb90160b3c9c403121a47e62563f8d2fc50f0505f180d7c18fa2c8e9037a097ca3bffea4c54c1f3b6861004f65a189a20b576 SHA512 da8d34755d4b6c98dc57ff7baf17839cf2434a6d7eb9f6fdc69b3e458d41b4fc49f7fd3a5631318b82bc4b2e46dedb806035897bf1be5a4670b4120f6b46efbc
+DIST scrypt-0.8.24.tar.gz 55636 BLAKE2B 3971979c431cfb621734abc1cadc47f2512502f1c074e5ca41d210cfd0936250534a3c002e6a669239a09158fb8f4ac560a4df405f39935a1a2e9328fbf1856a SHA512 6ed6c4e2ae719523428d2cd2b518d6f4d6137381fb29cadde401e00d23926e6b985683a0ca3d8c5d51b003cc73ecf17e863b265ec297bdcae4067ce8d610a4c7
diff --git a/dev-python/scrypt/scrypt-0.8.20.ebuild b/dev-python/scrypt/scrypt-0.8.20.ebuild
deleted file mode 100644
index 5bad0be43847..000000000000
--- a/dev-python/scrypt/scrypt-0.8.20.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Bindings for the scrypt key derivation function library"
-HOMEPAGE="
- https://github.com/holgern/py-scrypt/
- https://pypi.org/project/scrypt/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="dev-libs/openssl:0="
-DEPEND="${RDEPEND}"
-
-distutils_enable_tests unittest
diff --git a/dev-python/scrypt/scrypt-0.8.24.ebuild b/dev-python/scrypt/scrypt-0.8.24.ebuild
new file mode 100644
index 000000000000..848abf12f1e7
--- /dev/null
+++ b/dev-python/scrypt/scrypt-0.8.24.ebuild
@@ -0,0 +1,29 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Bindings for the scrypt key derivation function library"
+HOMEPAGE="
+ https://github.com/holgern/py-scrypt/
+ https://pypi.org/project/scrypt/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+DEPEND="
+ dev-libs/openssl:0=
+"
+RDEPEND="
+ ${DEPEND}
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/seaborn/Manifest b/dev-python/seaborn/Manifest
index 893779dfa24f..9ea5f0535596 100644
--- a/dev-python/seaborn/Manifest
+++ b/dev-python/seaborn/Manifest
@@ -1 +1 @@
-DIST seaborn-0.13.0.tar.gz 1455480 BLAKE2B 9f7383715366889ffd80788f901c574d9330285da2098e5695e944f1c6b92d4e417163a82378dd75c03233fc6485158401a1aaa461f2fa8e71a4cbc3ebf957cb SHA512 d603e880c29e05ab68f86d285c5c5ee9cf2da1d45265ed609f7bc87650fe20e80c026af487f63f9492a268f51ba5bab0cae4fd8fdeaf28125d16d317f9c937c8
+DIST seaborn-0.13.2.tar.gz 1457696 BLAKE2B 82caa82da487cb880318313e2af270ac409ecde8f0b26f7c7ba39b1763f9f247fa9a4f7c90f989467004e84c41b7eeb9561d1a59e0a23d4d6994ae63e71c1894 SHA512 5a2f11865d0f5b8a9281f0dac1eaf4cd205828293b3e0a2f7f1c24e7d20c989582ecc7e40c32a0fab6736de1f7e126293d9ae5c270e9aa4e93704e86b6b51ef6
diff --git a/dev-python/seaborn/seaborn-0.13.0.ebuild b/dev-python/seaborn/seaborn-0.13.0.ebuild
deleted file mode 100644
index 7c075c896565..000000000000
--- a/dev-python/seaborn/seaborn-0.13.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..11} )
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="Statistical data visualization"
-HOMEPAGE="https://seaborn.pydata.org https://github.com/mwaskom/seaborn"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/matplotlib-3.3[${PYTHON_USEDEP}]
- >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
- >=dev-python/pandas-1.2[${PYTHON_USEDEP}]
- >=dev-python/statsmodels-0.12[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.7[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- cat > matplotlibrc <<- EOF || die
- backend : Agg
- EOF
-
- distutils-r1_src_test
-}
-
-python_test() {
- epytest -n "$(makeopts_jobs)"
-}
diff --git a/dev-python/seaborn/seaborn-0.13.2.ebuild b/dev-python/seaborn/seaborn-0.13.2.ebuild
new file mode 100644
index 000000000000..dec22c29c233
--- /dev/null
+++ b/dev-python/seaborn/seaborn-0.13.2.ebuild
@@ -0,0 +1,46 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Statistical data visualization"
+HOMEPAGE="
+ https://seaborn.pydata.org/
+ https://github.com/mwaskom/seaborn/
+ https://pypi.org/project/seaborn/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~amd64-linux"
+
+RDEPEND="
+ >=dev-python/matplotlib-3.4[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
+ >=dev-python/pandas-1.2[${PYTHON_USEDEP}]
+ >=dev-python/statsmodels-0.12[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.7[${PYTHON_USEDEP}]
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # https://github.com/mwaskom/seaborn/pull/3685
+ sed -i -e '/VisibleDeprecationWarning/d' tests/test_distributions.py || die
+}
+
+src_test() {
+ cat > matplotlibrc <<- EOF || die
+ backend : Agg
+ EOF
+
+ distutils-r1_src_test
+}
diff --git a/dev-python/secretstorage/secretstorage-3.3.3.ebuild b/dev-python/secretstorage/secretstorage-3.3.3.ebuild
index 3bcd2a5e1eb2..fa07ce57cdd2 100644
--- a/dev-python/secretstorage/secretstorage-3.3.3.ebuild
+++ b/dev-python/secretstorage/secretstorage-3.3.3.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN="SecretStorage"
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/seedir/Manifest b/dev-python/seedir/Manifest
index 0924726d115d..634c583264bb 100644
--- a/dev-python/seedir/Manifest
+++ b/dev-python/seedir/Manifest
@@ -1 +1 @@
-DIST seedir-0.4.2.gh.tar.gz 3096194 BLAKE2B daabdf1f5bb202ab454bea376c6e14dab2eb9c964a3bf87349c3ac6075bb8ed201b66082518aff01cb4515e89026a02c662da5e9a5f43c5d0ea21556cda07e90 SHA512 8d16ae1ba020268f9587742cacbc55ecc1d218f36955c625f64829940396c908d0498ee6bf50d560f87b10488dc6daa5698681e10e1699d20d958b3cd58f14c4
+DIST seedir-0.5.0.gh.tar.gz 3099344 BLAKE2B 27ee50e6dfd91a67bb80452b3065c4183341933ef09de4ec298490264bb66601146a50a0b7550ef37bb332acdee1f2e45c31b8eca6e33f4f7e59b9d8f127f565 SHA512 e6c257787e65c24697e76f75308dc5e8c2f919205a4922aa1bb66673000e2c784959ebe45a7ccd826d3ee1fea03fe0a6a64f6c90321c76d1e36ab68ba3962361
diff --git a/dev-python/seedir/seedir-0.4.2.ebuild b/dev-python/seedir/seedir-0.4.2.ebuild
deleted file mode 100644
index a102be574d49..000000000000
--- a/dev-python/seedir/seedir-0.4.2.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2022-2023 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
-
-DESCRIPTION="Package for creating, editing, and reading folder tree diagrams"
-HOMEPAGE="
- https://github.com/earnestt1234/seedir/
- https://pypi.org/project/seedir/
-"
-SRC_URI="
- https://github.com/earnestt1234/seedir/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/natsort[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
diff --git a/dev-python/seedir/seedir-0.5.0.ebuild b/dev-python/seedir/seedir-0.5.0.ebuild
new file mode 100644
index 000000000000..3f6abb80a1cc
--- /dev/null
+++ b/dev-python/seedir/seedir-0.5.0.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Package for creating, editing, and reading folder tree diagrams"
+HOMEPAGE="
+ https://github.com/earnestt1234/seedir/
+ https://pypi.org/project/seedir/
+"
+SRC_URI="
+ https://github.com/earnestt1234/seedir/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ dev-python/natsort[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/segno/Manifest b/dev-python/segno/Manifest
index 13124bb1e399..03a8570b9a03 100644
--- a/dev-python/segno/Manifest
+++ b/dev-python/segno/Manifest
@@ -1,2 +1 @@
-DIST segno-1.5.3.gh.tar.gz 1632842 BLAKE2B 208c21db625bb7f3ace67e05b82988cc1e93e34147fa1cb8f070bad8312924aad8e62089ff6738995a3c725ee3d00bb56478896ab1b94067ce1c4bc58970982a SHA512 bdb933a7f4bac1189533199ac84cb729a3592474644deb0c28007c846d200bb08164052d83fbd6a1a82212401987ab393bfdd294f81360a4a8a0c88182a7623f
-DIST segno-1.6.0.gh.tar.gz 1631834 BLAKE2B c3dec021360fefbf55c90278a2eb8e4f26beda3b0297afabe662d5a8f2dede931f6caec6b7d514d610ce5fcfe2f8053862c88e360dbe88db4829e0efc3ef8342 SHA512 15e9f97caf202e03ef8399da96137774f4a0d6bb4ef0727eb026ff3d628665d8058cb2cc5562d1c63ad1b5613fcfdfc83e79991e896ee9b73304c3b22319707e
+DIST segno-1.6.1.gh.tar.gz 1631683 BLAKE2B 3e656660c97e190d9a9576347728d9934166b84c09974309ba422ddfcd5edc2b2d99fac53f4c87d94ff21b39a88a73753583a7f98edee1acbc323e734eddbf6a SHA512 266f64cee466105851bb567254e87d45f557d00ded0bb089edeafb68a71dbf686a72217ef471a3f82e68566103599180c7391d1effad65c73a1ea3355f59d72b
diff --git a/dev-python/segno/segno-1.5.3.ebuild b/dev-python/segno/segno-1.5.3.ebuild
deleted file mode 100644
index 223259c7ec41..000000000000
--- a/dev-python/segno/segno-1.5.3.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 2023 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
-
-DESCRIPTION="Python QR Code and Micro QR Code encoder"
-HOMEPAGE="
- https://pypi.org/project/segno/
- https://github.com/heuer/segno/
-"
-SRC_URI="
- https://github.com/heuer/segno/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-BDEPEND="
- test? (
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pypng[${PYTHON_USEDEP}]
- dev-python/pyzbar[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/segno/segno-1.6.0.ebuild b/dev-python/segno/segno-1.6.0.ebuild
deleted file mode 100644
index 736d4d872b2e..000000000000
--- a/dev-python/segno/segno-1.6.0.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 2023 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
-
-DESCRIPTION="Python QR Code and Micro QR Code encoder"
-HOMEPAGE="
- https://pypi.org/project/segno/
- https://github.com/heuer/segno/
-"
-SRC_URI="
- https://github.com/heuer/segno/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-BDEPEND="
- test? (
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pypng[${PYTHON_USEDEP}]
- dev-python/pyzbar[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # requires qrcode-artistic
- tests/test_plugin.py::test_plugin
-)
diff --git a/dev-python/segno/segno-1.6.1.ebuild b/dev-python/segno/segno-1.6.1.ebuild
new file mode 100644
index 000000000000..60bf86177789
--- /dev/null
+++ b/dev-python/segno/segno-1.6.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python QR Code and Micro QR Code encoder"
+HOMEPAGE="
+ https://pypi.org/project/segno/
+ https://github.com/heuer/segno/
+"
+SRC_URI="
+ https://github.com/heuer/segno/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pypng[${PYTHON_USEDEP}]
+ dev-python/pyzbar[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires qrcode-artistic
+ tests/test_plugin.py::test_plugin
+)
diff --git a/dev-python/selenium/Manifest b/dev-python/selenium/Manifest
index acc83bbdad87..273a970fde2e 100644
--- a/dev-python/selenium/Manifest
+++ b/dev-python/selenium/Manifest
@@ -1,2 +1,4 @@
-DIST selenium-4.15.2.tar.gz 9954413 BLAKE2B 93f17b7d952f63eb8f2f119398e4dbfe9d850a1b2a2f959a6ee63014aa6a40570782ade4891ae75350ca4e530f0b0c249e3849bedf81b2a3c173e670508c0f46 SHA512 ea716702033426e66ce85a91a00f2c6f24091430304de6b419b99a5ea9ce9fad319ccbf9ea826e440d1b4a333c31c1e39978d82eae066e8b1d13bb312a8669a6
-DIST selenium-selenium-4.15.2-python.gh.tar.gz 78937488 BLAKE2B 9d064e5f753bdecc7ebab65b5c37cd433c05bf3c7ab09007247290bc782b9e64ec58bd499c838eb51c880c6ace258fef487fa6fb46c334230c5e6f64748014dd SHA512 9f1259b6f1362be5089766d4f51c20defc8f3e8c4a1be25690f9ed8acdccb0c09f64a0cdf0fe871956fb76cb2038663b7f99e620e302f89420fb582a6171fa92
+DIST selenium-4.22.0.tar.gz 9242392 BLAKE2B 15197221a53c597b412f805eed7f29f4c34a9d0596a069ea5a6df540b93c013815a59fe1730e8493f5ae854cbc03d5a6647eb57d825ecc68ad0b31949448acaa SHA512 a25c892495ed613c2cd96ab971f46cc101416a4928cffceaa9891c759a41d51df392999495d442a21b459d83a1b287c64c2cd5405b82e16464b56fcc75b2c595
+DIST selenium-4.23.1.tar.gz 945830 BLAKE2B 7931156bc8b79484433cb6a9bd7d49852981e3662a8e75f1f48d683644bac1c78e616e33965c611f50203a6a6f0f5bd09501c16816afe7a7c27b2a9e72a10a14 SHA512 3f9cda92c606ce7a32ecb6f1ef434501368fdab8673a0f23a39d78b80e80b732fafb6e29842ab5301d31cd8eaa907561b91a96cf67e181daeae3378e6a0e9a5b
+DIST selenium-selenium-4.22.0.gh.tar.gz 77094998 BLAKE2B 1d74be914debec94e3b9fe41ce40e7432426c7f30a848c63ad82e616fc3dd7dce8e544c33a90e28ca268988b9035aabe41805277085095cc1c65bd38e09117e5 SHA512 f71721b614fa3e346a75ca2391fb03067520d746e1433a75ba896eb6bbe621064bcab7d50337989ccb60d13c493e2df2b3b1bd73cc8dcaf3b62dc4f4ebfaa086
+DIST selenium-selenium-4.23.1-python.gh.tar.gz 77116002 BLAKE2B dad444b109d2494b3442c81187fa6c9d3db2565183304f76d2badf2444e0545727c6f4bf08be0a5102692b9c018b3354a4063758253275624f9f4d6ff6d49254 SHA512 e7d4dc8f14fe9cae3d8e362a03b5068536d64e8484e151187ae9c917350e1f299977fb1521066998fba5cd845c5167a8440d02b15547d066a40d3e79cac1f50d
diff --git a/dev-python/selenium/selenium-4.15.2.ebuild b/dev-python/selenium/selenium-4.15.2.ebuild
deleted file mode 100644
index 24ecc80372cd..000000000000
--- a/dev-python/selenium/selenium-4.15.2.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
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-# upstream sometimes tags it as ${P}, sometimes as ${P}-python, sigh
-TEST_TAG=${P}-python
-TEST_P=selenium-${TEST_TAG}
-
-DESCRIPTION="Python language binding for Selenium Remote Control"
-HOMEPAGE="
- https://www.seleniumhq.org/
- https://github.com/SeleniumHQ/selenium/tree/trunk/py/
- https://pypi.org/project/selenium/
-"
-SRC_URI+="
- test? (
- https://github.com/SeleniumHQ/selenium/archive/${TEST_TAG}.tar.gz
- -> ${TEST_P}.gh.tar.gz
- )
-"
-
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-LICENSE="Apache-2.0"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/certifi-2021.10.8[${PYTHON_USEDEP}]
- <dev-python/trio-1[${PYTHON_USEDEP}]
- >=dev-python/trio-0.17[${PYTHON_USEDEP}]
- <dev-python/trio-websocket-1[${PYTHON_USEDEP}]
- >=dev-python/trio-websocket-0.9[${PYTHON_USEDEP}]
- <dev-python/urllib3-3[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.26[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # TODO: we may need extra setup or deps
- test/selenium
-
- # expects vanilla certifi
- test/unit/selenium/webdriver/remote/remote_connection_tests.py::test_get_connection_manager_for_certs_and_timeout
- )
-
- cd "${WORKDIR}/${TEST_P}/py" || die
- rm -rf selenium || die
- # https://github.com/SeleniumHQ/selenium/blob/selenium-4.8.2-python/py/test/runner/run_pytest.py#L20-L24
- # seriously?
- epytest -o "python_files=*_tests.py test_*.py"
-}
diff --git a/dev-python/selenium/selenium-4.22.0-r1.ebuild b/dev-python/selenium/selenium-4.22.0-r1.ebuild
new file mode 100644
index 000000000000..5a2a126c0f61
--- /dev/null
+++ b/dev-python/selenium/selenium-4.22.0-r1.ebuild
@@ -0,0 +1,78 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13 )
+
+inherit distutils-r1 pypi
+
+# upstream sometimes tags it as ${P}, sometimes as ${P}-python, sigh
+TEST_TAG=${P}
+TEST_P=selenium-${TEST_TAG}
+
+DESCRIPTION="Python language binding for Selenium Remote Control"
+HOMEPAGE="
+ https://www.seleniumhq.org/
+ https://github.com/SeleniumHQ/selenium/tree/trunk/py/
+ https://pypi.org/project/selenium/
+"
+SRC_URI+="
+ test? (
+ https://github.com/SeleniumHQ/selenium/archive/${TEST_TAG}.tar.gz
+ -> ${TEST_P}.gh.tar.gz
+ )
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/certifi-2021.10.8[${PYTHON_USEDEP}]
+ <dev-python/trio-1[${PYTHON_USEDEP}]
+ >=dev-python/trio-0.17[${PYTHON_USEDEP}]
+ <dev-python/trio-websocket-1[${PYTHON_USEDEP}]
+ >=dev-python/trio-websocket-0.9[${PYTHON_USEDEP}]
+ <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.9[${PYTHON_USEDEP}]
+ <dev-python/urllib3-3[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.26[${PYTHON_USEDEP}]
+ >=dev-python/websocket-client-1.8.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ find -name selenium-manager -delete || die
+}
+
+python_test() {
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # TODO: we may need extra setup or deps
+ test/selenium
+
+ # expects vanilla certifi
+ test/unit/selenium/webdriver/remote/remote_connection_tests.py::test_get_connection_manager_for_certs_and_timeout
+ )
+
+ cd "${WORKDIR}/${TEST_P}/py" || die
+ rm -rf selenium || die
+ # https://github.com/SeleniumHQ/selenium/blob/selenium-4.8.2-python/py/test/runner/run_pytest.py#L20-L24
+ # seriously?
+ epytest -o "python_files=*_tests.py test_*.py"
+}
diff --git a/dev-python/selenium/selenium-4.23.1-r1.ebuild b/dev-python/selenium/selenium-4.23.1-r1.ebuild
new file mode 100644
index 000000000000..dfe9e9aac1fe
--- /dev/null
+++ b/dev-python/selenium/selenium-4.23.1-r1.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13 )
+
+inherit distutils-r1 pypi
+
+# upstream sometimes tags it as ${P}, sometimes as ${P}-python, sigh
+TEST_TAG=${P}-python
+TEST_P=selenium-${TEST_TAG}
+
+DESCRIPTION="Python language binding for Selenium Remote Control"
+HOMEPAGE="
+ https://www.seleniumhq.org/
+ https://github.com/SeleniumHQ/selenium/tree/trunk/py/
+ https://pypi.org/project/selenium/
+"
+SRC_URI+="
+ test? (
+ https://github.com/SeleniumHQ/selenium/archive/${TEST_TAG}.tar.gz
+ -> ${TEST_P}.gh.tar.gz
+ )
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/certifi-2021.10.8[${PYTHON_USEDEP}]
+ <dev-python/trio-1[${PYTHON_USEDEP}]
+ >=dev-python/trio-0.17[${PYTHON_USEDEP}]
+ <dev-python/trio-websocket-1[${PYTHON_USEDEP}]
+ >=dev-python/trio-websocket-0.9[${PYTHON_USEDEP}]
+ <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.9[${PYTHON_USEDEP}]
+ <dev-python/urllib3-3[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.26[${PYTHON_USEDEP}]
+ <dev-python/websocket-client-2[${PYTHON_USEDEP}]
+ >=dev-python/websocket-client-1.8.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-util/selenium-manager
+ net-misc/geckodriver
+ || (
+ www-client/firefox
+ www-client/firefox-bin
+ )
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # do not build selenium-manager implicitly
+ sed -e '/setuptools_rust/d' \
+ -e '/rust_extensions/,/\]/d' \
+ -i setup.py || die
+}
+
+python_test() {
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # expects vanilla certifi
+ test/unit/selenium/webdriver/remote/remote_connection_tests.py::test_get_connection_manager_for_certs_and_timeout
+ )
+ local pytest_args=(
+ # https://github.com/SeleniumHQ/selenium/blob/selenium-4.8.2-python/py/test/runner/run_pytest.py#L20-L24
+ # seriously?
+ -o "python_files=*_tests.py test_*.py"
+ -p pytest_mock
+ )
+ if use test-rust; then
+ local -x PATH=${T}/bin:${PATH}
+ local -x SE_MANAGER_PATH="$(type -P selenium-manager)"
+
+ local EPYTEST_XDIST=1
+ pytest_args+=(
+ -p rerunfailures --reruns=5
+
+ --driver=firefox
+ --browser-binary="$(type -P firefox || type -P firefox-bin)"
+ --driver-binary="$(type -P geckodriver)"
+ --headless=true
+ )
+
+ EPYTEST_DESELECT+=(
+ # expects prebuilt executables for various systems
+ test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_windows
+ test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_linux
+ test/selenium/webdriver/common/selenium_manager_tests.py::test_uses_mac
+ test/selenium/webdriver/common/selenium_manager_tests.py::test_errors_if_invalid_os
+
+ # TODO: these don't respect --*-binary and try to fetch versions
+ test/selenium/webdriver/firefox
+ test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
+ test/selenium/webdriver/marionette/mn_context_tests.py::test_context_sets_correct_context_and_returns
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestIntegration::test_we_can_pass_options
+ test/selenium/webdriver/marionette/mn_set_context_tests.py::test_we_can_switch_context_to_chrome
+
+ # TODO
+ test/selenium/webdriver/common/bidi_script_tests.py
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_binary
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_ctor
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_prefs
+ test/selenium/webdriver/marionette/mn_options_tests.py::TestUnit::test_to_capabilities
+ )
+ else
+ EPYTEST_DESELECT+=(
+ test/selenium
+ )
+ fi
+
+ cd "${WORKDIR}/${TEST_P}/py" || die
+ rm -rf selenium || die
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest "${pytest_args[@]}"
+}
diff --git a/dev-python/selenium/selenium-4.23.1.ebuild b/dev-python/selenium/selenium-4.23.1.ebuild
new file mode 100644
index 000000000000..ee892f3209ac
--- /dev/null
+++ b/dev-python/selenium/selenium-4.23.1.ebuild
@@ -0,0 +1,83 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_TESTED=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13 )
+
+inherit distutils-r1 pypi
+
+# upstream sometimes tags it as ${P}, sometimes as ${P}-python, sigh
+TEST_TAG=${P}-python
+TEST_P=selenium-${TEST_TAG}
+
+DESCRIPTION="Python language binding for Selenium Remote Control"
+HOMEPAGE="
+ https://www.seleniumhq.org/
+ https://github.com/SeleniumHQ/selenium/tree/trunk/py/
+ https://pypi.org/project/selenium/
+"
+SRC_URI+="
+ test? (
+ https://github.com/SeleniumHQ/selenium/archive/${TEST_TAG}.tar.gz
+ -> ${TEST_P}.gh.tar.gz
+ )
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/certifi-2021.10.8[${PYTHON_USEDEP}]
+ <dev-python/trio-1[${PYTHON_USEDEP}]
+ >=dev-python/trio-0.17[${PYTHON_USEDEP}]
+ <dev-python/trio-websocket-1[${PYTHON_USEDEP}]
+ >=dev-python/trio-websocket-0.9[${PYTHON_USEDEP}]
+ <dev-python/typing-extensions-5[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.9[${PYTHON_USEDEP}]
+ <dev-python/urllib3-3[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.26[${PYTHON_USEDEP}]
+ <dev-python/websocket-client-2[${PYTHON_USEDEP}]
+ >=dev-python/websocket-client-1.8.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # do not build selenium-manager implicitly
+ sed -e '/setuptools_rust/d' \
+ -e '/rust_extensions/,/\]/d' \
+ -i setup.py || die
+}
+
+python_test() {
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # TODO: we may need extra setup or deps
+ test/selenium
+
+ # expects vanilla certifi
+ test/unit/selenium/webdriver/remote/remote_connection_tests.py::test_get_connection_manager_for_certs_and_timeout
+ )
+
+ cd "${WORKDIR}/${TEST_P}/py" || die
+ rm -rf selenium || die
+ # https://github.com/SeleniumHQ/selenium/blob/selenium-4.8.2-python/py/test/runner/run_pytest.py#L20-L24
+ # seriously?
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o "python_files=*_tests.py test_*.py" -p pytest_mock
+}
diff --git a/dev-python/semantic-version/semantic-version-2.10.0.ebuild b/dev-python/semantic-version/semantic-version-2.10.0.ebuild
index 94bca6f84951..6cde6827cc60 100644
--- a/dev-python/semantic-version/semantic-version-2.10.0.ebuild
+++ b/dev-python/semantic-version/semantic-version-2.10.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -23,5 +23,6 @@ distutils_enable_sphinx docs \
distutils_enable_tests pytest
python_test() {
- epytest -p no:django
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
}
diff --git a/dev-python/semver/Manifest b/dev-python/semver/Manifest
index 004f0559e631..2c4d419c1d0e 100644
--- a/dev-python/semver/Manifest
+++ b/dev-python/semver/Manifest
@@ -1,2 +1 @@
-DIST semver-3.0.1.tar.gz 205762 BLAKE2B f2dbe25d321938bbfe32a21ad23ae62d4033a29c0155b138586e1b9e6d32c0c90e5859dbee0705f0726f616dda10a48b69201f1b7b26cfb4cecdbf3733d7a17d SHA512 93dd23a884eb9d64aca6285840f5fd6d7fe5e21abab37ca77a35118efba1fcca67b424a86db03dc32ae355a8593c184a4b0eb3f807ff35373b84c63dd823eb3d
DIST semver-3.0.2.tar.gz 214988 BLAKE2B c436ccc99bab2044472444e48de46f7b584291872db6d311d4a16aad0755f633cbe366bd0be6149431fd2db06011018a6cc5bd527f8627a1fbed8999086d2531 SHA512 f7b848f76ae72a8f0f06800d6c02b11a07149dfdff191e356709b75ac15ad19c010d8f13bc32ea082e15858524b38639838fbc09c2d9eb067eee8e163eb1e497
diff --git a/dev-python/semver/metadata.xml b/dev-python/semver/metadata.xml
index ff616fb76709..c4b85edef1bb 100644
--- a/dev-python/semver/metadata.xml
+++ b/dev-python/semver/metadata.xml
@@ -1,10 +1,11 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>gyakovlev@gentoo.org</email>
- <name>Georgy Yakovlev</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">semver</remote-id>
<remote-id type="github">python-semver/python-semver</remote-id>
diff --git a/dev-python/semver/semver-3.0.1.ebuild b/dev-python/semver/semver-3.0.1.ebuild
deleted file mode 100644
index 22f6eaf65f78..000000000000
--- a/dev-python/semver/semver-3.0.1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2019-2023 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 Python module for semantic versioning"
-HOMEPAGE="
- https://github.com/python-semver/python-semver/
- https://pypi.org/project/semver/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest -o addopts=
-}
diff --git a/dev-python/semver/semver-3.0.2.ebuild b/dev-python/semver/semver-3.0.2.ebuild
index 385401fa732a..846e5c6958e9 100644
--- a/dev-python/semver/semver-3.0.2.ebuild
+++ b/dev-python/semver/semver-3.0.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2019-2023 Gentoo Authors
+# Copyright 2019-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv ~x86"
BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
diff --git a/dev-python/send2trash/Manifest b/dev-python/send2trash/Manifest
index 0da980374d2a..e6dd4ffd8c12 100644
--- a/dev-python/send2trash/Manifest
+++ b/dev-python/send2trash/Manifest
@@ -1 +1 @@
-DIST Send2Trash-1.8.2.tar.gz 17487 BLAKE2B 3362a7e0c70f0e3f0f7a64676174d6c6f28290079590e08e4a746c0e19f96deca028aa521df58afa7f0ab47d78f286df01f98e903dfd771063af0ff40b4f6c08 SHA512 378107c8175e8d08566258daa13d3000e66ec03f732698180a2eb7f862c39d3c458be66ecf3f8864f559b961e29b777b8e7f5169468219e19723def62a69bb9c
+DIST Send2Trash-1.8.3.tar.gz 17394 BLAKE2B 55f382ae81b2279214023daad3a7a8ac0d5f55ebbbe9a2c7af02d35b980f3342ecc5f9b4e734d3c233b65a1fdd058ed856b7a96f3685ebbf1eb4c7dd9d37e159 SHA512 81b9d6ce00830414daac0e1cafe2b69d42b750146f45e64c27750ee8f6d81f771145852a96bf51afa944d8c31959b8c9ac1b5e05c8793732039b690107789d93
diff --git a/dev-python/send2trash/send2trash-1.8.2.ebuild b/dev-python/send2trash/send2trash-1.8.2.ebuild
deleted file mode 100644
index d759f6cb0331..000000000000
--- a/dev-python/send2trash/send2trash-1.8.2.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=Send2Trash
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sends files to the Trash (or Recycle Bin)"
-HOMEPAGE="
- https://github.com/arsenetar/send2trash/
- https://pypi.org/project/Send2Trash/
-"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/send2trash/send2trash-1.8.3.ebuild b/dev-python/send2trash/send2trash-1.8.3.ebuild
new file mode 100644
index 000000000000..14befca8d91d
--- /dev/null
+++ b/dev-python/send2trash/send2trash-1.8.3.ebuild
@@ -0,0 +1,23 @@
+# 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
+PYPI_PN=Send2Trash
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sends files to the Trash (or Recycle Bin)"
+HOMEPAGE="
+ https://github.com/arsenetar/send2trash/
+ https://pypi.org/project/Send2Trash/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sense-hat/Manifest b/dev-python/sense-hat/Manifest
new file mode 100644
index 000000000000..dcf2729bb35f
--- /dev/null
+++ b/dev-python/sense-hat/Manifest
@@ -0,0 +1 @@
+DIST sense-hat-2.6.0.gh.tar.gz 26598 BLAKE2B eabb9cae494584bb05d4d6e7111284925c2be8c8abcfe0f346f148ab2e29bae4ee3adf46aa1c83ad098760f7adf57635fa7b392effa5ffab065562c0f8a60e17 SHA512 23a10b7af223bf373ecef987c40da6ec7b7e802169b8abb0a810dce369d969276c290aef9b9e6e70ee3824ce6d238dcc2654e06d87d0e05b056d11f64ac9209a
diff --git a/dev-python/python-sense-hat/metadata.xml b/dev-python/sense-hat/metadata.xml
index 036fcee9c23f..036fcee9c23f 100644
--- a/dev-python/python-sense-hat/metadata.xml
+++ b/dev-python/sense-hat/metadata.xml
diff --git a/dev-python/sense-hat/sense-hat-2.6.0.ebuild b/dev-python/sense-hat/sense-hat-2.6.0.ebuild
new file mode 100644
index 000000000000..5c0847222f19
--- /dev/null
+++ b/dev-python/sense-hat/sense-hat-2.6.0.ebuild
@@ -0,0 +1,27 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+MY_PN="python-${PN}"
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Raspberry Pi Sense HAT python library"
+HOMEPAGE="https://github.com/astro-pi/python-sense-hat"
+SRC_URI="https://github.com/astro-pi/${MY_PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+S="${WORKDIR}/${MY_PN}-${PV}"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="arm arm64"
+
+RDEPEND="
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/rtimulib[${PYTHON_USEDEP}]
+"
+
+DEPEND="${RDEPEND}"
diff --git a/dev-python/sentry-sdk/Manifest b/dev-python/sentry-sdk/Manifest
index c68e054e7ee8..7650348c31d6 100644
--- a/dev-python/sentry-sdk/Manifest
+++ b/dev-python/sentry-sdk/Manifest
@@ -1,4 +1,5 @@
-DIST sentry-python-1.35.0.gh.tar.gz 438978 BLAKE2B 84d016fd24895eab240d97d99c5ac11f332f72c487b82205680513103d5a684ad25b4dbb6fe7863d681c965239079f1208b660a48bc21e508b57db04466e91b7 SHA512 fb136cb0542a9ca7db7e5bbcfe6178cdee90b80c634c9f1f54ad769b403fbe48ab9f23f66e33c1b7cc0f22d53811c0b1ae767604df5f2209c3568eebdc643b6a
-DIST sentry-python-1.37.0.gh.tar.gz 447094 BLAKE2B 74299d4efb1842965facbb9d6a957f21c42909eac26545d2b4838be83641049cb277d6525052209e9c7d4d3801b99f75d7350c29b18c2e3909e16e7246056967 SHA512 6dd5be6561075646967c1b7b1fd9eeaf07fe45cd71a64898265d49b3a89a5ffcc3a0ceea8698e389b9e57f0dbe42073c6d3df947dc8bfd46cc3e269330dbe3a4
-DIST sentry-python-1.37.1.gh.tar.gz 447142 BLAKE2B 16e495a69e4757520e4fa9854248f7fdd31056489b016d86a0f087b7a709fa70a1f9cf655c4e319e8a69cdedd138c34864d03907a7423be329dbd00f66a2c568 SHA512 193d20949ce87dc530bbc97a522fd0c8566ccd2d2f14287c8e903dd39bb8a19af7aa59de0bcb90f06375353c79cbc19af704a17844b2073860bc879d2b551542
-DIST sentry-python-1.38.0.gh.tar.gz 448517 BLAKE2B de047d20e8dd90018a7ce8dd102efc7ce970bb269c04d643c67e9fb46a9ad9eebcd89b08dfe1f0782dc51f61478c6e472ed25262e8a2bca7cfb7e0d9936abe78 SHA512 dbdcb7f53ee8da6071befec7a619324c0baabb383bb000875992e82bca97d0f49c7a8836c91a2ae20ae814ed55bf485d01c4762a82761083a19b1db8557d6983
+DIST sentry-python-1.45.0.gh.tar.gz 475425 BLAKE2B 8dc46154dfc1c7c9104a706be032b5269d407dee6845da252f1c603ea4f9486d02d1d3c6bec314064b821dee31b503d07a9c17935ca1f4dd6cc4d7b9c3165094 SHA512 dad23a3f6a8e6ef5fe78e1d38a61977d8974edf306d5688537f331801d8fa0f60743d18cc3dadf6e9a9666c55a01c98b9ff8d8808ece7d8f95ee68a69b6cb9be
+DIST sentry-python-2.10.0.gh.tar.gz 534265 BLAKE2B 34f447323476aad6fb463036e58d4100e44368964d50c0d32ae8d4d7d4a89a0adfc70b8fbf7b091843181a21c37eef901f66702fe9e4655287eb5d19c003b096 SHA512 87e0c655fcb96b3462847980c58bde708b5064f80f17433e6ae5ca67d8432150268a542b18779dc5644c153146029141438b9c0a958feb3d35cf9cb6f5cc4b6a
+DIST sentry-python-2.11.0.gh.tar.gz 537891 BLAKE2B ce46efe95a61088f92c02c13ed55c4cde4e1b17cbfbbbdbb0b8092f83d5571239d004810ca193f7954f0469018b2b881ec254530c13d58056993c2811a14a376 SHA512 339ed1b325c84ef350ca29deb326b4adff5a9b648a03ec28dcf6ca461856c79b2f30944a1360204d54020732564f6c30ebe3fc8902c3b3c2a7e66e5bb0f7994b
+DIST sentry-python-2.7.1.gh.tar.gz 528495 BLAKE2B 7846e726aaca3d916a5b901aa1cde6ac04e79c32f71a631955a354143fc9937ba8881ccf1e3ed387ec12afcd4e6734ea4eee0614512447bcd58d8875fe97cd35 SHA512 afe034553ddb5eeefa00db26e13cebe82d946f990eb62f8cfde670ad5d9d5c93c0ffb2d0ed5f01f55ac533dca66ab6f53553e5b8f011e08705213cb515146516
+DIST sentry-python-2.9.0.gh.tar.gz 531490 BLAKE2B 8b67caa6911fd44e58c2a1d1206e6ecb9dc31f81c15c66763a04f1a65fc89d4667e60f27e055016342c6b4cac5470729c802ffb046e6e0796d5bfd7044caf27d SHA512 aed112a2ee35e23a1431486ff18e67772476ecfc63eacc388d17454a723b98f6e05cfa95a6c9db2cb6be572eed73d249951a411c60184b20eb251520071a4254
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.35.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.35.0.ebuild
deleted file mode 100644
index df2668bf4278..000000000000
--- a/dev-python/sentry-sdk/sentry-sdk-1.35.0.ebuild
+++ /dev/null
@@ -1,128 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..12} )
-
-inherit distutils-r1
-
-MY_P=sentry-python-${PV}
-DESCRIPTION="Python client for Sentry"
-HOMEPAGE="
- https://sentry.io/
- https://github.com/getsentry/sentry-python/
- https://pypi.org/project/sentry-sdk/
-"
-SRC_URI="
- https://github.com/getsentry/sentry-python/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="PSF-2"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- dev-python/urllib3[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/asttokens[${PYTHON_USEDEP}]
- dev-python/django[${PYTHON_USEDEP}]
- dev-python/executing[${PYTHON_USEDEP}]
- dev-python/fakeredis[${PYTHON_USEDEP}]
- dev-python/flask-login[${PYTHON_USEDEP}]
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/pyrsistent[${PYTHON_USEDEP}]
- dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
- dev-python/pytest-django[${PYTHON_USEDEP}]
- dev-python/pytest-forked[${PYTHON_USEDEP}]
- dev-python/pytest-localserver[${PYTHON_USEDEP}]
- dev-python/python-socks[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/zope-event[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}/sentry-sdk-1.21.0-ignore-warnings.patch"
-)
-
-python_test() {
- local EPYTEST_IGNORE=(
- # tests require Internet access
- tests/integrations/httpx/test_httpx.py
- tests/integrations/requests/test_requests.py
- tests/integrations/stdlib/test_httplib.py
- tests/integrations/flask/test_flask.py
- tests/integrations/django/test_basic.py
- tests/integrations/socket/test_socket.py
- # wtf is it supposed to do?!
- tests/integrations/gcp/test_gcp.py
- # broken by rq-1.10.1 (optional dep)
- tests/integrations/rq/test_rq.py
- # fastapi is not packaged
- tests/integrations/asgi/test_fastapi.py
- # TODO
- tests/integrations/bottle
- # TODO: causes breakage in other tests
- tests/integrations/starlette
- # TODO
- tests/integrations/tornado
- # requires mockupdb
- tests/integrations/pymongo
- # requires AWS access
- tests/integrations/aws_lambda
- )
-
- local EPYTEST_DESELECT=(
- # hangs
- 'tests/test_transport.py::test_transport_works'
- # TODO
- 'tests/test_basics.py::test_auto_enabling_integrations_catches_import_error'
- tests/test_client.py::test_databag_depth_stripping
- tests/test_client.py::test_databag_string_stripping
- tests/test_client.py::test_databag_breadth_stripping
- tests/integrations/asgi/test_asgi.py::test_auto_session_tracking_with_aggregates
- tests/integrations/asgi/test_asgi.py::test_websocket
- tests/integrations/aiohttp/test_aiohttp.py::test_transaction_style
- tests/integrations/aiohttp/test_aiohttp.py::test_traces_sampler_gets_request_object_in_sampling_context
- tests/integrations/django/test_data_scrubbing.py::test_scrub_django_custom_session_cookies_filtered
- # incompatible version?
- tests/integrations/falcon/test_falcon.py
- tests/integrations/sqlalchemy/test_sqlalchemy.py::test_large_event_not_truncated
- tests/integrations/django/test_data_scrubbing.py::test_scrub_django_session_cookies_{filtered,removed}
- # test_circular_references: apparently fragile
- 'tests/integrations/threading/test_threading.py::test_circular_references'
- # test for new feature, fails with IndexError
- tests/integrations/wsgi/test_wsgi.py::test_session_mode_defaults_to_request_mode_in_wsgi_handler
- # TODO
- tests/integrations/wsgi/test_wsgi.py::test_auto_session_tracking_with_aggregates
- tests/integrations/wsgi/test_wsgi.py::test_profile_sent_when_profiling_enabled
- tests/test_profiler.py::test_sample_buffer
- tests/test_profiler.py::test_thread_scheduler_takes_first_samples
- tests/test_profiler.py::test_thread_scheduler_takes_more_samples
- tests/test_profiler.py::test_thread_scheduler_single_background_thread
- # broken with py3.11, *shrug*
- tests/test_profiler.py::test_extract_stack_with_max_depth
- # TODO
- tests/integrations/sqlalchemy/test_sqlalchemy.py::test_long_sql_query_preserved
- tests/integrations/sqlalchemy/test_sqlalchemy.py::test_engine_name_not_string
- tests/test_scrubber.py::test_breadcrumb_extra_scrubbing
- tests/test_scrubber.py::test_span_data_scrubbing
- # this is not even funny
- tests/integrations/modules/test_modules.py::test_installed_modules
- # flaky hypothesis stuff
- tests/test_serializer.py::test_bytes_serialization_repr_many
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p asyncio -p aiohttp -p pytest_forked
-}
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.37.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.37.0.ebuild
deleted file mode 100644
index ddb8aa60a9e3..000000000000
--- a/dev-python/sentry-sdk/sentry-sdk-1.37.0.ebuild
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..12} )
-
-inherit distutils-r1
-
-MY_P=sentry-python-${PV}
-DESCRIPTION="Python client for Sentry"
-HOMEPAGE="
- https://sentry.io/
- https://github.com/getsentry/sentry-python/
- https://pypi.org/project/sentry-sdk/
-"
-SRC_URI="
- https://github.com/getsentry/sentry-python/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="PSF-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- dev-python/urllib3[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/asttokens[${PYTHON_USEDEP}]
- dev-python/django[${PYTHON_USEDEP}]
- dev-python/executing[${PYTHON_USEDEP}]
- dev-python/fakeredis[${PYTHON_USEDEP}]
- dev-python/flask-login[${PYTHON_USEDEP}]
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/pyrsistent[${PYTHON_USEDEP}]
- dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
- dev-python/pytest-django[${PYTHON_USEDEP}]
- dev-python/pytest-forked[${PYTHON_USEDEP}]
- dev-python/pytest-localserver[${PYTHON_USEDEP}]
- dev-python/python-socks[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/zope-event[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}/sentry-sdk-1.21.0-ignore-warnings.patch"
-)
-
-python_test() {
- local EPYTEST_IGNORE=(
- # tests require Internet access
- tests/integrations/httpx/test_httpx.py
- tests/integrations/requests/test_requests.py
- tests/integrations/stdlib/test_httplib.py
- tests/integrations/flask/test_flask.py
- tests/integrations/django/test_basic.py
- tests/integrations/socket/test_socket.py
- # wtf is it supposed to do?!
- tests/integrations/gcp/test_gcp.py
- # broken by rq-1.10.1 (optional dep)
- tests/integrations/rq/test_rq.py
- # fastapi is not packaged
- tests/integrations/asgi/test_fastapi.py
- # TODO
- tests/integrations/bottle
- # TODO: causes breakage in other tests
- tests/integrations/starlette
- # TODO
- tests/integrations/tornado
- # requires mockupdb
- tests/integrations/pymongo
- # requires AWS access
- tests/integrations/aws_lambda
- )
-
- local EPYTEST_DESELECT=(
- # hangs
- 'tests/test_transport.py::test_transport_works'
- # TODO
- 'tests/test_basics.py::test_auto_enabling_integrations_catches_import_error'
- tests/test_client.py::test_databag_depth_stripping
- tests/test_client.py::test_databag_string_stripping
- tests/test_client.py::test_databag_breadth_stripping
- tests/integrations/asgi/test_asgi.py::test_auto_session_tracking_with_aggregates
- tests/integrations/asgi/test_asgi.py::test_websocket
- tests/integrations/aiohttp/test_aiohttp.py::test_transaction_style
- tests/integrations/aiohttp/test_aiohttp.py::test_traces_sampler_gets_request_object_in_sampling_context
- tests/integrations/django/test_data_scrubbing.py::test_scrub_django_custom_session_cookies_filtered
- # incompatible version?
- tests/integrations/falcon/test_falcon.py
- tests/integrations/sqlalchemy/test_sqlalchemy.py::test_large_event_not_truncated
- tests/integrations/django/test_data_scrubbing.py::test_scrub_django_session_cookies_{filtered,removed}
- # test_circular_references: apparently fragile
- 'tests/integrations/threading/test_threading.py::test_circular_references'
- # test for new feature, fails with IndexError
- tests/integrations/wsgi/test_wsgi.py::test_session_mode_defaults_to_request_mode_in_wsgi_handler
- # TODO
- tests/integrations/wsgi/test_wsgi.py::test_auto_session_tracking_with_aggregates
- tests/integrations/wsgi/test_wsgi.py::test_profile_sent_when_profiling_enabled
- tests/test_profiler.py::test_sample_buffer
- tests/test_profiler.py::test_thread_scheduler_takes_first_samples
- tests/test_profiler.py::test_thread_scheduler_takes_more_samples
- tests/test_profiler.py::test_thread_scheduler_single_background_thread
- # broken with py3.11, *shrug*
- tests/test_profiler.py::test_extract_stack_with_max_depth
- # TODO
- tests/integrations/sqlalchemy/test_sqlalchemy.py::test_long_sql_query_preserved
- tests/integrations/sqlalchemy/test_sqlalchemy.py::test_engine_name_not_string
- tests/test_scrubber.py::test_breadcrumb_extra_scrubbing
- tests/test_scrubber.py::test_span_data_scrubbing
- # this is not even funny
- tests/test_utils.py::test_installed_modules
- # flaky hypothesis stuff
- tests/test_serializer.py::test_bytes_serialization_repr_many
- # TODO
- tests/integrations/aiohttp/test_aiohttp.py::test_basic
- tests/tracing/test_decorator_py3.py::test_trace_decorator_{,a}sync_py3
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p asyncio -p aiohttp -p pytest_forked
-}
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.37.1.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.37.1.ebuild
deleted file mode 100644
index ddb8aa60a9e3..000000000000
--- a/dev-python/sentry-sdk/sentry-sdk-1.37.1.ebuild
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..12} )
-
-inherit distutils-r1
-
-MY_P=sentry-python-${PV}
-DESCRIPTION="Python client for Sentry"
-HOMEPAGE="
- https://sentry.io/
- https://github.com/getsentry/sentry-python/
- https://pypi.org/project/sentry-sdk/
-"
-SRC_URI="
- https://github.com/getsentry/sentry-python/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="PSF-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- dev-python/urllib3[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/asttokens[${PYTHON_USEDEP}]
- dev-python/django[${PYTHON_USEDEP}]
- dev-python/executing[${PYTHON_USEDEP}]
- dev-python/fakeredis[${PYTHON_USEDEP}]
- dev-python/flask-login[${PYTHON_USEDEP}]
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/pyrsistent[${PYTHON_USEDEP}]
- dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
- dev-python/pytest-django[${PYTHON_USEDEP}]
- dev-python/pytest-forked[${PYTHON_USEDEP}]
- dev-python/pytest-localserver[${PYTHON_USEDEP}]
- dev-python/python-socks[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/zope-event[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}/sentry-sdk-1.21.0-ignore-warnings.patch"
-)
-
-python_test() {
- local EPYTEST_IGNORE=(
- # tests require Internet access
- tests/integrations/httpx/test_httpx.py
- tests/integrations/requests/test_requests.py
- tests/integrations/stdlib/test_httplib.py
- tests/integrations/flask/test_flask.py
- tests/integrations/django/test_basic.py
- tests/integrations/socket/test_socket.py
- # wtf is it supposed to do?!
- tests/integrations/gcp/test_gcp.py
- # broken by rq-1.10.1 (optional dep)
- tests/integrations/rq/test_rq.py
- # fastapi is not packaged
- tests/integrations/asgi/test_fastapi.py
- # TODO
- tests/integrations/bottle
- # TODO: causes breakage in other tests
- tests/integrations/starlette
- # TODO
- tests/integrations/tornado
- # requires mockupdb
- tests/integrations/pymongo
- # requires AWS access
- tests/integrations/aws_lambda
- )
-
- local EPYTEST_DESELECT=(
- # hangs
- 'tests/test_transport.py::test_transport_works'
- # TODO
- 'tests/test_basics.py::test_auto_enabling_integrations_catches_import_error'
- tests/test_client.py::test_databag_depth_stripping
- tests/test_client.py::test_databag_string_stripping
- tests/test_client.py::test_databag_breadth_stripping
- tests/integrations/asgi/test_asgi.py::test_auto_session_tracking_with_aggregates
- tests/integrations/asgi/test_asgi.py::test_websocket
- tests/integrations/aiohttp/test_aiohttp.py::test_transaction_style
- tests/integrations/aiohttp/test_aiohttp.py::test_traces_sampler_gets_request_object_in_sampling_context
- tests/integrations/django/test_data_scrubbing.py::test_scrub_django_custom_session_cookies_filtered
- # incompatible version?
- tests/integrations/falcon/test_falcon.py
- tests/integrations/sqlalchemy/test_sqlalchemy.py::test_large_event_not_truncated
- tests/integrations/django/test_data_scrubbing.py::test_scrub_django_session_cookies_{filtered,removed}
- # test_circular_references: apparently fragile
- 'tests/integrations/threading/test_threading.py::test_circular_references'
- # test for new feature, fails with IndexError
- tests/integrations/wsgi/test_wsgi.py::test_session_mode_defaults_to_request_mode_in_wsgi_handler
- # TODO
- tests/integrations/wsgi/test_wsgi.py::test_auto_session_tracking_with_aggregates
- tests/integrations/wsgi/test_wsgi.py::test_profile_sent_when_profiling_enabled
- tests/test_profiler.py::test_sample_buffer
- tests/test_profiler.py::test_thread_scheduler_takes_first_samples
- tests/test_profiler.py::test_thread_scheduler_takes_more_samples
- tests/test_profiler.py::test_thread_scheduler_single_background_thread
- # broken with py3.11, *shrug*
- tests/test_profiler.py::test_extract_stack_with_max_depth
- # TODO
- tests/integrations/sqlalchemy/test_sqlalchemy.py::test_long_sql_query_preserved
- tests/integrations/sqlalchemy/test_sqlalchemy.py::test_engine_name_not_string
- tests/test_scrubber.py::test_breadcrumb_extra_scrubbing
- tests/test_scrubber.py::test_span_data_scrubbing
- # this is not even funny
- tests/test_utils.py::test_installed_modules
- # flaky hypothesis stuff
- tests/test_serializer.py::test_bytes_serialization_repr_many
- # TODO
- tests/integrations/aiohttp/test_aiohttp.py::test_basic
- tests/tracing/test_decorator_py3.py::test_trace_decorator_{,a}sync_py3
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p asyncio -p aiohttp -p pytest_forked
-}
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.38.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.38.0.ebuild
deleted file mode 100644
index ddb8aa60a9e3..000000000000
--- a/dev-python/sentry-sdk/sentry-sdk-1.38.0.ebuild
+++ /dev/null
@@ -1,131 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..12} )
-
-inherit distutils-r1
-
-MY_P=sentry-python-${PV}
-DESCRIPTION="Python client for Sentry"
-HOMEPAGE="
- https://sentry.io/
- https://github.com/getsentry/sentry-python/
- https://pypi.org/project/sentry-sdk/
-"
-SRC_URI="
- https://github.com/getsentry/sentry-python/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="PSF-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- dev-python/urllib3[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/asttokens[${PYTHON_USEDEP}]
- dev-python/django[${PYTHON_USEDEP}]
- dev-python/executing[${PYTHON_USEDEP}]
- dev-python/fakeredis[${PYTHON_USEDEP}]
- dev-python/flask-login[${PYTHON_USEDEP}]
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/pyrsistent[${PYTHON_USEDEP}]
- dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
- dev-python/pytest-django[${PYTHON_USEDEP}]
- dev-python/pytest-forked[${PYTHON_USEDEP}]
- dev-python/pytest-localserver[${PYTHON_USEDEP}]
- dev-python/python-socks[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- dev-python/werkzeug[${PYTHON_USEDEP}]
- dev-python/zope-event[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}/sentry-sdk-1.21.0-ignore-warnings.patch"
-)
-
-python_test() {
- local EPYTEST_IGNORE=(
- # tests require Internet access
- tests/integrations/httpx/test_httpx.py
- tests/integrations/requests/test_requests.py
- tests/integrations/stdlib/test_httplib.py
- tests/integrations/flask/test_flask.py
- tests/integrations/django/test_basic.py
- tests/integrations/socket/test_socket.py
- # wtf is it supposed to do?!
- tests/integrations/gcp/test_gcp.py
- # broken by rq-1.10.1 (optional dep)
- tests/integrations/rq/test_rq.py
- # fastapi is not packaged
- tests/integrations/asgi/test_fastapi.py
- # TODO
- tests/integrations/bottle
- # TODO: causes breakage in other tests
- tests/integrations/starlette
- # TODO
- tests/integrations/tornado
- # requires mockupdb
- tests/integrations/pymongo
- # requires AWS access
- tests/integrations/aws_lambda
- )
-
- local EPYTEST_DESELECT=(
- # hangs
- 'tests/test_transport.py::test_transport_works'
- # TODO
- 'tests/test_basics.py::test_auto_enabling_integrations_catches_import_error'
- tests/test_client.py::test_databag_depth_stripping
- tests/test_client.py::test_databag_string_stripping
- tests/test_client.py::test_databag_breadth_stripping
- tests/integrations/asgi/test_asgi.py::test_auto_session_tracking_with_aggregates
- tests/integrations/asgi/test_asgi.py::test_websocket
- tests/integrations/aiohttp/test_aiohttp.py::test_transaction_style
- tests/integrations/aiohttp/test_aiohttp.py::test_traces_sampler_gets_request_object_in_sampling_context
- tests/integrations/django/test_data_scrubbing.py::test_scrub_django_custom_session_cookies_filtered
- # incompatible version?
- tests/integrations/falcon/test_falcon.py
- tests/integrations/sqlalchemy/test_sqlalchemy.py::test_large_event_not_truncated
- tests/integrations/django/test_data_scrubbing.py::test_scrub_django_session_cookies_{filtered,removed}
- # test_circular_references: apparently fragile
- 'tests/integrations/threading/test_threading.py::test_circular_references'
- # test for new feature, fails with IndexError
- tests/integrations/wsgi/test_wsgi.py::test_session_mode_defaults_to_request_mode_in_wsgi_handler
- # TODO
- tests/integrations/wsgi/test_wsgi.py::test_auto_session_tracking_with_aggregates
- tests/integrations/wsgi/test_wsgi.py::test_profile_sent_when_profiling_enabled
- tests/test_profiler.py::test_sample_buffer
- tests/test_profiler.py::test_thread_scheduler_takes_first_samples
- tests/test_profiler.py::test_thread_scheduler_takes_more_samples
- tests/test_profiler.py::test_thread_scheduler_single_background_thread
- # broken with py3.11, *shrug*
- tests/test_profiler.py::test_extract_stack_with_max_depth
- # TODO
- tests/integrations/sqlalchemy/test_sqlalchemy.py::test_long_sql_query_preserved
- tests/integrations/sqlalchemy/test_sqlalchemy.py::test_engine_name_not_string
- tests/test_scrubber.py::test_breadcrumb_extra_scrubbing
- tests/test_scrubber.py::test_span_data_scrubbing
- # this is not even funny
- tests/test_utils.py::test_installed_modules
- # flaky hypothesis stuff
- tests/test_serializer.py::test_bytes_serialization_repr_many
- # TODO
- tests/integrations/aiohttp/test_aiohttp.py::test_basic
- tests/tracing/test_decorator_py3.py::test_trace_decorator_{,a}sync_py3
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p asyncio -p aiohttp -p pytest_forked
-}
diff --git a/dev-python/sentry-sdk/sentry-sdk-1.45.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-1.45.0.ebuild
new file mode 100644
index 000000000000..4cdc0f653f3e
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-1.45.0.ebuild
@@ -0,0 +1,155 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1
+
+MY_P=sentry-python-${PV}
+DESCRIPTION="Python client for Sentry"
+HOMEPAGE="
+ https://sentry.io/
+ https://github.com/getsentry/sentry-python/
+ https://pypi.org/project/sentry-sdk/
+"
+SRC_URI="
+ https://github.com/getsentry/sentry-python/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/asttokens[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/executing[${PYTHON_USEDEP}]
+ dev-python/fakeredis[${PYTHON_USEDEP}]
+ dev-python/flask-login[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pyrsistent[${PYTHON_USEDEP}]
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/python-socks[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}/sentry-sdk-1.21.0-ignore-warnings.patch"
+)
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # tests require Internet access
+ tests/integrations/httpx/test_httpx.py
+ tests/integrations/requests/test_requests.py
+ tests/integrations/stdlib/test_httplib.py
+ tests/integrations/flask/test_flask.py
+ tests/integrations/django/test_basic.py
+ tests/integrations/socket/test_socket.py
+ # wtf is it supposed to do?!
+ tests/integrations/gcp/test_gcp.py
+ # broken by rq-1.10.1 (optional dep)
+ tests/integrations/rq/test_rq.py
+ # fastapi is not packaged
+ tests/integrations/asgi/test_fastapi.py
+ # TODO
+ tests/integrations/bottle
+ # TODO: causes breakage in other tests
+ tests/integrations/starlette
+ # TODO
+ tests/integrations/tornado
+ # requires mockupdb
+ tests/integrations/pymongo
+ # requires AWS access
+ tests/integrations/aws_lambda
+ # requires quart_auth
+ tests/integrations/quart
+ # TODO: require opentelemetry (with py3.10)
+ tests/integrations/opentelemetry
+ )
+
+ local EPYTEST_DESELECT=(
+ # hangs
+ 'tests/test_transport.py::test_transport_works'
+ # TODO
+ 'tests/test_basics.py::test_auto_enabling_integrations_catches_import_error'
+ tests/test_client.py::test_databag_depth_stripping
+ tests/test_client.py::test_databag_string_stripping
+ tests/test_client.py::test_databag_breadth_stripping
+ tests/integrations/asgi/test_asgi.py::test_auto_session_tracking_with_aggregates
+ tests/integrations/asgi/test_asgi.py::test_websocket
+ tests/integrations/aiohttp/test_aiohttp.py::test_transaction_style
+ tests/integrations/aiohttp/test_aiohttp.py::test_traces_sampler_gets_request_object_in_sampling_context
+ tests/integrations/django/test_data_scrubbing.py::test_scrub_django_custom_session_cookies_filtered
+ # incompatible version?
+ tests/integrations/falcon/test_falcon.py
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_large_event_not_truncated
+ tests/integrations/django/test_data_scrubbing.py::test_scrub_django_session_cookies_{filtered,removed}
+ # test_circular_references: apparently fragile
+ 'tests/integrations/threading/test_threading.py::test_circular_references'
+ # test for new feature, fails with IndexError
+ tests/integrations/wsgi/test_wsgi.py::test_session_mode_defaults_to_request_mode_in_wsgi_handler
+ # TODO
+ tests/integrations/wsgi/test_wsgi.py::test_auto_session_tracking_with_aggregates
+ tests/integrations/wsgi/test_wsgi.py::test_profile_sent_when_profiling_enabled
+ tests/test_profiler.py::test_sample_buffer
+ tests/test_profiler.py::test_thread_scheduler_takes_first_samples
+ tests/test_profiler.py::test_thread_scheduler_takes_more_samples
+ tests/test_profiler.py::test_thread_scheduler_single_background_thread
+ # broken with py3.11, *shrug*
+ tests/test_profiler.py::test_extract_stack_with_max_depth
+ # TODO
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_long_sql_query_preserved
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_engine_name_not_string
+ tests/test_scrubber.py::test_breadcrumb_extra_scrubbing
+ tests/test_scrubber.py::test_span_data_scrubbing
+ # this is not even funny
+ tests/test_utils.py::test_installed_modules
+ # flaky hypothesis stuff
+ tests/test_serializer.py::test_bytes_serialization_repr_many
+ # TODO
+ tests/integrations/aiohttp/test_aiohttp.py::test_basic
+ tests/tracing/test_decorator_py3.py::test_trace_decorator_{,a}sync_py3
+ # crashes Python
+ tests/integrations/grpc/test_grpc_aio.py
+ # hangs
+ tests/integrations/threading/test_threading.py::test_propagates_threadpool_hub
+ # TODO
+ tests/test_utils.py::test_default_release
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_orm_queries
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_transactions
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_query_source
+ tests/integrations/stdlib/test_subprocess.py::test_subprocess_basic
+ tests/integrations/threading/test_threading.py
+ tests/integrations/wsgi/test_wsgi.py
+ 'tests/utils/test_contextvars.py::test_leaks[threads]'
+ # skipped without gevent but breaks stuff via broken teardown?
+ tests/test_metrics.py::test_no_metrics_with_gevent
+ # TODO
+ tests/utils/test_contextvars.py::test_leaks
+ # broken teardown?
+ tests/test_client.py::test_uwsgi_warnings
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p aiohttp -p pytest_forked
+}
diff --git a/dev-python/sentry-sdk/sentry-sdk-2.10.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-2.10.0.ebuild
new file mode 100644
index 000000000000..12930ca8256b
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-2.10.0.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1
+
+MY_P=sentry-python-${PV}
+DESCRIPTION="Python client for Sentry"
+HOMEPAGE="
+ https://sentry.io/
+ https://github.com/getsentry/sentry-python/
+ https://pypi.org/project/sentry-sdk/
+"
+SRC_URI="
+ https://github.com/getsentry/sentry-python/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/asttokens[${PYTHON_USEDEP}]
+ dev-python/executing[${PYTHON_USEDEP}]
+ dev-python/fakeredis[${PYTHON_USEDEP}]
+ dev-python/flask-login[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pyrsistent[${PYTHON_USEDEP}]
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/python-socks[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}/sentry-sdk-1.21.0-ignore-warnings.patch"
+)
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # tests require Internet access
+ tests/integrations/httpx/test_httpx.py
+ tests/integrations/requests/test_requests.py
+ tests/integrations/django/test_basic.py
+ tests/integrations/socket/test_socket.py
+ # wtf is it supposed to do?!
+ tests/integrations/gcp/test_gcp.py
+ # TODO
+ tests/integrations/bottle
+ # TODO: most of them hang
+ tests/integrations/starlette
+ # TODO
+ tests/integrations/tornado
+ # requires mockupdb
+ tests/integrations/pymongo
+ # requires AWS access
+ tests/integrations/aws_lambda
+ # requires quart_auth
+ tests/integrations/quart
+ # TODO: require opentelemetry (with py3.10)
+ tests/integrations/opentelemetry
+ # broken (incompatible rq version?)
+ tests/integrations/rq
+ )
+
+ local EPYTEST_DESELECT=(
+ # hangs
+ tests/integrations/threading/test_threading.py::test_propagates_threadpool_hub
+ # broken teardown?
+ tests/test_client.py::test_uwsgi_warnings
+ # too many dependencies installed, sigh
+ tests/test_new_scopes_compat_event.py
+ # Internet
+ tests/integrations/stdlib/test_httplib.py::test_outgoing_trace_headers
+ tests/integrations/stdlib/test_httplib.py::test_outgoing_trace_headers_head_sdk
+ tests/integrations/aiohttp/test_aiohttp.py::test_span_origin
+ tests/integrations/stdlib/test_httplib.py::test_span_origin
+ tests/integrations/stdlib/test_subprocess.py::test_subprocess_span_origin
+ # TODO
+ tests/integrations/aiohttp/test_aiohttp.py::test_basic
+ tests/integrations/django
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_orm_queries
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_query_source
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_transactions
+ tests/integrations/stdlib/test_subprocess.py::test_subprocess_basic
+ tests/integrations/threading/test_threading.py
+ tests/integrations/wsgi/test_wsgi.py
+ tests/test_basics.py::test_auto_enabling_integrations_catches_import_error
+ tests/test_client.py::test_databag_breadth_stripping
+ tests/test_client.py::test_databag_depth_stripping
+ tests/test_client.py::test_databag_string_stripping
+ tests/test_utils.py::test_default_release
+ tests/tracing/test_sampling.py::test_records_lost_event_only_if_traces_sample_rate_enabled
+ tests/tracing/test_sampling.py::test_records_lost_event_only_if_traces_sampler_enabled
+ tests/utils/test_contextvars.py::test_leaks
+ # pointless, fragile to packages being installed in parallel
+ tests/test_utils.py::test_installed_modules
+ # TODO
+ tests/profiler/test_continuous_profiler.py::test_continuous_profiler_auto_start_and_manual_stop
+ tests/profiler/test_continuous_profiler.py::test_continuous_profiler_manual_start_and_stop
+ tests/profiler/test_transaction_profiler.py::test_minimum_unique_samples_required
+ tests/profiler/test_transaction_profiler.py::test_profile_captured
+ tests/profiler/test_transaction_profiler.py::test_profiles_sample_rate
+ tests/profiler/test_transaction_profiler.py::test_profiles_sampler
+ tests/new_scopes_compat/test_new_scopes_compat_event.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p aiohttp -p pytest_forked -o addopts=
+}
diff --git a/dev-python/sentry-sdk/sentry-sdk-2.11.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-2.11.0.ebuild
new file mode 100644
index 000000000000..12930ca8256b
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-2.11.0.ebuild
@@ -0,0 +1,128 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1
+
+MY_P=sentry-python-${PV}
+DESCRIPTION="Python client for Sentry"
+HOMEPAGE="
+ https://sentry.io/
+ https://github.com/getsentry/sentry-python/
+ https://pypi.org/project/sentry-sdk/
+"
+SRC_URI="
+ https://github.com/getsentry/sentry-python/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/asttokens[${PYTHON_USEDEP}]
+ dev-python/executing[${PYTHON_USEDEP}]
+ dev-python/fakeredis[${PYTHON_USEDEP}]
+ dev-python/flask-login[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pyrsistent[${PYTHON_USEDEP}]
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/python-socks[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}/sentry-sdk-1.21.0-ignore-warnings.patch"
+)
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # tests require Internet access
+ tests/integrations/httpx/test_httpx.py
+ tests/integrations/requests/test_requests.py
+ tests/integrations/django/test_basic.py
+ tests/integrations/socket/test_socket.py
+ # wtf is it supposed to do?!
+ tests/integrations/gcp/test_gcp.py
+ # TODO
+ tests/integrations/bottle
+ # TODO: most of them hang
+ tests/integrations/starlette
+ # TODO
+ tests/integrations/tornado
+ # requires mockupdb
+ tests/integrations/pymongo
+ # requires AWS access
+ tests/integrations/aws_lambda
+ # requires quart_auth
+ tests/integrations/quart
+ # TODO: require opentelemetry (with py3.10)
+ tests/integrations/opentelemetry
+ # broken (incompatible rq version?)
+ tests/integrations/rq
+ )
+
+ local EPYTEST_DESELECT=(
+ # hangs
+ tests/integrations/threading/test_threading.py::test_propagates_threadpool_hub
+ # broken teardown?
+ tests/test_client.py::test_uwsgi_warnings
+ # too many dependencies installed, sigh
+ tests/test_new_scopes_compat_event.py
+ # Internet
+ tests/integrations/stdlib/test_httplib.py::test_outgoing_trace_headers
+ tests/integrations/stdlib/test_httplib.py::test_outgoing_trace_headers_head_sdk
+ tests/integrations/aiohttp/test_aiohttp.py::test_span_origin
+ tests/integrations/stdlib/test_httplib.py::test_span_origin
+ tests/integrations/stdlib/test_subprocess.py::test_subprocess_span_origin
+ # TODO
+ tests/integrations/aiohttp/test_aiohttp.py::test_basic
+ tests/integrations/django
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_orm_queries
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_query_source
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_transactions
+ tests/integrations/stdlib/test_subprocess.py::test_subprocess_basic
+ tests/integrations/threading/test_threading.py
+ tests/integrations/wsgi/test_wsgi.py
+ tests/test_basics.py::test_auto_enabling_integrations_catches_import_error
+ tests/test_client.py::test_databag_breadth_stripping
+ tests/test_client.py::test_databag_depth_stripping
+ tests/test_client.py::test_databag_string_stripping
+ tests/test_utils.py::test_default_release
+ tests/tracing/test_sampling.py::test_records_lost_event_only_if_traces_sample_rate_enabled
+ tests/tracing/test_sampling.py::test_records_lost_event_only_if_traces_sampler_enabled
+ tests/utils/test_contextvars.py::test_leaks
+ # pointless, fragile to packages being installed in parallel
+ tests/test_utils.py::test_installed_modules
+ # TODO
+ tests/profiler/test_continuous_profiler.py::test_continuous_profiler_auto_start_and_manual_stop
+ tests/profiler/test_continuous_profiler.py::test_continuous_profiler_manual_start_and_stop
+ tests/profiler/test_transaction_profiler.py::test_minimum_unique_samples_required
+ tests/profiler/test_transaction_profiler.py::test_profile_captured
+ tests/profiler/test_transaction_profiler.py::test_profiles_sample_rate
+ tests/profiler/test_transaction_profiler.py::test_profiles_sampler
+ tests/new_scopes_compat/test_new_scopes_compat_event.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p aiohttp -p pytest_forked -o addopts=
+}
diff --git a/dev-python/sentry-sdk/sentry-sdk-2.7.1.ebuild b/dev-python/sentry-sdk/sentry-sdk-2.7.1.ebuild
new file mode 100644
index 000000000000..c1ca3a0a34bf
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-2.7.1.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1
+
+MY_P=sentry-python-${PV}
+DESCRIPTION="Python client for Sentry"
+HOMEPAGE="
+ https://sentry.io/
+ https://github.com/getsentry/sentry-python/
+ https://pypi.org/project/sentry-sdk/
+"
+SRC_URI="
+ https://github.com/getsentry/sentry-python/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~ppc ~ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/asttokens[${PYTHON_USEDEP}]
+ dev-python/executing[${PYTHON_USEDEP}]
+ dev-python/fakeredis[${PYTHON_USEDEP}]
+ dev-python/flask-login[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pyrsistent[${PYTHON_USEDEP}]
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/python-socks[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}/sentry-sdk-1.21.0-ignore-warnings.patch"
+)
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # tests require Internet access
+ tests/integrations/httpx/test_httpx.py
+ tests/integrations/requests/test_requests.py
+ tests/integrations/django/test_basic.py
+ tests/integrations/socket/test_socket.py
+ # wtf is it supposed to do?!
+ tests/integrations/gcp/test_gcp.py
+ # TODO
+ tests/integrations/bottle
+ # TODO: most of them hang
+ tests/integrations/starlette
+ # TODO
+ tests/integrations/tornado
+ # requires mockupdb
+ tests/integrations/pymongo
+ # requires AWS access
+ tests/integrations/aws_lambda
+ # requires quart_auth
+ tests/integrations/quart
+ # TODO: require opentelemetry (with py3.10)
+ tests/integrations/opentelemetry
+ # broken (incompatible rq version?)
+ tests/integrations/rq
+ )
+
+ local EPYTEST_DESELECT=(
+ # hangs
+ tests/integrations/threading/test_threading.py::test_propagates_threadpool_hub
+ # broken teardown?
+ tests/test_client.py::test_uwsgi_warnings
+ # too many dependencies installed, sigh
+ tests/test_new_scopes_compat_event.py
+ # Internet
+ tests/integrations/stdlib/test_httplib.py::test_outgoing_trace_headers
+ tests/integrations/stdlib/test_httplib.py::test_outgoing_trace_headers_head_sdk
+ tests/integrations/aiohttp/test_aiohttp.py::test_span_origin
+ tests/integrations/stdlib/test_httplib.py::test_span_origin
+ tests/integrations/stdlib/test_subprocess.py::test_subprocess_span_origin
+ # TODO
+ tests/integrations/aiohttp/test_aiohttp.py::test_basic
+ tests/integrations/django
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_orm_queries
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_query_source
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_transactions
+ tests/integrations/stdlib/test_subprocess.py::test_subprocess_basic
+ tests/integrations/threading/test_threading.py
+ tests/integrations/wsgi/test_wsgi.py
+ tests/test_basics.py::test_auto_enabling_integrations_catches_import_error
+ tests/test_client.py::test_databag_breadth_stripping
+ tests/test_client.py::test_databag_depth_stripping
+ tests/test_client.py::test_databag_string_stripping
+ tests/test_utils.py::test_default_release
+ tests/tracing/test_sampling.py::test_records_lost_event_only_if_traces_sample_rate_enabled
+ tests/tracing/test_sampling.py::test_records_lost_event_only_if_traces_sampler_enabled
+ tests/utils/test_contextvars.py::test_leaks
+ # pointless, fragile to packages being installed in parallel
+ tests/test_utils.py::test_installed_modules
+ # TODO
+ tests/profiler/test_continuous_profiler.py::test_continuous_profiler_auto_start_and_manual_stop
+ tests/profiler/test_continuous_profiler.py::test_continuous_profiler_manual_start_and_stop
+ tests/profiler/test_transaction_profiler.py::test_minimum_unique_samples_required
+ tests/profiler/test_transaction_profiler.py::test_profile_captured
+ tests/profiler/test_transaction_profiler.py::test_profiles_sample_rate
+ tests/profiler/test_transaction_profiler.py::test_profiles_sampler
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p aiohttp -p pytest_forked -o addopts=
+}
diff --git a/dev-python/sentry-sdk/sentry-sdk-2.9.0.ebuild b/dev-python/sentry-sdk/sentry-sdk-2.9.0.ebuild
new file mode 100644
index 000000000000..7a32e57aa0c8
--- /dev/null
+++ b/dev-python/sentry-sdk/sentry-sdk-2.9.0.ebuild
@@ -0,0 +1,127 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1
+
+MY_P=sentry-python-${PV}
+DESCRIPTION="Python client for Sentry"
+HOMEPAGE="
+ https://sentry.io/
+ https://github.com/getsentry/sentry-python/
+ https://pypi.org/project/sentry-sdk/
+"
+SRC_URI="
+ https://github.com/getsentry/sentry-python/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/asttokens[${PYTHON_USEDEP}]
+ dev-python/executing[${PYTHON_USEDEP}]
+ dev-python/fakeredis[${PYTHON_USEDEP}]
+ dev-python/flask-login[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pyrsistent[${PYTHON_USEDEP}]
+ <dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pytest-aiohttp[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-localserver[${PYTHON_USEDEP}]
+ dev-python/python-socks[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ dev-python/werkzeug[${PYTHON_USEDEP}]
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}/sentry-sdk-1.21.0-ignore-warnings.patch"
+)
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # tests require Internet access
+ tests/integrations/httpx/test_httpx.py
+ tests/integrations/requests/test_requests.py
+ tests/integrations/django/test_basic.py
+ tests/integrations/socket/test_socket.py
+ # wtf is it supposed to do?!
+ tests/integrations/gcp/test_gcp.py
+ # TODO
+ tests/integrations/bottle
+ # TODO: most of them hang
+ tests/integrations/starlette
+ # TODO
+ tests/integrations/tornado
+ # requires mockupdb
+ tests/integrations/pymongo
+ # requires AWS access
+ tests/integrations/aws_lambda
+ # requires quart_auth
+ tests/integrations/quart
+ # TODO: require opentelemetry (with py3.10)
+ tests/integrations/opentelemetry
+ # broken (incompatible rq version?)
+ tests/integrations/rq
+ )
+
+ local EPYTEST_DESELECT=(
+ # hangs
+ tests/integrations/threading/test_threading.py::test_propagates_threadpool_hub
+ # broken teardown?
+ tests/test_client.py::test_uwsgi_warnings
+ # too many dependencies installed, sigh
+ tests/test_new_scopes_compat_event.py
+ # Internet
+ tests/integrations/stdlib/test_httplib.py::test_outgoing_trace_headers
+ tests/integrations/stdlib/test_httplib.py::test_outgoing_trace_headers_head_sdk
+ tests/integrations/aiohttp/test_aiohttp.py::test_span_origin
+ tests/integrations/stdlib/test_httplib.py::test_span_origin
+ tests/integrations/stdlib/test_subprocess.py::test_subprocess_span_origin
+ # TODO
+ tests/integrations/aiohttp/test_aiohttp.py::test_basic
+ tests/integrations/django
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_orm_queries
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_query_source
+ tests/integrations/sqlalchemy/test_sqlalchemy.py::test_transactions
+ tests/integrations/stdlib/test_subprocess.py::test_subprocess_basic
+ tests/integrations/threading/test_threading.py
+ tests/integrations/wsgi/test_wsgi.py
+ tests/test_basics.py::test_auto_enabling_integrations_catches_import_error
+ tests/test_client.py::test_databag_breadth_stripping
+ tests/test_client.py::test_databag_depth_stripping
+ tests/test_client.py::test_databag_string_stripping
+ tests/test_utils.py::test_default_release
+ tests/tracing/test_sampling.py::test_records_lost_event_only_if_traces_sample_rate_enabled
+ tests/tracing/test_sampling.py::test_records_lost_event_only_if_traces_sampler_enabled
+ tests/utils/test_contextvars.py::test_leaks
+ # pointless, fragile to packages being installed in parallel
+ tests/test_utils.py::test_installed_modules
+ # TODO
+ tests/profiler/test_continuous_profiler.py::test_continuous_profiler_auto_start_and_manual_stop
+ tests/profiler/test_continuous_profiler.py::test_continuous_profiler_manual_start_and_stop
+ tests/profiler/test_transaction_profiler.py::test_minimum_unique_samples_required
+ tests/profiler/test_transaction_profiler.py::test_profile_captured
+ tests/profiler/test_transaction_profiler.py::test_profiles_sample_rate
+ tests/profiler/test_transaction_profiler.py::test_profiles_sampler
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p aiohttp -p pytest_forked -o addopts=
+}
diff --git a/dev-python/serpent/serpent-1.41.ebuild b/dev-python/serpent/serpent-1.41.ebuild
index 540c24b0df01..0591c5a0bb99 100644
--- a/dev-python/serpent/serpent-1.41.ebuild
+++ b/dev-python/serpent/serpent-1.41.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/serverfiles/metadata.xml b/dev-python/serverfiles/metadata.xml
index a80a5ad08f21..825728901be7 100644
--- a/dev-python/serverfiles/metadata.xml
+++ b/dev-python/serverfiles/metadata.xml
@@ -11,5 +11,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">serverfiles</remote-id>
+ <remote-id type="github">biolab/serverfiles</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/serverfiles/serverfiles-0.3.1-r1.ebuild b/dev-python/serverfiles/serverfiles-0.3.1-r1.ebuild
index b0b4a9a2b7f0..6a248736a86b 100644
--- a/dev-python/serverfiles/serverfiles-0.3.1-r1.ebuild
+++ b/dev-python/serverfiles/serverfiles-0.3.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/service-identity/Manifest b/dev-python/service-identity/Manifest
index 48340f1a8a93..be167bf89186 100644
--- a/dev-python/service-identity/Manifest
+++ b/dev-python/service-identity/Manifest
@@ -1 +1 @@
-DIST service_identity-23.1.0.tar.gz 39840 BLAKE2B d4445cce42e9dba3ae192b05b3f66daab72cefe521c299837a73af84ff2705060580e3a052af01ba9abad820d3d252804050d8e3b2220dad48252832db8a90fa SHA512 bc53f563050811a2b40dbfcf1e0a1b1b5677e2b48ed4e94e37d29735baea49ed7a7099d656444c0054fa2c23ae96026e67919cf24b01a3ae6b3549fd25dfe4d1
+DIST service_identity-24.1.0.tar.gz 40183 BLAKE2B d597f4bfced6e766e1b256f43d134537a44e048bf4c704dbec1c16e6a29a42d60c2392c679e810b2ecc2f8ea3f681ddbe59bc0bfbd2d2c145bcc648f803b0964 SHA512 86cf2754bf8564d828d8cae4dec25dae04537ae59f5e2ee8450594f473cbd27f4c96313f743bad6842f9344a53a76a9d22064d8143e9d2d41a83376627d309fd
diff --git a/dev-python/service-identity/service-identity-23.1.0.ebuild b/dev-python/service-identity/service-identity-23.1.0.ebuild
deleted file mode 100644
index 7c76e056fc19..000000000000
--- a/dev-python/service-identity/service-identity-23.1.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Service identity verification for pyOpenSSL"
-HOMEPAGE="
- https://github.com/pyca/service-identity/
- https://pypi.org/project/service-identity/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-RDEPEND="
- >=dev-python/attrs-19.1.0[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/pyasn1[${PYTHON_USEDEP}]
- dev-python/pyasn1-modules[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/service-identity/service-identity-24.1.0.ebuild b/dev-python/service-identity/service-identity-24.1.0.ebuild
new file mode 100644
index 000000000000..0d33a16718f3
--- /dev/null
+++ b/dev-python/service-identity/service-identity-24.1.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Service identity verification for pyOpenSSL"
+HOMEPAGE="
+ https://github.com/pyca/service-identity/
+ https://pypi.org/project/service-identity/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+
+RDEPEND="
+ >=dev-python/attrs-19.1.0[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ dev-python/pyasn1-modules[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/setproctitle/setproctitle-1.3.3.ebuild b/dev-python/setproctitle/setproctitle-1.3.3.ebuild
index c11390b249c0..85d0afb6dcbf 100644
--- a/dev-python/setproctitle/setproctitle-1.3.3.ebuild
+++ b/dev-python/setproctitle/setproctitle-1.3.3.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
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/setuptools-gettext/Manifest b/dev-python/setuptools-gettext/Manifest
index 5ce91d8aa038..8820b9b1c7b4 100644
--- a/dev-python/setuptools-gettext/Manifest
+++ b/dev-python/setuptools-gettext/Manifest
@@ -1 +1,2 @@
-DIST setuptools-gettext-0.1.3.tar.gz 10654 BLAKE2B 801adc5f09facff215009ee61cef6996866efced51424a9dbcc6ace76e132b75d3cc8293eecbe0958372966e9faa64c73d7f743d2bb6187b448d9becf6106c8c SHA512 786e9f9280013759e96fe16551ba2dafef033d7d1faadc9bf9306c6442ba242d638778b45c8c228a2ff04038903958bc1db435c4982b665d73ba15fcc4bd9eee
+DIST setuptools-gettext-0.1.11.tar.gz 15582 BLAKE2B a47e8c05683dbf8ac2db9dcbf66f8d680a6d1788ee00f1affcc356fd12ee31d92f6698c9dd1f293000ffb129d6eda2a71b90d0bee1875308f155137c9d2f7cf2 SHA512 abcb0df4604a78959365d3447112d4f74944b26ccc1e0d43771e38ee071c5915a4deda8c852eebbc58c689bcae29cd13604f8b96cea4cc0d6eb6ca4e265e34f7
+DIST setuptools_gettext-0.1.14.tar.gz 16177 BLAKE2B ad34ca37db52bdb2d317592e76e765636402ea2e656af22e31e7e2dfd59edce88003b14d4180b9b77b402ae2b53dcb9cebb0e065753272387bdaeee3af6baefd SHA512 40a76eb94173f704158dc676d332c436b81d11f2045276622cee2ab08636b988f3e95fa60bc4fdeeb72334d2daa51e56cd394f441479221b266e187bda2b928c
diff --git a/dev-python/setuptools-gettext/setuptools-gettext-0.1.11.ebuild b/dev-python/setuptools-gettext/setuptools-gettext-0.1.11.ebuild
new file mode 100644
index 000000000000..f984938a417c
--- /dev/null
+++ b/dev-python/setuptools-gettext/setuptools-gettext-0.1.11.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Setuptools plugin for building mo files"
+HOMEPAGE="
+ https://pypi.org/project/setuptools-gettext/
+ https://github.com/breezy-team/setuptools-gettext
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.2.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+python_test() {
+ cd example || die
+ distutils_pep517_install "${T}/${EPYTHON}"
+ if [[ ! -f ${T}/${EPYTHON}/usr/share/locale/nl/LC_MESSAGES/hallowereld.mo ]]
+ then
+ die ".mo file not installed"
+ fi
+}
diff --git a/dev-python/setuptools-gettext/setuptools-gettext-0.1.14.ebuild b/dev-python/setuptools-gettext/setuptools-gettext-0.1.14.ebuild
new file mode 100644
index 000000000000..222efeb89a60
--- /dev/null
+++ b/dev-python/setuptools-gettext/setuptools-gettext-0.1.14.ebuild
@@ -0,0 +1,36 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Setuptools plugin for building mo files"
+HOMEPAGE="
+ https://pypi.org/project/setuptools-gettext/
+ https://github.com/breezy-team/setuptools-gettext
+"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-1.2.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+
+python_test() {
+ cd example || die
+ distutils_pep517_install "${T}/${EPYTHON}"
+ if [[ ! -f ${T}/${EPYTHON}/usr/share/locale/nl/LC_MESSAGES/hallowereld.mo ]]
+ then
+ die ".mo file not installed"
+ fi
+}
diff --git a/dev-python/setuptools-gettext/setuptools-gettext-0.1.3.ebuild b/dev-python/setuptools-gettext/setuptools-gettext-0.1.3.ebuild
deleted file mode 100644
index 9c786ed070d2..000000000000
--- a/dev-python/setuptools-gettext/setuptools-gettext-0.1.3.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYPI_NO_NORMALIZE=1
-inherit distutils-r1 pypi
-
-DESCRIPTION=" setuptools plugin for building mo files"
-HOMEPAGE="
- https://pypi.org/project/setuptools-gettext/
- https://github.com/breezy-team/setuptools-gettext
-"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- sys-devel/gettext
-"
diff --git a/dev-python/setuptools-git/setuptools-git-1.2-r3.ebuild b/dev-python/setuptools-git/setuptools-git-1.2-r3.ebuild
index 1ed7da856d44..a3b0007cf929 100644
--- a/dev-python/setuptools-git/setuptools-git-1.2-r3.ebuild
+++ b/dev-python/setuptools-git/setuptools-git-1.2-r3.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -23,7 +23,9 @@ RDEPEND="
dev-python/setuptools[${PYTHON_USEDEP}]
dev-vcs/git
"
-BDEPEND=${RDEPEND}
+BDEPEND="
+ ${RDEPEND}
+"
distutils_enable_tests unittest
diff --git a/dev-python/setuptools-rust/Manifest b/dev-python/setuptools-rust/Manifest
index 79fcc12e67ce..601516e72924 100644
--- a/dev-python/setuptools-rust/Manifest
+++ b/dev-python/setuptools-rust/Manifest
@@ -13,8 +13,6 @@ DIST fxhash-0.2.1.crate 4102 BLAKE2B efade6722efed1cff0bcf307ababd9c9031af297baf
DIST getrandom-0.1.16.crate 25077 BLAKE2B 0cbe96c27e78100c181a064e5fe524efa9a7a267fe60f8336d2ae0125883acd5d575ff17d1d56607255d9b2c30cb9d962026fdea1a5c3c29a5e0760d27c3136a SHA512 c5450c522c07c7a38b326f9a9062bac7d089630219d577ea4b55abad4e0c31d17b7cde385fc43912dfa100b42334e7a52422c55fda8b738caae428c6f9addb53
DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
DIST html5ever-0.25.1.crate 73165 BLAKE2B 70bee0c77337b2fee3fedda6fc475969b5e9a20342bf6890819fa9a69be8cac66e0dfc0a608f5cd6ba789a780f403ee736dbde1af52cb800a599b0113801dc99 SHA512 2b946224a0c5859436a57a507a89601adeffc12092376fe47429c5c5a61bd1d00b3271f0be7dea82ba1dce93a1cb820f72df8ba4c90fd13bd1ec408cff6ca660
-DIST indoc-1.0.4.crate 13122 BLAKE2B f7a352bc2d19f3f2d1479b6add45daf841e02bba563ce9af115118b9bacea6bd39ab2a663bc992b2302de73b52bac1024130aab3dcd79c5b4286c93dd7305928 SHA512 b2d90f074f9a34e330d7d6e6313bd569cd857c791b8ff79191a70f19064fa53ea2ede30bbd16587fb438e69ccce4c3e2fbb127610ba8e470daf076d7373f0213
-DIST indoc-1.0.9.crate 13475 BLAKE2B a9696788574e56dd125c3371169fd59d6947d188f76e2669b21c0304692efd6709cd048920f7822e92c6a5620fb178e0e85c7776118cef8ccee0f58398e14abf SHA512 db8aef4a7bb606452dc8ed45aa29a255c7a135357a0bd586fb4429c5f56a1aa2ca9400d6fac39956aeb486a15d25cf5d1b9524967867f2c651d9d563e3e85be8
DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
DIST instant-0.1.12.crate 6128 BLAKE2B 728923f757c1ee4e4a7afb90e460eed81392068961240a538e5c6468e15a0b6491f590fb5f6cc46e6d78901ca232351f65abb9f2f230d8f4983c5e58c4011902 SHA512 fae494c00111c51c840f9dd6a10febe403e27ebb933dd16633a213e9c20f2bc11adeb431c71f8a6713bf88f270a010941e15d83df294e658791934f83a5d2407
DIST itoa-0.4.8.crate 11926 BLAKE2B e5a648b490908d0ffa3a0832342ad11264eb4357939bb39aad014aed3938bb60e82703b7e31929a458525061e9bc40539d33753bdbd722a03b6804e57dd1f70c SHA512 6911d269ff3ed7350e4f0dcfc6e9e0d70e25833e1e7cfcc57d5b8aff1f47b8be4f2e9baf1b92e5517cff63492be489b6d29b48dd9bb642e428acaa431216b68e
@@ -28,7 +26,6 @@ DIST log-0.4.14.crate 34582 BLAKE2B ddfba35947ae1f5905cd9ecb9eb862a78af6f00ee8b8
DIST mac-0.1.1.crate 4838 BLAKE2B c87e9f9283f179acd28c189d02d9d3de0ec99f9cfbefa590daa2880c275894951c5b0b935b652ab6c8c0172ac59e87f52fd49b787b230e6730365dc076d17578 SHA512 dbc6def04c482911ace311f34be79992fa04042c7ce36b71459b5af5c1c43e9fa66b6b40f63f8c3647daba287bf1c1be9b1a8031ead1d855f99a988898c96f1a
DIST markup5ever-0.10.1.crate 34668 BLAKE2B a13f39ba93a26a558a8f03ebbbaa98bf2c7caa4fd393be3e307acd5b59a6d91fa8fbf4deff234266cd55772d5047145cc80c5a215ff8eb5b2fddb88468ae4fb2 SHA512 447b0f44ea8b786688127aba1b6eed826dc0127658d293c22db74864381b5e7bc0584243dcc0ee19929d3e757521167c13a108155ed5c8e78375cb0fd3c6f7b7
DIST matches-0.1.9.crate 2246 BLAKE2B de155202636c6a03ed68cdb21e8ef96e19b45be040a82943d2d7e5192c0ab5c253ab6d65f0b30b2689e21da79cba684af5be6e63c48266681aceba356f6eea41 SHA512 6a2809687d30ff04ea97bf9d1610d746e097699a4c3625ffd1b7b1e4a9673ece9d559058c9f760b99d6ab509024f7b338e7cfa6fe767499c983efa98bfb98305
-DIST memoffset-0.8.0.crate 8912 BLAKE2B 19ad3abed21fc39461b0382b15a8cc312378aba36f042b1e5335012115d31b350a4e3bc720f1eea300d7d19b9b317f75a28d4ccd78ff3b31defd9e4b3147899c SHA512 47adcae0848ff967035e10543ea599c7af9c5bad387023eb4dc77c9e8d875994ec8139b9941b3ecc4fc17214d80944a47a3be174a45b334661914a5a7382dfbe
DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
DIST new_debug_unreachable-1.0.4.crate 2561 BLAKE2B 5c9831b04e2a44b2dd27816df0a331a8108991a84ebdfefe4e42f325ec3519ee50e89a99d490020a65a3d75acc371316c2253d2c6382453a0b15f4c3d5b96520 SHA512 6f964bb322aa8f2ff92078381dd720527600c6449e237b703278cbcf47b39a2581fddfc2f34ebb7cf31229e33d58de48bb5050e083fec6dad9aefddc1d771c85
DIST nodrop-0.1.14.crate 7667 BLAKE2B 83aa728540908d2d2d9f82c18282d9a9d74ea01b5b836d83cd3f03d225ddbef9fd3fd13460895d744158af74fccf13b7edcd5bb1bc127c696e613de673e25863 SHA512 f583ef6104aa087e13c66a183d451d4cf350560476ca959ce4e0e8308db26ac9f31166c25aca3d50ccd972266d7595d89767655504566a4131a54607e8ed9376
@@ -44,28 +41,17 @@ DIST phf_generator-0.8.0.crate 7604 BLAKE2B 936c9ad95d2d5b6b4bc97dac9bcf99813462
DIST phf_macros-0.8.0.crate 5814 BLAKE2B 39f40a52c177da227b3bf54d0fe4f05a2d6c382183ab0400d74a06d34fb3f28a23342496f6e0d48d25a792bb848bd9ed740a10d37c39969ad79c929fdc98d743 SHA512 ba56661aa92393fad7712f774fe4f0b7bf25d483aa7d4c4617409e655e9448b39780a904b8865293e16f8e63d62440aa0d653fe231beda4f58194de455598170
DIST phf_shared-0.10.0.crate 4095 BLAKE2B 9155a2c145148f3c36ba6d6d8be86a526480b127f4af79b2b5855cb014a0080bec1ec45be466513bd57faa39c77cfde0d6ca02b6bb77d37a23d697603227da37 SHA512 f088a6836a28afca7a2ef5440d7aa953227785d52aa0b9fcb76c88d085fe7f0e68732f2354c9f8dfc0a90ab1b8ac214f28549780e6f32d857ff7e8963093d9e5
DIST phf_shared-0.8.0.crate 2860 BLAKE2B db48d88ad6e7aa6bdb2f6750ab66063a55d005b4f5e92ededb59da1f1fa9b1296d30f87d32d036f08e3a74111ea4d8287e8eb6c86d0edd76b3ceb38f223696db SHA512 6ad7ac732b7cc42e7e179329fbfee7074d26652d73eb4f2b97224491d978ad9b14c66e5a539c96b84c70124ac44cfc009bf963a42c438d028bd9737b99f463f3
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
DIST ppv-lite86-0.2.16.crate 22245 BLAKE2B 03cba61af42dc3a78ab8f6b03d833c028b7ed737e101b1952467a1e19706bdce6c758eca4ec7d575b2f61daa47cb25fa1d74039b2adb0dbf949b66b7aff3f10a SHA512 264b916f7d1bb6f1c0c0d3cc45f40b72b638abc7174416b49241c3663fe500409509ef6c8241a24515a21a20288c2ba508035b6b37972e4ae7ad02ad19118b74
DIST precomputed-hash-0.1.1.crate 1640 BLAKE2B 64a37ef3edd317f771e833bb394f7c19bc9b8c844156c831d2b550692c7e2e36bce44ecf18dd9f2d0f0511346eaf0d2a0ebe792fc288ca0e94a93933f2051846 SHA512 a118a98286a47e2f0cf35d2678d0325c18b9b7d5bdf40ceadc16483b282307fd1498434d5bdfa25477a4f420d97c34d786e42e9fa70431b788b4b8fde9718e05
DIST proc-macro-hack-0.5.19.crate 15556 BLAKE2B 98c22fc3e5f5fa8b6f44d15de42b6ffcc82ba3f98a07ffa48bcbc5d3abcfca6af136c5d0d8c7f1ca34261ed8f8c9c17a394231f97a4c342c81aa7f8b9e74b203 SHA512 9e4cbec41056438287f5b23086264c86e2f0cdc193064006556736377b2954229de13a585149b9995002c9aee3334ee2a80ae4afdcc96cabe7ed2bf718476952
-DIST proc-macro2-1.0.36.crate 41411 BLAKE2B d7d99aed41080b65680736d92dd027e21c9e9e0b03601915c000f5dea8f2b2d9126b116af32f2fb04b4fa407775f0131423055d0b62fdbfe87fa4ba7ec098beb SHA512 f31b0f2356af2746321c4f808ac9af87d21a5657c103ed6bc1383855e40caf49246cc8ec1edff58eacf193424abfc2163148b7298e527714e65e602f14b2e50a
DIST proc-macro2-1.0.66.crate 43575 BLAKE2B 9eb3e816b00fcf625c280ba14ad269f5893d0523473a24de07c21945f6f932fbd08efb3c339b35d903245510e3f065e1478439b024a325f2bb9f97bc7bcbb18d SHA512 85f5a762f9411142e5ac28144bd380f07f0633ed2e44d8a2545be9fb8f42abaca6b5d45631b4be83b8e8b9beca7438bc52f25615c3a410a3a1249474b1aca407
DIST proc-macro2-1.0.69.crate 44271 BLAKE2B 9d1531a0b123e6238363d574bee03ad050454b65710b9800c12597f3a9ae2f9bf50c617da0472b7ac0b549afaca19c546ccd6519e648598500efda9c0db2ef6d SHA512 d197cbe9b6100c3193a01fd7dd6b4e49d440290012ababb5d9f139409f0afe816f213d67a03abeb1f3227228e0a1f2446d1dc0a2775363a15d1237c38b45d6a1
-DIST pyo3-0.18.2.crate 418755 BLAKE2B a45c27639d9c4c5a4e017b7e8d7580aba285ee11295f344809e30ac23b70e4541f2cb765dfeee20fdf4d441e1449f5cad4bd6308a52822eea3595305081d4b77 SHA512 b97ebc10939418d7fe3d6219921875cc7253f3aa7cd9d06b1486f8757c6d102377eb851b3a669c670423af2c80e389b736f0ce04a6cecb716c952413d06fe434
-DIST pyo3-0.19.2.crate 418228 BLAKE2B ee018b33383fada78cd22643aea9231a8c8a2f19d1eb297f40eec9206c5220f322fff4c926d939a93a24ac6d231a207ebb25afcc0709191151c7ed9af7465efa SHA512 58698183e0f2f0507f8f765bf3e90185c933e78d62f0a9be65c4b1ce8eea19a98fe0341abe7c58cafdacb63a012ec417876dccb7be6facc1360fcb22796fcaf9
-DIST pyo3-0.20.0.crate 431766 BLAKE2B 104bc21ce2c6931753ca0c7b2d91693f454c964260ca3c4628a899fc8e7edbe4238db913ed7356f3beff154d88a60a17c0e252b655768e75483e1d9d9b86f40b SHA512 85d9533c75f905752c62f6a4898582ae48daf085e287b44949c47260301205a5f00477927877ce46300d2801d22fbc04a958c058a37eb28374c834fff27feca1
-DIST pyo3-build-config-0.18.2.crate 29138 BLAKE2B ad37bacda5f0e5c8eaf382b3371de251b83c721dc2378a0bd3700462bb65273bcd4277589084f6af0a2959f17b370fe5e6a5699c8689107220333c57387bf0ae SHA512 01f544938d83a8283f5101f69673f8a39d2052186e7c712709be25c5ae17a11e7d68c2fd9b4bc7661fff9343ebf3ccc196c1259321061f048c59696692601ae1
-DIST pyo3-build-config-0.19.2.crate 29206 BLAKE2B 5b1cd80d643e448cf8f1d28a514333526061c178121b9a0dcb5bff6082f402ecfd166536d94d42065f6dc1f108a73f12bbb78eedf9ea053a6aa2e9c80ac00ddf SHA512 ccc73061ec1989258921c5b5800689170635fa5503d74a4ac458baef903dd31efa41995d238783f1e099ece1f66d0a0e95c4fcb4b772b9f653dbb20e838b4e28
-DIST pyo3-build-config-0.20.0.crate 29534 BLAKE2B eb1d5f75276533483c52c6fcae49b294d6d8edf504859dae18811c1ef695dc6d0a055f2a34bea305975e4c1492c312433d2dcb7753484f793376c62cd59c8e40 SHA512 a01d06ebeb4b9cfe6ff6731046101e9437498453ca5aa68ec53df3bfb2f34665a489f8072636c2da16c1e867f536032fd293f05a43561117fd131bde5fe5aac7
-DIST pyo3-ffi-0.18.2.crate 62903 BLAKE2B 31e52b73705c1e5f44e419f314b1674a722a604fb52be5d5e5ff2ae9881ec9f204c1f51760570ed4c210ea530bd9295a27beaf9b5631ef02370d42d3e4c0be18 SHA512 495dcf45154ce89b8cd3a3fe193938e199465cf510df1713f7ad82e0a138ac2f8f1b73ec80f8af72f79a4ed26a9f4e4e93d52357ad4f41a213ec0c7b602734b9
-DIST pyo3-ffi-0.19.2.crate 66500 BLAKE2B b4139fba31ef17017b6b60784e41ccda34931a072c2638af1eed8d02d7af701c46fe38b12772d2301cff41d10a433ff0f00a69d79d40233eadafe82abe585f8d SHA512 789191bca537998dd23d72dce4f185b84bbe700f4171c47de35b9bbca15a180ad214392b4f465cc1ecb0be955ebec1cf5a3c497815073be18035bd8bf8c51a32
-DIST pyo3-ffi-0.20.0.crate 64220 BLAKE2B dfe75b9459b4a564d1dd9f907166b76d00c5b50ba027db65d11540a7b993f3ef4e19e574135b538635ebb9c9eba66115c09198c7b6071b0b82fd94faccb1bb63 SHA512 a68f0b1380f2ac3d3034ac8b3788cd6573850137c6678694cbcc3e814b619510b9b21b11704c2e702d4eb7433d8b1d3a6dac663501b6db5197a409407802b714
-DIST pyo3-macros-0.18.2.crate 7173 BLAKE2B dfa5792be03b3b1164471ef9ff4ee672fe8e57d0fc169ca04da1542d86262e7e526be079e303b8a4899bfa4b0680d38604f80263c71b33ead5bf0a60871f473c SHA512 a2c367b4b1556b16304ef0da4ed8961cc760d259da9fbdabf791ac910de4f1e9f193227f10ea4215a52c701bd0ee92311dc91d272b9364017e2f6ebde5698f72
-DIST pyo3-macros-0.19.2.crate 7173 BLAKE2B 8862f42a30929579b0b0bc2ba7f0b416518724480e197fa13288e49324e851f964183e1529b7f31bf5d4fe0ae194a412723b6b401100e66fba98bbcd9c283866 SHA512 852cc2792aa3d30d9ab8802a451be5617cae6536adced1bf0dde71704a3c7c1bfe862fba751b6d045249819a8ba5d87dfc50914d142a0b662f046498c06f8c2e
-DIST pyo3-macros-0.20.0.crate 7678 BLAKE2B 03fdc0cc9c735086ca2d27e0bcd197e69538c3640ba7f87bc3d65907db374ac7283f61bdb67a1d45b66ce972072ddcb3b1daed4aeb9a66100d11bba6515cdc86 SHA512 79b61f55010dad60dda2c5061c9736bef3f6805f28db230726937340a5c40a3fcfb727a0db7779c3eb094ebd45492f7af4f40a3fcaef42f160989a8ef6174e7e
-DIST pyo3-macros-backend-0.18.2.crate 48722 BLAKE2B 662822ae71702cb7d173c1ac7ead49cecde0dc4545bc3f5f30fd9ef7fab5537c13509bc8f18b2a8d05d7fa7f6fc8d0378a44d67b85edadfdf6ca153fc698a7d4 SHA512 433d9287bf3cdf84291c8d04ca5b24ecab2186379db554d6b2cf271e8716a890dcdc0717b2a00267e85dc637520559ef8e883bde2e2b16dd8cd580c1468c2dc3
-DIST pyo3-macros-backend-0.19.2.crate 49962 BLAKE2B 9d8a032c2205f55d2431b6bbc40df153339e08479df3a8a65506ade7d1f3d17cfaf664cbd09eaec9acff3f5a248598e37427d0c5a531eaf527137803adf49834 SHA512 fd708e6fdbd54ef7c676bedc62070175bac6b8f7ae11231578196dbf552b163a8a2499a1266f786bb6bfb85517fe83610902137d59a5c42efcb1a27c4235a07e
-DIST pyo3-macros-backend-0.20.0.crate 49383 BLAKE2B a239042abdfcf5ad38505b57bc6b858ba346bf8681e24acf2e433f53e4a40bf0b28928b434b96f596d12acbb602b14b7e1bbf4be1e5789e6d9c754368db00a1e SHA512 c823caba48b4a30aaf84c23f80934f0172f2c76a41b538b69ebc25afcb61611b54b8fbb4ab6cac1c7a78b4e6f9f909f22748a2cd279b508d3897b74b17021d56
-DIST quote-1.0.16.crate 27566 BLAKE2B 3352f4ed2158cb8d29947d5435b7414ed223088887718f9d258f1f5d555034a4fbb79cbfb3cb772be4868be366853feabec777fba7f275ac36d8091eb3b371c7 SHA512 489f4dcaa8a8a2041b39fc8fc815fa7943c0a456881283398e4eb65f7b50f220a6e5493d60d1d5019a48b189ca217fd8c62056b552bf94b9329ec963cce01c74
+DIST pyo3-0.20.3.crate 434673 BLAKE2B 1dcb881fd1fe5c76e9b4951f4d95fcd1daa1845c226a4ab1db4283cabe67bda822ff03e3cc85d797fe4665a1614229e7406dea65ec5e99ce4aac96b973a7f55d SHA512 77cce558fa60bbd8d9981ff5e62fdfa9bac94bd650b287fbf14ac93ef1c326c8ae7fda82d744e3582df03cab8adf490e0f2752fabd9ae3de044e7d80984e0350
+DIST pyo3-build-config-0.20.3.crate 30060 BLAKE2B ef122b0b7d840d5362928bac76e1299b333775ec5c49a3bf23a19eccec074917931356bbf719c6d700999941bb6a396948ee7f8761e685c8e9251af07ba0cadc SHA512 70685415bba443787dabb9c61ca3702aefbcacb0705471b496b4f01efe34291735321d91243355b4be9aed8b243e393c09fb65556f1b926ac7f22f64560bd927
+DIST pyo3-ffi-0.20.3.crate 65024 BLAKE2B 33e79a02c7ab85f4767e02a39d8553ddc015c80d13bea674885ad8a18d89bd90f866cc39d81ecbf56270ebe87d29bca48f635c4e73ec99df02ce425f1427cb31 SHA512 3d1ced58e243be7cee4a3ca831dc08a1631fcd511c707dd3bada87d7662807dea2d88393d76e56ff19a6d1c2804d93b5b6b7b5efd36b9c275d66fa1bb1bfc384
+DIST pyo3-macros-0.20.3.crate 7920 BLAKE2B 0510accf51cd83390cbb7b6ba4ec9f4610e3dbb7448d1213994013487ae81bb087df1ba0076a3862e5ecfd172b7846f9439a2d86950a93b016aae565ced4f03b SHA512 454f3c0c054aa131ffe955e4be1af061005b9c81b4d80702827e19b983224c118dfea474da515d5fc2c79cfd3fa21204ed4af2d9e81427123e0a78bd246a23f8
+DIST pyo3-macros-backend-0.20.3.crate 49797 BLAKE2B 59c55d482577ce105db3e19a1db794eaab8221d7de01197716b75d5d2602e0f27c86aaae527eae7098eafad311144550bd597efe8cd6560c82dc435021f3428f SHA512 e177ee0d6a538a555fbe9108e3e2c20102622b2c9b9696ae309189e5c4d068efad2132afd4a97d734ebabb4d7146980a26cb68dc05d5eb88f338be2ad0cd651f
DIST quote-1.0.32.crate 28037 BLAKE2B 7b243ac7929f3b2e1d91a51a2dc2b11dd29bc017be9db588c83bd137609e2f991a4f3ff8682c7c11c177153e517c4f818285cce3237f435aa43ad0126c4bab6d SHA512 13cae36920dcbd0ad1978be63f20b35b8424d02b4d9992032fa78c7770d61d1fa7ec1532a48793cab48e703236b7bee7843041253b9e83700903228078b4c025
DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c
DIST rand-0.7.3.crate 112246 BLAKE2B ecc7c1bd70ac874c03bd8b7faa3016bb2d5ee5c19603280a12a45a81598f706e445971ee081e6ca410ab6f0f5f7a06d9315848cd556a2d8522a82024f6ff91e4 SHA512 f9b68ef9446f1ca2c8092c50990f15c1b4cb5529eeeac4df8d69755e0b7253c663c587775e7cb0a7298c31edb444975dda34926759306541f6d43d0d3cf57b7e
@@ -82,15 +68,13 @@ DIST selectors-0.22.0.crate 44199 BLAKE2B f749e0e53476b695b4937bc0cbf1add4f3f7d4
DIST semver-1.0.6.crate 29941 BLAKE2B 1aad12eb93534a0a72fa1645a71fe4cc03121a2215520030d697e863427fa06edd9f63d05c522f696c5b9c1c45556803ae381cb4c77a2d4a7fc30f7363e3ecea SHA512 0470b9a3a6d398233d19a8240de3b0d18c4cd8f8fc6887658baac4053c88463d5de9b7145a564abd43f813e03b75a26050eedc1689450895953bc7f96b64859f
DIST serde-1.0.136.crate 76158 BLAKE2B 44603c8eede428dce4211350497a443385ff0ddb0b43799170411110fd8908a56e9df801c72695723f4fcff5eb33384bcf92ef58eecb9c4924d5d9cc30e2f6c9 SHA512 d043ccfd6a1dc9a114a1a95530a63ed9342688d31d3aadeec600a9a9d47aad328be35b6f80080400ea4bb3f820ddd18cc5ce1e6ea1db28e02752962061e71019
DIST servo_arc-0.1.1.crate 9817 BLAKE2B 88586ca0c969df8bfb3a04ba4a689606995876434877a2cd48a72b26451deb6fdcf65273aa9b03948adcbc66b2450301840910e5c4162b993535d69585c62128 SHA512 59d531dcf7a9191b8462ce395e713194994714b65275c0af412186f862be169d0c6fc5d86603332a1aacd8af9ace934dc78531b9cb576cf8179ec35709225447
-DIST setuptools-rust-1.6.0.gh.tar.gz 294915 BLAKE2B 1b59e917a951a0a60f7e2bb723c136bc8f7a2c92dcdf816dcf52c55bf2075e323766c3c0f6c61e9e9d519236f496a5462396ff35ae760afc1680664c0c0a9da0 SHA512 93945d06e8cb38c5764fa8ec12b039111b3ee677dfe66350a4f554f1c1622885a0dcef34a1b429172859bca1081df8b82c05ce81b6714c6d43cfa073ade75785
-DIST setuptools-rust-1.8.1.gh.tar.gz 305821 BLAKE2B b5c7b4fe5475d9725ea4bb2e186604ba54ea8662c1ba244d7db8c22935fa190f54083545dc0e4fb58e6e37675172a6104812fc3833eb14d24687af8dfcc7ccd7 SHA512 153dea2d1a73cef6a171454844a61caab07f38ce0902b0b3972afe5051eddf33a1869b822bd9b7c6e288855e31c47ef2037e398a7aea66f0fb5b6ece3dec9f48
+DIST setuptools-rust-1.9.0.gh.tar.gz 305578 BLAKE2B 5267a3ec9f816522feceee0e09f833d493e5a401b654a86269e8b8969b16313ed672ce35e1ef7023704ca1d084aa9d393cf2d115fff2e3f7fd1a68992fdd0dcf SHA512 874bb632a2847cd5febeaa766765ee58432b1a0b96fddfe0fb779f9d7965b726a7c7836e3de6700d801aca1b00a64326ca3de63027069c4a047800bd5d64dfcc
DIST siphasher-0.3.10.crate 9889 BLAKE2B e5dd6d265340b4c9e4266ab1ff3a20f1fb87fd493b2d7b5fba32d26421cc858b38929e4ab96941d0c055375b8acebbd04236d994cadca324500ed05064b9bfc9 SHA512 f90425a2cccc9575d377bb92a765d34653ddef1ac12b7c63dc6d700aaa74b525787e11609061c2d3e44ea56fe0e4b8f93f7b13f0279b5de2e0f710c5caffd4ce
DIST smallvec-1.11.0.crate 34680 BLAKE2B e54d56f6bbffbfa7ce5fe5f04e325b2e5cf19d290e4be278bc00a136e26284625b9c18c7c2b10b7fb8fad0ea7e3770f3cdbcfbaa913f5ac08d0a2f8b4e0de188 SHA512 41bfbecbc2c244497568a41724d65791ec3fd6d8057813d521367cca316c09c2b28fb3973826236b01c1f5d2f905d8d22b0c3c47f957a9ff5d7685591f15ccd7
DIST smallvec-1.8.0.crate 27992 BLAKE2B d02897eb4d3901805be86cafd5d3dc6768b31c2ee4d0a9d7eb455e2a21be2864ea83589f4ffde102dbbafb66e3c197707af770b5ef184b8e244d992189644b84 SHA512 17687cfa6aaf95a1df063adc3a412a7c41918a0d003eaac90f7d9e859fb8fa1d652eedee17a4cb3aaae9b33a2043f89e796519e3a7a3992b292f04049bf80b0c
DIST stable_deref_trait-1.2.0.crate 8054 BLAKE2B 287a65c3e5b47213544a43e57c60a54add60b4c2e3c8d042407d860cc950ba7ca01a2e67ce56aed6744992b61ec1f9aed3321e3d88482e33129548b7d51df205 SHA512 a13cfb22723f1f2cf089b2d07d657846f50c37bc0438d1a76096bea30214cad226b7a422c21f9e191ce87071da8a141d61882aedf9e0203a5fffdfda86a5fb03
DIST string_cache-0.8.3.crate 16261 BLAKE2B 6c94d4158c095bbb82bc2daf071a698e4dd900b5a8dbce21f7a7020005d614e8d5156cd32d4118670d85168b0faa835c54026729285cb4feb7ed8a0551e9ff20 SHA512 337f1c95393c719d96d9dc7c552b744271f89c4ccb70efada8a48331eb619cbd761eee5a6f13c41b214449fd9ff29439473d33ffe3eda57d78ec90dd9aad88dd
DIST string_cache_codegen-0.5.1.crate 8243 BLAKE2B 3ce7bd89edfdd58260fb58e7b954eec503dab2562d13274f401a0af5f7e5152a660298e9884f578e361557225c67c80c0342e5c71d47aad7ec43a47ea91c617c SHA512 c3aeb752cbdbcb78cee6156b726264d182e77b3d6ac89066c366d87d8bdffc32d83e6e59a40471f07d7c827717db25fa6fb489dbd3a650f2fc252a7c85f4ecae
-DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
DIST syn-1.0.89.crate 235966 BLAKE2B 8f0e5be9f04f5faeb080fc94d13df0926f03a15ff702a2a88e5eb3194215441882c6f2795506ea05cbafc66f6844de3dc61aef720495932f4675c34be0ef6ee0 SHA512 6b2a9411c015b2b0ed5c5e18cae67f357d1a735e184416c6f8533be191ba65c0963dc9341ba3829195c6616ce71d4a79cbc7768fdbaa98b798b8f67746c6ab4a
DIST syn-2.0.32.crate 242504 BLAKE2B 2c2938c0d711c684c9baf95538e2e76220418646590474b2b654d9242d2818aa7c3e5990208fe231ef64903df17edbbf6cc930e6224c964cad4eae5aeaeae781 SHA512 609f125f8138d17b1185760b1a63f3713079f5214fb56c23012229a56d10ac1c12654466c9ad1ecd6b2aff1126d125abfb0a42bd7f669635e5024b962b0cb0af
DIST syn-2.0.38.crate 243284 BLAKE2B 660de454989016dbb352c262d5d066ddc663eafcb928a2f62f61e6faf14cceed5cfbc37559e3795e1ce7886c78842be71eaa82ddced0cd6dd99ad99f95ab8ca4 SHA512 84fd4f4bc6de97cdb63a1ee9161daf8fb8fd1fa0f3c3bba4a29c463cd62cffd292c45b8cf17fd0911e580098cadc7b167e4e686595d31d72e7b53ee7df6d5f04
@@ -101,8 +85,6 @@ DIST thin-slice-0.1.1.crate 4484 BLAKE2B 7efcd3c30dd24c22641139288b0c530ffe56dd8
DIST unicode-ident-1.0.11.crate 42067 BLAKE2B 3c7cac3d2bf1cbf1cf04716a482f130123e8e6940f7a90a17bc62fca44ac0069688165538f5329b95a72f735b594cfb85e3250738393ffd1b53cb0cd95077d89 SHA512 9682bbee339fb987c9d0bb6a54406d37b28b5c3587372d406402e4341900fec97e3234cd03b5c98b90b6378fd533dc452cac3de90d3ade19c4b09657e4abf6df
DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
DIST unicode-xid-0.2.2.crate 14955 BLAKE2B 6c6da49ac08dbd8b3248272224d6bff96b9cd1f36029b1937a58a0b929c3a48326053305ed49e73edd70f572f5abbc4817cedc899c69e3457805ad056669f6af SHA512 92ffd0dd34e3ca235ecf110b38c447d3ec1faa23d76c112457f28d432f92fa6b5f428bc5e1bfd278f361f55426dd96e19ecb0d3eff6cf250892f069c52bd89a8
-DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
-DIST unindent-0.1.8.crate 8326 BLAKE2B 3123c6b540b152d89cc7a9a76ff1315549f973c6a26adc6ca1b40518973fcc95a9f8da94d1c52ee551f2870181a265aac7e4339a3d46ba5280021b49ad842df2 SHA512 7752f4a29306b3c43f768bc400d610d1537457b22cceae8a5ebba31c857e219dc433a10a676d3cf94316a7cd6c7013c8960c825c6f1f9db5a3c2edd0a60591a8
DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
DIST utf-8-0.7.6.crate 10422 BLAKE2B 296690040895ba9da9e69d527aea415f4bd6bd3c010e67a08f9cffd2f4cd92a99f9ddde77512f9ef5a0db069ac9ac3cd6fd91aa18f0bcadf870ed212fdd76f2b SHA512 6bf0787cc297a1ac4e47389464d05ef6850602f549621687e776618bec96c1f7bacbb1ac8faaa63e5d28d975b850db8d6c784eb66e2466128f0521b91c14015b
DIST wasi-0.9.0+wasi-snapshot-preview1.crate 31521 BLAKE2B 716bdd2ec46d0bc9911c5e5e29fc783840559931b2563d8619675fc11da9527ddbe653a0f1ce0b782ee0c5f7a3131aba2b0867d415f003aa9c2389357569e7dc SHA512 dbe641f796ee3a5daafcaafc911ecc6dff170340f477c2df7a61fb4858a85aefc2637c9e61973ecce66a987aa8e08a736273a4aad3ef47eaf61ed4268dbf9c47
diff --git a/dev-python/setuptools-rust/files/setuptools-rust-1.9.0-delay-non-stdlib-imports.patch b/dev-python/setuptools-rust/files/setuptools-rust-1.9.0-delay-non-stdlib-imports.patch
new file mode 100644
index 000000000000..ea36c235beea
--- /dev/null
+++ b/dev-python/setuptools-rust/files/setuptools-rust-1.9.0-delay-non-stdlib-imports.patch
@@ -0,0 +1,156 @@
+From 06d236045b6a69c94c68f255dc683219ec833c83 Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Fri, 7 Jun 2024 00:15:26 -0400
+Subject: [PATCH 1/2] Delay imports of non-stdlib dependencies until time of
+ use
+
+This is a bit of a hack, but we do this to ensure that when setuptools
+loads entrypoint based hooks it cannot (will not?) crash.
+
+The issue is that setuptools plugins are autoloaded, whether any given
+project uses them at all or not. So if setuptools-rust is installed,
+setuptools always tries to use it, and crashes if setuptools-rust is
+broken.
+
+Of course, setuptools-rust can't be broken, because it's a wonderful
+project.
+
+BUT.
+
+As it happens, third-party vendors providing setuptools-rust can get
+into a situation where multiple packages need to be installed, including
+setuptools-rust, and also build yet other packages from source. In the
+middle of this, setuptools-rust itself could be installed but in
+"half-configured" state, i.e. its dependencies were queued for
+afterwards due to complicated dependency graph magic.
+
+In such a scenario, it should be nominally all right to have an inert
+package installed, since if nothing actually uses setuptools-rust it
+doesn't need to *work* yet. And in fact, it is all right, as long as
+setuptools can import the autoloaded plugin hooks (and do nothing with
+them).
+
+Bug: https://bugs.gentoo.org/933553
+Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
+---
+ setuptools_rust/extension.py | 7 ++++++-
+ setuptools_rust/rustc_info.py | 8 ++++++--
+ 2 files changed, 12 insertions(+), 3 deletions(-)
+
+diff --git a/setuptools_rust/extension.py b/setuptools_rust/extension.py
+index 2d6e5aa..9ba1cf5 100644
+--- a/setuptools_rust/extension.py
++++ b/setuptools_rust/extension.py
+@@ -1,3 +1,5 @@
++from __future__ import annotations
++
+ import json
+ import os
+ import re
+@@ -14,11 +16,13 @@ from typing import (
+ NewType,
+ Optional,
+ Sequence,
++ TYPE_CHECKING,
+ Union,
+ cast,
+ )
+
+-from semantic_version import SimpleSpec
++if TYPE_CHECKING:
++ from semantic_version import SimpleSpec
+
+ from ._utils import format_called_process_error
+
+@@ -185,6 +189,7 @@ class RustExtension:
+ if self.rust_version is None:
+ return None
+ try:
++ from semantic_version import SimpleSpec
+ return SimpleSpec(self.rust_version)
+ except ValueError:
+ raise SetupError(
+diff --git a/setuptools_rust/rustc_info.py b/setuptools_rust/rustc_info.py
+index 070be0c..d1d4748 100644
+--- a/setuptools_rust/rustc_info.py
++++ b/setuptools_rust/rustc_info.py
+@@ -1,15 +1,19 @@
++from __future__ import annotations
++
+ import subprocess
+ from setuptools.errors import PlatformError
+ from functools import lru_cache
+-from typing import Dict, List, NewType, Optional
++from typing import Dict, List, NewType, Optional, TYPE_CHECKING
+
+-from semantic_version import Version
++if TYPE_CHECKING:
++ from semantic_version import Version
+
+
+ def get_rust_version() -> Optional[Version]: # type: ignore[no-any-unimported]
+ try:
+ # first line of rustc -Vv is something like
+ # rustc 1.61.0 (fe5b13d68 2022-05-18)
++ from semantic_version import Version
+ return Version(_rust_version().split(" ")[1])
+ except (subprocess.CalledProcessError, OSError):
+ return None
+--
+2.44.2
+
+
+From a98e8a8d31d30c5d304e9ee7b48ba739946dea6f Mon Sep 17 00:00:00 2001
+From: Eli Schwartz <eschwartz93@gmail.com>
+Date: Fri, 7 Jun 2024 00:34:59 -0400
+Subject: [PATCH 2/2] Try extra hard to pick up an existing tomli library from
+ setuptools
+
+Since setuptools-rust already depends on setuptools, it is reasonable to
+assume that even if tomli isn't installed, setuptools is. And setuptools
+includes a vendored copy of tomli.
+
+If the copy in setuptools has been devendored, it will be available via
+"tomli". If it isn't devendored, it will be available via
+"setuptools.extern.tomli" unless setuptools changes their vendoring
+approach which has lasted many years so far. Either way, we are sure to
+have a fallback tomli without explicitly depending on one, which means
+one less dependency to install in the common case.
+
+Signed-off-by: Eli Schwartz <eschwartz93@gmail.com>
+---
+ pyproject.toml | 1 -
+ setuptools_rust/setuptools_ext.py | 5 ++++-
+ 2 files changed, 4 insertions(+), 2 deletions(-)
+
+diff --git a/pyproject.toml b/pyproject.toml
+index cae0536..148d85b 100644
+--- a/pyproject.toml
++++ b/pyproject.toml
+@@ -26,7 +26,6 @@ classifiers = [
+ dependencies = [
+ "setuptools>=62.4",
+ "semantic_version>=2.8.2,<3",
+- 'tomli>=1.2.1; python_version<"3.11"'
+ ]
+
+ [project.entry-points."distutils.commands"]
+diff --git a/setuptools_rust/setuptools_ext.py b/setuptools_rust/setuptools_ext.py
+index d4a0204..0ea6f58 100644
+--- a/setuptools_rust/setuptools_ext.py
++++ b/setuptools_rust/setuptools_ext.py
+@@ -26,7 +26,10 @@ except ImportError:
+ if sys.version_info[:2] >= (3, 11):
+ from tomllib import load as toml_load
+ else:
+- from tomli import load as toml_load
++ try:
++ from tomli import load as toml_load
++ except ImportError:
++ from setuptools.extern.tomli import load as toml_load
+
+
+ logger = logging.getLogger(__name__)
+--
+2.44.2
+
diff --git a/dev-python/setuptools-rust/setuptools-rust-1.6.0.ebuild b/dev-python/setuptools-rust/setuptools-rust-1.6.0.ebuild
deleted file mode 100644
index 86d1a3f853b2..000000000000
--- a/dev-python/setuptools-rust/setuptools-rust-1.6.0.ebuild
+++ /dev/null
@@ -1,160 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CARGO_OPTIONAL=yes
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-CRATES="
- autocfg@1.1.0
- bitflags@1.3.2
- byteorder@1.4.3
- cfg-if@1.0.0
- convert_case@0.4.0
- cssparser-macros@0.6.0
- cssparser@0.27.2
- derive_more@0.99.17
- dtoa-short@0.3.3
- dtoa@0.4.8
- futf@0.1.5
- fxhash@0.2.1
- getrandom@0.1.16
- html5ever@0.25.1
- indoc@1.0.4
- instant@0.1.12
- itoa@0.4.8
- kuchiki@0.8.1
- lazy_static@1.4.0
- libc@0.2.121
- lock_api@0.4.6
- log@0.4.14
- mac@0.1.1
- markup5ever@0.10.1
- matches@0.1.9
- memoffset@0.8.0
- new_debug_unreachable@1.0.4
- nodrop@0.1.14
- once_cell@1.10.0
- parking_lot@0.11.2
- parking_lot_core@0.8.5
- phf@0.8.0
- phf_codegen@0.8.0
- phf_generator@0.8.0
- phf_macros@0.8.0
- phf_shared@0.10.0
- phf_shared@0.8.0
- ppv-lite86@0.2.16
- precomputed-hash@0.1.1
- proc-macro-hack@0.5.19
- proc-macro2@1.0.36
- pyo3-build-config@0.18.2
- pyo3-ffi@0.18.2
- pyo3-macros-backend@0.18.2
- pyo3-macros@0.18.2
- pyo3@0.18.2
- quote@1.0.16
- rand@0.7.3
- rand_chacha@0.2.2
- rand_core@0.5.1
- rand_hc@0.2.0
- rand_pcg@0.2.1
- redox_syscall@0.2.11
- rustc_version@0.4.0
- scopeguard@1.1.0
- selectors@0.22.0
- semver@1.0.6
- serde@1.0.136
- servo_arc@0.1.1
- siphasher@0.3.10
- smallvec@1.8.0
- stable_deref_trait@1.2.0
- string_cache@0.8.3
- string_cache_codegen@0.5.1
- syn@1.0.89
- target-lexicon@0.12.3
- tendril@0.4.3
- thin-slice@0.1.1
- unicode-xid@0.2.2
- unindent@0.1.8
- utf-8@0.7.6
- wasi@0.9.0+wasi-snapshot-preview1
- winapi-i686-pc-windows-gnu@0.4.0
- winapi-x86_64-pc-windows-gnu@0.4.0
- winapi@0.3.9
-"
-
-inherit distutils-r1 cargo
-
-DESCRIPTION="A plugin for setuptools to build Rust Python extensions"
-HOMEPAGE="
- https://github.com/PyO3/setuptools-rust/
- https://pypi.org/project/setuptools-rust/
-"
-SRC_URI="
- https://github.com/PyO3/setuptools-rust/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- test? ( ${CARGO_CRATE_URIS} )
-"
-
-# crates are used at test time only, update via pycargoebuild -L -i ...
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- virtual/rust
- <dev-python/semantic-version-3[${PYTHON_USEDEP}]
- >=dev-python/semantic-version-2.8.2[${PYTHON_USEDEP}]
- >=dev-python/setuptools-62.4[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-3.7.4.3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-62.4[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/cffi[${PYTHON_USEDEP}]
- ' 'python*')
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )
-"
-
-src_unpack() {
- cargo_src_unpack
-}
-
-python_test() {
- local examples=(
- html-py-ever
- namespace_package
- rust_with_cffi
- )
- for example_dir in ${examples[@]}; do
- pushd examples/${example_dir} >/dev/null || die
- einfo "Running ${example_dir} test"
- esetup.py build --build-lib=build/lib
-
- case ${example_dir} in
- html-py-ever)
- pushd tests >/dev/null || die
- local -x PYTHONPATH=../build/lib
- ${EPYTHON} run_all.py || die "Tests failed with ${EPYTHON}"
- popd >/dev/null || die
- ;;
- *)
- pushd build/lib >/dev/null || die
- epytest ../../tests
- popd >/dev/null || die
- ;;
- esac
-
- rm -rf build || die
- popd >/dev/null || die
- done
-}
diff --git a/dev-python/setuptools-rust/setuptools-rust-1.8.1.ebuild b/dev-python/setuptools-rust/setuptools-rust-1.8.1.ebuild
deleted file mode 100644
index d400701a2bd8..000000000000
--- a/dev-python/setuptools-rust/setuptools-rust-1.8.1.ebuild
+++ /dev/null
@@ -1,199 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CARGO_OPTIONAL=yes
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-CRATES="
- autocfg@1.1.0
- bitflags@1.3.2
- byteorder@1.4.3
- cfg-if@1.0.0
- convert_case@0.4.0
- cssparser-macros@0.6.0
- cssparser@0.27.2
- derive_more@0.99.17
- dtoa-short@0.3.3
- dtoa@0.4.8
- futf@0.1.5
- fxhash@0.2.1
- getrandom@0.1.16
- heck@0.4.1
- html5ever@0.25.1
- indoc@1.0.9
- indoc@2.0.4
- instant@0.1.12
- itoa@0.4.8
- kuchiki@0.8.1
- lazy_static@1.4.0
- libc@0.2.121
- libc@0.2.147
- lock_api@0.4.10
- lock_api@0.4.6
- log@0.4.14
- mac@0.1.1
- markup5ever@0.10.1
- matches@0.1.9
- memoffset@0.9.0
- new_debug_unreachable@1.0.4
- nodrop@0.1.14
- once_cell@1.10.0
- once_cell@1.18.0
- parking_lot@0.11.2
- parking_lot@0.12.1
- parking_lot_core@0.8.5
- parking_lot_core@0.9.8
- phf@0.8.0
- phf_codegen@0.8.0
- phf_generator@0.8.0
- phf_macros@0.8.0
- phf_shared@0.10.0
- phf_shared@0.8.0
- ppv-lite86@0.2.16
- precomputed-hash@0.1.1
- proc-macro-hack@0.5.19
- proc-macro2@1.0.66
- proc-macro2@1.0.69
- pyo3-build-config@0.19.2
- pyo3-build-config@0.20.0
- pyo3-ffi@0.19.2
- pyo3-ffi@0.20.0
- pyo3-macros-backend@0.19.2
- pyo3-macros-backend@0.20.0
- pyo3-macros@0.19.2
- pyo3-macros@0.20.0
- pyo3@0.19.2
- pyo3@0.20.0
- quote@1.0.32
- quote@1.0.33
- rand@0.7.3
- rand_chacha@0.2.2
- rand_core@0.5.1
- rand_hc@0.2.0
- rand_pcg@0.2.1
- redox_syscall@0.2.11
- redox_syscall@0.3.5
- rustc_version@0.4.0
- scopeguard@1.1.0
- scopeguard@1.2.0
- selectors@0.22.0
- semver@1.0.6
- serde@1.0.136
- servo_arc@0.1.1
- siphasher@0.3.10
- smallvec@1.11.0
- smallvec@1.8.0
- stable_deref_trait@1.2.0
- string_cache@0.8.3
- string_cache_codegen@0.5.1
- syn@1.0.109
- syn@1.0.89
- syn@2.0.32
- syn@2.0.38
- target-lexicon@0.12.11
- target-lexicon@0.12.3
- tendril@0.4.3
- thin-slice@0.1.1
- unicode-ident@1.0.11
- unicode-ident@1.0.12
- unicode-xid@0.2.2
- unindent@0.1.11
- unindent@0.2.3
- utf-8@0.7.6
- wasi@0.9.0+wasi-snapshot-preview1
- winapi-i686-pc-windows-gnu@0.4.0
- winapi-x86_64-pc-windows-gnu@0.4.0
- winapi@0.3.9
- windows-targets@0.48.1
- windows-targets@0.48.5
- windows_aarch64_gnullvm@0.48.0
- windows_aarch64_gnullvm@0.48.5
- windows_aarch64_msvc@0.48.0
- windows_aarch64_msvc@0.48.5
- windows_i686_gnu@0.48.0
- windows_i686_gnu@0.48.5
- windows_i686_msvc@0.48.0
- windows_i686_msvc@0.48.5
- windows_x86_64_gnu@0.48.0
- windows_x86_64_gnu@0.48.5
- windows_x86_64_gnullvm@0.48.0
- windows_x86_64_gnullvm@0.48.5
- windows_x86_64_msvc@0.48.0
- windows_x86_64_msvc@0.48.5
-"
-
-inherit distutils-r1 cargo
-
-DESCRIPTION="A plugin for setuptools to build Rust Python extensions"
-HOMEPAGE="
- https://github.com/PyO3/setuptools-rust/
- https://pypi.org/project/setuptools-rust/
-"
-SRC_URI="
- https://github.com/PyO3/setuptools-rust/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- test? ( ${CARGO_CRATE_URIS} )
-"
-
-# crates are used at test time only, update via pycargoebuild -L -i ...
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ~ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- virtual/rust
- <dev-python/semantic-version-3[${PYTHON_USEDEP}]
- >=dev-python/semantic-version-2.8.2[${PYTHON_USEDEP}]
- >=dev-python/setuptools-62.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/setuptools-62.4[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/cffi[${PYTHON_USEDEP}]
- ' 'python*')
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )
-"
-
-src_unpack() {
- cargo_src_unpack
-}
-
-python_test() {
- local examples=(
- html-py-ever
- namespace_package
- rust_with_cffi
- )
- for example_dir in ${examples[@]}; do
- pushd examples/${example_dir} >/dev/null || die
- einfo "Running ${example_dir} test"
- esetup.py build --build-lib=build/lib
-
- case ${example_dir} in
- html-py-ever)
- pushd tests >/dev/null || die
- local -x PYTHONPATH=../build/lib
- ${EPYTHON} run_all.py || die "Tests failed with ${EPYTHON}"
- popd >/dev/null || die
- ;;
- *)
- pushd build/lib >/dev/null || die
- epytest ../../tests
- popd >/dev/null || die
- ;;
- esac
-
- rm -rf build || die
- popd >/dev/null || die
- done
-}
diff --git a/dev-python/setuptools-rust/setuptools-rust-1.9.0-r1.ebuild b/dev-python/setuptools-rust/setuptools-rust-1.9.0-r1.ebuild
new file mode 100644
index 000000000000..60e8ded0ded3
--- /dev/null
+++ b/dev-python/setuptools-rust/setuptools-rust-1.9.0-r1.ebuild
@@ -0,0 +1,198 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CARGO_OPTIONAL=yes
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+CRATES="
+ autocfg@1.1.0
+ bitflags@1.3.2
+ byteorder@1.4.3
+ cfg-if@1.0.0
+ convert_case@0.4.0
+ cssparser-macros@0.6.0
+ cssparser@0.27.2
+ derive_more@0.99.17
+ dtoa-short@0.3.3
+ dtoa@0.4.8
+ futf@0.1.5
+ fxhash@0.2.1
+ getrandom@0.1.16
+ heck@0.4.1
+ html5ever@0.25.1
+ indoc@2.0.4
+ instant@0.1.12
+ itoa@0.4.8
+ kuchiki@0.8.1
+ lazy_static@1.4.0
+ libc@0.2.121
+ libc@0.2.147
+ lock_api@0.4.10
+ lock_api@0.4.6
+ log@0.4.14
+ mac@0.1.1
+ markup5ever@0.10.1
+ matches@0.1.9
+ memoffset@0.9.0
+ new_debug_unreachable@1.0.4
+ nodrop@0.1.14
+ once_cell@1.10.0
+ once_cell@1.18.0
+ parking_lot@0.11.2
+ parking_lot@0.12.1
+ parking_lot_core@0.8.5
+ parking_lot_core@0.9.8
+ phf@0.8.0
+ phf_codegen@0.8.0
+ phf_generator@0.8.0
+ phf_macros@0.8.0
+ phf_shared@0.10.0
+ phf_shared@0.8.0
+ portable-atomic@1.6.0
+ ppv-lite86@0.2.16
+ precomputed-hash@0.1.1
+ proc-macro-hack@0.5.19
+ proc-macro2@1.0.66
+ proc-macro2@1.0.69
+ pyo3-build-config@0.20.3
+ pyo3-ffi@0.20.3
+ pyo3-macros-backend@0.20.3
+ pyo3-macros@0.20.3
+ pyo3@0.20.3
+ quote@1.0.32
+ quote@1.0.33
+ rand@0.7.3
+ rand_chacha@0.2.2
+ rand_core@0.5.1
+ rand_hc@0.2.0
+ rand_pcg@0.2.1
+ redox_syscall@0.2.11
+ redox_syscall@0.3.5
+ rustc_version@0.4.0
+ scopeguard@1.1.0
+ scopeguard@1.2.0
+ selectors@0.22.0
+ semver@1.0.6
+ serde@1.0.136
+ servo_arc@0.1.1
+ siphasher@0.3.10
+ smallvec@1.11.0
+ smallvec@1.8.0
+ stable_deref_trait@1.2.0
+ string_cache@0.8.3
+ string_cache_codegen@0.5.1
+ syn@1.0.89
+ syn@2.0.32
+ syn@2.0.38
+ target-lexicon@0.12.11
+ target-lexicon@0.12.3
+ tendril@0.4.3
+ thin-slice@0.1.1
+ unicode-ident@1.0.11
+ unicode-ident@1.0.12
+ unicode-xid@0.2.2
+ unindent@0.2.3
+ utf-8@0.7.6
+ wasi@0.9.0+wasi-snapshot-preview1
+ winapi-i686-pc-windows-gnu@0.4.0
+ winapi-x86_64-pc-windows-gnu@0.4.0
+ winapi@0.3.9
+ windows-targets@0.48.1
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.0
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.0
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.0
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.0
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.0
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.0
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.0
+ windows_x86_64_msvc@0.48.5
+"
+
+inherit distutils-r1 cargo
+
+DESCRIPTION="A plugin for setuptools to build Rust Python extensions"
+HOMEPAGE="
+ https://github.com/PyO3/setuptools-rust/
+ https://pypi.org/project/setuptools-rust/
+"
+SRC_URI="
+ https://github.com/PyO3/setuptools-rust/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ test? ( ${CARGO_CRATE_URIS} )
+"
+
+# crates are used at test time only, update via pycargoebuild -L -i ...
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ virtual/rust
+ <dev-python/semantic-version-3[${PYTHON_USEDEP}]
+ >=dev-python/semantic-version-2.8.2[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-62.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-62.4[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-delay-non-stdlib-imports.patch
+)
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+python_test() {
+ local -x UNSAFE_PYO3_SKIP_VERSION_CHECK=1
+
+ local examples=(
+ html-py-ever
+ namespace_package
+ rust_with_cffi
+ )
+ for example_dir in ${examples[@]}; do
+ pushd examples/${example_dir} >/dev/null || die
+ einfo "Running ${example_dir} test"
+ esetup.py build --build-lib=build/lib
+
+ case ${example_dir} in
+ html-py-ever)
+ pushd tests >/dev/null || die
+ local -x PYTHONPATH=../build/lib
+ ${EPYTHON} run_all.py || die "Tests failed with ${EPYTHON}"
+ popd >/dev/null || die
+ ;;
+ *)
+ pushd build/lib >/dev/null || die
+ epytest ../../tests
+ popd >/dev/null || die
+ ;;
+ esac
+
+ rm -rf build || die
+ popd >/dev/null || die
+ done
+}
diff --git a/dev-python/setuptools-scm/Manifest b/dev-python/setuptools-scm/Manifest
index 2d12f5b27640..15ec0ef24855 100644
--- a/dev-python/setuptools-scm/Manifest
+++ b/dev-python/setuptools-scm/Manifest
@@ -1,2 +1 @@
-DIST setuptools-scm-8.0.4.tar.gz 74280 BLAKE2B 317f4955365b6b7d21ddecc846b0158a72537692b70b5f2092183bd93af119875054d775628659b113dec3bdb94575485b6f1e58760f1580b143dc3b0882cb57 SHA512 1b584f20dfad115f379a97de9e96bb3b36ab00986381748c2f395facd26ce01a6556ccfbabeb8f0cf9ce8720b26ce3a00040dba02cc689701ccf1d31f13277da
-DIST setuptools_scm-7.1.0.tar.gz 71904 BLAKE2B be5ae215dadcc290290762b732434258409ecc2d71cdf1332ffe73431effae7cbc33e052a718efd952be79350171ed3e468492fc719bc08750dc23364fb0ee9d SHA512 bd7260672c213db6b8c5842dbb6ac69e69ce040777865c935033971f65d905bd8e6b54e174190a924e452c302e69d4c1de231cbc8f603176ba013a739840dad3
+DIST setuptools_scm-8.1.0.tar.gz 76465 BLAKE2B f50a1c25c93179809cb448dbaeab9d71596c729e374c88c2f8d9f5f7a1d746a001f9aa9fb93478679f1c1af96f35313e1250f96375f56310a4b814ee0542ed52 SHA512 205f1c122539d107a61a7ef01ff9ec225f7b2e6d92fc33a9f2a0c616051cbf32163ac4e6878d898e51cc1ff81fce6c6521a18fc5e09bdbc9d7d2467ba013c57f
diff --git a/dev-python/setuptools-scm/setuptools-scm-7.1.0.ebuild b/dev-python/setuptools-scm/setuptools-scm-7.1.0.ebuild
deleted file mode 100644
index aefcbded9493..000000000000
--- a/dev-python/setuptools-scm/setuptools-scm-7.1.0.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
-EAPI=7
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Manage versions by scm tags via setuptools"
-HOMEPAGE="
- https://github.com/pypa/setuptools_scm/
- https://pypi.org/project/setuptools-scm/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{8..10})
- dev-python/typing-extensions[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-vcs/git
- !sparc? (
- dev-vcs/mercurial
- )
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # the usual nondescript gpg-agent failure
- testing/test_git.py::test_git_getdate_signed_commit
-
- # fetching from the Internet
- testing/test_regressions.py::test_pip_download
- )
-
- if has_version dev-python/nose; then
- EPYTEST_DESELECT+=(
- # https://bugs.gentoo.org/892639
- testing/test_integration.py::test_pyproject_support
- )
- fi
-
- epytest
-}
diff --git a/dev-python/setuptools-scm/setuptools-scm-8.0.4.ebuild b/dev-python/setuptools-scm/setuptools-scm-8.0.4.ebuild
deleted file mode 100644
index 7a3696456809..000000000000
--- a/dev-python/setuptools-scm/setuptools-scm-8.0.4.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=standalone
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Manage versions by scm tags via setuptools"
-HOMEPAGE="
- https://github.com/pypa/setuptools_scm/
- https://pypi.org/project/setuptools-scm/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-# there's an optional dep on rich for cute logs
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
- dev-python/typing-extensions[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools[${PYTHON_USEDEP}]
- test? (
- dev-vcs/git
- !sparc? (
- dev-vcs/mercurial
- )
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # the usual nondescript gpg-agent failure
- testing/test_git.py::test_git_getdate_signed_commit
-
- # fetching from the Internet
- testing/test_regressions.py::test_pip_download
-
- # calls flake8, unpredictable
- testing/test_functions.py::test_dump_version_flake8
- )
-
- if has_version dev-python/nose; then
- EPYTEST_DESELECT+=(
- # https://bugs.gentoo.org/892639
- testing/test_integration.py::test_pyproject_support
- )
- fi
-
- epytest
-}
diff --git a/dev-python/setuptools-scm/setuptools-scm-8.1.0.ebuild b/dev-python/setuptools-scm/setuptools-scm-8.1.0.ebuild
new file mode 100644
index 000000000000..6f932a671ced
--- /dev/null
+++ b/dev-python/setuptools-scm/setuptools-scm-8.1.0.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Manage versions by scm tags via setuptools"
+HOMEPAGE="
+ https://github.com/pypa/setuptools_scm/
+ https://pypi.org/project/setuptools-scm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+# there's an optional dep on rich for cute logs
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+ dev-vcs/git
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # the usual nondescript gpg-agent failure
+ testing/test_git.py::test_git_getdate_signed_commit
+
+ # fetching from the Internet
+ testing/test_regressions.py::test_pip_download
+
+ # calls flake8, unpredictable
+ testing/test_functions.py::test_dump_version_flake8
+ )
+
+ if has_version dev-python/nose; then
+ EPYTEST_DESELECT+=(
+ # https://bugs.gentoo.org/892639
+ testing/test_integration.py::test_pyproject_support
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/setuptools/Manifest b/dev-python/setuptools/Manifest
index 5cbe453ab826..c101218e81c9 100644
--- a/dev-python/setuptools/Manifest
+++ b/dev-python/setuptools/Manifest
@@ -1,4 +1,4 @@
-DIST setuptools-68.2.2.tar.gz 2203338 BLAKE2B 3d91bd4b4be1fb7a01b0cca1736187b80f9b07d0e647b49b483d6b8da55f69a678d2c910cde46bd9645dbd10b0b1d14c124d111817cbd7be8d5fab909f787998 SHA512 ed3138a39e8ae47d695e71835024d66d63b8de51aa336bd8524de81a5036aa26cf587caca5d6b46c833f77a6e9c8c1ae6b64e8310f712bd9c4e760196778b2ca
-DIST setuptools-69.0.0.tar.gz 2219067 BLAKE2B 3df4e54e2c958b07af0d8ceb58678991ebb01952db90115eaabeb59f1643a67173add5f12fd1ad2e3992f2fcf9bacbfcbbb72e8c7e9d76bdfeaf0556ecc600bf SHA512 652d237fb15d187ede8f1da0406fdf5ba59b04278daf6b24f1ad2e938dabf6c543615926715037ee4f92809ef51c0201a6b595c6034e4d4c3c768ec47bb5e694
-DIST setuptools-69.0.1.tar.gz 2219238 BLAKE2B 2d7a3b1442be77bc310276e95afe8a53dcadfc2e152a93ffb457d01567f148d6b316d2516a0e17ca084687ad5076e6bbdec87d256f757e9220fbf468e31f3a67 SHA512 98f7f65869db725e23fcbe921ba7e0370fc1e80a2952e58cb3cfedc097ed4d814e7cadc558e8c96fb41f3677cb3705bcf835621421f8b0c83ffde5e291508f6b
-DIST setuptools-69.0.2.tar.gz 2219248 BLAKE2B 8873ce1eb0a04a8f561eaa9ea8332eb37ca8646e9ed2bb2f4723df0351b01d60ab94172ea34963b0084839b713b9a47e09ee00f82ec46297c7646565e4189ee4 SHA512 1a2955c8ff5955cb028f60ca538472c3a24dbda27984ef51ab59f6969e100b183456af82bc978a02f771b952908985eb85312065849f1afc64530d6461c7c6f6
+DIST setuptools-70.2.0.tar.gz 2332711 BLAKE2B d552e3c7fb8bad3829b6c210827af2a3993afa7c534502d08cb7f87df846f9939b75ce181217c673be7a0c71e81ede437b5f44cf9a42ff13133a9f922e426c1d SHA512 a2b0aaf57d012326475ee7637e65ebbc3b1a09b338850e8b0c6a0f169c49651f934c813d6d347ba1ff04894a4d8341bb5fedbea35d45dbc19f317587bbb35094
+DIST setuptools-70.3.0.tar.gz 2333112 BLAKE2B cffe583c1440e2c6ed049fc0c3da70d6b3f43710cec8eeba9b96906d7d3113c0156ac0398f12355e2c0eeeb73dc351e56eea117361c83a4819e255f2b44d01da SHA512 9f330bd9867631da69ee0886551033a6e8ef3cf52cfe38aad9fcd359cbfc2e0d7ee8c85382b29f8d52568c674893dc07f2b2a896afe5154e6140bb3209ee50a0
+DIST setuptools-71.0.4.tar.gz 2421868 BLAKE2B 29c63bedd87dd4c79ef86d20b6ab4297ae434a59d412813d0ef136c6239b8c77c7ec81b8384319a0e18617d0f8417da3c28d9f8ece40f4509949611c575c35a2 SHA512 efd1996e2720244b8bb385682258be4b2cd67d18b0910aa3f32c23907fad998144ff47455fb8866298e2b879b714624d09efefdcf1bf1d55047ecd3d1e36548e
+DIST setuptools-71.1.0.tar.gz 2422233 BLAKE2B b98bc2155cdf5acabd52c942a8b7908dbb48b39a3abbf065e42b089e22c3bba27aeee3492c5ecfc1de8b4bdba3c97259cfc609a31cdc11cdaf23f9a2dbab8685 SHA512 2cb817d3dee790ab1e71739b3980361c6dface44fa9c027a92aa3f96e758c034b0330de5eae48365dfa17933fe050f8418cff23fea192b3c616789215e411c1a
diff --git a/dev-python/setuptools/setuptools-68.2.2.ebuild b/dev-python/setuptools/setuptools-68.2.2.ebuild
deleted file mode 100644
index b74eeed66337..000000000000
--- a/dev-python/setuptools/setuptools-68.2.2.ebuild
+++ /dev/null
@@ -1,125 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-# please bump dev-python/ensurepip-setuptools along with this package!
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( python3_{10..12} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="Collection of extensions to Distutils"
-HOMEPAGE="
- https://github.com/pypa/setuptools/
- https://pypi.org/project/setuptools/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
- >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
- >=dev-python/nspektr-0.3.0[${PYTHON_USEDEP}]
- >=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3-r2[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.6.2-r1[${PYTHON_USEDEP}]
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/build[${PYTHON_USEDEP}]
- >=dev-python/ini2toml-0.9[${PYTHON_USEDEP}]
- >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
- >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pip-run[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-fixture-config[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pytest-virtualenv[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-# setuptools-scm is here because installing plugins apparently breaks stuff at
-# runtime, so let's pull it early. See bug #663324.
-PDEPEND="
- >=dev-python/certifi-2016.9.26[${PYTHON_USEDEP}]
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-src_prepare() {
- local PATCHES=(
- # TODO: remove this when we're 100% PEP517 mode
- "${FILESDIR}"/setuptools-62.4.0-py-compile.patch
- )
-
- distutils-r1_src_prepare
-
- # remove bundled dependencies
- rm -r */_vendor || die
-
- # remove the ugly */extern hack that breaks on unvendored deps
- rm -r */extern || die
- find -name '*.py' -exec sed \
- -e 's:from \w*[.]\+extern ::' -e 's:\w*[.]\+extern[.]::' \
- -i {} + || die
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- return
- fi
-
- local EPYTEST_DESELECT=(
- # network
- # TODO: see if PRE_BUILT_SETUPTOOLS_* helps
- setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg
- setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist
- setuptools/tests/test_build_meta.py::test_legacy_editable_install
- setuptools/tests/test_distutils_adoption.py
- setuptools/tests/test_editable_install.py
- setuptools/tests/test_setuptools.py::test_its_own_wheel_does_not_contain_tests
- setuptools/tests/test_virtualenv.py::test_clean_env_install
- setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
- setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
- # TODO
- setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
- setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
- setuptools/tests/test_extern.py::test_distribution_picklable
- # expects bundled deps in virtualenv
- setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
- setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
- setuptools/tests/test_editable_install.py::test_editable_with_pyproject
- # fails if python-xlib is installed
- setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
- # fails with importlib-metadata-6.6.0
- setuptools/tests/test_egg_info.py::TestWriteEntries::test_invalid_entry_point
- # TODO, probably some random package
- setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
- )
-
- if has_version "<dev-python/packaging-22"; then
- EPYTEST_DESELECT+=(
- # old packaging is more lenient
- setuptools/tests/config/test_setupcfg.py::TestOptions::test_raises_accidental_env_marker_misconfig
- )
- fi
-
- epytest -n "$(makeopts_jobs)" setuptools
-}
diff --git a/dev-python/setuptools/setuptools-69.0.0.ebuild b/dev-python/setuptools/setuptools-69.0.0.ebuild
deleted file mode 100644
index 0519452daec5..000000000000
--- a/dev-python/setuptools/setuptools-69.0.0.ebuild
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-# please bump dev-python/ensurepip-setuptools along with this package!
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( python3_{10..12} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Collection of extensions to Distutils"
-HOMEPAGE="
- https://github.com/pypa/setuptools/
- https://pypi.org/project/setuptools/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
- >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
- >=dev-python/nspektr-0.3.0[${PYTHON_USEDEP}]
- >=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3-r2[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.6.2-r1[${PYTHON_USEDEP}]
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/build[${PYTHON_USEDEP}]
- >=dev-python/ini2toml-0.9[${PYTHON_USEDEP}]
- >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
- >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pip-run[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-fixture-config[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pytest-virtualenv[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-# setuptools-scm is here because installing plugins apparently breaks stuff at
-# runtime, so let's pull it early. See bug #663324.
-PDEPEND="
- >=dev-python/certifi-2016.9.26[${PYTHON_USEDEP}]
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-src_prepare() {
- local PATCHES=(
- # TODO: remove this when we're 100% PEP517 mode
- "${FILESDIR}"/setuptools-62.4.0-py-compile.patch
- )
-
- distutils-r1_src_prepare
-
- # remove bundled dependencies
- rm -r */_vendor || die
-
- # remove the ugly */extern hack that breaks on unvendored deps
- rm -r */extern || die
- find -name '*.py' -exec sed \
- -e 's:from \w*[.]\+extern ::' -e 's:\w*[.]\+extern[.]::' \
- -i {} + || die
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- return
- fi
-
- local EPYTEST_DESELECT=(
- # network
- # TODO: see if PRE_BUILT_SETUPTOOLS_* helps
- setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg
- setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist
- setuptools/tests/test_build_meta.py::test_legacy_editable_install
- setuptools/tests/test_distutils_adoption.py
- setuptools/tests/test_editable_install.py
- setuptools/tests/test_setuptools.py::test_its_own_wheel_does_not_contain_tests
- setuptools/tests/test_virtualenv.py::test_clean_env_install
- setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
- setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
- # TODO
- setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
- setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
- setuptools/tests/test_extern.py::test_distribution_picklable
- # expects bundled deps in virtualenv
- setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
- setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
- setuptools/tests/test_editable_install.py::test_editable_with_pyproject
- # fails if python-xlib is installed
- setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
- # fails with importlib-metadata-6.6.0
- setuptools/tests/test_egg_info.py::TestWriteEntries::test_invalid_entry_point
- # TODO, probably some random package
- setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
- )
-
- if has_version "<dev-python/packaging-22"; then
- EPYTEST_DESELECT+=(
- # old packaging is more lenient
- setuptools/tests/config/test_setupcfg.py::TestOptions::test_raises_accidental_env_marker_misconfig
- )
- fi
-
- local EPYTEST_XDIST=1
- epytest setuptools
-}
diff --git a/dev-python/setuptools/setuptools-69.0.1.ebuild b/dev-python/setuptools/setuptools-69.0.1.ebuild
deleted file mode 100644
index 0519452daec5..000000000000
--- a/dev-python/setuptools/setuptools-69.0.1.ebuild
+++ /dev/null
@@ -1,126 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-# please bump dev-python/ensurepip-setuptools along with this package!
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( python3_{10..12} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Collection of extensions to Distutils"
-HOMEPAGE="
- https://github.com/pypa/setuptools/
- https://pypi.org/project/setuptools/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
- >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
- >=dev-python/nspektr-0.3.0[${PYTHON_USEDEP}]
- >=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3-r2[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.6.2-r1[${PYTHON_USEDEP}]
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/build[${PYTHON_USEDEP}]
- >=dev-python/ini2toml-0.9[${PYTHON_USEDEP}]
- >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
- >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pip-run[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-fixture-config[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pytest-virtualenv[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-# setuptools-scm is here because installing plugins apparently breaks stuff at
-# runtime, so let's pull it early. See bug #663324.
-PDEPEND="
- >=dev-python/certifi-2016.9.26[${PYTHON_USEDEP}]
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-src_prepare() {
- local PATCHES=(
- # TODO: remove this when we're 100% PEP517 mode
- "${FILESDIR}"/setuptools-62.4.0-py-compile.patch
- )
-
- distutils-r1_src_prepare
-
- # remove bundled dependencies
- rm -r */_vendor || die
-
- # remove the ugly */extern hack that breaks on unvendored deps
- rm -r */extern || die
- find -name '*.py' -exec sed \
- -e 's:from \w*[.]\+extern ::' -e 's:\w*[.]\+extern[.]::' \
- -i {} + || die
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- return
- fi
-
- local EPYTEST_DESELECT=(
- # network
- # TODO: see if PRE_BUILT_SETUPTOOLS_* helps
- setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg
- setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist
- setuptools/tests/test_build_meta.py::test_legacy_editable_install
- setuptools/tests/test_distutils_adoption.py
- setuptools/tests/test_editable_install.py
- setuptools/tests/test_setuptools.py::test_its_own_wheel_does_not_contain_tests
- setuptools/tests/test_virtualenv.py::test_clean_env_install
- setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
- setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
- # TODO
- setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
- setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
- setuptools/tests/test_extern.py::test_distribution_picklable
- # expects bundled deps in virtualenv
- setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
- setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
- setuptools/tests/test_editable_install.py::test_editable_with_pyproject
- # fails if python-xlib is installed
- setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
- # fails with importlib-metadata-6.6.0
- setuptools/tests/test_egg_info.py::TestWriteEntries::test_invalid_entry_point
- # TODO, probably some random package
- setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
- )
-
- if has_version "<dev-python/packaging-22"; then
- EPYTEST_DESELECT+=(
- # old packaging is more lenient
- setuptools/tests/config/test_setupcfg.py::TestOptions::test_raises_accidental_env_marker_misconfig
- )
- fi
-
- local EPYTEST_XDIST=1
- epytest setuptools
-}
diff --git a/dev-python/setuptools/setuptools-69.0.2.ebuild b/dev-python/setuptools/setuptools-69.0.2.ebuild
deleted file mode 100644
index db26d4e889d2..000000000000
--- a/dev-python/setuptools/setuptools-69.0.2.ebuild
+++ /dev/null
@@ -1,116 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-# please bump dev-python/ensurepip-setuptools along with this package!
-
-DISTUTILS_USE_PEP517=standalone
-PYTHON_TESTED=( python3_{10..12} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Collection of extensions to Distutils"
-HOMEPAGE="
- https://github.com/pypa/setuptools/
- https://pypi.org/project/setuptools/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
- >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
- >=dev-python/nspektr-0.3.0[${PYTHON_USEDEP}]
- >=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3-r2[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-2.6.2-r1[${PYTHON_USEDEP}]
- >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
- >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
- test? (
- $(python_gen_cond_dep '
- dev-python/build[${PYTHON_USEDEP}]
- >=dev-python/ini2toml-0.9[${PYTHON_USEDEP}]
- >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
- >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- dev-python/pip-run[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/pytest-fixture-config[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pytest-virtualenv[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
- ' "${PYTHON_TESTED[@]}")
- )
-"
-# setuptools-scm is here because installing plugins apparently breaks stuff at
-# runtime, so let's pull it early. See bug #663324.
-PDEPEND="
- >=dev-python/certifi-2016.9.26[${PYTHON_USEDEP}]
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-src_prepare() {
- local PATCHES=(
- # TODO: remove this when we're 100% PEP517 mode
- "${FILESDIR}"/setuptools-62.4.0-py-compile.patch
- )
-
- distutils-r1_src_prepare
-
- # remove bundled dependencies
- rm -r */_vendor || die
-
- # remove the ugly */extern hack that breaks on unvendored deps
- rm -r */extern || die
- find -name '*.py' -exec sed \
- -e 's:from \w*[.]\+extern ::' -e 's:\w*[.]\+extern[.]::' \
- -i {} + || die
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- return
- fi
-
- local EPYTEST_DESELECT=(
- # network
- # TODO: see if PRE_BUILT_SETUPTOOLS_* helps
- setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg
- setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist
- setuptools/tests/test_build_meta.py::test_legacy_editable_install
- setuptools/tests/test_distutils_adoption.py
- setuptools/tests/test_editable_install.py
- setuptools/tests/test_setuptools.py::test_its_own_wheel_does_not_contain_tests
- setuptools/tests/test_virtualenv.py::test_clean_env_install
- setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
- setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
- # TODO
- setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
- setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
- setuptools/tests/test_extern.py::test_distribution_picklable
- # expects bundled deps in virtualenv
- setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
- setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
- # fails if python-xlib is installed
- setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
- # TODO, probably some random package
- setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
- )
-
- local EPYTEST_XDIST=1
- epytest setuptools
-}
diff --git a/dev-python/setuptools/setuptools-70.2.0-r1.ebuild b/dev-python/setuptools/setuptools-70.2.0-r1.ebuild
new file mode 100644
index 000000000000..6158743ccf66
--- /dev/null
+++ b/dev-python/setuptools/setuptools-70.2.0-r1.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+# please bump dev-python/ensurepip-setuptools along with this package!
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{10..13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="
+ https://github.com/pypa/setuptools/
+ https://pypi.org/project/setuptools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# check */_vendor/vendored.txt
+RDEPEND="
+ !!<dev-python/setuptools-rust-1.8.0
+ >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.6.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
+ dev-python/jaraco-test[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pip-run[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}]
+ dev-python/pytest-subprocess[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+# setuptools-scm is here because installing plugins apparently breaks stuff at
+# runtime, so let's pull it early. See bug #663324.
+#
+# trove-classifiers are optionally used in validation, if they are
+# installed. Since we really oughtn't block them, let's always enforce
+# the newest version for the time being to avoid errors.
+# https://github.com/pypa/setuptools/issues/4459
+PDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ >=dev-python/trove-classifiers-2024.7.2[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ local PATCHES=(
+ # TODO: remove this when we're 100% PEP517 mode
+ "${FILESDIR}/setuptools-62.4.0-py-compile.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # breaks tests
+ sed -i -e '/--import-mode/d' pytest.ini || die
+
+ # remove bundled dependencies
+ rm -r */_vendor setuptools/_distutils/_vendor || die
+
+ # remove the ugly */extern hack that breaks on unvendored deps
+ rm -r */extern || die
+ find -name '*.py' -exec sed \
+ -e 's:from \w*[.]\+extern ::' -e 's:\w*[.]\+extern[.]::' \
+ -e 's:from [.]_vendor[.]:from :' \
+ -i {} + || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # network
+ # TODO: see if PRE_BUILT_SETUPTOOLS_* helps
+ setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg
+ setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist
+ setuptools/tests/test_build_meta.py::test_legacy_editable_install
+ setuptools/tests/test_distutils_adoption.py
+ setuptools/tests/test_editable_install.py
+ setuptools/tests/test_setuptools.py::test_its_own_wheel_does_not_contain_tests
+ setuptools/tests/test_virtualenv.py::test_clean_env_install
+ setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
+ setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
+ # TODO
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
+ setuptools/tests/test_extern.py::test_distribution_picklable
+ # expects bundled deps in virtualenv
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
+ # fails if python-xlib is installed
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+ # TODO, probably some random package
+ setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
+ # Internet, sigh
+ setuptools/tests/test_integration.py
+ # flaky
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_transitive_extra_dependency
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_distutils_command_dep
+ )
+
+ case ${EPYTHON} in
+ python3.12)
+ EPYTEST_DESELECT+=(
+ # TODO
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_distutils_command_dep
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_transitive_extra_dependency
+ )
+ esac
+
+ local EPYTEST_XDIST=1
+ epytest -o tmp_path_retention_policy=all setuptools
+}
diff --git a/dev-python/setuptools/setuptools-70.3.0.ebuild b/dev-python/setuptools/setuptools-70.3.0.ebuild
new file mode 100644
index 000000000000..4a159eeb5974
--- /dev/null
+++ b/dev-python/setuptools/setuptools-70.3.0.ebuild
@@ -0,0 +1,135 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+# please bump dev-python/ensurepip-setuptools along with this package!
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{10..13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="
+ https://github.com/pypa/setuptools/
+ https://pypi.org/project/setuptools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+# check */_vendor/vendored.txt
+RDEPEND="
+ !!<dev-python/setuptools-rust-1.8.0
+ >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.6.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
+ dev-python/jaraco-test[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pip-run[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}]
+ dev-python/pytest-subprocess[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+# setuptools-scm is here because installing plugins apparently breaks stuff at
+# runtime, so let's pull it early. See bug #663324.
+#
+# trove-classifiers are optionally used in validation, if they are
+# installed. Since we really oughtn't block them, let's always enforce
+# the newest version for the time being to avoid errors.
+# https://github.com/pypa/setuptools/issues/4459
+PDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ >=dev-python/trove-classifiers-2024.7.2[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ local PATCHES=(
+ # TODO: remove this when we're 100% PEP517 mode
+ "${FILESDIR}/setuptools-62.4.0-py-compile.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # breaks tests
+ sed -i -e '/--import-mode/d' pytest.ini || die
+
+ # remove bundled dependencies
+ rm -r */_vendor setuptools/_distutils/_vendor || die
+
+ # remove the ugly */extern hack that breaks on unvendored deps
+ rm -r */extern || die
+ find -name '*.py' -exec sed \
+ -e 's:from \w*[.]\+extern ::' -e 's:\w*[.]\+extern[.]::' \
+ -e 's:from [.]_vendor[.]:from :' \
+ -i {} + || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # network
+ # TODO: see if PRE_BUILT_SETUPTOOLS_* helps
+ setuptools/tests/config/test_apply_pyprojecttoml.py::test_apply_pyproject_equivalent_to_setupcfg
+ setuptools/tests/integration/test_pip_install_sdist.py::test_install_sdist
+ setuptools/tests/test_build_meta.py::test_legacy_editable_install
+ setuptools/tests/test_distutils_adoption.py
+ setuptools/tests/test_editable_install.py
+ setuptools/tests/test_setuptools.py::test_its_own_wheel_does_not_contain_tests
+ setuptools/tests/test_virtualenv.py::test_clean_env_install
+ setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
+ setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
+ # TODO
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
+ setuptools/tests/test_extern.py::test_distribution_picklable
+ # expects bundled deps in virtualenv
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
+ # fails if python-xlib is installed
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+ # TODO, probably some random package
+ setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
+ # Internet, sigh
+ setuptools/tests/test_integration.py
+ # flaky
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_transitive_extra_dependency
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_distutils_command_dep
+ )
+
+ local EPYTEST_XDIST=1
+ epytest -o tmp_path_retention_policy=all setuptools
+}
diff --git a/dev-python/setuptools/setuptools-71.0.4.ebuild b/dev-python/setuptools/setuptools-71.0.4.ebuild
new file mode 100644
index 000000000000..d4a49d945688
--- /dev/null
+++ b/dev-python/setuptools/setuptools-71.0.4.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+# please bump dev-python/ensurepip-setuptools along with this package!
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{10..13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="
+ https://github.com/pypa/setuptools/
+ https://pypi.org/project/setuptools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !!<dev-python/setuptools-rust-1.8.0
+ >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.6.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
+ dev-python/jaraco-test[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pip-run[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}]
+ dev-python/pytest-subprocess[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+# setuptools-scm is here because installing plugins apparently breaks stuff at
+# runtime, so let's pull it early. See bug #663324.
+#
+# trove-classifiers are optionally used in validation, if they are
+# installed. Since we really oughtn't block them, let's always enforce
+# the newest version for the time being to avoid errors.
+# https://github.com/pypa/setuptools/issues/4459
+PDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ >=dev-python/trove-classifiers-2024.7.2[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ local PATCHES=(
+ # TODO: remove this when we're 100% PEP517 mode
+ "${FILESDIR}/setuptools-62.4.0-py-compile.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # breaks tests
+ sed -i -e '/--import-mode/d' pytest.ini || die
+
+ # remove bundled dependencies
+ rm -r */_vendor setuptools/_distutils/_vendor || die
+
+ find -name '*.py' -exec sed \
+ -e 's:from [.]_vendor[.]:from :' \
+ -i {} + || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # network
+ setuptools/tests/test_build_meta.py::test_legacy_editable_install
+ setuptools/tests/test_distutils_adoption.py
+ setuptools/tests/test_editable_install.py
+ setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
+ setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
+ # TODO
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
+ # expects bundled deps in virtualenv
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
+ # fails if python-xlib is installed
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+ # TODO, probably some random package
+ setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
+ # broken by unbundling
+ setuptools/tests/test_setuptools.py::test_wheel_includes_vendored_metadata
+ )
+
+ local EPYTEST_XDIST=1
+ local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH}
+ epytest -o tmp_path_retention_policy=all \
+ -m "not uses_network" setuptools
+}
diff --git a/dev-python/setuptools/setuptools-71.1.0.ebuild b/dev-python/setuptools/setuptools-71.1.0.ebuild
new file mode 100644
index 000000000000..d4a49d945688
--- /dev/null
+++ b/dev-python/setuptools/setuptools-71.1.0.ebuild
@@ -0,0 +1,124 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+# please bump dev-python/ensurepip-setuptools along with this package!
+
+DISTUTILS_USE_PEP517=standalone
+PYTHON_TESTED=( python3_{10..13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="xml(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of extensions to Distutils"
+HOMEPAGE="
+ https://github.com/pypa/setuptools/
+ https://pypi.org/project/setuptools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ !!<dev-python/setuptools-rust-1.8.0
+ >=dev-python/jaraco-text-3.7.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/more-itertools-8.12.0-r1[${PYTHON_USEDEP}]
+ >=dev-python/ordered-set-4.0.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-24[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-2.6.2-r1[${PYTHON_USEDEP}]
+ >=dev-python/wheel-0.37.1-r1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2.0.1[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ ${RDEPEND}
+ test? (
+ $(python_gen_cond_dep '
+ >=dev-python/build-1.0.3[${PYTHON_USEDEP}]
+ >=dev-python/ini2toml-0.14[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-envs-2.2[${PYTHON_USEDEP}]
+ >=dev-python/jaraco-path-3.2.0[${PYTHON_USEDEP}]
+ dev-python/jaraco-test[${PYTHON_USEDEP}]
+ dev-python/pip[${PYTHON_USEDEP}]
+ dev-python/pip-run[${PYTHON_USEDEP}]
+ dev-python/pyproject-hooks[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ >=dev-python/pytest-home-0.5[${PYTHON_USEDEP}]
+ dev-python/pytest-subprocess[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/tomli-w-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/virtualenv-20[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+# setuptools-scm is here because installing plugins apparently breaks stuff at
+# runtime, so let's pull it early. See bug #663324.
+#
+# trove-classifiers are optionally used in validation, if they are
+# installed. Since we really oughtn't block them, let's always enforce
+# the newest version for the time being to avoid errors.
+# https://github.com/pypa/setuptools/issues/4459
+PDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ >=dev-python/trove-classifiers-2024.7.2[${PYTHON_USEDEP}]
+"
+
+src_prepare() {
+ local PATCHES=(
+ # TODO: remove this when we're 100% PEP517 mode
+ "${FILESDIR}/setuptools-62.4.0-py-compile.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # breaks tests
+ sed -i -e '/--import-mode/d' pytest.ini || die
+
+ # remove bundled dependencies
+ rm -r */_vendor setuptools/_distutils/_vendor || die
+
+ find -name '*.py' -exec sed \
+ -e 's:from [.]_vendor[.]:from :' \
+ -i {} + || die
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # network
+ setuptools/tests/test_build_meta.py::test_legacy_editable_install
+ setuptools/tests/test_distutils_adoption.py
+ setuptools/tests/test_editable_install.py
+ setuptools/tests/test_virtualenv.py::test_no_missing_dependencies
+ setuptools/tests/test_virtualenv.py::test_test_command_install_requirements
+ # TODO
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_basic
+ setuptools/tests/config/test_setupcfg.py::TestConfigurationReader::test_ignore_errors
+ # expects bundled deps in virtualenv
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_in_sdist
+ setuptools/tests/config/test_apply_pyprojecttoml.py::TestMeta::test_example_file_not_in_wheel
+ # fails if python-xlib is installed
+ setuptools/tests/test_easy_install.py::TestSetupRequires::test_setup_requires_with_allow_hosts
+ # TODO, probably some random package
+ setuptools/tests/config/test_setupcfg.py::TestOptions::test_cmdclass
+ # broken by unbundling
+ setuptools/tests/test_setuptools.py::test_wheel_includes_vendored_metadata
+ )
+
+ local EPYTEST_XDIST=1
+ local -x PRE_BUILT_SETUPTOOLS_WHEEL=${DISTUTILS_WHEEL_PATH}
+ epytest -o tmp_path_retention_policy=all \
+ -m "not uses_network" setuptools
+}
diff --git a/dev-python/setuptools_scm_git_archive/Manifest b/dev-python/setuptools_scm_git_archive/Manifest
deleted file mode 100644
index 22a0876da7e8..000000000000
--- a/dev-python/setuptools_scm_git_archive/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST setuptools_scm_git_archive-1.4.gh.tar.gz 2616 BLAKE2B ce76067231fbb73f22c129e592a6b29bce8ef28383f47c1774162e3a57842d60b04bdaeafb6ff8342e77d2e3f413bcd2704d7dcddfd500db2902a33cf97c890a SHA512 dd279f293334439abacf40f4423b5dc9def7bd0a0f23b39d30695ba9e86dcf48205d6e8120930148f876bb20181016cc6d279d225669c067f4d02e780f33e271
diff --git a/dev-python/setuptools_scm_git_archive/metadata.xml b/dev-python/setuptools_scm_git_archive/metadata.xml
deleted file mode 100644
index a01830d066a3..000000000000
--- a/dev-python/setuptools_scm_git_archive/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="person">
- <email>pacho@gentoo.org</email>
- <name>Pacho Ramos</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">setuptools-scm-git-archive</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/setuptools_scm_git_archive/setuptools_scm_git_archive-1.4-r1.ebuild b/dev-python/setuptools_scm_git_archive/setuptools_scm_git_archive-1.4-r1.ebuild
deleted file mode 100644
index 574c1eacf32a..000000000000
--- a/dev-python/setuptools_scm_git_archive/setuptools_scm_git_archive-1.4-r1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="A setuptools_scm plugin for git archives"
-HOMEPAGE="
- https://github.com/Changaco/setuptools_scm_git_archive/
- https://pypi.org/project/setuptools-scm-git-archive/
-"
-SRC_URI="
- https://github.com/Changaco/setuptools_scm_git_archive/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- <dev-python/setuptools-scm-8[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${RDEPEND}
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION="${PV}"
-
-python_test() {
- epytest tests.py
-}
diff --git a/dev-python/sexpdata/Manifest b/dev-python/sexpdata/Manifest
index ffb8722e4b33..7117be739637 100644
--- a/dev-python/sexpdata/Manifest
+++ b/dev-python/sexpdata/Manifest
@@ -1 +1 @@
-DIST sexpdata-1.0.1.gh.tar.gz 17298 BLAKE2B 41132d8d2af06efdae024cbb8e05e9fa4fcb03ffb0af5f1b04df2fae8ed3a5bd8a45f93951cf575edf3facb0f9867a6e78d82ab166f0ec89df4a13b0827d7213 SHA512 e945eeec3743d92a76748c6fe22ca510ec5df6a3f2249a0d8020ae84854c50940add39437c680d3e44aafee7d9bb442db875b46afd290bfb6e8d31e16c6da9da
+DIST sexpdata-1.0.2.gh.tar.gz 17687 BLAKE2B a2840927a7f157b5d9fe0d225d46abb7928fd99b85234fc070c6203d90d8ab888339058a8c049ca6c61f843eabf8ca46443b8e00527e6c3b7aa68f0aacbede5c SHA512 a300999f2e517d578203e1b7f97e664bb01cc9fa86aef616fc9ba0d568a20e4c7a9669f6f067760ddafbbf16b495233080131b7a07d33cbe5c243cb8a406ace3
diff --git a/dev-python/sexpdata/files/sexpdata-1.0.1-setup.patch b/dev-python/sexpdata/files/sexpdata-1.0.1-setup.patch
deleted file mode 100644
index a647058d4cdd..000000000000
--- a/dev-python/sexpdata/files/sexpdata-1.0.1-setup.patch
+++ /dev/null
@@ -1,16 +0,0 @@
-Fix build failure.
-/usr/lib/python3.11/site-packages/setuptools/config/_apply_pyprojecttoml.py:75: _MissingDynamic: `license` defined outside of `pyproject.toml` is ignored.
-
---- sexpdata-1.0.1/setup.py
-+++ sexpdata-1.0.1/setup.py
-@@ -12,10 +12,8 @@
- author='Joshua D. Boyd, Takafumi Arakaki',
- author_email='jdboyd@jdboyd.net',
- url='https://github.com/jd-boyd/sexpdata',
-- license='BSD License',
- description='S-expression parser for Python',
- long_description=long_description,
-- keywords='s-expression, lisp, parser',
- classifiers=[
- "Development Status :: 3 - Alpha",
- 'License :: OSI Approved :: BSD License',
diff --git a/dev-python/sexpdata/sexpdata-1.0.1.ebuild b/dev-python/sexpdata/sexpdata-1.0.1.ebuild
deleted file mode 100644
index 44206508b543..000000000000
--- a/dev-python/sexpdata/sexpdata-1.0.1.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="a simple S-expression parser/serializer"
-HOMEPAGE="
- https://github.com/jd-boyd/sexpdata/
- https://pypi.org/project/sexpdata/
-"
-SRC_URI="
- https://github.com/jd-boyd/sexpdata/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~ppc ~x86"
-
-PATCHES=( "${FILESDIR}/${P}-setup.patch" )
-
-distutils_enable_tests pytest
diff --git a/dev-python/sexpdata/sexpdata-1.0.2.ebuild b/dev-python/sexpdata/sexpdata-1.0.2.ebuild
new file mode 100644
index 000000000000..ea1ce8fd1842
--- /dev/null
+++ b/dev-python/sexpdata/sexpdata-1.0.2.ebuild
@@ -0,0 +1,25 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="a simple S-expression parser/serializer"
+HOMEPAGE="
+ https://github.com/jd-boyd/sexpdata/
+ https://pypi.org/project/sexpdata/
+"
+SRC_URI="
+ https://github.com/jd-boyd/sexpdata/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~ppc ~x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sgmllib3k/sgmllib3k-1.0.0-r1.ebuild b/dev-python/sgmllib3k/sgmllib3k-1.0.0-r1.ebuild
index 7ad804d30cdd..e65b87ba13a4 100644
--- a/dev-python/sgmllib3k/sgmllib3k-1.0.0-r1.ebuild
+++ b/dev-python/sgmllib3k/sgmllib3k-1.0.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/sh/Manifest b/dev-python/sh/Manifest
index dd3d6cdd60d5..af6bcb887e02 100644
--- a/dev-python/sh/Manifest
+++ b/dev-python/sh/Manifest
@@ -1 +1 @@
-DIST sh-2.0.6.tar.gz 345496 BLAKE2B 2352aa1c560a95e59446473658d0a95609f594417c8840c84cf1d65590aa94c2225dcd8782e75d82e92cdbf86f21dbbe03a1818a5ef1800a39444ce2918bc90b SHA512 717dae58ebd08b3a86e0d30ba2a6f3055592844d064265280b97a1d29bd7d0422c9e5500b6eb999cc1a97c1c2af04cf8ed214670bc08cb2bc45e418f69560c1d
+DIST sh-2.0.7.tar.gz 345477 BLAKE2B a7eb24e5cdc4543b5a44a523b101b5b103ad1fc26664b659cf84921d50112bac1a49d7ea19889d2157b2df941b67840373a9a4bc63e2cb7f94bb4cdfac85819c SHA512 331a3bdc027eeac7100ae6318a579c85fb11ce0e1922d1078c2f09b0523733b146a9bd5b9f030a2da23e3d2bb2a6970bd451d53224259967efdcf99e949f7b9f
diff --git a/dev-python/sh/sh-2.0.6.ebuild b/dev-python/sh/sh-2.0.6.ebuild
deleted file mode 100644
index 225ef8c24d1c..000000000000
--- a/dev-python/sh/sh-2.0.6.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python subprocess interface"
-HOMEPAGE="
- https://github.com/amoffat/sh/
- https://pypi.org/project/sh/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-distutils_enable_tests unittest
-
-python_test() {
- local -x SH_TESTS_RUNNING=1
- eunittest -p "*_test.py"
-}
diff --git a/dev-python/sh/sh-2.0.7.ebuild b/dev-python/sh/sh-2.0.7.ebuild
new file mode 100644
index 000000000000..878923a7fd9c
--- /dev/null
+++ b/dev-python/sh/sh-2.0.7.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python subprocess interface"
+HOMEPAGE="
+ https://github.com/amoffat/sh/
+ https://pypi.org/project/sh/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+distutils_enable_tests unittest
+
+python_test() {
+ local -x SH_TESTS_RUNNING=1
+ eunittest -p "*_test.py"
+}
diff --git a/dev-python/shapely/Manifest b/dev-python/shapely/Manifest
index f27b357882e0..2c307ca1ab79 100644
--- a/dev-python/shapely/Manifest
+++ b/dev-python/shapely/Manifest
@@ -1 +1,2 @@
-DIST shapely-2.0.2.gh.tar.gz 330120 BLAKE2B 01630239075c767897635fb25573bc37469ecb7b03d62cef2d82b95a8bd7216864087b9bbcaa46c75850f2048efac2b171f2a78090bf4cd846e882fd8b549942 SHA512 7d19984a1fae9a4ec6abaa2f88712ff442272019976427a915ccd3493e3dc8fe169c5ab3aacf71f3104fc325f93b1877bfcbe9c44968b661feccc38eeeb16f9a
+DIST shapely-2.0.4.gh.tar.gz 331588 BLAKE2B 4b7f8afa8e4358ed473c6172c340520a4cdf7ab76752c12a96070e88834c0b44fa87b0815fecbe337f012ca1d15bc3f38cb59ef23cf589d4e3e8f2ecbafb5660 SHA512 497bb6d1b3fbfc5758c167e984bb57f52746dae47d7d365e6f13e3879beced8194aea9119c287c8eadf2f74e038e2dbb07e906177f521fab195edcb4b7a9bdbb
+DIST shapely-2.0.5.gh.tar.gz 333029 BLAKE2B c618d0eddc53bf1b4f423b18eaeaf26ab7a1c1a8d32905e56a23387da9e4b4df610222bf58b85e095b0a0b9cece226fbae9fdf1e3689f71eb8d95d0b607b5109 SHA512 2f0364bb4480c971bd8a4f78ee1ac1cb014bf335e676b9531a092f30d522a9a34b670f96f3f92d7ea91a1da5043510f33a50fd4332ad5cdef1d19799122685a6
diff --git a/dev-python/shapely/files/shapely-2.0.2-c99.patch b/dev-python/shapely/files/shapely-2.0.2-c99.patch
new file mode 100644
index 000000000000..a51fc8883103
--- /dev/null
+++ b/dev-python/shapely/files/shapely-2.0.2-c99.patch
@@ -0,0 +1,19 @@
+https://github.com/shapely/shapely/pull/1945
+
+From 9795506bba84e96418466ae84573c0cf8654bbeb Mon Sep 17 00:00:00 2001
+From: "Benjamin A. Beasley" <code@musicinmybrain.net>
+Date: Sun, 3 Dec 2023 11:36:36 -0500
+Subject: [PATCH] Fix incompatible pointer type passed to GEOSPolygonize_r
+
+--- a/src/ufuncs.c
++++ b/src/ufuncs.c
+@@ -2160,7 +2160,7 @@ static void polygonize_func(char** args, const npy_intp* dimensions, const npy_i
+
+ GEOS_INIT;
+
+- GEOSGeometry** geoms = malloc(sizeof(void*) * dimensions[1]);
++ const GEOSGeometry** geoms = malloc(sizeof(void*) * dimensions[1]);
+ if (geoms == NULL) {
+ errstate = PGERR_NO_MALLOC;
+ goto finish;
+
diff --git a/dev-python/shapely/shapely-2.0.2.ebuild b/dev-python/shapely/shapely-2.0.2.ebuild
deleted file mode 100644
index acfc3a8a7763..000000000000
--- a/dev-python/shapely/shapely-2.0.2.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=${P/_p/.post}
-DESCRIPTION="Geometric objects, predicates, and operations"
-HOMEPAGE="
- https://pypi.org/project/shapely/
- https://github.com/shapely/shapely/
-"
-SRC_URI="
- https://github.com/shapely/shapely/archive/${PV/_p/.post}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-
-DEPEND="
- >=sci-libs/geos-3.9
-"
-RDEPEND="
- ${DEPEND}
- dev-python/numpy[${PYTHON_USEDEP}]
-"
-BDEPEND="
- ${DEPEND}
- >=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- rm -rf shapely || die
- epytest --pyargs shapely
-}
diff --git a/dev-python/shapely/shapely-2.0.4-r1.ebuild b/dev-python/shapely/shapely-2.0.4-r1.ebuild
new file mode 100644
index 000000000000..3d46daa59ab1
--- /dev/null
+++ b/dev-python/shapely/shapely-2.0.4-r1.ebuild
@@ -0,0 +1,50 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=${P/_p/.post}
+DESCRIPTION="Geometric objects, predicates, and operations"
+HOMEPAGE="
+ https://pypi.org/project/shapely/
+ https://github.com/shapely/shapely/
+"
+SRC_URI="
+ https://github.com/shapely/shapely/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+
+DEPEND="
+ dev-python/numpy:=[${PYTHON_USEDEP}]
+ >=sci-libs/geos-3.9
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ ${DEPEND}
+ >=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.0.2-c99.patch
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ rm -rf shapely || die
+ epytest --pyargs shapely
+}
diff --git a/dev-python/shapely/shapely-2.0.5.ebuild b/dev-python/shapely/shapely-2.0.5.ebuild
new file mode 100644
index 000000000000..e28d47959a37
--- /dev/null
+++ b/dev-python/shapely/shapely-2.0.5.ebuild
@@ -0,0 +1,50 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=${P/_p/.post}
+DESCRIPTION="Geometric objects, predicates, and operations"
+HOMEPAGE="
+ https://pypi.org/project/shapely/
+ https://github.com/shapely/shapely/
+"
+SRC_URI="
+ https://github.com/shapely/shapely/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+DEPEND="
+ dev-python/numpy:=[${PYTHON_USEDEP}]
+ >=sci-libs/geos-3.11.4
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ ${DEPEND}
+ >=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-2.0.2-c99.patch
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ rm -rf shapely || die
+ epytest --pyargs shapely
+}
diff --git a/dev-python/shellingham/Manifest b/dev-python/shellingham/Manifest
index f9fd372a8472..3a4e1df583cc 100644
--- a/dev-python/shellingham/Manifest
+++ b/dev-python/shellingham/Manifest
@@ -1,2 +1 @@
-DIST shellingham-1.5.1.gh.tar.gz 21429 BLAKE2B 19a3258836616e8da2510d1d3af1d9bba5731494e10c5f20a9a50b153b0a9e5892005f9bab0ad5938731457db072acccd3071614ff854ae5ffe13ea406cd10f3 SHA512 764419bb1bf9ac223210b1b01abdb15ff276eb1651d91f0e0ee423ec475100d781149fcf98a43bac5ebb22761a4b775bc669c6e9722d25870dbde50568622242
DIST shellingham-1.5.4.gh.tar.gz 24276 BLAKE2B 9db0fd5b223fb8c184d9f011dddb1de0873c2084457a88cd97244137bdc5fef398cd649569cfc37b9fc57bf3f76b11643c236bdd5144a31d157884adc30dc8bb SHA512 5a56156add14a5ec9cb55ccf0a268f6c64a3e2fec90301ea31f499131560fa537ca3b3544f18944efac451fa21826114a2bbf3b54140d294d94e7ae890964800
diff --git a/dev-python/shellingham/shellingham-1.5.1.ebuild b/dev-python/shellingham/shellingham-1.5.1.ebuild
deleted file mode 100644
index be6e6357e080..000000000000
--- a/dev-python/shellingham/shellingham-1.5.1.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Tool to Detect Surrounding Shell"
-HOMEPAGE="
- https://github.com/sarugaku/shellingham/
- https://pypi.org/project/shellingham/
-"
-# Missing tests in PYPI distribution so we use the GH package
-SRC_URI="
- https://github.com/sarugaku/shellingham/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64"
-
-DEPEND="
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/shellingham/shellingham-1.5.4.ebuild b/dev-python/shellingham/shellingham-1.5.4.ebuild
index 385c95465815..5419a7529cdd 100644
--- a/dev-python/shellingham/shellingham-1.5.4.ebuild
+++ b/dev-python/shellingham/shellingham-1.5.4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/shiboken2/Manifest b/dev-python/shiboken2/Manifest
index d7602001a4a7..b5879c1589f0 100644
--- a/dev-python/shiboken2/Manifest
+++ b/dev-python/shiboken2/Manifest
@@ -1 +1 @@
-DIST pyside-setup-opensource-src-5.15.11.tar.xz 3584760 BLAKE2B c4d60439a218451eb0c505031524fe1e30a117b7e89a28b5cd7518c193a8d2de01a5db8cb3acdd97c81da6dddff99f786c6c763427f78cdd0af4031122ac2d24 SHA512 377b3f6a793313cf7f5bea0dcef6630bac32d79b247e213d0b1b719805b35692aa8dd9a8896c75c6266f05af38809f574051d64b1a2f958a48c90167feccfb91
+DIST pyside-setup-opensource-src-5.15.14.tar.xz 3586520 BLAKE2B ef103cf3116af2c1378018d44abf3766fed6ba545d0e5f3ea6f720047a884edc1eac2dbfce4ddd806472f2ac6355166fd0cef5427f1f85e73306544306adf003 SHA512 c6ca15cc3a3051c00519d9ccb64d48977f8e5587938f97205fe96511ec7bca1a67308325bc1d61712475514c2a1b351fbac2c84f5cee923f55eb91869f49acd5
diff --git a/dev-python/shiboken2/shiboken2-5.15.11.ebuild b/dev-python/shiboken2/shiboken2-5.15.11.ebuild
deleted file mode 100644
index c4b23b4fbecc..000000000000
--- a/dev-python/shiboken2/shiboken2-5.15.11.ebuild
+++ /dev/null
@@ -1,173 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# TODO: Split the "/usr/bin/shiboken2" binding generator from the
-# "/usr/lib64/libshiboken2-*.so" family of shared libraries. The former
-# requires everything (including Clang) at runtime; the latter only requires
-# Qt and Python at runtime. Note that "pip" separates these two as well. See:
-# https://doc.qt.io/qtforpython/shiboken2/faq.html#is-there-any-runtime-dependency-on-the-generated-binding
-# Once split, the PySide2 ebuild should be revised to require
-# "/usr/bin/shiboken2" at build time and "libshiboken2-*.so" at runtime.
-# TODO: Add PyPy once officially supported. See also:
-# https://bugreports.qt.io/browse/PYSIDE-535
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit cmake llvm python-r1 toolchain-funcs
-
-MY_P=pyside-setup-opensource-src-${PV}
-
-DESCRIPTION="Python binding generator for C++ libraries"
-HOMEPAGE="https://wiki.qt.io/PySide2"
-SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PV}-src/${MY_P}.tar.xz"
-S="${WORKDIR}/${MY_P}/sources/shiboken2"
-
-# The "sources/shiboken2/libshiboken" directory is triple-licensed under the
-# GPL v2, v3+, and LGPL v3. All remaining files are licensed under the GPL v3
-# with version 1.0 of a Qt-specific exception enabling shiboken2 output to be
-# arbitrarily relicensed. (TODO)
-LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 ) GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-IUSE="+docstrings numpy test vulkan"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# Tests fail pretty bad and I'm not fixing them right now
-RESTRICT="test"
-
-# Minimal supported version of Qt.
-QT_PV="$(ver_cut 1-3)*:5"
-
-# Since Clang is required at both build- and runtime, BDEPEND is omitted here.
-LLVM_MAX_SLOT=15
-RDEPEND="${PYTHON_DEPS}
- =dev-qt/qtcore-${QT_PV}
- <sys-devel/clang-16:=
- <sys-devel/clang-runtime-16:=
- docstrings? (
- >=dev-libs/libxml2-2.6.32
- >=dev-libs/libxslt-1.1.19
- =dev-qt/qtxml-${QT_PV}
- =dev-qt/qtxmlpatterns-${QT_PV}
- )
- numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
- vulkan? ( dev-util/vulkan-headers )
-"
-DEPEND="${RDEPEND}
- test? ( =dev-qt/qttest-${QT_PV} )
-"
-
-DOCS=( AUTHORS )
-
-# Ensure the path returned by get_llvm_prefix() contains clang as well.
-llvm_check_deps() {
- has_version "sys-devel/clang:${LLVM_SLOT}"
-}
-
-src_prepare() {
- # TODO: File upstream issue requesting a sane way to disable NumPy support.
- if ! use numpy; then
- sed -i -e '/\bprint(os\.path\.realpath(numpy))/d' \
- libshiboken/CMakeLists.txt || die
- fi
-
- # Shiboken2 assumes Vulkan headers live under either "$VULKAN_SDK/include"
- # or "$VK_SDK_PATH/include" rather than "${EPREFIX}/usr/include/vulkan".
- if use vulkan; then
- sed -i -e "s~\bdetectVulkan(&headerPaths);~headerPaths.append(HeaderPath{QByteArrayLiteral(\"${EPREFIX}/usr/include/vulkan\"), HeaderType::System});~" \
- ApiExtractor/clangparser/compilersupport.cpp || die
- fi
-
- local clangver="$(CPP=clang clang-major-version)"
-
- # Clang 15 and older used the full version as a directory name.
- if [[ ${clangver} -lt 16 ]]; then
- clangver="$(CPP=clang clang-fullversion)"
- fi
-
- # Shiboken2 assumes the "/usr/lib/clang/${CLANG_NEWEST_VERSION}/include/"
- # subdirectory provides Clang builtin includes (e.g., "stddef.h") for the
- # currently installed version of Clang, where ${CLANG_NEWEST_VERSION} is
- # the largest version specifier that exists under the "/usr/lib/clang/"
- # subdirectory. This assumption is false in edge cases, including when
- # users downgrade from newer Clang versions but fail to remove those
- # versions with "emerge --depclean". See also:
- # https://github.com/leycec/raiagent/issues/85
- #
- # Sadly, the clang-* family of functions exported by the "toolchain-funcs"
- # eclass are defective, returning nonsensical placeholder strings if the
- # end user has *NOT* explicitly configured their C++ compiler to be Clang.
- # PySide2 does *NOT* care whether the end user has done so or not, as
- # PySide2 unconditionally requires Clang in either case. See also:
- # https://bugs.gentoo.org/619490
- sed -i -e 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'"${clangver}"'/include"))~' \
- ApiExtractor/clangparser/compilersupport.cpp || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- # Minimal tests for now, 2 failing with the extended version
- # FIXME Subscripted generics cannot be used with class and instance checks
- local mycmakeargs=(
- -DBUILD_TESTS=$(usex test)
- -DDISABLE_DOCSTRINGS=$(usex !docstrings)
- )
-
- shiboken2_configure() {
- local mycmakeargs=(
- "${mycmakeargs[@]}"
- -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
- -DPYTHON_EXECUTABLE="${PYTHON}"
- -DUSE_PYTHON_VERSION="${EPYTHON#python}"
- )
- # CMakeLists.txt expects LLVM_INSTALL_DIR as an environment variable.
- local -x LLVM_INSTALL_DIR="$(get_llvm_prefix "${LLVM_MAX_SLOT}")"
- cmake_src_configure
- }
- python_foreach_impl shiboken2_configure
-}
-
-src_compile() {
- python_foreach_impl cmake_src_compile
-}
-
-src_test() {
- python_foreach_impl cmake_src_test
-}
-
-src_install() {
- shiboken2_install() {
- cmake_src_install
- python_optimize
-
- # Uniquify the "shiboken2" executable for the current Python target,
- # preserving an unversioned "shiboken2" file arbitrarily associated
- # with the last Python target.
- cp "${ED}"/usr/bin/${PN}{,-${EPYTHON}} || die
-
- # Uniquify the Shiboken2 pkgconfig file for the current Python target,
- # preserving an unversioned "shiboken2.pc" file arbitrarily associated
- # with the last Python target. See also:
- # https://github.com/leycec/raiagent/issues/73
- cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
- }
- python_foreach_impl shiboken2_install
-
- # CMakeLists.txt installs a "Shiboken2Targets-gentoo.cmake" file forcing
- # downstream consumers (e.g., PySide2) to target one "libshiboken2-*.so"
- # library and one "shiboken2" executable linked to one Python interpreter.
- # See also:
- # https://bugreports.qt.io/browse/PYSIDE-1053
- # https://github.com/leycec/raiagent/issues/74
- sed -i \
- -e 's~shiboken2-python[[:digit:]]\+\.[[:digit:]]\+~shiboken2${PYTHON_CONFIG_SUFFIX}~g' \
- -e 's~/bin/shiboken2~/bin/shiboken2${PYTHON_CONFIG_SUFFIX}~g' \
- "${ED}/usr/$(get_libdir)"/cmake/Shiboken2*/Shiboken2Targets-${CMAKE_BUILD_TYPE,,}.cmake || die
-
- # Remove the broken "shiboken_tool.py" script. By inspection, this script
- # reduces to a noop. Moreover, this script raises the following exception:
- # FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/../shiboken_tool.py': '/usr/bin/../shiboken_tool.py'
- rm "${ED}"/usr/bin/shiboken_tool.py || die
-}
diff --git a/dev-python/shiboken2/shiboken2-5.15.14.ebuild b/dev-python/shiboken2/shiboken2-5.15.14.ebuild
new file mode 100644
index 000000000000..827bc11eac62
--- /dev/null
+++ b/dev-python/shiboken2/shiboken2-5.15.14.ebuild
@@ -0,0 +1,173 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Split the "/usr/bin/shiboken2" binding generator from the
+# "/usr/lib64/libshiboken2-*.so" family of shared libraries. The former
+# requires everything (including Clang) at runtime; the latter only requires
+# Qt and Python at runtime. Note that "pip" separates these two as well. See:
+# https://doc.qt.io/qtforpython/shiboken2/faq.html#is-there-any-runtime-dependency-on-the-generated-binding
+# Once split, the PySide2 ebuild should be revised to require
+# "/usr/bin/shiboken2" at build time and "libshiboken2-*.so" at runtime.
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{10..11} )
+
+LLVM_COMPAT=( 15 )
+
+inherit cmake llvm-r1 python-r1 toolchain-funcs
+
+MY_P=pyside-setup-opensource-src-${PV}
+
+DESCRIPTION="Python binding generator for C++ libraries"
+HOMEPAGE="https://wiki.qt.io/PySide2"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside2/PySide2-${PV}-src/${MY_P}.tar.xz"
+S="${WORKDIR}/${MY_P}/sources/shiboken2"
+
+# The "sources/shiboken2/libshiboken" directory is triple-licensed under the
+# GPL v2, v3+, and LGPL v3. All remaining files are licensed under the GPL v3
+# with version 1.0 of a Qt-specific exception enabling shiboken2 output to be
+# arbitrarily relicensed. (TODO)
+LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 ) GPL-3"
+SLOT="5/${PV}"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+IUSE="+docstrings numpy test vulkan"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Tests fail pretty bad and I'm not fixing them right now
+RESTRICT="test"
+
+# Minimal supported version of Qt.
+QT_PV="$(ver_cut 1-3)*:5"
+
+# Since Clang is required at both build- and runtime, BDEPEND is omitted here.
+RDEPEND="${PYTHON_DEPS}
+ =dev-qt/qtcore-${QT_PV}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/llvm:${LLVM_SLOT}
+ ')
+ docstrings? (
+ >=dev-libs/libxml2-2.6.32
+ >=dev-libs/libxslt-1.1.19
+ =dev-qt/qtxml-${QT_PV}
+ =dev-qt/qtxmlpatterns-${QT_PV}
+ )
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ vulkan? ( dev-util/vulkan-headers )
+ !dev-python/shiboken2:0
+"
+DEPEND="${RDEPEND}
+ test? ( =dev-qt/qttest-${QT_PV} )
+"
+
+DOCS=( AUTHORS )
+
+src_prepare() {
+ # TODO: File upstream issue requesting a sane way to disable NumPy support.
+ if ! use numpy; then
+ sed -i -e '/\bprint(os\.path\.realpath(numpy))/d' \
+ libshiboken/CMakeLists.txt || die
+ fi
+
+ # Shiboken2 assumes Vulkan headers live under either "$VULKAN_SDK/include"
+ # or "$VK_SDK_PATH/include" rather than "${EPREFIX}/usr/include/vulkan".
+ if use vulkan; then
+ sed -i -e "s~\bdetectVulkan(&headerPaths);~headerPaths.append(HeaderPath{QByteArrayLiteral(\"${EPREFIX}/usr/include/vulkan\"), HeaderType::System});~" \
+ ApiExtractor/clangparser/compilersupport.cpp || die
+ fi
+
+ local clangver="$(CPP=clang clang-major-version)"
+
+ # Clang 15 and older used the full version as a directory name.
+ if [[ ${clangver} -lt 16 ]]; then
+ clangver="$(CPP=clang clang-fullversion)"
+ fi
+
+ # Shiboken2 assumes the "/usr/lib/clang/${CLANG_NEWEST_VERSION}/include/"
+ # subdirectory provides Clang builtin includes (e.g., "stddef.h") for the
+ # currently installed version of Clang, where ${CLANG_NEWEST_VERSION} is
+ # the largest version specifier that exists under the "/usr/lib/clang/"
+ # subdirectory. This assumption is false in edge cases, including when
+ # users downgrade from newer Clang versions but fail to remove those
+ # versions with "emerge --depclean". See also:
+ # https://github.com/leycec/raiagent/issues/85
+ #
+ # Sadly, the clang-* family of functions exported by the "toolchain-funcs"
+ # eclass are defective, returning nonsensical placeholder strings if the
+ # end user has *NOT* explicitly configured their C++ compiler to be Clang.
+ # PySide2 does *NOT* care whether the end user has done so or not, as
+ # PySide2 unconditionally requires Clang in either case. See also:
+ # https://bugs.gentoo.org/619490
+ sed -i -e 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'"${clangver}"'/include"))~' \
+ ApiExtractor/clangparser/compilersupport.cpp || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Minimal tests for now, 2 failing with the extended version
+ # FIXME Subscripted generics cannot be used with class and instance checks
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DDISABLE_DOCSTRINGS=$(usex !docstrings)
+ )
+
+ shiboken2_configure() {
+ local mycmakeargs=(
+ "${mycmakeargs[@]}"
+ -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
+ -DPYTHON_EXECUTABLE="${PYTHON}"
+ -DUSE_PYTHON_VERSION="${EPYTHON#python}"
+ -DFORCE_LIMITED_API=OFF
+ )
+ # CMakeLists.txt expects LLVM_INSTALL_DIR as an environment variable.
+ local -x LLVM_INSTALL_DIR="$(get_llvm_prefix)"
+ cmake_src_configure
+ }
+ python_foreach_impl shiboken2_configure
+}
+
+src_compile() {
+ python_foreach_impl cmake_src_compile
+}
+
+src_test() {
+ python_foreach_impl cmake_src_test
+}
+
+src_install() {
+ shiboken2_install() {
+ cmake_src_install
+ python_optimize
+
+ # Uniquify the "shiboken2" executable for the current Python target,
+ # preserving an unversioned "shiboken2" file arbitrarily associated
+ # with the last Python target.
+ cp "${ED}"/usr/bin/${PN}{,-${EPYTHON}} || die
+
+ # Uniquify the Shiboken2 pkgconfig file for the current Python target,
+ # preserving an unversioned "shiboken2.pc" file arbitrarily associated
+ # with the last Python target. See also:
+ # https://github.com/leycec/raiagent/issues/73
+ cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
+ }
+ python_foreach_impl shiboken2_install
+
+ # CMakeLists.txt installs a "Shiboken2Targets-gentoo.cmake" file forcing
+ # downstream consumers (e.g., PySide2) to target one "libshiboken2-*.so"
+ # library and one "shiboken2" executable linked to one Python interpreter.
+ # See also:
+ # https://bugreports.qt.io/browse/PYSIDE-1053
+ # https://github.com/leycec/raiagent/issues/74
+ sed -i \
+ -e 's~shiboken2-python[[:digit:]]\+\.[[:digit:]]\+~shiboken2${PYTHON_CONFIG_SUFFIX}~g' \
+ -e 's~/bin/shiboken2~/bin/shiboken2${PYTHON_CONFIG_SUFFIX}~g' \
+ "${ED}/usr/$(get_libdir)"/cmake/Shiboken2*/Shiboken2Targets-${CMAKE_BUILD_TYPE,,}.cmake || die
+
+ # Remove the broken "shiboken_tool.py" script. By inspection, this script
+ # reduces to a noop. Moreover, this script raises the following exception:
+ # FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/../shiboken_tool.py': '/usr/bin/../shiboken_tool.py'
+ rm "${ED}"/usr/bin/shiboken_tool.py || die
+}
diff --git a/dev-python/shiboken6/Manifest b/dev-python/shiboken6/Manifest
index b0efde9d5fa7..6bad2ad97ee1 100644
--- a/dev-python/shiboken6/Manifest
+++ b/dev-python/shiboken6/Manifest
@@ -1,2 +1 @@
-DIST pyside-setup-everywhere-src-6.5.3.tar.xz 13577208 BLAKE2B 7a26302d17163e3fd7478571d99116d7eec01ee3ce369c58870fed565258419f8c6cdf88b4cd2b9b48a21ab1e40d5b85ed912e3cd2210cf22707da88c42ad277 SHA512 3fbcc0bb340d5b02616df061d1c1bf08494db5d35297db47ebb2f965efd347bf8412236bb43952b65b787d08d29adf5998cd92c3ff359f728a9006e07a278519
-DIST pyside-setup-everywhere-src-6.6.0.tar.xz 14054860 BLAKE2B 3d01707796c8711de6c5bfc39bb677ee1f5c24014f8f61d9cccb5ec58982e9765e69b0a623e93276f1336975cf18a228d8397f6c8fce051875962e25ba64ac2f SHA512 58463e9b08ee6264d05293d25aa6e41b091016489abf513fc8303e5cccde26af1a24bf9520a94fad4fdc679bf367eb8c6b3d84a21c6c175dd1382cd1ca32b8ae
+DIST pyside-setup-everywhere-src-6.7.2.tar.xz 14402156 BLAKE2B 321717ba46c7ed29404ee326f852cd4032f93e23b6b32a16e4e05305ff04a00a2029ee7c1d50ad7191a836ffd9a3ae858483bac35e8254bdcaeb474e2c92df60 SHA512 4376aba85867b5a04dab9d8889f5e32cb503cb8010757c1e810e60d29755f15a002b582594d0737a4119c030b48ede26964e8b1392700a6c061d7d631cdfe73e
diff --git a/dev-python/shiboken6/shiboken6-6.5.3.ebuild b/dev-python/shiboken6/shiboken6-6.5.3.ebuild
deleted file mode 100644
index de8b2922641f..000000000000
--- a/dev-python/shiboken6/shiboken6-6.5.3.ebuild
+++ /dev/null
@@ -1,176 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# TODO: Split the "/usr/bin/shiboken6" binding generator from the
-# "/usr/lib64/libshiboken6-*.so" family of shared libraries. The former
-# requires everything (including Clang) at runtime; the latter only requires
-# Qt and Python at runtime. Note that "pip" separates these two as well. See:
-# https://doc.qt.io/qtforpython/shiboken6/faq.html#is-there-any-runtime-dependency-on-the-generated-binding
-# Once split, the PySide6 ebuild should be revised to require
-# "/usr/bin/shiboken6" at build time and "libshiboken6-*.so" at runtime.
-# TODO: Add PyPy once officially supported. See also:
-# https://bugreports.qt.io/browse/PYSIDE-535
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit cmake llvm python-r1 toolchain-funcs
-
-MY_PN="pyside-setup-everywhere-src"
-
-DESCRIPTION="Python binding generator for C++ libraries"
-HOMEPAGE="https://wiki.qt.io/PySide6"
-SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_PN}-${PV}.tar.xz"
-S="${WORKDIR}/${MY_PN}-$(ver_cut 1-3)/sources/shiboken6"
-
-# The "sources/shiboken6/libshiboken" directory is triple-licensed under the
-# GPL v2, v3+, and LGPL v3. All remaining files are licensed under the GPL v3
-# with version 1.0 of a Qt-specific exception enabling shiboken6 output to be
-# arbitrarily relicensed. (TODO)
-LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 ) GPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="+docstrings numpy test vulkan"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# Tests fail pretty bad and I'm not fixing them right now
-RESTRICT="test"
-
-# Minimal supported version of Qt.
-QT_PV="$(ver_cut 1-3)*:6"
-
-# Since Clang is required at both build- and runtime, BDEPEND is omitted here.
-LLVM_MAX_SLOT=17
-RDEPEND="${PYTHON_DEPS}
- =dev-qt/qtbase-${QT_PV}
- <sys-devel/clang-18:=
- <sys-devel/clang-runtime-18:=
- docstrings? (
- >=dev-libs/libxml2-2.6.32
- >=dev-libs/libxslt-1.1.19
- )
- numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
- vulkan? ( dev-util/vulkan-headers )
-"
-DEPEND="${RDEPEND}
- test? ( =dev-qt/qtbase-${QT_PV}[gui] )
-"
-# testlib is toggled by the gui flag on qtbase
-
-DOCS=( AUTHORS )
-
-PATCHES=(
- "${FILESDIR}/${PN}-6.3.1-no-strip.patch"
-)
-
-# Ensure the path returned by get_llvm_prefix() contains clang as well.
-llvm_check_deps() {
- has_version "sys-devel/clang:${LLVM_SLOT}"
-}
-
-src_prepare() {
- # TODO: File upstream issue requesting a sane way to disable NumPy support.
- if ! use numpy; then
- sed -i -e '/\bprint(os\.path\.realpath(numpy))/d' \
- libshiboken/CMakeLists.txt || die
- fi
-
- # Shiboken6 assumes Vulkan headers live under either "$VULKAN_SDK/include"
- # or "$VK_SDK_PATH/include" rather than "${EPREFIX}/usr/include/vulkan".
- if use vulkan; then
- sed -i -e "s~\bdetectVulkan(&headerPaths);~headerPaths.append(HeaderPath{QByteArrayLiteral(\"${EPREFIX}/usr/include/vulkan\"), HeaderType::System});~" \
- ApiExtractor/clangparser/compilersupport.cpp || die
- fi
-
- local clangver="$(CPP=clang clang-major-version)"
-
- # Clang 15 and older used the full version as a directory name.
- if [[ ${clangver} -lt 16 ]]; then
- clangver="$(CPP=clang clang-fullversion)"
- fi
-
- # Shiboken6 assumes the "/usr/lib/clang/${CLANG_NEWEST_VERSION}/include/"
- # subdirectory provides Clang builtin includes (e.g., "stddef.h") for the
- # currently installed version of Clang, where ${CLANG_NEWEST_VERSION} is
- # the largest version specifier that exists under the "/usr/lib/clang/"
- # subdirectory. This assumption is false in edge cases, including when
- # users downgrade from newer Clang versions but fail to remove those
- # versions with "emerge --depclean". See also:
- # https://github.com/leycec/raiagent/issues/85
- #
- # Sadly, the clang-* family of functions exported by the "toolchain-funcs"
- # eclass are defective, returning nonsensical placeholder strings if the
- # end user has *NOT* explicitly configured their C++ compiler to be Clang.
- # PySide6 does *NOT* care whether the end user has done so or not, as
- # PySide6 unconditionally requires Clang in either case. See also:
- # https://bugs.gentoo.org/619490
- sed -i -e 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'"${clangver}"'/include"))~' \
- ApiExtractor/clangparser/compilersupport.cpp || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- # Minimal tests for now, 2 failing with the extended version
- # FIXME Subscripted generics cannot be used with class and instance checks
- local mycmakeargs=(
- -DBUILD_TESTS=$(usex test)
- -DDISABLE_DOCSTRINGS=$(usex !docstrings)
- )
-
- shiboken6_configure() {
- local mycmakeargs=(
- "${mycmakeargs[@]}"
- -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
- -DPYTHON_EXECUTABLE="${PYTHON}"
- -DUSE_PYTHON_VERSION="${EPYTHON#python}"
- )
- # CMakeLists.txt expects LLVM_INSTALL_DIR as an environment variable.
- local -x LLVM_INSTALL_DIR="$(get_llvm_prefix "${LLVM_MAX_SLOT}")"
- cmake_src_configure
- }
- python_foreach_impl shiboken6_configure
-}
-
-src_compile() {
- python_foreach_impl cmake_src_compile
-}
-
-src_test() {
- python_foreach_impl cmake_src_test
-}
-
-src_install() {
- shiboken6_install() {
- cmake_src_install
- python_optimize
-
- # Uniquify the "shiboken6" executable for the current Python target,
- # preserving an unversioned "shiboken6" file arbitrarily associated
- # with the last Python target.
- cp "${ED}"/usr/bin/${PN}{,-${EPYTHON}} || die
-
- # Uniquify the Shiboken6 pkgconfig file for the current Python target,
- # preserving an unversioned "shiboken6.pc" file arbitrarily associated
- # with the last Python target. See also:
- # https://github.com/leycec/raiagent/issues/73
- cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
- }
- python_foreach_impl shiboken6_install
-
- # CMakeLists.txt installs a "Shiboken6Targets-gentoo.cmake" file forcing
- # downstream consumers (e.g., PySide6) to target one "libshiboken6-*.so"
- # library and one "shiboken6" executable linked to one Python interpreter.
- # See also:
- # https://bugreports.qt.io/browse/PYSIDE-1053
- # https://github.com/leycec/raiagent/issues/74
- sed -i \
- -e 's~shiboken6-python[[:digit:]]\+\.[[:digit:]]\+~shiboken6${PYTHON_CONFIG_SUFFIX}~g' \
- -e 's~/bin/shiboken6~/bin/shiboken6${PYTHON_CONFIG_SUFFIX}~g' \
- "${ED}/usr/$(get_libdir)"/cmake/Shiboken6/Shiboken6Targets-${CMAKE_BUILD_TYPE,,}.cmake || die
-
- # Remove the broken "shiboken_tool.py" script. By inspection, this script
- # reduces to a noop. Moreover, this script raises the following exception:
- # FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/../shiboken_tool.py': '/usr/bin/../shiboken_tool.py'
- rm "${ED}"/usr/bin/shiboken_tool.py || die
-}
diff --git a/dev-python/shiboken6/shiboken6-6.6.0.ebuild b/dev-python/shiboken6/shiboken6-6.6.0.ebuild
deleted file mode 100644
index ac303102afad..000000000000
--- a/dev-python/shiboken6/shiboken6-6.6.0.ebuild
+++ /dev/null
@@ -1,176 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-# TODO: Split the "/usr/bin/shiboken6" binding generator from the
-# "/usr/lib64/libshiboken6-*.so" family of shared libraries. The former
-# requires everything (including Clang) at runtime; the latter only requires
-# Qt and Python at runtime. Note that "pip" separates these two as well. See:
-# https://doc.qt.io/qtforpython/shiboken6/faq.html#is-there-any-runtime-dependency-on-the-generated-binding
-# Once split, the PySide6 ebuild should be revised to require
-# "/usr/bin/shiboken6" at build time and "libshiboken6-*.so" at runtime.
-# TODO: Add PyPy once officially supported. See also:
-# https://bugreports.qt.io/browse/PYSIDE-535
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit cmake llvm python-r1 toolchain-funcs
-
-MY_PN="pyside-setup-everywhere-src"
-
-DESCRIPTION="Python binding generator for C++ libraries"
-HOMEPAGE="https://wiki.qt.io/PySide6"
-SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_PN}-${PV}.tar.xz"
-S="${WORKDIR}/${MY_PN}-$(ver_cut 1-2)/sources/shiboken6"
-
-# The "sources/shiboken6/libshiboken" directory is triple-licensed under the
-# GPL v2, v3+, and LGPL v3. All remaining files are licensed under the GPL v3
-# with version 1.0 of a Qt-specific exception enabling shiboken6 output to be
-# arbitrarily relicensed. (TODO)
-LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 ) GPL-3"
-SLOT="0"
-KEYWORDS="~amd64"
-IUSE="+docstrings numpy test vulkan"
-REQUIRED_USE="${PYTHON_REQUIRED_USE}"
-
-# Tests fail pretty bad and I'm not fixing them right now
-RESTRICT="test"
-
-# Minimal supported version of Qt.
-QT_PV="$(ver_cut 1-3)*:6"
-
-# Since Clang is required at both build- and runtime, BDEPEND is omitted here.
-LLVM_MAX_SLOT=17
-RDEPEND="${PYTHON_DEPS}
- =dev-qt/qtbase-${QT_PV}
- <sys-devel/clang-18:=
- <sys-devel/clang-runtime-18:=
- docstrings? (
- >=dev-libs/libxml2-2.6.32
- >=dev-libs/libxslt-1.1.19
- )
- numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
- vulkan? ( dev-util/vulkan-headers )
-"
-DEPEND="${RDEPEND}
- test? ( =dev-qt/qtbase-${QT_PV}[gui] )
-"
-# testlib is toggled by the gui flag on qtbase
-
-DOCS=( AUTHORS )
-
-PATCHES=(
- "${FILESDIR}/${PN}-6.3.1-no-strip.patch"
-)
-
-# Ensure the path returned by get_llvm_prefix() contains clang as well.
-llvm_check_deps() {
- has_version "sys-devel/clang:${LLVM_SLOT}"
-}
-
-src_prepare() {
- # TODO: File upstream issue requesting a sane way to disable NumPy support.
- if ! use numpy; then
- sed -i -e '/\bprint(os\.path\.realpath(numpy))/d' \
- libshiboken/CMakeLists.txt || die
- fi
-
- # Shiboken6 assumes Vulkan headers live under either "$VULKAN_SDK/include"
- # or "$VK_SDK_PATH/include" rather than "${EPREFIX}/usr/include/vulkan".
- if use vulkan; then
- sed -i -e "s~\bdetectVulkan(&headerPaths);~headerPaths.append(HeaderPath{QByteArrayLiteral(\"${EPREFIX}/usr/include/vulkan\"), HeaderType::System});~" \
- ApiExtractor/clangparser/compilersupport.cpp || die
- fi
-
- local clangver="$(CPP=clang clang-major-version)"
-
- # Clang 15 and older used the full version as a directory name.
- if [[ ${clangver} -lt 16 ]]; then
- clangver="$(CPP=clang clang-fullversion)"
- fi
-
- # Shiboken6 assumes the "/usr/lib/clang/${CLANG_NEWEST_VERSION}/include/"
- # subdirectory provides Clang builtin includes (e.g., "stddef.h") for the
- # currently installed version of Clang, where ${CLANG_NEWEST_VERSION} is
- # the largest version specifier that exists under the "/usr/lib/clang/"
- # subdirectory. This assumption is false in edge cases, including when
- # users downgrade from newer Clang versions but fail to remove those
- # versions with "emerge --depclean". See also:
- # https://github.com/leycec/raiagent/issues/85
- #
- # Sadly, the clang-* family of functions exported by the "toolchain-funcs"
- # eclass are defective, returning nonsensical placeholder strings if the
- # end user has *NOT* explicitly configured their C++ compiler to be Clang.
- # PySide6 does *NOT* care whether the end user has done so or not, as
- # PySide6 unconditionally requires Clang in either case. See also:
- # https://bugs.gentoo.org/619490
- sed -i -e 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'"${clangver}"'/include"))~' \
- ApiExtractor/clangparser/compilersupport.cpp || die
-
- cmake_src_prepare
-}
-
-src_configure() {
- # Minimal tests for now, 2 failing with the extended version
- # FIXME Subscripted generics cannot be used with class and instance checks
- local mycmakeargs=(
- -DBUILD_TESTS=$(usex test)
- -DDISABLE_DOCSTRINGS=$(usex !docstrings)
- )
-
- shiboken6_configure() {
- local mycmakeargs=(
- "${mycmakeargs[@]}"
- -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
- -DPYTHON_EXECUTABLE="${PYTHON}"
- -DUSE_PYTHON_VERSION="${EPYTHON#python}"
- )
- # CMakeLists.txt expects LLVM_INSTALL_DIR as an environment variable.
- local -x LLVM_INSTALL_DIR="$(get_llvm_prefix "${LLVM_MAX_SLOT}")"
- cmake_src_configure
- }
- python_foreach_impl shiboken6_configure
-}
-
-src_compile() {
- python_foreach_impl cmake_src_compile
-}
-
-src_test() {
- python_foreach_impl cmake_src_test
-}
-
-src_install() {
- shiboken6_install() {
- cmake_src_install
- python_optimize
-
- # Uniquify the "shiboken6" executable for the current Python target,
- # preserving an unversioned "shiboken6" file arbitrarily associated
- # with the last Python target.
- cp "${ED}"/usr/bin/${PN}{,-${EPYTHON}} || die
-
- # Uniquify the Shiboken6 pkgconfig file for the current Python target,
- # preserving an unversioned "shiboken6.pc" file arbitrarily associated
- # with the last Python target. See also:
- # https://github.com/leycec/raiagent/issues/73
- cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
- }
- python_foreach_impl shiboken6_install
-
- # CMakeLists.txt installs a "Shiboken6Targets-gentoo.cmake" file forcing
- # downstream consumers (e.g., PySide6) to target one "libshiboken6-*.so"
- # library and one "shiboken6" executable linked to one Python interpreter.
- # See also:
- # https://bugreports.qt.io/browse/PYSIDE-1053
- # https://github.com/leycec/raiagent/issues/74
- sed -i \
- -e 's~shiboken6-python[[:digit:]]\+\.[[:digit:]]\+~shiboken6${PYTHON_CONFIG_SUFFIX}~g' \
- -e 's~/bin/shiboken6~/bin/shiboken6${PYTHON_CONFIG_SUFFIX}~g' \
- "${ED}/usr/$(get_libdir)"/cmake/Shiboken6/Shiboken6Targets-${CMAKE_BUILD_TYPE,,}.cmake || die
-
- # Remove the broken "shiboken_tool.py" script. By inspection, this script
- # reduces to a noop. Moreover, this script raises the following exception:
- # FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/../shiboken_tool.py': '/usr/bin/../shiboken_tool.py'
- rm "${ED}"/usr/bin/shiboken_tool.py || die
-}
diff --git a/dev-python/shiboken6/shiboken6-6.7.2.ebuild b/dev-python/shiboken6/shiboken6-6.7.2.ebuild
new file mode 100644
index 000000000000..20795abc25d1
--- /dev/null
+++ b/dev-python/shiboken6/shiboken6-6.7.2.ebuild
@@ -0,0 +1,175 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+# TODO: Split the "/usr/bin/shiboken6" binding generator from the
+# "/usr/lib64/libshiboken6-*.so" family of shared libraries. The former
+# requires everything (including Clang) at runtime; the latter only requires
+# Qt and Python at runtime. Note that "pip" separates these two as well. See:
+# https://doc.qt.io/qtforpython/shiboken6/faq.html#is-there-any-runtime-dependency-on-the-generated-binding
+# Once split, the PySide6 ebuild should be revised to require
+# "/usr/bin/shiboken6" at build time and "libshiboken6-*.so" at runtime.
+# TODO: Add PyPy once officially supported. See also:
+# https://bugreports.qt.io/browse/PYSIDE-535
+PYTHON_COMPAT=( python3_{10..13} )
+
+LLVM_COMPAT=( {15..18} )
+
+inherit cmake llvm-r1 python-r1 toolchain-funcs
+
+MY_PN="pyside-setup-everywhere-src"
+
+DESCRIPTION="Python binding generator for C++ libraries"
+HOMEPAGE="https://wiki.qt.io/PySide6"
+SRC_URI="https://download.qt.io/official_releases/QtForPython/pyside6/PySide6-${PV}-src/${MY_PN}-${PV}.tar.xz"
+S="${WORKDIR}/${MY_PN}-${PV}/sources/shiboken6"
+
+# The "sources/shiboken6/libshiboken" directory is triple-licensed under the
+# GPL v2, v3+, and LGPL v3. All remaining files are licensed under the GPL v3
+# with version 1.0 of a Qt-specific exception enabling shiboken6 output to be
+# arbitrarily relicensed. (TODO)
+LICENSE="|| ( GPL-2 GPL-3+ LGPL-3 ) GPL-3"
+SLOT="6/${PV}"
+KEYWORDS="amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
+IUSE="+docstrings numpy test vulkan"
+REQUIRED_USE="${PYTHON_REQUIRED_USE}"
+
+# Tests fail pretty bad and I'm not fixing them right now
+RESTRICT="test"
+
+# Minimal supported version of Qt.
+QT_PV="$(ver_cut 1-3)*:6"
+
+# Since Clang is required at both build- and runtime, BDEPEND is omitted here.
+RDEPEND="${PYTHON_DEPS}
+ =dev-qt/qtbase-${QT_PV}
+ $(llvm_gen_dep '
+ sys-devel/clang:${LLVM_SLOT}
+ sys-devel/llvm:${LLVM_SLOT}
+ ')
+ docstrings? (
+ >=dev-libs/libxml2-2.6.32
+ >=dev-libs/libxslt-1.1.19
+ )
+ numpy? ( dev-python/numpy[${PYTHON_USEDEP}] )
+ vulkan? ( dev-util/vulkan-headers )
+ !dev-python/shiboken6:0
+"
+DEPEND="${RDEPEND}
+ test? ( =dev-qt/qtbase-${QT_PV}[gui] )
+"
+# testlib is toggled by the gui flag on qtbase
+
+DOCS=( AUTHORS )
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.3.1-no-strip.patch"
+)
+
+src_prepare() {
+ # TODO: File upstream issue requesting a sane way to disable NumPy support.
+ if ! use numpy; then
+ sed -i -e '/\bprint(os\.path\.realpath(numpy))/d' \
+ libshiboken/CMakeLists.txt || die
+ fi
+
+ # Shiboken6 assumes Vulkan headers live under either "$VULKAN_SDK/include"
+ # or "$VK_SDK_PATH/include" rather than "${EPREFIX}/usr/include/vulkan".
+ if use vulkan; then
+ sed -i -e "s~\bdetectVulkan(&headerPaths);~headerPaths.append(HeaderPath{QByteArrayLiteral(\"${EPREFIX}/usr/include/vulkan\"), HeaderType::System});~" \
+ ApiExtractor/clangparser/compilersupport.cpp || die
+ fi
+
+ local clangver="$(CPP=clang clang-major-version)"
+
+ # Clang 15 and older used the full version as a directory name.
+ if [[ ${clangver} -lt 16 ]]; then
+ clangver="$(CPP=clang clang-fullversion)"
+ fi
+
+ # Shiboken6 assumes the "/usr/lib/clang/${CLANG_NEWEST_VERSION}/include/"
+ # subdirectory provides Clang builtin includes (e.g., "stddef.h") for the
+ # currently installed version of Clang, where ${CLANG_NEWEST_VERSION} is
+ # the largest version specifier that exists under the "/usr/lib/clang/"
+ # subdirectory. This assumption is false in edge cases, including when
+ # users downgrade from newer Clang versions but fail to remove those
+ # versions with "emerge --depclean". See also:
+ # https://github.com/leycec/raiagent/issues/85
+ #
+ # Sadly, the clang-* family of functions exported by the "toolchain-funcs"
+ # eclass are defective, returning nonsensical placeholder strings if the
+ # end user has *NOT* explicitly configured their C++ compiler to be Clang.
+ # PySide6 does *NOT* care whether the end user has done so or not, as
+ # PySide6 unconditionally requires Clang in either case. See also:
+ # https://bugs.gentoo.org/619490
+ sed -i -e 's~(findClangBuiltInIncludesDir())~(QStringLiteral("'"${EPREFIX}"'/usr/lib/clang/'"${clangver}"'/include"))~' \
+ ApiExtractor/clangparser/compilersupport.cpp || die
+
+ cmake_src_prepare
+}
+
+src_configure() {
+ # Minimal tests for now, 2 failing with the extended version
+ # FIXME Subscripted generics cannot be used with class and instance checks
+ local mycmakeargs=(
+ -DBUILD_TESTS=$(usex test)
+ -DDISABLE_DOCSTRINGS=$(usex !docstrings)
+ )
+
+ shiboken6_configure() {
+ local mycmakeargs=(
+ "${mycmakeargs[@]}"
+ -DPYTHON_CONFIG_SUFFIX="-${EPYTHON}"
+ -DUSE_PYTHON_VERSION="${EPYTHON#python}"
+ -DFORCE_LIMITED_API=OFF
+ )
+ # CMakeLists.txt expects LLVM_INSTALL_DIR as an environment variable.
+ local -x LLVM_INSTALL_DIR="$(get_llvm_prefix)"
+ cmake_src_configure
+ }
+ python_foreach_impl shiboken6_configure
+}
+
+src_compile() {
+ python_foreach_impl cmake_src_compile
+}
+
+src_test() {
+ python_foreach_impl cmake_src_test
+}
+
+src_install() {
+ shiboken6_install() {
+ cmake_src_install
+ python_optimize
+
+ # Uniquify the "shiboken6" executable for the current Python target,
+ # preserving an unversioned "shiboken6" file arbitrarily associated
+ # with the last Python target.
+ cp "${ED}"/usr/bin/${PN}{,-${EPYTHON}} || die
+
+ # Uniquify the Shiboken6 pkgconfig file for the current Python target,
+ # preserving an unversioned "shiboken6.pc" file arbitrarily associated
+ # with the last Python target. See also:
+ # https://github.com/leycec/raiagent/issues/73
+ cp "${ED}/usr/$(get_libdir)"/pkgconfig/${PN}{,-${EPYTHON}}.pc || die
+ }
+ python_foreach_impl shiboken6_install
+
+ # CMakeLists.txt installs a "Shiboken6Targets-gentoo.cmake" file forcing
+ # downstream consumers (e.g., PySide6) to target one "libshiboken6-*.so"
+ # library and one "shiboken6" executable linked to one Python interpreter.
+ # See also:
+ # https://bugreports.qt.io/browse/PYSIDE-1053
+ # https://github.com/leycec/raiagent/issues/74
+ sed -i \
+ -e 's~shiboken6-python[[:digit:]]\+\.[[:digit:]]\+~shiboken6${PYTHON_CONFIG_SUFFIX}~g' \
+ -e 's~/bin/shiboken6~/bin/shiboken6${PYTHON_CONFIG_SUFFIX}~g' \
+ "${ED}/usr/$(get_libdir)"/cmake/Shiboken6/Shiboken6Targets-${CMAKE_BUILD_TYPE,,}.cmake || die
+
+ # Remove the broken "shiboken_tool.py" script. By inspection, this script
+ # reduces to a noop. Moreover, this script raises the following exception:
+ # FileNotFoundError: [Errno 2] No such file or directory: '/usr/bin/../shiboken_tool.py': '/usr/bin/../shiboken_tool.py'
+ rm "${ED}"/usr/bin/shiboken_tool.py || die
+}
diff --git a/dev-python/shtab/Manifest b/dev-python/shtab/Manifest
new file mode 100644
index 000000000000..54da4f6c8642
--- /dev/null
+++ b/dev-python/shtab/Manifest
@@ -0,0 +1 @@
+DIST shtab-1.7.1.tar.gz 45410 BLAKE2B 15ed00feb1bb051ad3ec21bab9a3300175b22e677db905b714e29b10308489bec6273a7f1e226b3dd70088c74b0dd5f2c7d8958a130e339d197ba290ea6710f4 SHA512 749f21e5b4eba75744a270809b761e7c795e4404727f8e6da87f6620622e42dc6e35aa923c7f8df34bec27af45ec16496fdab11b8450edb09067df9c830ae219
diff --git a/dev-python/shtab/metadata.xml b/dev-python/shtab/metadata.xml
new file mode 100644
index 000000000000..a97b7aabc472
--- /dev/null
+++ b/dev-python/shtab/metadata.xml
@@ -0,0 +1,31 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>pastalian46@gmail.com</email>
+ <name>Takuya Wakazono</name>
+ </maintainer>
+ <maintainer type="person" proxied="yes">
+ <email>foti.giuseppe@gmail.com</email>
+ <name>Giuseppe Foti</name>
+ </maintainer>
+ <maintainer type="project" proxied="proxy">
+ <email>proxy-maint@gentoo.org</email>
+ <name>Proxy Maintainers</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <longdescription lang="en">
+ Automatically generate shell tab completion scripts for Python CLI apps.
+ Outputs tab completion scripts for bash, zsh, tcsh.
+ shtab processes an argparse.ArgumentParser object to generate a tab
+ completion script for your shell.
+ </longdescription>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="github">iterative/shtab</remote-id>
+ <remote-id type="pypi">shtab</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/shtab/shtab-1.7.1.ebuild b/dev-python/shtab/shtab-1.7.1.ebuild
new file mode 100644
index 000000000000..da9b3b597648
--- /dev/null
+++ b/dev-python/shtab/shtab-1.7.1.ebuild
@@ -0,0 +1,28 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Automagic shell tab completion for Python CLI applications"
+HOMEPAGE="
+ https://github.com/iterative/shtab
+ https://pypi.org/project/shtab/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86"
+
+BDEPEND="dev-python/setuptools-scm[${PYTHON_USEDEP}]"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # Disable pytest-cov
+ epytest -o addopts=
+}
diff --git a/dev-python/signature-dispatch/signature-dispatch-1.0.1-r1.ebuild b/dev-python/signature-dispatch/signature-dispatch-1.0.1-r1.ebuild
index 04f5a4598f15..422749befc82 100644
--- a/dev-python/signature-dispatch/signature-dispatch-1.0.1-r1.ebuild
+++ b/dev-python/signature-dispatch/signature-dispatch-1.0.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/signedjson/signedjson-1.1.4.ebuild b/dev-python/signedjson/signedjson-1.1.4.ebuild
index ee2e179afeea..85723f6a0c1e 100644
--- a/dev-python/signedjson/signedjson-1.1.4.ebuild
+++ b/dev-python/signedjson/signedjson-1.1.4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -19,7 +19,7 @@ S="${WORKDIR}/python-${P}"
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ~ppc64"
RDEPEND="
dev-python/canonicaljson[${PYTHON_USEDEP}]
diff --git a/dev-python/simber/simber-0.2.6.ebuild b/dev-python/simber/simber-0.2.6.ebuild
index a377b0c08c7b..f7938eb84b41 100644
--- a/dev-python/simber/simber-0.2.6.ebuild
+++ b/dev-python/simber/simber-0.2.6.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/simpervisor/files/simpervisor-1.0.0-yarl.patch b/dev-python/simpervisor/files/simpervisor-1.0.0-yarl.patch
new file mode 100644
index 000000000000..5f884255262c
--- /dev/null
+++ b/dev-python/simpervisor/files/simpervisor-1.0.0-yarl.patch
@@ -0,0 +1,28 @@
+From b08f4b9b46009fb96c7194aecbc28d6b266e44c0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Mon, 29 Jan 2024 18:14:32 +0100
+Subject: [PATCH] Convert `PORT` envvar to int to fix aiohttp/yarl
+ compatibility
+
+Conver the value of the `PORT` environment variable to int, to fix
+incompatibility with modern versions of aiohttp/yarl, that do expect
+the `port` argument to be one.
+
+Fixes #49
+---
+ tests/child_scripts/simplehttpserver.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/tests/child_scripts/simplehttpserver.py b/tests/child_scripts/simplehttpserver.py
+index cc460ff..268dc7d 100644
+--- a/tests/child_scripts/simplehttpserver.py
++++ b/tests/child_scripts/simplehttpserver.py
+@@ -11,7 +11,7 @@
+ print("waiting", wait_time)
+ time.sleep(wait_time)
+
+-PORT = os.environ["PORT"]
++PORT = int(os.environ["PORT"])
+
+ routes = web.RouteTableDef()
+
diff --git a/dev-python/simpervisor/simpervisor-1.0.0-r1.ebuild b/dev-python/simpervisor/simpervisor-1.0.0-r1.ebuild
new file mode 100644
index 000000000000..749b43c56024
--- /dev/null
+++ b/dev-python/simpervisor/simpervisor-1.0.0-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Simple Python3 Supervisor library"
+HOMEPAGE="
+ https://github.com/jupyterhub/simpervisor/
+ https://pypi.org/project/simpervisor/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/jupyterhub/simpervisor/pull/50
+ "${FILESDIR}/${P}-yarl.patch"
+)
diff --git a/dev-python/simpervisor/simpervisor-1.0.0.ebuild b/dev-python/simpervisor/simpervisor-1.0.0.ebuild
deleted file mode 100644
index ac7a8e2d6665..000000000000
--- a/dev-python/simpervisor/simpervisor-1.0.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Simple Python3 Supervisor library"
-HOMEPAGE="
- https://github.com/jupyterhub/simpervisor/
- https://pypi.org/project/simpervisor/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-BDEPEND="
- test? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/simple-websocket/Manifest b/dev-python/simple-websocket/Manifest
index a801dc9c0c1f..31f5a525b29c 100644
--- a/dev-python/simple-websocket/Manifest
+++ b/dev-python/simple-websocket/Manifest
@@ -1,2 +1 @@
-DIST simple-websocket-0.10.1.tar.gz 9873 BLAKE2B f22f5b9913c7e06aefe2a7452751acbee5d9da5bdc78c4975eeea6c785089dc6af5e83b3f18c7c03bc6e983a06e2ab567f1fd0d51546b5d32a7c2ccc53885c96 SHA512 05b6ad6ee0c731f12fd973a25789d5a2442b528011ffe6b9b434bdedb30f7c8b9624e52d82e366e6bd7cb4effe9a5555f0adfd7b0818132117aed71caa1323b3
DIST simple-websocket-1.0.0.gh.tar.gz 19082 BLAKE2B d1ac2d0838e22de023f44e1a12780166b00a0dc39707e8953c8783c98f2fc4fc1ad5701401117cc45b7596d95acbb734fae82a27e50be48f684ad2caeafd428f SHA512 63ccc19fe09f675e098f33d32659d1314b573893014bc203abb285c3ff6c04916fd6b592bcf50cc9d65d40d4ebe739e686ac53257ff8407de60312d6e21ca1b5
diff --git a/dev-python/simple-websocket/simple-websocket-0.10.1.ebuild b/dev-python/simple-websocket/simple-websocket-0.10.1.ebuild
deleted file mode 100644
index 3be9aa4b70fa..000000000000
--- a/dev-python/simple-websocket/simple-websocket-0.10.1.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 2023 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=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Simple WebSocket server and client for Python"
-HOMEPAGE="
- https://github.com/miguelgrinberg/simple-websocket/
- https://pypi.org/project/simple-websocket/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/wsproto[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/simple-websocket/simple-websocket-1.0.0.ebuild b/dev-python/simple-websocket/simple-websocket-1.0.0.ebuild
index 151639b180df..59c870698256 100644
--- a/dev-python/simple-websocket/simple-websocket-1.0.0.ebuild
+++ b/dev-python/simple-websocket/simple-websocket-1.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/simplegeneric/Manifest b/dev-python/simplegeneric/Manifest
deleted file mode 100644
index 3459f19c92b1..000000000000
--- a/dev-python/simplegeneric/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST simplegeneric-0.8.1.zip 12663 BLAKE2B cc3d70f8f4f04209b7ce259c6caaccec001515a3da04736cb8baa5fe7e6091f4f85bdde0c5c4227a01bfe52739f51ab0116d8bfdc4bb58bd2188c3a54c5eac37 SHA512 74c25d4e04fe197058cb43fabe3702cc5901989dc0b0bcf7511369f4f3d90fd98e4225174db0680c8f39389914f82824bdbdaf4c302b53998fbabbf0dba393e4
diff --git a/dev-python/simplegeneric/metadata.xml b/dev-python/simplegeneric/metadata.xml
deleted file mode 100644
index d25c0a26f03b..000000000000
--- a/dev-python/simplegeneric/metadata.xml
+++ /dev/null
@@ -1,20 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <longdescription>
- The simplegeneric module lets you define simple single-dispatch
- generic functions, akin to Python's built-in generic functions like len(),
- iter() and so on. However, instead of using specially-named methods, these
- generic functions use simple lookup tables, akin to those used by
- e.g. pickle.dump() and other generic functions found in the Python
- standard library.
- </longdescription>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">simplegeneric</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/simplegeneric/simplegeneric-0.8.1-r2.ebuild b/dev-python/simplegeneric/simplegeneric-0.8.1-r2.ebuild
deleted file mode 100644
index b08472dd32da..000000000000
--- a/dev-python/simplegeneric/simplegeneric-0.8.1-r2.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Simple generic functions for Python"
-HOMEPAGE="https://pypi.org/project/simplegeneric/"
-SRC_URI="$(pypi_sdist_url "${PN}" "${PV}" .zip)"
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-
-BDEPEND="
- app-arch/unzip
-"
-
-distutils_enable_tests setup.py
diff --git a/dev-python/simplejson/simplejson-3.19.2.ebuild b/dev-python/simplejson/simplejson-3.19.2.ebuild
index a014c1d7ed9b..78c4ef114cf0 100644
--- a/dev-python/simplejson/simplejson-3.19.2.ebuild
+++ b/dev-python/simplejson/simplejson-3.19.2.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
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/simpy/Manifest b/dev-python/simpy/Manifest
index 70d4057cdda7..082963af3f9a 100644
--- a/dev-python/simpy/Manifest
+++ b/dev-python/simpy/Manifest
@@ -1,3 +1 @@
-DIST simpy-4.0.2.tar.gz 410706 BLAKE2B 787da43fe29135ef3f70f286074e5b6dba50c26f50910674a290a4e9e95fe68dffca5e5308e629f8359181f9e7200938b980bdbd9d7b2c09beb30dd49069fdce SHA512 a1f9e10928930817a07ee851f3190c4aefb9c4f0538557b7cc5b0f8950ed2234878f29d1790cbf6991b78bbd73e989d7df0ed1997847eedf129fc9d1c4d1fc23
-DIST simpy-4.1.0.tar.gz 407835 BLAKE2B 840815663c65e22cd8fbdf74d70fba6c5badb38e33c8506a52e163cfea2fa4f72370c4c3d53c106017c74a10a83ac15fd204f35dcffd70b29a4eb9bb4647049d SHA512 8d54e332ffd6c3ae32904a75c599b0bc33f2ac5f294c89f76632b3b2867de561169504870c89cf6f091a6674d9b9c6168f88887c628bba59e4ef2985176c8586
DIST simpy-4.1.1.tar.gz 408997 BLAKE2B ada00417f7eb1b61eae47afd0a095c33ef493ddec48f79b2330319ff3ff2f9776cca488a5e3ec51e6c792960d2c0e649828ec1c248a19adacba6f08b713cb627 SHA512 f7e84ceb92285eb0f282892be5eba7bb6e2ba538ecb45221600c41a39aba77cfb0455c9e99ed2c688af0aca8d390f1afe9b6849b4a30be05fb5b7faec27b7253
diff --git a/dev-python/simpy/simpy-4.0.2.ebuild b/dev-python/simpy/simpy-4.0.2.ebuild
deleted file mode 100644
index 015074f13c0e..000000000000
--- a/dev-python/simpy/simpy-4.0.2.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="tk"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Object-oriented, process-based discrete-event simulation language"
-HOMEPAGE="
- https://simpy.readthedocs.io/
- https://gitlab.com/team-simpy/simpy/
- https://pypi.org/project/simpy/
-"
-
-SLOT="0"
-LICENSE="LGPL-2.1"
-KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-# Could not import extension sphinx.builders.epub3 (exception: cannot import
-# name 'StandaloneHTMLBuilder' from partially initialized module
-# 'sphinx.builders.html' (most likely due to a circular import)
-# (/usr/lib/python3.10/site-packages/sphinx/builders/html/__init__.py))
-#distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/simpy/simpy-4.1.0.ebuild b/dev-python/simpy/simpy-4.1.0.ebuild
deleted file mode 100644
index e7d76b0c98c1..000000000000
--- a/dev-python/simpy/simpy-4.1.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="tk"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Object-oriented, process-based discrete-event simulation language"
-HOMEPAGE="
- https://simpy.readthedocs.io/
- https://gitlab.com/team-simpy/simpy/
- https://pypi.org/project/simpy/
-"
-
-SLOT="0"
-LICENSE="LGPL-2.1"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
-"
-
-# Could not import extension sphinx.builders.epub3 (exception: cannot import
-# name 'StandaloneHTMLBuilder' from partially initialized module
-# 'sphinx.builders.html' (most likely due to a circular import)
-# (/usr/lib/python3.10/site-packages/sphinx/builders/html/__init__.py))
-#distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/simpy/simpy-4.1.1.ebuild b/dev-python/simpy/simpy-4.1.1.ebuild
index 86e3ba5a6814..0c423bf8d931 100644
--- a/dev-python/simpy/simpy-4.1.1.ebuild
+++ b/dev-python/simpy/simpy-4.1.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -16,12 +16,15 @@ HOMEPAGE="
https://pypi.org/project/simpy/
"
-SLOT="0"
LICENSE="LGPL-2.1"
-KEYWORDS="~amd64 x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+KEYWORDS="amd64 x86 ~amd64-linux ~x86-linux"
BDEPEND="
dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/py[${PYTHON_USEDEP}]
+ )
"
# Could not import extension sphinx.builders.epub3 (exception: cannot import
diff --git a/dev-python/simsimd/Manifest b/dev-python/simsimd/Manifest
new file mode 100644
index 000000000000..f8e563bde92f
--- /dev/null
+++ b/dev-python/simsimd/Manifest
@@ -0,0 +1 @@
+DIST SimSIMD-4.3.1.gh.tar.gz 105424 BLAKE2B b5886261ad8290662325321816cf9e7eeb7059b58e3e2352f341345667393d4ee009a840061768666234ae2619bbd4c7522726a2efc4f60935309a393649fd22 SHA512 722a8ae473d4526130a0d80bd6074ba6cee7a2566414505b7db8cd4d63efade2470153e4364a9cff140780fc839264c7ccb6580983170d25ff3bbb4a00d78155
diff --git a/dev-python/simsimd/metadata.xml b/dev-python/simsimd/metadata.xml
new file mode 100644
index 000000000000..2d9fde8689d5
--- /dev/null
+++ b/dev-python/simsimd/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">ashvardanian/SimSIMD</remote-id>
+ <remote-id type="pypi">simsimd</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/simsimd/simsimd-4.3.1.ebuild b/dev-python/simsimd/simsimd-4.3.1.ebuild
new file mode 100644
index 000000000000..ede8569c67d3
--- /dev/null
+++ b/dev-python/simsimd/simsimd-4.3.1.ebuild
@@ -0,0 +1,64 @@
+# Copyright 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} )
+
+inherit distutils-r1 toolchain-funcs
+
+MY_P=SimSIMD-${PV}
+DESCRIPTION="Fastest SIMD-Accelerated Vector Similarity Functions for x86 and Arm"
+HOMEPAGE="
+ https://github.com/ashvardanian/SimSIMD/
+ https://pypi.org/project/simsimd/
+"
+# no sdist, as of 4.3.1
+# https://github.com/ashvardanian/SimSIMD/issues/113
+SRC_URI="
+ https://github.com/ashvardanian/SimSIMD/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="openmp"
+
+BDEPEND="
+ test? (
+ dev-python/pytest-repeat[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+pkg_pretend() {
+ if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
+ tc-check-openmp
+ fi
+}
+
+pkg_setup() {
+ if [[ ${MERGE_TYPE} != binary ]] && use openmp; then
+ tc-check-openmp
+ fi
+}
+
+src_prepare() {
+ # https://github.com/ashvardanian/SimSIMD/pull/115
+ sed -i -e '/-O3/d' -e 's:-lgomp:-fopenmp:' setup.py || die
+ if ! use openmp; then
+ sed -i -e '/-fopenmp/d' setup.py || die
+ fi
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p repeat python/test.py
+}
diff --git a/dev-python/sip/Manifest b/dev-python/sip/Manifest
index bec492087030..6f5fe425370b 100644
--- a/dev-python/sip/Manifest
+++ b/dev-python/sip/Manifest
@@ -1,2 +1,3 @@
-DIST sip-6.7.12.tar.gz 1169656 BLAKE2B 07ae682e783da5bc6fc3109c62c7bff245faab795cc28f135758b1211fae1dfae79668e7e7c0de8b3bae5c8b10534d153cdd47969b34149c8f5598867d19f17c SHA512 885c32a051e882b82b59bf1365050933f8fc1c619b19f4bc03235edc5741a5e14aae8edf90479ad0283f74ba5c5233a2589c151ec865b130199a6db9800a2294
-DIST sip-6.8.0.tar.gz 985563 BLAKE2B 676636882a5bb39b226e7b25ae60cec43bf8ccfe9af085e14d9ff627af5ee579cc3ba01dbc5c2e75490575888fabdbd469895dbd964ea741d9e86748bebc1097 SHA512 09e25e3937339b6dbaa0b693bf0b99e5c225751ca79e0a307387c331f2b84e4e5a276897b471a123d24715e5d9cb85e84d244cf07960ff6f53f75859bbb2f901
+DIST sip-6.8.5.gh.tar.gz 514702 BLAKE2B 82b41f87991a9c8dd5416a948d5fd356d8d815fef007bcca7089d8b942f6287b9609d5813368afbca924f563873eea025462d83ba9b36d910004115fa81f289e SHA512 de5a5a134ef8a4a8dfeb97ca00cdd6d7c8a297e67aa046f003c883d14fe4cf1f009f6443712b78bc0f693e30b89fab3f76d5ef8ee18e9620f161c1933b2db513
+DIST sip-6.8.5.tar.gz 420177 BLAKE2B 274df04ef21298fbc7559166e5d3b8830a10db900ee0c52001bc6f328e23dd691f092df560cd93e76a3ca17bbd89de88ab3370719dd6c9346e9ba3f3b7570e5c SHA512 eeb1e51624d95bc36e72f5d1949793b647c2b97d5bd13ea80d9a2a901698b4d7336e6812421b0f346af248350061c02db5a8c13aeb33ec31d8bd6dbea967a282
+DIST sip-6.8.6.gh.tar.gz 515751 BLAKE2B 769a1270351473f1c498e0d3cd463df3aa0992782b5501bd06455b71be05cae5a9754611bad4f966cc5b204170fec7fccbb065d9ed4c800daaa1bd6448a96352 SHA512 bfbeace21ef0bfd072548bcdb9af1f4917a33e15bcd9c5f6575aea0dc0eeaeec4aa322b2408f586c0e2713ada65c1657f81a4e0eb25cb9a3472fada234beca33
diff --git a/dev-python/sip/files/sip-6.8.0-typo-fix.patch b/dev-python/sip/files/sip-6.8.0-typo-fix.patch
deleted file mode 100644
index 637d416d403e..000000000000
--- a/dev-python/sip/files/sip-6.8.0-typo-fix.patch
+++ /dev/null
@@ -1,11 +0,0 @@
-https://bugs.gentoo.org/916261
-https://www.riverbankcomputing.com/pipermail/pyqt/2023-November/045607.html
---- a/sipbuild/generator/outputs/code.py
-+++ b/sipbuild/generator/outputs/code.py
-@@ -8409,5 +8409,5 @@
- is_first = True
-
-- if klass.docstring is None or klass.docstring.signature is not SocstringSignature.DISCARDED:
-+ if klass.docstring is None or klass.docstring.signature is not DocstringSignature.DISCARDED:
- for ctor in klass.ctors:
- if ctor.access_specifier is AccessSpecifier.PRIVATE:
diff --git a/dev-python/sip/metadata.xml b/dev-python/sip/metadata.xml
index 300ab09f3263..eeeff5d0f940 100644
--- a/dev-python/sip/metadata.xml
+++ b/dev-python/sip/metadata.xml
@@ -7,13 +7,9 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <maintainer status="active">
- <email>phil@riverbankcomputing.com</email>
- <name>Phil Thompson</name>
- </maintainer>
- <changelog>https://www.riverbankcomputing.com/hg/sip/file/tip/NEWS</changelog>
- <doc>https://www.riverbankcomputing.com/static/Docs/sip/</doc>
- <bugs-to>mailto:pyqt@riverbankcomputing.com</bugs-to>
+ <changelog>https://github.com/Python-SIP/sip/blob/main/NEWS</changelog>
+ <doc>https://python-sip.readthedocs.io/en/latest/</doc>
+ <remote-id type="github">Python-SIP/sip</remote-id>
<remote-id type="pypi">sip</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/sip/sip-6.7.12.ebuild b/dev-python/sip/sip-6.7.12.ebuild
deleted file mode 100644
index e014fa769673..000000000000
--- a/dev-python/sip/sip-6.7.12.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings generator for C/C++ libraries"
-HOMEPAGE="https://www.riverbankcomputing.com/software/sip/"
-
-LICENSE="|| ( GPL-2 GPL-3 SIP )"
-SLOT="5"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/ply[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.10)
-"
-
-distutils_enable_sphinx doc --no-autodoc
diff --git a/dev-python/sip/sip-6.8.0.ebuild b/dev-python/sip/sip-6.8.0.ebuild
deleted file mode 100644
index 67ecebb1da3e..000000000000
--- a/dev-python/sip/sip-6.8.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings generator for C/C++ libraries"
-HOMEPAGE="https://www.riverbankcomputing.com/software/sip/"
-
-LICENSE="|| ( GPL-2 GPL-3 SIP )"
-SLOT="5"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- $(python_gen_cond_dep 'dev-python/tomli[${PYTHON_USEDEP}]' 3.10)
-"
-
-distutils_enable_sphinx doc --no-autodoc
-
-PATCHES=(
- "${FILESDIR}"/${P}-typo-fix.patch
-)
diff --git a/dev-python/sip/sip-6.8.5.ebuild b/dev-python/sip/sip-6.8.5.ebuild
new file mode 100644
index 000000000000..19a8c31d4c32
--- /dev/null
+++ b/dev-python/sip/sip-6.8.5.ebuild
@@ -0,0 +1,42 @@
+# 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..13} )
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings generator for C/C++ libraries"
+HOMEPAGE="https://github.com/Python-SIP/sip/"
+# combine given pypi lacks docs+tests, and gh lacks abi version files
+# breaking revdeps if only using SCM_PRETEND_VERSION and would rather
+# not attempt to manually handle this
+SRC_URI+="
+ doc? (
+ https://github.com/Python-SIP/sip/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ )
+ test? (
+ https://github.com/Python-SIP/sip/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ )
+"
+
+LICENSE="|| ( GPL-2 GPL-3 SIP )"
+SLOT="5"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/tomli[${PYTHON_USEDEP}]' 3.10)
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-8[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/myst-parser \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
diff --git a/dev-python/sip/sip-6.8.6.ebuild b/dev-python/sip/sip-6.8.6.ebuild
new file mode 100644
index 000000000000..7274e84fca8f
--- /dev/null
+++ b/dev-python/sip/sip-6.8.6.ebuild
@@ -0,0 +1,33 @@
+# 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..13} )
+inherit distutils-r1
+
+DESCRIPTION="Python bindings generator for C/C++ libraries"
+HOMEPAGE="https://github.com/Python-SIP/sip/"
+SRC_URI="
+ https://github.com/Python-SIP/sip/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="|| ( GPL-2 GPL-3 SIP )"
+SLOT="5"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep 'dev-python/tomli[${PYTHON_USEDEP}]' 3.10)
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-8[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/myst-parser \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
diff --git a/dev-python/siphash24/Manifest b/dev-python/siphash24/Manifest
new file mode 100644
index 000000000000..8e1b28ee7ad9
--- /dev/null
+++ b/dev-python/siphash24/Manifest
@@ -0,0 +1 @@
+DIST siphash24-1.6.tar.gz 19659 BLAKE2B d2f454ab64b7c50bd415a5821ce50fd97b43d9c13999d134b260a1a19863bf827a4baf4599b0647b5f936ec27d9f1985f94fd3adc4fa5112f2f7ad03afac5abb SHA512 2a04c35445e63f00e440797a84ed1714b5576ad3fa4c4933e5199ce3322056188eca0c0947ae4370fce9a2028a7677c9c8bfcf771be1dde884b7a02ef1edeb65
diff --git a/dev-python/siphash24/metadata.xml b/dev-python/siphash24/metadata.xml
new file mode 100644
index 000000000000..5fb24e0a6986
--- /dev/null
+++ b/dev-python/siphash24/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">dnicolodi/python-siphash24</remote-id>
+ <remote-id type="pypi">siphash24</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/siphash24/siphash24-1.6.ebuild b/dev-python/siphash24/siphash24-1.6.ebuild
new file mode 100644
index 000000000000..fcc5fc9449cf
--- /dev/null
+++ b/dev-python/siphash24/siphash24-1.6.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=meson-python
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Streaming-capable SipHash-1-3 and SipHash-2-4 Implementation"
+HOMEPAGE="
+ https://github.com/dnicolodi/python-siphash24/
+ https://pypi.org/project/siphash24/
+"
+
+LICENSE="|| ( Apache-2.0 LGPL-2.1+ )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv"
+
+DEPEND="
+ dev-libs/c-siphash
+"
+BDEPEND="
+ >=dev-python/cython-3.0.2[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
diff --git a/dev-python/six/six-1.16.0-r1.ebuild b/dev-python/six/six-1.16.0-r1.ebuild
index df1788703008..9850b41681e3 100644
--- a/dev-python/six/six-1.16.0-r1.ebuild
+++ b/dev-python/six/six-1.16.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -23,9 +23,19 @@ distutils_enable_tests pytest
python_test() {
local EPYTEST_DESELECT=()
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- 'test_six.py::test_move_items[dbm_ndbm]'
- )
-
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ 'test_six.py::test_move_items[dbm_ndbm]'
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ 'test_six.py::test_move_items[tkinter_tix]'
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest
}
diff --git a/dev-python/slixmpp/Manifest b/dev-python/slixmpp/Manifest
index 48f6f10eb714..1c0233af55fa 100644
--- a/dev-python/slixmpp/Manifest
+++ b/dev-python/slixmpp/Manifest
@@ -1 +1 @@
-DIST slixmpp-1.8.4.tar.gz 546263 BLAKE2B 78a7b1b9015f27d63b3c127a292e2794a9de2283fbb9763ef52d03d37cc2d0fcc3f0696beca858a0d120991059a5eced62b5a4a9e87436b81dc17f6bbdc4b106 SHA512 afa82670e4cb2c904503a6ef652d3f2ecd59732a18eef05b85e0a55f15112685ecc1b50951b3f717a211d1c9069a4e7c65d913454426441f56688ff05a5c0921
+DIST slixmpp-1.8.5.tar.gz 574560 BLAKE2B 3ac5b1f41acdf4dd725355cdb06e7642d67b5b51a533e933af1b451df424d3e81267ce945e577b21a07f943578119913a9a42dd4e65426223ff413ad52c3f110 SHA512 f2e123bd462097d0b7dc28cd960f723419f4fa2af59c8f5b7d30a05135c2f9fc6982e6d2855ea10b22936bdd4a96faeae73f87a495e2d1f10e6c63cdcb412665
diff --git a/dev-python/slixmpp/slixmpp-1.8.4.ebuild b/dev-python/slixmpp/slixmpp-1.8.4.ebuild
deleted file mode 100644
index fb24bbf1b41a..000000000000
--- a/dev-python/slixmpp/slixmpp-1.8.4.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python 3 library for XMPP"
-HOMEPAGE="
- https://codeberg.org/poezio/slixmpp/
- https://pypi.org/project/slixmpp/
-"
-LICENSE="MIT"
-SLOT="0"
-
-if [[ "${PV}" == "9999" ]]; then
- EGIT_REPO_URI="https://codeberg.org/poezio/slixmpp.git"
- inherit git-r3
-else
- inherit pypi
- KEYWORDS="amd64 ~riscv"
-fi
-
-DEPEND="
- net-dns/libidn:=
-"
-RDEPEND="
- dev-python/aiodns[${PYTHON_USEDEP}]
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/defusedxml[${PYTHON_USEDEP}]
- dev-python/pyasn1-modules[${PYTHON_USEDEP}]
- dev-python/pyasn1[${PYTHON_USEDEP}]
- ${DEPEND}
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
-
-python_test() {
- rm -rf slixmpp || die
- eunittest -s tests
-}
diff --git a/dev-python/slixmpp/slixmpp-1.8.5.ebuild b/dev-python/slixmpp/slixmpp-1.8.5.ebuild
new file mode 100644
index 000000000000..b1603f069a6d
--- /dev/null
+++ b/dev-python/slixmpp/slixmpp-1.8.5.ebuild
@@ -0,0 +1,52 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python 3 library for XMPP"
+HOMEPAGE="
+ https://codeberg.org/poezio/slixmpp/
+ https://pypi.org/project/slixmpp/
+"
+LICENSE="MIT"
+SLOT="0"
+
+if [[ "${PV}" == "9999" ]]; then
+ EGIT_REPO_URI="https://codeberg.org/poezio/slixmpp.git"
+ inherit git-r3
+else
+ inherit pypi
+ KEYWORDS="amd64 ~riscv"
+fi
+
+DEPEND="
+ net-dns/libidn:=
+"
+RDEPEND="
+ dev-python/aiodns[${PYTHON_USEDEP}]
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ dev-python/pyasn1-modules[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ ${DEPEND}
+ $(python_gen_cond_dep '
+ >=dev-lang/python-3.12.1_p1:3.12
+ ' python3_12)
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests unittest
+
+python_test() {
+ rm -rf slixmpp || die
+ eunittest -s tests
+}
diff --git a/dev-python/slixmpp/slixmpp-9999.ebuild b/dev-python/slixmpp/slixmpp-9999.ebuild
index 58e07cc7ebc8..b1603f069a6d 100644
--- a/dev-python/slixmpp/slixmpp-9999.ebuild
+++ b/dev-python/slixmpp/slixmpp-9999.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
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -22,7 +22,7 @@ if [[ "${PV}" == "9999" ]]; then
inherit git-r3
else
inherit pypi
- KEYWORDS="~amd64 ~riscv"
+ KEYWORDS="amd64 ~riscv"
fi
DEPEND="
@@ -36,6 +36,9 @@ RDEPEND="
dev-python/pyasn1-modules[${PYTHON_USEDEP}]
dev-python/pyasn1[${PYTHON_USEDEP}]
${DEPEND}
+ $(python_gen_cond_dep '
+ >=dev-lang/python-3.12.1_p1:3.12
+ ' python3_12)
"
BDEPEND="
dev-python/cython[${PYTHON_USEDEP}]
diff --git a/dev-python/smartypants/smartypants-2.0.1-r1.ebuild b/dev-python/smartypants/smartypants-2.0.1-r1.ebuild
index e1ab8ba2d497..fdecbe38abb1 100644
--- a/dev-python/smartypants/smartypants-2.0.1-r1.ebuild
+++ b/dev-python/smartypants/smartypants-2.0.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/smbus2/Manifest b/dev-python/smbus2/Manifest
index 0fb9898a30a6..6e830043c97b 100644
--- a/dev-python/smbus2/Manifest
+++ b/dev-python/smbus2/Manifest
@@ -1,2 +1 @@
-DIST smbus2-0.4.2.gh.tar.gz 17268 BLAKE2B 4a4728a06b14beb96a22cbfee98b3b5ea6bfb9bc7bfc106fa0438f4515b0306ae5eb008c9f5e3df9303788d5345fd1a5fcdb53ae57532b1226332a4535577b17 SHA512 a80c3554a62a5621ef1d3dc24cbf0e9d924865c216d79f146ea62d1448239bbeee3ffb7e4dab0bc7149ea4add7fb714765db12dc760222a1ef2505c8a4ed4477
DIST smbus2-0.4.3.gh.tar.gz 17474 BLAKE2B b53160d586c1ed0627597872582dbd07b1b2a9e03bf1a7dc01003ba5569013c11cf4c10df01c4649a069d6bf178c40a122a18a720fb03cab6485e04638fc9233 SHA512 e512954e89be9ba356a9e43ad023712ddfad006eaeadb45e92e21348176f838a2f65d89f3bd4a2ea68414486ff688d58acd668e4bae53f945cd9b24bcb328f9f
diff --git a/dev-python/smbus2/smbus2-0.4.2.ebuild b/dev-python/smbus2/smbus2-0.4.2.ebuild
deleted file mode 100644
index df8dc4206917..000000000000
--- a/dev-python/smbus2/smbus2-0.4.2.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A drop-in replacement for smbus-cffi/smbus-python in pure Python"
-HOMEPAGE="
- https://pypi.org/project/smbus2/
- https://github.com/kplindegaard/smbus2/
-"
-SRC_URI="
- https://github.com/kplindegaard/smbus2/archive/refs/tags/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest -s
-}
diff --git a/dev-python/smbus2/smbus2-0.4.3.ebuild b/dev-python/smbus2/smbus2-0.4.3.ebuild
index 15ae4b14e560..578059f0941b 100644
--- a/dev-python/smbus2/smbus2-0.4.3.ebuild
+++ b/dev-python/smbus2/smbus2-0.4.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/smmap/smmap-6.0.0.ebuild b/dev-python/smmap/smmap-6.0.0.ebuild
index 22984c53b454..9233ff3b6f93 100644
--- a/dev-python/smmap/smmap-6.0.0.ebuild
+++ b/dev-python/smmap/smmap-6.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -15,7 +15,7 @@ HOMEPAGE="
"
LICENSE="BSD"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
distutils_enable_tests unittest
diff --git a/dev-python/snakeoil/Manifest b/dev-python/snakeoil/Manifest
index f0bfef02d039..bfd8a713f81f 100644
--- a/dev-python/snakeoil/Manifest
+++ b/dev-python/snakeoil/Manifest
@@ -1 +1 @@
-DIST snakeoil-0.10.5.tar.gz 183358 BLAKE2B 6154eb0b5ce55aefc67484dc33c8a6e36ee903bce4293045252a8c9a3b4ecfc27690c720bb46842c1bca8c14ef59fbae4d3c1f02ebd46a7c91c1c9fbd1aa1532 SHA512 fafc04aa65423ebb3db66daa9c239bdf0968722b8ac14c1206dd3f26e3960d832fd15001e320463f98ca142ec7e1d6bff73ebc0ab10c3c5d3cde241b8160fdc3
+DIST snakeoil-0.10.8.tar.gz 174380 BLAKE2B 96c5f4e106513ee8061c6278345ac132510202faa0e915b362170ee7de5f23f0b7bfdc671c0c07721f57eeeb90df5f6851be70d4541295029d93126ea680e50b SHA512 7088cd3fb34bc666a51ddd59b0bf6c9d9da2f04727057ffa5b74ffb188efd63153afcf45442e99b8e1611642b71cf92518dafcacb85717dfa82370df18458497
diff --git a/dev-python/snakeoil/snakeoil-0.10.5.ebuild b/dev-python/snakeoil/snakeoil-0.10.5.ebuild
deleted file mode 100644
index 213d63db9990..000000000000
--- a/dev-python/snakeoil/snakeoil-0.10.5.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-inherit distutils-r1
-
-if [[ ${PV} == *9999 ]] ; then
- EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pkgcore/snakeoil.git
- https://github.com/pkgcore/snakeoil.git"
- inherit git-r3
-else
- KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
- inherit pypi
-fi
-
-DESCRIPTION="misc common functionality and useful optimizations"
-HOMEPAGE="https://github.com/pkgcore/snakeoil"
-
-LICENSE="BSD BSD-2 MIT"
-SLOT="0"
-
-RDEPEND="
- dev-python/lazy-object-proxy[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/flit-core-3.8[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/snakeoil/snakeoil-0.10.8.ebuild b/dev-python/snakeoil/snakeoil-0.10.8.ebuild
new file mode 100644
index 000000000000..c6044c38301e
--- /dev/null
+++ b/dev-python/snakeoil/snakeoil-0.10.8.ebuild
@@ -0,0 +1,33 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+inherit distutils-r1
+
+if [[ ${PV} == *9999 ]] ; then
+ EGIT_REPO_URI="https://anongit.gentoo.org/git/proj/pkgcore/snakeoil.git
+ https://github.com/pkgcore/snakeoil.git"
+ inherit git-r3
+else
+ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+ inherit pypi
+fi
+
+DESCRIPTION="misc common functionality and useful optimizations"
+HOMEPAGE="https://github.com/pkgcore/snakeoil"
+
+LICENSE="BSD BSD-2 MIT"
+SLOT="0"
+
+RDEPEND="
+ dev-python/lazy-object-proxy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/flit-core-3.8[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/snakeoil/snakeoil-9999.ebuild b/dev-python/snakeoil/snakeoil-9999.ebuild
index d61275cf8484..c6db942d1644 100644
--- a/dev-python/snakeoil/snakeoil-9999.ebuild
+++ b/dev-python/snakeoil/snakeoil-9999.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1
diff --git a/dev-python/snapshottest/snapshottest-0.6.0.ebuild b/dev-python/snapshottest/snapshottest-0.6.0.ebuild
index d01d038c7f3c..e7efddb861bc 100644
--- a/dev-python/snapshottest/snapshottest-0.6.0.ebuild
+++ b/dev-python/snapshottest/snapshottest-0.6.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/sniffio/Manifest b/dev-python/sniffio/Manifest
index 0fe49caaad39..4ae7428a4dc1 100644
--- a/dev-python/sniffio/Manifest
+++ b/dev-python/sniffio/Manifest
@@ -1 +1 @@
-DIST sniffio-1.3.0.gh.tar.gz 16867 BLAKE2B 44ab59d7477055aeaa0b08983094d8d12493edd5ded6ebd8e1bb048fbb2024325473dc37ebb5f66a10d8275b4e68b8c7f8dfb26088dc30c97a29d9f002fbc667 SHA512 3a9584eea20f5a69958f206fad9f01ef7fc40735f48a6cfaa11ba6eea1e7b8cc8c8053416595fe23276e162b0ab5dd6a41fb30bd9f7994f03b3d3242d5b40ef6
+DIST sniffio-1.3.1.gh.tar.gz 16907 BLAKE2B 9edec11e204f2624d589786744ed2bce6b082fb338c542bf6bddc22a481c9cc97cfd1c5101ae8cad95bf5068ee40d1659aeb420a2f6377377bf9e514e4c49cd1 SHA512 34e2e0a2e1c43e4ce1e1b5cdfb16c4f872897bbc7da77a76b55dc9cae475d87fe1e35d7103cad68ddab93c8be743aaa312ec12b1ddd96ad968be027faa24839f
diff --git a/dev-python/sniffio/sniffio-1.3.0.ebuild b/dev-python/sniffio/sniffio-1.3.0.ebuild
deleted file mode 100644
index 01a89319fcec..000000000000
--- a/dev-python/sniffio/sniffio-1.3.0.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 2021-2023 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
-
-DESCRIPTION="Sniff out which async library your code is running under"
-HOMEPAGE="
- https://github.com/python-trio/sniffio/
- https://pypi.org/project/sniffio/
-"
-SRC_URI="
- https://github.com/python-trio/sniffio/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="|| ( Apache-2.0 MIT )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # curio is not packaged
- sniffio/_tests/test_sniffio.py::test_curio
-)
diff --git a/dev-python/sniffio/sniffio-1.3.1.ebuild b/dev-python/sniffio/sniffio-1.3.1.ebuild
new file mode 100644
index 000000000000..26c7f2e1d715
--- /dev/null
+++ b/dev-python/sniffio/sniffio-1.3.1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2021-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Sniff out which async library your code is running under"
+HOMEPAGE="
+ https://github.com/python-trio/sniffio/
+ https://pypi.org/project/sniffio/
+"
+SRC_URI="
+ https://github.com/python-trio/sniffio/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # curio is not packaged
+ sniffio/_tests/test_sniffio.py::test_curio
+)
diff --git a/dev-python/snowballstemmer/snowballstemmer-2.2.0-r1.ebuild b/dev-python/snowballstemmer/snowballstemmer-2.2.0-r1.ebuild
index 3b6dcc6db839..865d0d4336ac 100644
--- a/dev-python/snowballstemmer/snowballstemmer-2.2.0-r1.ebuild
+++ b/dev-python/snowballstemmer/snowballstemmer-2.2.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
DESCRIPTION="Stemmer algorithms generated from Snowball algorithms"
diff --git a/dev-python/socketio-client-nexus/socketio-client-nexus-0.7.6.ebuild b/dev-python/socketio-client-nexus/socketio-client-nexus-0.7.6.ebuild
index 337d4be1f0ea..c0ac1784d36f 100644
--- a/dev-python/socketio-client-nexus/socketio-client-nexus-0.7.6.ebuild
+++ b/dev-python/socketio-client-nexus/socketio-client-nexus-0.7.6.ebuild
@@ -1,9 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
-EAPI=7
+EAPI=8
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN="socketIO-client-nexus"
@@ -19,6 +20,7 @@ KEYWORDS="~amd64 ~x86"
# require network
RESTRICT="test"
+BDEPEND="${DISTUTILS_DEPS}"
RDEPEND="
dev-python/requests[${PYTHON_USEDEP}]
dev-python/six[${PYTHON_USEDEP}]
diff --git a/dev-python/socksio/socksio-1.0.0.ebuild b/dev-python/socksio/socksio-1.0.0.ebuild
index dcfe1c0b002b..8ad8398a70d0 100644
--- a/dev-python/socksio/socksio-1.0.0.ebuild
+++ b/dev-python/socksio/socksio-1.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/sortedcontainers/sortedcontainers-2.4.0-r1.ebuild b/dev-python/sortedcontainers/sortedcontainers-2.4.0-r1.ebuild
index 6757e2ff7596..43fb8db977c9 100644
--- a/dev-python/sortedcontainers/sortedcontainers-2.4.0-r1.ebuild
+++ b/dev-python/sortedcontainers/sortedcontainers-2.4.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/soupsieve/soupsieve-2.5.ebuild b/dev-python/soupsieve/soupsieve-2.5.ebuild
index 2958ba30e5db..bf71993e5753 100644
--- a/dev-python/soupsieve/soupsieve-2.5.ebuild
+++ b/dev-python/soupsieve/soupsieve-2.5.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/spake2/spake2-0.8-r1.ebuild b/dev-python/spake2/spake2-0.8-r1.ebuild
index 23cf21291444..63861f484397 100644
--- a/dev-python/spake2/spake2-0.8-r1.ebuild
+++ b/dev-python/spake2/spake2-0.8-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/spdx-tools/Manifest b/dev-python/spdx-tools/Manifest
index f83ed2ab902e..5c549c4bd7f3 100644
--- a/dev-python/spdx-tools/Manifest
+++ b/dev-python/spdx-tools/Manifest
@@ -1,3 +1 @@
-DIST spdx-tools-0.7.1.tar.gz 200475 BLAKE2B 72da69f77a4d25380acb5b4d026596a593bfc631876dbae1a26ecc83e5d9fe7ff76c2f9a5d532186cc703d9fc5fc38ab859b654abfcddcf1e8116e7d26b55407 SHA512 8ffda24d162f4939fe99574e3ee4a492c55678f983ba101206a634edac75d404d3a07964289678da7ecae5b76a6d78f805b451fc51f60b713685afbd3a736a54
-DIST spdx-tools-0.8.1.tar.gz 496884 BLAKE2B 9b2e2066b29c74e50287cd118af394510a8635f9347a52477ff499cdf72082e1f2708cd067475b94814ef5b7c3e0e2ff0cb3c22e9e2de1b788dee644ea0a0006 SHA512 70e1d2d491517a332704707510b34bb8146924f29b734951eca03d0b3f791cb482fdae342d4084680d0b969614ae6350a13c196bf747b80b6a75c9ec0a6792cd
DIST spdx-tools-0.8.2.tar.gz 680032 BLAKE2B 0556c129f5800e843ab202ebcac5055a42577e727582b66d37af7d245a59c427388880362b78b83e6993b467bba0187fae2cc82151053fc932352a9524a36b5f SHA512 610f1718f72aa10eb3c4fe920148ca8b777a7331d149e2ed3e02e36098a75e80ce5bc853b540a0fcdddb17ffbb8e37fe863b381824caff8961853c41d9e61c80
diff --git a/dev-python/spdx-tools/metadata.xml b/dev-python/spdx-tools/metadata.xml
index 1e19b1d2fb9f..25b616c613a0 100644
--- a/dev-python/spdx-tools/metadata.xml
+++ b/dev-python/spdx-tools/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
diff --git a/dev-python/spdx-tools/spdx-tools-0.7.1.ebuild b/dev-python/spdx-tools/spdx-tools-0.7.1.ebuild
deleted file mode 100644
index 91a9cd3721c4..000000000000
--- a/dev-python/spdx-tools/spdx-tools-0.7.1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to parse, validate and create SPDX documents"
-HOMEPAGE="
- https://github.com/spdx/tools-python/
- https://pypi.org/project/spdx-tools/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0/0.7"
-KEYWORDS="amd64 ~arm64 ~riscv"
-
-RDEPEND="
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/ply[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/rdflib[${PYTHON_USEDEP}]
- dev-python/uritools[${PYTHON_USEDEP}]
- dev-python/xmltodict[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/spdx-tools/spdx-tools-0.8.1.ebuild b/dev-python/spdx-tools/spdx-tools-0.8.1.ebuild
deleted file mode 100644
index 57c3c21b0fb5..000000000000
--- a/dev-python/spdx-tools/spdx-tools-0.8.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python library to parse, validate and create SPDX documents"
-HOMEPAGE="
- https://github.com/spdx/tools-python/
- https://pypi.org/project/spdx-tools/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/beartype[${PYTHON_USEDEP}]
- dev-python/click[${PYTHON_USEDEP}]
- dev-python/license-expression[${PYTHON_USEDEP}]
- dev-python/ply[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/rdflib[${PYTHON_USEDEP}]
- dev-python/semantic-version[${PYTHON_USEDEP}]
- dev-python/uritools[${PYTHON_USEDEP}]
- dev-python/xmltodict[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # requires pyshacl
- tests/spdx3/validation/json_ld/test_shacl_validation.py
-)
diff --git a/dev-python/spdx-tools/spdx-tools-0.8.2.ebuild b/dev-python/spdx-tools/spdx-tools-0.8.2.ebuild
index 1e3f4fadf6bc..3a026218b908 100644
--- a/dev-python/spdx-tools/spdx-tools-0.8.2.ebuild
+++ b/dev-python/spdx-tools/spdx-tools-0.8.2.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 pypi
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv"
+KEYWORDS="amd64 arm64 ~riscv"
RDEPEND="
dev-python/beartype[${PYTHON_USEDEP}]
diff --git a/dev-python/speg/speg-0.3_p20180819-r1.ebuild b/dev-python/speg/speg-0.3_p20180819-r1.ebuild
deleted file mode 100644
index 0af5c3c71f36..000000000000
--- a/dev-python/speg/speg-0.3_p20180819-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-MY_COMMIT="877acddfd5ac5ae8b4a4592d045e74e108477643"
-
-DESCRIPTION="A PEG-based parser interpreter with memoization"
-HOMEPAGE="https://github.com/avakar/speg/"
-SRC_URI="https://github.com/avakar/speg/archive/${MY_COMMIT}.tar.gz -> ${P}.gh.tar.gz"
-S=${WORKDIR}/${PN}-${MY_COMMIT}
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="amd64 ~ppc ~riscv x86"
-
-distutils_enable_tests pytest
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/speg/speg-0.3_p20180819-r2.ebuild b/dev-python/speg/speg-0.3_p20180819-r2.ebuild
index 125cbafa8d7a..7a98545588b6 100644
--- a/dev-python/speg/speg-0.3_p20180819-r2.ebuild
+++ b/dev-python/speg/speg-0.3_p20180819-r2.ebuild
@@ -1,10 +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_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} )
+PYTHON_COMPAT=( python3_{10..13} )
+
inherit distutils-r1
MY_COMMIT="877acddfd5ac5ae8b4a4592d045e74e108477643"
@@ -14,12 +15,12 @@ HOMEPAGE="https://github.com/avakar/speg/"
SRC_URI="https://github.com/avakar/speg/archive/${MY_COMMIT}.tar.gz -> ${P}.gh.tar.gz"
S=${WORKDIR}/${PN}-${MY_COMMIT}
-SLOT="0"
LICENSE="MIT"
-KEYWORDS="~amd64 ~arm64 ~ppc ~riscv ~x86"
-
-distutils_enable_tests pytest
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc ~riscv x86"
RDEPEND="
dev-python/six[${PYTHON_USEDEP}]
"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sphinx-aiohttp-theme/sphinx-aiohttp-theme-0.1.6-r1.ebuild b/dev-python/sphinx-aiohttp-theme/sphinx-aiohttp-theme-0.1.6-r1.ebuild
index 99e705a2d54f..7e83ce24b588 100644
--- a/dev-python/sphinx-aiohttp-theme/sphinx-aiohttp-theme-0.1.6-r1.ebuild
+++ b/dev-python/sphinx-aiohttp-theme/sphinx-aiohttp-theme-0.1.6-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN="aiohttp-theme"
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..12} )
inherit distutils-r1 pypi
diff --git a/dev-python/sphinx-argparse/Manifest b/dev-python/sphinx-argparse/Manifest
index 78929c27d15f..1699498acb2a 100644
--- a/dev-python/sphinx-argparse/Manifest
+++ b/dev-python/sphinx-argparse/Manifest
@@ -1 +1,2 @@
DIST sphinx_argparse-0.4.0.tar.gz 15020 BLAKE2B 73118f56ff82d52f04066b9d500aebc77eb5a0fecd03fa69f382c0f2afc0cbffdd395da707cf37b59f039e93935f8d5c3fe0e0f7a2820d3b6509dd78b37b0d74 SHA512 b96050da6c02f87c54f9dc9146bed955e99258df740b467575a2b3e9919fa8c4c6d30a736dab24360086bfc0d7d09c4bc7a818700af2c7846eed3a3b99053d65
+DIST sphinx_argparse-0.5.2.tar.gz 27838 BLAKE2B 273b08c02ed9d43483988170857389c3e933a850774a721e59049c8c42c82f85cfd60aa324d8189a9f06993166bbe079449fff48a4947c271a8ebe19cbb13d86 SHA512 d200099392f7ab657f98b98bf0a02992baa5e2762805f4b066cc971a8181fb53ea20c522fbc1927e7be73cb69725c31a0aa9433b59a1deea0d1a805321fa77dd
diff --git a/dev-python/sphinx-argparse/metadata.xml b/dev-python/sphinx-argparse/metadata.xml
index 34557e466493..a00d23f8e329 100644
--- a/dev-python/sphinx-argparse/metadata.xml
+++ b/dev-python/sphinx-argparse/metadata.xml
@@ -6,7 +6,7 @@
<name>Gentoo Science Project</name>
</maintainer>
<upstream>
- <remote-id type="github">ashb/sphinx-argparse</remote-id>
+ <remote-id type="github">sphinx-doc/sphinx-argparse</remote-id>
<remote-id type="pypi">sphinx-argparse</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/sphinx-argparse/sphinx-argparse-0.4.0.ebuild b/dev-python/sphinx-argparse/sphinx-argparse-0.4.0.ebuild
index 40e2657c99f2..ac81f626dd0b 100644
--- a/dev-python/sphinx-argparse/sphinx-argparse-0.4.0.ebuild
+++ b/dev-python/sphinx-argparse/sphinx-argparse-0.4.0.ebuild
@@ -1,18 +1,22 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} )
+
inherit distutils-r1 pypi
DESCRIPTION="Sphinx extension that automatically documents argparse commands and options"
-HOMEPAGE="https://pypi.org/project/sphinx-argparse/"
+HOMEPAGE="
+ https://github.com/sphinx-doc/sphinx-argparse/
+ https://pypi.org/project/sphinx-argparse/
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
+KEYWORDS="amd64 ~arm64 ~riscv x86"
RDEPEND="
dev-python/sphinx[${PYTHON_USEDEP}]
diff --git a/dev-python/sphinx-argparse/sphinx-argparse-0.5.2.ebuild b/dev-python/sphinx-argparse/sphinx-argparse-0.5.2.ebuild
new file mode 100644
index 000000000000..07cc564179b6
--- /dev/null
+++ b/dev-python/sphinx-argparse/sphinx-argparse-0.5.2.ebuild
@@ -0,0 +1,32 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx extension that automatically documents argparse commands and options"
+HOMEPAGE="
+ https://github.com/sphinx-doc/sphinx-argparse/
+ https://pypi.org/project/sphinx-argparse/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/docutils-0.19[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-5.1.0[${PYTHON_USEDEP}]
+ >=dev-python/commonmark-0.5.6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/lxml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sphinx-autoapi/Manifest b/dev-python/sphinx-autoapi/Manifest
index 568f1fb352dd..ccf1a9ebc0c0 100644
--- a/dev-python/sphinx-autoapi/Manifest
+++ b/dev-python/sphinx-autoapi/Manifest
@@ -1 +1,3 @@
-DIST sphinx-autoapi-3.0.0.gh.tar.gz 62951 BLAKE2B 80c1168b7d6f2d8489139d1daaa00817bf88345b92d962d1b7114ffd078dab5babd00f3837b9a80bd7175f07a50a432be4096140ac3ee8db11d90e1b836cd308 SHA512 fece7ff76de1ad4a58d8128d7c1f4c57a91ffbc2fb788f7bf4ce230860e97279f8ddf32d24dee4b961d89807056abd2f621484ff91e13b98b57d7f7a00d1cd4c
+DIST sphinx-autoapi-3.1.2.gh.tar.gz 68260 BLAKE2B 31315fb298f7dae78c10f839e2738340eaf68d5497f22368c50f14309a564d1c5636015a715a9f99080a4f753416a10c63147e63dfcd53a27d7466ad422f95c4 SHA512 18e4a49e831446fa14278ffda4fec703f3b2c86654ce78fa7f4b89e5a41f1e6b19ea76cb64e7290a3125dc027a2de8aa052495a8bfd4bcc1828780f762e81957
+DIST sphinx-autoapi-3.2.0.gh.tar.gz 68693 BLAKE2B f9d70febea444a12c4db906614223415f51e649c3cb02770ca24e7274cb1e6c64a86802545ff1cb7b22e0e63bb63ceaaf1c27e487982a3d8d45e750a497dda01 SHA512 d14d62d4ab414f54f0066a63de490c293fbbbb1ca364b3094ca915fcb7765f373650a933026bf9582aeafb5556efb83c72a907f17c5168888bcfd7cbad081583
+DIST sphinx-autoapi-3.2.1.gh.tar.gz 68891 BLAKE2B b31db0f584498a96d3bf7e57fa92abd884d3b8bb8812236a8491685f0fc81d212e114ae1663e316ba7ba14dee082dd4aeab19941f3d6ab85de95399f3736f596 SHA512 e1920a79ce8954a9da1d33fd46e5c1968990e5cfd960a8c97ac344d3d6dd97c06dbbafb3144e67d223f6504b233e0cf59328f015d918264df12b00aed8e34f8f
diff --git a/dev-python/sphinx-autoapi/sphinx-autoapi-3.0.0.ebuild b/dev-python/sphinx-autoapi/sphinx-autoapi-3.0.0.ebuild
deleted file mode 100644
index 58eb769f1889..000000000000
--- a/dev-python/sphinx-autoapi/sphinx-autoapi-3.0.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A new approach to API documentation in Sphinx"
-HOMEPAGE="
- https://sphinx-autoapi.readthedocs.io/
- https://github.com/readthedocs/sphinx-autoapi/
- https://pypi.org/project/sphinx-autoapi/
-"
-# sdist is missing docs, as of 2.1.0
-SRC_URI="
- https://github.com/readthedocs/sphinx-autoapi/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 x86"
-
-RDEPEND="
- dev-python/anyascii[${PYTHON_USEDEP}]
- >=dev-python/astroid-3.0.0[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- >=dev-python/sphinx-6.1.0[${PYTHON_USEDEP}]
-"
-
-BDEPEND+="
- test? ( dev-python/beautifulsoup4[${PYTHON_USEDEP}] )
-"
-
-DOCS=( README.rst CHANGELOG.rst )
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Internet
- tests/python/test_pyintegration.py::TestPipeUnionModule::test_integration
- "tests/test_integration.py::TestExtensionErrors::test_extension_setup_errors[dotnetexample"
- )
-
- distutils-r1_python_test
-}
diff --git a/dev-python/sphinx-autoapi/sphinx-autoapi-3.1.2.ebuild b/dev-python/sphinx-autoapi/sphinx-autoapi-3.1.2.ebuild
new file mode 100644
index 000000000000..cc53280450a6
--- /dev/null
+++ b/dev-python/sphinx-autoapi/sphinx-autoapi-3.1.2.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A new approach to API documentation in Sphinx"
+HOMEPAGE="
+ https://sphinx-autoapi.readthedocs.io/
+ https://github.com/readthedocs/sphinx-autoapi/
+ https://pypi.org/project/sphinx-autoapi/
+"
+# sdist is missing docs, as of 2.1.0
+SRC_URI="
+ https://github.com/readthedocs/sphinx-autoapi/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 x86"
+
+RDEPEND="
+ >=dev-python/astroid-3.0.0[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-6.1.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND+="
+ test? ( dev-python/beautifulsoup4[${PYTHON_USEDEP}] )
+"
+
+DOCS=( README.rst CHANGELOG.rst )
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/python/test_pyintegration.py::TestPEP695::test_integration
+ tests/python/test_pyintegration.py::TestPipeUnionModule::test_integration
+ "tests/test_integration.py::TestExtensionErrors::test_extension_setup_errors[dotnetexample"
+ )
+
+ distutils-r1_python_test
+}
diff --git a/dev-python/sphinx-autoapi/sphinx-autoapi-3.2.0.ebuild b/dev-python/sphinx-autoapi/sphinx-autoapi-3.2.0.ebuild
new file mode 100644
index 000000000000..2dfb0a4c4c8b
--- /dev/null
+++ b/dev-python/sphinx-autoapi/sphinx-autoapi-3.2.0.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A new approach to API documentation in Sphinx"
+HOMEPAGE="
+ https://sphinx-autoapi.readthedocs.io/
+ https://github.com/readthedocs/sphinx-autoapi/
+ https://pypi.org/project/sphinx-autoapi/
+"
+# sdist is missing docs, as of 2.1.0
+SRC_URI="
+ https://github.com/readthedocs/sphinx-autoapi/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/astroid-3.0.0[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-6.1.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND+="
+ test? ( dev-python/beautifulsoup4[${PYTHON_USEDEP}] )
+"
+
+DOCS=( README.rst CHANGELOG.rst )
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/python/test_pyintegration.py::TestPEP695::test_integration
+ tests/python/test_pyintegration.py::TestPipeUnionModule::test_integration
+ "tests/test_integration.py::TestExtensionErrors::test_extension_setup_errors[dotnetexample"
+ )
+
+ distutils-r1_python_test
+}
diff --git a/dev-python/sphinx-autoapi/sphinx-autoapi-3.2.1.ebuild b/dev-python/sphinx-autoapi/sphinx-autoapi-3.2.1.ebuild
new file mode 100644
index 000000000000..2dfb0a4c4c8b
--- /dev/null
+++ b/dev-python/sphinx-autoapi/sphinx-autoapi-3.2.1.ebuild
@@ -0,0 +1,50 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A new approach to API documentation in Sphinx"
+HOMEPAGE="
+ https://sphinx-autoapi.readthedocs.io/
+ https://github.com/readthedocs/sphinx-autoapi/
+ https://pypi.org/project/sphinx-autoapi/
+"
+# sdist is missing docs, as of 2.1.0
+SRC_URI="
+ https://github.com/readthedocs/sphinx-autoapi/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/astroid-3.0.0[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-6.1.0[${PYTHON_USEDEP}]
+"
+
+BDEPEND+="
+ test? ( dev-python/beautifulsoup4[${PYTHON_USEDEP}] )
+"
+
+DOCS=( README.rst CHANGELOG.rst )
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/python/test_pyintegration.py::TestPEP695::test_integration
+ tests/python/test_pyintegration.py::TestPipeUnionModule::test_integration
+ "tests/test_integration.py::TestExtensionErrors::test_extension_setup_errors[dotnetexample"
+ )
+
+ distutils-r1_python_test
+}
diff --git a/dev-python/sphinx-autodoc-typehints/Manifest b/dev-python/sphinx-autodoc-typehints/Manifest
index 9dd3e18cdb9c..e79cf40fa3aa 100644
--- a/dev-python/sphinx-autodoc-typehints/Manifest
+++ b/dev-python/sphinx-autodoc-typehints/Manifest
@@ -1 +1,2 @@
-DIST sphinx_autodoc_typehints-1.25.2.tar.gz 37173 BLAKE2B cec43a8008e84cbc0cc8f1950d8c8b3aceec139f2c9b8de310620fbd7deab021ebc51caa0ec80421d821287c8f9c304102141eda9e1123496d710ce3d87590a7 SHA512 42d14b17e05c46d65fb363f6b640515e1847d1d1b13b9d4707c0e64002e01d974a4c8d06d90f938a149704641926b08755a8c9c1f84883b5841192c7330660a3
+DIST sphinx_autodoc_typehints-2.2.2.tar.gz 40324 BLAKE2B 113a3ce262ca5c1bab60d388080ce33559dc24388c0690b9db8413825b136830015afd70cfa0c95464d6bdc4824fb8b511a22579eb2ab0fec267405ce953ace9 SHA512 11996f0cf916ccf7f630bbdad7e4b4f0e0969c97c5714c71a08a2c0eda3c1e36a27843048cf44c42b1a71e7d50b4353d94cf3c201bf2356ded2f305709bd1b1e
+DIST sphinx_autodoc_typehints-2.2.3.tar.gz 40394 BLAKE2B eece3fd99898bf6c93561b0269a7cae2d9b5bd7868ef3d9cd61868b57b9435ef255731db7fdbde2cf05b1f1ed1c8864060fd15ad5b44bbd122f2c2d4fd264aeb SHA512 8a39129ae3e90703c7de8d25c7616256b4d203f6e3c6971f382265361236e7606fa16169e189ca47cd4f1dfdf27a98a16c7b92ce409e2431886e4dacd0159fcf
diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.25.2.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.25.2.ebuild
deleted file mode 100644
index 602fd7ca1107..000000000000
--- a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-1.25.2.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Type hints support for the Sphinx autodoc extension"
-HOMEPAGE="
- https://github.com/tox-dev/sphinx-autodoc-typehints/
- https://pypi.org/project/sphinx-autodoc-typehints/
-"
-
-LICENSE="MIT"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/sphinx-7.1.2[${PYTHON_USEDEP}]
-"
-# skipping optional test dep on dev-python/nptyping as that package
-# is horribly broken and on its way out
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/sphobjinv-2.3.1[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # this package is addicted to Internet
- tests/test_sphinx_autodoc_typehints.py::test_format_annotation
-)
diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.2.2.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.2.2.ebuild
new file mode 100644
index 000000000000..c90e5eccabbf
--- /dev/null
+++ b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.2.2.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Type hints support for the Sphinx autodoc extension"
+HOMEPAGE="
+ https://github.com/tox-dev/sphinx-autodoc-typehints/
+ https://pypi.org/project/sphinx-autodoc-typehints/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/sphinx-7.1.2[${PYTHON_USEDEP}]
+"
+# skipping optional test dep on dev-python/nptyping as that package
+# is horribly broken and on its way out
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/sphobjinv-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # this package is addicted to Internet
+ tests/test_sphinx_autodoc_typehints.py::test_format_annotation
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.2.3.ebuild b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.2.3.ebuild
new file mode 100644
index 000000000000..f6053e2167f7
--- /dev/null
+++ b/dev-python/sphinx-autodoc-typehints/sphinx-autodoc-typehints-2.2.3.ebuild
@@ -0,0 +1,44 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Type hints support for the Sphinx autodoc extension"
+HOMEPAGE="
+ https://github.com/tox-dev/sphinx-autodoc-typehints/
+ https://pypi.org/project/sphinx-autodoc-typehints/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ >=dev-python/sphinx-7.1.2[${PYTHON_USEDEP}]
+"
+# skipping optional test dep on dev-python/nptyping as that package
+# is horribly broken and on its way out
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/sphobjinv-2.3.1[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # this package is addicted to Internet
+ tests/test_sphinx_autodoc_typehints.py::test_format_annotation
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/sphinx-basic-ng/sphinx-basic-ng-1.0.0_beta2.ebuild b/dev-python/sphinx-basic-ng/sphinx-basic-ng-1.0.0_beta2.ebuild
index 863ad5d67bca..81c99b44f244 100644
--- a/dev-python/sphinx-basic-ng/sphinx-basic-ng-1.0.0_beta2.ebuild
+++ b/dev-python/sphinx-basic-ng/sphinx-basic-ng-1.0.0_beta2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.8.1.ebuild b/dev-python/sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.8.1.ebuild
index 11ec27c0ee0d..0a45ea573ed6 100644
--- a/dev-python/sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.8.1.ebuild
+++ b/dev-python/sphinx-bootstrap-theme/sphinx-bootstrap-theme-0.8.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -22,6 +22,14 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ test? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ )
+"
python_test() {
cd demo || die
diff --git a/dev-python/sphinx-celery/Manifest b/dev-python/sphinx-celery/Manifest
index ff08fe7356c4..a8441f0403bd 100644
--- a/dev-python/sphinx-celery/Manifest
+++ b/dev-python/sphinx-celery/Manifest
@@ -1 +1 @@
-DIST sphinx_celery-2.0.0.tar.gz 16203 BLAKE2B 439a9cd20e09071491338016ba83514e37c7cdfa34966e93e3c6062ed94cdaa0750351a0de9fc7b27be1b7e557b5625be73f01f1de59d15f36335e9d46d35cae SHA512 1beca69fe9b56d04cd3c42aa9244d50a364a860e9cf53f94897c0f690b8465f4e2a7b10ed6d310d3fa706d86f5882a338cd982a3ac7cec36586269756e9128a5
+DIST sphinx_celery-2.1.3.tar.gz 16647 BLAKE2B 5dd5861e9581cb576058c86e3fa077bc95d2f8f7c15d2055469a15f2cfaf8b8f3b2ea147b8ad90bbcfd6c888808c92edb57c6a2219364225ff9eca27b3e4ed37 SHA512 87ea7cc229a9db25ca32559010bbab66197506eedffb3a8e80e847f68dff664ad3eb4257c615ce74387456fe9d70c4b47eabfb769f371a529e46c867b03560b4
diff --git a/dev-python/sphinx-celery/files/sphinx-celery-2.0.0-extlinks.patch b/dev-python/sphinx-celery/files/sphinx-celery-2.0.0-extlinks.patch
deleted file mode 100644
index c01e8dde882d..000000000000
--- a/dev-python/sphinx-celery/files/sphinx-celery-2.0.0-extlinks.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 46d3ea167e7b6eab24f35354f44822981bc76767 Mon Sep 17 00:00:00 2001
-From: Oleg Hoefling <oleg.hoefling@ionos.com>
-Date: Tue, 23 Aug 2022 15:56:17 +0200
-Subject: [PATCH] add placeholder to each extlinks caption
-
-https://github.com/celery/sphinx_celery/pull/40
-Signed-off-by: Oleg Hoefling <oleg.hoefling@ionos.com>
----
- sphinx_celery/conf.py | 10 +++++-----
- 1 file changed, 5 insertions(+), 5 deletions(-)
-
-diff --git a/sphinx_celery/conf.py b/sphinx_celery/conf.py
-index b35bc2b..8a6895b 100644
---- a/sphinx_celery/conf.py
-+++ b/sphinx_celery/conf.py
-@@ -161 +161 @@
-- 'GitHub SHA@',
-+ 'GitHub SHA@%s',
-@@ -165 +165 @@
-- 'GitHub branch',
-+ 'GitHub branch %s',
-@@ -168 +168 @@
-- 'https://github.com/%s/', '@',
-+ 'https://github.com/%s/', '@%s',
-@@ -171 +171 @@
-- 'https://pypi.python.org/pypi/%s/', '',
-+ 'https://pypi.python.org/pypi/%s/', None,
-@@ -174 +174 @@
-- 'https://en.wikipedia.org/wiki/%s', '',
-+ 'https://en.wikipedia.org/wiki/%s', None,
diff --git a/dev-python/sphinx-celery/sphinx-celery-2.0.0-r4.ebuild b/dev-python/sphinx-celery/sphinx-celery-2.0.0-r4.ebuild
deleted file mode 100644
index ff9f3a023eac..000000000000
--- a/dev-python/sphinx-celery/sphinx-celery-2.0.0-r4.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Celery Sphinx Theme and Utilities"
-HOMEPAGE="
- https://github.com/celery/sphinx_celery/
- https://pypi.org/project/sphinx-celery/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
- >=dev-python/sphinx-2.0.0[${PYTHON_USEDEP}]
-"
-
-# https://bugs.gentoo.org/show_bug.cgi?id=911637
-PATCHES=( "${FILESDIR}/${P}-extlinks.patch" )
diff --git a/dev-python/sphinx-celery/sphinx-celery-2.1.3.ebuild b/dev-python/sphinx-celery/sphinx-celery-2.1.3.ebuild
new file mode 100644
index 000000000000..d2c2aa1b980b
--- /dev/null
+++ b/dev-python/sphinx-celery/sphinx-celery-2.1.3.ebuild
@@ -0,0 +1,23 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Celery Sphinx Theme and Utilities"
+HOMEPAGE="
+ https://github.com/celery/sphinx_celery/
+ https://pypi.org/project/sphinx-celery/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+RDEPEND="
+ >=dev-python/sphinx-2.0.0[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/sphinx-copybutton/sphinx-copybutton-0.5.2.ebuild b/dev-python/sphinx-copybutton/sphinx-copybutton-0.5.2.ebuild
index 297c59d28f0d..95b715f89cb6 100644
--- a/dev-python/sphinx-copybutton/sphinx-copybutton-0.5.2.ebuild
+++ b/dev-python/sphinx-copybutton/sphinx-copybutton-0.5.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -13,7 +13,7 @@ HOMEPAGE="https://pypi.org/project/sphinx-copybutton/"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
RDEPEND="
>=dev-python/sphinx-6.0[${PYTHON_USEDEP}]
diff --git a/dev-python/sphinx-epytext/sphinx-epytext-0.0.4-r1.ebuild b/dev-python/sphinx-epytext/sphinx-epytext-0.0.4-r1.ebuild
index 5e3e18439fa1..e64f4223a2e8 100644
--- a/dev-python/sphinx-epytext/sphinx-epytext-0.0.4-r1.ebuild
+++ b/dev-python/sphinx-epytext/sphinx-epytext-0.0.4-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/sphinx-gallery/Manifest b/dev-python/sphinx-gallery/Manifest
index 71a48b6566c9..692043ce408f 100644
--- a/dev-python/sphinx-gallery/Manifest
+++ b/dev-python/sphinx-gallery/Manifest
@@ -1,2 +1,2 @@
-DIST sphinx-gallery-0.14.0.tar.gz 408734 BLAKE2B f527eb58b565353722d669edf81a667b7c3e784480500ff03b5567b9214c27951438052db3f2dcba92b24e7224d5cd0017bfbe770132dc96ce3427ca463329a8 SHA512 c8a69af9dec9adf042214de0cb48d510ebb41d7bc4bb1e5767f3982b0e83d9dfa1a26028d939a1785d3894894d396840e437dc5c196bfc5318152d06240d84b9
-DIST sphinx-gallery-0.15.0.tar.gz 422363 BLAKE2B cbca8ec252e03e9cacc0df27da43ebc9bbed8531d5df65bf9cb7f54f7ae8b127582f353cb245bcc459d6fa86240207346a05d777504163d49be0fabb029a172b SHA512 b6b0d5022da9de27417f8cc72ba24f0d51e57f83c68b17a296269b074888a711d61fcf933fbbfaf4d6977702b3f020d4b0eaa89e78e51185ee2dd26e911fe8be
+DIST sphinx_gallery-0.16.0.tar.gz 432247 BLAKE2B 130800616a29be2daedb77404f79ca8d1543ecd391f45f8f19cbcf46ce742d02725d9b087be337d11496021b5c486c6c24b35f22b2c7d4cb575cb2c217d328db SHA512 b45e9141d64b1e277d75f501f2cc40979942953cd8412716e5af64917a3b9adc0a746fbd6249c3636c3db222c1e438ee7f9a9ad93f57b2f05f9ec80a562796c3
+DIST sphinx_gallery-0.17.0.tar.gz 461588 BLAKE2B 2f95724b184a2fe6359cf90c5200cebb80da8bd47160eb801069a396ddc6d889bd84a088899c2e0b461e81a6bf31ebbcebd4b555b83a3a5eebd11e48048ca2a3 SHA512 969bedefdb9231fd9fd92f1a8eb4488dbf6c8b68175e6869d0e893f1a6674bbf7b6e2b0281e54b929a3b2ca1d2928f75f00cb307100391656b6ebd62e8046b7a
diff --git a/dev-python/sphinx-gallery/sphinx-gallery-0.14.0.ebuild b/dev-python/sphinx-gallery/sphinx-gallery-0.14.0.ebuild
deleted file mode 100644
index 30760ca95b0e..000000000000
--- a/dev-python/sphinx-gallery/sphinx-gallery-0.14.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sphinx extension to automatically generate an examples gallery"
-HOMEPAGE="
- https://github.com/sphinx-gallery/sphinx-gallery/
- https://sphinx-gallery.github.io/
- https://pypi.org/project/sphinx-gallery/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/joblib[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Internet
- sphinx_gallery/tests/test_docs_resolv.py::test_embed_code_links_get_data
- sphinx_gallery/tests/test_full.py::test_run_sphinx
- sphinx_gallery/tests/test_full.py::test_embed_links_and_styles
- # require jupyterlite_sphinx
- sphinx_gallery/tests/test_full.py
- sphinx_gallery/tests/test_full_noexec.py
- sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents
- sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_non_default_contents
- sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_with_jupyterlite_disabled_via_config
- )
-
- epytest -o addopts=
-}
diff --git a/dev-python/sphinx-gallery/sphinx-gallery-0.15.0.ebuild b/dev-python/sphinx-gallery/sphinx-gallery-0.15.0.ebuild
deleted file mode 100644
index e4a9b5f96a09..000000000000
--- a/dev-python/sphinx-gallery/sphinx-gallery-0.15.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sphinx extension to automatically generate an examples gallery"
-HOMEPAGE="
- https://github.com/sphinx-gallery/sphinx-gallery/
- https://sphinx-gallery.github.io/
- https://pypi.org/project/sphinx-gallery/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/joblib[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Internet
- sphinx_gallery/tests/test_docs_resolv.py::test_embed_code_links_get_data
- sphinx_gallery/tests/test_full.py::test_run_sphinx
- sphinx_gallery/tests/test_full.py::test_embed_links_and_styles
- # require jupyterlite_sphinx
- sphinx_gallery/tests/test_full.py
- sphinx_gallery/tests/test_full_noexec.py
- sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents
- sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_non_default_contents
- sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_with_jupyterlite_disabled_via_config
- )
-
- epytest -o addopts=
-}
diff --git a/dev-python/sphinx-gallery/sphinx-gallery-0.16.0.ebuild b/dev-python/sphinx-gallery/sphinx-gallery-0.16.0.ebuild
new file mode 100644
index 000000000000..2d76d2361dbd
--- /dev/null
+++ b/dev-python/sphinx-gallery/sphinx-gallery-0.16.0.ebuild
@@ -0,0 +1,51 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx extension to automatically generate an examples gallery"
+HOMEPAGE="
+ https://github.com/sphinx-gallery/sphinx-gallery/
+ https://sphinx-gallery.github.io/
+ https://pypi.org/project/sphinx-gallery/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/joblib[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ sphinx_gallery/tests/test_docs_resolv.py::test_embed_code_links_get_data
+ sphinx_gallery/tests/test_full.py::test_run_sphinx
+ sphinx_gallery/tests/test_full.py::test_embed_links_and_styles
+ # require jupyterlite_sphinx
+ sphinx_gallery/tests/test_full.py
+ sphinx_gallery/tests/test_full_noexec.py
+ sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents
+ sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_non_default_contents
+ sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_with_jupyterlite_disabled_via_config
+ )
+
+ epytest -o addopts=
+}
diff --git a/dev-python/sphinx-gallery/sphinx-gallery-0.17.0.ebuild b/dev-python/sphinx-gallery/sphinx-gallery-0.17.0.ebuild
new file mode 100644
index 000000000000..5f967116b733
--- /dev/null
+++ b/dev-python/sphinx-gallery/sphinx-gallery-0.17.0.ebuild
@@ -0,0 +1,51 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx extension to automatically generate an examples gallery"
+HOMEPAGE="
+ https://github.com/sphinx-gallery/sphinx-gallery/
+ https://sphinx-gallery.github.io/
+ https://pypi.org/project/sphinx-gallery/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc ~ppc64 ~x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/joblib[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Internet
+ sphinx_gallery/tests/test_docs_resolv.py::test_embed_code_links_get_data
+ sphinx_gallery/tests/test_full.py::test_run_sphinx
+ sphinx_gallery/tests/test_full.py::test_embed_links_and_styles
+ # require jupyterlite_sphinx
+ sphinx_gallery/tests/test_full.py
+ sphinx_gallery/tests/test_full_noexec.py
+ sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents
+ sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_non_default_contents
+ sphinx_gallery/tests/test_gen_gallery.py::test_create_jupyterlite_contents_with_jupyterlite_disabled_via_config
+ )
+
+ epytest -o addopts=
+}
diff --git a/dev-python/sphinx-inline-tabs/sphinx-inline-tabs-2023.4.21.ebuild b/dev-python/sphinx-inline-tabs/sphinx-inline-tabs-2023.4.21.ebuild
index ad6169c8bad4..26218e365229 100644
--- a/dev-python/sphinx-inline-tabs/sphinx-inline-tabs-2023.4.21.ebuild
+++ b/dev-python/sphinx-inline-tabs/sphinx-inline-tabs-2023.4.21.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -12,7 +12,7 @@ HOMEPAGE="https://pypi.org/project/sphinx-inline-tabs/"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
RDEPEND="
>=dev-python/sphinx-6.0[${PYTHON_USEDEP}]
diff --git a/dev-python/sphinx-issues/Manifest b/dev-python/sphinx-issues/Manifest
index 5083982df452..582e55558da8 100644
--- a/dev-python/sphinx-issues/Manifest
+++ b/dev-python/sphinx-issues/Manifest
@@ -1 +1 @@
-DIST sphinx-issues-3.0.1.gh.tar.gz 12320 BLAKE2B 770aa19a443bacd489157244f087fdb99740d5eae2f45246ab0fd0596260f249dcf7fb0642acf0a925d1a1def08f6d944a2ec67017334843b636623b05df8327 SHA512 dd64e1611eb58fc455bedb1658473fd71e4deab1371d8a42e6fa7fe3b128a991251add12e463b9a5826fd4eb5aa12e9a117dcf953feeb8df980a7951e43d8baa
+DIST sphinx_issues-4.1.0.tar.gz 14148 BLAKE2B 7d28cd650abe8248ed7edafcc64fc71bdaf97499597d034e9d9bf875224735b8445ee8b95fd465d8524345e3c8137570bda3ef1b9e25ffb97aa3a438ecac1b0f SHA512 ef7da6d4b1a46adde216d548d1be48773d653f383981d5ddde56260793d05c5e10a99d9196c4ed04ba1722b6d646eaa0c12a2650206f5582cf85ced448c3a361
diff --git a/dev-python/sphinx-issues/sphinx-issues-3.0.1-r1.ebuild b/dev-python/sphinx-issues/sphinx-issues-3.0.1-r1.ebuild
deleted file mode 100644
index f53077d25122..000000000000
--- a/dev-python/sphinx-issues/sphinx-issues-3.0.1-r1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx extension for linking to your project's issue tracker"
-HOMEPAGE="
- https://github.com/sloria/sphinx-issues/
- https://pypi.org/project/sphinx-issues/
-"
-SRC_URI="
- https://github.com/sloria/sphinx-issues/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
-
-RDEPEND="
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # doesn't work in our pep517 install
- tests/test_sphinx_issues.py::test_sphinx_build_integration
-)
diff --git a/dev-python/sphinx-issues/sphinx-issues-4.1.0.ebuild b/dev-python/sphinx-issues/sphinx-issues-4.1.0.ebuild
new file mode 100644
index 000000000000..beccf1e142ae
--- /dev/null
+++ b/dev-python/sphinx-issues/sphinx-issues-4.1.0.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx extension for linking to your project's issue tracker"
+HOMEPAGE="
+ https://github.com/sloria/sphinx-issues/
+ https://pypi.org/project/sphinx-issues/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ dev-python/sphinx[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # doesn't work in our pep517 install
+ tests/test_sphinx_issues.py::test_sphinx_build_integration
+)
diff --git a/dev-python/sphinx-multiversion/sphinx-multiversion-0.2.4-r1.ebuild b/dev-python/sphinx-multiversion/sphinx-multiversion-0.2.4-r1.ebuild
index a4a539081ef1..3c5e4af6e775 100644
--- a/dev-python/sphinx-multiversion/sphinx-multiversion-0.2.4-r1.ebuild
+++ b/dev-python/sphinx-multiversion/sphinx-multiversion-0.2.4-r1.ebuild
@@ -1,15 +1,22 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
inherit distutils-r1
DESCRIPTION="Add support for multiple versions to sphinx"
-HOMEPAGE="https://github.com/Holzhaus/sphinx-multiversion"
-SRC_URI="https://github.com/Holzhaus/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+HOMEPAGE="
+ https://github.com/Holzhaus/sphinx-multiversion/
+ https://pypi.org/project/sphinx-multiversion/
+"
+SRC_URI="
+ https://github.com/Holzhaus/sphinx-multiversion/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="BSD-2"
SLOT="0"
diff --git a/dev-python/sphinx-notfound-page/Manifest b/dev-python/sphinx-notfound-page/Manifest
index 9e83ebdcb588..df65c0f1cb23 100644
--- a/dev-python/sphinx-notfound-page/Manifest
+++ b/dev-python/sphinx-notfound-page/Manifest
@@ -1 +1 @@
-DIST sphinx-notfound-page-1.0.0.gh.tar.gz 543729 BLAKE2B 87da323277a38b20d43fa23e67528fee9530a243aa557a2be279a4a6877ac18bc36546beba0c6cc4ff598410d4be3a4337c7508005064df52867dca2675c8a3d SHA512 e9d235fb0461ee9f349a57d37caeaf4cb4ec5faab7e731067e69467bf0990d5c5ce31d024fe2ac531fb84f49a4e2e74092ce09d5977135c759669523fc59ab4e
+DIST sphinx-notfound-page-1.0.2.gh.tar.gz 543984 BLAKE2B a6a7a1f157c9500618c296152f44a441db9bf4198e196e5be5c71444e05f2623457d0807103dcc55d08c869afb0d35b719dc73f7f43e57f08a025aa08a4f42b1 SHA512 faa6c2cf59dcb3ab90e00176f1f9480ad8f5ff07e76dfd49a17985e638ea05329faaffa15f64d5c7cedc37028d0beeee9de10927429eb85d5b0bb1397d6bd14e
diff --git a/dev-python/sphinx-notfound-page/sphinx-notfound-page-1.0.0.ebuild b/dev-python/sphinx-notfound-page/sphinx-notfound-page-1.0.0.ebuild
deleted file mode 100644
index 38d9464d65f8..000000000000
--- a/dev-python/sphinx-notfound-page/sphinx-notfound-page-1.0.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Create a custom 404 page with absolute URLs hardcoded"
-HOMEPAGE="
- https://sphinx-notfound-page.readthedocs.io/
- https://github.com/readthedocs/sphinx-notfound-page/
- https://pypi.org/project/sphinx-notfound-page/
-"
-SRC_URI="
- https://github.com/readthedocs/sphinx-notfound-page/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/sphinx-5[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # calls sphinx-build directly, works around venv
- tests/test_urls.py::test_parallel_build
-)
diff --git a/dev-python/sphinx-notfound-page/sphinx-notfound-page-1.0.2.ebuild b/dev-python/sphinx-notfound-page/sphinx-notfound-page-1.0.2.ebuild
new file mode 100644
index 000000000000..4b163eacf4d3
--- /dev/null
+++ b/dev-python/sphinx-notfound-page/sphinx-notfound-page-1.0.2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Create a custom 404 page with absolute URLs hardcoded"
+HOMEPAGE="
+ https://sphinx-notfound-page.readthedocs.io/
+ https://github.com/readthedocs/sphinx-notfound-page/
+ https://pypi.org/project/sphinx-notfound-page/
+"
+SRC_URI="
+ https://github.com/readthedocs/sphinx-notfound-page/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/sphinx-5[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # calls sphinx-build directly, works around venv
+ tests/test_urls.py::test_parallel_build
+)
diff --git a/dev-python/sphinx-panels/files/sphinx-panels-0.6.0-sphinx-7.patch b/dev-python/sphinx-panels/files/sphinx-panels-0.6.0-sphinx-7.patch
new file mode 100644
index 000000000000..8bd3ebb0706b
--- /dev/null
+++ b/dev-python/sphinx-panels/files/sphinx-panels-0.6.0-sphinx-7.patch
@@ -0,0 +1,65 @@
+https://salsa.debian.org/python-team/packages/sphinx-panels/-/blob/debian/master/debian/patches/Make-the-tests-pass-with-Sphinx-7.x.patch
+
+From: Dmitry Shachnev <mitya57@debian.org>
+Date: Fri, 3 Nov 2023 23:25:11 +0300
+Subject: Make the tests pass with Sphinx 7.x
+
+---
+ tests/test_sphinx.py | 8 +++++++-
+ tests/test_sphinx/test_sources_dropdown_basic_.xml | 2 +-
+ tests/test_sphinx/test_sources_tabbed_basic_.xml | 2 +-
+ 3 files changed, 9 insertions(+), 3 deletions(-)
+
+diff --git a/tests/test_sphinx.py b/tests/test_sphinx.py
+index 9efc2c2..35affa1 100644
+--- a/tests/test_sphinx.py
++++ b/tests/test_sphinx.py
+@@ -2,6 +2,7 @@ from pathlib import Path
+ import shutil
+
+ import pytest
++import sphinx
+ from sphinx.testing.path import path
+
+ from sphinx_panels.tabs import TabbedHtmlTransform
+@@ -15,7 +16,10 @@ def sphinx_app_factory(make_app, tmp_path: Path, monkeypatch):
+ shutil.copytree(
+ (Path(__file__).parent / "sources" / src_folder), tmp_path / src_folder
+ )
+- app = make_app(srcdir=path(str((tmp_path / src_folder).absolute())), **kwargs)
++ srcdir = (tmp_path / src_folder).absolute()
++ if sphinx.version_info < (7, 2):
++ srcdir = path(str(srcdir))
++ app = make_app(srcdir=srcdir, **kwargs)
+ return app
+
+ yield _func
+@@ -28,6 +32,8 @@ def test_sources(sphinx_app_factory, file_regression, folder):
+ assert app._warning.getvalue() == ""
+ doctree = app.env.get_and_resolve_doctree("index", app.builder)
+ doctree["source"] = "source"
++ if sphinx.version_info < (7, 1):
++ doctree["translation_progress"] = "{'total': 0, 'translated': 0}"
+ file_regression.check(
+ doctree.pformat(),
+ encoding="utf8",
+diff --git a/tests/test_sphinx/test_sources_dropdown_basic_.xml b/tests/test_sphinx/test_sources_dropdown_basic_.xml
+index b984330..4c42825 100644
+--- a/tests/test_sphinx/test_sources_dropdown_basic_.xml
++++ b/tests/test_sphinx/test_sources_dropdown_basic_.xml
+@@ -1,4 +1,4 @@
+-<document source="source">
++<document source="source" translation_progress="{'total': 0, 'translated': 0}">
+ <section ids="title" names="title">
+ <title>
+ Title
+diff --git a/tests/test_sphinx/test_sources_tabbed_basic_.xml b/tests/test_sphinx/test_sources_tabbed_basic_.xml
+index b3f2d1a..f55e06e 100644
+--- a/tests/test_sphinx/test_sources_tabbed_basic_.xml
++++ b/tests/test_sphinx/test_sources_tabbed_basic_.xml
+@@ -1,4 +1,4 @@
+-<document source="source">
++<document source="source" translation_progress="{'total': 0, 'translated': 0}">
+ <section ids="title" names="title">
+ <title>
+ Title
diff --git a/dev-python/sphinx-panels/sphinx-panels-0.6.0-r1.ebuild b/dev-python/sphinx-panels/sphinx-panels-0.6.0-r1.ebuild
index c076a2d8c2e1..4bb91bba37be 100644
--- a/dev-python/sphinx-panels/sphinx-panels-0.6.0-r1.ebuild
+++ b/dev-python/sphinx-panels/sphinx-panels-0.6.0-r1.ebuild
@@ -1,26 +1,47 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
inherit distutils-r1
DESCRIPTION="A sphinx extension for creating panels in a grid layout"
-HOMEPAGE="https://github.com/executablebooks/sphinx-panels"
-SRC_URI="https://github.com/executablebooks/sphinx-panels/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+HOMEPAGE="
+ https://github.com/executablebooks/sphinx-panels/
+ https://pypi.org/project/sphinx-panels/
+"
+SRC_URI="
+ https://github.com/executablebooks/sphinx-panels/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 x86"
+KEYWORDS="amd64 ~arm64 x86"
RDEPEND="
dev-python/docutils[${PYTHON_USEDEP}]
dev-python/sphinx[${PYTHON_USEDEP}]
"
+BDEPEND="
+ test? (
+ dev-python/pytest-regressions[${PYTHON_USEDEP}]
+ )
+"
-BDEPEND="test? ( dev-python/pytest-regressions[${PYTHON_USEDEP}] )"
+PATCHES=(
+ # https://github.com/executablebooks/sphinx-panels/pull/84
+ "${FILESDIR}/${P}-sphinx-7.patch"
+)
distutils_enable_tests pytest
distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
+
+src_prepare() {
+ # unpin deps
+ sed -i -e 's:,<[0-9.]*::' setup.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/sphinx-press-theme/Manifest b/dev-python/sphinx-press-theme/Manifest
index f7ef3f759bcb..2a73f2643d50 100644
--- a/dev-python/sphinx-press-theme/Manifest
+++ b/dev-python/sphinx-press-theme/Manifest
@@ -1 +1 @@
-DIST sphinx_press_theme-0.8.0.tar.gz 68878 BLAKE2B d03b361b4447a78575f7c0887bd01fd2e685030babb3062da67c571715e0f82eafb889e872dab9817a2813344172b3f3b94193aa10905bbbe2f45b64a9682cda SHA512 b4393a9200b42f414401ff5419fc51db8dd248c677a8ba234f2ae8cf5190cef2083c3ae25b7f5435223917a7c3e471dace6987e323fc885456af2467cedc8a78
+DIST sphinx_press_theme-0.9.1.tar.gz 254696 BLAKE2B fa1c26ed8f7e2ec375e3be716622669d02845c733f37fb42e5e960395e365aecc526b711ab5375fb15946612e0a1ad6dfc066b0aec8b68316fdc828d2582a4d7 SHA512 4c3fe68e6be32ac93b514aac10f26a096e4190c0428e79329448717691f896a847cfdfd756348511c6af14e37bc8492ca7ea905833317a5259c0858553714ec8
diff --git a/dev-python/sphinx-press-theme/sphinx-press-theme-0.8.0.ebuild b/dev-python/sphinx-press-theme/sphinx-press-theme-0.8.0.ebuild
deleted file mode 100644
index 5183c4bb3f18..000000000000
--- a/dev-python/sphinx-press-theme/sphinx-press-theme-0.8.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN="sphinx_press_theme"
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A Sphinx-doc theme based on Vuepress"
-HOMEPAGE="https://github.com/schettino72/sphinx_press_theme"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~riscv ~x86"
-
-RDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphinx-press-theme/sphinx-press-theme-0.9.1.ebuild b/dev-python/sphinx-press-theme/sphinx-press-theme-0.9.1.ebuild
new file mode 100644
index 000000000000..80a015bd957c
--- /dev/null
+++ b/dev-python/sphinx-press-theme/sphinx-press-theme-0.9.1.ebuild
@@ -0,0 +1,20 @@
+# 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
+PYPI_PN="sphinx_press_theme"
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A Sphinx-doc theme based on Vuepress"
+HOMEPAGE="https://github.com/schettino72/sphinx_press_theme"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~sparc x86"
+
+RDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphinx-prompt/sphinx-prompt-1.8.0.ebuild b/dev-python/sphinx-prompt/sphinx-prompt-1.8.0.ebuild
index f2c06681099c..f508d7f45965 100644
--- a/dev-python/sphinx-prompt/sphinx-prompt-1.8.0.ebuild
+++ b/dev-python/sphinx-prompt/sphinx-prompt-1.8.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/sphinx-py3doc-enhanced-theme/Manifest b/dev-python/sphinx-py3doc-enhanced-theme/Manifest
deleted file mode 100644
index 01d0c3c38fc3..000000000000
--- a/dev-python/sphinx-py3doc-enhanced-theme/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sphinx-py3doc-enhanced-theme-2.4.0.tar.gz 42093 BLAKE2B 020deec0d589d8052f2cce6faaeb8764b596a042584a0988dbcd73f0dc11c647db35b1b91fac63413ad211025fb98bbcc76a5bb2caa1cece56b907e021a0c20d SHA512 3ba362bf9179bdd69cd50fe7759cecd1ce89c7c5e7cd5f50d6f92af9835369436fc34b5dcc39295197828481041d30cf59dea3a929d232abd6b62e9e066b60f2
diff --git a/dev-python/sphinx-py3doc-enhanced-theme/metadata.xml b/dev-python/sphinx-py3doc-enhanced-theme/metadata.xml
deleted file mode 100644
index 316637ae8c85..000000000000
--- a/dev-python/sphinx-py3doc-enhanced-theme/metadata.xml
+++ /dev/null
@@ -1,17 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <maintainer>
- <email>contact@ionelmc.ro</email>
- <name>Ionel Cristian Mărieș</name>
- </maintainer>
- <remote-id type="github">ionelmc/sphinx-py3doc-enhanced-theme</remote-id>
- <remote-id type="pypi">sphinx_py3doc_enhanced_theme</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/sphinx-py3doc-enhanced-theme/sphinx-py3doc-enhanced-theme-2.4.0.ebuild b/dev-python/sphinx-py3doc-enhanced-theme/sphinx-py3doc-enhanced-theme-2.4.0.ebuild
deleted file mode 100644
index 1712badae37d..000000000000
--- a/dev-python/sphinx-py3doc-enhanced-theme/sphinx-py3doc-enhanced-theme-2.4.0.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Enhanced Sphinx theme (based on Python 3 docs)"
-HOMEPAGE="
- https://github.com/ionelmc/sphinx-py3doc-enhanced-theme/
- https://pypi.org/project/sphinx_py3doc_enhanced_theme/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
diff --git a/dev-python/sphinx-pytest/sphinx-pytest-0.2.0.ebuild b/dev-python/sphinx-pytest/sphinx-pytest-0.2.0.ebuild
index 13af7d2d51d2..ae39111fbe5d 100644
--- a/dev-python/sphinx-pytest/sphinx-pytest-0.2.0.ebuild
+++ b/dev-python/sphinx-pytest/sphinx-pytest-0.2.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
dev-python/pytest[${PYTHON_USEDEP}]
diff --git a/dev-python/sphinx-rtd-theme/Manifest b/dev-python/sphinx-rtd-theme/Manifest
index a4358d1fb919..b559a0e251d3 100644
--- a/dev-python/sphinx-rtd-theme/Manifest
+++ b/dev-python/sphinx-rtd-theme/Manifest
@@ -1,2 +1 @@
-DIST sphinx_rtd_theme-1.3.0.tar.gz 2785069 BLAKE2B f9849a72941024de7537a3517e226e2cdc6b2067e043bcdf8bbb4cc29cdf8b0be67121f721d92d30ffccea367af62ff0ce71d5d00d8eafbb65a2ebf4ef8e5159 SHA512 41e8ebffd057c1c6efb41a05547067016e73047a1894340df92bb7e4232559de15b200f57a34cf1cf9f66e4af7019d66d12939a68d3b2b46460a1794a10fc32e
DIST sphinx_rtd_theme-2.0.0.tar.gz 2785005 BLAKE2B a9971cba0bf04d786e41144fc04c8450be3291f0f5c3164b793258a489d5c1348bded906f47071ebd9aa4fa022bca157a18f758d3e2f48765ae5c65655a8c25f SHA512 3de989e24f2c187058b19017a92cf2159af0fdb32e5c3bc46992797a3be0f23ad75e1fd9b758e7d672eb38524798b4800de2e1b405910ea043dbd7d6f32a05da
diff --git a/dev-python/sphinx-rtd-theme/sphinx-rtd-theme-1.3.0.ebuild b/dev-python/sphinx-rtd-theme/sphinx-rtd-theme-1.3.0.ebuild
deleted file mode 100644
index bc95e3bee3c2..000000000000
--- a/dev-python/sphinx-rtd-theme/sphinx-rtd-theme-1.3.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="ReadTheDocs.org theme for Sphinx"
-HOMEPAGE="
- https://github.com/readthedocs/sphinx_rtd_theme/
- https://pypi.org/project/sphinx-rtd-theme/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/docutils[${PYTHON_USEDEP}]
- >=dev-python/sphinx-1.6[${PYTHON_USEDEP}]
- >=dev-python/sphinxcontrib-jquery-4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/readthedocs-sphinx-ext[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # remove upper bounds
- sed -i -e 's:,\?<[0-9.]*::' setup.cfg || die
- distutils-r1_src_prepare
-
- # CI=1 disables rebuilding webpack that requires npm use
- # yes, that surely makes sense
- export CI=1
-}
diff --git a/dev-python/sphinx-rtd-theme/sphinx-rtd-theme-2.0.0-r1.ebuild b/dev-python/sphinx-rtd-theme/sphinx-rtd-theme-2.0.0-r1.ebuild
new file mode 100644
index 000000000000..a0b94e8e7529
--- /dev/null
+++ b/dev-python/sphinx-rtd-theme/sphinx-rtd-theme-2.0.0-r1.ebuild
@@ -0,0 +1,42 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="ReadTheDocs.org theme for Sphinx"
+HOMEPAGE="
+ https://github.com/readthedocs/sphinx_rtd_theme/
+ https://pypi.org/project/sphinx-rtd-theme/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-5[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-jquery-4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/readthedocs-sphinx-ext[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # remove upper bounds
+ sed -i -e 's:,\?<[0-9.]*::' setup.cfg || die
+ distutils-r1_src_prepare
+
+ # CI=1 disables rebuilding webpack that requires npm use
+ # yes, that surely makes sense
+ export CI=1
+}
diff --git a/dev-python/sphinx-rtd-theme/sphinx-rtd-theme-2.0.0.ebuild b/dev-python/sphinx-rtd-theme/sphinx-rtd-theme-2.0.0.ebuild
deleted file mode 100644
index eed7b42a6f04..000000000000
--- a/dev-python/sphinx-rtd-theme/sphinx-rtd-theme-2.0.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="ReadTheDocs.org theme for Sphinx"
-HOMEPAGE="
- https://github.com/readthedocs/sphinx_rtd_theme/
- https://pypi.org/project/sphinx-rtd-theme/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/docutils[${PYTHON_USEDEP}]
- >=dev-python/sphinx-5[${PYTHON_USEDEP}]
- >=dev-python/sphinxcontrib-jquery-4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/readthedocs-sphinx-ext[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # remove upper bounds
- sed -i -e 's:,\?<[0-9.]*::' setup.cfg || die
- distutils-r1_src_prepare
-
- # CI=1 disables rebuilding webpack that requires npm use
- # yes, that surely makes sense
- export CI=1
-}
diff --git a/dev-python/sphinx-tabs/Manifest b/dev-python/sphinx-tabs/Manifest
index 050142c2b9f0..61083abe9c28 100644
--- a/dev-python/sphinx-tabs/Manifest
+++ b/dev-python/sphinx-tabs/Manifest
@@ -1 +1 @@
-DIST sphinx-tabs-3.4.4.gh.tar.gz 524297 BLAKE2B 5361006ca99be157f01a7efd6ea50bbd87c1672caf0badbbde11ef832dddfd40232723fc5900a37fdb18112c5e4ddd9717829e96fd6e3afad8205c11c209d439 SHA512 365c472e88016e5c2d83a509d617ff13fc2c8c0a35fa9626244de9af2a242c2bbc4941241b3d1d863d261b15967a5694a0edb6c1d5614dce9d72531ea5138e03
+DIST sphinx-tabs-3.4.5.gh.tar.gz 524298 BLAKE2B 64f7a9e470e35e4e0c2e80c5207fcaa920adbf198c3bcd501d316282bf1c0f052effc6e885fcbd1385395f4ac9e5721c0904b673e8975ef8aa3bd68ebe9ae415 SHA512 530b6929733385a42ef3f1828f0d7aa4b442eb9ced0befe9adeaf4b559a62cb2a1865443e554493b8fa2c6a9d2dd5dfdbf55078ee63d21f1c22afd8275a690b9
diff --git a/dev-python/sphinx-tabs/sphinx-tabs-3.4.4.ebuild b/dev-python/sphinx-tabs/sphinx-tabs-3.4.4.ebuild
deleted file mode 100644
index 27ddebbe3002..000000000000
--- a/dev-python/sphinx-tabs/sphinx-tabs-3.4.4.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Tabbed views for Sphinx"
-HOMEPAGE="
- https://github.com/executablebooks/sphinx-tabs/
- https://pypi.org/project/sphinx-tabs/
-"
-SRC_URI="
- https://github.com/executablebooks/sphinx-tabs/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/beautifulsoup4[${PYTHON_USEDEP}]
- dev-python/pytest-regressions[${PYTHON_USEDEP}]
- dev-python/pygments[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
-
-EPYTEST_DESELECT=(
- # Unpackaged rinohtype
- tests/test_build.py::test_rinohtype_pdf
-)
-
-src_prepare() {
- # annoying, incorrect version limitations
- sed -i -e '/install_requires/d' setup.py || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/sphinx-tabs/sphinx-tabs-3.4.5.ebuild b/dev-python/sphinx-tabs/sphinx-tabs-3.4.5.ebuild
new file mode 100644
index 000000000000..209cd2a5a1b5
--- /dev/null
+++ b/dev-python/sphinx-tabs/sphinx-tabs-3.4.5.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
+
+DESCRIPTION="Tabbed views for Sphinx"
+HOMEPAGE="
+ https://github.com/executablebooks/sphinx-tabs/
+ https://pypi.org/project/sphinx-tabs/
+"
+SRC_URI="
+ https://github.com/executablebooks/sphinx-tabs/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/beautifulsoup4[${PYTHON_USEDEP}]
+ dev-python/pytest-regressions[${PYTHON_USEDEP}]
+ dev-python/pygments[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
+
+EPYTEST_DESELECT=(
+ # Unpackaged rinohtype
+ tests/test_build.py::test_rinohtype_pdf
+)
diff --git a/dev-python/sphinx-testing/Manifest b/dev-python/sphinx-testing/Manifest
deleted file mode 100644
index 8ad7d89fd404..000000000000
--- a/dev-python/sphinx-testing/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sphinx-testing-1.0.1.tar.gz 11513 BLAKE2B 46ede243507a0d90b2ad4b918deadb818491bb0ed15ce41886040c52650f9fd348ff57c03766fd1e7719bbb54726f8915e091cf94a5396da946102ca49fd07b2 SHA512 2d377c0c6fe8e34a463b35e96938507a3ca35fa06cd19a2682eb55825e1b88982a80a02ebb9a02a47f11ca5e8fe6a5b9e5c8114d955fa3b774e0148e82121818
diff --git a/dev-python/sphinx-testing/metadata.xml b/dev-python/sphinx-testing/metadata.xml
deleted file mode 100644
index d37bbfdfda5f..000000000000
--- a/dev-python/sphinx-testing/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="github">sphinx-doc/sphinx-testing</remote-id>
- <remote-id type="pypi">sphinx-testing</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/sphinx-testing/sphinx-testing-1.0.1-r2.ebuild b/dev-python/sphinx-testing/sphinx-testing-1.0.1-r2.ebuild
deleted file mode 100644
index 75441286f25d..000000000000
--- a/dev-python/sphinx-testing/sphinx-testing-1.0.1-r2.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..10} )
-PYPI_NO_NORMALIZE=1
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Testing utility classes and functions for Sphinx extensions"
-HOMEPAGE="https://github.com/sphinx-doc/sphinx-testing"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/sphinx/Manifest b/dev-python/sphinx/Manifest
index aa8c8615a5e3..da36c871619f 100644
--- a/dev-python/sphinx/Manifest
+++ b/dev-python/sphinx/Manifest
@@ -1 +1,5 @@
DIST sphinx-7.2.6.gh.tar.gz 7067425 BLAKE2B 4da1cb5ccebea4df0dc134c552311d7b70ce9b76424ea4355ad67b1ece60c9b445e56c96b838832d4df2f50940832b3fa9555b596390464a4017a573bcf514c3 SHA512 204e859318ad5044639f2e682098b07c7cc675b54ba801feeb3322290bfd15316cc15a2cae8fa6a55e6ec6d1e9690790e5402652eb04720bfe96e172f4c8bdbc
+DIST sphinx-7.3.7.gh.tar.gz 7165383 BLAKE2B bcc68f26937e6aefe60cedea533a5c8e245c76b59ab4913fb6516f285e3afc32be60b336c662ac8305fb88e82fcc2b477128f2d8b9bf92f037b124f4c855df2a SHA512 540553ecddc55b3e673c79bc776a899d2c660f1e93ef819711be52174accf5b70465883a46bed81d163534e56718caf0765b4bae153e9307a3792387d8228df5
+DIST sphinx-7.4.6.gh.tar.gz 8187130 BLAKE2B 69cf73dc3644ac0fbb4e2d26ee07652b4a16bb2d87fba1a6f5a3dba74533af470d2449658eb7029479618d47ea34d6dc896126cfe330d31b343c0a3300ba90b3 SHA512 7015aa5b926856e1e3ed35b559a78dbeb8a1746028f4a488a3237c65ea5eb786a9feff05649b8126395c6f8277802a093c704ca13e941d3aab561b2fca8b0de8
+DIST sphinx-7.4.7.gh.tar.gz 8135111 BLAKE2B b5a511355b16edfbcf32f9a20855466251c592a7fbffa33a84d84369f2a9de7767cd9529cce3f350cdf25bfbb53534ddea70d9482c1d6d78e9ab160d2c9821e8 SHA512 bfb48d4dc09f108986c5b7737710c7495fbdd83eb18f2a1c77bc9d324c499bffb5103f65ebf7396260f10c0f89eddb1ae5eb8d037bd33fffd748483f4391a7e1
+DIST sphinx-8.0.0rc1.gh.tar.gz 8139326 BLAKE2B 3cb69ece3d6f85ceebd494abe9ae11a76b3473eca52611b197cd3a34985e37bc0275c9c194d87ca529a63d46976c9624ff9270734b638f8cbfb81c25f5fee0be SHA512 cd7e1b01a2a6dcc3106aef6f110bbd1c4cc06865e7c20c85e65b191128c4a28c836c5401f02e6a812317033b97ff4f683948b78d3edd56fbb8d12d6a7ada52f6
diff --git a/dev-python/sphinx/files/sphinx-7.3.7-opt-defusedxml.patch b/dev-python/sphinx/files/sphinx-7.3.7-opt-defusedxml.patch
new file mode 100644
index 000000000000..cb70e2cf89fc
--- /dev/null
+++ b/dev-python/sphinx/files/sphinx-7.3.7-opt-defusedxml.patch
@@ -0,0 +1,34 @@
+From ce86026f3b667949ef39f7fdab9a40941d99c5ca Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sat, 11 May 2024 18:31:02 +0200
+Subject: [PATCH] DEPS: Lazy import `defusedxml` only when necessary (#12362)
+
+The `defusedxml` dependency was added to `sphinx.testing` in sphinx 7.3,
+but it is not part of the core sphinx dependencies, and not strictly necessary for the running of the pytest plugin.
+This commit moves the import into the only function which uses it,
+so that the pytest plugins can be used again without this dependency.
+---
+ sphinx/testing/util.py | 3 ++-
+ 1 file changed, 2 insertions(+), 1 deletion(-)
+
+diff --git a/sphinx/testing/util.py b/sphinx/testing/util.py
+index d1de8ea2b7..b2df709eea 100644
+--- a/sphinx/testing/util.py
++++ b/sphinx/testing/util.py
+@@ -11,7 +11,6 @@
+ from types import MappingProxyType
+ from typing import TYPE_CHECKING
+
+-from defusedxml.ElementTree import parse as xml_parse
+ from docutils import nodes
+ from docutils.parsers.rst import directives, roles
+
+@@ -73,6 +72,8 @@ def assert_node(node: Node, cls: Any = None, xpath: str = "", **kwargs: Any) ->
+ # keep this to restrict the API usage and to have a correct return type
+ def etree_parse(path: str | os.PathLike[str]) -> ElementTree:
+ """Parse a file into a (safe) XML element tree."""
++ from defusedxml.ElementTree import parse as xml_parse
++
+ return xml_parse(path)
+
+
diff --git a/dev-python/sphinx/sphinx-7.3.7-r2.ebuild b/dev-python/sphinx/sphinx-7.3.7-r2.ebuild
new file mode 100644
index 000000000000..43739d120258
--- /dev/null
+++ b/dev-python/sphinx/sphinx-7.3.7-r2.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Python documentation generator"
+HOMEPAGE="
+ https://www.sphinx-doc.org/
+ https://github.com/sphinx-doc/sphinx/
+ https://pypi.org/project/Sphinx/
+"
+SRC_URI="
+ https://github.com/sphinx-doc/sphinx/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+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="doc latex"
+
+RDEPEND="
+ >=dev-python/alabaster-0.7.14[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.9[${PYTHON_USEDEP}]
+ <dev-python/docutils-0.22[${PYTHON_USEDEP}]
+ >=dev-python/docutils-0.18.1[${PYTHON_USEDEP}]
+ >=dev-python/imagesize-1.3[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.14[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.25.0[${PYTHON_USEDEP}]
+ >=dev-python/snowballstemmer-2.0[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-applehelp[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-devhelp[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-jsmath[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-htmlhelp-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-serializinghtml-1.1.9[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-qthelp[${PYTHON_USEDEP}]
+ >=dev-python/packaging-21.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2[${PYTHON_USEDEP}]
+ ' 3.10)
+ latex? (
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ app-text/dvipng
+ )
+ !dev-python/namespace-sphinxcontrib
+"
+BDEPEND="
+ doc? (
+ dev-python/sphinxcontrib-websupport[${PYTHON_USEDEP}]
+ media-gfx/graphviz
+ )
+ test? (
+ app-text/dvipng
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.0[${PYTHON_USEDEP}]
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ virtual/imagemagick-tools[jpeg,png,svg]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/sphinx-3.2.1-doc-link.patch"
+ "${FILESDIR}/sphinx-4.3.2-doc-link.patch"
+ # https://github.com/sphinx-doc/sphinx/pull/12362
+ "${FILESDIR}/${P}-opt-defusedxml.patch"
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # disable internet access
+ sed -i -e 's:^intersphinx_mapping:disabled_&:' \
+ doc/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # we can't use distutils_enable_sphinx because it would
+ # introduce a dep on itself
+ use doc && build_sphinx doc
+}
+
+python_test() {
+ mkdir -p "${BUILD_DIR}/sphinx_tempdir" || die
+ local -x SPHINX_TEST_TEMPDIR="${BUILD_DIR}/sphinx_tempdir"
+
+ local EPYTEST_DESELECT=(
+ # less interesting failures
+ tests/test_builders/test_build_latex.py::test_build_latex_doc
+ tests/test_extensions/test_ext_math.py::test_imgmath_png
+ tests/test_extensions/test_ext_math.py::test_imgmath_numfig_html
+ )
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_special_members
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_type_aliases
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_format_fully_qualified
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_none
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_signature
+ )
+ ;;
+ pypy3)
+ EPYTEST_DESELECT+=(
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_exception
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_ignore_module_all
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_inherited_members_None
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_subclass_of_builtin_class
+ tests/test_extensions/test_ext_autodoc.py::test_automethod_for_builtin
+ tests/test_extensions/test_ext_autodoc.py::test_cython
+ tests/test_extensions/test_ext_autodoc.py::test_format_signature
+ tests/test_extensions/test_ext_autodoc.py::test_partialfunction
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_autodoc_process_bases
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_show_inheritance_for_decendants_of_generic_type
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_show_inheritance_for_subclass_of_generic_type
+ tests/test_extensions/test_ext_autodoc_autofunction.py::test_builtin_function
+ tests/test_extensions/test_ext_autodoc_autofunction.py::test_methoddescriptor
+ tests/test_extensions/test_ext_autodoc_automodule.py::test_automodule_inherited_members
+ tests/test_extensions/test_ext_autodoc_preserve_defaults.py::test_preserve_defaults_special_constructs
+ tests/test_extensions/test_ext_autosummary.py::test_autosummary_generate_content_for_module
+ tests/test_extensions/test_ext_autosummary.py::test_autosummary_generate_content_for_module_skipped
+ tests/test_util/test_util_inspect.py::test_isattributedescriptor
+ tests/test_util/test_util_inspect.py::test_signature
+ tests/test_util/test_util_typing.py::test_is_invalid_builtin_class
+ )
+ ;;
+ esac
+
+ # note: pytest-xdist causes random test failures
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/sphinx/sphinx-7.4.6.ebuild b/dev-python/sphinx/sphinx-7.4.6.ebuild
new file mode 100644
index 000000000000..b2268853964a
--- /dev/null
+++ b/dev-python/sphinx/sphinx-7.4.6.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Python documentation generator"
+HOMEPAGE="
+ https://www.sphinx-doc.org/
+ https://github.com/sphinx-doc/sphinx/
+ https://pypi.org/project/Sphinx/
+"
+SRC_URI="
+ https://github.com/sphinx-doc/sphinx/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+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="doc latex"
+
+RDEPEND="
+ >=dev-python/alabaster-0.7.14[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.13[${PYTHON_USEDEP}]
+ <dev-python/docutils-0.22[${PYTHON_USEDEP}]
+ >=dev-python/docutils-0.20[${PYTHON_USEDEP}]
+ >=dev-python/imagesize-1.3[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.14[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.30.0[${PYTHON_USEDEP}]
+ >=dev-python/snowballstemmer-2.2[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-applehelp[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-devhelp[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-jsmath[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-htmlhelp-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-serializinghtml-1.1.9[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-qthelp[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2[${PYTHON_USEDEP}]
+ ' 3.10)
+ latex? (
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ app-text/dvipng
+ )
+"
+BDEPEND="
+ doc? (
+ dev-python/sphinxcontrib-websupport[${PYTHON_USEDEP}]
+ media-gfx/graphviz
+ )
+ test? (
+ app-text/dvipng
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.0[${PYTHON_USEDEP}]
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ virtual/imagemagick-tools[jpeg,png,svg]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/sphinx-3.2.1-doc-link.patch"
+ #"${FILESDIR}/sphinx-4.3.2-doc-link.patch"
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # disable internet access
+ sed -i -e 's:^intersphinx_mapping:disabled_&:' \
+ doc/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # we can't use distutils_enable_sphinx because it would
+ # introduce a dep on itself
+ use doc && build_sphinx doc
+}
+
+python_test() {
+ mkdir -p "${BUILD_DIR}/sphinx_tempdir" || die
+ local -x SPHINX_TEST_TEMPDIR="${BUILD_DIR}/sphinx_tempdir"
+
+ local EPYTEST_DESELECT=(
+ # less interesting failures
+ tests/test_builders/test_build_latex.py::test_build_latex_doc
+ tests/test_extensions/test_ext_math.py::test_imgmath_png
+ tests/test_extensions/test_ext_math.py::test_imgmath_numfig_html
+ )
+ case ${EPYTHON} in
+ python3.13x)
+ EPYTEST_DESELECT+=(
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_special_members
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_type_aliases
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_format_fully_qualified
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_none
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_signature
+ )
+ ;;
+ pypy3)
+ EPYTEST_DESELECT+=(
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_exception
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_ignore_module_all
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_inherited_members_None
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_subclass_of_builtin_class
+ tests/test_extensions/test_ext_autodoc.py::test_automethod_for_builtin
+ tests/test_extensions/test_ext_autodoc.py::test_cython
+ tests/test_extensions/test_ext_autodoc.py::test_format_signature
+ tests/test_extensions/test_ext_autodoc.py::test_partialfunction
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_autodoc_process_bases
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_show_inheritance_for_decendants_of_generic_type
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_show_inheritance_for_subclass_of_generic_type
+ tests/test_extensions/test_ext_autodoc_autofunction.py::test_builtin_function
+ tests/test_extensions/test_ext_autodoc_autofunction.py::test_methoddescriptor
+ tests/test_extensions/test_ext_autodoc_automodule.py::test_automodule_inherited_members
+ tests/test_extensions/test_ext_autodoc_preserve_defaults.py::test_preserve_defaults_special_constructs
+ tests/test_extensions/test_ext_autosummary.py::test_autosummary_generate_content_for_module
+ tests/test_extensions/test_ext_autosummary.py::test_autosummary_generate_content_for_module_skipped
+ tests/test_util/test_util_inspect.py::test_isattributedescriptor
+ tests/test_util/test_util_inspect.py::test_signature
+ tests/test_util/test_util_typing.py::test_is_invalid_builtin_class
+ )
+ ;;
+ esac
+
+ # note: pytest-xdist causes random test failures
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p rerunfailures --reruns=5
+}
diff --git a/dev-python/sphinx/sphinx-7.4.7.ebuild b/dev-python/sphinx/sphinx-7.4.7.ebuild
new file mode 100644
index 000000000000..b2268853964a
--- /dev/null
+++ b/dev-python/sphinx/sphinx-7.4.7.ebuild
@@ -0,0 +1,142 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+DESCRIPTION="Python documentation generator"
+HOMEPAGE="
+ https://www.sphinx-doc.org/
+ https://github.com/sphinx-doc/sphinx/
+ https://pypi.org/project/Sphinx/
+"
+SRC_URI="
+ https://github.com/sphinx-doc/sphinx/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD-2"
+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="doc latex"
+
+RDEPEND="
+ >=dev-python/alabaster-0.7.14[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.13[${PYTHON_USEDEP}]
+ <dev-python/docutils-0.22[${PYTHON_USEDEP}]
+ >=dev-python/docutils-0.20[${PYTHON_USEDEP}]
+ >=dev-python/imagesize-1.3[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.14[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.30.0[${PYTHON_USEDEP}]
+ >=dev-python/snowballstemmer-2.2[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-applehelp[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-devhelp[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-jsmath[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-htmlhelp-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-serializinghtml-1.1.9[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-qthelp[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2[${PYTHON_USEDEP}]
+ ' 3.10)
+ latex? (
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ app-text/dvipng
+ )
+"
+BDEPEND="
+ doc? (
+ dev-python/sphinxcontrib-websupport[${PYTHON_USEDEP}]
+ media-gfx/graphviz
+ )
+ test? (
+ app-text/dvipng
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.0[${PYTHON_USEDEP}]
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ virtual/imagemagick-tools[jpeg,png,svg]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/sphinx-3.2.1-doc-link.patch"
+ #"${FILESDIR}/sphinx-4.3.2-doc-link.patch"
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # disable internet access
+ sed -i -e 's:^intersphinx_mapping:disabled_&:' \
+ doc/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # we can't use distutils_enable_sphinx because it would
+ # introduce a dep on itself
+ use doc && build_sphinx doc
+}
+
+python_test() {
+ mkdir -p "${BUILD_DIR}/sphinx_tempdir" || die
+ local -x SPHINX_TEST_TEMPDIR="${BUILD_DIR}/sphinx_tempdir"
+
+ local EPYTEST_DESELECT=(
+ # less interesting failures
+ tests/test_builders/test_build_latex.py::test_build_latex_doc
+ tests/test_extensions/test_ext_math.py::test_imgmath_png
+ tests/test_extensions/test_ext_math.py::test_imgmath_numfig_html
+ )
+ case ${EPYTHON} in
+ python3.13x)
+ EPYTEST_DESELECT+=(
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_special_members
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_type_aliases
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_format_fully_qualified
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_none
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_signature
+ )
+ ;;
+ pypy3)
+ EPYTEST_DESELECT+=(
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_exception
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_ignore_module_all
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_inherited_members_None
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_subclass_of_builtin_class
+ tests/test_extensions/test_ext_autodoc.py::test_automethod_for_builtin
+ tests/test_extensions/test_ext_autodoc.py::test_cython
+ tests/test_extensions/test_ext_autodoc.py::test_format_signature
+ tests/test_extensions/test_ext_autodoc.py::test_partialfunction
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_autodoc_process_bases
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_show_inheritance_for_decendants_of_generic_type
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_show_inheritance_for_subclass_of_generic_type
+ tests/test_extensions/test_ext_autodoc_autofunction.py::test_builtin_function
+ tests/test_extensions/test_ext_autodoc_autofunction.py::test_methoddescriptor
+ tests/test_extensions/test_ext_autodoc_automodule.py::test_automodule_inherited_members
+ tests/test_extensions/test_ext_autodoc_preserve_defaults.py::test_preserve_defaults_special_constructs
+ tests/test_extensions/test_ext_autosummary.py::test_autosummary_generate_content_for_module
+ tests/test_extensions/test_ext_autosummary.py::test_autosummary_generate_content_for_module_skipped
+ tests/test_util/test_util_inspect.py::test_isattributedescriptor
+ tests/test_util/test_util_inspect.py::test_signature
+ tests/test_util/test_util_typing.py::test_is_invalid_builtin_class
+ )
+ ;;
+ esac
+
+ # note: pytest-xdist causes random test failures
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p rerunfailures --reruns=5
+}
diff --git a/dev-python/sphinx/sphinx-8.0.0_rc1.ebuild b/dev-python/sphinx/sphinx-8.0.0_rc1.ebuild
new file mode 100644
index 000000000000..af4ae1849105
--- /dev/null
+++ b/dev-python/sphinx/sphinx-8.0.0_rc1.ebuild
@@ -0,0 +1,144 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1
+
+MY_P=${P/_}
+DESCRIPTION="Python documentation generator"
+HOMEPAGE="
+ https://www.sphinx-doc.org/
+ https://github.com/sphinx-doc/sphinx/
+ https://pypi.org/project/Sphinx/
+"
+SRC_URI="
+ https://github.com/sphinx-doc/sphinx/archive/v${PV/_}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD-2"
+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="doc latex"
+
+RDEPEND="
+ >=dev-python/alabaster-0.7.14[${PYTHON_USEDEP}]
+ >=dev-python/Babel-2.13[${PYTHON_USEDEP}]
+ <dev-python/docutils-0.22[${PYTHON_USEDEP}]
+ >=dev-python/docutils-0.20[${PYTHON_USEDEP}]
+ >=dev-python/imagesize-1.3[${PYTHON_USEDEP}]
+ >=dev-python/jinja-3.1[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.14[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.30.0[${PYTHON_USEDEP}]
+ >=dev-python/snowballstemmer-2.2[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-applehelp[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-devhelp[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-jsmath[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-htmlhelp-2.0.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinxcontrib-serializinghtml-1.1.9[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-qthelp[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/tomli-2[${PYTHON_USEDEP}]
+ ' 3.10)
+ latex? (
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ app-text/dvipng
+ )
+"
+BDEPEND="
+ doc? (
+ dev-python/sphinxcontrib-websupport[${PYTHON_USEDEP}]
+ media-gfx/graphviz
+ )
+ test? (
+ app-text/dvipng
+ >=dev-python/cython-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.0[${PYTHON_USEDEP}]
+ dev-texlive/texlive-fontsextra
+ dev-texlive/texlive-latexextra
+ dev-texlive/texlive-luatex
+ virtual/imagemagick-tools[jpeg,png,svg]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/sphinx-3.2.1-doc-link.patch"
+ #"${FILESDIR}/sphinx-4.3.2-doc-link.patch"
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # disable internet access
+ sed -i -e 's:^intersphinx_mapping:disabled_&:' \
+ doc/conf.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_compile_all() {
+ # we can't use distutils_enable_sphinx because it would
+ # introduce a dep on itself
+ use doc && build_sphinx doc
+}
+
+python_test() {
+ mkdir -p "${BUILD_DIR}/sphinx_tempdir" || die
+ local -x SPHINX_TEST_TEMPDIR="${BUILD_DIR}/sphinx_tempdir"
+
+ local EPYTEST_DESELECT=(
+ # less interesting failures
+ tests/test_builders/test_build_latex.py::test_build_latex_doc
+ tests/test_extensions/test_ext_math.py::test_imgmath_png
+ tests/test_extensions/test_ext_math.py::test_imgmath_numfig_html
+ )
+ case ${EPYTHON} in
+ python3.13x)
+ EPYTEST_DESELECT+=(
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_special_members
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_type_aliases
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_format_fully_qualified
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_none
+ tests/test_extensions/test_ext_autodoc_configs.py::test_autodoc_typehints_signature
+ )
+ ;;
+ pypy3)
+ EPYTEST_DESELECT+=(
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_exception
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_ignore_module_all
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_inherited_members_None
+ tests/test_extensions/test_ext_autodoc.py::test_autodoc_subclass_of_builtin_class
+ tests/test_extensions/test_ext_autodoc.py::test_automethod_for_builtin
+ tests/test_extensions/test_ext_autodoc.py::test_cython
+ tests/test_extensions/test_ext_autodoc.py::test_format_signature
+ tests/test_extensions/test_ext_autodoc.py::test_partialfunction
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_autodoc_process_bases
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_show_inheritance_for_decendants_of_generic_type
+ tests/test_extensions/test_ext_autodoc_autoclass.py::test_show_inheritance_for_subclass_of_generic_type
+ tests/test_extensions/test_ext_autodoc_autofunction.py::test_builtin_function
+ tests/test_extensions/test_ext_autodoc_autofunction.py::test_methoddescriptor
+ tests/test_extensions/test_ext_autodoc_automodule.py::test_automodule_inherited_members
+ tests/test_extensions/test_ext_autodoc_preserve_defaults.py::test_preserve_defaults_special_constructs
+ tests/test_extensions/test_ext_autosummary.py::test_autosummary_generate_content_for_module
+ tests/test_extensions/test_ext_autosummary.py::test_autosummary_generate_content_for_module_skipped
+ tests/test_util/test_util_inspect.py::test_isattributedescriptor
+ tests/test_util/test_util_inspect.py::test_signature
+ tests/test_util/test_util_typing.py::test_is_invalid_builtin_class
+ )
+ ;;
+ esac
+
+ # note: pytest-xdist causes random test failures
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p rerunfailures --reruns=5
+}
diff --git a/dev-python/sphinxcontrib-apidoc/Manifest b/dev-python/sphinxcontrib-apidoc/Manifest
index 2fca730c5316..30448b550920 100644
--- a/dev-python/sphinxcontrib-apidoc/Manifest
+++ b/dev-python/sphinxcontrib-apidoc/Manifest
@@ -1,2 +1,2 @@
-DIST sphinxcontrib-apidoc-0.3.0.tar.gz 15396 BLAKE2B de726316daa81eae1a8012c8be4acf3850f910af562d23dc17194afc86b40daf632bd5cdd61153299f35f3326b181c3b67e75925f0d95ce4cea81e1766c7828d SHA512 043f9b36eaff7b3f6d23c834dd3947e2b029c66010b3862f1658f03e0fb6c4aac3304f49465dd515a30107a685dc704a0e319675c9d7b27897445a2c315d07a1
DIST sphinxcontrib-apidoc-0.4.0.tar.gz 15958 BLAKE2B 9cd806eb36cd2aa35c797b35e8e699c4a918e8e3d19e36ea9d79eb73dfce301a24ee33bc647ba180283837488aa00628b4882d08c3d492b196a4f663cad26f48 SHA512 1e33fd6df91adfb65ea511fe5ee55ccff9a237488cca406f46b33a2bf8eb69b884b274e9c94bfd868fef67b2e0dfbb19f5e2d62486c54a85755a9034ca5c715c
+DIST sphinxcontrib-apidoc-0.5.0.tar.gz 16117 BLAKE2B f486cfdf2cbf74c2ac35e688671f64d7e8a8d5b30c5e932036d1dcb2c58bd32b4bfeb14680311cf3dd1345b0548b0b083a1d30a667f934c08a2c2e431bdc2cdc SHA512 36858dab0915f4aac48b2bab1aeea830e35e1e865ff5f4726df0c9f9c2917d450ed1e27b1db9d143fade09369201b1b6b72f0264e674130f62a67df494c8f646
diff --git a/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.3.0-r1.ebuild b/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.3.0-r1.ebuild
deleted file mode 100644
index 168b124a409b..000000000000
--- a/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.3.0-r1.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sphinx extension for running sphinx-apidoc on each build"
-HOMEPAGE="
- https://pypi.org/project/sphinxcontrib-apidoc/
- https://github.com/sphinx-contrib/apidoc/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-BDEPEND="
- dev-python/pbr[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${BDEPEND}
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- distutils_write_namespace sphinxcontrib
- cd "${T}" || die
- epytest "${S}"/tests
-}
diff --git a/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.5.0.ebuild b/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.5.0.ebuild
new file mode 100644
index 000000000000..0dd42a863950
--- /dev/null
+++ b/dev-python/sphinxcontrib-apidoc/sphinxcontrib-apidoc-0.5.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2021-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx extension for running sphinx-apidoc on each build"
+HOMEPAGE="
+ https://pypi.org/project/sphinxcontrib-apidoc/
+ https://github.com/sphinx-contrib/apidoc/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~riscv ~x86"
+
+BDEPEND="
+ dev-python/pbr[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${BDEPEND}
+ >=dev-python/sphinx-5.0.0[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ distutils_write_namespace sphinxcontrib
+ cd "${T}" || die
+ epytest "${S}"/tests
+}
diff --git a/dev-python/sphinxcontrib-applehelp/Manifest b/dev-python/sphinxcontrib-applehelp/Manifest
index 297cb74c69a1..735617b724ea 100644
--- a/dev-python/sphinxcontrib-applehelp/Manifest
+++ b/dev-python/sphinxcontrib-applehelp/Manifest
@@ -1 +1 @@
-DIST sphinxcontrib_applehelp-1.0.7.tar.gz 19543 BLAKE2B c44cdb9403fc9272e5220f23b3ce6d9eb63f754b526b450d857f0260e92ab92e35bf814df40ba11186ae7bbd070516fdccf475c8777113393327c33afd42eb07 SHA512 8ab1e8ce73591a32c4d73d022ad87e003e6fba36bf4f670f7b9a6b213ed8f396506d8e2998182e19ec9c7ccf21e7d52b5de9b7a8ca0ed676738c4e10fbd738b2
+DIST sphinxcontrib_applehelp-1.0.8.tar.gz 19674 BLAKE2B f449cdc28cbf8374cdfa5bdacb501c3bfc8a4a93c855c220e66989d538f76653ddf4b81fb0534dd043771b60d0de01c9d3c30cecfb02cbb2fc0c0cd2320b377d SHA512 0afd38caf07e60b45b47e7e1cc8dea0d34578f7501a6000c6bc860454bb71d8c9d59c7b66ee39c173d635c1944735782762e713598d99dd4fefda51ccd1d74d3
diff --git a/dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.7.ebuild b/dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.7.ebuild
deleted file mode 100644
index 5fa46a5b34d9..000000000000
--- a/dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.7.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sphinx extension which outputs Apple help book"
-HOMEPAGE="
- https://www.sphinx-doc.org/
- https://github.com/sphinx-doc/sphinxcontrib-applehelp/
- https://pypi.org/project/sphinxcontrib-applehelp/
-"
-
-LICENSE="BSD-2"
-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"
-
-PDEPEND="
- >=dev-python/sphinx-5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? ( ${PDEPEND} )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.8.ebuild b/dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.8.ebuild
new file mode 100644
index 000000000000..d2e1821415ee
--- /dev/null
+++ b/dev-python/sphinxcontrib-applehelp/sphinxcontrib-applehelp-1.0.8.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx extension which outputs Apple help book"
+HOMEPAGE="
+ https://www.sphinx-doc.org/
+ https://github.com/sphinx-doc/sphinxcontrib-applehelp/
+ https://pypi.org/project/sphinxcontrib-applehelp/
+"
+
+LICENSE="BSD-2"
+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"
+
+PDEPEND="
+ >=dev-python/sphinx-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? ( ${PDEPEND} )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sphinxcontrib-asyncio/Manifest b/dev-python/sphinxcontrib-asyncio/Manifest
deleted file mode 100644
index 57f179b3d9ef..000000000000
--- a/dev-python/sphinxcontrib-asyncio/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sphinxcontrib-asyncio-0.3.0.tar.gz 11622 BLAKE2B 8c3358ad191e12e79767be6e6f3800e5de423d9a5ad005bdb416aa7a601cddc5f115db3e9b27213c06dbc341b671cbacd00217b65496baada40bfe257069abfa SHA512 fa66a2a9b5f89327686481f46d8e5be0b674f6355c8c0eeb862bf0ca0b5bb848121c5ed153780f653242faf1b82debc6917c3f6046244cce0f1423303a324f29
diff --git a/dev-python/sphinxcontrib-asyncio/metadata.xml b/dev-python/sphinxcontrib-asyncio/metadata.xml
deleted file mode 100644
index 0fe2c2780fe9..000000000000
--- a/dev-python/sphinxcontrib-asyncio/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="github">aio-libs/sphinxcontrib-asyncio</remote-id>
- <remote-id type="pypi">sphinxcontrib-asyncio</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/sphinxcontrib-asyncio/sphinxcontrib-asyncio-0.3.0-r1.ebuild b/dev-python/sphinxcontrib-asyncio/sphinxcontrib-asyncio-0.3.0-r1.ebuild
deleted file mode 100644
index ac205e0d364a..000000000000
--- a/dev-python/sphinxcontrib-asyncio/sphinxcontrib-asyncio-0.3.0-r1.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="sphinx extension to support coroutines in markup"
-HOMEPAGE="
- https://github.com/aio-libs/sphinxcontrib-asyncio/
- https://pypi.org/project/sphinxcontrib-asyncio/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
-
-distutils_enable_sphinx docs
-
-src_prepare() {
- rm sphinxcontrib/__init__.py || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/sphinxcontrib-autoprogram/Manifest b/dev-python/sphinxcontrib-autoprogram/Manifest
index 4575caa607bb..fc0a8b39cb64 100644
--- a/dev-python/sphinxcontrib-autoprogram/Manifest
+++ b/dev-python/sphinxcontrib-autoprogram/Manifest
@@ -1 +1 @@
-DIST sphinxcontrib-autoprogram-0.1.8.tar.gz 18656 BLAKE2B a1334b0d9717f59ffb67c8a60e03b34c1fb0168cc86500ee14c06c44bef5bec1b484997d00be6586832e21e8a97662628636766558af9f79d40eb3da0ae21122 SHA512 a73d52a6195e3b637758b36f86afe07090bab09a655a86dbde3fefaee59f634c3fc880d436c3b14d9d7d4fb58f74765bd13457d0fc9192f1ffd4d654dc6efcd5
+DIST sphinxcontrib-autoprogram-0.1.9.tar.gz 18843 BLAKE2B 9a081113ea2f315618926e6ab88c81fd875899431f95539e9bdc343a88e9422345ef36c442d3697bec9199b8723959e12300a0c26cfd9ec36a2dd18dc76392ea SHA512 f0b4ebffda493c41a88b6fb30f12952bf136134823125e81a473fa9015d11f724aa07e9a6c87295039d1044cbc262971fbf2745e325393cc13627a1b159bc686
diff --git a/dev-python/sphinxcontrib-autoprogram/sphinxcontrib-autoprogram-0.1.8.ebuild b/dev-python/sphinxcontrib-autoprogram/sphinxcontrib-autoprogram-0.1.8.ebuild
deleted file mode 100644
index 64dae6cc3294..000000000000
--- a/dev-python/sphinxcontrib-autoprogram/sphinxcontrib-autoprogram-0.1.8.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Documenting CLI programs"
-HOMEPAGE="
- https://github.com/sphinx-contrib/autoprogram/
- https://pypi.org/project/sphinxcontrib-autoprogram/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-python_install_all() {
- distutils-r1_python_install_all
- find "${ED}" -name '*.pth' -delete || die
-}
diff --git a/dev-python/sphinxcontrib-autoprogram/sphinxcontrib-autoprogram-0.1.9.ebuild b/dev-python/sphinxcontrib-autoprogram/sphinxcontrib-autoprogram-0.1.9.ebuild
new file mode 100644
index 000000000000..803032d23ec0
--- /dev/null
+++ b/dev-python/sphinxcontrib-autoprogram/sphinxcontrib-autoprogram-0.1.9.ebuild
@@ -0,0 +1,29 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Documenting CLI programs"
+HOMEPAGE="
+ https://github.com/sphinx-contrib/autoprogram/
+ https://pypi.org/project/sphinxcontrib-autoprogram/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ dev-python/sphinx[${PYTHON_USEDEP}]
+"
+
+python_install_all() {
+ distutils-r1_python_install_all
+ find "${ED}" -name '*.pth' -delete || die
+}
diff --git a/dev-python/sphinxcontrib-bibtex/Manifest b/dev-python/sphinxcontrib-bibtex/Manifest
index 9f75e1f6c7fd..a6f0b8f7093c 100644
--- a/dev-python/sphinxcontrib-bibtex/Manifest
+++ b/dev-python/sphinxcontrib-bibtex/Manifest
@@ -1,3 +1 @@
-DIST sphinxcontrib-bibtex-2.5.0.tar.gz 113310 BLAKE2B 5bd39fccf33897bbbf8359a09f07a6e7146d4fb3c1ccb63ad96d3980cc4a256e0b9b37bbf6ceadf65eb01937741934e1f30841587eb6246b50774c81e8428998 SHA512 c99b4bf8cbc73e94e7e4486b4cb58de0dc928079b320ee7d7a473ee27b7f1e349a4765a30059aadc3fb0c6161940c6f2eaf7afdf5ac1c64ba73ed80fba5b5e45
-DIST sphinxcontrib-bibtex-2.6.0.tar.gz 116668 BLAKE2B e7ad397bccf362717f95df7a563838005b626b59a49e9b07933deed47061fd56fdd291c2d8f2848821d43f132720507bcf5664afb7c62b9c8ca8745b131ba6f9 SHA512 779948e228890d57e26f0b450a6b6b0f7311142bfe65636ca86f42610ae9a3713cee8a4b6f58dc4e12cebd2a87dd309685fb29fbd0dbdbad14f993cb241bf1d6
-DIST sphinxcontrib-bibtex-2.6.1.tar.gz 117150 BLAKE2B 832fe8d16fd9311b5972127328edc506a0d4f2918c4ac1a4e56ce0530fa0c792db45f82c1801f48ff3299a52693a3041e9c2d6cbc4a17e864617ca58cfb6cd42 SHA512 9cf965bdfbcbc03b3104c9e7c5a730ac3e38c410554b7007485bd9aa0464663e26898537fa074c97951588a3e848a8a64e09d6c82bfc117ce4153da24de84fb5
+DIST sphinxcontrib-bibtex-2.6.2.tar.gz 117459 BLAKE2B 663521602282e360525354cc5ebffdba9e039f5d523774465f0b9318b39aa6429837164fc24e60d7646d204798a7b97d9defc176248b2793e7f7bbfeffc5c56a SHA512 a2b48306078de902cfdedbcafe94ea8aefcfff5285ec651fd1d0fe2c452818f9383ba486fb64e2ef4a294782445db2854bbdd158ab2aa1a49ed4adef85e9c82b
diff --git a/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.5.0.ebuild b/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.5.0.ebuild
deleted file mode 100644
index 8bd3e4861056..000000000000
--- a/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.5.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sphinx extensions for BibTeX style citations"
-HOMEPAGE="https://github.com/mcmtroffaes/sphinxcontrib-bibtex"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/docutils-0.8[${PYTHON_USEDEP}]
- >=dev-python/importlib-metadata-3.6[${PYTHON_USEDEP}]
- >=dev-python/pybtex-0.24[${PYTHON_USEDEP}]
- >=dev-python/pybtex-docutils-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/sphinx-2.1[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/numpydoc[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # rinoh not packaged
- test/test_citation_rinoh.py::test_citation_rinoh
- test/test_citation_rinoh.py::test_citation_rinoh_multidoc
-)
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- distutils_write_namespace sphinxcontrib
- epytest
-}
diff --git a/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.0.ebuild b/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.0.ebuild
deleted file mode 100644
index ea7f29444e5b..000000000000
--- a/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sphinx extensions for BibTeX style citations"
-HOMEPAGE="
- https://github.com/mcmtroffaes/sphinxcontrib-bibtex/
- https://pypi.org/project/sphinxcontrib-bibtex/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/docutils-0.8[${PYTHON_USEDEP}]
- >=dev-python/importlib-metadata-3.6[${PYTHON_USEDEP}]
- >=dev-python/pybtex-0.24[${PYTHON_USEDEP}]
- >=dev-python/pybtex-docutils-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/sphinx-3.5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/numpydoc[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # rinoh not packaged
- test/test_citation_rinoh.py::test_citation_rinoh
- test/test_citation_rinoh.py::test_citation_rinoh_multidoc
-)
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- distutils_write_namespace sphinxcontrib
- epytest
-}
diff --git a/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.1-r1.ebuild b/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.1-r1.ebuild
deleted file mode 100644
index 3e70af03cf4d..000000000000
--- a/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.1-r1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sphinx extensions for BibTeX style citations"
-HOMEPAGE="
- https://github.com/mcmtroffaes/sphinxcontrib-bibtex/
- https://pypi.org/project/sphinxcontrib-bibtex/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/docutils-0.8[${PYTHON_USEDEP}]
- >=dev-python/pybtex-0.24[${PYTHON_USEDEP}]
- >=dev-python/pybtex-docutils-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/sphinx-3.5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/numpydoc[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # rinoh not packaged
- test/test_citation_rinoh.py::test_citation_rinoh
- test/test_citation_rinoh.py::test_citation_rinoh_multidoc
-)
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- distutils_write_namespace sphinxcontrib
- epytest
-}
diff --git a/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.1.ebuild b/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.1.ebuild
deleted file mode 100644
index ea7f29444e5b..000000000000
--- a/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sphinx extensions for BibTeX style citations"
-HOMEPAGE="
- https://github.com/mcmtroffaes/sphinxcontrib-bibtex/
- https://pypi.org/project/sphinxcontrib-bibtex/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/docutils-0.8[${PYTHON_USEDEP}]
- >=dev-python/importlib-metadata-3.6[${PYTHON_USEDEP}]
- >=dev-python/pybtex-0.24[${PYTHON_USEDEP}]
- >=dev-python/pybtex-docutils-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/sphinx-3.5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/numpydoc[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_DESELECT=(
- # rinoh not packaged
- test/test_citation_rinoh.py::test_citation_rinoh
- test/test_citation_rinoh.py::test_citation_rinoh_multidoc
-)
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- distutils_write_namespace sphinxcontrib
- epytest
-}
diff --git a/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.2.ebuild b/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.2.ebuild
new file mode 100644
index 000000000000..c612c5357db8
--- /dev/null
+++ b/dev-python/sphinxcontrib-bibtex/sphinxcontrib-bibtex-2.6.2.ebuild
@@ -0,0 +1,52 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx extensions for BibTeX style citations"
+HOMEPAGE="
+ https://github.com/mcmtroffaes/sphinxcontrib-bibtex/
+ https://pypi.org/project/sphinxcontrib-bibtex/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/docutils-0.8[${PYTHON_USEDEP}]
+ >=dev-python/pybtex-0.24[${PYTHON_USEDEP}]
+ >=dev-python/pybtex-docutils-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-3.5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/numpydoc[${PYTHON_USEDEP}]
+ dev-python/sphinx-autoapi[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # rinoh not packaged
+ test/test_citation_rinoh.py::test_citation_rinoh
+ test/test_citation_rinoh.py::test_citation_rinoh_multidoc
+)
+
+distutils_enable_tests pytest
+distutils_enable_sphinx doc
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ distutils_write_namespace sphinxcontrib
+ epytest
+}
diff --git a/dev-python/sphinxcontrib-devhelp/Manifest b/dev-python/sphinxcontrib-devhelp/Manifest
index a08f2872e528..09b7c2a72faf 100644
--- a/dev-python/sphinxcontrib-devhelp/Manifest
+++ b/dev-python/sphinxcontrib-devhelp/Manifest
@@ -1 +1 @@
-DIST sphinxcontrib_devhelp-1.0.5.tar.gz 12343 BLAKE2B f9c46d07888eab1bddcecce3a862fe503a0187620768a40f360fa985dee9cfaaf8d28f03c6a08e0b174788639675ee715141287bd7bf04ff403459e9858e4f9c SHA512 4412f9711b981c8e3beaa9940c09d02c21dc5e303a0ab80ca401f4cc5444bd159070a065a20c0e6f721202c05d880f20244ca5ff32df5911c8a4ba3d00ed9121
+DIST sphinxcontrib_devhelp-1.0.6.tar.gz 12480 BLAKE2B 40fcbd13156cba5d904ee30e98284f0bc6f53e4dc2003cbeca6cb0189122d8b453ca7ab849570bbea615a2b0d4fc016b1ff6f72b2f8ec337b9424b4fc9ff8a57 SHA512 97ab48f4adc16140323220bd23447d74fdec1d223e64c06a325df9568436bbce31edf5b33103dc81e0eb937f7ac8328b012fce80d2d6fd995dc0f63e9fb15f77
diff --git a/dev-python/sphinxcontrib-devhelp/sphinxcontrib-devhelp-1.0.5.ebuild b/dev-python/sphinxcontrib-devhelp/sphinxcontrib-devhelp-1.0.5.ebuild
deleted file mode 100644
index ccf0abfaaf22..000000000000
--- a/dev-python/sphinxcontrib-devhelp/sphinxcontrib-devhelp-1.0.5.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sphinx extension which outputs Devhelp documents"
-HOMEPAGE="
- https://www.sphinx-doc.org/
- https://github.com/sphinx-doc/sphinxcontrib-devhelp/
- https://pypi.org/project/sphinxcontrib-devhelp/
-"
-
-LICENSE="BSD-2"
-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"
-
-PDEPEND="
- >=dev-python/sphinx-5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? ( ${PDEPEND} )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/sphinxcontrib-devhelp/sphinxcontrib-devhelp-1.0.6.ebuild b/dev-python/sphinxcontrib-devhelp/sphinxcontrib-devhelp-1.0.6.ebuild
new file mode 100644
index 000000000000..6f561d0b3ce7
--- /dev/null
+++ b/dev-python/sphinxcontrib-devhelp/sphinxcontrib-devhelp-1.0.6.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx extension which outputs Devhelp documents"
+HOMEPAGE="
+ https://www.sphinx-doc.org/
+ https://github.com/sphinx-doc/sphinxcontrib-devhelp/
+ https://pypi.org/project/sphinxcontrib-devhelp/
+"
+
+LICENSE="BSD-2"
+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"
+
+PDEPEND="
+ >=dev-python/sphinx-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? ( ${PDEPEND} )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.3.ebuild b/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.3.ebuild
index 578c35135df8..2f8f87861e88 100644
--- a/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.3.ebuild
+++ b/dev-python/sphinxcontrib-doxylink/sphinxcontrib-doxylink-1.12.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -32,7 +32,7 @@ RDEPEND="
BDEPEND="
test? (
- app-doc/doxygen
+ app-text/doxygen
>=dev-python/testfixtures-6.18.5[${PYTHON_USEDEP}]
)
"
diff --git a/dev-python/sphinxcontrib-github-alt/sphinxcontrib-github-alt-1.2-r2.ebuild b/dev-python/sphinxcontrib-github-alt/sphinxcontrib-github-alt-1.2-r2.ebuild
index 5db8977c227e..0bcb6d277d67 100644
--- a/dev-python/sphinxcontrib-github-alt/sphinxcontrib-github-alt-1.2-r2.ebuild
+++ b/dev-python/sphinxcontrib-github-alt/sphinxcontrib-github-alt-1.2-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=7
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/sphinxcontrib-htmlhelp/Manifest b/dev-python/sphinxcontrib-htmlhelp/Manifest
index e6c22713a6e9..612f0d0ee81e 100644
--- a/dev-python/sphinxcontrib-htmlhelp/Manifest
+++ b/dev-python/sphinxcontrib-htmlhelp/Manifest
@@ -1 +1,2 @@
-DIST sphinxcontrib_htmlhelp-2.0.4.tar.gz 21799 BLAKE2B ef5f5c26696cadc37feefda8b5343562efd45ab7685d472d820f4e391a1699993f26634269087c24971b176ef7b05e0191f90dc6b07093ca25a424bbf7a2a69d SHA512 5f1c4619b986060fb6213e23b5339b7b5d57abdb8f6034473116c9ea7c3d04cf0985115141c5325cb93bac330eb6109d2e81327f53fda78838c9ed5435469b29
+DIST sphinxcontrib_htmlhelp-2.0.5.tar.gz 21925 BLAKE2B ba023e53c14b5427b09a9608cfc45ccdf932d4c27cce40932088fadb127ebfe50d7b2639513589469facf108fdc748e0f07195766e6e4bc67d26c50d00a2bf75 SHA512 537ef6a1a32863728a6324fcd50f9374e4f488ed7ed112f9f0ceb9e4488637f502280dda21835e8d63c6b6297d2a3db3032c3f307dce5948b516f293d07b9711
+DIST sphinxcontrib_htmlhelp-2.0.6.tar.gz 21957 BLAKE2B 44b03832d8b89978062028be32a1253f2d5f2134b83f7e95fc685ab669ae3b4131dbad452e49d84cef56993a701f1cc1fbf1f50583fdc114eed7a05ad261c5ac SHA512 842194261315b35c470dee36ea7945b73dd08338f2b86d542b3a21d1cb900a2fbe0ba8ec2412589b4c8993b71d88b0e4fcfb0e3316db61c8ba2989811d3e073e
diff --git a/dev-python/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.4.ebuild b/dev-python/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.4.ebuild
deleted file mode 100644
index 57afa8a5f35e..000000000000
--- a/dev-python/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.4.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sphinx extension which outputs HTML help book"
-HOMEPAGE="
- https://www.sphinx-doc.org/
- https://github.com/sphinx-doc/sphinxcontrib-htmlhelp/
- https://pypi.org/project/sphinxcontrib-htmlhelp/
-"
-
-LICENSE="BSD-2"
-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"
-
-PDEPEND="
- >=dev-python/sphinx-5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${PDEPEND}
- dev-python/html5lib[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.5.ebuild b/dev-python/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.5.ebuild
new file mode 100644
index 000000000000..e1cc42cc9bb6
--- /dev/null
+++ b/dev-python/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.5.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx extension which outputs HTML help book"
+HOMEPAGE="
+ https://www.sphinx-doc.org/
+ https://github.com/sphinx-doc/sphinxcontrib-htmlhelp/
+ https://pypi.org/project/sphinxcontrib-htmlhelp/
+"
+
+LICENSE="BSD-2"
+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"
+
+PDEPEND="
+ >=dev-python/sphinx-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${PDEPEND}
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.6.ebuild b/dev-python/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.6.ebuild
new file mode 100644
index 000000000000..85c62da13499
--- /dev/null
+++ b/dev-python/sphinxcontrib-htmlhelp/sphinxcontrib-htmlhelp-2.0.6.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx extension which outputs HTML help book"
+HOMEPAGE="
+ https://www.sphinx-doc.org/
+ https://github.com/sphinx-doc/sphinxcontrib-htmlhelp/
+ https://pypi.org/project/sphinxcontrib-htmlhelp/
+"
+
+LICENSE="BSD-2"
+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"
+
+PDEPEND="
+ >=dev-python/sphinx-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${PDEPEND}
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.8.1.ebuild b/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.8.1.ebuild
index e8de5eb31e78..ad61db0afcc2 100644
--- a/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.8.1.ebuild
+++ b/dev-python/sphinxcontrib-httpdomain/sphinxcontrib-httpdomain-1.8.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-4.1.ebuild b/dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-4.1.ebuild
index b8cec0dcd93e..10f16909dcc3 100644
--- a/dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-4.1.ebuild
+++ b/dev-python/sphinxcontrib-jquery/sphinxcontrib-jquery-4.1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/sphinxcontrib-jsmath/sphinxcontrib-jsmath-1.0.1-r3.ebuild b/dev-python/sphinxcontrib-jsmath/sphinxcontrib-jsmath-1.0.1-r3.ebuild
index 3e48e836982a..9ea2c442068f 100644
--- a/dev-python/sphinxcontrib-jsmath/sphinxcontrib-jsmath-1.0.1-r3.ebuild
+++ b/dev-python/sphinxcontrib-jsmath/sphinxcontrib-jsmath-1.0.1-r3.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/sphinxcontrib-log-cabinet/sphinxcontrib-log-cabinet-1.0.1-r1.ebuild b/dev-python/sphinxcontrib-log-cabinet/sphinxcontrib-log-cabinet-1.0.1-r1.ebuild
index fcd88400478c..f91982cc4842 100644
--- a/dev-python/sphinxcontrib-log-cabinet/sphinxcontrib-log-cabinet-1.0.1-r1.ebuild
+++ b/dev-python/sphinxcontrib-log-cabinet/sphinxcontrib-log-cabinet-1.0.1-r1.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/sphinxcontrib-newsfeed/Manifest b/dev-python/sphinxcontrib-newsfeed/Manifest
deleted file mode 100644
index 1bd7ba91476a..000000000000
--- a/dev-python/sphinxcontrib-newsfeed/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST sphinxcontrib-newsfeed-0.1.4.tar.gz 10862 BLAKE2B 708c7a725ac36f54ea735953ba9d230b05da95147eabc91de9d610d3e02ec7d0d1ab8f5882d4e97327da425fc49e1b1a1753e011445ede859edd4f3cd5fb2a16 SHA512 96d9d0c15fca8b62f945bafc8f0eafa62df9c471f7510e2f153e47b66534e5f3041e5c01df772e6c35a9f09baa70064642f7f0fa43ccfd33dd64c2604494f2fc
diff --git a/dev-python/sphinxcontrib-newsfeed/metadata.xml b/dev-python/sphinxcontrib-newsfeed/metadata.xml
deleted file mode 100644
index 75c180f2bf25..000000000000
--- a/dev-python/sphinxcontrib-newsfeed/metadata.xml
+++ /dev/null
@@ -1,10 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <!--maintainer-needed-->
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">sphinxcontrib-newsfeed</remote-id>
- <remote-id type="github">prometheusresearch/sphinxcontrib-newsfeed</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/sphinxcontrib-newsfeed/sphinxcontrib-newsfeed-0.1.4-r1.ebuild b/dev-python/sphinxcontrib-newsfeed/sphinxcontrib-newsfeed-0.1.4-r1.ebuild
deleted file mode 100644
index 0391ab8720a7..000000000000
--- a/dev-python/sphinxcontrib-newsfeed/sphinxcontrib-newsfeed-0.1.4-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="News Feed extension for Sphinx"
-HOMEPAGE="
- https://github.com/prometheusresearch/sphinxcontrib-newsfeed/
- https://pypi.org/project/sphinxcontrib-newsfeed/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-IUSE="examples"
-
-RDEPEND="
- dev-python/sphinx[${PYTHON_USEDEP}]
-"
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_install_all() {
- distutils-r1_python_install_all
- if use examples; then
- docinto examples
- dodoc -r demo/.
- docompress -x /usr/share/doc/${PF}/examples
- fi
-}
diff --git a/dev-python/sphinxcontrib-plantuml/Manifest b/dev-python/sphinxcontrib-plantuml/Manifest
index 209ae27e59e5..cde7c7124279 100644
--- a/dev-python/sphinxcontrib-plantuml/Manifest
+++ b/dev-python/sphinxcontrib-plantuml/Manifest
@@ -1,3 +1 @@
-DIST sphinxcontrib-plantuml-0.25.gh.tar.gz 18871 BLAKE2B 563cedb9c67303b08e71019f5ca21385a7ef6fd65b07eed01710c83776742868a18aa01346c2dcb7c9121693ec15f9181c610bd39432042812c891423dd0d3f8 SHA512 1f04ccfd1f8cedea22a0bd8d445e298d461c253d75f92a757c55ae013fa5043327312021f4915a15e522a5409d92217ac76865e7a520512c190ba3e6e5642f08
-DIST sphinxcontrib-plantuml-0.26.gh.tar.gz 19112 BLAKE2B 65d4cca560cbc52271f22cfd479937b872d8bd58f72ac778aab873b5528312ccacc368328f65b29e437445080b9ca65a835019fe5cba38aac7488c5b3e03a6d9 SHA512 1ec004012d4eaeda0f0299206b6cbc1cbd246f378123d067912baf5b2f9c10ecffa4e27778d34db89dde84eff183fbeff35793420971cb94f42fa416af37786f
-DIST sphinxcontrib-plantuml-0.27.gh.tar.gz 19268 BLAKE2B d74d85da40a9c17eb6d73bfd2890af4f4260b11001bba4f3001d84f2f9b53597c2148c14af5a853ab3c0d3a760435a3475c6bc69748c9522f66b5f1c5e01d7b2 SHA512 acf648bc83647317d717c7f69026f20cc87066e26c409daaf14ec35e874f53ba324d1b2325b82987bc54f8224293113997bbfeca78b9f14c1704ff108e083faf
+DIST sphinxcontrib-plantuml-0.30.gh.tar.gz 19378 BLAKE2B 1f146b59184acec99ff4320199943b2193c3e4c5f5d1f62c6741fb9bbd9802d7c3955bfad786bf7dd4b937b99b974f94d753212c95e7940ab066a9d6ee02af9a SHA512 e85c6332d26d09531c961f8026c72cd82ff4a31700a38cb8285f24d942340700012c08cc1f87a86389b71bfc5d32164586407b5c6777cc94d4d0022c9872ee3a
diff --git a/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.25.ebuild b/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.25.ebuild
deleted file mode 100644
index 64208ead486a..000000000000
--- a/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.25.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_11 )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx extensions for PlantUML"
-HOMEPAGE="https://github.com/sphinx-contrib/plantuml/"
-SRC_URI="
- https://github.com/sphinx-contrib/plantuml/archive/refs/tags/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64"
-
-S="${WORKDIR}/${P#sphinxcontrib-}"
-
-BDEPEND="
- test? (
- app-text/texlive
- dev-python/sphinxcontrib-applehelp[${PYTHON_USEDEP}]
- dev-tex/latexmk
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latexextra
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- # Fix for sphinx.errors.ExtensionError: Could not import extension sphinxcontrib.applehelp
- # See https://projects.gentoo.org/python/guide/test.html#importerrors-for-c-extensions, thanks to mgorny.
- rm -rf sphinxcontrib || die
-
- epytest
-}
diff --git a/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.26.ebuild b/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.26.ebuild
deleted file mode 100644
index dc76419a2a3f..000000000000
--- a/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.26.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx extensions for PlantUML"
-HOMEPAGE="
- https://github.com/sphinx-contrib/plantuml/
- https://pypi.org/project/sphinxcontrib-plantuml/
-"
-SRC_URI="
- https://github.com/sphinx-contrib/plantuml/archive/refs/tags/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="amd64"
-
-S="${WORKDIR}/${P#sphinxcontrib-}"
-
-BDEPEND="
- test? (
- app-text/texlive
- dev-python/sphinxcontrib-applehelp[${PYTHON_USEDEP}]
- dev-tex/latexmk
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latexextra
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- # Fix for sphinx.errors.ExtensionError: Could not import extension sphinxcontrib.applehelp
- # See https://projects.gentoo.org/python/guide/test.html#importerrors-for-c-extensions, thanks to mgorny.
- rm -rf sphinxcontrib || die
-
- epytest
-}
diff --git a/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.27.ebuild b/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.27.ebuild
deleted file mode 100644
index 2f1b4b1279b6..000000000000
--- a/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.27.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{11..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx extensions for PlantUML"
-HOMEPAGE="
- https://github.com/sphinx-contrib/plantuml/
- https://pypi.org/project/sphinxcontrib-plantuml/
-"
-SRC_URI="
- https://github.com/sphinx-contrib/plantuml/archive/refs/tags/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-S="${WORKDIR}/${P#sphinxcontrib-}"
-
-BDEPEND="
- test? (
- app-text/texlive
- dev-python/sphinxcontrib-applehelp[${PYTHON_USEDEP}]
- dev-tex/latexmk
- dev-texlive/texlive-fontutils
- dev-texlive/texlive-latexextra
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- # Fix for sphinx.errors.ExtensionError: Could not import extension sphinxcontrib.applehelp
- # See https://projects.gentoo.org/python/guide/test.html#importerrors-for-c-extensions, thanks to mgorny.
- rm -rf sphinxcontrib || die
-
- epytest
-}
diff --git a/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.30.ebuild b/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.30.ebuild
new file mode 100644
index 000000000000..9e5036baf13e
--- /dev/null
+++ b/dev-python/sphinxcontrib-plantuml/sphinxcontrib-plantuml-0.30.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_{11..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Sphinx extensions for PlantUML"
+HOMEPAGE="
+ https://github.com/sphinx-contrib/plantuml/
+ https://pypi.org/project/sphinxcontrib-plantuml/
+"
+SRC_URI="
+ https://github.com/sphinx-contrib/plantuml/archive/refs/tags/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S="${WORKDIR}/${P#sphinxcontrib-}"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="amd64 arm64"
+
+BDEPEND="
+ test? (
+ app-text/texlive
+ dev-python/sphinxcontrib-applehelp[${PYTHON_USEDEP}]
+ dev-tex/latexmk
+ dev-texlive/texlive-fontutils
+ dev-texlive/texlive-latexextra
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # Fix for sphinx.errors.ExtensionError: Could not import extension sphinxcontrib.applehelp
+ # See https://projects.gentoo.org/python/guide/test.html#importerrors-for-c-extensions, thanks to mgorny.
+ rm -rf sphinxcontrib || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/sphinxcontrib-programoutput/metadata.xml b/dev-python/sphinxcontrib-programoutput/metadata.xml
index 8eeb2b8dc641..854ffbfe5578 100644
--- a/dev-python/sphinxcontrib-programoutput/metadata.xml
+++ b/dev-python/sphinxcontrib-programoutput/metadata.xml
@@ -5,14 +5,6 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
- <maintainer type="person" proxied="yes">
- <email>lssndrbarbieri@gmail.com</email>
- <name>Alessandro Barbieri</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<longdescription lang="en">
A Sphinx extension to literally insert the output of arbitrary
commands into documents, helping you to keep your command examples
diff --git a/dev-python/sphinxcontrib-qthelp/Manifest b/dev-python/sphinxcontrib-qthelp/Manifest
index d5d6ed274243..21cecfa12ef2 100644
--- a/dev-python/sphinxcontrib-qthelp/Manifest
+++ b/dev-python/sphinxcontrib-qthelp/Manifest
@@ -1 +1,2 @@
-DIST sphinxcontrib_qthelp-1.0.6.tar.gz 16555 BLAKE2B 7fabbd35f5ccf5895f16fd17e335268445e32ee0cb8c596c68e537169d4ad0aa3dc102ee2474c136c62676cff6ab639288c5fff4892d78a257a85a7ab963fe9d SHA512 783cd757bf262ce63f54019a5ccf1d7e6fb59e8fde07e7cfa0610bf0cd49e6e51cada9c35bf11cc5ff351904da6a69569be1d4db58d450a96375aee7bf1f34ff
+DIST sphinxcontrib_qthelp-1.0.7.tar.gz 16685 BLAKE2B dbe4518134f31f9283a1de4a9f7c1b1fd59e3c639923dd5a84fe1c60323f8c0fbf31942ab51724241bf8865b78c5c83bc7c2187d7209b1c55027245cae2bd271 SHA512 fa11be5f663a0784a59ee18deaa8d497eeb4d5311fd86f75d48f40b70d8c0c868bd8625a001da274379d2b3412447abd810cb44af42f8a252cbcc31c400884c9
+DIST sphinxcontrib_qthelp-1.0.8.tar.gz 16778 BLAKE2B 71c0639f526e3a83bb5c47706e0073234a40691d22337cb41920f612fdd2798731b6d84cde2744e24e545c9d23559a48cc94ecdf49f887404370c3ef3f698756 SHA512 d3bde9e5e8ace4f58fc76bea22fdd7740a503f46a671f52f836039cd85f62733187b87395669bb2566de451c4de253725316ff97ca3c910b8dd31149c3c80331
diff --git a/dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.6.ebuild b/dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.6.ebuild
deleted file mode 100644
index f5f890074a95..000000000000
--- a/dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.6.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sphinx extension which outputs QtHelp documents"
-HOMEPAGE="
- https://www.sphinx-doc.org/
- https://github.com/sphinx-doc/sphinxcontrib-qthelp/
- https://pypi.org/project/sphinxcontrib-qthelp/
-"
-
-LICENSE="BSD-2"
-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"
-
-PDEPEND="
- >=dev-python/sphinx-5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? ( ${PDEPEND} )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.7.ebuild b/dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.7.ebuild
new file mode 100644
index 000000000000..50dd22232811
--- /dev/null
+++ b/dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.7.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx extension which outputs QtHelp documents"
+HOMEPAGE="
+ https://www.sphinx-doc.org/
+ https://github.com/sphinx-doc/sphinxcontrib-qthelp/
+ https://pypi.org/project/sphinxcontrib-qthelp/
+"
+
+LICENSE="BSD-2"
+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"
+
+PDEPEND="
+ >=dev-python/sphinx-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ ${PDEPEND}
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.8.ebuild b/dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.8.ebuild
new file mode 100644
index 000000000000..b9254b35efa7
--- /dev/null
+++ b/dev-python/sphinxcontrib-qthelp/sphinxcontrib-qthelp-1.0.8.ebuild
@@ -0,0 +1,32 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx extension which outputs QtHelp documents"
+HOMEPAGE="
+ https://www.sphinx-doc.org/
+ https://github.com/sphinx-doc/sphinxcontrib-qthelp/
+ https://pypi.org/project/sphinxcontrib-qthelp/
+"
+
+LICENSE="BSD-2"
+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"
+
+PDEPEND="
+ >=dev-python/sphinx-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
+ ${PDEPEND}
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sphinxcontrib-serializinghtml/Manifest b/dev-python/sphinxcontrib-serializinghtml/Manifest
index 46698430ef42..91d9a0debee6 100644
--- a/dev-python/sphinxcontrib-serializinghtml/Manifest
+++ b/dev-python/sphinxcontrib-serializinghtml/Manifest
@@ -1 +1 @@
-DIST sphinxcontrib_serializinghtml-1.1.9.tar.gz 15446 BLAKE2B 53d61209a043e7481c252e0a83f7e01e71ab2e385a28d78c9672b4a0d4fae2911ab4dff47dced09442a760872a7f63e04bae5916d9d7d96ff85c57b6f732eb7c SHA512 9e14527794a71120c1db9dc534383f3e56ee18241009aab2a04133351fc4dd56ee9ba242ad64be13faf44162e90e88109eb36a5692fb343f4bb28f43cda78bba
+DIST sphinxcontrib_serializinghtml-1.1.10.tar.gz 15592 BLAKE2B 35fd8458fbd300326b576aa798f9967a8bc4fe411a4d9ff0bfcf2f16f5945f9100480be7483fdafba1b4d11723f80b209e3cfd0e0f33dead1327105a11d0496b SHA512 e104817e8145cf99b3ca6cb548a7977d7f42dd442dc54e6de787c12722ea804e4a38bfe78bdb3d8ff5f71afc14bf4fbc84b15208d0c77790d377cf9ac91e4aa8
diff --git a/dev-python/sphinxcontrib-serializinghtml/sphinxcontrib-serializinghtml-1.1.10.ebuild b/dev-python/sphinxcontrib-serializinghtml/sphinxcontrib-serializinghtml-1.1.10.ebuild
new file mode 100644
index 000000000000..fce3d85b9f96
--- /dev/null
+++ b/dev-python/sphinxcontrib-serializinghtml/sphinxcontrib-serializinghtml-1.1.10.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx extension which outputs outputs serialized HTML files"
+HOMEPAGE="
+ https://www.sphinx-doc.org/
+ https://github.com/sphinx-doc/sphinxcontrib-serializinghtml/
+ https://pypi.org/project/sphinxcontrib-serializinghtml/
+"
+
+LICENSE="BSD-2"
+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"
+
+PDEPEND="
+ >=dev-python/sphinx-5[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? ( ${PDEPEND} )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sphinxcontrib-serializinghtml/sphinxcontrib-serializinghtml-1.1.9.ebuild b/dev-python/sphinxcontrib-serializinghtml/sphinxcontrib-serializinghtml-1.1.9.ebuild
deleted file mode 100644
index b6052d40cf42..000000000000
--- a/dev-python/sphinxcontrib-serializinghtml/sphinxcontrib-serializinghtml-1.1.9.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sphinx extension which outputs outputs serialized HTML files"
-HOMEPAGE="
- https://www.sphinx-doc.org/
- https://github.com/sphinx-doc/sphinxcontrib-serializinghtml/
- https://pypi.org/project/sphinxcontrib-serializinghtml/
-"
-
-LICENSE="BSD-2"
-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"
-
-PDEPEND="
- >=dev-python/sphinx-5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? ( ${PDEPEND} )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.0.ebuild b/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.0.ebuild
index 1d2afb9474de..d9decaf7571c 100644
--- a/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.0.ebuild
+++ b/dev-python/sphinxcontrib-spelling/sphinxcontrib-spelling-8.0.0.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9..11} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD-2"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="
>=dev-python/pyenchant-3.1.1[${PYTHON_USEDEP}]
diff --git a/dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2-r1.ebuild b/dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2-r1.ebuild
index 66e52305a688..00affad0a747 100644
--- a/dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2-r1.ebuild
+++ b/dev-python/sphinxcontrib-trio/sphinxcontrib-trio-1.1.2-r1.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -16,8 +16,8 @@ HOMEPAGE="
"
LICENSE="|| ( Apache-2.0 MIT )"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
dev-python/sphinx[${PYTHON_USEDEP}]
diff --git a/dev-python/sphinxcontrib-websupport/Manifest b/dev-python/sphinxcontrib-websupport/Manifest
index 39dd0eeddf2f..71079fde8dc4 100644
--- a/dev-python/sphinxcontrib-websupport/Manifest
+++ b/dev-python/sphinxcontrib-websupport/Manifest
@@ -1 +1 @@
-DIST sphinxcontrib_websupport-1.2.6.tar.gz 599139 BLAKE2B 661ba75c1a222993b558d2bcad0d76e99083ef8d2006526ac8d4f95228d93cb80f68638ba4e5fa245fd79e9bef13babbfcfb6c6decb1a02dd2e2623f37e88374 SHA512 d3085083132cbd9fcd289aff56a72c44f0ed8803e60996c1542da0ca1eaee7f3f38ddd2c45fc44045206091615cf69bc11bb60fb2f95ab5c6dadc2ef65251155
+DIST sphinxcontrib_websupport-1.2.7.tar.gz 599362 BLAKE2B 544e77a739e0ecd9391893f56eeec2df4d5ddc6840a30e9a92e84e35e9ed0a765d4190790a13e329621ba045ee46b5e01d4d0825b6f37e9848953f9e796ae8af SHA512 daa5ecf6fd3fb6df6a9a3b60668d42d50d93454dc3c2703a1dd43d75220b326e90c5e0ae2cca27afe62e41ae03e7144e6b4cfe70096b857af74c8981fadba9ca
diff --git a/dev-python/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.6.ebuild b/dev-python/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.6.ebuild
deleted file mode 100644
index 6dd84be6c2b9..000000000000
--- a/dev-python/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.6.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Sphinx websupport extension"
-HOMEPAGE="
- https://www.sphinx-doc.org/
- https://github.com/sphinx-doc/sphinxcontrib-websupport/
- https://pypi.org/project/sphinxcontrib-websupport/
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
-
-RDEPEND="
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/sphinxcontrib-serializinghtml[${PYTHON_USEDEP}]
-"
-# avoid circular dependency with sphinx
-PDEPEND="
- >=dev-python/sphinx-5[${PYTHON_USEDEP}]
-"
-# there are additional optional test deps on sqlalchemy and whoosh
-# but they're broken with sqlalchemy-2.0
-# https://github.com/sphinx-doc/sphinxcontrib-websupport/issues/61
-BDEPEND="
- test? (
- ${PDEPEND}
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.7.ebuild b/dev-python/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.7.ebuild
new file mode 100644
index 000000000000..352fb9ab8afb
--- /dev/null
+++ b/dev-python/sphinxcontrib-websupport/sphinxcontrib-websupport-1.2.7.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_TESTED=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" python3_13 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Sphinx websupport extension"
+HOMEPAGE="
+ https://www.sphinx-doc.org/
+ https://github.com/sphinx-doc/sphinxcontrib-websupport/
+ https://pypi.org/project/sphinxcontrib-websupport/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-solaris"
+
+RDEPEND="
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/sphinxcontrib-serializinghtml[${PYTHON_USEDEP}]
+"
+# avoid circular dependency with sphinx
+PDEPEND="
+ >=dev-python/sphinx-5[${PYTHON_USEDEP}]
+"
+# there are additional optional test deps on sqlalchemy and whoosh
+BDEPEND="
+ test? (
+ ${PDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/whoosh[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sphinxemoji/Manifest b/dev-python/sphinxemoji/Manifest
index b56e6a067b7c..d866a2c9eb53 100644
--- a/dev-python/sphinxemoji/Manifest
+++ b/dev-python/sphinxemoji/Manifest
@@ -1 +1 @@
-DIST sphinxemoji-0.2.0.tar.gz 44431 BLAKE2B 18c9a7b4c97bc6081216cac98cecf41fef0bfc90122bd24f7d11d96f5db71437ee4e80675464fcaf9bc4c6e89c2511392600e043d4fb1904cfc57ce4efbed824 SHA512 974fcfad13f326265c679a3c97fd251b0348499fc9a72b65547b2548ddb2eb895a96f71d4b212f619287ac7c759df22fbb66f1a8cfa160287f8b25878c0f0515
+DIST emojicodes-0.3.1.gh.tar.gz 47298 BLAKE2B 95dc98f737d66005e101955d9da8e4a1509fbf780316a9be8050f086c4d951144de6fa016fbf7215b48e1f4f0155c11001ccc689f4537cf93bda9d4c61d3340a SHA512 1253845bd6a9ffc53a9a649a795b29fab8980f2020e86802479f886b819e8b345f94e6c1fc5f4597c5096cd3fb8bdf31389c7ba02839d7fc145d43ce914e235e
diff --git a/dev-python/sphinxemoji/sphinxemoji-0.2.0.ebuild b/dev-python/sphinxemoji/sphinxemoji-0.2.0.ebuild
deleted file mode 100644
index 31953e5787bd..000000000000
--- a/dev-python/sphinxemoji/sphinxemoji-0.2.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..11} )
-DISTUTILS_USE_PEP517=setuptools
-inherit distutils-r1 pypi
-
-DESCRIPTION="Extension to use emoji codes in your Sphinx documentation"
-HOMEPAGE="https://pypi.org/project/sphinxemoji/
- https://github.com/sphinx-contrib/emojicodes"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="dev-python/sphinx[${PYTHON_USEDEP}]"
diff --git a/dev-python/sphinxemoji/sphinxemoji-0.3.1.ebuild b/dev-python/sphinxemoji/sphinxemoji-0.3.1.ebuild
new file mode 100644
index 000000000000..05793cac123d
--- /dev/null
+++ b/dev-python/sphinxemoji/sphinxemoji-0.3.1.ebuild
@@ -0,0 +1,35 @@
+# Copyright 2022-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
+
+MY_P=emojicodes-${PV}
+DESCRIPTION="Extension to use emoji codes in your Sphinx documentation"
+HOMEPAGE="
+ https://pypi.org/project/sphinxemoji/
+ https://github.com/sphinx-contrib/emojicodes/
+"
+SRC_URI="
+ https://github.com/sphinx-contrib/emojicodes/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/sphinx-5.0[${PYTHON_USEDEP}]
+"
+
+python_test() {
+ local HTML_DOCS=()
+ build_sphinx docs/source
+ rm -r docs/source/_build || die
+}
diff --git a/dev-python/sphinxygen/Manifest b/dev-python/sphinxygen/Manifest
index 060ce35000a2..8a610b47e5d2 100644
--- a/dev-python/sphinxygen/Manifest
+++ b/dev-python/sphinxygen/Manifest
@@ -1 +1 @@
-DIST sphinxygen-1.0.4.tar.gz 13732 BLAKE2B 1b2f957bcacea9acf287263c4054199759bbe19f3d90fa85a143c5e85a2e383837936d72c6c1e57257d2d586722cfccab7fd38083ae6709553e5e6400273d549 SHA512 3094e3f9c5c50bf4e6a8332acf7147fa8b5e0a32c3dc49bf9786b6684e7e60b08971c52c46d4413ab23cd0b4bcd1cf02c924cdad51b7e1da29c1e747880c6f96
+DIST sphinxygen-v1.0.4.tar.bz2 16224 BLAKE2B 6b06e015bc04a445b2f1983be193b2a17296c263efccb7a67a06e73c4f06d312d3cd103e6493c428d1ee5fb3058309b50cb066e8f988145edf3705181ab3c658 SHA512 54872ead6725aa41057347b5cf45285411db90266266f8805d34dc846d0a0a69c013f894958721238b1eb7f7c9d13e105bbd4e7d5afe50eaaf17bad6d4f46662
diff --git a/dev-python/sphinxygen/sphinxygen-1.0.4-r1.ebuild b/dev-python/sphinxygen/sphinxygen-1.0.4-r1.ebuild
new file mode 100644
index 000000000000..33738c39c30b
--- /dev/null
+++ b/dev-python/sphinxygen/sphinxygen-1.0.4-r1.ebuild
@@ -0,0 +1,35 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python module/script that generates Sphinx markup to describe a C API"
+HOMEPAGE="
+ https://gitlab.com/drobilla/sphinxygen/
+ https://pypi.org/project/sphinxygen/
+"
+SRC_URI="
+ https://gitlab.com/drobilla/sphinxygen/-/archive/v${PV}/${PN}-v${PV}.tar.bz2
+"
+S="${WORKDIR}/${PN}-v${PV}"
+
+LICENSE="ISC"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv sparc x86"
+
+RDEPEND="
+ app-text/doxygen
+ dev-python/sphinx[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/sphinxygen/sphinxygen-1.0.4.ebuild b/dev-python/sphinxygen/sphinxygen-1.0.4.ebuild
deleted file mode 100644
index a9861725c82c..000000000000
--- a/dev-python/sphinxygen/sphinxygen-1.0.4.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python module/script that generates Sphinx markup to describe a C API"
-HOMEPAGE="
- https://gitlab.com/drobilla/sphinxygen
- https://pypi.org/project/sphinxygen/
-"
-
-SLOT="0"
-LICENSE="ISC"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/sphobjinv/Manifest b/dev-python/sphobjinv/Manifest
index 573a85633509..d128ee344ec0 100644
--- a/dev-python/sphobjinv/Manifest
+++ b/dev-python/sphobjinv/Manifest
@@ -1 +1 @@
-DIST sphobjinv-2.3.1.gh.tar.gz 1345653 BLAKE2B 17752829028d2dd249be0afa1a1420a4b6e61afc508f89377171aa11f528f62b15022413a8e665a213f95f3a888a85c5134e1cc7ca27bc3afd6f90bff18ce071 SHA512 7253b8b21e2027ce22013edf76a6cd397dcebf652e235a8af8b82349fb19a2f7df15d33f9f032f195a4b471f5bb5321c7de0fb195a5c0c2ce3847be23da35862
+DIST sphobjinv-2.3.1.1.gh.tar.gz 1345537 BLAKE2B 8cbe5a6066ed611cb3b7579a34f75021e26262069aad2bd77bf3fefb1dd69b8a9977692424b296f9444968e1decb54ac8246896e678b64a7bd526d45e160f307 SHA512 c5260bbccff8531469ec67c44dfb33e46f55c4a07d25ed4a1332ebde3be09721877cf4af31feff8ff0aa81d6af68905607bf47a62cfda7893e449fd90b10bdbf
diff --git a/dev-python/sphobjinv/sphobjinv-2.3.1.1.ebuild b/dev-python/sphobjinv/sphobjinv-2.3.1.1.ebuild
new file mode 100644
index 000000000000..ad81258eb475
--- /dev/null
+++ b/dev-python/sphobjinv/sphobjinv-2.3.1.1.ebuild
@@ -0,0 +1,59 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Sphinx objects.inv Inspection/Manipulation Tool"
+HOMEPAGE="
+ https://github.com/bskinn/sphobjinv/
+ https://pypi.org/project/sphobjinv/
+"
+SRC_URI="
+ https://github.com/bskinn/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/attrs-19.2[${PYTHON_USEDEP}]
+ dev-python/certifi[${PYTHON_USEDEP}]
+ dev-python/fuzzywuzzy[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/dictdiffer[${PYTHON_USEDEP}]
+ dev-python/pytest-check[${PYTHON_USEDEP}]
+ dev-python/pytest-ordering[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ >=dev-python/stdio-mgr-1.0.1[${PYTHON_USEDEP}]
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/timeout-decorator[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Internet
+ README.rst::README.rst
+ tests/test_readme.py::test_readme_shell_cmds
+)
+
+src_prepare() {
+ sed -e '/CLI_TEST_TIMEOUT/s/2/20/' -i tests/test_cli.py || die
+
+ # remove bundled deps
+ rm -r src/sphobjinv/_vendored || die
+ sed -i -e 's:sphobjinv[.]_vendored[.]::' src/sphobjinv/*.py || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/sphobjinv/sphobjinv-2.3.1.ebuild b/dev-python/sphobjinv/sphobjinv-2.3.1.ebuild
deleted file mode 100644
index 47d439b8ba55..000000000000
--- a/dev-python/sphobjinv/sphobjinv-2.3.1.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Sphinx objects.inv Inspection/Manipulation Tool"
-HOMEPAGE="
- https://github.com/bskinn/sphobjinv/
- https://pypi.org/project/sphobjinv/
-"
-SRC_URI="
- https://github.com/bskinn/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-KEYWORDS="~alpha amd64 arm arm64 ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/attrs-19.2[${PYTHON_USEDEP}]
- dev-python/certifi[${PYTHON_USEDEP}]
- dev-python/fuzzywuzzy[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/dictdiffer[${PYTHON_USEDEP}]
- dev-python/pytest-check[${PYTHON_USEDEP}]
- dev-python/pytest-ordering[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- >=dev-python/stdio-mgr-1.0.1[${PYTHON_USEDEP}]
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/timeout-decorator[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Internet
- README.rst::README.rst
- tests/test_readme.py::test_readme_shell_cmds
-)
-
-src_prepare() {
- sed -e '/CLI_TEST_TIMEOUT/s/2/20/' -i tests/test_cli.py || die
-
- # remove bundled deps
- rm -r src/sphobjinv/_vendored || die
- sed -i -e 's:sphobjinv[.]_vendored[.]::' src/sphobjinv/*.py || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/spotipy/Manifest b/dev-python/spotipy/Manifest
index 9f7c8f6e6543..dff2b528d321 100644
--- a/dev-python/spotipy/Manifest
+++ b/dev-python/spotipy/Manifest
@@ -1 +1 @@
-DIST spotipy-2.23.0.gh.tar.gz 112399 BLAKE2B 5510ce35624c561df61fffee78f211dfa91ff8d5b3dc15d37c96a51bf830e67aac9c6a0787c71715bee17a3ba91b84766c1ecec37d5775f2182617f2b74a2cb3 SHA512 52955fa3365d5153f19f60874ce8e96910ac8db783499e0e2ef2ab31127277844e24a045115dc522dd7b7535f7907de56da87e02a63b94ee7506b75c1e108e9b
+DIST spotipy-2.24.0.gh.tar.gz 114822 BLAKE2B 0db73d723c1cb3818d68cfa90fd8077c6d6eb82b16f24e087907091d74644b86431aa93ea5ed9a842ec674c16f67cddc5be17a3b6cfcb92d0c01aa8bd3d1529f SHA512 9860119f078ff894a9b27bb4d51cd7b469c2cea4981757338d8c3f1c6c8a1c0bbb3b79622820486c07f0b86ce4e26f9329635b51fc976c4cee43122b9a0209ff
diff --git a/dev-python/spotipy/spotipy-2.23.0.ebuild b/dev-python/spotipy/spotipy-2.23.0.ebuild
deleted file mode 100644
index a01f9a212115..000000000000
--- a/dev-python/spotipy/spotipy-2.23.0.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A lightweight Python library for the Spotify Web API"
-HOMEPAGE="
- https://spotipy.readthedocs.io/
- https://github.com/spotipy-dev/spotipy/
- https://pypi.org/project/spotipy/
-"
-SRC_URI="
- https://github.com/spotipy-dev/spotipy/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-KEYWORDS="amd64 ~x86"
-SLOT="0"
-IUSE="examples"
-
-RDEPEND="
- dev-python/redis[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Internet
- tests/unit/test_oauth.py::TestSpotifyClientCredentials::test_spotify_client_credentials_get_access_token
-)
-
-python_install_all() {
- distutils-r1_python_install_all
-
- use examples && dodoc -r examples
-}
diff --git a/dev-python/spotipy/spotipy-2.24.0.ebuild b/dev-python/spotipy/spotipy-2.24.0.ebuild
new file mode 100644
index 000000000000..02b5307ef09f
--- /dev/null
+++ b/dev-python/spotipy/spotipy-2.24.0.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A lightweight Python library for the Spotify Web API"
+HOMEPAGE="
+ https://spotipy.readthedocs.io/
+ https://github.com/spotipy-dev/spotipy/
+ https://pypi.org/project/spotipy/
+"
+SRC_URI="
+ https://github.com/spotipy-dev/spotipy/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+IUSE="examples"
+
+RDEPEND="
+ dev-python/redis[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ dev-python/redis \
+ dev-python/sphinx-rtd-theme
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Internet
+ tests/unit/test_oauth.py::TestSpotifyClientCredentials::test_spotify_client_credentials_get_access_token
+)
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ use examples && dodoc -r examples
+}
diff --git a/dev-python/spur/spur-0.3.23.ebuild b/dev-python/spur/spur-0.3.23.ebuild
index 156155f2d4de..ef112c7544fc 100644
--- a/dev-python/spur/spur-0.3.23.ebuild
+++ b/dev-python/spur/spur-0.3.23.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/spyder-kernels/Manifest b/dev-python/spyder-kernels/Manifest
index 35f81a39a3fb..93ae267da962 100644
--- a/dev-python/spyder-kernels/Manifest
+++ b/dev-python/spyder-kernels/Manifest
@@ -1,3 +1,2 @@
-DIST spyder-kernels-2.4.4.tar.gz 98216 BLAKE2B f9f7c007f3c8f4365b84606e7473c169b525aad6d4ddccd6a72fc4d84f48b3fbf0272bd8f8e7f9cc7eb48df555e333f1b8ef0adc8c2f0b8d6df4ff9de35568f8 SHA512 826ced4928d8308e1a31790f0938e24ee8171b7e1f890a322bf652798991db4f3c2c270dd1b9cee44110ac85724043e4f80bc2adb54ad9f09f5414ee8bbd0a4a
-DIST spyder-kernels-2.5.0.tar.gz 99908 BLAKE2B 8684bdaba16bdfeb2db1e1789054e4951c6fa673dde91a1ae35972a1fd7cd6c298572c83db360553a3d94b1311d449a62d82d25d007f919a4baf6a23d2d872e2 SHA512 acdf796b450d87ee08f97bb6477383006632b6c91c862907ba43803bf88c1552749dc62c69820f948d8738a1a062614c065f861b73d5d73756cf5d00e63b58b5
-DIST spyder-kernels-3.0.0b2.tar.gz 236918 BLAKE2B 2a0083f8f48d11d66e49bb6736e8efd4fdfa1a4cac8e5a99d5ca473a90371084ff0e66c169850f36c1f77df54939c16336f1f7f6f0f5d7042525ecfde4b3b5a4 SHA512 8cd77b377056fdec07c68cc07960f4692ca3328a375891365ca0f59133a648a74b5cd75585398d53c1237ebee0a0fd4a01b6e7f24a8df93f107307511777fced
+DIST spyder_kernels-2.5.2.tar.gz 99972 BLAKE2B 178f175fe03fd2b7871681ae30d10b62a4daf9ee606477eab4f88a4d81d2692b80cdcf4f9b6d46c4cfc0394b98d798e93dda870a3f1cbe6f77e243fd2b06d97c SHA512 4cf5462d6a6e72bf13f9890fbc5a4008788e132ee3315b0ad01a00beff6b78c63f47b7b5d19be601b64984196cc1a5c4706a4c5bbe878d938e487ae9ddd9f1fc
+DIST spyder_kernels-3.0.0b7.tar.gz 239483 BLAKE2B 216f240555d5bccfc2d0a6b19a32af7ebae85dcd2b6165837df63207c4472f5d738a35ada55e68ffed5888f8370b1e93f42b16316b04638a18d3056a6d5f0a32 SHA512 c361b11623b57d0951e49297a84f43112c9e6c0f60849dccb914a0737a65fcbbfe1ce1583f637fc1fa3bf16f548e74f16987bec0ffc2f7a1dad38691e330d362
diff --git a/dev-python/spyder-kernels/spyder-kernels-2.4.4.ebuild b/dev-python/spyder-kernels/spyder-kernels-2.4.4.ebuild
deleted file mode 100644
index 621de26a95b4..000000000000
--- a/dev-python/spyder-kernels/spyder-kernels-2.4.4.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Kernels used by spyder on its ipython console"
-HOMEPAGE="
- https://github.com/spyder-ide/spyder-kernels/
- https://pypi.org/project/spyder-kernels/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- <dev-python/ipykernel-7[${PYTHON_USEDEP}]
- >=dev-python/ipykernel-6.23.2[${PYTHON_USEDEP}]
- <dev-python/ipython-9[${PYTHON_USEDEP}]
- >=dev-python/ipython-8.11.0[${PYTHON_USEDEP}]
- <dev-python/jupyter-client-9[${PYTHON_USEDEP}]
- >=dev-python/jupyter-client-7.4.9[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-22.1.0[${PYTHON_USEDEP}]
- >=dev-python/wurlitzer-1.0.3[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/django[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/xarray[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # we no longer package distributed, and also removed dependency on dask
- spyder_kernels/console/tests/test_console_kernel.py::test_dask_multiprocessing
- # RuntimeError: There is no current event loop in thread 'MainThread'.
- # https://bugs.gentoo.org/834893
- spyder_kernels/console/tests/test_console_kernel.py::test_cwd_in_sys_path
- spyder_kernels/console/tests/test_console_kernel.py::test_multiprocessing
- spyder_kernels/console/tests/test_console_kernel.py::test_multiprocessing_2
- spyder_kernels/console/tests/test_console_kernel.py::test_runfile
- spyder_kernels/console/tests/test_console_kernel.py::test_np_threshold
- spyder_kernels/console/tests/test_console_kernel.py::test_turtle_launch
- spyder_kernels/console/tests/test_console_kernel.py::test_matplotlib_inline
-)
diff --git a/dev-python/spyder-kernels/spyder-kernels-2.5.0.ebuild b/dev-python/spyder-kernels/spyder-kernels-2.5.0.ebuild
deleted file mode 100644
index 0be0b4d9975e..000000000000
--- a/dev-python/spyder-kernels/spyder-kernels-2.5.0.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Kernels used by spyder on its ipython console"
-HOMEPAGE="
- https://github.com/spyder-ide/spyder-kernels/
- https://pypi.org/project/spyder-kernels/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- <dev-python/ipykernel-7[${PYTHON_USEDEP}]
- >=dev-python/ipykernel-6.23.2[${PYTHON_USEDEP}]
- <dev-python/ipython-9[${PYTHON_USEDEP}]
- >=dev-python/ipython-8.13.0[${PYTHON_USEDEP}]
- <dev-python/jupyter-client-9[${PYTHON_USEDEP}]
- >=dev-python/jupyter-client-7.4.9[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-22.1.0[${PYTHON_USEDEP}]
- >=dev-python/wurlitzer-1.0.3[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/django[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/xarray[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # we no longer package distributed, and also removed dependency on dask
- spyder_kernels/console/tests/test_console_kernel.py::test_dask_multiprocessing
-)
diff --git a/dev-python/spyder-kernels/spyder-kernels-2.5.2.ebuild b/dev-python/spyder-kernels/spyder-kernels-2.5.2.ebuild
new file mode 100644
index 000000000000..c6bcb3377b9c
--- /dev/null
+++ b/dev-python/spyder-kernels/spyder-kernels-2.5.2.ebuild
@@ -0,0 +1,72 @@
+# 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="Kernels used by spyder on its ipython console"
+HOMEPAGE="
+ https://github.com/spyder-ide/spyder-kernels/
+ https://pypi.org/project/spyder-kernels/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ <dev-python/ipykernel-7[${PYTHON_USEDEP}]
+ >=dev-python/ipykernel-6.29.3[${PYTHON_USEDEP}]
+ <dev-python/ipython-9[${PYTHON_USEDEP}]
+ >=dev-python/ipython-8.13.0[${PYTHON_USEDEP}]
+ <dev-python/jupyter-client-9[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-7.4.9[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-24.0.0[${PYTHON_USEDEP}]
+ >=dev-python/wurlitzer-1.0.3[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # we no longer package distributed, and also removed dependency on dask
+ spyder_kernels/console/tests/test_console_kernel.py::test_dask_multiprocessing
+)
+
+python_test() {
+ if [[ ${EPYTHON} == pypy3 ]]; then
+ EPYTEST_IGNORE=(
+ # requires pandas
+ spyder_kernels/utils/tests/test_nsview.py
+ )
+ EPYTEST_DESELECT+=(
+ # requires hdf5
+ spyder_kernels/utils/tests/test_iofuncs.py::test_save_load_hdf5_files
+ spyder_kernels/utils/tests/test_dochelpers.py
+ )
+ fi
+ distutils-r1_python_test
+}
diff --git a/dev-python/spyder-kernels/spyder-kernels-3.0.0_beta2.ebuild b/dev-python/spyder-kernels/spyder-kernels-3.0.0_beta2.ebuild
deleted file mode 100644
index 554a653c7ebf..000000000000
--- a/dev-python/spyder-kernels/spyder-kernels-3.0.0_beta2.ebuild
+++ /dev/null
@@ -1,70 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Kernels used by spyder on its ipython console"
-HOMEPAGE="
- https://github.com/spyder-ide/spyder-kernels/
- https://pypi.org/project/spyder-kernels/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS=""
-
-RDEPEND="
- dev-python/cloudpickle[${PYTHON_USEDEP}]
- <dev-python/ipykernel-7[${PYTHON_USEDEP}]
- >=dev-python/ipykernel-6.16.1[${PYTHON_USEDEP}]
- <dev-python/ipython-9[${PYTHON_USEDEP}]
- >dev-python/ipython-8.12.1[${PYTHON_USEDEP}]
- <dev-python/jupyter-client-9[${PYTHON_USEDEP}]
- >=dev-python/jupyter-client-7.4.9[${PYTHON_USEDEP}]
- dev-python/matplotlib-inline[${PYTHON_USEDEP}]
- >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-22.1.0[${PYTHON_USEDEP}]
- >=dev-python/wurlitzer-1.0.3[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/django[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/h5py[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/xarray[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # we no longer package distributed, and also removed dependency on dask
- spyder_kernels/console/tests/test_console_kernel.py::test_dask_multiprocessing
-
- # RuntimeError: There is no current event loop in thread 'MainThread'.
- # https://bugs.gentoo.org/834893
- spyder_kernels/console/tests/test_console_kernel.py::test_cwd_in_sys_path
- spyder_kernels/console/tests/test_console_kernel.py::test_multiprocessing
- spyder_kernels/console/tests/test_console_kernel.py::test_multiprocessing_2
- spyder_kernels/console/tests/test_console_kernel.py::test_runfile
- spyder_kernels/console/tests/test_console_kernel.py::test_np_threshold
- spyder_kernels/console/tests/test_console_kernel.py::test_turtle_launch
- spyder_kernels/console/tests/test_console_kernel.py::test_matplotlib_inline
-
- # pydicom only packaged in ::sci at the moment
- spyder_kernels/utils/tests/test_iofuncs.py::test_load_dicom_files
-)
diff --git a/dev-python/spyder-kernels/spyder-kernels-3.0.0_beta7.ebuild b/dev-python/spyder-kernels/spyder-kernels-3.0.0_beta7.ebuild
new file mode 100644
index 000000000000..5f91c6584c02
--- /dev/null
+++ b/dev-python/spyder-kernels/spyder-kernels-3.0.0_beta7.ebuild
@@ -0,0 +1,86 @@
+# 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="Kernels used by spyder on its ipython console"
+HOMEPAGE="
+ https://github.com/spyder-ide/spyder-kernels/
+ https://pypi.org/project/spyder-kernels/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS=""
+
+RDEPEND="
+ dev-python/cloudpickle[${PYTHON_USEDEP}]
+ <dev-python/ipykernel-7[${PYTHON_USEDEP}]
+ >=dev-python/ipykernel-6.29.3[${PYTHON_USEDEP}]
+ <dev-python/ipython-9[${PYTHON_USEDEP}]
+ >dev-python/ipython-8.13.0[${PYTHON_USEDEP}]
+ <dev-python/jupyter-client-9[${PYTHON_USEDEP}]
+ >=dev-python/jupyter-client-7.4.9[${PYTHON_USEDEP}]
+ dev-python/matplotlib-inline[${PYTHON_USEDEP}]
+ >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-24.0.0[${PYTHON_USEDEP}]
+ >=dev-python/wurlitzer-1.0.3[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/h5py[${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # we no longer package distributed, and also removed dependency on dask
+ spyder_kernels/console/tests/test_console_kernel.py::test_dask_multiprocessing
+
+ # RuntimeError: There is no current event loop in thread 'MainThread'.
+ # https://bugs.gentoo.org/834893
+ spyder_kernels/console/tests/test_console_kernel.py::test_cwd_in_sys_path
+ spyder_kernels/console/tests/test_console_kernel.py::test_multiprocessing
+ spyder_kernels/console/tests/test_console_kernel.py::test_multiprocessing_2
+ spyder_kernels/console/tests/test_console_kernel.py::test_runfile
+ spyder_kernels/console/tests/test_console_kernel.py::test_np_threshold
+ spyder_kernels/console/tests/test_console_kernel.py::test_turtle_launch
+ spyder_kernels/console/tests/test_console_kernel.py::test_matplotlib_inline
+
+ # pydicom only packaged in ::sci at the moment
+ spyder_kernels/utils/tests/test_iofuncs.py::test_load_dicom_files
+)
+
+python_test() {
+ if [[ ${EPYTHON} == pypy3 ]]; then
+ EPYTEST_IGNORE=(
+ # requires pandas
+ spyder_kernels/utils/tests/test_nsview.py
+ )
+ EPYTEST_DESELECT+=(
+ # requires hdf5
+ spyder_kernels/utils/tests/test_iofuncs.py::test_save_load_hdf5_files
+ spyder_kernels/utils/tests/test_dochelpers.py
+ )
+ fi
+ distutils-r1_python_test
+}
diff --git a/dev-python/spyder-line-profiler/spyder-line-profiler-0.3.2.ebuild b/dev-python/spyder-line-profiler/spyder-line-profiler-0.3.2.ebuild
index 99931a400188..57c0b98e6716 100644
--- a/dev-python/spyder-line-profiler/spyder-line-profiler-0.3.2.ebuild
+++ b/dev-python/spyder-line-profiler/spyder-line-profiler-0.3.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( python3_{10..12} )
inherit distutils-r1 virtualx
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
dev-python/line-profiler[${PYTHON_USEDEP}]
diff --git a/dev-python/spyder-notebook/Manifest b/dev-python/spyder-notebook/Manifest
index aedc3aca6e3b..d66a6430ff82 100644
--- a/dev-python/spyder-notebook/Manifest
+++ b/dev-python/spyder-notebook/Manifest
@@ -1,2 +1 @@
-DIST spyder-notebook-0.4.1.tar.gz 1756246 BLAKE2B daccd224f822d10b0bc527f6e12a46b975631c1eee4edd1e431ff8a71e126d4ff2006853b05146bdef3c8978a34a38d1c30ff9da9076f9c954a7ecdbe9eab4af SHA512 f4ad23ba218dec708f876fe13b11e172df2430c9c9e57916a8f10f43f3728788801d7749b37a7474b329fa8750c0d08ddbd5131142035868f23c1975228d840e
DIST spyder-notebook-0.5.1.tar.gz 5546854 BLAKE2B ccdc93c948e6b4db005cf2433794008c65e9a56574db15cd5627f44938bcc2c865341f2417bcf000e27e3d19fe11b6eb6340e6225a682bf32b2cb06ca8f4605a SHA512 daf91361344f96db0ac855b80d17388bda7bf96eab280fba7ac406915dc9b5283c09e914c07342154ed2d0d23420b5e16923cf4ccddb090364db43cf606319f3
diff --git a/dev-python/spyder-notebook/spyder-notebook-0.4.1.ebuild b/dev-python/spyder-notebook/spyder-notebook-0.4.1.ebuild
deleted file mode 100644
index 0d025a6e42b6..000000000000
--- a/dev-python/spyder-notebook/spyder-notebook-0.4.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="Jupyter notebook integration with Spyder"
-HOMEPAGE="https://github.com/spyder-ide/spyder-notebook"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/jupyter-core[${PYTHON_USEDEP}]
- dev-python/nbformat[${PYTHON_USEDEP}]
- >=dev-python/notebook-4.3[${PYTHON_USEDEP}]
- dev-python/qdarkstyle[${PYTHON_USEDEP}]
- dev-python/QtPy[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- >=dev-python/spyder-5.4.3[${PYTHON_USEDEP}]
- <dev-python/spyder-6[${PYTHON_USEDEP}]
- dev-python/traitlets[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-qt[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( "README.md" "CHANGELOG.md" )
-
-distutils_enable_tests pytest
-
-python_test() {
- virtx epytest
-}
diff --git a/dev-python/spyder-notebook/spyder-notebook-0.5.1.ebuild b/dev-python/spyder-notebook/spyder-notebook-0.5.1.ebuild
index a6a5ce291413..ce8b954081b3 100644
--- a/dev-python/spyder-notebook/spyder-notebook-0.5.1.ebuild
+++ b/dev-python/spyder-notebook/spyder-notebook-0.5.1.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
@@ -14,7 +14,7 @@ HOMEPAGE="https://github.com/spyder-ide/spyder-notebook"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
dev-python/nbformat[${PYTHON_USEDEP}]
diff --git a/dev-python/spyder-terminal/spyder-terminal-1.2.2.ebuild b/dev-python/spyder-terminal/spyder-terminal-1.2.2.ebuild
index 4c1b23891cec..50e769c11544 100644
--- a/dev-python/spyder-terminal/spyder-terminal-1.2.2.ebuild
+++ b/dev-python/spyder-terminal/spyder-terminal-1.2.2.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
inherit distutils-r1 pypi
diff --git a/dev-python/spyder-unittest/spyder-unittest-0.6.0.ebuild b/dev-python/spyder-unittest/spyder-unittest-0.6.0.ebuild
index f5fa403a044c..80f8b384207b 100644
--- a/dev-python/spyder-unittest/spyder-unittest-0.6.0.ebuild
+++ b/dev-python/spyder-unittest/spyder-unittest-0.6.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..11} )
+PYTHON_COMPAT=( python3_{10..12} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 virtualx
@@ -14,7 +14,7 @@ SRC_URI="https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.ta
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~x86"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
>=dev-python/spyder-5.4.1[${PYTHON_USEDEP}]
diff --git a/dev-python/spyder-vim/spyder-vim-0.1.0.ebuild b/dev-python/spyder-vim/spyder-vim-0.1.0.ebuild
index cf7fcf952d11..3f2c4b180037 100644
--- a/dev-python/spyder-vim/spyder-vim-0.1.0.ebuild
+++ b/dev-python/spyder-vim/spyder-vim-0.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( python3_{10..12} )
inherit distutils-r1 virtualx
diff --git a/dev-python/spyder/Manifest b/dev-python/spyder/Manifest
index 76d9c1af467e..2b7241a528c7 100644
--- a/dev-python/spyder/Manifest
+++ b/dev-python/spyder/Manifest
@@ -1,6 +1,3 @@
-DIST spyder-5.4.4.gh.tar.gz 16214815 BLAKE2B 43bdf54599acc9c7ecf38d25a2d18e463473f36abad0fcd8d5379f785f967269940c2e8bc5b85811afc853d299ec9cfceac3d7acb32ef9f0e6f7081efc160eb9 SHA512 1c2684bbff5d9f800ddb2262a0a846cc7b3a9b1cd43d1f951fd511314877d2f03c317486564d1908f3bd12e889b3e9b0260f5708b5b1181eb7815d32bdb987eb
-DIST spyder-5.4.5.gh.tar.gz 16214117 BLAKE2B e572fe2e104e464bacff939c6195d1042c6ff0e6a1167c3ab4bf96a4f7dde0a1abb6ec84dc0dd54af24cd1635ecf8b80dabcc43c5131821bb3f7f6f08300605f SHA512 d938e3e64c22837bd4a7ab55822e9d763842cadba3cfb3de952652164054a4b87c2495bd8ae2617dbdd8bad5120e84e9017269d4bcdd6cbf73fb3d4dddbcad8f
-DIST spyder-5.5.0.gh.tar.gz 16251845 BLAKE2B 8a8ea4a7da30d79b91e9a20a904e88a21517d99d51b29535ba250c3d0a970a5e00eb8f43a3e9b00eeef457823baf553d0694c3ef57ca798fe002d1d0fdf2f4d7 SHA512 6be7b80a99996beae2542a0646b54a665a89d09929634b21ddcb67f61584fa7f53e9f921fc8d2a4edf6c8ee5e98db0d8423a52a8b93b8ed58b9f46d062ecfeac
-DIST spyder-6.0.0_alpha2.gh.tar.gz 16311030 BLAKE2B 17466525aea0afa93ce0efd2cba3e249d6e95e458fdbe35ed672e704b3643fe17adbc663498436bb6cf435a6ab9f704f435ed014eec8a695eaf558dd17ac5785 SHA512 9a80954e18a0b4cf3f2a0ad20ee39cfda867ed1df0b2dc3f2ddbcd78cff09064accf3b9089ce1076dcdc8fe52a6af04c10b22b9d123d7353bfdc789c470d7cc9
-DIST spyder-docs-0aa81d44ec6490c155be1bb1acca0a27328b12e0.gh.tar.gz 94895731 BLAKE2B 468412372bf2f70f838fa89dc1b88997fa2d9d92e36d6a5abac736b6b5f2782f25121b18b876c7c6e2af9d7eda433aaccd017c2e8c8c06a223420f0ce9684fc1 SHA512 9ac0f930a1a864e81e4181f101449a6506728d0d89254409a58e68bc17a3de39f4d1bf329f11da433d8ee4f3122faf3b337654d011263a70b253459e9562e923
-DIST spyder-docs-cfa8e009264cb5e79beeead6a012e521db2c73dc.gh.tar.gz 94895763 BLAKE2B b26a8f834db25fd2a8881fdd411329a6d70213827d450070d4f73692742764efb34c74c6dd72d51829b8718956a4def172eaba56a1f02c264552aa838860feb9 SHA512 67defa7913392b0c41a931badb1f5669adcaf8d27e2d3ef59c5d07810c4423272776f369ab134b5096209d781009bbf076711f780234ec93fbe3e1a52e475dcd
+DIST spyder-5.5.5.gh.tar.gz 16258487 BLAKE2B 3fa3ea611fc3267918e4314027c0825905f256a7fe070534c7608a4a42938c3934f34f4dc06fe0cfc0ac32e03fbdc294974672b010aaf9bc32512b817af62e6b SHA512 5f5d25822f20f8ae8767402b037cca78b760768b9bc53ef74ed95839aa59e1c24206457fd4c71003bb9ebffe8daf8ad3bda8dd40e71cc15d3d3ee2030b284b42
+DIST spyder-6.0.0_beta3.gh.tar.gz 15656243 BLAKE2B 7b958065d74aa58e8f34a530ae7a409d7680e55bf70ad0a4ee0a694bdc0239d32b2171c6cbeb97afc36d362860498cedf789ba5790ffdb4665c7414abc212c61 SHA512 d3ba805fd4a3fd03adde986e8c97e8e3fb3cfbcdba16487987f4b18bf7559b44a8f07106e138ab30aaa4e69db3c17d4bd80a1866baf2897a0b839c86d17a0073
+DIST spyder-docs-32efdaebc11dab0b8e0767717342b7d306dc06ea.gh.tar.gz 94897009 BLAKE2B 30e0b42e34bddb60d8fc986183a363b71455067bc7f4411cb75a00c5758e87501ee07ad0b484caed2aa3cf91153be814c7faf935be8665b6984bce38ebcd0be2 SHA512 9f9aa56ab27aed8d27c3d653119d5c5454b4317a78a7ff27715d91cac9dec79143db85d4f1c87b10fa821eb33abc043912df308fa6c84ade59539bd633eefbd2
diff --git a/dev-python/spyder/spyder-5.4.4.ebuild b/dev-python/spyder/spyder-5.4.4.ebuild
deleted file mode 100644
index 57c8c48ca846..000000000000
--- a/dev-python/spyder/spyder-5.4.4.ebuild
+++ /dev/null
@@ -1,192 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 optfeature virtualx xdg
-
-# Commit of documentation to fetch
-DOCS_PV="cfa8e009264cb5e79beeead6a012e521db2c73dc"
-
-DESCRIPTION="The Scientific Python Development Environment"
-HOMEPAGE="
- https://www.spyder-ide.org/
- https://github.com/spyder-ide/spyder/
- https://pypi.org/project/spyder/
-"
-SRC_URI="
- https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
- https://github.com/spyder-ide/${PN}-docs/archive/${DOCS_PV}.tar.gz -> ${PN}-docs-${DOCS_PV}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/atomicwrites-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/chardet-2.0.0[${PYTHON_USEDEP}]
- >=dev-util/cookiecutter-1.6.0[${PYTHON_USEDEP}]
- >=dev-python/diff-match-patch-20181111[${PYTHON_USEDEP}]
- >=dev-python/intervaltree-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/jellyfish-0.7[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/keyring-17.0.0[${PYTHON_USEDEP}]
- >=dev-python/nbconvert-4.0[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.4.0[${PYTHON_USEDEP}]
- >=dev-python/pickleshare-0.4[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.3[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
- >=dev-python/pylint-venv-2.1.1[${PYTHON_USEDEP}]
- >=dev-python/python-lsp-black-1.2.0[${PYTHON_USEDEP}]
- <dev-python/python-lsp-black-3[${PYTHON_USEDEP}]
- >=dev-python/pyls-spyder-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-22.1.0[${PYTHON_USEDEP}]
- >=dev-python/qdarkstyle-3.0.2[${PYTHON_USEDEP}]
- <dev-python/qdarkstyle-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/qstylizer-0.2.2[${PYTHON_USEDEP}]
- >=dev-python/qtawesome-1.2.1[${PYTHON_USEDEP}]
- >=dev-python/qtconsole-5.4.2[${PYTHON_USEDEP}]
- <dev-python/qtconsole-5.5.0[${PYTHON_USEDEP}]
- >=dev-python/QtPy-2.1.0[${PYTHON_USEDEP},svg,webengine]
- >=sci-libs/rtree-0.9.7[${PYTHON_USEDEP}]
- >=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}]
- >=dev-python/spyder-kernels-2.4.4[${PYTHON_USEDEP}]
- <dev-python/spyder-kernels-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/textdistance-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/three-merge-0.1.1[${PYTHON_USEDEP}]
- >=dev-python/watchdog-0.10.3[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/matplotlib[tk,${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pytest-lazy-fixture[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-order[${PYTHON_USEDEP}]
- dev-python/pytest-qt[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/QtPy[${PYTHON_USEDEP},pyside2,pyqt5]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/sympy[${PYTHON_USEDEP}]
- )"
-
-# Based on the courtesy of Arfrever
-# This patch removes a call to update-desktop-database during build
-# This fails because access is denied to this command during build
-PATCHES=(
- "${FILESDIR}/${PN}-5.0.0-build.patch"
- "${FILESDIR}/${PN}-5.2.0-doc-theme-renamed.patch"
-)
-
-DOCS=(
- "AUTHORS.txt"
- "Announcements.md"
- "CHANGELOG.md"
- "CODE_OF_CONDUCT.md"
- "CONTRIBUTING.md"
- "NOTICE.txt"
- "README.md"
- "RELEASE.md"
-)
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs/doc \
- dev-python/sphinx-panels \
- dev-python/pydata-sphinx-theme \
- dev-python/sphinx-multiversion
-
-python_prepare_all() {
- # move docs into workdir
- mv ../spyder-docs-${DOCS_PV}* docs || die
-
- # these dependencies are packaged separately:
- # dev-python/spyder-kernels,
- # dev-python/python-lsp-server,
- # dev-python/qdarkstyle
- rm -r external-deps/* || die
- # runs against things packaged in external-deps dir
- rm conftest.py || die
-
- # Do not depend on pyqt5<5.16, this dependency is carried by QtPy[pyqt5]
- # Do not depend on pyqtwebengine<5.16, this dependency is carried by QtPy[webengine]
- # Do not depend on parso and jedi, this is dependency is carried in python-lsp-server
- # Do not depend on python-lsp-server, this dependency is carried in pyls-spyder
- # Do not depend on ipython, this dependency is carried in spyder-kernels
- # The explicit version requirements only make things more complicated, if e.g.
- # pyls-spyder gains compatibility with a newer version of python-lsp-server
- # in a new release it will take time for this information to propagate into
- # the next spyder release. So just remove the dependency and let the other
- # ebuilds handle the version requirements to speed things up and prevent
- # issues such as Bug 803269.
- sed -i \
- -e "/'pyqt5[ 0-9<=>.,]*',/d" \
- -e "/'pyqtwebengine[ 0-9<=>.,]*',/d" \
- -e "/'python-lsp-server\[all\][ 0-9<=>.,]*',/d" \
- -e "/'parso[ 0-9<=>.,]*',/d" \
- -e "/'jedi[ 0-9<=>.,]*',/d" \
- -e "/'pylint[ 0-9<=>.,]*',/d" \
- setup.py || die
- # -e "/'ipython[ 0-9<=>.,]*',/d" \
-
- sed -i \
- -e "/^PYLS_REQVER/c\PYLS_REQVER = '>=0.0.1'" \
- -e "/^PYLSP_REQVER/c\PYLSP_REQVER = '>=0.0.1'" \
- -e "/^PARSO_REQVER/c\PARSO_REQVER = '>=0.0.1'" \
- -e "/^JEDI_REQVER/c\JEDI_REQVER = '>=0.0.1'" \
- -e "/^PYLINT_REQVER/c\PYLINT_REQVER = '>=0.0.1'" \
- spyder/dependencies.py || die
- # -e "/^IPYTHON_REQVER/c\IPYTHON_REQVER = '>=0.0.1'" \
-
- # do not check deps, fails because we removed dependencies above
- sed -i -e 's:test_dependencies_for_spyder_setup_install_requires_in_sync:_&:' \
- spyder/tests/test_dependencies_in_sync.py || die
-
- # can't check for update, need network
- rm spyder/workers/tests/test_update.py || die
-
- # skip online test
- rm spyder/widgets/github/tests/test_github_backend.py || die
-
- distutils-r1_python_prepare_all
-}
-
-# Calling pytest directly somehow passes the pytest arguments to spyder
-# causing an invalid argument error
-python_test() {
- virtx "${EPYTHON}" runtests.py
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- optfeature "2D/3D plotting in the Python and IPython consoles" dev-python/matplotlib
- optfeature "View and edit DataFrames and Series in the Variable Explorer" dev-python/pandas
- optfeature "View and edit two or three dimensional arrays in the Variable Explorer" dev-python/numpy
- optfeature "Symbolic mathematics in the IPython console" dev-python/sympy
- optfeature "Import Matlab workspace files in the Variable Explorer" dev-python/scipy
- optfeature "Run Cython files in the IPython console" dev-python/cython
- optfeature "The hdf5/h5py plugin" dev-python/h5py
- optfeature "The line profiler plugin" dev-python/spyder-line-profiler
- optfeature "Vim key bindings" dev-python/spyder-vim
- optfeature "Unittest support" dev-python/spyder-unittest
- optfeature "System terminal inside spyder" dev-python/spyder-terminal
- optfeature "Jupyter notebook support" dev-python/spyder-notebook
- # spyder-memory-profiler is not compatible with spyder-5.2+ yet
- # optfeature "The memory profiler plugin" dev-python/spyder-memory-profiler
- # spyder-reports not yet updated to >=spyder-4.0.0
- # optfeature "Markdown reports using Pweave" dev-python/spyder-reports
- # Plugins with no release yet:
- # optfeature "Manage virtual environments and packages" dev-python/spyder-env-manager
- # optfeature "VCS (e.g. git) integration" dev-python/spyder-vcs
-}
diff --git a/dev-python/spyder/spyder-5.4.5.ebuild b/dev-python/spyder/spyder-5.4.5.ebuild
deleted file mode 100644
index 96695d785f52..000000000000
--- a/dev-python/spyder/spyder-5.4.5.ebuild
+++ /dev/null
@@ -1,192 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 optfeature virtualx xdg
-
-# Commit of documentation to fetch
-DOCS_PV="cfa8e009264cb5e79beeead6a012e521db2c73dc"
-
-DESCRIPTION="The Scientific Python Development Environment"
-HOMEPAGE="
- https://www.spyder-ide.org/
- https://github.com/spyder-ide/spyder/
- https://pypi.org/project/spyder/
-"
-SRC_URI="
- https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
- https://github.com/spyder-ide/${PN}-docs/archive/${DOCS_PV}.tar.gz -> ${PN}-docs-${DOCS_PV}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/atomicwrites-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/chardet-2.0.0[${PYTHON_USEDEP}]
- >=dev-util/cookiecutter-1.6.0[${PYTHON_USEDEP}]
- >=dev-python/diff-match-patch-20181111[${PYTHON_USEDEP}]
- >=dev-python/intervaltree-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/jellyfish-0.7[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/keyring-17.0.0[${PYTHON_USEDEP}]
- >=dev-python/nbconvert-4.0[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.4.0[${PYTHON_USEDEP}]
- >=dev-python/pickleshare-0.4[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.3[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
- >=dev-python/pylint-venv-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/python-lsp-black-1.2.0[${PYTHON_USEDEP}]
- <dev-python/python-lsp-black-3[${PYTHON_USEDEP}]
- >=dev-python/pyls-spyder-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-22.1.0[${PYTHON_USEDEP}]
- >=dev-python/qdarkstyle-3.0.2[${PYTHON_USEDEP}]
- <dev-python/qdarkstyle-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/qstylizer-0.2.2[${PYTHON_USEDEP}]
- >=dev-python/qtawesome-1.2.1[${PYTHON_USEDEP}]
- >=dev-python/qtconsole-5.4.2[${PYTHON_USEDEP}]
- <dev-python/qtconsole-5.5.0[${PYTHON_USEDEP}]
- >=dev-python/QtPy-2.1.0[${PYTHON_USEDEP},svg,webengine]
- >=sci-libs/rtree-0.9.7[${PYTHON_USEDEP}]
- >=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}]
- >=dev-python/spyder-kernels-2.4.4[${PYTHON_USEDEP}]
- <dev-python/spyder-kernels-2.5.0[${PYTHON_USEDEP}]
- >=dev-python/textdistance-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/three-merge-0.1.1[${PYTHON_USEDEP}]
- >=dev-python/watchdog-0.10.3[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/matplotlib[tk,${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pytest-lazy-fixture[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-order[${PYTHON_USEDEP}]
- dev-python/pytest-qt[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/QtPy[${PYTHON_USEDEP},pyside2,pyqt5]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/sympy[${PYTHON_USEDEP}]
- )"
-
-# Based on the courtesy of Arfrever
-# This patch removes a call to update-desktop-database during build
-# This fails because access is denied to this command during build
-PATCHES=(
- "${FILESDIR}/${PN}-5.0.0-build.patch"
- "${FILESDIR}/${PN}-5.2.0-doc-theme-renamed.patch"
-)
-
-DOCS=(
- "AUTHORS.txt"
- "Announcements.md"
- "CHANGELOG.md"
- "CODE_OF_CONDUCT.md"
- "CONTRIBUTING.md"
- "NOTICE.txt"
- "README.md"
- "RELEASE.md"
-)
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs/doc \
- dev-python/sphinx-panels \
- dev-python/pydata-sphinx-theme \
- dev-python/sphinx-multiversion
-
-python_prepare_all() {
- # move docs into workdir
- mv ../spyder-docs-${DOCS_PV}* docs || die
-
- # these dependencies are packaged separately:
- # dev-python/spyder-kernels,
- # dev-python/python-lsp-server,
- # dev-python/qdarkstyle
- rm -r external-deps/* || die
- # runs against things packaged in external-deps dir
- rm conftest.py || die
-
- # Do not depend on pyqt5<5.16, this dependency is carried by QtPy[pyqt5]
- # Do not depend on pyqtwebengine<5.16, this dependency is carried by QtPy[webengine]
- # Do not depend on parso and jedi, this is dependency is carried in python-lsp-server
- # Do not depend on python-lsp-server, this dependency is carried in pyls-spyder
- # Do not depend on ipython, this dependency is carried in spyder-kernels
- # The explicit version requirements only make things more complicated, if e.g.
- # pyls-spyder gains compatibility with a newer version of python-lsp-server
- # in a new release it will take time for this information to propagate into
- # the next spyder release. So just remove the dependency and let the other
- # ebuilds handle the version requirements to speed things up and prevent
- # issues such as Bug 803269.
- sed -i \
- -e "/'pyqt5[ 0-9<=>.,]*',/d" \
- -e "/'pyqtwebengine[ 0-9<=>.,]*',/d" \
- -e "/'python-lsp-server\[all\][ 0-9<=>.,]*',/d" \
- -e "/'parso[ 0-9<=>.,]*',/d" \
- -e "/'jedi[ 0-9<=>.,]*',/d" \
- -e "/'pylint[ 0-9<=>.,]*',/d" \
- setup.py || die
- # -e "/'ipython[ 0-9<=>.,]*',/d" \
-
- sed -i \
- -e "/^PYLS_REQVER/c\PYLS_REQVER = '>=0.0.1'" \
- -e "/^PYLSP_REQVER/c\PYLSP_REQVER = '>=0.0.1'" \
- -e "/^PARSO_REQVER/c\PARSO_REQVER = '>=0.0.1'" \
- -e "/^JEDI_REQVER/c\JEDI_REQVER = '>=0.0.1'" \
- -e "/^PYLINT_REQVER/c\PYLINT_REQVER = '>=0.0.1'" \
- spyder/dependencies.py || die
- # -e "/^IPYTHON_REQVER/c\IPYTHON_REQVER = '>=0.0.1'" \
-
- # do not check deps, fails because we removed dependencies above
- sed -i -e 's:test_dependencies_for_spyder_setup_install_requires_in_sync:_&:' \
- spyder/tests/test_dependencies_in_sync.py || die
-
- # can't check for update, need network
- rm spyder/workers/tests/test_update.py || die
-
- # skip online test
- rm spyder/widgets/github/tests/test_github_backend.py || die
-
- distutils-r1_python_prepare_all
-}
-
-# Calling pytest directly somehow passes the pytest arguments to spyder
-# causing an invalid argument error
-python_test() {
- virtx "${EPYTHON}" runtests.py
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- optfeature "2D/3D plotting in the Python and IPython consoles" dev-python/matplotlib
- optfeature "View and edit DataFrames and Series in the Variable Explorer" dev-python/pandas
- optfeature "View and edit two or three dimensional arrays in the Variable Explorer" dev-python/numpy
- optfeature "Symbolic mathematics in the IPython console" dev-python/sympy
- optfeature "Import Matlab workspace files in the Variable Explorer" dev-python/scipy
- optfeature "Run Cython files in the IPython console" dev-python/cython
- optfeature "The hdf5/h5py plugin" dev-python/h5py
- optfeature "The line profiler plugin" dev-python/spyder-line-profiler
- optfeature "Vim key bindings" dev-python/spyder-vim
- optfeature "Unittest support" dev-python/spyder-unittest
- optfeature "System terminal inside spyder" dev-python/spyder-terminal
- optfeature "Jupyter notebook support" dev-python/spyder-notebook
- # spyder-memory-profiler is not compatible with spyder-5.2+ yet
- # optfeature "The memory profiler plugin" dev-python/spyder-memory-profiler
- # spyder-reports not yet updated to >=spyder-4.0.0
- # optfeature "Markdown reports using Pweave" dev-python/spyder-reports
- # Plugins with no release yet:
- # optfeature "Manage virtual environments and packages" dev-python/spyder-env-manager
- # optfeature "VCS (e.g. git) integration" dev-python/spyder-vcs
-}
diff --git a/dev-python/spyder/spyder-5.5.0.ebuild b/dev-python/spyder/spyder-5.5.0.ebuild
deleted file mode 100644
index aef0741716a1..000000000000
--- a/dev-python/spyder/spyder-5.5.0.ebuild
+++ /dev/null
@@ -1,192 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 optfeature virtualx xdg
-
-# Commit of documentation to fetch
-DOCS_PV="0aa81d44ec6490c155be1bb1acca0a27328b12e0"
-
-DESCRIPTION="The Scientific Python Development Environment"
-HOMEPAGE="
- https://www.spyder-ide.org/
- https://github.com/spyder-ide/spyder/
- https://pypi.org/project/spyder/
-"
-SRC_URI="
- https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
- https://github.com/spyder-ide/${PN}-docs/archive/${DOCS_PV}.tar.gz -> ${PN}-docs-${DOCS_PV}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- >=dev-python/atomicwrites-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/chardet-2.0.0[${PYTHON_USEDEP}]
- >=dev-util/cookiecutter-1.6.0[${PYTHON_USEDEP}]
- >=dev-python/diff-match-patch-20181111[${PYTHON_USEDEP}]
- >=dev-python/intervaltree-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/jellyfish-0.7[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/keyring-17.0.0[${PYTHON_USEDEP}]
- >=dev-python/nbconvert-4.0[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.4.0[${PYTHON_USEDEP}]
- >=dev-python/pickleshare-0.4[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.3[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
- >=dev-python/pylint-venv-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/python-lsp-black-1.2.0[${PYTHON_USEDEP}]
- <dev-python/python-lsp-black-3[${PYTHON_USEDEP}]
- >=dev-python/pyls-spyder-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-22.1.0[${PYTHON_USEDEP}]
- >=dev-python/qdarkstyle-3.2[${PYTHON_USEDEP}]
- <dev-python/qdarkstyle-3.3[${PYTHON_USEDEP}]
- >=dev-python/qstylizer-0.2.2[${PYTHON_USEDEP}]
- >=dev-python/qtawesome-1.2.1[${PYTHON_USEDEP}]
- >=dev-python/qtconsole-5.5.0[${PYTHON_USEDEP}]
- <dev-python/qtconsole-5.6.0[${PYTHON_USEDEP}]
- >=dev-python/QtPy-2.1.0[${PYTHON_USEDEP},svg,webengine]
- >=sci-libs/rtree-0.9.7[${PYTHON_USEDEP}]
- >=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}]
- >=dev-python/spyder-kernels-2.5.0[${PYTHON_USEDEP}]
- <dev-python/spyder-kernels-2.6.0[${PYTHON_USEDEP}]
- >=dev-python/textdistance-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/three-merge-0.1.1[${PYTHON_USEDEP}]
- >=dev-python/watchdog-0.10.3[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/matplotlib[tk,${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pytest-lazy-fixture[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-order[${PYTHON_USEDEP}]
- dev-python/pytest-qt[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/QtPy[${PYTHON_USEDEP},pyside2,pyqt5]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/sympy[${PYTHON_USEDEP}]
- )"
-
-# Based on the courtesy of Arfrever
-# This patch removes a call to update-desktop-database during build
-# This fails because access is denied to this command during build
-PATCHES=(
- "${FILESDIR}/${PN}-5.0.0-build.patch"
- "${FILESDIR}/${PN}-5.2.0-doc-theme-renamed.patch"
-)
-
-DOCS=(
- "AUTHORS.txt"
- "Announcements.md"
- "CHANGELOG.md"
- "CODE_OF_CONDUCT.md"
- "CONTRIBUTING.md"
- "NOTICE.txt"
- "README.md"
- "RELEASE.md"
-)
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs/doc \
- dev-python/sphinx-panels \
- dev-python/pydata-sphinx-theme \
- dev-python/sphinx-multiversion
-
-python_prepare_all() {
- # move docs into workdir
- mv ../spyder-docs-${DOCS_PV}* docs || die
-
- # these dependencies are packaged separately:
- # dev-python/spyder-kernels,
- # dev-python/python-lsp-server,
- # dev-python/qdarkstyle
- rm -r external-deps/* || die
- # runs against things packaged in external-deps dir
- rm conftest.py || die
-
- # Do not depend on pyqt5<5.16, this dependency is carried by QtPy[pyqt5]
- # Do not depend on pyqtwebengine<5.16, this dependency is carried by QtPy[webengine]
- # Do not depend on parso and jedi, this is dependency is carried in python-lsp-server
- # Do not depend on python-lsp-server, this dependency is carried in pyls-spyder
- # Do not depend on ipython, this dependency is carried in spyder-kernels
- # The explicit version requirements only make things more complicated, if e.g.
- # pyls-spyder gains compatibility with a newer version of python-lsp-server
- # in a new release it will take time for this information to propagate into
- # the next spyder release. So just remove the dependency and let the other
- # ebuilds handle the version requirements to speed things up and prevent
- # issues such as Bug 803269.
- sed -i \
- -e "/'pyqt5[ 0-9<=>.,]*',/d" \
- -e "/'pyqtwebengine[ 0-9<=>.,]*',/d" \
- -e "/'python-lsp-server\[all\][ 0-9<=>.,]*',/d" \
- -e "/'parso[ 0-9<=>.,]*',/d" \
- -e "/'jedi[ 0-9<=>.,]*',/d" \
- -e "/'pylint[ 0-9<=>.,]*',/d" \
- setup.py || die
- # -e "/'ipython[ 0-9<=>.,]*',/d" \
-
- sed -i \
- -e "/^PYLS_REQVER/c\PYLS_REQVER = '>=0.0.1'" \
- -e "/^PYLSP_REQVER/c\PYLSP_REQVER = '>=0.0.1'" \
- -e "/^PARSO_REQVER/c\PARSO_REQVER = '>=0.0.1'" \
- -e "/^JEDI_REQVER/c\JEDI_REQVER = '>=0.0.1'" \
- -e "/^PYLINT_REQVER/c\PYLINT_REQVER = '>=0.0.1'" \
- spyder/dependencies.py || die
- # -e "/^IPYTHON_REQVER/c\IPYTHON_REQVER = '>=0.0.1'" \
-
- # do not check deps, fails because we removed dependencies above
- sed -i -e 's:test_dependencies_for_spyder_setup_install_requires_in_sync:_&:' \
- spyder/tests/test_dependencies_in_sync.py || die
-
- # can't check for update, need network
- rm spyder/workers/tests/test_update.py || die
-
- # skip online test
- rm spyder/widgets/github/tests/test_github_backend.py || die
-
- distutils-r1_python_prepare_all
-}
-
-# Calling pytest directly somehow passes the pytest arguments to spyder
-# causing an invalid argument error
-python_test() {
- virtx "${EPYTHON}" runtests.py
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- optfeature "2D/3D plotting in the Python and IPython consoles" dev-python/matplotlib
- optfeature "View and edit DataFrames and Series in the Variable Explorer" dev-python/pandas
- optfeature "View and edit two or three dimensional arrays in the Variable Explorer" dev-python/numpy
- optfeature "Symbolic mathematics in the IPython console" dev-python/sympy
- optfeature "Import Matlab workspace files in the Variable Explorer" dev-python/scipy
- optfeature "Run Cython files in the IPython console" dev-python/cython
- optfeature "The hdf5/h5py plugin" dev-python/h5py
- optfeature "The line profiler plugin" dev-python/spyder-line-profiler
- optfeature "Vim key bindings" dev-python/spyder-vim
- optfeature "Unittest support" dev-python/spyder-unittest
- optfeature "System terminal inside spyder" dev-python/spyder-terminal
- optfeature "Jupyter notebook support" dev-python/spyder-notebook
- # spyder-memory-profiler is not compatible with spyder-5.2+ yet
- # optfeature "The memory profiler plugin" dev-python/spyder-memory-profiler
- # spyder-reports not yet updated to >=spyder-4.0.0
- # optfeature "Markdown reports using Pweave" dev-python/spyder-reports
- # Plugins with no release yet:
- # optfeature "Manage virtual environments and packages" dev-python/spyder-env-manager
- # optfeature "VCS (e.g. git) integration" dev-python/spyder-vcs
-}
diff --git a/dev-python/spyder/spyder-5.5.5.ebuild b/dev-python/spyder/spyder-5.5.5.ebuild
new file mode 100644
index 000000000000..4361d553e778
--- /dev/null
+++ b/dev-python/spyder/spyder-5.5.5.ebuild
@@ -0,0 +1,193 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 optfeature virtualx xdg
+
+# Commit of documentation to fetch
+DOCS_PV="32efdaebc11dab0b8e0767717342b7d306dc06ea"
+
+DESCRIPTION="The Scientific Python Development Environment"
+HOMEPAGE="
+ https://www.spyder-ide.org/
+ https://github.com/spyder-ide/spyder/
+ https://pypi.org/project/spyder/
+"
+SRC_URI="
+ https://github.com/spyder-ide/${PN}/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
+ https://github.com/spyder-ide/${PN}-docs/archive/${DOCS_PV}.tar.gz -> ${PN}-docs-${DOCS_PV}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/atomicwrites-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/chardet-2.0.0[${PYTHON_USEDEP}]
+ >=dev-util/cookiecutter-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/diff-match-patch-20181111[${PYTHON_USEDEP}]
+ >=dev-python/intervaltree-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/jellyfish-0.7[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keyring-17.0.0[${PYTHON_USEDEP}]
+ >=dev-python/nbconvert-4.0[${PYTHON_USEDEP}]
+ >=dev-python/numpydoc-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pickleshare-0.4[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.3[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
+ >=dev-python/pylint-venv-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/python-lsp-black-2.0.0[${PYTHON_USEDEP}]
+ <dev-python/python-lsp-black-3[${PYTHON_USEDEP}]
+ >=dev-python/pyls-spyder-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-24.0.0[${PYTHON_USEDEP}]
+ >=dev-python/qdarkstyle-3.2[${PYTHON_USEDEP}]
+ <dev-python/qdarkstyle-3.3[${PYTHON_USEDEP}]
+ >=dev-python/qstylizer-0.2.2[${PYTHON_USEDEP}]
+ >=dev-python/qtawesome-1.3.1[${PYTHON_USEDEP}]
+ <dev-python/qtawesome-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/qtconsole-5.5.1[${PYTHON_USEDEP}]
+ <dev-python/qtconsole-5.6.0[${PYTHON_USEDEP}]
+ >=dev-python/QtPy-2.1.0[${PYTHON_USEDEP},pyqt5,svg,webengine]
+ >=dev-python/rtree-0.9.7[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}]
+ >=dev-python/spyder-kernels-2.5.2[${PYTHON_USEDEP}]
+ <dev-python/spyder-kernels-2.6.0[${PYTHON_USEDEP}]
+ >=dev-python/textdistance-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/three-merge-0.1.1[${PYTHON_USEDEP}]
+ >=dev-python/watchdog-0.10.3[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/matplotlib[tk,${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pytest-lazy-fixture[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-order[${PYTHON_USEDEP}]
+ dev-python/pytest-qt[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/QtPy[${PYTHON_USEDEP},pyside2,pyqt5]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/sympy[${PYTHON_USEDEP}]
+ )"
+
+# Based on the courtesy of Arfrever
+# This patch removes a call to update-desktop-database during build
+# This fails because access is denied to this command during build
+PATCHES=(
+ "${FILESDIR}/${PN}-5.0.0-build.patch"
+ "${FILESDIR}/${PN}-5.2.0-doc-theme-renamed.patch"
+)
+
+DOCS=(
+ "AUTHORS.txt"
+ "Announcements.md"
+ "CHANGELOG.md"
+ "CODE_OF_CONDUCT.md"
+ "CONTRIBUTING.md"
+ "NOTICE.txt"
+ "README.md"
+ "RELEASE.md"
+)
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs/doc \
+ dev-python/sphinx-panels \
+ dev-python/pydata-sphinx-theme \
+ dev-python/sphinx-multiversion
+
+python_prepare_all() {
+ # move docs into workdir
+ mv ../spyder-docs-${DOCS_PV}* docs || die
+
+ # these dependencies are packaged separately:
+ # dev-python/spyder-kernels,
+ # dev-python/python-lsp-server,
+ # dev-python/qdarkstyle
+ rm -r external-deps/* || die
+ # runs against things packaged in external-deps dir
+ rm conftest.py || die
+
+ # Do not depend on pyqt5<5.16, this dependency is carried by QtPy[pyqt5]
+ # Do not depend on pyqtwebengine<5.16, this dependency is carried by QtPy[webengine]
+ # Do not depend on parso and jedi, this is dependency is carried in python-lsp-server
+ # Do not depend on python-lsp-server, this dependency is carried in pyls-spyder
+ # Do not depend on ipython, this dependency is carried in spyder-kernels
+ # The explicit version requirements only make things more complicated, if e.g.
+ # pyls-spyder gains compatibility with a newer version of python-lsp-server
+ # in a new release it will take time for this information to propagate into
+ # the next spyder release. So just remove the dependency and let the other
+ # ebuilds handle the version requirements to speed things up and prevent
+ # issues such as Bug 803269.
+ sed -i \
+ -e "/'pyqt5[ 0-9<=>.,]*',/d" \
+ -e "/'pyqtwebengine[ 0-9<=>.,]*',/d" \
+ -e "/'python-lsp-server\[all\][ 0-9<=>.,]*',/d" \
+ -e "/'parso[ 0-9<=>.,]*',/d" \
+ -e "/'jedi[ 0-9<=>.,]*',/d" \
+ -e "/'pylint[ 0-9<=>.,]*',/d" \
+ setup.py || die
+ # -e "/'ipython[ 0-9<=>.,]*',/d" \
+
+ sed -i \
+ -e "/^PYLS_REQVER/c\PYLS_REQVER = '>=0.0.1'" \
+ -e "/^PYLSP_REQVER/c\PYLSP_REQVER = '>=0.0.1'" \
+ -e "/^PARSO_REQVER/c\PARSO_REQVER = '>=0.0.1'" \
+ -e "/^JEDI_REQVER/c\JEDI_REQVER = '>=0.0.1'" \
+ -e "/^PYLINT_REQVER/c\PYLINT_REQVER = '>=0.0.1'" \
+ spyder/dependencies.py || die
+ # -e "/^IPYTHON_REQVER/c\IPYTHON_REQVER = '>=0.0.1'" \
+
+ # do not check deps, fails because we removed dependencies above
+ sed -i -e 's:test_dependencies_for_spyder_setup_install_requires_in_sync:_&:' \
+ spyder/tests/test_dependencies_in_sync.py || die
+
+ # can't check for update, need network
+ rm spyder/workers/tests/test_update.py || die
+
+ # skip online test
+ rm spyder/widgets/github/tests/test_github_backend.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+# Calling pytest directly somehow passes the pytest arguments to spyder
+# causing an invalid argument error
+python_test() {
+ virtx "${EPYTHON}" runtests.py
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature "2D/3D plotting in the Python and IPython consoles" dev-python/matplotlib
+ optfeature "View and edit DataFrames and Series in the Variable Explorer" dev-python/pandas
+ optfeature "View and edit two or three dimensional arrays in the Variable Explorer" dev-python/numpy
+ optfeature "Symbolic mathematics in the IPython console" dev-python/sympy
+ optfeature "Import Matlab workspace files in the Variable Explorer" dev-python/scipy
+ optfeature "Run Cython files in the IPython console" dev-python/cython
+ optfeature "The hdf5/h5py plugin" dev-python/h5py
+ optfeature "The line profiler plugin" dev-python/spyder-line-profiler
+ optfeature "Vim key bindings" dev-python/spyder-vim
+ optfeature "Unittest support" dev-python/spyder-unittest
+ optfeature "System terminal inside spyder" dev-python/spyder-terminal
+ optfeature "Jupyter notebook support" dev-python/spyder-notebook
+ # spyder-memory-profiler is not compatible with spyder-5.2+ yet
+ # optfeature "The memory profiler plugin" dev-python/spyder-memory-profiler
+ # spyder-reports not yet updated to >=spyder-4.0.0
+ # optfeature "Markdown reports using Pweave" dev-python/spyder-reports
+ # Plugins with no release yet:
+ # optfeature "Manage virtual environments and packages" dev-python/spyder-env-manager
+ # optfeature "VCS (e.g. git) integration" dev-python/spyder-vcs
+}
diff --git a/dev-python/spyder/spyder-6.0.0_alpha2.ebuild b/dev-python/spyder/spyder-6.0.0_alpha2.ebuild
deleted file mode 100644
index c28ddd7232be..000000000000
--- a/dev-python/spyder/spyder-6.0.0_alpha2.ebuild
+++ /dev/null
@@ -1,192 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..11} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 optfeature virtualx xdg
-
-# Commit of documentation to fetch
-DOCS_PV="cfa8e009264cb5e79beeead6a012e521db2c73dc"
-
-DESCRIPTION="The Scientific Python Development Environment"
-HOMEPAGE="
- https://www.spyder-ide.org/
- https://github.com/spyder-ide/spyder/
- https://pypi.org/project/spyder/
-"
-SRC_URI="
- https://github.com/spyder-ide/${PN}/archive/v${PV//_alpha/a}.tar.gz -> ${P}.gh.tar.gz
- https://github.com/spyder-ide/${PN}-docs/archive/${DOCS_PV}.tar.gz -> ${PN}-docs-${DOCS_PV}.gh.tar.gz
-"
-S="${WORKDIR}/${PN}-${PV//_alpha/a}"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS=""
-
-RDEPEND="
- >=dev-python/atomicwrites-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/chardet-2.0.0[${PYTHON_USEDEP}]
- >=dev-util/cookiecutter-1.6.0[${PYTHON_USEDEP}]
- >=dev-python/diff-match-patch-20181111[${PYTHON_USEDEP}]
- >=dev-python/intervaltree-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/jellyfish-0.7[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/keyring-17.0.0[${PYTHON_USEDEP}]
- >=dev-python/nbconvert-4.0[${PYTHON_USEDEP}]
- >=dev-python/numpydoc-0.6.0[${PYTHON_USEDEP}]
- >=dev-python/pexpect-4.4.0[${PYTHON_USEDEP}]
- >=dev-python/pickleshare-0.4[${PYTHON_USEDEP}]
- >=dev-python/psutil-5.3[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
- >=dev-python/pylint-venv-3.0.2[${PYTHON_USEDEP}]
- >=dev-python/python-lsp-black-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/pyls-spyder-0.4.0[${PYTHON_USEDEP}]
- >=dev-python/pyuca-1.2[${PYTHON_USEDEP}]
- >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
- >=dev-python/pyzmq-22.1.0[${PYTHON_USEDEP}]
- >=dev-python/qdarkstyle-3.0.2[${PYTHON_USEDEP}]
- <dev-python/qdarkstyle-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/qstylizer-0.2.2[${PYTHON_USEDEP}]
- >=dev-python/qtawesome-1.2.1[${PYTHON_USEDEP}]
- >=dev-python/qtconsole-5.4.2[${PYTHON_USEDEP}]
- <dev-python/qtconsole-5.5.0[${PYTHON_USEDEP}]
- >=dev-python/QtPy-2.1.0[${PYTHON_USEDEP},svg,webengine]
- >=sci-libs/rtree-0.9.7[${PYTHON_USEDEP}]
- >=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}]
- >=dev-python/spyder-kernels-3.0.0_beta2[${PYTHON_USEDEP}]
- <dev-python/spyder-kernels-3.0.0_beta3[${PYTHON_USEDEP}]
- >=dev-python/textdistance-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/three-merge-0.1.1[${PYTHON_USEDEP}]
- >=dev-python/watchdog-0.10.3[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/matplotlib[tk,${PYTHON_USEDEP}]
- dev-python/pandas[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pytest-lazy-fixture[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-order[${PYTHON_USEDEP}]
- dev-python/pytest-qt[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- dev-python/QtPy[${PYTHON_USEDEP},pyside2,pyqt5]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/sympy[${PYTHON_USEDEP}]
- )"
-
-# Based on the courtesy of Arfrever
-# This patch removes a call to update-desktop-database during build
-# This fails because access is denied to this command during build
-PATCHES=(
- "${FILESDIR}/${PN}-5.0.0-build.patch"
- "${FILESDIR}/${PN}-5.2.0-doc-theme-renamed.patch"
-)
-
-DOCS=(
- "AUTHORS.txt"
- "Announcements.md"
- "CHANGELOG.md"
- "CODE_OF_CONDUCT.md"
- "CONTRIBUTING.md"
- "NOTICE.txt"
- "README.md"
- "RELEASE.md"
-)
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs/doc \
- dev-python/sphinx-panels \
- dev-python/pydata-sphinx-theme \
- dev-python/sphinx-multiversion
-
-python_prepare_all() {
- # move docs into workdir
- mv ../spyder-docs-${DOCS_PV}* docs || die
-
- # these dependencies are packaged separately:
- # dev-python/spyder-kernels,
- # dev-python/python-lsp-server,
- # dev-python/qdarkstyle
- rm -r external-deps/* || die
- # runs against things packaged in external-deps dir
- rm conftest.py || die
-
- # Do not depend on pyqt5<5.16, this dependency is carried by QtPy[pyqt5]
- # Do not depend on pyqtwebengine<5.16, this dependency is carried by QtPy[webengine]
- # Do not depend on parso and jedi, this is dependency is carried in python-lsp-server
- # Do not depend on python-lsp-server, this dependency is carried in pyls-spyder
- # Do not depend on ipython, this dependency is carried in spyder-kernels
- # The explicit version requirements only make things more complicated, if e.g.
- # pyls-spyder gains compatibility with a newer version of python-lsp-server
- # in a new release it will take time for this information to propagate into
- # the next spyder release. So just remove the dependency and let the other
- # ebuilds handle the version requirements to speed things up and prevent
- # issues such as Bug 803269.
- sed -i \
- -e "/'pyqt5[ 0-9<=>.,]*',/d" \
- -e "/'pyqtwebengine[ 0-9<=>.,]*',/d" \
- -e "/'python-lsp-server\[all\][ 0-9<=>.,]*',/d" \
- -e "/'parso[ 0-9<=>.,]*',/d" \
- -e "/'jedi[ 0-9<=>.,]*',/d" \
- -e "/'pylint[ 0-9<=>.,]*',/d" \
- setup.py || die
- # -e "/'ipython[ 0-9<=>.,]*',/d" \
- sed -i \
- -e "/^PYLS_REQVER/c\PYLS_REQVER = '>=0.0.1'" \
- -e "/^PYLSP_REQVER/c\PYLSP_REQVER = '>=0.0.1'" \
- -e "/^PARSO_REQVER/c\PARSO_REQVER = '>=0.0.1'" \
- -e "/^JEDI_REQVER/c\JEDI_REQVER = '>=0.0.1'" \
- -e "/^PYLINT_REQVER/c\PYLINT_REQVER = '>=0.0.1'" \
- spyder/dependencies.py || die
- # -e "/^IPYTHON_REQVER/c\IPYTHON_REQVER = '>=0.0.1'" \
-
- # do not check deps, fails because we removed dependencies above
- sed -i -e 's:test_dependencies_for_spyder_setup_install_requires_in_sync:_&:' \
- spyder/tests/test_dependencies_in_sync.py || die
-
- # can't check for update, need network
- rm spyder/workers/tests/test_update.py || die
-
- # skip online test
- rm spyder/widgets/github/tests/test_github_backend.py || die
-
- distutils-r1_python_prepare_all
-}
-
-# Calling pytest directly somehow passes the pytest arguments to spyder
-# causing an invalid argument error
-python_test() {
- virtx "${EPYTHON}" runtests.py
-}
-
-pkg_postinst() {
- xdg_pkg_postinst
-
- optfeature "2D/3D plotting in the Python and IPython consoles" dev-python/matplotlib
- optfeature "View and edit DataFrames and Series in the Variable Explorer" dev-python/pandas
- optfeature "View and edit two or three dimensional arrays in the Variable Explorer" dev-python/numpy
- optfeature "Symbolic mathematics in the IPython console" dev-python/sympy
- optfeature "Import Matlab workspace files in the Variable Explorer" dev-python/scipy
- optfeature "Run Cython files in the IPython console" dev-python/cython
- optfeature "The hdf5/h5py plugin" dev-python/h5py
- optfeature "The line profiler plugin" dev-python/spyder-line-profiler
- optfeature "Vim key bindings" dev-python/spyder-vim
- optfeature "Unittest support" dev-python/spyder-unittest
- optfeature "System terminal inside spyder" dev-python/spyder-terminal
- optfeature "Jupyter notebook support" dev-python/spyder-notebook
- # spyder-memory-profiler is not compatible with spyder-5.2+ yet
- # optfeature "The memory profiler plugin" dev-python/spyder-memory-profiler
- # spyder-reports not yet updated to >=spyder-4.0.0
- # optfeature "Markdown reports using Pweave" dev-python/spyder-reports
- # Plugins with no release yet:
- # optfeature "Manage virtual environments and packages" dev-python/spyder-env-manager
- # optfeature "VCS (e.g. git) integration" dev-python/spyder-vcs
-}
diff --git a/dev-python/spyder/spyder-6.0.0_beta3.ebuild b/dev-python/spyder/spyder-6.0.0_beta3.ebuild
new file mode 100644
index 000000000000..c67ff4355549
--- /dev/null
+++ b/dev-python/spyder/spyder-6.0.0_beta3.ebuild
@@ -0,0 +1,198 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..12} )
+DISTUTILS_USE_PEP517=setuptools
+
+inherit distutils-r1 optfeature virtualx xdg
+
+# Commit of documentation to fetch
+DOCS_PV="32efdaebc11dab0b8e0767717342b7d306dc06ea"
+
+DESCRIPTION="The Scientific Python Development Environment"
+HOMEPAGE="
+ https://www.spyder-ide.org/
+ https://github.com/spyder-ide/spyder/
+ https://pypi.org/project/spyder/
+"
+SRC_URI="
+ https://github.com/spyder-ide/${PN}/archive/v${PV//_beta/b}.tar.gz -> ${P}.gh.tar.gz
+ https://github.com/spyder-ide/${PN}-docs/archive/${DOCS_PV}.tar.gz -> ${PN}-docs-${DOCS_PV}.gh.tar.gz
+"
+S="${WORKDIR}/${PN}-${PV//_beta/b}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS=""
+
+RDEPEND="
+ >=dev-python/aiohttp-3.9.3[${PYTHON_USEDEP}]
+ >=dev-python/asyncssh-2.0.0[${PYTHON_USEDEP}]
+ <dev-python/asyncssh-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/atomicwrites-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/chardet-2.0.0[${PYTHON_USEDEP}]
+ >=dev-util/cookiecutter-1.6.0[${PYTHON_USEDEP}]
+ >=dev-python/diff-match-patch-20181111[${PYTHON_USEDEP}]
+ >=dev-python/intervaltree-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/jellyfish-0.7[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/keyring-17.0.0[${PYTHON_USEDEP}]
+ >=dev-python/nbconvert-4.0[${PYTHON_USEDEP}]
+ >=dev-python/numpydoc-0.6.0[${PYTHON_USEDEP}]
+ >=dev-python/pexpect-4.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pickleshare-0.4[${PYTHON_USEDEP}]
+ >=dev-python/psutil-5.3[${PYTHON_USEDEP}]
+ >=dev-python/PyGithub-2.3.0[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.0[${PYTHON_USEDEP}]
+ >=dev-python/pylint-venv-3.0.2[${PYTHON_USEDEP}]
+ >=dev-python/python-lsp-black-2.0.0[${PYTHON_USEDEP}]
+ <dev-python/python-lsp-black-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyls-spyder-0.4.0[${PYTHON_USEDEP}]
+ >=dev-python/pyuca-1.2[${PYTHON_USEDEP}]
+ >=dev-python/pyxdg-0.26[${PYTHON_USEDEP}]
+ >=dev-python/pyzmq-24.0.0[${PYTHON_USEDEP}]
+ >=dev-python/qdarkstyle-3.2.0[${PYTHON_USEDEP}]
+ <dev-python/qdarkstyle-3.3.0[${PYTHON_USEDEP}]
+ >=dev-python/qstylizer-0.2.2[${PYTHON_USEDEP}]
+ >=dev-python/qtawesome-1.3.1[${PYTHON_USEDEP}]
+ <dev-python/qtawesome-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/qtconsole-5.5.1[${PYTHON_USEDEP}]
+ <dev-python/qtconsole-5.6.0[${PYTHON_USEDEP}]
+ >=dev-python/QtPy-2.4.0[${PYTHON_USEDEP},svg,webengine]
+ >=dev-python/rtree-0.9.7[${PYTHON_USEDEP}]
+ >=dev-python/sphinx-0.6.6[${PYTHON_USEDEP}]
+ >=dev-python/spyder-kernels-3.0.0_beta7[${PYTHON_USEDEP}]
+ <dev-python/spyder-kernels-3.0.0_beta8[${PYTHON_USEDEP}]
+ >=dev-python/superqt-0.6.2[${PYTHON_USEDEP}]
+ <dev-python/superqt-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/textdistance-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/three-merge-0.1.1[${PYTHON_USEDEP}]
+ >=dev-python/watchdog-0.10.3[${PYTHON_USEDEP}]
+ >=dev-python/yarl-1.9.4[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/matplotlib[tk,${PYTHON_USEDEP}]
+ dev-python/pandas[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pytest-lazy-fixture[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-order[${PYTHON_USEDEP}]
+ dev-python/pytest-qt[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/QtPy[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/sympy[${PYTHON_USEDEP}]
+ )"
+
+# Based on the courtesy of Arfrever
+# This patch removes a call to update-desktop-database during build
+# This fails because access is denied to this command during build
+PATCHES=(
+ "${FILESDIR}/${PN}-5.0.0-build.patch"
+ "${FILESDIR}/${PN}-5.2.0-doc-theme-renamed.patch"
+)
+
+DOCS=(
+ "AUTHORS.txt"
+ "Announcements.md"
+ "CHANGELOG.md"
+ "CODE_OF_CONDUCT.md"
+ "CONTRIBUTING.md"
+ "NOTICE.txt"
+ "README.md"
+ "RELEASE.md"
+)
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs/doc \
+ dev-python/sphinx-panels \
+ dev-python/pydata-sphinx-theme \
+ dev-python/sphinx-multiversion
+
+python_prepare_all() {
+ # move docs into workdir
+ mv ../spyder-docs-${DOCS_PV}* docs || die
+
+ # these dependencies are packaged separately:
+ # dev-python/spyder-kernels,
+ # dev-python/python-lsp-server,
+ # dev-python/qdarkstyle
+ rm -r external-deps/* || die
+ # runs against things packaged in external-deps dir
+ rm conftest.py || die
+
+ # Do not depend on pyqt5<5.16, this dependency is carried by QtPy[pyqt5]
+ # Do not depend on pyqtwebengine<5.16, this dependency is carried by QtPy[webengine]
+ # Do not depend on parso and jedi, this is dependency is carried in python-lsp-server
+ # Do not depend on python-lsp-server, this dependency is carried in pyls-spyder
+ # Do not depend on ipython, this dependency is carried in spyder-kernels
+ # The explicit version requirements only make things more complicated, if e.g.
+ # pyls-spyder gains compatibility with a newer version of python-lsp-server
+ # in a new release it will take time for this information to propagate into
+ # the next spyder release. So just remove the dependency and let the other
+ # ebuilds handle the version requirements to speed things up and prevent
+ # issues such as Bug 803269.
+ sed -i \
+ -e "/'pyqt5[ 0-9<=>.,]*',/d" \
+ -e "/'pyqtwebengine[ 0-9<=>.,]*',/d" \
+ -e "/'python-lsp-server\[all\][ 0-9<=>.,]*',/d" \
+ -e "/'parso[ 0-9<=>.,]*',/d" \
+ -e "/'jedi[ 0-9<=>.,]*',/d" \
+ -e "/'pylint[ 0-9<=>.,]*',/d" \
+ setup.py || die
+ # -e "/'ipython[ 0-9<=>.,]*',/d" \
+ sed -i \
+ -e "/^PYLS_REQVER/c\PYLS_REQVER = '>=0.0.1'" \
+ -e "/^PYLSP_REQVER/c\PYLSP_REQVER = '>=0.0.1'" \
+ -e "/^PARSO_REQVER/c\PARSO_REQVER = '>=0.0.1'" \
+ -e "/^JEDI_REQVER/c\JEDI_REQVER = '>=0.0.1'" \
+ -e "/^PYLINT_REQVER/c\PYLINT_REQVER = '>=0.0.1'" \
+ spyder/dependencies.py || die
+ # -e "/^IPYTHON_REQVER/c\IPYTHON_REQVER = '>=0.0.1'" \
+
+ # do not check deps, fails because we removed dependencies above
+ sed -i -e 's:test_dependencies_for_spyder_setup_install_requires_in_sync:_&:' \
+ spyder/tests/test_dependencies_in_sync.py || die
+
+ # skip online test
+ rm spyder/widgets/github/tests/test_github_backend.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+# Calling pytest directly somehow passes the pytest arguments to spyder
+# causing an invalid argument error
+python_test() {
+ virtx "${EPYTHON}" runtests.py
+}
+
+pkg_postinst() {
+ xdg_pkg_postinst
+
+ optfeature "2D/3D plotting in the Python and IPython consoles" dev-python/matplotlib
+ optfeature "View and edit DataFrames and Series in the Variable Explorer" dev-python/pandas
+ optfeature "View and edit two or three dimensional arrays in the Variable Explorer" dev-python/numpy
+ optfeature "Symbolic mathematics in the IPython console" dev-python/sympy
+ optfeature "Import Matlab workspace files in the Variable Explorer" dev-python/scipy
+ optfeature "Run Cython files in the IPython console" dev-python/cython
+ optfeature "The hdf5/h5py plugin" dev-python/h5py
+ optfeature "The line profiler plugin" dev-python/spyder-line-profiler
+ optfeature "Vim key bindings" dev-python/spyder-vim
+ optfeature "Unittest support" dev-python/spyder-unittest
+ optfeature "System terminal inside spyder" dev-python/spyder-terminal
+ optfeature "Jupyter notebook support" dev-python/spyder-notebook
+ # spyder-memory-profiler is not compatible with spyder-5.2+ yet
+ # optfeature "The memory profiler plugin" dev-python/spyder-memory-profiler
+ # spyder-reports not yet updated to >=spyder-4.0.0
+ # optfeature "Markdown reports using Pweave" dev-python/spyder-reports
+ # Plugins with no release yet:
+ # optfeature "Manage virtual environments and packages" dev-python/spyder-env-manager
+ # optfeature "VCS (e.g. git) integration" dev-python/spyder-vcs
+}
diff --git a/dev-python/sqlalchemy-rqlite/Manifest b/dev-python/sqlalchemy-rqlite/Manifest
index 2323c644c8ea..a2a3a09d3c59 100644
--- a/dev-python/sqlalchemy-rqlite/Manifest
+++ b/dev-python/sqlalchemy-rqlite/Manifest
@@ -1 +1,2 @@
DIST sqlalchemy-rqlite-1.2.gh.tar.gz 4880 BLAKE2B ff07c0ee1c80cdbe0c743a4d25946cb260336766ed43a4496c014de4bb1cde0646250e4ede5f2bb73b8e5ecbe9816ec0b5a82e1c7c35ff66bac62b839bba72ab SHA512 35e11b09c961e6af3bd658c583a0f3621b5798baa2bfd5f85b3d4136b4f134ad4af96e84e7cc52ab3025668ab05fc9e4f178803d8ae570ddbcd5405a43fdedf4
+DIST sqlalchemy-rqlite-2.0.gh.tar.gz 4965 BLAKE2B b3567b9c4d6aa1b9c2098529f6c1066d5e96cd01e612593844ce87bc79229f5f4d4501fa02a281d4027a39ed0368ac3e4ff20be1daeee639f709569f0c801aed SHA512 d2f335031add36c4efc91899a143b79c1a047fbd7fd43e61cc76f0a8e843fe3beffd5b9c6507fd8269dcdd60fd56bf18e605dc96f1f12123b5eea1bd2dd4330e
diff --git a/dev-python/sqlalchemy-rqlite/sqlalchemy-rqlite-2.0.ebuild b/dev-python/sqlalchemy-rqlite/sqlalchemy-rqlite-2.0.ebuild
new file mode 100644
index 000000000000..f7589570934b
--- /dev/null
+++ b/dev-python/sqlalchemy-rqlite/sqlalchemy-rqlite-2.0.ebuild
@@ -0,0 +1,35 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A SQLAlchemy dialect for rqlite"
+HOMEPAGE="
+ https://github.com/rqlite/sqlalchemy-rqlite/
+ https://pypi.org/project/sqlalchemy-rqlite/
+"
+SRC_URI="
+ https://github.com/rqlite/sqlalchemy-rqlite/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/pyrqlite[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -e "s:^__version__ = .*:__version__ = '${PV}':" -i src/sqlalchemy_rqlite/constants.py || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/sqlalchemy/Manifest b/dev-python/sqlalchemy/Manifest
index 4ac4085b645a..6e880152ab18 100644
--- a/dev-python/sqlalchemy/Manifest
+++ b/dev-python/sqlalchemy/Manifest
@@ -1,4 +1,4 @@
-DIST SQLAlchemy-1.4.49.tar.gz 8536601 BLAKE2B 2133723380b157a76f4af6103a2c68099f78d7a49ad90793d682bd6015d61a06a72ba6f02922111b60716e311ddc2f6067153f7b4b1f80329775e0d6f27a0d92 SHA512 268751b09aebd9da10fd57b4b987fa57f3c61d18d5104bb308e405aa034c74e7d5441abd94368857fbe11b8d15bb5315634f64f3b1252e7318d24107ba1fe3ff
-DIST SQLAlchemy-1.4.50.tar.gz 8517526 BLAKE2B 835ed762b2b399167c9eb52400689619db33d30431241bfb0410a79d0e34104aec972e883c4159f9a69a754a60e1daffc6256ba74f02bc7dabf994c6752c8ae1 SHA512 d484c2673e67b0c45f05d2af20f930f274ea8e83ca41e2bd1c08723f564af58424b78be2ee507612fec6fc095dc215f75f52dfad68a98bcbf1774e150d956a29
-DIST SQLAlchemy-2.0.22.tar.gz 9456107 BLAKE2B c4c5efd096c03550ce8f2adb944b97861a1f383f2c73dd096f4698428f88f80dba66bc22d209488c9ae3b0438ee6190377a36cc828ff411f99165cc41becc949 SHA512 76db680d80939235c17f2fbfe8f7dbc822a9299d52ab261ec76481e76de7bed80dbd4b5f9c7ed1d7c2d1b0651d035a47a8990691a128fd999a6a29c7c45b5459
-DIST SQLAlchemy-2.0.23.tar.gz 9474103 BLAKE2B 9ebfbca68106249a8c6c5e2e187b57953dab3a9d851e429ae6d86fa99b77069758385318a37aea8a23293a54418073e021d9b04ee88d467e57132d70af80af4d SHA512 4d79e25c48c2d4400b8cf1bf4f7066912f06c05b8dfceeec1a215e03fffa7efce5882bb5058538ddfe127ad35bab7fc9aa314ffdedc81f3b97fde9207d7dd1f7
+DIST SQLAlchemy-1.4.52.tar.gz 8514200 BLAKE2B b41fccb885ce6761e29621a654c97537610a1875d66302ba56fac560f5c85db35b14595efd903aebfd0186ee39b75a8666e1304cdee6a6ec6eb9923bc602b9e5 SHA512 afda6a3503c9d2baba8c1dd9e7216d5ac1561f52f5f11009c41a1a98ac998643c980c60cf8ba4d84c4af8808be26ead9fd2e7a2c8bf15b2fdb521b4e5de7748e
+DIST SQLAlchemy-2.0.29.tar.gz 9543967 BLAKE2B 04425618b6e0bcf98a7a32a4a6b1c092120a9f3eb55761879b072ac3a3e08c8f1b97fb4d2df4b35b2fd810e11146f4d83cf67cd8ec23fb4d96c5d6cfff7657af SHA512 d1143c65fb26335d652083b9a90afaecf78ed312cea5c26f989380204e909c341c1bc3bb1e07274353e1c409d21737fad4d7391f186b2d2373814582d3baaf78
+DIST SQLAlchemy-2.0.30.tar.gz 9579500 BLAKE2B 3c1711ee72a355eb5e6a71d6581d951ffe3ddab459ac4bb4c36a8640ed5f6298a80847e9bb66dd700622fa9275bf77c4c18be5e324092a576d1b35983371730a SHA512 b39275a7312609fd0a78ac5bb4fb0f29f2948d7fc81007587c01f38849ff28bff273182a06c8ec830b7e1ba4cd30aea2cd7214bbf971a61125c9b56c6ddbbe52
+DIST SQLAlchemy-2.0.31.tar.gz 9524110 BLAKE2B 521137ceaedd91a063bd336001e25a2946a3fefbc61c619b9b18c32f6e4dd2ff541e7cf3f0e0144024c0a6fe2c7aec743d1315b66c7da752d47abd81a6ab8ab4 SHA512 2e5f559ee2d1f28003a7436a6cb1997f22348447765422f4847adb3c5fc20b759d8c5c99ad4dae1c1f7863f3bc72f699e19b48d7797917a9a64ff4050e61d3d1
diff --git a/dev-python/sqlalchemy/files/sqlalchemy-2.0.30-py313.patch b/dev-python/sqlalchemy/files/sqlalchemy-2.0.30-py313.patch
new file mode 100644
index 000000000000..6c519d2a205e
--- /dev/null
+++ b/dev-python/sqlalchemy/files/sqlalchemy-2.0.30-py313.patch
@@ -0,0 +1,13 @@
+diff --git a/lib/sqlalchemy/util/langhelpers.py b/lib/sqlalchemy/util/langhelpers.py
+index c97fa7d..9a02e7d 100644
+--- a/lib/sqlalchemy/util/langhelpers.py
++++ b/lib/sqlalchemy/util/langhelpers.py
+@@ -1657,6 +1657,8 @@
+ items: List[symbol]
+ cls._items = items = []
+ for k, v in dict_.items():
++ if re.match(r"^__.*__$", k):
++ continue
+ if isinstance(v, int):
+ sym = symbol(k, canonical=v)
+ elif not k.startswith("_"):
diff --git a/dev-python/sqlalchemy/sqlalchemy-1.4.49.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.4.49.ebuild
deleted file mode 100644
index a7da744a0e5b..000000000000
--- a/dev-python/sqlalchemy/sqlalchemy-1.4.49.ebuild
+++ /dev/null
@@ -1,97 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..11} )
-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
- )
- 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-1.4.50.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.4.50.ebuild
deleted file mode 100644
index 89fa947cac07..000000000000
--- a/dev-python/sqlalchemy/sqlalchemy-1.4.50.ebuild
+++ /dev/null
@@ -1,107 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..11} )
-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-1.4.52.ebuild b/dev-python/sqlalchemy/sqlalchemy-1.4.52.ebuild
new file mode 100644
index 000000000000..f49b7af7463a
--- /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.22.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.22.ebuild
deleted file mode 100644
index be5dbf59de96..000000000000
--- a/dev-python/sqlalchemy/sqlalchemy-2.0.22.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( 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.2.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/sqlalchemy/sqlalchemy-2.0.23.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.23.ebuild
deleted file mode 100644
index 41d3d1bd23c8..000000000000
--- a/dev-python/sqlalchemy/sqlalchemy-2.0.23.ebuild
+++ /dev/null
@@ -1,111 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( 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.2.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/sqlalchemy/sqlalchemy-2.0.29.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.29.ebuild
new file mode 100644
index 000000000000..7d275169242d
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.29.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/sqlalchemy/sqlalchemy-2.0.30-r1.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.30-r1.ebuild
new file mode 100644
index 000000000000..894015ec114c
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.30-r1.ebuild
@@ -0,0 +1,124 @@
+# 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..13} )
+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() {
+ local PATCHES=(
+ # https://gerrit.sqlalchemy.org/c/sqlalchemy/sqlalchemy/+/5308
+ "${FILESDIR}/${P}-py313.patch"
+ )
+
+ 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
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # deprecated and broken with py3.13
+ test/ext/test_serializer.py
+ # TODO
+ test/orm/test_mapper.py::MapperTest::test_synonym_nonexistent_attr
+ )
+ ;;
+ 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/sqlalchemy/sqlalchemy-2.0.30.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.30.ebuild
new file mode 100644
index 000000000000..0ea36df4e9dc
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.30.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/sqlalchemy/sqlalchemy-2.0.31.ebuild b/dev-python/sqlalchemy/sqlalchemy-2.0.31.ebuild
new file mode 100644
index 000000000000..51f822e582d8
--- /dev/null
+++ b/dev-python/sqlalchemy/sqlalchemy-2.0.31.ebuild
@@ -0,0 +1,117 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYPI_PN=SQLAlchemy
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+PYTHON_REQ_USE="sqlite?"
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python SQL toolkit and Object Relational Mapper"
+HOMEPAGE="
+ https://www.sqlalchemy.org/
+ https://pypi.org/project/SQLAlchemy/
+ https://github.com/sqlalchemy/sqlalchemy/
+"
+
+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}]
+ )
+"
+
+EPYTEST_XDIST=1
+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
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # deprecated and broken with py3.13
+ test/ext/test_serializer.py
+ # TODO
+ test/orm/test_mapper.py::MapperTest::test_synonym_nonexistent_attr
+ )
+ ;;
+ 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
+}
+
+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/sqlglot/Manifest b/dev-python/sqlglot/Manifest
index 97e26a178ac1..4c0fa6e45dc8 100644
--- a/dev-python/sqlglot/Manifest
+++ b/dev-python/sqlglot/Manifest
@@ -1,6 +1,35 @@
-DIST sqlglot-19.4.0.tar.gz 9056050 BLAKE2B 23d5a9bdd7bfa27128e624406f52488e90ec475c355fde6e5e7ac77bee5ae84dd1abeb2c87896f3fbc418dbe0b818e66f1d76b7e24514315e194b6bd58677203 SHA512 f0f6f4d4eca3d97ac9cd200e6a5e8df5a2c2b9e6d84dd87f19ab29b1af0c6cb55c62e28c9c7faa34425a6cfb0583b02d387b7cd744fec40419927016cd05d51e
-DIST sqlglot-19.5.0.tar.gz 9060496 BLAKE2B 190c4b507e3c630a46a493f72698f48749fc4f0e6444a2ee61499d35a5f56563b402e8947531b20c100df8ffc3af86cc45b8e1e11e7b467ec3bcd6261b880619 SHA512 3e3cbf7c9bac33b9dc0ad26021a78d534cb6ac61aae6d96c5f652938fd4efb5eca52854ca7ef02fa9ec6a989a6c80eaab31b210c932cb286b2ea8e4aace7fcf9
-DIST sqlglot-19.5.1.tar.gz 9062537 BLAKE2B dece9479e8333cf90481e7f72bfd58c0d36506b4e1bc1282b4e2c677ccfd24da7e04a6eddf1ecca16ccc83e8079b61eef8cabe3a6ef6a2b96df56c1a5b3e89a7 SHA512 eaf6090a001c162612503714d47225f1fdb5f0d19974e93bb76f87aa4e101fec5ed0045c4f74f2e55b58368170b449eabbd87569f16fc3ea73a14df909b007c4
-DIST sqlglot-19.6.0.tar.gz 9063326 BLAKE2B ad2d12f511d8bf713fc51b67364133b648186b91351137f339dbb97500a50450db5cc39f016f03260d4c79f4341338dd4fee88fe6f5491bf556d93a4806ac411 SHA512 9f5d2fd6364fbeacca328f9fdcb84204ef65906fd024059464ecac9cc7c7865cf4736cc17a3661af1fda5ca0e52fb24f3939a263349c75a962216af8bd6841f4
-DIST sqlglot-19.7.0.tar.gz 9068302 BLAKE2B 2739d795f725b2b4d96eb4177238a5c6f97e32171f5efda30fbaf13f50bc5d35818f0972e830cf1328cb40425807d7d3addfa79728978e8153cb5023cbcef043 SHA512 8fef6e7fca8dd5445ef437eb3eba12b135b60a0f1880c980a6dd30fb200d6c74d5126f45a5b9803369066287f8b9222e4c7b890136fee7fd8c04572a09ad6e43
-DIST sqlglot-19.8.2.tar.gz 9091070 BLAKE2B 4d0352343fe7bc6438ea62cc3142632e3262cf6df1f2d749cd9530f30451d8e860fa93592414f22f15e83e752af98929c58b58e0ad707071213b3d5b8132615b SHA512 49d0615378174e8fc721a9f436d82d8e3ce713813e184c89fb458a12ee68cd42862489dfe34113d079b222b7149a5130be4f6d324562741ece8e2434f124fd60
+DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
+DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
+DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
+DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
+DIST libc-0.2.150.crate 719359 BLAKE2B d08e17fb29992c76337bb5862cbc1cdaf7b9d7749cd65021f145fcf49fa7954d6251c8c2f3c9a796b46283c3bc014bccfd259ea52824459841911ad847fd7f5a SHA512 7ae8fe6a1db38ac6d951c0b4880d25a02f064f5e61d6057c20f7208dec8395d58efd085e41857bcf5f4da2b014d2952dc4ddaf18ac4acd3a23675bb659e70385
+DIST lock_api-0.4.11.crate 27487 BLAKE2B 87116cf908f7f1f9c300cedded989df305f855883e3df5a482de2c76814c48739582d3079d76a2bdd14a6999204b7fd31dcd8fd06d1dc7f9418f0e2f70a1450e SHA512 9946adf313a5c67a0dd87a1b679b7d9d16a86149fb95974d3f28aa57a9a1a3932e4a5ee1d332097559329c5e3b2295be2e4b655b115d9f75269f33a758b17fb3
+DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
+DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
+DIST parking_lot_core-0.9.9.crate 32445 BLAKE2B 811d8de671bf6e0911cf0df7dcaee4fb03a3b223173a3bb8cee65a28724eeb7bac87f62aa7b1df5ea3fc93af3cee3ef30b83d06c6773d6b856a7e6fa5fa197ea SHA512 7f0df70f9f1ca8d3da0b9dcc96e49daf05d95c3a995289266b5333f68818d686d32b0c733dfe3a0f62da78fa45caa843a963923b2d0c80899c33413dc749c032
+DIST proc-macro2-1.0.70.crate 44343 BLAKE2B fff0dec06b21e391783cc136790238acb783780eaedcf14875a350e7ceb46fdc100c8b9e3f09fb7f4c2196c25d4c6b61e574c0dad762d94533b628faab68cf5c SHA512 ae9366856853f7d96caf7a7581843d36bfc7843f8683897b19ffc666c03b0b1eff502ddb18ca4c1c1a239a368f03f6cc258b0e2795f64b61c6a31404462eec5f
+DIST pyo3-0.20.0.crate 431766 BLAKE2B 104bc21ce2c6931753ca0c7b2d91693f454c964260ca3c4628a899fc8e7edbe4238db913ed7356f3beff154d88a60a17c0e252b655768e75483e1d9d9b86f40b SHA512 85d9533c75f905752c62f6a4898582ae48daf085e287b44949c47260301205a5f00477927877ce46300d2801d22fbc04a958c058a37eb28374c834fff27feca1
+DIST pyo3-build-config-0.20.0.crate 29534 BLAKE2B eb1d5f75276533483c52c6fcae49b294d6d8edf504859dae18811c1ef695dc6d0a055f2a34bea305975e4c1492c312433d2dcb7753484f793376c62cd59c8e40 SHA512 a01d06ebeb4b9cfe6ff6731046101e9437498453ca5aa68ec53df3bfb2f34665a489f8072636c2da16c1e867f536032fd293f05a43561117fd131bde5fe5aac7
+DIST pyo3-ffi-0.20.0.crate 64220 BLAKE2B dfe75b9459b4a564d1dd9f907166b76d00c5b50ba027db65d11540a7b993f3ef4e19e574135b538635ebb9c9eba66115c09198c7b6071b0b82fd94faccb1bb63 SHA512 a68f0b1380f2ac3d3034ac8b3788cd6573850137c6678694cbcc3e814b619510b9b21b11704c2e702d4eb7433d8b1d3a6dac663501b6db5197a409407802b714
+DIST pyo3-macros-0.20.0.crate 7678 BLAKE2B 03fdc0cc9c735086ca2d27e0bcd197e69538c3640ba7f87bc3d65907db374ac7283f61bdb67a1d45b66ce972072ddcb3b1daed4aeb9a66100d11bba6515cdc86 SHA512 79b61f55010dad60dda2c5061c9736bef3f6805f28db230726937340a5c40a3fcfb727a0db7779c3eb094ebd45492f7af4f40a3fcaef42f160989a8ef6174e7e
+DIST pyo3-macros-backend-0.20.0.crate 49383 BLAKE2B a239042abdfcf5ad38505b57bc6b858ba346bf8681e24acf2e433f53e4a40bf0b28928b434b96f596d12acbb602b14b7e1bbf4be1e5789e6d9c754368db00a1e SHA512 c823caba48b4a30aaf84c23f80934f0172f2c76a41b538b69ebc25afcb61611b54b8fbb4ab6cac1c7a78b4e6f9f909f22748a2cd279b508d3897b74b17021d56
+DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c
+DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
+DIST smallvec-1.11.2.crate 34801 BLAKE2B 58645e99db8f02db64d02c75860c7ea41836c427c03ee3b0b23365e73a406e4fd6ac312bf13fc5faef8bb6111c10fcfd5f839d5b3686e9b34d1626f8469fc327 SHA512 5cfb427c3b99b0dbd71f6154ed899abcde9d7d2992977ac7b2ef3a4c3ff51e4efafd133071a69609b4ed6cb269bdc26b79eb72e1988f10dfcaef8185d950cd1d
+DIST sqlglot-25.6.1.tar.gz 19055366 BLAKE2B 3fec14d7a2a2da6c9a704ff4b42d7bcb099027da061ae600985842f021e3de96e57ea5a4edbd4bc508597f9ff2f39d74bdc618ddd5e0337188fcdfb910a48b45 SHA512 ac6e56c9b1207f5264a668e163d2c8f08548856c7ef36b6e6ff818b1f40ae6afe45785e2dc2c4bbeda50f7e303f5de39c343cc823fa8ecbe63fc2e61c067228a
+DIST sqlglot-25.7.1.tar.gz 19078973 BLAKE2B ef4df578c057e9821df589d065164552aace81ca4019a17c38e7f2a86d2ff833248a206cd46067ab1945d1607916b1fd6a92d209cfd9c1d5984f67488c6d6d7c SHA512 54b4c7170085e574a3c7914511aa8e5a2b94577b4e4c20ae2a7bbfc7b3f496e538b00ef6b848c6c83d18ed170dd0109cc36ad0e73b0ff13097466c9727b6ed32
+DIST syn-2.0.41.crate 246016 BLAKE2B 9d389f2e2a0acb4c84c309456e8ffcc88c5d4d541535ed136832d7a6054dde45a598bb68e8a6f3062ca2a96e1ceae947d54b3aec9bad65b0c51d6733aa6c80db SHA512 6bbaf69ca783025dfb81ac3612ac60bfbed31b2d87792909b35c12892dadebdaff2ddf9463105e536b671dce5870610ab90fe29471284bbd3014dca8d6993f1a
+DIST target-lexicon-0.12.12.crate 25156 BLAKE2B f3803596c75f6c89438592a1176c3748fc2c0524d7d50a20056de1cd26d40c572b05bafcdf6dd702752864bea37c8b4f28f96dadc12a5b3bb1d279b25e489f85 SHA512 6147295c43ba1b7b087a3c5ab51534b2985e4e77e5e15687978cfb9d07e21c4fd9bc7191576d6cabd268d08a44dc733c4a957e59dba8b948c2055d8bb433aeca
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
+DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
+DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
diff --git a/dev-python/sqlglot/metadata.xml b/dev-python/sqlglot/metadata.xml
index 6288bb65af2e..c21c821e9216 100644
--- a/dev-python/sqlglot/metadata.xml
+++ b/dev-python/sqlglot/metadata.xml
@@ -13,7 +13,6 @@
<email>proxy-maint@gentoo.org</email>
<name>Proxy Maintainers</name>
</maintainer>
- <stabilize-allarches/>
<upstream>
<remote-id type="github">tobymao/sqlglot</remote-id>
<remote-id type="pypi">sqlglot</remote-id>
diff --git a/dev-python/sqlglot/sqlglot-19.4.0.ebuild b/dev-python/sqlglot/sqlglot-19.4.0.ebuild
deleted file mode 100644
index 368b77416b42..000000000000
--- a/dev-python/sqlglot/sqlglot-19.4.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi optfeature
-
-DESCRIPTION="An easily customizable SQL parser and transpiler"
-HOMEPAGE="
- https://sqlglot.com/
- https://github.com/tobymao/sqlglot/
- https://pypi.org/project/sqlglot/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-EPYTEST_IGNORE=(
- # Tests require pyspark or duckdb which aren't in the tree.
- # Pandas would be a requirement normally, but it gets ignored by proxy.
- "tests/dataframe/integration/test_dataframe.py"
- "tests/dataframe/integration/test_grouped_data.py"
- "tests/dataframe/integration/test_session.py"
- "tests/test_executor.py"
- "tests/test_optimizer.py"
-)
-
-distutils_enable_tests pytest
-
-pkg_postinst() {
- optfeature "simplifying timedelta expressions" dev-python/python-dateutil
-}
diff --git a/dev-python/sqlglot/sqlglot-19.5.0.ebuild b/dev-python/sqlglot/sqlglot-19.5.0.ebuild
deleted file mode 100644
index 368b77416b42..000000000000
--- a/dev-python/sqlglot/sqlglot-19.5.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi optfeature
-
-DESCRIPTION="An easily customizable SQL parser and transpiler"
-HOMEPAGE="
- https://sqlglot.com/
- https://github.com/tobymao/sqlglot/
- https://pypi.org/project/sqlglot/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-EPYTEST_IGNORE=(
- # Tests require pyspark or duckdb which aren't in the tree.
- # Pandas would be a requirement normally, but it gets ignored by proxy.
- "tests/dataframe/integration/test_dataframe.py"
- "tests/dataframe/integration/test_grouped_data.py"
- "tests/dataframe/integration/test_session.py"
- "tests/test_executor.py"
- "tests/test_optimizer.py"
-)
-
-distutils_enable_tests pytest
-
-pkg_postinst() {
- optfeature "simplifying timedelta expressions" dev-python/python-dateutil
-}
diff --git a/dev-python/sqlglot/sqlglot-19.5.1.ebuild b/dev-python/sqlglot/sqlglot-19.5.1.ebuild
deleted file mode 100644
index 368b77416b42..000000000000
--- a/dev-python/sqlglot/sqlglot-19.5.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi optfeature
-
-DESCRIPTION="An easily customizable SQL parser and transpiler"
-HOMEPAGE="
- https://sqlglot.com/
- https://github.com/tobymao/sqlglot/
- https://pypi.org/project/sqlglot/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-EPYTEST_IGNORE=(
- # Tests require pyspark or duckdb which aren't in the tree.
- # Pandas would be a requirement normally, but it gets ignored by proxy.
- "tests/dataframe/integration/test_dataframe.py"
- "tests/dataframe/integration/test_grouped_data.py"
- "tests/dataframe/integration/test_session.py"
- "tests/test_executor.py"
- "tests/test_optimizer.py"
-)
-
-distutils_enable_tests pytest
-
-pkg_postinst() {
- optfeature "simplifying timedelta expressions" dev-python/python-dateutil
-}
diff --git a/dev-python/sqlglot/sqlglot-19.6.0.ebuild b/dev-python/sqlglot/sqlglot-19.6.0.ebuild
deleted file mode 100644
index 368b77416b42..000000000000
--- a/dev-python/sqlglot/sqlglot-19.6.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi optfeature
-
-DESCRIPTION="An easily customizable SQL parser and transpiler"
-HOMEPAGE="
- https://sqlglot.com/
- https://github.com/tobymao/sqlglot/
- https://pypi.org/project/sqlglot/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-EPYTEST_IGNORE=(
- # Tests require pyspark or duckdb which aren't in the tree.
- # Pandas would be a requirement normally, but it gets ignored by proxy.
- "tests/dataframe/integration/test_dataframe.py"
- "tests/dataframe/integration/test_grouped_data.py"
- "tests/dataframe/integration/test_session.py"
- "tests/test_executor.py"
- "tests/test_optimizer.py"
-)
-
-distutils_enable_tests pytest
-
-pkg_postinst() {
- optfeature "simplifying timedelta expressions" dev-python/python-dateutil
-}
diff --git a/dev-python/sqlglot/sqlglot-19.7.0.ebuild b/dev-python/sqlglot/sqlglot-19.7.0.ebuild
deleted file mode 100644
index 368b77416b42..000000000000
--- a/dev-python/sqlglot/sqlglot-19.7.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi optfeature
-
-DESCRIPTION="An easily customizable SQL parser and transpiler"
-HOMEPAGE="
- https://sqlglot.com/
- https://github.com/tobymao/sqlglot/
- https://pypi.org/project/sqlglot/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-EPYTEST_IGNORE=(
- # Tests require pyspark or duckdb which aren't in the tree.
- # Pandas would be a requirement normally, but it gets ignored by proxy.
- "tests/dataframe/integration/test_dataframe.py"
- "tests/dataframe/integration/test_grouped_data.py"
- "tests/dataframe/integration/test_session.py"
- "tests/test_executor.py"
- "tests/test_optimizer.py"
-)
-
-distutils_enable_tests pytest
-
-pkg_postinst() {
- optfeature "simplifying timedelta expressions" dev-python/python-dateutil
-}
diff --git a/dev-python/sqlglot/sqlglot-19.8.2.ebuild b/dev-python/sqlglot/sqlglot-19.8.2.ebuild
deleted file mode 100644
index 1aed7015aa2b..000000000000
--- a/dev-python/sqlglot/sqlglot-19.8.2.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi optfeature
-
-DESCRIPTION="An easily customizable SQL parser and transpiler"
-HOMEPAGE="
- https://sqlglot.com/
- https://github.com/tobymao/sqlglot/
- https://pypi.org/project/sqlglot/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-EPYTEST_IGNORE=(
- # Tests require pyspark or duckdb which aren't in the tree.
- # Pandas would be a requirement normally, but it gets ignored by proxy.
- "tests/dataframe/integration/test_dataframe.py"
- "tests/dataframe/integration/test_grouped_data.py"
- "tests/dataframe/integration/test_session.py"
- "tests/test_executor.py"
- "tests/test_optimizer.py"
-)
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # remove fragile timing check
- sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die
- distutils-r1_src_prepare
-}
-
-pkg_postinst() {
- optfeature "simplifying timedelta expressions" dev-python/python-dateutil
-}
diff --git a/dev-python/sqlglot/sqlglot-25.6.1.ebuild b/dev-python/sqlglot/sqlglot-25.6.1.ebuild
new file mode 100644
index 000000000000..3ecfcc322a3e
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-25.6.1.ebuild
@@ -0,0 +1,121 @@
+# Copyright 2023-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..13} )
+
+CARGO_OPTIONAL=1
+CRATES="
+ autocfg@1.1.0
+ bitflags@1.3.2
+ cfg-if@1.0.0
+ heck@0.4.1
+ indoc@2.0.4
+ libc@0.2.150
+ lock_api@0.4.11
+ memoffset@0.9.0
+ once_cell@1.19.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ proc-macro2@1.0.70
+ pyo3-build-config@0.20.0
+ pyo3-ffi@0.20.0
+ pyo3-macros-backend@0.20.0
+ pyo3-macros@0.20.0
+ pyo3@0.20.0
+ quote@1.0.33
+ redox_syscall@0.4.1
+ scopeguard@1.2.0
+ smallvec@1.11.2
+ syn@2.0.41
+ target-lexicon@0.12.12
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+"
+
+inherit cargo distutils-r1 pypi optfeature
+
+DESCRIPTION="An easily customizable SQL parser and transpiler"
+HOMEPAGE="
+ https://sqlglot.com/
+ https://github.com/tobymao/sqlglot/
+ https://pypi.org/project/sqlglot/
+"
+SRC_URI+="
+ native-extensions? (
+ ${CARGO_CRATE_URIS}
+ )
+"
+
+LICENSE="MIT"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
+LICENSE+=" )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-util/maturin[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+src_prepare() {
+ # remove fragile timing check
+ sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use native-extensions; then
+ local DISTUTILS_USE_PEP517=maturin
+ cd sqlglotrs || die
+ distutils-r1_python_compile
+ cd - >/dev/null || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Tests require pyspark or duckdb which aren't in the tree.
+ # Pandas would be a requirement normally, but it gets ignored by proxy.
+ "tests/dataframe/integration/test_dataframe.py"
+ "tests/dataframe/integration/test_grouped_data.py"
+ "tests/dataframe/integration/test_session.py"
+ "tests/test_executor.py"
+ "tests/test_optimizer.py"
+ )
+
+ # make sure not to use an earlier installed version
+ local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
+ rm -rf sqlglotrs || die
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "simplifying timedelta expressions" dev-python/python-dateutil
+}
diff --git a/dev-python/sqlglot/sqlglot-25.7.1.ebuild b/dev-python/sqlglot/sqlglot-25.7.1.ebuild
new file mode 100644
index 000000000000..3ecfcc322a3e
--- /dev/null
+++ b/dev-python/sqlglot/sqlglot-25.7.1.ebuild
@@ -0,0 +1,121 @@
+# Copyright 2023-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..13} )
+
+CARGO_OPTIONAL=1
+CRATES="
+ autocfg@1.1.0
+ bitflags@1.3.2
+ cfg-if@1.0.0
+ heck@0.4.1
+ indoc@2.0.4
+ libc@0.2.150
+ lock_api@0.4.11
+ memoffset@0.9.0
+ once_cell@1.19.0
+ parking_lot@0.12.1
+ parking_lot_core@0.9.9
+ proc-macro2@1.0.70
+ pyo3-build-config@0.20.0
+ pyo3-ffi@0.20.0
+ pyo3-macros-backend@0.20.0
+ pyo3-macros@0.20.0
+ pyo3@0.20.0
+ quote@1.0.33
+ redox_syscall@0.4.1
+ scopeguard@1.2.0
+ smallvec@1.11.2
+ syn@2.0.41
+ target-lexicon@0.12.12
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ windows-targets@0.48.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_msvc@0.48.5
+ windows_i686_gnu@0.48.5
+ windows_i686_msvc@0.48.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_msvc@0.48.5
+"
+
+inherit cargo distutils-r1 pypi optfeature
+
+DESCRIPTION="An easily customizable SQL parser and transpiler"
+HOMEPAGE="
+ https://sqlglot.com/
+ https://github.com/tobymao/sqlglot/
+ https://pypi.org/project/sqlglot/
+"
+SRC_URI+="
+ native-extensions? (
+ ${CARGO_CRATE_URIS}
+ )
+"
+
+LICENSE="MIT"
+LICENSE+=" native-extensions? ("
+# Dependent crate licenses
+LICENSE+=" Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016"
+LICENSE+=" )"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+native-extensions"
+
+BDEPEND="
+ native-extensions? (
+ ${RUST_DEPEND}
+ dev-util/maturin[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+QA_FLAGS_IGNORED="usr/lib.*/py.*/site-packages/sqlglotrs/sqlglotrs.*.so"
+
+src_unpack() {
+ cargo_src_unpack
+}
+
+src_prepare() {
+ # remove fragile timing check
+ sed -i -e '/assertLessEqual(time\.time/d' tests/test_parser.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+
+ if use native-extensions; then
+ local DISTUTILS_USE_PEP517=maturin
+ cd sqlglotrs || die
+ distutils-r1_python_compile
+ cd - >/dev/null || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Tests require pyspark or duckdb which aren't in the tree.
+ # Pandas would be a requirement normally, but it gets ignored by proxy.
+ "tests/dataframe/integration/test_dataframe.py"
+ "tests/dataframe/integration/test_grouped_data.py"
+ "tests/dataframe/integration/test_session.py"
+ "tests/test_executor.py"
+ "tests/test_optimizer.py"
+ )
+
+ # make sure not to use an earlier installed version
+ local -x SQLGLOTRS_TOKENIZER=$(usex native-extensions 1 0)
+ rm -rf sqlglotrs || die
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "simplifying timedelta expressions" dev-python/python-dateutil
+}
diff --git a/dev-python/sqlitedict/metadata.xml b/dev-python/sqlitedict/metadata.xml
index 0405d36bf449..e0f2a7f3644b 100644
--- a/dev-python/sqlitedict/metadata.xml
+++ b/dev-python/sqlitedict/metadata.xml
@@ -6,7 +6,7 @@
<name>James Le Cuirot</name>
</maintainer>
<upstream>
- <remote-id type="github">RaRe-Technologies/sqlitedict</remote-id>
+ <remote-id type="github">piskvorky/sqlitedict</remote-id>
<remote-id type="pypi">sqlitedict</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/sqlitedict/sqlitedict-2.1.0.ebuild b/dev-python/sqlitedict/sqlitedict-2.1.0.ebuild
index da7495ac1ac3..6f2f16534f58 100644
--- a/dev-python/sqlitedict/sqlitedict-2.1.0.ebuild
+++ b/dev-python/sqlitedict/sqlitedict-2.1.0.ebuild
@@ -1,17 +1,17 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="sqlite"
inherit distutils-r1 pypi
DESCRIPTION="Persistent dict in Python, backed by SQLite and pickle"
HOMEPAGE="
- https://github.com/RaRe-Technologies/sqlitedict/
+ https://github.com/piskvorky/sqlitedict/
https://pypi.org/project/sqlitedict/
"
diff --git a/dev-python/sqlparse/Manifest b/dev-python/sqlparse/Manifest
index 93a7594fadfa..79683220a0af 100644
--- a/dev-python/sqlparse/Manifest
+++ b/dev-python/sqlparse/Manifest
@@ -1 +1,2 @@
-DIST sqlparse-0.4.4.tar.gz 72383 BLAKE2B 722db31c3344ec1ed2f1be3406142bf3a1cfb890f459f99778d8a7d8ee213311706f6729f68ccee7beefaddc55583135171397d05e37d41e56568fd39ca23830 SHA512 bb655f8de2466c2ed51aca901b6561b8ac7730bf65f1254d218d7b9dabbece609cadd8a52a092b301895ad83813ddf02691e2de49cf55a26e676a2661c240a2b
+DIST sqlparse-0.5.0.tar.gz 83475 BLAKE2B 6553de08385e90bbb0b7ce45db5894aabceb997885f1c610d83725b1a5d632caae1944e022ef43b3ed586ed05d160d5e88e450a077a6531955abda8a794dc173 SHA512 eade99e832054ddbc466d1c56a4d5ce6f79d31be8dbfa0b175b8413e4326af18baa20a42d9661bc09e91f04edd8329d4c0df2ca6f62983df3daef67d38342269
+DIST sqlparse-0.5.1.tar.gz 84502 BLAKE2B b0569552848795053c33e616966075629ae52e61cdc6950bfbc9c4a4976a1b39d6c80f26c25ed5bbd125395f38ed495e5df7532d5f3289e8eece398acc4abaf1 SHA512 5d93e942d6a26a544827a877cb2035328f406dc8e8475e217ba75571672b6c5eaca6f87c2c76244c0dea32449c818fcca9bb8fff53679e6f0ba2bef2a6b92b6f
diff --git a/dev-python/sqlparse/sqlparse-0.4.4.ebuild b/dev-python/sqlparse/sqlparse-0.4.4.ebuild
deleted file mode 100644
index df9f126bd4e4..000000000000
--- a/dev-python/sqlparse/sqlparse-0.4.4.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A non-validating SQL parser module for Python"
-HOMEPAGE="
- https://github.com/andialbrecht/sqlparse/
- https://pypi.org/project/sqlparse/
-"
-
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-LICENSE="BSD-2"
-
-distutils_enable_sphinx docs/source
-distutils_enable_tests pytest
diff --git a/dev-python/sqlparse/sqlparse-0.5.0.ebuild b/dev-python/sqlparse/sqlparse-0.5.0.ebuild
new file mode 100644
index 000000000000..df280bc630e9
--- /dev/null
+++ b/dev-python/sqlparse/sqlparse-0.5.0.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A non-validating SQL parser module for Python"
+HOMEPAGE="
+ https://github.com/andialbrecht/sqlparse/
+ https://pypi.org/project/sqlparse/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+distutils_enable_sphinx docs/source
+distutils_enable_tests pytest
diff --git a/dev-python/sqlparse/sqlparse-0.5.1.ebuild b/dev-python/sqlparse/sqlparse-0.5.1.ebuild
new file mode 100644
index 000000000000..9db6d9d2a9a0
--- /dev/null
+++ b/dev-python/sqlparse/sqlparse-0.5.1.ebuild
@@ -0,0 +1,22 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A non-validating SQL parser module for Python"
+HOMEPAGE="
+ https://github.com/andialbrecht/sqlparse/
+ https://pypi.org/project/sqlparse/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+
+distutils_enable_sphinx docs/source
+distutils_enable_tests pytest
diff --git a/dev-python/srt/Manifest b/dev-python/srt/Manifest
new file mode 100644
index 000000000000..44dabb10bc72
--- /dev/null
+++ b/dev-python/srt/Manifest
@@ -0,0 +1 @@
+DIST srt-3.5.3.tar.gz 28296 BLAKE2B 97f8852a799e80401f09219b43b41f5d5f9fe2c7283e2b43312aef70d783d7f1c1bf126e076c3a13c10e74e80ff48f25075cc7a1cef58a99fb4ef32cfa5b2587 SHA512 434331d31763a339ebb7d5b335b9d924b7f6939f307ecd0e5476b91da19b39e0febf1a387199e22f0b15365a4305c24021d85a32a7b65058905abd7946865b70
diff --git a/dev-python/srt/metadata.xml b/dev-python/srt/metadata.xml
new file mode 100644
index 000000000000..a65eb5db742c
--- /dev/null
+++ b/dev-python/srt/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person">
+ <email>sam@gentoo.org</email>
+ <name>Sam James</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+ <stabilize-allarches/>
+ <upstream>
+ <remote-id type="pypi">srt</remote-id>
+ <remote-id type="github">cdown/srt</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/srt/srt-3.5.3.ebuild b/dev-python/srt/srt-3.5.3.ebuild
new file mode 100644
index 000000000000..0f624a0b9fb9
--- /dev/null
+++ b/dev-python/srt/srt-3.5.3.ebuild
@@ -0,0 +1,27 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Tiny library for parsing, modifying, and composing SRT files"
+HOMEPAGE="
+ https://github.com/cdown/srt
+ https://pypi.org/project/srt/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="!dev-python/pysrt"
+BDEPEND="
+ test? ( dev-python/hypothesis[${PYTHON_USEDEP}] )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
diff --git a/dev-python/sshpubkeys/sshpubkeys-3.3.1-r1.ebuild b/dev-python/sshpubkeys/sshpubkeys-3.3.1-r1.ebuild
index 47c497dfe8bb..3ea6bc3db4b7 100644
--- a/dev-python/sshpubkeys/sshpubkeys-3.3.1-r1.ebuild
+++ b/dev-python/sshpubkeys/sshpubkeys-3.3.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/ssl-fetch/ssl-fetch-0.4-r1.ebuild b/dev-python/ssl-fetch/ssl-fetch-0.4-r1.ebuild
index 4e9d843ab549..3e8c9a609075 100644
--- a/dev-python/ssl-fetch/ssl-fetch-0.4-r1.ebuild
+++ b/dev-python/ssl-fetch/ssl-fetch-0.4-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1
diff --git a/dev-python/ssl-fetch/ssl-fetch-9999.ebuild b/dev-python/ssl-fetch/ssl-fetch-9999.ebuild
index fa373270fb3c..4fa34063378c 100644
--- a/dev-python/ssl-fetch/ssl-fetch-9999.ebuild
+++ b/dev-python/ssl-fetch/ssl-fetch-9999.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} pypy3 )
+PYTHON_COMPAT=( python3_{10..12} pypy3 )
inherit distutils-r1 git-r3
diff --git a/dev-python/stack-data/stack-data-0.6.3.ebuild b/dev-python/stack-data/stack-data-0.6.3.ebuild
index 441925167275..f91f6ee5c852 100644
--- a/dev-python/stack-data/stack-data-0.6.3.ebuild
+++ b/dev-python/stack-data/stack-data-0.6.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/stapler/files/stapler-1.0.0_p20220330-PyPDF2-to-pypdf.patch b/dev-python/stapler/files/stapler-1.0.0_p20220330-PyPDF2-to-pypdf.patch
deleted file mode 100644
index e82005743c90..000000000000
--- a/dev-python/stapler/files/stapler-1.0.0_p20220330-PyPDF2-to-pypdf.patch
+++ /dev/null
@@ -1,39 +0,0 @@
-diff --git a/staplelib/commands.py b/staplelib/commands.py
-index caf75f9..e67f419 100644
---- a/staplelib/commands.py
-+++ b/staplelib/commands.py
-@@ -4,7 +4,7 @@ import math
- import os
-
- try:
-- from PyPDF2 import PdfWriter, PdfReader
-+ from pypdf import PdfWriter, PdfReader
- except:
- from pyPdf import PdfWriter, PdfReader
-
-diff --git a/staplelib/iohelper.py b/staplelib/iohelper.py
-index 8df365c..5474898 100644
---- a/staplelib/iohelper.py
-+++ b/staplelib/iohelper.py
-@@ -7,7 +7,7 @@ import re
- import sys
-
- try:
-- from PyPDF2 import PdfWriter, PdfReader
-+ from pypdf import PdfWriter, PdfReader
- except ImportError:
- from pyPdf import PdfWriter, PdfReader
-
-diff --git a/staplelib/tests.py b/staplelib/tests.py
-index 86db178..423406d 100755
---- a/staplelib/tests.py
-+++ b/staplelib/tests.py
-@@ -5,7 +5,7 @@ import shutil
- import tempfile
- import unittest
-
--from PyPDF2 import PdfReader
-+from pypdf import PdfReader
-
- from staplelib import main, CommandError
-
diff --git a/dev-python/stapler/stapler-1.0.0_p20220330-r3.ebuild b/dev-python/stapler/stapler-1.0.0_p20220330-r3.ebuild
deleted file mode 100644
index 45767ab87c04..000000000000
--- a/dev-python/stapler/stapler-1.0.0_p20220330-r3.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-EGIT_COMMIT="382f1edc62296e071093a5419811a2fca9d78d93"
-MY_P="${PN}-${EGIT_COMMIT}"
-DESCRIPTION="Suite of tools for PDF files manipulation written in Python"
-HOMEPAGE="
- https://github.com/hellerbarde/stapler/
- https://pypi.org/project/stapler/
-"
-SRC_URI="
- https://github.com/hellerbarde/stapler/archive/${EGIT_COMMIT}.tar.gz
- -> ${MY_P}.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/pypdf[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests unittest
-
-PATCHES=(
- "${FILESDIR}"/${P}-fix-tests-for-PyPDF2-2.x.patch
- "${FILESDIR}"/${P}-port-to-PyPDF2-3.0.0.patch
- "${FILESDIR}"/${P}-use-poetry-core-backend-for-PEP517.patch
- "${FILESDIR}"/${P}-PyPDF2-to-pypdf.patch
-)
diff --git a/dev-python/starlette/Manifest b/dev-python/starlette/Manifest
index da9eff7eeca9..c5ee95363608 100644
--- a/dev-python/starlette/Manifest
+++ b/dev-python/starlette/Manifest
@@ -1,2 +1,3 @@
-DIST starlette-0.32.0.gh.tar.gz 2839571 BLAKE2B adf6b382b267f77309cea1914e980df3ec6e1a05c2ed535c9a26518581349523f9ef5b07c3b97af9123950a52b4ea43acd257527e00a83423b992ce93956b86e SHA512 4b655af29e0a2e031db4155e8697d23abee1e100735904a47b0989faf56a9a05c007a672e6576748849347aaab931c8c1ea89a09d77b04ac8b55a78284ab551a
-DIST starlette-0.33.0.gh.tar.gz 2840495 BLAKE2B 64bf929409be913bd193d0a929c7ab158383ea69a31a98833f425d68f308a1459998af89b631c6db34a32ef599e10fa0dd11c07c7d74e90de2ff10d2a7378a46 SHA512 4ebf75b76656a23599e45b839451af13261ac893efd4dcb3fb1a23de79e9779e8a1e007e3f8d755228f8348aa3e7d821e885774a8fd04a1efac45776cf00790f
+DIST starlette-0.37.2.gh.tar.gz 2846433 BLAKE2B 489fe0d3148f8f006d32d3e52e82cc2c07d9b1a8e3a3cadabe2aa2eb9dd7e00b35e2093dc1de0cb4a6a4606395ed4d19b26778686216a7f8b55a15e61701c9da SHA512 27240c706553e610da05cfc92f818c61e97a891ea7c960fef925a122100a61931cbca973a0995aa1e79d192cda2250139f471929a3f4a7b0f4600d00b6287744
+DIST starlette-0.38.0.gh.tar.gz 2847354 BLAKE2B edcaa8d360f8316fc91f8e32efe778c74bad491c044e2cf5577878a27b840303b34a8f0aa0cc518165a54f28049fb9ed27af4f7e260dc6fc4fbf1f61897237e6 SHA512 89b79f8e3daf1567bc69a2f1f6710a0e981a6633cd462eaa1e014e514f4dbdc98fcb592a3750a1055f08bad28908fc763267e7902479553513e96e2db566b63f
+DIST starlette-0.38.1.gh.tar.gz 2847236 BLAKE2B 79ab91120ac9739e438c6fb52f36c7b2b011ad9b12dbe7f6b883b19e58d76189da4cbb3f42e8d0ffba957b225596f6a938862dd577962b2f9b7114c2105f3de3 SHA512 a7f6415a2fb3640a7f6568fc8d115a04b43ca93f9cff189802d79c1c2c33d3a6eaa631a04c871e4897d9c9d260d2b410095813ec90a86b8c1a23696608f30148
diff --git a/dev-python/starlette/files/starlette-0.38.0-py313.patch b/dev-python/starlette/files/starlette-0.38.0-py313.patch
new file mode 100644
index 000000000000..c63b13444847
--- /dev/null
+++ b/dev-python/starlette/files/starlette-0.38.0-py313.patch
@@ -0,0 +1,35 @@
+From 70ade1b6a4987cb92126b5eec534266f4499f2c0 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sun, 21 Jul 2024 14:14:31 +0200
+Subject: [PATCH] Fix `routing.get_name()` not to assume all routines have
+ `__name__`
+
+Fix `routing.get_name()` to use the `__name__` attribute only if it is
+actually present, rather than assuming that all routine and class types
+have it, and use the fallback to class name otherwise. This is
+necessary for `functools.partial()` that's not guaranteed to have
+a `__name__`, and in fact does not have one starting with Python
+3.13.0b3. Given that the `__name__` used to be `partial` before, this
+change effectively preserves the old behavior for `partial`s across all
+Python implementations.
+
+Fixes #2638
+---
+ starlette/routing.py | 4 +---
+ 1 file changed, 1 insertion(+), 3 deletions(-)
+
+diff --git a/starlette/routing.py b/starlette/routing.py
+index 75a5ec3f3..481b13f5d 100644
+--- a/starlette/routing.py
++++ b/starlette/routing.py
+@@ -99,9 +99,7 @@ async def app(scope: Scope, receive: Receive, send: Send) -> None:
+
+
+ def get_name(endpoint: typing.Callable[..., typing.Any]) -> str:
+- if inspect.isroutine(endpoint) or inspect.isclass(endpoint):
+- return endpoint.__name__
+- return endpoint.__class__.__name__
++ return getattr(endpoint, "__name__", endpoint.__class__.__name__)
+
+
+ def replace_params(
diff --git a/dev-python/starlette/starlette-0.32.0.ebuild b/dev-python/starlette/starlette-0.32.0.ebuild
deleted file mode 100644
index e26ea3f5cc28..000000000000
--- a/dev-python/starlette/starlette-0.32.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 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
-
-MY_P=${P/_p/.post}
-DESCRIPTION="The little ASGI framework that shines"
-HOMEPAGE="
- https://www.starlette.io/
- https://github.com/encode/starlette/
- https://pypi.org/project/starlette/
-"
-# no docs or tests in sdist, as of 0.27.0
-SRC_URI="
- https://github.com/encode/starlette/archive/${PV/_p/.post}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- <dev-python/anyio-5[${PYTHON_USEDEP}]
- >=dev-python/anyio-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}]
- dev-python/itsdangerous[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/python-multipart[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/trio[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # Unpackaged 'databases' dependency
- tests/test_database.py
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/starlette/starlette-0.33.0.ebuild b/dev-python/starlette/starlette-0.33.0.ebuild
deleted file mode 100644
index 5157f33105ee..000000000000
--- a/dev-python/starlette/starlette-0.33.0.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 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
-
-MY_P=${P/_p/.post}
-DESCRIPTION="The little ASGI framework that shines"
-HOMEPAGE="
- https://www.starlette.io/
- https://github.com/encode/starlette/
- https://pypi.org/project/starlette/
-"
-# no docs or tests in sdist, as of 0.27.0
-SRC_URI="
- https://github.com/encode/starlette/archive/${PV/_p/.post}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- <dev-python/anyio-5[${PYTHON_USEDEP}]
- >=dev-python/anyio-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}]
- dev-python/itsdangerous[${PYTHON_USEDEP}]
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/python-multipart[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/trio[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # Unpackaged 'databases' dependency
- tests/test_database.py
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/starlette/starlette-0.37.2.ebuild b/dev-python/starlette/starlette-0.37.2.ebuild
new file mode 100644
index 000000000000..69f57b3dda4d
--- /dev/null
+++ b/dev-python/starlette/starlette-0.37.2.ebuild
@@ -0,0 +1,54 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=${P/_p/.post}
+DESCRIPTION="The little ASGI framework that shines"
+HOMEPAGE="
+ https://www.starlette.io/
+ https://github.com/encode/starlette/
+ https://pypi.org/project/starlette/
+"
+# no docs or tests in sdist, as of 0.27.0
+SRC_URI="
+ https://github.com/encode/starlette/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ <dev-python/anyio-5[${PYTHON_USEDEP}]
+ >=dev-python/anyio-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}]
+ dev-python/itsdangerous[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/python-multipart-0.0.7[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # TODO: warning tests that require pytest-8
+ tests/test_routing.py::test_lifespan_with_on_events
+)
+
+EPYTEST_IGNORE=(
+ # Unpackaged 'databases' dependency
+ tests/test_database.py
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/starlette/starlette-0.38.0.ebuild b/dev-python/starlette/starlette-0.38.0.ebuild
new file mode 100644
index 000000000000..6b064cc4af3f
--- /dev/null
+++ b/dev-python/starlette/starlette-0.38.0.ebuild
@@ -0,0 +1,55 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=${P/_p/.post}
+DESCRIPTION="The little ASGI framework that shines"
+HOMEPAGE="
+ https://www.starlette.io/
+ https://github.com/encode/starlette/
+ https://pypi.org/project/starlette/
+"
+# no docs or tests in sdist, as of 0.27.0
+SRC_URI="
+ https://github.com/encode/starlette/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ <dev-python/anyio-5[${PYTHON_USEDEP}]
+ >=dev-python/anyio-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}]
+ dev-python/itsdangerous[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/python-multipart-0.0.7[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ # https://github.com/encode/starlette/pull/2648
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+EPYTEST_IGNORE=(
+ # Unpackaged 'databases' dependency
+ tests/test_database.py
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/starlette/starlette-0.38.1.ebuild b/dev-python/starlette/starlette-0.38.1.ebuild
new file mode 100644
index 000000000000..c8d78e159a86
--- /dev/null
+++ b/dev-python/starlette/starlette-0.38.1.ebuild
@@ -0,0 +1,61 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=${P/_p/.post}
+DESCRIPTION="The little ASGI framework that shines"
+HOMEPAGE="
+ https://www.starlette.io/
+ https://github.com/encode/starlette/
+ https://pypi.org/project/starlette/
+"
+# no docs or tests in sdist, as of 0.27.0
+SRC_URI="
+ https://github.com/encode/starlette/archive/${PV/_p/.post}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+RDEPEND="
+ <dev-python/anyio-5[${PYTHON_USEDEP}]
+ >=dev-python/anyio-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.22.0[${PYTHON_USEDEP}]
+ dev-python/itsdangerous[${PYTHON_USEDEP}]
+ dev-python/jinja[${PYTHON_USEDEP}]
+ >=dev-python/python-multipart-0.0.7[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ <dev-python/pytest-8.3[${PYTHON_USEDEP}]
+ >=dev-python/pytest-8[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ # https://github.com/encode/starlette/pull/2648
+ "${FILESDIR}/${PN}-0.38.0-py313.patch"
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Unpackaged 'databases' dependency
+ tests/test_database.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p anyio
+}
diff --git a/dev-python/statsd/statsd-4.0.1.ebuild b/dev-python/statsd/statsd-4.0.1.ebuild
index 1d406f51acaf..52aa01d52e80 100644
--- a/dev-python/statsd/statsd-4.0.1.ebuild
+++ b/dev-python/statsd/statsd-4.0.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/statsmodels/Manifest b/dev-python/statsmodels/Manifest
index 3e322bed6787..45811fcaac63 100644
--- a/dev-python/statsmodels/Manifest
+++ b/dev-python/statsmodels/Manifest
@@ -1,3 +1 @@
-DIST statsmodels-0.13.2.tar.gz 17874260 BLAKE2B 93f7a308217ba938b3cd2e11d75e8f5ad19e2d4e6ab2abbea702143129bb53e7b9be54864375dbfec805624538bc73850357eb944d6c9a4c1252cc8a7606b904 SHA512 79d8dd63f667d4019e462d93e007a5ef8e11972fe35fb4d657931d6d68f3e35d29978a865682133db12fd6742f3362c2d77dfb5735c82ae454570388dd84d59a
-DIST statsmodels-0.13.5.tar.gz 18364957 BLAKE2B 8357416b015b152612aca88a9ff42b81db4d97f61b1c255bc2baf8978440cd43fa1a5301d1c60e92b3a634008c5c001c00770685864d296587ff75e37d29ff4f SHA512 9aeeea80c69f52459140179523a0155429834b2951325c9781b28f8c4cbbd0593ff1867e2212078f2b898e4da953689c2fe78183d3c7959caa874e9d758b4ea4
-DIST statsmodels-0.14.0.tar.gz 19374614 BLAKE2B b24c8c146ea9ed393da8e839e3c9a80b1ddaa6fe319204f4440b3435c756911bc1b6405544c6ab8e4370fd378ba26715da743e4d082af7774b8cefa8649d6c58 SHA512 876cc45eb4b5badee2ff859df8a45ce7c4f6ab2973d481f58c5b7906ebcdbb56a64769d5dd7a38c7b7415a4ee7cf98cf300b8c623bda9df001b982ff6844d1fd
+DIST statsmodels-0.14.2.tar.gz 20352531 BLAKE2B 65053842ab979b6c2541baddc09f9ade4f55ca988451218b2e4fd2caf7af0e7891eaccf317e9715f35c3d002f8976ea637712173d58db1b5b7822658bdfc79dd SHA512 0a38482bccac61081ff0c8de3b9fcf81689ec15437c53d79a8949df058e0ac8a4e93136a50a37a06577108dc29f1a51e0d00e041ee7e8f9dff93b6e8cf1f0f16
diff --git a/dev-python/statsmodels/files/statsmodels-0.14.0-test.patch b/dev-python/statsmodels/files/statsmodels-0.14.0-test.patch
deleted file mode 100644
index db63fbdca403..000000000000
--- a/dev-python/statsmodels/files/statsmodels-0.14.0-test.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 39a33cc65573b57a5d31ac4e9393a7c1e050da22 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sat, 6 May 2023 07:43:28 +0200
-Subject: [PATCH] TST: install missing *.csv files needed by tsa.stl tests
-
-Closes #8869
----
- setup.py | 1 +
- statsmodels/tsa/stl/tests/results/__init__.py | 0
- 2 files changed, 1 insertion(+)
- create mode 100644 statsmodels/tsa/stl/tests/results/__init__.py
-
-diff --git a/setup.py b/setup.py
-index 69141b2bd..c2fdc532b 100644
---- a/setup.py
-+++ b/setup.py
-@@ -126,6 +126,7 @@ ADDITIONAL_PACKAGE_DATA = {
- "statsmodels.datasets.tests": ["*.zip"],
- "statsmodels.iolib.tests.results": ["*.dta"],
- "statsmodels.stats.tests.results": ["*.json"],
-+ "statsmodels.tsa.stl.tests.results": ["*.csv"],
- "statsmodels.tsa.vector_ar.tests.results": ["*.npz", "*.dat"],
- "statsmodels.stats.tests": ["*.txt"],
- "statsmodels.stats.libqsturng": ["*.r", "*.txt", "*.dat"],
-diff --git a/statsmodels/tsa/stl/tests/results/__init__.py b/statsmodels/tsa/stl/tests/results/__init__.py
-new file mode 100644
-index 000000000..e69de29bb
---
-2.40.1
-
diff --git a/dev-python/statsmodels/statsmodels-0.13.2.ebuild b/dev-python/statsmodels/statsmodels-0.13.2.ebuild
deleted file mode 100644
index 7338d961ffbb..000000000000
--- a/dev-python/statsmodels/statsmodels-0.13.2.ebuild
+++ /dev/null
@@ -1,85 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{9..10} )
-
-inherit distutils-r1 multiprocessing optfeature pypi
-
-DESCRIPTION="Statistical computations and models for use with SciPy"
-HOMEPAGE="https://www.statsmodels.org/stable/index.html"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~s390 x86 ~amd64-linux ~x86-linux"
-IUSE="examples"
-
-DEPEND="
- >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.3[${PYTHON_USEDEP}]"
-RDEPEND="
- ${DEPEND}
- >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- >=dev-python/pandas-0.25[${PYTHON_USEDEP}]
- >=dev-python/patsy-0.5.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.3[${PYTHON_USEDEP}]
-"
-# https://github.com/statsmodels/statsmodels/issues/8868 for <cython-3
-BDEPEND="
- ${DEPEND}
- <dev-python/cython-3[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- 'dev-python/ipykernel' \
- 'dev-python/jupyter-client' \
- 'dev-python/matplotlib' \
- 'dev-python/nbconvert' \
- 'dev-python/numpydoc'
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Prevent un-needed d'loading
- export VARTEXFONTS="${T}"/fonts
- export MPLCONFIGDIR="${T}"
- printf -- 'backend : Agg\n' > "${MPLCONFIGDIR}"/matplotlibrc || die
-
- sed -e 's:test_combine:_&:' \
- -i statsmodels/imputation/tests/test_mice.py || die
- sed -e 's:test_mixedlm:_&:' \
- -i statsmodels/stats/tests/test_mediation.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x MKL_NUM_THREADS=1
- local -x OMP_NUM_THREADS=1
- local jobs=$(makeopts_jobs "${MAKEOPTS}" "$(get_nproc)")
-
- pushd "${BUILD_DIR}" >/dev/null || die
- "${EPYTHON}" -c "
-import statsmodels
-statsmodels.test(extra_args=['-vv', '-n', '${jobs}'], exit=True)" \
- || die "tests fail with ${EPYTHON}"
- rm -rf statsmodels/.pytest_cache || die
- popd >/dev/null || die
-}
-
-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 "Plotting functionality" "dev-python/matplotlib"
-}
diff --git a/dev-python/statsmodels/statsmodels-0.13.5.ebuild b/dev-python/statsmodels/statsmodels-0.13.5.ebuild
deleted file mode 100644
index c4a42534a42e..000000000000
--- a/dev-python/statsmodels/statsmodels-0.13.5.ebuild
+++ /dev/null
@@ -1,88 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 multiprocessing optfeature pypi
-
-DESCRIPTION="Statistical computations and models for use with SciPy"
-HOMEPAGE="
- https://www.statsmodels.org/stable/index.html
- https://github.com/statsmodels/statsmodels/
- https://pypi.org/project/statsmodels/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ia64 ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="examples"
-
-DEPEND="
- >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.3[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- >=dev-python/pandas-0.25[${PYTHON_USEDEP}]
- >=dev-python/patsy-0.5.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.3[${PYTHON_USEDEP}]
-"
-# https://github.com/statsmodels/statsmodels/issues/8868 for <cython-3
-BDEPEND="
- ${DEPEND}
- <dev-python/cython-3[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- 'dev-python/ipykernel' \
- 'dev-python/jupyter-client' \
- 'dev-python/matplotlib' \
- 'dev-python/nbconvert' \
- 'dev-python/numpydoc'
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # Prevent un-needed d'loading
- export VARTEXFONTS="${T}"/fonts
- export MPLCONFIGDIR="${T}"
- printf -- 'backend : Agg\n' > "${MPLCONFIGDIR}"/matplotlibrc || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x MKL_NUM_THREADS=1
- local -x OMP_NUM_THREADS=1
- local EPYTEST_DESELECT=(
- # note that test path should be without "statsmodels/" prefix
- imputation/tests/test_mice.py::TestMICE::test_combine
- stats/tests/test_mediation.py::test_mixedlm
- "stats/tests/test_corrpsd.py::test_corrpsd_threshold[0]"
- )
-
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- epytest ${PN} -n "$(makeopts_jobs)"
- rm -r ${PN}/.pytest_cache || die
-}
-
-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 "Plotting functionality" "dev-python/matplotlib"
-}
diff --git a/dev-python/statsmodels/statsmodels-0.14.0.ebuild b/dev-python/statsmodels/statsmodels-0.14.0.ebuild
deleted file mode 100644
index 6bbcb30de1e9..000000000000
--- a/dev-python/statsmodels/statsmodels-0.14.0.ebuild
+++ /dev/null
@@ -1,92 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 multiprocessing optfeature pypi
-
-DESCRIPTION="Statistical computations and models for use with SciPy"
-HOMEPAGE="
- https://www.statsmodels.org/stable/index.html
- https://github.com/statsmodels/statsmodels/
- https://pypi.org/project/statsmodels/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ia64 ~ppc ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="examples"
-
-DEPEND="
- >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.3[${PYTHON_USEDEP}]
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/numpy-1.17[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
- >=dev-python/pandas-0.25[${PYTHON_USEDEP}]
- >=dev-python/patsy-0.5.2[${PYTHON_USEDEP}]
- >=dev-python/scipy-1.3[${PYTHON_USEDEP}]
-"
-# https://github.com/statsmodels/statsmodels/issues/8868 for <cython-3
-BDEPEND="
- ${DEPEND}
- <dev-python/cython-3[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- 'dev-python/ipykernel' \
- 'dev-python/jupyter-client' \
- 'dev-python/matplotlib' \
- 'dev-python/nbconvert' \
- 'dev-python/numpydoc'
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- local PATCHES=(
- "${FILESDIR}/${P}-test.patch"
- )
-
- # Prevent un-needed d'loading
- export VARTEXFONTS="${T}"/fonts
- export MPLCONFIGDIR="${T}"
- printf -- 'backend : Agg\n' > "${MPLCONFIGDIR}"/matplotlibrc || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x MKL_NUM_THREADS=1
- local -x OMP_NUM_THREADS=1
- local EPYTEST_DESELECT=(
- # note that test path should be without "statsmodels/" prefix
- imputation/tests/test_mice.py::TestMICE::test_combine
- stats/tests/test_mediation.py::test_mixedlm
- "stats/tests/test_corrpsd.py::test_corrpsd_threshold[0]"
- )
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- epytest statsmodels -p xdist -n "$(makeopts_jobs)"
-}
-
-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 "Plotting functionality" "dev-python/matplotlib"
-}
diff --git a/dev-python/statsmodels/statsmodels-0.14.2.ebuild b/dev-python/statsmodels/statsmodels-0.14.2.ebuild
new file mode 100644
index 000000000000..e313d21102c4
--- /dev/null
+++ b/dev-python/statsmodels/statsmodels-0.14.2.ebuild
@@ -0,0 +1,86 @@
+# 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..13} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Statistical computations and models for use with SciPy"
+HOMEPAGE="
+ https://www.statsmodels.org/stable/index.html
+ https://github.com/statsmodels/statsmodels/
+ https://pypi.org/project/statsmodels/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~loong ~riscv ~amd64-linux"
+IUSE="examples"
+
+DEPEND="
+ >=dev-python/numpy-1.22.3[${PYTHON_USEDEP}]
+ >=dev-python/scipy-1.8[${PYTHON_USEDEP}]
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
+ >=dev-python/pandas-1.4[${PYTHON_USEDEP}]
+ >=dev-python/patsy-0.5.6[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ ${DEPEND}
+ >=dev-python/cython-3.0.10[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-scm-8[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs \
+ 'dev-python/ipykernel' \
+ 'dev-python/jupyter-client' \
+ 'dev-python/matplotlib' \
+ 'dev-python/nbconvert' \
+ 'dev-python/numpydoc'
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ export VARTEXFONTS="${T}"/fonts
+ export MPLCONFIGDIR="${T}"
+ printf -- 'backend : Agg\n' > "${MPLCONFIGDIR}"/matplotlibrc || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x MKL_NUM_THREADS=1
+ local -x OMP_NUM_THREADS=1
+ local EPYTEST_DESELECT=(
+ # note that test path should be without "statsmodels/" prefix
+ imputation/tests/test_mice.py::TestMICE::test_combine
+ stats/tests/test_mediation.py::test_mixedlm
+ "stats/tests/test_corrpsd.py::test_corrpsd_threshold[0]"
+
+ # new warning from pandas
+ tsa/base/tests/test_tsa_indexes.py::test_instantiation_valid
+ )
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ epytest statsmodels
+}
+
+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 "Plotting functionality" "dev-python/matplotlib"
+}
diff --git a/dev-python/stdio-mgr/stdio-mgr-1.0.1-r1.ebuild b/dev-python/stdio-mgr/stdio-mgr-1.0.1-r1.ebuild
index 8480e72b7844..9e77d94ee4d5 100644
--- a/dev-python/stdio-mgr/stdio-mgr-1.0.1-r1.ebuild
+++ b/dev-python/stdio-mgr/stdio-mgr-1.0.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -19,8 +19,8 @@ SRC_URI="
"
LICENSE="MIT"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
>=dev-python/attrs-17.1[${PYTHON_USEDEP}]
diff --git a/dev-python/stestr/stestr-4.1.0.ebuild b/dev-python/stestr/stestr-4.1.0.ebuild
index ef3e93650c41..9b2803aa8d46 100644
--- a/dev-python/stestr/stestr-4.1.0.ebuild
+++ b/dev-python/stestr/stestr-4.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 multiprocessing pypi
diff --git a/dev-python/stevedore/Manifest b/dev-python/stevedore/Manifest
index def9f3dde355..d9d4b9225c92 100644
--- a/dev-python/stevedore/Manifest
+++ b/dev-python/stevedore/Manifest
@@ -1 +1 @@
-DIST stevedore-5.1.0.tar.gz 514100 BLAKE2B f12e0eaa0c3d4bfa334a89ced740277bd2979e7ff48c7bc36bd85d801d0d2dd92f2f8cf7ef29b8fb61a5361a655c6a5303ad6f6aa2666fb57ebcee209ac0c344 SHA512 d7ad920961c9f4055cb145c84578f09f0af93eadf82f60bd7903dfc909cc2cdb64159d9b9b1469eb04569705f4208b667ded5aab17e97bba5dd7310263f449de
+DIST stevedore-5.2.0.tar.gz 513817 BLAKE2B 598e479c18a01fb315f43d0257d555ab7d5c3a67833d3af1f38ac2d0e911e14c3927381b50827d40ae63bdd189c0095daec73daa8bd3cf815aacc6b2d6c813c6 SHA512 ab7afe7d238b7cf1ecdc0cce0b60f0bddc1b59c28c126006bc49c7dbdfa7991fc3813822502ecb4952226b9caf5a80a2809f3b5bd910525c1feab336a5017d26
diff --git a/dev-python/stevedore/stevedore-5.1.0.ebuild b/dev-python/stevedore/stevedore-5.1.0.ebuild
deleted file mode 100644
index 5a9f2ab218e3..000000000000
--- a/dev-python/stevedore/stevedore-5.1.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Manage dynamic plugins for Python applications"
-HOMEPAGE="
- https://opendev.org/openstack/stevedore/
- https://github.com/openstack/stevedore/
- https://pypi.org/project/stevedore/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
- test? (
- dev-python/sphinx[${PYTHON_USEDEP}]
- dev-python/testtools[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-distutils_enable_sphinx 'doc/source' \
- '>=dev-python/openstackdocstheme-1.18.1' \
- '>=dev-python/reno-2.5.0' \
- '>=dev-python/sphinx-2.0.0'
-
-python_prepare_all() {
- # Delete spurious data in requirements.txt
- sed -e '/^pbr/d' -i requirements.txt || die
-
- # Also known problem, inside venv
- sed -i -e 's:test_disable_caching_file:_&:' \
- stevedore/tests/test_cache.py || die
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/stevedore/stevedore-5.2.0.ebuild b/dev-python/stevedore/stevedore-5.2.0.ebuild
new file mode 100644
index 000000000000..6438a098ad6e
--- /dev/null
+++ b/dev-python/stevedore/stevedore-5.2.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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Manage dynamic plugins for Python applications"
+HOMEPAGE="
+ https://opendev.org/openstack/stevedore/
+ https://github.com/openstack/stevedore/
+ https://pypi.org/project/stevedore/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ >=dev-python/pbr-2.0.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/sphinx[${PYTHON_USEDEP}]
+ dev-python/testtools[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+distutils_enable_sphinx 'doc/source' \
+ '>=dev-python/openstackdocstheme-1.18.1' \
+ '>=dev-python/reno-2.5.0' \
+ '>=dev-python/sphinx-2.0.0'
+
+python_prepare_all() {
+ # Delete spurious data in requirements.txt
+ sed -e '/^pbr/d' -i requirements.txt || die
+
+ # Also known problem, inside venv
+ sed -i -e 's:test_disable_caching_file:_&:' \
+ stevedore/tests/test_cache.py || die
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/stomp-py/Manifest b/dev-python/stomp-py/Manifest
index 7534972635f4..b249c2e351ce 100644
--- a/dev-python/stomp-py/Manifest
+++ b/dev-python/stomp-py/Manifest
@@ -1 +1 @@
-DIST stomp.py-8.1.0.tar.gz 39808 BLAKE2B c6efb19fbee81142f251c4bf4114b445878b81fa457260a306cb82ef5e9c57f0b75e3dc8cd6035676e688f1d33081cdf936ac6ccc0628819722849d60f4d8602 SHA512 7385842a23fbe6022c386489641948932e805430ce71c09079d9484fe17d02241ee705d92a1bcdf873eebcbacf68f44bbf884ea103c8963944b84758073fdac7
+DIST stomp_py-8.1.2.tar.gz 39163 BLAKE2B 49d096369b427033cf1210638875cdd1501711a05183d7d186f8f926033e898c7323a8d96f319311999edc86a49515a92ba4c0ed0982712789f7ba78f4175e5e SHA512 2cbfaacdc5762b8db5c28721e01511c32a8991a866d6ced520a27cb82deacc4716cbaf5f298a8daea7f91c9038859d4c39069ad5b46ba6d0efe60e4c19ab09ae
diff --git a/dev-python/stomp-py/metadata.xml b/dev-python/stomp-py/metadata.xml
index 256ce6712373..bf00fcc515c8 100644
--- a/dev-python/stomp-py/metadata.xml
+++ b/dev-python/stomp-py/metadata.xml
@@ -1,13 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
+ <!-- maintainer-needed -->
<stabilize-allarches/>
<upstream>
- <remote-id type="pypi">stomp.py</remote-id>
+ <remote-id type="pypi">stomp-py</remote-id>
<remote-id type="github">jasonrbriggs/stomp.py</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/stomp-py/stomp-py-8.1.0.ebuild b/dev-python/stomp-py/stomp-py-8.1.0.ebuild
deleted file mode 100644
index 828f25bdd8d7..000000000000
--- a/dev-python/stomp-py/stomp-py-8.1.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python client library for the STOMP messaging protocol"
-HOMEPAGE="https://pypi.org/project/stomp.py/ https://github.com/jasonrbriggs/stomp.py/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64"
-
-RDEPEND="<dev-python/docopt-0.7.0[${PYTHON_USEDEP}]"
-
-# stomp.py test suite requires quite a few appropriately configured
-# messaging servers (as of 7.0.0: RabbitMQ, ActiveMQ, ActiveMQ Artemis,
-# stompserver). Upstream relies on Docker to provide those servers, however
-# doing the same in src_test would require both granting the portage user
-# extra permissions and packaging the base image (trying to download it
-# on the fly would violate the network sandbox).
-# Side note: PyPI tarballs do not include tests.
-RESTRICT="test"
diff --git a/dev-python/stomp-py/stomp-py-8.1.2.ebuild b/dev-python/stomp-py/stomp-py-8.1.2.ebuild
new file mode 100644
index 000000000000..d87cdd071b78
--- /dev/null
+++ b/dev-python/stomp-py/stomp-py-8.1.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python client library for the STOMP messaging protocol"
+HOMEPAGE="https://pypi.org/project/stomp-py/ https://github.com/jasonrbriggs/stomp.py/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ <dev-python/docopt-0.7.0[${PYTHON_USEDEP}]
+ dev-python/websocket-client[${PYTHON_USEDEP}]
+"
+
+# stomp.py test suite requires quite a few appropriately configured
+# messaging servers (as of 8.1.2: RabbitMQ, ActiveMQ, ActiveMQ Artemis,
+# stompserver). Upstream relies on Docker to provide those servers, however
+# doing the same in src_test would require both granting the portage user
+# extra permissions and packaging the base image (trying to download it
+# on the fly would violate the network sandbox).
+# Side note: PyPI tarballs do not include tests.
+RESTRICT="test"
diff --git a/dev-python/strict-rfc3339/Manifest b/dev-python/strict-rfc3339/Manifest
index dd3db155a19e..c3a489699e7b 100644
--- a/dev-python/strict-rfc3339/Manifest
+++ b/dev-python/strict-rfc3339/Manifest
@@ -1 +1 @@
-DIST strict-rfc3339-version-0.7.tar.gz 18756 BLAKE2B 45a38c5eef2b74225408e9a0de9e484cce24778eaf830d9cf052a26df4964c761d8349a71c892c5b4b5129f98802a9aae10b1e9205156bbc4eb6c8f5df7bfb88 SHA512 5db598b33680d60eab8c49dde9d831ece9632811c89552c7ccd9ac7cbc0f603bde5aa14434a388abe669181e643bc2fe97f3c48b08c88863f88e95f17d958bd1
+DIST strict-rfc3339-version-0.7.gh.tar.gz 18756 BLAKE2B 45a38c5eef2b74225408e9a0de9e484cce24778eaf830d9cf052a26df4964c761d8349a71c892c5b4b5129f98802a9aae10b1e9205156bbc4eb6c8f5df7bfb88 SHA512 5db598b33680d60eab8c49dde9d831ece9632811c89552c7ccd9ac7cbc0f603bde5aa14434a388abe669181e643bc2fe97f3c48b08c88863f88e95f17d958bd1
diff --git a/dev-python/strict-rfc3339/strict-rfc3339-0.7-r2.ebuild b/dev-python/strict-rfc3339/strict-rfc3339-0.7-r2.ebuild
index dc4b7da3736f..a28d2a9ab48a 100644
--- a/dev-python/strict-rfc3339/strict-rfc3339-0.7-r2.ebuild
+++ b/dev-python/strict-rfc3339/strict-rfc3339-0.7-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -16,9 +16,9 @@ HOMEPAGE="
"
SRC_URI="
https://github.com/danielrichman/${PN}/archive/version-${PV}.tar.gz
- -> ${MY_P}.tar.gz
+ -> ${MY_P}.gh.tar.gz
"
-S="${WORKDIR}/${MY_P}"
+S=${WORKDIR}/${MY_P}
LICENSE="GPL-3+"
SLOT="0"
diff --git a/dev-python/stripe/Manifest b/dev-python/stripe/Manifest
index b86cf1ca7385..f2e334c567e6 100644
--- a/dev-python/stripe/Manifest
+++ b/dev-python/stripe/Manifest
@@ -1,3 +1,4 @@
-DIST stripe-7.4.0.tar.gz 743353 BLAKE2B 30246bf8c5c922fe1ab906757fef064d4f6eea6989825e1ddabc1ad3fad95cd486bcaa3be860045c29daa2f3c84f65a01e275c919da286d8f0d81cfa3aa512b8 SHA512 9e67fbfdd4fc65ad72a56bc841316e803eca031307a3ced4ba5773773a9920fd1d2e11cb7de6e6da4b2aae78611e198d999d85a5df65d3d7a43af195a47a84c7
-DIST stripe-7.6.0.tar.gz 743504 BLAKE2B 32b82cd34241f00c259edc3e0d46d25337cd2490e6c3f4fb9d90d13e785f5e844fbaf66b224a7ae2ac7643d80b90eb36fde465ffdae058ded7741cb53dca5ec6 SHA512 5383ee5bc7e128840f9a1a738eca3bd6ce4a98df554243308d3b6fc667b519b996fc63d34c29abfc4f2f9082e8062aaf9aacdb3edb70e4ef2a6556228926daa2
-DIST stripe-7.7.0.tar.gz 747906 BLAKE2B 40d6f4cdbefef54df8aa84529c879f9cfe3b36fafb35cdc12e98513ae63e3fc41a38174def79adf2e891445502771437489f73010b206a005a02883ef51400fd SHA512 988bf67fce52c5b48e8a7d0d6dac408fd5bc1bd3cbd0d80b06ab5b7b8c44a5daa231c6f3f5e563cea2a717cbec56ae4a83eac9526a463074ff3d1d2cb68a6b92
+DIST stripe-10.1.0.tar.gz 1290758 BLAKE2B 0ec51d9189b1d574eb1eb2eb7c3683b2b6b86c9879445c2de60da1a16684e0fe095abbe841cc59ea8daad6862d864550bfb5a9c9dd6a034df42a01c8ec59be4c SHA512 ecac8856ce6993ba5c339a44791b9197f2e1b8a62292d5e9e555e02004007ad90c400dff8d111df2ae1428436ba413a47b59ef9b5e9da445872495c45aa844c3
+DIST stripe-10.3.0.tar.gz 1300786 BLAKE2B 626a3c52cbb93aeae3749f6ffedd421557aa4e8085d2b0591ca2c1c866caa64ef78bdf8f0e5c85ee814ffd588d95ee05267748a97f2a50ff89d28a9e501d4da8 SHA512 7353df871f0b83330208e1a3e0fa339d319c3bb1b2e4e90bf045dd691120b22b908e263f3cdae5127b3a1299b950be3685ec631492888884d42570947de70268
+DIST stripe-10.4.0.tar.gz 1301246 BLAKE2B 5ec34792d1c89e5bac40b808992ef0f0798fad3d5859cc0777bc3e7ead0857c706d8969bb8c8bea3213db9f5561377fad6c2e5487d84a1e21c26e8b8ba97b4f4 SHA512 e3575c13b3722f8ea56b08ed5c013bebc32da4ef095ac6b809c216734e29d4147ab54c8c78793d7864eee7cb27549cb42368fcf5f771665283f31442f77d4628
+DIST stripe-10.5.0.tar.gz 1301564 BLAKE2B 5cc9175c52bfadb0fc05528b406090f72215d2b27eefa51336508a74dd348d37d51b93e0e898ba22b1102316b95643bad6b0ca0e1ef84c8053b98a34ed496698 SHA512 c320c9f6b77ce38ef4182607168c811d512ba12d080c8f1c4f61fbdef6adaa2c955078e333715343e0bf796826e9d303a45765e1e67aee518a3cd6ffbfb801b4
diff --git a/dev-python/stripe/metadata.xml b/dev-python/stripe/metadata.xml
index 9202a9f9538c..5170080cee2d 100644
--- a/dev-python/stripe/metadata.xml
+++ b/dev-python/stripe/metadata.xml
@@ -9,4 +9,12 @@
<remote-id type="pypi">stripe</remote-id>
<remote-id type="github">stripe/stripe-python</remote-id>
</upstream>
+ <use>
+ <flag name="telemetry">
+ Enable sending "telemetry to Stripe regarding request latency
+ and feature usage" by default. Upstream enables it by default
+ in their PyPI distribution; it can also be explicitly controlled
+ via stripe.enable_telemetry variable (boolean).
+ </flag>
+ </use>
</pkgmetadata>
diff --git a/dev-python/stripe/stripe-10.1.0.ebuild b/dev-python/stripe/stripe-10.1.0.ebuild
new file mode 100644
index 000000000000..47a6cb02ea58
--- /dev/null
+++ b/dev-python/stripe/stripe-10.1.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=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Stripe Python bindings"
+HOMEPAGE="
+ https://github.com/stripe/stripe-python/
+ https://pypi.org/project/stripe/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+IUSE="telemetry"
+
+RDEPEND="
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+# please bump dev-util/stripe-mock dep to the latest version on every bump
+BDEPEND="
+ test? (
+ >=dev-util/stripe-mock-0.186.0
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ net-misc/curl
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
+
+src_prepare() {
+ if ! use telemetry; then
+ sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die
+ fi
+ # https://github.com/stripe/stripe-python/pull/1297
+ sed -e 's:from mock:from unittest.mock:' \
+ -i tests/test_http_client.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests -p anyio -p pytest_mock
+}
+
+src_test() {
+ local stripe_mock_port=12111
+ local stripe_mock_max_port=12121
+ local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
+ # Try to start stripe-mock until we find a free port
+ while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
+ ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
+ stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
+ local stripe_mock_pid=${!}
+ sleep 2
+ # Did stripe-mock start?
+ curl --fail -u "sk_test_123:" \
+ "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
+ eend ${?} "Port ${stripe_mock_port} unavailable"
+ if [[ ${?} -eq 0 ]]; then
+ einfo "stripe-mock running on port ${stripe_mock_port}"
+ break
+ fi
+ (( stripe_mock_port++ ))
+ done
+ if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
+ eerror "Unable to start stripe-mock for tests"
+ die "Please see the logfile located at: ${stripe_mock_logfile}"
+ fi
+
+ local -x STRIPE_MOCK_PORT=${stripe_mock_port}
+ distutils-r1_src_test
+
+ # Tear down stripe-mock
+ kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
+}
diff --git a/dev-python/stripe/stripe-10.3.0.ebuild b/dev-python/stripe/stripe-10.3.0.ebuild
new file mode 100644
index 000000000000..7925c1fc5c50
--- /dev/null
+++ b/dev-python/stripe/stripe-10.3.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=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Stripe Python bindings"
+HOMEPAGE="
+ https://github.com/stripe/stripe-python/
+ https://pypi.org/project/stripe/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="telemetry"
+
+RDEPEND="
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+# please bump dev-util/stripe-mock dep to the latest version on every bump
+BDEPEND="
+ test? (
+ >=dev-util/stripe-mock-0.186.0
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ net-misc/curl
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
+
+src_prepare() {
+ if ! use telemetry; then
+ sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die
+ fi
+ # https://github.com/stripe/stripe-python/pull/1297
+ sed -e 's:from mock:from unittest.mock:' \
+ -i tests/test_http_client.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests -p anyio -p pytest_mock
+}
+
+src_test() {
+ local stripe_mock_port=12111
+ local stripe_mock_max_port=12121
+ local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
+ # Try to start stripe-mock until we find a free port
+ while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
+ ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
+ stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
+ local stripe_mock_pid=${!}
+ sleep 2
+ # Did stripe-mock start?
+ curl --fail -u "sk_test_123:" \
+ "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
+ eend ${?} "Port ${stripe_mock_port} unavailable"
+ if [[ ${?} -eq 0 ]]; then
+ einfo "stripe-mock running on port ${stripe_mock_port}"
+ break
+ fi
+ (( stripe_mock_port++ ))
+ done
+ if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
+ eerror "Unable to start stripe-mock for tests"
+ die "Please see the logfile located at: ${stripe_mock_logfile}"
+ fi
+
+ local -x STRIPE_MOCK_PORT=${stripe_mock_port}
+ distutils-r1_src_test
+
+ # Tear down stripe-mock
+ kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
+}
diff --git a/dev-python/stripe/stripe-10.4.0.ebuild b/dev-python/stripe/stripe-10.4.0.ebuild
new file mode 100644
index 000000000000..7925c1fc5c50
--- /dev/null
+++ b/dev-python/stripe/stripe-10.4.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=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Stripe Python bindings"
+HOMEPAGE="
+ https://github.com/stripe/stripe-python/
+ https://pypi.org/project/stripe/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="telemetry"
+
+RDEPEND="
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+# please bump dev-util/stripe-mock dep to the latest version on every bump
+BDEPEND="
+ test? (
+ >=dev-util/stripe-mock-0.186.0
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ net-misc/curl
+ )
+"
+
+distutils_enable_tests pytest
+
+DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
+
+src_prepare() {
+ if ! use telemetry; then
+ sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die
+ fi
+ # https://github.com/stripe/stripe-python/pull/1297
+ sed -e 's:from mock:from unittest.mock:' \
+ -i tests/test_http_client.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests -p anyio -p pytest_mock
+}
+
+src_test() {
+ local stripe_mock_port=12111
+ local stripe_mock_max_port=12121
+ local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
+ # Try to start stripe-mock until we find a free port
+ while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
+ ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
+ stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
+ local stripe_mock_pid=${!}
+ sleep 2
+ # Did stripe-mock start?
+ curl --fail -u "sk_test_123:" \
+ "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
+ eend ${?} "Port ${stripe_mock_port} unavailable"
+ if [[ ${?} -eq 0 ]]; then
+ einfo "stripe-mock running on port ${stripe_mock_port}"
+ break
+ fi
+ (( stripe_mock_port++ ))
+ done
+ if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
+ eerror "Unable to start stripe-mock for tests"
+ die "Please see the logfile located at: ${stripe_mock_logfile}"
+ fi
+
+ local -x STRIPE_MOCK_PORT=${stripe_mock_port}
+ distutils-r1_src_test
+
+ # Tear down stripe-mock
+ kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
+}
diff --git a/dev-python/stripe/stripe-10.5.0.ebuild b/dev-python/stripe/stripe-10.5.0.ebuild
new file mode 100644
index 000000000000..8ff27b618e7e
--- /dev/null
+++ b/dev-python/stripe/stripe-10.5.0.ebuild
@@ -0,0 +1,92 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Stripe Python bindings"
+HOMEPAGE="
+ https://github.com/stripe/stripe-python/
+ https://pypi.org/project/stripe/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="telemetry"
+
+RDEPEND="
+ >=dev-python/requests-2.20[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
+"
+# please bump dev-util/stripe-mock dep to the latest version on every bump
+BDEPEND="
+ test? (
+ >=dev-util/stripe-mock-0.186.0
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/anyio[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/trio[${PYTHON_USEDEP}]
+ net-misc/curl
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ if ! use telemetry; then
+ sed -i -e '/enable_telemetry/s:True:False:' stripe/__init__.py || die
+ fi
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # exception message mismatch with aiohttp-3.10.0
+ "tests/test_integration.py::TestIntegration::test_async_timeout[asyncio-aiohttp]"
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest tests -p anyio -p pytest_mock
+}
+
+src_test() {
+ local stripe_mock_port=12111
+ local stripe_mock_max_port=12121
+ local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
+ # Try to start stripe-mock until we find a free port
+ while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
+ ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
+ stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
+ local stripe_mock_pid=${!}
+ sleep 2
+ # Did stripe-mock start?
+ curl --fail -u "sk_test_123:" \
+ "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
+ eend ${?} "Port ${stripe_mock_port} unavailable"
+ if [[ ${?} -eq 0 ]]; then
+ einfo "stripe-mock running on port ${stripe_mock_port}"
+ break
+ fi
+ (( stripe_mock_port++ ))
+ done
+ if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
+ eerror "Unable to start stripe-mock for tests"
+ die "Please see the logfile located at: ${stripe_mock_logfile}"
+ fi
+
+ local -x STRIPE_MOCK_PORT=${stripe_mock_port}
+ distutils-r1_src_test
+
+ # Tear down stripe-mock
+ kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
+}
diff --git a/dev-python/stripe/stripe-7.4.0.ebuild b/dev-python/stripe/stripe-7.4.0.ebuild
deleted file mode 100644
index c84c34600830..000000000000
--- a/dev-python/stripe/stripe-7.4.0.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Stripe python bindings"
-HOMEPAGE="
- https://github.com/stripe/stripe-python/
- https://pypi.org/project/stripe/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- >=dev-python/requests-2.20[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
-"
-# please bump dev-util/stripe-mock dep to the latest version on every bump
-BDEPEND="
- test? (
- >=dev-util/stripe-mock-0.177.0
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- net-misc/curl
- )
-"
-
-distutils_enable_tests pytest
-
-DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests -p pytest_mock
-}
-
-src_test() {
- local stripe_mock_port=12111
- local stripe_mock_max_port=12121
- local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
- # Try to start stripe-mock until we find a free port
- while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
- ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
- stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
- local stripe_mock_pid=${!}
- sleep 2
- # Did stripe-mock start?
- curl --fail -u "sk_test_123:" \
- "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
- eend ${?} "Port ${stripe_mock_port} unavailable"
- if [[ ${?} -eq 0 ]]; then
- einfo "stripe-mock running on port ${stripe_mock_port}"
- break
- fi
- (( stripe_mock_port++ ))
- done
- if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
- eerror "Unable to start stripe-mock for tests"
- die "Please see the logfile located at: ${stripe_mock_logfile}"
- fi
-
- local -x STRIPE_MOCK_PORT=${stripe_mock_port}
- distutils-r1_src_test
-
- # Tear down stripe-mock
- kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
-}
diff --git a/dev-python/stripe/stripe-7.6.0.ebuild b/dev-python/stripe/stripe-7.6.0.ebuild
deleted file mode 100644
index a5deb252c18b..000000000000
--- a/dev-python/stripe/stripe-7.6.0.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Stripe python bindings"
-HOMEPAGE="
- https://github.com/stripe/stripe-python/
- https://pypi.org/project/stripe/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/requests-2.20[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
-"
-# please bump dev-util/stripe-mock dep to the latest version on every bump
-BDEPEND="
- test? (
- >=dev-util/stripe-mock-0.178.0
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- net-misc/curl
- )
-"
-
-distutils_enable_tests pytest
-
-DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests -p pytest_mock
-}
-
-src_test() {
- local stripe_mock_port=12111
- local stripe_mock_max_port=12121
- local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
- # Try to start stripe-mock until we find a free port
- while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
- ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
- stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
- local stripe_mock_pid=${!}
- sleep 2
- # Did stripe-mock start?
- curl --fail -u "sk_test_123:" \
- "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
- eend ${?} "Port ${stripe_mock_port} unavailable"
- if [[ ${?} -eq 0 ]]; then
- einfo "stripe-mock running on port ${stripe_mock_port}"
- break
- fi
- (( stripe_mock_port++ ))
- done
- if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
- eerror "Unable to start stripe-mock for tests"
- die "Please see the logfile located at: ${stripe_mock_logfile}"
- fi
-
- local -x STRIPE_MOCK_PORT=${stripe_mock_port}
- distutils-r1_src_test
-
- # Tear down stripe-mock
- kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
-}
diff --git a/dev-python/stripe/stripe-7.7.0.ebuild b/dev-python/stripe/stripe-7.7.0.ebuild
deleted file mode 100644
index a5deb252c18b..000000000000
--- a/dev-python/stripe/stripe-7.7.0.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Stripe python bindings"
-HOMEPAGE="
- https://github.com/stripe/stripe-python/
- https://pypi.org/project/stripe/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/requests-2.20[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.5.0[${PYTHON_USEDEP}]
-"
-# please bump dev-util/stripe-mock dep to the latest version on every bump
-BDEPEND="
- test? (
- >=dev-util/stripe-mock-0.178.0
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- net-misc/curl
- )
-"
-
-distutils_enable_tests pytest
-
-DOCS=( LONG_DESCRIPTION.rst CHANGELOG.md README.md )
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest tests -p pytest_mock
-}
-
-src_test() {
- local stripe_mock_port=12111
- local stripe_mock_max_port=12121
- local stripe_mock_logfile="${T}/stripe_mock_${EPYTHON}.log"
- # Try to start stripe-mock until we find a free port
- while [[ ${stripe_mock_port} -le ${stripe_mock_max_port} ]]; do
- ebegin "Trying to start stripe-mock on port ${stripe_mock_port}"
- stripe-mock --http-port "${stripe_mock_port}" &> "${stripe_mock_logfile}" &
- local stripe_mock_pid=${!}
- sleep 2
- # Did stripe-mock start?
- curl --fail -u "sk_test_123:" \
- "http://127.0.0.1:${stripe_mock_port}/v1/customers" &> /dev/null
- eend ${?} "Port ${stripe_mock_port} unavailable"
- if [[ ${?} -eq 0 ]]; then
- einfo "stripe-mock running on port ${stripe_mock_port}"
- break
- fi
- (( stripe_mock_port++ ))
- done
- if [[ ${stripe_mock_port} -gt ${stripe_mock_max_port} ]]; then
- eerror "Unable to start stripe-mock for tests"
- die "Please see the logfile located at: ${stripe_mock_logfile}"
- fi
-
- local -x STRIPE_MOCK_PORT=${stripe_mock_port}
- distutils-r1_src_test
-
- # Tear down stripe-mock
- kill "${stripe_mock_pid}" || die "Unable to stop stripe-mock"
-}
diff --git a/dev-python/structlog/Manifest b/dev-python/structlog/Manifest
index 507d7a177c87..5c54e00fb530 100644
--- a/dev-python/structlog/Manifest
+++ b/dev-python/structlog/Manifest
@@ -1 +1,2 @@
-DIST structlog-23.2.0.tar.gz 749288 BLAKE2B c5a619ddacc04e6f2377c66aa343ecfddb8001d5d87c3f10859c2644ce427150771abe4942d57a9ea6db1029af5bde825a0a99218921beea08c4fd147fc5c1cb SHA512 01ddaf3b819da66beefef1810e6d460a2e5ce37f6be3dee144411a3a5db7c81bdfd83a0843172a921406596a2b9f1f87de08caf881c7d701496825203d13bdad
+DIST structlog-24.2.0.tar.gz 1346958 BLAKE2B d47e78ec3c55048460a32a860ac2e5ebed9e49f546277e562104fec66e73e25702b61c2b8a250a9729c0c774e7c0c1492733957a9a551328267533187e63972e SHA512 df470f292bbf1de6a4a509f034c3bccb87e21afc31cf31a0ef998485a4b69e5bf6ec46d90236d556c876aa96e5a3dcb323d0bfe9bd8ac63a47b527a747af73c8
+DIST structlog-24.4.0.tar.gz 1348634 BLAKE2B 29b35ad7471e6e681c86363880397869b5a149ff06bd1e5c68c7587ff2da6663ded7d278788b77fbc6d945cadda89073dbb3f43fbd4b0e21a71380a6d361593a SHA512 0dedb73caa9cd8f288267f129b9b61ae7db542fec1c92a38d785e1606d56a1272fb9fb5dd23c04a8fd0ce0a3c41f430d51230475bde4eab1919998187fbe680b
diff --git a/dev-python/structlog/structlog-23.2.0.ebuild b/dev-python/structlog/structlog-23.2.0.ebuild
deleted file mode 100644
index d196d1c98773..000000000000
--- a/dev-python/structlog/structlog-23.2.0.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Structured Logging for Python"
-HOMEPAGE="
- https://github.com/hynek/structlog/
- https://pypi.org/project/structlog/
-"
-
-LICENSE="|| ( Apache-2.0 MIT )"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-BDEPEND="
- dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/pretend[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/structlog/structlog-24.2.0.ebuild b/dev-python/structlog/structlog-24.2.0.ebuild
new file mode 100644
index 000000000000..02a4f3b08696
--- /dev/null
+++ b/dev-python/structlog/structlog-24.2.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Structured Logging for Python"
+HOMEPAGE="
+ https://github.com/hynek/structlog/
+ https://pypi.org/project/structlog/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 ~sparc x86"
+
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/structlog/structlog-24.4.0.ebuild b/dev-python/structlog/structlog-24.4.0.ebuild
new file mode 100644
index 000000000000..a523146cc838
--- /dev/null
+++ b/dev-python/structlog/structlog-24.4.0.ebuild
@@ -0,0 +1,31 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Structured Logging for Python"
+HOMEPAGE="
+ https://github.com/hynek/structlog/
+ https://pypi.org/project/structlog/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ dev-python/hatch-fancy-pypi-readme[${PYTHON_USEDEP}]
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/freezegun[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/subprocess-tee/Manifest b/dev-python/subprocess-tee/Manifest
index 37ace876f6e8..19c5841e2bbe 100644
--- a/dev-python/subprocess-tee/Manifest
+++ b/dev-python/subprocess-tee/Manifest
@@ -1 +1 @@
-DIST subprocess-tee-0.4.1.tar.gz 13599 BLAKE2B 779a8b5381155e8d524b6715ab9cc37f8e55565dd378a2d256648d56f018dc71860b0db2a50572a5e03fab7d2de5cd691be53c49c1aa79e756b4eb8a8d5878a5 SHA512 683813096c4bb78a4263075ba8590a926134ec92db5e2e72ed98ab1db9e231768adc15bb4273ba138f9a1b2a14ae4050d0b6acc76d483d0f3530f376ce8d9eee
+DIST subprocess_tee-0.4.2.tar.gz 14951 BLAKE2B b94a8adc779bfbfd17046c4c85c9fb4020a0ca4de11735ec672a90e3be93d09d5f2ec60184e12bce86864b6ef22fedd0927dbb26267cb763d197c54bb4f342ed SHA512 acb0103b8a9ba6288e42148062e82b37b625f5c518e195c4d6e32efd2d5d9841ac6f2c2b240d223e7cdecc643daaa3d86c63a6bc34ca7b48e187cbf968e5dae5
diff --git a/dev-python/subprocess-tee/metadata.xml b/dev-python/subprocess-tee/metadata.xml
index 143a4000daa5..a77d9d0e1232 100644
--- a/dev-python/subprocess-tee/metadata.xml
+++ b/dev-python/subprocess-tee/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/subprocess-tee/subprocess-tee-0.4.1.ebuild b/dev-python/subprocess-tee/subprocess-tee-0.4.1.ebuild
deleted file mode 100644
index 7fe26d7f68c5..000000000000
--- a/dev-python/subprocess-tee/subprocess-tee-0.4.1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="subprocess.run replacement with tee(1)-like output"
-HOMEPAGE="
- https://github.com/pycontribs/subprocess-tee/
- https://pypi.org/project/subprocess-tee/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~riscv"
-IUSE="test-full"
-REQUIRED_USE="test-full? ( test )"
-
-# ansible-molecule is invoked as an executable so no need for PYTHON_USEDEP
-BDEPEND="
- >=dev-python/setuptools-scm-7.0.0[${PYTHON_USEDEP}]
- test? (
- dev-python/enrich[${PYTHON_USEDEP}]
- test-full? ( app-admin/ansible-molecule )
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
-
- if ! use test-full; then
- EPYTEST_DESELECT+=(
- test/test_func.py::test_molecule
- )
- fi
-
- epytest
-}
diff --git a/dev-python/subprocess-tee/subprocess-tee-0.4.2.ebuild b/dev-python/subprocess-tee/subprocess-tee-0.4.2.ebuild
new file mode 100644
index 000000000000..7abc5cf978c2
--- /dev/null
+++ b/dev-python/subprocess-tee/subprocess-tee-0.4.2.ebuild
@@ -0,0 +1,44 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="subprocess.run replacement with tee(1)-like output"
+HOMEPAGE="
+ https://github.com/pycontribs/subprocess-tee/
+ https://pypi.org/project/subprocess-tee/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~riscv"
+IUSE="test-full"
+REQUIRED_USE="test-full? ( test )"
+
+# ansible-molecule is invoked as an executable so no need for PYTHON_USEDEP
+BDEPEND="
+ >=dev-python/setuptools-scm-7.0.0[${PYTHON_USEDEP}]
+ test? (
+ dev-python/enrich[${PYTHON_USEDEP}]
+ test-full? ( app-admin/ansible-molecule )
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+
+ if ! use test-full; then
+ EPYTEST_DESELECT+=(
+ test/test_func.py::test_molecule
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/subunit/Manifest b/dev-python/subunit/Manifest
index dde0178181c4..fc68f55c9485 100644
--- a/dev-python/subunit/Manifest
+++ b/dev-python/subunit/Manifest
@@ -1,2 +1 @@
-DIST subunit-1.4.3.gh.tar.gz 105275 BLAKE2B a203d1fc7851cbfe50c419dd9547353912dac2f49f6182f56f424dd839e635aefa00080d1476e589249286215b53f3393a654a062e4c264ddd8915ee4bc6f929 SHA512 831d435963de9e5e58961b0d97b628ac48855fd956c3618ba53b5e372a967e33a2572755869838f9d5e1ff2b206ffc5b93fecb0738b922d23dfb9c7216efdcf1
DIST subunit-1.4.4.gh.tar.gz 105357 BLAKE2B 5937c62357d9cb70e25242aa7678d89f79fed3d8d28fb5306bc21e28d643665e563078a84a9dd64b9192809e542d69218154227c8e5d281c861085d3175c73c4 SHA512 a666e45951afab70ea85cf9614d5e60c8884c0e2d7987e690bf7acedec5c544c412407b02134a125b4dca8772c0b1ce17fdbd9546d97ef06592119ec49b2a21f
diff --git a/dev-python/subunit/subunit-1.4.3.ebuild b/dev-python/subunit/subunit-1.4.3.ebuild
deleted file mode 100644
index 5530709ef362..000000000000
--- a/dev-python/subunit/subunit-1.4.3.ebuild
+++ /dev/null
@@ -1,91 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 multilib-minimal autotools
-
-DESCRIPTION="A streaming protocol for test results"
-HOMEPAGE="
- https://launchpad.net/subunit/
- https://pypi.org/project/python-subunit/
-"
-SRC_URI="
- https://github.com/testing-cabal/subunit/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0 BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="static-libs test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/testtools-0.9.34[${PYTHON_USEDEP}]
- dev-python/iso8601[${PYTHON_USEDEP}]
-"
-DEPEND="
- ${RDEPEND}
- >=dev-libs/check-0.9.11[${MULTILIB_USEDEP}]
- >=dev-util/cppunit-1.13.2[${MULTILIB_USEDEP}]
- >=virtual/pkgconfig-0-r1
- test? (
- dev-python/fixtures[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/testscenarios[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/subunit-1.4.0-werror.patch"
-)
-
-src_prepare() {
- mv all_tests.py python/ || die
-
- distutils-r1_src_prepare
- eautoreconf
- multilib_copy_sources
-}
-
-multilib_src_configure() {
- ECONF_SOURCE=${S} \
- econf \
- --enable-shared \
- $(use_enable static-libs static)
-}
-
-multilib_src_compile() {
- default
- multilib_is_native_abi && distutils-r1_src_compile
-}
-
-python_test() {
- cd python || die
- "${EPYTHON}" -m testtools.run -v all_tests.test_suite ||
- die "Testing failed with ${EPYTHON}"
-}
-
-multilib_src_test() {
- multilib_is_native_abi && distutils-r1_src_test
-}
-
-multilib_src_install() {
- local targets=(
- install-include_subunitHEADERS
- install-pcdataDATA
- install-libLTLIBRARIES
- )
- emake DESTDIR="${D}" "${targets[@]}"
-
- multilib_is_native_abi && distutils-r1_src_install
-}
-
-multilib_src_install_all() {
- einstalldocs
- find "${D}" -name '*.la' -delete || die
-}
diff --git a/dev-python/subunit/subunit-1.4.4.ebuild b/dev-python/subunit/subunit-1.4.4.ebuild
index fcecf30c7054..69006f572b3e 100644
--- a/dev-python/subunit/subunit-1.4.4.ebuild
+++ b/dev-python/subunit/subunit-1.4.4.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 multilib-minimal autotools
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="Apache-2.0 BSD"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
IUSE="static-libs test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/suds-community/suds-community-1.1.2.ebuild b/dev-python/suds-community/suds-community-1.1.2.ebuild
index 81b3bd2cb4cc..6f77197c4f43 100644
--- a/dev-python/suds-community/suds-community-1.1.2.ebuild
+++ b/dev-python/suds-community/suds-community-1.1.2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYTHON_REQ_USE="xml(+)"
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/superqt/Manifest b/dev-python/superqt/Manifest
new file mode 100644
index 000000000000..4f3c71ce92b5
--- /dev/null
+++ b/dev-python/superqt/Manifest
@@ -0,0 +1,3 @@
+DIST superqt-0.6.4.tar.gz 95502 BLAKE2B 0354fbea1925bac84a72fc1d8e0402ba80fdd38cdec32a0e91c4b360dc8d906d631e5e36ffea8d20baae9d1e620417a08f19c2d4d37778f2e50ca3673e12bca3 SHA512 934df6d7c0dd80e045a03b88fb6b254fd7f7e3a09c882bcd46c3635ed7ba434c5704b110dd590a491fc9cead767c2f885245fdae09ef26e1a1e556d66cb2d7a3
+DIST superqt-0.6.6.tar.gz 96181 BLAKE2B 6f42e5279067d409cb9d54bf0d673d04695ae529be61dcf04e6c280fe6555400725742f075f5fcf197a79aa834d73874955a09f3062ee07ebd6598632bbb1635 SHA512 1ed0ca445b6f2ac7ecc7c5c6339249a88eff7f10d67f23bc4052666beba68399b4062f9c2bc9677fd643110513332b7ee65be50d8e77868e3c8d4ff278029b1c
+DIST superqt-0.6.7.tar.gz 96733 BLAKE2B 3c189989c1bdbd1dd35bcb5a80951c817fefe19b61e4c8d44878fbfc7cc850b272149219b995a1a1b808e11063c8c16e4dafc7eaafa772c4912936a3708971e9 SHA512 054df016442cb72327218f4d73fbcfd2335178c10cb09f7c5e645721189403580f082ad2853527f84bf1513b1605b470b16fc08848bff077b5a5e1746df60f24
diff --git a/dev-python/superqt/metadata.xml b/dev-python/superqt/metadata.xml
new file mode 100644
index 000000000000..b35f6702957f
--- /dev/null
+++ b/dev-python/superqt/metadata.xml
@@ -0,0 +1,17 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <upstream>
+ <remote-id type="pypi">superqt</remote-id>
+ <remote-id type="github">pyapp-kit/superqt</remote-id>
+ </upstream>
+ <stabilize-allarches/>
+ <maintainer type="person">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
+</pkgmetadata>
diff --git a/dev-python/superqt/superqt-0.6.4.ebuild b/dev-python/superqt/superqt-0.6.4.ebuild
new file mode 100644
index 000000000000..d28d26f40bb0
--- /dev/null
+++ b/dev-python/superqt/superqt-0.6.4.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="Missing widgets and components for PyQt/PySide"
+HOMEPAGE="
+ https://github.com/pyapp-kit/superqt
+ https://pypi.org/project/superqt/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/QtPy-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-3.7.4.3[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pytest-qt[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # pint and pyconify not packaged
+ tests/test_quantity.py
+)
+
+EPYTEST_DESELECT=(
+ # fails in the sandbox, but works outside of it
+ tests/test_eliding_label.py::test_wrapped_eliding_label
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ virtx distutils-r1_python_test
+}
diff --git a/dev-python/superqt/superqt-0.6.6.ebuild b/dev-python/superqt/superqt-0.6.6.ebuild
new file mode 100644
index 000000000000..d28d26f40bb0
--- /dev/null
+++ b/dev-python/superqt/superqt-0.6.6.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="Missing widgets and components for PyQt/PySide"
+HOMEPAGE="
+ https://github.com/pyapp-kit/superqt
+ https://pypi.org/project/superqt/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/QtPy-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-3.7.4.3[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pytest-qt[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # pint and pyconify not packaged
+ tests/test_quantity.py
+)
+
+EPYTEST_DESELECT=(
+ # fails in the sandbox, but works outside of it
+ tests/test_eliding_label.py::test_wrapped_eliding_label
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ virtx distutils-r1_python_test
+}
diff --git a/dev-python/superqt/superqt-0.6.7.ebuild b/dev-python/superqt/superqt-0.6.7.ebuild
new file mode 100644
index 000000000000..d28d26f40bb0
--- /dev/null
+++ b/dev-python/superqt/superqt-0.6.7.ebuild
@@ -0,0 +1,49 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="Missing widgets and components for PyQt/PySide"
+HOMEPAGE="
+ https://github.com/pyapp-kit/superqt
+ https://pypi.org/project/superqt/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ >=dev-python/pygments-2.4.0[${PYTHON_USEDEP}]
+ >=dev-python/QtPy-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-3.7.4.3[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pytest-qt[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # pint and pyconify not packaged
+ tests/test_quantity.py
+)
+
+EPYTEST_DESELECT=(
+ # fails in the sandbox, but works outside of it
+ tests/test_eliding_label.py::test_wrapped_eliding_label
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ virtx distutils-r1_python_test
+}
diff --git a/dev-python/sure/sure-2.0.1.ebuild b/dev-python/sure/sure-2.0.1.ebuild
index 3cb8830cae60..a1471f0f8a07 100644
--- a/dev-python/sure/sure-2.0.1.ebuild
+++ b/dev-python/sure/sure-2.0.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/svg-path/svg-path-6.3.ebuild b/dev-python/svg-path/svg-path-6.3.ebuild
index 692ad833b23d..703c0e787ae1 100644
--- a/dev-python/svg-path/svg-path-6.3.ebuild
+++ b/dev-python/svg-path/svg-path-6.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/svgwrite/svgwrite-1.4.3.ebuild b/dev-python/svgwrite/svgwrite-1.4.3.ebuild
index 6132c966d11c..b19b797d88ed 100644
--- a/dev-python/svgwrite/svgwrite-1.4.3.ebuild
+++ b/dev-python/svgwrite/svgwrite-1.4.3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/swagger-spec-validator/Manifest b/dev-python/swagger-spec-validator/Manifest
index 302dfaf890c7..7fa59e541ad9 100644
--- a/dev-python/swagger-spec-validator/Manifest
+++ b/dev-python/swagger-spec-validator/Manifest
@@ -1 +1,2 @@
DIST swagger_spec_validator-3.0.3.gh.tar.gz 48151 BLAKE2B 6156789b6491c61ca33b09ea5a5db8ed30a7d3651e1780a5a287b6d58e159b530c8e1644c685376bade118b295307bad8ea26e3f4cf43a9648e843165e996b1e SHA512 977a6320ce629d102c7c608249d220996aba852d1c0c464be447b6b5a7aa7bb2a61023bc967a41c561a12c4620306c6a077605c4b34b828540d0ee8926d59a94
+DIST swagger_spec_validator-3.0.4.gh.tar.gz 48267 BLAKE2B efcc34606b7f352eceb5842bf0f0497d4c0a3c2315d58e785de1faeea258fdebabcc6fac087ae8bc4f26e6da93eba9ddca76831ad3713682cd596214f446ab82 SHA512 d5e74b14e8800b0ca20be9dc5095ea24c26dcb0720d960d6686cd3687e49e359a8d08cc8595ecb1377dbc79f1f28b299485a1e9d0233b51639d5bf3e3c39c6cc
diff --git a/dev-python/swagger-spec-validator/files/swagger-spec-validator-3.0.4-fix-importlib.patch b/dev-python/swagger-spec-validator/files/swagger-spec-validator-3.0.4-fix-importlib.patch
new file mode 100644
index 000000000000..57b46a23729b
--- /dev/null
+++ b/dev-python/swagger-spec-validator/files/swagger-spec-validator-3.0.4-fix-importlib.patch
@@ -0,0 +1,22 @@
+--- a/swagger_spec_validator/common.py
++++ b/swagger_spec_validator/common.py
+@@ -12,7 +12,7 @@ from urllib.parse import urljoin
+ from urllib.request import pathname2url
+ from urllib.request import urlopen
+
+-import importlib_resources
++import importlib.resources as importlib_resources
+ import yaml
+ from typing_extensions import ParamSpec
+
+--- a/tests/common_test.py
++++ b/tests/common_test.py
+@@ -1,7 +1,7 @@
+ import uuid
+ from unittest import mock
+
+-import importlib_resources
++import importlib.resources as importlib_resources
+
+ from swagger_spec_validator.common import read_file
+ from swagger_spec_validator.common import read_resource_file
diff --git a/dev-python/swagger-spec-validator/swagger-spec-validator-3.0.4.ebuild b/dev-python/swagger-spec-validator/swagger-spec-validator-3.0.4.ebuild
new file mode 100644
index 000000000000..974c279497ca
--- /dev/null
+++ b/dev-python/swagger-spec-validator/swagger-spec-validator-3.0.4.ebuild
@@ -0,0 +1,46 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P=swagger_spec_validator-${PV}
+DESCRIPTION="Validate Swagger specs against Swagger 1.1 or 2.0 specification"
+HOMEPAGE="
+ https://github.com/Yelp/swagger_spec_validator/
+ https://pypi.org/project/swagger-spec-validator/
+"
+SRC_URI="
+ https://github.com/Yelp/swagger_spec_validator/archive/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ dev-python/typing-extensions[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-3.0.4-fix-importlib.patch"
+)
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs/source \
+ dev-python/sphinx-rtd-theme
+
+EPYTEST_DESELECT=(
+ # network (resolver)
+ tests/util/validate_spec_url_test.py::test_raise_SwaggerValidationError_on_urlopen_error
+ tests/validator12/validate_spec_url_test.py::test_raise_SwaggerValidationError_on_urlopen_error
+ tests/validator20/validate_spec_url_test.py::test_raise_SwaggerValidationError_on_urlopen_error
+)
diff --git a/dev-python/sybil/Manifest b/dev-python/sybil/Manifest
index fc1a2778c110..f407fb342633 100644
--- a/dev-python/sybil/Manifest
+++ b/dev-python/sybil/Manifest
@@ -1,4 +1 @@
-DIST sybil-5.0.3.gh.tar.gz 56660 BLAKE2B 99af245f765630523ab2c6cb21452a0c3a970109102900530f5528ac0902d0472ceb09778bd266e9071816de1da397480e53220a974c5cc38f40367d552cef5e SHA512 0e2a96457b506558b4e9c58890a370c63dbde2c36780dd031cfe8de828f15a2f790c55df81d86800599302958006e704e627b7e8a5d3dd786398ce5f8ea46d35
-DIST sybil-6.0.0.gh.tar.gz 67505 BLAKE2B b7408802d5f6796701603762f1e48dbd2f218b5ae80fad940f1ba1fdf0643d1f16cb0a88d94b6385f6ff47d4ab18463be613f736613fa5f0baa3f9ff056ebfa8 SHA512 a03cb7e874a6a41f41ca21e9110f0b8f0d45bb94a5cd7c4f0eb0528ce01db4ac9ca6d8d84663d8851c01dda5da3cb232bcadb33594c5c10e5775f390db37ee9a
-DIST sybil-6.0.1.gh.tar.gz 67593 BLAKE2B 443881e81da6456f0790929556334513a8e50d54a0053ddb88b07e29e736e9429ea59fdc30b2d7ff7bdf7e1ec9e272864568aa64fb20a52377d0ee0b39ce30aa SHA512 e71f06744ff07f973ac7f131cd58d4df3697b1cf42a5983b9a93b657d9bfc9358084dcdec00de624b5e89ffa518e64d45591bf616fb53f5e4659ff9755893cd9
-DIST sybil-6.0.2.gh.tar.gz 67619 BLAKE2B ec723cb21d2ac1232bd6e9a3e3edb0bc65c705048c2d288df778b4dd19a1b46c956f7d2bd57dfa028d7a8a06357501ffc1226ba171e2073abec51f8d3c536d86 SHA512 9966173b5fb013be1f298b586052d8c10b76efb43bf5230f3d0b780e6d6238e7e33840eeb7c8b9860911351ea612766ed19ea2a61d48424465f3b58e408da5d2
+DIST sybil-6.1.1.gh.tar.gz 71447 BLAKE2B 44ced68adfae094454c9dc4ae55b7327fc9d149728ec9f2faafc42057bc9e99572289100e310f16afdde7741841964a365c008fc9a16092d270ce88dfb0d89be SHA512 f14bb09b8886bd17ccd3a56d3dfc8e2ff510ad04f7b9c8deadff826571e36547934af6855e0a6cbed43e0c0767a0f0af8f80afcecf4a8db74b041fae9d84bd5a
diff --git a/dev-python/sybil/sybil-5.0.3.ebuild b/dev-python/sybil/sybil-5.0.3.ebuild
deleted file mode 100644
index 27065ab0f6bb..000000000000
--- a/dev-python/sybil/sybil-5.0.3.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Automated testing for the examples in your documentation"
-HOMEPAGE="
- https://github.com/simplistix/sybil/
- https://pypi.org/project/sybil/
-"
-# tests are missing in sdist, as of 5.0.1
-SRC_URI="
- https://github.com/simplistix/sybil/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-BDEPEND="
- test? (
- dev-python/myst-parser[${PYTHON_USEDEP}]
- dev-python/seedir[${PYTHON_USEDEP}]
- dev-python/testfixtures[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/sybil/sybil-6.0.0.ebuild b/dev-python/sybil/sybil-6.0.0.ebuild
deleted file mode 100644
index 38d5f40dd52e..000000000000
--- a/dev-python/sybil/sybil-6.0.0.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Automated testing for the examples in your documentation"
-HOMEPAGE="
- https://github.com/simplistix/sybil/
- https://pypi.org/project/sybil/
-"
-# tests are missing in sdist, as of 5.0.1
-SRC_URI="
- https://github.com/simplistix/sybil/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-BDEPEND="
- test? (
- dev-python/myst-parser[${PYTHON_USEDEP}]
- dev-python/seedir[${PYTHON_USEDEP}]
- dev-python/testfixtures[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/sybil/sybil-6.0.1.ebuild b/dev-python/sybil/sybil-6.0.1.ebuild
deleted file mode 100644
index 38d5f40dd52e..000000000000
--- a/dev-python/sybil/sybil-6.0.1.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Automated testing for the examples in your documentation"
-HOMEPAGE="
- https://github.com/simplistix/sybil/
- https://pypi.org/project/sybil/
-"
-# tests are missing in sdist, as of 5.0.1
-SRC_URI="
- https://github.com/simplistix/sybil/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-BDEPEND="
- test? (
- dev-python/myst-parser[${PYTHON_USEDEP}]
- dev-python/seedir[${PYTHON_USEDEP}]
- dev-python/testfixtures[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/sybil/sybil-6.0.2.ebuild b/dev-python/sybil/sybil-6.0.2.ebuild
deleted file mode 100644
index 38d5f40dd52e..000000000000
--- a/dev-python/sybil/sybil-6.0.2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Automated testing for the examples in your documentation"
-HOMEPAGE="
- https://github.com/simplistix/sybil/
- https://pypi.org/project/sybil/
-"
-# tests are missing in sdist, as of 5.0.1
-SRC_URI="
- https://github.com/simplistix/sybil/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-BDEPEND="
- test? (
- dev-python/myst-parser[${PYTHON_USEDEP}]
- dev-python/seedir[${PYTHON_USEDEP}]
- dev-python/testfixtures[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/sybil/sybil-6.1.1.ebuild b/dev-python/sybil/sybil-6.1.1.ebuild
new file mode 100644
index 000000000000..826e4341cda0
--- /dev/null
+++ b/dev-python/sybil/sybil-6.1.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Automated testing for the examples in your documentation"
+HOMEPAGE="
+ https://github.com/simplistix/sybil/
+ https://pypi.org/project/sybil/
+"
+# tests are missing in sdist, as of 5.0.1
+SRC_URI="
+ https://github.com/simplistix/sybil/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86"
+
+BDEPEND="
+ test? (
+ dev-python/myst-parser[${PYTHON_USEDEP}]
+ dev-python/seedir[${PYTHON_USEDEP}]
+ dev-python/testfixtures[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/symengine/Manifest b/dev-python/symengine/Manifest
index 24b55142eccc..deb51f65dd3c 100644
--- a/dev-python/symengine/Manifest
+++ b/dev-python/symengine/Manifest
@@ -1,3 +1 @@
-DIST symengine.py-0.10.0.gh.tar.gz 112272 BLAKE2B 8d8262c1abc48e3b84e14a5c825f0c19335b7374ecb8f641b20140467709c199af542a7e15036a4264d885ee0e425665faa97a2b320bfaf45e8de1ba469b53a4 SHA512 7e3f2554ab79d92d7247b573c383c2ac0dda421b5421d088362007f70b055bc59d9879b8f6d4c5788ddf127ea0974ad9305d23db701f3b9b32a17d6b03000e7d
DIST symengine.py-0.11.0.gh.tar.gz 111973 BLAKE2B 0e85e97b55b6a537a1a13cf308ddd878fe02968f0da648fafb8a11583b1ca39758ef38625cb95fbdeb03713d9e84ab6f0d3a092c1b9365cdfca179c4173c70a2 SHA512 9e70d84126b65fb8a9f7acf076ef8de39c3c65f1868708541cd861f694fb36cf4cc09ed676bac00b40460287c90ec411b56aba35e43308438a4830087c02e42e
-DIST symengine.py-0.9.2.gh.tar.gz 110856 BLAKE2B 11330acc04970d367fe66787521776dbd803929d91802ea09d1bc54a96c8fd87e85114042f57fc8c007de2dcaa1b0503a8389ac677797cc2efc866d71d76d1db SHA512 ea9e8cb7dd789b551f5372c32b98365ab251bac838204b5c832783f9866c2774f5d411f2f59e5e60f17939a1c341702acfc3e3f7e77246330ab3cb74f5ba7cca
diff --git a/dev-python/symengine/files/symengine-0.9.2-cmake-setuptools.patch b/dev-python/symengine/files/symengine-0.9.2-cmake-setuptools.patch
deleted file mode 100644
index 3b930c998d99..000000000000
--- a/dev-python/symengine/files/symengine-0.9.2-cmake-setuptools.patch
+++ /dev/null
@@ -1,84 +0,0 @@
-https://github.com/symengine/symengine.py/pull/402
-https://bugs.gentoo.org/836599
-
-From bc84086d60de038eb381c9e37c8b552a6c246ab5 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Mon, 2 May 2022 09:24:45 +0200
-Subject: [PATCH] Fix build to avoid duplicate files in wheel
-
-Fix the build system to package pure Python files
-via distutils/setuptools, and limit CMake to installing the compiled
-extension.
-
-The prior logic has installed some of the .py files both via setuptools
-and via CMake, to different build directories. As a result,
-the resulting wheel contained duplicate files, e.g.:
-
- 2170 05-02-2022 07:08 symengine/__init__.py
- 2170 05-02-2022 07:08 symengine-0.9.2.data/purelib/symengine/__init__.py
-
-Duplicate files cause the wheel to be rejected by the installer package.
-
-After the change, a correct wheel is generated. Installation works
-both via PEP517/wheel and via legacy `setup.py install`.
---- a/setup.py
-+++ b/setup.py
-@@ -226,7 +226,7 @@ def finalize_options(self):
- url="https://github.com/symengine/symengine.py",
- python_requires='>=3.7,<4',
- zip_safe=False,
-- packages=['symengine'],
-+ packages=['symengine', 'symengine.lib', 'symengine.tests'],
- cmdclass = cmdclass,
- classifiers=[
- 'License :: OSI Approved :: MIT License',
---- a/symengine/CMakeLists.txt
-+++ b/symengine/CMakeLists.txt
-@@ -1,7 +1 @@
- add_subdirectory(lib)
--add_subdirectory(tests)
--
--set(PY_PATH ${PYTHON_INSTALL_PATH}/symengine)
--install(FILES __init__.py utilities.py sympy_compat.py functions.py printing.py
-- DESTINATION ${PY_PATH}
-- )
---- a/symengine/lib/CMakeLists.txt
-+++ b/symengine/lib/CMakeLists.txt
-@@ -28,7 +28,7 @@ install(TARGETS symengine_wrapper
- ARCHIVE DESTINATION ${PY_PATH}
- LIBRARY DESTINATION ${PY_PATH}
- )
--install(FILES __init__.py
-+install(FILES
- ${CMAKE_CURRENT_BINARY_DIR}/config.pxi
- symengine.pxd
- symengine_wrapper.pxd
---- a/symengine/tests/CMakeLists.txt
-+++ /dev/null
-@@ -1,25 +0,0 @@
--set(PY_PATH ${PYTHON_INSTALL_PATH}/symengine/tests)
--install(FILES __init__.py
-- test_arit.py
-- test_dict_basic.py
-- test_eval.py
-- test_expr.py
-- test_functions.py
-- test_number.py
-- test_matrices.py
-- test_ntheory.py
-- test_printing.py
-- test_sage.py
-- test_series_expansion.py
-- test_sets.py
-- test_solve.py
-- test_subs.py
-- test_symbol.py
-- test_sympify.py
-- test_sympy_conv.py
-- test_var.py
-- test_lambdify.py
-- test_sympy_compat.py
-- test_logic.py
-- DESTINATION ${PY_PATH}
-- )
-
diff --git a/dev-python/symengine/files/symengine-0.9.2-setuptools-61.patch b/dev-python/symengine/files/symengine-0.9.2-setuptools-61.patch
deleted file mode 100644
index a8fad4868110..000000000000
--- a/dev-python/symengine/files/symengine-0.9.2-setuptools-61.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-https://github.com/symengine/symengine.py/commit/987e665e71cf92d1b021d7d573a1b9733408eecf
-https://bugs.gentoo.org/836599
-
-From: Isuru Fernando <isuruf@gmail.com>
-Date: Sat, 2 Apr 2022 15:43:00 -0500
-Subject: [PATCH] Fix for latest setuptools
-
---- a/setup.py
-+++ b/setup.py
-@@ -226,6 +226,7 @@ def finalize_options(self):
- url="https://github.com/symengine/symengine.py",
- python_requires='>=3.7,<4',
- zip_safe=False,
-+ packages=['symengine'],
- cmdclass = cmdclass,
- classifiers=[
- 'License :: OSI Approved :: MIT License',
diff --git a/dev-python/symengine/symengine-0.10.0.ebuild b/dev-python/symengine/symengine-0.10.0.ebuild
deleted file mode 100644
index ac94753f6d54..000000000000
--- a/dev-python/symengine/symengine-0.10.0.ebuild
+++ /dev/null
@@ -1,53 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${PN}.py-${PV}
-DESCRIPTION="Python wrappers to the symengine C++ library"
-HOMEPAGE="
- https://github.com/symengine/symengine.py/
- https://pypi.org/project/symengine/
-"
-SRC_URI="
- https://github.com/symengine/symengine.py/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~riscv ~x86"
-
-BDEPEND="
- dev-util/cmake
- <dev-python/cython-3[${PYTHON_USEDEP}]
- test? (
- dev-python/sympy[${PYTHON_USEDEP}]
- )
-"
-# See bug #786582 for symengine constraint
-# See also https://github.com/symengine/symengine.py/blob/master/symengine_version.txt
-DEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
- =sci-libs/symengine-$(ver_cut 1-2)*
-"
-RDEPEND="
- ${DEPEND}
-"
-
-# The C library installs the same docs
-DOCS=()
-
-distutils_enable_tests pytest
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- epytest
-}
diff --git a/dev-python/symengine/symengine-0.11.0.ebuild b/dev-python/symengine/symengine-0.11.0.ebuild
index 9cd04af29e6e..8a2a54a41d88 100644
--- a/dev-python/symengine/symengine-0.11.0.ebuild
+++ b/dev-python/symengine/symengine-0.11.0.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
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -23,10 +23,10 @@ S=${WORKDIR}/${MY_P}
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~riscv ~x86"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv ~x86"
BDEPEND="
- dev-util/cmake
+ dev-build/cmake
dev-python/cython[${PYTHON_USEDEP}]
test? (
dev-python/sympy[${PYTHON_USEDEP}]
diff --git a/dev-python/symengine/symengine-0.9.2-r3.ebuild b/dev-python/symengine/symengine-0.9.2-r3.ebuild
deleted file mode 100644
index 24ee3e4c209d..000000000000
--- a/dev-python/symengine/symengine-0.9.2-r3.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-MY_P=${PN}.py-${PV}
-DESCRIPTION="Python wrappers to the symengine C++ library"
-HOMEPAGE="
- https://github.com/symengine/symengine.py/
- https://pypi.org/project/symengine/
-"
-SRC_URI="
- https://github.com/symengine/symengine.py/archive/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~riscv ~x86"
-
-BDEPEND="
- dev-util/cmake
- <dev-python/cython-3[${PYTHON_USEDEP}]
- test? (
- dev-python/sympy[${PYTHON_USEDEP}]
- )
-"
-# See bug #786582 for symengine constraint
-# See also https://github.com/symengine/symengine.py/blob/master/symengine_version.txt
-DEPEND="
- dev-python/numpy[${PYTHON_USEDEP}]
- =sci-libs/symengine-$(ver_cut 1-2)*
-"
-RDEPEND="
- ${DEPEND}
-"
-
-# the C library installs the same docs
-DOCS=()
-
-PATCHES=(
- "${FILESDIR}"/${P}-setuptools-61.patch
- "${FILESDIR}"/${PN}-0.9.2-cmake-setuptools.patch
-)
-
-distutils_enable_tests pytest
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- epytest
-}
diff --git a/dev-python/sympy/Manifest b/dev-python/sympy/Manifest
index f19c73e34f72..97ca95a0cfad 100644
--- a/dev-python/sympy/Manifest
+++ b/dev-python/sympy/Manifest
@@ -1 +1,3 @@
-DIST sympy-1.12.gh.tar.gz 7212937 BLAKE2B 1d37a019e7a6700e69e16d6ca7fdc563711165fc226ac6ec745d20fa6dc689ee9ea01a92549d851aacff763230872c2d1d0cb5bde581c4f960f5de515ffb5f06 SHA512 96a89b88f6912d70c56f5bd1903dd3c518963118ff25d033cdcb7da2f260b8ee209d3ab4a4394dd2b5dc0b4585b71ccd55d55c8e5c6e28024cccbedf07ee4360
+DIST sympy-1.12.1.gh.tar.gz 8025309 BLAKE2B 01fe3e95716b0efcf682613fb8ba6f149f4f4dc4ad3f20eb816d85f30042af1cd5860d3d157d4c26458520cc2f8e994ae6671058a7a0d5237e7f15d0e61f9e53 SHA512 9b50d2b0e8e9628c38296f8d1e25c83b1b9fa1503166b48cc344709217393b00910ad3441a1da0e81e6faf56e5db7a33bc96926918da024cafc77fb4957f94a4
+DIST sympy-1.13.0.gh.tar.gz 8124299 BLAKE2B 0aedeb4005aa7ee32470d6fd89494cfb68667b579bce33b189016347d136c6e961b0bc226bf638ba9ee5f14fa5c239af5e27de7da2a45dbf6fb16abf2d79cae9 SHA512 1a0d794d5a48d8b46cf87635753d316d807e14eb98c8c880e815168c5ac2c479608ec3c2b0ff786611736f9e68a2941a05fa31f187e83b84e1ce10d72099a6b6
+DIST sympy-1.13.1.gh.tar.gz 8130206 BLAKE2B 92ecaccddc5e48ac8e338488ff67cd0b6fdd9b40105334a82fc81c2ae4e6162a369ce142c6a61041698378d2c08eb5f95595702c35219a90d797485176f6fb23 SHA512 3e742ec74b6f774660a43b93c8b8a14ad97fbcf998c2ce15a6512ced5003804f4dec34f8beb3ad1f45f0f0a701110d1a81d6855075db03436cc77c101b33d7ea
diff --git a/dev-python/sympy/files/sympy-1.12-py312.patch b/dev-python/sympy/files/sympy-1.12-py312.patch
deleted file mode 100644
index 13501c3fb34d..000000000000
--- a/dev-python/sympy/files/sympy-1.12-py312.patch
+++ /dev/null
@@ -1,42 +0,0 @@
-From 8a2c3c4de266f49312eda4c91dcdf5d5464717e8 Mon Sep 17 00:00:00 2001
-From: Pablo Galindo <pablogsal@gmail.com>
-Date: Fri, 9 Jun 2023 11:22:20 +0100
-Subject: [PATCH] Fix factorial parsing for Python 3.12
-
-Signed-off-by: Pablo Galindo <pablogsal@gmail.com>
----
- .mailmap | 1 +
- sympy/parsing/sympy_parser.py | 5 ++++-
- 2 files changed, 5 insertions(+), 1 deletion(-)
-
-diff --git a/.mailmap b/.mailmap
-index fe496637dd..8a9de2d99d 100644
---- a/.mailmap
-+++ b/.mailmap
-@@ -1496,6 +1496,7 @@ naelsondouglas <naelson17@gmail.com>
- noam simcha finkelstein <noam.finkelstein@protonmail.com>
- numbermaniac <5206120+numbermaniac@users.noreply.github.com>
- oittaa <8972248+oittaa@users.noreply.github.com>
-+pablogsal <pablogsal@gmail.com>
- pekochun <hamburg_hamburger2000@yahoo.co.jp>
- prshnt19 <prashant.rawat216@gmail.com>
- rahuldan <rahul02013@gmail.com>
-diff --git a/sympy/parsing/sympy_parser.py b/sympy/parsing/sympy_parser.py
-index 5935f4baf2..862679e644 100644
---- a/sympy/parsing/sympy_parser.py
-+++ b/sympy/parsing/sympy_parser.py
-@@ -627,7 +627,10 @@ def factorial_notation(tokens: List[TOKEN], local_dict: DICT, global_dict: DICT)
- result: List[TOKEN] = []
- nfactorial = 0
- for toknum, tokval in tokens:
-- if toknum == ERRORTOKEN:
-+ if toknum == OP and tokval == "!":
-+ # In Python 3.12 "!" are OP instead of ERRORTOKEN
-+ nfactorial += 1
-+ elif toknum == ERRORTOKEN:
- op = tokval
- if op == '!':
- nfactorial += 1
---
-2.42.1
-
diff --git a/dev-python/sympy/metadata.xml b/dev-python/sympy/metadata.xml
index d54d19807758..6fb4a815ae87 100644
--- a/dev-python/sympy/metadata.xml
+++ b/dev-python/sympy/metadata.xml
@@ -26,13 +26,12 @@
</longdescription>
<stabilize-allarches/>
<use>
- <flag name="aesara">Add support for <pkg>dev-python/aesara</pkg></flag>
<flag name="ipython">Add support for <pkg>dev-python/ipython</pkg></flag>
<flag name="imaging">Add support for <pkg>dev-python/pillow</pkg></flag>
<flag name="mathml">Add support for mathml</flag>
<flag name="pyglet">Use <pkg>dev-python/pyglet</pkg> for plots and print preview</flag>
- <flag name="symengine">Add support for a <pkg>dev-python/symengine</pkg> backend</flag>
- <flag name="texmacs">Add <pkg>app-office/texmacs</pkg> interface</flag>
+ <flag name="symengine">Add support for a <pkg>dev-python/symengine</pkg> backend</flag>
+ <flag name="texmacs">Add <pkg>app-office/texmacs</pkg> interface</flag>
</use>
<upstream>
<remote-id type="pypi">sympy</remote-id>
diff --git a/dev-python/sympy/sympy-1.12.1.ebuild b/dev-python/sympy/sympy-1.12.1.ebuild
new file mode 100644
index 000000000000..98dc10f31734
--- /dev/null
+++ b/dev-python/sympy/sympy-1.12.1.ebuild
@@ -0,0 +1,108 @@
+# 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..13} )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Computer Algebra System in pure Python"
+HOMEPAGE="
+ https://www.sympy.org/
+ https://github.com/sympy/sympy/
+ https://pypi.org/project/sympy/
+"
+# pypi sdist misses some files, notably top-level conftest.py, as of 1.12.1_rc1
+SRC_URI="
+ https://github.com/sympy/sympy/archive/${PV/_/}.tar.gz
+ -> ${P/_/}.gh.tar.gz
+"
+S=${WORKDIR}/${P/_/}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~loong ~ppc64 ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="examples imaging ipython latex mathml opengl pdf png pyglet symengine texmacs"
+
+RDEPEND="
+ dev-python/mpmath[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ imaging? ( dev-python/pillow[${PYTHON_USEDEP}] )
+ ipython? (
+ $(python_gen_cond_dep '
+ dev-python/ipython[${PYTHON_USEDEP}]
+ ' 3.{10..12})
+ )
+ latex? (
+ virtual/latex-base
+ dev-texlive/texlive-fontsextra
+ png? ( app-text/dvipng )
+ pdf? ( app-text/ghostscript-gpl )
+ )
+ mathml? ( dev-python/lxml[${PYTHON_USEDEP}] )
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
+ pyglet? ( dev-python/pyglet[${PYTHON_USEDEP}] )
+ symengine? ( dev-python/symengine[${PYTHON_USEDEP}] )
+ texmacs? ( app-office/texmacs )
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require old version of antlr4
+ sympy/parsing/tests/test_autolev.py
+ sympy/parsing/tests/test_latex.py
+ # crash due to assertions in sys-devel/llvm[debug]
+ sympy/parsing/tests/test_c_parser.py
+
+ # TODO: pytest?
+ sympy/solvers/ode/tests/test_systems.py::test_linear_3eq_order1_type4_long_check
+ sympy/solvers/ode/tests/test_systems.py::test_linear_3eq_order1_type4_long_dsolve_dotprodsimp
+
+ # either very slow or hanging
+ sympy/solvers/ode/tests/test_systems.py::test_linear_new_order1_type2_de_lorentz_slow_check
+ sympy/integrals/tests/test_failing_integrals.py::test_issue_15227
+ sympy/matrices/tests/test_matrices.py::test_pinv_rank_deficient_when_diagonalization_fails
+ sympy/solvers/ode/tests/test_systems.py::test_nonlinear_3eq_order1_type1
+ sympy/solvers/ode/tests/test_systems.py::test_nonlinear_3eq_order1_type3
+
+ # known broken
+ # https://github.com/sympy/sympy/issues/26321
+ sympy/solvers/tests/test_simplex.py::test_lp
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest --veryquickcheck ||
+ die -n "Tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( AUTHORS README.md )
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ distutils-r1_python_install_all
+
+ if use texmacs; then
+ exeinto /usr/libexec/TeXmacs/bin/
+ doexe data/TeXmacs/bin/tm_sympy
+ insinto /usr/share/TeXmacs/plugins/sympy/
+ doins -r data/TeXmacs/progs
+ fi
+}
diff --git a/dev-python/sympy/sympy-1.12.ebuild b/dev-python/sympy/sympy-1.12.ebuild
deleted file mode 100644
index 7f16aaf566bb..000000000000
--- a/dev-python/sympy/sympy-1.12.ebuild
+++ /dev/null
@@ -1,115 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 virtualx
-
-DESCRIPTION="Computer Algebra System in pure Python"
-HOMEPAGE="
- https://www.sympy.org/
- https://github.com/sympy/sympy/
- https://pypi.org/project/sympy/
-"
-SRC_URI="
- https://github.com/sympy/sympy/archive/${P}.tar.gz -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${PN}-${P}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~loong ~riscv x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
-IUSE="aesara examples imaging ipython latex mathml opengl pdf png pyglet symengine texmacs"
-
-RDEPEND="
- dev-python/mpmath[${PYTHON_USEDEP}]
- dev-python/pexpect[${PYTHON_USEDEP}]
- aesara? (
- $(python_gen_cond_dep '
- dev-python/aesara[${PYTHON_USEDEP}]
- ' python3_{10..11})
- )
- imaging? ( dev-python/pillow[${PYTHON_USEDEP}] )
- ipython? ( dev-python/ipython[${PYTHON_USEDEP}] )
- latex? (
- virtual/latex-base
- dev-texlive/texlive-fontsextra
- png? ( app-text/dvipng )
- pdf? ( app-text/ghostscript-gpl )
- )
- mathml? ( dev-python/lxml[${PYTHON_USEDEP}] )
- opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
- pyglet? ( dev-python/pyglet[${PYTHON_USEDEP}] )
- symengine? ( dev-python/symengine[${PYTHON_USEDEP}] )
- texmacs? ( app-office/texmacs )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}/${P}-py312.patch"
-)
-
-src_test() {
- virtx distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # require old version of antlr4
- sympy/parsing/tests/test_autolev.py
- sympy/parsing/tests/test_latex.py
- # crash due to assertions in sys-devel/llvm[debug]
- sympy/parsing/tests/test_c_parser.py
-
- # TODO: pytest?
- sympy/solvers/ode/tests/test_systems.py::test_linear_3eq_order1_type4_long_check
- sympy/solvers/ode/tests/test_systems.py::test_linear_3eq_order1_type4_long_dsolve_dotprodsimp
-
- # either very slow or hanging
- sympy/solvers/ode/tests/test_systems.py::test_linear_new_order1_type2_de_lorentz_slow_check
- sympy/integrals/tests/test_failing_integrals.py::test_issue_15227
- sympy/matrices/tests/test_matrices.py::test_pinv_rank_deficient_when_diagonalization_fails
- sympy/solvers/ode/tests/test_systems.py::test_nonlinear_3eq_order1_type1
- sympy/solvers/ode/tests/test_systems.py::test_nonlinear_3eq_order1_type3
- )
-
- case ${EPYTHON} in
- pypy3)
- if has_version "<dev-python/pypy3_10-exe-7.3.13_p2" ||
- has_version "<dev-python/pypy3_10-exe-bin-7.3.13_p2"
- then
- EPYTEST_DESELECT+=(
- # https://foss.heptapod.net/pypy/pypy/-/issues/4032
- sympy/tensor/array/tests/test_array_comprehension.py::test_arraycomprehensionmap
- )
- fi
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- nonfatal epytest --veryquickcheck ||
- die -n "Tests failed with ${EPYTHON}"
-}
-
-python_install_all() {
- local DOCS=( AUTHORS README.md )
-
- if use examples; then
- dodoc -r examples
- docompress -x /usr/share/doc/${PF}/examples
- fi
-
- distutils-r1_python_install_all
-
- if use texmacs; then
- exeinto /usr/libexec/TeXmacs/bin/
- doexe data/TeXmacs/bin/tm_sympy
- insinto /usr/share/TeXmacs/plugins/sympy/
- doins -r data/TeXmacs/progs
- fi
-}
diff --git a/dev-python/sympy/sympy-1.13.0.ebuild b/dev-python/sympy/sympy-1.13.0.ebuild
new file mode 100644
index 000000000000..92c208153ac7
--- /dev/null
+++ b/dev-python/sympy/sympy-1.13.0.ebuild
@@ -0,0 +1,106 @@
+# 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..13} )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Computer Algebra System in pure Python"
+HOMEPAGE="
+ https://www.sympy.org/
+ https://github.com/sympy/sympy/
+ https://pypi.org/project/sympy/
+"
+# pypi sdist misses some files, notably top-level conftest.py, as of 1.12.1_rc1
+SRC_URI="
+ https://github.com/sympy/sympy/archive/${PV/_/}.tar.gz
+ -> ${P/_/}.gh.tar.gz
+"
+S=${WORKDIR}/${P/_/}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="examples imaging ipython latex mathml opengl pdf png pyglet symengine texmacs"
+
+RDEPEND="
+ >=dev-python/mpmath-1.1.0[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ imaging? ( dev-python/pillow[${PYTHON_USEDEP}] )
+ ipython? (
+ dev-python/ipython[${PYTHON_USEDEP}]
+ )
+ latex? (
+ virtual/latex-base
+ dev-texlive/texlive-fontsextra
+ png? ( app-text/dvipng )
+ pdf? ( app-text/ghostscript-gpl )
+ )
+ mathml? ( dev-python/lxml[${PYTHON_USEDEP}] )
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
+ pyglet? ( dev-python/pyglet[${PYTHON_USEDEP}] )
+ symengine? ( dev-python/symengine[${PYTHON_USEDEP}] )
+ texmacs? ( app-office/texmacs )
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require old version of antlr4
+ sympy/parsing/tests/test_autolev.py
+ sympy/parsing/tests/test_latex.py
+ # crash due to assertions in sys-devel/llvm[debug]
+ sympy/parsing/tests/test_c_parser.py
+
+ # TODO: pytest?
+ sympy/solvers/ode/tests/test_systems.py::test_linear_3eq_order1_type4_long_check
+ sympy/solvers/ode/tests/test_systems.py::test_linear_3eq_order1_type4_long_dsolve_dotprodsimp
+
+ # either very slow or hanging
+ sympy/solvers/ode/tests/test_systems.py::test_linear_new_order1_type2_de_lorentz_slow_check
+ sympy/integrals/tests/test_failing_integrals.py::test_issue_15227
+ sympy/matrices/tests/test_matrices.py::test_pinv_rank_deficient_when_diagonalization_fails
+ sympy/solvers/ode/tests/test_systems.py::test_nonlinear_3eq_order1_type1
+ sympy/solvers/ode/tests/test_systems.py::test_nonlinear_3eq_order1_type3
+
+ # known broken
+ # https://github.com/sympy/sympy/issues/26321
+ sympy/solvers/tests/test_simplex.py::test_lp
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest --veryquickcheck ||
+ die -n "Tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( AUTHORS README.md )
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ distutils-r1_python_install_all
+
+ if use texmacs; then
+ exeinto /usr/libexec/TeXmacs/bin/
+ doexe data/TeXmacs/bin/tm_sympy
+ insinto /usr/share/TeXmacs/plugins/sympy/
+ doins -r data/TeXmacs/progs
+ fi
+}
diff --git a/dev-python/sympy/sympy-1.13.1.ebuild b/dev-python/sympy/sympy-1.13.1.ebuild
new file mode 100644
index 000000000000..92c208153ac7
--- /dev/null
+++ b/dev-python/sympy/sympy-1.13.1.ebuild
@@ -0,0 +1,106 @@
+# 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..13} )
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="Computer Algebra System in pure Python"
+HOMEPAGE="
+ https://www.sympy.org/
+ https://github.com/sympy/sympy/
+ https://pypi.org/project/sympy/
+"
+# pypi sdist misses some files, notably top-level conftest.py, as of 1.12.1_rc1
+SRC_URI="
+ https://github.com/sympy/sympy/archive/${PV/_/}.tar.gz
+ -> ${P/_/}.gh.tar.gz
+"
+S=${WORKDIR}/${P/_/}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc64 ~riscv ~x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+IUSE="examples imaging ipython latex mathml opengl pdf png pyglet symengine texmacs"
+
+RDEPEND="
+ >=dev-python/mpmath-1.1.0[${PYTHON_USEDEP}]
+ dev-python/pexpect[${PYTHON_USEDEP}]
+ imaging? ( dev-python/pillow[${PYTHON_USEDEP}] )
+ ipython? (
+ dev-python/ipython[${PYTHON_USEDEP}]
+ )
+ latex? (
+ virtual/latex-base
+ dev-texlive/texlive-fontsextra
+ png? ( app-text/dvipng )
+ pdf? ( app-text/ghostscript-gpl )
+ )
+ mathml? ( dev-python/lxml[${PYTHON_USEDEP}] )
+ opengl? ( dev-python/pyopengl[${PYTHON_USEDEP}] )
+ pyglet? ( dev-python/pyglet[${PYTHON_USEDEP}] )
+ symengine? ( dev-python/symengine[${PYTHON_USEDEP}] )
+ texmacs? ( app-office/texmacs )
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+src_test() {
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # require old version of antlr4
+ sympy/parsing/tests/test_autolev.py
+ sympy/parsing/tests/test_latex.py
+ # crash due to assertions in sys-devel/llvm[debug]
+ sympy/parsing/tests/test_c_parser.py
+
+ # TODO: pytest?
+ sympy/solvers/ode/tests/test_systems.py::test_linear_3eq_order1_type4_long_check
+ sympy/solvers/ode/tests/test_systems.py::test_linear_3eq_order1_type4_long_dsolve_dotprodsimp
+
+ # either very slow or hanging
+ sympy/solvers/ode/tests/test_systems.py::test_linear_new_order1_type2_de_lorentz_slow_check
+ sympy/integrals/tests/test_failing_integrals.py::test_issue_15227
+ sympy/matrices/tests/test_matrices.py::test_pinv_rank_deficient_when_diagonalization_fails
+ sympy/solvers/ode/tests/test_systems.py::test_nonlinear_3eq_order1_type1
+ sympy/solvers/ode/tests/test_systems.py::test_nonlinear_3eq_order1_type3
+
+ # known broken
+ # https://github.com/sympy/sympy/issues/26321
+ sympy/solvers/tests/test_simplex.py::test_lp
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ nonfatal epytest --veryquickcheck ||
+ die -n "Tests failed with ${EPYTHON}"
+}
+
+python_install_all() {
+ local DOCS=( AUTHORS README.md )
+
+ if use examples; then
+ dodoc -r examples
+ docompress -x /usr/share/doc/${PF}/examples
+ fi
+
+ distutils-r1_python_install_all
+
+ if use texmacs; then
+ exeinto /usr/libexec/TeXmacs/bin/
+ doexe data/TeXmacs/bin/tm_sympy
+ insinto /usr/share/TeXmacs/plugins/sympy/
+ doins -r data/TeXmacs/progs
+ fi
+}
diff --git a/dev-python/tables/Manifest b/dev-python/tables/Manifest
index f7af5d667ecc..9498bdb0d829 100644
--- a/dev-python/tables/Manifest
+++ b/dev-python/tables/Manifest
@@ -1,4 +1 @@
-DIST tables-3.8.0.tar.gz 8014052 BLAKE2B 28d120ad609ebc9ae8cd97286bb3fb9c484bd8a179edcf0de1b96e4400b7a21b4db835d94fae3aaee84924bd46b84b84da12c538b39517362d805651e7aa3aef SHA512 1616c00787a2e88ff3dc2aebe3a1b2ad428b5a8ea48fc94058b49c509f1c040b540b3f62551b16b3246d2fed58e0b33443cbdaaf1dfcba5a6eead5f3e8028029
-DIST tables-3.9.0.tar.gz 4682294 BLAKE2B a4ff5a67c0376e90ca4f1f405878ead3bbb807b2fc972ba17a1026782adb473a26e15561ba13fb3c477defe3157ead20cf672d7150735fd5555821d1091d9b3f SHA512 2f7e14af6a1759c16a3d79c6b26276aed49ddfcb60f8e157646f0e59f1b9abc405961dab48b55ddfaf046e69b39552a2d003d5ff7734edb195027f9cd6dab684
-DIST tables-3.9.1.tar.gz 4682299 BLAKE2B 0f873cbf82aea0651ced49d92416c5c3c1420dc527c8876a25c0631b1ee59d0b44c920780a9026674d217553d550e57b0ce87b1f6af81ac5bc27c32c161007cb SHA512 c3350a818f11674d15c87edeb9a5b32303d81d533a5473051b8ecb82780d7971fc106fa2e7df3a2bec333d19cead29ef80e2c9355f76a4a1297e44bf7a99ef76
DIST tables-3.9.2.tar.gz 4683437 BLAKE2B 7044aede85d9eca67260a309d19b5c80944b80b2107f665296ad7ae6a3c3f9a8717a41ae7298a5ae45e5b9de7ae0a6678a83d4bd914bd8709512333e783367bc SHA512 9b416222304b7798585a20d4d7d61934023f151d4262a58a4f0ee969aa365264270c12a734461a194d2c857a13a8e09fb7a1386042267113f601560c041cecd9
diff --git a/dev-python/tables/files/tables-3.8.0-blosc2.patch b/dev-python/tables/files/tables-3.8.0-blosc2.patch
deleted file mode 100644
index 59403cdec12d..000000000000
--- a/dev-python/tables/files/tables-3.8.0-blosc2.patch
+++ /dev/null
@@ -1,30 +0,0 @@
-From 99a7f336635aaeb666ea8dc791743177a030dc18 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Wed, 28 Dec 2022 15:53:08 +0100
-Subject: [PATCH] Workaround blosc2 detection via blosc2 package
-
----
- setup.py | 4 ++--
- 1 file changed, 2 insertions(+), 2 deletions(-)
-
-diff --git a/setup.py b/setup.py
-index 966be028..2708deb9 100755
---- a/setup.py
-+++ b/setup.py
-@@ -262,11 +262,11 @@ if __name__ == "__main__":
-
- debug = "--debug" in sys.argv
-
-- blosc2_inc, blosc2_lib = get_blosc2_directories()
-+ blosc2_inc, blosc2_lib = "", ""
-
- # Global variables
- lib_dirs = [blosc2_lib]
-- inc_dirs = [Path("hdf5-blosc/src"), Path("hdf5-blosc2/src"), blosc2_inc]
-+ inc_dirs = [Path("hdf5-blosc/src"), Path("hdf5-blosc2/src")]
- optional_libs = []
- copy_libs = []
-
---
-2.39.0
-
diff --git a/dev-python/tables/files/tables-3.8.0-cython3.patch b/dev-python/tables/files/tables-3.8.0-cython3.patch
deleted file mode 100644
index 9ad0b72d224a..000000000000
--- a/dev-python/tables/files/tables-3.8.0-cython3.patch
+++ /dev/null
@@ -1,40 +0,0 @@
-From a70e36f0b0d4fb15b0b50e7ca513c4e4452767cc Mon Sep 17 00:00:00 2001
-From: Matus Valo <matusvalo@gmail.com>
-Date: Wed, 15 Mar 2023 22:49:07 +0100
-Subject: [PATCH] Fix build errors when compiled using cython 3.0.0b1.
-
----
- pyproject.toml | 2 +-
- tables/tableextension.pyx | 2 +-
- tables/utilsextension.pyx | 2 +-
- 3 files changed, 3 insertions(+), 3 deletions(-)
-
-diff --git a/tables/tableextension.pyx b/tables/tableextension.pyx
-index 8f3bb01b..4a50c6ab 100644
---- a/tables/tableextension.pyx
-+++ b/tables/tableextension.pyx
-@@ -37,7 +37,7 @@ from .utils import SizeType
- from .utilsextension cimport get_native_type, cstr_to_pystr
-
- # numpy functions & objects
--from hdf5extension cimport Leaf
-+from .hdf5extension cimport Leaf
- from cpython cimport PyErr_Clear
- from libc.stdio cimport snprintf
- from libc.stdlib cimport malloc, free
-diff --git a/tables/utilsextension.pyx b/tables/utilsextension.pyx
-index 5b16dcd3..664e1ea5 100644
---- a/tables/utilsextension.pyx
-+++ b/tables/utilsextension.pyx
-@@ -344,7 +344,7 @@ except ImportError:
- #---------------------------------------------------------------------
-
- # Error handling helpers
--cdef herr_t e_walk_cb(unsigned n, const H5E_error_t *err, void *data) with gil:
-+cdef herr_t e_walk_cb(unsigned n, const H5E_error_t *err, void *data) noexcept with gil:
- cdef object bt = <object>data # list
- #cdef char major_msg[256]
- #cdef char minor_msg[256]
---
-2.40.1
-
diff --git a/dev-python/tables/files/tables-3.8.0-optional-cpuinfo.patch b/dev-python/tables/files/tables-3.8.0-optional-cpuinfo.patch
deleted file mode 100644
index 2843914f4a87..000000000000
--- a/dev-python/tables/files/tables-3.8.0-optional-cpuinfo.patch
+++ /dev/null
@@ -1,69 +0,0 @@
-https://github.com/PyTables/PyTables/pull/1013
-
-From 9d2487eb53af940de3b5c79200c9f4c2b90f51f2 Mon Sep 17 00:00:00 2001
-From: Sam James <sam@gentoo.org>
-Date: Mon, 3 Apr 2023 02:07:47 +0100
-Subject: [PATCH] Handle py-cpuinfo not being installed
-
-Fallback gracefully if py-cpuinfo isn't installed. We already handle this in
-setup.py but we need to avoid calling it in leaf.py too.
-
-py-cpuinfo isn't available on all platforms and PyTables is needed to run
-the test suite for some software, so we need to be able to run PyTables
-in places where py-cpuinfo isn't yet ported.
-
-Signed-off-by: Sam James <sam@gentoo.org>
---- a/tables/leaf.py
-+++ b/tables/leaf.py
-@@ -4,7 +4,11 @@ import warnings
- import math
-
- import numpy as np
--import cpuinfo
-+try:
-+ import cpuinfo
-+ missing_cpuinfo = False
-+except ImportError:
-+ missing_cpuinfo = True
-
- from .flavor import (check_flavor, internal_flavor, toarray,
- alias_map as flavor_alias_map)
-@@ -336,20 +340,21 @@ class Leaf(Node):
- # Use a decent default value for chunksize
- chunksize *= 16
- # Now, go explore the L3 size and try to find a smarter chunksize
-- cpu_info = cpuinfo.get_cpu_info()
-- if 'l3_cache_size' in cpu_info:
-- # In general, is a good idea to set the chunksize equal to L3
-- l3_cache_size = cpu_info['l3_cache_size']
-- # cpuinfo sometimes returns cache sizes as strings (like,
-- # "4096 KB"), so refuse the temptation to guess and use the
-- # value only when it is an actual int.
-- # Also, sometimes cpuinfo does not return a correct L3 size;
-- # so in general, enforcing L3 > L2 is a good sanity check.
-- l2_cache_size = cpu_info.get('l2_cache_size', "Not found")
-- if (type(l3_cache_size) is int and
-- type(l2_cache_size) is int and
-- l3_cache_size > l2_cache_size):
-- chunksize = l3_cache_size
-+ if not missing_cpuinfo:
-+ cpu_info = cpuinfo.get_cpu_info()
-+ if 'l3_cache_size' in cpu_info:
-+ # In general, is a good idea to set the chunksize equal to L3
-+ l3_cache_size = cpu_info['l3_cache_size']
-+ # cpuinfo sometimes returns cache sizes as strings (like,
-+ # "4096 KB"), so refuse the temptation to guess and use the
-+ # value only when it is an actual int.
-+ # Also, sometimes cpuinfo does not return a correct L3 size;
-+ # so in general, enforcing L3 > L2 is a good sanity check.
-+ l2_cache_size = cpu_info.get('l2_cache_size', "Not found")
-+ if (type(l3_cache_size) is int and
-+ type(l2_cache_size) is int and
-+ l3_cache_size > l2_cache_size):
-+ chunksize = l3_cache_size
- # In Blosc2, the chunksize cannot be larger than 2 GB - BLOSC2_MAX_BUFFERSIZE
- if chunksize > 2**31 - 32:
- chunksize = 2**31 - 32
---
-2.40.0
-
diff --git a/dev-python/tables/files/tables-3.9.2-numpy-2.patch b/dev-python/tables/files/tables-3.9.2-numpy-2.patch
new file mode 100644
index 000000000000..a3d56d13f1a8
--- /dev/null
+++ b/dev-python/tables/files/tables-3.9.2-numpy-2.patch
@@ -0,0 +1,264 @@
+diff --git a/setup.py b/setup.py
+index 48dc6ca5..e8957c1f 100755
+--- a/setup.py
++++ b/setup.py
+@@ -736,7 +736,10 @@ if __name__ == "__main__":
+
+ # -----------------------------------------------------------------
+
+- def_macros = [("NDEBUG", 1)]
++ def_macros = [
++ ("NDEBUG", 1),
++ ("NPY_TARGET_VERSION", "NPY_1_20_API_VERSION"),
++ ]
+
+ # Define macros for Windows platform
+ if os.name == "nt":
+diff --git a/src/utils.c b/src/utils.c
+index 15fce02d..b28dbc90 100644
+--- a/src/utils.c
++++ b/src/utils.c
+@@ -765,8 +765,8 @@ hid_t create_ieee_complex64(const char *byteorder) {
+ return float_id;
+ }
+
+- H5Tinsert(complex_id, "r", HOFFSET(npy_complex64, real), float_id);
+- H5Tinsert(complex_id, "i", HOFFSET(npy_complex64, imag), float_id);
++ H5Tinsert(complex_id, "r", 0, float_id);
++ H5Tinsert(complex_id, "i", 4, float_id);
+ H5Tclose(float_id);
+ return complex_id;
+ }
+@@ -790,8 +790,8 @@ hid_t create_ieee_complex128(const char *byteorder) {
+ return float_id;
+ }
+
+- H5Tinsert(complex_id, "r", HOFFSET(npy_complex128, real), float_id);
+- H5Tinsert(complex_id, "i", HOFFSET(npy_complex128, imag), float_id);
++ H5Tinsert(complex_id, "r", 0, float_id);
++ H5Tinsert(complex_id, "i", 8, float_id);
+ H5Tclose(float_id);
+ return complex_id;
+ }
+@@ -822,8 +822,8 @@ hid_t create_ieee_complex192(const char *byteorder) {
+ return err;
+ }
+
+- H5Tinsert(complex_id, "r", HOFFSET(npy_complex192, real), float_id);
+- H5Tinsert(complex_id, "i", HOFFSET(npy_complex192, imag), float_id);
++ H5Tinsert(complex_id, "r", 0, float_id);
++ H5Tinsert(complex_id, "i", 12, float_id);
+ H5Tclose(float_id);
+ return complex_id;
+ }
+@@ -854,8 +854,8 @@ hid_t create_ieee_complex256(const char *byteorder) {
+ return err;
+ }
+
+- H5Tinsert(complex_id, "r", HOFFSET(npy_complex256, real), float_id);
+- H5Tinsert(complex_id, "i", HOFFSET(npy_complex256, imag), float_id);
++ H5Tinsert(complex_id, "r", 0, float_id);
++ H5Tinsert(complex_id, "i", 16, float_id);
+ H5Tclose(float_id);
+ return complex_id;
+ }
+diff --git a/tables/atom.py b/tables/atom.py
+index 56ab6423..5d4fba2b 100644
+--- a/tables/atom.py
++++ b/tables/atom.py
+@@ -276,15 +276,15 @@ class Atom(metaclass=MetaAtom):
+ >>> atom1 = StringAtom(itemsize=10) # same as ``atom2``
+ >>> atom2 = Atom.from_kind('string', 10) # same as ``atom1``
+ >>> atom3 = IntAtom()
+- >>> atom1 == 'foo'
++ >>> bool(atom1 == 'foo')
+ False
+- >>> atom1 == atom2
++ >>> bool(atom1 == atom2)
+ True
+- >>> atom2 != atom1
++ >>> bool(atom2 != atom1)
+ False
+- >>> atom1 == atom3
++ >>> bool(atom1 == atom3)
+ False
+- >>> atom3 != atom2
++ >>> bool(atom3 != atom2)
+ True
+
+ """
+diff --git a/tables/index.py b/tables/index.py
+index e8c8caf7..28ff37e2 100644
+--- a/tables/index.py
++++ b/tables/index.py
+@@ -581,7 +581,8 @@ class Index(NotLoggedMixin, Group, indexesextension.Index):
+ # Add a second offset in this case
+ # First normalize the number of rows
+ offset2 = (nrow % self.nslicesblock) * slicesize // lbucket
+- idx += offset2
++ assert offset2 < 2**(indsize*8)
++ idx += np.asarray(offset2).astype(idx.dtype)
+ # Add the last row at the beginning of arr & idx (if needed)
+ if (indsize == 8 and nelementsILR > 0):
+ # It is possible that the values in LR are already sorted.
+@@ -622,11 +623,11 @@ class Index(NotLoggedMixin, Group, indexesextension.Index):
+ show_stats("Entering final_idx32", tref)
+ # Do an upcast first in order to add the offset.
+ idx = idx.astype('uint64')
+- idx += offset
++ idx += np.asarray(offset).astype(idx.dtype)
+ # The next partition is valid up to table sizes of
+ # 2**30 * 2**18 = 2**48 bytes, that is, 256 Tera-elements,
+ # which should be a safe figure, at least for a while.
+- idx //= self.lbucket
++ idx //= np.asarray(self.lbucket).astype(idx.dtype)
+ # After the division, we can downsize the indexes to 'uint32'
+ idx = idx.astype('uint32')
+ if profile:
+@@ -2002,7 +2003,7 @@ class Index(NotLoggedMixin, Group, indexesextension.Index):
+ else:
+ self.indicesLR._read_index_slice(start, stop, idx)
+ if indsize == 8:
+- idx //= lbucket
++ idx //= np.asarray(lbucket).astype(idx.dtype)
+ elif indsize == 2:
+ # The chunkmap size cannot be never larger than 'int_'
+ idx = idx.astype("int_")
+diff --git a/tables/tests/common.py b/tables/tests/common.py
+index 31378a88..1992f39a 100644
+--- a/tables/tests/common.py
++++ b/tables/tests/common.py
+@@ -205,7 +205,7 @@ def allequal(a, b, flavor="numpy"):
+ return result
+
+
+-def areArraysEqual(arr1, arr2):
++def areArraysEqual(arr1, arr2, *, check_type=True):
+ """Are both `arr1` and `arr2` equal arrays?
+
+ Arguments can be regular NumPy arrays, chararray arrays or
+@@ -217,8 +217,8 @@ def areArraysEqual(arr1, arr2):
+ t1 = type(arr1)
+ t2 = type(arr2)
+
+- if not ((hasattr(arr1, 'dtype') and arr1.dtype == arr2.dtype) or
+- issubclass(t1, t2) or issubclass(t2, t1)):
++ if check_type and not ((hasattr(arr1, 'dtype') and arr1.dtype == arr2.dtype) or
++ issubclass(t1, t2) or issubclass(t2, t1)):
+ return False
+
+ return np.all(arr1 == arr2)
+diff --git a/tables/tests/test_expression.py b/tables/tests/test_expression.py
+index 018d4208..d9c0e990 100644
+--- a/tables/tests/test_expression.py
++++ b/tables/tests/test_expression.py
+@@ -265,9 +265,12 @@ class MixedContainersTestCase(common.TempFileMixin, common.PyTablesTestCase):
+ if common.verbose:
+ print("Computed expression:", repr(r1), r1.dtype)
+ print("Should look like:", repr(r2), r2.dtype)
+- self.assertTrue(
+- r1.shape == r2.shape and r1.dtype == r2.dtype and r1 == r2,
+- "Evaluate is returning a wrong value.")
++ msg = f"Evaluate is returning a wrong value: {expr_str}\n{r1=}\n{r2=}"
++ self.assertEqual(r1.shape, r2.shape, msg=msg)
++ # In something like 2 * np.in16(3) + np.int16(2) the result is still a
++ # np.int16 in NumPy 2.0, so we shouldn't actually check this:
++ # self.assertEqual(r1.dtype, r2.dtype, msg=msg)
++ self.assertEqual(r1, r2, msg=msg)
+
+ def test01a_out(self):
+ """Checking expressions with mixed objects (`out` param)"""
+@@ -305,8 +308,9 @@ class MixedContainersTestCase(common.TempFileMixin, common.PyTablesTestCase):
+ if common.verbose:
+ print("Computed expression:", repr(r1), r1.dtype)
+ print("Should look like:", repr(r2), r2.dtype)
+- self.assertTrue(common.areArraysEqual(r1, r2),
+- "Evaluate is returning a wrong value.")
++ msg = f"Evaluate is returning a wrong value: {expr_str}\n{r1=}\n{r2=}"
++ # On NumPy 2 type promotion is different so don't check type here
++ self.assertTrue(common.areArraysEqual(r1, r2, check_type=False), msg=msg)
+
+ def test02a_sss(self):
+ """Checking mixed objects and start, stop, step (I)"""
+diff --git a/tables/tests/test_indexvalues.py b/tables/tests/test_indexvalues.py
+index fac33af8..85ca38c3 100644
+--- a/tables/tests/test_indexvalues.py
++++ b/tables/tests/test_indexvalues.py
+@@ -2296,6 +2296,11 @@ class SelectValuesTestCase(common.TempFileMixin, common.PyTablesTestCase):
+ self.assertFalse(t1var3.index.dirty)
+ self.assertFalse(t1var4.index.dirty)
+
++ # TODO: IT IS DIRTY BECAUSE THIS FIXES THINGS FOR FINSV2aTestCase,
++ # which otherwise fails a test a few lines below!
++ for col in table1.colinstances.values():
++ col.reindex()
++
+ # Do some selections and check the results
+ # First selection: string
+ # Convert the limits to the appropriate type
+@@ -2318,11 +2323,15 @@ class SelectValuesTestCase(common.TempFileMixin, common.PyTablesTestCase):
+ # Second selection: bool
+ results1 = [p["var2"] for p in table1.where('t1var2 == True')]
+ results2 = [p["var2"] for p in table2 if p["var2"] is True]
+- if common.verbose:
+- print("Length results:", len(results1))
+- print("Should be:", len(results2))
+- self.assertEqual(len(results1), len(results2))
+- self.assertEqual(results1, results2)
++ t2var1_vals = [p["var1"] for p in table2]
++ t2var2_vals = [p["var2"] for p in table2]
++ msg = (
++ f"Incorrect results for t1var2[n] == True where\n"
++ f"t2var1_vals={repr(t2var1_vals)}\nt2var2_vals={repr(t2var2_vals)}\n"
++ f"\n{results1=}\n{results2=}"
++ )
++ self.assertEqual(len(results1), len(results2), msg=msg)
++ self.assertEqual(results1, results2, msg=msg)
+
+ # Third selection: int
+ # Convert the limits to the appropriate type
+@@ -3228,7 +3237,9 @@ class LastRowReuseBuffers(common.PyTablesTestCase):
+
+
+ normal_tests = (
+- "SV1aTestCase", "SV2aTestCase", "SV3aTestCase",
++ "SV1aTestCase",
++ "SV2aTestCase",
++ "SV3aTestCase",
+ )
+
+ heavy_tests = (
+diff --git a/tables/utils.py b/tables/utils.py
+index e11e5ba7..7d786e32 100644
+--- a/tables/utils.py
++++ b/tables/utils.py
+@@ -25,6 +25,11 @@ byteorders = {
+ SizeType = np.int64
+
+
++copy_if_needed = (
++ None if np.lib.NumpyVersion(np.__version__) >= "2.0.0" else False
++)
++
++
+ def correct_byteorder(ptype, byteorder):
+ """Fix the byteorder depending on the PyTables types."""
+
+@@ -78,7 +83,7 @@ def idx2long(index):
+ # with atom from a generic python type. If copy is stated as True, it
+ # is assured that it will return a copy of the object and never the same
+ # object or a new one sharing the same memory.
+-def convert_to_np_atom(arr, atom, copy=False):
++def convert_to_np_atom(arr, atom, copy=copy_if_needed):
+ """Convert a generic object into a NumPy object compliant with atom."""
+
+ # First, convert the object into a NumPy array
+@@ -112,7 +117,7 @@ def convert_to_np_atom2(object, atom):
+
+ # Check whether the object needs to be copied to make the operation
+ # safe to in-place conversion.
+- copy = atom.type in ['time64']
++ copy = True if atom.type in ['time64'] else copy_if_needed
+ nparr = convert_to_np_atom(object, atom, copy)
+ # Finally, check the byteorder and change it if needed
+ byteorder = byteorders[nparr.dtype.byteorder]
diff --git a/dev-python/tables/files/tables-3.9.2-py313.patch b/dev-python/tables/files/tables-3.9.2-py313.patch
new file mode 100644
index 000000000000..660c5615765f
--- /dev/null
+++ b/dev-python/tables/files/tables-3.9.2-py313.patch
@@ -0,0 +1,73 @@
+From 4a1b480e7e3758cf2cf06354ec5720020db16ce7 Mon Sep 17 00:00:00 2001
+From: Antonio Valentino <antonio.valentino@tiscali.it>
+Date: Sun, 19 May 2024 17:39:47 +0200
+Subject: [PATCH] Fix compatibility with Python v3.13 (Closes: #1166)
+
+The unittest.makeSuite function is not available in Python 3.13.
+---
+diff --git a/tables/tests/test_aux.py b/tables/tests/test_aux.py
+index 95f34ee16..cf4f022de 100644
+--- a/tables/tests/test_aux.py
++++ b/tables/tests/test_aux.py
+@@ -2,6 +2,7 @@
+ import numpy as np
+
+ import tables as tb
++from tables.tests.common import make_suite
+
+
+ class TestAuxiliaryFunctions(unittest.TestCase):
+diff --git a/tables/nodes/tests/test_filenode.py b/tables/nodes/tests/test_filenode.py
+index c2754218a..3572cc38f 100644
+--- a/tables/nodes/tests/test_filenode.py
++++ b/tables/nodes/tests/test_filenode.py
+@@ -9,7 +9,7 @@
+ from ... import open_file, file, NoSuchNodeError
+ from ...nodes import filenode
+ from ...tests.common import (
+- unittest, TempFileMixin, parse_argv, print_versions,
++ unittest, TempFileMixin, parse_argv, print_versions, make_suite,
+ PyTablesTestCase as TestCase)
+
+
+diff --git a/tables/tests/common.py b/tables/tests/common.py
+index 31378a880..918b17247 100644
+--- a/tables/tests/common.py
++++ b/tables/tests/common.py
+@@ -366,3 +366,10 @@ def test00(self):
+ print(f"VmSize: {vmsize:>7} kB\tVmRSS: {vmrss:>7} kB")
+ print(f"VmData: {vmdata:>7} kB\tVmStk: {vmstk:>7} kB")
+ print(f"VmExe: {vmexe:>7} kB\tVmLib: {vmlib:>7} kB")
++
++
++try:
++ from unittest import makeSuite as make_suite
++except ImportError:
++ def make_suite(test_case_class):
++ return unittest.TestLoader().loadTestsFromTestCase(test_case_class)
+From 424784895b0fb15ad06707ce60f9829cef4f11e2 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
+Date: Mon, 3 Jun 2024 17:21:38 +0200
+Subject: [PATCH] Make tables.tests.common.make_suite() accept the prefix
+ argument
+
+...as test_queries.py uses it.
+---
+ tables/tests/common.py | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/tables/tests/common.py b/tables/tests/common.py
+index 918b17247..1d2e5feab 100644
+--- a/tables/tests/common.py
++++ b/tables/tests/common.py
+@@ -371,5 +371,8 @@ def test00(self):
+ try:
+ from unittest import makeSuite as make_suite
+ except ImportError:
+- def make_suite(test_case_class):
+- return unittest.TestLoader().loadTestsFromTestCase(test_case_class)
++ def make_suite(test_case_class, *, prefix=None):
++ loader = unittest.TestLoader()
++ if prefix:
++ loader.testMethodPrefix = prefix
++ return loader.loadTestsFromTestCase(test_case_class)
diff --git a/dev-python/tables/tables-3.8.0-r3.ebuild b/dev-python/tables/tables-3.8.0-r3.ebuild
deleted file mode 100644
index cdc7b5c4f78c..000000000000
--- a/dev-python/tables/tables-3.8.0-r3.ebuild
+++ /dev/null
@@ -1,84 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-PYPI_PN="tables"
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 prefix pypi
-
-DESCRIPTION="Hierarchical datasets for Python"
-HOMEPAGE="
- https://www.pytables.org/
- https://github.com/PyTables/PyTables/
- https://pypi.org/project/tables/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="+cpudetection examples test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- app-arch/bzip2:0=
- app-arch/lz4:0=
- >=app-arch/zstd-1.0.0:=
- >=dev-libs/c-blosc-1.11.1:0=
- dev-libs/c-blosc2:=
- dev-libs/lzo:2=
- >=dev-python/numpy-1.19[${PYTHON_USEDEP}]
- >=sci-libs/hdf5-1.8.4:=
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/numexpr-2.6.2[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- cpudetection? ( dev-python/py-cpuinfo[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- >=dev-python/cython-0.21[${PYTHON_USEDEP}]
- virtual/pkgconfig
- cpudetection? ( dev-python/py-cpuinfo[${PYTHON_USEDEP}] )
- test? (
- ${RDEPEND}
- )
-"
-
-python_prepare_all() {
- local PATCHES=(
- "${FILESDIR}"/${P}-blosc2.patch
- "${FILESDIR}"/${P}-optional-cpuinfo.patch
- "${FILESDIR}"/${P}-cython3.patch
- )
-
- export PYTABLES_NO_EMBEDDED_LIBS=1
- export USE_PKGCONFIG=TRUE
-
- rm -r c-blosc/{blosc,internal-complibs} || die
- rm tables/libblosc2.so || die
- sed -i -e '/blosc2/d' requirements.txt || die
- hprefixify -w '/prefixes =/' setup.py
- distutils-r1_python_prepare_all
-}
-
-python_compile() {
- distutils-r1_python_compile -j1
-}
-
-python_test() {
- cd "${BUILD_DIR}"/lib* || die
- "${EPYTHON}" tables/tests/test_all.py -v || die
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r contrib examples
- docompress -x /usr/share/doc/${PF}/{contrib,examples}
- fi
-}
diff --git a/dev-python/tables/tables-3.9.0.ebuild b/dev-python/tables/tables-3.9.0.ebuild
deleted file mode 100644
index ea12b00212a9..000000000000
--- a/dev-python/tables/tables-3.9.0.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 prefix pypi
-
-DESCRIPTION="Hierarchical datasets for Python"
-HOMEPAGE="
- https://www.pytables.org/
- https://github.com/PyTables/PyTables/
- https://pypi.org/project/tables/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
-IUSE="+cpudetection examples test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- app-arch/bzip2:0=
- app-arch/lz4:0=
- >=app-arch/zstd-1.0.0:=
- >=dev-libs/c-blosc-1.11.1:0=
- dev-libs/c-blosc2:=
- dev-libs/lzo:2=
- >=dev-python/numpy-1.19.0[${PYTHON_USEDEP}]
- >=sci-libs/hdf5-1.8.4:=
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/numexpr-2.6.2[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- cpudetection? ( dev-python/py-cpuinfo[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- >=dev-python/cython-0.21[${PYTHON_USEDEP}]
- virtual/pkgconfig
- cpudetection? ( dev-python/py-cpuinfo[${PYTHON_USEDEP}] )
- test? (
- ${RDEPEND}
- )
-"
-
-python_prepare_all() {
- export PYTABLES_NO_EMBEDDED_LIBS=1
- export USE_PKGCONFIG=TRUE
-
- rm -r c-blosc/{blosc,internal-complibs} || die
- sed -i -e '/blosc2/d' requirements.txt || die
- hprefixify -w '/prefixes =/' setup.py
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- "${EPYTHON}" tables/tests/test_all.py -v || die
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r contrib examples
- docompress -x /usr/share/doc/${PF}/{contrib,examples}
- fi
-}
diff --git a/dev-python/tables/tables-3.9.1-r1.ebuild b/dev-python/tables/tables-3.9.1-r1.ebuild
deleted file mode 100644
index 459804a296ec..000000000000
--- a/dev-python/tables/tables-3.9.1-r1.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 prefix pypi
-
-DESCRIPTION="Hierarchical datasets for Python"
-HOMEPAGE="
- https://www.pytables.org/
- https://github.com/PyTables/PyTables/
- https://pypi.org/project/tables/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-IUSE="+cpudetection examples test"
-RESTRICT="!test? ( test )"
-
-DEPEND="
- app-arch/bzip2:0=
- app-arch/lz4:0=
- >=app-arch/zstd-1.0.0:=
- >=dev-libs/c-blosc-1.11.1:0=
- >=dev-libs/c-blosc2-2.10.4:=
- dev-libs/lzo:2=
- >=dev-python/numpy-1.19.0[${PYTHON_USEDEP}]
- >=sci-libs/hdf5-1.8.4:=
-"
-RDEPEND="
- ${DEPEND}
- >=dev-python/numexpr-2.6.2[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- cpudetection? ( dev-python/py-cpuinfo[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- >=dev-python/cython-0.21[${PYTHON_USEDEP}]
- virtual/pkgconfig
- cpudetection? ( dev-python/py-cpuinfo[${PYTHON_USEDEP}] )
- test? (
- ${RDEPEND}
- )
-"
-
-python_prepare_all() {
- export PYTABLES_NO_EMBEDDED_LIBS=1
- export USE_PKGCONFIG=TRUE
-
- rm -r c-blosc/{blosc,internal-complibs} || die
- sed -i -e '/blosc2/d' pyproject.toml || die
- hprefixify -w '/prefixes =/' setup.py
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- "${EPYTHON}" tables/tests/test_all.py -v || die
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- if use examples; then
- dodoc -r contrib examples
- docompress -x /usr/share/doc/${PF}/{contrib,examples}
- fi
-}
diff --git a/dev-python/tables/tables-3.9.2-r1.ebuild b/dev-python/tables/tables-3.9.2-r1.ebuild
new file mode 100644
index 000000000000..0f77247031d8
--- /dev/null
+++ b/dev-python/tables/tables-3.9.2-r1.ebuild
@@ -0,0 +1,89 @@
+# 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..13} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 prefix pypi
+
+DESCRIPTION="Hierarchical datasets for Python"
+HOMEPAGE="
+ https://www.pytables.org/
+ https://github.com/PyTables/PyTables/
+ https://pypi.org/project/tables/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+IUSE="+cpudetection examples test"
+RESTRICT="!test? ( test )"
+
+DEPEND="
+ app-arch/bzip2:0=
+ app-arch/lz4:0=
+ >=app-arch/zstd-1.0.0:=
+ >=dev-libs/c-blosc-1.11.1:0=
+ >=dev-libs/c-blosc2-2.11.0:=
+ dev-libs/lzo:2=
+ >=dev-python/numpy-1.19.0:=[${PYTHON_USEDEP}]
+ >=sci-libs/hdf5-1.8.4:=
+"
+RDEPEND="
+ ${DEPEND}
+ >=dev-python/numexpr-2.6.2[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ cpudetection? ( dev-python/py-cpuinfo[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ >=dev-python/cython-0.21[${PYTHON_USEDEP}]
+ virtual/pkgconfig
+ cpudetection? ( dev-python/py-cpuinfo[${PYTHON_USEDEP}] )
+ test? (
+ ${RDEPEND}
+ )
+"
+
+python_prepare_all() {
+ local PATCHES=(
+ # https://github.com/PyTables/PyTables/pull/1176
+ "${FILESDIR}/${P}-numpy-2.patch"
+ # https://github.com/PyTables/PyTables/commit/4a1b480e7e3758cf2cf06354ec5720020db16ce7
+ # https://github.com/PyTables/PyTables/commit/424784895b0fb15ad06707ce60f9829cef4f11e2
+ "${FILESDIR}/${P}-py313.patch"
+ )
+
+ rm -r c-blosc/{blosc,internal-complibs} || die
+
+ # part of https://github.com/PyTables/PyTables/commit/4a1b480e7e3758cf2cf06354ec5720020db16ce7
+ # (warning: do it *before* patching, so it doesn't modify
+ # the added function)
+ find -name '*.py' -exec \
+ sed -i -e 's:unittest[.]makeSuite:make_suite:' {} + || die
+
+ distutils-r1_python_prepare_all
+
+ sed -i -e '/blosc2/d' pyproject.toml || die
+ hprefixify -w '/prefixes =/' setup.py
+
+ export PYTABLES_NO_EMBEDDED_LIBS=1
+ export USE_PKGCONFIG=TRUE
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ "${EPYTHON}" tables/tests/test_all.py -v || die
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ if use examples; then
+ dodoc -r contrib examples
+ docompress -x /usr/share/doc/${PF}/{contrib,examples}
+ fi
+}
diff --git a/dev-python/tables/tables-3.9.2.ebuild b/dev-python/tables/tables-3.9.2.ebuild
index 06fe57b5e8f3..a07dfd6f5310 100644
--- a/dev-python/tables/tables-3.9.2.ebuild
+++ b/dev-python/tables/tables-3.9.2.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
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..12} )
PYTHON_REQ_USE="threads(+)"
inherit distutils-r1 prefix pypi
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~ia64 ~loong ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
IUSE="+cpudetection examples test"
RESTRICT="!test? ( test )"
@@ -28,8 +28,9 @@ DEPEND="
app-arch/lz4:0=
>=app-arch/zstd-1.0.0:=
>=dev-libs/c-blosc-1.11.1:0=
- >=dev-libs/c-blosc2-2.10.4:=
+ >=dev-libs/c-blosc2-2.11.0:=
dev-libs/lzo:2=
+ <dev-python/numpy-2[${PYTHON_USEDEP}]
>=dev-python/numpy-1.19.0[${PYTHON_USEDEP}]
>=sci-libs/hdf5-1.8.4:=
"
diff --git a/dev-python/tabulate/tabulate-0.9.0-r1.ebuild b/dev-python/tabulate/tabulate-0.9.0-r1.ebuild
index 45b1278a6008..064da99a8207 100644
--- a/dev-python/tabulate/tabulate-0.9.0-r1.ebuild
+++ b/dev-python/tabulate/tabulate-0.9.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -20,9 +20,9 @@ SRC_URI="
"
S=${WORKDIR}/${MY_P}
-SLOT="0"
LICENSE="MIT"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="
dev-python/wcwidth[${PYTHON_USEDEP}]
diff --git a/dev-python/tappy/tappy-3.1-r1.ebuild b/dev-python/tappy/tappy-3.1-r1.ebuild
index 01aeed69447c..b2631d89cf7f 100644
--- a/dev-python/tappy/tappy-3.1-r1.ebuild
+++ b/dev-python/tappy/tappy-3.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN="tap.py"
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 optfeature pypi
diff --git a/dev-python/taskgroup/taskgroup-0.0.0_alpha4.ebuild b/dev-python/taskgroup/taskgroup-0.0.0_alpha4.ebuild
index e185ed9becbe..8dda0f89d054 100644
--- a/dev-python/taskgroup/taskgroup-0.0.0_alpha4.ebuild
+++ b/dev-python/taskgroup/taskgroup-0.0.0_alpha4.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
RDEPEND="
dev-python/exceptiongroup[${PYTHON_USEDEP}]
diff --git a/dev-python/tavalidate/metadata.xml b/dev-python/tavalidate/metadata.xml
index 9656208a7595..5a7da36b5a4b 100644
--- a/dev-python/tavalidate/metadata.xml
+++ b/dev-python/tavalidate/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>Matt.Jolly@footclan.ninja</email>
+ <maintainer type="person">
+ <email>kangie@gentoo.org</email>
<name>Matt Jolly</name>
</maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<upstream>
<remote-id type="github">sohoffice/tavalidate</remote-id>
<remote-id type="pypi">tavalidate</remote-id>
diff --git a/dev-python/tavalidate/tavalidate-0.0.6-r1.ebuild b/dev-python/tavalidate/tavalidate-0.0.6-r1.ebuild
index 35a456295086..e020faa90a67 100644
--- a/dev-python/tavalidate/tavalidate-0.0.6-r1.ebuild
+++ b/dev-python/tavalidate/tavalidate-0.0.6-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/tavern/Manifest b/dev-python/tavern/Manifest
index d3f96e0cce1c..41764972aead 100644
--- a/dev-python/tavern/Manifest
+++ b/dev-python/tavern/Manifest
@@ -1,2 +1 @@
-DIST tavern-2.5.0.gh.tar.gz 217343 BLAKE2B bcb9d7f753b14351cd98e12e9d392f9effa716651f8686d053dc72080a2b738b02f78665f2bb07012b4c6ec7b39a661dfdc74a0272c036718cc13e2d731b4cee SHA512 9d957f815b57ba01d9707c1a3e8f715f062194efd0b24d82ebb99aec4bb83965e31a6538f3ff7748d3acd52b32cd38a097a4d36fe71faf1703dbf70ff0454111
-DIST tavern-2.6.0.gh.tar.gz 217509 BLAKE2B 99d9990757930a45a86a914fcf656b63266266869542cbd9b59850c7d648f54993ad5f409f12d09fbb12383c7586ecaeed323b04b478d62c7331cf514faa970a SHA512 1165dcc41244259d2ef7f69370dd35a40a9411b2a5c05e5dae45fc413d88478cd49aa540175a4a65dcf7dcd0eb2ee06b4f97059eb5d69ed5684893a8d5e8fcdc
+DIST tavern-2.11.0.gh.tar.gz 233387 BLAKE2B b1b26e7d9fc4069c7056072ab01c9937245304982f78df236e9bcaa795feec6a1db7192532dba6d17d362af874bffce601bb9652b5f1ecda99c59387f717bb15 SHA512 456fa6ebfc6f47ff9a473e3f416aff9f88b1f9b25c898786d15472072859e1659c089a9c668e6ddc4ecfc0cc8c233417d4768e0f7228800995509a5a34294faf
diff --git a/dev-python/tavern/files/tavern-2.6.0-py312.patch b/dev-python/tavern/files/tavern-2.6.0-py312.patch
deleted file mode 100644
index 679b0c9d2358..000000000000
--- a/dev-python/tavern/files/tavern-2.6.0-py312.patch
+++ /dev/null
@@ -1,38 +0,0 @@
-From 8c09a6f31d84904dcf411e50102ac1ad159e4dd9 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Sun, 19 Nov 2023 08:56:20 +0100
-Subject: [PATCH] Fix assertion in TestCheckParseValues::test_warns_bad_type
-
-Fix the assertion in TestCheckParseValues::test_warns_bad_type
-to use `.assert_called_with()` rather than non-existing `.called_with()`
-method. The latter is wrongly interpreted as calling a mocked method
-in Python < 3.12, and therefore does not test anything at all. Starting
-with Python 3.12, it results in an error:
-
- AttributeError: 'called_with' is not a valid assertion. Use a spec for the mock if 'called_with' is meant to be an attribute.
-
-Fixing the call also revealed that the assertion was incorrect, so I've
-updated it to match the current call.
----
- tests/unit/test_helpers.py | 8 ++++----
- 1 file changed, 4 insertions(+), 4 deletions(-)
-
-diff --git a/tests/unit/test_helpers.py b/tests/unit/test_helpers.py
-index 0d3da1c4..19fddc08 100644
---- a/tests/unit/test_helpers.py
-+++ b/tests/unit/test_helpers.py
-@@ -300,10 +300,10 @@ def test_warns_bad_type(self, item):
- with patch("tavern._core.dict_util.logger.warning") as wmock:
- _check_and_format_values("{fd}", {"fd": item})
-
-- assert wmock.called_with(
-- "Formatting 'fd' will result in it being coerced to a string (it is a {})".format(
-- type(item)
-- )
-+ wmock.assert_called_with(
-+ "Formatting '%s' will result in it being coerced to a string (it is a %s)",
-+ "fd",
-+ type(item),
- )
-
- @pytest.mark.parametrize("item", [1, "a", 1.3, format_keys("{s}", {"s": 2})])
diff --git a/dev-python/tavern/metadata.xml b/dev-python/tavern/metadata.xml
index 9b4279b94b19..0e4ef7c4e398 100644
--- a/dev-python/tavern/metadata.xml
+++ b/dev-python/tavern/metadata.xml
@@ -1,14 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>Matt.Jolly@footclan.ninja</email>
+ <maintainer type="person">
+ <email>kangie@gentoo.org</email>
<name>Matt Jolly</name>
</maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<longdescription>
A command-line tool and Python library and Pytest plugin for automated testing of RESTful APIs,
with a simple, concise and flexible YAML-based syntax.
diff --git a/dev-python/tavern/tavern-2.11.0.ebuild b/dev-python/tavern/tavern-2.11.0.ebuild
new file mode 100644
index 000000000000..6d338082027c
--- /dev/null
+++ b/dev-python/tavern/tavern-2.11.0.ebuild
@@ -0,0 +1,66 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="A tool, library, and Pytest plugin for testing RESTful APIs"
+HOMEPAGE="
+ https://github.com/taverntesting/tavern/
+ https://pypi.org/project/tavern/
+"
+SRC_URI="
+ https://github.com/taverntesting/tavern/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64"
+
+RDEPEND="
+ >=dev-python/jmespath-1[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-4[${PYTHON_USEDEP}]
+ <dev-python/paho-mqtt-2[${PYTHON_USEDEP}]
+ >=dev-python/paho-mqtt-1.3.1[${PYTHON_USEDEP}]
+ >=dev-python/pyjwt-2.5.0[${PYTHON_USEDEP}]
+ >=dev-python/pykwalify-1.8.0[${PYTHON_USEDEP}]
+ >=dev-python/pytest-7[${PYTHON_USEDEP}]
+ >=dev-python/python-box-6[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.22.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/Faker[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # strip unnecessary pins, upstream doesn't update them a lot
+ sed -i -E -e 's:,?<=?[0-9.]+::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # requires grpc
+ tests/unit/test_extensions.py::TestGrpcCodes
+ )
+ local EPYTEST_IGNORE=(
+ # require grpc*
+ tavern/_plugins/grpc
+ tests/unit/tavern_grpc
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p tavern
+}
diff --git a/dev-python/tavern/tavern-2.5.0.ebuild b/dev-python/tavern/tavern-2.5.0.ebuild
deleted file mode 100644
index 542043b22397..000000000000
--- a/dev-python/tavern/tavern-2.5.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A tool, library, and Pytest plugin for testing RESTful APIs"
-HOMEPAGE="
- https://github.com/taverntesting/tavern/
- https://pypi.org/project/tavern/
-"
-SRC_URI="
- https://github.com/taverntesting/tavern/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64"
-
-RDEPEND="
- dev-python/jmespath[${PYTHON_USEDEP}]
- dev-python/paho-mqtt[${PYTHON_USEDEP}]
- >=dev-python/pyjwt-2.5.0[${PYTHON_USEDEP}]
- dev-python/pykwalify[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/python-box[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/stevedore[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/colorlog[${PYTHON_USEDEP}]
- dev-python/Faker[${PYTHON_USEDEP}]
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # strip unnecessary pins, upstream doesn't update them a lot
- sed -i -E -e 's:,?<=?[0-9.]+::' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- epytest -p tavern
-}
diff --git a/dev-python/tavern/tavern-2.6.0.ebuild b/dev-python/tavern/tavern-2.6.0.ebuild
deleted file mode 100644
index 0f7c20bb2375..000000000000
--- a/dev-python/tavern/tavern-2.6.0.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A tool, library, and Pytest plugin for testing RESTful APIs"
-HOMEPAGE="
- https://github.com/taverntesting/tavern/
- https://pypi.org/project/tavern/
-"
-SRC_URI="
- https://github.com/taverntesting/tavern/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/jmespath[${PYTHON_USEDEP}]
- dev-python/paho-mqtt[${PYTHON_USEDEP}]
- >=dev-python/pyjwt-2.6.0[${PYTHON_USEDEP}]
- dev-python/pykwalify[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- dev-python/python-box[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-6.0.1[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/stevedore[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/colorlog[${PYTHON_USEDEP}]
- dev-python/Faker[${PYTHON_USEDEP}]
- dev-python/jsonschema[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- local PATCHES=(
- "${FILESDIR}/${P}-py312.patch"
- )
-
- # strip unnecessary pins, upstream doesn't update them a lot
- sed -i -E -e 's:,?<=?[0-9.]+::' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p tavern
-}
diff --git a/dev-python/tblib/Manifest b/dev-python/tblib/Manifest
index 9fe4ecc5485d..ae7418165359 100644
--- a/dev-python/tblib/Manifest
+++ b/dev-python/tblib/Manifest
@@ -1,2 +1 @@
-DIST tblib-2.0.0.tar.gz 28695 BLAKE2B 7c7cb584e5a5f03d403253d94c051d7ffd988b2320b095376184b479f30674989cecd39ca43fd269884e73ad97e6f9424a29dec9f1338e002ebe1adfc31a52d4 SHA512 740e7b02c4ae61b12ed1c0c3623c5c2dd142aaa24989e57d67ceed4894212bc18d51f0ab0a97953f1a0e16b30ef992ecee3730038e8b8fd4a3bc437d4a1a92b0
DIST tblib-3.0.0.tar.gz 30616 BLAKE2B 4e2ea0e0f09894f1a8dee4d0dbdc61c054964e4ec5a8a1fbb31f3793268ab8607b5b6e547f7771264c9863522b01cdd39ef6aa4a91d757f1c37f9fac37d6cbaf SHA512 9914709846a4a9b0d9fe0f58eb321085f69e11ce364930f67cc5fec008d6ca57963b17699b0a136e2de91ff01004275fc43a38f318b9faab7cb2fac861108297
diff --git a/dev-python/tblib/tblib-2.0.0.ebuild b/dev-python/tblib/tblib-2.0.0.ebuild
deleted file mode 100644
index b512d6706e1b..000000000000
--- a/dev-python/tblib/tblib-2.0.0.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Traceback fiddling library for Python"
-HOMEPAGE="
- https://github.com/ionelmc/python-tblib/
- https://pypi.org/project/tblib/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/twisted[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/tblib/tblib-3.0.0.ebuild b/dev-python/tblib/tblib-3.0.0.ebuild
index 6a0f04f34722..9fd0ce148cf8 100644
--- a/dev-python/tblib/tblib-3.0.0.ebuild
+++ b/dev-python/tblib/tblib-3.0.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc ~x86 ~amd64-linux ~x86-linux"
+KEYWORDS="amd64 arm arm64 ~ia64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
RDEPEND="
dev-python/six[${PYTHON_USEDEP}]
diff --git a/dev-python/tcolorpy/Manifest b/dev-python/tcolorpy/Manifest
index 3c0a847843ef..16579238a9e1 100644
--- a/dev-python/tcolorpy/Manifest
+++ b/dev-python/tcolorpy/Manifest
@@ -1,2 +1 @@
-DIST tcolorpy-0.1.3.tar.gz 10880 BLAKE2B acae626ccc330b5eb0032d9e14d157bd1fbc588dc72c72ff700980ee9a572a4296700026ba26623857ae7bd43febe109c66b8e4d9eb0a82146d7eab90234207e SHA512 978360b224959f8d050fc889a329a191102cf42fb60c1ca298cd0ab53a6c75a4181ef7ded7282d05614cb415b56f141086e9efc6c9c32922aa9ccd3e101e9a1e
-DIST tcolorpy-0.1.4.tar.gz 11072 BLAKE2B 2ceefe31475d44546efbf919c6353caf3d023f269f1cf373185900704c88d318bd7c96beae2e0ef287a695ef1cf7367fd5e5dd21d73a61400b17a9a40d1d727a SHA512 4be98b0819c6eca0af55170e473e26b90d0c62b81c00fb1fe66b197f1fd6e7aec38cdd2b24dcc1b059af0ed1a54cfdc0900fad2e9145bf49b578d90edc65e74c
+DIST tcolorpy-0.1.6.tar.gz 298986 BLAKE2B ed21c484df83ce6e4d8a90acf982bd574dc308939599e451767006412f762ab71781ce41c98ccf1aafc39a19c12a862bb801ffb0a459b09310a01c9c5a35101d SHA512 c96cfbba2c42a17618aa68f252f6e18a5a842eeeced0d2ccdf6aee903d5552375575652bb4d6417e4e0f566b92750afccf9c3fc1866b67b95ab91d4129c02a0a
diff --git a/dev-python/tcolorpy/tcolorpy-0.1.3.ebuild b/dev-python/tcolorpy/tcolorpy-0.1.3.ebuild
deleted file mode 100644
index 00d4faf196ee..000000000000
--- a/dev-python/tcolorpy/tcolorpy-0.1.3.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="tcolorpy is a Python library to apply true color for terminal text"
-HOMEPAGE="https://github.com/thombashi/tcolorpy"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/tcolorpy/tcolorpy-0.1.4.ebuild b/dev-python/tcolorpy/tcolorpy-0.1.4.ebuild
deleted file mode 100644
index 7837ecb04fe0..000000000000
--- a/dev-python/tcolorpy/tcolorpy-0.1.4.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="tcolorpy is a Python library to apply true color for terminal text"
-HOMEPAGE="
- https://github.com/thombashi/tcolorpy/
- https://pypi.org/project/colorpy/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/tcolorpy/tcolorpy-0.1.6.ebuild b/dev-python/tcolorpy/tcolorpy-0.1.6.ebuild
new file mode 100644
index 000000000000..50fa0ad537de
--- /dev/null
+++ b/dev-python/tcolorpy/tcolorpy-0.1.6.ebuild
@@ -0,0 +1,25 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="tcolorpy is a Python library to apply true color for terminal text"
+HOMEPAGE="
+ https://github.com/thombashi/tcolorpy/
+ https://pypi.org/project/colorpy/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/tekore/Manifest b/dev-python/tekore/Manifest
index b0256ac7a2d7..9651149319c4 100644
--- a/dev-python/tekore/Manifest
+++ b/dev-python/tekore/Manifest
@@ -1,2 +1,3 @@
-DIST tekore-5.2.0.gh.tar.gz 262281 BLAKE2B 84f759ed5856f9fdab2f4ef115cad11e021ac0c0c4006e7d07c23a413778d1c45e68d0b4bdb8234688c99f026daf519047e4ce7760a58c71e75aa30009472117 SHA512 9151d6d83420c8f80b420535b344063814ca2dc0ca5681c196e7c920844ad6b6305562e59a8d4e23c694eab2b47029cc735a4b0a079a98828252a09e75236a73
-DIST tekore-5.2.1.gh.tar.gz 262294 BLAKE2B 9572f4e45d4e90421b49697e816e4c83220af55360276f77ad86fd4469afdb214ec5dceab6e65170e9050d0e728f0f4998c99c30e6379c25c405f922b61ad853 SHA512 f91d9b166acf2a9906dff4aec00328221f4d54e6f833b982cc782168552284c29ddd03f8da052ccabd93dc2e7bbe72c95019599d6b57fcccd1561f36d7136e63
+DIST tekore-5.3.1.tar.gz 270742 BLAKE2B 08fd8a4deeaa5024f5bb138c4f9bc3fae25f5a2b21c4298bf5d12932793b33e778dd2b15cbdbeec2f62cba841f55a59e6f2c43d51f968d01603dcadd5883d91a SHA512 8d81af1528bedcc4d76ee96f2b310d0522262b0466bbc30bf3849eb7b936067e42311acf9fe724377ec801f2863fa50de61f409363d00486c6d596ab01acb09e
+DIST tekore-5.4.0.tar.gz 270967 BLAKE2B 6cfaa8a113707e6944c445f3fda4d55a66fe9719870ce97a7e8f1a5f556ba9fa3a2ee09ff4e98a1e976cbeedbed23dd6268dfd47d06c159f29d30eb5d3fb041b SHA512 a2b943c066ad344a247b5861719965a57f151bdadd50c660a789f59a60bebd82ccbe88fc19cff4d50d21675f35d98c131069f700ff88952b58fe989d098242b5
+DIST tekore-5.5.0.tar.gz 270803 BLAKE2B 37b7410e701b67917af76bac07499a9a910916eed8e9dd87e394e420309ed9a3094a6cf600182db084523eeb6942c6a9ebfdda108f8b1f5ef848be4a02a32f6a SHA512 b78eea1fafd27bbeb230f9b697783e3b8cd1aebc93633f168dba07d94bee80ddefedf792ea7870b258757559256424db74d21f3e14201e8c3df801fac4d12067
diff --git a/dev-python/tekore/tekore-5.2.0.ebuild b/dev-python/tekore/tekore-5.2.0.ebuild
deleted file mode 100644
index 98ce61f606a8..000000000000
--- a/dev-python/tekore/tekore-5.2.0.ebuild
+++ /dev/null
@@ -1,55 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Spotify Web API client"
-HOMEPAGE="
- https://tekore.readthedocs.io/
- https://github.com/felix-hilden/tekore/
- https://pypi.org/project/tekore/
-"
-SRC_URI="
- https://github.com/felix-hilden/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-KEYWORDS="~amd64"
-SLOT="0"
-
-RDEPEND="
- <dev-python/httpx-0.26[${PYTHON_USEDEP}]
- >=dev-python/pydantic-1.8[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- >=dev-python/pydantic-2[${PYTHON_USEDEP}]
- >=dev-python/pytest-asyncio-0.17[${PYTHON_USEDEP}]
- dev-python/pytest-httpx[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( readme.rst )
-
-distutils_enable_tests pytest
-# TODO: package sphinx_codeautolink
-# distutils_enable_sphinx docs/src \
-# dev-python/sphinx-rtd-theme \
-# dev-python/sphinx-tabs \
-# dev-python/sphinx-autodoc-typehints
-
-EPYTEST_DESELECT=(
- # Internet
- tests/auth/expiring.py::TestCredentialsOnline::test_bad_arguments_raises_error
- # these tests use calls specific to pydantic-2
- # TODO: reselect when we can depend on >=pydantic-2
- tests/model.py::TestModel::test_enum_in_model
- tests/model.py::TestModel::test_unknown_attribute_ignored
-)
diff --git a/dev-python/tekore/tekore-5.2.1.ebuild b/dev-python/tekore/tekore-5.2.1.ebuild
deleted file mode 100644
index 19d6051b2c8f..000000000000
--- a/dev-python/tekore/tekore-5.2.1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Spotify Web API client"
-HOMEPAGE="
- https://tekore.readthedocs.io/
- https://github.com/felix-hilden/tekore/
- https://pypi.org/project/tekore/
-"
-SRC_URI="
- https://github.com/felix-hilden/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-KEYWORDS="~amd64 ~arm64"
-SLOT="0"
-
-RDEPEND="
- <dev-python/httpx-0.26[${PYTHON_USEDEP}]
- >=dev-python/pydantic-1.8[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- >=dev-python/pydantic-2[${PYTHON_USEDEP}]
- >=dev-python/pytest-asyncio-0.17[${PYTHON_USEDEP}]
- dev-python/pytest-httpx[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( readme.rst )
-
-distutils_enable_tests pytest
-# TODO: package sphinx_codeautolink
-# distutils_enable_sphinx docs/src \
-# dev-python/sphinx-rtd-theme \
-# dev-python/sphinx-tabs \
-# dev-python/sphinx-autodoc-typehints
-
-EPYTEST_DESELECT=(
- # Internet
- tests/auth/expiring.py::TestCredentialsOnline::test_bad_arguments_raises_error
-)
diff --git a/dev-python/tekore/tekore-5.3.1.ebuild b/dev-python/tekore/tekore-5.3.1.ebuild
new file mode 100644
index 000000000000..34aae5f71d45
--- /dev/null
+++ b/dev-python/tekore/tekore-5.3.1.ebuild
@@ -0,0 +1,52 @@
+# 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="Spotify Web API client"
+HOMEPAGE="
+ https://tekore.readthedocs.io/
+ https://github.com/felix-hilden/tekore/
+ https://pypi.org/project/tekore/
+"
+
+LICENSE="MIT"
+KEYWORDS="~amd64 ~arm64"
+SLOT="0"
+
+RDEPEND="
+ dev-python/httpx[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.8[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/pydantic-2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.17[${PYTHON_USEDEP}]
+ dev-python/pytest-httpx[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+# TODO: package sphinx_codeautolink
+# distutils_enable_sphinx docs/src \
+# dev-python/sphinx-rtd-theme \
+# dev-python/sphinx-tabs \
+# dev-python/sphinx-autodoc-typehints
+
+EPYTEST_DESELECT=(
+ # Internet
+ tests/auth/expiring.py::TestCredentialsOnline::test_bad_arguments_raises_error
+)
+
+src_prepare() {
+ # unpin dependencies
+ sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/tekore/tekore-5.4.0.ebuild b/dev-python/tekore/tekore-5.4.0.ebuild
new file mode 100644
index 000000000000..1f28340fe779
--- /dev/null
+++ b/dev-python/tekore/tekore-5.4.0.ebuild
@@ -0,0 +1,52 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Spotify Web API client"
+HOMEPAGE="
+ https://tekore.readthedocs.io/
+ https://github.com/felix-hilden/tekore/
+ https://pypi.org/project/tekore/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/httpx[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.8[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/pydantic-2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.17[${PYTHON_USEDEP}]
+ dev-python/pytest-httpx[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+# TODO: package sphinx_codeautolink
+# distutils_enable_sphinx docs/src \
+# dev-python/sphinx-rtd-theme \
+# dev-python/sphinx-tabs \
+# dev-python/sphinx-autodoc-typehints
+
+EPYTEST_DESELECT=(
+ # Internet
+ tests/auth/expiring.py::TestCredentialsOnline::test_bad_arguments_raises_error
+)
+
+src_prepare() {
+ # unpin dependencies
+ sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/tekore/tekore-5.5.0.ebuild b/dev-python/tekore/tekore-5.5.0.ebuild
new file mode 100644
index 000000000000..1f28340fe779
--- /dev/null
+++ b/dev-python/tekore/tekore-5.5.0.ebuild
@@ -0,0 +1,52 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Spotify Web API client"
+HOMEPAGE="
+ https://tekore.readthedocs.io/
+ https://github.com/felix-hilden/tekore/
+ https://pypi.org/project/tekore/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/httpx[${PYTHON_USEDEP}]
+ >=dev-python/pydantic-1.8[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ >=dev-python/pydantic-2[${PYTHON_USEDEP}]
+ >=dev-python/pytest-asyncio-0.17[${PYTHON_USEDEP}]
+ dev-python/pytest-httpx[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+# TODO: package sphinx_codeautolink
+# distutils_enable_sphinx docs/src \
+# dev-python/sphinx-rtd-theme \
+# dev-python/sphinx-tabs \
+# dev-python/sphinx-autodoc-typehints
+
+EPYTEST_DESELECT=(
+ # Internet
+ tests/auth/expiring.py::TestCredentialsOnline::test_bad_arguments_raises_error
+)
+
+src_prepare() {
+ # unpin dependencies
+ sed -i -e 's:,<[0-9.]*::' pyproject.toml || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/tempest/Manifest b/dev-python/tempest/Manifest
index f79bcc5498f2..ada01c488068 100644
--- a/dev-python/tempest/Manifest
+++ b/dev-python/tempest/Manifest
@@ -1 +1 @@
-DIST tempest-36.0.0.tar.gz 1137446 BLAKE2B f645b35b42252dc2bb4b7e1a3f609ee31e76d60e952c2ebb2a404b5f2e40b449aed0815631e922dffc71bd1598a5554277b851f54b99a37a1af328de171ec3ac SHA512 1d931052aa3fd9c76dc6ea23f861d43842877158307877235f5fc64d8a2a0a65dedefebec7ef5a7153aad7ccc3fc9954a882696adbaa6800af9ea2eb652790dc
+DIST tempest-39.0.0.tar.gz 1156891 BLAKE2B 8f4d4026f3b304b713d97a511ba85363ed39dde22ef6c529b75ba35d01619eca925cc759d899f16b791784cd0c1d7acaa78e8361189dd5167de8300e26d5e74e SHA512 4e60b7fe90b7943cb9208cab72188f3f3668fdc4fd90b4667e5f578f979f66dbc6e9a2486c47fb7f0f608ac8197b726da1fd6b7ded169d804705dc4e58eed256
diff --git a/dev-python/tempest/tempest-36.0.0.ebuild b/dev-python/tempest/tempest-36.0.0.ebuild
deleted file mode 100644
index 995bd0fb9acb..000000000000
--- a/dev-python/tempest/tempest-36.0.0.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="OpenStack Integration Testing"
-HOMEPAGE="
- https://pypi.org/project/tempest/
- https://docs.openstack.org/tempest/latest/
- https://launchpad.net/tempest/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-RDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- >dev-python/cliff-2.9.0[${PYTHON_USEDEP}]
- >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
- >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/paramiko-2.7.0[${PYTHON_USEDEP}]
- >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
- >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
- >=dev-python/oslo-utils-4.7.0[${PYTHON_USEDEP}]
- >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
- >=dev-python/subunit-1.0.0[${PYTHON_USEDEP}]
- >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
- >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.21.1[${PYTHON_USEDEP}]
- >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
- >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
- >=dev-python/fasteners-0.16.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
- test? (
- >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
- dev-python/stestr[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # Small subset of tests, which fail as result of not using specific
- # testing environment. Others expect to run suite using stestr.
- rm -r tempest/tests/lib/services/volume/v3/ || die
- rm tempest/tests/test_list_tests.py || die
- rm tempest/tests/lib/cmd/test_check_uuid.py || die
-
- # remove dep on hacking
- rm tempest/tests/test_hacking.py || die
-
- distutils-r1_src_prepare
-}
-
-python_compile() {
- distutils-r1_python_compile
- mv "${BUILD_DIR}"/install/{usr/,}etc || die
-}
-
-python_test() {
- local -x OS_LOG_CAPTURE=1 OS_STDOUT_CAPTURE=1 OS_STDERR_CAPTURE=1
- local -x OS_TEST_TIMEOUT=300
- eunittest -b -s tempest/tests -t .
-}
diff --git a/dev-python/tempest/tempest-39.0.0.ebuild b/dev-python/tempest/tempest-39.0.0.ebuild
new file mode 100644
index 000000000000..939a6b190404
--- /dev/null
+++ b/dev-python/tempest/tempest-39.0.0.ebuild
@@ -0,0 +1,74 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="OpenStack Integration Testing"
+HOMEPAGE="
+ https://pypi.org/project/tempest/
+ https://docs.openstack.org/tempest/latest/
+ https://launchpad.net/tempest/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ >dev-python/cliff-2.9.0[${PYTHON_USEDEP}]
+ >=dev-python/jsonschema-3.2.0[${PYTHON_USEDEP}]
+ >=dev-python/testtools-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/paramiko-2.7.0[${PYTHON_USEDEP}]
+ >=dev-python/netaddr-0.7.18[${PYTHON_USEDEP}]
+ >=dev-python/oslo-concurrency-3.26.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-config-5.2.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-log-3.36.0[${PYTHON_USEDEP}]
+ >=dev-python/oslo-utils-4.7.0[${PYTHON_USEDEP}]
+ >=dev-python/fixtures-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/pyyaml-3.12[${PYTHON_USEDEP}]
+ >=dev-python/subunit-1.0.0[${PYTHON_USEDEP}]
+ >=dev-python/stevedore-1.20.0[${PYTHON_USEDEP}]
+ >=dev-python/prettytable-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.21.1[${PYTHON_USEDEP}]
+ >=dev-python/debtcollector-1.2.0[${PYTHON_USEDEP}]
+ >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
+ >=dev-python/fasteners-0.16.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >dev-python/pbr-2.1.0[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/oslotest-3.2.0[${PYTHON_USEDEP}]
+ dev-python/stestr[${PYTHON_USEDEP}]
+ )
+"
+
+src_prepare() {
+ # Small subset of tests, which fail as result of not using specific
+ # testing environment.
+ rm -r tempest/tests/lib/services/volume/v3/ || die
+
+ # remove dep on hacking
+ rm tempest/tests/test_hacking.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ mv "${BUILD_DIR}"/install/{usr/,}etc || die
+}
+
+python_test() {
+ local -x OS_LOG_CAPTURE=1 OS_STDOUT_CAPTURE=1 OS_STDERR_CAPTURE=1
+ local -x OS_TEST_TIMEOUT=300
+ stestr --test-path ./tempest/tests run --concurrency="$(makeopts_jobs)" ||
+ die "Tests failed for ${EPYTHON}"
+}
diff --git a/dev-python/tempora/Manifest b/dev-python/tempora/Manifest
index c7202205eedc..168b78c6af03 100644
--- a/dev-python/tempora/Manifest
+++ b/dev-python/tempora/Manifest
@@ -1 +1,2 @@
-DIST tempora-5.5.0.tar.gz 20877 BLAKE2B 9978fbf5bea1ec9d948ba7440dcbe61e591f32cd6a9db7072beda0d2cec9fdcf1c8793117afdc445d8389446856b11c45b1b93cb27220454180a765008d2b1f5 SHA512 7cf1d7f826e71e03bb733f082f0ac1e8746f1db64776c436fe683369c70164902140df9547757d8ed489366a5f7b336415aec076ea3c4b0b7b633ed09527f01b
+DIST tempora-5.6.0.tar.gz 21659 BLAKE2B 865fc851d852e054b389cbc5731a9523297b134c6d6e812cff9a6dfda8be0c0c9b2aa5f63324642ef3c151529f82292d867d01bf68a9aaa4f7a3e6d296a8f4bd SHA512 dd8dfe94813a482a2493e3129c9dd4f40dd399bc933a5348454b903d49def1c84a417696c24b66533bcfa93d3d334c67114bdc0cc2512ce39384c039911b4d0d
+DIST tempora-5.7.0.tar.gz 22239 BLAKE2B 11c9ba681b1973b75e22cc4a2c8bcc1a2620e0284ce1b7d42fda25ce8c2a35bd4a9a4b329013143dbfd27613a327fb8d3d048d1230f679a240ed5ea6abc9761a SHA512 4c1bc7e45cfa1f415bfa6bcee3d6b82246477279b89328a98b8b944dddf7184a515e0733bb868321f63cbcb21fcb7847543a2643c059e6d2e0721c2e66ad4239
diff --git a/dev-python/tempora/tempora-5.5.0.ebuild b/dev-python/tempora/tempora-5.5.0.ebuild
deleted file mode 100644
index 299ca75169af..000000000000
--- a/dev-python/tempora/tempora-5.5.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Objects and routines pertaining to date and time"
-HOMEPAGE="
- https://github.com/jaraco/tempora/
- https://pypi.org/project/tempora/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/jaraco-functools-1.20[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/freezegun[${PYTHON_USEDEP}]
- dev-python/pytest-freezegun[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/tempora/tempora-5.6.0.ebuild b/dev-python/tempora/tempora-5.6.0.ebuild
new file mode 100644
index 000000000000..7816e04389af
--- /dev/null
+++ b/dev-python/tempora/tempora-5.6.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_TESTED=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Objects and routines pertaining to date and time"
+HOMEPAGE="
+ https://github.com/jaraco/tempora/
+ https://pypi.org/project/tempora/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/jaraco-functools-1.20[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/pytest-freezer[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p freezer
+}
diff --git a/dev-python/tempora/tempora-5.7.0.ebuild b/dev-python/tempora/tempora-5.7.0.ebuild
new file mode 100644
index 000000000000..1ee7ce022944
--- /dev/null
+++ b/dev-python/tempora/tempora-5.7.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_TESTED=( pypy3 python3_{10..13} )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Objects and routines pertaining to date and time"
+HOMEPAGE="
+ https://github.com/jaraco/tempora/
+ https://pypi.org/project/tempora/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/jaraco-functools-1.20[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ $(python_gen_cond_dep '
+ dev-python/pytest-freezer[${PYTHON_USEDEP}]
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ if ! has "${EPYTHON/./_}" "${PYTHON_TESTED[@]}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p freezer
+}
diff --git a/dev-python/tenacity/Manifest b/dev-python/tenacity/Manifest
index 633938a3c16a..669d9b68a546 100644
--- a/dev-python/tenacity/Manifest
+++ b/dev-python/tenacity/Manifest
@@ -1 +1 @@
-DIST tenacity-8.2.3.tar.gz 40651 BLAKE2B c79af0a6e0ee0af52fe47579b830ee911b10bd780467eaa22308443830a29cf76583455acbe53c92805abb51686db32696e94cb83ca2ce576a5508272e016fe4 SHA512 c1e82867c0be8a0a38d05ecee04568c3c4eebff85d8c1b90713e3ca953197da7a857d8dc20083afc4fa4b92cc5e43a8aabe8022bc104394acbe6a0aba7602613
+DIST tenacity-8.5.0.tar.gz 47309 BLAKE2B 6d3e1dbcac5facf9c838e13fa3cb0ff03c22cb490cf9ed17aea44e4486f7f256918415779adf3854e4ebb2b2496686265acf2f5e42621b01aa3b6d43910cd828 SHA512 f5568233321bbc6c6cfca0f362f627ff6eecf6094c55644ae46448b5f1d6466928a35a1435c97004b640ac95444e4e8c0bb2b21520e2bba5c619eeff36955e72
diff --git a/dev-python/tenacity/tenacity-8.2.3.ebuild b/dev-python/tenacity/tenacity-8.2.3.ebuild
deleted file mode 100644
index b394a6bdf30f..000000000000
--- a/dev-python/tenacity/tenacity-8.2.3.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="General-purpose retrying library"
-HOMEPAGE="
- https://github.com/jd/tenacity/
- https://pypi.org/project/tenacity/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/tornado[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
-
- if ! has_version "dev-python/typeguard[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- tests/test_tenacity.py::TestRetryTyping::test_retry_type_annotations
- )
- fi
-
- epytest
-}
diff --git a/dev-python/tenacity/tenacity-8.5.0.ebuild b/dev-python/tenacity/tenacity-8.5.0.ebuild
new file mode 100644
index 000000000000..5ed04356634f
--- /dev/null
+++ b/dev-python/tenacity/tenacity-8.5.0.ebuild
@@ -0,0 +1,39 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="General-purpose retrying library"
+HOMEPAGE="
+ https://github.com/jd/tenacity/
+ https://pypi.org/project/tenacity/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~m68k ~ppc64 ~riscv ~sparc x86"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/tornado-6.4-r1[${PYTHON_USEDEP}]
+ dev-python/typeguard[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # fragile to timing
+ tests/test_asyncio.py::TestContextManager::test_sleeps
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/termcolor/Manifest b/dev-python/termcolor/Manifest
index 792430ffdba4..b290d3416c14 100644
--- a/dev-python/termcolor/Manifest
+++ b/dev-python/termcolor/Manifest
@@ -1,2 +1 @@
-DIST termcolor-2.3.0.py.tar.gz 12163 BLAKE2B a500cc13b0a7d43c32981f82408491c6fd30e489c1729bdbecae6e13e9deefe4a54944da56a241bc5c5f5411abfc2671dab8bc3ae23adf907f7eba617223f308 SHA512 0ccfd9320235215b85ddbf099399aaa325dd7176be7a39225377a81c372f9733105dcfe4a9e577cdca451be1f9b5538a071fc511bccd226fe0c4cbecb536bbf3
DIST termcolor-2.4.0.py.tar.gz 12664 BLAKE2B e5cf8f3ce1d27ffc0128cd9c1e38323e1e579a7a4017254a1d03c5f5baf0fa897522134ea68929c2e492b933fe8a6c3d79b55cb674fa3af134445581d870bf85 SHA512 e715940ccc8863baae020345cabc8fc90b5bbbd5ef4b384de96920a90d97508cee6f863aa39a2c08971e58f45cf85ec73c0659715f54072bbc57612681138355
diff --git a/dev-python/termcolor/termcolor-2.3.0.ebuild b/dev-python/termcolor/termcolor-2.3.0.ebuild
deleted file mode 100644
index 997bbd927f97..000000000000
--- a/dev-python/termcolor/termcolor-2.3.0.ebuild
+++ /dev/null
@@ -1,27 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="ANSI Color formatting for output in terminal"
-HOMEPAGE="
- https://github.com/termcolor/termcolor/
- https://pypi.org/project/termcolor/
-"
-# rename is for avoiding conflict with dev-cpp/termcolor
-SRC_URI="$(pypi_sdist_url) -> ${P}.py.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/termcolor/termcolor-2.4.0.ebuild b/dev-python/termcolor/termcolor-2.4.0.ebuild
index 7ace1b1d05f7..38a0a3c0728f 100644
--- a/dev-python/termcolor/termcolor-2.4.0.ebuild
+++ b/dev-python/termcolor/termcolor-2.4.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -18,7 +18,7 @@ SRC_URI="$(pypi_sdist_url) -> ${P}.py.tar.gz"
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
BDEPEND="
dev-python/hatch-vcs[${PYTHON_USEDEP}]
diff --git a/dev-python/terminado/Manifest b/dev-python/terminado/Manifest
index 0a4a312eb749..eac4d1ddf22a 100644
--- a/dev-python/terminado/Manifest
+++ b/dev-python/terminado/Manifest
@@ -1 +1 @@
-DIST terminado-0.18.0.tar.gz 32250 BLAKE2B 1993df502e0e54f78160aca91b475f989cd83a3ea6dedef3d70db7a2d2c7b4dd8ccbcb854302e665f079f4b12c91ad434c23407974ad18e8c6e1f47cf54179ec SHA512 4cefaf34e00d4c22b01c2cfbd55e385df1c2ad6e812fb6f9a47d1af2126251028d633a40c20e9babec7de927a44fc580c5972f85d00fbdd32b895a4197346c90
+DIST terminado-0.18.1.tar.gz 32701 BLAKE2B 136a4b8e9cd60c96d2e67c612bdcaa58c3e740d0782ecd9c15235d9a7b74ccab6e8f86502f6f73af355630446bcc3d4181b46922ae074bbb171be68bc04caaf6 SHA512 a7b5a420cef31926756fcfd6b7353868f9a5f169969940695348d7bd04501fc0f5e1e1814f8580f4e47edfc0218d29e145244102d66aaecb48fbe2afb39a7482
diff --git a/dev-python/terminado/terminado-0.18.0.ebuild b/dev-python/terminado/terminado-0.18.0.ebuild
deleted file mode 100644
index c17a455d8281..000000000000
--- a/dev-python/terminado/terminado-0.18.0.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2023 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="Terminals served to term.js using Tornado websockets"
-HOMEPAGE="
- https://github.com/jupyter/terminado/
- https://pypi.org/project/terminado/
-"
-
-SLOT="0"
-LICENSE="BSD-2"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- dev-python/ptyprocess[${PYTHON_USEDEP}]
- dev-python/tornado[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- # workaround new readline defaults
- echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
- local -x INPUTRC="${T}"/inputrc
- distutils-r1_src_test
-}
diff --git a/dev-python/terminado/terminado-0.18.1.ebuild b/dev-python/terminado/terminado-0.18.1.ebuild
new file mode 100644
index 000000000000..a7ff9b788a81
--- /dev/null
+++ b/dev-python/terminado/terminado-0.18.1.ebuild
@@ -0,0 +1,44 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Terminals served to term.js using Tornado websockets"
+HOMEPAGE="
+ https://github.com/jupyter/terminado/
+ https://pypi.org/project/terminado/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ dev-python/ptyprocess[${PYTHON_USEDEP}]
+ dev-python/tornado[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-rerunfailures[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ # workaround new readline defaults
+ echo "set enable-bracketed-paste off" > "${T}"/inputrc || die
+ local -x INPUTRC="${T}"/inputrc
+ distutils-r1_src_test
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p timeout -p rerunfailures --reruns=3
+}
diff --git a/dev-python/terminaltables/terminaltables-3.1.10-r1.ebuild b/dev-python/terminaltables/terminaltables-3.1.10-r1.ebuild
index 50ffbc6b6a46..728d259c1a31 100644
--- a/dev-python/terminaltables/terminaltables-3.1.10-r1.ebuild
+++ b/dev-python/terminaltables/terminaltables-3.1.10-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/terminaltables/terminaltables-9999.ebuild b/dev-python/terminaltables/terminaltables-9999.ebuild
index 10b2ae4c6d5c..ff444cb98746 100644
--- a/dev-python/terminaltables/terminaltables-9999.ebuild
+++ b/dev-python/terminaltables/terminaltables-9999.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 git-r3
diff --git a/dev-python/testfixtures/Manifest b/dev-python/testfixtures/Manifest
index 2241a86ce2e9..6a6c1a095be4 100644
--- a/dev-python/testfixtures/Manifest
+++ b/dev-python/testfixtures/Manifest
@@ -1 +1 @@
-DIST testfixtures-7.2.2.tar.gz 133809 BLAKE2B 6a3701bb9c5ca476aadc144f1013268f87e10dd47a6f757e8a0aaa3feb33e1a06663a38f0789b7c54cf439b07562dfb638bd9b89efdc36831d04977f6035ecc8 SHA512 4f7a5ed659b650080deac0b1caff6d2dff0b71d23eaeb26b48b7daa4df85dc0a1f6cfef98275c9a90289eb893c0a06311c849b84f2cc35447fb766f4d0d41c89
+DIST testfixtures-8.3.0.tar.gz 137420 BLAKE2B bf0fe6705bbbb33a26dcc98be061c1dafbe331ca6c4ac8c028e146f7e156870ee8abe5118b3182600e8d513530c442a4fa1efa696253b9b0c114733bd40fc6ee SHA512 b2c18a35c44b90bce50cc68ca9bf9909ac8f75287c7188eeddfa855aec1db3bd14f3fccb4c5ef0e44b19c683ad4bd6be4876554ce9127698e8e20cbfa4191800
diff --git a/dev-python/testfixtures/testfixtures-7.2.2.ebuild b/dev-python/testfixtures/testfixtures-7.2.2.ebuild
deleted file mode 100644
index 30bd34356b19..000000000000
--- a/dev-python/testfixtures/testfixtures-7.2.2.ebuild
+++ /dev/null
@@ -1,59 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A collection of helpers and mock objects for unit tests and doc tests"
-HOMEPAGE="
- https://pypi.org/project/testfixtures/
- https://github.com/Simplistix/testfixtures/
-"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-BDEPEND="
- test? (
- $(python_gen_impl_dep sqlite)
- dev-python/django[${PYTHON_USEDEP}]
- dev-python/pytest-django[${PYTHON_USEDEP}]
- dev-python/sybil[${PYTHON_USEDEP}]
- >=dev-python/twisted-18[${PYTHON_USEDEP}]
- dev-python/zope-component[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs \
- dev-python/furo
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTHONPATH="."
- local -x DJANGO_SETTINGS_MODULE=testfixtures.tests.test_django.settings
-
- local EPYTEST_DESELECT=(
- # TODO
- testfixtures/tests/test_shouldwarn.py::ShouldWarnTests::test_filter_missing
- testfixtures/tests/test_shouldwarn.py::ShouldWarnTests::test_filter_present
- )
-
- case ${EPYTHON} in
- python3.12)
- EPYTEST_DESELECT+=(
- # https://github.com/simplistix/testfixtures/issues/183
- docs/comparing.txt::line:790,column:1
- docs/comparing.txt::line:829,column:1
- testfixtures/tests/test_tempdirectory.py::TempDirectoryTests::test_as_path_relative_sequence
- testfixtures/tests/test_tempdirectory.py::TempDirectoryTests::test_as_path_relative_string
- )
- ;;
- esac
-
- epytest
-}
diff --git a/dev-python/testfixtures/testfixtures-8.3.0.ebuild b/dev-python/testfixtures/testfixtures-8.3.0.ebuild
new file mode 100644
index 000000000000..775a139ae59c
--- /dev/null
+++ b/dev-python/testfixtures/testfixtures-8.3.0.ebuild
@@ -0,0 +1,61 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A collection of helpers and mock objects for unit tests and doc tests"
+HOMEPAGE="
+ https://pypi.org/project/testfixtures/
+ https://github.com/Simplistix/testfixtures/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~loong ~ppc ~ppc64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ test? (
+ $(python_gen_impl_dep sqlite)
+ dev-python/django[${PYTHON_USEDEP}]
+ dev-python/pytest-django[${PYTHON_USEDEP}]
+ >=dev-python/sybil-6[${PYTHON_USEDEP}]
+ >=dev-python/twisted-18[${PYTHON_USEDEP}]
+ sys-libs/timezone-data
+ )
+"
+
+distutils_enable_sphinx docs \
+ dev-python/furo
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTHONPATH="."
+ local -x DJANGO_SETTINGS_MODULE=testfixtures.tests.test_django.settings
+
+ local EPYTEST_DESELECT=(
+ # TODO
+ testfixtures/tests/test_shouldwarn.py::ShouldWarnTests::test_filter_missing
+ testfixtures/tests/test_shouldwarn.py::ShouldWarnTests::test_filter_present
+ )
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # changed exception message
+ testfixtures/tests/test_replace.py::TestReplaceWithInterestingOriginsNotStrict::test_invalid_attribute_on_instance_of_slotted_cl
+ )
+ esac
+
+ local EPYTEST_IGNORE=()
+ if ! has_version "dev-python/twisted[${PYTHON_USEDEP}]"; then
+ EPYTEST_IGNORE+=(
+ testfixtures/tests/test_twisted.py
+ )
+ fi
+
+ epytest
+}
diff --git a/dev-python/testpath/testpath-0.6.0.ebuild b/dev-python/testpath/testpath-0.6.0.ebuild
index cd0fac55c802..bfd0a36131be 100644
--- a/dev-python/testpath/testpath-0.6.0.ebuild
+++ b/dev-python/testpath/testpath-0.6.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/testresources/testresources-2.0.1-r3.ebuild b/dev-python/testresources/testresources-2.0.1-r3.ebuild
index 9d28740da7fd..56011df035f1 100644
--- a/dev-python/testresources/testresources-2.0.1-r3.ebuild
+++ b/dev-python/testresources/testresources-2.0.1-r3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/testscenarios/testscenarios-0.5.0-r3.ebuild b/dev-python/testscenarios/testscenarios-0.5.0-r3.ebuild
index 2af67c1a1ba8..e8b1652bd4a1 100644
--- a/dev-python/testscenarios/testscenarios-0.5.0-r3.ebuild
+++ b/dev-python/testscenarios/testscenarios-0.5.0-r3.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/testtools/Manifest b/dev-python/testtools/Manifest
index a428d17f9cc8..33fd48415eaa 100644
--- a/dev-python/testtools/Manifest
+++ b/dev-python/testtools/Manifest
@@ -1 +1 @@
-DIST testtools-2.7.1.tar.gz 200953 BLAKE2B b410735faf153749e3996c8889f56fbffab67a8f49b52f21afa60e72af201a12891d4db00b808324d52159b02e9212b81ab958c1dcf0cae5551471540f8fec0b SHA512 78af1c2af6f93671074dafedeaaf3ddbcc806e78c3153a3b90f88874c967e34a18cb85e5649b08fabb4ba4ae649eeb401e79c77c3b9233d9eee2a3c2267a4596
+DIST testtools-2.7.2.tar.gz 201430 BLAKE2B d827d8e66c85908f4d16aa0762c3b0a454d374a0d23323fc3c123027f55f0e85f4fea9a24b5d1d0279266af2185f08abbcbbdcb785014b237df45a6448587611 SHA512 5815519d2b72d6b1e9f453c02793c70eb7d3b6580a211fb3708cd6121aed3c6100ceb1e35321f481a63b1f999ede030e43f1ae91d3621faf461c1908db767551
diff --git a/dev-python/testtools/files/testtools-2.7.2-twisted-fix.patch b/dev-python/testtools/files/testtools-2.7.2-twisted-fix.patch
new file mode 100644
index 000000000000..bbf943be60d1
--- /dev/null
+++ b/dev-python/testtools/files/testtools-2.7.2-twisted-fix.patch
@@ -0,0 +1,45 @@
+From 5b8cb6497c7159f593e68de6a13e15f7e78e56e3 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@atlas.cz>
+Date: Mon, 1 Jul 2024 10:00:05 +0200
+Subject: [PATCH] Prepare tests for upcoming twisted version
+
+Twisted recently changed behavior of logger on failures [1]. It newly
+logs the `Main loop terminated.` even on exceptions, which breaks two
+test in twistedsupport test suite. This hack attempts to address the
+upcoming issue.
+
+[1] https://github.com/twisted/twisted/pull/12207
+
+Upstream-PR: https://github.com/testing-cabal/testtools/pull/387
+
+diff --git a/testtools/tests/twistedsupport/test_runtest.py b/testtools/tests/twistedsupport/test_runtest.py
+index 4b46cc64..f8faf7c6 100644
+--- a/testtools/tests/twistedsupport/test_runtest.py
++++ b/testtools/tests/twistedsupport/test_runtest.py
+@@ -16,7 +16,6 @@
+ Contains,
+ ContainsAll,
+ ContainsDict,
+- EndsWith,
+ Equals,
+ Is,
+ KeysEqual,
+@@ -749,7 +748,7 @@ def test_something(self):
+ test,
+ {
+ "traceback": Not(Is(None)),
+- "twisted-log": AsText(EndsWith(" foo\n")),
++ "twisted-log": AsText(Contains(" foo\n")),
+ },
+ ),
+ ("stopTest", test),
+@@ -790,7 +789,8 @@ def test_something(self):
+ result = self.make_result()
+ runner.run(result)
+ self.assertThat(
+- messages, MatchesListwise([ContainsDict({"message": Equals(("foo",))})])
++ messages[0:1],
++ MatchesListwise([ContainsDict({"message": Equals(("foo",))})]),
+ )
+
+ def test_restore_observers(self):
diff --git a/dev-python/testtools/testtools-2.7.1.ebuild b/dev-python/testtools/testtools-2.7.1.ebuild
deleted file mode 100644
index b152880134c7..000000000000
--- a/dev-python/testtools/testtools-2.7.1.ebuild
+++ /dev/null
@@ -1,38 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Extensions to the Python standard library unit testing framework"
-HOMEPAGE="
- https://github.com/testing-cabal/testtools/
- https://pypi.org/project/testtools/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- >=dev-python/fixtures-2.0.0[${PYTHON_USEDEP}]
- dev-python/testscenarios[${PYTHON_USEDEP}]
- dev-python/testresources[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx doc
-
-python_test() {
- "${PYTHON}" -m testtools.run testtools.tests.test_suite ||
- die "tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/testtools/testtools-2.7.2.ebuild b/dev-python/testtools/testtools-2.7.2.ebuild
new file mode 100644
index 000000000000..d26da3f05732
--- /dev/null
+++ b/dev-python/testtools/testtools-2.7.2.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Extensions to the Python standard library unit testing framework"
+HOMEPAGE="
+ https://github.com/testing-cabal/testtools/
+ https://pypi.org/project/testtools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ >=dev-python/fixtures-2.0.0[${PYTHON_USEDEP}]
+ dev-python/testscenarios[${PYTHON_USEDEP}]
+ dev-python/testresources[${PYTHON_USEDEP}]
+ dev-python/twisted[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.7.2-twisted-fix.patch"
+)
+
+distutils_enable_sphinx doc
+
+python_test() {
+ cp testtools/tests/__init__.py test_suite.py || die
+ if ! has_version "dev-python/twisted[${PYTHON_USEDEP}]"; then
+ sed -i -e '/twistedsupport/d' test_suite.py || die
+ fi
+
+ "${EPYTHON}" -m testtools.run test_suite.test_suite ||
+ die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/text-unidecode/text-unidecode-1.3-r1.ebuild b/dev-python/text-unidecode/text-unidecode-1.3-r1.ebuild
index c43db6e5c99f..e8294e2f83b1 100644
--- a/dev-python/text-unidecode/text-unidecode-1.3-r1.ebuild
+++ b/dev-python/text-unidecode/text-unidecode-1.3-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/textX/textX-4.0.1.ebuild b/dev-python/textX/textX-4.0.1.ebuild
index 8d63e4c0ada0..8cd0bdcb6985 100644
--- a/dev-python/textX/textX-4.0.1.ebuild
+++ b/dev-python/textX/textX-4.0.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/textdistance/Manifest b/dev-python/textdistance/Manifest
index 369a95ea65e1..f480ccbdbe2a 100644
--- a/dev-python/textdistance/Manifest
+++ b/dev-python/textdistance/Manifest
@@ -1 +1,2 @@
-DIST textdistance-4.6.0.gh.tar.gz 46639 BLAKE2B 3d39dfb43c9d3a10ec0c638dd02fd8ee6ccf3d3b06821b8af9331ccfd76a6cae4b33095bd6f71edb670e35a786478f0f7f72baefe4ec3db1a8581a0d8dead4ab SHA512 3e75fde1fc2b0d1dc3917d3860483c5a0aa25affd68c0f05c4888f2404e7e96e6da7b2e581ee3d96626a0a7d4c7ca1e096626224756ec784e72be22681b56116
+DIST textdistance-4.6.2.gh.tar.gz 46619 BLAKE2B 0a205bd5615f252f4ab832597b26cd81f3a817fa9544675b947b2ba8a9d8c128ad261a09fb1ee118e0ca807ff7721f3594de5da11f5df59c90c2d9b7110b84ff SHA512 4e5ec7ef76cfd45b05f5813d624d934a6aa90c326b8bc1af50fdde51c4fda141d5aa826e7a145f4cf59f7d7cbcdcf775746eeb197a2adef3c62ad8570d699890
+DIST textdistance-4.6.3.gh.tar.gz 46631 BLAKE2B 9d4c2172934ba14326fe8ecdf7e955cd664196e58d8cc0c58f712525e6ea3aaa267879c09ba5a67ab015f6abd37593af959f02262c5a4a2fa08a859fe38a52b4 SHA512 ad9b8e031a8ae11dd2cd0f8ee8ee42f15e14eccc05910a45b4b5bf2f2048c4895da354832f88957502998b423616a54e64b94a093e4ddb7be2744c19e7f283e9
diff --git a/dev-python/textdistance/textdistance-4.6.0.ebuild b/dev-python/textdistance/textdistance-4.6.0.ebuild
deleted file mode 100644
index bff5aeb527cd..000000000000
--- a/dev-python/textdistance/textdistance-4.6.0.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Compute distance between the two texts"
-HOMEPAGE="
- https://github.com/life4/textdistance/
- https://pypi.org/project/textdistance/
-"
-SRC_URI="
- https://github.com/life4/textdistance/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
-
-BDEPEND="
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- tests/test_external.py
-)
diff --git a/dev-python/textdistance/textdistance-4.6.2.ebuild b/dev-python/textdistance/textdistance-4.6.2.ebuild
new file mode 100644
index 000000000000..65f504fe0b61
--- /dev/null
+++ b/dev-python/textdistance/textdistance-4.6.2.ebuild
@@ -0,0 +1,36 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Compute distance between the two texts"
+HOMEPAGE="
+ https://github.com/life4/textdistance/
+ https://pypi.org/project/textdistance/
+"
+SRC_URI="
+ https://github.com/life4/textdistance/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
+
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ tests/test_external.py
+)
diff --git a/dev-python/textdistance/textdistance-4.6.3.ebuild b/dev-python/textdistance/textdistance-4.6.3.ebuild
new file mode 100644
index 000000000000..cbe654456441
--- /dev/null
+++ b/dev-python/textdistance/textdistance-4.6.3.ebuild
@@ -0,0 +1,36 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Compute distance between the two texts"
+HOMEPAGE="
+ https://github.com/life4/textdistance/
+ https://pypi.org/project/textdistance/
+"
+SRC_URI="
+ https://github.com/life4/textdistance/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~riscv ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ tests/test_external.py
+)
diff --git a/dev-python/textile/textile-4.0.2-r1.ebuild b/dev-python/textile/textile-4.0.2-r1.ebuild
new file mode 100644
index 000000000000..3810139c4376
--- /dev/null
+++ b/dev-python/textile/textile-4.0.2-r1.ebuild
@@ -0,0 +1,42 @@
+# 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..13} )
+
+inherit distutils-r1
+
+MY_P="python-textile-${PV}"
+DESCRIPTION="A Python port of Textile, A humane web text generator"
+HOMEPAGE="
+ https://github.com/textile/python-textile/
+ https://pypi.org/project/textile/
+"
+SRC_URI="
+ https://github.com/textile/python-textile/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ppc ppc64 ~riscv sparc x86"
+
+RDEPEND="
+ dev-python/html5lib[${PYTHON_USEDEP}]
+ dev-python/regex[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # tests that need network access
+ tests/test_getimagesize.py
+ tests/test_imagesize.py
+ tests/test_textile.py
+ )
+ epytest -o addopts=
+}
diff --git a/dev-python/textile/textile-4.0.2.ebuild b/dev-python/textile/textile-4.0.2.ebuild
deleted file mode 100644
index 66b78966dcb8..000000000000
--- a/dev-python/textile/textile-4.0.2.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P="python-textile-${PV}"
-DESCRIPTION="A Python port of Textile, A humane web text generator"
-HOMEPAGE="
- https://github.com/textile/python-textile/
- https://pypi.org/project/textile/
-"
-SRC_URI="
- https://github.com/textile/python-textile/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ppc ppc64 ~riscv sparc x86"
-
-RDEPEND="
- dev-python/html5lib[${PYTHON_USEDEP}]
- dev-python/regex[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # tests that need network access
- tests/test_getimagesize.py
- tests/test_imagesize.py
- tests/test_textile.py
- )
- epytest -o addopts=
-}
diff --git a/dev-python/texttable/texttable-1.7.0.ebuild b/dev-python/texttable/texttable-1.7.0.ebuild
index 668ec2f5e46f..c6f79bc0f8e1 100644
--- a/dev-python/texttable/texttable-1.7.0.ebuild
+++ b/dev-python/texttable/texttable-1.7.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 optfeature
diff --git a/dev-python/threadpoolctl/Manifest b/dev-python/threadpoolctl/Manifest
index 7b20b1aa821c..ed1ed1ae4de2 100644
--- a/dev-python/threadpoolctl/Manifest
+++ b/dev-python/threadpoolctl/Manifest
@@ -1 +1 @@
-DIST threadpoolctl-3.2.0.gh.tar.gz 32196 BLAKE2B 662b2ab6908719c11881dbaba00437b049f71dc8b6c5c8f4c3733cd156312a6410eca19d0446e11cfaddd039261adb25398a3827e822584ad52b428e67fc6b17 SHA512 01017047ceaa353239fea5410be3b6cd924068d7e18a80bc04cc07f08341e3405fa8620a8e5f43f16b674a3ce535d15e42b41741f78079fb61e618c8b9d1583d
+DIST threadpoolctl-3.5.0.gh.tar.gz 37417 BLAKE2B 56b175afb96ce824286f42d0384c158823460b15f66c56b9b904c99e258629ed892906a16f15c3626908c293d25879cc0ca114d0578b1daff3610c2e9b38a3ed SHA512 6b24a6b3df3104b4222df5a20a8c7e321753dfa9ab0df872345a715d5f9ced2a577fe0d730dc4fd382e0ecfdb91a244eb28ba0b831d5db5af98f246f8f56228d
diff --git a/dev-python/threadpoolctl/threadpoolctl-3.2.0.ebuild b/dev-python/threadpoolctl/threadpoolctl-3.2.0.ebuild
deleted file mode 100644
index 81b1fb55997f..000000000000
--- a/dev-python/threadpoolctl/threadpoolctl-3.2.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 2020-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Limit the number of threads used in native libs that have their own threadpool"
-HOMEPAGE="
- https://github.com/joblib/threadpoolctl/
- https://pypi.org/project/threadpoolctl/
-"
-SRC_URI="
- https://github.com/joblib/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv x86 ~arm64-macos ~x64-macos"
-
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Asserts against a hardcoded list of CPUs. Either we skip it
- # or file bugs about missing architectures until upstream realizes
- # how bad idea that were.
- tests/test_threadpoolctl.py::test_architecture
- # This test fails if the Python executable (or any library that it
- # links to) uses OpenMP. This can particularly be the case with
- # CPython 3.12 that links to app-crypt/libb2.
- # https://github.com/joblib/threadpoolctl/issues/146
- tests/test_threadpoolctl.py::test_command_line_empty
-)
diff --git a/dev-python/threadpoolctl/threadpoolctl-3.5.0.ebuild b/dev-python/threadpoolctl/threadpoolctl-3.5.0.ebuild
new file mode 100644
index 000000000000..6ca8d30b9588
--- /dev/null
+++ b/dev-python/threadpoolctl/threadpoolctl-3.5.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 2020-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Limit the number of threads used in native libs that have their own threadpool"
+HOMEPAGE="
+ https://github.com/joblib/threadpoolctl/
+ https://pypi.org/project/threadpoolctl/
+"
+SRC_URI="
+ https://github.com/joblib/threadpoolctl/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ppc64 ~riscv x86 ~arm64-macos ~x64-macos"
+
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # Asserts against a hardcoded list of CPUs. Either we skip it
+ # or file bugs about missing architectures until upstream realizes
+ # how bad idea that were.
+ tests/test_threadpoolctl.py::test_architecture
+ # This test fails if the Python executable (or any library that it
+ # links to) uses OpenMP. This can particularly be the case with
+ # CPython 3.12 that links to app-crypt/libb2.
+ # https://github.com/joblib/threadpoolctl/issues/146
+ tests/test_threadpoolctl.py::test_command_line_empty
+)
diff --git a/dev-python/three-merge/three-merge-0.1.1-r1.ebuild b/dev-python/three-merge/three-merge-0.1.1-r1.ebuild
index c2f76ff6341e..bbafa8eb561a 100644
--- a/dev-python/three-merge/three-merge-0.1.1-r1.ebuild
+++ b/dev-python/three-merge/three-merge-0.1.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/thrift/Manifest b/dev-python/thrift/Manifest
index 4e5bde988056..836f16932889 100644
--- a/dev-python/thrift/Manifest
+++ b/dev-python/thrift/Manifest
@@ -1 +1 @@
-DIST thrift-0.16.0.tar.gz 4085114 BLAKE2B 17c35096f6848fb0795e4cb125fed3068c8e1e53f67f404f4dcab67df7a42fc049a7d615591c861eb9e59e3333e21f185e8615663008bc7c846a03722ea8b834 SHA512 468fff6be2def85959fdf8adac92a0cfa7f786083b3bafb2c31427dfe5725f4d10962052d13ea960828f6a317778d35e66b602744a570212352bfc637ae586e0
+DIST thrift-0.20.0.tar.gz 4397667 BLAKE2B 23422fdcdf7e0dbce8bc0f8017f54b5848594e2da21de56834152c17c74da7d1c4df23c5b57cf3ba811bb03f1a8588ddf1c2a05222bb726aceda4292a15af21e SHA512 8dc77f666e60141a6b3cf7ee1407b08a0e80d176f8ccfee69317d7df89ab87aea2c7b3ba3e59d4561835edf1ce23762443ad5aeed0099bf075b010853d5eb1cd
diff --git a/dev-python/thrift/metadata.xml b/dev-python/thrift/metadata.xml
index abb484e6dd78..66f4b63e28d6 100644
--- a/dev-python/thrift/metadata.xml
+++ b/dev-python/thrift/metadata.xml
@@ -1,11 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>grobian@gentoo.org</email>
- <name>Fabian Groffen</name>
- </maintainer>
+ <!-- maintainer-needed -->
<upstream>
+ <remote-id type="github">apache/thrift</remote-id>
<remote-id type="pypi">thrift</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/thrift/thrift-0.16.0.ebuild b/dev-python/thrift/thrift-0.16.0.ebuild
deleted file mode 100644
index b6038d7247e8..000000000000
--- a/dev-python/thrift/thrift-0.16.0.ebuild
+++ /dev/null
@@ -1,18 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-inherit distutils-r1
-
-DESCRIPTION="Python implementation of Thrift"
-HOMEPAGE="https://pypi.org/project/thrift/ https://thrift.apache.org/"
-SRC_URI="https://downloads.apache.org/${PN}/${PV}/${P}.tar.gz"
-S="${WORKDIR}/${P}/lib/py"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 ~riscv x86 ~amd64-linux ~x86-linux"
-RESTRICT="test"
diff --git a/dev-python/thrift/thrift-0.20.0.ebuild b/dev-python/thrift/thrift-0.20.0.ebuild
new file mode 100644
index 000000000000..261fd69010bc
--- /dev/null
+++ b/dev-python/thrift/thrift-0.20.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_EXT=1
+PYTHON_COMPAT=( python3_{10..13} )
+inherit distutils-r1
+
+DESCRIPTION="Python implementation of Thrift"
+HOMEPAGE="
+ https://pypi.org/project/thrift/
+ https://thrift.apache.org/
+ https://github.com/apache/thrift
+"
+SRC_URI="https://downloads.apache.org/${PN}/${PV}/${P}.tar.gz"
+S="${WORKDIR}/${P}/lib/py"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+distutils_enable_tests unittest
+
+python_test() {
+ eunittest test
+}
+
+src_install() {
+ distutils-r1_src_install
+ # avoid file collision with dev-libs/thrift (bug #933272)
+ mv "${D}"/usr/share/doc/${P}/README.md \
+ "${D}"/usr/share/doc/${P}/ReadMe.md || die
+}
diff --git a/dev-python/thriftpy2/Manifest b/dev-python/thriftpy2/Manifest
index 164100a42801..c15434f038e4 100644
--- a/dev-python/thriftpy2/Manifest
+++ b/dev-python/thriftpy2/Manifest
@@ -1,2 +1,2 @@
-DIST thriftpy2-0.4.16.gh.tar.gz 146991 BLAKE2B 7547ea85106d0929d3e6ee771ff10ad2cd047f4e779c668e4a30ee936ac04d470e16d8321a2771db4404f57e1be41438b4a302bc04b8e4698db03de35dbfa5e9 SHA512 c00b21eb7db3fe91843a5129d16e7af2a29331489e7d8394bcf78eb5c4b8054162b9c5a024eec8080708dbffc491db7922258ecd895477cda49dcc7d56297ecf
-DIST thriftpy2-0.4.17.tar.gz 519386 BLAKE2B 29c383cb886debb7167fbcef3526d0c027dc60db5ae20c554ea19067bb9a3ab40bea50392bd903293c5d9de1e3bc210220d887bd71194f91345a7565f577ccd9 SHA512 7c58eb6d0c91c933e31654d28ce2f4ef04854551db3eb5b8022565932761c74d95f27d44fc847f93723e535fdb4997fdad66a9dba432aa44e27e069e73b7ff7e
+DIST thriftpy2-0.5.0.tar.gz 779019 BLAKE2B b29e5349e11e3ce3bd587a7c8212cd6def7b9b287554a068399591bb7493a5c1d0e97c9b38a64973c01d27a83d49e181aad64cb41ce9500e40b96c813caa7b2d SHA512 f4c83bac053a2f073507e38f284f981bd129ee960dc9817f3bd5795c8e9773b78fa23d49d97cb5975783dbd1f4b52f380861bf4fc32a1af795365f703856f350
+DIST thriftpy2-0.5.2.tar.gz 782261 BLAKE2B 657e8dadd8757f9f0f6b4a7f73e4347651f6301c969cf4d2c37cf87c6176322b7afad6372a39ed7d4c9f36d07850d6ae4edb73ff08dd3530b88e0194032abc9b SHA512 89a73d70b7ba74acc5344c1471587a66664331fb3d160eeb31d27434c78a3e76e3ec0d84dec14ec57d0bcc89e867759883d69247ae65bff1a9a8a00fc8ff7747
diff --git a/dev-python/thriftpy2/files/thriftpy2-0.4.16-cython3.patch b/dev-python/thriftpy2/files/thriftpy2-0.4.16-cython3.patch
deleted file mode 100644
index 8e186d719d1e..000000000000
--- a/dev-python/thriftpy2/files/thriftpy2-0.4.16-cython3.patch
+++ /dev/null
@@ -1,25 +0,0 @@
-https://bugs.gentoo.org/898722
-https://github.com/Thriftpy/thriftpy2/commit/202ed5ef7b91399b86f8b3b76108a14612b38dbc
-
-From 202ed5ef7b91399b86f8b3b76108a14612b38dbc Mon Sep 17 00:00:00 2001
-From: AN Long <aisk1988@gmail.com>
-Date: Mon, 7 Aug 2023 17:11:51 +0800
-Subject: [PATCH] fix: compatible with cython3
-
----
- thriftpy2/transport/cybase.pyx | 2 +-
- 1 file changed, 1 insertion(+), 1 deletion(-)
-
-diff --git a/thriftpy2/transport/cybase.pyx b/thriftpy2/transport/cybase.pyx
-index c05560f8..d0fc3696 100644
---- a/thriftpy2/transport/cybase.pyx
-+++ b/thriftpy2/transport/cybase.pyx
-@@ -87,7 +87,7 @@ cdef class TCyBuffer(object):
- if min_size <= self.buf_size:
- return 0
-
-- cdef int multiples = min_size / self.buf_size
-+ cdef int multiples = min_size // self.buf_size
- if min_size % self.buf_size != 0:
- multiples += 1
-
diff --git a/dev-python/thriftpy2/metadata.xml b/dev-python/thriftpy2/metadata.xml
index c8e64f24d78e..629a3ee3f140 100644
--- a/dev-python/thriftpy2/metadata.xml
+++ b/dev-python/thriftpy2/metadata.xml
@@ -5,6 +5,10 @@
<email>chutzpah@gentoo.org</email>
<name>Patrick McLean</name>
</maintainer>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<upstream>
<remote-id type="github">Thriftpy/thriftpy2</remote-id>
<remote-id type="pypi">thriftpy2</remote-id>
diff --git a/dev-python/thriftpy2/thriftpy2-0.4.16-r1.ebuild b/dev-python/thriftpy2/thriftpy2-0.4.16-r1.ebuild
deleted file mode 100644
index c7e8bd364392..000000000000
--- a/dev-python/thriftpy2/thriftpy2-0.4.16-r1.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure python approach of Apache Thrift"
-HOMEPAGE="
- https://github.com/Thriftpy/thriftpy2/
- https://pypi.org/project/thriftpy2/
-"
-SRC_URI="
- https://github.com/Thriftpy/thriftpy2/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/ply[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/tornado[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-cython3.patch
-)
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- tests/test_tornado.py::TornadoRPCTestCase::test_asynchronous_exception
- tests/test_tornado.py::TornadoRPCTestCase::test_asynchronous_result
- )
-
- cd tests || die
- epytest
-}
diff --git a/dev-python/thriftpy2/thriftpy2-0.4.16.ebuild b/dev-python/thriftpy2/thriftpy2-0.4.16.ebuild
deleted file mode 100644
index 8ebe334c6442..000000000000
--- a/dev-python/thriftpy2/thriftpy2-0.4.16.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Pure python approach of Apache Thrift"
-HOMEPAGE="
- https://github.com/Thriftpy/thriftpy2/
- https://pypi.org/project/thriftpy2/
-"
-SRC_URI="
- https://github.com/Thriftpy/thriftpy2/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/ply[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-# <cython-3: https://bugs.gentoo.org/898722
-BDEPEND="
- <dev-python/cython-3[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/tornado[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- tests/test_tornado.py::TornadoRPCTestCase::test_asynchronous_exception
- tests/test_tornado.py::TornadoRPCTestCase::test_asynchronous_result
- )
-
- cd tests || die
- epytest
-}
diff --git a/dev-python/thriftpy2/thriftpy2-0.4.17.ebuild b/dev-python/thriftpy2/thriftpy2-0.4.17.ebuild
deleted file mode 100644
index f4882f38def2..000000000000
--- a/dev-python/thriftpy2/thriftpy2-0.4.17.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Pure python approach of Apache Thrift"
-HOMEPAGE="
- https://github.com/Thriftpy/thriftpy2/
- https://pypi.org/project/thriftpy2/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/ply[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/tornado[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- tests/test_tornado.py::TornadoRPCTestCase::test_asynchronous_exception
- tests/test_tornado.py::TornadoRPCTestCase::test_asynchronous_result
- )
-
- cd tests || die
- epytest
-}
diff --git a/dev-python/thriftpy2/thriftpy2-0.5.0.ebuild b/dev-python/thriftpy2/thriftpy2-0.5.0.ebuild
new file mode 100644
index 000000000000..3795d532cc5b
--- /dev/null
+++ b/dev-python/thriftpy2/thriftpy2-0.5.0.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2021-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pure python approach of Apache Thrift"
+HOMEPAGE="
+ https://github.com/Thriftpy/thriftpy2/
+ https://pypi.org/project/thriftpy2/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ dev-python/ply[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/tornado[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/test_tornado.py::TornadoRPCTestCase::test_asynchronous_exception
+ tests/test_tornado.py::TornadoRPCTestCase::test_asynchronous_result
+ )
+
+ cd tests || die
+ epytest
+}
diff --git a/dev-python/thriftpy2/thriftpy2-0.5.2.ebuild b/dev-python/thriftpy2/thriftpy2-0.5.2.ebuild
new file mode 100644
index 000000000000..96c5e972bc59
--- /dev/null
+++ b/dev-python/thriftpy2/thriftpy2-0.5.2.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2021-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pure python approach of Apache Thrift"
+HOMEPAGE="
+ https://github.com/Thriftpy/thriftpy2/
+ https://pypi.org/project/thriftpy2/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64"
+
+RDEPEND="
+ <dev-python/ply-4[${PYTHON_USEDEP}]
+ <dev-python/six-2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/cython-3.0.10[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-reraise[${PYTHON_USEDEP}]
+ dev-python/tornado[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/test_tornado.py::TornadoRPCTestCase::test_asynchronous_exception
+ tests/test_tornado.py::TornadoRPCTestCase::test_asynchronous_result
+ )
+
+ cd tests || die
+ epytest
+}
diff --git a/dev-python/tifffile/Manifest b/dev-python/tifffile/Manifest
index 54918cb3c554..6d5096d34cd5 100644
--- a/dev-python/tifffile/Manifest
+++ b/dev-python/tifffile/Manifest
@@ -1 +1,3 @@
-DIST tifffile-2023.9.26.gh.tar.gz 342486 BLAKE2B 034013769c67b3e90bcfdf8b054419d00d35601603d716fa8cc37974cc37a4eabd773983047ad2cfbebfe4b15d7268defcad8f8d69f780af3a47299a52cbadf1 SHA512 ec59c408731143b60cc7664ab038ae885c21400771b0673828bbd07a46c7faafd503c1cedafbd08aaabfde554d2e42664a6f8f2ae753fc4405a9c98f8c2b8e1b
+DIST tifffile-2024.7.2.gh.tar.gz 349770 BLAKE2B c722f23857310826568f54bffa4f071c8018c6d17ee810dad423f6e9ad80ee99f888bf9282e8cc53d710ba5052c69136e8385aa7ac7e9052346fa766cfdc1747 SHA512 11efbda0f20428fbff4863f52425021de9303be8ad76051c7daf5921f1282a88655872c98dcb2530ea354b1f2833509b3b98b82d035dc8bbae4a4d2da0ef8d47
+DIST tifffile-2024.7.21.gh.tar.gz 350351 BLAKE2B 665060211809e51ef38f233d300524e1af79f02c966c3409269280fd6b383022d3b2a87b6c581f7703d31f93b279f77779dc63d2bffbd2f95dd55f954f7f8bc4 SHA512 5d41d389e7ba706bf2fa6ed224878a2af4aa4ba98c9ec4f3b975e32019e894869bbdd8615619dfd7910a9600f05703f14371981be281e9f9144cb240e4be26c0
+DIST tifffile-2024.7.24.gh.tar.gz 350866 BLAKE2B f978e93c308bd7813d2cb6d0c48686ff75cdf8702aaa6888a4a9b50b3dcd60edb15f8a1404b8468aa38e4fefc0161a49448bfd57a5d7719ac7a8372a5a72dc00 SHA512 ad2ca4412a11f3afa175811651f85b2b9ff3da3d1382633ca9b50530fe976050e56abf7c2333660e07230f826fb8af152df355ee211a2409408be6084137647b
diff --git a/dev-python/tifffile/tifffile-2023.9.26.ebuild b/dev-python/tifffile/tifffile-2023.9.26.ebuild
deleted file mode 100644
index d585386c5ea5..000000000000
--- a/dev-python/tifffile/tifffile-2023.9.26.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Read and write TIFF files"
-HOMEPAGE="
- https://pypi.org/project/tifffile/
- https://github.com/cgohlke/tifffile/
- https://www.cgohlke.com/
-"
-SRC_URI="
- https://github.com/cgohlke/tifffile/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/numpy-1.19.2[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/dask[${PYTHON_USEDEP}]
- dev-python/defusedxml[${PYTHON_USEDEP}]
- >=dev-python/fsspec-2021.5.0[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/xarray[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # Internet
- tests/test_tifffile.py::test_class_omexml
- tests/test_tifffile.py::test_class_omexml_fail
- tests/test_tifffile.py::test_class_omexml_modulo
- tests/test_tifffile.py::test_class_omexml_attributes
- tests/test_tifffile.py::test_class_omexml_multiimage
- tests/test_tifffile.py::test_write_ome
- tests/test_tifffile.py::test_write_ome_manual
- # requires tons of free space
- tests/test_tifffile.py::test_write_3gb
- tests/test_tifffile.py::test_write_5GB_bigtiff
- tests/test_tifffile.py::test_write_5GB_fails
- tests/test_tifffile.py::test_write_6gb
- tests/test_tifffile.py::test_write_bigtiff
- 'tests/test_tifffile.py::test_write_imagej_raw'
- # TODO
- tests/test_tifffile.py::test_issue_imagej_hyperstack_arg
- tests/test_tifffile.py::test_issue_description_overwrite
- # missing data again?
- tests/test_tifffile.py::test_issue_trucated_tileoffsets
-)
diff --git a/dev-python/tifffile/tifffile-2024.7.2.ebuild b/dev-python/tifffile/tifffile-2024.7.2.ebuild
new file mode 100644
index 000000000000..190a5b9ccada
--- /dev/null
+++ b/dev-python/tifffile/tifffile-2024.7.2.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Read and write TIFF files"
+HOMEPAGE="
+ https://pypi.org/project/tifffile/
+ https://github.com/cgohlke/tifffile/
+ https://www.cgohlke.com/
+"
+SRC_URI="
+ https://github.com/cgohlke/tifffile/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/numpy-1.19.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ >=dev-python/fsspec-2021.5.0[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local -x SKIP_LARGE=1
+ local -x SKIP_HTTP=1
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/tifffile/tifffile-2024.7.21.ebuild b/dev-python/tifffile/tifffile-2024.7.21.ebuild
new file mode 100644
index 000000000000..190a5b9ccada
--- /dev/null
+++ b/dev-python/tifffile/tifffile-2024.7.21.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Read and write TIFF files"
+HOMEPAGE="
+ https://pypi.org/project/tifffile/
+ https://github.com/cgohlke/tifffile/
+ https://www.cgohlke.com/
+"
+SRC_URI="
+ https://github.com/cgohlke/tifffile/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/numpy-1.19.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ >=dev-python/fsspec-2021.5.0[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local -x SKIP_LARGE=1
+ local -x SKIP_HTTP=1
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/tifffile/tifffile-2024.7.24.ebuild b/dev-python/tifffile/tifffile-2024.7.24.ebuild
new file mode 100644
index 000000000000..a9bd677f4e53
--- /dev/null
+++ b/dev-python/tifffile/tifffile-2024.7.24.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Read and write TIFF files"
+HOMEPAGE="
+ https://pypi.org/project/tifffile/
+ https://github.com/cgohlke/tifffile/
+ https://www.cgohlke.com/
+"
+SRC_URI="
+ https://github.com/cgohlke/tifffile/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/numpy-1.19.2[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/defusedxml[${PYTHON_USEDEP}]
+ >=dev-python/fsspec-2021.5.0[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/xarray[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local -x SKIP_LARGE=1
+ local -x SKIP_HTTP=1
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/time-machine/Manifest b/dev-python/time-machine/Manifest
index 42866ec58975..25d87015bdf6 100644
--- a/dev-python/time-machine/Manifest
+++ b/dev-python/time-machine/Manifest
@@ -1 +1,2 @@
-DIST time-machine-2.13.0.gh.tar.gz 28747 BLAKE2B 88836d2b9ad34c8d256b576ab6b2bfe263232fb50d2e95f13049f84dbc838283811ebc54c5bb68493ef966e64777983ab6bcb7fafccda6dc74e00d3bb6a2108f SHA512 26a852d93633e037585ec8fcd563c86af8d977a87633dbeb66cf23c9ca49ca0ae536bdcdcdf809ee2ab423c197610c630d506bc3bf4f13c373d806cee2d8c598
+DIST time-machine-2.14.1.gh.tar.gz 29600 BLAKE2B b118e3a2f08f75cc6cd89181a9e533c89bc6e5312a520b2a854fb8aa7ac59f1570e48a85788261f781ef83f9864380318074724f6eadab9cda7a3374b2322e7d SHA512 42a127e2dc5a86e33896010e6d141fc9248fe685d3477ec71ec8a72315914cea99ae4a4d6623a59fd69505d935d2feadcfd831a7fff5617c3f98a93d48652ecf
+DIST time-machine-2.14.2.gh.tar.gz 29671 BLAKE2B a53804ab324fcef3d5a387de6451ecd031310eefa17f6d2279fe70f0af3ff8f001ea581ac392c9e72f259dba49ae03eb82279804874a49f6131e5c6cf0131aa0 SHA512 b1996f762aabd161d7f66720265d520ff419a08525da603d805e95e5035cef4576e57d87b6c71a98dddc7cfb33d27e11f7b3d7999ca1be25b81ec0ab502f7012
diff --git a/dev-python/time-machine/files/time-machine-2.13.0-backport-pr400.patch b/dev-python/time-machine/files/time-machine-2.13.0-backport-pr400.patch
deleted file mode 100644
index b7fa55c2e267..000000000000
--- a/dev-python/time-machine/files/time-machine-2.13.0-backport-pr400.patch
+++ /dev/null
@@ -1,252 +0,0 @@
-https://bugs.gentoo.org/show_bug.cgi?id=912709
-https://github.com/adamchainz/time-machine/pull/400
-
-From b489a478193982c17cf7847d32cae2b53a904222 Mon Sep 17 00:00:00 2001
-From: matoro <matoro@users.noreply.github.com>
-Date: Thu, 9 Nov 2023 13:03:49 -0500
-Subject: [PATCH 1/2] Fix tests on platforms with low clock resolution
-
-On platforms without a high-resolution clock, such as Alpha and PA-RISC
-is is likely that two sequential calls to time.time() will return the
-same value if the execution time is not sufficient to allow one full
-clock resolution cycle to pass. This adds sleeps of one cycle to
-enforce that the minimum amount of time to guarantee a clock change has
-passed.
-
-On systems with high-resolution clocks, clock_getres() will return 1ns;
-in reality the sleep will take longer than 1ns to execute but should
-still be a negligible amount of time.
----
- tests/test_time_machine.py | 13 +++++++++++++
- 1 file changed, 13 insertions(+)
-
-diff --git a/tests/test_time_machine.py b/tests/test_time_machine.py
-index fe98fb7..7b5abbe 100644
---- a/tests/test_time_machine.py
-+++ b/tests/test_time_machine.py
-@@ -155,8 +155,10 @@ def test_time_clock_gettime_realtime():
- @py_have_clock_gettime
- def test_time_clock_gettime_monotonic_unaffected():
- start = time.clock_gettime(time.CLOCK_MONOTONIC)
-+ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
- with time_machine.travel(EPOCH + 180.0):
- frozen = time.clock_gettime(time.CLOCK_MONOTONIC)
-+ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
- assert isinstance(frozen, float)
- assert frozen > start
-
-@@ -169,6 +171,7 @@ def test_time_clock_gettime_monotonic_unaffected():
- def test_time_clock_gettime_ns_realtime():
- with time_machine.travel(EPOCH + 190.0):
- first = time.clock_gettime_ns(time.CLOCK_REALTIME)
-+ time.sleep(time.clock_getres(time.CLOCK_REALTIME))
- assert isinstance(first, int)
- assert first == int((EPOCH + 190.0) * NANOSECONDS_PER_SECOND)
- second = time.clock_gettime_ns(time.CLOCK_REALTIME)
-@@ -182,8 +185,10 @@ def test_time_clock_gettime_ns_realtime():
- @py_have_clock_gettime
- def test_time_clock_gettime_ns_monotonic_unaffected():
- start = time.clock_gettime_ns(time.CLOCK_MONOTONIC)
-+ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
- with time_machine.travel(EPOCH + 190.0):
- frozen = time.clock_gettime_ns(time.CLOCK_MONOTONIC)
-+ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
- assert isinstance(frozen, int)
- assert frozen > start
-
-@@ -279,6 +284,7 @@ def test_time_strftime_format_t():
- def test_time_time():
- with time_machine.travel(EPOCH):
- first = time.time()
-+ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
- assert isinstance(first, float)
- assert first == EPOCH
- second = time.time()
-@@ -300,6 +306,7 @@ def test_time_time():
- def test_time_time_windows():
- with time_machine.travel(EPOCH):
- first = time.time()
-+ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
- assert isinstance(first, float)
- assert first == windows_epoch_in_posix
-
-@@ -316,6 +323,7 @@ def test_time_time_no_tick():
- def test_time_time_ns():
- with time_machine.travel(EPOCH + 150.0):
- first = time.time_ns()
-+ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
- assert isinstance(first, int)
- assert first == int((EPOCH + 150.0) * NANOSECONDS_PER_SECOND)
- second = time.time_ns()
-@@ -561,6 +569,7 @@ def test_method_decorator(self):
- @time_machine.travel(EPOCH + 95.0)
- class UnitTestClassTests(TestCase):
- def test_class_decorator(self):
-+ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
- assert EPOCH + 95.0 < time.time() < EPOCH + 96.0
-
- @time_machine.travel(EPOCH + 25.0)
-@@ -578,6 +587,7 @@ def setUpClass(cls):
- cls.custom_setupclass_ran = True
-
- def test_class_decorator(self):
-+ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
- assert EPOCH + 95.0 < time.time() < EPOCH + 96.0
- assert self.custom_setupclass_ran
-
-@@ -639,6 +649,7 @@ def test_move_to_datetime():
- traveller.move_to(EPOCH_PLUS_ONE_YEAR_DATETIME)
-
- first = time.time()
-+ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
- assert first == EPOCH_PLUS_ONE_YEAR
-
- second = time.time()
-@@ -706,6 +717,7 @@ def test_move_to_datetime_change_tick_on():
- with time_machine.travel(EPOCH, tick=False) as traveller:
- traveller.move_to(EPOCH_PLUS_ONE_YEAR_DATETIME, tick=True)
- assert time.time() == EPOCH_PLUS_ONE_YEAR
-+ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
- assert time.time() > EPOCH_PLUS_ONE_YEAR
-
-
-@@ -756,6 +768,7 @@ def test_fixture_used_tick_false(time_machine):
- def test_fixture_used_tick_true(time_machine):
- time_machine.move_to(EPOCH, tick=True)
- original = time.time()
-+ time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
- assert original == EPOCH
- assert original < time.time() < EPOCH + 10.0
-
-
-From 9e84584325ec06eb997716b6a0f42e9ca6540994 Mon Sep 17 00:00:00 2001
-From: matoro <matoro@users.noreply.github.com>
-Date: Fri, 10 Nov 2023 11:06:23 -0500
-Subject: [PATCH 2/2] Wrap sleep calls in "sleep_one_cycle" function
-
----
- tests/test_time_machine.py | 30 +++++++++++++++++-------------
- 1 file changed, 17 insertions(+), 13 deletions(-)
-
-diff --git a/tests/test_time_machine.py b/tests/test_time_machine.py
-index 7b5abbe..163ec2b 100644
---- a/tests/test_time_machine.py
-+++ b/tests/test_time_machine.py
-@@ -38,6 +38,10 @@
- )
-
-
-+def sleep_one_cycle(clock: int) -> None:
-+ time.sleep(time.clock_getres(clock))
-+
-+
- @contextmanager
- def change_local_timezone(local_tz: str | None) -> typing.Iterator[None]:
- orig_tz = os.environ["TZ"]
-@@ -155,10 +159,10 @@ def test_time_clock_gettime_realtime():
- @py_have_clock_gettime
- def test_time_clock_gettime_monotonic_unaffected():
- start = time.clock_gettime(time.CLOCK_MONOTONIC)
-- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
-+ sleep_one_cycle(time.CLOCK_MONOTONIC)
- with time_machine.travel(EPOCH + 180.0):
- frozen = time.clock_gettime(time.CLOCK_MONOTONIC)
-- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
-+ sleep_one_cycle(time.CLOCK_MONOTONIC)
- assert isinstance(frozen, float)
- assert frozen > start
-
-@@ -171,7 +175,7 @@ def test_time_clock_gettime_monotonic_unaffected():
- def test_time_clock_gettime_ns_realtime():
- with time_machine.travel(EPOCH + 190.0):
- first = time.clock_gettime_ns(time.CLOCK_REALTIME)
-- time.sleep(time.clock_getres(time.CLOCK_REALTIME))
-+ sleep_one_cycle(time.CLOCK_REALTIME)
- assert isinstance(first, int)
- assert first == int((EPOCH + 190.0) * NANOSECONDS_PER_SECOND)
- second = time.clock_gettime_ns(time.CLOCK_REALTIME)
-@@ -185,10 +189,10 @@ def test_time_clock_gettime_ns_realtime():
- @py_have_clock_gettime
- def test_time_clock_gettime_ns_monotonic_unaffected():
- start = time.clock_gettime_ns(time.CLOCK_MONOTONIC)
-- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
-+ sleep_one_cycle(time.CLOCK_MONOTONIC)
- with time_machine.travel(EPOCH + 190.0):
- frozen = time.clock_gettime_ns(time.CLOCK_MONOTONIC)
-- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
-+ sleep_one_cycle(time.CLOCK_MONOTONIC)
- assert isinstance(frozen, int)
- assert frozen > start
-
-@@ -284,7 +288,7 @@ def test_time_strftime_format_t():
- def test_time_time():
- with time_machine.travel(EPOCH):
- first = time.time()
-- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
-+ sleep_one_cycle(time.CLOCK_MONOTONIC)
- assert isinstance(first, float)
- assert first == EPOCH
- second = time.time()
-@@ -306,7 +310,7 @@ def test_time_time():
- def test_time_time_windows():
- with time_machine.travel(EPOCH):
- first = time.time()
-- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
-+ sleep_one_cycle(time.CLOCK_MONOTONIC)
- assert isinstance(first, float)
- assert first == windows_epoch_in_posix
-
-@@ -323,7 +327,7 @@ def test_time_time_no_tick():
- def test_time_time_ns():
- with time_machine.travel(EPOCH + 150.0):
- first = time.time_ns()
-- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
-+ sleep_one_cycle(time.CLOCK_MONOTONIC)
- assert isinstance(first, int)
- assert first == int((EPOCH + 150.0) * NANOSECONDS_PER_SECOND)
- second = time.time_ns()
-@@ -569,7 +573,7 @@ def test_method_decorator(self):
- @time_machine.travel(EPOCH + 95.0)
- class UnitTestClassTests(TestCase):
- def test_class_decorator(self):
-- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
-+ sleep_one_cycle(time.CLOCK_MONOTONIC)
- assert EPOCH + 95.0 < time.time() < EPOCH + 96.0
-
- @time_machine.travel(EPOCH + 25.0)
-@@ -587,7 +591,7 @@ def setUpClass(cls):
- cls.custom_setupclass_ran = True
-
- def test_class_decorator(self):
-- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
-+ sleep_one_cycle(time.CLOCK_MONOTONIC)
- assert EPOCH + 95.0 < time.time() < EPOCH + 96.0
- assert self.custom_setupclass_ran
-
-@@ -649,7 +653,7 @@ def test_move_to_datetime():
- traveller.move_to(EPOCH_PLUS_ONE_YEAR_DATETIME)
-
- first = time.time()
-- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
-+ sleep_one_cycle(time.CLOCK_MONOTONIC)
- assert first == EPOCH_PLUS_ONE_YEAR
-
- second = time.time()
-@@ -717,7 +721,7 @@ def test_move_to_datetime_change_tick_on():
- with time_machine.travel(EPOCH, tick=False) as traveller:
- traveller.move_to(EPOCH_PLUS_ONE_YEAR_DATETIME, tick=True)
- assert time.time() == EPOCH_PLUS_ONE_YEAR
-- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
-+ sleep_one_cycle(time.CLOCK_MONOTONIC)
- assert time.time() > EPOCH_PLUS_ONE_YEAR
-
-
-@@ -768,7 +772,7 @@ def test_fixture_used_tick_false(time_machine):
- def test_fixture_used_tick_true(time_machine):
- time_machine.move_to(EPOCH, tick=True)
- original = time.time()
-- time.sleep(time.clock_getres(time.CLOCK_MONOTONIC))
-+ sleep_one_cycle(time.CLOCK_MONOTONIC)
- assert original == EPOCH
- assert original < time.time() < EPOCH + 10.0
-
diff --git a/dev-python/time-machine/time-machine-2.13.0.ebuild b/dev-python/time-machine/time-machine-2.13.0.ebuild
deleted file mode 100644
index 040dc0489bc5..000000000000
--- a/dev-python/time-machine/time-machine-2.13.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Travel through time in your tests"
-HOMEPAGE="
- https://github.com/adamchainz/time-machine/
- https://pypi.org/project/time-machine/
-"
-SRC_URI="
- https://github.com/adamchainz/time-machine/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/python-dateutil[${PYTHON_USEDEP}]
-"
-
-PATCHES=( "${FILESDIR}/${PN}-2.13.0-backport-pr400.patch" )
-
-distutils_enable_tests pytest
diff --git a/dev-python/time-machine/time-machine-2.14.1.ebuild b/dev-python/time-machine/time-machine-2.14.1.ebuild
new file mode 100644
index 000000000000..9c3580a6fb3e
--- /dev/null
+++ b/dev-python/time-machine/time-machine-2.14.1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Travel through time in your tests"
+HOMEPAGE="
+ https://github.com/adamchainz/time-machine/
+ https://pypi.org/project/time-machine/
+"
+SRC_URI="
+ https://github.com/adamchainz/time-machine/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/time-machine/time-machine-2.14.2.ebuild b/dev-python/time-machine/time-machine-2.14.2.ebuild
new file mode 100644
index 000000000000..74f257c0b23f
--- /dev/null
+++ b/dev-python/time-machine/time-machine-2.14.2.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Travel through time in your tests"
+HOMEPAGE="
+ https://github.com/adamchainz/time-machine/
+ https://pypi.org/project/time-machine/
+"
+SRC_URI="
+ https://github.com/adamchainz/time-machine/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/timeout-decorator/timeout-decorator-0.5.0-r1.ebuild b/dev-python/timeout-decorator/timeout-decorator-0.5.0-r1.ebuild
index d629eb42d6fa..6506811daad7 100644
--- a/dev-python/timeout-decorator/timeout-decorator-0.5.0-r1.ebuild
+++ b/dev-python/timeout-decorator/timeout-decorator-0.5.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/tiny-proxy/tiny-proxy-0.2.1.ebuild b/dev-python/tiny-proxy/tiny-proxy-0.2.1.ebuild
index 8409f4ab171c..7e7d423ab0e5 100644
--- a/dev-python/tiny-proxy/tiny-proxy-0.2.1.ebuild
+++ b/dev-python/tiny-proxy/tiny-proxy-0.2.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/tinycss/Manifest b/dev-python/tinycss/Manifest
deleted file mode 100644
index 34f2117f12b7..000000000000
--- a/dev-python/tinycss/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST tinycss-0.4.tar.gz 87759 BLAKE2B 9b7691f5d5fcfb5580a9f2a0f1f50caea3dba74853917e5e46ca93cab6f35f2f8c4f5babf01d25661d05ef1b26ccc35914750917fb92b394b0ca6530a19f3514 SHA512 13a50332cddc28026fd7ecc007e14085976284e69de6ea93d1013502fd9791694092c010947b13dcd23f3a2df65f277f62410abd90d03eac16fa5af913673b0a
diff --git a/dev-python/tinycss/metadata.xml b/dev-python/tinycss/metadata.xml
deleted file mode 100644
index 64f0c74ea5cd..000000000000
--- a/dev-python/tinycss/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">tinycss</remote-id>
- <remote-id type="github">Kozea/tinycss</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/tinycss/tinycss-0.4-r1.ebuild b/dev-python/tinycss/tinycss-0.4-r1.ebuild
deleted file mode 100644
index c6b2dae8d2f2..000000000000
--- a/dev-python/tinycss/tinycss-0.4-r1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A complete yet simple CSS parser for Python"
-HOMEPAGE="
- https://github.com/Kozea/tinycss/
- https://pypi.org/project/tinycss/
- https://tinycss.readthedocs.io/en/latest/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 x86"
-
-RDEPEND="
- dev-python/lxml[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
-"
-
-DOCS=( CHANGES README.rst )
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs
-
-python_prepare_all() {
- rm setup.cfg || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- rm -rf tinycss || die
- epytest --pyargs tinycss
-}
diff --git a/dev-python/tinycss2/Manifest b/dev-python/tinycss2/Manifest
index e888817561bc..4aa31b3383d0 100644
--- a/dev-python/tinycss2/Manifest
+++ b/dev-python/tinycss2/Manifest
@@ -1,2 +1,2 @@
-DIST css-parsing-tests-c5749e51dda3868b3e8062e65a36584c2fec8059.gh.tar.gz 35758 BLAKE2B d834011c3ac774eb79b35e2e74f3854ddc2bb871531a32194041d6f98bde3dc68db67baea25d5463a03e057197144237be69fee4eacfb8edb73167e6e4faf7be SHA512 ef44eb1144a6484f308fabe4187310b2ef0067f328bf5213969d87c475fccae3d716dc66640a0a554ab2a3d7da0efb3a168a288ac6eef7722f3ae46959943b49
-DIST tinycss2-1.2.1.gh.tar.gz 28351 BLAKE2B 42e1ba559e015654184be94afb02866f32bb6cfbdb0006df29ce64f8715d25a8751acd8380db7ad06bd9f5fdcc694519d2bc3c916dfd09816ba44c18a1f1d750 SHA512 59964398418fd895c6b5bdbdac47edb0bd421aeb8b3939307cb9ff864f50071fc171a9d6bb9b9b0adbbb645beedea0e14720af0d824949236e54b2d1b189bc72
+DIST css-parsing-tests-43e65b244133f17eb8a4d4404d5774672b94824f.gh.tar.gz 35943 BLAKE2B 69a3dd9e638d04b498c28bf8367e1d0bfe1876e8bcdfc6796f5b5715425f943e6308afa7774a5af5e6d3b3d5cd4f8424fa2809bdf0ecdadddfcfd36354986d82 SHA512 ed83bf447a595d754bbae9fcf25c3d2b4812f99b65c5e46b39d5f7ade57d49b4ffded9bc9d1cfef0a50b078f8ceb9bedb1d4f2f9ebf6db875eaad6c956b4f1d5
+DIST tinycss2-1.3.0.tar.gz 67360 BLAKE2B f39eaaaafe2be20d2d420977e8d2d80c0e1817c277e14c57b155f1dafa54191ac2aed6908b038da5c03b4cbed66b626af432160699152800ebe2d7823e1685ed SHA512 d215ba2d8c580ca785bc2c3e33c8ae220c085e3ec1b932c01f81e176987c48559867af186056e2c501541d1d337b4fc33eea7ff2feba490e81076608b7c3aaee
diff --git a/dev-python/tinycss2/tinycss2-1.2.1.ebuild b/dev-python/tinycss2/tinycss2-1.2.1.ebuild
deleted file mode 100644
index 6e65527eda2a..000000000000
--- a/dev-python/tinycss2/tinycss2-1.2.1.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-CSS_TEST_COMMIT_ID=c5749e51dda3868b3e8062e65a36584c2fec8059
-
-DESCRIPTION="A complete yet simple CSS parser for Python"
-HOMEPAGE="
- https://www.courtbouillon.org/tinycss2
- https://github.com/Kozea/tinycss2/
- https://pypi.org/project/tinycss2/
-"
-SRC_URI="
- https://github.com/Kozea/tinycss2/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz
- test? (
- https://github.com/CourtBouillon/css-parsing-tests/archive/${CSS_TEST_COMMIT_ID}.tar.gz
- -> css-parsing-tests-${CSS_TEST_COMMIT_ID}.gh.tar.gz
- )
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/webencodings-0.4[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- if use test; then
- mv "${WORKDIR}/css-parsing-tests-${CSS_TEST_COMMIT_ID}"/* \
- tests/css-parsing-tests/ || die
- fi
- distutils-r1_src_prepare
-}
diff --git a/dev-python/tinycss2/tinycss2-1.3.0.ebuild b/dev-python/tinycss2/tinycss2-1.3.0.ebuild
new file mode 100644
index 000000000000..13ca74425d40
--- /dev/null
+++ b/dev-python/tinycss2/tinycss2-1.3.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+CSS_TEST_COMMIT_ID=43e65b244133f17eb8a4d4404d5774672b94824f
+
+DESCRIPTION="A complete yet simple CSS parser for Python"
+HOMEPAGE="
+ https://www.courtbouillon.org/tinycss2/
+ https://github.com/Kozea/tinycss2/
+ https://pypi.org/project/tinycss2/
+"
+SRC_URI+="
+ test? (
+ https://github.com/CourtBouillon/css-parsing-tests/archive/${CSS_TEST_COMMIT_ID}.tar.gz
+ -> css-parsing-tests-${CSS_TEST_COMMIT_ID}.gh.tar.gz
+ )
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/webencodings-0.4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ if use test; then
+ mv "${WORKDIR}/css-parsing-tests-${CSS_TEST_COMMIT_ID}"/* \
+ tests/css-parsing-tests/ || die
+ fi
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/tld/tld-0.13.ebuild b/dev-python/tld/tld-0.13.ebuild
index 172b1488c2bd..ef39ea9509da 100644
--- a/dev-python/tld/tld-0.13.ebuild
+++ b/dev-python/tld/tld-0.13.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/tldextract/Manifest b/dev-python/tldextract/Manifest
index 2f165772b2a4..17f59e0acca5 100644
--- a/dev-python/tldextract/Manifest
+++ b/dev-python/tldextract/Manifest
@@ -1 +1 @@
-DIST tldextract-5.1.1.tar.gz 112645 BLAKE2B 3d4550f60c37769985f5e52ddcd8d93881759631a8a49c4588eee533da695d26c8b31294dd2b4f2456a14efe2a5af8e9573df18ab7eb54fe21a3c082c0615e59 SHA512 805266da1d66e9a8c43edc02014835abf691ab5b25262c63815a2e5b4d41c4e68944aafd35aad6abce650c762284e3a4281716c2d30c0e2d2c2ecccbb0139df9
+DIST tldextract-5.1.2.tar.gz 116825 BLAKE2B ffe10e58e122ac3a0d8851992d791d9525695d987d2c3bfcfe37df043bd532491e21b2e2530feab6d60befad7afb76b5e66d3ce16e909a0cd822a7cb37fa10f9 SHA512 79cdab6ec9259109bdee6412206eea1cd1d760e3c8ee3483607e27adc237821ff74039b2b3c886cb21ebd76f9d636e775623d018e06e46b713d76b9e9719fa00
diff --git a/dev-python/tldextract/metadata.xml b/dev-python/tldextract/metadata.xml
index 75afb15a46e5..b43a6c3322dd 100644
--- a/dev-python/tldextract/metadata.xml
+++ b/dev-python/tldextract/metadata.xml
@@ -9,6 +9,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">tldextract</remote-id>
<remote-id type="github">john-kurkowski/tldextract</remote-id>
diff --git a/dev-python/tldextract/tldextract-5.1.1.ebuild b/dev-python/tldextract/tldextract-5.1.1.ebuild
deleted file mode 100644
index dc2238fb549c..000000000000
--- a/dev-python/tldextract/tldextract-5.1.1.ebuild
+++ /dev/null
@@ -1,35 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Accurately separate the TLD from the registered domain and subdomains of a URL"
-HOMEPAGE="
- https://github.com/john-kurkowski/tldextract/
- https://pypi.org/project/tldextract/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 ~loong x86"
-
-RDEPEND="
- >=dev-python/filelock-3.0.8[${PYTHON_USEDEP}]
- dev-python/idna[${PYTHON_USEDEP}]
- >=dev-python/requests-2.1.0[${PYTHON_USEDEP}]
- >=dev-python/requests-file-1.4[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/responses[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/tldextract/tldextract-5.1.2.ebuild b/dev-python/tldextract/tldextract-5.1.2.ebuild
new file mode 100644
index 000000000000..66d2e5ea3d58
--- /dev/null
+++ b/dev-python/tldextract/tldextract-5.1.2.ebuild
@@ -0,0 +1,40 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Accurately separate the TLD from the registered domain and subdomains of a URL"
+HOMEPAGE="
+ https://github.com/john-kurkowski/tldextract/
+ https://pypi.org/project/tldextract/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 ~loong x86"
+
+RDEPEND="
+ >=dev-python/filelock-3.0.8[${PYTHON_USEDEP}]
+ dev-python/idna[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.1.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-file-1.4[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/responses[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # we don't need release tests, also deps
+ tests/test_release.py
+)
diff --git a/dev-python/tlsh/Manifest b/dev-python/tlsh/Manifest
index 2425a1db29ee..6fc86ca17aeb 100644
--- a/dev-python/tlsh/Manifest
+++ b/dev-python/tlsh/Manifest
@@ -1 +1 @@
-DIST tlsh-4.8.2.tar.gz 3345458 BLAKE2B 27d5eece16bb36225b9ae8b3d3a9d055a0f214fffae08a58c39211c3d918dd842497315a62237b291ee1055dfadad78826bbd24f7b9d88f510e9a31f74654039 SHA512 5355c7734f5356a3a7a31ccc078254835871fc0369f1889a34131a0f810735201c68f674eb18e975b6a03a32e5c284899ca9ffdc1f583e42192188c172d2aad0
+DIST tlsh-4.8.2.gh.tar.gz 3345458 BLAKE2B 27d5eece16bb36225b9ae8b3d3a9d055a0f214fffae08a58c39211c3d918dd842497315a62237b291ee1055dfadad78826bbd24f7b9d88f510e9a31f74654039 SHA512 5355c7734f5356a3a7a31ccc078254835871fc0369f1889a34131a0f810735201c68f674eb18e975b6a03a32e5c284899ca9ffdc1f583e42192188c172d2aad0
diff --git a/dev-python/tlsh/files/tlsh-4.8.2-r1-py312.patch b/dev-python/tlsh/files/tlsh-4.8.2-r1-py312.patch
new file mode 100644
index 000000000000..56c4766bd711
--- /dev/null
+++ b/dev-python/tlsh/files/tlsh-4.8.2-r1-py312.patch
@@ -0,0 +1,25 @@
+Use PyVarObject_HEAD_INIT instead PyObject_HEAD_INIT
+
+--- a/tlshmodule.cpp
++++ b/tlshmodule.cpp
+@@ -59,7 +59,7 @@
+ #include <Python.h>
+ #include <new>
+ #include <bytesobject.h>
+-#include "tlsh.h"
++#include <tlsh/tlsh.h>
+
+ // to generate the "T1" hashes introduced in TLSH 4.0.0
+ // see 4.0.0 from 26/Mar/2020 at https://github.com/trendmicro/tlsh/blob/master/Change_History.md
+@@ -286,10 +286,7 @@ static PyGetSetDef Tlsh_getsetters[] = {
+ };
+
+ static PyTypeObject tlsh_TlshType = {
+- PyObject_HEAD_INIT(NULL)
+-#if PY_MAJOR_VERSION < 3
+- 0, /* ob_size */
+-#endif
++ PyVarObject_HEAD_INIT(NULL, 0)
+ "tlsh.Tlsh", /* tp_name */
+ sizeof(tlsh_TlshObject), /* tp_basicsize */
+ 0, /* tp_itemsize */
diff --git a/dev-python/tlsh/tlsh-4.8.2-r1.ebuild b/dev-python/tlsh/tlsh-4.8.2-r1.ebuild
new file mode 100644
index 000000000000..055a9571646b
--- /dev/null
+++ b/dev-python/tlsh/tlsh-4.8.2-r1.ebuild
@@ -0,0 +1,30 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+DISTUTILS_EXT=1
+inherit distutils-r1
+
+DESCRIPTION="Fuzzy matching library - C++ extension for Python"
+HOMEPAGE="https://pypi.org/project/python-tlsh/"
+SRC_URI="https://github.com/trendmicro/${PN}/archive/${PV}.tar.gz -> ${P}.gh.tar.gz"
+S=${WORKDIR}/${P}/py_ext
+
+LICENSE="|| ( Apache-2.0 BSD )"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc64 x86"
+
+DEPEND="dev-libs/tlsh"
+RDEPEND="${DEPEND}"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-setup-sources.patch
+ "${FILESDIR}"/${P}-r1-py312.patch
+)
+
+python_test() {
+ ../Testing/python_test.sh "${EPYTHON}" || die
+}
diff --git a/dev-python/tlsh/tlsh-4.8.2.ebuild b/dev-python/tlsh/tlsh-4.8.2.ebuild
deleted file mode 100644
index 0973a0cbb0a7..000000000000
--- a/dev-python/tlsh/tlsh-4.8.2.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_EXT=1
-inherit distutils-r1
-
-DESCRIPTION="Fuzzy matching library - C++ extension for Python"
-HOMEPAGE="https://pypi.org/project/python-tlsh/"
-SRC_URI="https://github.com/trendmicro/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-S=${WORKDIR}/${P}/py_ext
-
-LICENSE="|| ( Apache-2.0 BSD )"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ia64 ~ppc64 x86"
-
-DEPEND="dev-libs/tlsh"
-RDEPEND="${DEPEND}"
-
-PATCHES=(
- "${FILESDIR}"/${P}-setup-sources.patch
-)
-
-src_prepare() {
- distutils-r1_src_prepare
- sed -i -e 's:#include "tlsh.h":#include <tlsh/tlsh.h>:' tlshmodule.cpp || die
-}
-
-python_test() {
- "${EPYTHON}" test.py test.py test.py &> /dev/null || die
-}
diff --git a/dev-python/tokenize-rt/Manifest b/dev-python/tokenize-rt/Manifest
index 848ceb26ae19..3477fdb114de 100644
--- a/dev-python/tokenize-rt/Manifest
+++ b/dev-python/tokenize-rt/Manifest
@@ -1,2 +1 @@
-DIST tokenize-rt-5.1.0.gh.tar.gz 7090 BLAKE2B 4ba6ad24c9cae7f077ae84cc43a5836e282fa2eae5cc1b93c717cf79d5d2afdd2801be0724c08710d88429b4f289086764e0b98533e9d120d66deb8499a8f022 SHA512 a09101eb94479d8e1a22c8976915c41bea1d193091aee9cbb7019846ff667aaa895ff2f9faa9ffa1fdf4ad4c31a76425e89c7aa46e0c16750f15cca117249b94
DIST tokenize-rt-5.2.0.gh.tar.gz 7239 BLAKE2B a81251b6b8b336a6b1b1095e0b31456e834196fc2174958299ac293e5fc979dcdd2b4fc9c7e2e231e73fd09e116d0538dadf9436b4efdcf1390b2db9a025a4b8 SHA512 4288d474dfa260dea710bfbf529c722215bf8883360d281f41a456c79d4aa029bff9fa22a89e11d83c4095a43738f0751416a53c7e116a484a32937b58c20ff1
diff --git a/dev-python/tokenize-rt/tokenize-rt-5.1.0.ebuild b/dev-python/tokenize-rt/tokenize-rt-5.1.0.ebuild
deleted file mode 100644
index 6cee68230e71..000000000000
--- a/dev-python/tokenize-rt/tokenize-rt-5.1.0.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A wrapper around the stdlib 'tokenize' which roundtrips"
-HOMEPAGE="
- https://github.com/asottile/tokenize-rt/
- https://pypi.org/project/tokenize-rt/
-"
-SRC_URI="
- https://github.com/asottile/tokenize-rt/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-distutils_enable_tests pytest
diff --git a/dev-python/tokenize-rt/tokenize-rt-5.2.0.ebuild b/dev-python/tokenize-rt/tokenize-rt-5.2.0.ebuild
index b5892fd0a2e1..6eb3c3d3b85d 100644
--- a/dev-python/tokenize-rt/tokenize-rt-5.2.0.ebuild
+++ b/dev-python/tokenize-rt/tokenize-rt-5.2.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -20,6 +20,6 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64"
+KEYWORDS="amd64 arm64 x86"
distutils_enable_tests pytest
diff --git a/dev-python/tomli-w/tomli-w-1.0.0-r1.ebuild b/dev-python/tomli-w/tomli-w-1.0.0-r1.ebuild
index b5d2c5e48ed7..41878e1e9a52 100644
--- a/dev-python/tomli-w/tomli-w-1.0.0-r1.ebuild
+++ b/dev-python/tomli-w/tomli-w-1.0.0-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{9..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/tomli/tomli-2.0.1-r1.ebuild b/dev-python/tomli/tomli-2.0.1-r1.ebuild
index c54478954c55..2aa05fb0cf28 100644
--- a/dev-python/tomli/tomli-2.0.1-r1.ebuild
+++ b/dev-python/tomli/tomli-2.0.1-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
# please keep this ebuild at EAPI 7 -- sys-apps/portage dep
EAPI=7
DISTUTILS_USE_PEP517=no
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/tomlkit/Manifest b/dev-python/tomlkit/Manifest
index 1348c338a680..6a3ad20e1288 100644
--- a/dev-python/tomlkit/Manifest
+++ b/dev-python/tomlkit/Manifest
@@ -1 +1,2 @@
-DIST tomlkit-0.12.3.tar.gz 190967 BLAKE2B 82205c8e012d4584c60ce8d53a995a01fccd50e35330b8aaecd84dd348b79be1ec7cd9bbaf84dbdbcd904102b7dc4216551298657553606d4da8457f565e8945 SHA512 f89b1fdcbefcd511bbc5e22a1cc57d8c4593fc1353e901de31c69ac99ed3c685f042d71205c747bd5d20df246dd19b5402393df81231f12d18414d85c0a0000c
+DIST tomlkit-0.12.5.tar.gz 191420 BLAKE2B 3175f2932db1da3aca439581c7a11fd2dce01dff3c9d21b07577bdf38138515105939bc864510dce1f98e28caa222b6ba94a0d0906b515e7b677c405b90bf77c SHA512 85fba0018059c72f483251e53c039ede4ed630dd31afc58a1555705281a42c090aee2d8c25234b8700ff5f3a766313d7c9c716d7224f608f22f836c9e701c251
+DIST tomlkit-0.13.0.tar.gz 191792 BLAKE2B f5f865b49f9850281d01de2c2ba9c2d8685a10a5cd0f17c475d120978472485a5bd607dc4b283221eab69fc6e214259feafdbe85c8237fe9c80b49007523bb69 SHA512 46c5a771ff401e0b300dbd13708d78b63415653b87eb649898bf0bd58cedeb110622ff2f0ade0ad1cd517610229ba0f59b4d520cf2fa1eea6522ea0bc042317e
diff --git a/dev-python/tomlkit/files/tomlkit-0.12.5-py313.patch b/dev-python/tomlkit/files/tomlkit-0.12.5-py313.patch
new file mode 100644
index 000000000000..bc6201d42101
--- /dev/null
+++ b/dev-python/tomlkit/files/tomlkit-0.12.5-py313.patch
@@ -0,0 +1,71 @@
+From 05d9be1c2b2a95a4eb3a53d999f1483dd7abae5a Mon Sep 17 00:00:00 2001
+From: Frost Ming <me@frostming.com>
+Date: Mon, 13 May 2024 10:44:28 +0800
+Subject: [PATCH] fix: Test failures with Python 3.13.0a4:
+ test_dates_behave_like_dates and test_times_behave_like_times (#349)
+
+Fixes #333
+
+Signed-off-by: Frost Ming <me@frostming.com>
+---
+ tests/test_items.py | 4 ++--
+ tomlkit/items.py | 15 ++++++++++-----
+ 4 files changed, 20 insertions(+), 8 deletions(-)
+
+diff --git a/tests/test_items.py b/tests/test_items.py
+index 1a71b04..3d2de68 100644
+--- a/tests/test_items.py
++++ b/tests/test_items.py
+@@ -689,7 +689,7 @@ def test_dates_behave_like_dates():
+ assert i.as_string() == "2018-07-22"
+
+ i += timedelta(days=1)
+- assert i == datetime(2018, 7, 23)
++ assert i == date(2018, 7, 23)
+ assert i.as_string() == "2018-07-23"
+
+ i -= timedelta(days=2)
+@@ -697,7 +697,7 @@ def test_dates_behave_like_dates():
+ assert i.as_string() == "2018-07-21"
+
+ i = i.replace(year=2019)
+- assert i == datetime(2019, 7, 21)
++ assert i == date(2019, 7, 21)
+ assert i.as_string() == "2019-07-21"
+
+ doc = parse("dt = 2018-07-22 # Comment")
+diff --git a/tomlkit/items.py b/tomlkit/items.py
+index ef40a15..661e09c 100644
+--- a/tomlkit/items.py
++++ b/tomlkit/items.py
+@@ -958,9 +958,14 @@ def __new__(cls, year: int, month: int, day: int, *_: Any) -> date:
+ return date.__new__(cls, year, month, day)
+
+ def __init__(
+- self, year: int, month: int, day: int, trivia: Trivia, raw: str
++ self,
++ year: int,
++ month: int,
++ day: int,
++ trivia: Trivia | None = None,
++ raw: str = "",
+ ) -> None:
+- super().__init__(trivia)
++ super().__init__(trivia or Trivia())
+
+ self._raw = raw
+
+@@ -1033,10 +1038,10 @@ def __init__(
+ second: int,
+ microsecond: int,
+ tzinfo: tzinfo | None,
+- trivia: Trivia,
+- raw: str,
++ trivia: Trivia | None = None,
++ raw: str = "",
+ ) -> None:
+- super().__init__(trivia)
++ super().__init__(trivia or Trivia())
+
+ self._raw = raw
+
diff --git a/dev-python/tomlkit/metadata.xml b/dev-python/tomlkit/metadata.xml
index 1a938ee652b2..0464c4b95333 100644
--- a/dev-python/tomlkit/metadata.xml
+++ b/dev-python/tomlkit/metadata.xml
@@ -12,6 +12,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">tomlkit</remote-id>
- <remote-id type="github">sdispater/tomlkit</remote-id>
+ <remote-id type="github">python-poetry/tomlkit</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/tomlkit/tomlkit-0.12.3.ebuild b/dev-python/tomlkit/tomlkit-0.12.3.ebuild
deleted file mode 100644
index 7cdbe04b0d3a..000000000000
--- a/dev-python/tomlkit/tomlkit-0.12.3.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Style preserving TOML library"
-HOMEPAGE="
- https://github.com/sdispater/tomlkit/
- https://pypi.org/project/tomlkit/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-BDEPEND="
- test? (
- dev-python/pyyaml[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_configure() {
- grep -q 'build-backend = "poetry' pyproject.toml ||
- die "Upstream changed build-backend, recheck"
- # write a custom pyproject.toml to ease setuptools bootstrap
- cat > pyproject.toml <<-EOF || die
- [build-system]
- requires = ["flit_core >=3.2,<4"]
- build-backend = "flit_core.buildapi"
-
- [project]
- name = "tomlkit"
- version = "${PV}"
- description = "Style preserving TOML library"
- EOF
-}
diff --git a/dev-python/tomlkit/tomlkit-0.12.5-r1.ebuild b/dev-python/tomlkit/tomlkit-0.12.5-r1.ebuild
new file mode 100644
index 000000000000..02e277f65e3d
--- /dev/null
+++ b/dev-python/tomlkit/tomlkit-0.12.5-r1.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Style preserving TOML library"
+HOMEPAGE="
+ https://github.com/python-poetry/tomlkit/
+ https://pypi.org/project/tomlkit/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+BDEPEND="
+ test? (
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/python-poetry/tomlkit/pull/349
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+src_configure() {
+ grep -q 'build-backend = "poetry' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "tomlkit"
+ version = "${PV}"
+ description = "Style preserving TOML library"
+ EOF
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/tomlkit/tomlkit-0.13.0.ebuild b/dev-python/tomlkit/tomlkit-0.13.0.ebuild
new file mode 100644
index 000000000000..32ec3c8a18ae
--- /dev/null
+++ b/dev-python/tomlkit/tomlkit-0.13.0.ebuild
@@ -0,0 +1,48 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Style preserving TOML library"
+HOMEPAGE="
+ https://github.com/python-poetry/tomlkit/
+ https://pypi.org/project/tomlkit/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+BDEPEND="
+ test? (
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "poetry' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "tomlkit"
+ version = "${PV}"
+ description = "Style preserving TOML library"
+ EOF
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/toolz/Manifest b/dev-python/toolz/Manifest
index 4fba9d39ac8d..8c4c7547ac42 100644
--- a/dev-python/toolz/Manifest
+++ b/dev-python/toolz/Manifest
@@ -1 +1 @@
-DIST toolz-0.12.0.tar.gz 66264 BLAKE2B a68bd895a4d500baebae02dce389adabbebe3eaa103ed2753ebd42d84dba54d9ef0b1467738b6a2eed14af24e197a12ef6b6c6907bcf4633252256793e1eac5f SHA512 6c1376f978a1ab469a6fcca9a5ccaf8b8f1bdf92e4484ff0bad947d6727f390ed6571426070a81a0e123725269043ded28294e57921bde2bb9ff87b048a5405f
+DIST toolz-0.12.1.tar.gz 66550 BLAKE2B 41b2002147cd453c2a8300c7ec247e06dfc8fba69a772df4a8f5c35349e991453bbbd0d7ed0162391d9314873bf0e169d20c86b875e4d4eca01aaadc76edea61 SHA512 c514934d1a8069cd70e4d8b9ca32cd2c96e85b1dabb45bbbe4b0644581eb7e7f9f6a6d9230483f1872695edf25ff77ad7643cffb3041a012ed64424097a23e9e
diff --git a/dev-python/toolz/files/toolz-0.12.1-test.patch b/dev-python/toolz/files/toolz-0.12.1-test.patch
new file mode 100644
index 000000000000..396ed003a62e
--- /dev/null
+++ b/dev-python/toolz/files/toolz-0.12.1-test.patch
@@ -0,0 +1,88 @@
+From b79a954ca5fa6801c3a3dc6b39fa523be33884a8 Mon Sep 17 00:00:00 2001
+From: Adam Williamson <awilliam@redhat.com>
+Date: Fri, 14 Jun 2024 13:43:24 -0700
+Subject: [PATCH 1/2] test_excepts: fudge changed indentation in Python 3.13
+
+Signed-off-by: Adam Williamson <awilliam@redhat.com>
+---
+ toolz/tests/test_functoolz.py | 7 +++++--
+ 1 file changed, 5 insertions(+), 2 deletions(-)
+
+diff --git a/toolz/tests/test_functoolz.py b/toolz/tests/test_functoolz.py
+index 555cf48d..a28c2a77 100644
+--- a/toolz/tests/test_functoolz.py
++++ b/toolz/tests/test_functoolz.py
+@@ -738,10 +738,13 @@ def f(a, b):
+ def test_excepts():
+ # These are descriptors, make sure this works correctly.
+ assert excepts.__name__ == 'excepts'
++ # in Python < 3.13 the second line is indented, in 3.13+
++ # it is not, strip all lines to fudge it
++ testlines = "\n".join((line.strip() for line in excepts.__doc__.splitlines()))
+ assert (
+ 'A wrapper around a function to catch exceptions and\n'
+- ' dispatch to a handler.\n'
+- ) in excepts.__doc__
++ 'dispatch to a handler.\n'
++ ) in testlines
+
+ def idx(a):
+ """idx docstring
+
+From 832e81d28882d1235c704de95e1d075ee61976c1 Mon Sep 17 00:00:00 2001
+From: Adam Williamson <awilliam@redhat.com>
+Date: Fri, 14 Jun 2024 16:03:30 -0700
+Subject: [PATCH 2/2] test_inspect_wrapped_property: handle fixed wrapper
+ inspection
+
+Python upstream recently fixed the behavior of inspect with
+wrappers: https://github.com/python/cpython/issues/112006 . The
+assertion here relies on the broken behavior, we only get None
+if `inspect(Wrapped)` fails and raises `ValueError`. Now it
+works, we actually get the correct answer, 1. This changes it so
+we assert the correct thing depending on the Python version (the
+fix was backported to 3.11.9 and 3.12.3, so the check has to be a
+bit complicated).
+
+Signed-off-by: Adam Williamson <awilliam@redhat.com>
+---
+ toolz/tests/test_inspect_args.py | 21 +++++++++++++++++++--
+ 1 file changed, 19 insertions(+), 2 deletions(-)
+
+diff --git a/toolz/tests/test_inspect_args.py b/toolz/tests/test_inspect_args.py
+index 93408eb5..f26dbc64 100644
+--- a/toolz/tests/test_inspect_args.py
++++ b/toolz/tests/test_inspect_args.py
+@@ -2,6 +2,7 @@
+ import inspect
+ import itertools
+ import operator
++import sys
+ import toolz
+ from toolz.functoolz import (curry, is_valid_args, is_partial_args, is_arity,
+ num_required_args, has_varargs, has_keywords)
+@@ -482,6 +483,22 @@ def __wrapped__(self):
+ wrapped = Wrapped(func)
+ assert inspect.signature(func) == inspect.signature(wrapped)
+
+- assert num_required_args(Wrapped) is None
+- _sigs.signatures[Wrapped] = (_sigs.expand_sig((0, lambda func: None)),)
++ # inspect.signature did not used to work properly on wrappers,
++ # but it was fixed in Python 3.11.9, Python 3.12.3 and Python
++ # 3.13+
++ inspectbroken = True
++ if sys.version_info.major > 3:
++ inspectbroken = False
++ if sys.version_info.major == 3:
++ if sys.version_info.minor == 11 and sys.version_info.micro > 8:
++ inspectbroken = False
++ if sys.version_info.minor == 12 and sys.version_info.micro > 2:
++ inspectbroken = False
++ if sys.version_info.minor > 12:
++ inspectbroken = False
++
++ if inspectbroken:
++ assert num_required_args(Wrapped) is None
++ _sigs.signatures[Wrapped] = (_sigs.expand_sig((0, lambda func: None)),)
++
+ assert num_required_args(Wrapped) == 1
diff --git a/dev-python/toolz/metadata.xml b/dev-python/toolz/metadata.xml
index c7925b2154a5..298668ed6211 100644
--- a/dev-python/toolz/metadata.xml
+++ b/dev-python/toolz/metadata.xml
@@ -8,5 +8,6 @@
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">toolz</remote-id>
+ <remote-id type="github">pytoolz/toolz</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/toolz/toolz-0.12.0.ebuild b/dev-python/toolz/toolz-0.12.0.ebuild
deleted file mode 100644
index b5ff1c5f325f..000000000000
--- a/dev-python/toolz/toolz-0.12.0.ebuild
+++ /dev/null
@@ -1,26 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="List processing tools and functional utilities"
-HOMEPAGE="
- https://github.com/pytoolz/toolz/
- https://pypi.org/project/toolz/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/toolz/toolz-0.12.1.ebuild b/dev-python/toolz/toolz-0.12.1.ebuild
new file mode 100644
index 000000000000..a29eb653f87f
--- /dev/null
+++ b/dev-python/toolz/toolz-0.12.1.ebuild
@@ -0,0 +1,31 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="List processing tools and functional utilities"
+HOMEPAGE="
+ https://github.com/pytoolz/toolz/
+ https://pypi.org/project/toolz/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/pytoolz/toolz/pull/582
+ "${FILESDIR}/${P}-test.patch"
+)
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/toposort/toposort-1.10.ebuild b/dev-python/toposort/toposort-1.10.ebuild
index e68a027789a6..12786c1bb9b7 100644
--- a/dev-python/toposort/toposort-1.10.ebuild
+++ b/dev-python/toposort/toposort-1.10.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/tornado/Manifest b/dev-python/tornado/Manifest
index 7e493f18839f..c766eb08e1da 100644
--- a/dev-python/tornado/Manifest
+++ b/dev-python/tornado/Manifest
@@ -1,2 +1 @@
-DIST tornado-6.3.3.tar.gz 509872 BLAKE2B 575928b932a912515730b23ab712d6107b27ccb37c703be722768442093d47623e27ed31f60816c4031cd04354182796275619f27896d970e350dbb51a341b0a SHA512 3d4b0f933f09b8f8d5de5f93662de73d97a0ed98f5b56e0810d803d537092c74e89315dc9aaa0af85f91e18eca64cf429f6f73bce29523ce56738398fa24a597
-DIST tornado-6.4.tar.gz 498845 BLAKE2B ebcdcfa93490107addfe69f722e2d85058a92fc366b09a4794a4d6e0a93040ef9791095a5a94d21937d4e88dea09521644cf92d0f2c7e98238dc58e6b864a009 SHA512 c063509d4c385e410c63cccdc1e9c66aa2bb739473667ede56cb801b7379b910c8059dec831d609109f3076222b588b257afd960dffa422d7a872867dcdda7c7
+DIST tornado-6.4.1.tar.gz 500623 BLAKE2B e359d9cbf5e7311e608753a2908e61ea121e4d108209866fda49e79ecca3dc8495c35583406dd7d6b2852c4f6a9df2e340b1f4b892489be976d70000ed51aa33 SHA512 294b4fff8a6d1b9592d355f7faf78f1a94a2aaea1b54414b7e81884b8d4069713a28f6105ae36f27be78abf4c47a1fceab3801bc92b5429374f7a534f104c437
diff --git a/dev-python/tornado/tornado-6.3.3.ebuild b/dev-python/tornado/tornado-6.3.3.ebuild
deleted file mode 100644
index 26b9f51602fa..000000000000
--- a/dev-python/tornado/tornado-6.3.3.ebuild
+++ /dev/null
@@ -1,75 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python web framework and asynchronous networking library"
-HOMEPAGE="
- https://www.tornadoweb.org/
- https://github.com/tornadoweb/tornado/
- https://pypi.org/project/tornado/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-IUSE="examples test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep '
- >=dev-python/pycurl-7.19.3.1[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.3.2-test-timeout-increase.patch
- "${FILESDIR}"/${PN}-6.3.2-ignore-deprecationwarning.patch
-)
-
-src_prepare() {
- # network-sandbox? ipv6?
- sed -i -e 's:test_localhost:_&:' \
- tornado/test/netutil_test.py || die
- # regressions with py3.12, not important enough to block us
- sed -e 's:test_chunked(:_&:' \
- -e 's:test_gzip:_&:' \
- -e 's:test_header_callback:_&:' \
- -i tornado/test/{curl_,simple_,}httpclient_test.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x ASYNC_TEST_TIMEOUT=60
- # Avoid time-sensitive tests
- # https://github.com/tornadoweb/tornado/blob/10974e6ebee80a26a2a65bb9bd715cf858fafde5/tornado/test/util.py#L19
- local -x TRAVIS=1
- local -x NO_NETWORK=1
-
- cd "${T}" || die
- "${EPYTHON}" -m tornado.test.runtests --verbose ||
- die "tests failed under ${EPYTHON}"
-}
-
-python_install_all() {
- if use examples; then
- docinto examples
- dodoc -r demos/.
- docompress -x /usr/share/doc/${PF}/examples
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/tornado/tornado-6.4.1.ebuild b/dev-python/tornado/tornado-6.4.1.ebuild
new file mode 100644
index 000000000000..4dbe33864e31
--- /dev/null
+++ b/dev-python/tornado/tornado-6.4.1.ebuild
@@ -0,0 +1,61 @@
+# 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..13} pypy3 )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python web framework and asynchronous networking library"
+HOMEPAGE="
+ https://www.tornadoweb.org/
+ https://github.com/tornadoweb/tornado/
+ https://pypi.org/project/tornado/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ >=dev-python/pycurl-7.19.3.1[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-6.3.2-test-timeout-increase.patch"
+ "${FILESDIR}/${PN}-6.3.2-ignore-deprecationwarning.patch"
+)
+
+src_prepare() {
+ # network-sandbox? ipv6?
+ sed -i -e 's:test_localhost:_&:' \
+ tornado/test/netutil_test.py || die
+
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x ASYNC_TEST_TIMEOUT=60
+ # Avoid time-sensitive tests
+ # https://github.com/tornadoweb/tornado/blob/10974e6ebee80a26a2a65bb9bd715cf858fafde5/tornado/test/util.py#L19
+ local -x TRAVIS=1
+ local -x NO_NETWORK=1
+
+ cd "${T}" || die
+ "${EPYTHON}" -m tornado.test.runtests --verbose ||
+ die "tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/tornado/tornado-6.4.ebuild b/dev-python/tornado/tornado-6.4.ebuild
deleted file mode 100644
index f86398464b4b..000000000000
--- a/dev-python/tornado/tornado-6.4.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python web framework and asynchronous networking library"
-HOMEPAGE="
- https://www.tornadoweb.org/
- https://github.com/tornadoweb/tornado/
- https://pypi.org/project/tornado/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep '
- >=dev-python/pycurl-7.19.3.1[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${PN}-6.3.2-test-timeout-increase.patch
- "${FILESDIR}"/${PN}-6.3.2-ignore-deprecationwarning.patch
-)
-
-src_prepare() {
- # network-sandbox? ipv6?
- sed -i -e 's:test_localhost:_&:' \
- tornado/test/netutil_test.py || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x ASYNC_TEST_TIMEOUT=60
- # Avoid time-sensitive tests
- # https://github.com/tornadoweb/tornado/blob/10974e6ebee80a26a2a65bb9bd715cf858fafde5/tornado/test/util.py#L19
- local -x TRAVIS=1
- local -x NO_NETWORK=1
-
- cd "${T}" || die
- "${EPYTHON}" -m tornado.test.runtests --verbose ||
- die "tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/towncrier/towncrier-23.11.0.ebuild b/dev-python/towncrier/towncrier-23.11.0.ebuild
index 427623968ad4..9e97f6ed6bd1 100644
--- a/dev-python/towncrier/towncrier-23.11.0.ebuild
+++ b/dev-python/towncrier/towncrier-23.11.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -36,6 +36,7 @@ RDEPEND="
BDEPEND="
dev-python/incremental[${PYTHON_USEDEP}]
test? (
+ ${RDEPEND}
dev-vcs/git
>=dev-python/twisted-16.0.0[${PYTHON_USEDEP}]
)
diff --git a/dev-python/tox/Manifest b/dev-python/tox/Manifest
index c9bd6360dc79..e76aef54cc9b 100644
--- a/dev-python/tox/Manifest
+++ b/dev-python/tox/Manifest
@@ -1,3 +1 @@
-DIST tox-3.28.0.gh.tar.gz 309472 BLAKE2B 9896411426f6aebb3efa468c01696ecc5f17ec3e67825672d0efc74c1b1468bc8b8d9c14b6177c181750ba4b9a5e77d616068dd83e21f5641acfc8e2a271cc1f SHA512 64816754e6800661bb564c5c7d21c4139522d540a04fafe3c4591d596072d48d1cbe0ee2abee9c8faf3d5007774f5371431b5a7a8f49912bc879c7b168aab2ca
-DIST tox-4.11.3.tar.gz 175528 BLAKE2B 521e26cf11127b51089e1f5c20ec73bfa2ec36fc098f03cdca398769ae9d6d67f75e4bd0a4b661fcdfbc614d9971fd8e4e801648459456d690493a071aaa25f1 SHA512 326023cf8011957ea4b1e7c8765ca9da3a2387a78810ade09b71be56c26481cd020ca99217a3c7fe7f95da365840dfb5c7c7ee6ed63caeda2b326abdd66b7438
-DIST tox-4.11.4.tar.gz 176168 BLAKE2B 03cf6337450494772a85787f2a34eaebfd1db159689fa4c26128efacb968b6aaac995c13a70ffaf1a7dde89107c9bb1975366ff1cc47a46979c7a1cfbd6c3402 SHA512 4b6149ec5945d67d3f5afd309a71a7845fe3ca2ca1291cb08327bda2177d2623ca49d52548fabf7856416dd90973c82566559a738946038963e7aada544ddc30
+DIST tox-4.16.0.tar.gz 179738 BLAKE2B 24ab57b05504ca8d4ef39c164604e5cc8150d722d0d0258bac8fe35b0dcf7ee31625734c65cabb26b4c49f377fe9b2be65f8d84481f7aee7307f9499e6498929 SHA512 b3d65c5b4f086f1f0474d6cb08d3d4bcdf81735376a94e97997ab5dee5c726e71e8b9a1117eda59f9afd61be0bff38a9533faf16e76b78b504ff6de0f2ddfde0
diff --git a/dev-python/tox/tox-3.28.0.ebuild b/dev-python/tox/tox-3.28.0.ebuild
deleted file mode 100644
index 69926078d9c9..000000000000
--- a/dev-python/tox/tox-3.28.0.ebuild
+++ /dev/null
@@ -1,71 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="virtualenv-based automation of test activities"
-HOMEPAGE="
- https://tox.readthedocs.io/
- https://github.com/tox-dev/tox/
- https://pypi.org/project/tox/
-"
-SRC_URI="
- https://github.com/tox-dev/tox/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/filelock[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- >=dev-python/pluggy-0.12[${PYTHON_USEDEP}]
- dev-python/py[${PYTHON_USEDEP}]
- >=dev-python/six-1.14[${PYTHON_USEDEP}]
- >=dev-python/virtualenv-20.1.0[${PYTHON_USEDEP}]
- dev-python/pip[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/tomli-1.0.0[${PYTHON_USEDEP}]
- ' 3.8 3.9 3.10)
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- >=dev-python/flaky-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/freezegun-0.3.11[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # broken without Internet
- tests/unit/session/test_provision.py::test_provision_non_canonical_dep
- tests/integration/test_provision_int.py::test_provision_interrupt_child
-
- # expects python2 to exist
- tests/unit/interpreters/test_interpreters.py::test_tox_get_python_executable
- )
-
- [[ ${EPYTHON} != pypy3 ]] && EPYTEST_DESELECT+=(
- # capfd doesn't seem to work for some non-obvious reason
- tests/unit/test_z_cmdline.py::TestSession::test_summary_status
- tests/unit/session/test_provision.py::test_provision_bad_requires
-
- # TODO?
- tests/unit/interpreters/test_interpreters.py::test_find_alias_on_path
- )
-
- epytest --no-network
-}
diff --git a/dev-python/tox/tox-4.11.3.ebuild b/dev-python/tox/tox-4.11.3.ebuild
deleted file mode 100644
index 036fcb69842c..000000000000
--- a/dev-python/tox/tox-4.11.3.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="virtualenv-based automation of test activities"
-HOMEPAGE="
- https://tox.readthedocs.io/
- https://github.com/tox-dev/tox/
- https://pypi.org/project/tox/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/cachetools[${PYTHON_USEDEP}]
- dev-python/chardet[${PYTHON_USEDEP}]
- dev-python/colorama[${PYTHON_USEDEP}]
- dev-python/filelock[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/platformdirs[${PYTHON_USEDEP}]
- dev-python/pluggy[${PYTHON_USEDEP}]
- dev-python/pyproject-api[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{9..10})
- dev-python/virtualenv[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/build[${PYTHON_USEDEP}]
- dev-python/distlib[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/re-assert[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/time-machine[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # upstream lower bounds are meaningless
- sed -i -e 's:>=[0-9.]*::' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- # devpi_process is not packaged, and has lots of dependencies
- cat > "${T}"/devpi_process.py <<-EOF || die
- def IndexServer(*args, **kwargs): raise NotImplementedError()
- EOF
-
- local -x PYTHONPATH=${T}:${PYTHONPATH}
- local EPYTEST_DESELECT=(
- # Internet
- tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_build_wheel_external
- )
- local EPYTEST_IGNORE=(
- # requires devpi*
- tests/test_provision.py
- )
-
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit-True-True]'
- 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements-True-True]'
- 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[constraints-True-True]'
- 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit+requirements-True-True]'
- 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_indirect-True-True]'
- 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_constraints_indirect-True-True]'
- )
-
- epytest
-
- # tox leaves a *humonogous* tempdir which easily leads to ENOSPC
- # when running in parallel with other packages
- rm -r "${T}"/pytest* || die
-}
diff --git a/dev-python/tox/tox-4.11.4.ebuild b/dev-python/tox/tox-4.11.4.ebuild
deleted file mode 100644
index fae54d1c1448..000000000000
--- a/dev-python/tox/tox-4.11.4.ebuild
+++ /dev/null
@@ -1,90 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="virtualenv-based automation of test activities"
-HOMEPAGE="
- https://tox.readthedocs.io/
- https://github.com/tox-dev/tox/
- https://pypi.org/project/tox/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-
-RDEPEND="
- dev-python/cachetools[${PYTHON_USEDEP}]
- dev-python/chardet[${PYTHON_USEDEP}]
- dev-python/colorama[${PYTHON_USEDEP}]
- dev-python/filelock[${PYTHON_USEDEP}]
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/platformdirs[${PYTHON_USEDEP}]
- dev-python/pluggy[${PYTHON_USEDEP}]
- dev-python/pyproject-api[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/tomli[${PYTHON_USEDEP}]
- ' 3.{9..10})
- dev-python/virtualenv[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/build[${PYTHON_USEDEP}]
- dev-python/distlib[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/re-assert[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/time-machine[${PYTHON_USEDEP}]
- ' 'python*')
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # upstream lower bounds are meaningless
- sed -i -e 's:>=[0-9.]*::' pyproject.toml || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- # devpi_process is not packaged, and has lots of dependencies
- cat > "${T}"/devpi_process.py <<-EOF || die
- def IndexServer(*args, **kwargs): raise NotImplementedError()
- EOF
-
- local -x PYTHONPATH=${T}:${PYTHONPATH}
- local EPYTEST_DESELECT=(
- # Internet
- tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_build_wheel_external
- )
- local EPYTEST_IGNORE=(
- # requires devpi*
- tests/test_provision.py
- )
-
- [[ ${EPYTHON} == pypy3 ]] && EPYTEST_DESELECT+=(
- 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit-True-True]'
- 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements-True-True]'
- 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[constraints-True-True]'
- 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit+requirements-True-True]'
- 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_indirect-True-True]'
- 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_constraints_indirect-True-True]'
- )
-
- epytest
-
- # tox leaves a *humonogous* tempdir which easily leads to ENOSPC
- # when running in parallel with other packages
- rm -r "${T}"/pytest* || die
-}
diff --git a/dev-python/tox/tox-4.16.0.ebuild b/dev-python/tox/tox-4.16.0.ebuild
new file mode 100644
index 000000000000..afd9e40bb1d9
--- /dev/null
+++ b/dev-python/tox/tox-4.16.0.ebuild
@@ -0,0 +1,97 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="virtualenv-based automation of test activities"
+HOMEPAGE="
+ https://tox.readthedocs.io/
+ https://github.com/tox-dev/tox/
+ https://pypi.org/project/tox/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/cachetools[${PYTHON_USEDEP}]
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/colorama[${PYTHON_USEDEP}]
+ dev-python/filelock[${PYTHON_USEDEP}]
+ dev-python/packaging[${PYTHON_USEDEP}]
+ dev-python/platformdirs[${PYTHON_USEDEP}]
+ dev-python/pluggy[${PYTHON_USEDEP}]
+ dev-python/pyproject-api[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/tomli[${PYTHON_USEDEP}]
+ ' 3.{9..10})
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/distlib[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ dev-python/re-assert[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python*')
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # upstream lower bounds are meaningless
+ sed -i -e 's:>=[0-9.]*::' pyproject.toml || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ # devpi_process is not packaged, and has lots of dependencies
+ cat > "${T}"/devpi_process.py <<-EOF || die
+ def IndexServer(*args, **kwargs): raise NotImplementedError()
+ EOF
+
+ local -x PYTHONPATH=${T}:${PYTHONPATH}
+ local EPYTEST_DESELECT=(
+ # Internet
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_build_wheel_external
+ tests/tox_env/python/virtual_env/package/test_package_cmd_builder.py::test_run_installpkg_targz
+ )
+ local EPYTEST_IGNORE=(
+ # requires devpi*
+ tests/test_provision.py
+ )
+
+ case ${EPYTHON} in
+ pypy3)
+ EPYTEST_DESELECT+=(
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[constraints-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[explicit+requirements-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_indirect-True-True]'
+ 'tests/tox_env/python/pip/test_pip_install.py::test_constrain_package_deps[requirements_constraints_indirect-True-True]'
+ )
+ ;;
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # https://github.com/tox-dev/tox/issues/3290
+ 'tests/config/loader/test_str_convert.py::test_str_convert_ok_py39[1,2-value1-Optional]'
+ )
+ ;;
+ esac
+
+ epytest
+}
diff --git a/dev-python/tpm2-pytss/Manifest b/dev-python/tpm2-pytss/Manifest
index 589b1dd23ffb..320d082d4a46 100644
--- a/dev-python/tpm2-pytss/Manifest
+++ b/dev-python/tpm2-pytss/Manifest
@@ -1 +1,2 @@
-DIST tpm2-pytss-2.1.0.tar.gz 203244 BLAKE2B f960fc08c12d10835ec7127e47842ea82b760e2de4fb3060a2f55f9bab5396cbe6f8edd07cb35b98d90ba8ec22c2d3ff287acbad47feac05f02df38b154f2132 SHA512 b4d8b3a0124e67278f08ff72d3635221e84ae26b6a5489ee159e641931aa9045b4b5111ed02d5ff86d69bd89b8460b2592a3fdb94742562351e41783c78184ba
+DIST tpm2-pytss-2.2.1.tar.gz 208114 BLAKE2B fe07f38a6c19bc2b2baf079184f39d3ef28268900a35e14bfa22abb61dd956fdb286560ab6d35d66160147296e590fa3dac3d015f9919e1966f43179c1bdcdb1 SHA512 0acaa37d118d71edb123c5e88ef5af5dd78a73b0f8db15500866b6799d98e4c6107f9da1b8c1bce1c9061e9df85d735a39d9335cea65cac0e058db83aed8ad06
+DIST tpm2-pytss-2.3.0.tar.gz 213848 BLAKE2B 7e9264ab53cfe666991150fe2c0efdd973f7b58b4968b557d6494156ba4d362bd147f580f2ef50b85ac1b43cd9fc4921d71eea42d5a14b9379f82d45b6a6b536 SHA512 d0f76aec77afa773ec0ed7878a0ca4ef3b3475aa64f219d7a5afd89cbca795457536b0a9b5ffa14704200dcb35a89df36f9fc799694f7cc3cfbf98ea551628b1
diff --git a/dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-test-add-check-for-renamed-cryptography-types.patch b/dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-test-add-check-for-renamed-cryptography-types.patch
deleted file mode 100644
index c1aeaee4dcd1..000000000000
--- a/dev-python/tpm2-pytss/files/tpm2-pytss-2.1.0-test-add-check-for-renamed-cryptography-types.patch
+++ /dev/null
@@ -1,45 +0,0 @@
-From e4006e6066c015d9ed55befa9b98247fbdcafd7d Mon Sep 17 00:00:00 2001
-From: Erik Larsson <who+github@cnackers.org>
-Date: Mon, 26 Jun 2023 12:15:41 +0200
-Subject: [PATCH] test: add check for renamed cryptography types
-
-Some types have changed their names in newer cryptography release, so add them to the tests
-
-Signed-off-by: Erik Larsson <who+github@cnackers.org>
----
- test/test_crypto.py | 16 ++++++++++++++--
- 1 file changed, 14 insertions(+), 2 deletions(-)
-
-diff --git a/test/test_crypto.py b/test/test_crypto.py
-index 92cda00..7d7466e 100644
---- a/test/test_crypto.py
-+++ b/test/test_crypto.py
-@@ -596,11 +596,23 @@ class CryptoTest(TSS2_EsapiTest):
-
- with self.assertRaises(ValueError) as e:
- TPMT_SENSITIVE.from_pem(der)
-- self.assertEqual(str(e.exception), "unsupported key type: _DSAPrivateKey")
-+ self.assertIn(
-+ str(e.exception),
-+ (
-+ "unsupported key type: _DSAPrivateKey",
-+ "unsupported key type: DSAPrivateKey",
-+ ),
-+ )
-
- with self.assertRaises(ValueError) as e:
- TPMT_PUBLIC.from_pem(dsa_public_key)
-- self.assertEqual(str(e.exception), "unsupported key type: _DSAPublicKey")
-+ self.assertIn(
-+ str(e.exception),
-+ (
-+ "unsupported key type: _DSAPublicKey",
-+ "unsupported key type: DSAPublicKey",
-+ ),
-+ )
-
- def test_from_pem_with_symmetric(self):
- sym = TPMT_SYM_DEF_OBJECT(algorithm=TPM2_ALG.AES)
---
-2.41.0
-
diff --git a/dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-Revert-test-skip-some-FAPI-tests-if-testing-agains-t.patch b/dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-Revert-test-skip-some-FAPI-tests-if-testing-agains-t.patch
new file mode 100644
index 000000000000..ff18af2015c6
--- /dev/null
+++ b/dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-Revert-test-skip-some-FAPI-tests-if-testing-agains-t.patch
@@ -0,0 +1,83 @@
+From a04715c5ef5bc3d6b30b1354d64db1762bc42b9c Mon Sep 17 00:00:00 2001
+From: Erik Larsson <who+github@cnackers.org>
+Date: Fri, 12 Apr 2024 19:49:52 +0200
+Subject: [PATCH 1/2] Revert "test: skip some FAPI tests if testing agains
+ tpm2-tss master branch."
+
+This reverts commit 9e948984676b38f71e923a6e167340dc99554ac0.
+
+Fixed in tpm2-tss master branch, so remove the temporary fixes.
+
+Signed-off-by: Erik Larsson <who+github@cnackers.org>
+---
+ test/test_fapi.py | 19 +++++--------------
+ 1 file changed, 5 insertions(+), 14 deletions(-)
+
+diff --git a/test/test_fapi.py b/test/test_fapi.py
+index f702fc9..6b77c66 100644
+--- a/test/test_fapi.py
++++ b/test/test_fapi.py
+@@ -13,7 +13,7 @@ from cryptography.hazmat.primitives.asymmetric.padding import PSS
+
+ from tpm2_pytss import *
+
+-from tpm2_pytss.internal.utils import is_bug_fixed, _lib_version_atleast
++from tpm2_pytss.internal.utils import is_bug_fixed
+
+ from .TSS2_BaseTest import TpmSimulator
+ from tpm2_pytss.TSS2_Exception import TSS2_Exception
+@@ -614,8 +614,7 @@ class Common:
+ self.fapi.sign(key_path, b"\x22" * 32)
+
+ @pytest.mark.skipif(
+- _lib_version_atleast("tss2-fapi", "4.0.1-170")
+- or not is_bug_fixed(fixed_in="3.2", backports=["2.4.7", "3.0.5", "3.1.1"]),
++ not is_bug_fixed(fixed_in="3.2", backports=["2.4.7", "3.0.5", "3.1.1"]),
+ reason="tpm2-tss bug, see #2084",
+ )
+ def test_write_authorize_nv(self, esys):
+@@ -662,8 +661,7 @@ class Common:
+ self.fapi.quote(path=key_path, pcrs=[7, 9])
+
+ @pytest.mark.skipif(
+- _lib_version_atleast("tss2-fapi", "4.0.1-170")
+- or not is_bug_fixed(fixed_in="3.2", backports=["2.4.7", "3.0.5", "3.1.1"]),
++ not is_bug_fixed(fixed_in="3.2", backports=["2.4.7", "3.0.5", "3.1.1"]),
+ reason="tpm2-tss bug, see #2084",
+ )
+ def test_authorize_policy(self, sign_key):
+@@ -728,9 +726,7 @@ class Common:
+ self.fapi.quote(path=key_path, pcrs=[7, 9])
+
+ @pytest.mark.skipif(
+- _lib_version_atleast("tss2-fapi", "4.0.1-170")
+- or not is_bug_fixed(fixed_in="3.2"),
+- reason="tpm2-tss bug, see #2080",
++ not is_bug_fixed(fixed_in="3.2"), reason="tpm2-tss bug, see #2080"
+ )
+ def test_policy_signed(self, cryptography_key):
+ # create external signing key used by the signing authority external to the TPM
+@@ -792,10 +788,6 @@ class Common:
+ with pytest.raises(TSS2_Exception):
+ self.fapi.sign(path=key_path, digest=b"\x11" * 32)
+
+- @pytest.mark.skipif(
+- _lib_version_atleast("tss2-fapi", "4.0.1-170"),
+- reason="issue on master branch.",
+- )
+ def test_policy_branched(self):
+ pcr_index = 15
+ pcr_data = b"ABCDEF"
+@@ -913,8 +905,7 @@ class Common:
+ self.fapi.delete(path=nv_path)
+
+ @pytest.mark.skipif(
+- _lib_version_atleast("tss2-fapi", "4.0.1-170")
+- or not is_bug_fixed(fixed_in="3.2", backports=["2.4.7", "3.0.5", "3.1.1"]),
++ not is_bug_fixed(fixed_in="3.2", backports=["2.4.7", "3.0.5", "3.1.1"]),
+ reason="tpm2-tss bug, see #2089",
+ )
+ def test_policy_action(self):
+--
+2.43.2
+
diff --git a/dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-cryptography-fixes-for-newer-version-of-cryptography.patch b/dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-cryptography-fixes-for-newer-version-of-cryptography.patch
new file mode 100644
index 000000000000..2938e1938940
--- /dev/null
+++ b/dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-cryptography-fixes-for-newer-version-of-cryptography.patch
@@ -0,0 +1,53 @@
+From 5a33c767be196328948baef569de084d97d62384 Mon Sep 17 00:00:00 2001
+From: Erik Larsson <who+github@cnackers.org>
+Date: Tue, 26 Mar 2024 13:25:10 +0100
+Subject: [PATCH] cryptography: fixes for newer version of cryptography
+
+Signed-off-by: Erik Larsson <who+github@cnackers.org>
+---
+ src/tpm2_pytss/internal/crypto.py | 1 +
+ test/test_encoding.py | 2 +-
+ test/test_policy.py | 2 +-
+ 3 files changed, 3 insertions(+), 2 deletions(-)
+
+diff --git a/src/tpm2_pytss/internal/crypto.py b/src/tpm2_pytss/internal/crypto.py
+index 42030c5..f9d8c34 100644
+--- a/src/tpm2_pytss/internal/crypto.py
++++ b/src/tpm2_pytss/internal/crypto.py
+@@ -25,6 +25,7 @@ from cryptography.hazmat.backends import default_backend
+ from cryptography.exceptions import UnsupportedAlgorithm, InvalidSignature
+ from typing import Tuple, Type, Any
+ import secrets
++import inspect
+ import sys
+
+ _curvetable = (
+diff --git a/test/test_encoding.py b/test/test_encoding.py
+index 1f58562..8cf4b51 100644
+--- a/test/test_encoding.py
++++ b/test/test_encoding.py
+@@ -1406,7 +1406,7 @@ class ToolsTest(TSS2_BaseTest):
+ def test_tools_decode_tpm2b_name(self):
+ if not self.has_tools:
+ self.skipTest("tools not in path")
+- key = ec.generate_private_key(ec.SECP256R1).public_key()
++ key = ec.generate_private_key(ec.SECP256R1()).public_key()
+ kb = key.public_bytes(
+ serialization.Encoding.PEM, serialization.PublicFormat.SubjectPublicKeyInfo
+ )
+diff --git a/test/test_policy.py b/test/test_policy.py
+index f18aa8a..5f56e21 100644
+--- a/test/test_policy.py
++++ b/test/test_policy.py
+@@ -47,7 +47,7 @@ class TestPolicy(TSS2_EsapiTest):
+ super().setUp()
+ self._has_secp192r1 = True
+ try:
+- ec.generate_private_key(ec.SECP192R1)
++ ec.generate_private_key(ec.SECP192R1())
+ except Exception:
+ self._has_secp192r1 = False
+
+--
+2.43.2
+
diff --git a/dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-scripts-update-regex-for-defines.patch b/dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-scripts-update-regex-for-defines.patch
new file mode 100644
index 000000000000..99f65025434f
--- /dev/null
+++ b/dev-python/tpm2-pytss/files/tpm2-pytss-2.2.1-scripts-update-regex-for-defines.patch
@@ -0,0 +1,28 @@
+From b02fdc8e259fe977c1065389c042be69e2985bdf Mon Sep 17 00:00:00 2001
+From: Erik Larsson <who+github@cnackers.org>
+Date: Sat, 20 Apr 2024 10:32:55 +0200
+Subject: [PATCH 2/2] scripts: update regex for #defines
+
+Commit fdb3594b27aee315ad56af361512800266672582 in tpm2-tss changed
+the structure of some defines, so fix the regex.
+
+Signed-off-by: Erik Larsson <who+github@cnackers.org>
+---
+ scripts/prepare_headers.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/scripts/prepare_headers.py b/scripts/prepare_headers.py
+index 6ca9b64..a7529b3 100644
+--- a/scripts/prepare_headers.py
++++ b/scripts/prepare_headers.py
+@@ -32,6 +32,7 @@ def remove_common_guards(s):
+
+ # Restructure #defines with ...
+ s = re.sub("(#define [A-Za-z0-9_]+) +\(\(.*?\) \(.*?\)\)", "\g<1>...", s)
++ s = re.sub("(#define [A-Za-z0-9_]+) +\(\(\(.*?\) .*\)", "\g<1>...", s)
+ s = re.sub("(#define [A-Za-z0-9_]+) +\(\(.*?\).*?\) ", "\g<1>...", s)
+ s = re.sub(
+ "(#define [A-Za-z0-9_]+) .*\n.*?.*\)\)", "\g<1>...", s, flags=re.MULTILINE
+--
+2.43.2
+
diff --git a/dev-python/tpm2-pytss/tpm2-pytss-2.1.0-r1.ebuild b/dev-python/tpm2-pytss/tpm2-pytss-2.1.0-r1.ebuild
deleted file mode 100644
index 18d96bdbc4e2..000000000000
--- a/dev-python/tpm2-pytss/tpm2-pytss-2.1.0-r1.ebuild
+++ /dev/null
@@ -1,44 +0,0 @@
-# Copyright 1999-2023 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} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python bindings for TSS"
-HOMEPAGE="
- https://pypi.org/project/tpm2-pytss
- https://github.com/tpm2-software/tpm2-pytss
-"
-
-LICENSE="BSD-2"
-SLOT="0"
-KEYWORDS="~amd64"
-
-IUSE="+fapi test"
-
-RDEPEND="app-crypt/tpm2-tss:=[fapi=]
- fapi? ( >=app-crypt/tpm2-tss-3.0.3:= )
- dev-python/cffi[${PYTHON_USEDEP}]
- dev-python/asn1crypto[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/pycparser[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]"
-
-DEPEND="${RDEPEND}
- test? ( app-crypt/swtpm )"
-
-BDEPEND="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"
- )
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-
-distutils_enable_tests pytest
diff --git a/dev-python/tpm2-pytss/tpm2-pytss-2.2.1.ebuild b/dev-python/tpm2-pytss/tpm2-pytss-2.2.1.ebuild
new file mode 100644
index 000000000000..a14aa4203d81
--- /dev/null
+++ b/dev-python/tpm2-pytss/tpm2-pytss-2.2.1.ebuild
@@ -0,0 +1,50 @@
+# 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..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for TSS"
+HOMEPAGE="
+ https://pypi.org/project/tpm2-pytss/
+ https://github.com/tpm2-software/tpm2-pytss/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+fapi test"
+
+DEPEND="
+ app-crypt/tpm2-tss:=[fapi=]
+ fapi? ( >=app-crypt/tpm2-tss-3.0.3:= )
+ test? ( app-crypt/swtpm )
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/cffi[${PYTHON_USEDEP}]
+ dev-python/asn1crypto[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/pycparser[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pkgconfig[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-2.2.1-cryptography-fixes-for-newer-version-of-cryptography.patch"
+ "${FILESDIR}/${PN}-2.2.1-Revert-test-skip-some-FAPI-tests-if-testing-agains-t.patch"
+ "${FILESDIR}/${PN}-2.2.1-scripts-update-regex-for-defines.patch"
+ )
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+distutils_enable_tests pytest
diff --git a/dev-python/tpm2-pytss/tpm2-pytss-2.3.0.ebuild b/dev-python/tpm2-pytss/tpm2-pytss-2.3.0.ebuild
new file mode 100644
index 000000000000..9ad2962b3fa8
--- /dev/null
+++ b/dev-python/tpm2-pytss/tpm2-pytss-2.3.0.ebuild
@@ -0,0 +1,43 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for TSS"
+HOMEPAGE="
+ https://pypi.org/project/tpm2-pytss/
+ https://github.com/tpm2-software/tpm2-pytss/
+"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64"
+IUSE="+fapi test"
+
+DEPEND="
+ app-crypt/tpm2-tss:=[fapi=]
+ fapi? ( >=app-crypt/tpm2-tss-3.0.3:= )
+ test? ( app-crypt/swtpm )
+"
+RDEPEND="${DEPEND}
+ dev-python/cffi[${PYTHON_USEDEP}]
+ dev-python/asn1crypto[${PYTHON_USEDEP}]
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/pycparser[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/pkgconfig[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+"
+
+export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+distutils_enable_tests pytest
diff --git a/dev-python/tqdm/Manifest b/dev-python/tqdm/Manifest
index d887aa8f1554..851ed66aa194 100644
--- a/dev-python/tqdm/Manifest
+++ b/dev-python/tqdm/Manifest
@@ -1 +1 @@
-DIST tqdm-4.66.1.tar.gz 169147 BLAKE2B 4b274badaa13feb55ff079e143ec5a539a2ad1e1ed60fb319b8f955cfb5baa26676773c0d4fee95c6ad0f068434eadd80bee97559d0c0fdc8c74ea890781f589 SHA512 989bc93f791e1636525486688b1d9b457314cde7b5804018382cc490638ac0b88aac50d7870beb9dd80bc5f05e083b8f9f205ac17324106f6d936bfe8d2f316e
+DIST tqdm-4.66.4.tar.gz 169392 BLAKE2B 6d8e3e9775d93d9c064289b8a830b4f541a753a48044ec65fcee9c8d158d423e362d06c3404efce67de28fab2c3f1fb3d8aaa0fdec33b4d040ad1f2aec97fde2 SHA512 fdafa64784564f7f400f29ffa75ba564a3c9bc6d935a1ccd82260d4a1f4431792a9dae2d5c6ed69cc265f078f674081589a040d47b8745a500870d27670feadc
diff --git a/dev-python/tqdm/files/tqdm-4.66.4-py313.patch b/dev-python/tqdm/files/tqdm-4.66.4-py313.patch
new file mode 100644
index 000000000000..9417ce91a55a
--- /dev/null
+++ b/dev-python/tqdm/files/tqdm-4.66.4-py313.patch
@@ -0,0 +1,43 @@
+From eafdd306861f531c443885048f0abdaa6bc45f8e Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Thu, 27 Jun 2024 18:30:55 +0200
+Subject: [PATCH] cli: Fix docstring processing with Python 3.13+
+
+Fix docstring processing code to reindent the docstrings if using Python
+3.13 or newer. Starting with this version, all docstrings are
+automatically dedented by Python, which causes the regular expression to
+fail to match.
+
+Fixes #1585
+---
+ tqdm/cli.py | 7 ++++++-
+ 1 file changed, 6 insertions(+), 1 deletion(-)
+
+diff --git a/tqdm/cli.py b/tqdm/cli.py
+index 7284f28..1bbce6d 100644
+--- a/tqdm/cli.py
++++ b/tqdm/cli.py
+@@ -4,6 +4,7 @@ Module version for monitoring CLI pipes (`... | python -m tqdm | ...`).
+ import logging
+ import re
+ import sys
++import textwrap
+ from ast import literal_eval as numeric
+
+ from .std import TqdmKeyError, TqdmTypeError, tqdm
+@@ -177,7 +178,11 @@ def main(fp=sys.stderr, argv=None):
+ logging.basicConfig(level=getattr(logging, logLevel),
+ format="%(levelname)s:%(module)s:%(lineno)d:%(message)s")
+
+- d = tqdm.__doc__ + CLI_EXTRA_DOC
++ d = tqdm.__doc__
++ if sys.version_info >= (3, 13):
++ # Python 3.13+ automatically dedents docstrings
++ d = textwrap.indent(d, " ")
++ d += CLI_EXTRA_DOC
+
+ opt_types = dict(RE_OPTS.findall(d))
+ # opt_types['delim'] = 'chr'
+--
+2.45.2
+
diff --git a/dev-python/tqdm/tqdm-4.66.1.ebuild b/dev-python/tqdm/tqdm-4.66.1.ebuild
deleted file mode 100644
index 7cfb68470838..000000000000
--- a/dev-python/tqdm/tqdm-4.66.1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit bash-completion-r1 distutils-r1 pypi
-
-DESCRIPTION="Add a progress meter to your loops in a second"
-HOMEPAGE="
- https://github.com/tqdm/tqdm/
- https://pypi.org/project/tqdm/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-IUSE="examples"
-
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # Skip unpredictable performance tests
- tests/tests_perf.py
-)
-
-python_install_all() {
- doman tqdm/tqdm.1
- newbashcomp tqdm/completion.sh tqdm
- 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/tqdm/tqdm-4.66.4.ebuild b/dev-python/tqdm/tqdm-4.66.4.ebuild
new file mode 100644
index 000000000000..2dca9f1051c0
--- /dev/null
+++ b/dev-python/tqdm/tqdm-4.66.4.ebuild
@@ -0,0 +1,50 @@
+# 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..13} )
+
+inherit bash-completion-r1 distutils-r1 pypi
+
+DESCRIPTION="Add a progress meter to your loops in a second"
+HOMEPAGE="
+ https://github.com/tqdm/tqdm/
+ https://pypi.org/project/tqdm/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+IUSE="examples"
+
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/tqdm/tqdm/pull/1594
+ "${FILESDIR}/${P}-py313.patch"
+)
+
+EPYTEST_IGNORE=(
+ # Skip unpredictable performance tests
+ tests/tests_perf.py
+)
+
+python_install_all() {
+ doman tqdm/tqdm.1
+ newbashcomp tqdm/completion.sh tqdm
+ 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/traitlets/Manifest b/dev-python/traitlets/Manifest
index c97e042bcf0d..7a2bbb1ed9fe 100644
--- a/dev-python/traitlets/Manifest
+++ b/dev-python/traitlets/Manifest
@@ -1,2 +1 @@
-DIST traitlets-5.13.0.tar.gz 159818 BLAKE2B d681d293783044a8523512fc82994402ab7892f0adbc9d483ab4548e9b7f3491ace911a74529533a1ae7bcb3639fb50370b48647c96085da6a31a34e46777dbf SHA512 5fc084862e2d99593fadd69711f1bb9403ef92bc1d0e0f944eb1546f107e30763e7164d7be5f83c22e846bae51129376b5d14cb52251d782c50be571f29451b5
-DIST traitlets-5.14.0.tar.gz 160561 BLAKE2B cca468f0566daf08517c45a7821dcef2727bf1d67dba3265c298da6bd7d86bf93f72e0c46f2518c2b07eeaa0900986c09256f7a858646175dc1c9289e0621894 SHA512 d0526bf137061709a3c5402dd0be59391cfbd39469d78784f7cbd94fb2150294b5c2b24d100c9eec64c63e42f9c53ebf334fd0222f6bf6426676ca9b811b41f5
+DIST traitlets-5.14.3.tar.gz 161621 BLAKE2B b7367c4f14bf1e5dc24361d5d6780ef353a0356be2cbc8548052a27d279b02ce856b73ae1320d5dcded86afe16e8ead7f9d6964d9822f87cc06b616394c42693 SHA512 7c8469761aab7ad708b12d49c222a6e892877152c68125b805a1819b06292380be16e816c405398ad988f2197adc2c59781457a51efc7d1e410f9ed8b11c06c4
diff --git a/dev-python/traitlets/traitlets-5.13.0.ebuild b/dev-python/traitlets/traitlets-5.13.0.ebuild
deleted file mode 100644
index 95ac59087f6b..000000000000
--- a/dev-python/traitlets/traitlets-5.13.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A configuration system for Python applications"
-HOMEPAGE="
- https://github.com/ipython/traitlets/
- https://pypi.org/project/traitlets/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-
-BDEPEND="
- test? (
- >=dev-python/argcomplete-2.0[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs/source \
- dev-python/myst-parser \
- dev-python/pydata-sphinx-theme
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/test_typing.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_mock
-}
diff --git a/dev-python/traitlets/traitlets-5.14.0.ebuild b/dev-python/traitlets/traitlets-5.14.0.ebuild
deleted file mode 100644
index 8e1fe91a13a5..000000000000
--- a/dev-python/traitlets/traitlets-5.14.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A configuration system for Python applications"
-HOMEPAGE="
- https://github.com/ipython/traitlets/
- https://pypi.org/project/traitlets/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-
-BDEPEND="
- test? (
- >=dev-python/argcomplete-2.0[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_sphinx docs/source \
- dev-python/myst-parser \
- dev-python/pydata-sphinx-theme
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- tests/test_typing.py
- )
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_mock
-}
diff --git a/dev-python/traitlets/traitlets-5.14.3.ebuild b/dev-python/traitlets/traitlets-5.14.3.ebuild
new file mode 100644
index 000000000000..86b3cb50c242
--- /dev/null
+++ b/dev-python/traitlets/traitlets-5.14.3.ebuild
@@ -0,0 +1,40 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A configuration system for Python applications"
+HOMEPAGE="
+ https://github.com/ipython/traitlets/
+ https://pypi.org/project/traitlets/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+
+BDEPEND="
+ test? (
+ >=dev-python/argcomplete-2.0[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_sphinx docs/source \
+ dev-python/myst-parser \
+ dev-python/pydata-sphinx-theme
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ tests/test_typing.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_mock
+}
diff --git a/dev-python/transitions/Manifest b/dev-python/transitions/Manifest
index d5f65b9bde9e..7c33d443a3df 100644
--- a/dev-python/transitions/Manifest
+++ b/dev-python/transitions/Manifest
@@ -1 +1 @@
-DIST transitions-0.9.0.gh.tar.gz 1116052 BLAKE2B 3c3f0f70029fac11b89741c17b4f8223ffff7b1f4120dbacf9047c7c9d8063df00449e7ceb378aeb6263d4f55245bb89f08f6eaa0a74948368bd0eb0227fea40 SHA512 805894ba772e4a31f1fd567d3765f8ee3f3498ca5b9dd4d5b94224722d48347a2feee284dab577eca97a748dc6f810dedf1cbc3b50f41f0ab5b65d84241b9638
+DIST transitions-0.9.1.gh.tar.gz 1124905 BLAKE2B 6d8700c9b2b2d200c8377e698f4057caa78908ee7156daa3fce1f49d86c6bc9afd45fe7af4122c2e124681c3c581e98f657e39444595f97ed7fb3c64f57d70fd SHA512 8e946ee9b8e3ed0629381514b4af4446625de0cea7cc8780326829ad987b4c0f9402484ed98ca66b12e95c8da79f77c62aba9f000dbe42779f158529cde3f279
diff --git a/dev-python/transitions/transitions-0.9.0.ebuild b/dev-python/transitions/transitions-0.9.0.ebuild
deleted file mode 100644
index 56c4c44e3078..000000000000
--- a/dev-python/transitions/transitions-0.9.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A lightweight, object-oriented state machine implementation in Python"
-HOMEPAGE="https://github.com/pytransitions/transitions"
-SRC_URI="
- https://github.com/pytransitions/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm64 x86"
-IUSE="examples"
-
-RDEPEND="
- || (
- dev-python/pygraphviz[${PYTHON_USEDEP}]
- dev-python/graphviz[${PYTHON_USEDEP}]
- )
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/dill[${PYTHON_USEDEP}]
- dev-python/mock[${PYTHON_USEDEP}]
- dev-python/pycodestyle[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_install() {
- distutils-r1_src_install
- use examples && dodoc examples/*.ipynb
-}
diff --git a/dev-python/transitions/transitions-0.9.1.ebuild b/dev-python/transitions/transitions-0.9.1.ebuild
new file mode 100644
index 000000000000..a353fdacea25
--- /dev/null
+++ b/dev-python/transitions/transitions-0.9.1.ebuild
@@ -0,0 +1,60 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A lightweight, object-oriented state machine implementation in Python"
+HOMEPAGE="https://github.com/pytransitions/transitions"
+SRC_URI="
+ https://github.com/pytransitions/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm64 x86"
+IUSE="examples"
+
+RDEPEND="
+ || (
+ dev-python/pygraphviz[${PYTHON_USEDEP}]
+ dev-python/graphviz[${PYTHON_USEDEP}]
+ )
+ dev-python/six[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/dill[${PYTHON_USEDEP}]
+ dev-python/mock[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # magic to ignore async tests sometimes, breaks EPYTEST_IGNORE
+ [[ ${PV} != 0.9.1 ]] && die "Remove this hack"
+ rm conftest.py || die
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # pycodestyle, mypy, etc.
+ tests/test_codestyle.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+src_install() {
+ distutils-r1_src_install
+ use examples && dodoc examples/*.ipynb
+}
diff --git a/dev-python/translate-toolkit/Manifest b/dev-python/translate-toolkit/Manifest
index a7ac0ef8bf49..0cdc5267bfd9 100644
--- a/dev-python/translate-toolkit/Manifest
+++ b/dev-python/translate-toolkit/Manifest
@@ -1 +1,4 @@
-DIST translate-3.11.1.gh.tar.gz 1197476 BLAKE2B 5db1d5ab5dd79b0f85b48ca13e1a281a88d7e9e3a5502f9d5e44c3a82014aa49e28b3e283b2636f3bff79385da7e5db658b160c32275deb823625199a8932b57 SHA512 5b75e28c0baa41dc3a0fabb08e1961530bdffb2ae9d18bf40a682816b222f0bb725dbe67ba3536b9029c8d50c1c6b38eaa9f3e8fcbeb69653ef6565613013371
+DIST translate-3.12.2.gh.tar.gz 1202828 BLAKE2B fdfc6ea91d0e0fe9f36e1352247463fe04ff3f4cdd13dd969077ccf0dde984250303872f6bb605dcd1628a1089d81dd98b36dfd68e92c3030c740d65899a70ba SHA512 7488f45521f1744d8d457ce5f74a4955a0e4468af8b3f5be06410667f2c1e52a3dacd3b959330e6c2eb5b3a443c1e2c761538896352576f5090ce27dbfc8edab
+DIST translate-3.13.0.gh.tar.gz 1171837 BLAKE2B 9c6212d26749eac652369e94d2b653f67b364afc9f9125c5125d19e3cabc1bb36bd27bc172ad93d28cb6cdf57ed2b245336664b6b4954db9bbbfb4a8ad92b3f9 SHA512 7c6f87ec32c81a14d1775dc24d43e49b79fdf8473a4380c93a2af1532bed32a9733ee755641ce26852b1bd63acffa2110598c5fc3010bbf9de40e8a0f32af308
+DIST translate-3.13.1.gh.tar.gz 1172830 BLAKE2B 9ca2a3a30a6266a9f713fdb1e504a45263763bce2107196d2091d216db079e16eb03f4dab87627692253c64177e7c6ca9b70bc9a82b719c94fdea984adb66efb SHA512 afa0b98235cf1bc9fc5ffe50057851495e35f6acaa2ba0858fce7d01207929590112e5e5c06452b3ca2cb14a63fdaa2a66d8afe53e29112f5970680935378af7
+DIST translate-3.13.2.gh.tar.gz 1172735 BLAKE2B b4109d16e367dc42a16d26542759aecce66c3eb6bae019e24cb64940cf864620fe6c59cdd03bab7f6ebb2386bfd46b1988c18bf0c73a400389521a1968ceb8d2 SHA512 ea9772a9d010a9097c1cadc91b9c33cee241d61a25210abe5442644cea648bd0940f42aab4327b4057df128ccc16a011fa00c180b60a5ecf4357774f97272cd6
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.11.1.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.11.1.ebuild
deleted file mode 100644
index 0c440c8a1c4a..000000000000
--- a/dev-python/translate-toolkit/translate-toolkit-3.11.1.ebuild
+++ /dev/null
@@ -1,118 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-PYTHON_REQ_USE="sqlite"
-
-inherit distutils-r1
-
-MY_P=translate-${PV}
-DESCRIPTION="Toolkit to convert between many translation formats"
-HOMEPAGE="
- https://github.com/translate/translate/
- https://pypi.org/project/translate-toolkit/
-"
-SRC_URI="
- https://github.com/translate/translate/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S="${WORKDIR}"/${MY_P}
-
-LICENSE="GPL-2"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-IUSE="+html +ical +ini +subtitles +yaml"
-
-RDEPEND="
- app-text/iso-codes
- >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
- dev-python/cheroot[${PYTHON_USEDEP}]
- >=dev-python/Levenshtein-0.12.0[${PYTHON_USEDEP}]
- >=dev-python/lxml-4.3.1[${PYTHON_USEDEP}]
- >=dev-python/mistletoe-1.1.0[${PYTHON_USEDEP}]
- >=dev-python/pyparsing-3[${PYTHON_USEDEP}]
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
- sys-devel/gettext
- html? ( dev-python/utidylib[${PYTHON_USEDEP}] )
- ical? ( dev-python/vobject[${PYTHON_USEDEP}] )
- ini? ( >=dev-python/iniparse-0.5[${PYTHON_USEDEP}] )
- subtitles? ( media-video/gaupol[${PYTHON_USEDEP}] )
- yaml? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
-"
-# Technically, the test suite also has undeclared dependency
-# on dev-python/snapshottest but all the tests using it are broken
-# anyway, so we skip them.
-BDEPEND="
- test? (
- dev-python/phply[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_test() {
- # unfortunately, this bad quality package doesn't support XDG_DATA_DIRS
- # correctly, so we need to reassemble all data files in a single directory
- local -x XDG_DATA_HOME=${T}/share
- cp -r translate/share "${T}/" || die
- cp -r "${ESYSROOT}/usr/share"/gaupol "${XDG_DATA_HOME}"/ || die
-
- distutils-r1_src_test
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # Fails with network-sandbox (and even with it off but w/ softer fail)
- 'tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff'
- 'tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff'
- # all tests based on snapshottest are broken and I'm too tired
- # to figure this out
- tests/translate/tools/test_pocount.py::test_{cases,output}
- tests/translate/tools/test_junitmsgfmt.py::test_output
- )
- local EPYTEST_IGNORE=(
- # unpackaged fluent.*
- tests/translate/storage/test_fluent.py
- # changes directory and does not change it back, sigh
- tests/odf_xliff/test_odf_xliff.py
- )
-
- if ! use ini; then
- EPYTEST_IGNORE+=(
- translate/convert/test_ini2po.py
- translate/convert/test_po2ini.py
- )
- fi
-
- if ! use subtitles; then
- EPYTEST_IGNORE+=(
- translate/storage/test_subtitles.py
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- insinto /usr
- doins -r translate/share
-
- if ! use html; then
- rm "${ED}"/usr/bin/{html2po,po2html} || die
- fi
- if ! use ical; then
- rm "${ED}"/usr/bin/{ical2po,po2ical} || die
- fi
- if ! use ini; then
- rm "${ED}"/usr/bin/{ini2po,po2ini} || die
- fi
- if ! use subtitles; then
- rm "${ED}"/usr/bin/{sub2po,po2sub} || die
- fi
-}
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.12.2.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.12.2.ebuild
new file mode 100644
index 000000000000..0e75f48593c6
--- /dev/null
+++ b/dev-python/translate-toolkit/translate-toolkit-3.12.2.ebuild
@@ -0,0 +1,118 @@
+# 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} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+MY_P=translate-${PV}
+DESCRIPTION="Toolkit to convert between many translation formats"
+HOMEPAGE="
+ https://github.com/translate/translate/
+ https://pypi.org/project/translate-toolkit/
+"
+SRC_URI="
+ https://github.com/translate/translate/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+IUSE="+html +ical +ini +subtitles +yaml"
+
+RDEPEND="
+ app-text/iso-codes
+ >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
+ dev-python/cheroot[${PYTHON_USEDEP}]
+ >=dev-python/Levenshtein-0.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.3.1[${PYTHON_USEDEP}]
+ >=dev-python/mistletoe-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ html? ( dev-python/utidylib[${PYTHON_USEDEP}] )
+ ical? ( dev-python/vobject[${PYTHON_USEDEP}] )
+ ini? ( >=dev-python/iniparse-0.5[${PYTHON_USEDEP}] )
+ subtitles? ( media-video/gaupol[${PYTHON_USEDEP}] )
+ yaml? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+"
+# Technically, the test suite also has undeclared dependency
+# on dev-python/snapshottest but all the tests using it are broken
+# anyway, so we skip them.
+BDEPEND="
+ test? (
+ dev-python/phply[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ # unfortunately, this bad quality package doesn't support XDG_DATA_DIRS
+ # correctly, so we need to reassemble all data files in a single directory
+ local -x XDG_DATA_HOME=${T}/share
+ cp -r translate/share "${T}/" || die
+ cp -r "${ESYSROOT}/usr/share"/gaupol "${XDG_DATA_HOME}"/ || die
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Fails with network-sandbox (and even with it off but w/ softer fail)
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff'
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff'
+ # all tests based on snapshottest are broken and I'm too tired
+ # to figure this out
+ tests/translate/tools/test_pocount.py::test_{cases,output}
+ tests/translate/tools/test_junitmsgfmt.py::test_output
+ )
+ local EPYTEST_IGNORE=(
+ # unpackaged fluent.*
+ tests/translate/storage/test_fluent.py
+ # changes directory and does not change it back, sigh
+ tests/odf_xliff/test_odf_xliff.py
+ )
+
+ if ! use ini; then
+ EPYTEST_IGNORE+=(
+ translate/convert/test_ini2po.py
+ translate/convert/test_po2ini.py
+ )
+ fi
+
+ if ! use subtitles; then
+ EPYTEST_IGNORE+=(
+ translate/storage/test_subtitles.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ insinto /usr
+ doins -r translate/share
+
+ if ! use html; then
+ rm "${ED}"/usr/bin/{html2po,po2html} || die
+ fi
+ if ! use ical; then
+ rm "${ED}"/usr/bin/{ical2po,po2ical} || die
+ fi
+ if ! use ini; then
+ rm "${ED}"/usr/bin/{ini2po,po2ini} || die
+ fi
+ if ! use subtitles; then
+ rm "${ED}"/usr/bin/{sub2po,po2sub} || die
+ fi
+}
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.13.0.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.13.0.ebuild
new file mode 100644
index 000000000000..0e75f48593c6
--- /dev/null
+++ b/dev-python/translate-toolkit/translate-toolkit-3.13.0.ebuild
@@ -0,0 +1,118 @@
+# 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} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+MY_P=translate-${PV}
+DESCRIPTION="Toolkit to convert between many translation formats"
+HOMEPAGE="
+ https://github.com/translate/translate/
+ https://pypi.org/project/translate-toolkit/
+"
+SRC_URI="
+ https://github.com/translate/translate/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+IUSE="+html +ical +ini +subtitles +yaml"
+
+RDEPEND="
+ app-text/iso-codes
+ >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
+ dev-python/cheroot[${PYTHON_USEDEP}]
+ >=dev-python/Levenshtein-0.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.3.1[${PYTHON_USEDEP}]
+ >=dev-python/mistletoe-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ html? ( dev-python/utidylib[${PYTHON_USEDEP}] )
+ ical? ( dev-python/vobject[${PYTHON_USEDEP}] )
+ ini? ( >=dev-python/iniparse-0.5[${PYTHON_USEDEP}] )
+ subtitles? ( media-video/gaupol[${PYTHON_USEDEP}] )
+ yaml? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+"
+# Technically, the test suite also has undeclared dependency
+# on dev-python/snapshottest but all the tests using it are broken
+# anyway, so we skip them.
+BDEPEND="
+ test? (
+ dev-python/phply[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ # unfortunately, this bad quality package doesn't support XDG_DATA_DIRS
+ # correctly, so we need to reassemble all data files in a single directory
+ local -x XDG_DATA_HOME=${T}/share
+ cp -r translate/share "${T}/" || die
+ cp -r "${ESYSROOT}/usr/share"/gaupol "${XDG_DATA_HOME}"/ || die
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Fails with network-sandbox (and even with it off but w/ softer fail)
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff'
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff'
+ # all tests based on snapshottest are broken and I'm too tired
+ # to figure this out
+ tests/translate/tools/test_pocount.py::test_{cases,output}
+ tests/translate/tools/test_junitmsgfmt.py::test_output
+ )
+ local EPYTEST_IGNORE=(
+ # unpackaged fluent.*
+ tests/translate/storage/test_fluent.py
+ # changes directory and does not change it back, sigh
+ tests/odf_xliff/test_odf_xliff.py
+ )
+
+ if ! use ini; then
+ EPYTEST_IGNORE+=(
+ translate/convert/test_ini2po.py
+ translate/convert/test_po2ini.py
+ )
+ fi
+
+ if ! use subtitles; then
+ EPYTEST_IGNORE+=(
+ translate/storage/test_subtitles.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ insinto /usr
+ doins -r translate/share
+
+ if ! use html; then
+ rm "${ED}"/usr/bin/{html2po,po2html} || die
+ fi
+ if ! use ical; then
+ rm "${ED}"/usr/bin/{ical2po,po2ical} || die
+ fi
+ if ! use ini; then
+ rm "${ED}"/usr/bin/{ini2po,po2ini} || die
+ fi
+ if ! use subtitles; then
+ rm "${ED}"/usr/bin/{sub2po,po2sub} || die
+ fi
+}
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.13.1.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.13.1.ebuild
new file mode 100644
index 000000000000..384bc7109a3a
--- /dev/null
+++ b/dev-python/translate-toolkit/translate-toolkit-3.13.1.ebuild
@@ -0,0 +1,118 @@
+# 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} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+MY_P=translate-${PV}
+DESCRIPTION="Toolkit to convert between many translation formats"
+HOMEPAGE="
+ https://github.com/translate/translate/
+ https://pypi.org/project/translate-toolkit/
+"
+SRC_URI="
+ https://github.com/translate/translate/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+html +ical +ini +subtitles +yaml"
+
+RDEPEND="
+ app-text/iso-codes
+ >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
+ dev-python/cheroot[${PYTHON_USEDEP}]
+ >=dev-python/Levenshtein-0.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.3.1[${PYTHON_USEDEP}]
+ >=dev-python/mistletoe-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ html? ( dev-python/utidylib[${PYTHON_USEDEP}] )
+ ical? ( dev-python/vobject[${PYTHON_USEDEP}] )
+ ini? ( >=dev-python/iniparse-0.5[${PYTHON_USEDEP}] )
+ subtitles? ( media-video/gaupol[${PYTHON_USEDEP}] )
+ yaml? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+"
+# Technically, the test suite also has undeclared dependency
+# on dev-python/snapshottest but all the tests using it are broken
+# anyway, so we skip them.
+BDEPEND="
+ test? (
+ dev-python/phply[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ # unfortunately, this bad quality package doesn't support XDG_DATA_DIRS
+ # correctly, so we need to reassemble all data files in a single directory
+ local -x XDG_DATA_HOME=${T}/share
+ cp -r translate/share "${T}/" || die
+ cp -r "${ESYSROOT}/usr/share"/gaupol "${XDG_DATA_HOME}"/ || die
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Fails with network-sandbox (and even with it off but w/ softer fail)
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff'
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff'
+ # all tests based on snapshottest are broken and I'm too tired
+ # to figure this out
+ tests/translate/tools/test_pocount.py::test_{cases,output}
+ tests/translate/tools/test_junitmsgfmt.py::test_output
+ )
+ local EPYTEST_IGNORE=(
+ # unpackaged fluent.*
+ tests/translate/storage/test_fluent.py
+ # changes directory and does not change it back, sigh
+ tests/odf_xliff/test_odf_xliff.py
+ )
+
+ if ! use ini; then
+ EPYTEST_IGNORE+=(
+ translate/convert/test_ini2po.py
+ translate/convert/test_po2ini.py
+ )
+ fi
+
+ if ! use subtitles; then
+ EPYTEST_IGNORE+=(
+ translate/storage/test_subtitles.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ insinto /usr
+ doins -r translate/share
+
+ if ! use html; then
+ rm "${ED}"/usr/bin/{html2po,po2html} || die
+ fi
+ if ! use ical; then
+ rm "${ED}"/usr/bin/{ical2po,po2ical} || die
+ fi
+ if ! use ini; then
+ rm "${ED}"/usr/bin/{ini2po,po2ini} || die
+ fi
+ if ! use subtitles; then
+ rm "${ED}"/usr/bin/{sub2po,po2sub} || die
+ fi
+}
diff --git a/dev-python/translate-toolkit/translate-toolkit-3.13.2.ebuild b/dev-python/translate-toolkit/translate-toolkit-3.13.2.ebuild
new file mode 100644
index 000000000000..84540c3968c4
--- /dev/null
+++ b/dev-python/translate-toolkit/translate-toolkit-3.13.2.ebuild
@@ -0,0 +1,119 @@
+# 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} )
+PYTHON_REQ_USE="sqlite"
+
+inherit distutils-r1
+
+MY_P=translate-${PV}
+DESCRIPTION="Toolkit to convert between many translation formats"
+HOMEPAGE="
+ https://github.com/translate/translate/
+ https://pypi.org/project/translate-toolkit/
+"
+SRC_URI="
+ https://github.com/translate/translate/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S="${WORKDIR}"/${MY_P}
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+IUSE="+html +ical +ini +subtitles +yaml"
+
+RDEPEND="
+ app-text/iso-codes
+ >=dev-python/chardet-3.0.4[${PYTHON_USEDEP}]
+ dev-python/cheroot[${PYTHON_USEDEP}]
+ >=dev-python/Levenshtein-0.12.0[${PYTHON_USEDEP}]
+ >=dev-python/lxml-4.3.1[${PYTHON_USEDEP}]
+ >=dev-python/mistletoe-1.1.0[${PYTHON_USEDEP}]
+ >=dev-python/pyparsing-3[${PYTHON_USEDEP}]
+ dev-python/ruamel-yaml[${PYTHON_USEDEP}]
+ >=dev-python/wcwidth-0.2.10[${PYTHON_USEDEP}]
+ sys-devel/gettext
+ html? ( dev-python/utidylib[${PYTHON_USEDEP}] )
+ ical? ( dev-python/vobject[${PYTHON_USEDEP}] )
+ ini? ( >=dev-python/iniparse-0.5[${PYTHON_USEDEP}] )
+ subtitles? ( media-video/gaupol[${PYTHON_USEDEP}] )
+ yaml? ( dev-python/pyyaml[${PYTHON_USEDEP}] )
+"
+# Technically, the test suite also has undeclared dependency
+# on dev-python/snapshottest but all the tests using it are broken
+# anyway, so we skip them.
+BDEPEND="
+ test? (
+ dev-python/phply[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_test() {
+ # unfortunately, this bad quality package doesn't support XDG_DATA_DIRS
+ # correctly, so we need to reassemble all data files in a single directory
+ local -x XDG_DATA_HOME=${T}/share
+ cp -r translate/share "${T}/" || die
+ cp -r "${ESYSROOT}/usr/share"/gaupol "${XDG_DATA_HOME}"/ || die
+
+ distutils-r1_src_test
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Fails with network-sandbox (and even with it off but w/ softer fail)
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_open_office_to_xliff'
+ 'tests/xliff_conformance/test_xliff_conformance.py::test_po_to_xliff'
+ # all tests based on snapshottest are broken and I'm too tired
+ # to figure this out
+ tests/translate/tools/test_pocount.py::test_{cases,output}
+ tests/translate/tools/test_junitmsgfmt.py::test_output
+ )
+ local EPYTEST_IGNORE=(
+ # unpackaged fluent.*
+ tests/translate/storage/test_fluent.py
+ # changes directory and does not change it back, sigh
+ tests/odf_xliff/test_odf_xliff.py
+ )
+
+ if ! use ini; then
+ EPYTEST_IGNORE+=(
+ translate/convert/test_ini2po.py
+ translate/convert/test_po2ini.py
+ )
+ fi
+
+ if ! use subtitles; then
+ EPYTEST_IGNORE+=(
+ translate/storage/test_subtitles.py
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ insinto /usr
+ doins -r translate/share
+
+ if ! use html; then
+ rm "${ED}"/usr/bin/{html2po,po2html} || die
+ fi
+ if ! use ical; then
+ rm "${ED}"/usr/bin/{ical2po,po2ical} || die
+ fi
+ if ! use ini; then
+ rm "${ED}"/usr/bin/{ini2po,po2ini} || die
+ fi
+ if ! use subtitles; then
+ rm "${ED}"/usr/bin/{sub2po,po2sub} || die
+ fi
+}
diff --git a/dev-python/tree-sitter/Manifest b/dev-python/tree-sitter/Manifest
index 2f05eae55caa..32ba7543cb3c 100644
--- a/dev-python/tree-sitter/Manifest
+++ b/dev-python/tree-sitter/Manifest
@@ -1,3 +1,8 @@
-DIST tree-sitter-0.20.1.gh.tar.gz 22013 BLAKE2B 961619ab28b71c4051708695f245246e9c9197987c3ce7f162c87af1cfeb2ae378301cce160c071d4df872124274c7984bcaf938c611a91f45515c44cea53e5a SHA512 d6db28fcfb0ea46840ae863a625ef1d8794015b147137e8ef1e113ea6d04e2b87a3bd44dcabe6e41a65230b8da09ce0563a5d9d5aeac30d279547a9085720da3
-DIST tree-sitter-javascript-0.19.0.tar.gz 257637 BLAKE2B dc28bcbb003d623f5930dbf575f94f51c00eb008a77ba080f05e730fae63fb24d29c02ebb62d179a59d0f9cb8a02dbd3971440f299d952b1ec29b25bc6d21e34 SHA512 ef842787742e76d2534528ec710800df91958feaa4ba351558b5315f58a4bd85c729d088d139e15e0395726a690a97c05e03846c9176af0fd482777ae57087ed
-DIST tree-sitter-python-0.19.0.tar.gz 129336 BLAKE2B 8a37b0d74ab89aa56d7164bd38ac527b7b9676cafd8f53faaee3d10316f91decd30c02078b1bb785a474615ae58e6edba1b28bc3311e6ff094435e5f53d64cd6 SHA512 df7c72f988a62af0774df1b3a60c86397725aaeb1e2ffaa9b1295ab22eec09bffaf391cad20fb0d08a20914b22af430c2248c26cad179fd68c9f2b32419c0b60
+DIST tree-sitter-0.21.3.gh.tar.gz 38504 BLAKE2B dd8ed0047763d92babbdb3fd34a6fe6b7a9299b99067600f473bf16b9754a98ada141d96f9b6b26abcb2ff178dd4ec34da547c9cdb7b3449f7b98a44ad10476e SHA512 61f3d4cb15a4106eb350be2adc6ad39de31bd5b2656f35acf2cdf828ababac37b6197d5565ee74b0b2c3a161619163bb98c38108ca3db616fee633e6e2a835a7
+DIST tree-sitter-0.22.3.gh.tar.gz 164914 BLAKE2B 7ab97203fed17fc8d18c40d5a24ff60cea4757353a4124c832cc52bff93ed8af913dbbab682225eac309762a26e90c216d2e1058dcaeb860ebd467b4c9655939 SHA512 8ac729b90f942eef07de97c4ebd070c1040f338c1f57a2203b6aa4f3f8db863fdb5183c9b27d5be2ec270d7eefba7665800d6cc4e9265cbd4b4715af4c4d3921
+DIST tree-sitter-embedded-template-6d791b897ecda59baa0689a85a9906348a2a6414.tar.gz 12420 BLAKE2B 9b9c6dd135cef4490e145657c5eeeb1fd470faee3846007638d8247daf07227029c6e7e323a0ed30c5cf6d35602be6bfb62dc1c22076fd4a0e76b161d55cca38 SHA512 7744852711cb1659607298fa373ce3ef79de3212ff55c0fb4e9aebcb715548934065ee3b5b12e9d08169a6207879e154a94c9de8bff892c32729c35d49964736
+DIST tree-sitter-html-b5d9758e22b4d3d25704b72526670759a9e4d195.tar.gz 26609 BLAKE2B 223fe82ea18bf61b2b7ec664ad68ec1f324c9e0a1c78578db6063b9037c62be2bb762a9e47d0af81f7f244889f1f72683da3751c1d1c609c4a27fdcd0dc008b8 SHA512 15fd961c18d55a20487f48ef6a6f1822f9033baba8995f2e00cf8db1750036d69e19607f578fe90676aab30a173874969c69b91605b6073eb298f32f5f24f81d
+DIST tree-sitter-javascript-de1e682289a417354df5b4437a3e4f92e0722a0f.tar.gz 396570 BLAKE2B d80cecb070bd1c82737ee1d38fff293ac4c96fde02563ecc910d30c920b902bd5c25a7ac50585f8cb7a26203d98f4a9e6feeebd4ac0d54bede9486ff642e03be SHA512 4a509a886ebeae0d960360113aff89fb56090f1fe4bb5a7866952736a04838a8b6421cc7d19473acc48b135bca4615325c59c0f0f7f3734f23a78fff9cc2050e
+DIST tree-sitter-json-3b129203f4b72d532f58e72c5310c0a7db3b8e6d.tar.gz 15580 BLAKE2B d31b38f959fed785e8f26782e7de3da94502cd3c65de2caf4ad0621287d80e95dcc317b4f224461fa70b59f7a8ca933a235bdffbbcc1d9ca8d7cc0b31b3b2862 SHA512 90dd3e757d384d1b95cec892c5b465a0413ba61df35669fd7afc47037596c8d6b72b4f0fd9a39512ebda0d5d078ce7a408455ae11e535591e1515740cdcf9f6f
+DIST tree-sitter-python-03e88c170cb23142559a406b6e7621c4af3128f5.tar.gz 272632 BLAKE2B 72f2e7f48456bad7b495605171c1c5ed3aa2790e832a4bc152ef522ee2ce210a922f7d38ad1154c58a8c621f81739071ab3404135dbb79a12ba28ca7c97ff3c7 SHA512 7ed72e6ad464935423aaca1a829c51eefd4a4b5651eeda4b7f1ed2a67ec4088f17267796872a1e1cf5666fc8a920c2b1763a9cb4cd82924ee7214e01d7fe8ab8
+DIST tree-sitter-rust-3a56481f8d13b6874a28752502a58520b9139dc7.tar.gz 419237 BLAKE2B 681b9656c872bcd15abbf11923d07df61b80b36b2972461a29f249dc53915e6d18a6dfdc65d71c863f7b38a27c8b3a47376f590d86afa44caa71f103e710fed5 SHA512 a8ce10080b984aa469d952ff8e862165676e10dc30c3d1762f7141d9fe83734aec3cb92c48552cb8f24575b538dd53fe0a80f1337f5d0d4c8767dd6bf564143e
diff --git a/dev-python/tree-sitter/files/tree-sitter-0.19.0_p20210506-unbundle.patch b/dev-python/tree-sitter/files/tree-sitter-0.19.0_p20210506-unbundle.patch
deleted file mode 100644
index 3eb9d103a0e0..000000000000
--- a/dev-python/tree-sitter/files/tree-sitter-0.19.0_p20210506-unbundle.patch
+++ /dev/null
@@ -1,18 +0,0 @@
-diff --git a/setup.py b/setup.py
-index 2528827..bb2a817 100644
---- a/setup.py
-+++ b/setup.py
-@@ -33,11 +33,11 @@ setup(
- ext_modules=[
- Extension(
- "tree_sitter.binding",
-- ["tree_sitter/core/lib/src/lib.c", "tree_sitter/binding.c"],
-- include_dirs=["tree_sitter/core/lib/include", "tree_sitter/core/lib/src"],
-+ ["tree_sitter/binding.c"],
- extra_compile_args=(
- ["-std=c99", "-Wno-unused-variable"] if system() != "Windows" else None
- ),
-+ libraries=["tree-sitter"],
- )
- ],
- project_urls={"Source": "https://github.com/tree-sitter/py-tree-sitter"},
diff --git a/dev-python/tree-sitter/files/tree-sitter-0.21.0-unbundle.patch b/dev-python/tree-sitter/files/tree-sitter-0.21.0-unbundle.patch
new file mode 100644
index 000000000000..69b50897d3aa
--- /dev/null
+++ b/dev-python/tree-sitter/files/tree-sitter-0.21.0-unbundle.patch
@@ -0,0 +1,17 @@
+--- a/setup.py
++++ b/setup.py
+@@ -14,13 +14,9 @@ setup(
+ Extension(
+ name="tree_sitter._binding",
+ sources=[
+- "tree_sitter/core/lib/src/lib.c",
+ "tree_sitter/binding.c"
+ ],
+- include_dirs=[
+- "tree_sitter/core/lib/include",
+- "tree_sitter/core/lib/src"
+- ],
++ libraries=["tree-sitter"],
+ define_macros=[
+ ("PY_SSIZE_T_CLEAN", None),
+ ],
diff --git a/dev-python/tree-sitter/files/tree-sitter-0.22.2-unbundle.patch b/dev-python/tree-sitter/files/tree-sitter-0.22.2-unbundle.patch
new file mode 100644
index 000000000000..d919b1abf008
--- /dev/null
+++ b/dev-python/tree-sitter/files/tree-sitter-0.22.2-unbundle.patch
@@ -0,0 +1,23 @@
+diff --git a/setup.py b/setup.py
+index 77ea76a..ab22ad3 100644
+--- a/setup.py
++++ b/setup.py
+@@ -12,7 +12,6 @@ setup(
+ Extension(
+ name="tree_sitter._binding",
+ sources=[
+- "tree_sitter/core/lib/src/lib.c",
+ "tree_sitter/binding/language.c",
+ "tree_sitter/binding/lookahead_iterator.c",
+ "tree_sitter/binding/lookahead_names_iterator.c",
+@@ -26,9 +25,8 @@ setup(
+ ],
+ include_dirs=[
+ "tree_sitter/binding",
+- "tree_sitter/core/lib/include",
+- "tree_sitter/core/lib/src",
+ ],
++ libraries=["tree-sitter"],
+ define_macros=[
+ ("PY_SSIZE_T_CLEAN", None),
+ ("TREE_SITTER_HIDE_SYMBOLS", None),
diff --git a/dev-python/tree-sitter/metadata.xml b/dev-python/tree-sitter/metadata.xml
index 4ac87b010090..c5c088fef8ee 100644
--- a/dev-python/tree-sitter/metadata.xml
+++ b/dev-python/tree-sitter/metadata.xml
@@ -5,6 +5,10 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <maintainer type="project">
+ <email>pkgcore@gentoo.org</email>
+ <name>Pkgcore</name>
+ </maintainer>
<upstream>
<remote-id type="pypi">tree-sitter</remote-id>
<remote-id type="github">tree-sitter/py-tree-sitter</remote-id>
diff --git a/dev-python/tree-sitter/tree-sitter-0.20.1-r1.ebuild b/dev-python/tree-sitter/tree-sitter-0.20.1-r1.ebuild
deleted file mode 100644
index f7fa52853dbd..000000000000
--- a/dev-python/tree-sitter/tree-sitter-0.20.1-r1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-FIXTURE_PV=0.19.0
-
-DESCRIPTION="Python bindings to the Tree-sitter parsing library"
-HOMEPAGE="
- https://github.com/tree-sitter/py-tree-sitter/
- https://pypi.org/project/tree-sitter/
-"
-SRC_URI="
- https://github.com/tree-sitter/py-tree-sitter/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- test? (
- https://github.com/tree-sitter/tree-sitter-javascript/archive/v${FIXTURE_PV}.tar.gz
- -> tree-sitter-javascript-${FIXTURE_PV}.tar.gz
- https://github.com/tree-sitter/tree-sitter-python/archive/v${FIXTURE_PV}.tar.gz
- -> tree-sitter-python-${FIXTURE_PV}.tar.gz
- )
-"
-S=${WORKDIR}/py-${P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-DEPEND="dev-libs/tree-sitter:="
-RDEPEND="${DEPEND}
- $(python_gen_cond_dep '
- dev-python/setuptools[${PYTHON_USEDEP}]
- ' 3.12)
-"
-
-distutils_enable_tests unittest
-
-PATCHES=(
- "${FILESDIR}"/tree-sitter-0.19.0_p20210506-unbundle.patch
-)
-
-src_unpack() {
- default
- rmdir "${S}/tree_sitter/core" || die
-
- if use test; then
- mkdir "${S}/tests/fixtures" || die
- local f
- for f in tree-sitter-{javascript,python}; do
- mv "${f}-${FIXTURE_PV}" "${S}/tests/fixtures/${f}" || die
- done
- fi
-}
-
-src_test() {
- rm -r tree_sitter || die
- distutils-r1_src_test
-}
diff --git a/dev-python/tree-sitter/tree-sitter-0.21.3.ebuild b/dev-python/tree-sitter/tree-sitter-0.21.3.ebuild
new file mode 100644
index 000000000000..b703b3349a52
--- /dev/null
+++ b/dev-python/tree-sitter/tree-sitter-0.21.3.ebuild
@@ -0,0 +1,75 @@
+# 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} )
+
+inherit distutils-r1
+
+# Use the versions from the submodules under "tests/fixtures/"
+declare -A TEST_FIXTURES=(
+ ["embedded-template"]="6d791b897ecda59baa0689a85a9906348a2a6414"
+ ["html"]="b5d9758e22b4d3d25704b72526670759a9e4d195"
+ ["javascript"]="de1e682289a417354df5b4437a3e4f92e0722a0f"
+ ["json"]="3b129203f4b72d532f58e72c5310c0a7db3b8e6d"
+ ["python"]="03e88c170cb23142559a406b6e7621c4af3128f5"
+ ["rust"]="3a56481f8d13b6874a28752502a58520b9139dc7"
+)
+
+DESCRIPTION="Python bindings to the Tree-sitter parsing library"
+HOMEPAGE="
+ https://github.com/tree-sitter/py-tree-sitter/
+ https://pypi.org/project/tree-sitter/
+"
+SRC_URI="
+ https://github.com/tree-sitter/py-tree-sitter/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+SRC_URI+=" test? ("
+for fixture in "${!TEST_FIXTURES[@]}" ; do
+ SRC_URI+="
+ https://github.com/tree-sitter/tree-sitter-${fixture}/archive/${TEST_FIXTURES[${fixture}]}.tar.gz
+ -> tree-sitter-${fixture}-${TEST_FIXTURES[${fixture}]}.tar.gz
+ "
+done
+SRC_URI+=" )"
+S=${WORKDIR}/py-${P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+# setuptools is needed for distutils import
+DEPEND=">=dev-libs/tree-sitter-0.22.1:="
+RDEPEND="${DEPEND}
+ $(python_gen_cond_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ' 3.12)
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/tree-sitter-0.21.0-unbundle.patch
+)
+
+src_unpack() {
+ default
+ rmdir "${S}/tree_sitter/core" || die
+
+ if use test; then
+ mkdir -p "${S}/tests/fixtures" || die
+ local fixture
+ for fixture in "${!TEST_FIXTURES[@]}" ; do
+ mv -T "tree-sitter-${fixture}-${TEST_FIXTURES[${fixture}]}" "${S}/tests/fixtures/tree-sitter-${fixture}" || die
+ done
+ fi
+}
+
+src_test() {
+ rm -r tree_sitter || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/tree-sitter/tree-sitter-0.22.3.ebuild b/dev-python/tree-sitter/tree-sitter-0.22.3.ebuild
new file mode 100644
index 000000000000..b1aa4f8a573d
--- /dev/null
+++ b/dev-python/tree-sitter/tree-sitter-0.22.3.ebuild
@@ -0,0 +1,58 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python bindings to the Tree-sitter parsing library"
+HOMEPAGE="
+ https://github.com/tree-sitter/py-tree-sitter/
+ https://pypi.org/project/tree-sitter/
+"
+SRC_URI="
+ https://github.com/tree-sitter/py-tree-sitter/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+S=${WORKDIR}/py-${P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+# setuptools is needed for distutils import
+DEPEND=">=dev-libs/tree-sitter-0.22.1:="
+RDEPEND="${DEPEND}
+ $(python_gen_cond_dep '
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ ' 3.12)
+"
+BDEPEND="
+ test? (
+ >=dev-libs/tree-sitter-html-0.20.3[python,${PYTHON_USEDEP}]
+ >=dev-libs/tree-sitter-javascript-0.21.0[python,${PYTHON_USEDEP}]
+ >=dev-libs/tree-sitter-json-0.20.3[python,${PYTHON_USEDEP}]
+ >=dev-libs/tree-sitter-python-0.21.0[python,${PYTHON_USEDEP}]
+ >=dev-libs/tree-sitter-rust-0.21.2[python,${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ "${FILESDIR}"/${PN}-0.22.2-unbundle.patch
+)
+
+src_unpack() {
+ default
+ rmdir "${S}/tree_sitter/core" || die
+}
+
+src_test() {
+ rm -r tree_sitter || die
+ distutils-r1_src_test
+}
diff --git a/dev-python/treq/metadata.xml b/dev-python/treq/metadata.xml
index b7134451c430..68bea5efe644 100644
--- a/dev-python/treq/metadata.xml
+++ b/dev-python/treq/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>dolsen@gentoo.org</email>
- <name>Brian Dolbec</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/treq/treq-23.11.0.ebuild b/dev-python/treq/treq-23.11.0.ebuild
index d748ffee03d0..8e44291b5c14 100644
--- a/dev-python/treq/treq-23.11.0.ebuild
+++ b/dev-python/treq/treq-23.11.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -25,10 +25,7 @@ RDEPEND="
>=dev-python/hyperlink-21.0.0[${PYTHON_USEDEP}]
dev-python/incremental[${PYTHON_USEDEP}]
>=dev-python/requests-2.1.0[${PYTHON_USEDEP}]
- || (
- >=dev-python/twisted-18.7.0[ssl(-),${PYTHON_USEDEP}]
- >=dev-python/twisted-18.7.0[crypt(-),${PYTHON_USEDEP}]
- )
+ >=dev-python/twisted-18.7.0[ssl(-),${PYTHON_USEDEP}]
"
BDEPEND="
dev-python/incremental[${PYTHON_USEDEP}]
diff --git a/dev-python/trimesh/Manifest b/dev-python/trimesh/Manifest
index 734307181054..9e3f40be5fc7 100644
--- a/dev-python/trimesh/Manifest
+++ b/dev-python/trimesh/Manifest
@@ -1,2 +1,3 @@
-DIST trimesh-4.0.4.gh.tar.gz 13434249 BLAKE2B 209ebbd8840e264bdde1aa6bf71b07910032ea3b577c4253cc66128761a2b1e1c9447c923d08108e36ddf5bf76ba67c90b728af4e18cea25882f78e4f252c18b SHA512 1135b626efc7559c2c127852f2947bf1d659b67a3bb16baf6d3fc795ab81baca1a57f035ce2ff0bdaa61709d0a21a160bbf425717037dd9662295e83894786bc
-DIST trimesh-4.0.5.gh.tar.gz 13433920 BLAKE2B d7979727f4595dedd4d58bd7373bff457e008ea9512fb5aaa3c0e297fb0e9e538ab3b62e6d231bb6d0d7c8499e346c88b89878489187248bfd77116b4ab733dd SHA512 5167f93aece58d0fd2766a41afb5651df2ffac6486e3aebae33d97ed1ae2e4093290450b1e8d7827c300c679cf4c93baf7ce44ec603103a70c510259f514d321
+DIST trimesh-4.4.0.gh.tar.gz 13599198 BLAKE2B 41fe6d8797bca600ef4526420b9a4bc3fe722adff3a6154625801b2e9a8645ad573f4f62926cd00763899d049660145d6e5614316fcfe3c4f4b76c59d59467ba SHA512 227f3da9e42bd2a872d312d5128d7ae169fcee8ef5566e533812fc6222fe6e5dc40c7802a5a7f1bbb583c700e6c8d1017ee1c6a946284e64679f3a138f31da6e
+DIST trimesh-4.4.2.gh.tar.gz 13607230 BLAKE2B fb1b904b873f1ace0956210ce01039a24dadeeb7d7316cae5c55286dead56d95a8fcb4a02b7193d0bf416c60ed1d5a0e3f475c63f45fcd75691f7ac9066ed845 SHA512 1b69fe5792236270c0351dba580edf3238a9f5235faa968078d52a085b818ef20772a360110b89d413bb916c07fb7db58db0c4d6ecbf8e69a436c2bae2d54fc8
+DIST trimesh-4.4.3.gh.tar.gz 13606522 BLAKE2B d59c59e11b67c301c0171dc911cf1e518b57f9b3e9d0d4410130922eb0fc5b190ec5d8088e43d35fb7b09687a2698fe41342ce492fafc7bb050431cf43624c9b SHA512 b93ed203589a5467116c942b6d02db7eb4c130b7f110ea2612a2cf4d86d9f7943b949dd62d2229762a2a14f796041aa6a4294857a8fcc3b96d470a6925b9d568
diff --git a/dev-python/trimesh/metadata.xml b/dev-python/trimesh/metadata.xml
index fe9088519feb..381a920f38ec 100644
--- a/dev-python/trimesh/metadata.xml
+++ b/dev-python/trimesh/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/trimesh/trimesh-4.0.4.ebuild b/dev-python/trimesh/trimesh-4.0.4.ebuild
deleted file mode 100644
index 1aa89567f599..000000000000
--- a/dev-python/trimesh/trimesh-4.0.4.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Python library for loading and using triangular meshes"
-HOMEPAGE="
- https://trimesh.org/
- https://github.com/mikedh/trimesh/
- https://pypi.org/project/trimesh/
-"
-SRC_URI="
- https://github.com/mikedh/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~x86"
-
-RDEPEND="
- dev-python/chardet[${PYTHON_USEDEP}]
- dev-python/colorlog[${PYTHON_USEDEP}]
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/networkx[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pycollada[${PYTHON_USEDEP}]
- dev-python/pyglet[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}]
- dev-python/svg-path[${PYTHON_USEDEP}]
- dev-python/sympy[${PYTHON_USEDEP}]
- dev-python/xxhash[${PYTHON_USEDEP}]
- sci-libs/rtree[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mapbox_earcut[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-pkg_postinst() {
- optfeature_header "${PN} functionality can be extended by installing the following packages:"
- optfeature "making GUI applications with 3D stuff" dev-python/glooey
- optfeature "2D triangulations of polygons" dev-python/mapbox_earcut
- optfeature "loading a number of additional mesh formats" dev-python/meshio
- optfeature "figuring out how much memory we have" dev-python/psutil
- optfeature "marching cubes and other nice stuff" sci-libs/scikit-image
-}
diff --git a/dev-python/trimesh/trimesh-4.0.5.ebuild b/dev-python/trimesh/trimesh-4.0.5.ebuild
deleted file mode 100644
index efd16dd10381..000000000000
--- a/dev-python/trimesh/trimesh-4.0.5.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 optfeature
-
-DESCRIPTION="Python library for loading and using triangular meshes"
-HOMEPAGE="
- https://trimesh.org/
- https://github.com/mikedh/trimesh/
- https://pypi.org/project/trimesh/
-"
-SRC_URI="
- https://github.com/mikedh/${PN}/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/chardet[${PYTHON_USEDEP}]
- dev-python/colorlog[${PYTHON_USEDEP}]
- dev-python/httpx[${PYTHON_USEDEP}]
- dev-python/jsonschema[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- dev-python/networkx[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pycollada[${PYTHON_USEDEP}]
- dev-python/pyglet[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/scipy[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}]
- dev-python/svg-path[${PYTHON_USEDEP}]
- dev-python/sympy[${PYTHON_USEDEP}]
- dev-python/xxhash[${PYTHON_USEDEP}]
- sci-libs/rtree[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/mapbox_earcut[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-pkg_postinst() {
- optfeature_header "${PN} functionality can be extended by installing the following packages:"
- optfeature "making GUI applications with 3D stuff" dev-python/glooey
- optfeature "2D triangulations of polygons" dev-python/mapbox_earcut
- optfeature "loading a number of additional mesh formats" dev-python/meshio
- optfeature "figuring out how much memory we have" dev-python/psutil
- optfeature "marching cubes and other nice stuff" sci-libs/scikit-image
-}
diff --git a/dev-python/trimesh/trimesh-4.4.0.ebuild b/dev-python/trimesh/trimesh-4.4.0.ebuild
new file mode 100644
index 000000000000..b9898a47ae41
--- /dev/null
+++ b/dev-python/trimesh/trimesh-4.4.0.ebuild
@@ -0,0 +1,74 @@
+# 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 optfeature
+
+DESCRIPTION="Python library for loading and using triangular meshes"
+HOMEPAGE="
+ https://trimesh.org/
+ https://github.com/mikedh/trimesh/
+ https://pypi.org/project/trimesh/
+"
+SRC_URI="
+ https://github.com/mikedh/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~x86"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pycollada[${PYTHON_USEDEP}]
+ dev-python/pyglet[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}]
+ dev-python/svg-path[${PYTHON_USEDEP}]
+ dev-python/sympy[${PYTHON_USEDEP}]
+ dev-python/xxhash[${PYTHON_USEDEP}]
+ dev-python/rtree[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mapbox-earcut[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_TIMEOUT=1800
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # require pyinstrument
+ tests/test_sweep.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+pkg_postinst() {
+ optfeature_header "${PN} functionality can be extended by installing the following packages:"
+ optfeature "making GUI applications with 3D stuff" dev-python/glooey
+ optfeature "2D triangulations of polygons" dev-python/mapbox-earcut
+ optfeature "loading a number of additional mesh formats" dev-python/meshio
+ optfeature "figuring out how much memory we have" dev-python/psutil
+ optfeature "marching cubes and other nice stuff" dev-python/scikit-image
+}
diff --git a/dev-python/trimesh/trimesh-4.4.2.ebuild b/dev-python/trimesh/trimesh-4.4.2.ebuild
new file mode 100644
index 000000000000..37fd5b19ad93
--- /dev/null
+++ b/dev-python/trimesh/trimesh-4.4.2.ebuild
@@ -0,0 +1,74 @@
+# 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..13} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Python library for loading and using triangular meshes"
+HOMEPAGE="
+ https://trimesh.org/
+ https://github.com/mikedh/trimesh/
+ https://pypi.org/project/trimesh/
+"
+SRC_URI="
+ https://github.com/mikedh/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pycollada[${PYTHON_USEDEP}]
+ dev-python/pyglet[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}]
+ dev-python/svg-path[${PYTHON_USEDEP}]
+ dev-python/sympy[${PYTHON_USEDEP}]
+ dev-python/xxhash[${PYTHON_USEDEP}]
+ dev-python/rtree[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mapbox-earcut[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_TIMEOUT=1800
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # require pyinstrument
+ tests/test_sweep.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+pkg_postinst() {
+ optfeature_header "${PN} functionality can be extended by installing the following packages:"
+ optfeature "making GUI applications with 3D stuff" dev-python/glooey
+ optfeature "2D triangulations of polygons" dev-python/mapbox-earcut
+ optfeature "loading a number of additional mesh formats" dev-python/meshio
+ optfeature "figuring out how much memory we have" dev-python/psutil
+ optfeature "marching cubes and other nice stuff" dev-python/scikit-image
+}
diff --git a/dev-python/trimesh/trimesh-4.4.3.ebuild b/dev-python/trimesh/trimesh-4.4.3.ebuild
new file mode 100644
index 000000000000..37fd5b19ad93
--- /dev/null
+++ b/dev-python/trimesh/trimesh-4.4.3.ebuild
@@ -0,0 +1,74 @@
+# 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..13} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Python library for loading and using triangular meshes"
+HOMEPAGE="
+ https://trimesh.org/
+ https://github.com/mikedh/trimesh/
+ https://pypi.org/project/trimesh/
+"
+SRC_URI="
+ https://github.com/mikedh/${PN}/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/chardet[${PYTHON_USEDEP}]
+ dev-python/colorlog[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/jsonschema[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/networkx[${PYTHON_USEDEP}]
+ >=dev-python/numpy-1.20[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pycollada[${PYTHON_USEDEP}]
+ dev-python/pyglet[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/scipy[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/shapely-1.8.2[${PYTHON_USEDEP}]
+ dev-python/svg-path[${PYTHON_USEDEP}]
+ dev-python/sympy[${PYTHON_USEDEP}]
+ dev-python/xxhash[${PYTHON_USEDEP}]
+ dev-python/rtree[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/mapbox-earcut[${PYTHON_USEDEP}]
+ dev-python/pillow[webp,${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_TIMEOUT=1800
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # require pyinstrument
+ tests/test_sweep.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
+
+pkg_postinst() {
+ optfeature_header "${PN} functionality can be extended by installing the following packages:"
+ optfeature "making GUI applications with 3D stuff" dev-python/glooey
+ optfeature "2D triangulations of polygons" dev-python/mapbox-earcut
+ optfeature "loading a number of additional mesh formats" dev-python/meshio
+ optfeature "figuring out how much memory we have" dev-python/psutil
+ optfeature "marching cubes and other nice stuff" dev-python/scikit-image
+}
diff --git a/dev-python/trio-websocket/trio-websocket-0.11.1.ebuild b/dev-python/trio-websocket/trio-websocket-0.11.1.ebuild
index fc8389fa3907..b567b9bb00a2 100644
--- a/dev-python/trio-websocket/trio-websocket-0.11.1.ebuild
+++ b/dev-python/trio-websocket/trio-websocket-0.11.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -39,6 +39,18 @@ BDEPEND="
distutils_enable_tests pytest
python_test() {
+ local EPYTEST_DESELECT=(
+ # exception tests are broken with trio-0.25
+ # https://github.com/python-trio/trio-websocket/issues/187
+ tests/test_connection.py::test_handshake_exception_before_accept
+ tests/test_connection.py::test_reject_handshake
+ tests/test_connection.py::test_reject_handshake_invalid_info_status
+ tests/test_connection.py::test_client_open_timeout
+ tests/test_connection.py::test_client_close_timeout
+ tests/test_connection.py::test_client_connect_networking_error
+ tests/test_connection.py::test_finalization_dropped_exception
+ )
+
local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
epytest -p trio
}
diff --git a/dev-python/trio/Manifest b/dev-python/trio/Manifest
index f3d7406ac47e..46cefc543c8e 100644
--- a/dev-python/trio/Manifest
+++ b/dev-python/trio/Manifest
@@ -1 +1 @@
-DIST trio-0.23.1.gh.tar.gz 585734 BLAKE2B 07a03f9ddd26f4e69bda651bc0821bb02895a244400cc5ec829b82e027304722248f7cf608bad8afb928e54736034349d736ca1aaa40b470cbbc3c1a74e3c77c SHA512 e7348cefb364689060c32987120c50081c677531fb4082a68956c431112b9966af6db09ebdca036980af660e48c2bc8addd05b58d62678d45ed7ffa1ce862dcc
+DIST trio-0.26.0.gh.tar.gz 609710 BLAKE2B ec263e5db731760472111b8eb6a7d6ebdc476f8dc0976787692289caa5d5361a1a3db03d4713f14ee3198ad45dcec19c6c672af4af3860c3cd7ad5ff3e13bc8a SHA512 9a51f4e71795083ffd4a606e989583b1a93e45dc32f93d2d03bccaf32ca62a82daaf964676636363711b7ea1675dddd3eac1acae1be73b0fc570baef3c37c748
diff --git a/dev-python/trio/trio-0.23.1.ebuild b/dev-python/trio/trio-0.23.1.ebuild
deleted file mode 100644
index 624ad7f553d2..000000000000
--- a/dev-python/trio/trio-0.23.1.ebuild
+++ /dev/null
@@ -1,77 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python library for async concurrency and I/O"
-HOMEPAGE="
- https://github.com/python-trio/trio/
- https://pypi.org/project/trio/
-"
-SRC_URI="
- https://github.com/python-trio/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="|| ( Apache-2.0 MIT )"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/attrs-20.1.0[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/exceptiongroup-1.0.0_rc9[${PYTHON_USEDEP}]
- ' 3.10)
- dev-python/idna[${PYTHON_USEDEP}]
- dev-python/outcome[${PYTHON_USEDEP}]
- dev-python/sniffio[${PYTHON_USEDEP}]
- dev-python/sortedcontainers[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/astor-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/immutables-0.6[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/trustme[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-# Bug https://bugs.gentoo.org/916756
-# distutils_enable_sphinx docs/source \
-# dev-python/immutables \
-# dev-python/sphinxcontrib-trio \
-# dev-python/sphinx-rtd-theme \
-# dev-python/towncrier
-
-python_test() {
- local EPYTEST_IGNORE=(
- # these tests require internet access
- trio/tests/test_ssl.py
- trio/tests/test_highlevel_ssl_helpers.py
- # requires isort
- trio/_tests/tools/test_gen_exports.py
- )
-
- local EPYTEST_DESELECT=(
- # Times out on slower arches (ia64 in this case)
- # https://github.com/python-trio/trio/issues/1753
- trio/tests/test_unix_pipes.py::test_close_at_bad_time_for_send_all
-
- # incompatible ipython version?
- trio/_core/tests/test_multierror.py::test_ipython_exc_handler
- )
- if [[ ${EPYTHON} == python3.12 ]]; then
- EPYTEST_DESELECT+=(
- trio/_core/_tests/test_run.py::test_nursery_cancel_doesnt_create_cyclic_garbage
- )
- fi
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p trio._tests.pytest_plugin -m "not redistributors_should_skip"
-}
diff --git a/dev-python/trio/trio-0.26.0.ebuild b/dev-python/trio/trio-0.26.0.ebuild
new file mode 100644
index 000000000000..d7a0315ad2ad
--- /dev/null
+++ b/dev-python/trio/trio-0.26.0.ebuild
@@ -0,0 +1,67 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Python library for async concurrency and I/O"
+HOMEPAGE="
+ https://github.com/python-trio/trio/
+ https://pypi.org/project/trio/
+"
+SRC_URI="
+ https://github.com/python-trio/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/attrs-23.2.0[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/exceptiongroup-1.2.1[${PYTHON_USEDEP}]
+ ' 3.10)
+ dev-python/idna[${PYTHON_USEDEP}]
+ dev-python/outcome[${PYTHON_USEDEP}]
+ >=dev-python/sniffio-1.3.0[${PYTHON_USEDEP}]
+ dev-python/sortedcontainers[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/astor-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/immutables-0.6[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+# Bug https://bugs.gentoo.org/916756
+# distutils_enable_sphinx docs/source \
+# dev-python/immutables \
+# dev-python/sphinxcontrib-trio \
+# dev-python/sphinx-rtd-theme \
+# dev-python/towncrier
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # Times out on slower arches (ia64 in this case)
+ # https://github.com/python-trio/trio/issues/1753
+ tests/test_unix_pipes.py::test_close_at_bad_time_for_send_all
+ # requires ruff
+ _tests/tools/test_gen_exports.py
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ rm -rf trio || die
+ epytest -p trio._tests.pytest_plugin \
+ -m "not redistributors_should_skip" \
+ --pyargs trio \
+ --skip-optional-imports
+}
diff --git a/dev-python/trove-classifiers/Manifest b/dev-python/trove-classifiers/Manifest
index 5b00bb107e7c..faabc5757088 100644
--- a/dev-python/trove-classifiers/Manifest
+++ b/dev-python/trove-classifiers/Manifest
@@ -1,3 +1 @@
-DIST trove-classifiers-2023.11.14.tar.gz 15895 BLAKE2B 559cfbf0a28da834130d4d6e74b63454a3c09ff198cd6f88392031f52609a54b6f58a3015bb29179ebead94b7b498a51a4f426f4e9fc9084d7cf11a0f9a9cc16 SHA512 f014eb404902a42b7ceac23b1f5cd1b256c05c2de2d1a630c067528826593cfb1a10d6de0851fa68715665e3165889eb39b61a518138fd81bf29c72489847146
-DIST trove-classifiers-2023.11.22.tar.gz 15903 BLAKE2B 02437414e382a02da079f1ee7b0b5e12575a2915de3233a89ddec128c113b95de9d469b38867f8ae46ac795c31c9198a331489de6965bff44fae2c20a55584ed SHA512 5f986562868a116a7932ec6f0d9668f81f7867a28b4d989ccac892f83d7edb9a6e48fb3cd9cf9b76c92634e7a418705566d059df02c9624146193076d9204498
-DIST trove-classifiers-2023.11.29.tar.gz 15918 BLAKE2B 3e216aa24a458f5c65a20b2589dff34c382c3e1ccba5274377b09bcc254fafb077dfd3f82b0f1c998a9c34b20f35eca27bd7d8103b631a03eb87a9c1525c057e SHA512 fdeb6bbddbb3ad640112827b55f4b0a2201c79e2a4013d2d621bf0a6168d87861ad1802b0805747fc7d9e8be7e1954d58b83fd4fde6f3394cec2fa3aa88f0dca
+DIST trove_classifiers-2024.7.2.tar.gz 16071 BLAKE2B 6f13df1498b68e2f24838473ad8b6feb341e33da6eabc2e104c823e6db65ada348ef36c8fd96226818d89c11bf0b0ac9665c9a6ecbea5ba620d2e48c64c5b82f SHA512 af9a366425e845b1bbd098c8085ec8064dbf6864940c7dd5def1672c2046756e2c76255b282b2c989c34d14b113b7c6abd32d23eeed88317d374043040f46486
diff --git a/dev-python/trove-classifiers/trove-classifiers-2023.11.14.ebuild b/dev-python/trove-classifiers/trove-classifiers-2023.11.14.ebuild
deleted file mode 100644
index 9b9967ac400e..000000000000
--- a/dev-python/trove-classifiers/trove-classifiers-2023.11.14.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2022-2023 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=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Canonical source for classifiers on PyPI (pypi.org)"
-HOMEPAGE="
- https://github.com/pypa/trove-classifiers/
- https://pypi.org/project/trove-classifiers/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-BDEPEND="
- dev-python/calver[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest
- "${EPYTHON}" -m tests.lib || die
-}
diff --git a/dev-python/trove-classifiers/trove-classifiers-2023.11.22.ebuild b/dev-python/trove-classifiers/trove-classifiers-2023.11.22.ebuild
deleted file mode 100644
index 9198d34d2369..000000000000
--- a/dev-python/trove-classifiers/trove-classifiers-2023.11.22.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2022-2023 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=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Canonical source for classifiers on PyPI (pypi.org)"
-HOMEPAGE="
- https://github.com/pypa/trove-classifiers/
- https://pypi.org/project/trove-classifiers/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-BDEPEND="
- dev-python/calver[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest
- "${EPYTHON}" -m tests.lib || die
-}
diff --git a/dev-python/trove-classifiers/trove-classifiers-2023.11.29.ebuild b/dev-python/trove-classifiers/trove-classifiers-2023.11.29.ebuild
deleted file mode 100644
index 9198d34d2369..000000000000
--- a/dev-python/trove-classifiers/trove-classifiers-2023.11.29.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 2022-2023 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=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Canonical source for classifiers on PyPI (pypi.org)"
-HOMEPAGE="
- https://github.com/pypa/trove-classifiers/
- https://pypi.org/project/trove-classifiers/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-BDEPEND="
- dev-python/calver[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest
- "${EPYTHON}" -m tests.lib || die
-}
diff --git a/dev-python/trove-classifiers/trove-classifiers-2024.7.2.ebuild b/dev-python/trove-classifiers/trove-classifiers-2024.7.2.ebuild
new file mode 100644
index 000000000000..98f51b05ca12
--- /dev/null
+++ b/dev-python/trove-classifiers/trove-classifiers-2024.7.2.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Canonical source for classifiers on PyPI (pypi.org)"
+HOMEPAGE="
+ https://github.com/pypa/trove-classifiers/
+ https://pypi.org/project/trove-classifiers/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease hatchling bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "trove-classifiers"
+ version = "${PV}"
+ description = "Canonical source for classifiers on PyPI (pypi.org)."
+ EOF
+}
+
+python_test() {
+ epytest
+ "${EPYTHON}" -m tests.lib || die
+}
diff --git a/dev-python/trustme/files/trustme-1.1.0-aki.patch b/dev-python/trustme/files/trustme-1.1.0-aki.patch
new file mode 100644
index 000000000000..a00fc85229a9
--- /dev/null
+++ b/dev-python/trustme/files/trustme-1.1.0-aki.patch
@@ -0,0 +1,96 @@
+From 84e347d9221e304f0158330e5101d23969d424d0 Mon Sep 17 00:00:00 2001
+From: Illia Volochii <illia.volochii@gmail.com>
+Date: Wed, 27 Mar 2024 11:45:41 +0000
+Subject: [PATCH 1/3] Add AKI to child CA certificates
+
+---
+ src/trustme/__init__.py | 14 +++++++++++---
+ tests/test_trustme.py | 5 +++++
+ 2 files changed, 16 insertions(+), 3 deletions(-)
+
+diff --git a/src/trustme/__init__.py b/src/trustme/__init__.py
+index 5fb24fb..0db1bb0 100644
+--- a/src/trustme/__init__.py
++++ b/src/trustme/__init__.py
+@@ -250,14 +250,22 @@ def __init__(
+ sign_key = parent_cert._private_key
+ parent_certificate = parent_cert._certificate
+ issuer = parent_certificate.subject
+-
+- self._certificate = (
++ ski_ext = parent_certificate.extensions.get_extension_for_class(
++ x509.SubjectKeyIdentifier)
++ aki = x509.AuthorityKeyIdentifier.from_issuer_subject_key_identifier(ski_ext.value)
++ else:
++ aki = None
++ cert_builder = (
+ _cert_builder_common(name, issuer, self._private_key.public_key())
+ .add_extension(
+ x509.BasicConstraints(ca=True, path_length=path_length),
+ critical=True,
+ )
+- .add_extension(
++ )
++ if aki:
++ cert_builder = cert_builder.add_extension(aki, critical=False)
++ self._certificate = (
++ cert_builder.add_extension(
+ x509.KeyUsage(
+ digital_signature=True, # OCSP
+ content_commitment=False,
+diff --git a/tests/test_trustme.py b/tests/test_trustme.py
+index 1d901ad..581716e 100644
+--- a/tests/test_trustme.py
++++ b/tests/test_trustme.py
+@@ -200,6 +200,11 @@ def test_intermediate() -> None:
+ assert_is_ca(child_ca_cert)
+ assert child_ca_cert.issuer == ca_cert.subject
+ assert _path_length(child_ca_cert) == 8
++ aki = child_ca_cert.extensions.get_extension_for_class(x509.AuthorityKeyIdentifier)
++ assert aki.critical is False
++ expected_aki_key_id = ca_cert.extensions.get_extension_for_class(
++ x509.SubjectKeyIdentifier).value.digest
++ assert aki.value.key_identifier == expected_aki_key_id
+
+ child_server = child_ca.issue_cert("test-host.example.org")
+ assert len(child_server.cert_chain_pems) == 2
+
+From f507a28e0f4d97d63716aa5a81669bb747235f07 Mon Sep 17 00:00:00 2001
+From: Illia Volochii <illia.volochii@gmail.com>
+Date: Wed, 27 Mar 2024 12:02:59 +0000
+Subject: [PATCH 2/3] Fix a typing issue
+
+---
+ src/trustme/__init__.py | 1 +
+ 1 file changed, 1 insertion(+)
+
+diff --git a/src/trustme/__init__.py b/src/trustme/__init__.py
+index 0db1bb0..d126180 100644
+--- a/src/trustme/__init__.py
++++ b/src/trustme/__init__.py
+@@ -246,6 +246,7 @@ def __init__(
+ )
+ issuer = name
+ sign_key = self._private_key
++ aki: Optional[x509.AuthorityKeyIdentifier]
+ if parent_cert is not None:
+ sign_key = parent_cert._private_key
+ parent_certificate = parent_cert._certificate
+
+From cdd2fd61aae9c92f902932bacd6b39189ecde4b1 Mon Sep 17 00:00:00 2001
+From: Illia Volochii <illia.volochii@gmail.com>
+Date: Wed, 27 Mar 2024 12:09:38 +0000
+Subject: [PATCH 3/3] Add a news entry
+
+---
+ newsfragments/642.bugfix.rst | 1 +
+ 1 file changed, 1 insertion(+)
+ create mode 100644 newsfragments/642.bugfix.rst
+
+diff --git a/newsfragments/642.bugfix.rst b/newsfragments/642.bugfix.rst
+new file mode 100644
+index 0000000..9d75e7a
+--- /dev/null
++++ b/newsfragments/642.bugfix.rst
+@@ -0,0 +1 @@
++Add the Authority Key Identifier extension to child CA certificates.
diff --git a/dev-python/trustme/trustme-1.1.0-r1.ebuild b/dev-python/trustme/trustme-1.1.0-r1.ebuild
new file mode 100644
index 000000000000..4a3e6481b916
--- /dev/null
+++ b/dev-python/trustme/trustme-1.1.0-r1.ebuild
@@ -0,0 +1,43 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="#1 quality TLS certs while you wait, for the discerning tester"
+HOMEPAGE="
+ https://github.com/python-trio/trustme/
+ https://pypi.org/project/trustme/
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ >=dev-python/cryptography-3.1[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/service-identity[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/python-trio/trustme/pull/642
+ # (also fixes py3.13)
+ "${FILESDIR}/${P}-aki.patch"
+)
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/trustme/trustme-1.1.0.ebuild b/dev-python/trustme/trustme-1.1.0.ebuild
deleted file mode 100644
index 5e7472ed3ef0..000000000000
--- a/dev-python/trustme/trustme-1.1.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="#1 quality TLS certs while you wait, for the discerning tester"
-HOMEPAGE="
- https://github.com/python-trio/trustme/
- https://pypi.org/project/trustme/
-"
-
-LICENSE="|| ( Apache-2.0 MIT )"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- >=dev-python/cryptography-3.1[${PYTHON_USEDEP}]
- >=dev-python/idna-2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/service-identity[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/truststore/Manifest b/dev-python/truststore/Manifest
index 4530358e0c46..af44aab4a86c 100644
--- a/dev-python/truststore/Manifest
+++ b/dev-python/truststore/Manifest
@@ -1,2 +1 @@
-DIST truststore-0.7.0.gh.tar.gz 24953 BLAKE2B c94c832410ecdf101d5b5f27fa1e48205e5fbafe4b51a2583d7a44b2501cff43f693017c572f08f9a0bb7ed6fd3bf1a73401e1b628e8a690f34d1c9b7577c755 SHA512 e3a4e751984668c571004d111df9f5e449db3269b7d6b4224dd6aad03d2a066260c9dc8e1f1573b9fd062bf4b1fe486510915ebc1cd9ff20e5626c033f56b519
-DIST truststore-0.8.0.gh.tar.gz 25619 BLAKE2B 3c1beeea036274349e31ea45741e2cdfb84f468a3073dcb67618cb4907831a83aac90f774c7a0309c35b5c303e490a56ed0623ae1b3d5ba4189a2ffefd05f56f SHA512 9492874b2c0eb5ba011c0d4af6fc4e2d1664686458775344c928e25248b0d54f776d9400138330b225146402345ab8d5ccb9f73b5db51e566342855a8b4ac579
+DIST truststore-0.9.1.gh.tar.gz 26720 BLAKE2B e5bf3905367f75cdfd9314f1c544f004e62c2ddcde97f83bfe5ddc2d7606d44df5fc352811c8c42423be2da46e5f7b9642a2aeebe61436669c4cd9265ddbec96 SHA512 38567198a3b0d4e9c0b3df72674f3e1fef0614ef0afa80bd7276f98c2e7ef2dc00cca92184b80a1dfe535c5d2508ebdb775e389576c2f07536838f67de1958ca
diff --git a/dev-python/truststore/truststore-0.7.0.ebuild b/dev-python/truststore/truststore-0.7.0.ebuild
deleted file mode 100644
index 871d217cb0be..000000000000
--- a/dev-python/truststore/truststore-0.7.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Verify certificates using native system trust stores"
-HOMEPAGE="
- https://github.com/sethmlarson/truststore/
- https://pypi.org/project/truststore/
-"
-SRC_URI="
- https://github.com/sethmlarson/truststore/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-PROPERTIES="test_network"
-RESTRICT="test"
-
-BDEPEND="
- test? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/httpx[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-httpserver[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/trustme[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p asyncio -p pytest_httpserver
-}
diff --git a/dev-python/truststore/truststore-0.8.0.ebuild b/dev-python/truststore/truststore-0.8.0.ebuild
deleted file mode 100644
index ae12c7ac4fa2..000000000000
--- a/dev-python/truststore/truststore-0.8.0.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Verify certificates using native system trust stores"
-HOMEPAGE="
- https://github.com/sethmlarson/truststore/
- https://pypi.org/project/truststore/
-"
-SRC_URI="
- https://github.com/sethmlarson/truststore/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-PROPERTIES="test_network"
-RESTRICT="test"
-
-BDEPEND="
- test? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- dev-python/httpx[${PYTHON_USEDEP}]
- dev-python/pyopenssl[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-httpserver[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/trustme[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p asyncio -p pytest_httpserver
-}
diff --git a/dev-python/truststore/truststore-0.9.1.ebuild b/dev-python/truststore/truststore-0.9.1.ebuild
new file mode 100644
index 000000000000..d01d6dab54a6
--- /dev/null
+++ b/dev-python/truststore/truststore-0.9.1.ebuild
@@ -0,0 +1,47 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Verify certificates using native system trust stores"
+HOMEPAGE="
+ https://github.com/sethmlarson/truststore/
+ https://pypi.org/project/truststore/
+"
+SRC_URI="
+ https://github.com/sethmlarson/truststore/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~m68k ~ppc64 ~riscv ~sparc ~x86"
+# The vast majority of tests require Internet access.
+PROPERTIES="test_network"
+RESTRICT="test"
+
+BDEPEND="
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/pyopenssl[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p asyncio -p pytest_httpserver
+}
diff --git a/dev-python/tubes/metadata.xml b/dev-python/tubes/metadata.xml
index 4bcfb56ec8d9..321dc3ed8589 100644
--- a/dev-python/tubes/metadata.xml
+++ b/dev-python/tubes/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>dolsen@gentoo.org</email>
- <name>Brian Dolbec</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/tubes/tubes-0.2.1.ebuild b/dev-python/tubes/tubes-0.2.1.ebuild
index 657e9f7ed22a..b099de0149bb 100644
--- a/dev-python/tubes/tubes-0.2.1.ebuild
+++ b/dev-python/tubes/tubes-0.2.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~riscv"
+KEYWORDS="amd64 ~riscv"
RDEPEND="
dev-python/six[${PYTHON_USEDEP}]
diff --git a/dev-python/twine/Manifest b/dev-python/twine/Manifest
index 29b838b50621..2e03c89e4caf 100644
--- a/dev-python/twine/Manifest
+++ b/dev-python/twine/Manifest
@@ -1 +1 @@
-DIST twine-4.0.2.gh.tar.gz 214528 BLAKE2B c088329a86139eb01d325ec623504c0dfee1231ca8bbbf9ed73d46d4ed9dd79aaac6aaad225cacd64942eb7a3ead19bcb5e224ad9735d9760bd8c9c8e5e69043 SHA512 94dec0b08ea8f4cc5900d743b750f02a668c738d402632a80faef24220f87b4b14824966d6d902e9ddaab741e4091d6a370a7660d02ca27fd6fd0d251a473ab5
+DIST twine-5.1.1.gh.tar.gz 221931 BLAKE2B a95d50e52bde5db64c6ce5b57097188e9cb88763c91f337c3e552ca34bae34882d87bced4b0c55a292de185fce10384edf514b55373c4456ff252471076bcb28 SHA512 95f059235e32134a5320c0835befa2eed6eff35c56685afe4848224042c2e2af484db72f20fd0cfbe979cce8d495e8bb2d2ea38aca2c53ca7af8de378816bedf
diff --git a/dev-python/twine/twine-4.0.2.ebuild b/dev-python/twine/twine-4.0.2.ebuild
deleted file mode 100644
index 8511365db4df..000000000000
--- a/dev-python/twine/twine-4.0.2.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Collection of utilities for publishing packages on PyPI"
-HOMEPAGE="
- https://twine.readthedocs.io/
- https://github.com/pypa/twine/
- https://pypi.org/project/twine/
-"
-SRC_URI="
- https://github.com/pypa/twine/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/colorama-0.4.3[${PYTHON_USEDEP}]
- >=dev-python/importlib-metadata-3.6[${PYTHON_USEDEP}]
- >=dev-python/keyring-15.1[${PYTHON_USEDEP}]
- >=dev-python/pkginfo-1.8.1[${PYTHON_USEDEP}]
- >=dev-python/readme-renderer-35.0[${PYTHON_USEDEP}]
- >=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
- >=dev-python/requests-toolbelt-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/rfc3986-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/rich-12.0.0[${PYTHON_USEDEP}]
- >=dev-python/urllib3-1.26.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/build[${PYTHON_USEDEP}]
- dev-python/jaraco-envs[${PYTHON_USEDEP}]
- dev-python/jaraco-functools[${PYTHON_USEDEP}]
- dev-python/munch[${PYTHON_USEDEP}]
- dev-python/portend[${PYTHON_USEDEP}]
- dev-python/pretend[${PYTHON_USEDEP}]
- dev-python/pypiserver[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # pytest-socket dep relevant only to test_integration, and upstream
- # disables it anyway
- sed -i -e '/--disable-socket/d' pytest.ini || die
- sed -i -e '/--cov/d' pytest.ini || die
-
- distutils-r1_python_prepare_all
- export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
-}
-
-python_test() {
- local EPYTEST_IGNORE=(
- # Internet
- tests/test_integration.py
- )
- local EPYTEST_DESELECT=(
- # Regression due to deps?
- tests/test_check.py::test_fails_rst_no_content
- # Avoid needing heavy virtualx
- tests/test_auth.py::test_warns_for_empty_password
- )
-
- local -x COLUMNS=80
- epytest
-}
diff --git a/dev-python/twine/twine-5.1.1.ebuild b/dev-python/twine/twine-5.1.1.ebuild
new file mode 100644
index 000000000000..b8a8d417ad49
--- /dev/null
+++ b/dev-python/twine/twine-5.1.1.ebuild
@@ -0,0 +1,80 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Collection of utilities for publishing packages on PyPI"
+HOMEPAGE="
+ https://twine.readthedocs.io/
+ https://github.com/pypa/twine/
+ https://pypi.org/project/twine/
+"
+SRC_URI="
+ https://github.com/pypa/twine/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/colorama-0.4.3[${PYTHON_USEDEP}]
+ >=dev-python/importlib-metadata-3.6[${PYTHON_USEDEP}]
+ >=dev-python/keyring-15.1[${PYTHON_USEDEP}]
+ >=dev-python/pkginfo-1.8.1[${PYTHON_USEDEP}]
+ >=dev-python/readme-renderer-35.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.20.0[${PYTHON_USEDEP}]
+ >=dev-python/requests-toolbelt-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/rfc3986-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/rich-12.0.0[${PYTHON_USEDEP}]
+ >=dev-python/urllib3-1.26.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/build[${PYTHON_USEDEP}]
+ dev-python/jaraco-envs[${PYTHON_USEDEP}]
+ dev-python/jaraco-functools[${PYTHON_USEDEP}]
+ dev-python/munch[${PYTHON_USEDEP}]
+ dev-python/portend[${PYTHON_USEDEP}]
+ dev-python/pretend[${PYTHON_USEDEP}]
+ dev-python/pypiserver[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # pytest-socket dep relevant only to test_integration, and upstream
+ # disables it anyway
+ sed -i -e '/--disable-socket/d' pytest.ini || die
+ sed -i -e '/--cov/d' pytest.ini || die
+
+ distutils-r1_python_prepare_all
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+}
+
+python_test() {
+ local EPYTEST_IGNORE=(
+ # Internet
+ tests/test_integration.py
+ )
+ local EPYTEST_DESELECT=(
+ # Regression due to deps?
+ tests/test_check.py::test_fails_rst_no_content
+ # Avoid needing heavy virtualx
+ tests/test_auth.py::test_warns_for_empty_password
+ # https://github.com/pypa/twine/issues/1116
+ 'tests/test_package.py::test_pkginfo_returns_no_metadata[unsupported Metadata-Version]'
+ )
+
+ local -x COLUMNS=80
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/twisted/Manifest b/dev-python/twisted/Manifest
index 6b5608b66298..c721f0b6b783 100644
--- a/dev-python/twisted/Manifest
+++ b/dev-python/twisted/Manifest
@@ -1,4 +1,3 @@
-DIST twisted-23.10.0.tar.gz 3495627 BLAKE2B 3b5c2dc56686203cfe7c863211f0be34f49b26273af7b0f54a891851cf5f32096da880f35dd549b8ff82c6885fda2f644ef747fc9574e830da4fe2ddb588e70f SHA512 da6cc663005776fca716503ec53ae367576e9c89ec2b90a367e73afb1e63c51a24dfad39b9ed1edb597e77e1d805dcbd179cefc1685faddd4044efc8f6c82d5f
-DIST twisted-23.10.0rc1.tar.gz 3496017 BLAKE2B 5e681b81f51d26cf48d7e5d16af4f5c0ea18aa7c45934efe3f8801a60a8ccf7a7a7a13e49d1c065540cda6571e872ed9fc90ac42c6610fbd2a6d0f0c9288baab SHA512 9122d87f1019a2bfdc1530f176e4c607b9a26bfce937d0436a3c260662599f1058ce04c037ecf71e88d17764df7d03399b5e0e353663e848cb8a8a79992d6260
-DIST twisted-23.8.0.tar.gz 3478691 BLAKE2B 44fa9da691456a2b1d97f54b95787abe3e162b5639ee7ab8779c6d9525eb2a878865f450aa6fd6c461c3eba84f95361d2423e241991f52f91a27b792b6d71123 SHA512 ef0a243a4c22dd31e57087f5b2c21a657b98e23cc486f08b9926a9ebe8c4b6fec137993aea71e6c60abc3d653d995da0f65ff10dfc6c3d2cb7fdae5db08e2532
+DIST twisted-24.3.0.tar.gz 3500456 BLAKE2B b2cebb2f3482dbeba250786b1977ddbb09e1a9a81f71ce5906efe8289b0e134a8b26c191c2262e8ee8ba3fccccea508c34145016b29ecf301541134dcea19e08 SHA512 c3dd227f5936ffa586a0b7447f5df4c2257dce0c0ba740373d82197a72029e7eeb0aef9789247dde73e2f24dd043f3b0b7d795f16e6e908583b054aad9b9eb6a
+DIST twisted-24.3.0_p20240628.gh.tar.gz 3598828 BLAKE2B 6f37190caa0fe6e0ff566cb4f86b625425bfe60d8743b4c22463da63df3184646eda2b7d1a73e30452390bab54f8001f9eb33e1e7adc645071fe0eba4fb2d30c SHA512 f182d6c5006f1043f3586468d628b6b87a4d74d4aa1ce3c882938f0a831a191b38b311a4cf68488b24cd3d87547aeb0b9725e93ce4be86638aa11552d294cd95
DIST twisted-regen-cache.gz 911 BLAKE2B ffd3fcda6c67ffe6fd3ef581c8d507548396b66ed0708e9a5c790095e579c0d5f0f71596acf05712989da2ddef2b8d437eca973bc4d80ef8a9fa852915f38305 SHA512 95a9b931c73017d16d1b5e6b41345dddffe62b6af1a8e93b5e40d06d3d15be17b0dd0181c767ffeeb791534d463764ef9e066fa6c2ee2ac4b53c86d1da8fce03
diff --git a/dev-python/twisted/files/twisted-22.10.0-time.patch b/dev-python/twisted/files/twisted-22.10.0-time.patch
deleted file mode 100644
index 1723d69c8a3c..000000000000
--- a/dev-python/twisted/files/twisted-22.10.0-time.patch
+++ /dev/null
@@ -1,113 +0,0 @@
-From 75e5e6ba1793efdfef2e2cfada0425bad5f0bcfa Mon Sep 17 00:00:00 2001
-From: Paul Eggert <eggert@cs.ucla.edu>
-Date: Fri, 9 Dec 2022 10:16:42 -0800
-Subject: [PATCH 4/6] #11786 fix misuse of mktime in tests
-
-(cherry picked from commit da3bf3dc29f067e7019b2a1c205834ab64b2139a)
---- a/src/twisted/logger/test/test_format.py
-+++ b/src/twisted/logger/test/test_format.py
-@@ -166,16 +166,17 @@ class TimeFormattingTests(unittest.TestCase):
- def testForTimeZone(name: str, expectedDST: str, expectedSTD: str) -> None:
- setTZ(name)
-
-- localDST = mktime((2006, 6, 30, 0, 0, 0, 4, 181, 1))
- localSTD = mktime((2007, 1, 31, 0, 0, 0, 2, 31, 0))
--
-- self.assertEqual(formatTime(localDST), expectedDST)
- self.assertEqual(formatTime(localSTD), expectedSTD)
-
-+ if expectedDST:
-+ localDST = mktime((2006, 6, 30, 0, 0, 0, 4, 181, 1))
-+ self.assertEqual(formatTime(localDST), expectedDST)
-+
- # UTC
- testForTimeZone(
- "UTC+00",
-- "2006-06-30T00:00:00+0000",
-+ None,
- "2007-01-31T00:00:00+0000",
- )
-
-@@ -196,7 +197,7 @@ class TimeFormattingTests(unittest.TestCase):
- # No DST
- testForTimeZone(
- "CST+06",
-- "2006-06-30T00:00:00-0600",
-+ None,
- "2007-01-31T00:00:00-0600",
- )
-
-@@ -211,7 +212,7 @@ class TimeFormattingTests(unittest.TestCase):
- """
- If C{timeFormat} argument is L{None}, we get the default output.
- """
-- t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
-+ t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
- self.assertEqual(formatTime(t, timeFormat=None), "-")
- self.assertEqual(formatTime(t, timeFormat=None, default="!"), "!")
-
-@@ -219,7 +220,7 @@ class TimeFormattingTests(unittest.TestCase):
- """
- Alternate time format in output.
- """
-- t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
-+ t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
- self.assertEqual(formatTime(t, timeFormat="%Y/%W"), "2013/38")
-
- def test_formatTimePercentF(self) -> None:
-@@ -246,7 +247,7 @@ class ClassicLogFormattingTests(unittest.TestCase):
- addTZCleanup(self)
- setTZ("UTC+00")
-
-- t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
-+ t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
- event = dict(log_format="XYZZY", log_time=t)
- self.assertEqual(
- formatEventAsClassicLogText(event),
-@@ -539,7 +540,7 @@ class EventAsTextTests(unittest.TestCase):
- except CapturedError:
- f = Failure()
-
-- t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
-+ t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
- event: LogEvent = {
- "log_format": "ABCD",
- "log_system": "fake_system",
-@@ -573,7 +574,7 @@ class EventAsTextTests(unittest.TestCase):
- except CapturedError:
- f = Failure()
-
-- t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
-+ t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
- event: LogEvent = {
- "log_format": "ABCD",
- "log_system": "fake_system",
-@@ -601,7 +602,7 @@ class EventAsTextTests(unittest.TestCase):
- except CapturedError:
- f = Failure()
-
-- t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
-+ t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
- event: LogEvent = {
- "log_format": "ABCD",
- "log_time": t,
-@@ -628,7 +629,7 @@ class EventAsTextTests(unittest.TestCase):
- except CapturedError:
- f = Failure()
-
-- t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
-+ t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
- event: LogEvent = {
- "log_format": "ABCD",
- "log_time": t,
-@@ -657,7 +658,7 @@ class EventAsTextTests(unittest.TestCase):
- except CapturedError:
- f = Failure()
-
-- t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, 1))
-+ t = mktime((2013, 9, 24, 11, 40, 47, 1, 267, -1))
- event: LogEvent = {
- "log_format": "ABCD",
- "log_time": t,
---
-2.39.2
diff --git a/dev-python/twisted/files/twisted-24.3.0_p20240628-skip-py313-test.patch b/dev-python/twisted/files/twisted-24.3.0_p20240628-skip-py313-test.patch
new file mode 100644
index 000000000000..c469f7883f71
--- /dev/null
+++ b/dev-python/twisted/files/twisted-24.3.0_p20240628-skip-py313-test.patch
@@ -0,0 +1,35 @@
+From 2f14c47947206d7f2e53af85567938601728abbd Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@gentoo.org>
+Date: Fri, 28 Jun 2024 06:48:23 +0000
+Subject: [PATCH] skip failing test in py3.13
+
+Let's skip failing test for now, Fedora does it as well [1].
+
+[1] https://src.fedoraproject.org/rpms/python-twisted/blob/c8c63fe475594326f50fd748b40ae65f925c1325/f/0010-Skip-failing-tests.patch
+
+Upstream-Issue: https://github.com/twisted/twisted/issues/12099
+
+diff --git a/src/twisted/test/test_failure.py b/src/twisted/test/test_failure.py
+index 9a3daae306..a7a3ce29bd 100644
+--- a/src/twisted/test/test_failure.py
++++ b/src/twisted/test/test_failure.py
+@@ -17,7 +17,7 @@ from io import StringIO
+ from traceback import FrameSummary
+ from types import TracebackType
+ from typing import Any, Generator, cast
+-from unittest import skipIf
++from unittest import skipIf, skip
+
+ from cython_test_exception_raiser import raiser
+
+@@ -990,6 +990,7 @@ class ExtendedGeneratorTests(SynchronousTestCase):
+
+ self.assertEqual(traceback.extract_tb(stuff[0][2])[-1][-1], "1 / 0")
+
++ @skip("Fails with Python 3.13")
+ def test_findFailureInGenerator(self) -> None:
+ """
+ Within an exception handler, it should be possible to find the
+--
+2.45.2
+
diff --git a/dev-python/twisted/metadata.xml b/dev-python/twisted/metadata.xml
index 3d0719337243..5fb905aee3f7 100644
--- a/dev-python/twisted/metadata.xml
+++ b/dev-python/twisted/metadata.xml
@@ -11,7 +11,6 @@
</upstream>
<use>
<flag name="conch">include Twisted SSHv2 implementation</flag>
- <flag name="http2">include http2 support</flag>
<flag name="serial">include serial port support</flag>
</use>
<longdescription>Twisted is an event-based framework for internet
diff --git a/dev-python/twisted/twisted-23.10.0.ebuild b/dev-python/twisted/twisted-23.10.0.ebuild
deleted file mode 100644
index 0c223f4b56d4..000000000000
--- a/dev-python/twisted/twisted-23.10.0.ebuild
+++ /dev/null
@@ -1,149 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_TESTED=( python3_{10..12} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="An asynchronous networking framework written in Python"
-HOMEPAGE="
- https://twisted.org/
- https://github.com/twisted/twisted/
- https://pypi.org/project/Twisted/
-"
-SRC_URI+="
- https://dev.gentoo.org/~mgorny/dist/twisted-regen-cache.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-IUSE="conch http2 serial ssl test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- >=dev-python/automat-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/constantly-15.1[${PYTHON_USEDEP}]
- >=dev-python/hyperlink-17.1.1[${PYTHON_USEDEP}]
- >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/zope-interface-5[${PYTHON_USEDEP}]
- conch? (
- >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/cryptography-3.3[${PYTHON_USEDEP}]
- dev-python/pyasn1[${PYTHON_USEDEP}]
- )
- http2? (
- <dev-python/h2-5.0[${PYTHON_USEDEP}]
- >=dev-python/h2-3.0.0[${PYTHON_USEDEP}]
- <dev-python/priority-2.0[${PYTHON_USEDEP}]
- >=dev-python/priority-1.1.0[${PYTHON_USEDEP}]
- )
- serial? (
- >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
- )
- ssl? (
- >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
- >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
- >=dev-python/idna-2.4[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
- >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep '
- >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/constantly-15.1.0[${PYTHON_USEDEP}]
- <dev-python/cython-test-exception-raiser-2[${PYTHON_USEDEP}]
- >=dev-python/cython-test-exception-raiser-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/idna-2.4[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.56[${PYTHON_USEDEP}]
- dev-python/pyasn1[${PYTHON_USEDEP}]
- >=dev-python/pyhamcrest-2[${PYTHON_USEDEP}]
- >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
- virtual/openssh
- ssl? (
- >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
- >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
- )
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-python_prepare_all() {
- # upstream test for making releases; not very useful and requires
- # sphinx (including on py2)
- rm src/twisted/python/test/test_release.py || die
-
- # multicast tests fail within network-sandbox
- sed -e 's:test_joinLeave:_&:' \
- -e 's:test_loopback:_&:' \
- -e 's:test_multiListen:_&:' \
- -e 's:test_multicast:_&:' \
- -i src/twisted/test/test_udp.py || die
-
- distutils-r1_python_prepare_all
-}
-
-src_test() {
- # the test suite handles missing file & failing ioctl()s gracefully
- # but not permission errors from sandbox
- addwrite /dev/net/tun
- virtx distutils-r1_src_test
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON} (xfail)"
- return
- fi
-
- "${EPYTHON}" -m twisted.trial twisted ||
- die "Tests failed with ${EPYTHON}"
-}
-
-python_install() {
- distutils-r1_python_install
-
- # own the dropin.cache so we don't leave orphans
- > "${D}$(python_get_sitedir)"/twisted/plugins/dropin.cache || die
-
- python_doscript "${WORKDIR}"/twisted-regen-cache
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- newconfd "${FILESDIR}/twistd.conf" twistd
- newinitd "${FILESDIR}/twistd.init" twistd
-}
-
-python_postinst() {
- twisted-regen-cache || die
-}
-
-pkg_postinst() {
- if [[ -z ${ROOT} ]]; then
- python_foreach_impl python_postinst
- fi
-}
-
-python_postrm() {
- rm -f "${ROOT}$(python_get_sitedir)/twisted/plugins/dropin.cache" || die
-}
-
-pkg_postrm() {
- # if we're removing the last version, remove the cache file
- if [[ ! ${REPLACING_VERSIONS} ]]; then
- python_foreach_impl python_postrm
- fi
-}
diff --git a/dev-python/twisted/twisted-23.10.0_rc1.ebuild b/dev-python/twisted/twisted-23.10.0_rc1.ebuild
deleted file mode 100644
index 345f2095aeac..000000000000
--- a/dev-python/twisted/twisted-23.10.0_rc1.ebuild
+++ /dev/null
@@ -1,149 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_TESTED=( python3_{10..12} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="An asynchronous networking framework written in Python"
-HOMEPAGE="
- https://twisted.org/
- https://github.com/twisted/twisted/
- https://pypi.org/project/Twisted/
-"
-SRC_URI+="
- https://dev.gentoo.org/~mgorny/dist/twisted-regen-cache.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
-IUSE="conch http2 serial ssl test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- >=dev-python/automat-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/constantly-15.1[${PYTHON_USEDEP}]
- >=dev-python/hyperlink-17.1.1[${PYTHON_USEDEP}]
- >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-4.2.0[${PYTHON_USEDEP}]
- >=dev-python/zope-interface-5[${PYTHON_USEDEP}]
- conch? (
- >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/cryptography-3.3[${PYTHON_USEDEP}]
- dev-python/pyasn1[${PYTHON_USEDEP}]
- )
- http2? (
- <dev-python/h2-5.0[${PYTHON_USEDEP}]
- >=dev-python/h2-3.0.0[${PYTHON_USEDEP}]
- <dev-python/priority-2.0[${PYTHON_USEDEP}]
- >=dev-python/priority-1.1.0[${PYTHON_USEDEP}]
- )
- serial? (
- >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
- )
- ssl? (
- >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
- >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
- >=dev-python/idna-2.4[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
- >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep '
- >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/constantly-15.1.0[${PYTHON_USEDEP}]
- <dev-python/cython-test-exception-raiser-2[${PYTHON_USEDEP}]
- >=dev-python/cython-test-exception-raiser-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/idna-2.4[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.56[${PYTHON_USEDEP}]
- dev-python/pyasn1[${PYTHON_USEDEP}]
- >=dev-python/pyhamcrest-2[${PYTHON_USEDEP}]
- >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
- virtual/openssh
- ssl? (
- >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
- >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
- )
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-python_prepare_all() {
- # upstream test for making releases; not very useful and requires
- # sphinx (including on py2)
- rm src/twisted/python/test/test_release.py || die
-
- # multicast tests fail within network-sandbox
- sed -e 's:test_joinLeave:_&:' \
- -e 's:test_loopback:_&:' \
- -e 's:test_multiListen:_&:' \
- -e 's:test_multicast:_&:' \
- -i src/twisted/test/test_udp.py || die
-
- distutils-r1_python_prepare_all
-}
-
-src_test() {
- # the test suite handles missing file & failing ioctl()s gracefully
- # but not permission errors from sandbox
- addwrite /dev/net/tun
- virtx distutils-r1_src_test
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON} (xfail)"
- return
- fi
-
- "${EPYTHON}" -m twisted.trial twisted ||
- die "Tests failed with ${EPYTHON}"
-}
-
-python_install() {
- distutils-r1_python_install
-
- # own the dropin.cache so we don't leave orphans
- > "${D}$(python_get_sitedir)"/twisted/plugins/dropin.cache || die
-
- python_doscript "${WORKDIR}"/twisted-regen-cache
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- newconfd "${FILESDIR}/twistd.conf" twistd
- newinitd "${FILESDIR}/twistd.init" twistd
-}
-
-python_postinst() {
- twisted-regen-cache || die
-}
-
-pkg_postinst() {
- if [[ -z ${ROOT} ]]; then
- python_foreach_impl python_postinst
- fi
-}
-
-python_postrm() {
- rm -f "${ROOT}$(python_get_sitedir)/twisted/plugins/dropin.cache" || die
-}
-
-pkg_postrm() {
- # if we're removing the last version, remove the cache file
- if [[ ! ${REPLACING_VERSIONS} ]]; then
- python_foreach_impl python_postrm
- fi
-}
diff --git a/dev-python/twisted/twisted-23.8.0.ebuild b/dev-python/twisted/twisted-23.8.0.ebuild
deleted file mode 100644
index 6c1de8481e66..000000000000
--- a/dev-python/twisted/twisted-23.8.0.ebuild
+++ /dev/null
@@ -1,154 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_TESTED=( python3_{10..12} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi virtualx
-
-DESCRIPTION="An asynchronous networking framework written in Python"
-HOMEPAGE="
- https://twisted.org/
- https://github.com/twisted/twisted/
- https://pypi.org/project/Twisted/
-"
-SRC_URI+="
- https://dev.gentoo.org/~mgorny/dist/twisted-regen-cache.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
-IUSE="conch http2 serial ssl test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
- >=dev-python/automat-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/constantly-15.1[${PYTHON_USEDEP}]
- >=dev-python/hyperlink-17.1.1[${PYTHON_USEDEP}]
- >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
- >=dev-python/typing-extensions-3.10.0[${PYTHON_USEDEP}]
- >=dev-python/zope-interface-5[${PYTHON_USEDEP}]
- conch? (
- >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}]
- >=dev-python/cryptography-3.3[${PYTHON_USEDEP}]
- dev-python/pyasn1[${PYTHON_USEDEP}]
- )
- http2? (
- <dev-python/h2-5.0[${PYTHON_USEDEP}]
- >=dev-python/h2-3.0.0[${PYTHON_USEDEP}]
- <dev-python/priority-2.0[${PYTHON_USEDEP}]
- >=dev-python/priority-1.1.0[${PYTHON_USEDEP}]
- )
- serial? (
- >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
- )
- ssl? (
- >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
- >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
- >=dev-python/idna-2.4[${PYTHON_USEDEP}]
- )
-"
-BDEPEND="
- >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
- >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
- test? (
- ${RDEPEND}
- $(python_gen_cond_dep '
- >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
- >=dev-python/constantly-15.1.0[${PYTHON_USEDEP}]
- <dev-python/cython-test-exception-raiser-2[${PYTHON_USEDEP}]
- >=dev-python/cython-test-exception-raiser-1.0.2[${PYTHON_USEDEP}]
- >=dev-python/idna-2.4[${PYTHON_USEDEP}]
- >=dev-python/hypothesis-6.56[${PYTHON_USEDEP}]
- dev-python/pyasn1[${PYTHON_USEDEP}]
- >=dev-python/pyhamcrest-2[${PYTHON_USEDEP}]
- >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
- virtual/openssh
- ssl? (
- >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
- >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
- )
- ' "${PYTHON_TESTED[@]}")
- )
-"
-
-PATCHES=(
- # https://github.com/twisted/twisted/pull/11787
- "${FILESDIR}/${PN}-22.10.0-time.patch"
-)
-
-python_prepare_all() {
- # upstream test for making releases; not very useful and requires
- # sphinx (including on py2)
- rm src/twisted/python/test/test_release.py || die
-
- # multicast tests fail within network-sandbox
- sed -e 's:test_joinLeave:_&:' \
- -e 's:test_loopback:_&:' \
- -e 's:test_multiListen:_&:' \
- -e 's:test_multicast:_&:' \
- -i src/twisted/test/test_udp.py || die
-
- distutils-r1_python_prepare_all
-}
-
-src_test() {
- # the test suite handles missing file & failing ioctl()s gracefully
- # but not permission errors from sandbox
- addwrite /dev/net/tun
- virtx distutils-r1_src_test
-}
-
-python_test() {
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON} (xfail)"
- return
- fi
-
- "${EPYTHON}" -m twisted.trial twisted ||
- die "Tests failed with ${EPYTHON}"
-}
-
-python_install() {
- distutils-r1_python_install
-
- # own the dropin.cache so we don't leave orphans
- > "${D}$(python_get_sitedir)"/twisted/plugins/dropin.cache || die
-
- python_doscript "${WORKDIR}"/twisted-regen-cache
-}
-
-python_install_all() {
- distutils-r1_python_install_all
-
- newconfd "${FILESDIR}/twistd.conf" twistd
- newinitd "${FILESDIR}/twistd.init" twistd
-}
-
-python_postinst() {
- twisted-regen-cache || die
-}
-
-pkg_postinst() {
- if [[ -z ${ROOT} ]]; then
- python_foreach_impl python_postinst
- fi
-}
-
-python_postrm() {
- rm -f "${ROOT}$(python_get_sitedir)/twisted/plugins/dropin.cache" || die
-}
-
-pkg_postrm() {
- # if we're removing the last version, remove the cache file
- if [[ ! ${REPLACING_VERSIONS} ]]; then
- python_foreach_impl python_postrm
- fi
-}
diff --git a/dev-python/twisted/twisted-24.3.0.ebuild b/dev-python/twisted/twisted-24.3.0.ebuild
new file mode 100644
index 000000000000..2d913b858d7d
--- /dev/null
+++ b/dev-python/twisted/twisted-24.3.0.ebuild
@@ -0,0 +1,152 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_TESTED=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi virtualx
+
+DESCRIPTION="An asynchronous networking framework written in Python"
+HOMEPAGE="
+ https://twisted.org/
+ https://github.com/twisted/twisted/
+ https://pypi.org/project/Twisted/
+"
+SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/twisted-regen-cache.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos"
+IUSE="conch http2 serial ssl test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/automat-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/constantly-15.1[${PYTHON_USEDEP}]
+ >=dev-python/hyperlink-17.1.1[${PYTHON_USEDEP}]
+ >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/zope-interface-5[${PYTHON_USEDEP}]
+ conch? (
+ >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-3.3[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ )
+ http2? (
+ <dev-python/h2-5.0[${PYTHON_USEDEP}]
+ >=dev-python/h2-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/priority-2.0[${PYTHON_USEDEP}]
+ >=dev-python/priority-1.1.0[${PYTHON_USEDEP}]
+ )
+ serial? (
+ >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
+ )
+ ssl? (
+ >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
+ >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.4[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/constantly-15.1.0[${PYTHON_USEDEP}]
+ <dev-python/cython-test-exception-raiser-2[${PYTHON_USEDEP}]
+ >=dev-python/cython-test-exception-raiser-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.4[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.56[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ >=dev-python/pyhamcrest-2[${PYTHON_USEDEP}]
+ >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
+ virtual/openssh
+ ssl? (
+ >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
+ >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
+ )
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+python_prepare_all() {
+ # upstream test for making releases; not very useful and requires
+ # sphinx (including on py2)
+ rm src/twisted/python/test/test_release.py || die
+
+ # multicast tests fail within network-sandbox
+ sed -e 's:test_joinLeave:_&:' \
+ -e 's:test_loopback:_&:' \
+ -e 's:test_multiListen:_&:' \
+ -e 's:test_multicast:_&:' \
+ -i src/twisted/test/test_udp.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ # the test suite handles missing file & failing ioctl()s gracefully
+ # but not permission errors from sandbox
+ addwrite /dev/net/tun
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON} (xfail)"
+ return
+ fi
+
+ # breaks some tests by overriding empty environment
+ local -x SANDBOX_ON=0
+ "${EPYTHON}" -m twisted.trial twisted ||
+ die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # own the dropin.cache so we don't leave orphans
+ > "${D}$(python_get_sitedir)"/twisted/plugins/dropin.cache || die
+
+ python_doscript "${WORKDIR}"/twisted-regen-cache
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newconfd "${FILESDIR}/twistd.conf" twistd
+ newinitd "${FILESDIR}/twistd.init" twistd
+}
+
+python_postinst() {
+ twisted-regen-cache || die
+}
+
+pkg_postinst() {
+ if [[ -z ${ROOT} ]]; then
+ python_foreach_impl python_postinst
+ fi
+}
+
+python_postrm() {
+ rm -f "${ROOT}$(python_get_sitedir)/twisted/plugins/dropin.cache" || die
+}
+
+pkg_postrm() {
+ # if we're removing the last version, remove the cache file
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ python_foreach_impl python_postrm
+ fi
+}
diff --git a/dev-python/twisted/twisted-24.3.0_p20240628.ebuild b/dev-python/twisted/twisted-24.3.0_p20240628.ebuild
new file mode 100644
index 000000000000..4fd83b143c4f
--- /dev/null
+++ b/dev-python/twisted/twisted-24.3.0_p20240628.ebuild
@@ -0,0 +1,162 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_TESTED=( python3_{10..13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 virtualx
+
+DESCRIPTION="An asynchronous networking framework written in Python"
+HOMEPAGE="
+ https://twisted.org/
+ https://github.com/twisted/twisted/
+ https://pypi.org/project/Twisted/
+"
+# The snapshot is based on commit from PR https://github.com/twisted/twisted/pull/12092
+# which resolves most of remaining py3.13 issues.
+COMMIT="8f6b89855d4384e3ed80884ca6f7ecc46f7a92fb"
+SRC_URI="
+ https://github.com/twisted/twisted/archive/${COMMIT}.tar.gz
+ -> ${P}.gh.tar.gz
+ https://dev.gentoo.org/~mgorny/dist/twisted-regen-cache.gz
+"
+S="${WORKDIR}/${PN}-${COMMIT}"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos"
+IUSE="conch http2 serial ssl test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ >=dev-python/attrs-19.2.0[${PYTHON_USEDEP}]
+ >=dev-python/automat-0.8.0[${PYTHON_USEDEP}]
+ >=dev-python/constantly-15.1[${PYTHON_USEDEP}]
+ >=dev-python/hyperlink-17.1.1[${PYTHON_USEDEP}]
+ >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
+ >=dev-python/typing-extensions-4.2.0[${PYTHON_USEDEP}]
+ >=dev-python/zope-interface-5[${PYTHON_USEDEP}]
+ conch? (
+ >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/cryptography-3.3[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ )
+ http2? (
+ <dev-python/h2-5.0[${PYTHON_USEDEP}]
+ >=dev-python/h2-3.0.0[${PYTHON_USEDEP}]
+ <dev-python/priority-2.0[${PYTHON_USEDEP}]
+ >=dev-python/priority-1.1.0[${PYTHON_USEDEP}]
+ )
+ serial? (
+ >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
+ )
+ ssl? (
+ >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
+ >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.4[${PYTHON_USEDEP}]
+ )
+"
+BDEPEND="
+ >=dev-python/hatch-fancy-pypi-readme-22.5.0[${PYTHON_USEDEP}]
+ >=dev-python/incremental-22.10.0[${PYTHON_USEDEP}]
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ >=dev-python/appdirs-1.4.0[${PYTHON_USEDEP}]
+ >=dev-python/bcrypt-3.0.0[${PYTHON_USEDEP}]
+ >=dev-python/constantly-15.1.0[${PYTHON_USEDEP}]
+ <dev-python/cython-test-exception-raiser-2[${PYTHON_USEDEP}]
+ >=dev-python/cython-test-exception-raiser-1.0.2[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.4[${PYTHON_USEDEP}]
+ >=dev-python/hypothesis-6.56[${PYTHON_USEDEP}]
+ dev-python/pyasn1[${PYTHON_USEDEP}]
+ >=dev-python/pyhamcrest-2[${PYTHON_USEDEP}]
+ >=dev-python/pyserial-3.0[${PYTHON_USEDEP}]
+ virtual/openssh
+ ssl? (
+ >=dev-python/pyopenssl-21.0.0[${PYTHON_USEDEP}]
+ >=dev-python/service-identity-18.1.0[${PYTHON_USEDEP}]
+ )
+ ' "${PYTHON_TESTED[@]}")
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${P}-skip-py313-test.patch"
+)
+
+python_prepare_all() {
+ # upstream test for making releases; not very useful and requires
+ # sphinx (including on py2)
+ rm src/twisted/python/test/test_release.py || die
+
+ # multicast tests fail within network-sandbox
+ sed -e 's:test_joinLeave:_&:' \
+ -e 's:test_loopback:_&:' \
+ -e 's:test_multiListen:_&:' \
+ -e 's:test_multicast:_&:' \
+ -i src/twisted/test/test_udp.py || die
+
+ distutils-r1_python_prepare_all
+}
+
+src_test() {
+ # the test suite handles missing file & failing ioctl()s gracefully
+ # but not permission errors from sandbox
+ addwrite /dev/net/tun
+ virtx distutils-r1_src_test
+}
+
+python_test() {
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON} (xfail)"
+ return
+ fi
+
+ # breaks some tests by overriding empty environment
+ local -x SANDBOX_ON=0
+ "${EPYTHON}" -m twisted.trial twisted ||
+ die "Tests failed with ${EPYTHON}"
+}
+
+python_install() {
+ distutils-r1_python_install
+
+ # own the dropin.cache so we don't leave orphans
+ > "${D}$(python_get_sitedir)"/twisted/plugins/dropin.cache || die
+
+ python_doscript "${WORKDIR}"/twisted-regen-cache
+}
+
+python_install_all() {
+ distutils-r1_python_install_all
+
+ newconfd "${FILESDIR}/twistd.conf" twistd
+ newinitd "${FILESDIR}/twistd.init" twistd
+}
+
+python_postinst() {
+ twisted-regen-cache || die
+}
+
+pkg_postinst() {
+ if [[ -z ${ROOT} ]]; then
+ python_foreach_impl python_postinst
+ fi
+}
+
+python_postrm() {
+ rm -f "${ROOT}$(python_get_sitedir)/twisted/plugins/dropin.cache" || die
+}
+
+pkg_postrm() {
+ # if we're removing the last version, remove the cache file
+ if [[ ! ${REPLACING_VERSIONS} ]]; then
+ python_foreach_impl python_postrm
+ fi
+}
diff --git a/dev-python/twython/twython-3.9.1-r1.ebuild b/dev-python/twython/twython-3.9.1-r1.ebuild
index 25d43535088f..6fc9db653db2 100644
--- a/dev-python/twython/twython-3.9.1-r1.ebuild
+++ b/dev-python/twython/twython-3.9.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -18,8 +18,8 @@ SRC_URI="
-> ${P}.gh.tar.gz
"
-SLOT="0"
LICENSE="MIT"
+SLOT="0"
KEYWORDS="amd64 arm64 ~ppc64 ~riscv x86"
RDEPEND="
diff --git a/dev-python/txAMQP/Manifest b/dev-python/txAMQP/Manifest
index 22dcf4e3410c..a42034dab274 100644
--- a/dev-python/txAMQP/Manifest
+++ b/dev-python/txAMQP/Manifest
@@ -1 +1 @@
-DIST txamqp-0.8.2.tar.gz 118560 BLAKE2B 6e60cc0785462b92d046a620cc09eda8b7783bd09186a60299eba11c8f6f5780fc38b094ea974e4f1e443d3d30ee1428f30ad25fdb43554d25db17f36d323527 SHA512 4a5e468482433e684dc690abddeba3e0a6c77630055afe44487de72feecad9c750d179c43dee4e781d09c9c21259cecd615dc9f6eaa7d9ff7ca0796248ad5a02
+DIST txamqp-0.8.2.gh.tar.gz 118560 BLAKE2B 6e60cc0785462b92d046a620cc09eda8b7783bd09186a60299eba11c8f6f5780fc38b094ea974e4f1e443d3d30ee1428f30ad25fdb43554d25db17f36d323527 SHA512 4a5e468482433e684dc690abddeba3e0a6c77630055afe44487de72feecad9c750d179c43dee4e781d09c9c21259cecd615dc9f6eaa7d9ff7ca0796248ad5a02
diff --git a/dev-python/txAMQP/txAMQP-0.8.2-r1.ebuild b/dev-python/txAMQP/txAMQP-0.8.2-r1.ebuild
index aac73d66fd56..5f7ff94b6cf6 100644
--- a/dev-python/txAMQP/txAMQP-0.8.2-r1.ebuild
+++ b/dev-python/txAMQP/txAMQP-0.8.2-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="xml(+)"
inherit distutils-r1
@@ -15,7 +15,10 @@ DESCRIPTION="Python library for communicating with AMQP peers using Twisted"
HOMEPAGE="https://github.com/txamqp/txamqp"
# pypi tarball misses doc files
# https://github.com/txamqp/txamqp/pull/10
-SRC_URI="https://github.com/txamqp/txamqp/archive/${PV}.tar.gz -> ${MY_P}.tar.gz"
+SRC_URI="
+ https://github.com/txamqp/txamqp/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
S="${WORKDIR}/${MY_P}"
LICENSE="Apache-2.0"
diff --git a/dev-python/txaio/metadata.xml b/dev-python/txaio/metadata.xml
index 26a77153d753..6026f75d328a 100644
--- a/dev-python/txaio/metadata.xml
+++ b/dev-python/txaio/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>dolsen@gentoo.org</email>
- <name>Brian Dolbec</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/txaio/txaio-23.1.1.ebuild b/dev-python/txaio/txaio-23.1.1.ebuild
index cdfcc7646a10..8a0c0e58ed8c 100644
--- a/dev-python/txaio/txaio-23.1.1.ebuild
+++ b/dev-python/txaio/txaio-23.1.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 optfeature pypi
diff --git a/dev-python/txredisapi/txredisapi-1.4.10.ebuild b/dev-python/txredisapi/txredisapi-1.4.10.ebuild
index 718395fc9148..836dab34892a 100644
--- a/dev-python/txredisapi/txredisapi-1.4.10.ebuild
+++ b/dev-python/txredisapi/txredisapi-1.4.10.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 optfeature
DESCRIPTION="Non-blocking redis client for python"
@@ -21,7 +21,7 @@ SRC_URI="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="amd64 ~ppc64"
+KEYWORDS="amd64 ~arm64 ~ppc64"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/txrequests/metadata.xml b/dev-python/txrequests/metadata.xml
index 38995d6314a9..baf3592d99d3 100644
--- a/dev-python/txrequests/metadata.xml
+++ b/dev-python/txrequests/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>dolsen@gentoo.org</email>
- <name>Brian Dolbec</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
@@ -14,9 +14,10 @@
<remote-id type="pypi">txrequests</remote-id>
<remote-id type="github">tardyp/txrequests</remote-id>
</upstream>
- <longdescription>Small add-on for the python requests http library.
+ <longdescription>
+ Small add-on for the python requests http library.
Makes use twisted's ThreadPool, so that the requests'API returns
- deferred. The additional API and changes are minimal and strives to
- avoid surprises.
+ deferred. The additional API and changes are minimal and strives
+ to avoid surprises.
</longdescription>
</pkgmetadata>
diff --git a/dev-python/txrequests/txrequests-0.9.6-r1.ebuild b/dev-python/txrequests/txrequests-0.9.6-r1.ebuild
index 035df39222d8..4cb382ecedca 100644
--- a/dev-python/txrequests/txrequests-0.9.6-r1.ebuild
+++ b/dev-python/txrequests/txrequests-0.9.6-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -16,9 +16,10 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
IUSE="test"
-RESTRICT="!test? ( test )"
+PROPERTIES="test_network"
+RESTRICT="test"
RDEPEND="
>=dev-python/requests-1.2.0[${PYTHON_USEDEP}]
@@ -31,5 +32,6 @@ BDEPEND="
"
python_test() {
- "${EPYTHON}" -m twisted.trial txrequests || die "Tests failed with ${EPYTHON}"
+ "${EPYTHON}" -m twisted.trial test_txrequests ||
+ die "Tests failed for ${EPYTHON}"
}
diff --git a/dev-python/txtorcon/Manifest b/dev-python/txtorcon/Manifest
index 6907e7a34aa5..a86c5713e677 100644
--- a/dev-python/txtorcon/Manifest
+++ b/dev-python/txtorcon/Manifest
@@ -1,2 +1 @@
DIST txtorcon-23.11.0.gh.tar.gz 395211 BLAKE2B 156c1c1d7e1d88939051ea19f4cd955e3a329dd1a550ea1a35d6c984db66d9b8e7fff35b2aa5caa12589273b46c1ce65d802fe89ce2a57443e0b5ce592247ee0 SHA512 815aecd8b6f3d12be1f903ba4dbb037e5f5920d925ca06c9f92a040d8258c4c1182ae5fca0be26fd2adb529c1726ad9ee080ddcada56e3e8b9922f7295731df3
-DIST txtorcon-23.5.0.gh.tar.gz 394188 BLAKE2B ee63d2815a9b697aa37d27697ef6085dc91e750ba0cad854c8610eed7afcfec9b50cf5aead24f75676e2b0ee39167c50fbebc43a51911a3ebe17eb784b18d31e SHA512 33610c043084273f5dc06b797fff11bb0fccaae14229dbd07286e13e40ebc199594f6e52c64b87e4060e37bcb44bd90ccf7ff7217d923fdb33a581fb95144d56
diff --git a/dev-python/txtorcon/txtorcon-23.11.0.ebuild b/dev-python/txtorcon/txtorcon-23.11.0.ebuild
index abd577bf70e9..b6603c67b705 100644
--- a/dev-python/txtorcon/txtorcon-23.11.0.ebuild
+++ b/dev-python/txtorcon/txtorcon-23.11.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1
diff --git a/dev-python/txtorcon/txtorcon-23.5.0.ebuild b/dev-python/txtorcon/txtorcon-23.5.0.ebuild
deleted file mode 100644
index 0046315727fb..000000000000
--- a/dev-python/txtorcon/txtorcon-23.5.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1
-
-DESCRIPTION="Twisted-based Tor controller client, with state-tracking abstractions"
-HOMEPAGE="
- https://txtorcon.readthedocs.org/
- https://github.com/meejah/txtorcon/
- https://pypi.org/project/txtorcon/
-"
-SRC_URI="
- https://github.com/meejah/txtorcon/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/automat[${PYTHON_USEDEP}]
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/incremental[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- dev-python/twisted[ssl,${PYTHON_USEDEP}]
- dev-python/zope-interface[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- sys-process/lsof
- dev-python/mock[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/typeguard/Manifest b/dev-python/typeguard/Manifest
index e9185bd41c56..6fd58940634d 100644
--- a/dev-python/typeguard/Manifest
+++ b/dev-python/typeguard/Manifest
@@ -1 +1 @@
-DIST typeguard-4.1.5.tar.gz 69228 BLAKE2B 2af39b1cb179483e167b8cfbf053e633f5947b3a17c496aaa2bdf22f3a69f7b41e2c9f317534eb12ffb781364cf81d117ced9fafd389aadd85d16d05e42bff0b SHA512 50bf3760246dba5de2e98038c78acbd6f2fd2d69ae8c688c3efeface5ef6cc4c2521f82d6084dabc1258286ac589ff94f1b9e3c9b67e9b019d725bf13884fce2
+DIST typeguard-4.3.0.tar.gz 73374 BLAKE2B 0a7cd0dfa2c3caa19160cd66fffeeafe21cb1d195271b82e67d26fa471615768c48f8dd7d92a004db187b9b231f1bce12f1054d98f4157b784854dbb32b18320 SHA512 ce085f0655beede2d3e1178c64cea0a6fbebe9e7eeece3f9ff656233d74d3d9be5c4119aaecdc0541e9adf9c6f1458b06e6c2056b8e5394ded3f7ae4101e9e11
diff --git a/dev-python/typeguard/metadata.xml b/dev-python/typeguard/metadata.xml
index f7481558606e..127e8539e61a 100644
--- a/dev-python/typeguard/metadata.xml
+++ b/dev-python/typeguard/metadata.xml
@@ -4,6 +4,7 @@
<maintainer type="project">
<email>python@gentoo.org</email>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="github">agronholm/typeguard</remote-id>
<remote-id type="pypi">typeguard</remote-id>
diff --git a/dev-python/typeguard/typeguard-4.1.5.ebuild b/dev-python/typeguard/typeguard-4.1.5.ebuild
deleted file mode 100644
index b63143ee3d93..000000000000
--- a/dev-python/typeguard/typeguard-4.1.5.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 2021-2023 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="Run-time type checker for Python"
-HOMEPAGE="
- https://pypi.org/project/typeguard/
- https://github.com/agronholm/typeguard/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/typing-extensions-4.7.0[${PYTHON_USEDEP}]
- ' 3.{10..11})
-"
-BDEPEND="
- >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_IGNORE=(
- # mypy changes results from version to version
- tests/mypy
- )
-
- local -x PYTHONDONTWRITEBYTECODE=
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # the XFAIL test pass due to some package being installed
- epytest -o xfail_strict=False
-}
diff --git a/dev-python/typeguard/typeguard-4.3.0.ebuild b/dev-python/typeguard/typeguard-4.3.0.ebuild
new file mode 100644
index 000000000000..95d4dceff441
--- /dev/null
+++ b/dev-python/typeguard/typeguard-4.3.0.ebuild
@@ -0,0 +1,39 @@
+# Copyright 2021-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Run-time type checker for Python"
+HOMEPAGE="
+ https://pypi.org/project/typeguard/
+ https://github.com/agronholm/typeguard/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/typing-extensions-4.10.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ >=dev-python/setuptools-scm-6.4[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ # mypy changes results from version to version
+ # (we can't use EPYTEST_IGNORE because pytest_ignore_collect breaks it)
+ rm -rf tests/mypy || die
+
+ local -x PYTHONDONTWRITEBYTECODE=
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ # the XFAIL test pass due to some package being installed
+ epytest -o xfail_strict=False -p typeguard
+}
diff --git a/dev-python/types-docutils/Manifest b/dev-python/types-docutils/Manifest
index 6eec3654d980..bbadaf1d6bf0 100644
--- a/dev-python/types-docutils/Manifest
+++ b/dev-python/types-docutils/Manifest
@@ -1,3 +1,3 @@
-DIST types-docutils-0.20.0.1.tar.gz 9796 BLAKE2B 0d7d6b3af0b7c6bf604f7f366f6dc18b0326140b24c86265470eb3f80ececb90b22ec326f621400ebaf53bcafac123f4eee94432e12325d5134a90339c3fa2f9 SHA512 7a6d56ad4222cb8361f8755fc1bb9793b2ffa9aa01996566ccb360eddc5a154104e5ce0bfee64f8ee4770f0cdf9d6209ee4286a067d99a5f05ba40d13b44c1c2
-DIST types-docutils-0.20.0.2.tar.gz 10168 BLAKE2B 444a915964b80dd3c92de3371e27639402ded89562ac633ebec0f580c7e4ead34aad3630b514c0ac0ea93beef3162e8c715b6e3b422981438dc35c552821e744 SHA512 172889c8f34ef8416aede3c7b401a6bfaf5a9e26570d5677c42faa43e04f3ec2a9e46b0cd8f98e92f366a1f6352bab0387cf0d566a7d654c8a38c5e3cdb2c8de
-DIST types-docutils-0.20.0.3.tar.gz 10207 BLAKE2B ea672c6eab14a29644e4a4ae0183484cc7af1a71b4adea7afb70c5c9b70e7f9cb563058f6492929da45409ec4153d03568951b9c79692e53e5daba8321fc7c7d SHA512 95b2ae79486a1d4aac1be85a67b04ebce399d6c7e862f14f7cb97d578db97980ab45c343ae4deafce8cf616e7368dddd58c0457a1f5ac092548b2068a2c50e0e
+DIST types-docutils-0.21.0.20240710.tar.gz 19813 BLAKE2B ffe7a9605faf155ad968e6bf190fb2cfec4e09ce09c8b2c9346710c9065e18f169682122c9ba83acd331f166dc9ed925be55626be4320553de2f1f467d2a0e67 SHA512 f870c692666c9966cba11fec7c441cbdf0f5510d586ebea467880bdec859783aeb23a3621dc14fc65021ec3cd917c929116642901048249ea8549ede4ff1c02b
+DIST types-docutils-0.21.0.20240711.tar.gz 19857 BLAKE2B db38ce7230323b6710ca0f183eb77d700f6fc895af5956abde65f85e976dc15db920eab6b69483fa7ad3361fef0286069875ec02564d4a855244cdb255e039c0 SHA512 770aa29d2e0fb51c35924239e636ec5d31fe6a9986f3842afd6e7a6414e2ae281d1e88bbce1343d69f9d596381bee056f7471566e051025fb2dd9ad93b188786
+DIST types-docutils-0.21.0.20240724.tar.gz 20175 BLAKE2B a21715a3f24c120e58b4d542e97de8f0a580ad40fe9f7d451b9e2b2072f4eb552d750662d198d8afcd8a6f7e0be3605b727ac014f229214849d9ba3757feb7d8 SHA512 5fc881f945a0755d38cc36ed2134303e421f4f19016517ffb88f39a7f29d2075eaf4d5691c1280a90597fa87478c9eed747ad7a40df210ce0ab3af7ed36e6281
diff --git a/dev-python/types-docutils/types-docutils-0.20.0.1.ebuild b/dev-python/types-docutils/types-docutils-0.20.0.1.ebuild
deleted file mode 100644
index 9a24481a1e60..000000000000
--- a/dev-python/types-docutils/types-docutils-0.20.0.1.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2022-2023 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_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Typing stubs for docutils"
-HOMEPAGE="https://pypi.org/project/types-docutils/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/types-docutils/types-docutils-0.20.0.2.ebuild b/dev-python/types-docutils/types-docutils-0.20.0.2.ebuild
deleted file mode 100644
index 5dad3e537724..000000000000
--- a/dev-python/types-docutils/types-docutils-0.20.0.2.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2022-2023 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 pypi
-
-DESCRIPTION="Typing stubs for docutils"
-HOMEPAGE="https://pypi.org/project/types-docutils/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/types-docutils/types-docutils-0.20.0.3.ebuild b/dev-python/types-docutils/types-docutils-0.20.0.3.ebuild
deleted file mode 100644
index 5dad3e537724..000000000000
--- a/dev-python/types-docutils/types-docutils-0.20.0.3.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2022-2023 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 pypi
-
-DESCRIPTION="Typing stubs for docutils"
-HOMEPAGE="https://pypi.org/project/types-docutils/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/types-docutils/types-docutils-0.21.0.20240710.ebuild b/dev-python/types-docutils/types-docutils-0.21.0.20240710.ebuild
new file mode 100644
index 000000000000..f42134c19384
--- /dev/null
+++ b/dev-python/types-docutils/types-docutils-0.21.0.20240710.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for docutils"
+HOMEPAGE="https://pypi.org/project/types-docutils/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/types-docutils/types-docutils-0.21.0.20240711.ebuild b/dev-python/types-docutils/types-docutils-0.21.0.20240711.ebuild
new file mode 100644
index 000000000000..f42134c19384
--- /dev/null
+++ b/dev-python/types-docutils/types-docutils-0.21.0.20240711.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for docutils"
+HOMEPAGE="https://pypi.org/project/types-docutils/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/types-docutils/types-docutils-0.21.0.20240724.ebuild b/dev-python/types-docutils/types-docutils-0.21.0.20240724.ebuild
new file mode 100644
index 000000000000..f42134c19384
--- /dev/null
+++ b/dev-python/types-docutils/types-docutils-0.21.0.20240724.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for docutils"
+HOMEPAGE="https://pypi.org/project/types-docutils/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/types-gdb/Manifest b/dev-python/types-gdb/Manifest
index e6fd38705baf..332b89460055 100644
--- a/dev-python/types-gdb/Manifest
+++ b/dev-python/types-gdb/Manifest
@@ -1,2 +1,2 @@
-DIST types-gdb-12.1.4.4.tar.gz 10217 BLAKE2B c8724e3c1c5b0528d69da00e537d5f7f41f7eae056585be11e16437216315d7b0ab106b611a53dfd0434af9ace8dee4122d4829df3046a1b5549326571818c7a SHA512 28993238a2a8fad81269825dc88c838d87720f37c9bff01579b31416f3bf14eb047dcf932c1ac1b37403fd6872ed260c2efb615228e8c013f47ef8665e7574d3
-DIST types-gdb-12.1.4.5.tar.gz 10480 BLAKE2B 6f46156970d2ba75dc31101a5ede370a34ca87dd10e13cf13eea1afb4777bfeb651c98e7b01f3c7334525c27971941bae260b7fea3b3752280703e2849ca0618 SHA512 0fd8010d699558566faad5747dd5c868500882eb8c890f67c55f7341fa143aa85e3128749866c40268b77890705c5e1f2605e02906cd9b16a568944b95fb4966
+DIST types-gdb-12.1.4.20240408.tar.gz 11767 BLAKE2B 3968f1edff0b809404091864683a13d6c5037077aad0435dd425a159cea5c5b906552028bd05136af98db8fe2715809287cb36ae9706d408561a43138667cd3c SHA512 8bb5d4508d456a1e55e9bac8eeaa15745fb5546cfd1749d28c22cc03db3a6a35145a7c1adcfdfa617ca2636c18ea8fac41c7b1043f49a8acd63d1475de3f3456
+DIST types-gdb-12.1.4.20240704.tar.gz 11819 BLAKE2B 80866a0eb484e7b3e30a01ea3606b5ee4a832194efba38dcec61d61316ad61eed432d478fdcef10bc481707468156c209bc3ec34e5995b350a84afd3aa21d9a8 SHA512 1d8141dc056df6b5a2a95a682098f254e499ca9cce5c98393c977cfb08bb4e13de9d5e1e539fef95f5836a396491fe74ac0db1610f3e1f194c36568e7e142682
diff --git a/dev-python/types-gdb/types-gdb-12.1.4.20240408.ebuild b/dev-python/types-gdb/types-gdb-12.1.4.20240408.ebuild
new file mode 100644
index 000000000000..bb9b717448e5
--- /dev/null
+++ b/dev-python/types-gdb/types-gdb-12.1.4.20240408.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for gdb"
+HOMEPAGE="https://pypi.org/project/types-gdb/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/types-gdb/types-gdb-12.1.4.20240704.ebuild b/dev-python/types-gdb/types-gdb-12.1.4.20240704.ebuild
new file mode 100644
index 000000000000..bb9b717448e5
--- /dev/null
+++ b/dev-python/types-gdb/types-gdb-12.1.4.20240704.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_NO_NORMALIZE=1
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for gdb"
+HOMEPAGE="https://pypi.org/project/types-gdb/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/types-gdb/types-gdb-12.1.4.4.ebuild b/dev-python/types-gdb/types-gdb-12.1.4.4.ebuild
deleted file mode 100644
index 9a956d2c2dba..000000000000
--- a/dev-python/types-gdb/types-gdb-12.1.4.4.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2022-2023 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_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Typing stubs for gdb"
-HOMEPAGE="https://pypi.org/project/types-gdb/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/types-gdb/types-gdb-12.1.4.5.ebuild b/dev-python/types-gdb/types-gdb-12.1.4.5.ebuild
deleted file mode 100644
index c5b294bf85b7..000000000000
--- a/dev-python/types-gdb/types-gdb-12.1.4.5.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2022-2023 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 pypi
-
-DESCRIPTION="Typing stubs for gdb"
-HOMEPAGE="https://pypi.org/project/types-gdb/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
diff --git a/dev-python/types-psutil/Manifest b/dev-python/types-psutil/Manifest
index fa712fd0f329..e81553954283 100644
--- a/dev-python/types-psutil/Manifest
+++ b/dev-python/types-psutil/Manifest
@@ -1 +1,2 @@
-DIST types-psutil-5.9.5.17.tar.gz 14260 BLAKE2B e9addb084e29e2944c07d2003a97ddc879a42ab3687d478a4b55893687360565904f803615de227f48579ad117d47c9f98abeeb6ed6da281b4619776fa40ed45 SHA512 c9a39da945262756c0c75168bc9b67b220096b88dabc13327801b5b572bb571c3c791ff2bd280243195acbc9818552ad3aafddad1813956a5ffef45084aebaaa
+DIST types-psutil-5.9.5.20240516.tar.gz 14771 BLAKE2B 9d163a5909b79a1d775f5edb557fa9e047b2874a3def37ca9277f446ee83b4ded8776c2d231142ee72cf80f7a48c7ebafbe03794d0d3192f762f14692559b16b SHA512 831ffcf2031f3d40d591c7660c38e469114867b53990739130098db571f6369877ee534388ad87f178f1b689c8a66bf020e5b5b2a141aa81485324b370b7473f
+DIST types-psutil-6.0.0.20240621.tar.gz 14857 BLAKE2B 1529a89f836d4ec9fb3707143caecd770a6820f9cd3af02ddf6dd8583eadbbe9c7c10d21fc97eb77f07990f80e43cf6da6bb00e9ca3c881a92dad097e7748eaa SHA512 4799a22db15052e32ab3016829514c425615deaa587ce7436f6978a1bd58ae812608bc4865d57910303bda907322348a6e2cd3ae4d45999f473440d2cff813fb
diff --git a/dev-python/types-psutil/types-psutil-5.9.5.17.ebuild b/dev-python/types-psutil/types-psutil-5.9.5.17.ebuild
deleted file mode 100644
index af385034353e..000000000000
--- a/dev-python/types-psutil/types-psutil-5.9.5.17.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Typing stubs for psutil"
-HOMEPAGE="https://pypi.org/project/types-psutil/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
diff --git a/dev-python/types-psutil/types-psutil-5.9.5.20240516.ebuild b/dev-python/types-psutil/types-psutil-5.9.5.20240516.ebuild
new file mode 100644
index 000000000000..142a40a998ec
--- /dev/null
+++ b/dev-python/types-psutil/types-psutil-5.9.5.20240516.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for psutil"
+HOMEPAGE="https://pypi.org/project/types-psutil/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
diff --git a/dev-python/types-psutil/types-psutil-6.0.0.20240621.ebuild b/dev-python/types-psutil/types-psutil-6.0.0.20240621.ebuild
new file mode 100644
index 000000000000..fea8e8e28f9b
--- /dev/null
+++ b/dev-python/types-psutil/types-psutil-6.0.0.20240621.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for psutil"
+HOMEPAGE="https://pypi.org/project/types-psutil/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 arm arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
diff --git a/dev-python/types-setuptools/Manifest b/dev-python/types-setuptools/Manifest
index e801afb1ed21..b0b7c29d1f08 100644
--- a/dev-python/types-setuptools/Manifest
+++ b/dev-python/types-setuptools/Manifest
@@ -1,3 +1,4 @@
-DIST types-setuptools-68.2.0.1.tar.gz 33293 BLAKE2B f492a35c4282f95a1fe01854edfa10a8ceec1307d29042197ba079354488aa2cc8a8770f876b02ddcb6d568e9e94f9f995d4f1a444da313354d6c4ad2974f860 SHA512 1a1efa6bb5759c82bbcb514816ece34ec133c1b4540ddb80e2155b02dfa05175fb3aacc836e72d9f0416b9f523c3efa3e3282569b5dcfa597cfab75f1ff5a490
-DIST types-setuptools-68.2.0.2.tar.gz 33292 BLAKE2B 73806a72a897f50eae65d2dae06ac08404e7882aeab1d697d8485d5a5d81946948883ae21b8c1c0d92ef14bbde1ca6a633e559f97e925e3709ddaf3624a06b0e SHA512 c900acace3992c6ce98945e3e2de38ccb34348995a2a7fa815ad2c3defd5fe16e4213e6f7f49530a8ba68f1ddaeb404cf05ef4597164f9c9954f2ade640ac875
-DIST types-setuptools-69.0.0.0.tar.gz 33164 BLAKE2B 1a99600bb93b21ca0c87a4d8b32ca61903b113b40e1d4b6641f303c4144032e8ef9c95b76bbede9f44b584a332640dd89ec50502df5a12b04a36bd5d8ab4c413 SHA512 e7b5945a2654334bf9188e98f13a153fe09fc548419888b28262b71cf04086f62a50f1f086cb348d327c3c0bb5fb537279e105802592fc9e75ef301538de5503
+DIST types-setuptools-70.2.0.20240704.tar.gz 39301 BLAKE2B 697ae444f26b05b00d922610b05e12f76101cbd86de4ebf7d33c335f6e35aa2e168ebe780329ebf7a2d7e4f38b9255647fb08ce10828a2e476863dc3ac9b5b19 SHA512 a5ad2c1e038473dc676199b9cc8b5f73e2c32a3db0c6474cd02c61c22d945658f122fbaaa299c04138efe0be20db789ceb376f77013f9502f5f60f78e22711f0
+DIST types-setuptools-70.3.0.20240710.tar.gz 39352 BLAKE2B 7ce226fe33a714f1467a6656832b6c8b01ee9821fd7c8345f32fb0675afa55689be094f7e695e11d06ddc38e58443b637d2ddf64aad89d456475ec717d8daef1 SHA512 c8c213a1d401a6aa46d0990bc0f0955261b113987713cfdfea683b90232a8c78bce0575612b4fbfeba3b2c12d9e6846ffc45ada7da5f2e3832c2ee8354249304
+DIST types-setuptools-71.1.0.20240723.tar.gz 39110 BLAKE2B 6b7fc328913bf3f6778a433ffcaa989f98182986836f8fb773ca9a7e132124a70fdfbd47e4b424b7f201b512fb869e1bb7a75308317ab761c92891a2ece8e7a2 SHA512 ac14a14c31780f4e50765f8ff17078e3ca23590b8ccdc4848c0171b85f1e807146944d1c6ec8ff6fcdedfbe357d3264847a44936b88b9c6698f1db5bea57d26d
+DIST types-setuptools-71.1.0.20240724.tar.gz 39287 BLAKE2B 78d5fe5cd9ef13d12c7c86474e76a4651d9e40b4b1cd8e05052b28c23a066979d5228f20cc8e1b3be0d691040616f13d9a78fc752092a1678eb5502780d8bf4a SHA512 af44e7e046cc79d904b51e3e2f98f266a8d0fd5108d495b73cb920ade45b90daf683727475aa04824752207b9980b3a4c7e796d90bcefb15626cb693e78df466
diff --git a/dev-python/types-setuptools/types-setuptools-68.2.0.1.ebuild b/dev-python/types-setuptools/types-setuptools-68.2.0.1.ebuild
deleted file mode 100644
index 3324b3de6ab8..000000000000
--- a/dev-python/types-setuptools/types-setuptools-68.2.0.1.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Typing stubs for setuptools"
-HOMEPAGE="https://pypi.org/project/types-setuptools/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
diff --git a/dev-python/types-setuptools/types-setuptools-68.2.0.2.ebuild b/dev-python/types-setuptools/types-setuptools-68.2.0.2.ebuild
deleted file mode 100644
index 54d60b9b2471..000000000000
--- a/dev-python/types-setuptools/types-setuptools-68.2.0.2.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Typing stubs for setuptools"
-HOMEPAGE="https://pypi.org/project/types-setuptools/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
diff --git a/dev-python/types-setuptools/types-setuptools-69.0.0.0.ebuild b/dev-python/types-setuptools/types-setuptools-69.0.0.0.ebuild
deleted file mode 100644
index 54d60b9b2471..000000000000
--- a/dev-python/types-setuptools/types-setuptools-69.0.0.0.ebuild
+++ /dev/null
@@ -1,17 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Typing stubs for setuptools"
-HOMEPAGE="https://pypi.org/project/types-setuptools/"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
diff --git a/dev-python/types-setuptools/types-setuptools-70.2.0.20240704.ebuild b/dev-python/types-setuptools/types-setuptools-70.2.0.20240704.ebuild
new file mode 100644
index 000000000000..ee31e761550d
--- /dev/null
+++ b/dev-python/types-setuptools/types-setuptools-70.2.0.20240704.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for setuptools"
+HOMEPAGE="https://pypi.org/project/types-setuptools/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
diff --git a/dev-python/types-setuptools/types-setuptools-70.3.0.20240710.ebuild b/dev-python/types-setuptools/types-setuptools-70.3.0.20240710.ebuild
new file mode 100644
index 000000000000..a4b37c5506f0
--- /dev/null
+++ b/dev-python/types-setuptools/types-setuptools-70.3.0.20240710.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for setuptools"
+HOMEPAGE="https://pypi.org/project/types-setuptools/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
diff --git a/dev-python/types-setuptools/types-setuptools-71.1.0.20240723.ebuild b/dev-python/types-setuptools/types-setuptools-71.1.0.20240723.ebuild
new file mode 100644
index 000000000000..a4b37c5506f0
--- /dev/null
+++ b/dev-python/types-setuptools/types-setuptools-71.1.0.20240723.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for setuptools"
+HOMEPAGE="https://pypi.org/project/types-setuptools/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
diff --git a/dev-python/types-setuptools/types-setuptools-71.1.0.20240724.ebuild b/dev-python/types-setuptools/types-setuptools-71.1.0.20240724.ebuild
new file mode 100644
index 000000000000..a4b37c5506f0
--- /dev/null
+++ b/dev-python/types-setuptools/types-setuptools-71.1.0.20240724.ebuild
@@ -0,0 +1,17 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Typing stubs for setuptools"
+HOMEPAGE="https://pypi.org/project/types-setuptools/"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
diff --git a/dev-python/typing-extensions/Manifest b/dev-python/typing-extensions/Manifest
index 5039e1b1cbf9..ef63c13168bf 100644
--- a/dev-python/typing-extensions/Manifest
+++ b/dev-python/typing-extensions/Manifest
@@ -1 +1 @@
-DIST typing_extensions-4.8.0.gh.tar.gz 83807 BLAKE2B 4b160b79117dfeb83e911ff8c2b91a97512a70c1c5a2a87d6d2bcab7f5604efdb192c3c4eb5cfd7c102744c786e014dafc6346e5c544ec4f995d5810c83f8e73 SHA512 1e82f49d837c3fbead7d0867db667f97be2836f1f98bcde7315eb8c5455e605659fe7759ccf86fcbb2373789d9dab500a3b2a75bbcaf9216521c6b8c2796090a
+DIST typing_extensions-4.12.2.tar.gz 85321 BLAKE2B 8f32740675f5da226c6fd5fa95e0b903794d76cc25d759bee6b136913a3eedc7a702cdc7709587cae13ba3b3d44a7bb1acbdad61333fe655382e3d01d63a3fa7 SHA512 b06f26ae55194f37ee48dcb894bf583051c9e74f639f25195990f56330eae7b585ab4b8655ca575539f48254c20f1920628db6db10512953d1f6364e3c076a27
diff --git a/dev-python/typing-extensions/typing-extensions-4.12.2.ebuild b/dev-python/typing-extensions/typing-extensions-4.12.2.ebuild
new file mode 100644
index 000000000000..88fe42f133ae
--- /dev/null
+++ b/dev-python/typing-extensions/typing-extensions-4.12.2.ebuild
@@ -0,0 +1,26 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Backported and Experimental Type Hints for Python 3.7+"
+HOMEPAGE="
+ https://pypi.org/project/typing-extensions/
+ https://github.com/python/typing_extensions/
+"
+
+LICENSE="PSF-2"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
+
+distutils_enable_tests unittest
+
+python_test() {
+ cd src || die
+ eunittest
+}
diff --git a/dev-python/typing-extensions/typing-extensions-4.8.0.ebuild b/dev-python/typing-extensions/typing-extensions-4.8.0.ebuild
deleted file mode 100644
index 7cbafe646120..000000000000
--- a/dev-python/typing-extensions/typing-extensions-4.8.0.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-MY_P=${P/-/_}
-DESCRIPTION="Backported and Experimental Type Hints for Python 3.7+"
-HOMEPAGE="
- https://pypi.org/project/typing-extensions/
- https://github.com/python/typing_extensions/
-"
-SRC_URI="
- https://github.com/python/typing_extensions/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="PSF-2"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-
-distutils_enable_tests unittest
-
-python_test() {
- cd src || die
- eunittest
-}
diff --git a/dev-python/typogrify/typogrify-2.0.7-r1.ebuild b/dev-python/typogrify/typogrify-2.0.7-r1.ebuild
index 6766eb073754..94069188559f 100644
--- a/dev-python/typogrify/typogrify-2.0.7-r1.ebuild
+++ b/dev-python/typogrify/typogrify-2.0.7-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/tzdata/tzdata-10001.ebuild b/dev-python/tzdata/tzdata-10001.ebuild
new file mode 100644
index 000000000000..273765f98c71
--- /dev/null
+++ b/dev-python/tzdata/tzdata-10001.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="tzdata shim to satisfy requirements (while using system tzdata)"
+HOMEPAGE="https://peps.python.org/pep-0615/"
+
+LICENSE="public-domain"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86"
+
+RDEPEND="
+ sys-libs/timezone-data
+"
+
+src_unpack() {
+ mkdir "${S}" || die
+ cat > "${S}/pyproject.toml" <<-EOF || die
+ [build-system]
+ requires = ["flit_core"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "tzdata"
+ version = "${PV}"
+ description = "tzdata shim to satisfy requirements (using system tzdata)"
+ EOF
+ cat > "${S}/tzdata.py" <<-EOF || die
+ raise ModuleNotFoundError("Please do not import tzdata, use zoneinfo module instead, see PEP 615")
+ EOF
+}
diff --git a/dev-python/tzdata/tzdata-9999.ebuild b/dev-python/tzdata/tzdata-9999.ebuild
deleted file mode 100644
index fce2f32a523a..000000000000
--- a/dev-python/tzdata/tzdata-9999.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2023 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
-
-DESCRIPTION="tzdata shim to satisfy requirements (while using system tzdata)"
-HOMEPAGE="https://peps.python.org/pep-0615/"
-
-LICENSE="public-domain"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- sys-libs/timezone-data
-"
-
-src_unpack() {
- mkdir "${S}" || die
- cat > "${S}/pyproject.toml" <<-EOF || die
- [build-system]
- requires = ["hatchling"]
- build-backend = "hatchling.build"
-
- [project]
- name = "tzdata"
- version = "9999"
- description = "tzdata shim to satisfy requirements (using system tzdata)"
- EOF
-}
diff --git a/dev-python/tzlocal/tzlocal-5.2.ebuild b/dev-python/tzlocal/tzlocal-5.2.ebuild
index abfb93d6d81f..ebfa59778836 100644
--- a/dev-python/tzlocal/tzlocal-5.2.ebuild
+++ b/dev-python/tzlocal/tzlocal-5.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/u-msgpack-python/u-msgpack-python-2.8.0.ebuild b/dev-python/u-msgpack-python/u-msgpack-python-2.8.0.ebuild
index 90987bc3c53f..576445cf9b5d 100644
--- a/dev-python/u-msgpack-python/u-msgpack-python-2.8.0.ebuild
+++ b/dev-python/u-msgpack-python/u-msgpack-python-2.8.0.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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/ubelt/Manifest b/dev-python/ubelt/Manifest
index 20873e088ae6..add25945fc8b 100644
--- a/dev-python/ubelt/Manifest
+++ b/dev-python/ubelt/Manifest
@@ -1,2 +1 @@
-DIST ubelt-1.3.3.gh.tar.gz 348746 BLAKE2B e537b699a2f04efea9c2477437b7100bf9b736cb69c73ebc06bc639c8d9794c513447552e8c34430fce92b5c757369b447422ee9841ac1c6d2f47e292282d816 SHA512 77e03e06c03b6d8c8004b06f5bc843cbb4b1ad21c8c35d4801d5695c2556c707572a5f188a5774013c5ee0eda4005b593cc8548a3c025d460a21fbd996e41abb
-DIST ubelt-1.3.4.gh.tar.gz 353041 BLAKE2B 1de8ad1fc69554570f62c17fa537918b93d913e09db1d7c9b94ac9fa5f7b60a4a408f4c562718b9bbcf13e4307c091cf4ac24caa952233974d37cc6651e4786e SHA512 b3afc832832b28e7ca884c68188d34da9a1c3d5e38b5431cc40d8215fd43875f02cf71068e8b242feca0891f9421d3fba745d4236865beb5cb4f40482a777e13
+DIST ubelt-1.3.6.gh.tar.gz 370002 BLAKE2B 1c3674ada7d2e0b9db7cbd28da50e453d6a56a81f8f874d4f791f6d41b5b8427d3dec84aa4c0cb283f6a38f5e413539193c4120a18b87442fb80507720f0b5c8 SHA512 bde288aca46bb62ac189a7ee2f3fc0771a766097b0ffca954ac90d8edd8ca156bad87c07163e812e99929ad8032b77d12cbfa984145cb7bc053fa4ab30d39a4a
diff --git a/dev-python/ubelt/ubelt-1.3.3.ebuild b/dev-python/ubelt/ubelt-1.3.3.ebuild
deleted file mode 100644
index 71a8a3a0bb6c..000000000000
--- a/dev-python/ubelt/ubelt-1.3.3.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A stdlib like feel, and extra batteries. Hashing, Caching, Timing, Progress"
-HOMEPAGE="
- https://github.com/Erotemic/ubelt/
- https://pypi.org/project/ubelt/
-"
-SRC_URI="
- https://github.com/Erotemic/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-SLOT="0"
-LICENSE="Apache-2.0"
-KEYWORDS="~amd64 ~x86"
-
-BDEPEND="
- test? (
- >=dev-python/numpy-1.19.2[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- >=dev-python/requests-2.25.1[${PYTHON_USEDEP}]
- dev-python/xdoctest[${PYTHON_USEDEP}]
- >=dev-python/xxhash-1.0.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- tests/test_editable_modules.py::test_import_of_editable_install
- # relies on passwd home being equal to ${HOME}
- ubelt/util_path.py::userhome:0
-)
diff --git a/dev-python/ubelt/ubelt-1.3.4.ebuild b/dev-python/ubelt/ubelt-1.3.4.ebuild
deleted file mode 100644
index e8e95a779a75..000000000000
--- a/dev-python/ubelt/ubelt-1.3.4.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A stdlib like feel, and extra batteries. Hashing, Caching, Timing, Progress"
-HOMEPAGE="
- https://github.com/Erotemic/ubelt/
- https://pypi.org/project/ubelt/
-"
-SRC_URI="
- https://github.com/Erotemic/${PN}/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-SLOT="0"
-LICENSE="Apache-2.0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-BDEPEND="
- test? (
- >=dev-python/numpy-1.19.2[${PYTHON_USEDEP}]
- >=dev-python/pygments-2.2.0[${PYTHON_USEDEP}]
- >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
- >=dev-python/requests-2.25.1[${PYTHON_USEDEP}]
- dev-python/xdoctest[${PYTHON_USEDEP}]
- >=dev-python/xxhash-1.0.1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- tests/test_editable_modules.py::test_import_of_editable_install
- # relies on passwd home being equal to ${HOME}
- ubelt/util_path.py::userhome:0
-)
diff --git a/dev-python/ubelt/ubelt-1.3.6.ebuild b/dev-python/ubelt/ubelt-1.3.6.ebuild
new file mode 100644
index 000000000000..af7ee7f1204a
--- /dev/null
+++ b/dev-python/ubelt/ubelt-1.3.6.ebuild
@@ -0,0 +1,47 @@
+# 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
+
+DESCRIPTION="A stdlib like feel, and extra batteries. Hashing, Caching, Timing, Progress"
+HOMEPAGE="
+ https://github.com/Erotemic/ubelt/
+ https://pypi.org/project/ubelt/
+"
+SRC_URI="
+ https://github.com/Erotemic/${PN}/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+BDEPEND="
+ test? (
+ >=dev-python/numpy-1.19.2[${PYTHON_USEDEP}]
+ >=dev-python/pygments-2.2.0[${PYTHON_USEDEP}]
+ >=dev-python/python-dateutil-2.8.1[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.25.1[${PYTHON_USEDEP}]
+ dev-python/xdoctest[${PYTHON_USEDEP}]
+ >=dev-python/xxhash-1.0.1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ tests/test_editable_modules.py::test_import_of_editable_install
+ # relies on passwd home being equal to ${HOME}
+ ubelt/util_path.py::userhome:0
+)
+
+EPYTEST_IGNORE=(
+ # asserts for running on win32 in global scope
+ ubelt/_win32_jaraco.py
+)
diff --git a/dev-python/uc-micro-py/Manifest b/dev-python/uc-micro-py/Manifest
index b3fb5b8e8edd..645eaf91b9b8 100644
--- a/dev-python/uc-micro-py/Manifest
+++ b/dev-python/uc-micro-py/Manifest
@@ -1 +1 @@
-DIST uc-micro-py-1.0.2.tar.gz 4730 BLAKE2B 96c14236090a33081d6b54a8ce59d00da5734b78033dbe6e09b2cc84ede85684772ff05aaac80747329de7bec3f6d10d44dd44906342d7f9df30e61bf17819f5 SHA512 c9b4a69190099caad8a687d33a11b512505a90004eeccc3583e25b01762a4d9c6d3d72015f82d835d811bf439ae74d5433b56741a2e9c2b6134bd1a718712d23
+DIST uc-micro-py-1.0.3.tar.gz 6043 BLAKE2B 9d5b4d111d83b2385bb5abcce962d3c8b4a2b4a6e731dfde56aa1e88d02af5c177fbb4f59f475e87f8d863933132fe34b183754f74839acb7a6d1da6aeb2d340 SHA512 6f69c84718e16f5bdac08787f728801bcb95591d984f58044e3914b08a5a9c41885d1106ad8f53afd82940b18e638ed285ccf57d1725582a0c160d7b1e0f265f
diff --git a/dev-python/uc-micro-py/uc-micro-py-1.0.2.ebuild b/dev-python/uc-micro-py/uc-micro-py-1.0.2.ebuild
deleted file mode 100644
index 5598b4e9a6eb..000000000000
--- a/dev-python/uc-micro-py/uc-micro-py-1.0.2.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 2022-2023 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=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Micro subset of unicode data files for linkify-it-py projects"
-HOMEPAGE="
- https://github.com/tsutsu3/uc.micro-py/
- https://pypi.org/project/uc-micro-py/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/uc-micro-py/uc-micro-py-1.0.3.ebuild b/dev-python/uc-micro-py/uc-micro-py-1.0.3.ebuild
new file mode 100644
index 000000000000..c7b959799f1a
--- /dev/null
+++ b/dev-python/uc-micro-py/uc-micro-py-1.0.3.ebuild
@@ -0,0 +1,22 @@
+# Copyright 2022-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=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Micro subset of unicode data files for linkify-it-py projects"
+HOMEPAGE="
+ https://github.com/tsutsu3/uc.micro-py/
+ https://pypi.org/project/uc-micro-py/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+distutils_enable_tests pytest
diff --git a/dev-python/ujson/Manifest b/dev-python/ujson/Manifest
index d157b9481400..6427eadc2de9 100644
--- a/dev-python/ujson/Manifest
+++ b/dev-python/ujson/Manifest
@@ -1 +1 @@
-DIST ujson-5.8.0.tar.gz 7154530 BLAKE2B 8eef1b2e03fa4a99dccc9d5fba8c1436d8e11b419e7f4c8d382bf5a2250477c99a1f0ff7f9e548ca5a50217a5964dafc953ab3cdb66b784ef1dea129ec1c2b6a SHA512 258e5527bda8b9fb3bea03f97d5db752ae06183337610975fc28f928817b430ae7a1867932ee7b0a0ccd6b825e2c5a104d7ce78c1e3405ed5679a2a70a5804c3
+DIST ujson-5.10.0.tar.gz 7154885 BLAKE2B 5cb09e7b8576b837f19e604eda2f498d5cf479c9b0018d948e011a53c5b91fcaf869d8b8f0babf6c1d725e1ba000f107f767a7c2f74c52121bce95a2082938a7 SHA512 29aeb2f57c607c382deb2825f6262b73d11f1edff0545338819d081f223dabb66b2967744cc11b9f4c0b7f042d51688f04bf07fb9b2cdb6adfec439a3d8aea32
diff --git a/dev-python/ujson/ujson-5.10.0.ebuild b/dev-python/ujson/ujson-5.10.0.ebuild
new file mode 100644
index 000000000000..b6d144ceaa51
--- /dev/null
+++ b/dev-python/ujson/ujson-5.10.0.ebuild
@@ -0,0 +1,41 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Ultra fast JSON encoder and decoder for Python"
+HOMEPAGE="
+ https://github.com/ultrajson/ultrajson/
+ https://pypi.org/project/ujson/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+DEPEND="
+ dev-libs/double-conversion:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytz[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_configure() {
+ export UJSON_BUILD_DC_INCLUDES="${EPREFIX}/usr/include/double-conversion"
+ export UJSON_BUILD_DC_LIBS="-ldouble-conversion"
+ export UJSON_BUILD_NO_STRIP=1
+}
diff --git a/dev-python/ujson/ujson-5.8.0.ebuild b/dev-python/ujson/ujson-5.8.0.ebuild
deleted file mode 100644
index ae958330011b..000000000000
--- a/dev-python/ujson/ujson-5.8.0.ebuild
+++ /dev/null
@@ -1,41 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Ultra fast JSON encoder and decoder for Python"
-HOMEPAGE="
- https://github.com/ultrajson/ultrajson/
- https://pypi.org/project/ujson/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-DEPEND="
- dev-libs/double-conversion:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/pytz[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_configure() {
- export UJSON_BUILD_DC_INCLUDES="${EPREFIX}/usr/include/double-conversion"
- export UJSON_BUILD_DC_LIBS="-ldouble-conversion"
- export UJSON_BUILD_NO_STRIP=1
-}
diff --git a/dev-python/ukkonen/ukkonen-1.0.1-r1.ebuild b/dev-python/ukkonen/ukkonen-1.0.1-r1.ebuild
index dedeabf17c98..f152ecfad5f8 100644
--- a/dev-python/ukkonen/ukkonen-1.0.1-r1.ebuild
+++ b/dev-python/ukkonen/ukkonen-1.0.1-r1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/unasync/Manifest b/dev-python/unasync/Manifest
index 81e568623b8a..61570fc06699 100644
--- a/dev-python/unasync/Manifest
+++ b/dev-python/unasync/Manifest
@@ -1 +1 @@
-DIST unasync-0.5.0.gh.tar.gz 19060 BLAKE2B aa7a955aed98ab33cc1a12aa88a02ab38ef90f9494f04c3e032b66e56e033404e9b59a89834a1e07b224fb865af5d139c27ff91ae5fec8ad01b1e407d9c5c181 SHA512 5b68e9a70f487b2b0fcaf9a5c4240b366428154fda99d53120315382dc29d2cffbbed72e277cee1764f7b91158db3d8b394d4f4969cec1fd7e49f27f01c39440
+DIST unasync-0.6.0.gh.tar.gz 18124 BLAKE2B 80e7e2ef2be10c9d1f5b0e1dd8316f4d8ab4c051f902442adb0f52cf6c78fa3432e6bdf58a42243e31b9daf43f7a3db8afbfe968c4d9128b6bc7a6e30d09cfbf SHA512 1092df25ac6fbd7517ed2157c0bf7a993342806bcc2a7bbed474d9a7659cf1116cd147a4494877f19a35b741ed7d81389daef1533c5a96ad109005c10363cac2
diff --git a/dev-python/unasync/unasync-0.5.0-r1.ebuild b/dev-python/unasync/unasync-0.5.0-r1.ebuild
deleted file mode 100644
index 06ae682c4438..000000000000
--- a/dev-python/unasync/unasync-0.5.0-r1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
-
-DESCRIPTION="The async transformation code"
-HOMEPAGE="
- https://github.com/python-trio/unasync/
- https://pypi.org/project/unasync/
-"
-SRC_URI="https://github.com/python-trio/unasync/archive/refs/tags/v${PV}.tar.gz -> ${P}.gh.tar.gz"
-
-LICENSE="|| ( Apache-2.0 MIT )"
-SLOT="0"
-KEYWORDS="amd64 arm64 x86"
-
-distutils_enable_sphinx docs/source \
- dev-python/sphinxcontrib-trio \
- dev-python/sphinx-rtd-theme
-
-distutils_enable_tests pytest
diff --git a/dev-python/unasync/unasync-0.6.0-r1.ebuild b/dev-python/unasync/unasync-0.6.0-r1.ebuild
new file mode 100644
index 000000000000..fc2f4bf16bb5
--- /dev/null
+++ b/dev-python/unasync/unasync-0.6.0-r1.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="The async transformation code"
+HOMEPAGE="
+ https://github.com/python-trio/unasync/
+ https://pypi.org/project/unasync/
+"
+SRC_URI="
+ https://github.com/python-trio/unasync/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="|| ( Apache-2.0 MIT )"
+SLOT="0"
+KEYWORDS="amd64 arm64 x86"
+
+distutils_enable_sphinx docs/source \
+ dev-python/sphinxcontrib-trio \
+ dev-python/sphinx-rtd-theme
+
+distutils_enable_tests pytest
+
+RDEPEND="
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ dev-python/tokenize-rt[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/uncertainties/Manifest b/dev-python/uncertainties/Manifest
index ef3ca04a07c5..7d8d73d2822b 100644
--- a/dev-python/uncertainties/Manifest
+++ b/dev-python/uncertainties/Manifest
@@ -1 +1,2 @@
-DIST uncertainties-3.1.7.tar.gz 158727 BLAKE2B d68b74d291b1f6c4505a47f6fa19653eade43dc1ccaf78e02bd320df92d8bdaeac1b0808a21dceb046a6e2acd076836728b4014d39ca8da17647582320ce50e8 SHA512 24576415265df22459d83bb28e632195e6760204a6e11523821afe25222ea3e035bf7f10c552ec456bb2cdf42a09e296865f9bf0d13ff44beb88c11ebc479ff9
+DIST uncertainties-3.2.1.tar.gz 143154 BLAKE2B 68a0e840878eed602666f1b315ea575f3ab07ca12555f6153801ffbb54b9b1ae8742e4d87c7cec9ec0ace505c4dd8aeb45d3a010663691db31145a146390c932 SHA512 4b1b1738bed60dddacaa0e7f6d8672e32c8282681c4f2f5222e26798150774a24349fb1a98011ff37dc990ab2dd271a3fff2abbc7a0279d499d08585df1b814f
+DIST uncertainties-3.2.2.tar.gz 143865 BLAKE2B 38f88ba147f2ef43749ddf2735fc26c1804e8acd504db2b8317abe69b37daded70b7e111edae1793dc3000d5bde207fe4156221d17c9284eb0006d3369efb367 SHA512 b78efc09cc572ecd24ead89db4136741429ab9032295c9e9050a79e14662b41c7537580f698e38d4ee1a36ae460ee22a463eeb473806a1f72246ab6868d950a3
diff --git a/dev-python/uncertainties/metadata.xml b/dev-python/uncertainties/metadata.xml
index 86cdd1f286cc..4d1857508b13 100644
--- a/dev-python/uncertainties/metadata.xml
+++ b/dev-python/uncertainties/metadata.xml
@@ -21,7 +21,7 @@
are what is predicted by error propagation theory.
</longdescription>
<upstream>
- <remote-id type="github">lebigot/uncertainties</remote-id>
+ <remote-id type="github">lmfit/uncertainties</remote-id>
<remote-id type="pypi">uncertainties</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/uncertainties/uncertainties-3.1.7-r1.ebuild b/dev-python/uncertainties/uncertainties-3.1.7-r1.ebuild
deleted file mode 100644
index 5c1abc030534..000000000000
--- a/dev-python/uncertainties/uncertainties-3.1.7-r1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Python module for calculations with uncertainties"
-HOMEPAGE="
- https://pythonhosted.org/uncertainties/
- https://github.com/lebigot/uncertainties/
- https://pypi.org/project/uncertainties/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
-
-BDEPEND="
- test? (
- dev-python/numpy[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx doc --no-autodoc
-
-src_prepare() {
- # not used in py3, see https://github.com/lebigot/uncertainties/pull/168
- sed -i -e '/future/d' setup.py || die
- distutils-r1_src_prepare
-}
-
-pkg_postinst() {
- optfeature "numpy support" dev-python/numpy
-}
diff --git a/dev-python/uncertainties/uncertainties-3.2.1.ebuild b/dev-python/uncertainties/uncertainties-3.2.1.ebuild
new file mode 100644
index 000000000000..2a213488261f
--- /dev/null
+++ b/dev-python/uncertainties/uncertainties-3.2.1.ebuild
@@ -0,0 +1,32 @@
+# 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..13} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python module for calculations with uncertainties"
+HOMEPAGE="
+ https://pythonhosted.org/uncertainties/
+ https://github.com/lmfit/uncertainties/
+ https://pypi.org/project/uncertainties/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature "numpy support" dev-python/numpy
+}
diff --git a/dev-python/uncertainties/uncertainties-3.2.2.ebuild b/dev-python/uncertainties/uncertainties-3.2.2.ebuild
new file mode 100644
index 000000000000..2a213488261f
--- /dev/null
+++ b/dev-python/uncertainties/uncertainties-3.2.2.ebuild
@@ -0,0 +1,32 @@
+# 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..13} )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python module for calculations with uncertainties"
+HOMEPAGE="
+ https://pythonhosted.org/uncertainties/
+ https://github.com/lmfit/uncertainties/
+ https://pypi.org/project/uncertainties/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~amd64 ~x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ test? (
+ dev-python/numpy[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+pkg_postinst() {
+ optfeature "numpy support" dev-python/numpy
+}
diff --git a/dev-python/unearth/Manifest b/dev-python/unearth/Manifest
index ab589b0de01e..efc3277ebef4 100644
--- a/dev-python/unearth/Manifest
+++ b/dev-python/unearth/Manifest
@@ -1 +1,3 @@
-DIST unearth-0.12.1.tar.gz 280628 BLAKE2B 2f96c818f5744b228d11d81fac8fb69da4df685b221f3a77424a1eb1d584e154798974ad4548c6f4264faa98f52cddeb94249e1c7e21136c50c08d97446149b6 SHA512 f726562191a3f2b9c189d16223b86307d79f0ca9e251c155e7acbc92160bed834c78064fbc5d745cd90b84ccd6eb2a24c737018fd670474921db0c7d15480576
+DIST unearth-0.15.5.tar.gz 283787 BLAKE2B 2910be23141eb0a683766e83eae1cd35a074b98aaba7c25f49f06a321c261583a65bcb2cbd56c129efc1551e2f421e29dde784d3689c0dfc45d420c870a9b112 SHA512 84851788cd6bf6743307bb5a49fff1b6eeadd3f73605f4b2f7ffe1720d50713971d7cf020e17f34bbe755f523400a6149ace9add1c680bb955f6b46e8e092cba
+DIST unearth-0.16.0.tar.gz 283848 BLAKE2B e94989b643450b0e1a12c4bcd65339c1e52acd04a447616779f085297fa13bc09e25527b858383ef2b8d645304ea42f43c41415c930064e0515569a5836cd1fb SHA512 b129c546bdd8b1f364404ad4db8e43d471a1f9e3a2cbc99775a6c3aa5bce99ed127d1cbd859c69f8c2bae7f7c8b907426c2597d27323c6b6f408df047de2410e
+DIST unearth-0.16.1.tar.gz 283913 BLAKE2B 91f599fd21e6100be7e3f3d422d595e4402a652057b327ec2f6baa45f30301ea7571473e17d202017d7d7a92f7b11acdc42d1c655865499b9eeb8bfb1f7c00a3 SHA512 2819c4da65d0bb9492546531012699fa4554d309930de4b9cc8a5319edc19c1863993badaa53c8f646b152abf133043b2d3d3816f2adb9827ed7f25541e5d603
diff --git a/dev-python/unearth/unearth-0.12.1.ebuild b/dev-python/unearth/unearth-0.12.1.ebuild
deleted file mode 100644
index 232b3f8ba429..000000000000
--- a/dev-python/unearth/unearth-0.12.1.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=pdm-backend
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A utility to fetch and download python packages"
-HOMEPAGE="
- https://pypi.org/project/unearth/
- https://github.com/frostming/unearth/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-httpserver[${PYTHON_USEDEP}]
- dev-python/flask[${PYTHON_USEDEP}]
- dev-python/requests-wsgi-adapter[${PYTHON_USEDEP}]
- dev-python/trustme[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p pytest_httpserver
-}
diff --git a/dev-python/unearth/unearth-0.15.5.ebuild b/dev-python/unearth/unearth-0.15.5.ebuild
new file mode 100644
index 000000000000..a135cb39bbf1
--- /dev/null
+++ b/dev-python/unearth/unearth-0.15.5.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A utility to fetch and download python packages"
+HOMEPAGE="
+ https://pypi.org/project/unearth/
+ https://github.com/frostming/unearth/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ <dev-python/httpx-1[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.27.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-wsgi-adapter[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_httpserver -p pytest_mock
+}
diff --git a/dev-python/unearth/unearth-0.16.0.ebuild b/dev-python/unearth/unearth-0.16.0.ebuild
new file mode 100644
index 000000000000..a135cb39bbf1
--- /dev/null
+++ b/dev-python/unearth/unearth-0.16.0.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A utility to fetch and download python packages"
+HOMEPAGE="
+ https://pypi.org/project/unearth/
+ https://github.com/frostming/unearth/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ <dev-python/httpx-1[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.27.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-wsgi-adapter[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_httpserver -p pytest_mock
+}
diff --git a/dev-python/unearth/unearth-0.16.1.ebuild b/dev-python/unearth/unearth-0.16.1.ebuild
new file mode 100644
index 000000000000..a135cb39bbf1
--- /dev/null
+++ b/dev-python/unearth/unearth-0.16.1.ebuild
@@ -0,0 +1,42 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=pdm-backend
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A utility to fetch and download python packages"
+HOMEPAGE="
+ https://pypi.org/project/unearth/
+ https://github.com/frostming/unearth/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+ <dev-python/httpx-1[${PYTHON_USEDEP}]
+ >=dev-python/httpx-0.27.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/flask[${PYTHON_USEDEP}]
+ dev-python/pytest-httpserver[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/requests-wsgi-adapter[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p pytest_httpserver -p pytest_mock
+}
diff --git a/dev-python/unidecode/Manifest b/dev-python/unidecode/Manifest
index 17889076c29c..70cd22a2d40b 100644
--- a/dev-python/unidecode/Manifest
+++ b/dev-python/unidecode/Manifest
@@ -1 +1 @@
-DIST Unidecode-1.3.7.tar.gz 192647 BLAKE2B bb32b816b9bd3cd8e29c84297a5ff81d60c2865c4b1e7039435e9819c5cd46057f3853d3eaf128ab13444105f81c5451533eac3a38d6181157bc8a30c86234bf SHA512 b4f7c8b40e1c2d05aab4e53b54fd657a3db35ea5feba0f95551ba2ccfd7e5b0da034aec6de11c5e43f23c3a9609f5cbe8e458fe18539ffdf7ef79e039e1b390e
+DIST Unidecode-1.3.8.tar.gz 192701 BLAKE2B 622b61b89d83070101626775187a666b830399bc86c67367b0793b6626667dc8f4655372c7bc8b61f2433ac927ec7572e5beb104407784dd2f8e20ced9ecf981 SHA512 0c93647b05b3ce041ba0091705630a4d75dfc249b3aa57b1d8bd26d26f1a067af1d0103a0f57ee2ea07224797ce204562e08df92d0fe60e250a16614bf146ece
diff --git a/dev-python/unidecode/unidecode-1.3.7.ebuild b/dev-python/unidecode/unidecode-1.3.7.ebuild
deleted file mode 100644
index f4f05547075b..000000000000
--- a/dev-python/unidecode/unidecode-1.3.7.ebuild
+++ /dev/null
@@ -1,20 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN^}
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Module providing ASCII transliterations of Unicode text"
-HOMEPAGE="https://pypi.org/project/Unidecode/"
-
-LICENSE="GPL-2+"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv sparc x86"
-
-distutils_enable_tests unittest
diff --git a/dev-python/unidecode/unidecode-1.3.8.ebuild b/dev-python/unidecode/unidecode-1.3.8.ebuild
new file mode 100644
index 000000000000..1f3dfba23a5b
--- /dev/null
+++ b/dev-python/unidecode/unidecode-1.3.8.ebuild
@@ -0,0 +1,20 @@
+# 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
+PYPI_PN=${PN^}
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Module providing ASCII transliterations of Unicode text"
+HOMEPAGE="https://pypi.org/project/Unidecode/"
+
+LICENSE="GPL-2+"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ppc ppc64 ~riscv sparc x86"
+
+distutils_enable_tests unittest
diff --git a/dev-python/unidiff/metadata.xml b/dev-python/unidiff/metadata.xml
index a10f3a6a0b4b..6cfa6e58554c 100644
--- a/dev-python/unidiff/metadata.xml
+++ b/dev-python/unidiff/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>dolsen@gentoo.org</email>
- <name>Brian Dolbec</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/unidiff/unidiff-0.7.5.ebuild b/dev-python/unidiff/unidiff-0.7.5.ebuild
index 250f3f7bdcfa..d040f13b4eb7 100644
--- a/dev-python/unidiff/unidiff-0.7.5.ebuild
+++ b/dev-python/unidiff/unidiff-0.7.5.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -16,6 +16,6 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
+KEYWORDS="amd64 ~arm64 ~riscv ~x86"
distutils_enable_tests pytest
diff --git a/dev-python/unittest-mixins/unittest-mixins-1.6-r2.ebuild b/dev-python/unittest-mixins/unittest-mixins-1.6-r2.ebuild
index 9c9ce812e861..8f8948d08f8f 100644
--- a/dev-python/unittest-mixins/unittest-mixins-1.6-r2.ebuild
+++ b/dev-python/unittest-mixins/unittest-mixins-1.6-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_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/unittest-or-fail/unittest-or-fail-2-r1.ebuild b/dev-python/unittest-or-fail/unittest-or-fail-2-r1.ebuild
new file mode 100644
index 000000000000..522d10ee8ad3
--- /dev/null
+++ b/dev-python/unittest-or-fail/unittest-or-fail-2-r1.ebuild
@@ -0,0 +1,45 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+# in py3.12+ unittest already fails when no tests are found
+# we're adding these impls to PYTHON_COMPAT to clean up upgrade graphs
+# but we're not installing anything
+PYTHON_USED=( pypy3 python3_{10..11} )
+PYTHON_COMPAT=( "${PYTHON_USED[@]}" python3_{12..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Run unittests or fail if no tests were found"
+HOMEPAGE="https://github.com/projg2/unittest-or-fail/"
+SRC_URI="
+ https://github.com/projg2/unittest-or-fail/archive/v${PV}.tar.gz
+ -> ${P}.tar.gz
+"
+
+LICENSE="BSD-2"
+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"
+
+python_compile() {
+ if has "${EPYTHON/./_}" "${PYTHON_USED[@]}"; then
+ distutils-r1_python_compile
+ fi
+}
+
+# Warning: do not use distutils_enable_tests to avoid a circular
+# dependency on itself!
+python_test() {
+ if has "${EPYTHON/./_}" "${PYTHON_USED[@]}"; then
+ "${EPYTHON}" -m unittest -v test/test_unittest_or_fail.py ||
+ die "Tests failed with ${EPYTHON}"
+ fi
+}
+
+python_install() {
+ if has "${EPYTHON/./_}" "${PYTHON_USED[@]}"; then
+ distutils-r1_python_install
+ fi
+}
diff --git a/dev-python/unpaddedbase64/unpaddedbase64-2.1.0.ebuild b/dev-python/unpaddedbase64/unpaddedbase64-2.1.0.ebuild
index 82c95b8c2fb9..ea3fe547739f 100644
--- a/dev-python/unpaddedbase64/unpaddedbase64-2.1.0.ebuild
+++ b/dev-python/unpaddedbase64/unpaddedbase64-2.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/unrardll/metadata.xml b/dev-python/unrardll/metadata.xml
index 34d0dccf4daa..f6fa47e592ae 100644
--- a/dev-python/unrardll/metadata.xml
+++ b/dev-python/unrardll/metadata.xml
@@ -1,8 +1,8 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>eschwartz93@gmail.com</email>
+ <maintainer type="person">
+ <email>eschwartz@gentoo.org</email>
<name>Eli Schwartz</name>
</maintainer>
<maintainer type="project">
diff --git a/dev-python/unrardll/unrardll-0.1.7.ebuild b/dev-python/unrardll/unrardll-0.1.7.ebuild
index 2c4ab30ac2b9..001a69c9e218 100644
--- a/dev-python/unrardll/unrardll-0.1.7.ebuild
+++ b/dev-python/unrardll/unrardll-0.1.7.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2023 Gentoo Authors
+# Copyright 2023-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -17,7 +17,7 @@ HOMEPAGE="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="amd64 ~arm64"
# The version constraint is needed to resolve https://bugs.gentoo.org/916036
# and guarantee the headers are findable.
diff --git a/dev-python/untangle/untangle-1.2.1-r1.ebuild b/dev-python/untangle/untangle-1.2.1-r1.ebuild
deleted file mode 100644
index 1c3dee1ddc2d..000000000000
--- a/dev-python/untangle/untangle-1.2.1-r1.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Convert XML documents into Python objects"
-HOMEPAGE="
- https://github.com/stchris/untangle/
- https://pypi.org/project/untangle/
-"
-SRC_URI="
- https://github.com/stchris/untangle/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_tests pytest
-
-RDEPEND="
- >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/untangle/untangle-1.2.1-r2.ebuild b/dev-python/untangle/untangle-1.2.1-r2.ebuild
new file mode 100644
index 000000000000..9b35ef43d86d
--- /dev/null
+++ b/dev-python/untangle/untangle-1.2.1-r2.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+DESCRIPTION="Convert XML documents into Python objects"
+HOMEPAGE="
+ https://github.com/stchris/untangle/
+ https://pypi.org/project/untangle/
+"
+SRC_URI="
+ https://github.com/stchris/untangle/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/defusedxml-0.7.1[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+ # poetry, sigh
+ sed -i -e 's:\^:>=:' pyproject.toml || die
+}
diff --git a/dev-python/uri-template/uri-template-1.3.0.ebuild b/dev-python/uri-template/uri-template-1.3.0.ebuild
index ffb87a11b0c2..1882ddd1a8fb 100644
--- a/dev-python/uri-template/uri-template-1.3.0.ebuild
+++ b/dev-python/uri-template/uri-template-1.3.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/uritemplate/uritemplate-4.1.1.ebuild b/dev-python/uritemplate/uritemplate-4.1.1.ebuild
index cce88877edfb..4d4ff94c3708 100644
--- a/dev-python/uritemplate/uritemplate-4.1.1.ebuild
+++ b/dev-python/uritemplate/uritemplate-4.1.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -15,8 +15,8 @@ HOMEPAGE="
https://github.com/python-hyper/uritemplate/
"
-SLOT="0"
LICENSE="Apache-2.0"
+SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
distutils_enable_tests pytest
diff --git a/dev-python/uritools/Manifest b/dev-python/uritools/Manifest
index 2ea7b8e1db72..d8b91505c2e3 100644
--- a/dev-python/uritools/Manifest
+++ b/dev-python/uritools/Manifest
@@ -1,2 +1 @@
-DIST uritools-4.0.1.tar.gz 23524 BLAKE2B ca1d0e739436211838df50b1fe7949c5a43f9bf17ec24cf4b5f5748bcb4a330d677134e568a1683422c80a1cc178bd1f4325df7f0e27ac3af09a025fd95513ac SHA512 d616103a74161ed3f2920d2c6aa75cbfc7425940c46097a7b3701d3db3b8771f012bce17dd595d56154fe7ac00527a6bc989810c2e0beb4556e5caa5720e085e
-DIST uritools-4.0.2.tar.gz 23673 BLAKE2B 3535a149e934c031548e4aeeb9be3e9e17492360dd8f77add5565677cdfc7657c9e27806729b18c52cdb477345fe4b9ecd54e2a3aaba6f692cd9e45c487bf75d SHA512 71879ee6c346bf0c7b0d12fc42c91ecc8af553b3bf038edddd504e374933911e92c8adc26b2ff07243380229261e0b3eb6a6c6e189904aa4b467348098d73fff
+DIST uritools-4.0.3.tar.gz 24184 BLAKE2B 4d7cb21a0bd50c80cf34401646cd2049f16c2673cc9d057878881d940af089f72871df65acbaa67489114ee3094d94f9ac68c67ed75c995177679102851c58fb SHA512 91dbe20a166fc142def443564ba5a630be85e329181041c8ba8a421f01fb8c4c043a2335dd4a773a672d24933509af4b9c7e635119e4e87ea5504eb6afa978f3
diff --git a/dev-python/uritools/metadata.xml b/dev-python/uritools/metadata.xml
index b327baf4c3b1..0589927fcd44 100644
--- a/dev-python/uritools/metadata.xml
+++ b/dev-python/uritools/metadata.xml
@@ -1,6 +1,10 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
+ </maintainer>
<longdescription lang="en">
For various reasons, ``urllib.parse`` and its Python 2 predecessor
``urlparse`` are not compliant with current Internet standards. As
@@ -19,10 +23,6 @@
URIs and URI references, and for conveniently creating URIs from their
individual components.
</longdescription>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
<stabilize-allarches/>
<upstream>
<remote-id type="pypi">uritools</remote-id>
diff --git a/dev-python/uritools/uritools-4.0.1.ebuild b/dev-python/uritools/uritools-4.0.1.ebuild
deleted file mode 100644
index 3369476d3621..000000000000
--- a/dev-python/uritools/uritools-4.0.1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-DOCS_BUILDER="sphinx"
-PYTHON_COMPAT=( python3_{10..12} )
-
-DOCS_DIR="docs"
-
-inherit distutils-r1 docs pypi
-
-DESCRIPTION="RFC 3986-compliant URI parsing, classification and composition"
-HOMEPAGE="
- https://github.com/tkem/uritools/
- https://pypi.org/project/uritools/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~riscv"
-
-distutils_enable_tests pytest
diff --git a/dev-python/uritools/uritools-4.0.2.ebuild b/dev-python/uritools/uritools-4.0.2.ebuild
deleted file mode 100644
index 0603a87ab3b6..000000000000
--- a/dev-python/uritools/uritools-4.0.2.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-DOCS_BUILDER="sphinx"
-PYTHON_COMPAT=( python3_{10..12} )
-
-DOCS_DIR="docs"
-
-inherit distutils-r1 docs pypi
-
-DESCRIPTION="RFC 3986-compliant URI parsing, classification and composition"
-HOMEPAGE="
- https://github.com/tkem/uritools/
- https://pypi.org/project/uritools/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv"
-
-distutils_enable_tests pytest
diff --git a/dev-python/uritools/uritools-4.0.3.ebuild b/dev-python/uritools/uritools-4.0.3.ebuild
new file mode 100644
index 000000000000..f988f22be413
--- /dev/null
+++ b/dev-python/uritools/uritools-4.0.3.ebuild
@@ -0,0 +1,24 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+DOCS_BUILDER="sphinx"
+PYTHON_COMPAT=( python3_{10..13} )
+
+DOCS_DIR="docs"
+
+inherit distutils-r1 docs pypi
+
+DESCRIPTION="RFC 3986-compliant URI parsing, classification and composition"
+HOMEPAGE="
+ https://github.com/tkem/uritools/
+ https://pypi.org/project/uritools/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv"
+
+distutils_enable_tests pytest
diff --git a/dev-python/url-normalize/url-normalize-1.4.3-r1.ebuild b/dev-python/url-normalize/url-normalize-1.4.3-r1.ebuild
index 931369e675d7..e054fcb068e8 100644
--- a/dev-python/url-normalize/url-normalize-1.4.3-r1.ebuild
+++ b/dev-python/url-normalize/url-normalize-1.4.3-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2021-2023 Gentoo Authors
+# Copyright 2021-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/urllib3/Manifest b/dev-python/urllib3/Manifest
index 855662b68156..fb8ffafc19a7 100644
--- a/dev-python/urllib3/Manifest
+++ b/dev-python/urllib3/Manifest
@@ -1,3 +1,2 @@
-DIST urllib3-1.26.18.tar.gz 305687 BLAKE2B f2f673761a8d80eee715a8726ba36ab6b09800fd4a4f03f27438553c36072e2abb5ff26cff71dcf30fd114f4d28c4ad9907533965b83c8a0581d3d4661904b70 SHA512 c89e93a032bf6b11375c06ef7c5abc1868f93e7655cfdca09e9bd939ad415d206ea159fe151ecd2e5f725e0e18a831c7a5382ad01dbc32264154fc8af7aec156
-DIST urllib3-2.0.7.tar.gz 282546 BLAKE2B d4fbb9e1d0b6d1f3c3d71efc3fc479c7b1c49f87ca849c387701fb0c8b4124082de6d83d958c8b2afc225a84b80e7665df857e7b0918ba50e4ad1431f8facc4d SHA512 ca21dd330cfc7f53e6f00a92be1df1d24acbe61b6ca31c52a272dccd6f50d1bb797eece9132860adc84c21a9bebc3030a12816081451fcb8384c11a6cd2d1e8b
-DIST urllib3-2.1.0.tar.gz 263900 BLAKE2B 9e0438a11b7178c5004c1253179bb6bfcb1fa8711db47084377bb14c5834f7b88b04a5560b99bf6fff5f1f4622d4b1998d19dd517ab6b7453fd53c832ee7fefa SHA512 33d6eafd9b6ecd97ee2dca8a4f1612a6fcc584961bcfd3a0a188f557a73f4c1576f98dc525c3b2feecb2d676f4bf4364aafeef093d6686e4b3ef2043726561a8
+DIST hypercorn-d1719f8c1570cbd8e6a3719ffdb14a4d72880abb.gh.tar.gz 156216 BLAKE2B fcb5f49653401e6e4079e1c770d3cd407602d4d6764437b735bd4ec04191dec59cdc930822fa2aff726ee25cddd0f71fd457dedf31026bff1da121d93af8b768 SHA512 62d6787d88a2e716f0ac04fc49f6cdc586e473a660ee754ff66961922ae78bcc75d1f78b091e78557dd60f006e8e480114738c7b4ff71beac804e4fc9603240b
+DIST urllib3-2.2.2.tar.gz 292266 BLAKE2B 50d4825ff4bd950742708bec63feb1713e211293f7720c79f2c71740f3eb3d501b476b8de5b389b8fb978c2486081023ebc2e05162c5d4fcedd811452743e07a SHA512 98695bcf37e772a1220cc05679ea799d82a09c73115717668c90dab9377690dd096f648d60ac0759a23cf65f2b1b6f363ec6826f669d4299bfa0a203a45dce0f
diff --git a/dev-python/urllib3/urllib3-1.26.18.ebuild b/dev-python/urllib3/urllib3-1.26.18.ebuild
deleted file mode 100644
index 151ef0e7ae0c..000000000000
--- a/dev-python/urllib3/urllib3-1.26.18.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_TESTED=( python3_{10..12} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="ssl(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more"
-HOMEPAGE="
- https://github.com/urllib3/urllib3/
- https://pypi.org/project/urllib3/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="brotli test"
-RESTRICT="!test? ( test )"
-
-# dev-python/{pyopenssl,cryptography,idna,certifi} are optional runtime
-# dependencies. Do not add them to RDEPEND. They should be unnecessary with
-# modern versions of python (>= 3.2).
-RDEPEND="
- >=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}]
- <dev-python/PySocks-2.0[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- brotli? ( dev-python/brotlicffi[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- $(python_gen_cond_dep "
- ${RDEPEND}
- dev-python/brotlicffi[\${PYTHON_USEDEP}]
- dev-python/mock[\${PYTHON_USEDEP}]
- dev-python/pytest[\${PYTHON_USEDEP}]
- dev-python/pytest-freezegun[\${PYTHON_USEDEP}]
- >=dev-python/tornado-4.2.1[\${PYTHON_USEDEP}]
- >=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}]
- " "${PYTHON_TESTED[@]}")
- )
-"
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # unbundle urllib3
- rm src/urllib3/packages/six.py || die
- find -name '*.py' -exec sed -i \
- -e 's:\([.]*\|urllib3\.\)\?packages\.six:six:g' \
- -e 's:from \([.]*\|urllib3\.\)\?packages import six:import six:g' \
- {} + || die
-}
-
-python_test() {
- local -x CI=1
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return
- fi
-
- local EPYTEST_DESELECT=(
- # unstable (relies on warning count)
- test/with_dummyserver/test_proxy_poolmanager.py::TestHTTPProxyManager::test_proxy_verified_warning
- # some random overflow
- test/with_dummyserver/test_socketlevel.py::TestSSL::test_requesting_large_resources_via_ssl
- )
- has "${EPYTHON}" python3.{8..10} && EPYTEST_DESELECT+=(
- test/contrib/test_pyopenssl.py::TestPyOpenSSLHelpers::test_get_subj_alt_name
- )
-
- epytest
-}
diff --git a/dev-python/urllib3/urllib3-2.0.7.ebuild b/dev-python/urllib3/urllib3-2.0.7.ebuild
deleted file mode 100644
index e5dc381b44ca..000000000000
--- a/dev-python/urllib3/urllib3-2.0.7.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_TESTED=( python3_{10..12} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="ssl(+)"
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more"
-HOMEPAGE="
- https://github.com/urllib3/urllib3/
- https://pypi.org/project/urllib3/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="brotli test zstd"
-RESTRICT="!test? ( test )"
-
-# [secure] extra is deprecated and slated for removal, we don't need it:
-# https://github.com/urllib3/urllib3/issues/2680
-RDEPEND="
- >=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}]
- <dev-python/PySocks-2.0[${PYTHON_USEDEP}]
- brotli? ( >=dev-python/brotlicffi-0.8.0[${PYTHON_USEDEP}] )
- zstd? ( >=dev-python/zstandard-0.18.0[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- $(python_gen_cond_dep "
- ${RDEPEND}
- dev-python/brotlicffi[\${PYTHON_USEDEP}]
- dev-python/freezegun[\${PYTHON_USEDEP}]
- dev-python/pytest[\${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[\${PYTHON_USEDEP}]
- dev-python/pytest-xdist[\${PYTHON_USEDEP}]
- >=dev-python/tornado-4.2.1[\${PYTHON_USEDEP}]
- >=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}]
- >=dev-python/zstandard-0.18.0[\${PYTHON_USEDEP}]
- " "${PYTHON_TESTED[@]}")
- )
-"
-
-src_prepare() {
- # upstream considers 0.5 s to be "long" for a timeout
- # we get tons of test failures on *fast* systems because of that
- sed -i -e '/LONG_TIMEOUT/s:0.5:5:' test/__init__.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x CI=1
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return
- fi
-
- local EPYTEST_DESELECT=(
- # take forever
- test/contrib/test_pyopenssl.py::TestSocketSSL::test_requesting_large_resources_via_ssl
- test/with_dummyserver/test_socketlevel.py::TestSSL::test_requesting_large_resources_via_ssl
- # stupid test, next bump please verify if they fixed it
- test/test_poolmanager.py::TestPoolManager::test_deprecated_no_scheme
- # fails with newer secure SSL configuration, which removes TLS 1.1
- test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1::test_verify_none_and_good_fingerprint
- test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_1::test_verify_none_and_good_fingerprint
- test/with_dummyserver/test_https.py::TestHTTPS_TLSv1::test_verify_none_and_good_fingerprint
- test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_1::test_verify_none_and_good_fingerprint
- # TODO: timeouts
- test/contrib/test_pyopenssl.py::TestSocketClosing::test_timeout_errors_cause_retries
- test/with_dummyserver/test_socketlevel.py::TestSocketClosing::test_timeout_errors_cause_retries
- # warnings, sigh
- test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_request_chunked_is_deprecated
- )
-
- # plugins make tests slower, and more fragile
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # some tests are very fragile to timing
- epytest -p rerunfailures --reruns=10 --reruns-delay=2 \
- -p xdist -n "$(makeopts_jobs)" --dist=worksteal
-}
diff --git a/dev-python/urllib3/urllib3-2.1.0.ebuild b/dev-python/urllib3/urllib3-2.1.0.ebuild
deleted file mode 100644
index e5dc381b44ca..000000000000
--- a/dev-python/urllib3/urllib3-2.1.0.ebuild
+++ /dev/null
@@ -1,87 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_TESTED=( python3_{10..12} pypy3 )
-PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
-PYTHON_REQ_USE="ssl(+)"
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more"
-HOMEPAGE="
- https://github.com/urllib3/urllib3/
- https://pypi.org/project/urllib3/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~arm64-macos ~ppc-macos ~x64-macos ~x64-solaris"
-IUSE="brotli test zstd"
-RESTRICT="!test? ( test )"
-
-# [secure] extra is deprecated and slated for removal, we don't need it:
-# https://github.com/urllib3/urllib3/issues/2680
-RDEPEND="
- >=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}]
- <dev-python/PySocks-2.0[${PYTHON_USEDEP}]
- brotli? ( >=dev-python/brotlicffi-0.8.0[${PYTHON_USEDEP}] )
- zstd? ( >=dev-python/zstandard-0.18.0[${PYTHON_USEDEP}] )
-"
-BDEPEND="
- test? (
- $(python_gen_cond_dep "
- ${RDEPEND}
- dev-python/brotlicffi[\${PYTHON_USEDEP}]
- dev-python/freezegun[\${PYTHON_USEDEP}]
- dev-python/pytest[\${PYTHON_USEDEP}]
- dev-python/pytest-rerunfailures[\${PYTHON_USEDEP}]
- dev-python/pytest-xdist[\${PYTHON_USEDEP}]
- >=dev-python/tornado-4.2.1[\${PYTHON_USEDEP}]
- >=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}]
- >=dev-python/zstandard-0.18.0[\${PYTHON_USEDEP}]
- " "${PYTHON_TESTED[@]}")
- )
-"
-
-src_prepare() {
- # upstream considers 0.5 s to be "long" for a timeout
- # we get tons of test failures on *fast* systems because of that
- sed -i -e '/LONG_TIMEOUT/s:0.5:5:' test/__init__.py || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x CI=1
- if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
- einfo "Skipping tests on ${EPYTHON}"
- return
- fi
-
- local EPYTEST_DESELECT=(
- # take forever
- test/contrib/test_pyopenssl.py::TestSocketSSL::test_requesting_large_resources_via_ssl
- test/with_dummyserver/test_socketlevel.py::TestSSL::test_requesting_large_resources_via_ssl
- # stupid test, next bump please verify if they fixed it
- test/test_poolmanager.py::TestPoolManager::test_deprecated_no_scheme
- # fails with newer secure SSL configuration, which removes TLS 1.1
- test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1::test_verify_none_and_good_fingerprint
- test/contrib/test_pyopenssl.py::TestHTTPS_TLSv1_1::test_verify_none_and_good_fingerprint
- test/with_dummyserver/test_https.py::TestHTTPS_TLSv1::test_verify_none_and_good_fingerprint
- test/with_dummyserver/test_https.py::TestHTTPS_TLSv1_1::test_verify_none_and_good_fingerprint
- # TODO: timeouts
- test/contrib/test_pyopenssl.py::TestSocketClosing::test_timeout_errors_cause_retries
- test/with_dummyserver/test_socketlevel.py::TestSocketClosing::test_timeout_errors_cause_retries
- # warnings, sigh
- test/with_dummyserver/test_connectionpool.py::TestConnectionPool::test_request_chunked_is_deprecated
- )
-
- # plugins make tests slower, and more fragile
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- # some tests are very fragile to timing
- epytest -p rerunfailures --reruns=10 --reruns-delay=2 \
- -p xdist -n "$(makeopts_jobs)" --dist=worksteal
-}
diff --git a/dev-python/urllib3/urllib3-2.2.2.ebuild b/dev-python/urllib3/urllib3-2.2.2.ebuild
new file mode 100644
index 000000000000..caf4788a28e3
--- /dev/null
+++ b/dev-python/urllib3/urllib3-2.2.2.ebuild
@@ -0,0 +1,94 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_TESTED=( python3_{10..13} pypy3 )
+PYTHON_COMPAT=( "${PYTHON_TESTED[@]}" )
+PYTHON_REQ_USE="ssl(+)"
+
+inherit distutils-r1 pypi
+
+# The package has a test dependency on their own hypercorn fork.
+HYPERCORN_COMMIT=d1719f8c1570cbd8e6a3719ffdb14a4d72880abb
+DESCRIPTION="HTTP library with thread-safe connection pooling, file post, and more"
+HOMEPAGE="
+ https://github.com/urllib3/urllib3/
+ https://pypi.org/project/urllib3/
+"
+SRC_URI+="
+ test? (
+ https://github.com/urllib3/hypercorn/archive/${HYPERCORN_COMMIT}.tar.gz
+ -> hypercorn-${HYPERCORN_COMMIT}.gh.tar.gz
+ )
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
+IUSE="brotli http2 test zstd"
+RESTRICT="!test? ( test )"
+
+# [secure] extra is deprecated and slated for removal, we don't need it:
+# https://github.com/urllib3/urllib3/issues/2680
+RDEPEND="
+ >=dev-python/PySocks-1.5.8[${PYTHON_USEDEP}]
+ <dev-python/PySocks-2.0[${PYTHON_USEDEP}]
+ brotli? ( >=dev-python/brotlicffi-0.8.0[${PYTHON_USEDEP}] )
+ http2? (
+ <dev-python/h2-5[${PYTHON_USEDEP}]
+ >=dev-python/h2-4[${PYTHON_USEDEP}]
+ )
+ zstd? ( >=dev-python/zstandard-0.18.0[${PYTHON_USEDEP}] )
+"
+BDEPEND="
+ test? (
+ $(python_gen_cond_dep "
+ ${RDEPEND}
+ dev-python/brotlicffi[\${PYTHON_USEDEP}]
+ dev-python/freezegun[\${PYTHON_USEDEP}]
+ dev-python/h2[\${PYTHON_USEDEP}]
+ dev-python/httpx[\${PYTHON_USEDEP}]
+ dev-python/pytest[\${PYTHON_USEDEP}]
+ dev-python/pytest-rerunfailures[\${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[\${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[\${PYTHON_USEDEP}]
+ dev-python/quart[\${PYTHON_USEDEP}]
+ dev-python/quart-trio[\${PYTHON_USEDEP}]
+ dev-python/trio[\${PYTHON_USEDEP}]
+ >=dev-python/tornado-4.2.1[\${PYTHON_USEDEP}]
+ >=dev-python/trustme-0.5.3[\${PYTHON_USEDEP}]
+ >=dev-python/zstandard-0.18.0[\${PYTHON_USEDEP}]
+ " "${PYTHON_TESTED[@]}")
+ )
+"
+
+src_prepare() {
+ # upstream considers 0.5 s to be "long" for a timeout
+ # we get tons of test failures on *fast* systems because of that
+ sed -i -e '/LONG_TIMEOUT/s:0.5:5:' test/__init__.py || die
+ distutils-r1_src_prepare
+}
+
+python_test() {
+ local -x PYTHONPATH=${WORKDIR}/hypercorn-${HYPERCORN_COMMIT}/src
+ local -x CI=1
+ if ! has "${EPYTHON}" "${PYTHON_TESTED[@]/_/.}"; then
+ einfo "Skipping tests on ${EPYTHON}"
+ return
+ fi
+
+ local EPYTEST_DESELECT=(
+ # TODO: timeouts
+ test/contrib/test_pyopenssl.py::TestSocketClosing::test_timeout_errors_cause_retries
+ test/with_dummyserver/test_socketlevel.py::TestSocketClosing::test_timeout_errors_cause_retries
+ # TODO: random regression?
+ test/contrib/test_socks.py::TestSocks5Proxy::test_socket_timeout
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_XDIST=1
+ epytest -p timeout -p rerunfailures --reruns=10 --reruns-delay=2
+}
diff --git a/dev-python/urwid-readline/Manifest b/dev-python/urwid-readline/Manifest
new file mode 100644
index 000000000000..f3406ae96c5c
--- /dev/null
+++ b/dev-python/urwid-readline/Manifest
@@ -0,0 +1 @@
+DIST urwid_readline-0.14.gh.tar.gz 8369 BLAKE2B 7253f91b43ef212ded70792629a605fd238cdea1ad1b301ae43eadaa9d61cad9f077367203dd3636a6463c77b34ef6d0a347939634e8125e22eababe900f61ca SHA512 cc24cc72110f6cecbd71f6bda355adc74acf9697dd0636c35a679767e1406a4a15ef53fb03e2e69d20a523f09020fe17b9cf6ac41f1516af52ed9b9736c77d14
diff --git a/dev-python/urwid_readline/metadata.xml b/dev-python/urwid-readline/metadata.xml
index 1d76f75ef586..1d76f75ef586 100644
--- a/dev-python/urwid_readline/metadata.xml
+++ b/dev-python/urwid-readline/metadata.xml
diff --git a/dev-python/urwid-readline/urwid-readline-0.14.ebuild b/dev-python/urwid-readline/urwid-readline-0.14.ebuild
new file mode 100644
index 000000000000..746cb6417fce
--- /dev/null
+++ b/dev-python/urwid-readline/urwid-readline-0.14.ebuild
@@ -0,0 +1,31 @@
+# Copyright 2021-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+MY_P=urwid_readline-${PV}
+DESCRIPTION="Text input widget for urwid that supports readline shortcuts"
+HOMEPAGE="
+ https://github.com/rr-/urwid_readline/
+ https://pypi.org/project/urwid-readline/
+"
+SRC_URI="
+ https://github.com/rr-/urwid_readline/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/urwid[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/urwid/Manifest b/dev-python/urwid/Manifest
index 8795fe0eea38..772bdc2a8fad 100644
--- a/dev-python/urwid/Manifest
+++ b/dev-python/urwid/Manifest
@@ -1 +1 @@
-DIST urwid-2.2.3.tar.gz 677723 BLAKE2B 4aeae29e557e0ecbe902b56865feef3b2978263e657f2159194d8334852627ac6ccee82730d6a7e24b8914e5548ca88ac00eeddd7c2a34299d135843a99008fb SHA512 48588d0c819b229bdaaa70bec3a279c3bf232b8520d95e1f45a83bea927244634e91fd47cc161647c2d8155e523543549bc5ed2ccb5eac29843e12515e5dfd22
+DIST urwid-2.6.15.tar.gz 847872 BLAKE2B 2f1fcff3a0ab0fc0a5302ee9c6bac29d39f7bfff06d404134b555bd111b465b05981cc3a8bb4d6cd93b188d104022774db97461072452c1103b34ecefcaf239b SHA512 c9027d4caf490c22ef7bf95c929a62d4f56d4b8d864e5198eb1e82db0414552e4f98caba2e210e8c7bfb91d33c55924acf637f8515c26b89c184e6bbea743ec1
diff --git a/dev-python/urwid/metadata.xml b/dev-python/urwid/metadata.xml
index ee6b0391ddd0..fd8b581e567d 100644
--- a/dev-python/urwid/metadata.xml
+++ b/dev-python/urwid/metadata.xml
@@ -22,6 +22,7 @@ useful for text console application developers including:
- Customizable layout for all widgets
- Easy interface for creating HTML screen shots
</longdescription>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">urwid</remote-id>
<remote-id type="github">urwid/urwid</remote-id>
diff --git a/dev-python/urwid/urwid-2.2.3.ebuild b/dev-python/urwid/urwid-2.2.3.ebuild
deleted file mode 100644
index 21c925c89bce..000000000000
--- a/dev-python/urwid/urwid-2.2.3.ebuild
+++ /dev/null
@@ -1,39 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-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"
-
-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"
-}
diff --git a/dev-python/urwid/urwid-2.6.15.ebuild b/dev-python/urwid/urwid-2.6.15.ebuild
new file mode 100644
index 000000000000..b37612026e6b
--- /dev/null
+++ b/dev-python/urwid/urwid-2.6.15.ebuild
@@ -0,0 +1,41 @@
+# 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..13} )
+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_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
+
+pkg_postinst() {
+ optfeature "Trio event loop" "dev-python/trio"
+}
diff --git a/dev-python/urwid_readline/Manifest b/dev-python/urwid_readline/Manifest
deleted file mode 100644
index 1f65402c361c..000000000000
--- a/dev-python/urwid_readline/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST urwid_readline-0.13.gh.tar.gz 8356 BLAKE2B 3de62c98fb2a17ce91c023c32d1bcbfaa8a6280bbb20b654bac65d37c02eec2d87f0bceace600cbe934352efb984073b1fa29b626cb3bb4a114660d646f41eb0 SHA512 49087b2b0e47d6adba317941b6be99d7d61fd66ae28fa2ed89730c24cc04b8fa4ce20cb8eb35ebab56f838491432684bb8892463439dcd5d06d087b509182d3d
diff --git a/dev-python/urwid_readline/urwid_readline-0.13-r1.ebuild b/dev-python/urwid_readline/urwid_readline-0.13-r1.ebuild
deleted file mode 100644
index 155f195f0aa6..000000000000
--- a/dev-python/urwid_readline/urwid_readline-0.13-r1.ebuild
+++ /dev/null
@@ -1,24 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..12} )
-inherit distutils-r1
-
-DESCRIPTION="Text input widget for urwid that supports readline shortcuts"
-HOMEPAGE="
- https://github.com/rr-/urwid_readline/
- https://pypi.org/project/urwid-readline/"
-SRC_URI="
- https://github.com/rr-/urwid_readline/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="dev-python/urwid[${PYTHON_USEDEP}]"
-
-distutils_enable_tests pytest
diff --git a/dev-python/urwidtrees/urwidtrees-1.0.3-r1.ebuild b/dev-python/urwidtrees/urwidtrees-1.0.3-r1.ebuild
deleted file mode 100644
index 1c468fa97d68..000000000000
--- a/dev-python/urwidtrees/urwidtrees-1.0.3-r1.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Tree widgets for urwid"
-HOMEPAGE="https://github.com/pazz/urwidtrees"
-SRC_URI="
- https://github.com/pazz/urwidtrees/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="GPL-3"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-RDEPEND=">=dev-python/urwid-1.1.0[${PYTHON_USEDEP}]"
-
-PATCHES=(
- "${FILESDIR}"/${P}-no-mock-dep.patch #770391
-)
-
-distutils_enable_sphinx docs/source
-
-src_prepare() {
- find -name '*.py' -exec \
- sed -i -e '1i# -*- coding: utf-8 -*-' {} + || die
-
- distutils-r1_src_prepare
-
- local md
- for md in *.md; do
- mv "${md}" "${md%.md}" || die
- done
-}
diff --git a/dev-python/urwidtrees/urwidtrees-1.0.3-r2.ebuild b/dev-python/urwidtrees/urwidtrees-1.0.3-r2.ebuild
new file mode 100644
index 000000000000..7d46fa388d5a
--- /dev/null
+++ b/dev-python/urwidtrees/urwidtrees-1.0.3-r2.ebuild
@@ -0,0 +1,40 @@
+# 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
+
+DESCRIPTION="Tree widgets for urwid"
+HOMEPAGE="https://github.com/pazz/urwidtrees"
+SRC_URI="
+ https://github.com/pazz/urwidtrees/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="GPL-3"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND=">=dev-python/urwid-1.1.0[${PYTHON_USEDEP}]"
+
+PATCHES=(
+ "${FILESDIR}"/${P}-no-mock-dep.patch #770391
+)
+
+distutils_enable_sphinx docs/source
+
+src_prepare() {
+ find -name '*.py' -exec \
+ sed -i -e '1i# -*- coding: utf-8 -*-' {} + || die
+
+ distutils-r1_src_prepare
+
+ local md
+ for md in *.md; do
+ mv "${md}" "${md%.md}" || die
+ done
+}
diff --git a/dev-python/userpath/Manifest b/dev-python/userpath/Manifest
index 69251b5dbdbe..8d2e6d919e55 100644
--- a/dev-python/userpath/Manifest
+++ b/dev-python/userpath/Manifest
@@ -1,2 +1,2 @@
-DIST userpath-1.9.0.gh.tar.gz 11090 BLAKE2B 70eac3d629c71604047d9dfa4eaf2eeb90011d0b943367aacc0e4e1efb7d45de0efb8075404510e791bd8da3609423d29503101943edc108aa012e8018e53b63 SHA512 a5683a7423465426debda02d58b2f5ef8d17d38d2fac2378cdf3075a2a6f0b7d75210bb1eac30966d323ec5f25073cc9286ae1b37acaa1bf7785da02a4c40805
DIST userpath-1.9.1.gh.tar.gz 11183 BLAKE2B 91d5eec83ec1720cf7f65f9d67bb09d86b6679fc540026ba0b7b99522bb4e062c35bb2d6d751684f3cbaa78bca5ab1e1cb34b25a937f744115a9b80096637858 SHA512 a98b000a0968f81131eb5a91822fda72bc38e6aa2b2a85be43974c37155cbf23aa2698dac1969f078bcca1ebcbc9bd5ef71e4437eae691b7358610bcc74859d5
+DIST userpath-1.9.2.gh.tar.gz 11191 BLAKE2B 6696e97514af104fedbb1bd8cd5cd5ecb81620d63109c63b1a157dbbad353a54909e37399bb3e2406655d171346d6863d606432502da65e3f8cc2634fe79fe92 SHA512 8016ae08eb01526cd256cd3bf12eedc3abcaad225570d08c8ca051657a84ee7c75d9a8a07bcf229896fd450bd3577b1d81442d9af7fe4c1061a82d0cdfbcfad3
diff --git a/dev-python/userpath/userpath-1.9.0.ebuild b/dev-python/userpath/userpath-1.9.0.ebuild
deleted file mode 100644
index e9cbe4cde968..000000000000
--- a/dev-python/userpath/userpath-1.9.0.ebuild
+++ /dev/null
@@ -1,29 +0,0 @@
-# Copyright 2023 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
-
-DESCRIPTION="Cross-platform tool for adding locations to the user PATH"
-HOMEPAGE="
- https://github.com/ofek/userpath/
- https://pypi.org/project/userpath/
-"
-SRC_URI="
- https://github.com/ofek/userpath/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/click[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/userpath/userpath-1.9.1.ebuild b/dev-python/userpath/userpath-1.9.1.ebuild
index e9cbe4cde968..0f0a84aefd4f 100644
--- a/dev-python/userpath/userpath-1.9.1.ebuild
+++ b/dev-python/userpath/userpath-1.9.1.ebuild
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~amd64"
+KEYWORDS="~amd64 ~arm64"
RDEPEND="
dev-python/click[${PYTHON_USEDEP}]
diff --git a/dev-python/userpath/userpath-1.9.2.ebuild b/dev-python/userpath/userpath-1.9.2.ebuild
new file mode 100644
index 000000000000..31786e2fdd43
--- /dev/null
+++ b/dev-python/userpath/userpath-1.9.2.ebuild
@@ -0,0 +1,29 @@
+# Copyright 2023-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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Cross-platform tool for adding locations to the user PATH"
+HOMEPAGE="
+ https://github.com/ofek/userpath/
+ https://pypi.org/project/userpath/
+"
+SRC_URI="
+ https://github.com/ofek/userpath/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+RDEPEND="
+ dev-python/click[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/utidylib/Manifest b/dev-python/utidylib/Manifest
index 5af7559ce235..6e5cdc5e78e6 100644
--- a/dev-python/utidylib/Manifest
+++ b/dev-python/utidylib/Manifest
@@ -1 +1 @@
-DIST utidylib-0.9.gh.tar.gz 15778 BLAKE2B 54c9b9b7c0615ac49a90567357f119643311dd6ee2848dcdfcbe00b93431672ee6954738627c0b3fa984a8f2c7b9e127cc1edac06f9760a252621317d2266476 SHA512 58ca8a43ba2e933f02111939ee8496bb63b17220ce5a6fa3cb731659e89000baa17409c10968308cd86bb2a9dc4819ef2029245eecdb3c7a3fa57404f37004fc
+DIST utidylib-0.10.gh.tar.gz 16810 BLAKE2B ae8dc947c9af0a900c1d371788078a921115d84f14a9b1d00f16d0cc4461584ee9307a6431021c0c4e9e91807964baed898faa1e1313f9c4122b0d70a85a3b17 SHA512 80e59cb909d1c2f3fd7a0df604cf75ebcb335df02d8f2e4df4f619abe7cd3bcba1ffd9432a98aa65f50976ed811fe24bba1306e0cbdc86327d56c17ea8bd083e
diff --git a/dev-python/utidylib/utidylib-0.10.ebuild b/dev-python/utidylib/utidylib-0.10.ebuild
new file mode 100644
index 000000000000..fea2e3478c1f
--- /dev/null
+++ b/dev-python/utidylib/utidylib-0.10.ebuild
@@ -0,0 +1,32 @@
+# 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
+
+DESCRIPTION="TidyLib Python wrapper"
+HOMEPAGE="
+ https://cihar.com/software/utidylib/
+ https://github.com/nijel/utidylib/
+ https://pypi.org/project/uTidylib/
+"
+SRC_URI="
+ https://github.com/nijel/utidylib/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ppc ppc64 ~riscv x86"
+
+RDEPEND="
+ >=app-text/htmltidy-5.0.0
+"
+
+distutils_enable_tests pytest
+distutils_enable_sphinx docs \
+ dev-python/furo
diff --git a/dev-python/utidylib/utidylib-0.9.ebuild b/dev-python/utidylib/utidylib-0.9.ebuild
deleted file mode 100644
index 86013e1c6566..000000000000
--- a/dev-python/utidylib/utidylib-0.9.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="TidyLib Python wrapper"
-HOMEPAGE="
- https://cihar.com/software/utidylib/
- https://github.com/nijel/utidylib/
- https://pypi.org/project/uTidylib/
-"
-SRC_URI="
- https://github.com/nijel/utidylib/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ppc ppc64 ~riscv x86"
-
-RDEPEND="
- >=app-text/htmltidy-5.0.0
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs
-
-EPYTEST_DESELECT=(
- # https://github.com/nijel/utidylib/issues/9
- tidy/test_tidy.py::TidyTestCase::test_missing_load
-)
diff --git a/dev-python/uv/Manifest b/dev-python/uv/Manifest
new file mode 100644
index 000000000000..5119709a5943
--- /dev/null
+++ b/dev-python/uv/Manifest
@@ -0,0 +1,14 @@
+DIST pubgrub-3f0ba760951ab0deeac874b98bb18fc90103fcf7.gh.tar.gz 87050 BLAKE2B d76bc40a71ead4c535eff493901247f2ee2f0a213d12db17bf96c89008be482829ff9b0d47196bb04ffc8c20842f15a2c7a4aa663d4c3f6c3eb82461250853ce SHA512 cd55d4512590eb86628d933598bd3f276a09018dce8dd720496f4314872afe1ad8d0b79d16f1b358e4a77a8613c1d06c742117d3a2a9c39e4f34d0ccd86eb536
+DIST pubgrub-b4435e2f3af10dab2336a0345b35dcd622699d06.gh.tar.gz 86966 BLAKE2B 783191e6a6d6eaeb6d8b1f773d449de5aebd7864296758b8a0fa87df62fae855c0c0edcb4ddb11694d70a3cd8870d7b14b0c7b48a2788026d3a6104685bf46dd SHA512 2e58fad9633070adc8e7549475a8d01c2d8d56d0b6492ab3fa773cff94dc004ca1d841e3428a84dfb495e664850a184d4699d364a4d8e4298b6b8370282d110d
+DIST reqwest-middleware-21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe.gh.tar.gz 39176 BLAKE2B 00b2d0f51e4bbe29649fea50a8cc41c7b4d534f87440dd0bf487e8f7104077ad2cde824673b6624ff71924512b8a6b33ed4ac548f64bfbf78a5e0fb1366a446f SHA512 29f80816d054838af330a0ccfb8509ab22469aaecdb369d4a63c03eb3ed2aea3cc113458dd29c649e5bf7c33dbf5ef8b1e5d5a89e1cca72f9eab212f000c594f
+DIST rs-async-zip-1dcb40cfe1bf5325a6fd4bfcf9894db40241f585.gh.tar.gz 96766 BLAKE2B f9efab73c65394e33e090a6292875ebf35e6669b15c356f102eb109784a4503606ae39106cd0ebe3d7d479cb0b30806d7baaaebf22d826836a24f7ed49100934 SHA512 3b845b05d97c5ab5cea286a7c11846838b40bb1fac98a51782600849a53231be8fa205094c6bdd00f6e193c807b10b28f947698696382be99cae0a8d681dabdc
+DIST uv-0.2.23-crates.tar.xz 63724280 BLAKE2B 32f66ef8a6580d1dd0b7369656784c40da7f1f060c4543b359aa4f45ce33926f56d0d02222acf888a0923317d4cc02e96e1d27b3dab84038bf3714d316399f4b SHA512 04a31a451beb68f0d884cde3a35260a71020453217cfb616703b2ea8fd7af273b850239f66b8e77b1c73f241b2a8945ff9833fd0f445f2c6f3aa3412fee3e0e8
+DIST uv-0.2.23.gh.tar.gz 1314282 BLAKE2B 0d662a513b77a4da73945c3eedfa381cd65ad615975b22790ccde2eb467b356a70eacff20a15d37fff6f7b41b155824b0fda9f715d3a45f02c37c5f992f6fe0b SHA512 6b0c8f65e51dc8bf0654976b8866cb225784d91f44af935b243507a404ac4f297697ea22df29da43038eb335938be04e42fda39cbb292fe02715841c9f818380
+DIST uv-0.2.25-crates.tar.xz 63731168 BLAKE2B 5693f7db28756e74ad619f1ed0ad9f1c7a14b385da65b71abd0989ef8cce3f961d5e6edb9b8318a495b76ba8352ef0c6b557bbdec2741ff35073b407756cbd90 SHA512 40813d91c90b949f0666f4734717abc6430be293c3fe7336ed907e75a809fc51fc79d520d308fc8d8ddb8f11251137f9219b755b5e3711bf3b9f55fcecac10c0
+DIST uv-0.2.25.gh.tar.gz 1377235 BLAKE2B c8c3a68b16c82d51de31700973e52e6745c26a5349696065e9b140f2304ca5cfc30e8a0922178c4630ed6a4823141a82bf0cd8a6631b1a4de1e77a733b70251a SHA512 c78a4bf66ac1140767d0fb7af35ba3f3cd044d04447862a9374b9491742a627e7a27df04689ee64f9dcb6445619a419022e0ae0da4a0fdedf531db9f902583e0
+DIST uv-0.2.26.gh.tar.gz 1401835 BLAKE2B 24d4fdb7f332635293235602ba117167432aa9d9ca196dc835b444a55f0c16fa19aaefb883282c08299aedce1e586dfd8d1f90a889c7ff0c907c366c9391865a SHA512 a630c4c7e8e306336f49d16eebe0bbb20ccbcb0401c495b2c3ab273d04df736737167ad6d368193f39d4bc7ad0e7475cb0e42d81fd2c420fd4f8ef000b820002
+DIST uv-0.2.27.gh.tar.gz 1421504 BLAKE2B 18bbc260d57a12c9265da8bf9d566678cba95374db22a6aca0d66550eb23d09490814111763876cf8db97671899d9ccbe121df9d7cadd357d2275199569e33a7 SHA512 86fdc58c6a0fa93c77c8dd08a58385702ed16a6421658d3d97fcf1011bf6bc562161e4e0ad8d021417e2e0cd3860bfc0384aa9550b1c5bce52aa3cb32b1f8539
+DIST uv-0.2.28-crates.tar.xz 56802104 BLAKE2B c0eed0eb3405a9a06918091926864731b35060e1a67e28a8916090c5f61c76633ca78584270003212efe892727f0e53951385a1bb0df337044aa3996492d6e82 SHA512 10e233add9062ec4a9ca73bc13bb8dc85ffa109a432d7001d009a882c0edc1ed6a5a31c53dba012bc825bec855290d085ea17e797e9bc3335c8f5268a17d0a56
+DIST uv-0.2.28.gh.tar.gz 1448749 BLAKE2B 162f07ff36f1e4edb036fe10ab2f17b8aeefb0e11fbd2a6b15d48f1d77c9986bf24930c8f9e111d470f1d0344d97f970aeb50bfa8e0362974c06f21b4723f8ad SHA512 ca2e25e0e3edd15d033516aa2f1ad799e6008bd96045443d011c2da8c29813192152e2b60d242cd13491b2248f9bb9c2d793c93c379e73e2249190ae9b180615
+DIST uv-0.2.29-crates.tar.xz 48592012 BLAKE2B 57492ede8b970171fc00c4f07ff3e9cb39dcd8bbf52433ed966963838bb9af14bfc9fc52ef5ec7e7a01af74598f066bfb5461d683a69390256fab3b69f08360a SHA512 aef3ee357dfc66a2b04967cd4526a5f07ce09e6ea949641ef1934fb774133b93b106c8e5f255bba92fd375b3f1996b7b016682e9e8f1c9afa871781af163e095
+DIST uv-0.2.29.gh.tar.gz 1468793 BLAKE2B b69397a9fa0fb855a876d5c0322c53c01c400f023bae681e9347a5dde13e5d844da06b9016af5aab7ccc1e3482f2a2004f5efcad4887291ee28c455f6198ac31 SHA512 83b34496868cdd903122140ed28d8cf4e503f7be1848ce711aa98e9019a62ce82607b9a7eba189194024f21e376f61805e42d6b8c4544ff7d1a14212e99f5bc1
diff --git a/dev-python/uv/files/tokio-tar-0.3.1-ppc.patch b/dev-python/uv/files/tokio-tar-0.3.1-ppc.patch
new file mode 100644
index 000000000000..cb3c2f93cf57
--- /dev/null
+++ b/dev-python/uv/files/tokio-tar-0.3.1-ppc.patch
@@ -0,0 +1,35 @@
+diff --git a/src/archive.rs b/src/archive.rs
+index 63f4293..986a146 100644
+--- a/src/archive.rs
++++ b/src/archive.rs
+@@ -3,12 +3,13 @@ use std::{
+ collections::VecDeque,
+ path::Path,
+ pin::Pin,
+- sync::{
+- atomic::{AtomicU64, Ordering},
+- Arc,
+- },
++ sync::Arc,
+ task::{Context, Poll},
+ };
++use portable_atomic::{
++ AtomicU64,
++ Ordering,
++};
+ use tokio::{
+ io::{self, AsyncRead as Read, AsyncReadExt},
+ sync::Mutex,
+diff -dup a/Cargo.toml b/Cargo.toml
+--- a/Cargo.toml 2024-04-27 10:39:21.186708179 +0200
++++ b/Cargo.toml 2024-04-27 10:39:37.940402613 +0200
+@@ -43,6 +43,9 @@ version = "0.2"
+ [dependencies.futures-core]
+ version = "0.3"
+
++[dependencies.portable-atomic]
++version = "1"
++
+ [dependencies.tokio]
+ version = "1"
+ features = [
diff --git a/dev-python/uv/metadata.xml b/dev-python/uv/metadata.xml
new file mode 100644
index 000000000000..0aedc2ee9faa
--- /dev/null
+++ b/dev-python/uv/metadata.xml
@@ -0,0 +1,11 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">astral-sh/uv</remote-id>
+ <remote-id type="pypi">uv</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/uv/uv-0.2.23.ebuild b/dev-python/uv/uv-0.2.23.ebuild
new file mode 100644
index 000000000000..505f71788dee
--- /dev/null
+++ b/dev-python/uv/uv-0.2.23.ebuild
@@ -0,0 +1,108 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/charliermarsh/rs-async-zip;1dcb40cfe1bf5325a6fd4bfcf9894db40241f585;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;b4435e2f3af10dab2336a0345b35dcd622699d06;pubgrub-%commit%'
+ [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe;reqwest-middleware-%commit%/reqwest-middleware'
+ [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe;reqwest-middleware-%commit%/reqwest-retry'
+)
+
+inherit cargo check-reqs
+
+CRATE_PV=0.2.23
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT
+ MPL-2.0 Unicode-DFS-2016
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+BDEPEND="
+ >=virtual/rust-1.77
+ test? (
+ dev-lang/python:3.8
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+}
+
+src_prepare() {
+ default
+
+ # remove patch.* that breaks GIT_CRATES
+ sed -i -e "/^\[patch/,\$s@^\(reqwest-middleware = \).*@\1 { path = \"${WORKDIR}/reqwest-middleware-21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe/reqwest-middleware\" }@" Cargo.toml || die
+
+ # https://github.com/vorot93/tokio-tar/pull/23
+ # (fortunately uv already depends on portable-atomic, so we don't
+ # have to fight Cargo.lock)
+ cd "${ECARGO_VENDOR}/tokio-tar-0.3.1" || die
+ eapply "${FILESDIR}/tokio-tar-0.3.1-ppc.patch"
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ # work around https://github.com/astral-sh/uv/issues/4376
+ local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
+
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+}
diff --git a/dev-python/uv/uv-0.2.25.ebuild b/dev-python/uv/uv-0.2.25.ebuild
new file mode 100644
index 000000000000..b1debaea8bca
--- /dev/null
+++ b/dev-python/uv/uv-0.2.25.ebuild
@@ -0,0 +1,109 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/charliermarsh/rs-async-zip;1dcb40cfe1bf5325a6fd4bfcf9894db40241f585;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;3f0ba760951ab0deeac874b98bb18fc90103fcf7;pubgrub-%commit%'
+ [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe;reqwest-middleware-%commit%/reqwest-middleware'
+ [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe;reqwest-middleware-%commit%/reqwest-retry'
+)
+
+inherit cargo check-reqs
+
+CRATE_PV=${PV}
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT
+ MPL-2.0 Unicode-DFS-2016
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+BDEPEND="
+ >=virtual/rust-1.77
+ test? (
+ dev-lang/python:3.8
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+}
+
+src_prepare() {
+ default
+
+ # remove patch.* that breaks GIT_CRATES
+ sed -i -e "/^\[patch/,\$s@^\(reqwest-middleware = \).*@\1 { path = \"${WORKDIR}/reqwest-middleware-21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe/reqwest-middleware\" }@" Cargo.toml || die
+
+ # https://github.com/vorot93/tokio-tar/pull/23
+ # (fortunately uv already depends on portable-atomic, so we don't
+ # have to fight Cargo.lock)
+ cd "${ECARGO_VENDOR}/tokio-tar-0.3.1" || die
+ eapply "${FILESDIR}/tokio-tar-0.3.1-ppc.patch"
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ # work around https://github.com/astral-sh/uv/issues/4376
+ local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
+ local -x COLUMNS=100
+
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+}
diff --git a/dev-python/uv/uv-0.2.26.ebuild b/dev-python/uv/uv-0.2.26.ebuild
new file mode 100644
index 000000000000..735538f84a08
--- /dev/null
+++ b/dev-python/uv/uv-0.2.26.ebuild
@@ -0,0 +1,109 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/charliermarsh/rs-async-zip;1dcb40cfe1bf5325a6fd4bfcf9894db40241f585;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;3f0ba760951ab0deeac874b98bb18fc90103fcf7;pubgrub-%commit%'
+ [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe;reqwest-middleware-%commit%/reqwest-middleware'
+ [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe;reqwest-middleware-%commit%/reqwest-retry'
+)
+
+inherit cargo check-reqs
+
+CRATE_PV=0.2.25
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT
+ MPL-2.0 Unicode-DFS-2016
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+BDEPEND="
+ >=virtual/rust-1.77
+ test? (
+ dev-lang/python:3.8
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+}
+
+src_prepare() {
+ default
+
+ # remove patch.* that breaks GIT_CRATES
+ sed -i -e "/^\[patch/,\$s@^\(reqwest-middleware = \).*@\1 { path = \"${WORKDIR}/reqwest-middleware-21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe/reqwest-middleware\" }@" Cargo.toml || die
+
+ # https://github.com/vorot93/tokio-tar/pull/23
+ # (fortunately uv already depends on portable-atomic, so we don't
+ # have to fight Cargo.lock)
+ cd "${ECARGO_VENDOR}/tokio-tar-0.3.1" || die
+ eapply "${FILESDIR}/tokio-tar-0.3.1-ppc.patch"
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ # work around https://github.com/astral-sh/uv/issues/4376
+ local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
+ local -x COLUMNS=100
+
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+}
diff --git a/dev-python/uv/uv-0.2.27.ebuild b/dev-python/uv/uv-0.2.27.ebuild
new file mode 100644
index 000000000000..735538f84a08
--- /dev/null
+++ b/dev-python/uv/uv-0.2.27.ebuild
@@ -0,0 +1,109 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/charliermarsh/rs-async-zip;1dcb40cfe1bf5325a6fd4bfcf9894db40241f585;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;3f0ba760951ab0deeac874b98bb18fc90103fcf7;pubgrub-%commit%'
+ [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe;reqwest-middleware-%commit%/reqwest-middleware'
+ [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe;reqwest-middleware-%commit%/reqwest-retry'
+)
+
+inherit cargo check-reqs
+
+CRATE_PV=0.2.25
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT
+ MPL-2.0 Unicode-DFS-2016
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+BDEPEND="
+ >=virtual/rust-1.77
+ test? (
+ dev-lang/python:3.8
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+}
+
+src_prepare() {
+ default
+
+ # remove patch.* that breaks GIT_CRATES
+ sed -i -e "/^\[patch/,\$s@^\(reqwest-middleware = \).*@\1 { path = \"${WORKDIR}/reqwest-middleware-21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe/reqwest-middleware\" }@" Cargo.toml || die
+
+ # https://github.com/vorot93/tokio-tar/pull/23
+ # (fortunately uv already depends on portable-atomic, so we don't
+ # have to fight Cargo.lock)
+ cd "${ECARGO_VENDOR}/tokio-tar-0.3.1" || die
+ eapply "${FILESDIR}/tokio-tar-0.3.1-ppc.patch"
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ # work around https://github.com/astral-sh/uv/issues/4376
+ local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
+ local -x COLUMNS=100
+
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+}
diff --git a/dev-python/uv/uv-0.2.28.ebuild b/dev-python/uv/uv-0.2.28.ebuild
new file mode 100644
index 000000000000..4a26ef308765
--- /dev/null
+++ b/dev-python/uv/uv-0.2.28.ebuild
@@ -0,0 +1,109 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/charliermarsh/rs-async-zip;1dcb40cfe1bf5325a6fd4bfcf9894db40241f585;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;3f0ba760951ab0deeac874b98bb18fc90103fcf7;pubgrub-%commit%'
+ [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe;reqwest-middleware-%commit%/reqwest-middleware'
+ [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe;reqwest-middleware-%commit%/reqwest-retry'
+)
+
+inherit cargo check-reqs
+
+CRATE_PV=0.2.28
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT
+ MPL-2.0 Unicode-DFS-2016
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+BDEPEND="
+ >=virtual/rust-1.77
+ test? (
+ dev-lang/python:3.8
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+}
+
+src_prepare() {
+ default
+
+ # remove patch.* that breaks GIT_CRATES
+ sed -i -e "/^\[patch/,\$s@^\(reqwest-middleware = \).*@\1 { path = \"${WORKDIR}/reqwest-middleware-21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe/reqwest-middleware\" }@" Cargo.toml || die
+
+ # https://github.com/vorot93/tokio-tar/pull/23
+ # (fortunately uv already depends on portable-atomic, so we don't
+ # have to fight Cargo.lock)
+ cd "${ECARGO_VENDOR}/tokio-tar-0.3.1" || die
+ eapply "${FILESDIR}/tokio-tar-0.3.1-ppc.patch"
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ # work around https://github.com/astral-sh/uv/issues/4376
+ local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
+ local -x COLUMNS=100
+
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+}
diff --git a/dev-python/uv/uv-0.2.29.ebuild b/dev-python/uv/uv-0.2.29.ebuild
new file mode 100644
index 000000000000..f3cf0860cc38
--- /dev/null
+++ b/dev-python/uv/uv-0.2.29.ebuild
@@ -0,0 +1,109 @@
+# Copyright 2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+CRATES="
+"
+
+declare -A GIT_CRATES=(
+ [async_zip]='https://github.com/charliermarsh/rs-async-zip;1dcb40cfe1bf5325a6fd4bfcf9894db40241f585;rs-async-zip-%commit%'
+ [pubgrub]='https://github.com/astral-sh/pubgrub;3f0ba760951ab0deeac874b98bb18fc90103fcf7;pubgrub-%commit%'
+ [reqwest-middleware]='https://github.com/astral-sh/reqwest-middleware;21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe;reqwest-middleware-%commit%/reqwest-middleware'
+ [reqwest-retry]='https://github.com/astral-sh/reqwest-middleware;21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe;reqwest-middleware-%commit%/reqwest-retry'
+)
+
+inherit cargo check-reqs
+
+CRATE_PV=0.2.29
+DESCRIPTION="A Python package installer and resolver, written in Rust"
+HOMEPAGE="
+ https://github.com/astral-sh/uv/
+ https://pypi.org/project/uv/
+"
+# pypi sdist misses scripts/, needed for tests
+SRC_URI="
+ https://github.com/astral-sh/uv/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+if [[ ${PKGBUMPING} != ${PVR} ]]; then
+ SRC_URI+="
+ https://dev.gentoo.org/~mgorny/dist/uv-${CRATE_PV}-crates.tar.xz
+ "
+fi
+
+# most of the code
+LICENSE="|| ( Apache-2.0 MIT )"
+# crates/pep508-rs is || ( Apache-2.0 BSD-2 ) which is covered below
+# Dependent crate licenses
+LICENSE+="
+ 0BSD Apache-2.0 Apache-2.0-with-LLVM-exceptions BSD-2 BSD ISC MIT
+ MPL-2.0 Unicode-DFS-2016
+"
+# ring crate
+LICENSE+=" openssl"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~x86"
+IUSE="test"
+RESTRICT="test"
+PROPERTIES="test_network"
+
+BDEPEND="
+ >=virtual/rust-1.77
+ test? (
+ dev-lang/python:3.8
+ dev-lang/python:3.9
+ dev-lang/python:3.10
+ dev-lang/python:3.11
+ dev-lang/python:3.12
+ )
+"
+
+QA_FLAGS_IGNORED="usr/bin/.*"
+
+check_space() {
+ local CHECKREQS_DISK_BUILD=3G
+ use debug && CHECKREQS_DISK_BUILD=9G
+ check-reqs_pkg_setup
+}
+
+pkg_pretend() {
+ check_space
+}
+
+pkg_setup() {
+ check_space
+}
+
+src_prepare() {
+ default
+
+ # remove patch.* that breaks GIT_CRATES
+ sed -i -e "/^\[patch/,\$s@^\(reqwest-middleware = \).*@\1 { path = \"${WORKDIR}/reqwest-middleware-21ceec9a5fd2e8d6f71c3ea2999078fecbd13cbe/reqwest-middleware\" }@" Cargo.toml || die
+
+ # https://github.com/vorot93/tokio-tar/pull/23
+ # (fortunately uv already depends on portable-atomic, so we don't
+ # have to fight Cargo.lock)
+ cd "${ECARGO_VENDOR}/tokio-tar-0.3.1" || die
+ eapply "${FILESDIR}/tokio-tar-0.3.1-ppc.patch"
+}
+
+src_compile() {
+ cd crates/uv || die
+ cargo_src_compile
+}
+
+src_test() {
+ # work around https://github.com/astral-sh/uv/issues/4376
+ local -x PATH=${BROOT}/usr/lib/python-exec/python3.12:${PATH}
+ local -x COLUMNS=100
+
+ cd crates/uv || die
+ cargo_src_test --no-fail-fast
+}
+
+src_install() {
+ cd crates/uv || die
+ cargo_src_install
+}
diff --git a/dev-python/uvicorn/Manifest b/dev-python/uvicorn/Manifest
index 025f5112a687..b3631e37f299 100644
--- a/dev-python/uvicorn/Manifest
+++ b/dev-python/uvicorn/Manifest
@@ -1 +1,2 @@
-DIST uvicorn-0.24.0.gh.tar.gz 715220 BLAKE2B b71273545ae244544b5336524bf4ad1f386c8bb2b1addc501514833f37376f8a09a1d4dfc2272c3b62555337a20750af827c9a7a4c3bffc6327a9d1809869cfa SHA512 98b58ce17a1f072f36923b1b616f818cbadd091256ce1281a5236268ba2378d212384d9c3390b5903edfda5c692a67935051379e31732df45422595a88c69232
+DIST uvicorn-0.30.1.gh.tar.gz 722580 BLAKE2B 33cb5683bf8d3f3bbc2a17a354356adee2be66259cd79413c9f1ef698485c46060a609a8f0a28cef05de71631569ac61c12aad6913a3243f45eb7e1691a481ea SHA512 ce705c1e99ca0feff3f82e067c0df9e21dea6ff3789541757edbc686718bcb0c80be392fd75f7c0962c5d7251e7e3e441e97633057dcb43e565c48a4d6b3d392
+DIST uvicorn-0.30.3.gh.tar.gz 723748 BLAKE2B 8191491ebbccf8586e668bc6c14ce0a526d958ee1bf618cbf714bcb0932c36e14bfa4365a3ce88129180dcb0a2ac62b65fd977262f936b31a84267e3d41a971e SHA512 de6299c4b93bb14ea5ef466d2ebb91e24c2b9ae3e47158e924ae8c1f1e58a3fffd39e3e001e647afa47512f9481f5a3e2cce613427600200bcf27c4143c4e608
diff --git a/dev-python/uvicorn/uvicorn-0.24.0.ebuild b/dev-python/uvicorn/uvicorn-0.24.0.ebuild
deleted file mode 100644
index b4afcb5ba758..000000000000
--- a/dev-python/uvicorn/uvicorn-0.24.0.ebuild
+++ /dev/null
@@ -1,78 +0,0 @@
-# Copyright 2021-2023 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 optfeature
-
-DESCRIPTION="Lightning-fast ASGI server implementation"
-HOMEPAGE="
- https://www.uvicorn.org/
- https://github.com/encode/uvicorn/
- https://pypi.org/project/uvicorn/
-"
-# as of 0.21.0, no tests in sdist
-SRC_URI="
- https://github.com/encode/uvicorn/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/asgiref-3.4.0[${PYTHON_USEDEP}]
- >=dev-python/click-7.0[${PYTHON_USEDEP}]
- >=dev-python/h11-0.8[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/a2wsgi[${PYTHON_USEDEP}]
- dev-python/httpx[${PYTHON_USEDEP}]
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/python-dotenv[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- >=dev-python/websockets-10.4[${PYTHON_USEDEP}]
- dev-python/wsproto[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- dev-python/trustme[${PYTHON_USEDEP}]
- dev-python/watchfiles[${PYTHON_USEDEP}]
- )
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # too long path for unix socket
- tests/test_config.py::test_bind_unix_socket_works_with_reload_or_workers
- # need unpackaged httptools
- "tests/middleware/test_logging.py::test_trace_logging_on_http_protocol[httptools]"
- tests/protocols/test_http.py::test_fragmentation
- # TODO
- tests/protocols/test_websocket.py::test_connection_lost_before_handshake_complete
- "tests/protocols/test_websocket.py::test_asgi_return_value[H11Protocol-WebSocketProtocol]"
- )
- case ${EPYTHON} in
- pypy3)
- # TODO
- EPYTEST_DESELECT+=(
- tests/middleware/test_logging.py::test_running_log_using_fd
- )
- ;;
- esac
-
- epytest
-}
-
-pkg_postinst() {
- optfeature "auto reload on file changes" dev-python/watchfiles
-}
diff --git a/dev-python/uvicorn/uvicorn-0.30.1.ebuild b/dev-python/uvicorn/uvicorn-0.30.1.ebuild
new file mode 100644
index 000000000000..6ca97c2d20bf
--- /dev/null
+++ b/dev-python/uvicorn/uvicorn-0.30.1.ebuild
@@ -0,0 +1,75 @@
+# Copyright 2021-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..13} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Lightning-fast ASGI server implementation"
+HOMEPAGE="
+ https://www.uvicorn.org/
+ https://github.com/encode/uvicorn/
+ https://pypi.org/project/uvicorn/
+"
+# as of 0.28.0, no tests in sdist
+SRC_URI="
+ https://github.com/encode/uvicorn/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/asgiref-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/click-7.0[${PYTHON_USEDEP}]
+ >=dev-python/h11-0.8[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/a2wsgi[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/websockets-10.4[${PYTHON_USEDEP}]
+ dev-python/wsproto[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/watchfiles[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # too long path for unix socket
+ tests/test_config.py::test_bind_unix_socket_works_with_reload_or_workers
+ )
+ case ${EPYTHON} in
+ pypy3)
+ # TODO
+ EPYTEST_DESELECT+=(
+ tests/middleware/test_logging.py::test_running_log_using_fd
+ )
+ ;;
+ esac
+
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "auto reload on file changes" dev-python/watchfiles
+}
diff --git a/dev-python/uvicorn/uvicorn-0.30.3.ebuild b/dev-python/uvicorn/uvicorn-0.30.3.ebuild
new file mode 100644
index 000000000000..9511a7d54223
--- /dev/null
+++ b/dev-python/uvicorn/uvicorn-0.30.3.ebuild
@@ -0,0 +1,75 @@
+# Copyright 2021-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..13} )
+
+inherit distutils-r1 optfeature
+
+DESCRIPTION="Lightning-fast ASGI server implementation"
+HOMEPAGE="
+ https://www.uvicorn.org/
+ https://github.com/encode/uvicorn/
+ https://pypi.org/project/uvicorn/
+"
+# as of 0.28.0, no tests in sdist
+SRC_URI="
+ https://github.com/encode/uvicorn/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/asgiref-3.4.0[${PYTHON_USEDEP}]
+ >=dev-python/click-7.0[${PYTHON_USEDEP}]
+ >=dev-python/h11-0.8[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/typing-extensions-4.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/a2wsgi[${PYTHON_USEDEP}]
+ dev-python/httpx[${PYTHON_USEDEP}]
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/python-dotenv[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/websockets-10.4[${PYTHON_USEDEP}]
+ dev-python/wsproto[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ dev-python/trustme[${PYTHON_USEDEP}]
+ dev-python/watchfiles[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # too long path for unix socket
+ tests/test_config.py::test_bind_unix_socket_works_with_reload_or_workers
+ )
+ case ${EPYTHON} in
+ pypy3)
+ # TODO
+ EPYTEST_DESELECT+=(
+ tests/middleware/test_logging.py::test_running_log_using_fd
+ )
+ ;;
+ esac
+
+ epytest
+}
+
+pkg_postinst() {
+ optfeature "auto reload on file changes" dev-python/watchfiles
+}
diff --git a/dev-python/uvloop/Manifest b/dev-python/uvloop/Manifest
index b7035611ed1e..6e0b45805324 100644
--- a/dev-python/uvloop/Manifest
+++ b/dev-python/uvloop/Manifest
@@ -1 +1,2 @@
+DIST uvloop-0.19.0-cython3.patch.xz 6352 BLAKE2B 4a7056299d3d430ce5b6986d43ba4f20726ae4f9635042a43e2995ea373ed53ddce6af2eaa32202f81f80a27bd1d814e635a6be091b5f751bcf6825fd2c8e88a SHA512 aeda541f1327860d23b31ffda9923270a56a8311ec86b06f3bd653478bff591372106e8848af5229e3ad298e950b4c3a728ab4dd9056219b8afe55f5dd58ee3d
DIST uvloop-0.19.0.tar.gz 2318492 BLAKE2B 1c46a8bf3e204c261e3a5e60c3583b75b8b9b20086443725c42842f96ea3f6804242470aa9569f8cc74a6e3bd38b5aaa70f9a9d92b5df3e73911acc169185570 SHA512 b6ca7ba7baf61dc930bb92e35013e5abaf7a227a5e99c88ec4b58fa87a40692151d9891b81d9e514a8481df62bb9721baa789ec234dcbbb34f69e0bee489c57c
diff --git a/dev-python/uvloop/uvloop-0.19.0-r1.ebuild b/dev-python/uvloop/uvloop-0.19.0-r1.ebuild
new file mode 100644
index 000000000000..cb91ca8ad41d
--- /dev/null
+++ b/dev-python/uvloop/uvloop-0.19.0-r1.ebuild
@@ -0,0 +1,86 @@
+# 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
+# py3.13: https://github.com/MagicStack/uvloop/issues/603
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Ultra-fast implementation of asyncio event loop on top of libuv"
+HOMEPAGE="
+ https://github.com/magicstack/uvloop/
+ https://pypi.org/project/uvloop/
+"
+SRC_URI+=" https://dev.gentoo.org/~sam/distfiles/${CATEGORY}/${PN}/${PN}-0.19.0-cython3.patch.xz"
+
+KEYWORDS="amd64 arm arm64 ppc ppc64 -riscv sparc x86"
+LICENSE="MIT"
+SLOT="0"
+IUSE="examples"
+
+DEPEND="
+ >=dev-libs/libuv-1.11.0:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ >=dev-python/cython-0.29.36[${PYTHON_USEDEP}]
+ test? (
+ dev-python/aiohttp[${PYTHON_USEDEP}]
+ >=dev-python/pyopenssl-22.0.0[${PYTHON_USEDEP}]
+ dev-python/psutil[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${WORKDIR}"/${PN}-0.19.0-cython3.patch
+)
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ rm -r vendor || die
+ cat <<-EOF >> setup.cfg || die
+ [build_ext]
+ use_system_libuv=True
+ cython_always=True
+ EOF
+
+ # force cythonization
+ rm uvloop/loop.c || die
+
+ distutils-r1_python_prepare_all
+}
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local EPYTEST_IGNORE=(
+ # linting
+ tests/test_sourcecode.py
+ )
+ local EPYTEST_DESELECT=(
+ # TODO: expects some... cython_helper?
+ tests/test_libuv_api.py::Test_UV_libuv::test_libuv_get_loop_t_ptr
+ # unhappy about sandbox injecting its envvars
+ tests/test_process.py::Test_UV_Process::test_process_env_2
+ tests/test_process.py::Test_AIO_Process::test_process_env_2
+ # hangs
+ tests/test_tcp.py::Test_AIO_TCPSSL::test_remote_shutdown_receives_trailing_data
+ # crashes on assertion
+ # https://github.com/MagicStack/uvloop/issues/574
+ tests/test_cython.py::TestCythonIntegration::test_cython_coro_is_coroutine
+ )
+
+ rm -rf uvloop || die
+ epytest -s
+}
+
+python_install_all() {
+ use examples && dodoc -r examples
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/uvloop/uvloop-0.19.0.ebuild b/dev-python/uvloop/uvloop-0.19.0.ebuild
deleted file mode 100644
index 494e66452889..000000000000
--- a/dev-python/uvloop/uvloop-0.19.0.ebuild
+++ /dev/null
@@ -1,86 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Ultra-fast implementation of asyncio event loop on top of libuv"
-HOMEPAGE="
- https://github.com/magicstack/uvloop/
- https://pypi.org/project/uvloop/
-"
-
-KEYWORDS="amd64 arm arm64 ppc ppc64 -riscv sparc x86"
-LICENSE="MIT"
-SLOT="0"
-IUSE="examples"
-
-DEPEND="
- >=dev-libs/libuv-1.11.0:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- <dev-python/cython-3[${PYTHON_USEDEP}]
- >=dev-python/cython-0.29.32[${PYTHON_USEDEP}]
- test? (
- dev-python/aiohttp[${PYTHON_USEDEP}]
- >=dev-python/pyopenssl-22.0.0[${PYTHON_USEDEP}]
- dev-python/psutil[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- rm -r vendor || die
- cat <<-EOF >> setup.cfg || die
- [build_ext]
- use_system_libuv=True
- cython_always=True
- EOF
-
- # flake8 only
- #rm tests/test_sourcecode.py || die
- # force cythonization
- rm uvloop/loop.c || die
- # hangs
- #sed -i -e 's:test_remote_shutdown_receives_trailing_data:_&:' \
- # tests/test_tcp.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local EPYTEST_IGNORE=(
- # linting
- tests/test_sourcecode.py
- )
- local EPYTEST_DESELECT=(
- # TODO: expects some... cython_helper?
- tests/test_libuv_api.py::Test_UV_libuv::test_libuv_get_loop_t_ptr
- # unhappy about sandbox injecting its envvars
- tests/test_process.py::Test_UV_Process::test_process_env_2
- tests/test_process.py::Test_AIO_Process::test_process_env_2
- # hangs
- tests/test_tcp.py::Test_AIO_TCPSSL::test_remote_shutdown_receives_trailing_data
- # crashes on assertion
- # https://github.com/MagicStack/uvloop/issues/574
- tests/test_cython.py::TestCythonIntegration::test_cython_coro_is_coroutine
- )
-
- rm -rf uvloop || die
- epytest -s
-}
-
-python_install_all() {
- use examples && dodoc -r examples
- distutils-r1_python_install_all
-}
diff --git a/dev-python/validators/Manifest b/dev-python/validators/Manifest
index 94b560a2cf1b..19ab254f684d 100644
--- a/dev-python/validators/Manifest
+++ b/dev-python/validators/Manifest
@@ -1 +1,4 @@
-DIST validators-0.22.0.tar.gz 41479 BLAKE2B b949ce879df0885c201a972cce746d22810b6338c820f9aad71941b5277b8e14a4b367aa2c18421dd4643dc2ce7247e7bc9511eec5ffe7f737ed07d213b862b0 SHA512 2024f0b33c142537f160086d2c2e511342af283dfed2d9a9ff19877a7897c64b3f2f1f48ee451c38f7fd63374e2e7ce17d0340afc71cb6d272837a37f212142d
+DIST validators-0.30.0.tar.gz 68553 BLAKE2B 96a59c2155fa0a33c12502e36fb517b068a56edba7c161e722cea8832190a407b4a4c81beb85845239b7e76622e4fa31ff577b5278787fd7bbe441133762731f SHA512 96247ccf9ea5db12f6b405971aac11f834f64a83b7e6efdc6d04c81a9ff2901ece786bc2ad2301c738ff0eae8031a6aa2a1fef629048e61c2f365ab172408f46
+DIST validators-0.31.0.tar.gz 69295 BLAKE2B 3bb7b9648ee434b1238df45d0adfec3ad74a8a8cbf46e66714f542288bf403464756b1a229060c07d47f01a546cc7902c794fe5b021ccab1c8eb828dd6aa965a SHA512 5c5101941b5b60722d9ef5bee993b4847fecfc926bbf8bf1bef96a21dad4f90adc1838778299bb95d3f3b891cb3ea9964d00ba1eec6f2fa16d790b4614094c8b
+DIST validators-0.32.0.tar.gz 69788 BLAKE2B 5d0eddae8c71d8ad0b9b646244502198ece878769c873691dc94dd0be2e87fb899a9a6e3593debd5195914ce5edb2f00f6563e16b1685d58259d1e0d9ef453c8 SHA512 34a68e8a3f7cb1a0489b7cfd4987fa44a1faea8be1e063fcda6cca3e010044ab3ea5b87c3c04fadbaa9dd6513b3ab32de72ec9a833428ed5f82b3df8d0d453f0
+DIST validators-0.33.0.tar.gz 70741 BLAKE2B e999d1ea14e2240523537804931fc91f5eb02d4ff35b22e8a292ff8785493ce48cd14ccf0d87ce945739c3e65a79b3a7654a66412bcc41e4e37e0fd87eefad72 SHA512 611844e182319209a2f6305daf3fcfc1801d9ad32179eaa9651844df37bd3d1d42bfd1e69be1e2c4fcd811a231228bc748a12dd6583248d5b572394cb9c9d858
diff --git a/dev-python/validators/metadata.xml b/dev-python/validators/metadata.xml
index f2e7eb7f8af7..203d6cff032b 100644
--- a/dev-python/validators/metadata.xml
+++ b/dev-python/validators/metadata.xml
@@ -9,6 +9,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">validators</remote-id>
<remote-id type="github">python-validators/validators</remote-id>
diff --git a/dev-python/validators/validators-0.22.0.ebuild b/dev-python/validators/validators-0.22.0.ebuild
deleted file mode 100644
index a0320e2aec42..000000000000
--- a/dev-python/validators/validators-0.22.0.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 2021-2023 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="Python Data Validation for Humans"
-HOMEPAGE="
- https://github.com/python-validators/validators/
- https://pypi.org/project/validators/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_tests pytest
diff --git a/dev-python/validators/validators-0.30.0.ebuild b/dev-python/validators/validators-0.30.0.ebuild
new file mode 100644
index 000000000000..ddcc3a3b905b
--- /dev/null
+++ b/dev-python/validators/validators-0.30.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2021-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python Data Validation for Humans"
+HOMEPAGE="
+ https://github.com/python-validators/validators/
+ https://pypi.org/project/validators/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires eth-hash
+ tests/crypto_addresses/test_eth_address.py
+)
diff --git a/dev-python/validators/validators-0.31.0.ebuild b/dev-python/validators/validators-0.31.0.ebuild
new file mode 100644
index 000000000000..ee697b081282
--- /dev/null
+++ b/dev-python/validators/validators-0.31.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2021-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python Data Validation for Humans"
+HOMEPAGE="
+ https://github.com/python-validators/validators/
+ https://pypi.org/project/validators/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires eth-hash
+ tests/crypto_addresses/test_eth_address.py
+)
diff --git a/dev-python/validators/validators-0.32.0.ebuild b/dev-python/validators/validators-0.32.0.ebuild
new file mode 100644
index 000000000000..ee697b081282
--- /dev/null
+++ b/dev-python/validators/validators-0.32.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2021-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python Data Validation for Humans"
+HOMEPAGE="
+ https://github.com/python-validators/validators/
+ https://pypi.org/project/validators/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires eth-hash
+ tests/crypto_addresses/test_eth_address.py
+)
diff --git a/dev-python/validators/validators-0.33.0.ebuild b/dev-python/validators/validators-0.33.0.ebuild
new file mode 100644
index 000000000000..ee697b081282
--- /dev/null
+++ b/dev-python/validators/validators-0.33.0.ebuild
@@ -0,0 +1,26 @@
+# Copyright 2021-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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python Data Validation for Humans"
+HOMEPAGE="
+ https://github.com/python-validators/validators/
+ https://pypi.org/project/validators/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~loong ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # requires eth-hash
+ tests/crypto_addresses/test_eth_address.py
+)
diff --git a/dev-python/vcrpy/Manifest b/dev-python/vcrpy/Manifest
index 28c3b0fdda1f..c46c3f45a3a1 100644
--- a/dev-python/vcrpy/Manifest
+++ b/dev-python/vcrpy/Manifest
@@ -1 +1 @@
-DIST vcrpy-5.1.0.gh.tar.gz 337183 BLAKE2B 76805db7c034fe4f6e0d6fb18340ad24a25a28ece4576d97958d689e46667a8ab2fb6cdc8186f635a7c4f4833d4ea541573bf6c5e0f775f842e60683336ad87e SHA512 dfb2e02027ed2e37f4c2201b410847cf1f03b1999853e3f838e49abf1e93641d58addb18f6144c484f9d4618693b9a99d73dc7fb55eb1de2c383109e054e3713
+DIST vcrpy-6.0.1.gh.tar.gz 337497 BLAKE2B a00571d7ed0dd895cc120e3e2615e8e6ea3e86344813e87f836a182be45389b200925ae2a02dc754b0b77db642d3be453b3b8c909b26197222b84fa95c6da804 SHA512 79ba9ea29db20ddc3db5676d7bdb05da17848eb126ed63d813a1d2b0de80573fff3afaec2ffe1af491a0310ce922c7545c4569035d0f5868f171db25965c217f
diff --git a/dev-python/vcrpy/files/vcrpy-5.1.0-py312.patch b/dev-python/vcrpy/files/vcrpy-5.1.0-py312.patch
deleted file mode 100644
index 2dc9fdf09e88..000000000000
--- a/dev-python/vcrpy/files/vcrpy-5.1.0-py312.patch
+++ /dev/null
@@ -1,35 +0,0 @@
-From 69621c67fb29dedd9ece4a7bdbf50380fbe4c5ee Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
-Date: Thu, 3 Aug 2023 06:51:45 +0200
-Subject: [PATCH] Copy `debuglevel` and `_http_vsn` attrs into response classes
-
-Copy the `debuglevel` and `_http_vsn` attributes from base connection
-class into response classes, in order to fix compatibility with
-Python 3.12. For reasons I don't comprehend, these end up being called
-on the class rather than instance, so regular proxying logic does not
-work.
-
-Fixes #707
----
- vcr/stubs/__init__.py | 4 ++++
- 1 file changed, 4 insertions(+)
-
-diff --git a/vcr/stubs/__init__.py b/vcr/stubs/__init__.py
-index dafaec71..4d4bb39d 100644
---- a/vcr/stubs/__init__.py
-+++ b/vcr/stubs/__init__.py
-@@ -389,6 +389,8 @@ class VCRHTTPConnection(VCRConnection):
-
- _baseclass = HTTPConnection
- _protocol = "http"
-+ debuglevel = _baseclass.debuglevel
-+ _http_vsn = _baseclass._http_vsn
-
-
- class VCRHTTPSConnection(VCRConnection):
-@@ -397,3 +399,5 @@ class VCRHTTPSConnection(VCRConnection):
- _baseclass = HTTPSConnection
- _protocol = "https"
- is_verified = True
-+ debuglevel = _baseclass.debuglevel
-+ _http_vsn = _baseclass._http_vsn
diff --git a/dev-python/vcrpy/files/vcrpy-6.0.1-httpbin-compat.patch b/dev-python/vcrpy/files/vcrpy-6.0.1-httpbin-compat.patch
new file mode 100644
index 000000000000..4e2a91cb4bac
--- /dev/null
+++ b/dev-python/vcrpy/files/vcrpy-6.0.1-httpbin-compat.patch
@@ -0,0 +1,40 @@
+From e60dafb8dce589e7deb63fec552f5c05bd19ac6d Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Fri, 16 Feb 2024 19:33:41 +0100
+Subject: [PATCH] Improve test compatibility with legacy httpbin index
+
+Make the tests slightly more flexible to match both the flasgger-based
+and legacy httpbin index. This is needed for compatibility with
+https://github.com/psf/httpbin/pull/44 when flasgger is not installed
+(e.g. on architectures that are not supported by Rust).
+---
+ tests/integration/test_basic.py | 2 +-
+ tests/integration/test_register_persister.py | 2 +-
+ 2 files changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/tests/integration/test_basic.py b/tests/integration/test_basic.py
+index bfad6153..99121456 100644
+--- a/tests/integration/test_basic.py
++++ b/tests/integration/test_basic.py
+@@ -39,7 +39,7 @@ def test_basic_json_use(tmpdir, httpbin):
+ test_fixture = str(tmpdir.join("synopsis.json"))
+ with vcr.use_cassette(test_fixture, serializer="json"):
+ response = urlopen(httpbin.url).read()
+- assert b"A simple HTTP Request &amp; Response Service." in response
++ assert b"HTTP Request &amp; Response Service" in response
+
+
+ def test_patched_content(tmpdir, httpbin):
+diff --git a/tests/integration/test_register_persister.py b/tests/integration/test_register_persister.py
+index e904197c..375f14be 100644
+--- a/tests/integration/test_register_persister.py
++++ b/tests/integration/test_register_persister.py
+@@ -66,7 +66,7 @@ def test_load_cassette_with_custom_persister(tmpdir, httpbin):
+
+ with my_vcr.use_cassette(test_fixture, serializer="json"):
+ response = urlopen(httpbin.url).read()
+- assert b"A simple HTTP Request &amp; Response Service." in response
++ assert b"HTTP Request &amp; Response Service" in response
+
+
+ def test_load_cassette_persister_exception_handling(tmpdir, httpbin):
diff --git a/dev-python/vcrpy/vcrpy-5.1.0.ebuild b/dev-python/vcrpy/vcrpy-5.1.0.ebuild
deleted file mode 100644
index 0cc7495e8266..000000000000
--- a/dev-python/vcrpy/vcrpy-5.1.0.ebuild
+++ /dev/null
@@ -1,67 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Automatically mock your HTTP interactions to simplify and speed up testing"
-HOMEPAGE="
- https://github.com/kevin1024/vcrpy/
- https://pypi.org/project/vcrpy/
-"
-SRC_URI="
- https://github.com/kevin1024/vcrpy/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
- dev-python/pyyaml[${PYTHON_USEDEP}]
- >=dev-python/requests-2.16.2[${PYTHON_USEDEP}]
- dev-python/urllib3[${PYTHON_USEDEP}]
- dev-python/wrapt[${PYTHON_USEDEP}]
- dev-python/yarl[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-httpbin[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${P}-py312.patch"
-)
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=(
- # these tests are failing with recent dev-python/werkzeug; losely related:
- # https://github.com/kevin1024/vcrpy/issues/645
- tests/integration/test_record_mode.py::test_new_episodes_record_mode_two_times
- tests/integration/test_urllib2.py::test_random_body
- tests/integration/test_urllib2.py::test_multiple_requests
- # broken in general
- tests/integration/test_boto.py
- # Internet
- tests/integration/test_tornado.py
- # broken by simplejson, doesn't seem important
- # https://github.com/kevin1024/vcrpy/issues/751
- tests/unit/test_serialize.py::test_serialize_binary_request
- # new httpbin, sigh
- # https://github.com/kevin1024/vcrpy/issues/761
- tests/integration/test_basic.py::test_basic_json_use
- tests/integration/test_register_persister.py::test_load_cassette_with_custom_persister
- )
-
- local -x REQUESTS_CA_BUNDLE=$("${EPYTHON}" -m pytest_httpbin.certs)
- epytest -m 'not online'
-}
diff --git a/dev-python/vcrpy/vcrpy-6.0.1.ebuild b/dev-python/vcrpy/vcrpy-6.0.1.ebuild
new file mode 100644
index 000000000000..f65324722b8e
--- /dev/null
+++ b/dev-python/vcrpy/vcrpy-6.0.1.ebuild
@@ -0,0 +1,84 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Automatically mock your HTTP interactions to simplify and speed up testing"
+HOMEPAGE="
+ https://github.com/kevin1024/vcrpy/
+ https://pypi.org/project/vcrpy/
+"
+SRC_URI="
+ https://github.com/kevin1024/vcrpy/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+RDEPEND="
+ >=dev-python/httplib2-0.9.1[${PYTHON_USEDEP}]
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+ >=dev-python/requests-2.16.2[${PYTHON_USEDEP}]
+ dev-python/urllib3[${PYTHON_USEDEP}]
+ dev-python/wrapt[${PYTHON_USEDEP}]
+ dev-python/yarl[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/pytest-httpbin[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/kevin1024/vcrpy/pull/823
+ "${FILESDIR}/${P}-httpbin-compat.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # these tests are failing with recent dev-python/werkzeug; losely related:
+ # https://github.com/kevin1024/vcrpy/issues/645
+ tests/integration/test_record_mode.py::test_new_episodes_record_mode_two_times
+ tests/integration/test_urllib2.py::test_random_body
+ tests/integration/test_urllib2.py::test_multiple_requests
+ # Internet
+ "tests/integration/test_urllib3.py::test_post[https]"
+ )
+
+ local EPYTEST_IGNORE=(
+ # requires boto3
+ tests/integration/test_boto3.py
+ # Internet
+ tests/integration/test_tornado.py
+ tests/integration/test_aiohttp.py
+ )
+
+ case ${EPYTHON} in
+ python3.13)
+ EPYTEST_DESELECT+=(
+ # SSL problems, might be weak bundle in pytest-httpbin
+ # https://github.com/kevin1024/vcrpy/issues/848
+ "tests/integration/test_urllib2.py::test_cross_scheme"
+ "tests/integration/test_urllib2.py::test_decorator[https]"
+ "tests/integration/test_urllib2.py::test_get_data[https]"
+ "tests/integration/test_urllib2.py::test_post_data[https]"
+ "tests/integration/test_urllib2.py::test_post_decorator[https]"
+ "tests/integration/test_urllib2.py::test_post_unicode_data[https]"
+ "tests/integration/test_urllib2.py::test_response_code[https]"
+ "tests/integration/test_urllib2.py::test_response_headers[https]"
+ )
+ ;;
+ esac
+
+ local -x REQUESTS_CA_BUNDLE=$("${EPYTHON}" -m pytest_httpbin.certs)
+ epytest -m 'not online'
+}
diff --git a/dev-python/vdf/metadata.xml b/dev-python/vdf/metadata.xml
index fbeab7ec5fdf..f41a57659906 100644
--- a/dev-python/vdf/metadata.xml
+++ b/dev-python/vdf/metadata.xml
@@ -1,10 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/vdf/vdf-3.4-r1.ebuild b/dev-python/vdf/vdf-3.4-r1.ebuild
index 51be1e5702a8..8cad16d80840 100644
--- a/dev-python/vdf/vdf-3.4-r1.ebuild
+++ b/dev-python/vdf/vdf-3.4-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/vdirsyncer/vdirsyncer-0.19.2-r2.ebuild b/dev-python/vdirsyncer/vdirsyncer-0.19.2-r2.ebuild
index f67c5a31bc85..96f84c0866d9 100644
--- a/dev-python/vdirsyncer/vdirsyncer-0.19.2-r2.ebuild
+++ b/dev-python/vdirsyncer/vdirsyncer-0.19.2-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
PYTHON_REQ_USE="sqlite"
inherit distutils-r1 pypi systemd
diff --git a/dev-python/vecrec/vecrec-0.3.1-r1.ebuild b/dev-python/vecrec/vecrec-0.3.1-r1.ebuild
index 6c627614a504..9360c14493b5 100644
--- a/dev-python/vecrec/vecrec-0.3.1-r1.ebuild
+++ b/dev-python/vecrec/vecrec-0.3.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
@@ -15,8 +15,8 @@ HOMEPAGE="
"
LICENSE="MIT"
-KEYWORDS="~amd64 ~arm64"
SLOT="0"
+KEYWORDS="~amd64 ~arm64"
RDEPEND="
dev-python/autoprop[${PYTHON_USEDEP}]
diff --git a/dev-python/verboselogs/verboselogs-1.7-r1.ebuild b/dev-python/verboselogs/verboselogs-1.7-r1.ebuild
index 6ad18e2854f6..8a426848ccfe 100644
--- a/dev-python/verboselogs/verboselogs-1.7-r1.ebuild
+++ b/dev-python/verboselogs/verboselogs-1.7-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -14,9 +14,9 @@ HOMEPAGE="
https://pypi.org/project/verboselogs/
"
-SLOT="0"
LICENSE="MIT"
-KEYWORDS="~amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
+SLOT="0"
+KEYWORDS="amd64 ~arm ~x86 ~amd64-linux ~x86-linux"
BDEPEND="
test? (
diff --git a/dev-python/versioneer/versioneer-0.29-r1.ebuild b/dev-python/versioneer/versioneer-0.29-r1.ebuild
index 984f78d862f4..3528e48099c5 100644
--- a/dev-python/versioneer/versioneer-0.29-r1.ebuild
+++ b/dev-python/versioneer/versioneer-0.29-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -21,8 +21,8 @@ SRC_URI="
"
S=${WORKDIR}/${MY_P}
-SLOT="0"
LICENSE="Unlicense"
+SLOT="0"
KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
IUSE="test"
RESTRICT="!test? ( test )"
diff --git a/dev-python/versioningit/Manifest b/dev-python/versioningit/Manifest
index b657baa5f60d..9d28d21fc071 100644
--- a/dev-python/versioningit/Manifest
+++ b/dev-python/versioningit/Manifest
@@ -1,2 +1,2 @@
-DIST versioningit-2.2.1.tar.gz 743942 BLAKE2B f0f84b2323cdeac79144d842bbebfc196aecb35752da4dc0e343a709fc539eba50f33079dc652e95dc06bda8ddb761b5a68179b50f533434aafd7d4b1263af63 SHA512 9ec8d4cf26392fd3bfd29d5c3e573a6af8e6a42c6aff1d0f9dbf68a17b667c55859d64d91d5715bf232f4eea22a6f300cbfc6da2be8364186c23b5023fa0e6ad
-DIST versioningit-2.3.0.tar.gz 209785 BLAKE2B 392706b969a3a94be6dee2bbd8935cf97e3f0ab0b102c5ae1ef2d65b25d6e44faf9e50301639aca77c8d81e0265875c548a9d28d331cbc07aaae7ed589c6ab04 SHA512 2e91ab8bf7be333b4783e8e7ad6cf4897694a5d3e14f41cad0f3683291078fb88845d629ee1e41885408bf07d5ea6250588af6e6cf6d6596df1bae4bee5ddf0b
+DIST versioningit-3.1.1.tar.gz 212882 BLAKE2B 786af766a5e85ea426dee02d1ae888b0a50712f9d154690302b3fdb1f4aa037a931612ad3f1f169a3d8f3481db09da895cf3ba7dcbc7d2f256b3b8622334e08e SHA512 f8e23834324f785b93668f4cb55d57885cf96e9ca16f1d6a06c3610dd00a79c018960fe52aff5fe4cc735b5fcec27be1ceb151a88e0e9a447cba750dd6956816
+DIST versioningit-3.1.2.tar.gz 213047 BLAKE2B d34f3d14a667e84a0d7f17fa9de59bbb4d900d466120879939dfb9586b20ee45c6f33991c586438e47cc58de70db03996ade0561a91efffeee49545ac5f1ef97 SHA512 0e09a51ed9a137ffa9a66c2a8b4c43131bd27d07e35b896248d963a780f955d6bf37de29c04e41acf06dd636a3609d045e359b28429d7272fad6187db7748c3c
diff --git a/dev-python/versioningit/versioningit-2.2.1.ebuild b/dev-python/versioningit/versioningit-2.2.1.ebuild
deleted file mode 100644
index 2926df7ed5b8..000000000000
--- a/dev-python/versioningit/versioningit-2.2.1.ebuild
+++ /dev/null
@@ -1,48 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A setuptools plugin for versioning based on git tags"
-HOMEPAGE="
- https://github.com/jwodder/versioningit/
- https://pypi.org/project/versioningit/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/packaging-17.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- <dev-python/tomli-3[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- test? (
- dev-python/pydantic[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # Tries to do wheel/pip installs
- test/test_end2end.py
-)
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -i -e '/-cov/d' tox.ini || die
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- epytest -p no:pytest-describe
-}
diff --git a/dev-python/versioningit/versioningit-2.3.0.ebuild b/dev-python/versioningit/versioningit-2.3.0.ebuild
deleted file mode 100644
index bae678a7309a..000000000000
--- a/dev-python/versioningit/versioningit-2.3.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A setuptools plugin for versioning based on git tags"
-HOMEPAGE="
- https://github.com/jwodder/versioningit/
- https://pypi.org/project/versioningit/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
-
-RDEPEND="
- >=dev-python/packaging-17.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- <dev-python/tomli-3[${PYTHON_USEDEP}]
- ' 3.10)
-"
-BDEPEND="
- test? (
- dev-python/pydantic[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # Tries to do wheel/pip installs
- test/test_end2end.py
-)
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest -o addopts=
-}
diff --git a/dev-python/versioningit/versioningit-3.1.1.ebuild b/dev-python/versioningit/versioningit-3.1.1.ebuild
new file mode 100644
index 000000000000..eba49aa937e1
--- /dev/null
+++ b/dev-python/versioningit/versioningit-3.1.1.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A setuptools plugin for versioning based on git tags"
+HOMEPAGE="
+ https://github.com/jwodder/versioningit/
+ https://pypi.org/project/versioningit/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/packaging-17.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ <dev-python/tomli-3[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # Tries to do wheel/pip installs
+ test/test_end2end.py
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/versioningit/versioningit-3.1.2.ebuild b/dev-python/versioningit/versioningit-3.1.2.ebuild
new file mode 100644
index 000000000000..b24bac0d9fbe
--- /dev/null
+++ b/dev-python/versioningit/versioningit-3.1.2.ebuild
@@ -0,0 +1,43 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A setuptools plugin for versioning based on git tags"
+HOMEPAGE="
+ https://github.com/jwodder/versioningit/
+ https://pypi.org/project/versioningit/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~riscv ~x86"
+
+RDEPEND="
+ >=dev-python/packaging-17.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ <dev-python/tomli-3[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+BDEPEND="
+ test? (
+ dev-python/pydantic[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_IGNORE=(
+ # Tries to do wheel/pip installs
+ test/test_end2end.py
+)
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts=
+}
diff --git a/dev-python/vine/files/vine-5.1.0-pytest-8.patch b/dev-python/vine/files/vine-5.1.0-pytest-8.patch
new file mode 100644
index 000000000000..f9cf0863b062
--- /dev/null
+++ b/dev-python/vine/files/vine-5.1.0-pytest-8.patch
@@ -0,0 +1,29 @@
+From cf9b3979173ff22a4a410c4da6cfdad878eced8c Mon Sep 17 00:00:00 2001
+From: Stanislav Levin <slev@altlinux.org>
+Date: Tue, 27 Feb 2024 23:53:38 +0300
+Subject: [PATCH] tests: Replace deprecated setup method (#105)
+
+Nose's `setup` method is deprecated since Pytest 7.2.
+
+See https://docs.pytest.org/en/stable/deprecations.html#support-for-tests-written-for-nose for details.
+
+Fixes: https://github.com/celery/vine/issues/104
+
+Signed-off-by: Stanislav Levin <slev@altlinux.org>
+---
+ t/unit/test_synchronization.py | 2 +-
+ 1 file changed, 1 insertion(+), 1 deletion(-)
+
+diff --git a/t/unit/test_synchronization.py b/t/unit/test_synchronization.py
+index 87335b6..47b7a10 100644
+--- a/t/unit/test_synchronization.py
++++ b/t/unit/test_synchronization.py
+@@ -8,7 +8,7 @@
+
+ class test_barrier:
+
+- def setup(self):
++ def setup_method(self):
+ self.m1, self.m2, self.m3 = Mock(), Mock(), Mock()
+ self.ps = [promise(self.m1), promise(self.m2), promise(self.m3)]
+
diff --git a/dev-python/vine/vine-5.1.0.ebuild b/dev-python/vine/vine-5.1.0.ebuild
index 0d8990a58004..723c28e6d6d8 100644
--- a/dev-python/vine/vine-5.1.0.ebuild
+++ b/dev-python/vine/vine-5.1.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -19,3 +19,8 @@ SLOT="0"
KEYWORDS="amd64 arm64 x86"
distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/celery/vine/pull/105
+ "${FILESDIR}/${P}-pytest-8.patch"
+)
diff --git a/dev-python/virtualenv-clone/files/virtualenv-clone-0.5.7-backport-pr79.patch b/dev-python/virtualenv-clone/files/virtualenv-clone-0.5.7-backport-pr79.patch
new file mode 100644
index 000000000000..7ded302ed099
--- /dev/null
+++ b/dev-python/virtualenv-clone/files/virtualenv-clone-0.5.7-backport-pr79.patch
@@ -0,0 +1,28 @@
+https://bugs.gentoo.org/918079
+https://github.com/edwardgeorge/virtualenv-clone/pull/79
+
+From 028494ee84cf4626aab291c621b2b9ec23f8688a Mon Sep 17 00:00:00 2001
+From: matoro <matoro@users.noreply.github.com>
+Date: Mon, 18 Dec 2023 18:18:17 -0500
+Subject: [PATCH] Support Python 3.11, 3.12
+
+---
+ .travis.yml | 2 ++
+ setup.py | 2 ++
+ tests/__init__.py | 2 +-
+ tox.ini | 2 +-
+ 4 files changed, 6 insertions(+), 2 deletions(-)
+
+diff --git a/tests/__init__.py b/tests/__init__.py
+index c9a52ca..14648f4 100644
+--- a/tests/__init__.py
++++ b/tests/__init__.py
+@@ -8,7 +8,7 @@
+ tmplocation = tempfile.mkdtemp()
+ venv_path = os.path.realpath(os.path.join(tmplocation,'srs_venv'))
+ clone_path = os.path.realpath(os.path.join(tmplocation,'clone_venv'))
+-versions = ['2.7', '3.4', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10']
++versions = ['2.7', '3.4', '3.5', '3.6', '3.7', '3.8', '3.9', '3.10', '3.11', '3.12']
+
+ def clean():
+ if os.path.exists(tmplocation): shutil.rmtree(tmplocation)
diff --git a/dev-python/virtualenv-clone/virtualenv-clone-0.5.7.ebuild b/dev-python/virtualenv-clone/virtualenv-clone-0.5.7.ebuild
index c3063860f8c8..ebfc3c74ff31 100644
--- a/dev-python/virtualenv-clone/virtualenv-clone-0.5.7.ebuild
+++ b/dev-python/virtualenv-clone/virtualenv-clone-0.5.7.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -20,7 +20,7 @@ SRC_URI="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="amd64 ~ppc64 ~riscv x86"
+KEYWORDS="amd64 ~arm64 ~ppc64 ~riscv x86"
BDEPEND="
test? (
@@ -28,4 +28,6 @@ BDEPEND="
)
"
+PATCHES=( "${FILESDIR}/${PN}-0.5.7-backport-pr79.patch" )
+
distutils_enable_tests pytest
diff --git a/dev-python/virtualenv/Manifest b/dev-python/virtualenv/Manifest
index cb6cd6cb8d9a..5c9f8a4026ae 100644
--- a/dev-python/virtualenv/Manifest
+++ b/dev-python/virtualenv/Manifest
@@ -1,2 +1 @@
-DIST virtualenv-20.24.7.tar.gz 7141024 BLAKE2B 1125960c3a0b84f1350a9b427e6387dacbf2b2c5ef827bd21d61b5b0fd2e0c81c01b452390b1ec96ed139ed42d3f061394c82227c06a873bca9c21bd5a8fcfbc SHA512 fdfa763f026665cf8bd624192f71853c00b22f0b34f4bf4cd629c928a3c666f60d3dd7ee10c3c46b9a8b383cce51015c5fdeb891e9c6033b02563686d5e7790e
-DIST virtualenv-20.25.0.tar.gz 7150307 BLAKE2B ebe36d523d23aa6e29b53cf49e536aa0f2ab6bb2edcfaed3ba89456893a0cb9fb7bf8f97c61f12725a57023a6b565a0de797f988714469e2166da5d63652d54e SHA512 f4d8acff9d5837aa40eea18810517d4f1b9936b567395d6216bbda36e84b24f8efc584586cd2d168491139b346513d924e371b6b1396833fbbfedebef8620b94
+DIST virtualenv-20.26.3.tar.gz 9057588 BLAKE2B 74268cab291e7f1e3db6a4c56f0ede1d7995069cb5594341d9af0609196a8154e9153f920043b48100c2263b7020c819135e29532483b233f3c37bf3b780592f SHA512 0cd3b4dc082d071305b44dd2aba2b28527e630b6b4bf28b7b6c59f3e061b01c1dfcfb64293f2b1904109e9e27b70a873cc8c3f1a3cde73bfee114943cef92ca7
diff --git a/dev-python/virtualenv/files/virtualenv-20.26.3-ensurepip.patch b/dev-python/virtualenv/files/virtualenv-20.26.3-ensurepip.patch
new file mode 100644
index 000000000000..c4b631e5a2b6
--- /dev/null
+++ b/dev-python/virtualenv/files/virtualenv-20.26.3-ensurepip.patch
@@ -0,0 +1,37 @@
+From 468118fcf55abf1fd4927ad0ab0b48bbb25c0a3c Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Micha=C5=82=20G=C3=B3rny?= <mgorny@gentoo.org>
+Date: Sat, 22 Jun 2024 14:28:23 +0200
+Subject: [PATCH] [Gentoo] Use ensurepip wheels instead of local bundle
+
+---
+ src/virtualenv/seed/wheels/embed/__init__.py | 8 ++++++++
+ 1 file changed, 8 insertions(+)
+
+diff --git a/src/virtualenv/seed/wheels/embed/__init__.py b/src/virtualenv/seed/wheels/embed/__init__.py
+index 102ed8e..66ba52b 100644
+--- a/src/virtualenv/seed/wheels/embed/__init__.py
++++ b/src/virtualenv/seed/wheels/embed/__init__.py
+@@ -1,5 +1,6 @@
+ from __future__ import annotations
+
++import sysconfig
+ from pathlib import Path
+
+ from virtualenv.seed.wheels.util import Wheel
+@@ -51,6 +52,13 @@ MAX = "3.7"
+
+
+ def get_embed_wheel(distribution, for_py_version):
++ # Gentoo hack: get wheel from ensurepip directory
++ bundle_dir = Path(sysconfig.get_config_var("WHEEL_PKG_DIR"))
++ try:
++ return Wheel.from_path(next(bundle_dir.glob(f"{distribution}-*.whl")))
++ except StopIteration:
++ return None
++
+ path = BUNDLE_FOLDER / (BUNDLE_SUPPORT.get(for_py_version, {}) or BUNDLE_SUPPORT[MAX]).get(distribution)
+ return Wheel.from_path(path)
+
+--
+2.45.2
+
diff --git a/dev-python/virtualenv/virtualenv-20.24.7.ebuild b/dev-python/virtualenv/virtualenv-20.24.7.ebuild
deleted file mode 100644
index f88ff8d25e6f..000000000000
--- a/dev-python/virtualenv/virtualenv-20.24.7.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="Virtual Python Environment builder"
-HOMEPAGE="
- https://virtualenv.pypa.io/en/stable/
- https://pypi.org/project/virtualenv/
- https://github.com/pypa/virtualenv/
-"
-
-LICENSE="MIT"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/distlib-0.3.7[${PYTHON_USEDEP}]
- >=dev-python/filelock-3.12.2[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-3.9.1[${PYTHON_USEDEP}]
-"
-# coverage is used somehow magically in virtualenv, maybe it actually
-# tests something useful
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- >=dev-python/pip-22.2.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/pytest-freezer-0.4.6[${PYTHON_USEDEP}]
- ' pypy3)
- >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/setuptools-67.8[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/time-machine[${PYTHON_USEDEP}]
- ' 'python3*')
- dev-python/wheel[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # workaround test failures due to warnings from setuptools-scm, sigh
- echo '[tool.setuptools_scm]' >> pyproject.toml || die
-
- # remove useless pins
- sed -i -e 's:<[0-9.]*,::' pyproject.toml || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- tests/unit/activation/test_xonsh.py
- tests/unit/seed/embed/test_bootstrap_link_via_app_data.py::test_seed_link_via_app_data
- tests/unit/create/test_creator.py::test_cross_major
- # tests failing without python2 installed
- "tests/unit/create/test_creator.py::test_py_pyc_missing[True-False]"
- "tests/unit/create/test_creator.py::test_py_pyc_missing[False-False]"
- )
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- 'tests/unit/create/test_creator.py::test_create_no_seed[root-pypy3-posix-copies-isolated]'
- 'tests/unit/create/test_creator.py::test_create_no_seed[root-pypy3-posix-copies-global]'
- 'tests/unit/create/test_creator.py::test_create_no_seed[venv-pypy3-posix-copies-isolated]'
- 'tests/unit/create/test_creator.py::test_create_no_seed[venv-pypy3-posix-copies-global]'
- 'tests/unit/create/test_creator.py::test_create_no_seed[root-venv-copies-isolated]'
- 'tests/unit/create/test_creator.py::test_create_no_seed[root-venv-copies-global]'
- 'tests/unit/create/test_creator.py::test_create_no_seed[venv-venv-copies-isolated]'
- 'tests/unit/create/test_creator.py::test_create_no_seed[venv-venv-copies-global]'
- 'tests/unit/create/test_creator.py::test_zip_importer_can_import_setuptools'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.9-64-bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.9--bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.10-64-bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.10--bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7-64-bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7--bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3-64-bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3--bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.9-64-bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.9--bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.10-64-bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.10--bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7-64-bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7--bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3-64-bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3--bin-]'
- )
- ;;
- python3.12)
- EPYTEST_DESELECT+=(
- tests/unit/create/via_global_ref/test_build_c_ext.py
- )
- ;&
- python3.11)
- EPYTEST_DESELECT+=(
- # TODO
- tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable
- )
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x TZ=UTC
- local plugins=( -p flaky -p pytest_mock )
- if [[ ${EPYTHON} == pypy3 ]]; then
- plugins+=( -p freezegun )
- else
- plugins+=( -p time_machine )
- fi
- epytest "${plugins[@]}" -p xdist -n "$(makeopts_jobs)" --dist=worksteal
-}
diff --git a/dev-python/virtualenv/virtualenv-20.25.0.ebuild b/dev-python/virtualenv/virtualenv-20.25.0.ebuild
deleted file mode 100644
index e19def335af9..000000000000
--- a/dev-python/virtualenv/virtualenv-20.25.0.ebuild
+++ /dev/null
@@ -1,122 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="Virtual Python Environment builder"
-HOMEPAGE="
- https://virtualenv.pypa.io/en/stable/
- https://pypi.org/project/virtualenv/
- https://github.com/pypa/virtualenv/
-"
-
-LICENSE="MIT"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86"
-SLOT="0"
-
-RDEPEND="
- >=dev-python/distlib-0.3.7[${PYTHON_USEDEP}]
- >=dev-python/filelock-3.12.2[${PYTHON_USEDEP}]
- >=dev-python/platformdirs-3.9.1[${PYTHON_USEDEP}]
-"
-# coverage is used somehow magically in virtualenv, maybe it actually
-# tests something useful
-BDEPEND="
- dev-python/hatch-vcs[${PYTHON_USEDEP}]
- test? (
- dev-python/coverage[${PYTHON_USEDEP}]
- dev-python/flaky[${PYTHON_USEDEP}]
- >=dev-python/pip-22.2.1[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/pytest-freezer-0.4.6[${PYTHON_USEDEP}]
- ' pypy3)
- >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- >=dev-python/setuptools-67.8[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- dev-python/time-machine[${PYTHON_USEDEP}]
- ' 'python3*')
- dev-python/wheel[${PYTHON_USEDEP}]
- >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # workaround test failures due to warnings from setuptools-scm, sigh
- echo '[tool.setuptools_scm]' >> pyproject.toml || die
-
- # remove useless pins
- sed -i -e 's:<[0-9.]*,::' pyproject.toml || die
-
- distutils-r1_src_prepare
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- tests/unit/activation/test_xonsh.py
- tests/unit/seed/embed/test_bootstrap_link_via_app_data.py::test_seed_link_via_app_data
- tests/unit/create/test_creator.py::test_cross_major
- # tests failing without python2 installed
- "tests/unit/create/test_creator.py::test_py_pyc_missing[True-False]"
- "tests/unit/create/test_creator.py::test_py_pyc_missing[False-False]"
- )
- case ${EPYTHON} in
- pypy3)
- EPYTEST_DESELECT+=(
- 'tests/unit/create/test_creator.py::test_create_no_seed[root-pypy3-posix-copies-isolated]'
- 'tests/unit/create/test_creator.py::test_create_no_seed[root-pypy3-posix-copies-global]'
- 'tests/unit/create/test_creator.py::test_create_no_seed[venv-pypy3-posix-copies-isolated]'
- 'tests/unit/create/test_creator.py::test_create_no_seed[venv-pypy3-posix-copies-global]'
- 'tests/unit/create/test_creator.py::test_create_no_seed[root-venv-copies-isolated]'
- 'tests/unit/create/test_creator.py::test_create_no_seed[root-venv-copies-global]'
- 'tests/unit/create/test_creator.py::test_create_no_seed[venv-venv-copies-isolated]'
- 'tests/unit/create/test_creator.py::test_create_no_seed[venv-venv-copies-global]'
- 'tests/unit/create/test_creator.py::test_zip_importer_can_import_setuptools'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.9-64-bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.9--bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.10-64-bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7.10--bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7-64-bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3.7--bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3-64-bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[PyPy-3--bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.9-64-bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.9--bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.10-64-bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7.10--bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7-64-bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3.7--bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3-64-bin-]'
- 'tests/unit/discovery/py_info/test_py_info_exe_based_of.py::test_discover_ok[python-3--bin-]'
- )
- ;;
- python3.12)
- EPYTEST_DESELECT+=(
- tests/unit/create/via_global_ref/test_build_c_ext.py
- )
- ;&
- python3.11)
- EPYTEST_DESELECT+=(
- # TODO
- tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable
- )
- ;;
- esac
-
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x TZ=UTC
- local plugins=( -p flaky -p pytest_mock )
- if [[ ${EPYTHON} == pypy3 ]]; then
- plugins+=( -p freezegun )
- else
- plugins+=( -p time_machine )
- fi
- epytest "${plugins[@]}" -p xdist -n "$(makeopts_jobs)" --dist=worksteal
-}
diff --git a/dev-python/virtualenv/virtualenv-20.26.3-r2.ebuild b/dev-python/virtualenv/virtualenv-20.26.3-r2.ebuild
new file mode 100644
index 000000000000..55651c9b31b6
--- /dev/null
+++ b/dev-python/virtualenv/virtualenv-20.26.3-r2.ebuild
@@ -0,0 +1,118 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 multiprocessing pypi
+
+DESCRIPTION="Virtual Python Environment builder"
+HOMEPAGE="
+ https://virtualenv.pypa.io/en/stable/
+ https://pypi.org/project/virtualenv/
+ https://github.com/pypa/virtualenv/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/distlib-0.3.7[${PYTHON_USEDEP}]
+ >=dev-python/filelock-3.12.2[${PYTHON_USEDEP}]
+ >=dev-python/platformdirs-3.9.1[${PYTHON_USEDEP}]
+
+ dev-python/ensurepip-pip
+ dev-python/ensurepip-setuptools
+ dev-python/ensurepip-wheel
+"
+# coverage is used somehow magically in virtualenv, maybe it actually
+# tests something useful
+BDEPEND="
+ dev-python/hatch-vcs[${PYTHON_USEDEP}]
+ test? (
+ dev-python/coverage[${PYTHON_USEDEP}]
+ dev-python/flaky[${PYTHON_USEDEP}]
+ >=dev-python/pip-22.2.1[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/pytest-freezer-0.4.6[${PYTHON_USEDEP}]
+ ' pypy3)
+ >=dev-python/pytest-mock-3.6.1[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-67.8[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/time-machine[${PYTHON_USEDEP}]
+ ' 'python3*')
+ dev-python/wheel[${PYTHON_USEDEP}]
+ >=dev-python/packaging-20.0[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_TIMEOUT=180
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ # use wheels from ensurepip bundle
+ "${FILESDIR}/${PN}-20.26.3-ensurepip.patch"
+ )
+
+ distutils-r1_src_prepare
+
+ # workaround test failures due to warnings from setuptools-scm, sigh
+ echo '[tool.setuptools_scm]' >> pyproject.toml || die
+
+ # remove useless pins
+ sed -i -e 's:<[0-9.]*,::' pyproject.toml || die
+
+ # remove bundled wheels
+ rm src/virtualenv/seed/wheels/embed/*.whl || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/unit/seed/embed/test_bootstrap_link_via_app_data.py::test_seed_link_via_app_data
+ # tests for old wheels with py3.7 support
+ tests/unit/seed/embed/test_pip_invoke.py::test_base_bootstrap_via_pip_invoke
+ tests/unit/seed/wheels/test_wheels_util.py::test_wheel_not_support
+ # broken by different wheel versions in ensurepip
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_string
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_exact
+ tests/unit/seed/wheels/test_acquire_find_wheel.py::test_find_latest_none
+ tests/unit/seed/wheels/test_acquire.py::test_download_wheel_bad_output
+ # hangs on a busy system, sigh
+ tests/unit/test_util.py::test_reentrant_file_lock_is_thread_safe
+ )
+ case ${EPYTHON} in
+ python3.1[23])
+ EPYTEST_DESELECT+=(
+ tests/unit/create/via_global_ref/test_build_c_ext.py
+ )
+ ;&
+ python3.11)
+ EPYTEST_DESELECT+=(
+ # TODO
+ tests/unit/discovery/py_info/test_py_info.py::test_fallback_existent_system_executable
+ )
+ ;;
+ esac
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x TZ=UTC
+ local plugins=( -p flaky -p pytest_mock )
+ if [[ ${EPYTHON} == pypy3 ]]; then
+ plugins+=( -p freezer )
+ else
+ plugins+=( -p time_machine )
+ fi
+ epytest "${plugins[@]}" -p xdist -n "$(makeopts_jobs)" --dist=worksteal
+}
+
+src_install() {
+ distutils-r1_src_install
+
+ # remove bundled wheels, we're using ensurepip bundle instead
+ find "${ED}" -name '*.whl' -delete || die
+}
diff --git a/dev-python/virtualenvwrapper/Manifest b/dev-python/virtualenvwrapper/Manifest
index 75b20e89d6cd..38deaed880b4 100644
--- a/dev-python/virtualenvwrapper/Manifest
+++ b/dev-python/virtualenvwrapper/Manifest
@@ -1 +1 @@
-DIST virtualenvwrapper-4.8.4_p20230121.gh.tar.gz 72852 BLAKE2B 2996b88f93790587ffbeed936334bb1f12a9d6d952eb7c9b728a6644c9b7c7e0953bc7c71201fbd590f6258eb163af1aa6494f476decfa54f095ca215e4e13e1 SHA512 9df8b20dd8d50fe7891b845c8112edc165b08cc231ebb4010aed8ec50a22005207a9a3c9c9941daa2b958022f0edf993425bf95692f7032d1e5c5719a552d3b4
+DIST virtualenvwrapper-6.1.0.tar.gz 95880 BLAKE2B 86d37682148ee132f9be5c4554de3c770c0f1c3055441bbce080d94da6fa83fc138a15c4c7edbb525e0c303c3c2ba5c1b1ee23260ea5bafaab157b3699b39b87 SHA512 78e09956132862fbf1caf53cb6c9375aa3718685f72d8f3fb61e402e6b26e8568d5b3a3ed18142b14f3b2691f89e6f912782e813d8139dc71ceb7e47bde8d0b0
diff --git a/dev-python/virtualenvwrapper/files/virtualenvwrapper-4.8.4_p20230121-remove-use-of-which.patch b/dev-python/virtualenvwrapper/files/virtualenvwrapper-4.8.4_p20230121-remove-use-of-which.patch
deleted file mode 100644
index 875542cf17f6..000000000000
--- a/dev-python/virtualenvwrapper/files/virtualenvwrapper-4.8.4_p20230121-remove-use-of-which.patch
+++ /dev/null
@@ -1,116 +0,0 @@
-https://bugs.gentoo.org/646588
-https://github.com/parona-source/virtualenvwrapper/commit/d7dd99ca8e4ebdf5668708634cf793acee5d35b3
-
-From d7dd99ca8e4ebdf5668708634cf793acee5d35b3 Mon Sep 17 00:00:00 2001
-From: Alfred Wingate <parona@protonmail.com>
-Date: Wed, 21 Jun 2023 11:35:04 +0300
-Subject: [PATCH] Remove use of which, use command -v or built-ins instead
-
-* which isn't a POSIX tool and some distributions have or are still
- considering dropping it in favour of using commands included by
- POSIX or shell built-ins.
-* Used command built-in where applicable, but type and whence for bash
- and zsh respectively in virtualenvwrapper_verify_resource to preserve
- previous behaviour with which when programs also have built-ins
- with the same name. command -v outputs just the name and not the path
- in those cases.
-
-https://lwn.net/Articles/874049/
-https://bugs.gentoo.org/646588
-
-Signed-off-by: Alfred Wingate <parona@protonmail.com>
----
- tests/run_tests | 2 +-
- tests/test_cp.sh | 2 +-
- tests/test_mkvirtualenv.sh | 4 +---
- virtualenvwrapper.sh | 10 ++++++++--
- virtualenvwrapper_lazy.sh | 2 +-
- 5 files changed, 12 insertions(+), 8 deletions(-)
-
-diff --git a/tests/run_tests b/tests/run_tests
-index 68cb362..c9a81d6 100755
---- a/tests/run_tests
-+++ b/tests/run_tests
-@@ -62,7 +62,7 @@ do
- echo " BASH_VERSION=$BASH_VERSION"
- echo " ZSH_VERSION=$ZSH_VERSION"
- echo " KSH_VERSION=$KSH_VERSION"
-- echo " virtualenv=$(which virtualenv)"
-+ echo " virtualenv=$(command -v virtualenv)"
- echo " test_shell_opts=$test_shell_opts"
- echo " ZSH=$ZSH_NAME $ZSH_EVAL_CONTEXT"
- echo " TMPDIR=$TMPDIR"
-diff --git a/tests/test_cp.sh b/tests/test_cp.sh
-index 3bd9196..3227c7a 100755
---- a/tests/test_cp.sh
-+++ b/tests/test_cp.sh
-@@ -26,7 +26,7 @@ test_new_env_activated () {
- (cd tests/testpackage && python setup.py install) >/dev/null 2>&1
- cpvirtualenv "source" "destination" >/dev/null 2>&1
- rmvirtualenv "source" >/dev/null 2>&1
-- testscript="$(which testscript.py)"
-+ testscript="$(command -v testscript.py)"
- assertTrue "Environment test script not found in path" "[ $WORKON_HOME/destination/bin/testscript.py -ef $testscript ]"
- testscriptcontent="$(cat $testscript)"
- assertTrue "No cpvirtualenvtest in $testscriptcontent" "echo $testscriptcontent | grep cpvirtualenvtest"
-diff --git a/tests/test_mkvirtualenv.sh b/tests/test_mkvirtualenv.sh
-index 3c37dfe..47b603a 100755
---- a/tests/test_mkvirtualenv.sh
-+++ b/tests/test_mkvirtualenv.sh
-@@ -68,11 +68,9 @@ GLOBAL postmkvirtualenv"
- }
-
- test_no_virtualenv () {
-- # Find "which" before we change the path
-- which=$(which which)
- old_path="$PATH"
- PATH="/bin:/usr/sbin:/sbin"
-- venv=$($which virtualenv 2>/dev/null)
-+ venv=$(command -v virtualenv)
- if [ ! -z "$venv" ]
- then
- echo "FOUND \"$venv\" in PATH so skipping this test"
-diff --git a/virtualenvwrapper.sh b/virtualenvwrapper.sh
-index b8e4a42..469fa35 100644
---- a/virtualenvwrapper.sh
-+++ b/virtualenvwrapper.sh
-@@ -47,7 +47,7 @@
- # Locate the global Python where virtualenvwrapper is installed.
- if [ "${VIRTUALENVWRAPPER_PYTHON:-}" = "" ]
- then
-- _virtualenvwrapper_python_executable="$(which python3 2>/dev/null)"
-+ _virtualenvwrapper_python_executable="$(command -v python3)"
- if [ -n "$_virtualenvwrapper_python_executable" ] && $_virtualenvwrapper_python_executable -m 'virtualenvwrapper.hook_loader' --help >/dev/null 2>&1
- then
- VIRTUALENVWRAPPER_PYTHON=$_virtualenvwrapper_python_executable
-@@ -330,7 +330,13 @@ function virtualenvwrapper_initialize {
-
- # Verify that the passed resource is in path and exists
- function virtualenvwrapper_verify_resource {
-- typeset exe_path="$(command \which "$1" | (unset GREP_OPTIONS; command \grep -v "not found"))"
-+ if [ -n "${ZSH_VERSION}" ]
-+ then
-+ typeset exe_path="$(whence -p "${1}")"
-+ else
-+ typeset exe_path="$(type -P "${1}")"
-+ fi
-+
- if [ "$exe_path" = "" ]
- then
- echo "ERROR: virtualenvwrapper could not find $1 in your path" >&2
-diff --git a/virtualenvwrapper_lazy.sh b/virtualenvwrapper_lazy.sh
-index 3902d08..9016b6c 100644
---- a/virtualenvwrapper_lazy.sh
-+++ b/virtualenvwrapper_lazy.sh
-@@ -5,7 +5,7 @@ export _VIRTUALENVWRAPPER_API="$_VIRTUALENVWRAPPER_API mkvirtualenv rmvirtualenv
-
- if [ -z "$VIRTUALENVWRAPPER_SCRIPT" ]
- then
-- export VIRTUALENVWRAPPER_SCRIPT="$(command \which virtualenvwrapper.sh)"
-+ export VIRTUALENVWRAPPER_SCRIPT="$(command -v virtualenvwrapper.sh)"
- fi
- if [ -z "$VIRTUALENVWRAPPER_SCRIPT" ]
- then
---
-2.41.0
-
diff --git a/dev-python/virtualenvwrapper/files/virtualenvwrapper-6.0.0-remove-use-of-which.patch b/dev-python/virtualenvwrapper/files/virtualenvwrapper-6.0.0-remove-use-of-which.patch
new file mode 100644
index 000000000000..41f0dba39a1d
--- /dev/null
+++ b/dev-python/virtualenvwrapper/files/virtualenvwrapper-6.0.0-remove-use-of-which.patch
@@ -0,0 +1,106 @@
+From fb2b22fce88d323727a49c760187c0470b78fa9a Mon Sep 17 00:00:00 2001
+From: Alfred Wingate <parona@protonmail.com>
+Date: Wed, 21 Jun 2023 11:35:04 +0300
+Subject: [PATCH] Remove use of which, use command -v or built-ins instead
+
+* which isn't a POSIX tool and some distributions have or are still
+ considering dropping it in favour of using commands included by
+ POSIX or shell built-ins.
+* Used command built-in where applicable, but type and whence for bash
+ and zsh respectively in virtualenvwrapper_verify_resource to preserve
+ previous behaviour with which when programs also have built-ins
+ with the same name. command -v outputs just the name and not the path
+ in those cases.
+
+https://lwn.net/Articles/874049/
+https://bugs.gentoo.org/646588
+
+Signed-off-by: Alfred Wingate <parona@protonmail.com>
+--- a/tests/run_tests
++++ b/tests/run_tests
+@@ -61,7 +61,7 @@ do
+ echo " SHELL=$SHELL"
+ echo " BASH_VERSION=$BASH_VERSION"
+ echo " ZSH_VERSION=$ZSH_VERSION"
+- echo " virtualenv=$(which virtualenv)"
++ echo " virtualenv=$(command -v virtualenv)"
+ echo " test_shell_opts=$test_shell_opts"
+ echo " ZSH=$ZSH_NAME $ZSH_EVAL_CONTEXT"
+ echo " TMPDIR=$TMPDIR"
+--- a/tests/setup.sh
++++ b/tests/setup.sh
+@@ -14,7 +14,7 @@ export PROJECT_HOME=$(mktemp -d -t "PROJECT_HOME.XXXX.$$")
+ SCRIPTDIR="$( cd "$( dirname "${BASH_SOURCE[0]}" )" && pwd )"
+
+ # This should point to VIRTUAL_ENV/bin when running under tox.
+-TEST_BIN_DIR=$(dirname $(which python))
++TEST_BIN_DIR=$(dirname $(command -v python))
+
+ load_wrappers() {
+ if [ "$USING_TOX" = "1" ]; then
+--- a/tests/test_cp.sh
++++ b/tests/test_cp.sh
+@@ -26,7 +26,7 @@ test_new_env_activated () {
+ (cd tests/testpackage && pip install .) >/dev/null 2>&1
+ cpvirtualenv "source" "destination" >/dev/null 2>&1
+ rmvirtualenv "source" >/dev/null 2>&1
+- testscript="$(which testscript.py)"
++ testscript="$(command -v testscript.py)"
+ assertTrue "Environment test script not found in path" "[ $WORKON_HOME/destination/bin/testscript.py -ef $testscript ]"
+ testscriptcontent="$(cat $testscript)"
+ assertTrue "No cpvirtualenvtest in $testscriptcontent" "echo $testscriptcontent | grep cpvirtualenvtest"
+--- a/tests/test_mkvirtualenv.sh
++++ b/tests/test_mkvirtualenv.sh
+@@ -68,11 +68,9 @@ GLOBAL postmkvirtualenv"
+ }
+
+ test_no_virtualenv () {
+- # Find "which" before we change the path
+- which=$(which which)
+ old_path="$PATH"
+ PATH="/bin:/usr/sbin:/sbin"
+- venv=$($which virtualenv 2>/dev/null)
++ venv=$(command -v virtualenv)
+ if [ ! -z "$venv" ]
+ then
+ echo "FOUND \"$venv\" in PATH so skipping this test"
+--- a/virtualenvwrapper.sh
++++ b/virtualenvwrapper.sh
+@@ -47,7 +47,7 @@
+ # Locate the global Python where virtualenvwrapper is installed.
+ if [ "${VIRTUALENVWRAPPER_PYTHON:-}" = "" ]
+ then
+- _virtualenvwrapper_python_executable="$(which python3 2>/dev/null)"
++ _virtualenvwrapper_python_executable="$(command -v python3)"
+ if [ -n "$_virtualenvwrapper_python_executable" ] && $_virtualenvwrapper_python_executable -m 'virtualenvwrapper.hook_loader' --help >/dev/null 2>&1
+ then
+ VIRTUALENVWRAPPER_PYTHON=$_virtualenvwrapper_python_executable
+@@ -326,7 +326,13 @@ function virtualenvwrapper_initialize {
+
+ # Verify that the passed resource is in path and exists
+ function virtualenvwrapper_verify_resource {
+- typeset exe_path="$(command \which "$1" | (unset GREP_OPTIONS; command \grep -v "not found"))"
++ if [ -n "${ZSH_VERSION}" ]
++ then
++ typeset exe_path="$(whence -p "${1}")"
++ else
++ typeset exe_path="$(type -P "${1}")"
++ fi
++
+ if [ "$exe_path" = "" ]
+ then
+ echo "ERROR: virtualenvwrapper could not find $1 in your path" >&2
+--- a/virtualenvwrapper_lazy.sh
++++ b/virtualenvwrapper_lazy.sh
+@@ -5,7 +5,7 @@ export _VIRTUALENVWRAPPER_API="$_VIRTUALENVWRAPPER_API mkvirtualenv rmvirtualenv
+
+ if [ -z "$VIRTUALENVWRAPPER_SCRIPT" ]
+ then
+- export VIRTUALENVWRAPPER_SCRIPT="$(command \which virtualenvwrapper.sh)"
++ export VIRTUALENVWRAPPER_SCRIPT="$(command -v virtualenvwrapper.sh)"
+ fi
+ if [ -z "$VIRTUALENVWRAPPER_SCRIPT" ]
+ then
+--
+2.43.0
+
diff --git a/dev-python/virtualenvwrapper/virtualenvwrapper-4.8.4_p20230121-r2.ebuild b/dev-python/virtualenvwrapper/virtualenvwrapper-4.8.4_p20230121-r2.ebuild
deleted file mode 100644
index 5a6e6871efc5..000000000000
--- a/dev-python/virtualenvwrapper/virtualenvwrapper-4.8.4_p20230121-r2.ebuild
+++ /dev/null
@@ -1,73 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_SINGLE_IMPL=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Set of extensions to Ian Bicking's virtualenv tool"
-HOMEPAGE="
- https://github.com/python-virtualenvwrapper/virtualenvwrapper
- https://pypi.org/project/virtualenvwrapper/
-"
-
-COMMIT="e63d2c389ed276aa161bb50a27c77af94d96a50c"
-SRC_URI="
- https://github.com/python-virtualenvwrapper/virtualenvwrapper/archive/${COMMIT}.tar.gz
- -> ${P}.gh.tar.gz
-"
-S="${WORKDIR}/${PN}-${COMMIT}"
-
-export PBR_VERSION="${PV/_p/.post}"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~ppc64 x86"
-
-RDEPEND="
- $(python_gen_cond_dep '
- dev-python/virtualenv[${PYTHON_USEDEP}]
- dev-python/stevedore[${PYTHON_USEDEP}]
- dev-python/virtualenv-clone[${PYTHON_USEDEP}]
- ')
-"
-BDEPEND="
- ${RDEPEND}
- $(python_gen_cond_dep '
- dev-python/pbr[${PYTHON_USEDEP}]
- ')
-"
-
-PATCHES=(
- "${FILESDIR}/virtualenvwrapper-${PV}-remove-use-of-which.patch"
- "${FILESDIR}/virtualenvwrapper-${PV}-override-default-python-executable.patch"
-)
-
-src_prepare() {
- default
-
- # specify default python interpeter to align with PYTHON_SINGLE_TARGET
- sed -i -e "s:@@GENTOO_PYTHON_EXECUTABLE@@:${PYTHON}:" virtualenvwrapper.sh || die
-
- # remove tests which require an internet connection
- rm tests/test_mkvirtualenv_install.sh || die
- rm tests/test_mkvirtualenv_requirements.sh || die
-
- # remove tests which require functional git repos with remotes
- sed -i -e '/test_wipeenv_\(pip_e\|develop\) () {/,/}/ d' tests/test_wipeenv.sh || die
-}
-
-python_test() {
- # tests have unusual expectations
- local -x HOME="${HOME%/}"
- local -x USER="${USER}"
-
- cp -a "${BUILD_DIR}"/{install/usr,test} || die
- local -x VIRTUAL_ENV="${BUILD_DIR}/test"
-
- bash ./tests/run_tests "${VIRTUAL_ENV}" || die "Tests failed under ${EPYTHON}"
-}
diff --git a/dev-python/virtualenvwrapper/virtualenvwrapper-6.1.0.ebuild b/dev-python/virtualenvwrapper/virtualenvwrapper-6.1.0.ebuild
new file mode 100644
index 000000000000..45e014b5fb7f
--- /dev/null
+++ b/dev-python/virtualenvwrapper/virtualenvwrapper-6.1.0.ebuild
@@ -0,0 +1,71 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_SINGLE_IMPL=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Set of extensions to Ian Bicking's virtualenv tool"
+HOMEPAGE="
+ https://github.com/python-virtualenvwrapper/virtualenvwrapper/
+ https://pypi.org/project/virtualenvwrapper/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~ppc64 x86"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/stevedore[${PYTHON_USEDEP}]
+ dev-python/virtualenv[${PYTHON_USEDEP}]
+ dev-python/virtualenv-clone[${PYTHON_USEDEP}]
+ ')
+"
+BDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ ')
+ test? (
+ ${RDEPEND}
+ $(python_gen_cond_dep '
+ dev-python/pip[${PYTHON_USEDEP}]
+ ')
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/virtualenvwrapper-6.0.0-remove-use-of-which.patch"
+ "${FILESDIR}/virtualenvwrapper-4.8.4_p20230121-override-default-python-executable.patch"
+)
+
+src_prepare() {
+ default
+
+ # specify default python interpeter to align with PYTHON_SINGLE_TARGET
+ sed -i -e "s:@@GENTOO_PYTHON_EXECUTABLE@@:${PYTHON}:" virtualenvwrapper.sh || die
+
+ # remove tests which require an internet connection
+ rm tests/test_mkvirtualenv_install.sh || die
+ rm tests/test_mkvirtualenv_requirements.sh || die
+
+ # remove tests which require functional git repos with remotes
+ sed -i -e '/test_wipeenv_\(pip_e\|develop\) () {/,/}/ d' tests/test_wipeenv.sh || die
+}
+
+python_test() {
+ # tests have unusual expectations
+ local -x HOME="${HOME%/}"
+ local -x USER="${USER}"
+
+ cp -a "${BUILD_DIR}"/{install/usr,test} || die
+ local -x VIRTUAL_ENV="${BUILD_DIR}/test"
+
+ bash ./tests/run_tests "${VIRTUAL_ENV}" || die "Tests failed under ${EPYTHON}"
+}
diff --git a/dev-python/visitor/Manifest b/dev-python/visitor/Manifest
index 703cd69cd675..69fc45d79065 100644
--- a/dev-python/visitor/Manifest
+++ b/dev-python/visitor/Manifest
@@ -1 +1 @@
-DIST visitor-0.1.3.tar.gz 2985 BLAKE2B d645e3524ee5d072320e6feca39faef72b880ec7341053d078778765d9b279bd2ee3f892c0fcd5f21633e7851acd49ac23aef769eaf190147803ce711b717da6 SHA512 414c77df8efcc22df5ee8073e02b8c5c28563954ef9b9a869c4ea3f7f1268a97929c1fe29142ba41e3a5acafea52599f6bf073aacd654643d7d8380cd4f41fbc
+DIST visitor-0.1.3.gh.tar.gz 2985 BLAKE2B d645e3524ee5d072320e6feca39faef72b880ec7341053d078778765d9b279bd2ee3f892c0fcd5f21633e7851acd49ac23aef769eaf190147803ce711b717da6 SHA512 414c77df8efcc22df5ee8073e02b8c5c28563954ef9b9a869c4ea3f7f1268a97929c1fe29142ba41e3a5acafea52599f6bf073aacd654643d7d8380cd4f41fbc
diff --git a/dev-python/visitor/visitor-0.1.3-r2.ebuild b/dev-python/visitor/visitor-0.1.3-r2.ebuild
index 090b0bf6e1ea..6dcd85c3de50 100644
--- a/dev-python/visitor/visitor-0.1.3-r2.ebuild
+++ b/dev-python/visitor/visitor-0.1.3-r2.ebuild
@@ -1,18 +1,24 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
DESCRIPTION="A tiny pythonic visitor implementation"
-HOMEPAGE="https://github.com/mbr/visitor"
+HOMEPAGE="
+ https://github.com/mbr/visitor/
+ https://pypi.org/project/visitor/
+"
# PyPI tarballs don't include tests
# https://github.com/mbr/visitor/pull/2
-SRC_URI="https://github.com/mbr/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+SRC_URI="
+ https://github.com/mbr/visitor/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/vobject/Manifest b/dev-python/vobject/Manifest
index 76d9662a3b68..fa1fe96839b3 100644
--- a/dev-python/vobject/Manifest
+++ b/dev-python/vobject/Manifest
@@ -1 +1 @@
-DIST vobject-0.9.6.1.tar.gz 58556 BLAKE2B 74f9a7dc8058bb792492b1ac44a0310f58c603e677aedda35be0d8e94743e6e1e001a4ae888625f314f706891b7a31db77efa4c268482bbaf44ca37fff236cd6 SHA512 0b299fd4ca105a063f4ac7b03b157c54a3867d6fb798f9072897939b0ba275ba0887bb001c5ed38002a8eb1c10aee710af880413c072140b855af4b62d5aff72
+DIST vobject-0.9.7.tar.gz 58657 BLAKE2B 56c55631b88ff5e999ec6822c401cf03bfa4bd66cf3d9092420934f07cd14580752de080e57c674adb1fedf7252eb84df1e490613bf8314dba5421c73c039cbd SHA512 7e3704b5c0ccafbb7171a98b45b7448419776b7f4a568ab4fffad905bd9303af55d89ddd6f91c0095083c3d9d53633fcdd3d0bc89aa2b4297d316e4123f56590
diff --git a/dev-python/vobject/metadata.xml b/dev-python/vobject/metadata.xml
index 4bc7ed50536e..909b2e1c82fe 100644
--- a/dev-python/vobject/metadata.xml
+++ b/dev-python/vobject/metadata.xml
@@ -7,7 +7,7 @@
</maintainer>
<stabilize-allarches/>
<upstream>
- <remote-id type="github">eventable/vobject</remote-id>
+ <remote-id type="github">skarim/vobject</remote-id>
<remote-id type="pypi">vobject</remote-id>
</upstream>
</pkgmetadata>
diff --git a/dev-python/vobject/vobject-0.9.6.1-r3.ebuild b/dev-python/vobject/vobject-0.9.6.1-r3.ebuild
deleted file mode 100644
index abcdee708dd2..000000000000
--- a/dev-python/vobject/vobject-0.9.6.1-r3.ebuild
+++ /dev/null
@@ -1,23 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1 pypi
-
-DESCRIPTION="Python package for parsing and generating vCard and vCalendar files"
-HOMEPAGE="https://eventable.github.io/vobject/
- https://pypi.org/project/vobject/
- https://github.com/eventable/vobject"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~riscv x86"
-
-RDEPEND=">=dev-python/python-dateutil-2.4.0[${PYTHON_USEDEP}]"
-
-DOCS=( ACKNOWLEDGEMENTS.txt README.md )
-
-distutils_enable_tests unittest
diff --git a/dev-python/vobject/vobject-0.9.7.ebuild b/dev-python/vobject/vobject-0.9.7.ebuild
new file mode 100644
index 000000000000..88c64118d29a
--- /dev/null
+++ b/dev-python/vobject/vobject-0.9.7.ebuild
@@ -0,0 +1,27 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python package for parsing and generating vCard and vCalendar files"
+HOMEPAGE="
+ https://github.com/skarim/vobject/
+ https://pypi.org/project/vobject/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/python-dateutil-2.4.0[${PYTHON_USEDEP}]
+"
+
+DOCS=( ACKNOWLEDGEMENTS.txt README.md )
+
+distutils_enable_tests unittest
diff --git a/dev-python/voluptuous/Manifest b/dev-python/voluptuous/Manifest
index 0eb9b30e5122..da2e27f9d3fd 100644
--- a/dev-python/voluptuous/Manifest
+++ b/dev-python/voluptuous/Manifest
@@ -1 +1 @@
-DIST voluptuous-0.14.1.gh.tar.gz 42345 BLAKE2B 86866944bc391cabe7ac6c8cc00cc80d09a9d8890bab7c91f057d297b75554058da646e370cbaa9efe8d6707705c3f144af268d3d5cd6a15ac4568cac8bf146c SHA512 20d8c242b36e71c4eec7d0d7b638596b4f3762c30f8f1e0a4c0b38a4463f0a4c51279168be35a2e11d4e75428487d447e52218cccc78b61e5bab4ae0c5457120
+DIST voluptuous-0.15.2.gh.tar.gz 46075 BLAKE2B 4642be4fb4de37a80623c9dabd55d92ffa53ef3e8787fcf0b300c5e1950345bca0d49b37fac131f73c13cedde8480654f434f1a5f209312942c97b1ca7269ccf SHA512 e77d847b290ab68fe9a61831f6c9af23537836abbb9acf8b005592215138192c95fb696c7e6da8ac45b934b4d1a57ac902b15fcf66ebda83592c05c2d6da6238
diff --git a/dev-python/voluptuous/voluptuous-0.14.1.ebuild b/dev-python/voluptuous/voluptuous-0.14.1.ebuild
deleted file mode 100644
index bfe2e7ee1617..000000000000
--- a/dev-python/voluptuous/voluptuous-0.14.1.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A Python data validation library"
-HOMEPAGE="
- https://github.com/alecthomas/voluptuous/
- https://pypi.org/project/voluptuous/
-"
-SRC_URI="
- https://github.com/alecthomas/voluptuous/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
-
-distutils_enable_tests pytest
diff --git a/dev-python/voluptuous/voluptuous-0.15.2.ebuild b/dev-python/voluptuous/voluptuous-0.15.2.ebuild
new file mode 100644
index 000000000000..0312c27b1a8a
--- /dev/null
+++ b/dev-python/voluptuous/voluptuous-0.15.2.ebuild
@@ -0,0 +1,25 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A Python data validation library"
+HOMEPAGE="
+ https://github.com/alecthomas/voluptuous/
+ https://pypi.org/project/voluptuous/
+"
+SRC_URI="
+ https://github.com/alecthomas/voluptuous/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 ~arm arm64 ~hppa ~ia64 ~mips ~ppc ~ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux"
+
+distutils_enable_tests pytest
diff --git a/dev-python/vpython/Manifest b/dev-python/vpython/Manifest
index cd978844f63f..31bbeaa0eb44 100644
--- a/dev-python/vpython/Manifest
+++ b/dev-python/vpython/Manifest
@@ -1 +1,2 @@
DIST vpython-7.6.4.tar.gz 4504204 BLAKE2B 941eff8f9e5ca636001785b21e914194a4a84b910b8e329a45e2c0f0857c46c7658f9d0db128b524a0b760aa04d523617b473e73438d88ffb13e6ffdcc4419fe SHA512 997a6e351e0ae86938e557029a4888a508cdd7ae6aaa25dc578a772a5bbee857edc7c4414d48a9a6a48eff1e0ba435cfd24b98c47a6286cf0bb43e48db2b57c9
+DIST vpython-7.6.5.tar.gz 4533807 BLAKE2B c9eb7c243aba1e9147f7ec6529ba217ffa4acd2956c84bdb1da11e361653ced4f937545343d2daac01cd1063124f9e4ca55d9abff66c42c64d3f512e0f5e83ac SHA512 75836d113eaaf38f576ed148e33c955751da30198a40e4afeee3405209a94d70ca80166609782f079158ce430125394986750248206805bc28841820c0d868d6
diff --git a/dev-python/vpython/vpython-7.6.5.ebuild b/dev-python/vpython/vpython-7.6.5.ebuild
new file mode 100644
index 000000000000..199751729c52
--- /dev/null
+++ b/dev-python/vpython/vpython-7.6.5.ebuild
@@ -0,0 +1,29 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{9..12} )
+
+DISTUTILS_USE_PEP517=setuptools
+inherit distutils-r1 pypi
+
+DESCRIPTION="VPython for Jupyter notebook"
+HOMEPAGE="https://www.vpython.org/ https://pypi.org/project/vpython/"
+
+LICENSE="BSD-2"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/autobahn-18.8.2[${PYTHON_USEDEP}]
+ dev-python/ipykernel[${PYTHON_USEDEP}]
+ dev-python/jupyter[${PYTHON_USEDEP}]
+ dev-python/jupyter-server-proxy[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/waitress/Manifest b/dev-python/waitress/Manifest
index b0f2255a11fb..1baa35ab8e18 100644
--- a/dev-python/waitress/Manifest
+++ b/dev-python/waitress/Manifest
@@ -1 +1 @@
-DIST waitress-2.1.2.tar.gz 179823 BLAKE2B 0cbd172050f1da845c47b3a084cd5d7558c736c416372f22af4d4b6870ef6cd9050f4779fabaa5069b6b4783d748df98e2484eaed09da4d2cfc2d239ce15a05a SHA512 4ef487e116b34eede0f04a02ca7a78116a91664814067a8562d1cd15a4ab702e5faf4be7c122478324d017b6bb1f5315633b74405d00e900b34cc8f1a068da59
+DIST waitress-3.0.0.tar.gz 179393 BLAKE2B 266130e3f0610098c29fe11076f58c8f938439c9b80e9630b917e829b64c88d06803c9208137b220827ed1deb8e9ba2c396dfcaf8d92435ee738d580dbda6f26 SHA512 8b391eb194fce32fd78c1a20cd1afe8caf20e7e0c622e4be2b1ec7d3831cb5a607cda0637d08dcd3a55f2e8c84817abdad4636bf2ca260b12a774dcfa68b9176
diff --git a/dev-python/waitress/waitress-2.1.2.ebuild b/dev-python/waitress/waitress-2.1.2.ebuild
deleted file mode 100644
index 5a833940684b..000000000000
--- a/dev-python/waitress/waitress-2.1.2.ebuild
+++ /dev/null
@@ -1,32 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A pure-Python WSGI server"
-HOMEPAGE="
- https://docs.pylonsproject.org/projects/waitress/en/latest/
- https://pypi.org/project/waitress/
- https://github.com/Pylons/waitress/
-"
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # fails on some systems, https://bugs.gentoo.org/782031
- tests/test_wasyncore.py::DispatcherWithSendTests::test_send
-)
-
-src_prepare() {
- sed -i -e 's:--cov::' setup.cfg || die
- distutils-r1_src_prepare
-}
diff --git a/dev-python/waitress/waitress-3.0.0.ebuild b/dev-python/waitress/waitress-3.0.0.ebuild
new file mode 100644
index 000000000000..cc8fd57bfedb
--- /dev/null
+++ b/dev-python/waitress/waitress-3.0.0.ebuild
@@ -0,0 +1,32 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A pure-Python WSGI server"
+HOMEPAGE="
+ https://docs.pylonsproject.org/projects/waitress/en/latest/
+ https://pypi.org/project/waitress/
+ https://github.com/Pylons/waitress/
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+
+distutils_enable_tests pytest
+
+EPYTEST_DESELECT=(
+ # fails on some systems, https://bugs.gentoo.org/782031
+ tests/test_wasyncore.py::DispatcherWithSendTests::test_send
+)
+
+src_prepare() {
+ sed -i -e 's:--cov::' setup.cfg || die
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/wand/Manifest b/dev-python/wand/Manifest
index b153a8e4fcd1..3b382724144c 100644
--- a/dev-python/wand/Manifest
+++ b/dev-python/wand/Manifest
@@ -1,2 +1 @@
-DIST Wand-0.6.11.tar.gz 11883567 BLAKE2B 561bcf6645f6eb41737c5e999f01e2719b5170d6e662e3812b4bd444fa77331175a22eff95eeb94ce17ecbe6dbef9a97e9a4f509f878431b64b357843fb15061 SHA512 4e551c2942835872f52247c2d642faf2ad4bad6bb206376e4f8dc5cdabe981e73b7e0f58a705d5dcbf8f95c445ed13bbe6b8443b9b29d0056e7aaf50565a608d
DIST Wand-0.6.13.tar.gz 11883700 BLAKE2B b4764d87a5a71acae42ef41b6f066649d9df675045c78de49a64d2a6fa440d0ae995ef20c02ae8fa40af9d728d0b91a43f0371ea220afbae13d3bb9ed3742cd4 SHA512 a166a365474e3c4442b1c0fc521837026a236d416b7cf3f899acee5f3b1febb4c5deb0b75bf158393fb9df60e37e6cd8d528cdfdb637a19ecd271ba841dfada2
diff --git a/dev-python/wand/files/wand-0.6.11-sphinx-6.patch b/dev-python/wand/files/wand-0.6.11-sphinx-6.patch
deleted file mode 100644
index 4da4354e67ca..000000000000
--- a/dev-python/wand/files/wand-0.6.11-sphinx-6.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-https://bugs.gentoo.org/889906
-https://github.com/emcconville/wand/commit/460f605f45d406b6d0e2f3e6af7bfa2c62c66882
-
-From 460f605f45d406b6d0e2f3e6af7bfa2c62c66882 Mon Sep 17 00:00:00 2001
-From: Louis Sautier <sautier.louis@gmail.com>
-Date: Sat, 14 Jan 2023 22:30:03 +0100
-Subject: [PATCH] docs: fix build with Sphinx 6.0.0
-
-See https://github.com/sphinx-doc/sphinx/commit/93cf1a57d916a1ff96c8e8a0356d0256e40489ac
---- a/docs/conf.py
-+++ b/docs/conf.py
-@@ -263,11 +263,11 @@ def __repr__(self):
- intersphinx_mapping = {'http://docs.python.org/': None}
-
- extlinks = {
-- 'issue': ('https://github.com/emcconville/wand/issues/%s', '#'),
-- 'pull': ('https://github.com/emcconville/wand/pull/%s', '!'),
-- 'branch': ('https://github.com/emcconville/wand/compare/master...%s', ''),
-- 'commit': ('https://github.com/emcconville/wand/commit/%s', ''),
-- 'cli': ('https://imagemagick.org/script/command-line-options.php#%s', '-'),
-+ 'issue': ('https://github.com/emcconville/wand/issues/%s', '#%s'),
-+ 'pull': ('https://github.com/emcconville/wand/pull/%s', '!%s'),
-+ 'branch': ('https://github.com/emcconville/wand/compare/master...%s', '%s'),
-+ 'commit': ('https://github.com/emcconville/wand/commit/%s', '%s'),
-+ 'cli': ('https://imagemagick.org/script/command-line-options.php#%s', '-%s'),
- }
-
- # fall back if theme is not there
-
diff --git a/dev-python/wand/wand-0.6.11.ebuild b/dev-python/wand/wand-0.6.11.ebuild
deleted file mode 100644
index 9bc949713fc1..000000000000
--- a/dev-python/wand/wand-0.6.11.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN^}
-PYTHON_COMPAT=( pypy3 python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Ctypes-based simple ImageMagick binding for Python"
-HOMEPAGE="
- https://docs.wand-py.org/
- https://github.com/emcconville/wand/
- https://pypi.org/project/Wand/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- media-gfx/imagemagick
-"
-BDEPEND="
- test? (
- media-gfx/imagemagick[fftw,jpeg,png,truetype,xml]
- )
-"
-
-PATCHES=(
- "${FILESDIR}"/${P}-sphinx-6.patch
-)
-
-distutils_enable_sphinx docs
-distutils_enable_tests pytest
-
-python_test() {
- # PDF support is blocked by the default ImageMagick security policy
- epytest --skip-pdf
-}
diff --git a/dev-python/wand/wand-0.6.13.ebuild b/dev-python/wand/wand-0.6.13.ebuild
index c3f0ea330f3e..eeafaccabe11 100644
--- a/dev-python/wand/wand-0.6.13.ebuild
+++ b/dev-python/wand/wand-0.6.13.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN^}
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/warlock/warlock-2.0.1.ebuild b/dev-python/warlock/warlock-2.0.1.ebuild
index ad2d2e78b32f..dc86d7b66290 100644
--- a/dev-python/warlock/warlock-2.0.1.ebuild
+++ b/dev-python/warlock/warlock-2.0.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/watchdog/Manifest b/dev-python/watchdog/Manifest
index 5f0af5e41a61..e42564b8ef6b 100644
--- a/dev-python/watchdog/Manifest
+++ b/dev-python/watchdog/Manifest
@@ -1 +1 @@
-DIST watchdog-3.0.0.tar.gz 124593 BLAKE2B bc8135dcbe9b1000fb7befc85ebf62518222b0470676cf94aabbe8f871bb05064a46ae4d11ce34f8030d35268c073fe82757b911e3983a8b683ffbd09227395c SHA512 fa1421b01af99d7fa676c9077b2330ead17c004d9bb9e9edd78d4bbf87cf41624ecd669ca48613d99be2109373bbab4e004b69665d2ca42e082573e4740c13d0
+DIST watchdog-4.0.1.tar.gz 126583 BLAKE2B fb2499181b466d50e46b4cc18f78bbee0234d4ca533e92d006411475b6795a90e184335a8523d6b08dbf40d65c4c7807484791d6f243206d046dfad7139bd797 SHA512 0d759d1f9e97a6bc4b5578dbee5cdee01fc3a0f684ac1cb9e3f14c9b5f9a1353b992d690e3ac9801d73f2425b48b1320b20ee0b4d1101f0e80a9f6a7a25da01d
diff --git a/dev-python/watchdog/watchdog-3.0.0.ebuild b/dev-python/watchdog/watchdog-3.0.0.ebuild
deleted file mode 100644
index 0532f0abfa9f..000000000000
--- a/dev-python/watchdog/watchdog-3.0.0.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 optfeature pypi
-
-DESCRIPTION="Python API and shell utilities to monitor file system events"
-HOMEPAGE="
- https://github.com/gorakhargosh/watchdog/
- https://pypi.org/project/watchdog/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- dev-python/pyyaml[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- >=dev-python/pytest-timeout-0.3[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- sed -e '/--cov/d' -i setup.cfg || die
- default
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # known flaky
- tests/test_emitter.py::test_close
- # requires root powers via sudo (yes, seriously)
- tests/test_inotify_buffer.py::test_unmount_watched_directory_filesystem
- )
-
- epytest -p no:django
-}
-
-pkg_postinst() {
- optfeature "Bash completion" dev-python/argcomplete
-}
diff --git a/dev-python/watchdog/watchdog-4.0.1.ebuild b/dev-python/watchdog/watchdog-4.0.1.ebuild
new file mode 100644
index 000000000000..94ec88e85bc9
--- /dev/null
+++ b/dev-python/watchdog/watchdog-4.0.1.ebuild
@@ -0,0 +1,50 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 optfeature pypi
+
+DESCRIPTION="Python API and shell utilities to monitor file system events"
+HOMEPAGE="
+ https://github.com/gorakhargosh/watchdog/
+ https://pypi.org/project/watchdog/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ dev-python/pyyaml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ >=dev-python/pytest-timeout-0.3[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ sed -e '/--cov/d' -i setup.cfg || die
+ default
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # known flaky
+ tests/test_emitter.py::test_close
+ # requires root powers via sudo (yes, seriously)
+ tests/test_inotify_buffer.py::test_unmount_watched_directory_filesystem
+ )
+
+ epytest -p no:django
+}
+
+pkg_postinst() {
+ optfeature "Bash completion" dev-python/argcomplete
+}
diff --git a/dev-python/watchfiles/Manifest b/dev-python/watchfiles/Manifest
index 088990f178fb..b0f7e98eb5a8 100644
--- a/dev-python/watchfiles/Manifest
+++ b/dev-python/watchfiles/Manifest
@@ -1,72 +1,65 @@
-DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
+DIST autocfg-1.3.0.crate 16524 BLAKE2B 7d5a03853d6b4f0da08d8e139fb200da21e47fa7e50d1956270d0ff0cc496f660f8f800122c95eee9ba98d9210ab200c3010b782097483d12d6be4ac0df0e7c9 SHA512 a5570b955d57a7183ba148b335837dc5af24b202e80681027536d33fe2822509ba644fc70c29f018c893285ced2bf6774f44ca6c59f7c7e2226d5349cf7c3635
DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
-DIST cc-1.0.83.crate 68343 BLAKE2B 33245b33fa845ea2f36da36e3830ec835f937e4319865b357ee9d5ea29a0f9f8392eadb38bf1d95e3c15ed201e561acaa87aedcef744f8db3dabff87a96c7f02 SHA512 742a248c3a7547bb220a0b9c97b67a831fab9b4ac21daa08c85a3966b9fe576088def33e16132fcabec9a2828a6fc437088bb045bfc98b2cea829df6742565a7
+DIST bitflags-2.5.0.crate 43821 BLAKE2B 2d2a78b0a19dcb39580e6f73ed6c468b0626043010b34661084944c83561fe49db24bee1ab57fd692d57617be6506d529e095aea27b753a77e26d0b1ebf7ed78 SHA512 75d7a89e53e5e7582591932bc430e6a1db7ed0f914ded6dbcf957125be52975598df7fee14ef816f66544432ef0505f0a081f3794d17138ec429e283fe14fcf9
+DIST cc-1.0.96.crate 76576 BLAKE2B e0171d68b04bf2435a858b3d50376580f0740588770064bb695ba49b6827bf1f92aa4e973c8dc55e1622e795d23fa8fe42abd122d5d016e800dd5ea86c4ceb3d SHA512 a3e8058165e61020bb10491dae50fcbffbb411d27d6dc44997a931f424e88cb36d89004165aae9c531244a7026920804222c819d12b1be3e3db571bec181d8a3
DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST crossbeam-channel-0.5.7.crate 90257 BLAKE2B ac8d47df391d64e05f2eac2df7113d9038d53639d963cd45109c2de71a1b32c9f687052d5fa88533271ea3569519627729fae1e092d2491d2b66bc38e21e176f SHA512 70d605a224db1a4e2217280cd2269a954781bb21a0dc5b0b08a5a83794daf1c941181f271c6a8347f72321ca2119dc562ee016fdc18104d5d3327a82b412e9fc
-DIST crossbeam-utils-0.8.15.crate 42326 BLAKE2B 23e6bd2a6535c6fccf7b7d17487fdd4095c92a3f3ae383a72dd6d90c1c49c2ec8d96dc01a94c7127b2681bfaef843585b3ae8665ecbc43b2e7db8434e31c6c8b SHA512 adb9ce1886396bc637299cb8122d102bcc9e561f25d67ef73e98c9ed8a8b13b78bc0f5bbacab19d015e1a7690bc0201f08b3d8e82393ec347e7f2933eb622533
-DIST filetime-0.2.20.crate 15027 BLAKE2B 393bf9696992ebd17a8319f23d660a8c841b536109d8216103ba163ef50c78dafe35f640c8996a707a43fc523d24becf38ced2cada9cf072445b13bc3138ae38 SHA512 71b2705acb0aed833b8c5da8f07384aeb0e290be78c68f4bfc044bcb7e8285740186b74b0e37c619d93bc05b9022a83cb0edb75c688b106cdc844f843d0e8a0d
+DIST crossbeam-channel-0.5.12.crate 90515 BLAKE2B 5a302e58411d99d52630cd154f4f642ec925af3330ced9456a16e417e2e43a37dc2b2288ccc88137a75e682e7b10ab2979f1f90c0bd42ceca8fa84c700b7dd0d SHA512 e17b0e41901b2b41e89913a0a50cd1eaacbf64cd07f454605a85781b8b1373c35bedd16ccf6b24029404a3171e0d670fc2b1474a6448d0feb40ba0e41f99019c
+DIST crossbeam-utils-0.8.19.crate 42328 BLAKE2B b2846f569555818fe7a3ef4aa29f68c638f933ee0251713c2c92624bee5f8013def5527027022963f572815991abb98d5e68d0fa00f478b2762133f84ffc84c0 SHA512 6e742fbb0d2a6371db87e81f8ac583259530a288237d0e8347394581c60004703a822318ec945936c410bb44001b115d8d986bb264e5b2d8091bb63a8edd93a9
+DIST filetime-0.2.23.crate 14942 BLAKE2B e4d2d9c11745dfa5592903f3c3c6a9871292a02f9862607b610ead7562b5d1fc3b64d37e779cad0630bde8012efda72d86af5e687cd2ef5d3627d8a89bca517c SHA512 8d5ac82482758577d1d0669abbe7b880efc44958687bba745c9ee4a5c16bddb44ec0fbe9c29cf424e7120905f3c3da607f3a7ca1e50287154c0475ddf2148bf3
DIST fsevent-sys-4.1.0.crate 4620 BLAKE2B c203c774d5038d4c4abdd7bb9407a6b5f2b203a609bd92a7fde38afaa71248f4610e89c73eaf982a5d76560f9503081b7b10573046b1a91f09de4b642709417a SHA512 e702686629557b879efaccd37b03a7ec515eeea29d8f8ba46f82b8b68ad157ef9d6b188be031f806d8fd27d4e9d2689cdd6bfa14e4ff77493a7d0be3ef1238a7
DIST heck-0.4.1.crate 11567 BLAKE2B 520aeea740cfa30b0cca12f73594ffa655f32959673b1c9caaca1ea0162e455546ae3033881394c0ba0516bcd5c9a997da02162e1585522d665813b9096eabd9 SHA512 8c80e959d2f10a2893f9a71994720f90747742bb5b61fc0a539eed3ea5679b140c48fd7f7690d7122cd6af5f7f20a19d412e3569fe741c6d31f6b2ce1e0b80e8
-DIST indoc-1.0.9.crate 13475 BLAKE2B a9696788574e56dd125c3371169fd59d6947d188f76e2669b21c0304692efd6709cd048920f7822e92c6a5620fb178e0e85c7776118cef8ccee0f58398e14abf SHA512 db8aef4a7bb606452dc8ed45aa29a255c7a135357a0bd586fb4429c5f56a1aa2ca9400d6fac39956aeb486a15d25cf5d1b9524967867f2c651d9d563e3e85be8
-DIST indoc-2.0.4.crate 14311 BLAKE2B 8d604e20825ae64530014081c627abe4ecec6447e1e214408743aca79ed217531baad4bd7021137ae6628555d769a248f06acc556cc3254d2626074aab110a44 SHA512 ef1b8d19d89d848c1133f2865247e0ce23cbe5552454805910ed0478ac4acb11b11629aa4a5ce8756d0ed5cbc0644abedeac0246f433166c68f47cf58cf4487a
+DIST indoc-2.0.5.crate 14396 BLAKE2B fe838c6a855d6ff7396675a3fe9b2e0b06a93cfd4013b0b843d24d2fb81f6566528bfd1753c649646f06cb7e59262bd6ec3ed79d4e6f01d740cf0682355f2e5a SHA512 095fb56a3d87946c42a63065a8b276c2d4b9b835800014b400bb987593bf56701bad9f55d947f090740fdb7641a4f3c87fe8bfa5724709e95254d1e8e2e3616f
DIST inotify-0.9.6.crate 22971 BLAKE2B 7a6cedd29b2503911fb42324fe3b4f4f20abb62a6b4370f8a7f634d9988f1b3053a70d69d6bbd7b850aae2590ded7548b73326a598d31e5b579e19ac3cc781d8 SHA512 39c3db1b6da620df9eaaa41cc20c2f22b9a372e181ed7d8ba0c7ad4e711ba4486bcec7ff86bb4d814d9c53e071cc4e43845567069e45b897c562cb677fc872b2
DIST inotify-sys-0.1.5.crate 6965 BLAKE2B d70124656ce3e6f5ea3f430e8e7100d0691003161234b40542ca86c407ecaac1785f3eca98e9fd2914dababbc3f47a0855c99c9f19245d1f2cd5312739c802af SHA512 dae749f32c533b0c9f99963d97a77dcbfcacf173ec8fd7a02f275804f9925e867b4dfdf6be52c3c3c3de136d64e6e7d6b30a3bf804a01608cf974b0cc2e346da
-DIST kqueue-1.0.7.crate 12554 BLAKE2B 2302bb9a6aae077c1b69e4892614e87fd86187fc4608cea08cd510a46ddc3a06b27027bcf6a865550187c983f3f80a9c7dcd6d8a6ca891e2cb6fb2d1a5d17396 SHA512 03a1eac44bab42b683312c7f541fc235ead3ec89e7e0b6991acff431f85086df9dd8a9ee1b80f784c9c5452d3e497170b734883ed0fd117ef033079d72f6c1c1
-DIST kqueue-sys-1.0.3.crate 6673 BLAKE2B 79254d667b4cf1fa556f1773db23b00ac431bdea6c8ecf914e3c0837fe4e25a45c9b6fb76259d628e4c76a20f749df3fc285b54ea63ce3b52d21529358e81c3f SHA512 76023295abaa4415c1d7b37c844432ece522b762f78983cdf58106f65ca553ee96193bd8c93f3fd0af029d266d8414f2ba4d1b8835bcdc180acc7defa6269731
-DIST libc-0.2.140.crate 669153 BLAKE2B f4269549f6b450a3da3196ecaae52afe178d5b6905666fae04e2879f975f0129788898ca2ccd214d721af42a8b2fa86b26355d6baa0a81c223b56c658ee66dd5 SHA512 f450fe619ea2f45e4ada2567981987f19d35a9f13f88a0ce3a53e1751c6fbff708ca69fa6a64d807cce5dfe18b08751f0695d8a01e68e269da1aafc831528b7b
-DIST lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990
-DIST log-0.4.17.crate 38028 BLAKE2B b46be3719fc0a53e50b1f342762e188587e9f1ceb692c72473ce2663edfb8253742d30024e68c1444780ab7fc0e2d5b0601b8ea7228dc3405a9342a57548e605 SHA512 2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2
-DIST memoffset-0.8.0.crate 8912 BLAKE2B 19ad3abed21fc39461b0382b15a8cc312378aba36f042b1e5335012115d31b350a4e3bc720f1eea300d7d19b9b317f75a28d4ccd78ff3b31defd9e4b3147899c SHA512 47adcae0848ff967035e10543ea599c7af9c5bad387023eb4dc77c9e8d875994ec8139b9941b3ecc4fc17214d80944a47a3be174a45b334661914a5a7382dfbe
-DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
-DIST mio-0.8.6.crate 93658 BLAKE2B 32b10be05ef5d1ed44da41cd03c1624ccec78b6a89b5104ab7a1a3b84dfd299bc7bf7f3671aaae0a2759a56120740915d380aff05af5f5f8b9e8e22fbcfa8203 SHA512 45b3d2a911b66be556dfb79d87ffcc57ee5f33a03fb30f319631796090caf8779e94cda37fc7a76685c69483f1cc7616c15440b71bfcc51239928d8879873f6e
-DIST notify-5.1.0.crate 37269 BLAKE2B a11937c11bf32aa9b872e78009a5b92f04f326ef1d0c5037611a89974c0011c9656475864aba794d7b1b30635ccd01c475d250ddd1a8aa0f4adbf46f2e86ec1b SHA512 b04055d124aaac30eca9bf56d910ce2b6350967061b42cc83d2852ee6c8e99fb687dbe0569daf0aa98b1b7397b9b8970aeaef31a34cec84108f6de9fd6a88b52
-DIST once_cell-1.17.1.crate 32856 BLAKE2B 8bde2aaaf9ef45d1f6b8458686179f1fe9295ee8faea269e9b49779583ce26ab9dafe988c3584e841a9e5d05e28430ca967ef3b25e755f48f0120d9c99cdb7bc SHA512 1302d51801e38bfee23e74c0046f1ecb1d3c27309b5fe11c2b6c99553b357db502ce1718695602f9d8b10429e8ff03f91c016d5d604957083728293824c05904
-DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
-DIST parking_lot_core-0.9.7.crate 32412 BLAKE2B fec3ed2cf28e6d5090aae6a7c0ad583acf3ce6e54e881b78a9cb6721ca1e7040d46c044d405852728e74baff6ff1feaee7a89a64c69d20531f29942dfaafcc72 SHA512 1f232f1a87ba9377621244ba49378663f3113da7192a399fdb70be971ff5e5ca0d0601e1210a3fd8ab75ef464dc8505e719f81902e3448cce5e7848ef4bdbef0
-DIST proc-macro2-1.0.53.crate 43351 BLAKE2B 9f93a0407a2c871bdeab7c48f4f5ab2497ea75e3c56929a659c2d18fd735bb0e65908b240ea4f64289b48f00185ecfabad24d8422e7fc08fab6b3be59dffab02 SHA512 a68e0b21f13d52c3efbcfc9fc9a7b99ba7fbdae5b975afabed2f2f76cb312a0abbbe7c791eb6e0a99f7417c0ffb749cc4596eab7b463dcbcdb9858b81753a84c
-DIST pyo3-0.18.2.crate 418755 BLAKE2B a45c27639d9c4c5a4e017b7e8d7580aba285ee11295f344809e30ac23b70e4541f2cb765dfeee20fdf4d441e1449f5cad4bd6308a52822eea3595305081d4b77 SHA512 b97ebc10939418d7fe3d6219921875cc7253f3aa7cd9d06b1486f8757c6d102377eb851b3a669c670423af2c80e389b736f0ce04a6cecb716c952413d06fe434
-DIST pyo3-0.19.2.crate 418228 BLAKE2B ee018b33383fada78cd22643aea9231a8c8a2f19d1eb297f40eec9206c5220f322fff4c926d939a93a24ac6d231a207ebb25afcc0709191151c7ed9af7465efa SHA512 58698183e0f2f0507f8f765bf3e90185c933e78d62f0a9be65c4b1ce8eea19a98fe0341abe7c58cafdacb63a012ec417876dccb7be6facc1360fcb22796fcaf9
-DIST pyo3-0.20.0.crate 431766 BLAKE2B 104bc21ce2c6931753ca0c7b2d91693f454c964260ca3c4628a899fc8e7edbe4238db913ed7356f3beff154d88a60a17c0e252b655768e75483e1d9d9b86f40b SHA512 85d9533c75f905752c62f6a4898582ae48daf085e287b44949c47260301205a5f00477927877ce46300d2801d22fbc04a958c058a37eb28374c834fff27feca1
-DIST pyo3-build-config-0.18.2.crate 29138 BLAKE2B ad37bacda5f0e5c8eaf382b3371de251b83c721dc2378a0bd3700462bb65273bcd4277589084f6af0a2959f17b370fe5e6a5699c8689107220333c57387bf0ae SHA512 01f544938d83a8283f5101f69673f8a39d2052186e7c712709be25c5ae17a11e7d68c2fd9b4bc7661fff9343ebf3ccc196c1259321061f048c59696692601ae1
-DIST pyo3-build-config-0.19.2.crate 29206 BLAKE2B 5b1cd80d643e448cf8f1d28a514333526061c178121b9a0dcb5bff6082f402ecfd166536d94d42065f6dc1f108a73f12bbb78eedf9ea053a6aa2e9c80ac00ddf SHA512 ccc73061ec1989258921c5b5800689170635fa5503d74a4ac458baef903dd31efa41995d238783f1e099ece1f66d0a0e95c4fcb4b772b9f653dbb20e838b4e28
-DIST pyo3-build-config-0.20.0.crate 29534 BLAKE2B eb1d5f75276533483c52c6fcae49b294d6d8edf504859dae18811c1ef695dc6d0a055f2a34bea305975e4c1492c312433d2dcb7753484f793376c62cd59c8e40 SHA512 a01d06ebeb4b9cfe6ff6731046101e9437498453ca5aa68ec53df3bfb2f34665a489f8072636c2da16c1e867f536032fd293f05a43561117fd131bde5fe5aac7
-DIST pyo3-ffi-0.18.2.crate 62903 BLAKE2B 31e52b73705c1e5f44e419f314b1674a722a604fb52be5d5e5ff2ae9881ec9f204c1f51760570ed4c210ea530bd9295a27beaf9b5631ef02370d42d3e4c0be18 SHA512 495dcf45154ce89b8cd3a3fe193938e199465cf510df1713f7ad82e0a138ac2f8f1b73ec80f8af72f79a4ed26a9f4e4e93d52357ad4f41a213ec0c7b602734b9
-DIST pyo3-ffi-0.19.2.crate 66500 BLAKE2B b4139fba31ef17017b6b60784e41ccda34931a072c2638af1eed8d02d7af701c46fe38b12772d2301cff41d10a433ff0f00a69d79d40233eadafe82abe585f8d SHA512 789191bca537998dd23d72dce4f185b84bbe700f4171c47de35b9bbca15a180ad214392b4f465cc1ecb0be955ebec1cf5a3c497815073be18035bd8bf8c51a32
-DIST pyo3-ffi-0.20.0.crate 64220 BLAKE2B dfe75b9459b4a564d1dd9f907166b76d00c5b50ba027db65d11540a7b993f3ef4e19e574135b538635ebb9c9eba66115c09198c7b6071b0b82fd94faccb1bb63 SHA512 a68f0b1380f2ac3d3034ac8b3788cd6573850137c6678694cbcc3e814b619510b9b21b11704c2e702d4eb7433d8b1d3a6dac663501b6db5197a409407802b714
-DIST pyo3-macros-0.18.2.crate 7173 BLAKE2B dfa5792be03b3b1164471ef9ff4ee672fe8e57d0fc169ca04da1542d86262e7e526be079e303b8a4899bfa4b0680d38604f80263c71b33ead5bf0a60871f473c SHA512 a2c367b4b1556b16304ef0da4ed8961cc760d259da9fbdabf791ac910de4f1e9f193227f10ea4215a52c701bd0ee92311dc91d272b9364017e2f6ebde5698f72
-DIST pyo3-macros-0.19.2.crate 7173 BLAKE2B 8862f42a30929579b0b0bc2ba7f0b416518724480e197fa13288e49324e851f964183e1529b7f31bf5d4fe0ae194a412723b6b401100e66fba98bbcd9c283866 SHA512 852cc2792aa3d30d9ab8802a451be5617cae6536adced1bf0dde71704a3c7c1bfe862fba751b6d045249819a8ba5d87dfc50914d142a0b662f046498c06f8c2e
-DIST pyo3-macros-0.20.0.crate 7678 BLAKE2B 03fdc0cc9c735086ca2d27e0bcd197e69538c3640ba7f87bc3d65907db374ac7283f61bdb67a1d45b66ce972072ddcb3b1daed4aeb9a66100d11bba6515cdc86 SHA512 79b61f55010dad60dda2c5061c9736bef3f6805f28db230726937340a5c40a3fcfb727a0db7779c3eb094ebd45492f7af4f40a3fcaef42f160989a8ef6174e7e
-DIST pyo3-macros-backend-0.18.2.crate 48722 BLAKE2B 662822ae71702cb7d173c1ac7ead49cecde0dc4545bc3f5f30fd9ef7fab5537c13509bc8f18b2a8d05d7fa7f6fc8d0378a44d67b85edadfdf6ca153fc698a7d4 SHA512 433d9287bf3cdf84291c8d04ca5b24ecab2186379db554d6b2cf271e8716a890dcdc0717b2a00267e85dc637520559ef8e883bde2e2b16dd8cd580c1468c2dc3
-DIST pyo3-macros-backend-0.19.2.crate 49962 BLAKE2B 9d8a032c2205f55d2431b6bbc40df153339e08479df3a8a65506ade7d1f3d17cfaf664cbd09eaec9acff3f5a248598e37427d0c5a531eaf527137803adf49834 SHA512 fd708e6fdbd54ef7c676bedc62070175bac6b8f7ae11231578196dbf552b163a8a2499a1266f786bb6bfb85517fe83610902137d59a5c42efcb1a27c4235a07e
-DIST pyo3-macros-backend-0.20.0.crate 49383 BLAKE2B a239042abdfcf5ad38505b57bc6b858ba346bf8681e24acf2e433f53e4a40bf0b28928b434b96f596d12acbb602b14b7e1bbf4be1e5789e6d9c754368db00a1e SHA512 c823caba48b4a30aaf84c23f80934f0172f2c76a41b538b69ebc25afcb61611b54b8fbb4ab6cac1c7a78b4e6f9f909f22748a2cd279b508d3897b74b17021d56
+DIST kqueue-1.0.8.crate 12642 BLAKE2B 93a0ee7484655045986d6d5ca800ca001d68bb327f841bff3e54b38beff09ff10c099b2432ebf90cf8213153370e4c4aeab9bb0eb3bb02b1bb494b461dfd2fa0 SHA512 c8734fa2cfbf8b8f173604acf5d13ad4cc2739c879387b548a1200f8383b81a1b72315449eb73844e4b82280a4c29901d20c12cdc746d48f9047db89849985f3
+DIST kqueue-sys-1.0.4.crate 7160 BLAKE2B d75e152cfccbdf7ae000be14e0f84c6d1fd07290fe498349a8715061a83d8c02011b59578db2c451de011ac3eb4b218aeea73963a2a5cd82e7f5f49de0779632 SHA512 6650aef7efd7fbf4f9b6c8c6e4c1a91b79636423d46a0173dcb99de74e6f277cb02ada01cb62aa71c3f174a2c28db62a708b0aada9480fc5bde613204acb30a5
+DIST libc-0.2.154.crate 743304 BLAKE2B 25ff132ec29b78dec455f0a1fc9fbfc744ee0d6eb410aba05ec6b1b08af9d83ec61e56f840f86cb833f590e8cdec7f67ce6e7b630ee227a36581650c81298b84 SHA512 891a36cf153a9f4d58793412c104504c57280994e428ce8ba208673a924b2de38cc21eece09b91696eaea3b2359606dbe9f1509f9bf364bdabdb366ef2dd0f61
+DIST lock_api-0.4.12.crate 27591 BLAKE2B 4504d146a114d8f8e1fe9ae70b993c713cbfe884dd69c61c54dec978733b95a853c3e5af26f237e48ebb4ee9dbebfce0f6c06067f74a3d122e92f5ace40e22d7 SHA512 525d971f495449bbd02eb70fcd84d4aab05ca582142144a5f314f9aa67ad4c5b4c98dc919a416d0ed2e555063eab037a441d671d56b633f2cb75dfab5d99bcf7
+DIST log-0.4.21.crate 43442 BLAKE2B 8429b3270794d3e2c7f7d5b58bd4fa1abb9d4807ab3a1ac980ac81c11d9544635003d8cf2e608c2c0094865459108a2879f280278e121df68d09bc1561d604ba SHA512 0becc1a06b6e7048cff6c0bb8df49a16ac4772133c00239e9e9459c0811e7715c500f440cf1a9aef8d7ad74f57434559ca9b55917f588b8e476cf36eb6d4e10b
+DIST memoffset-0.9.1.crate 9032 BLAKE2B 0aab55fe084134bb599c52d77c96400db40949b1013e7037747ada4fcec8dc4a124b6f3755f04b36e057eb2fb4a6bd6f07d6eebcf166f8a71405ef434d802fbf SHA512 3a236c0f481e36973b9f805e454c2efe4dd375e6b4ee406b57145136c70d5fbf4e1183d563ebf3b5fbde7363bbf5f08f0d88e507aae5bda4cc75664ecd0e33aa
+DIST mio-0.8.11.crate 102983 BLAKE2B 913a8e0e4843b3b19cce3eeaaff0a0024eaf1bdb4784a710e54ee95b6631edbd763e37669ec7d269e45157907663dd2eb6c9279db850fa47ef4c1eee867ea24a SHA512 9a2806ea78b0637d0cf92448abcd50bc5d09bd80da0f37752c847bc98d014baae7a5cc4d929de98be6283c76d82ccab1f1467aa6ab583a4e782d97d5592b0bb1
+DIST notify-6.1.1.crate 40117 BLAKE2B e8f2626841903b7cb261ece9ff7d42aa6655b439a2d613f43a0d518355af2842e8731a6a2a92fdb84d82f0f7cf7423f051ab529cd22248944a19b3338e5b0f29 SHA512 58a44759d96c3ec7c431a37d92e1c1a0f112d75fac9651e9fead7a3a1de46074d79a251320b0522891711879da4ab42dd008c5a28a994039890f8d434d215e69
+DIST once_cell-1.19.0.crate 33046 BLAKE2B c14b374eaf4ac0f60acc2e02f7bba270a0e8e0a6978d749cd3cb0ab3eb26907e4fbea70dd5132982f90290381ed18ff8a87fd530f1415fabffac864f157ea380 SHA512 4154876afd34a699ee650d1a8a1c5ee5a25f0ebd9388b8bef2564e33629fae68f113d7507488c68abbe7ea1acf9bbc41813cbbf3ef3e464e3f3b9cc7a51d870c
+DIST parking_lot-0.12.2.crate 41723 BLAKE2B 7c9a4f483b09f4e4bb25fc758c80e8259cb02960b791695a061fe595cd6ed9b13f62903513cefb595bd633488b23254dee054a98282162fc4664301ce04853c0 SHA512 42794b06d410771d1ffdfdd4a9cab136cfb80cf95385876a580fc45739fa41f0769adfbf16be54a9a931632e02d2464278c5395092a1d6107703875e9ad112b2
+DIST parking_lot_core-0.9.10.crate 32406 BLAKE2B 25339d028579eb45a957ae5fdbac00288b1472d784c0aa7fa2953fcf9279c750d243ce69744993ee8cbe6899633e71e0a54ffc11e39247755685107f2f8dea54 SHA512 4f30fb60ded274d3154ffb00f6f50ac284b6fb97daebc1a2ac897ce97fa8e2ec6ff30cbdadf3b7419617a410fa7525f30ef5e580334e07d4420f4c0200a57389
+DIST portable-atomic-1.6.0.crate 140689 BLAKE2B c91d06e04a87c9a207233d8a850859aa1f5cc43dda8aed34511c3fe9641c27412796539ed045a58e649d2a0c7d71100b6b2d78a0c662fc061fd961a652ae8722 SHA512 b27cf57655a2f1e2d6ea7b45d80b4f9920a836e462f132c50dc1e4d314e162444309de1baecf45dad2defc7a5b99759165e54da9fe759b24092f8cb8755c515c
+DIST proc-macro2-1.0.81.crate 48233 BLAKE2B 94319064772c757b6bf57eb9e759e827454f719d82210271ebab9c6ee4ecfddc9099522cdc8595123efe2efb64fd50eadd7e31419c5842ff1cb8fdd32e8daa0c SHA512 7edec4b786d9fe076ced4fa5c0d369c163fd1c27c895431245a8268ab2e16665b7c0a585552d46ceee6b8103979a4201f92abb381f0e678128abed359f514de7
+DIST pyo3-0.21.2.crate 504574 BLAKE2B 1b8bf374d1b61e3e4bedce6344338126051a6d951ea87d258e5ed92d4c0e13b0202f2e7e56500277c54743dd16c9b4587f436cf2058567501c8a9ac7c6b6c17a SHA512 5f88cda423e82b62698a74ceaa31fc27e5c1f1d417928accddb2e00337d163fda622f774ae6e24c1cb73c467d6b01e9a2ba866e4454338b1fbfc892ae14ffc53
+DIST pyo3-build-config-0.21.2.crate 30581 BLAKE2B 993c1f7f15124336b70570ed3949cc0873c2b883e81dd3a350f347cf014fb9a82d487197fdaf475989b727b7ee8d9a5511a72422f76126b8788c4f40831baed8 SHA512 8b6bedb31235de3dd95bca6e19ea4eb7752227ceb9f1c928c4df2b277df5ee443e5c262e448012e4e54e3104213db4d745c9c42f79ab3029dee68f48ec3a2795
+DIST pyo3-ffi-0.21.2.crate 66160 BLAKE2B 759622fa3a41bcdb48170983c4e194898415f8db16a7c57ace89a7945bd47374d9a14e5ecf24e80a178bde597cfa30d41f9e6617b458d365640bdbda048e6f6e SHA512 5cbc9dfb14569210776fd66341e77e61642a9920354251a65b91aa13a0fb1c373258d1a6b4f8feacdc4266d472193d8f20a6dd2cc180ccc3d43fb66237ae6d0d
+DIST pyo3-macros-0.21.2.crate 7920 BLAKE2B 60ceb626fd1ffeca7e81ebc721bb4cfebd99bb708d48bbfdd296b250ed41471f82e8657715e1f58840423ac11d8c5a84a6107a7037affdea4e0c2cc561514ed7 SHA512 95335a55d57346107fdc7591d51e36aa0a985d6c44a875475a0ed52df25d33b21a7b922fdab0eed190da9708968e79f7cd50bc683b6d210eb068713a915ac7f4
+DIST pyo3-macros-backend-0.21.2.crate 58088 BLAKE2B 05dd49983c8aeddc47cd94f6cd58f10e41ad6f4ec57006908cde4fe3edbcf6814058d7843a88c9dbeb0824f840ad3509414c52e47fffe5ad4b730f791c9a3f19 SHA512 f8488ba0a68f1ae20d053e2323d065f03b40c24231a50b05205b100e973ae50bc7bb9c25e4d37df56f4cfa73d2001655ce9685078d1017a4a90bd7945c01b833
DIST python3-dll-a-0.2.9.crate 66092 BLAKE2B 2c4baa31df7f55da8f1c6073525b4498bae7207ee38ef0eba4dbe58088609937a7d7b851c603ae62e5eb5361881e67a05d8c112d0a76aba5d99b13cdccd59d59 SHA512 1914d3ce67284f13551a4efefaeb9c11138fcca3d5082746282f64b7a36f732c6834766d981f27d862a61410eed09b3d281e0cab8cc1a46d424d04823ffaee35
-DIST quote-1.0.26.crate 28397 BLAKE2B b468a5e9350843ea81e540d17c9fcb302b46fbd450e10280c5fff6fd7c98a439df8c3d3d47e551bc6d67ed02052b5b5c65d215d5ff8ee34f045747e75c1ba37e SHA512 6fcfe4d31f601aa60beb858c25df217421b0a184d185eebc7a4cb9fbf97c687992b77bebd8671a9e6193716387c3e926fed9b75a08684eb2d9a5b155fbc321a5
-DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
+DIST quote-1.0.36.crate 28507 BLAKE2B b93495163ed205e33543ed45f084870240d479071d643704b6e348fb9ada6e1d8401893c13348b9964f4b6b17ddb96cb5458eec540f0d761655fcb96a4cd9129 SHA512 f1f002a912692f7ffd4912ca980ec57ff4aca3a7d9e2e42e9e3409e2105c9f59d86c05719f6af309bccaef2f8843b0848a6e3afda3356e045d8e7cc5956ae685
+DIST redox_syscall-0.4.1.crate 24858 BLAKE2B c3301137a0b84e03b09d28dfa377ab3bea74d574a08cee21d35713b278d8b5b30ca2a1d73a0981baeb4644cbb88c86c8eb15ab3bb2692e38b93e6b35fab4e0da SHA512 073ed9d96090cf46eab9877742277a013c62d8da86d9caf2310b4fa868af306511936553579e01309f27067d344226cc8dc5e3aef01d9b900da2febd33848f8d
+DIST redox_syscall-0.5.1.crate 22536 BLAKE2B b7766fcf35dd865fc98495f60da54ca9a6b4cff007f4323d1c63de5d1152766aa5517139b5ec50afca39d934360c701a180c4516feccbc2600085d5d72dabd2a SHA512 0952b5f4f79f2cff04b4c21d964df7b56bc0cbff8d8a2a9a7d38ba66fd69cbd0fb004cd3d8ac6feadde8d9590858cd7e1763da7e4a5de840cdef42b1b6f1e460
DIST same-file-1.0.6.crate 10183 BLAKE2B a320c8343e0b38078ba81c4f0159d886bf47764c74efe0d7cd2b3218426e8341b51e523c00a9e5fbc2ee1057618296bd70b576c68751bd55d6ddb352defaca15 SHA512 3ba35309742c8db63210d9ea78bff4ecd80471d69e6238eb96c7bf0673814f221e2d838fe6311bfc5a0e71b4a7ccba33e07859c0b9cff2171969ff08a4214a7c
-DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
-DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
-DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
-DIST syn-2.0.12.crate 240123 BLAKE2B 3a7b58eb8bc7afc57c08add89ec4969db77aa8d8f9c30569a5194608e6894c98496f52ffe082b2a966d6fe120b39d3213a111c01d2a4bdaf39f04e2faa20d3f2 SHA512 170707bd4b6d815529a0066a875f097a25cd6fca03921314b9b909a69bbdb60860b0b3779d0bfac362062420355fe0cd4bd68b4aed188d4d8a790e278cdb5ce7
-DIST target-lexicon-0.12.6.crate 24357 BLAKE2B 5d9aef958155bdc1b546b9940083cf81ba4c638525e2d46340e50c4274764b39ac19a12214f3ff64a6830524a2ecea9d555db3f07d5d7dbccd7dd809255c4499 SHA512 63ccc047d10ebff55c3b9be400e2deafcaba7beb28ee67bae6d5df58e7c08362b2c4e0004f6daa582928850701969015ad43714c7ad46df665474667ff4db58f
-DIST unicode-ident-1.0.8.crate 41962 BLAKE2B 3e3394a421460b0cdd56f96e1149b3816651ffd7064f9ec85c12050917d0b271eeee4bc3f6d3f0a3c1596635df3dac54bd610243d34e459743fe29b3b931a237 SHA512 8104999c6fff002c5aa109e2ca75ce3eaf772155d31dff87bcf39e3eb3da58b6cb543717be7b55acdb0cb1a4bd2a3d2e9c9974f7f75b6528668f5ef665ef4088
-DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
+DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
+DIST smallvec-1.13.2.crate 35216 BLAKE2B 31a268aad595c06cdb078577a97b089dbea156a0df307a3e6aaaf4861bd9a680c5b11921da9dbdb1bcfe17d58c0cbede1ffe6bba3aef59b384fb1b9703c62d27 SHA512 a97c758b668e40ad9eb572e65feeae4954e09200a04ab92e26a13b48894381cd3a3d2571070c4b7a5e181182e1ede9688f990650342ec69ecfe1a264d234c679
+DIST syn-2.0.60.crate 255808 BLAKE2B d7a8e415dd72267fd92da48ba8b3e6feb728f0639797db1aa74aeaa2a57935b7565eec37cbd32eec826154e2c54075b121737369eb15af36c322c34b3cfd7930 SHA512 20bfa02b03c193672a9922f9a5e196185341e082a262f7c00d7c2d467d9e2d77f4af3994634923cfaeee34aa9eab510415165f052ffd9b1ed0b1b581e272898d
+DIST target-lexicon-0.12.14.crate 25508 BLAKE2B 5ebb6b49e5c3b0057959557651287d4bf5ffe5b499340019ff64d5fc3b64e780e344982e358c94b1b25a20bf0f526a584aeecc704695b50a55cc268dd65edb97 SHA512 3410ecc0faf854f49c41c99f83972960e67065b1e0e78557a7c4996d996109bfd167d2121a019f5256f996c896cd45af032038ab7918fdcc6ee6311693ce951a
+DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
DIST unindent-0.2.3.crate 7306 BLAKE2B a57407b117e99c230750c7d4a2a0899586c8271e4ba88ecb409c976905c014f42885372c234a75fbfbedf71dbed779f95f735975d150adacdcb61152a49db4c2 SHA512 2f1eb420ea3653b00d3e5fa0c2c105da8fd8a37cb3e699373c168604b799fccd5f0faf0cddce4212d119c2afb0c86b41efc3a50752b83ff7beda2bd84d360505
-DIST walkdir-2.3.3.crate 23125 BLAKE2B 3bd354b9796a31bd4c8f4ca695514101a7837ae2134fa1ffec20df1cc946a67b38c6b50affbc2cb79ffee0934474d8269378dab5ac49a4943ccf8c7aaa51db11 SHA512 2b6e1e27c16e310f636eb1c9ee58435509fb8f7a6c5beba4dd13d87aa1d91599a593bfe720a675d536ce63e217c31e240a57122455d8e18de1282a9e7fc3defe
+DIST walkdir-2.5.0.crate 23951 BLAKE2B a2d3a973f206e94699adec0263dd5e211347722cf3ab82536295019268b3125084da5dbcad818070bfdcb6a5de08da4eb483475bc225a829f58a1e3e040b5fba SHA512 da36a121dc6656942dc9cd9887fcf4f6eea7750354ef3f59c7c25d836e7afe06f33260b4d55d0d99421104ed4ce56ef2a1f0f4c3b713766fff90548c21793fad
DIST wasi-0.11.0+wasi-snapshot-preview1.crate 28131 BLAKE2B fe501889f25d65e2d032f885cc50c4f8bf7dd70fd5cbc438de349838370d8699e9627b0a4fc76030ea9fe6d508f41d0c9928a875fdbc47e73bfb17241cf7b155 SHA512 043500ab28cd9cb779475255da5d109ebab7fccca72b64873dc28d77bc5a157ba8d96b9e8f05223b5b36c7089bb7b4ba87657fc69bac16b78972f897294a865f
-DIST watchfiles-0.19.0.gh.tar.gz 44079 BLAKE2B 6dcedb8e642719041ec885e04ce16bb6e29310fdc6cd8e301fdd0b965ac994648bfd3959cafac98688823919156c3dff52585984173971bc132fb218a73a46e2 SHA512 0de8dd6600ca866007a3a5dd1e792d219f91ca0333898844b4de184aebdd3314b2ccce143cf2a58c1c458053d7ba7d3076f808ae1c754b9306fd5528a8f53924
-DIST watchfiles-0.20.0.gh.tar.gz 45236 BLAKE2B d284412ee923b9791259bb06a94fb54538981a7a6885d8a29003f9b5b5c6c5e79180be60a7d795aa9fcd69ffe70460454259a974371e1eed758469458f1b9ae8 SHA512 65eeff70dbcdb1d8394a1c4f086e3cc977c9b126ce205cd454d9deb2af41e128fedc07b6a83880e33f9cbacadf3158f56a55d16b789c5061ede7b94459b9c140
-DIST watchfiles-0.21.0.gh.tar.gz 45592 BLAKE2B 299ab53edde696315fff1c1bdb63d45badb008e990bfb7367d5599e9f2e79c0aafbb761a21aa56c6c4e1dc4697f7ae20a868aff0a302e8393321f143cea048c0 SHA512 b3c30d43ec7d4a752c69fc85dcc347eb27954d87ea003aed54544e794948b067900dd291f3698ac951a28b532f2fe555e86f5133cc0306aeae4e168f9760af25
-DIST winapi-0.3.9.crate 1200382 BLAKE2B cb5799749ccd935ea2d7068d953cecf19f543d9db7dc16ad4584bb7005373ada34937a3ced7225544d8bc765da599911c7a3190efefb3a25b7c1bb7123b4f673 SHA512 ff8b7b78065f3d8999ec03c725a0460ebc059771bf071c7a3df3f0ecd733edf3b0a2450024d4e24e1aedddaecd9038ce1376c0d8bbf45132068cf45cf4a53a97
-DIST winapi-i686-pc-windows-gnu-0.4.0.crate 2918815 BLAKE2B 4d357e4d30f9552972170d65b9a5358b69c46a3e772fe05efc22f3d4ffc1caeeaad7aacdc7abd503a7ad0545f8bd7d22bf351dcb6df76f812fa4d45c34d65df0 SHA512 a672ccefd0730a8166fef1d4e39f9034d9ae426a3f5e28d1f4169fa5c5790767693f281d890e7804773b34acdb0ae1febac33cde8c50c0044a5a6152c7209ec2
-DIST winapi-util-0.1.5.crate 10164 BLAKE2B fc800aceae5249a858c806c3e969ef2545766099872d856ebee51c883d9acf1122278db9607d50ca53eac351502b700fd2463900932d342240f97f683d517963 SHA512 7baeb661f397c4693dfa001fdc774b323c51a7c55caad40f2de5112a1cefd1d6151e3df41fa4ee193460a5905917c83d2b1de5fa10b4bd014ad96690af95c0fd
-DIST winapi-x86_64-pc-windows-gnu-0.4.0.crate 2947998 BLAKE2B 2ad1ea8b5fa07d544e910ccba043ae925269b76b26c9da356305b34b86741dd8b9aff0b9ffe3d562db4fcd7d7c46a11ce9e3168b782b1d89ae6881742b7ede82 SHA512 4a654af6a5d649dc87e00497245096b35a2894ae66f155cb62389902c3b93ddcc5cf7d0d8b9dd97b291d2d80bc686af2298e80abef6ac69883f4a54e79712513
-DIST windows-sys-0.42.0.crate 3006791 BLAKE2B 7a0962364ecc416cf0ae7e49cce1298a12d819003e488f6e77aff1a52710f00378638b6a05db5557a031e1b75659587657971ddc63eaab35495133762f99a7b2 SHA512 b07b119688f3e3ad234d36979947f34e8e19988fb62101afbe18ec8afc9c8a4261128939df8bbb849d5c5982422cb4c50dbcba70f2bf401fbb7c605df1b2b354
-DIST windows-sys-0.45.0.crate 2568659 BLAKE2B 6f2d634d121a9bf41e2887e277a73f33aee69b04c7fcfc6ff973d21902787997f1e186f530e9226cddc003ffc3f85a179c069c8a8688de459f617df92d33f94f SHA512 f239346c0141b95aa76e0771e2f4e38b9a592f3cd92c6001de353637cd65cd73b94cbf9917a4eaa9b0c0b2e6e2af920b9cf6b3fccb52770df5160254cffc1c47
-DIST windows-targets-0.42.2.crate 5492 BLAKE2B 42fc4a7d3e287fe2a70637e890304b49737776596f4a94a6d216668247092135e84322bd04caddd19c83b7700b0f27278e600ce8ed326957fabc21bffcae89b0 SHA512 84fbaffcad9a80beca77506aac26d0c5cb75aa0f21a5a70bcd3f6a16e71e8753ae00d3b89da9262c99756624163dcc0d6074fa9f99dfaae0dc098018209025f9
-DIST windows_aarch64_gnullvm-0.42.2.crate 364071 BLAKE2B 97c4e3b2a2dd3f936f9bfcdad23639c9c4c499eed220aec361d26d6013d798efa118e6b298f9cf841ac149d2ae5d58ca653731718450fcf2910bb5f6fa39159f SHA512 75cd7eb1def8ce9d0ff3d7468d2b1cc31cc76c08f981a2460c3d1eb09cff7100d7442863a3591621c1f5f3b3f4badf0b5c95285b6ed583e37283a8403f1095f1
-DIST windows_aarch64_msvc-0.42.2.crate 666981 BLAKE2B 9f3cc5592cdede08bcdc1e7c455325279e3b763d96942695e10dccf1dfc37a81c749b69a7d6de883d4c0fa6e8a0d2f578fe2a8d6c42ad8ef6282590bf8fc87b7 SHA512 d2dafa8c94d01c1b65ca1bd631d31f2ef842f1db7accb132ff78c3f8483221b991afd3391563e03dcec42bbc9cbdc0ebdab47b991d25af85b5ba2ac1bbf8db63
-DIST windows_i686_gnu-0.42.2.crate 736236 BLAKE2B 4ef0496462afc73d9d72af7e5da1e6d3506a92f8172930e88ae64ab97596ffd31c4f97fb969e9b677e30159c27f00a8e756deb006b630fb98ce83f03c8b762e2 SHA512 ad09d650a05cb91cb6b40f59025c023a4c286bc1194586697c506016df2b9b0d5b02606b81687bc634795a0d9a9b8a73e486599328ae09c853e8e5ba662fc59c
-DIST windows_i686_msvc-0.42.2.crate 724951 BLAKE2B b084286cd4927efd2889b149abf8a9fe9d3d777130db9e592982660dbf9a96a0f5e723ca121465787aa11877d2d29a5a7d7cf066cdc8fa7e90d7ca7dcb7677f1 SHA512 c1706fc36d4b157c020744a11b3eb5d7dfbf05a0b56775bc717e94b7fd725816b20154fdbcd69ac08dbfb8b8bbfa74fab72d7a9c10399aad6a1cc54cf597e804
-DIST windows_x86_64_gnu-0.42.2.crate 699373 BLAKE2B 01c70809d564b16b268656e47295e99c992d8f9839fac8a51338a0e7c3b9cdcd0429c456ca8c1c139a8c687ed7ed6c43a82250889d881aadaa65bd037223e0a6 SHA512 5767af3c86e717f93137a89d442230e6b60a649057edb3ab104b1f82c0bcd64fe089dcdf2f4fd486a799bece1ddb5f0449641536b678211945e749ae24f35c1f
-DIST windows_x86_64_gnullvm-0.42.2.crate 364068 BLAKE2B 64bc53e98eb3fc649c9b43a6e734de4e65088e41edacabd49f7afcc5dc6e1065c563ecfc682747dda05978dea2dba4f45c16fcc18c3b00684c3d93681e5a7deb SHA512 d39a8bc948110fe612d3f8d6628b3f0d56620df11d8a49e0fabb6c90389ad407582b3af10e4eab46c79b3d11d2e10753d73d9e55963fbeac085f41e9749bdba3
-DIST windows_x86_64_msvc-0.42.2.crate 666936 BLAKE2B bc3a456e7f8bc272f8978ec69506ec9d89f97b7582ebbe05d8bd57bdf8156ef62d0d2dc6137a97e81d54059d70db97a24af9a038adff357f5dfd28805d6193b5 SHA512 53a35f438903fceb59e36bd2ac331773fb8e6c8c5a6d984e79021761f91b3b4a23efe49d219667a4d0d23dcdbf906da9c24e74fb1cff93395b5c55ff524e3788
+DIST watchfiles-0.22.0.gh.tar.gz 46036 BLAKE2B 505d67974bab8a0a14f25f64ebbe1013b4966ebd5531701b5f0297703692603120a034b09a3f17754b4c5de04605432006437eaabd6ed43ddddc11bf28a422fc SHA512 6d3a4478ff90697323e84428fa16db4b8355c7c637e4faa00a025ff1e03fe8f44914fedb2943a6b6b6cad13bdf50bb6e5712de9caa34b66eb64193923eed6504
+DIST winapi-util-0.1.8.crate 12416 BLAKE2B 5b48c27dfbb5db5c332f7e248138327b35ceec0909788b940168e7f6fe1402800da5e7690b2b1654da6c510b5c720330a92da16dff53ef15821f37fef6f335e3 SHA512 e186111398f9f0f0686e791ad0d72c39205e5f246b6e020df413e477ee07f32e91d09405c61dc92752f061f54fd7533435545c1a151477b40e2d68acc94a57fd
+DIST windows-sys-0.48.0.crate 2628884 BLAKE2B 551e900de4f67187ef034b60df9fd0e0d8f82a3100ef28e1eabd543ac129d882dc86ffcc1714071aba09e4cb2ae2d2f07ace1a32b99fd989ce525cf05991edab SHA512 bdf534bcf3face31e9ebe11427a911a53f89f4ff5eaea8cccd094e139bfe14b2aec602b1cab1df774794d999477439d9adc6b627a8e33c20334fc348ba2c47ed
+DIST windows-sys-0.52.0.crate 2576877 BLAKE2B 69d6b560ccfc8f679e2678663ba606060d71fa28efa82c8aef8cceaa2c63b06f2052764d60163964f939649a26bbec6361ee4b094555e941fae92070db566980 SHA512 24ee0df246c2b456a4987a9124786a28acd358768cc7d1305bccd81bc5bb8822b81a03fb18d35174a520b911c6d9b685f81a34ab319fee13da3b985273584f03
+DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
+DIST windows-targets-0.52.5.crate 6376 BLAKE2B 1d39fd86380ab086c536d88e67b60956410b345790ccea62a25e6a700757b2a9cfa6dfeb7b86934cf47b981ea2e5f42dddf49780ad9829a551dc507fcf108641 SHA512 d00d7bc7eec3c10272e803ee5c9ea0d9b07c43311124dae975b4f5aae7408c5f2ccb2fe6e68228ea3d4e70b6b658382cac6992ea177f43a9cba2ef95c4fda0ee
+DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
+DIST windows_aarch64_gnullvm-0.52.5.crate 433266 BLAKE2B dee1b69cdf1fbd4143136909e4df3adaa7b80d7630a01ca9a42fc5ad0d5a4d9a9e2873b43c6d8e55de59f237d9199fad0768c4e1cda3b1e5354847bd70d4c79e SHA512 b4cf511025458fe30d5b11368af285610e1654a8986ea9f78fa81b8bb87d38a00c4869441c62692534df66d06baf14c8a4d17f8eb06468eb260b99e2fda6439d
+DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
+DIST windows_aarch64_msvc-0.52.5.crate 827944 BLAKE2B 3bcb16d527be1dfdf18a9105ab259a064f00e949937ca423c8dcd1d2b90090d85aa7e42ca6ccc50c9baeee1aa144123d0a04643f9ff1147e62b2fce28b8a697b SHA512 c8974f81e37a43d92c4a8b142705e36b7acc58d9150d80ffa3997433da878044c467a2d9167ba792d37a183a0082d912500fea8c8fed743f395b63ca62a5758d
+DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
+DIST windows_i686_gnu-0.52.5.crate 875699 BLAKE2B 528ea431d080c5326e4c6ed316d9ea3e38b40c2e1322a12a432506a2c11555a94537661a0941e90c20eff4a9ce42c12539876dae6e77a1df18b522529928b309 SHA512 cc3e0362fb62dd5e8a855bda3be0177708ec8629ee9685f1f9aaac3f71a8cb082387388bdf49b09d3f5ee24a636b0b4f933d2c8bb75db434ee0192c8ce0547d2
+DIST windows_i686_gnullvm-0.52.5.crate 473064 BLAKE2B abe41ee330c05ee1366b3a835d15c6db3964ffd7b340ee69d215056b0d4b65c67f2782b0c04a55db64001098de87c93e2d447e25ef2a27f2cfa6685b8cf20c88 SHA512 da45c882248070911bf55698f62c245cb081a23254cdcf578df053905adb9117454235e52dcf1dd97c0d2248f92ff1d2fd3e18844a7be8d93ba08590c1eca22b
+DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
+DIST windows_i686_msvc-0.52.5.crate 895404 BLAKE2B 02555169f8c5b944231a877de8693fc871ea0d7d33f52f60e164bacb35cec13d463af07c57fec4667948047cc222d8bda7f6a0be01a07e7184b69e4adc2b4577 SHA512 08c96f8e9385ac121549bae8ed228741b32004be20b2955d163a98d4b62af464f1682cb813681fa22823d20646f19335cf0a66203a876b105e119e05a4db0634
+DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
+DIST windows_x86_64_gnu-0.52.5.crate 831539 BLAKE2B 54f84c19988addeb7cbbbddb940e430e7345944589419592b99addf9b83bf6d801b18f4e80399b85bbb0b0ccf4608e36d9a50b79d8b1d6ce2b93745856e06eba SHA512 d9bf91765d02d2727344e42081f4bcfa73be97991495126f7e633f27e56a261ada3a8b865a559cfe71f9bc9aed5b14504f89138796766937b3521009726dfab8
+DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
+DIST windows_x86_64_gnullvm-0.52.5.crate 433246 BLAKE2B f34328a6d100e092ecb34a6305daedf4fecd71840432f104e8707f049b60d784584ce4f02fabdd0281fdb8bc7ebed34b38fdacf3be9c8abd60084e9a4ee9fd56 SHA512 22a978c40df9705cd94e4c52f2b706e477e667b564c608d0adb144b38cb486c279c09d1eb1dd2d6c7bd3401b75a2dc5eafe0f7d642ffe6453f394d1f59483a08
+DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
+DIST windows_x86_64_msvc-0.52.5.crate 827905 BLAKE2B fd5dac198bfbf29878cb461a7338c289c9af16ea80b3e5fa567980d2a6a5ea6a1cd83729ce6fd67e4da171873083dbeb1d6e16a287620f0245201f9cb29c29b4 SHA512 81176090dc725d7fe3867e6322fdc4a4065168580847b35e6f8da345f685c4f66a81e35cd1880dbaabdd4cdc82446dde9d6a0e583cf0b7fe47dda8bc8002f1c6
diff --git a/dev-python/watchfiles/watchfiles-0.19.0.ebuild b/dev-python/watchfiles/watchfiles-0.19.0.ebuild
deleted file mode 100644
index 3f09db842f23..000000000000
--- a/dev-python/watchfiles/watchfiles-0.19.0.ebuild
+++ /dev/null
@@ -1,114 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-CRATES="
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- crossbeam-channel@0.5.7
- crossbeam-utils@0.8.15
- filetime@0.2.20
- fsevent-sys@4.1.0
- indoc@1.0.9
- inotify-sys@0.1.5
- inotify@0.9.6
- kqueue-sys@1.0.3
- kqueue@1.0.7
- libc@0.2.140
- lock_api@0.4.9
- log@0.4.17
- memoffset@0.8.0
- mio@0.8.6
- notify@5.1.0
- once_cell@1.17.1
- parking_lot@0.12.1
- parking_lot_core@0.9.7
- proc-macro2@1.0.53
- pyo3-build-config@0.18.2
- pyo3-ffi@0.18.2
- pyo3-macros-backend@0.18.2
- pyo3-macros@0.18.2
- pyo3@0.18.2
- quote@1.0.26
- redox_syscall@0.2.16
- same-file@1.0.6
- scopeguard@1.1.0
- smallvec@1.10.0
- syn@1.0.109
- target-lexicon@0.12.6
- unicode-ident@1.0.8
- unindent@0.1.11
- walkdir@2.3.3
- wasi@0.11.0+wasi-snapshot-preview1
- winapi-i686-pc-windows-gnu@0.4.0
- winapi-util@0.1.5
- winapi-x86_64-pc-windows-gnu@0.4.0
- winapi@0.3.9
- windows-sys@0.42.0
- windows-sys@0.45.0
- windows-targets@0.42.2
- windows_aarch64_gnullvm@0.42.2
- windows_aarch64_msvc@0.42.2
- windows_i686_gnu@0.42.2
- windows_i686_msvc@0.42.2
- windows_x86_64_gnu@0.42.2
- windows_x86_64_gnullvm@0.42.2
- windows_x86_64_msvc@0.42.2
-"
-
-inherit cargo distutils-r1
-
-DESCRIPTION="Simple, modern file watching and code reload in Python"
-HOMEPAGE="
- https://pypi.org/project/watchfiles/
- https://github.com/samuelcolvin/watchfiles/
-"
-SRC_URI="
- https://github.com/samuelcolvin/watchfiles/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016
- || ( Artistic-2 CC0-1.0 )
-"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- =dev-python/anyio-3*[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-rust[${PYTHON_USEDEP}]
- test? (
- dev-python/dirty-equals[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-# enjoy Rust
-QA_FLAGS_IGNORED=".*/_rust_notify.*"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # fix version number
- sed -i -e "/^version/s:0\.0\.0:${PV}:" Cargo.toml || die
-}
-
-python_test() {
- rm -rf watchfiles || die
- epytest
-}
diff --git a/dev-python/watchfiles/watchfiles-0.20.0.ebuild b/dev-python/watchfiles/watchfiles-0.20.0.ebuild
deleted file mode 100644
index cd18ce8ad8ab..000000000000
--- a/dev-python/watchfiles/watchfiles-0.20.0.ebuild
+++ /dev/null
@@ -1,114 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-CRATES="
- autocfg@1.1.0
- bitflags@1.3.2
- cfg-if@1.0.0
- crossbeam-channel@0.5.7
- crossbeam-utils@0.8.15
- filetime@0.2.20
- fsevent-sys@4.1.0
- indoc@1.0.9
- inotify-sys@0.1.5
- inotify@0.9.6
- kqueue-sys@1.0.3
- kqueue@1.0.7
- libc@0.2.140
- lock_api@0.4.9
- log@0.4.17
- memoffset@0.9.0
- mio@0.8.6
- notify@5.1.0
- once_cell@1.17.1
- parking_lot@0.12.1
- parking_lot_core@0.9.7
- proc-macro2@1.0.53
- pyo3-build-config@0.19.2
- pyo3-ffi@0.19.2
- pyo3-macros-backend@0.19.2
- pyo3-macros@0.19.2
- pyo3@0.19.2
- quote@1.0.26
- redox_syscall@0.2.16
- same-file@1.0.6
- scopeguard@1.1.0
- smallvec@1.10.0
- syn@1.0.109
- target-lexicon@0.12.6
- unicode-ident@1.0.8
- unindent@0.1.11
- walkdir@2.3.3
- wasi@0.11.0+wasi-snapshot-preview1
- winapi-i686-pc-windows-gnu@0.4.0
- winapi-util@0.1.5
- winapi-x86_64-pc-windows-gnu@0.4.0
- winapi@0.3.9
- windows-sys@0.42.0
- windows-sys@0.45.0
- windows-targets@0.42.2
- windows_aarch64_gnullvm@0.42.2
- windows_aarch64_msvc@0.42.2
- windows_i686_gnu@0.42.2
- windows_i686_msvc@0.42.2
- windows_x86_64_gnu@0.42.2
- windows_x86_64_gnullvm@0.42.2
- windows_x86_64_msvc@0.42.2
-"
-
-inherit cargo distutils-r1
-
-DESCRIPTION="Simple, modern file watching and code reload in Python"
-HOMEPAGE="
- https://pypi.org/project/watchfiles/
- https://github.com/samuelcolvin/watchfiles/
-"
-SRC_URI="
- https://github.com/samuelcolvin/watchfiles/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016
- || ( Artistic-2 CC0-1.0 )
-"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~ppc ppc64 ~riscv ~s390 ~sparc x86"
-
-RDEPEND="
- =dev-python/anyio-3*[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-rust[${PYTHON_USEDEP}]
- test? (
- dev-python/dirty-equals[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-# enjoy Rust
-QA_FLAGS_IGNORED=".*/_rust_notify.*"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # fix version number
- sed -i -e "/^version/s:0\.0\.0:${PV}:" Cargo.toml || die
-}
-
-python_test() {
- rm -rf watchfiles || die
- epytest
-}
diff --git a/dev-python/watchfiles/watchfiles-0.21.0-r1.ebuild b/dev-python/watchfiles/watchfiles-0.21.0-r1.ebuild
deleted file mode 100644
index 6e9298bff633..000000000000
--- a/dev-python/watchfiles/watchfiles-0.21.0-r1.ebuild
+++ /dev/null
@@ -1,117 +0,0 @@
-# Copyright 2022-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-CRATES="
- autocfg@1.1.0
- bitflags@1.3.2
- cc@1.0.83
- cfg-if@1.0.0
- crossbeam-channel@0.5.7
- crossbeam-utils@0.8.15
- filetime@0.2.20
- fsevent-sys@4.1.0
- heck@0.4.1
- indoc@2.0.4
- inotify-sys@0.1.5
- inotify@0.9.6
- kqueue-sys@1.0.3
- kqueue@1.0.7
- libc@0.2.140
- lock_api@0.4.9
- log@0.4.17
- memoffset@0.9.0
- mio@0.8.6
- notify@5.1.0
- once_cell@1.17.1
- parking_lot@0.12.1
- parking_lot_core@0.9.7
- proc-macro2@1.0.53
- pyo3-build-config@0.20.0
- pyo3-ffi@0.20.0
- pyo3-macros-backend@0.20.0
- pyo3-macros@0.20.0
- pyo3@0.20.0
- python3-dll-a@0.2.9
- quote@1.0.26
- redox_syscall@0.2.16
- same-file@1.0.6
- scopeguard@1.1.0
- smallvec@1.10.0
- syn@2.0.12
- target-lexicon@0.12.6
- unicode-ident@1.0.8
- unindent@0.2.3
- walkdir@2.3.3
- wasi@0.11.0+wasi-snapshot-preview1
- winapi-i686-pc-windows-gnu@0.4.0
- winapi-util@0.1.5
- winapi-x86_64-pc-windows-gnu@0.4.0
- winapi@0.3.9
- windows-sys@0.42.0
- windows-sys@0.45.0
- windows-targets@0.42.2
- windows_aarch64_gnullvm@0.42.2
- windows_aarch64_msvc@0.42.2
- windows_i686_gnu@0.42.2
- windows_i686_msvc@0.42.2
- windows_x86_64_gnu@0.42.2
- windows_x86_64_gnullvm@0.42.2
- windows_x86_64_msvc@0.42.2
-"
-
-inherit cargo distutils-r1
-
-DESCRIPTION="Simple, modern file watching and code reload in Python"
-HOMEPAGE="
- https://pypi.org/project/watchfiles/
- https://github.com/samuelcolvin/watchfiles/
-"
-SRC_URI="
- https://github.com/samuelcolvin/watchfiles/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0-with-LLVM-exceptions ISC MIT Unicode-DFS-2016
- || ( Artistic-2 CC0-1.0 )
-"
-SLOT="0"
-KEYWORDS="amd64 arm ~arm64 ~ppc ppc64 ~riscv ~s390 sparc x86"
-
-RDEPEND="
- >=dev-python/anyio-3.0.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/setuptools-rust[${PYTHON_USEDEP}]
- test? (
- dev-python/dirty-equals[${PYTHON_USEDEP}]
- dev-python/pytest-mock[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-# enjoy Rust
-QA_FLAGS_IGNORED=".*/_rust_notify.*"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- distutils-r1_src_prepare
-
- # fix version number
- sed -i -e "/^version/s:0\.0\.0:${PV}:" Cargo.toml || die
-}
-
-python_test() {
- rm -rf watchfiles || die
- epytest
-}
diff --git a/dev-python/watchfiles/watchfiles-0.22.0.ebuild b/dev-python/watchfiles/watchfiles-0.22.0.ebuild
new file mode 100644
index 000000000000..0030336939ba
--- /dev/null
+++ b/dev-python/watchfiles/watchfiles-0.22.0.ebuild
@@ -0,0 +1,133 @@
+# Copyright 2022-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=maturin
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+CRATES="
+ autocfg@1.3.0
+ bitflags@1.3.2
+ bitflags@2.5.0
+ cc@1.0.96
+ cfg-if@1.0.0
+ crossbeam-channel@0.5.12
+ crossbeam-utils@0.8.19
+ filetime@0.2.23
+ fsevent-sys@4.1.0
+ heck@0.4.1
+ indoc@2.0.5
+ inotify-sys@0.1.5
+ inotify@0.9.6
+ kqueue-sys@1.0.4
+ kqueue@1.0.8
+ libc@0.2.154
+ lock_api@0.4.12
+ log@0.4.21
+ memoffset@0.9.1
+ mio@0.8.11
+ notify@6.1.1
+ once_cell@1.19.0
+ parking_lot@0.12.2
+ parking_lot_core@0.9.10
+ portable-atomic@1.6.0
+ proc-macro2@1.0.81
+ pyo3-build-config@0.21.2
+ pyo3-ffi@0.21.2
+ pyo3-macros-backend@0.21.2
+ pyo3-macros@0.21.2
+ pyo3@0.21.2
+ python3-dll-a@0.2.9
+ quote@1.0.36
+ redox_syscall@0.4.1
+ redox_syscall@0.5.1
+ same-file@1.0.6
+ scopeguard@1.2.0
+ smallvec@1.13.2
+ syn@2.0.60
+ target-lexicon@0.12.14
+ unicode-ident@1.0.12
+ unindent@0.2.3
+ walkdir@2.5.0
+ wasi@0.11.0+wasi-snapshot-preview1
+ winapi-util@0.1.8
+ windows-sys@0.48.0
+ windows-sys@0.52.0
+ windows-targets@0.48.5
+ windows-targets@0.52.5
+ windows_aarch64_gnullvm@0.48.5
+ windows_aarch64_gnullvm@0.52.5
+ windows_aarch64_msvc@0.48.5
+ windows_aarch64_msvc@0.52.5
+ windows_i686_gnu@0.48.5
+ windows_i686_gnu@0.52.5
+ windows_i686_gnullvm@0.52.5
+ windows_i686_msvc@0.48.5
+ windows_i686_msvc@0.52.5
+ windows_x86_64_gnu@0.48.5
+ windows_x86_64_gnu@0.52.5
+ windows_x86_64_gnullvm@0.48.5
+ windows_x86_64_gnullvm@0.52.5
+ windows_x86_64_msvc@0.48.5
+ windows_x86_64_msvc@0.52.5
+"
+
+inherit cargo distutils-r1
+
+DESCRIPTION="Simple, modern file watching and code reload in Python"
+HOMEPAGE="
+ https://pypi.org/project/watchfiles/
+ https://github.com/samuelcolvin/watchfiles/
+"
+SRC_URI="
+ https://github.com/samuelcolvin/watchfiles/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+ ${CARGO_CRATE_URIS}
+"
+
+LICENSE="MIT"
+# Dependent crate licenses
+LICENSE+="
+ Apache-2.0-with-LLVM-exceptions CC0-1.0 ISC MIT Unicode-DFS-2016
+"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/anyio-4.0.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/setuptools-rust[${PYTHON_USEDEP}]
+ test? (
+ dev-python/dirty-equals[${PYTHON_USEDEP}]
+ dev-python/pytest-mock[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ )
+"
+
+# enjoy Rust
+QA_FLAGS_IGNORED=".*/_rust_notify.*"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ distutils-r1_src_prepare
+
+ # fix version number
+ sed -i -e "/^version/s:0\.0\.0:${PV}:" Cargo.toml || die
+
+ export UNSAFE_PYO3_SKIP_VERSION_CHECK=1
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # test broken with new anyio
+ # https://github.com/samuelcolvin/watchfiles/issues/254
+ tests/test_watch.py::test_awatch_interrupt_raise
+ )
+
+ rm -rf watchfiles || die
+ epytest
+}
diff --git a/dev-python/wcag-contrast-ratio/wcag-contrast-ratio-0.9-r1.ebuild b/dev-python/wcag-contrast-ratio/wcag-contrast-ratio-0.9-r1.ebuild
index cad974f62ad9..a305a69b6a53 100644
--- a/dev-python/wcag-contrast-ratio/wcag-contrast-ratio-0.9-r1.ebuild
+++ b/dev-python/wcag-contrast-ratio/wcag-contrast-ratio-0.9-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
diff --git a/dev-python/wcmatch/Manifest b/dev-python/wcmatch/Manifest
index d4cd5b88324f..a02f327fd7bb 100644
--- a/dev-python/wcmatch/Manifest
+++ b/dev-python/wcmatch/Manifest
@@ -1 +1 @@
-DIST wcmatch-8.5.gh.tar.gz 117301 BLAKE2B db62057e9fe148d64a7b326ba15029a20781008288a60171793db3e4e3aab75ca4eeb1be63b7c2af5951225d512d4a5886982cb278c703980b755e6b816e51bf SHA512 a4de7714945e36e0ac68c5ce99cc06887fdceb3a461464ceb05e66f5a84965cafa9cdac337e3332f5fe42aaef90d53978185e451b28d56730418ca830f98c290
+DIST wcmatch-8.5.2.gh.tar.gz 117532 BLAKE2B f01ce989d1580da6575535a3c025aa50defe779ca723359dab379dda1c4c98d812343773d0130c56f8ebf74dae4472caa188b4b7b323f2df09686ebba297fa9a SHA512 1a79940bc54996f587dda6aacefee212adb4d527be68cc7b762e7e16c0796ebd833bdeb5abe6f48fa3d6d82f720ade054633ce28ee506b17c4d89cccffaa8e70
diff --git a/dev-python/wcmatch/metadata.xml b/dev-python/wcmatch/metadata.xml
index 6f3b96a114db..deb9424be8ae 100644
--- a/dev-python/wcmatch/metadata.xml
+++ b/dev-python/wcmatch/metadata.xml
@@ -1,14 +1,6 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person" proxied="yes">
- <email>lssndrbarbieri@gmail.com</email>
- <name>Alessandro Barbieri</name>
- </maintainer>
- <maintainer type="project" proxied="proxy">
- <email>proxy-maint@gentoo.org</email>
- <name>Proxy Maintainers</name>
- </maintainer>
<maintainer type="project">
<email>python@gentoo.org</email>
<name>Python</name>
diff --git a/dev-python/wcmatch/wcmatch-8.5.2.ebuild b/dev-python/wcmatch/wcmatch-8.5.2.ebuild
new file mode 100644
index 000000000000..3316e513d847
--- /dev/null
+++ b/dev-python/wcmatch/wcmatch-8.5.2.ebuild
@@ -0,0 +1,61 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+PYTHON_COMPAT=( python3_{10..13} )
+DISTUTILS_USE_PEP517=hatchling
+
+DOCS_BUILDER="mkdocs"
+DOCS_DEPEND="
+ >=dev-python/mkdocs-pymdownx-material-extras-2.0
+ dev-python/mkdocs-material
+ dev-python/mkdocs-git-revision-date-localized-plugin
+ dev-python/mkdocs-minify-plugin
+ dev-python/pyspelling
+"
+
+inherit distutils-r1 docs
+
+DESCRIPTION="Wildcard/glob file name matcher"
+HOMEPAGE="
+ https://github.com/facelessuser/wcmatch/
+ https://pypi.org/project/wcmatch/
+"
+SRC_URI="
+ https://github.com/facelessuser/wcmatch/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc ~ppc64 ~riscv x86"
+
+RDEPEND="
+ >=dev-python/bracex-2.1.1[${PYTHON_USEDEP}]
+"
+
+BDEPEND="
+ test? (
+ dev-vcs/git
+ )
+"
+
+distutils_enable_tests pytest
+
+python_prepare_all() {
+ # tests require some files in homedir
+ > "${HOME}"/test1.txt || die
+ > "${HOME}"/test2.txt || die
+
+ # mkdocs-git-revision-date-localized-plugin needs git repo
+ if use doc; then
+ git init || die
+ git config --global user.email "larry@gentoo.org" || die
+ git config --global user.name "Larry the Cow" || die
+ git add . || die
+ git commit -m 'init' || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
diff --git a/dev-python/wcmatch/wcmatch-8.5.ebuild b/dev-python/wcmatch/wcmatch-8.5.ebuild
deleted file mode 100644
index bd249c23bbb8..000000000000
--- a/dev-python/wcmatch/wcmatch-8.5.ebuild
+++ /dev/null
@@ -1,61 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} )
-DISTUTILS_USE_PEP517=hatchling
-
-DOCS_BUILDER="mkdocs"
-DOCS_DEPEND="
- >=dev-python/mkdocs-pymdownx-material-extras-2.0
- dev-python/mkdocs-material
- dev-python/mkdocs-git-revision-date-localized-plugin
- dev-python/mkdocs-minify-plugin
- dev-python/pyspelling
-"
-
-inherit distutils-r1 docs
-
-DESCRIPTION="Wildcard/glob file name matcher"
-HOMEPAGE="
- https://github.com/facelessuser/wcmatch/
- https://pypi.org/project/wcmatch/
-"
-SRC_URI="
- https://github.com/facelessuser/wcmatch/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 ~ppc ~ppc64 ~riscv x86"
-
-RDEPEND="
- >=dev-python/bracex-2.1.1[${PYTHON_USEDEP}]
-"
-
-BDEPEND="
- test? (
- dev-vcs/git
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- # tests require some files in homedir
- > "${HOME}"/test1.txt || die
- > "${HOME}"/test2.txt || die
-
- # mkdocs-git-revision-date-localized-plugin needs git repo
- if use doc; then
- git init || die
- git config --global user.email "larry@gentoo.org" || die
- git config --global user.name "Larry the Cow" || die
- git add . || die
- git commit -m 'init' || die
- fi
-
- distutils-r1_python_prepare_all
-}
diff --git a/dev-python/wcwidth/Manifest b/dev-python/wcwidth/Manifest
index ef5606b1a903..1556339e9ca4 100644
--- a/dev-python/wcwidth/Manifest
+++ b/dev-python/wcwidth/Manifest
@@ -1 +1 @@
-DIST wcwidth-0.2.12.tar.gz 99898 BLAKE2B 3bfec1c2ab34103bf0706fcd0385dd034e2381f47b355a71c1167647c5fc168fa1b84737d0aae04412dceedc8417b6982455a826d1114f6f948e8755a9727838 SHA512 3d8d9d2c750f2e97db42135dc1322fc432ce25edc8e692b263e5b80c96779398e8b8eecdc7305f7d974b8dbc037f6c6ec8b5af343763660c841759f40e2249be
+DIST wcwidth-0.2.13.tar.gz 101301 BLAKE2B 33637e5582cff1bbc0f11c044d390dc18b635af923c7c89c79c07f20bafb44434ad79801b19d89c9e15b8bee79b52f5652ea3987e5578520aedfbb03f20fd6cb SHA512 1eadda149936cf2eefe5d09c411774dc87c8a358f2dd92d74f427d7b47f07c05557e849c46122d44788c2bd7c97eb85fc5f902d9a158d68ab9e352c5185ba2d5
diff --git a/dev-python/wcwidth/wcwidth-0.2.12.ebuild b/dev-python/wcwidth/wcwidth-0.2.12.ebuild
deleted file mode 100644
index 1e4bf21493a9..000000000000
--- a/dev-python/wcwidth/wcwidth-0.2.12.ebuild
+++ /dev/null
@@ -1,31 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Measures number of Terminal column cells of wide-character codes"
-HOMEPAGE="
- https://pypi.org/project/wcwidth/
- https://github.com/jquast/wcwidth/
-"
-
-SLOT="0"
-LICENSE="MIT"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest -o addopts=
-}
-
-python_install_all() {
- docinto docs
- dodoc docs/intro.rst
- distutils-r1_python_install_all
-}
diff --git a/dev-python/wcwidth/wcwidth-0.2.13.ebuild b/dev-python/wcwidth/wcwidth-0.2.13.ebuild
new file mode 100644
index 000000000000..5c2ea30f1183
--- /dev/null
+++ b/dev-python/wcwidth/wcwidth-0.2.13.ebuild
@@ -0,0 +1,31 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Measures number of Terminal column cells of wide-character codes"
+HOMEPAGE="
+ https://pypi.org/project/wcwidth/
+ https://github.com/jquast/wcwidth/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest -o addopts=
+}
+
+python_install_all() {
+ docinto docs
+ dodoc docs/intro.rst
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/weasyprint/Manifest b/dev-python/weasyprint/Manifest
index 4f6fdac581a0..76db9b8fcb2d 100644
--- a/dev-python/weasyprint/Manifest
+++ b/dev-python/weasyprint/Manifest
@@ -1 +1 @@
-DIST weasyprint-60.1.tar.gz 441148 BLAKE2B 3d5eb6d9dd80a222649a03e09a096786bc4add67c7df3965325217a4c03aa4a545d442b6327b83bea082fa50f5d1ba32587749449824267acc849a0374a58cea SHA512 7fc05c6c80fc6eb251637b529720794df4b7d5c066ecfb4086cb49b7e1c42a51fcb7b2502a79f9f01f6cc5b83d92d5a48c7386b2db555e7dba6eb64e3151d6ae
+DIST weasyprint-62.3.tar.gz 477181 BLAKE2B 144b531e36c0e66fb715d2b1db20affb489e90dc7545435e2d2d5e5e89a0b77e03b5f08166a5ac6f488ed5e2ff5d268408d94edaf66a3327895f719e9329ff60 SHA512 c563019aac075d0f55a153483719a5ea1dd4dced8bf281aeb1c5ccb65b8591e883ea09ca86757073b10a4dd9dc2d718df83ff5913cd5b9ed703fb5cf71bf7fbf
diff --git a/dev-python/weasyprint/weasyprint-60.1.ebuild b/dev-python/weasyprint/weasyprint-60.1.ebuild
deleted file mode 100644
index 7c6925e35573..000000000000
--- a/dev-python/weasyprint/weasyprint-60.1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Visual rendering engine for HTML and CSS that can export to PDF"
-HOMEPAGE="
- https://weasyprint.org/
- https://github.com/Kozea/WeasyPrint/
- https://pypi.org/project/weasyprint/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-RDEPEND="
- >=dev-python/cffi-0.6:=[${PYTHON_USEDEP}]
- >=dev-python/cssselect2-0.1[${PYTHON_USEDEP}]
- >=dev-python/fonttools-4.0.0[${PYTHON_USEDEP}]
- >=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
- >=dev-python/pillow-4.0.0[jpeg,jpeg2k,${PYTHON_USEDEP}]
- >=dev-python/pydyf-0.8.0[${PYTHON_USEDEP}]
- >=dev-python/pyphen-0.9.1[${PYTHON_USEDEP}]
- >=dev-python/tinycss2-1.0.0[${PYTHON_USEDEP}]
- media-fonts/dejavu
- x11-libs/pango
-"
-
-BDEPEND="
- test? (
- >=app-text/ghostscript-gpl-9.56.1-r3
- media-fonts/ahem
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/weasyprint/weasyprint-62.3.ebuild b/dev-python/weasyprint/weasyprint-62.3.ebuild
new file mode 100644
index 000000000000..be4627019a26
--- /dev/null
+++ b/dev-python/weasyprint/weasyprint-62.3.ebuild
@@ -0,0 +1,47 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Visual rendering engine for HTML and CSS that can export to PDF"
+HOMEPAGE="
+ https://weasyprint.org/
+ https://github.com/Kozea/WeasyPrint/
+ https://pypi.org/project/weasyprint/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="
+ >=dev-python/cffi-0.6:=[${PYTHON_USEDEP}]
+ >=dev-python/cssselect2-0.1[${PYTHON_USEDEP}]
+ >=dev-python/fonttools-4.0.0[${PYTHON_USEDEP}]
+ >=dev-python/html5lib-1.1[${PYTHON_USEDEP}]
+ >=dev-python/pillow-4.0.0[jpeg,jpeg2k,${PYTHON_USEDEP}]
+ >=dev-python/pydyf-0.10.0[${PYTHON_USEDEP}]
+ >=dev-python/pyphen-0.9.1[${PYTHON_USEDEP}]
+ >=dev-python/tinycss2-1.3.0[${PYTHON_USEDEP}]
+ media-fonts/dejavu
+ x11-libs/pango
+"
+
+BDEPEND="
+ test? (
+ >=app-text/ghostscript-gpl-9.56.1-r3
+ media-fonts/ahem
+ )
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/webcolors/Manifest b/dev-python/webcolors/Manifest
index bf57bd53a654..177b208d9dc3 100644
--- a/dev-python/webcolors/Manifest
+++ b/dev-python/webcolors/Manifest
@@ -1 +1 @@
-DIST webcolors-1.13.tar.gz 41152 BLAKE2B 0a510a7fe10db42af226da465437017b36ffe11382d31b588ee1c53c5d810b9b1bc95c5f8ccaa4a351956368fe7ee74fbac68c880927a83c1d9155937e0c198d SHA512 074aaf135ac6b0025b88b731d1d6dfa4c539b4fff7195658cc58a4326bb9f0449a231685d312b4a1ec48ca535a838bfa5c680787fe0e61473a2a092c448937d0
+DIST webcolors-24.6.0.tar.gz 41449 BLAKE2B dd1a0bb3c2efd8b9dae4ab48b38796f9798ab8883d3466039dfd9739dcc65acd7de37c0629996844d486871958b58196e46d04d43b31106d8462abdeb34c8e2e SHA512 22b4eda3c6b0c06c6cb5873f22b63227db4d1f87c8c673556be8a2f58ea4b27aedd1b115b882602a07d997066c973c1b64ba8162abf538fae96ff54e00f699a5
diff --git a/dev-python/webcolors/webcolors-1.13.ebuild b/dev-python/webcolors/webcolors-1.13.ebuild
deleted file mode 100644
index 91aca93b3c1d..000000000000
--- a/dev-python/webcolors/webcolors-1.13.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Color names and value formats defined by the HTML and CSS specifications"
-HOMEPAGE="
- https://github.com/ubernostrum/webcolors/
- https://pypi.org/project/webcolors/
-"
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
-
-distutils_enable_tests unittest
diff --git a/dev-python/webcolors/webcolors-24.6.0.ebuild b/dev-python/webcolors/webcolors-24.6.0.ebuild
new file mode 100644
index 000000000000..32afb009b75e
--- /dev/null
+++ b/dev-python/webcolors/webcolors-24.6.0.ebuild
@@ -0,0 +1,21 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Color names and value formats defined by the HTML and CSS specifications"
+HOMEPAGE="
+ https://github.com/ubernostrum/webcolors/
+ https://pypi.org/project/webcolors/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+
+distutils_enable_tests unittest
diff --git a/dev-python/webencodings/webencodings-0.5.1-r2.ebuild b/dev-python/webencodings/webencodings-0.5.1-r2.ebuild
index 4f1fd148ae77..9e8153aaa871 100644
--- a/dev-python/webencodings/webencodings-0.5.1-r2.ebuild
+++ b/dev-python/webencodings/webencodings-0.5.1-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -20,10 +20,7 @@ KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv
distutils_enable_tests pytest
-python_prepare_all() {
- cat >> setup.cfg <<- EOF || die
- [tool:pytest]
- python_files=test*.py
- EOF
- distutils-r1_python_prepare_all
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -o 'python_files=test*.py'
}
diff --git a/dev-python/webob/webob-1.8.7-r1.ebuild b/dev-python/webob/webob-1.8.7-r1.ebuild
index f85e17ace805..9141eb434484 100644
--- a/dev-python/webob/webob-1.8.7-r1.ebuild
+++ b/dev-python/webob/webob-1.8.7-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN="WebOb"
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
@@ -19,7 +19,13 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~amd64-linux ~x86-linux ~ppc-macos ~x64-macos"
+
+RDEPEND="
+ $(python_gen_cond_dep '
+ dev-python/legacy-cgi[${PYTHON_USEDEP}]
+ ' 3.13)
+"
distutils_enable_sphinx docs 'dev-python/alabaster'
distutils_enable_tests pytest
diff --git a/dev-python/websocket-client/Manifest b/dev-python/websocket-client/Manifest
index c81df678e175..1fa86dbd3fdb 100644
--- a/dev-python/websocket-client/Manifest
+++ b/dev-python/websocket-client/Manifest
@@ -1 +1 @@
-DIST websocket-client-1.6.4.tar.gz 51905 BLAKE2B 5bfab632bfa727ad950c4898f52422b11d9c1582567295dd0833321d494d33c057e94e40fad8d612e2aca6efe0fe03595bcfebd1e890c1b15a6fa97864818e59 SHA512 d5a44c78bf5f6d4b5a1344bf6d5c94435e529dd85ee5d7fe5552478bbf2e57229ca7573b28a93fa28d1e5cf72fd721b4456bb5e154db578ec652cbc82316413b
+DIST websocket_client-1.8.0.tar.gz 54648 BLAKE2B 8fb21148f7d5dfc9e16704560dbcd64c96f4d28ed8382dc0b3427c3b472bb2e1b386d9026ce4c1b91b50d8e7828f8d4ca34e1537797b20f63150d86337db97c6 SHA512 d41dbd4695adcad14142db048b291eed9367153101853e3e17ee8448aa4be9d20bd91b62707291e2b093ce969d51aeef16ceae7330734b5a1556023d773c5a85
diff --git a/dev-python/websocket-client/websocket-client-1.6.4.ebuild b/dev-python/websocket-client/websocket-client-1.6.4.ebuild
deleted file mode 100644
index 596f7a2a7b64..000000000000
--- a/dev-python/websocket-client/websocket-client-1.6.4.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="WebSocket client for python with hybi13 support"
-HOMEPAGE="
- https://github.com/websocket-client/websocket-client/
- https://pypi.org/project/websocket-client/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="examples"
-
-BDEPEND="
- test? (
- dev-python/python-socks[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-python_install_all() {
- if use examples; then
- docompress -x "/usr/share/doc/${PF}/examples"
- dodoc -r examples
- fi
- distutils-r1_python_install_all
-}
diff --git a/dev-python/websocket-client/websocket-client-1.8.0.ebuild b/dev-python/websocket-client/websocket-client-1.8.0.ebuild
new file mode 100644
index 000000000000..5dab2ef22e0a
--- /dev/null
+++ b/dev-python/websocket-client/websocket-client-1.8.0.ebuild
@@ -0,0 +1,36 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="WebSocket client for python with hybi13 support"
+HOMEPAGE="
+ https://github.com/websocket-client/websocket-client/
+ https://pypi.org/project/websocket-client/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="examples"
+
+BDEPEND="
+ test? (
+ dev-python/python-socks[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+python_install_all() {
+ if use examples; then
+ docompress -x "/usr/share/doc/${PF}/examples"
+ dodoc -r examples
+ fi
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/websockets/websockets-12.0.ebuild b/dev-python/websockets/websockets-12.0.ebuild
index 3d805c69fd53..4612d969888b 100644
--- a/dev-python/websockets/websockets-12.0.ebuild
+++ b/dev-python/websockets/websockets-12.0.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
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/websockify/Manifest b/dev-python/websockify/Manifest
index e92af3c83f31..845351217bc0 100644
--- a/dev-python/websockify/Manifest
+++ b/dev-python/websockify/Manifest
@@ -1 +1 @@
-DIST websockify-0.11.0.gh.tar.gz 55126 BLAKE2B df49e8025ea0341b7f8d329a3b3dcddc08df3d0b42bbcb33d25726df8fee1f0a8791d552c9019a3ae514549619a0f3cc9c7861ff4f30017f27498f7465fd5d11 SHA512 cbae6abdee3c9ba6e78c2245fa7ebc4bd6aa96a534b8577da1ae9acd316dd146cece6ceb6f6cdca9c1ddcb3cbaff69e0fc3c3d6048b9374b0937abb91843bf72
+DIST websockify-0.12.0.gh.tar.gz 56839 BLAKE2B d330f534dd69c186b14b14c5f29d2b4f86c1fc444fa887c04b2b9eb2beed2ed0895db029acbcd84714ce2fd6da30cc306cef4c4bb836e31a31f10dbff6dc3abd SHA512 616619a27b00af6621d9b2e3be415ff958fc226a08714302688b76690976805a22c120ff7f0eaca3d7f26fd5575971a96b5e27e5d20688c6edbb4eb84b896871
diff --git a/dev-python/websockify/websockify-0.11.0.ebuild b/dev-python/websockify/websockify-0.11.0.ebuild
deleted file mode 100644
index bb9339cab990..000000000000
--- a/dev-python/websockify/websockify-0.11.0.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="WebSockets support for any application/server"
-HOMEPAGE="
- https://github.com/novnc/websockify/
- https://pypi.org/project/websockify/
-"
-SRC_URI="
- https://github.com/novnc/websockify/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/jwcrypto[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/requests[${PYTHON_USEDEP}]
- dev-python/simplejson[${PYTHON_USEDEP}]
- dev-python/redis[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # TODO: incompatible with current jwcrypto? (not a regression)
- tests/test_token_plugins.py::JWSTokenTestCase::test_asymmetric_jwe_token_plugin
-)
-
-python_install_all() {
- doman docs/${PN}.1
- distutils-r1_python_install_all
-}
diff --git a/dev-python/websockify/websockify-0.12.0.ebuild b/dev-python/websockify/websockify-0.12.0.ebuild
new file mode 100644
index 000000000000..feb055a15b4a
--- /dev/null
+++ b/dev-python/websockify/websockify-0.12.0.ebuild
@@ -0,0 +1,37 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="WebSockets support for any application/server"
+HOMEPAGE="
+ https://github.com/novnc/websockify/
+ https://pypi.org/project/websockify/
+"
+SRC_URI="
+ https://github.com/novnc/websockify/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ dev-python/jwcrypto[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/requests[${PYTHON_USEDEP}]
+ dev-python/redis[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_install_all() {
+ doman docs/${PN}.1
+ distutils-r1_python_install_all
+}
diff --git a/dev-python/webtest/webtest-3.0.0-r1.ebuild b/dev-python/webtest/webtest-3.0.0-r1.ebuild
index 0b2948bb5da8..f5f6f9fd2d33 100644
--- a/dev-python/webtest/webtest-3.0.0-r1.ebuild
+++ b/dev-python/webtest/webtest-3.0.0-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN="WebTest"
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -19,7 +19,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
RDEPEND="
dev-python/paste[${PYTHON_USEDEP}]
@@ -32,6 +32,9 @@ BDEPEND="
test? (
dev-python/pyquery[${PYTHON_USEDEP}]
dev-python/wsgiproxy2[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ dev-python/legacy-cgi[${PYTHON_USEDEP}]
+ ' 3.13)
)
"
diff --git a/dev-python/werkzeug/Manifest b/dev-python/werkzeug/Manifest
index 7517baacd68c..4f56da93bbe8 100644
--- a/dev-python/werkzeug/Manifest
+++ b/dev-python/werkzeug/Manifest
@@ -1,2 +1 @@
-DIST werkzeug-2.3.8.gh.tar.gz 834470 BLAKE2B fb1badc73699cd0a4027b706db7c29d44bd9cfdd306bec4c97dc1348b398f3268acb9be59530b5fb9e45d31a759e6dd1ae0348f62d4df9e6e74d8e72af9feb86 SHA512 56cf12071ca7aa99897ea3c23af699a32db6da00ce0963228c965e3f84060ea83c7365054e2ad53d7930d7472eaca6821e610815871a24a4257eaa18f19a5423
-DIST werkzeug-3.0.1.gh.tar.gz 817317 BLAKE2B 670460cf48c8d06196cd34f117758508512d310b740bd188d8ba87779abd62f514c9909e5700b34c37e382925eabe3ffd722b753b76b498aff0dc8ebe1025c8b SHA512 125a5c7680cba726149198802efa90d06c6586daeafcd0960feda637b765356f602df83af7b14996994303c52d32bc6fa044b774f42f0b8991008d1396675033
+DIST werkzeug-3.0.3.tar.gz 803342 BLAKE2B 8c47d3131abeb8ce2d92291e08b603152210c44c40156b5399d24b167d0a02daf6adbeafec43e8b33dff940271feec95e9333e637e825f511cd5d03686c1e02e SHA512 fc771c161b37a376a86930c29c8b8052f81fb869cedea8c3c83af1e8b1aba271358c918e3067f3b0ac6d4a1689c8c355bff410d521c73a1909fd0ffc90fee6c6
diff --git a/dev-python/werkzeug/files/werkzeug-3.0.2-pytest-xprocess-1.patch b/dev-python/werkzeug/files/werkzeug-3.0.2-pytest-xprocess-1.patch
new file mode 100644
index 000000000000..3993b0847957
--- /dev/null
+++ b/dev-python/werkzeug/files/werkzeug-3.0.2-pytest-xprocess-1.patch
@@ -0,0 +1,21 @@
+diff --git a/tests/conftest.py b/tests/conftest.py
+index b73202cd..905f3f4b 100644
+--- a/tests/conftest.py
++++ b/tests/conftest.py
+@@ -107,10 +107,12 @@ def dev_server(xprocess, request, tmp_path):
+ # Unbuffered output so the logs update immediately.
+ env = {**os.environ, "PYTHONPATH": str(tmp_path), "PYTHONUNBUFFERED": "1"}
+
+- @cached_property
+- def pattern(self):
+- client.request("/ensure")
+- return "GET /ensure"
++ def startup_check(self):
++ try:
++ client.request("/ensure")
++ return True
++ except (ConnectionRefusedError, FileNotFoundError):
++ return False
+
+ # Each test that uses the fixture will have a different log.
+ xp_name = f"dev_server-{request.node.name}"
diff --git a/dev-python/werkzeug/metadata.xml b/dev-python/werkzeug/metadata.xml
index 9a08f8f43ebf..5e4993aad75d 100644
--- a/dev-python/werkzeug/metadata.xml
+++ b/dev-python/werkzeug/metadata.xml
@@ -5,6 +5,7 @@
<email>python@gentoo.org</email>
<name>Python</name>
</maintainer>
+ <stabilize-allarches/>
<upstream>
<remote-id type="pypi">Werkzeug</remote-id>
<remote-id type="github">pallets/werkzeug</remote-id>
diff --git a/dev-python/werkzeug/werkzeug-2.3.8.ebuild b/dev-python/werkzeug/werkzeug-2.3.8.ebuild
deleted file mode 100644
index c34e787e2827..000000000000
--- a/dev-python/werkzeug/werkzeug-2.3.8.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Collection of various utilities for WSGI applications"
-HOMEPAGE="
- https://palletsprojects.com/p/werkzeug/
- https://pypi.org/project/Werkzeug/
- https://github.com/pallets/werkzeug/
-"
-SRC_URI="
- https://github.com/pallets/werkzeug/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/markupsafe-2.1.1[${PYTHON_USEDEP}]
-"
-# NOTE: remove the loong mask after greenlet gains support for loong
-# see https://github.com/python-greenlet/greenlet/pull/257
-BDEPEND="
- test? (
- dev-python/ephemeral-port-reserve[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pytest-xprocess[${PYTHON_USEDEP}]
- >=dev-python/watchdog-2.3[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- )
- !hppa? ( !ia64? ( !loong? (
- $(python_gen_cond_dep '
- dev-python/greenlet[${PYTHON_USEDEP}]
- ' python3_{10..11})
- ) ) )
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
- if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- "tests/test_serving.py::test_server[https]"
- tests/test_serving.py::test_ssl_dev_cert
- tests/test_serving.py::test_ssl_object
- )
- fi
-
- # the default portage tempdir is too long for AF_UNIX sockets
- local -x TMPDIR=/tmp
- epytest -p no:django -p no:httpbin tests
-}
diff --git a/dev-python/werkzeug/werkzeug-3.0.1.ebuild b/dev-python/werkzeug/werkzeug-3.0.1.ebuild
deleted file mode 100644
index c34e787e2827..000000000000
--- a/dev-python/werkzeug/werkzeug-3.0.1.ebuild
+++ /dev/null
@@ -1,64 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-DESCRIPTION="Collection of various utilities for WSGI applications"
-HOMEPAGE="
- https://palletsprojects.com/p/werkzeug/
- https://pypi.org/project/Werkzeug/
- https://github.com/pallets/werkzeug/
-"
-SRC_URI="
- https://github.com/pallets/werkzeug/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
-IUSE="test-rust"
-
-RDEPEND="
- >=dev-python/markupsafe-2.1.1[${PYTHON_USEDEP}]
-"
-# NOTE: remove the loong mask after greenlet gains support for loong
-# see https://github.com/python-greenlet/greenlet/pull/257
-BDEPEND="
- test? (
- dev-python/ephemeral-port-reserve[${PYTHON_USEDEP}]
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- dev-python/pytest-xprocess[${PYTHON_USEDEP}]
- >=dev-python/watchdog-2.3[${PYTHON_USEDEP}]
- test-rust? (
- dev-python/cryptography[${PYTHON_USEDEP}]
- )
- !hppa? ( !ia64? ( !loong? (
- $(python_gen_cond_dep '
- dev-python/greenlet[${PYTHON_USEDEP}]
- ' python3_{10..11})
- ) ) )
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- local EPYTEST_DESELECT=()
- if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
- EPYTEST_DESELECT+=(
- "tests/test_serving.py::test_server[https]"
- tests/test_serving.py::test_ssl_dev_cert
- tests/test_serving.py::test_ssl_object
- )
- fi
-
- # the default portage tempdir is too long for AF_UNIX sockets
- local -x TMPDIR=/tmp
- epytest -p no:django -p no:httpbin tests
-}
diff --git a/dev-python/werkzeug/werkzeug-3.0.3.ebuild b/dev-python/werkzeug/werkzeug-3.0.3.ebuild
new file mode 100644
index 000000000000..b4d41ca18a50
--- /dev/null
+++ b/dev-python/werkzeug/werkzeug-3.0.3.ebuild
@@ -0,0 +1,64 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Collection of various utilities for WSGI applications"
+HOMEPAGE="
+ https://palletsprojects.com/p/werkzeug/
+ https://pypi.org/project/Werkzeug/
+ https://github.com/pallets/werkzeug/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86"
+IUSE="test-rust"
+
+RDEPEND="
+ >=dev-python/markupsafe-2.1.1[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/ephemeral-port-reserve[${PYTHON_USEDEP}]
+ dev-python/pytest-timeout[${PYTHON_USEDEP}]
+ >=dev-python/pytest-xprocess-1[${PYTHON_USEDEP}]
+ >=dev-python/watchdog-2.3[${PYTHON_USEDEP}]
+ test-rust? (
+ dev-python/cryptography[${PYTHON_USEDEP}]
+ )
+ )
+"
+
+distutils_enable_tests pytest
+
+PATCHES=(
+ # https://github.com/pallets/werkzeug/issues/2875
+ "${FILESDIR}/${PN}-3.0.2-pytest-xprocess-1.patch"
+)
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # RequestRedirect class started incidentally being tested
+ # with pytest-8, though the test isn't prepared for that
+ # https://github.com/pallets/werkzeug/issues/2845
+ 'tests/test_exceptions.py::test_response_body[RequestRedirect]'
+ )
+ if ! has_version "dev-python/cryptography[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ "tests/test_serving.py::test_server[https]"
+ tests/test_serving.py::test_ssl_dev_cert
+ tests/test_serving.py::test_ssl_object
+ )
+ fi
+
+ # the default portage tempdir is too long for AF_UNIX sockets
+ local -x TMPDIR=/tmp
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest -p xprocess -p timeout tests
+}
diff --git a/dev-python/whatever/whatever-0.7.ebuild b/dev-python/whatever/whatever-0.7.ebuild
index cd741e55978d..774978105774 100644
--- a/dev-python/whatever/whatever-0.7.ebuild
+++ b/dev-python/whatever/whatever-0.7.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
diff --git a/dev-python/whatthepatch/Manifest b/dev-python/whatthepatch/Manifest
index 428b6bea90d1..6a2e2441ff89 100644
--- a/dev-python/whatthepatch/Manifest
+++ b/dev-python/whatthepatch/Manifest
@@ -1 +1,2 @@
DIST whatthepatch-1.0.5.tar.gz 31850 BLAKE2B dfded6069aa70051fb5f399c9f4707969be4dfc1dee853cd8eb7f36e074c2b595eddbae3efd534321dbbcce7a6658ef9e9bc7675ef466e0a486d930d62761e1e SHA512 d87a36a608a15bcf6d28d26afee40161e26f17fa3b011056388f9850896577f913a91066de8b6071ea15b28fa05f8d00acb997b18483ea56218df4efb40109ab
+DIST whatthepatch-1.0.6.tar.gz 31849 BLAKE2B cc540aa7455098a6f48e180defb173d25cc499d2c7415c639aef125cf0137e67c06ecdf18fb3337ef13e76e505ff598caa1b6a3d603c66dd38cb65f3f0a964ed SHA512 353866973b6a9b1d0bdb566d4c2eaf655a9a148d1acd73138cbbb5fbf5ec1d159391390857a34dfd75dca0c760168be720961e9d0d74dd8425849d641b2f5105
diff --git a/dev-python/whatthepatch/whatthepatch-1.0.5.ebuild b/dev-python/whatthepatch/whatthepatch-1.0.5.ebuild
index f5f6080fcdac..9810e44f809c 100644
--- a/dev-python/whatthepatch/whatthepatch-1.0.5.ebuild
+++ b/dev-python/whatthepatch/whatthepatch-1.0.5.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -18,4 +18,10 @@ LICENSE="MIT"
SLOT="0"
KEYWORDS="amd64 arm64 ~ppc64 x86"
+EPYTEST_DESELECT=(
+ # the test measures performance of the patch parser together with test data
+ # preparation, which can take long time in some interpreters, bug #907243
+ tests/test_patch.py::PatchTestSuite::test_huge_patch
+)
+
distutils_enable_tests pytest
diff --git a/dev-python/whatthepatch/whatthepatch-1.0.6.ebuild b/dev-python/whatthepatch/whatthepatch-1.0.6.ebuild
new file mode 100644
index 000000000000..8480a90dc46d
--- /dev/null
+++ b/dev-python/whatthepatch/whatthepatch-1.0.6.ebuild
@@ -0,0 +1,27 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A patch parsing and application library."
+HOMEPAGE="
+ https://github.com/cscorley/whatthepatch/
+ https://pypi.org/project/whatthepatch/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~ppc64 ~x86"
+
+EPYTEST_DESELECT=(
+ # the test measures performance of the patch parser together with test data
+ # preparation, which can take long time in some interpreters, bug #907243
+ tests/test_patch.py::PatchTestSuite::test_huge_patch
+)
+
+distutils_enable_tests pytest
diff --git a/dev-python/wheel/Manifest b/dev-python/wheel/Manifest
index 478e5f117c6b..abc3cec4882f 100644
--- a/dev-python/wheel/Manifest
+++ b/dev-python/wheel/Manifest
@@ -1,2 +1 @@
-DIST wheel-0.41.3.tar.gz 98880 BLAKE2B 3d07d03fabb3c339aecca772fa2229d92893c0fcdffaba726e2be2255f24e728d7d77dc33a03755f01f03e66e8ce098ec6e6d354776c1ee7fe58fa8a02a1e593 SHA512 53fde824b563167825d8f8b5f802bf419f5b1ae823665d27ac8cfe05eee372ea339f8203d1565044c2cae901fe539a2353559351a6a5dafd26c65dde4e2e5eda
-DIST wheel-0.42.0.tar.gz 98667 BLAKE2B 201f8246dc55c62bb700e706d7734e76689b13a3036aeeca7531f483c7f354ccc5ca7452106038425ba300e74f1041f7408f6749d03e39aca289398598833014 SHA512 4816261c0f6d8971a80665f66868ec9cb082f2189b6e31e083a0d3a6080e159f06a4152f44eda1147a2b907b5aead0f63bbac725aacb56bb8be13fc77da2b79c
+DIST wheel-0.43.0.tar.gz 99109 BLAKE2B 49e77ba84fb0a9b3bd177d994b9b33f8e5fa2bb8528fe1216fd55e6d749e201ac9a76ff24c8178485bff94d0f7840d42e0aa8f940fc3fe7d91c41411fa1cd907 SHA512 b6213c05263026884c07bdc4d529252f0be013c3fc6d0558008b7130ba90d4ef11e57f155f62f5e2528ddcd78d188530b2b7c78acc15b8168f64935fe6e6393b
diff --git a/dev-python/wheel/wheel-0.41.3.ebuild b/dev-python/wheel/wheel-0.41.3.ebuild
deleted file mode 100644
index 91ac147ace23..000000000000
--- a/dev-python/wheel/wheel-0.41.3.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A built-package format for Python"
-HOMEPAGE="
- https://github.com/pypa/wheel/
- https://pypi.org/project/wheel/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/setuptools[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # unbundle packaging
- rm -r src/wheel/vendored || die
- sed -i -e 's:\.vendored\.::' src/wheel/*.py || die
- sed -i -e 's:wheel\.vendored\.::' tests/*.py || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/wheel/wheel-0.42.0.ebuild b/dev-python/wheel/wheel-0.42.0.ebuild
deleted file mode 100644
index 63a78566d3c1..000000000000
--- a/dev-python/wheel/wheel-0.42.0.ebuild
+++ /dev/null
@@ -1,40 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A built-package format for Python"
-HOMEPAGE="
- https://github.com/pypa/wheel/
- https://pypi.org/project/wheel/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha ~amd64 ~arm ~arm64 ~hppa ~ia64 ~loong ~m68k ~mips ~ppc ~ppc64 ~riscv ~s390 ~sparc ~x86 ~arm64-macos ~x64-macos ~x64-solaris"
-
-RDEPEND="
- dev-python/packaging[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/setuptools[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-src_prepare() {
- # unbundle packaging
- rm -r src/wheel/vendored || die
- sed -i -e 's:\.vendored\.::' src/wheel/*.py || die
- sed -i -e 's:wheel\.vendored\.::' tests/*.py || die
-
- distutils-r1_src_prepare
-}
diff --git a/dev-python/wheel/wheel-0.43.0.ebuild b/dev-python/wheel/wheel-0.43.0.ebuild
new file mode 100644
index 000000000000..a8b3a7d1ade4
--- /dev/null
+++ b/dev-python/wheel/wheel-0.43.0.ebuild
@@ -0,0 +1,40 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="A built-package format for Python"
+HOMEPAGE="
+ https://github.com/pypa/wheel/
+ https://pypi.org/project/wheel/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ~mips ppc ppc64 ~riscv ~s390 sparc x86 ~arm64-macos ~x64-macos ~x64-solaris"
+
+RDEPEND="
+ dev-python/packaging[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # unbundle packaging
+ rm -r src/wheel/vendored || die
+ sed -i -e 's:\.vendored\.::' src/wheel/*.py || die
+ sed -i -e 's:wheel\.vendored\.::' tests/*.py || die
+
+ distutils-r1_src_prepare
+}
diff --git a/dev-python/whichcraft/Manifest b/dev-python/whichcraft/Manifest
deleted file mode 100644
index 03433b6e20c0..000000000000
--- a/dev-python/whichcraft/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST whichcraft-0.6.1.tar.gz 8676 BLAKE2B c08dc453b1143da9c46f63d894526784724bff4861c1862a460f557c74e64bbde72c0127f9df0f6547a5c2183fe770e3ceaf417fed88ce70691ec28605f42e75 SHA512 3a8bf524437f3ee0b5b6ee16e4516ba1c75bee738edfef03316b1ef32a58d036734d75e626f113ad434acc29ccc0cce145668867148af7aa10de1fd5f739d5f6
diff --git a/dev-python/whichcraft/metadata.xml b/dev-python/whichcraft/metadata.xml
deleted file mode 100644
index 915e00c5b597..000000000000
--- a/dev-python/whichcraft/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="github">cookiecutter/whichcraft</remote-id>
- <remote-id type="pypi">whichcraft</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/whichcraft/whichcraft-0.6.1-r1.ebuild b/dev-python/whichcraft/whichcraft-0.6.1-r1.ebuild
deleted file mode 100644
index b6671fca6823..000000000000
--- a/dev-python/whichcraft/whichcraft-0.6.1-r1.ebuild
+++ /dev/null
@@ -1,21 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Cross-platform cross-python shutil.which functionality"
-HOMEPAGE="https://github.com/cookiecutter/whichcraft"
-SRC_URI="https://github.com/cookiecutter/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64"
-
-DOCS=( README.rst HISTORY.rst CONTRIBUTING.rst )
-
-distutils_enable_tests pytest
diff --git a/dev-python/whisper/whisper-1.1.10.ebuild b/dev-python/whisper/whisper-1.1.10.ebuild
index 1a41146c2dd5..d49459e7f63a 100644
--- a/dev-python/whisper/whisper-1.1.10.ebuild
+++ b/dev-python/whisper/whisper-1.1.10.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1
@@ -19,8 +19,8 @@ SRC_URI="
"
LICENSE="Apache-2.0"
-KEYWORDS="~amd64 ~arm64 ~x86"
SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
RDEPEND="
dev-python/six[${PYTHON_USEDEP}]
diff --git a/dev-python/whoosh/whoosh-2.7.4-r2.ebuild b/dev-python/whoosh/whoosh-2.7.4-r2.ebuild
index 8b2f267ea928..4e4aa79962dc 100644
--- a/dev-python/whoosh/whoosh-2.7.4-r2.ebuild
+++ b/dev-python/whoosh/whoosh-2.7.4-r2.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN^}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
DESCRIPTION="Fast, pure-Python full text indexing, search and spell checking library"
@@ -26,13 +26,16 @@ PATCHES=(
distutils_enable_sphinx docs/source
distutils_enable_tests pytest
+EPYTEST_DESELECT=(
+ # TODO
+ tests/test_automata.py::test_minimize_dfa
+)
+
python_prepare_all() {
# (backport from upstream)
sed -i -e '/cmdclass/s:pytest:PyTest:' setup.py || die
# fix old section name
sed -i -e 's@\[pytest\]@[tool:pytest]@' setup.cfg || die
- # TODO: broken?
- sed -i -e 's:test_minimize_dfa:_&:' tests/test_automata.py || die
distutils-r1_python_prepare_all
}
diff --git a/dev-python/widgetsnbextension/Manifest b/dev-python/widgetsnbextension/Manifest
index bb3742667d5f..5a8c5b582a1a 100644
--- a/dev-python/widgetsnbextension/Manifest
+++ b/dev-python/widgetsnbextension/Manifest
@@ -1 +1 @@
-DIST widgetsnbextension-4.0.9.tar.gz 1146830 BLAKE2B 4c4cb7aca3b8ffe45fbb00d296474ca889cc4124d9f96c618b3cc5212a119335866a0e5a246bc5ab69287b4929ce8b88a01eb176b7361d60655e5a7dc5e16df0 SHA512 0fb0949fa7dcd7846d16175541f674a3f159ae436ce5c0e4bb74dcad89d944681a9d6473a6d3282aa2525f25c5215195bad57de6b7cd9ef04c549b9f3e76c8b4
+DIST widgetsnbextension-4.0.11.tar.gz 1164354 BLAKE2B 85a96be89592ad08c8722c389d8848126da0e9fc235a126c44779aa1188aeeb1cc9e23c5e4f447562f8660dc637947da3410f7068d14949b337ef8d652705b01 SHA512 22b2bea35633212635718a49b33e219dac7688190c2e9c3b0eb560d830c984e7250d357c14e8b13102f493977863722e18cd77dc43dd7e309aa03006d63072cb
diff --git a/dev-python/widgetsnbextension/widgetsnbextension-4.0.11.ebuild b/dev-python/widgetsnbextension/widgetsnbextension-4.0.11.ebuild
new file mode 100644
index 000000000000..73af9d432021
--- /dev/null
+++ b/dev-python/widgetsnbextension/widgetsnbextension-4.0.11.ebuild
@@ -0,0 +1,30 @@
+# 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..13} )
+PYTHON_REQ_USE="threads(+)"
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="IPython HTML widgets for Jupyter"
+HOMEPAGE="
+ https://ipython.org/
+ https://pypi.org/project/widgetsnbextension/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
+
+BDEPEND="
+ dev-python/jupyter-packaging[${PYTHON_USEDEP}]
+"
+
+src_install() {
+ distutils-r1_src_install
+
+ mv "${ED}/usr/etc" "${ED}/etc" || die
+}
diff --git a/dev-python/widgetsnbextension/widgetsnbextension-4.0.9.ebuild b/dev-python/widgetsnbextension/widgetsnbextension-4.0.9.ebuild
deleted file mode 100644
index 3fab7b678880..000000000000
--- a/dev-python/widgetsnbextension/widgetsnbextension-4.0.9.ebuild
+++ /dev/null
@@ -1,30 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-PYTHON_REQ_USE="threads(+)"
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="IPython HTML widgets for Jupyter"
-HOMEPAGE="
- https://ipython.org/
- https://pypi.org/project/widgetsnbextension/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~loong ppc64 ~riscv x86 ~amd64-linux ~x86-linux"
-
-BDEPEND="
- dev-python/jupyter-packaging[${PYTHON_USEDEP}]
-"
-
-src_install() {
- distutils-r1_src_install
-
- mv "${ED}/usr/etc" "${ED}/etc" || die
-}
diff --git a/dev-python/wrapt/files/wrapt-1.16.0-py313.patch b/dev-python/wrapt/files/wrapt-1.16.0-py313.patch
new file mode 100644
index 000000000000..b404bc0762b9
--- /dev/null
+++ b/dev-python/wrapt/files/wrapt-1.16.0-py313.patch
@@ -0,0 +1,113 @@
+From 185f1f2692a64f7b908b98a25d890b951a12c3c7 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Miro=20Hron=C4=8Dok?= <miro@hroncok.cz>
+Date: Fri, 8 Mar 2024 00:40:11 +0100
+Subject: [PATCH] Fix classmethod tests with Python 3.13+
+
+Fixes https://github.com/GrahamDumpleton/wrapt/issues/259
+
+---
+ tests/test_outer_classmethod.py | 18 ++++++++++--------
+ tests/test_synchronized_lock.py | 26 ++++++++++++++------------
+ 2 files changed, 24 insertions(+), 20 deletions(-)
+
+diff --git a/tests/test_outer_classmethod.py b/tests/test_outer_classmethod.py
+index ab807646..c08d34a5 100644
+--- a/tests/test_outer_classmethod.py
++++ b/tests/test_outer_classmethod.py
+@@ -128,18 +128,20 @@ def test_class_call_function(self):
+ # first argument with the actual arguments following that. This
+ # was only finally fixed in Python 3.9. For more details see:
+ # https://bugs.python.org/issue19072
++ # Starting with Python 3.13 the old behavior is back.
++ # For more details see https://github.com/python/cpython/issues/89519
+
+ _args = (1, 2)
+ _kwargs = {'one': 1, 'two': 2}
+
+ @wrapt.decorator
+ def _decorator(wrapped, instance, args, kwargs):
+- if PYXY < (3, 9):
+- self.assertEqual(instance, None)
+- self.assertEqual(args, (Class,)+_args)
+- else:
++ if (3, 9) <= PYXY < (3, 13):
+ self.assertEqual(instance, Class)
+ self.assertEqual(args, _args)
++ else:
++ self.assertEqual(instance, None)
++ self.assertEqual(args, (Class,)+_args)
+
+ self.assertEqual(kwargs, _kwargs)
+ self.assertEqual(wrapped.__module__, _function.__module__)
+@@ -176,12 +178,12 @@ def test_instance_call_function(self):
+
+ @wrapt.decorator
+ def _decorator(wrapped, instance, args, kwargs):
+- if PYXY < (3, 9):
+- self.assertEqual(instance, None)
+- self.assertEqual(args, (Class,)+_args)
+- else:
++ if (3, 9) <= PYXY < (3, 13):
+ self.assertEqual(instance, Class)
+ self.assertEqual(args, _args)
++ else:
++ self.assertEqual(instance, None)
++ self.assertEqual(args, (Class,)+_args)
+
+ self.assertEqual(kwargs, _kwargs)
+ self.assertEqual(wrapped.__module__, _function.__module__)
+diff --git a/tests/test_synchronized_lock.py b/tests/test_synchronized_lock.py
+index 0e43f7af..7c41aa5a 100644
+--- a/tests/test_synchronized_lock.py
++++ b/tests/test_synchronized_lock.py
+@@ -165,36 +165,38 @@ def test_synchronized_outer_classmethod(self):
+ # function to the class before calling and just calls it direct,
+ # explicitly passing the class as first argument. For more
+ # details see: https://bugs.python.org/issue19072
++ # Starting with Python 3.13 the old behavior is back.
++ # For more details see https://github.com/python/cpython/issues/89519
+
+- if PYXY < (3, 9):
+- _lock0 = getattr(C4.function2, '_synchronized_lock', None)
+- else:
++ if (3, 9) <= PYXY < (3, 13):
+ _lock0 = getattr(C4, '_synchronized_lock', None)
++ else:
++ _lock0 = getattr(C4.function2, '_synchronized_lock', None)
+ self.assertEqual(_lock0, None)
+
+ c4.function2()
+
+- if PYXY < (3, 9):
+- _lock1 = getattr(C4.function2, '_synchronized_lock', None)
+- else:
++ if (3, 9) <= PYXY < (3, 13):
+ _lock1 = getattr(C4, '_synchronized_lock', None)
++ else:
++ _lock1 = getattr(C4.function2, '_synchronized_lock', None)
+ self.assertNotEqual(_lock1, None)
+
+ C4.function2()
+
+- if PYXY < (3, 9):
+- _lock2 = getattr(C4.function2, '_synchronized_lock', None)
+- else:
++ if (3, 9) <= PYXY < (3, 13):
+ _lock2 = getattr(C4, '_synchronized_lock', None)
++ else:
++ _lock2 = getattr(C4.function2, '_synchronized_lock', None)
+ self.assertNotEqual(_lock2, None)
+ self.assertEqual(_lock2, _lock1)
+
+ C4.function2()
+
+- if PYXY < (3, 9):
+- _lock3 = getattr(C4.function2, '_synchronized_lock', None)
+- else:
++ if (3, 9) <= PYXY < (3, 13):
+ _lock3 = getattr(C4, '_synchronized_lock', None)
++ else:
++ _lock3 = getattr(C4.function2, '_synchronized_lock', None)
+ self.assertNotEqual(_lock3, None)
+ self.assertEqual(_lock3, _lock2)
+
diff --git a/dev-python/wrapt/wrapt-1.16.0.ebuild b/dev-python/wrapt/wrapt-1.16.0.ebuild
index f031e2c22e4d..b6f75e0e9581 100644
--- a/dev-python/wrapt/wrapt-1.16.0.ebuild
+++ b/dev-python/wrapt/wrapt-1.16.0.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
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -29,6 +29,11 @@ IUSE="+native-extensions"
distutils_enable_tests pytest
distutils_enable_sphinx docs dev-python/sphinx-rtd-theme
+PATCHES=(
+ # https://github.com/GrahamDumpleton/wrapt/pull/260
+ "${FILESDIR}/${P}-py313.patch"
+)
+
python_compile() {
local -x WRAPT_INSTALL_EXTENSIONS=$(usex native-extensions true false)
distutils-r1_python_compile
diff --git a/dev-python/wsaccel/wsaccel-0.6.6.ebuild b/dev-python/wsaccel/wsaccel-0.6.6.ebuild
index 694c175f7b2e..c165c8ccd122 100644
--- a/dev-python/wsaccel/wsaccel-0.6.6.ebuild
+++ b/dev-python/wsaccel/wsaccel-0.6.6.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
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -19,8 +19,8 @@ SRC_URI="
-> ${P}.gh.tar.gz
"
-SLOT="0"
LICENSE="Apache-2.0"
+SLOT="0"
KEYWORDS="amd64 arm arm64 ~riscv ~sparc x86 ~amd64-linux ~x86-linux"
BDEPEND="
diff --git a/dev-python/wsgiproxy2/wsgiproxy2-0.5.1-r1.ebuild b/dev-python/wsgiproxy2/wsgiproxy2-0.5.1-r1.ebuild
index 829f1613c22e..f3ad51a5c97d 100644
--- a/dev-python/wsgiproxy2/wsgiproxy2-0.5.1-r1.ebuild
+++ b/dev-python/wsgiproxy2/wsgiproxy2-0.5.1-r1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN="WSGIProxy2"
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="MIT"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
RDEPEND="
dev-python/requests[${PYTHON_USEDEP}]
diff --git a/dev-python/wsproto/wsproto-1.2.0.ebuild b/dev-python/wsproto/wsproto-1.2.0.ebuild
index 90d124abc9e5..69cf0eb8d607 100644
--- a/dev-python/wsproto/wsproto-1.2.0.ebuild
+++ b/dev-python/wsproto/wsproto-1.2.0.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_COMPAT=( pypy3 python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/wstools/Manifest b/dev-python/wstools/Manifest
deleted file mode 100644
index 13b97ac37279..000000000000
--- a/dev-python/wstools/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST wstools-0.4.10.gh.tar.gz 204095 BLAKE2B 8d7652729846e991d84bf3c2b64394bf3954ae69cb1ed49ea7822432b965e5cfabd02f8d4ba7caa0cbf9df57def062b085aae75c5d4af1f9be078e2fd8031e0d SHA512 1acd8e62d71c7d330f1e953a0da1956291c5dfb25ff9b8b8799c83feaa4230e384955735b131bab7b430b92ae6c18498927d416d2d1e11fb5c5dad93417c671a
diff --git a/dev-python/wstools/files/wstools-0.4.8-fix-py3.10.patch b/dev-python/wstools/files/wstools-0.4.8-fix-py3.10.patch
deleted file mode 100644
index 4baf12faf570..000000000000
--- a/dev-python/wstools/files/wstools-0.4.8-fix-py3.10.patch
+++ /dev/null
@@ -1,29 +0,0 @@
-From c0aa811a845e78c27ef949b4dbc82dfcd9c3da68 Mon Sep 17 00:00:00 2001
-From: Arthur Zamarin <arthurzam@gentoo.org>
-Date: Thu, 19 Aug 2021 22:27:48 +0300
-Subject: [PATCH] Fix import collections.abc for python 3.10
-
-Signed-off-by: Arthur Zamarin <arthurzam@gentoo.org>
----
- wstools/Utility.py | 5 ++++-
- 1 file changed, 4 insertions(+), 1 deletion(-)
-
-diff --git a/wstools/Utility.py b/wstools/Utility.py
-index c1ccd65..f5f1453 100644
---- a/wstools/Utility.py
-+++ b/wstools/Utility.py
-@@ -33,7 +33,10 @@ try:
- from UserDict import DictMixin # noqa
- except ImportError:
- from collections import UserDict
-- from collections import MutableMapping as DictMixin # noqa
-+ try:
-+ from collections.abc import MutableMapping as DictMixin # noqa
-+ except ImportError:
-+ from collections import MutableMapping as DictMixin # noqa
-
- from .TimeoutSocket import TimeoutSocket, TimeoutError # noqa
-
---
-2.33.0
-
diff --git a/dev-python/wstools/metadata.xml b/dev-python/wstools/metadata.xml
deleted file mode 100644
index 19be074f6627..000000000000
--- a/dev-python/wstools/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">wstools</remote-id>
- <remote-id type="github">pycontribs/wstools</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/wstools/wstools-0.4.10-r1.ebuild b/dev-python/wstools/wstools-0.4.10-r1.ebuild
deleted file mode 100644
index 744642979f93..000000000000
--- a/dev-python/wstools/wstools-0.4.10-r1.ebuild
+++ /dev/null
@@ -1,50 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-PYTHON_REQ_USE="xml(+)"
-
-inherit distutils-r1
-
-DESCRIPTION="WSDL parsing services package for Web Services for Python"
-HOMEPAGE="
- https://github.com/pycontribs/wstools/
- https://pypi.org/project/wstools/
-"
-SRC_URI="
- https://github.com/pycontribs/wstools/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~s390 sparc x86 ~amd64-linux ~x86-linux ~x64-macos"
-
-RDEPEND="
- >=dev-python/pbr-3.0.0[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
-"
-BDEPEND="
- >=dev-python/pbr-3.0.0[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-timeout[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-PATCHES=(
- "${FILESDIR}/wstools-0.4.8-fix-py3.10.patch"
-)
-
-src_prepare() {
- # remove the dep on pytest-runner
- sed -i -e '/setup_requires/d' setup.py || die
- # disabling xdist breaks random plugins
- sed -i -e 's@-p no:xdist@@' pytest.ini || die
- distutils-r1_src_prepare
- export PBR_VERSION=${PV}
-}
diff --git a/dev-python/wtforms/Manifest b/dev-python/wtforms/Manifest
index c660659408a2..8b37082cffea 100644
--- a/dev-python/wtforms/Manifest
+++ b/dev-python/wtforms/Manifest
@@ -1 +1 @@
-DIST wtforms-3.1.1.tar.gz 134343 BLAKE2B 935e1d0d881573f7fe0cf0099069f49c6f315007755ea27134c8d7db407880f3d5b5e1a427df588aaf427de4e8f09455a09d5c82e666d0fac4055558e3d49e4e SHA512 e7aec26103bf5069cc97474361b4f5788d41181a2560032b8072dc62b29824830b739ddf9df60710685293eec5173d8c44c5fbeee8487f01180a08970abb6c77
+DIST wtforms-3.1.2.tar.gz 134705 BLAKE2B 748ea71ced149220947d0f54d69cc94b3cd8a2e648551556621082418a7555519b275788b961abca1331e6c6d52c1999451cc26b3bc9ab27261ef25de7ffd9fa SHA512 4c4203c735f755cedf9c20ddf9805d1e80096fe2fb499dc91a9608df0ac5eb0ddf6c67eea782f9507d14b14e362454f50b567dc5518ca95ce090305a44436873
diff --git a/dev-python/wtforms/wtforms-3.1.1.ebuild b/dev-python/wtforms/wtforms-3.1.1.ebuild
deleted file mode 100644
index a139b3389597..000000000000
--- a/dev-python/wtforms/wtforms-3.1.1.ebuild
+++ /dev/null
@@ -1,36 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYPI_PN="WTForms"
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Flexible forms validation and rendering library for python web development"
-HOMEPAGE="
- https://wtforms.readthedocs.io/
- https://github.com/wtforms/wtforms/
- https://pypi.org/project/WTForms/
-"
-
-LICENSE="BSD"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~riscv x86"
-
-RDEPEND="
- dev-python/markupsafe[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/Babel[${PYTHON_USEDEP}]
- test? (
- dev-python/email-validator[${PYTHON_USEDEP}]
- dev-python/python-dateutil[${PYTHON_USEDEP}]
- dev-python/sqlalchemy[${PYTHON_USEDEP}]
- dev-python/webob[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
diff --git a/dev-python/wtforms/wtforms-3.1.2.ebuild b/dev-python/wtforms/wtforms-3.1.2.ebuild
new file mode 100644
index 000000000000..4dce0bb41956
--- /dev/null
+++ b/dev-python/wtforms/wtforms-3.1.2.ebuild
@@ -0,0 +1,36 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=hatchling
+PYPI_PN="WTForms"
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Flexible forms validation and rendering library for python web development"
+HOMEPAGE="
+ https://wtforms.readthedocs.io/
+ https://github.com/wtforms/wtforms/
+ https://pypi.org/project/WTForms/
+"
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~riscv x86"
+
+RDEPEND="
+ dev-python/markupsafe[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/Babel[${PYTHON_USEDEP}]
+ test? (
+ dev-python/email-validator[${PYTHON_USEDEP}]
+ dev-python/python-dateutil[${PYTHON_USEDEP}]
+ dev-python/sqlalchemy[${PYTHON_USEDEP}]
+ dev-python/webob[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
diff --git a/dev-python/wurlitzer/Manifest b/dev-python/wurlitzer/Manifest
index 6a2f5f7a9cb4..9a811226d135 100644
--- a/dev-python/wurlitzer/Manifest
+++ b/dev-python/wurlitzer/Manifest
@@ -1 +1 @@
-DIST wurlitzer-3.0.3.tar.gz 10171 BLAKE2B bf0ab15aaf0b693df64e0e9db38309ad1dad117aa97c1f380021ca81153eaf08ef742a97cf7451e72cc3473a2824fe142d8d8cd7ea1b28a367ed5761527c8d6a SHA512 6914ca77af8540bd949b74dfffe58b6ff9de603474e42e973b712f91a11dc906d7753f769932d26106c0543e98f42929741ed4de9ae14601eeadbd0dc5bfca35
+DIST wurlitzer-3.1.1.tar.gz 11867 BLAKE2B 840e3340180acd646b51e976153e423f2265d3346c0617ae57b0c73d3463e7b455315e1265368a277298827190679bd46c799e09dc656f8899ffbf4c7e75265e SHA512 69e57343ae60bcab560861dabbf2a8e60210f163ac902c787473b1c46d998895760aeeac90e45f1d7ed799e7468f6d1dd543b1dd85ac0c826f9186015a1890a8
diff --git a/dev-python/wurlitzer/wurlitzer-3.0.3.ebuild b/dev-python/wurlitzer/wurlitzer-3.0.3.ebuild
deleted file mode 100644
index 027355d2cecc..000000000000
--- a/dev-python/wurlitzer/wurlitzer-3.0.3.ebuild
+++ /dev/null
@@ -1,25 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Capture C-level stdout/stderr in Python"
-HOMEPAGE="
- https://github.com/minrk/wurlitzer/
- https://pypi.org/project/wurlitzer/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
-
-distutils_enable_tests pytest
-
-python_test() {
- epytest test.py
-}
diff --git a/dev-python/wurlitzer/wurlitzer-3.1.1.ebuild b/dev-python/wurlitzer/wurlitzer-3.1.1.ebuild
new file mode 100644
index 000000000000..b7a3878b9be6
--- /dev/null
+++ b/dev-python/wurlitzer/wurlitzer-3.1.1.ebuild
@@ -0,0 +1,25 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Capture C-level stdout/stderr in Python"
+HOMEPAGE="
+ https://github.com/minrk/wurlitzer/
+ https://pypi.org/project/wurlitzer/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+distutils_enable_tests pytest
+
+python_test() {
+ epytest test.py
+}
diff --git a/dev-python/wxpython/files/wxpython-4.2.1-doxygen-1.9.7.patch b/dev-python/wxpython/files/wxpython-4.2.1-doxygen-1.9.7.patch
new file mode 100644
index 000000000000..7baf5708b8ff
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-4.2.1-doxygen-1.9.7.patch
@@ -0,0 +1,46 @@
+https://bugs.gentoo.org/934482
+https://github.com/wxWidgets/Phoenix/commit/6a049ccc0ad96f25c3f7d8540b218ffe8921d8c5
+
+From 6a049ccc0ad96f25c3f7d8540b218ffe8921d8c5 Mon Sep 17 00:00:00 2001
+From: Scott Talbert <swt@techie.net>
+Date: Tue, 5 Dec 2023 23:42:21 -0500
+Subject: [PATCH] Support building with Doxygen 1.9.7
+
+Doxygen 1.9.7 made some changes whereby some method definitions are now
+defined in separate XML files, with a "refid" that links to them. In
+order to support this, we need to follow these "refids" to pick up the
+method definition from the separate group XML files.
+--- a/etgtools/extractors.py
++++ b/etgtools/extractors.py
+@@ -62,6 +62,8 @@ def extract(self, element):
+ # class. Should be overridden in derived classes to get what each one
+ # needs in addition to the base.
+ self.name = element.find(self.nameTag).text
++ if self.name is None:
++ self.name = ''
+ if '::' in self.name:
+ loc = self.name.rfind('::')
+ self.name = self.name[loc+2:]
+@@ -1574,12 +1576,21 @@ def addElement(self, element):
+ extractingMsg(kind, element)
+ for node in element.findall('sectiondef/memberdef'):
+ self.addElement(node)
++ for node in element.findall('sectiondef/member'):
++ node = self.resolveRefid(node)
++ self.addElement(node)
+
+ else:
+ raise ExtractorError('Unknown module item kind: %s' % kind)
+
+ return item
+
++ def resolveRefid(self, node):
++ from etgtools import XMLSRC
++ refid = node.get('refid')
++ fname = os.path.join(XMLSRC, refid.rsplit('_', 1)[0]) + '.xml'
++ root = et.parse(fname).getroot()
++ return root.find(".//memberdef[@id='{}']".format(refid))
+
+
+ def addCppFunction(self, type, name, argsString, body, doc=None, **kw):
+
diff --git a/dev-python/wxpython/files/wxpython-4.2.1-integer-division-for-randint.patch b/dev-python/wxpython/files/wxpython-4.2.1-integer-division-for-randint.patch
new file mode 100644
index 000000000000..b98624d7df8f
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-4.2.1-integer-division-for-randint.patch
@@ -0,0 +1,26 @@
+From https://github.com/wxWidgets/Phoenix/pull/2508
+From 3b042c863f4092f802a877a972fd6eb284451a78 Mon Sep 17 00:00:00 2001
+From: Ben Greiner <code@bnavigator.de>
+Date: Sat, 6 Jan 2024 21:58:29 +0100
+Subject: [PATCH] integer division for randint
+
+Python 3.12 does not accept floats for random.randint() anymore
+---
+ unittests/test_dcDrawLists.py | 4 ++--
+ 1 file changed, 2 insertions(+), 2 deletions(-)
+
+diff --git a/unittests/test_dcDrawLists.py b/unittests/test_dcDrawLists.py
+index 9e35e5eaf..6696a79a0 100644
+--- a/unittests/test_dcDrawLists.py
++++ b/unittests/test_dcDrawLists.py
+@@ -63,8 +63,8 @@ def makeRandomRectangles():
+ rects = []
+
+ for i in range(num):
+- W = random.randint(10, w/2)
+- H = random.randint(10, h/2)
++ W = random.randint(10, w//2)
++ H = random.randint(10, h//2)
+ x = random.randint(0, w - W)
+ y = random.randint(0, h - H)
+ rects.append( (x, y, W, H) )
diff --git a/dev-python/wxpython/files/wxpython-4.2.1-x86-time.patch b/dev-python/wxpython/files/wxpython-4.2.1-x86-time.patch
new file mode 100644
index 000000000000..ea144419833e
--- /dev/null
+++ b/dev-python/wxpython/files/wxpython-4.2.1-x86-time.patch
@@ -0,0 +1,34 @@
+https://bugs.gentoo.org/922328
+https://github.com/wxWidgets/Phoenix/issues/1910
+https://github.com/wxWidgets/Phoenix/issues/2197 (specifically https://github.com/wxWidgets/Phoenix/issues/2197#issuecomment-1169378156)
+https://github.com/StefanBruens/Phoenix/commit/8b743981d557d0465ba53e938784be94f4679145 but w/ s/SIP_SSIZE_T/long
+i.e. a revert of https://github.com/wxWidgets/Phoenix/commit/c78823549bac1b28d99a1ad6dc1008485a2afb33.
+
+From 8b743981d557d0465ba53e938784be94f4679145 Mon Sep 17 00:00:00 2001
+From: =?UTF-8?q?Stefan=20Br=C3=BCns?= <stefan.bruens@rwth-aachen.de>
+Date: Tue, 28 Jun 2022 18:32:32 +0200
+Subject: [PATCH] Fix time_t ETG typedef, extend DateTime.FromTimeT tests
+
+Before c78823549bac ("Ensure time_t is treated as a 64-bit value by SIP")
+the typedef used "long" instead of wxInt64, which caused issues on Win64,
+as long is 32bit there (LLP64). On the other hand, wxInt64 is wrong on
+32 bit Linux (e.g. armv7, i586), and thus the code crashes.
+
+As SIP_SSIZE_T is 64 bit for both LLP64 (Windows) and LP64 (Linux), but
+32 bit on 32bit archs, it matches time_t better (though, according to the
+C standard, it could even be a double).
+
+Fixes #2197.
+ etg/defs.py | 2 +-
+
+--- a/etg/defs.py
++++ b/etg/defs.py
+@@ -73,7 +73,7 @@ def run():
+ td = module.find('wxUIntPtr')
+ module.insertItemAfter(td, etgtools.TypedefDef(type='wchar_t', name='wxUChar'))
+ module.insertItemAfter(td, etgtools.TypedefDef(type='wchar_t', name='wxChar'))
+- module.insertItemAfter(td, etgtools.TypedefDef(type='wxInt64', name='time_t'))
++ module.insertItemAfter(td, etgtools.TypedefDef(type='long', name='time_t'))
+ module.insertItemAfter(td, etgtools.TypedefDef(type='long long', name='wxFileOffset'))
+ module.insertItemAfter(td, etgtools.TypedefDef(type='SIP_SSIZE_T', name='ssize_t'))
+ module.insertItemAfter(td, etgtools.TypedefDef(type='unsigned char', name='byte', pyInt=True))
diff --git a/dev-python/wxpython/wxpython-4.2.0.ebuild b/dev-python/wxpython/wxpython-4.2.0.ebuild
index 7488b0c5e8dd..2b9553c2d58c 100644
--- a/dev-python/wxpython/wxpython-4.2.0.ebuild
+++ b/dev-python/wxpython/wxpython-4.2.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -33,7 +33,7 @@ RDEPEND="
"
DEPEND="${RDEPEND}"
BDEPEND="
- app-doc/doxygen
+ app-text/doxygen
dev-python/cython[${PYTHON_USEDEP}]
dev-python/setuptools[${PYTHON_USEDEP}]
>=dev-python/sip-6.6.2[${PYTHON_USEDEP}]
@@ -78,7 +78,7 @@ src_configure() {
}
python_compile() {
- DOXYGEN=/usr/bin/doxygen ${PYTHON} build.py dox etg --nodoc || die
+ DOXYGEN="$(type -P doxygen)" ${PYTHON} build.py dox etg --nodoc || die
# Refresh the bundled/pregenerated sip files
${PYTHON} build.py sip || die
diff --git a/dev-python/wxpython/wxpython-4.2.1-r2.ebuild b/dev-python/wxpython/wxpython-4.2.1-r2.ebuild
new file mode 100644
index 000000000000..ec62390a1579
--- /dev/null
+++ b/dev-python/wxpython/wxpython-4.2.1-r2.ebuild
@@ -0,0 +1,136 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_IN_SOURCE_BUILD="1"
+PYTHON_COMPAT=( python3_{10..12} )
+PYPI_NO_NORMALIZE=1
+PYPI_PN="wxPython"
+WX_GTK_VER="3.2-gtk3"
+
+inherit distutils-r1 multiprocessing virtualx wxwidgets pypi
+
+DESCRIPTION="A blending of the wxWindows C++ class library with Python"
+HOMEPAGE="
+ https://www.wxpython.org/
+ https://github.com/wxWidgets/Phoenix/
+ https://pypi.org/project/wxPython/
+"
+
+LICENSE="wxWinLL-3"
+SLOT="4.0"
+KEYWORDS="~alpha amd64 arm arm64 ~loong ppc ppc64 ~riscv ~sparc x86"
+IUSE="test webkit"
+RESTRICT="!test? ( test )"
+
+# wxPython doesn't seem to be able to optionally disable features. webkit is
+# optionally patched out because it's so huge, but other elements are not,
+# which makes us have to require all features from wxGTK
+DEPEND="
+ >=x11-libs/wxGTK-3.0.4-r301:${WX_GTK_VER}=[gstreamer,libnotify,opengl,sdl,tiff,webkit?,X]
+ media-libs/libpng:=
+ media-libs/tiff:=
+ media-libs/libjpeg-turbo:=
+"
+RDEPEND="
+ ${DEPEND}
+"
+BDEPEND="
+ app-text/doxygen
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+ >=dev-python/sip-6.6.2[${PYTHON_USEDEP}]
+ dev-python/six[${PYTHON_USEDEP}]
+ test? (
+ ${VIRTUALX_DEPEND}
+ dev-python/appdirs[${PYTHON_USEDEP}]
+ dev-python/numpy[${PYTHON_USEDEP}]
+ dev-python/pillow[${PYTHON_USEDEP}]
+ dev-python/pytest[${PYTHON_USEDEP}]
+ dev-python/pytest-forked[${PYTHON_USEDEP}]
+ dev-python/pytest-xdist[${PYTHON_USEDEP}]
+ )
+"
+
+PATCHES=(
+ "${FILESDIR}/${PN}-4.2.0-flags.patch"
+ "${FILESDIR}/${PN}-4.2.0-cython-3.patch"
+ "${FILESDIR}/${PN}-4.2.1-integer-division-for-randint.patch"
+ "${FILESDIR}/${PN}-4.2.1-x86-time.patch"
+ "${FILESDIR}/${PN}-4.2.1-doxygen-1.9.7.patch"
+)
+
+python_prepare_all() {
+ if ! use webkit; then
+ eapply "${FILESDIR}/${PN}-4.2.0-no-webkit.patch"
+ fi
+
+ # sip assumes unconditional C99 support since 6.8.4
+ # which breaks when trying to use "sip/siplib/bool.cpp"
+ # https://github.com/Python-SIP/sip/commit/29fb3df49ff37df7aab9d5666fd72de95ac9e7f8
+ if has_version ">=dev-python/sip-6.8.4"; then
+ sed -i '\|sip/siplib/bool\.cpp|d' wscript || die
+ fi
+
+ distutils-r1_python_prepare_all
+}
+
+src_configure() {
+ setup-wxwidgets
+}
+
+python_compile() {
+ DOXYGEN="$(type -P doxygen)" ${PYTHON} build.py dox etg --nodoc || die
+
+ # Refresh the bundled/pregenerated sip files
+ "${EPYTHON}" build.py sip || die
+
+ # Build the bindings
+ "${EPYTHON}" build.py build_py \
+ --use_syswx \
+ --no_magic \
+ --jobs="$(makeopts_jobs)" \
+ --verbose \
+ --release || die
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # virtx probably
+ unittests/test_display.py::display_Tests::test_display
+ unittests/test_frame.py::frame_Tests::test_frameRestore
+ unittests/test_mousemanager.py::mousemanager_Tests::test_mousemanager1
+ unittests/test_uiaction.py::uiaction_KeyboardTests::test_uiactionKeyboardChar
+ unittests/test_uiaction.py::uiaction_KeyboardTests::test_uiactionKeyboardKeyDownUp
+ unittests/test_uiaction.py::uiaction_MouseTests
+
+ # assertion (TODO)
+ unittests/test_aboutdlg.py::aboutdlg_Tests::test_aboutdlgGeneric
+ unittests/test_lib_agw_piectrl.py::lib_agw_piectrl_Tests::test_lib_agw_piectrlCtor
+
+ # seems to rely on state from a previous test (sigh)
+ unittests/test_lib_agw_persist_persistencemanager.py::lib_agw_persist_persistencemanager_Tests::test_persistencemanagerRestore
+
+ # requires Spanish localization
+ unittests/test_intl.py::intl_Tests::test_intlGetString
+
+ # TODO
+ unittests/test_tipwin.py::tipwin_Tests::test_tipwinCtor
+ unittests/test_lib_pubsub_provider.py::lib_pubsub_Except::test1
+ unittests/test_windowid.py::IdManagerTest::test_newIdRef03
+ )
+ local EPYTEST_IGNORE=()
+ if ! use webkit; then
+ EPYTEST_IGNORE+=( unittests/test_webview.py )
+ fi
+
+ # We use pytest-forked as opensuse does to avoid tests corrupting each
+ # other.
+ virtx epytest --forked -n "$(makeopts_jobs)" unittests
+}
+
+python_install() {
+ distutils-r1_python_install --skip-build
+}
diff --git a/dev-python/wxpython/wxpython-4.2.1.ebuild b/dev-python/wxpython/wxpython-4.2.1.ebuild
deleted file mode 100644
index b377b21456db..000000000000
--- a/dev-python/wxpython/wxpython-4.2.1.ebuild
+++ /dev/null
@@ -1,124 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_IN_SOURCE_BUILD="1"
-PYTHON_COMPAT=( python3_{10..11} )
-PYPI_NO_NORMALIZE=1
-PYPI_PN="wxPython"
-WX_GTK_VER="3.2-gtk3"
-
-inherit distutils-r1 multiprocessing virtualx wxwidgets pypi
-
-DESCRIPTION="A blending of the wxWindows C++ class library with Python"
-HOMEPAGE="
- https://www.wxpython.org/
- https://github.com/wxWidgets/Phoenix/
- https://pypi.org/project/wxPython/
-"
-
-LICENSE="wxWinLL-3"
-SLOT="4.0"
-KEYWORDS="~alpha amd64 ~arm ~arm64 ~loong ppc ppc64 ~riscv ~sparc ~x86"
-IUSE="test webkit"
-RESTRICT="!test? ( test )"
-
-# wxPython doesn't seem to be able to optionally disable features. webkit is
-# optionally patched out because it's so huge, but other elements are not,
-# which makes us have to require all features from wxGTK
-DEPEND="
- >=x11-libs/wxGTK-3.0.4-r301:${WX_GTK_VER}=[gstreamer,libnotify,opengl,sdl,tiff,webkit?,X]
- media-libs/libpng:=
- media-libs/tiff:=
- media-libs/libjpeg-turbo:=
-"
-RDEPEND="
- ${DEPEND}
-"
-BDEPEND="
- app-doc/doxygen
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
- >=dev-python/sip-6.6.2[${PYTHON_USEDEP}]
- dev-python/six[${PYTHON_USEDEP}]
- test? (
- ${VIRTUALX_DEPEND}
- dev-python/appdirs[${PYTHON_USEDEP}]
- dev-python/numpy[${PYTHON_USEDEP}]
- dev-python/pillow[${PYTHON_USEDEP}]
- dev-python/pytest[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-4.2.0-flags.patch"
- "${FILESDIR}/${PN}-4.2.0-cython-3.patch"
-)
-
-python_prepare_all() {
- if ! use webkit; then
- eapply "${FILESDIR}/${PN}-4.2.0-no-webkit.patch"
- fi
-
- distutils-r1_python_prepare_all
-}
-
-src_configure() {
- setup-wxwidgets
-}
-
-python_compile() {
- DOXYGEN=/usr/bin/doxygen ${PYTHON} build.py dox etg --nodoc || die
-
- # Refresh the bundled/pregenerated sip files
- "${EPYTHON}" build.py sip || die
-
- # Build the bindings
- "${EPYTHON}" build.py build_py \
- --use_syswx \
- --no_magic \
- --jobs="$(makeopts_jobs)" \
- --verbose \
- --release || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=(
- # virtx probably
- unittests/test_display.py::display_Tests::test_display
- unittests/test_frame.py::frame_Tests::test_frameRestore
- unittests/test_mousemanager.py::mousemanager_Tests::test_mousemanager1
- unittests/test_uiaction.py::uiaction_KeyboardTests::test_uiactionKeyboardChar
- unittests/test_uiaction.py::uiaction_KeyboardTests::test_uiactionKeyboardKeyDownUp
- unittests/test_uiaction.py::uiaction_MouseTests
-
- # assertion (TODO)
- unittests/test_aboutdlg.py::aboutdlg_Tests::test_aboutdlgGeneric
- unittests/test_lib_agw_piectrl.py::lib_agw_piectrl_Tests::test_lib_agw_piectrlCtor
-
- # seems to rely on state from a previous test (sigh)
- unittests/test_lib_agw_persist_persistencemanager.py::lib_agw_persist_persistencemanager_Tests::test_persistencemanagerRestore
-
- # requires Spanish localization
- unittests/test_intl.py::intl_Tests::test_intlGetString
-
- # TODO
- unittests/test_tipwin.py::tipwin_Tests::test_tipwinCtor
- unittests/test_lib_pubsub_provider.py::lib_pubsub_Except::test1
- unittests/test_windowid.py::IdManagerTest::test_newIdRef03
- )
- local EPYTEST_IGNORE=()
- if ! use webkit; then
- EPYTEST_IGNORE+=( unittests/test_webview.py )
- fi
-
- # We use pytest-forked as opensuse does to avoid tests corrupting each
- # other.
- virtx epytest --forked -n "$(makeopts_jobs)" unittests
-}
-
-python_install() {
- distutils-r1_python_install --skip-build
-}
diff --git a/dev-python/x-wr-timezone/Manifest b/dev-python/x-wr-timezone/Manifest
index d4a30d9acd88..6186ae0e9017 100644
--- a/dev-python/x-wr-timezone/Manifest
+++ b/dev-python/x-wr-timezone/Manifest
@@ -1,2 +1 @@
-DIST x-wr-timezone-0.0.5.gh.tar.gz 19728 BLAKE2B d3b098da4ff358e19cb70c2f59bb95de55fc27f058359e6d8eca8595bc375e83c05d139491b8e06f07ab1a5ca9e0b9a2dc1fa87cb1aea83e722f494da2ebbc88 SHA512 b530e96e2e32febf82a4aac9fe1067431c7396a029ca785ade8a8c5e2fe04b1d95e60ecf7ecc9862057bffd3e9dd6a773d14c385cb431d1b22858091f3bd7892
-DIST x-wr-timezone-0.0.6.gh.tar.gz 21989 BLAKE2B 0b6c1ba79d32d37a786a3dff73ee5f8317e6426c441a9ff7880d2c0c2fc9e535e29977f094a4bb4b95477f7a1586c1a1800abcede76ffe474879f63e38b00521 SHA512 62b7ef9d904a46711b1a29866b92327543c38cdba2a488769345210599eef2899310cad09bf4da4debe6bc7e78e3370aaf271a663250312d859f5c98850cb553
+DIST x-wr-timezone-0.0.7.gh.tar.gz 21988 BLAKE2B fa8ebf44de060b8e716dda0970dbf881f635d1fbaffb1f6fcfe1f847d4b3b765dbd89141a8aa96393cd205bdfd7e913f9405e22fdb22bbbe148ef0c0a75a291f SHA512 6d37de592741a8786855a1f6c8b61165b3267869dcd86e0b9fe56de31f326ee2f7206ab35c45c21713d4cc808d1b14934d6b5b9daac90791d13b0363af5b5cbf
diff --git a/dev-python/x-wr-timezone/x-wr-timezone-0.0.5.ebuild b/dev-python/x-wr-timezone/x-wr-timezone-0.0.5.ebuild
deleted file mode 100644
index 17287ecf78a2..000000000000
--- a/dev-python/x-wr-timezone/x-wr-timezone-0.0.5.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Convert calendars using X-WR-TIMEZONE to standard ones"
-HOMEPAGE="
- https://github.com/niccokunzmann/x-wr-timezone/
- https://pypi.org/project/x-wr-timezone/
-"
-SRC_URI="
- https://github.com/niccokunzmann/x-wr-timezone/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- dev-python/icalendar[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- test/test_readme.py
-)
diff --git a/dev-python/x-wr-timezone/x-wr-timezone-0.0.6.ebuild b/dev-python/x-wr-timezone/x-wr-timezone-0.0.6.ebuild
deleted file mode 100644
index 21e90d2bdc5f..000000000000
--- a/dev-python/x-wr-timezone/x-wr-timezone-0.0.6.ebuild
+++ /dev/null
@@ -1,34 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Convert calendars using X-WR-TIMEZONE to standard ones"
-HOMEPAGE="
- https://github.com/niccokunzmann/x-wr-timezone/
- https://pypi.org/project/x-wr-timezone/
-"
-SRC_URI="
- https://github.com/niccokunzmann/x-wr-timezone/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="LGPL-3+"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-RDEPEND="
- >=dev-python/icalendar-5.0.11[${PYTHON_USEDEP}]
- dev-python/pytz[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- test/test_readme.py
-)
diff --git a/dev-python/x-wr-timezone/x-wr-timezone-0.0.7.ebuild b/dev-python/x-wr-timezone/x-wr-timezone-0.0.7.ebuild
new file mode 100644
index 000000000000..2375360e0d07
--- /dev/null
+++ b/dev-python/x-wr-timezone/x-wr-timezone-0.0.7.ebuild
@@ -0,0 +1,34 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="Convert calendars using X-WR-TIMEZONE to standard ones"
+HOMEPAGE="
+ https://github.com/niccokunzmann/x-wr-timezone/
+ https://pypi.org/project/x-wr-timezone/
+"
+SRC_URI="
+ https://github.com/niccokunzmann/x-wr-timezone/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="LGPL-3+"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ >=dev-python/icalendar-5.0.11[${PYTHON_USEDEP}]
+ dev-python/pytz[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ test/test_readme.py
+)
diff --git a/dev-python/xarray/Manifest b/dev-python/xarray/Manifest
index 9a43ac8bb635..cccf816f145f 100644
--- a/dev-python/xarray/Manifest
+++ b/dev-python/xarray/Manifest
@@ -1,3 +1 @@
-DIST xarray-2023.10.1.tar.gz 3796343 BLAKE2B 8c4bcccf977bf22dcb7495a35b507b113cf888819c202f4bdd90fb0146b1a8c75d79337f7dedad5d248330a2cc2dcfb07dae4faa60d90e611e1418be530c2ee4 SHA512 1fe193fc2fbd31d7478bd3152f8322f0c20e312518d1f607b483d2b9c3c19d84fb175319fa55fc01d5da13ee471c60c1976617e33760d10168d6fc7b556aeac4
-DIST xarray-2023.11.0.tar.gz 3800529 BLAKE2B 45b54588e3178c5104f40741cf2a3cb6403a0ab199ad1b24a6b2da9cb19649184ba4ca516d54002753ba62c7df6e80dde3b25c68cd63d65dd076b412219de3bc SHA512 fe84884b9147683d61d68233c703d07617f61638d84e28f94c9b9f1fdddf942c563af20a15c6d765b0ff169fe0985d74d7cb4d35d42c3988f62263e55e3e9071
-DIST xarray-2023.9.0.tar.gz 3776743 BLAKE2B 38433f7898db2b53f31db134b110fea743ea5886c33f8f8390b85cda18c1a1d7d178681e4e442ecc39f2f19ae4b761f94b38ccab27e8e20c3463f4364f1222dd SHA512 d6c1e6ff438415766dedada5841413b9c7514dc2b1bf71a4adb17df4d78b68f5f22cded09c20511e4e2e85ac3284c447fc13191397b7ae77d1294d7867e3ac3f
+DIST xarray-2024.6.0.tar.gz 3715179 BLAKE2B 42fa46883d27f656dca9b82e1647bd94a62a427582cd52d847131a8e01caf77a597fcc128453fee1f68c38897a9f995dd4c644e9b68b551ee1c28bc0d48e9465 SHA512 b6f24f834d71cca84f6a485858571a17bcb250915d4f84c886c9e16fc240ae3c3e91d573726e8a09f1dbe269abbfae97498868476eef1a90813ddb29c6a6db62
diff --git a/dev-python/xarray/xarray-2023.10.1-r1.ebuild b/dev-python/xarray/xarray-2023.10.1-r1.ebuild
deleted file mode 100644
index 9de20867ebcc..000000000000
--- a/dev-python/xarray/xarray-2023.10.1-r1.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="N-D labeled arrays and datasets in Python"
-HOMEPAGE="
- https://xarray.pydata.org/
- https://github.com/pydata/xarray/
- https://pypi.org/project/xarray/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ppc ppc64 ~riscv ~sparc x86"
-IUSE="big-endian"
-
-RDEPEND="
- >=dev-python/numpy-1.22[${PYTHON_USEDEP}]
- >=dev-python/pandas-1.4[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
-"
-# note: most of the test dependencies are optional
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/bottleneck[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/toolz[${PYTHON_USEDEP}]
- !hppa? ( >=dev-python/scipy-1.4[${PYTHON_USEDEP}] )
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # warning-targeted tests are fragile and not important to end users
- xarray/tests/test_backends.py::test_no_warning_from_dask_effective_get
- # TODO: segv in netcdf4-python
- 'xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-5-5]'
- 'xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-5-None]'
- 'xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-None-5]'
- 'xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-None-None]'
- xarray/tests/test_backends.py::TestDask::test_save_mfdataset_compute_false_roundtrip
- # hangs
- xarray/tests/test_backends.py::TestDask::test_dask_roundtrip
- # mismatches when pyarrow is installed
- # https://github.com/pydata/xarray/issues/8092
- xarray/tests/test_dask.py::TestToDaskDataFrame::test_to_dask_dataframe_2D
- xarray/tests/test_dask.py::TestToDaskDataFrame::test_to_dask_dataframe_not_daskarray
-)
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-
- if ! has_version ">=dev-python/scipy-1.4[${PYTHON_USEDEP}]" ; then
- EPYTEST_DESELECT+=(
- 'xarray/tests/test_missing.py::test_interpolate_na_2d[coords1]'
- )
- fi
-
- if use big-endian ; then
- EPYTEST_DESELECT+=(
- # Appears to be a numpy issue in display? See bug #916460.
- 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-20-True]'
- 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-09-21T00:12:44.145224808-ns-float64-1e+30-True]'
- 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225216-ns-float64--9.223372036854776e+18-True]'
- 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-None-False]'
- 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225-us-int64-None-False]'
- 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-01-01T00:00:01.000001-us-int64-None-False]'
- 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:21:52.901038080-ns-float32-20.0-True]'
- )
- fi
-
- epytest -p xdist.plugin -n "$(makeopts_jobs)" --dist=worksteal
-}
diff --git a/dev-python/xarray/xarray-2023.10.1.ebuild b/dev-python/xarray/xarray-2023.10.1.ebuild
deleted file mode 100644
index 6bdedcafb6f4..000000000000
--- a/dev-python/xarray/xarray-2023.10.1.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="N-D labeled arrays and datasets in Python"
-HOMEPAGE="
- https://xarray.pydata.org/
- https://github.com/pydata/xarray/
- https://pypi.org/project/xarray/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~ppc ~ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/numpy-1.22[${PYTHON_USEDEP}]
- >=dev-python/pandas-1.4[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
-"
-# note: most of the test dependencies are optional
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/bottleneck[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/toolz[${PYTHON_USEDEP}]
- !hppa? ( >=dev-python/scipy-1.4[${PYTHON_USEDEP}] )
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # warning-targeted tests are fragile and not important to end users
- xarray/tests/test_backends.py::test_no_warning_from_dask_effective_get
- # TODO: segv in netcdf4-python
- 'xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-5-5]'
- 'xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-5-None]'
- 'xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-None-5]'
- 'xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-None-None]'
- xarray/tests/test_backends.py::TestDask::test_save_mfdataset_compute_false_roundtrip
- # hangs
- xarray/tests/test_backends.py::TestDask::test_dask_roundtrip
- # mismatches when pyarrow is installed
- # https://github.com/pydata/xarray/issues/8092
- xarray/tests/test_dask.py::TestToDaskDataFrame::test_to_dask_dataframe_2D
- xarray/tests/test_dask.py::TestToDaskDataFrame::test_to_dask_dataframe_not_daskarray
-)
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p xdist.plugin -n "$(makeopts_jobs)" --dist=worksteal
-}
diff --git a/dev-python/xarray/xarray-2023.11.0.ebuild b/dev-python/xarray/xarray-2023.11.0.ebuild
deleted file mode 100644
index fd7acadeda01..000000000000
--- a/dev-python/xarray/xarray-2023.11.0.ebuild
+++ /dev/null
@@ -1,83 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="N-D labeled arrays and datasets in Python"
-HOMEPAGE="
- https://xarray.pydata.org/
- https://github.com/pydata/xarray/
- https://pypi.org/project/xarray/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~riscv ~sparc ~x86"
-IUSE="big-endian"
-
-RDEPEND="
- >=dev-python/numpy-1.22[${PYTHON_USEDEP}]
- >=dev-python/pandas-1.4[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
-"
-# note: most of the test dependencies are optional
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/bottleneck[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/toolz[${PYTHON_USEDEP}]
- !hppa? ( >=dev-python/scipy-1.4[${PYTHON_USEDEP}] )
- )
-"
-
-EPYTEST_XDIST=1
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # warning-targeted tests are fragile and not important to end users
- xarray/tests/test_backends.py::test_no_warning_from_dask_effective_get
- # TODO: segv in netcdf4-python
- 'xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-5-5]'
- 'xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-5-None]'
- 'xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-None-5]'
- 'xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-None-None]'
- xarray/tests/test_backends.py::TestDask::test_save_mfdataset_compute_false_roundtrip
- # hangs
- xarray/tests/test_backends.py::TestDask::test_dask_roundtrip
- # mismatches when pyarrow is installed
- # https://github.com/pydata/xarray/issues/8092
- xarray/tests/test_dask.py::TestToDaskDataFrame::test_to_dask_dataframe_2D
- xarray/tests/test_dask.py::TestToDaskDataFrame::test_to_dask_dataframe_not_daskarray
-)
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
-
- if ! has_version ">=dev-python/scipy-1.4[${PYTHON_USEDEP}]" ; then
- EPYTEST_DESELECT+=(
- 'xarray/tests/test_missing.py::test_interpolate_na_2d[coords1]'
- )
- fi
-
- if use big-endian ; then
- EPYTEST_DESELECT+=(
- # Appears to be a numpy issue in display? See bug #916460.
- 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-20-True]'
- 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-09-21T00:12:44.145224808-ns-float64-1e+30-True]'
- 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225216-ns-float64--9.223372036854776e+18-True]'
- 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-None-False]'
- 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225-us-int64-None-False]'
- 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-01-01T00:00:01.000001-us-int64-None-False]'
- 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:21:52.901038080-ns-float32-20.0-True]'
- )
- fi
-
- epytest
-}
diff --git a/dev-python/xarray/xarray-2023.9.0.ebuild b/dev-python/xarray/xarray-2023.9.0.ebuild
deleted file mode 100644
index 3c67d4ade160..000000000000
--- a/dev-python/xarray/xarray-2023.9.0.ebuild
+++ /dev/null
@@ -1,62 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 multiprocessing pypi
-
-DESCRIPTION="N-D labeled arrays and datasets in Python"
-HOMEPAGE="
- https://xarray.pydata.org/
- https://github.com/pydata/xarray/
- https://pypi.org/project/xarray/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="amd64 arm arm64 ~hppa ~ia64 ~ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/numpy-1.22[${PYTHON_USEDEP}]
- >=dev-python/pandas-1.4[${PYTHON_USEDEP}]
- >=dev-python/packaging-21.3[${PYTHON_USEDEP}]
-"
-# note: most of the test dependencies are optional
-BDEPEND="
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- test? (
- dev-python/bottleneck[${PYTHON_USEDEP}]
- dev-python/hypothesis[${PYTHON_USEDEP}]
- dev-python/matplotlib[${PYTHON_USEDEP}]
- dev-python/pytest-xdist[${PYTHON_USEDEP}]
- dev-python/toolz[${PYTHON_USEDEP}]
- !hppa? ( >=dev-python/scipy-1.4[${PYTHON_USEDEP}] )
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_DESELECT=(
- # warning-targeted tests are fragile and not important to end users
- xarray/tests/test_backends.py::test_no_warning_from_dask_effective_get
- # TODO: segv in netcdf4-python
- 'xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-5-5]'
- 'xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-5-None]'
- 'xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-None-5]'
- 'xarray/tests/test_backends.py::test_open_mfdataset_manyfiles[netcdf4-20-True-None-None]'
- xarray/tests/test_backends.py::TestDask::test_save_mfdataset_compute_false_roundtrip
- # hangs
- xarray/tests/test_backends.py::TestDask::test_dask_roundtrip
- # mismatches when pyarrow is installed
- # https://github.com/pydata/xarray/issues/8092
- xarray/tests/test_dask.py::TestToDaskDataFrame::test_to_dask_dataframe_2D
- xarray/tests/test_dask.py::TestToDaskDataFrame::test_to_dask_dataframe_not_daskarray
-)
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest -p xdist.plugin -n "$(makeopts_jobs)" --dist=worksteal
-}
diff --git a/dev-python/xarray/xarray-2024.6.0-r1.ebuild b/dev-python/xarray/xarray-2024.6.0-r1.ebuild
new file mode 100644
index 000000000000..3e4615142e1f
--- /dev/null
+++ b/dev-python/xarray/xarray-2024.6.0-r1.ebuild
@@ -0,0 +1,108 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="N-D labeled arrays and datasets in Python"
+HOMEPAGE="
+ https://xarray.pydata.org/
+ https://github.com/pydata/xarray/
+ https://pypi.org/project/xarray/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~riscv ~x86"
+IUSE="big-endian"
+
+RDEPEND="
+ >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
+ >=dev-python/pandas-2.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+"
+# note: most of the test dependencies are optional
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/bottleneck[${PYTHON_USEDEP}]
+ dev-python/cftime[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ !riscv? ( dev-python/netcdf4[bzip2,szip,${PYTHON_USEDEP}] )
+ dev-python/toolz[${PYTHON_USEDEP}]
+ !hppa? ( >=dev-python/scipy-1.4[${PYTHON_USEDEP}] )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # TODO: these fail with filter errors even if netcdf4 is built
+ # with blosc/zstd support
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[zstd]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz4]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_lz4hc]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_zlib]'
+ 'xarray/tests/test_backends.py::TestNetCDF4Data::test_compression_encoding[blosc_zstd]'
+ )
+
+ if ! has_version ">=dev-python/scipy-1.4[${PYTHON_USEDEP}]" ; then
+ EPYTEST_DESELECT+=(
+ 'xarray/tests/test_missing.py::test_interpolate_na_2d[coords1]'
+ )
+
+ if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]" ; then
+ EPYTEST_DESELECT+=(
+ xarray/tests/test_calendar_ops.py::test_interp_calendar
+ )
+ fi
+ fi
+
+ if use big-endian ; then
+ EPYTEST_DESELECT+=(
+ # Appears to be a numpy issue in display? See bug #916460.
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-20-True]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-09-21T00:12:44.145224808-ns-float64-1e+30-True]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225216-ns-float64--9.223372036854776e+18-True]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-None-False]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225-us-int64-None-False]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-01-01T00:00:01.000001-us-int64-None-False]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:21:52.901038080-ns-float32-20.0-True]'
+ )
+ fi
+
+ if [[ ${ABI} != *64* ]]; then
+ EPYTEST_DESELECT+=(
+ # these tests hardcode object sizes for 64-bit arches
+ # https://github.com/pydata/xarray/issues/9127
+ xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex
+ xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex_long
+ xarray/tests/test_dataset.py::TestDataset::test_repr_multiindex
+ xarray/tests/test_formatting.py::test_array_repr_dtypes_unix
+ )
+ fi
+
+ if has_version ">=dev-python/numpy-2[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ xarray/tests/test_dataset.py::TestDataset::test_polyfit_warnings
+ # https://github.com/pandas-dev/pandas/issues/56996
+ xarray/tests/test_backends.py::test_use_cftime_false_standard_calendar_in_range
+ # TODO
+ 'xarray/tests/test_dtypes.py::test_maybe_promote[q-expected19]'
+ 'xarray/tests/test_dtypes.py::test_maybe_promote[Q-expected20]'
+ 'xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_mask_and_scale[dtype0-create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data]'
+ 'xarray/tests/test_conventions.py::TestCFEncodedDataStore::test_roundtrip_mask_and_scale[dtype1-create_unsigned_masked_scaled_data-create_encoded_unsigned_masked_scaled_data]'
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/xarray/xarray-2024.6.0.ebuild b/dev-python/xarray/xarray-2024.6.0.ebuild
new file mode 100644
index 000000000000..446bc77dca5c
--- /dev/null
+++ b/dev-python/xarray/xarray-2024.6.0.ebuild
@@ -0,0 +1,95 @@
+# 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..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="N-D labeled arrays and datasets in Python"
+HOMEPAGE="
+ https://xarray.pydata.org/
+ https://github.com/pydata/xarray/
+ https://pypi.org/project/xarray/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~loong ~riscv x86"
+IUSE="big-endian"
+
+RDEPEND="
+ >=dev-python/numpy-1.23[${PYTHON_USEDEP}]
+ >=dev-python/pandas-2.0[${PYTHON_USEDEP}]
+ >=dev-python/packaging-23.1[${PYTHON_USEDEP}]
+"
+# note: most of the test dependencies are optional
+BDEPEND="
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ test? (
+ dev-python/bottleneck[${PYTHON_USEDEP}]
+ dev-python/cftime[${PYTHON_USEDEP}]
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ dev-python/matplotlib[${PYTHON_USEDEP}]
+ dev-python/toolz[${PYTHON_USEDEP}]
+ !hppa? ( >=dev-python/scipy-1.4[${PYTHON_USEDEP}] )
+ )
+"
+
+EPYTEST_XDIST=1
+distutils_enable_tests pytest
+
+python_test() {
+ local EPYTEST_DESELECT=()
+ if ! has_version ">=dev-python/scipy-1.4[${PYTHON_USEDEP}]" ; then
+ EPYTEST_DESELECT+=(
+ 'xarray/tests/test_missing.py::test_interpolate_na_2d[coords1]'
+ )
+
+ if ! has_version "dev-python/scipy[${PYTHON_USEDEP}]" ; then
+ EPYTEST_DESELECT+=(
+ xarray/tests/test_calendar_ops.py::test_interp_calendar
+ )
+ fi
+ fi
+
+ if use big-endian ; then
+ EPYTEST_DESELECT+=(
+ # Appears to be a numpy issue in display? See bug #916460.
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-20-True]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-09-21T00:12:44.145224808-ns-float64-1e+30-True]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225216-ns-float64--9.223372036854776e+18-True]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145224193-ns-int64-None-False]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:12:43.145225-us-int64-None-False]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1970-01-01T00:00:01.000001-us-int64-None-False]'
+ 'xarray/tests/test_coding_times.py::test_roundtrip_datetime64_nanosecond_precision[1677-09-21T00:21:52.901038080-ns-float32-20.0-True]'
+ )
+ fi
+
+ if [[ ${ABI} != *64* ]]; then
+ EPYTEST_DESELECT+=(
+ # these tests hardcode object sizes for 64-bit arches
+ # https://github.com/pydata/xarray/issues/9127
+ xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex
+ xarray/tests/test_dataarray.py::TestDataArray::test_repr_multiindex_long
+ xarray/tests/test_dataset.py::TestDataset::test_repr_multiindex
+ xarray/tests/test_formatting.py::test_array_repr_dtypes_unix
+ )
+ fi
+
+ if has_version ">=dev-python/numpy-2[${PYTHON_USEDEP}]"; then
+ EPYTEST_DESELECT+=(
+ xarray/tests/test_dataset.py::TestDataset::test_polyfit_warnings
+ # https://github.com/pandas-dev/pandas/issues/56996
+ xarray/tests/test_backends.py::test_use_cftime_false_standard_calendar_in_range
+ # TODO
+ 'xarray/tests/test_dtypes.py::test_maybe_promote[q-expected19]'
+ 'xarray/tests/test_dtypes.py::test_maybe_promote[Q-expected20]'
+ )
+ fi
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/xcffib/Manifest b/dev-python/xcffib/Manifest
index 1c7f0d77d3bc..2f517d261ab7 100644
--- a/dev-python/xcffib/Manifest
+++ b/dev-python/xcffib/Manifest
@@ -1,3 +1 @@
-DIST xcffib-1.3.0.tar.gz 89874 BLAKE2B 5dd8d64b906d92cb987ee4398da668d6034faf4abc24a56c0fca3e5b6d0cd1252ea1459736a9f7fb83ee97d4d6cec5d103eb19aba626a3d646f67e6332e255a5 SHA512 a493f86891158ffa0c36168da5e7ebdeadafe5e9f067e2ad6052cf302c89db612f907b5e9950748fcfd74886b808870986529902bae77fede7e27d5d422d6ec6
-DIST xcffib-1.4.0.tar.gz 89496 BLAKE2B 4987d9346d403c3ac627cd7b1b31d3686b9135d077c4b61862841085cc1c1ea7f950bd0b6c456d59f407bb384d14a96cf2a617f2c584434eee294a22ac770a82 SHA512 310fc4c21856d2255650598c26831569061e112516d958e6f65a0a8e6d32c4bb37a14d7bb6c7da8dcaa9c4459fc83026ba9b1a9567f01f9bbcafda8fdea4f153
DIST xcffib-1.5.0.tar.gz 89544 BLAKE2B cb3820a53eb7694078e5dbb175951b6dbdc445c06f397898e52319fd8a7633f2d8115f0d096a14b2b3de0c7b07918343d077705814574ff41de2bf06a12812c0 SHA512 aaa426b57d0d8dc45cb6a2036c862af6308fb5781667b8dba3f5ff399fe5e15912860d0bb696ac09f1efd4ffbbdaf7f555ef76039bd660f36f5c6179535b654f
diff --git a/dev-python/xcffib/xcffib-1.3.0-r1.ebuild b/dev-python/xcffib/xcffib-1.3.0-r1.ebuild
deleted file mode 100644
index 0d55d90c6c0c..000000000000
--- a/dev-python/xcffib/xcffib-1.3.0-r1.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A drop in replacement for xpyb, an XCB python binding"
-HOMEPAGE="
- https://github.com/tych0/xcffib/
- https://pypi.org/project/xcffib/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-DEPEND="
- x11-libs/libxcb
-"
-RDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.1:=[${PYTHON_USEDEP}]
- ' 'python*')
- ${DEPEND}
-"
-BDEPEND="
- test? (
- x11-base/xorg-server[xvfb]
- x11-apps/xeyes
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- rm -rf xcffib || die
- epytest
-}
diff --git a/dev-python/xcffib/xcffib-1.4.0.ebuild b/dev-python/xcffib/xcffib-1.4.0.ebuild
deleted file mode 100644
index 0d55d90c6c0c..000000000000
--- a/dev-python/xcffib/xcffib-1.4.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-DISTUTILS_USE_PEP517=setuptools
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="A drop in replacement for xpyb, an XCB python binding"
-HOMEPAGE="
- https://github.com/tych0/xcffib/
- https://pypi.org/project/xcffib/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
-
-DEPEND="
- x11-libs/libxcb
-"
-RDEPEND="
- $(python_gen_cond_dep '
- >=dev-python/cffi-1.1:=[${PYTHON_USEDEP}]
- ' 'python*')
- ${DEPEND}
-"
-BDEPEND="
- test? (
- x11-base/xorg-server[xvfb]
- x11-apps/xeyes
- )
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- rm -rf xcffib || die
- epytest
-}
diff --git a/dev-python/xcffib/xcffib-1.5.0.ebuild b/dev-python/xcffib/xcffib-1.5.0.ebuild
index 2b24f8ebc49f..680167b6ad2a 100644
--- a/dev-python/xcffib/xcffib-1.5.0.ebuild
+++ b/dev-python/xcffib/xcffib-1.5.0.ebuild
@@ -1,9 +1,9 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
@@ -16,7 +16,7 @@ HOMEPAGE="
LICENSE="Apache-2.0"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ~ppc ppc64 ~riscv ~s390 sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86"
DEPEND="
x11-libs/libxcb
@@ -36,6 +36,14 @@ BDEPEND="
distutils_enable_tests pytest
+src_prepare() {
+ # remove invalid cffi dependency
+ # https://github.com/tych0/xcffib/pull/167
+ sed -i -e '/dependencies/d' setup.py || die
+
+ distutils-r1_src_prepare
+}
+
python_test() {
rm -rf xcffib || die
epytest
diff --git a/dev-python/xdoctest/Manifest b/dev-python/xdoctest/Manifest
index d86c33fb3d9f..c0379d377f6f 100644
--- a/dev-python/xdoctest/Manifest
+++ b/dev-python/xdoctest/Manifest
@@ -1,2 +1,3 @@
-DIST xdoctest-1.1.1.gh.tar.gz 212973 BLAKE2B 2af66b23889ba1f0321af08fbb81cec87f6c582fe000eaa3372f166287bf69b40fd82eff1029aadb0d0d62760640881676f61571f0bed37309a98680450fbe77 SHA512 8b0f77df54be8e61bf1b98bbc6ef7ac76337e634ea590394e13481c61ea83b6b4b017588f8d6ab813f95d277f605ece2d82441d6cbd25bbf485dd5bc85677abd
-DIST xdoctest-1.1.2.gh.tar.gz 225392 BLAKE2B 6a140197244f362b65047b7f181b3682aa7cf65c2f103e22f277388b6fecdf4894ed7c04e24cf08be1ecf78c0957fb04dbe4f97d894761ba7a47476b3eaf867c SHA512 9119c7895890b0369fd353aa2245fc4632004aca9be5086051f16de5abe0e596ee09cfedaa13b16a408aa98b81045d38e6e4df8b60197d66aec7b5e73709237d
+DIST xdoctest-1.1.3.gh.tar.gz 227008 BLAKE2B dcda05cbbc692fe7dd7d6b49d92f980f997e3f5f7025406d2a26019f67486b2dc8f1657d9f8760e3034e6bed9f35d9dd7ab728a07a3e25596dab95327ecc8ba4 SHA512 5ee08f15bc01efee8be55c85aa259615bd433d9be02655ac48d7db93a72c5bf69f73562d7887e56836a74721b90517e797e5a128311438b22ace6f463ecf330d
+DIST xdoctest-1.1.4.gh.tar.gz 230110 BLAKE2B a096dea40a783b7a0366ba00ab29e8cbd5e2be61c04ed790839b56674851ff2a8ad27a99a2a2523bac6e4b28c752ca683d2634ef5fa7bfb17708d8a637b867ac SHA512 cd2df8a01be14b5b2dc195621028c09a139b6cf952a853dea6548b706314f109fa88e27be331135d46aff8ca980a1e48a16c4afdedd368718a83c91ffa02bd34
+DIST xdoctest-1.1.5.gh.tar.gz 230382 BLAKE2B 0bbcd09464cc48d6450c746fc341892401bfa91a18be45ab340d291a4001a71f6d5a0fca6b3a7e869c2c34ce008e992fdac62fdd898a941659017e9bf68b7ae9 SHA512 6664eef216f7e83236673542bcdd75276c14260dd94026575e4e72ff41c6b4249909659e54a46fda84c49e22954fb169d23a1baf439823d28337731232803781
diff --git a/dev-python/xdoctest/xdoctest-1.1.1.ebuild b/dev-python/xdoctest/xdoctest-1.1.1.ebuild
deleted file mode 100644
index f0df9f54bff4..000000000000
--- a/dev-python/xdoctest/xdoctest-1.1.1.ebuild
+++ /dev/null
@@ -1,49 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="A rewrite of Python's builtin doctest module but without all the weirdness"
-HOMEPAGE="
- https://github.com/Erotemic/xdoctest/
- https://pypi.org/project/xdoctest/
-"
-SRC_URI="
- https://github.com/Erotemic/xdoctest/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-SLOT="0"
-LICENSE="Apache-2.0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- dev-python/six[${PYTHON_USEDEP}]
-"
-# dev-python/nbformat-5.1.{0..2} did not install package data
-BDEPEND="
- test? (
- >=dev-python/nbformat-5.1.2-r1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-#distutils_enable_sphinx docs/source \
-# dev-python/autoapi \
-# dev-python/sphinx-rtd-theme
-
-EPYTEST_DESELECT=(
- tests/test_pytest_cli.py::test_simple_pytest_import_error_cli
-)
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=xdoctest.plugin
-
- epytest --pyargs tests xdoctest
-}
diff --git a/dev-python/xdoctest/xdoctest-1.1.2.ebuild b/dev-python/xdoctest/xdoctest-1.1.2.ebuild
deleted file mode 100644
index 55a77c825a50..000000000000
--- a/dev-python/xdoctest/xdoctest-1.1.2.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="A rewrite of Python's builtin doctest module but without all the weirdness"
-HOMEPAGE="
- https://github.com/Erotemic/xdoctest/
- https://pypi.org/project/xdoctest/
-"
-SRC_URI="
- https://github.com/Erotemic/xdoctest/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-SLOT="0"
-LICENSE="Apache-2.0"
-KEYWORDS="~amd64 ~arm64 ~x86"
-
-# dev-python/nbformat-5.1.{0..2} did not install package data
-BDEPEND="
- test? (
- >=dev-python/nbformat-5.1.2-r1[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-#distutils_enable_sphinx docs/source \
-# dev-python/autoapi \
-# dev-python/sphinx-rtd-theme
-
-EPYTEST_DESELECT=(
- tests/test_pytest_cli.py::test_simple_pytest_import_error_cli
-)
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- local -x PYTEST_PLUGINS=xdoctest.plugin
-
- epytest --pyargs tests xdoctest
-}
diff --git a/dev-python/xdoctest/xdoctest-1.1.3.ebuild b/dev-python/xdoctest/xdoctest-1.1.3.ebuild
new file mode 100644
index 000000000000..70d8909b5a6b
--- /dev/null
+++ b/dev-python/xdoctest/xdoctest-1.1.3.ebuild
@@ -0,0 +1,49 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A rewrite of Python's builtin doctest module but without all the weirdness"
+HOMEPAGE="
+ https://github.com/Erotemic/xdoctest/
+ https://pypi.org/project/xdoctest/
+"
+SRC_URI="
+ https://github.com/Erotemic/xdoctest/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+# dev-python/nbformat-5.1.{0..2} did not install package data
+BDEPEND="
+ test? (
+ >=dev-python/nbformat-5.1.2-r1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+#distutils_enable_sphinx docs/source \
+# dev-python/autoapi \
+# dev-python/sphinx-rtd-theme
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/test_pytest_cli.py::test_simple_pytest_import_error_cli
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdoctest.plugin
+
+ epytest --pyargs tests xdoctest
+}
diff --git a/dev-python/xdoctest/xdoctest-1.1.4.ebuild b/dev-python/xdoctest/xdoctest-1.1.4.ebuild
new file mode 100644
index 000000000000..70d8909b5a6b
--- /dev/null
+++ b/dev-python/xdoctest/xdoctest-1.1.4.ebuild
@@ -0,0 +1,49 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A rewrite of Python's builtin doctest module but without all the weirdness"
+HOMEPAGE="
+ https://github.com/Erotemic/xdoctest/
+ https://pypi.org/project/xdoctest/
+"
+SRC_URI="
+ https://github.com/Erotemic/xdoctest/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+# dev-python/nbformat-5.1.{0..2} did not install package data
+BDEPEND="
+ test? (
+ >=dev-python/nbformat-5.1.2-r1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+#distutils_enable_sphinx docs/source \
+# dev-python/autoapi \
+# dev-python/sphinx-rtd-theme
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/test_pytest_cli.py::test_simple_pytest_import_error_cli
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdoctest.plugin
+
+ epytest --pyargs tests xdoctest
+}
diff --git a/dev-python/xdoctest/xdoctest-1.1.5.ebuild b/dev-python/xdoctest/xdoctest-1.1.5.ebuild
new file mode 100644
index 000000000000..70d8909b5a6b
--- /dev/null
+++ b/dev-python/xdoctest/xdoctest-1.1.5.ebuild
@@ -0,0 +1,49 @@
+# 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..13} )
+
+inherit distutils-r1
+
+DESCRIPTION="A rewrite of Python's builtin doctest module but without all the weirdness"
+HOMEPAGE="
+ https://github.com/Erotemic/xdoctest/
+ https://pypi.org/project/xdoctest/
+"
+SRC_URI="
+ https://github.com/Erotemic/xdoctest/archive/v${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64 ~x86"
+
+RDEPEND="
+ dev-python/pytest[${PYTHON_USEDEP}]
+"
+# dev-python/nbformat-5.1.{0..2} did not install package data
+BDEPEND="
+ test? (
+ >=dev-python/nbformat-5.1.2-r1[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+#distutils_enable_sphinx docs/source \
+# dev-python/autoapi \
+# dev-python/sphinx-rtd-theme
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ tests/test_pytest_cli.py::test_simple_pytest_import_error_cli
+ )
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ local -x PYTEST_PLUGINS=xdoctest.plugin
+
+ epytest --pyargs tests xdoctest
+}
diff --git a/dev-python/xkbcommon/Manifest b/dev-python/xkbcommon/Manifest
index e2afa5bebb5b..ee7bc794e800 100644
--- a/dev-python/xkbcommon/Manifest
+++ b/dev-python/xkbcommon/Manifest
@@ -1 +1,4 @@
-DIST python-xkbcommon-0.8.gh.tar.gz 26951 BLAKE2B 0d2a649e3fee8baa9345ddca97dc7c77b5d9e10d7ca90cbb29bcc3531f4bba3deee39e610e147054e956310506fb79ebb43c85955b787e55046d67c12b851026 SHA512 ae2640ef89e7ace0468e970762c7be4d3f608701f1abea10174f274c622db28a6e6323cdc5bbbbaaa1065d4c4ddf9f67b75d4c34bb2e9a0bb6260778b15a330a
+DIST python-xkbcommon-1.0.1.gh.tar.gz 79263 BLAKE2B 8bc128e592a02b14321fe087f7c0ae87a699e0284c3230fa2a0b1cf2e8105037fa0ace876216ec8a72cc49eb76fab0af83b7a5d83a3943f609954205d949def0 SHA512 1e0393c5d7e99d9a68168a5486a15b3598d8539b7a7b0a7c41a9c1a329cfe79d3f19556b481f5625e1bea1cc41f3394dcc1fc1bf1dbd98cd58db54f471ece5d5
+DIST python-xkbcommon-1.0.gh.tar.gz 27258 BLAKE2B 3106877f8e87f50453a358eec4e6431642b00a6a2bc23d3088ef22379984869ec84cd042a1ac53dd72783f3005dad1efddf3f87410204b88bfde4f9da0044c97 SHA512 c7793d6f5517771006ff5a9c01deb9a37717157d7171af49ff459dc96b3b16a1d2d4c0f1272b5a8f683390de1e8e6a6ff92472f18828c7e38e0f2a1ee6f34f07
+DIST xkbcommon-1.5.1.tar.gz 80170 BLAKE2B 8dec8c632d1d3c5d4f47992feea7431e21a9bb6477cbb35039003606ad6c52136255e89373bfe663cfaeb5d7b575ca0504af05568d56dcf99c53f509cf636408 SHA512 0fe7fa5760a77f9652e1985d16bf9ef0f6a95f96a196a032f4d7639bca5da644e0439f81ff76b02a06a2e2448277d86ed798de72cbfadeb2369ffaf2d322cb65
+DIST xkbcommon-1.5.tar.gz 79887 BLAKE2B f6a39b98fc97f12a2badfa53cf5445fad0018aaf03542d1945d36155e3c0abe92b4080f149d8c2bcc85ac72cef6a6099ca45afb043754b31a543f02820a33ebd SHA512 ab0d3f83d11038dd4ae98f9954f6082f214727720d0eced4c298943f4f26b19d9be42bc4215c4e6a5fa68214c4a0a5e88b30657a52e982a8b4c7e7b84c1c174b
diff --git a/dev-python/xkbcommon/xkbcommon-0.8.ebuild b/dev-python/xkbcommon/xkbcommon-0.8.ebuild
deleted file mode 100644
index 1ca6444edeeb..000000000000
--- a/dev-python/xkbcommon/xkbcommon-0.8.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-MY_P=python-xkbcommon-${PV}
-DESCRIPTION="Python bindings for libxkbcommon using cffi"
-HOMEPAGE="
- https://github.com/sde1000/python-xkbcommon/
- https://pypi.org/project/xkbcommon/
-"
-SRC_URI="
- https://github.com/sde1000/python-xkbcommon/archive/refs/tags/v${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~riscv ~x86"
-
-# x11-libs/libxkbcommon dep per README
-RDEPEND="
- >=x11-libs/libxkbcommon-${PV}
- $(python_gen_cond_dep '
- dev-python/cffi[${PYTHON_USEDEP}]
- ' 'python*')
-"
-DEPEND="${RDEPEND}"
-
-distutils_enable_tests pytest
-
-python_test() {
- rm -rf xkbcommon || die
-
- epytest
-}
diff --git a/dev-python/xkbcommon/xkbcommon-1.0.1.ebuild b/dev-python/xkbcommon/xkbcommon-1.0.1.ebuild
new file mode 100644
index 000000000000..ee7ef4fcf845
--- /dev/null
+++ b/dev-python/xkbcommon/xkbcommon-1.0.1.ebuild
@@ -0,0 +1,44 @@
+# Copyright 2023-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..13} pypy3 )
+
+inherit distutils-r1
+
+MY_P=python-xkbcommon-${PV}
+DESCRIPTION="Python bindings for libxkbcommon using cffi"
+HOMEPAGE="
+ https://github.com/sde1000/python-xkbcommon/
+ https://pypi.org/project/xkbcommon/
+"
+SRC_URI="
+ https://github.com/sde1000/python-xkbcommon/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+# x11-libs/libxkbcommon dep per README
+RDEPEND="
+ >=x11-libs/libxkbcommon-${PV}
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+DEPEND="${RDEPEND}"
+
+distutils_enable_tests pytest
+
+python_test() {
+ rm -rf xkbcommon || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/xkbcommon/xkbcommon-1.0.ebuild b/dev-python/xkbcommon/xkbcommon-1.0.ebuild
new file mode 100644
index 000000000000..93848742bb21
--- /dev/null
+++ b/dev-python/xkbcommon/xkbcommon-1.0.ebuild
@@ -0,0 +1,43 @@
+# Copyright 2023-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..13} pypy3 )
+
+inherit distutils-r1
+
+MY_P=python-xkbcommon-${PV}
+DESCRIPTION="Python bindings for libxkbcommon using cffi"
+HOMEPAGE="
+ https://github.com/sde1000/python-xkbcommon/
+ https://pypi.org/project/xkbcommon/
+"
+SRC_URI="
+ https://github.com/sde1000/python-xkbcommon/archive/refs/tags/v${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~riscv ~x86"
+
+# x11-libs/libxkbcommon dep per README
+RDEPEND="
+ >=x11-libs/libxkbcommon-${PV}
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+DEPEND="${RDEPEND}"
+
+distutils_enable_tests pytest
+
+python_test() {
+ rm -rf xkbcommon || die
+
+ epytest
+}
diff --git a/dev-python/xkbcommon/xkbcommon-1.5.1.ebuild b/dev-python/xkbcommon/xkbcommon-1.5.1.ebuild
new file mode 100644
index 000000000000..ff9443b3c9b7
--- /dev/null
+++ b/dev-python/xkbcommon/xkbcommon-1.5.1.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2023-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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for libxkbcommon using cffi"
+HOMEPAGE="
+ https://github.com/sde1000/python-xkbcommon/
+ https://pypi.org/project/xkbcommon/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+# x11-libs/libxkbcommon dep per README
+RDEPEND="
+ >=x11-libs/libxkbcommon-${PV}
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+DEPEND="${RDEPEND}"
+
+distutils_enable_tests pytest
+
+python_test() {
+ rm -rf xkbcommon || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/xkbcommon/xkbcommon-1.5.ebuild b/dev-python/xkbcommon/xkbcommon-1.5.ebuild
new file mode 100644
index 000000000000..ff9443b3c9b7
--- /dev/null
+++ b/dev-python/xkbcommon/xkbcommon-1.5.ebuild
@@ -0,0 +1,38 @@
+# Copyright 2023-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..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Python bindings for libxkbcommon using cffi"
+HOMEPAGE="
+ https://github.com/sde1000/python-xkbcommon/
+ https://pypi.org/project/xkbcommon/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~riscv ~x86"
+
+# x11-libs/libxkbcommon dep per README
+RDEPEND="
+ >=x11-libs/libxkbcommon-${PV}
+ $(python_gen_cond_dep '
+ dev-python/cffi[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+DEPEND="${RDEPEND}"
+
+distutils_enable_tests pytest
+
+python_test() {
+ rm -rf xkbcommon || die
+
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/xlrd/xlrd-2.0.1-r1.ebuild b/dev-python/xlrd/xlrd-2.0.1-r1.ebuild
index 9c12e81f713d..f4585232a731 100644
--- a/dev-python/xlrd/xlrd-2.0.1-r1.ebuild
+++ b/dev-python/xlrd/xlrd-2.0.1-r1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -21,6 +21,6 @@ SRC_URI="
LICENSE="BSD"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux ~arm64-macos ~x64-macos"
distutils_enable_tests pytest
diff --git a/dev-python/xlsxwriter/Manifest b/dev-python/xlsxwriter/Manifest
index 9ed51d455feb..6be404ad2535 100644
--- a/dev-python/xlsxwriter/Manifest
+++ b/dev-python/xlsxwriter/Manifest
@@ -1 +1 @@
-DIST XlsxWriter-RELEASE_3.1.9.gh.tar.gz 37377544 BLAKE2B f04e06ef75e80f9bb33ebf14f71aa42c30b9152295367877d83c20e62897985691e35288c6b7d4ff218cbf799fc5ddeda1d2b08bb91fbdeb3d48c5c27be95bec SHA512 1c7ea489182f1abe50fae5f1f387274f67e6043ef3fa909b015a340e38d8449f18ef1f40a64719982680371430a98bd0ac0d441b88daad655599f6eccae04a85
+DIST XlsxWriter-RELEASE_3.2.0.gh.tar.gz 24079667 BLAKE2B ee6f35d2df8edef3a1282bd821b1eaa3d3a79bb9d962df9d50394519905a0344e0b747a58d3bf5fc1323baefde3b9e11a2c5e7e77be2cc02bab716b0a3cf3226 SHA512 b36ee896d01e5a6369f4f42e69338b69b9ea5ee4919eea9361c0f5f6ff012ca153c708ff1c719b82ce067c5d57392e3b72c47e828a7e832953d0c06de9f65962
diff --git a/dev-python/xlsxwriter/xlsxwriter-3.1.9.ebuild b/dev-python/xlsxwriter/xlsxwriter-3.1.9.ebuild
deleted file mode 100644
index 467b0e23b80b..000000000000
--- a/dev-python/xlsxwriter/xlsxwriter-3.1.9.ebuild
+++ /dev/null
@@ -1,33 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1
-
-TAG=RELEASE_${PV}
-MY_P=XlsxWriter-${TAG}
-DESCRIPTION="Python module for creating Excel XLSX files"
-HOMEPAGE="
- https://github.com/jmcnamara/XlsxWriter/
- https://pypi.org/project/XlsxWriter/
-"
-SRC_URI="
- https://github.com/jmcnamara/XlsxWriter/archive/${TAG}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-SLOT="0"
-LICENSE="BSD"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
-
-distutils_enable_tests pytest
-
-python_test() {
- local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
- epytest
-}
diff --git a/dev-python/xlsxwriter/xlsxwriter-3.2.0.ebuild b/dev-python/xlsxwriter/xlsxwriter-3.2.0.ebuild
new file mode 100644
index 000000000000..112f78686dfa
--- /dev/null
+++ b/dev-python/xlsxwriter/xlsxwriter-3.2.0.ebuild
@@ -0,0 +1,33 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+TAG=RELEASE_${PV}
+MY_P=XlsxWriter-${TAG}
+DESCRIPTION="Python module for creating Excel XLSX files"
+HOMEPAGE="
+ https://github.com/jmcnamara/XlsxWriter/
+ https://pypi.org/project/XlsxWriter/
+"
+SRC_URI="
+ https://github.com/jmcnamara/XlsxWriter/archive/${TAG}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 ~sparc x86 ~amd64-linux ~x86-linux"
+
+distutils_enable_tests pytest
+
+python_test() {
+ local -x PYTEST_DISABLE_PLUGIN_AUTOLOAD=1
+ epytest
+}
diff --git a/dev-python/xlwt/xlwt-1.3.0-r2.ebuild b/dev-python/xlwt/xlwt-1.3.0-r2.ebuild
index aab66af25710..90d8a7e58fca 100644
--- a/dev-python/xlwt/xlwt-1.3.0-r2.ebuild
+++ b/dev-python/xlwt/xlwt-1.3.0-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/xmlschema/Manifest b/dev-python/xmlschema/Manifest
index b8d9b05d06e6..523a14d2b562 100644
--- a/dev-python/xmlschema/Manifest
+++ b/dev-python/xmlschema/Manifest
@@ -1 +1 @@
-DIST xmlschema-2.5.0.tar.gz 539358 BLAKE2B 3d70b01f325ed1b4b61b1baaf1d7d29fd9748984f229d78bc645fef331d2cfb6f6d6e52200295ced0e03513e105ebfb8f30937c51e0883ee5d67866346cddb02 SHA512 d859be35d057d8bb1cea85c0f90525ae26f78f09ba2a111414f429eb2afd8633cb59ec0d701bba5bd1d086efb7ae51c2c470882cbfb932caa51c8b8d1ecbfbcb
+DIST xmlschema-3.3.1.tar.gz 574315 BLAKE2B fa6caf1b21949a46b398f0a951534ef9155d6dd6920a195967ff9155dbcdb496b94ac952396d0ef9e17e36050a6bd6550d975a5faf0ea84727a9bb90f3d8336a SHA512 e9c01fba834ea9d673bd3ade9527f991ec1af14909ad42b9e27100f984ce5ffe1e3ab9e351b91b186fe19145613e0df93a7430d0e006f93a38c782a0e3e6daac
diff --git a/dev-python/xmlschema/xmlschema-2.5.0.ebuild b/dev-python/xmlschema/xmlschema-2.5.0.ebuild
deleted file mode 100644
index 41c2b075ec6b..000000000000
--- a/dev-python/xmlschema/xmlschema-2.5.0.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 2019-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="An XML Schema validator and decoder"
-HOMEPAGE="
- https://github.com/sissaschool/xmlschema/
- https://pypi.org/project/xmlschema/
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-IUSE="test"
-RESTRICT="!test? ( test )"
-
-RDEPEND="
- <dev-python/elementpath-5[${PYTHON_USEDEP}]
- >=dev-python/elementpath-4.1.5[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- ${RDEPEND}
- dev-python/jinja[${PYTHON_USEDEP}]
- dev-python/lxml[${PYTHON_USEDEP}]
- )
-"
-
-python_test() {
- "${EPYTHON}" tests/test_all.py -v || die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/xmlschema/xmlschema-3.3.1.ebuild b/dev-python/xmlschema/xmlschema-3.3.1.ebuild
new file mode 100644
index 000000000000..fb81dec32918
--- /dev/null
+++ b/dev-python/xmlschema/xmlschema-3.3.1.ebuild
@@ -0,0 +1,37 @@
+# Copyright 2019-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="An XML Schema validator and decoder"
+HOMEPAGE="
+ https://github.com/sissaschool/xmlschema/
+ https://pypi.org/project/xmlschema/
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
+IUSE="test"
+RESTRICT="!test? ( test )"
+
+RDEPEND="
+ <dev-python/elementpath-5[${PYTHON_USEDEP}]
+ >=dev-python/elementpath-4.4.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ test? (
+ ${RDEPEND}
+ dev-python/jinja[${PYTHON_USEDEP}]
+ dev-python/lxml[${PYTHON_USEDEP}]
+ )
+"
+
+python_test() {
+ "${EPYTHON}" tests/test_all.py -v || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/xmlsec/Manifest b/dev-python/xmlsec/Manifest
index 8bd1049057d4..88f0b1c000c6 100644
--- a/dev-python/xmlsec/Manifest
+++ b/dev-python/xmlsec/Manifest
@@ -1 +1 @@
-DIST python-xmlsec-1.3.12.gh.tar.gz 77722 BLAKE2B b5ecece8063b823cdbe4d58967d10026bdc6f3774954021a3739d579ba3c5a08130af1792921c7892e6bc3d00f88ac83ab30e862775e419e0dad40b990b10cbe SHA512 19c5e3bf58b4b0f8a1cca3e60c08348b02ae298620f8c02b8cfb325aecf0313cb2bd1af89507b754ebe4c35af3b031e232d15ddcd42deae0821c9c0d7571aa7c
+DIST python-xmlsec-1.3.14.gh.tar.gz 80643 BLAKE2B b256ad1aa18b5a746148ff4b2e8b3136a31105e1bb64d2dd686d5e62c16c183187432ee06f0f8b9da0bdba3b96c3c1e7fb6f51148bb5d5d60e54083841973399 SHA512 7a28695bf122a9c04ed20e4a6a09f9428372c908857b1dd983251a7b890cc50e92a6fbaa7f062cd58d86dda14257720e9c9554b2b54d840f9180110d93145335
diff --git a/dev-python/xmlsec/files/xmlsec-1.3.11-fix-xml-testfail.patch b/dev-python/xmlsec/files/xmlsec-1.3.11-fix-xml-testfail.patch
deleted file mode 100644
index 3e7ab8829c2f..000000000000
--- a/dev-python/xmlsec/files/xmlsec-1.3.11-fix-xml-testfail.patch
+++ /dev/null
@@ -1,23 +0,0 @@
-Taken from: https://github.com/mehcode/python-xmlsec/issues/84#issuecomment-632930116
-diff --git a/tests/base.py b/tests/base.py
-index b05de1d..5ec356f 100644
---- a/tests/base.py
-+++ b/tests/base.py
-@@ -94,6 +94,7 @@ class TestMemoryLeaks(unittest.TestCase):
-
- def load_xml(self, name, xpath=None):
- """returns xml.etree"""
-+ etree.set_default_parser(parser=etree.XMLParser())
- root = etree.parse(self.path(name)).getroot()
- if xpath is None:
- return root
-diff --git a/tests/test_doc_examples.py b/tests/test_doc_examples.py
-index 2fc490f..53d2377 100644
---- a/tests/test_doc_examples.py
-+++ b/tests/test_doc_examples.py
-@@ -42,3 +42,5 @@ def test_doc_example(example):
- """
- with cd(example.parent):
- runpy.run_path(str(example))
-+ from lxml import etree
-+ etree.set_default_parser(parser=etree.XMLParser())
diff --git a/dev-python/xmlsec/xmlsec-1.3.12-r2.ebuild b/dev-python/xmlsec/xmlsec-1.3.12-r2.ebuild
deleted file mode 100644
index bb49f81c3b00..000000000000
--- a/dev-python/xmlsec/xmlsec-1.3.12-r2.ebuild
+++ /dev/null
@@ -1,58 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-MY_P=python-xmlsec-${PV}
-DESCRIPTION="Python bindings for the XML Security Library"
-HOMEPAGE="
- https://github.com/xmlsec/python-xmlsec/
- https://pypi.org/project/xmlsec/
-"
-SRC_URI="
- https://github.com/xmlsec/python-xmlsec/archive/${PV}.tar.gz
- -> ${MY_P}.gh.tar.gz
-"
-S=${WORKDIR}/${MY_P}
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 arm64 ~ppc64 x86"
-
-# Doesn't yet support xmlsec-1.3.0: https://github.com/xmlsec/python-xmlsec/issues/252
-RDEPEND="
- <dev-libs/xmlsec-1.3.0:=[openssl]
- dev-python/lxml[${PYTHON_USEDEP}]
-"
-DEPEND="${RDEPEND}"
-BDEPEND="
- dev-python/pkgconfig[${PYTHON_USEDEP}]
- dev-python/setuptools-scm[${PYTHON_USEDEP}]
- dev-python/wheel[${PYTHON_USEDEP}]
- test? (
- dev-python/hypothesis[${PYTHON_USEDEP}]
- )
-"
-
-PATCHES=(
- "${FILESDIR}/${PN}-1.3.11-fix-xml-testfail.patch"
-)
-
-EPYTEST_DESELECT=(
- # Fragile based on black version?
- tests/test_type_stubs.py::test_xmlsec_constants_stub
-
- # Broken with xmlsec-1.2.36+.
- # https://github.com/xmlsec/python-xmlsec/issues/244
- tests/test_ds.py::TestSignContext::test_sign_case5
-)
-
-distutils_enable_tests pytest
-
-export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
diff --git a/dev-python/xmlsec/xmlsec-1.3.14.ebuild b/dev-python/xmlsec/xmlsec-1.3.14.ebuild
new file mode 100644
index 000000000000..c478fef45bc2
--- /dev/null
+++ b/dev-python/xmlsec/xmlsec-1.3.14.ebuild
@@ -0,0 +1,61 @@
+# Copyright 2021-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..13} )
+
+inherit distutils-r1
+
+MY_P=python-xmlsec-${PV}
+DESCRIPTION="Python bindings for the XML Security Library"
+HOMEPAGE="
+ https://github.com/xmlsec/python-xmlsec/
+ https://pypi.org/project/xmlsec/
+"
+SRC_URI="
+ https://github.com/xmlsec/python-xmlsec/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 arm64 ~ppc64 x86"
+
+DEPEND="
+ dev-libs/xmlsec:=[openssl]
+"
+RDEPEND="
+ ${DEPEND}
+ dev-python/lxml[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/lxml[${PYTHON_USEDEP}]
+ dev-python/pkgconfig[${PYTHON_USEDEP}]
+ dev-python/setuptools-scm[${PYTHON_USEDEP}]
+ dev-python/wheel[${PYTHON_USEDEP}]
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+EPYTEST_DESELECT=(
+ # Fragile based on black version?
+ tests/test_type_stubs.py::test_xmlsec_constants_stub
+)
+
+distutils_enable_tests pytest
+
+src_configure() {
+ export SETUPTOOLS_SCM_PRETEND_VERSION=${PV}
+
+ export PYXMLSEC_OPTIMIZE_SIZE=
+ if use debug; then
+ # we don't want to use PYXMLSEC_ENABLE_DEBUG envvar,
+ # as it forces -O0
+ export CPPFLAGS="${CPPFLAGS} -DPYXMLSEC_ENABLE_DEBUG=1"
+ fi
+}
diff --git a/dev-python/xmltodict/xmltodict-0.13.0-r1.ebuild b/dev-python/xmltodict/xmltodict-0.13.0-r1.ebuild
index c21ed017a094..b6ae73d6b21e 100644
--- a/dev-python/xmltodict/xmltodict-0.13.0-r1.ebuild
+++ b/dev-python/xmltodict/xmltodict-0.13.0-r1.ebuild
@@ -1,16 +1,18 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
DISTUTILS_USE_PEP517=setuptools
inherit distutils-r1 pypi
DESCRIPTION="Makes working with XML feel like you are working with JSON"
-HOMEPAGE="https://github.com/martinblech/xmltodict/
- https://pypi.org/project/xmltodict/"
+HOMEPAGE="
+ https://github.com/martinblech/xmltodict/
+ https://pypi.org/project/xmltodict/
+"
LICENSE="MIT"
SLOT="0"
diff --git a/dev-python/xxhash/xxhash-3.4.1.ebuild b/dev-python/xxhash/xxhash-3.4.1.ebuild
index 20d12a911146..caed6a5e8a64 100644
--- a/dev-python/xxhash/xxhash-3.4.1.ebuild
+++ b/dev-python/xxhash/xxhash-3.4.1.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
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/y-py/Manifest b/dev-python/y-py/Manifest
deleted file mode 100644
index a8277aefed2d..000000000000
--- a/dev-python/y-py/Manifest
+++ /dev/null
@@ -1,91 +0,0 @@
-DIST autocfg-1.1.0.crate 13272 BLAKE2B 7724055c337d562103f191f4e36cab469e578f0c51cc24d33624dea155d108a07578703766341fd6a4cc1ef52acda406e7dba1650d59115f18261281e5b40203 SHA512 df972c09abbdc0b6cb6bb55b1e29c7fed706ece38a62613d9e275bac46a19574a7f96f0152cccb0239efea04ee90083a146b58b15307696c4c81878cd12de28f
-DIST bitflags-1.3.2.crate 23021 BLAKE2B eb990bb27b2bdeb66fd7212ce582cb36e1c616debbac85df642d0c82b25439e6bf9b1e811fac76b59e58ea3c1bbea6170d03a61e8f9a395e4334a0e2e2987eda SHA512 3c698f757b5cc62f815f9a1cce365c3d2dd88e4db71f331dff8bba86c2865f755b81cb4c9bfc59bd86b7643b0943f9e09a7c4f8ad75eb2ab0e714803d0129f62
-DIST bumpalo-3.12.0.crate 81604 BLAKE2B 2370094f0c23a3e9b75c8e523e54637189543d9df90ae7ddc349d316054d3d1abd1319e51cf1578f1630be0673fd7f65d130469b2729aa32617372e8bc5dd5f7 SHA512 37f2228f251340e82c27f2b34da2af6eb520077b3809331547cbe4887c0b4791b1a7d75a017decccef162cd02a088d504214b7a44b484a7d93eb6a278b329ee4
-DIST bumpalo-3.14.0.crate 82400 BLAKE2B 13bde02e2e60ea3099f4e46ff679d07b2e8046740c1855bb81fe8d20a4ef0fb26e565da724f628a00c9154ef16ffc9018f67433d2a32544564b66803b5bab223 SHA512 179c116a5320c5f21163c343ed48add36089d806e35bc303318dcfe09ba1d5f02bf8012726d0c2cb76a73fae05a7c887a91e18f9e5ff3b9f9ad8a2f12838757b
-DIST cfg-if-1.0.0.crate 7934 BLAKE2B e99a5589c11d79d77a4537b34ce0a45d37b981c123b79b807cea836c89fc3926d693458893baca2882448d3d44e3f64e06141f6d916b748daa10b8cc1ae16d1b SHA512 0fb16a8882fd30e86b62c5143b1cb18ab564e84e75bd1f28fd12f24ffdc4a42e0d2e012a99abb606c12efe3c11061ff5bf8e24ab053e550ae083f7d90f6576ff
-DIST getrandom-0.1.16.crate 25077 BLAKE2B 0cbe96c27e78100c181a064e5fe524efa9a7a267fe60f8336d2ae0125883acd5d575ff17d1d56607255d9b2c30cb9d962026fdea1a5c3c29a5e0760d27c3136a SHA512 c5450c522c07c7a38b326f9a9062bac7d089630219d577ea4b55abad4e0c31d17b7cde385fc43912dfa100b42334e7a52422c55fda8b738caae428c6f9addb53
-DIST indoc-1.0.9.crate 13475 BLAKE2B a9696788574e56dd125c3371169fd59d6947d188f76e2669b21c0304692efd6709cd048920f7822e92c6a5620fb178e0e85c7776118cef8ccee0f58398e14abf SHA512 db8aef4a7bb606452dc8ed45aa29a255c7a135357a0bd586fb4429c5f56a1aa2ca9400d6fac39956aeb486a15d25cf5d1b9524967867f2c651d9d563e3e85be8
-DIST js-sys-0.3.61.crate 80158 BLAKE2B 07980db627a1f4f385586ad0609b5daf30d590931d2ca0c123f2d84f6c97be0ea935aaae3ccd082440c7e7da1adb4eccfd054a3598d99351fafdfa748f567b5b SHA512 f97bb546af2111fe072a23cbdc71e4fbfd39fbfc6be37132b306853d5737175d4c9c0c4661096012f7fce3612f81509e62a97df8bcb21d7cc796a8084e5b2e16
-DIST js-sys-0.3.64.crate 80313 BLAKE2B 7cf5dcb2b9e0b63cb82771c9e98518a4cda70372c5aed07866a07d2aa51274622357e4b5a665499328f5a3c38f7c515303da50421bad4a496fbb658e2132325f SHA512 a4f389a4eb45c2122e7bcf365dccdce8fcf14b1b521b8b839746bba8783296e2f1b959d73bdd874743f49c61a24c4077dec52f63cc7d594cd42e9cd6ea9c2e64
-DIST lib0-0.12.2.crate 19829 BLAKE2B 55df45984371f1a3ffb678f88297212832e88dede8d5f6af8bacad75045d83c5a724b020898fcbe937888e6763d0ed18262427eeac5a3b42cbb1dbb910cc216a SHA512 8632540e8760b41aebb6b43f7d29e2dbea9d5cf6c2beb66ecebbd56107378309db1d5550d6801420031eff6a7fd2fbfe7f98298bb6efe84d9242771a70ff4691
-DIST libc-0.2.139.crate 638983 BLAKE2B e92b296cf8c916e10e859722ed75f4790401662ff7aa2fe8ed84ef9b94a00538768be33c272f0881e42da887c8c43e1fd44d061343386216492a76fe5d308598 SHA512 ff5fae517c49c382dee9b1d7479b65b0a818780453e5c00c416847d02f42186e2fcf19a8a8dc5e9cc2611300690c6ad324f9c0f0e8172e913a1b781fb7c0b5b4
-DIST libc-0.2.148.crate 690988 BLAKE2B 41dd38cfff1431cd8184220745697d794a66f6badec750be3910ddc4a6ddcf964692b5b28a5a9714592c5579da26248092facb9407920330b55aaef38501420c SHA512 1dec9ec8f4c610c08f62bc2b45dd32f1e4528a045161d848b5c4f0382be1158a690f4d7760203d7d2347a80422671f43b07531871cf44990887eaaed35d924d4
-DIST lock_api-0.4.10.crate 26713 BLAKE2B 113adf8554c65e9782e8fd0360d0398567dfbfddb1fea4928cc152fbab98dbe086e42b81170f6f5c333d61dd3261e8a1ebfbaed786e6bf6378e6afde6d7f9e5c SHA512 ffe8cad8099bc382832181c1ff95e0935993491f247114604201be7d4ddf8402fd4db8fd6499c611f95fbce7d57dc3d3738eddfab31c52f50ab8709e549697db
-DIST lock_api-0.4.9.crate 25685 BLAKE2B 8adf5c3cccebdf6aff6ec977f230cd2a208b0b188ef57deacbbc6019431f0ede1a760b2384ba3cb49c96b8a589dc56c0f46a6359b3e62277e7ae1a1c3f586fa3 SHA512 9215381d9bb6b80d217c73a900db43df043b3e939b5bd7a292a02e9ab911cf0eacd8f883d35bdf72b3a0e78df8f1bc3e843ca4c775294c7a7a03091dc1a74990
-DIST log-0.4.17.crate 38028 BLAKE2B b46be3719fc0a53e50b1f342762e188587e9f1ceb692c72473ce2663edfb8253742d30024e68c1444780ab7fc0e2d5b0601b8ea7228dc3405a9342a57548e605 SHA512 2477d88db42b1d92c30708d88823212e236f613b3465e85eb425f83f8d16fadfaf0352f06c2999a1852102edd2f6ffb10ecb539d8a3b6c48f552a25622ccffa2
-DIST log-0.4.20.crate 38307 BLAKE2B cb9c9a401b49bd68c18d5e42f2ed94446f1aeb184caa23cefacad4ce54a2a357143af54a5595c45d6f3c3d20b054c451d9e6ccdc09c19cca99ffffdaf8bbfc72 SHA512 8661b0c71d3b7fc0d679aa3d7f06910e6d3da1c53862aa06526000e1bcaa0b0b068415a1a9ab317c318f00d15346dba8a4f5d2a60d8850790bed9cfaaf757b3e
-DIST memoffset-0.9.0.crate 9033 BLAKE2B 19090c1af8b8cf54a2cf7593748aff4d3dc685ec7080aa476139c1721ef71555495e1bc513b1efaddc7e7702f83e0e1c2a8f71ff40009d266539484c9297e0ed SHA512 2f04f9b6fed31e94388c18162ad275897a835df7b9ac827f4df0f4b0ecf71064ef247f7ad11dbc27d7a6d448984a0f29d1c000e3c8d5fa6e121fa9571770ec55
-DIST once_cell-1.17.1.crate 32856 BLAKE2B 8bde2aaaf9ef45d1f6b8458686179f1fe9295ee8faea269e9b49779583ce26ab9dafe988c3584e841a9e5d05e28430ca967ef3b25e755f48f0120d9c99cdb7bc SHA512 1302d51801e38bfee23e74c0046f1ecb1d3c27309b5fe11c2b6c99553b357db502ce1718695602f9d8b10429e8ff03f91c016d5d604957083728293824c05904
-DIST once_cell-1.18.0.crate 32969 BLAKE2B a08d5beee50a7add28bd9e50b18709e7b34574f0f55f80909d5efb7ac5917e5f30bdcf3fb43ddd0a4f420a427390c7ffe1cc1c7191a3a1d939bc6e3139e6eef7 SHA512 9328968afdf3535b2d9e0113d75afa725259d76994ef2e1948ad7efa4ec8a65bac7cfdc31b749d5cd55ad4e28d2e28ac57b871e3067b89182453c7e2413a13b8
-DIST parking_lot-0.12.1.crate 40967 BLAKE2B 940a112a066e3cbd15e2f6df89bfff37e4ece2194118618a96fa14871813c91798f93181ab0f768d3e1f3d60805508f216724013afb7e3da95678d0d951a42d4 SHA512 07327d3b737a913508dffb66023766348ce7f9d555c224a099cabb05baefd16a28e15fec638e3a148a5169dbd980c4541b0f8820ae9d06dfe0704482838fbd5c
-DIST parking_lot_core-0.9.7.crate 32412 BLAKE2B fec3ed2cf28e6d5090aae6a7c0ad583acf3ce6e54e881b78a9cb6721ca1e7040d46c044d405852728e74baff6ff1feaee7a89a64c69d20531f29942dfaafcc72 SHA512 1f232f1a87ba9377621244ba49378663f3113da7192a399fdb70be971ff5e5ca0d0601e1210a3fd8ab75ef464dc8505e719f81902e3448cce5e7848ef4bdbef0
-DIST parking_lot_core-0.9.8.crate 32383 BLAKE2B 2f9666872894d1c85895437d1353f9e15be2bc8d004ffc8f0e5be95e9dd4b274797db3752eba1c0b5b6071c1b8a71e4857cae0b2aff1afdaa39e92e70be2e6fd SHA512 8d6dfdf661b0f7d0774cb9f61121f2daefd182ac8a2a0d24eab451febfbe1a664c815c163d34a7f3d15a54915a8e22e6c6cd10e89cb7d7598d48d81ad6a3c256
-DIST ppv-lite86-0.2.17.crate 22242 BLAKE2B 48c4a31a3b555fa37072c4de083580bb769747c7668748541af472778b5b58c3e7ab2b5e178760f542f973774f09910bdd4058ae5fb9d6b10c103eb76cfd0d3d SHA512 539d916e7e5869d832045c1aa88aec519bd000227f9b01d4dd0bfc9ffb640d5f5eb21b05eba718174773c97192a655ad3cb31b53ceb914dd19179a6699b3583a
-DIST proc-macro2-1.0.51.crate 41804 BLAKE2B 579e5a157da81cd8350a6407603e5f8102bb9b6618ea8e81ced1692a6a6f4b57bec35aeb965b643f2542f65a3b9965fbbcf7e0ade35cf159270583d34665a628 SHA512 10ad77a5d05437c1b2c40a8f82389d081e64993171aa6259e8dca98d9afb04f5fb870f2037ad626a280d59c1a89fd4482bead701d744d6fb7c893bd9e78dfc1f
-DIST proc-macro2-1.0.67.crate 43683 BLAKE2B a7f485d058ffb654c22ad01088756d8050780e559d86f96590e284c3babf1bb59ce347400c1681b296c6f58e2d42ed67d3e458483368399c22d7810685adcbc6 SHA512 3827f5f698aaecc168a03643e330e03aca7b0de98bd57dc97507c1bd53b6ec64752a1f4dee4c8a12ab02f410775a11f5ce7b0d36ec0e1fbbec197e3d7e199eab
-DIST pyo3-0.16.6.crate 364587 BLAKE2B 935b3347770e1fba76f6aee6b4ddc41cf9cb13be77e76d2668985012776a119906403a8fe95ccd0e33b4630bd38936693d2fd1b7b3d11d84a4e53fca021a2f36 SHA512 fe297e4d171ecb5a965ce9f3a0527a086766ac5607ba7b59b2a3a8f6cc66da3959d93f1d6aa688d67ceebde41ac4adefce18c0d52c1b77d0cd95cf1178f52325
-DIST pyo3-0.19.2.crate 418228 BLAKE2B ee018b33383fada78cd22643aea9231a8c8a2f19d1eb297f40eec9206c5220f322fff4c926d939a93a24ac6d231a207ebb25afcc0709191151c7ed9af7465efa SHA512 58698183e0f2f0507f8f765bf3e90185c933e78d62f0a9be65c4b1ce8eea19a98fe0341abe7c58cafdacb63a012ec417876dccb7be6facc1360fcb22796fcaf9
-DIST pyo3-build-config-0.16.6.crate 28891 BLAKE2B 26667482bf9f5b140daab9728f58965a8417e879bfeaf27d9c61f75502150557f3d5952bf52b1d16360ade2f58ed44f99e10a5781a6d241844e9202735c6625e SHA512 a015bb4c328f0d1e643d64831e029bbd66cbf635ab616533f35aefce59abf1c5d596099feaccb81bff02e863867c14f975ce6fc55bc05d99ea47b5f6fdc2da5d
-DIST pyo3-build-config-0.19.2.crate 29206 BLAKE2B 5b1cd80d643e448cf8f1d28a514333526061c178121b9a0dcb5bff6082f402ecfd166536d94d42065f6dc1f108a73f12bbb78eedf9ea053a6aa2e9c80ac00ddf SHA512 ccc73061ec1989258921c5b5800689170635fa5503d74a4ac458baef903dd31efa41995d238783f1e099ece1f66d0a0e95c4fcb4b772b9f653dbb20e838b4e28
-DIST pyo3-ffi-0.16.6.crate 60756 BLAKE2B 148e67de195577a1676c80be1a5538d80cf25b0d9eac9facfdcd223dc40484a9c3c7c84377f727e83e50118fa803591acc1d800b93adf29c91e6a15154c2856c SHA512 97c69900e2b355a002d10e48883cc8d4d9245d07f956087fb9c3b0ecfb9039c84c3f3a23f17caf28c637c4522f0fe252fbbb16b543825e4f724ee19232a34d22
-DIST pyo3-ffi-0.19.2.crate 66500 BLAKE2B b4139fba31ef17017b6b60784e41ccda34931a072c2638af1eed8d02d7af701c46fe38b12772d2301cff41d10a433ff0f00a69d79d40233eadafe82abe585f8d SHA512 789191bca537998dd23d72dce4f185b84bbe700f4171c47de35b9bbca15a180ad214392b4f465cc1ecb0be955ebec1cf5a3c497815073be18035bd8bf8c51a32
-DIST pyo3-macros-0.16.6.crate 8453 BLAKE2B 518809b1236149f14b264d48f642e873aea2b22edb655cf4cf4d6307d2eeb7544228b80ca7559397d3483c837ae2ea9f772a26563d01a95613dad0a1a704c1e9 SHA512 95b6898da9974ef232b04197e47ea4e7d60de9f817da9a9995f07b05ca74965df2b2e8e8267d616b665b04ab810b93ca17255b20df89ac9c71014e5c9fd3a9f1
-DIST pyo3-macros-0.19.2.crate 7173 BLAKE2B 8862f42a30929579b0b0bc2ba7f0b416518724480e197fa13288e49324e851f964183e1529b7f31bf5d4fe0ae194a412723b6b401100e66fba98bbcd9c283866 SHA512 852cc2792aa3d30d9ab8802a451be5617cae6536adced1bf0dde71704a3c7c1bfe862fba751b6d045249819a8ba5d87dfc50914d142a0b662f046498c06f8c2e
-DIST pyo3-macros-backend-0.16.6.crate 49252 BLAKE2B 9fc531507d4f9d0e7ed183987fbabd043f7c31afe6488c53c6100d98e75e5296e9ee7cc4eb14798967ac62e7d8c31d602eac5166699058def384e4f029a3cf0b SHA512 49d82cff8762eeb27d8220aa98b2be43f614445f156212d45abef052e347ba2f4a7930e7c5c8a9843ea895ac5c223afc6527d036a9cad00efff9bda18907b019
-DIST pyo3-macros-backend-0.19.2.crate 49962 BLAKE2B 9d8a032c2205f55d2431b6bbc40df153339e08479df3a8a65506ade7d1f3d17cfaf664cbd09eaec9acff3f5a248598e37427d0c5a531eaf527137803adf49834 SHA512 fd708e6fdbd54ef7c676bedc62070175bac6b8f7ae11231578196dbf552b163a8a2499a1266f786bb6bfb85517fe83610902137d59a5c42efcb1a27c4235a07e
-DIST quote-1.0.23.crate 28058 BLAKE2B 81c483fa26b36b5c4dbe85b386a74f5bfeaa854a99c0d678374507613da916a60e3f5b14d4a4d295e1c9ef0413fa1f16447df8f19a9db8cb0485b7a5c327fdc1 SHA512 3bce6846dda94d285de15771549099e60df39c8395c498b372c90a240f77df31d6d9048127913ec1c7ed8f3a189470ade1db2bede406bb00fa715ea641ec87c2
-DIST quote-1.0.33.crate 28090 BLAKE2B 77c4b166f1200e1ee2ab94a5014acd334c1fe4b7d72851d73768d491c56c6779a0882a304c1f30c88732a6168351f0f786b10516ae537cff993892a749175848 SHA512 c1e76c3c017e8554eebe309f8167fd56fce931981c06798aa85a0cc6d64a9cba6ab103f5a1324e69c6f9ca5dc47a8e31ff2e847850542748697afcd265b5939c
-DIST rand-0.7.3.crate 112246 BLAKE2B ecc7c1bd70ac874c03bd8b7faa3016bb2d5ee5c19603280a12a45a81598f706e445971ee081e6ca410ab6f0f5f7a06d9315848cd556a2d8522a82024f6ff91e4 SHA512 f9b68ef9446f1ca2c8092c50990f15c1b4cb5529eeeac4df8d69755e0b7253c663c587775e7cb0a7298c31edb444975dda34926759306541f6d43d0d3cf57b7e
-DIST rand_chacha-0.2.2.crate 13267 BLAKE2B 7908867ceac98243ade22e1b38f1903fe0249324484d91c948a5058a1e099e5213f325c5ba3400898c8319158ed69f4ed064164f235470856a8191bd990d5a10 SHA512 1e2117442e4ffdd834dcbf0ea1829e73202c0ff9041d5969d81a59330242145f2753f2a56de2fdbff65f26cf0d227c7d08b2094ab2f946b764aef88106a6ac84
-DIST rand_core-0.5.1.crate 21116 BLAKE2B e74791f941a79971f2741172d489d546373c9abcb0dfbffcb7b97b858ec800b2e0c97df4ac636f3aa1b8dd6c14685edf317336d577f31b5c6cb7d89a157e547a SHA512 4f7500b35e165e6c817fdd67a50745d5497d24e554bb554705097e37258751e8755c4d6b8a69fcb5e1977708ba78620bc35d640e4e018fcd4e88d9dbdbebdcbf
-DIST rand_hc-0.2.0.crate 11670 BLAKE2B 55fd048f2524cecd4f0e17927a81111e3070a8cc6a5b0234a46445400ad5527194edf8c91fb5ad6538f4958d53044ab02424f61a38adb2931e2cb7568c458ee8 SHA512 bca185612bed5cee4da76fb68fe854105da276f5bf2da464e596d586b925df798cc692ed881e276ab77c36b4b0551930966c93656be122ad05899d87853533b0
-DIST redox_syscall-0.2.16.crate 24012 BLAKE2B 9497a52044458b1435ea16e86ee072e379b6b11ee31602ea72d6b6072a4a99426f409c2e58108a4e9c36dc193fa49c83951e71f4fd4e158eafff18c594dc01ad SHA512 63b5d876baaf99f5cf737679bc6ac7a9e3d8a41aa93f5c59416ce7e3841e2513bff678773553cfe62fb452707f82acc384ea63aec932a31bf94679cd1caddd27
-DIST redox_syscall-0.3.5.crate 23404 BLAKE2B 85aa4299d9816666bf576f523da5cdeae87b3c8fbb2af103e82258d23f73303c068a4b6c3ef4117ad67958cb31e41f836a9f59f2ce1bc52c23605e34399afcf1 SHA512 16f8f4766932bb54e4740cfdb4f0802f76246c0bf88c1d76c69c115949b124b625d8c3b85d8947073c2e9544f425aa16c10f71fabe3c03d29e424c47fe4ccdde
-DIST scopeguard-1.1.0.crate 11470 BLAKE2B f774eb90b7d3ffb2efba47518e9d1dead4017ab4b38a4bd74914daa84a5af4bf9eb63da0496e3924499d79cd0439c37447aeda4a21226f95645bddcd6becfabe SHA512 368fa5726df8f42b599993681579a9ffd0196480ee3cd0f9f671e8493f3bedd1e1779bdf2beb329e77e0005fa09b816e3385f309490c0f2781568db275d4d17d
-DIST scopeguard-1.2.0.crate 11619 BLAKE2B 8b7e9ed6cefef9ee55407fb9690d57a2a98bb93e5105aeebdb475a52485e9e185255249e1dce8f83cd80534e7402d485aac3efa7e8493b13135de27550cd4bc4 SHA512 6247719a15fe1e4e2d179127b9a934bd2f99367724f41175ed9522f58824b6bc69b35002eae66b35880375ff61d77ac43ddaa78cbde7160a35183a1da32d3fbb
-DIST smallstr-0.2.0.crate 7521 BLAKE2B de85addbf6f23141a5797b7eb448fac2349f96801fc2f7faea66b21356723406d83e0c46d26198e0bfbd1df9bc4673f611d72f2a3ef222358a3d57fde1f7183e SHA512 88f835ccf1eb7a618d931f2234cab47eed32de67da31fde3dcd64495aeabf17daad83b9c6ef87c42267027e649eb6f5a880fdc7a1716addd3bbbd37315d39563
-DIST smallvec-1.10.0.crate 31564 BLAKE2B e3e46a0781d3a7892a739b001592d462d0704f010363984c439e3fe4f75aecb9720648aa1e9bcc56bb3be848dd40cee578212439f78f07a807c9441c3c3e0147 SHA512 a09110184582dcc01d7a0d3fa8f74c17bf726935126d3654667b8e9c4bc43ad16ccfd8fa94feae7d9b31913aa7ee030fe5936e4b44a36302b6ce5fe37372a7ae
-DIST smallvec-1.11.1.crate 34831 BLAKE2B bad85ddb1d3a1fcec0cb6aba413f90695e0aa0c16b2b231d6d15095bdd6de1731720ea2b394c3f9a444d6d4763bbf44cff389a01aef3488dc599d2ea63ddbc36 SHA512 d4ed45e8867366072e77f23ebe8b31be96be37e5beed30fc2b5ffea81ab04a2ad2aa34fb4f29724b02a5eb90f8b1d8c40b800ee915453947f90758ce999704b5
-DIST syn-1.0.107.crate 237539 BLAKE2B 5a65968806c72fedf69638661f827a0426b9e49c2f9a5e5208f986105f8facca2bdf241f92f74bde790e9a0dd68240d4827a345a939c087364360e19a5cbeff3 SHA512 58132adb76643521a6a9cbc0316431318ac25f8517bba3cbb98e7e28ed536f9e24f643e898fa21a2f74cc8c1aeafaecf9b4199b23048c7be8c0bab2fe3aa7623
-DIST syn-1.0.109.crate 237611 BLAKE2B e827445d00c79a8eeb91eacde472f1987addd6ce9e1df95d7abf6446a77ff4173a8006845f3ae71c1da47193cfb72e0ead9a6d6bad2573be12c17e90735d9ad9 SHA512 12816b9e8cf984024b2fbce9f0ae14cf94d4d2c06f08cc54fb793ce78770bb4cc1288eb7df0ba5e8e937756e1e8e295c53fe07a0c5dde1ea8ddba03b6203b37d
-DIST syn-2.0.37.crate 243250 BLAKE2B b81750ed52bf75bf944542c373a88f5a54421c230c86f23d0ed3e5680d85bb454251bf43e0ad7bd3e2464e6df579550cca1e17e8b044ba62a27a25f3940ff20b SHA512 5cc8f2a17f891477a9b2078580bcb4c5dec0b540fdc4d2c0b8dd51972c734ff4519e891166c1c5f6d35b73bfb564ac747836f7487481a2ea26fb7d8405835023
-DIST target-lexicon-0.12.11.crate 24594 BLAKE2B cf06720caecb5b5758f05c6375fa600da9260aac04017458060406a042dc578d51a2c5b6f189345d45dacea42ba01fbe46853d07f70d7b37cba17d87aa101f9a SHA512 f38701a8e9dd17b7db591b1b4c82c3b75d317e003262bb7b09b9cabd3afab5ab79c02a7dd524910b6941ada3a8f1378ea9e199b2b5938f8f01ee75bb0eae8718
-DIST target-lexicon-0.12.6.crate 24357 BLAKE2B 5d9aef958155bdc1b546b9940083cf81ba4c638525e2d46340e50c4274764b39ac19a12214f3ff64a6830524a2ecea9d555db3f07d5d7dbccd7dd809255c4499 SHA512 63ccc047d10ebff55c3b9be400e2deafcaba7beb28ee67bae6d5df58e7c08362b2c4e0004f6daa582928850701969015ad43714c7ad46df665474667ff4db58f
-DIST thiserror-1.0.38.crate 18947 BLAKE2B fb81df34dba2958395ae360cbb14e2708e5a3cfa5cd0bd03c58f29c146d8afd8595a7ca1b30f1ed2a75ba140a55ba450fd4fd040aa1a1dccb0baf393b0e98d60 SHA512 95b8ca682b579834a04058f03ed0c994ccef426d75e0fcc28ee47151d343da25e8fe31f8157744d942aa54652115f477fc6037f91c581dbc127b829cc96476ce
-DIST thiserror-1.0.49.crate 18912 BLAKE2B ec93a21ea72626a0d49d87e8989633a4a1c6747e3dc4f183bd490b52488ded6fe97e60d0db59da6e67db2c2181ac13eb903a9b77bc8df7f61de77fdd73bd1c3e SHA512 a6b0476b9250f2a1555ad1f528b062fe7683f7aed338efaebd86b967e58d08f03ea10b4b6c502f4b6ccbeb44cf773b7511996a8504e541c1ea6a6efcc8cc2814
-DIST thiserror-impl-1.0.38.crate 15429 BLAKE2B 96202c256e970fe23f07b461d71430889e36d9f0e83608d001c6feb4e86f4a34047ce93617b27f89c6e2a5d6ad8702b9f64ac7e59bfee221677261fdfcb06e69 SHA512 628aa28404a181b384ac6a11a433829a5481d97face5bc1704349414f36e93440738122fca716fdf878719870d10e0cf8d495df6b1d40913e985c2824cbc3aba
-DIST thiserror-impl-1.0.49.crate 15101 BLAKE2B 7a097705408155ff28e13b30c9a84e5da5cbb2ea60cd586f2bea303aab8180b4d57dc7edff1b36437376c04aa03758c4ba573492118785c3cd1f12b70d77de66 SHA512 dffaacf5238c81fa5bdd605c84c7d064695c4435b5927c0a7ef8975340170252d1361ad48c26116663fcdb0afaec0ec0a63b5f613ad256d75bcdfa3f0659a437
-DIST unicode-ident-1.0.12.crate 42168 BLAKE2B 4cede03c08758ccd6bf53a0d0057d7542dfdd0c93d342e89f3b90460be85518a9fd24958d8b1da2b5a09b5ddbee8a4263982194158e171c2bba3e394d88d6dac SHA512 bc1824e1e4452a40732fc69874d7e1a66f7803717a314790dcf48867eba34bc9441331ef031e386912e52c385645c25b6ed39d4f149973b5b97371b1b96b1920
-DIST unicode-ident-1.0.6.crate 42158 BLAKE2B 6e4ef61fcac69b4ccbf743a2c2f857a6ea9fcbac9b9890f5b7208cc0732c6892aa5889b3030e87c8c29ce4ce24ddb7adec6bcf47b7aefe9cb5d19f920f12cfbd SHA512 ee1dc78fe535f46bdaf3e19dd8dfc859bf3133d9271026cadf626a07ba586c39caca4e45d905156a6276cf852f9cebef196b2229c3ba4b5e2b26c956fd6cff86
-DIST unindent-0.1.11.crate 7700 BLAKE2B d4d1dde410c4194acb51f74f374cf11fa872e49fad8f5f24b596d72476403e5e312fedf7b0bcb1027384d53c8de565368d63c30eaf70a6e6cd958b82e5288ca3 SHA512 f800d6c37fe72477908c91457a738a73d2b8085bb5ae303d6d954405d6ccd98833b5da16a12c3ad1ab75d32a68dedc706dfaacc0fcbb95571dd829cdc03a356a
-DIST wasi-0.9.0+wasi-snapshot-preview1.crate 31521 BLAKE2B 716bdd2ec46d0bc9911c5e5e29fc783840559931b2563d8619675fc11da9527ddbe653a0f1ce0b782ee0c5f7a3131aba2b0867d415f003aa9c2389357569e7dc SHA512 dbe641f796ee3a5daafcaafc911ecc6dff170340f477c2df7a61fb4858a85aefc2637c9e61973ecce66a987aa8e08a736273a4aad3ef47eaf61ed4268dbf9c47
-DIST wasm-bindgen-0.2.84.crate 172947 BLAKE2B 90c9b846bcea9d099a394b42f126990db82d1dcbe247f8b63f8c91cdfbb5e2d184d36daedaf8fcee58c34afe89bf9a30454063693d64806ead3427680a87e7af SHA512 20f8c9e4f8d81c66e34d9ca2b266fabaae30da9015d139cd4eba3f314c67c17cb562c6eec5127c41302c11c2f314237add2524a8b9a4d5346b8822a37e467b2d
-DIST wasm-bindgen-0.2.87.crate 175052 BLAKE2B bf8cf4aa1786ac5c2ba76e80500b5c54313adf9690ef370e60b894401bd1b81416da7bb46b90c014412c96f30f995bd1e52cf7f3a6be1111aea40866e8178396 SHA512 0c3099155ef079d2b91d2d5b135243d687bf865cdd9ae9d97d8cc2eb4c9bf7439b66b28d5b1d7e95048e53be63ed4909b6b3f2427951348de25ca7abb7a03705
-DIST wasm-bindgen-backend-0.2.84.crate 26344 BLAKE2B 5686a252082afe128ded295584d972fe4af11a30fe37a80e142d213eb2e4bca567182bfc5addf1571696bd12e68e029148cffaa9af088d1269a1201af72e64d1 SHA512 afb06e21d916cf1af137159ac86924fbee3a958ef73725bdf6bf205e15465857791070c721e0fc0164eb6e37d195bbb6a3f03661c81e1e5a9ab8502bc3704058
-DIST wasm-bindgen-backend-0.2.87.crate 26821 BLAKE2B e230aa256a1f681ab3ffd2c83c3f6a810c305bb79a5e1d806b8b2b9f54ef0babc83809f6153b9ca511faa4b122f80bd1cc9eb97e7ae3cb4cba9e2dc1c6bd0b51 SHA512 317ee2bdf85067cb7f4b4ed6ff475ff9e5063143e9b7c8a28572211c09025935815227c4afa8c92823ac92102562d4d34531aa4891d8c922048d37e27377ee94
-DIST wasm-bindgen-macro-0.2.84.crate 12857 BLAKE2B 23ae9963cc2cf9bc589f5d77c8d3819aeb9d671f0bddd17093b2df096cc800d2130bd2a994b786a5f446e9194947199b3f0cdf1c16f15e7283a4ae319ca849a1 SHA512 23b69ff601c149909d81200bc2902018ec71efad8aec9cd84a0653025aaf852cc86d93e28c5f60144ba6ce5aeff04b90d23761e263e3783d45097316525d6f43
-DIST wasm-bindgen-macro-0.2.87.crate 13897 BLAKE2B 0926975b0328cdd5525820358795b7b68b4ab9dc460715ed84e5d276e76e936057140efb1ba875acf25f3d2862e680f9827bd05cc47560d54f7ec673f30244cb SHA512 af366d8d853b280014cdf5286f3b1f6d7fb0837ce6e359a81cb6f85161537c8e2cd06d7f893c957f5bf1548d34084d33a213670b471937782b56033a23cb15a6
-DIST wasm-bindgen-macro-support-0.2.84.crate 19076 BLAKE2B 4f779d7d0a406f376092ea8193851dbc86e9dbb822464db66a2022274665b03b9bf6552f79263014510cfaf4284847e98e8173263a6565f1af0c29054bd33fff SHA512 f2a8b6e0170dcea0d2f4a50361f036ad6604c499a89f0cf602578d0958d47c193aecebbd98e63310f592b08f8fe53da6c3d7a124b433ee384aa22371d9c963e5
-DIST wasm-bindgen-macro-support-0.2.87.crate 20006 BLAKE2B d32dfc7231e4fbc226586e66063538208f9e299fbf803c4e2d1e1e61b4a22f51cc7509bdd269a44f072f9843a083ee84d2326408fb3211009ce93542c3fdc6ce SHA512 9390aa2767fed1027be168612c424d4c7cd4423addd83b79afd8c67886f66303ca4846e6454302ecc78b47bc62e8ee46849a4c0d3edb98849ce8476901424e33
-DIST wasm-bindgen-shared-0.2.84.crate 7219 BLAKE2B 4910158ed884dd9dbb32b1539b0c89a583f98df05cb29654487a26db063c973d44cb086dad4b466f9bc63104e3d4da72fe9feed32618f8243151dfb9ccfaff29 SHA512 fc4bf134a33c71852b91d09fbf1e1801e2b97b5c2756e2680d0c1f8701da30b22b56777d8e806e13602beb040775824966e378f7b9805e131a385e7816ddd010
-DIST wasm-bindgen-shared-0.2.87.crate 7248 BLAKE2B 0393ce9452119fd5f92836a76b28d3a697f91fb09de39d1af0a2a83e81d48bd4a17f39b48f15ae97edca3e361d4f8fedae8de04173c4ba1711decc73f64000d5 SHA512 cb9ff537554f56fd07052ddc4adc904a57ee64e13298df1dfca58b361ce163c34640e7dd9ed301ec1375f335dfa424230e22638ea7569ceb34aeca4505f6c008
-DIST windows-sys-0.45.0.crate 2568659 BLAKE2B 6f2d634d121a9bf41e2887e277a73f33aee69b04c7fcfc6ff973d21902787997f1e186f530e9226cddc003ffc3f85a179c069c8a8688de459f617df92d33f94f SHA512 f239346c0141b95aa76e0771e2f4e38b9a592f3cd92c6001de353637cd65cd73b94cbf9917a4eaa9b0c0b2e6e2af920b9cf6b3fccb52770df5160254cffc1c47
-DIST windows-targets-0.42.1.crate 5524 BLAKE2B 755cb6184733417763bb650fb0bd84bc757503aacbf0d91b811d42e9e8efda05434bbe5518006a88937a82a2a607605a9b609df4f34eb58674d09564667d95f3 SHA512 940c85f6214aa4da17787d3bbfe8d6107a9a7fe4f2e2fcf2b1634facf4619620ac2a7a835ebdd0f57970c992c459ba0a780e64e89945005b240c92563c42711a
-DIST windows-targets-0.48.5.crate 6904 BLAKE2B 7396bb210f37bd51da86f39fca3425c8f6610721d5c4e94f9fafa0a8a8046303b3fcc6979146bcfaa32f4406d242a0455f6cbb220f84c6ff84650e755acf5223 SHA512 e079eeef255a046be7f8e6a31c14f7b230254ebcf05eed2944827bb3d2a0dc30940d87593cf544d5e7ef35f6312b99430efcfb01421d91b02bb9c4bef7d98709
-DIST windows_aarch64_gnullvm-0.42.1.crate 362795 BLAKE2B 722b45789bcd1d973803b327d44072fbf9c904d448e29ae9e56d2f9d1a3e9b64e06883e4bf5ebf141f1e924235858fd1472e07a744cc5b16a0a3a4fc8ec8f6d4 SHA512 51eb9fa7ea441a9fef590c12576a8bbef74932d40fafde8f9e3a28f2734ce5aee6dd5fa478fb3847443241c8c392bb4abbc6014c71260bf924431779f7184f73
-DIST windows_aarch64_gnullvm-0.48.5.crate 418492 BLAKE2B 5c6f7d73ad05740f0bac304ed1ef9b2ea63b0d6ca8f875552ae299a0b73b1557e8fe996f1c2b69be9f2df350c9288690f49ee62239a2896991364331d6c55462 SHA512 20158d31454488f6053d3ad7b97d7fc6eae6cf37e4ba0e50c28bd29b368505eed64199ae31104d5f97b66846be54e5ed25c0ad31ea850819205c573a31ac0996
-DIST windows_aarch64_msvc-0.42.1.crate 664655 BLAKE2B f4a060b802016a6d77a8ea6ac44c35dfec384acef9c45f932e2b6aca9d3ac48ae031f99e5b58f270d6020b8796e9dd06f7e8ffa7cc5610ea3f69181c2be7adc8 SHA512 f6412bae4b041201ef94e5a159ce90fd6b09816350204d4f573c1afdfb0a6d62d7887fbc2e416b40ec1d4478db521be492edf4703d87482d6d0006a51b827538
-DIST windows_aarch64_msvc-0.48.5.crate 798483 BLAKE2B 60c466d6536426425a34b5ca20da97c8127ebeb4fb9b1363911165bada484f8913fcd50e90410b5661e0c27dbfe8f4eeaa62fb17d1f3566bfc82b6255e11619b SHA512 223f016c6f1a44dbc5c8a8428b39438f75380ea06951b7c26ed0877b19d79410c6fde5e4c7f2c839b6e76159131f39a1230e0e3a208dfc425ba9117e3665c4ff
-DIST windows_i686_gnu-0.42.1.crate 733428 BLAKE2B c1ca24973aca06b255d9317735cca7a13f7f69293da52dad41df43a5cdf48aac3d40d8b6765cf564905fb71cb548308d757f01167efe7a61da7bd2e2a7080f0a SHA512 61c3271b07df1d4585c875d27cf1686c8f595dcbb79626e8d15ff47228f7b7a4556d3d994566ccceee0d6795a4c76767f85f4579282fc9eed731e04c7e193a57
-DIST windows_i686_gnu-0.48.5.crate 844891 BLAKE2B fdc37cd74a4982056bf22fdb7b84e1c55dc838f3cb19ff3648730a77e673ef4ecc0380b3e4277bb8df2fcfa25f57b69014713d9e3ed27c28e19b25b3ea2ab774 SHA512 931ba5c1e4eb8ae73248e00d9611298d1c4b4b0dae719fdeb9243930cd420a103a7bc2738e0a4887c42c8f25728d6c5d64ad141dc092bc3f1d0f35dbe37d303a
-DIST windows_i686_msvc-0.42.1.crate 722583 BLAKE2B e03978daa0ac95d7bd9f594b28360dab647a1fe525f0ae4b44e6842d93c5674d9f202e8bbca99a0d30ecf7d138af0c48eec8e69e08bf285db51e32bcf83a2c54 SHA512 8afa4f92cb7bd96d4fdbefbd8e7bcaa37dee52224d5d8b950c5a537d3bb805bf9781097b8bd44d96e8b62b1290e3a3020557502fa3b357a53df6fea36b318932
-DIST windows_i686_msvc-0.48.5.crate 864300 BLAKE2B 3d3ea8be55e2d6ced0eeda18abe1dffb925a1a78f456d683e4450d9f2fd287ad2e8494d65b2b770c677a12b3a60d10f0435e16c61880e3867c3657fd44892442 SHA512 70e2fb4fdb006a4cbd43ab2c7e940b277a15fb1790dfa2d1fc1f1fd18bead4886f6dc046e44326603e4894d988578917b8932aba5d9a6a4cc8424911cad9dc7e
-DIST windows_x86_64_gnu-0.42.1.crate 697614 BLAKE2B 3cef0a3da3ce142bbdf932dbb54eb6473070c5722c9ec791dc4077efe2d774d51f8b3d06b3321f8f21cc49764f44d54b3432ee7a0d9376925b422b197f5d557e SHA512 f4c16b587fe407dee1f39df029c52302a0fbd5f519816a8d974fe9c2f928043b14037c701c0f3c9cf2e5c765e82430fd4b71615fe63a66a88159f7b15506f892
-DIST windows_x86_64_gnu-0.48.5.crate 801619 BLAKE2B aa7e7e6a6ff9f9553ada3a0a39a9aa798e9d995a8eef36e0b6fdb2a0db93ddecee5548970575271fe43aec74797a420d0ee231d503b5bad1bd999059261e0e33 SHA512 1d6056fae430b3d042bdff3c6217c76be4b8b9f5dada9bad06beaac2db7d7ab9b0a82e44f498ec88e61afa73e99f56d84d445dc3847732b9ce5d947e08485f74
-DIST windows_x86_64_gnullvm-0.42.1.crate 362788 BLAKE2B fff81e63b86ad04ce22ad3e05ec4cc02c0b791384c93bafb50832f6db9cb7fd9301ad3845339a08dd8cadac1d59f3e8dc9d5f56d7a987989dbfc16b9131af67b SHA512 8cc988b5995a4726bb7518b7fccff528274ad9b2b0160fe247eb240f9ced10db95afe7bff91bfc5a08ebd8237b6821e4a4abad1ff9da45022f1ce7e7586bcf05
-DIST windows_x86_64_gnullvm-0.48.5.crate 418486 BLAKE2B 12a2199d434617c1df1a839e9f435620ad64b40c579f6d0c3677553ad7a48e5765d12c266b04946402e15c92cff2e4ac4979ce2130750ef426e2672119680284 SHA512 c016d5b5e73832b61ff67929d92fa8c16e154656294357266ad29ce1f44db4ca2d2935dba31a6b571187dc838b1d22f1e3b41fefffd1d719a338439adf1646aa
-DIST windows_x86_64_msvc-0.42.1.crate 664606 BLAKE2B 6c460cfa392aad0d11add200d652a42ee1a60052570527c4e85405f765255375729d4e26287f5246dcad65fa89ccadea23c5135171b311e6da5027e33149c547 SHA512 a651b1a34f101125f929c1d1f5e933691c7a5c19d0bb0c501fb6812236d2771805428e3bd5e05be7d72715595f5fc9e7978dd7934e5d92e9b78a41c2ece695b2
-DIST windows_x86_64_msvc-0.48.5.crate 798412 BLAKE2B 8abc0721e2fb337fe17c91d278947d36122d9045b839ba0cf3e690202d242265b676f23cc301da5f9d98c56ca4ecb76f7d6f072ee71bf986a1deca87020b90e5 SHA512 fa1c5cd14ca2ff0082e2504cf59d317dc4dc6f7138d35c12f95d4476a9c13d8b7f5537d0ee251eee7c99411ad31b22263171b7fbd391daa5d3ea3488ceaa61a0
-DIST y_py-0.6.0.tar.gz 52897 BLAKE2B 2df6218e072e1bf78d830ded98733670dd9a3d6a3653ce97875ee9736393d119587f0dfc1a99217e14dc61c186f57e64200eae97defa4aa4bc6de0aef887bfa4 SHA512 6de1bc2845a3cbe72fc22c66e5f9c46001171583e6967b1dac9d53d531aff4f84beb7c4d55b64950507a127f092bbeb025af5633829b040c2dc6b450a876c90d
-DIST y_py-0.6.2.tar.gz 53013 BLAKE2B 224f5e2d21c837d93b443901c5ce72e3b9b33ae28cd216f7474ac216e1cc64c7b88fa61819f368a32a2229ba3170727bce835d0ebe17af0a1eb0c846219b86bd SHA512 7fc5cab8767925dd120efbfa611881404133f33a41151df38c25595be69b7b6c968bd892c8e4f74730a61ee42b354dd4ce02026837b40e56350b27b5ee16bd78
-DIST yrs-0.12.2.crate 7745097 BLAKE2B 756587548acf4cb7e6e7540dc7ecdcde47eeadda810409b7bdfd7665b118a47c6e0efd7186fb016f10700b74810a3cb22d6cd51f6c765b7692915306099ed144 SHA512 362a1e69e9c53ca544eda8432e94e7d10f67c6fec1b774f6ffbd76ad6523bc22f15502f468f7681c27cb4f45beb1839dd6d0e835e0e55313fbe076b793c7e253
diff --git a/dev-python/y-py/metadata.xml b/dev-python/y-py/metadata.xml
deleted file mode 100644
index 8216b67886f8..000000000000
--- a/dev-python/y-py/metadata.xml
+++ /dev/null
@@ -1,12 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <upstream>
- <remote-id type="pypi">y-py</remote-id>
- <remote-id type="github">y-crdt/ypy</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/y-py/y-py-0.6.0.ebuild b/dev-python/y-py/y-py-0.6.0.ebuild
deleted file mode 100644
index 5d460e5ae0cc..000000000000
--- a/dev-python/y-py/y-py-0.6.0.ebuild
+++ /dev/null
@@ -1,101 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CARGO_OPTIONAL=1
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{9..11} )
-
-CRATES="
- autocfg@1.1.0
- bitflags@1.3.2
- bumpalo@3.12.0
- cfg-if@1.0.0
- getrandom@0.1.16
- indoc@1.0.9
- js-sys@0.3.61
- lib0@0.12.2
- libc@0.2.139
- lock_api@0.4.9
- log@0.4.17
- once_cell@1.17.1
- parking_lot@0.12.1
- parking_lot_core@0.9.7
- ppv-lite86@0.2.17
- proc-macro2@1.0.51
- pyo3-build-config@0.16.6
- pyo3-ffi@0.16.6
- pyo3-macros-backend@0.16.6
- pyo3-macros@0.16.6
- pyo3@0.16.6
- quote@1.0.23
- rand@0.7.3
- rand_chacha@0.2.2
- rand_core@0.5.1
- rand_hc@0.2.0
- redox_syscall@0.2.16
- scopeguard@1.1.0
- smallstr@0.2.0
- smallvec@1.10.0
- syn@1.0.107
- target-lexicon@0.12.6
- thiserror-impl@1.0.38
- thiserror@1.0.38
- unicode-ident@1.0.6
- unindent@0.1.11
- wasi@0.9.0+wasi-snapshot-preview1
- wasm-bindgen-backend@0.2.84
- wasm-bindgen-macro-support@0.2.84
- wasm-bindgen-macro@0.2.84
- wasm-bindgen-shared@0.2.84
- wasm-bindgen@0.2.84
- windows-sys@0.45.0
- windows-targets@0.42.1
- windows_aarch64_gnullvm@0.42.1
- windows_aarch64_msvc@0.42.1
- windows_i686_gnu@0.42.1
- windows_i686_msvc@0.42.1
- windows_x86_64_gnu@0.42.1
- windows_x86_64_gnullvm@0.42.1
- windows_x86_64_msvc@0.42.1
- yrs@0.12.2
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Python bindings to y-crdt"
-HOMEPAGE="
- https://pypi.org/project/y-py/
- https://github.com/y-crdt/ypy
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
-"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- virtual/rust
-"
-RDEPEND="
- ${DEPEND}
-"
-
-QA_FLAGS_IGNORED=".*/y_py.cpython.*.so"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/furo \
- dev-python/sphinx-autoapi
-
-src_unpack() {
- cargo_src_unpack
-}
diff --git a/dev-python/y-py/y-py-0.6.2.ebuild b/dev-python/y-py/y-py-0.6.2.ebuild
deleted file mode 100644
index 522157cee40a..000000000000
--- a/dev-python/y-py/y-py-0.6.2.ebuild
+++ /dev/null
@@ -1,102 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-CARGO_OPTIONAL=1
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=maturin
-PYTHON_COMPAT=( python3_{10..12} )
-
-CRATES="
- autocfg@1.1.0
- bitflags@1.3.2
- bumpalo@3.14.0
- cfg-if@1.0.0
- getrandom@0.1.16
- indoc@1.0.9
- js-sys@0.3.64
- lib0@0.12.2
- libc@0.2.148
- lock_api@0.4.10
- log@0.4.20
- memoffset@0.9.0
- once_cell@1.18.0
- parking_lot@0.12.1
- parking_lot_core@0.9.8
- ppv-lite86@0.2.17
- proc-macro2@1.0.67
- pyo3-build-config@0.19.2
- pyo3-ffi@0.19.2
- pyo3-macros-backend@0.19.2
- pyo3-macros@0.19.2
- pyo3@0.19.2
- quote@1.0.33
- rand@0.7.3
- rand_chacha@0.2.2
- rand_core@0.5.1
- rand_hc@0.2.0
- redox_syscall@0.3.5
- scopeguard@1.2.0
- smallstr@0.2.0
- smallvec@1.11.1
- syn@1.0.109
- syn@2.0.37
- target-lexicon@0.12.11
- thiserror-impl@1.0.49
- thiserror@1.0.49
- unicode-ident@1.0.12
- unindent@0.1.11
- wasi@0.9.0+wasi-snapshot-preview1
- wasm-bindgen-backend@0.2.87
- wasm-bindgen-macro-support@0.2.87
- wasm-bindgen-macro@0.2.87
- wasm-bindgen-shared@0.2.87
- wasm-bindgen@0.2.87
- windows-targets@0.48.5
- windows_aarch64_gnullvm@0.48.5
- windows_aarch64_msvc@0.48.5
- windows_i686_gnu@0.48.5
- windows_i686_msvc@0.48.5
- windows_x86_64_gnu@0.48.5
- windows_x86_64_gnullvm@0.48.5
- windows_x86_64_msvc@0.48.5
- yrs@0.12.2
-"
-
-inherit cargo distutils-r1 pypi
-
-DESCRIPTION="Python bindings to y-crdt"
-HOMEPAGE="
- https://pypi.org/project/y-py/
- https://github.com/y-crdt/ypy
-"
-SRC_URI+="
- ${CARGO_CRATE_URIS}
-"
-
-LICENSE="MIT"
-# Dependent crate licenses
-LICENSE+="
- Apache-2.0 Apache-2.0-with-LLVM-exceptions MIT Unicode-DFS-2016
-"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-DEPEND="
- virtual/rust
-"
-RDEPEND="
- ${DEPEND}
-"
-
-QA_FLAGS_IGNORED=".*/y_py.cpython.*.so"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/furo \
- dev-python/sphinx-autoapi
-
-src_unpack() {
- cargo_src_unpack
-}
diff --git a/dev-python/yamlpath/Manifest b/dev-python/yamlpath/Manifest
deleted file mode 100644
index aed09cc84c7e..000000000000
--- a/dev-python/yamlpath/Manifest
+++ /dev/null
@@ -1 +0,0 @@
-DIST yamlpath-3.8.0.gh.tar.gz 227377 BLAKE2B 9a722a6f637144a8085c7b71c8ac0c966d2ff7eda7b7136614db06406024c21cdbf6b30d3a5cc7b78ba8e268d406c0db15f15130098b680a1ce36a6eb8d31b9c SHA512 8a91c1519a7a93b099c77d2f850dc775c0ca8147d3ea4eb96408bb3f53a102301c6a9b6d1c5c47580a59f701e8316ff49e27d4643c21c8bc87fb337e6982e91f
diff --git a/dev-python/yamlpath/metadata.xml b/dev-python/yamlpath/metadata.xml
deleted file mode 100644
index b4a77c52d5a4..000000000000
--- a/dev-python/yamlpath/metadata.xml
+++ /dev/null
@@ -1,18 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <upstream>
- <bugs-to>https://github.com/wwkimball/yamlpath/issues</bugs-to>
- <changelog>https://raw.githubusercontent.com/wwkimball/yamlpath/master/CHANGES</changelog>
- <doc>https://github.com/wwkimball/yamlpath/wiki</doc>
- <remote-id type="pypi">yamlpath</remote-id>
- <remote-id type="github">wwkimball/yamlpath</remote-id>
- </upstream>
- <maintainer type="person">
- <email>zmedico@gentoo.org</email>
- </maintainer>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
-</pkgmetadata>
diff --git a/dev-python/yamlpath/yamlpath-3.8.0.ebuild b/dev-python/yamlpath/yamlpath-3.8.0.ebuild
deleted file mode 100644
index ad955b668138..000000000000
--- a/dev-python/yamlpath/yamlpath-3.8.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 2021-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Command-line processors for YAML/JSON/Compatible data"
-HOMEPAGE="
- https://github.com/wwkimball/yamlpath/
- https://github.com/wwkimball/yamlpath/wiki
-"
-SRC_URI="
- https://github.com/wwkimball/yamlpath/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="ISC"
-SLOT="0"
-KEYWORDS="~amd64"
-
-RDEPEND="
- dev-python/ruamel-yaml[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-console-scripts[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-python_prepare_all() {
- sed -i -e '/ruamel\.yaml/d' setup.py || die
-
- distutils-r1_python_prepare_all
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
-
- if ! has_version "dev-ruby/hiera-eyaml"; then
- EPYTEST_DESELECT+=(
- tests/test_commands_eyaml_rotate_keys.py
- tests/test_commands_yaml_merge.py::Test_commands_yaml_merge::test_yaml_syntax_error
- tests/test_commands_yaml_paths.py::Test_yaml_paths::test_search_encrypted_values
- )
- fi
-
- epytest
-}
diff --git a/dev-python/yappi/Manifest b/dev-python/yappi/Manifest
index 096ba09cf33c..5c51299da9ec 100644
--- a/dev-python/yappi/Manifest
+++ b/dev-python/yappi/Manifest
@@ -1 +1 @@
-DIST yappi-1.4.0.gh.tar.gz 938290 BLAKE2B 98a9c82d101e64f70f589b51ee461e1967c0fada75ab98e0de8f0446254e7ad73e25b842c85464953b9f81fc54d2007151dfc91e4176068a7cb320176c8828d2 SHA512 c557c67cfce29db1a526a2d385af28cd241eae46a653e9b4f7308a6f52ff1ede49b9211af09889c63eae3eeb38d55813a8026161b1184fccf4db4add8a022541
+DIST yappi-1.6.0.gh.tar.gz 938098 BLAKE2B 7d5ad3066647419502ce43a2577509dbfc2ba898a8a68187a0e2efa2868764139c5a0bde873eb270f4acbb98749ee770e0cd00d24079318ab291dd5becc7a00e SHA512 d6b9e30129d83ab24ac80732e6a31e7dcc9e7e0f8bedc39cd578b73b12007c38db6c5b101e4364d3d129ba24bb0adaae71bc48827ac577c8ef96c9a557a9d80f
diff --git a/dev-python/yappi/yappi-1.4.0.ebuild b/dev-python/yappi/yappi-1.4.0.ebuild
deleted file mode 100644
index 617d2b57c514..000000000000
--- a/dev-python/yappi/yappi-1.4.0.ebuild
+++ /dev/null
@@ -1,42 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1
-
-DESCRIPTION="Yet Another Python Profiler"
-HOMEPAGE="
- https://pypi.org/project/yappi/
- https://github.com/sumerc/yappi/
-"
-SRC_URI="
- https://github.com/sumerc/yappi/archive/${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~riscv x86"
-
-distutils_enable_tests unittest
-
-PATCHES=(
- "${FILESDIR}/yappi-1.2.5-warnings.patch"
-)
-
-src_prepare() {
- # using new API makes sense for versions newer than 3.11 too, sigh...
- # https://github.com/sumerc/yappi/pull/148
- sed -i -e 's:== 11:>= 11:' yappi/_yappi.c || die
- distutils-r1_src_prepare
-}
-
-python_test() {
- local -x PYTHONPATH=tests
- eunittest
-}
diff --git a/dev-python/yappi/yappi-1.6.0.ebuild b/dev-python/yappi/yappi-1.6.0.ebuild
new file mode 100644
index 000000000000..dabf63096b10
--- /dev/null
+++ b/dev-python/yappi/yappi-1.6.0.ebuild
@@ -0,0 +1,35 @@
+# Copyright 1999-2023 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..12} )
+
+inherit distutils-r1
+
+DESCRIPTION="Yet Another Python Profiler"
+HOMEPAGE="
+ https://pypi.org/project/yappi/
+ https://github.com/sumerc/yappi/
+"
+SRC_URI="
+ https://github.com/sumerc/yappi/archive/${PV}.tar.gz
+ -> ${P}.gh.tar.gz
+"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~riscv x86"
+
+distutils_enable_tests unittest
+
+PATCHES=(
+ "${FILESDIR}/yappi-1.2.5-warnings.patch"
+)
+
+python_test() {
+ local -x PYTHONPATH=tests
+ eunittest
+}
diff --git a/dev-python/yapsy/yapsy-1.12.2-r2.ebuild b/dev-python/yapsy/yapsy-1.12.2-r2.ebuild
index 5e176818e907..6ac37da16f34 100644
--- a/dev-python/yapsy/yapsy-1.12.2-r2.ebuild
+++ b/dev-python/yapsy/yapsy-1.12.2-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1
@@ -14,7 +14,7 @@ HOMEPAGE="
https://github.com/tibonihoo/yapsy/
https://pypi.org/project/Yapsy/
"
-SRC_URI="mirror://sourceforge/yapsy/${MY_P}/${MY_P}.tar.gz"
+SRC_URI="https://downloads.sourceforge.net/yapsy/${MY_P}/${MY_P}.tar.gz"
S=${WORKDIR}/${MY_P}
LICENSE="BSD"
diff --git a/dev-python/yara-python/Manifest b/dev-python/yara-python/Manifest
index 0cd5706592a1..88f7cd99469d 100644
--- a/dev-python/yara-python/Manifest
+++ b/dev-python/yara-python/Manifest
@@ -1 +1 @@
-DIST yara-python-4.4.0.gh.tar.gz 38072 BLAKE2B 748dab52e99e264c7d9eb0d7d4482fb76b29f8463f031cf20687e30ae792141633d12e6b3f20303c8ee99bcdaafa01a3df9f73aaf3dd722ad5da9820e6a4d39e SHA512 bc72c2f65e3fe3d7f94728565143b787df6cc63313a3e8b9f159a5cfc3c947f5233674a1213fd2c6454f6165b676da366319794f9fa7c695c43e5523c29a1432
+DIST yara-python-4.5.0.gh.tar.gz 39301 BLAKE2B 9bee247ef21b6e2e576acbac7cfcf140fd3b1ab992affc019f9ce290e00809e397d5057b9033f53fcd94885e855e783e4c43835850c9e6dcd57d74661ba8380b SHA512 b4f091bff7fd3bcd63e7f9f0a765aac7bdb3f17a1bc4b163687ae9ca21048194d90cf2bf1165998edb9953b83e022939179c51de59862a456676f099de69778d
diff --git a/dev-python/yara-python/files/yara-python-4.4.0-python3_12.patch b/dev-python/yara-python/files/yara-python-4.4.0-python3_12.patch
deleted file mode 100644
index 36bf1d60f686..000000000000
--- a/dev-python/yara-python/files/yara-python-4.4.0-python3_12.patch
+++ /dev/null
@@ -1,17 +0,0 @@
-Upstream: https://github.com/VirusTotal/yara-python/pull/244
-From c00fd68cfb2f00c4bfe4ea6465a93af2d1d1a68f Mon Sep 17 00:00:00 2001
-From: Mario Haustein <mario.haustein@hrz.tu-chemnitz.de>
-Date: Sat, 16 Sep 2023 17:35:36 +0200
-Subject: [PATCH] Fix unknown escape sequence
-
---- a/tests.py
-+++ b/tests.py
-@@ -719,7 +719,7 @@ def testRE(self):
- 'rule test { strings: $a = /[M-N]iss/ nocase condition: $a }',
- 'rule test { strings: $a = /(Mi|ssi)ssippi/ nocase condition: $a }',
- r'rule test { strings: $a = /ppi\tmi/ condition: $a }',
-- 'rule test { strings: $a = /ppi\.mi/ condition: $a }',
-+ r'rule test { strings: $a = /ppi\.mi/ condition: $a }',
- 'rule test { strings: $a = /^mississippi/ fullword condition: $a }',
- 'rule test { strings: $a = /mississippi.*mississippi$/s condition: $a }',
- ], 'mississippi\tmississippi.mississippi\nmississippi')
diff --git a/dev-python/yara-python/yara-python-4.4.0.ebuild b/dev-python/yara-python/yara-python-4.4.0.ebuild
deleted file mode 100644
index 911515e6d4e3..000000000000
--- a/dev-python/yara-python/yara-python-4.4.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-DISTUTILS_EXT=1
-PYTHON_COMPAT=( python3_{10..12} )
-inherit distutils-r1
-
-DESCRIPTION="Python interface for a malware identification and classification tool"
-HOMEPAGE="https://github.com/VirusTotal/yara-python"
-
-if [[ ${PV} == "9999" ]]; then
- inherit git-r3
- EGIT_REPO_URI="https://github.com/VirusTotal/yara-python.git"
-else
- SRC_URI="https://github.com/virustotal/yara-python/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
- KEYWORDS="amd64 ~arm64 ~ppc64 x86"
-fi
-
-LICENSE="Apache-2.0"
-SLOT="0"
-
-RDEPEND="
- =app-forensics/yara-$(ver_cut 1-2)*
-"
-DEPEND="${RDEPEND}"
-
-PATCHES=(
- "${FILESDIR}/${P}-python3_12.patch"
-)
-
-distutils_enable_tests unittest
-
-python_configure_all() {
- cat >> setup.cfg <<-EOF
- [build_ext]
- dynamic_linking = True
- EOF
-}
-
-python_test() {
- "${EPYTHON}" tests.py || die "Tests fail with ${EPYTHON}"
-}
diff --git a/dev-python/yara-python/yara-python-4.5.0.ebuild b/dev-python/yara-python/yara-python-4.5.0.ebuild
new file mode 100644
index 000000000000..bde11ea7577c
--- /dev/null
+++ b/dev-python/yara-python/yara-python-4.5.0.ebuild
@@ -0,0 +1,41 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+DISTUTILS_EXT=1
+PYTHON_COMPAT=( python3_{10..12} )
+inherit distutils-r1
+
+DESCRIPTION="Python interface for a malware identification and classification tool"
+HOMEPAGE="https://github.com/VirusTotal/yara-python"
+
+if [[ ${PV} == "9999" ]]; then
+ inherit git-r3
+ EGIT_REPO_URI="https://github.com/VirusTotal/yara-python.git"
+else
+ SRC_URI="https://github.com/virustotal/yara-python/archive/v${PV}.tar.gz -> ${P}.gh.tar.gz"
+ KEYWORDS="amd64 ~arm64 ~ppc64 x86"
+fi
+
+LICENSE="Apache-2.0"
+SLOT="0"
+
+RDEPEND="
+ =app-forensics/yara-$(ver_cut 1-2)*
+"
+DEPEND="${RDEPEND}"
+
+distutils_enable_tests unittest
+
+python_configure_all() {
+ cat >> setup.cfg <<-EOF
+ [build_ext]
+ dynamic_linking = True
+ EOF
+}
+
+python_test() {
+ "${EPYTHON}" tests.py || die "Tests fail with ${EPYTHON}"
+}
diff --git a/dev-python/yarl/Manifest b/dev-python/yarl/Manifest
index 0b2854048acd..5fc801df3ff9 100644
--- a/dev-python/yarl/Manifest
+++ b/dev-python/yarl/Manifest
@@ -1,2 +1 @@
-DIST yarl-1.9.2.tar.gz 184673 BLAKE2B bb94131059d0cfaf88f04d62a44181245ebcb660cb44904f0b7e8d497905a16d0026aeff454b8179fab5342c6bf9c8d6aadade0d9f7c70321c71bbcc3998e9a3 SHA512 ffbb6df94220bb1561333f1ad69a70334328e2273ec5e91c2741f6fd5ca2f6dd38d5b5f617728797fce490accc2394a406a5f9b5b665af4746746229af0d7c5f
-DIST yarl-1.9.3.tar.gz 135606 BLAKE2B f73b41227c08c791442c4c96ec961bcdbc8078f72082a842b6537a28b212c8612d700f2245e8c431008b652afd59a08be36137e92ebb15f1ea2c733bfc00dd4f SHA512 44dcc51c0b01eda024d9e6a236b95999a6be5989958362060b6b21c3d98fcb862824f7ec1897ac8c164ad2cb9362a2df4d40dcc980f57eaeefb0eddfc19b4741
+DIST yarl-1.9.4.tar.gz 141869 BLAKE2B 367eac4674bf1190122f10bb1dc1c4f3d5e4263e1d95ff2b871067d55a894dc19a6bb5a6c673d1bed28b3c5f77c704799568edfe639d50f0ae10313eb847352d SHA512 e4f7917f1625b40125abae9a13d61795f97e8cf489735e15cf58476e97c3bcf840b1452482f1f7a737fbb2bdd1dc7bbcfa882d0a7f76a27dfb3aea72b7a66c82
diff --git a/dev-python/yarl/yarl-1.9.2.ebuild b/dev-python/yarl/yarl-1.9.2.ebuild
deleted file mode 100644
index 4fc30d5ec478..000000000000
--- a/dev-python/yarl/yarl-1.9.2.ebuild
+++ /dev/null
@@ -1,57 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Yet another URL library"
-HOMEPAGE="
- https://github.com/aio-libs/yarl/
- https://pypi.org/project/yarl/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86 ~x64-macos"
-
-RDEPEND="
- >=dev-python/multidict-4.0[${PYTHON_USEDEP}]
- >=dev-python/idna-2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython
-"
-
-distutils_enable_tests pytest
-distutils_enable_sphinx docs \
- dev-python/alabaster
-
-src_configure() {
- set -- cython -3 yarl/_quoting_c.pyx
- echo "${*}" >&2
- "${@}" || die
-}
-
-python_test() {
- local EPYTEST_DESELECT=()
- if [[ ${EPYTHON} == python3.12 ]]; then
- EPYTEST_DESELECT+=(
- # tests for seemingly invalid addresses, unlikely to affect
- # real world use
- # https://github.com/aio-libs/yarl/issues/876
- tests/test_url.py::test_ipv6_zone
- tests/test_url.py::test_human_repr_delimiters
- tests/test_url_parsing.py::TestHost::test_masked_ipv4
- tests/test_url_parsing.py::TestHost::test_strange_ip
- tests/test_url_parsing.py::TestUserInfo::test_weird_user3
- )
- fi
-
- cd tests || die
- epytest --override-ini=addopts=
-}
diff --git a/dev-python/yarl/yarl-1.9.3.ebuild b/dev-python/yarl/yarl-1.9.3.ebuild
deleted file mode 100644
index b79589d8f530..000000000000
--- a/dev-python/yarl/yarl-1.9.3.ebuild
+++ /dev/null
@@ -1,37 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=standalone
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Yet another URL library"
-HOMEPAGE="
- https://github.com/aio-libs/yarl/
- https://pypi.org/project/yarl/
-"
-
-LICENSE="Apache-2.0"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~hppa ~ppc ~ppc64 ~ia64 ~riscv ~sparc ~x86"
-
-RDEPEND="
- >=dev-python/multidict-4.0[${PYTHON_USEDEP}]
- >=dev-python/idna-2.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- dev-python/cython[${PYTHON_USEDEP}]
- dev-python/expandvars[${PYTHON_USEDEP}]
- dev-python/setuptools[${PYTHON_USEDEP}]
-"
-
-distutils_enable_tests pytest
-
-python_test() {
- cd tests || die
- epytest --override-ini=addopts=
-}
diff --git a/dev-python/yarl/yarl-1.9.4.ebuild b/dev-python/yarl/yarl-1.9.4.ebuild
new file mode 100644
index 000000000000..5d5854195647
--- /dev/null
+++ b/dev-python/yarl/yarl-1.9.4.ebuild
@@ -0,0 +1,37 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=standalone
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Yet another URL library"
+HOMEPAGE="
+ https://github.com/aio-libs/yarl/
+ https://pypi.org/project/yarl/
+"
+
+LICENSE="Apache-2.0"
+SLOT="0"
+KEYWORDS="~alpha amd64 arm arm64 hppa ~ia64 ~loong ppc ppc64 ~riscv ~s390 sparc x86"
+
+RDEPEND="
+ >=dev-python/multidict-4.0[${PYTHON_USEDEP}]
+ >=dev-python/idna-2.0[${PYTHON_USEDEP}]
+"
+BDEPEND="
+ dev-python/cython[${PYTHON_USEDEP}]
+ dev-python/expandvars[${PYTHON_USEDEP}]
+ dev-python/setuptools[${PYTHON_USEDEP}]
+"
+
+distutils_enable_tests pytest
+
+python_test() {
+ cd tests || die
+ epytest --override-ini=addopts=
+}
diff --git a/dev-python/yaswfp/yaswfp-0.9.3-r2.ebuild b/dev-python/yaswfp/yaswfp-0.9.3-r2.ebuild
index 043f81672986..ab7beaf2ea16 100644
--- a/dev-python/yaswfp/yaswfp-0.9.3-r2.ebuild
+++ b/dev-python/yaswfp/yaswfp-0.9.3-r2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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_{9..11} )
+PYTHON_COMPAT=( python3_{9..12} )
inherit distutils-r1 pypi
diff --git a/dev-python/yattag/metadata.xml b/dev-python/yattag/metadata.xml
index 76675463c1b4..e58d968b88e0 100644
--- a/dev-python/yattag/metadata.xml
+++ b/dev-python/yattag/metadata.xml
@@ -1,9 +1,9 @@
<?xml version="1.0" encoding="UTF-8"?>
<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
<pkgmetadata>
- <maintainer type="person">
- <email>marecki@gentoo.org</email>
- <name>Marek Szuba</name>
+ <maintainer type="project">
+ <email>python@gentoo.org</email>
+ <name>Python</name>
</maintainer>
<stabilize-allarches/>
<upstream>
diff --git a/dev-python/yattag/yattag-1.15.2.ebuild b/dev-python/yattag/yattag-1.15.2.ebuild
index b189a3789b1b..af0e56587b9e 100644
--- a/dev-python/yattag/yattag-1.15.2.ebuild
+++ b/dev-python/yattag/yattag-1.15.2.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/yaxmldiff/yaxmldiff-0.1.0.ebuild b/dev-python/yaxmldiff/yaxmldiff-0.1.0.ebuild
index e67628952e1e..63ab161a8f07 100644
--- a/dev-python/yaxmldiff/yaxmldiff-0.1.0.ebuild
+++ b/dev-python/yaxmldiff/yaxmldiff-0.1.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -26,8 +26,6 @@ RDEPEND="
# no tests currently
RESTRICT="test"
-distutils_enable_tests pytest
-
python_prepare_all() {
sed -i '/license_file/ d' setup.cfg || die
distutils-r1_python_prepare_all
diff --git a/dev-python/youtube-search-python/youtube-search-python-1.6.6-r1.ebuild b/dev-python/youtube-search-python/youtube-search-python-1.6.6-r1.ebuild
new file mode 100644
index 000000000000..f10a5500fadd
--- /dev/null
+++ b/dev-python/youtube-search-python/youtube-search-python-1.6.6-r1.ebuild
@@ -0,0 +1,22 @@
+# 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_{9..12} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Get YouTube video information using link WITHOUT YouTube Data API v3"
+HOMEPAGE="https://github.com/alexmercerind/youtube-search-python/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+
+RDEPEND="
+ dev-python/httpx[${PYTHON_USEDEP}]
+ net-misc/yt-dlp[${PYTHON_USEDEP}]
+"
diff --git a/dev-python/youtube-search-python/youtube-search-python-1.6.6.ebuild b/dev-python/youtube-search-python/youtube-search-python-1.6.6.ebuild
deleted file mode 100644
index ae358a93e809..000000000000
--- a/dev-python/youtube-search-python/youtube-search-python-1.6.6.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Get YouTube video information using link WITHOUT YouTube Data API v3"
-HOMEPAGE="https://github.com/alexmercerind/youtube-search-python/"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="amd64 ~x86"
-
-RDEPEND="
- dev-python/httpx[${PYTHON_USEDEP}]
- net-misc/yt-dlp[${PYTHON_USEDEP}]
-"
diff --git a/dev-python/ypy-websocket/Manifest b/dev-python/ypy-websocket/Manifest
deleted file mode 100644
index 9bc3456b3d7a..000000000000
--- a/dev-python/ypy-websocket/Manifest
+++ /dev/null
@@ -1,5 +0,0 @@
-DIST ypy-websocket-0.12.1.gh.tar.gz 19760 BLAKE2B 0c422bbdba4c1f7f8ec8b74659cca09f96cbf0ed146578d96f07edfa5c90451c0404122c2633ddeb41fde56427abfaf1c9b241a1dbecd4e6ad7b10c193828c93 SHA512 de1ee7a2075a64f778936a9eda196ec85ea183fa2caf5eede5c0fc95aa95e697185629643f435dd57332b2f20bcbdfeec1b33a84f639a2b86ac651e6b0a87a23
-DIST ypy-websocket-0.12.2.gh.tar.gz 19844 BLAKE2B f686d54a6199455c6654e2e115fa152e6d9fea8396dfb825df09245d18bf288100b5409c0c7b5e77a09bcea66db53cc6f413e52cbed1d1dd44ad60250edf4822 SHA512 395df9ec29caf962a8fa2e702c2a29f34cc6c7c349b685067ef552898a3d3be4e5875da972613aceab06337e6722865b990f34f3e6ce1a025821a513794f79a0
-DIST ypy-websocket-0.12.3.gh.tar.gz 21624 BLAKE2B d6339431b528e4222cef47cfaa7d98e7f14cbe5b0874d5d90650a191882c2a957e524390341fc949a9d048e65229e0fd9b2eafd800eed21314ef7891a14c6fad SHA512 d051838a589e91f00917e54ea3807665dcefeb67f959dce00965c694a7eb16098842a239fff476368335be10b540e955d8a0835f2297a3be5493be53c6306ff9
-DIST ypy-websocket-0.12.4.gh.tar.gz 21691 BLAKE2B f663ba47f42180fb45acfed4601e19b89d12ece0aa4cd75a49188d89d4d481d35b8fb32ff136c4dc2f5aa1c5c386c9230f896081f4e66b0f69e41d043f4556e0 SHA512 d6cb607e2e104f5464c1d08bfd7ea85b89c717e4dba604a28bd906628b7760e35733873122a4af2182ed5e57235dc2ea087b9108a0b03b0545f8d8ce59cd7d33
-DIST ypy-websocket-0.8.4.gh.tar.gz 13416 BLAKE2B 9dd988d6eceb624bae2385180c408971a776f06324407506886c2ef5b8e713277a4c4fb0a2d328a20695d4db8808997c125bfb48faa60c93fe38bb1a1e899766 SHA512 20794b182bbf3958df9f3097ab8c4657acef1ca294c751e0524bc5a36cd7b7a6a2766ae9295cd5f9fc31070813d5b56e0e1e25e22931f63171f88b4757bb1584
diff --git a/dev-python/ypy-websocket/metadata.xml b/dev-python/ypy-websocket/metadata.xml
deleted file mode 100644
index 9c277b18c8df..000000000000
--- a/dev-python/ypy-websocket/metadata.xml
+++ /dev/null
@@ -1,13 +0,0 @@
-<?xml version="1.0" encoding="UTF-8"?>
-<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
-<pkgmetadata>
- <maintainer type="project">
- <email>python@gentoo.org</email>
- <name>Python</name>
- </maintainer>
- <stabilize-allarches/>
- <upstream>
- <remote-id type="pypi">ypy-websocket</remote-id>
- <remote-id type="github">y-crdt/ypy-websocket</remote-id>
- </upstream>
-</pkgmetadata>
diff --git a/dev-python/ypy-websocket/ypy-websocket-0.12.1.ebuild b/dev-python/ypy-websocket/ypy-websocket-0.12.1.ebuild
deleted file mode 100644
index 1a0a66796cb3..000000000000
--- a/dev-python/ypy-websocket/ypy-websocket-0.12.1.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings to y-crdt"
-HOMEPAGE="
- https://pypi.org/project/ypy-websocket/
- https://github.com/y-crdt/ypy-websocket/
-"
-SRC_URI="
- https://github.com/y-crdt/ypy-websocket/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- <dev-python/anyio-4[${PYTHON_USEDEP}]
- >=dev-python/anyio-3.6.2[${PYTHON_USEDEP}]
- <dev-python/aiosqlite-1[${PYTHON_USEDEP}]
- >=dev-python/aiosqlite-0.18.0[${PYTHON_USEDEP}]
- <dev-python/y-py-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/y-py-0.6.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/uvicorn[${PYTHON_USEDEP}]
- dev-python/websockets[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # Requires internet and nodejs
- tests/test_ypy_yjs.py
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/ypy-websocket/ypy-websocket-0.12.2.ebuild b/dev-python/ypy-websocket/ypy-websocket-0.12.2.ebuild
deleted file mode 100644
index 8d616389a057..000000000000
--- a/dev-python/ypy-websocket/ypy-websocket-0.12.2.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings to y-crdt"
-HOMEPAGE="
- https://pypi.org/project/ypy-websocket/
- https://github.com/y-crdt/ypy-websocket/
-"
-SRC_URI="
- https://github.com/y-crdt/ypy-websocket/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- <dev-python/anyio-5[${PYTHON_USEDEP}]
- >=dev-python/anyio-3.6.2[${PYTHON_USEDEP}]
- <dev-python/aiosqlite-1[${PYTHON_USEDEP}]
- >=dev-python/aiosqlite-0.18.0[${PYTHON_USEDEP}]
- <dev-python/y-py-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/y-py-0.6.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/uvicorn[${PYTHON_USEDEP}]
- dev-python/websockets[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # Requires internet and nodejs
- tests/test_ypy_yjs.py
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/ypy-websocket/ypy-websocket-0.12.3.ebuild b/dev-python/ypy-websocket/ypy-websocket-0.12.3.ebuild
deleted file mode 100644
index 8d616389a057..000000000000
--- a/dev-python/ypy-websocket/ypy-websocket-0.12.3.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings to y-crdt"
-HOMEPAGE="
- https://pypi.org/project/ypy-websocket/
- https://github.com/y-crdt/ypy-websocket/
-"
-SRC_URI="
- https://github.com/y-crdt/ypy-websocket/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- <dev-python/anyio-5[${PYTHON_USEDEP}]
- >=dev-python/anyio-3.6.2[${PYTHON_USEDEP}]
- <dev-python/aiosqlite-1[${PYTHON_USEDEP}]
- >=dev-python/aiosqlite-0.18.0[${PYTHON_USEDEP}]
- <dev-python/y-py-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/y-py-0.6.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/uvicorn[${PYTHON_USEDEP}]
- dev-python/websockets[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # Requires internet and nodejs
- tests/test_ypy_yjs.py
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/ypy-websocket/ypy-websocket-0.12.4.ebuild b/dev-python/ypy-websocket/ypy-websocket-0.12.4.ebuild
deleted file mode 100644
index 8d616389a057..000000000000
--- a/dev-python/ypy-websocket/ypy-websocket-0.12.4.ebuild
+++ /dev/null
@@ -1,46 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings to y-crdt"
-HOMEPAGE="
- https://pypi.org/project/ypy-websocket/
- https://github.com/y-crdt/ypy-websocket/
-"
-SRC_URI="
- https://github.com/y-crdt/ypy-websocket/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- <dev-python/anyio-5[${PYTHON_USEDEP}]
- >=dev-python/anyio-3.6.2[${PYTHON_USEDEP}]
- <dev-python/aiosqlite-1[${PYTHON_USEDEP}]
- >=dev-python/aiosqlite-0.18.0[${PYTHON_USEDEP}]
- <dev-python/y-py-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/y-py-0.6.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/uvicorn[${PYTHON_USEDEP}]
- dev-python/websockets[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # Requires internet and nodejs
- tests/test_ypy_yjs.py
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/ypy-websocket/ypy-websocket-0.8.4.ebuild b/dev-python/ypy-websocket/ypy-websocket-0.8.4.ebuild
deleted file mode 100644
index 6282c71ba0f5..000000000000
--- a/dev-python/ypy-websocket/ypy-websocket-0.8.4.ebuild
+++ /dev/null
@@ -1,43 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=hatchling
-PYTHON_COMPAT=( python3_{9..11} )
-
-inherit distutils-r1
-
-DESCRIPTION="Python bindings to y-crdt"
-HOMEPAGE="
- https://pypi.org/project/ypy-websocket/
- https://github.com/y-crdt/ypy-websocket/
-"
-SRC_URI="
- https://github.com/y-crdt/ypy-websocket/archive/v${PV}.tar.gz
- -> ${P}.gh.tar.gz
-"
-
-LICENSE="MIT"
-SLOT="0"
-KEYWORDS="~amd64 ~x86"
-
-RDEPEND="
- <dev-python/aiofiles-23[${PYTHON_USEDEP}]
- dev-python/aiosqlite[${PYTHON_USEDEP}]
- <dev-python/y-py-0.7.0[${PYTHON_USEDEP}]
- >=dev-python/y-py-0.6.0[${PYTHON_USEDEP}]
-"
-BDEPEND="
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- dev-python/websockets[${PYTHON_USEDEP}]
- )
-"
-
-EPYTEST_IGNORE=(
- # Requires internet and nodejs
- tests/test_ypy_yjs.py
-)
-
-distutils_enable_tests pytest
diff --git a/dev-python/ytmusicapi/Manifest b/dev-python/ytmusicapi/Manifest
index 50d12a4b1673..a230d069025f 100644
--- a/dev-python/ytmusicapi/Manifest
+++ b/dev-python/ytmusicapi/Manifest
@@ -1 +1,3 @@
-DIST ytmusicapi-1.3.2.tar.gz 71732 BLAKE2B 957c2b88ea2c9e59c81401762e4dfd4a52a2f5d3ba59653d2556c3d29225ab4bd92155070e75812f302430b453a5c32a2f44fb508b24905a8f0d16c6fe51299b SHA512 c9ccf7999d668502549e4b5393682192d1db2851660444b6255d5bfb2c0c994ab4715800b669bf57d60866aef7c5529ece374c1eda8d945c7008477438dd0fdd
+DIST ytmusicapi-1.7.4.tar.gz 277715 BLAKE2B 6210c7666281e1b118a28571fe5852c319d252fbda19ec160a03c0a8a17c4a629e50794064bc86667aaa4d16a1937d3a7445abcf19da7d0094d064db99933e9b SHA512 98f00cc86eb749867ff69a7a5d8b3ea75b00072bb3001a2a087a07e44dab2f0793af2c90527858258929b2638a11f0271bc3949153e437ebc312d01377c9c635
+DIST ytmusicapi-1.7.5.tar.gz 277989 BLAKE2B 18cedc9ecaa5f2220b81dd831102cab6aa7dedcd745be9d561d79b2c7ecc2e31973e9d4671bcdc79827da64f76102dd984a430222b94dff5a6b418df85c1dde6 SHA512 f5c9d2bd5deb45a8d834a262d3d45f7691c1a86a3a67f0b5e3129940f323a1b6f4e50f17e66a9b843f28ca0b04db9e9b2fc873f1edbf147ab915f399d38e386a
+DIST ytmusicapi-1.8.0.tar.gz 283301 BLAKE2B aa0d0a8b30b75873865360dfe7b0aec436debf5b2e0f96f2d4008f5234d42802a3a84acd55f83244c03995d605718139f30cda21a798d23c841cc4f9a395d4a5 SHA512 5b7d3fef54eef586b007b6bb6f5c81aaf068302de2493fff8e6ce6bdd9387836615bfa9ecd10ce2516effe1707d11de55ad8a967562e8d6faa527c7e808c377a
diff --git a/dev-python/ytmusicapi/ytmusicapi-1.3.2.ebuild b/dev-python/ytmusicapi/ytmusicapi-1.3.2.ebuild
deleted file mode 100644
index 25bb762afaca..000000000000
--- a/dev-python/ytmusicapi/ytmusicapi-1.3.2.ebuild
+++ /dev/null
@@ -1,22 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYTHON_COMPAT=( python3_{10..11} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Unofficial API for YouTube Music"
-HOMEPAGE="https://ytmusicapi.readthedocs.io/
- https://github.com/sigma67/ytmusicapi/"
-
-LICENSE="MIT"
-KEYWORDS="amd64 ~x86"
-SLOT="0"
-
-RDEPEND="dev-python/requests[${PYTHON_USEDEP}]"
-
-distutils_enable_sphinx docs/source \
- dev-python/sphinx-rtd-theme
diff --git a/dev-python/ytmusicapi/ytmusicapi-1.7.4.ebuild b/dev-python/ytmusicapi/ytmusicapi-1.7.4.ebuild
new file mode 100644
index 000000000000..7ac6cd99eb25
--- /dev/null
+++ b/dev-python/ytmusicapi/ytmusicapi-1.7.4.ebuild
@@ -0,0 +1,24 @@
+# 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="Unofficial API for YouTube Music"
+HOMEPAGE="https://ytmusicapi.readthedocs.io/
+ https://github.com/sigma67/ytmusicapi/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="amd64 ~x86"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme
diff --git a/dev-python/ytmusicapi/ytmusicapi-1.7.5.ebuild b/dev-python/ytmusicapi/ytmusicapi-1.7.5.ebuild
new file mode 100644
index 000000000000..b1568c0ab835
--- /dev/null
+++ b/dev-python/ytmusicapi/ytmusicapi-1.7.5.ebuild
@@ -0,0 +1,24 @@
+# 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="Unofficial API for YouTube Music"
+HOMEPAGE="https://ytmusicapi.readthedocs.io/
+ https://github.com/sigma67/ytmusicapi/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme
diff --git a/dev-python/ytmusicapi/ytmusicapi-1.8.0.ebuild b/dev-python/ytmusicapi/ytmusicapi-1.8.0.ebuild
new file mode 100644
index 000000000000..b1568c0ab835
--- /dev/null
+++ b/dev-python/ytmusicapi/ytmusicapi-1.8.0.ebuild
@@ -0,0 +1,24 @@
+# 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="Unofficial API for YouTube Music"
+HOMEPAGE="https://ytmusicapi.readthedocs.io/
+ https://github.com/sigma67/ytmusicapi/"
+
+LICENSE="MIT"
+SLOT="0"
+KEYWORDS="~amd64 ~x86"
+RESTRICT="test"
+
+RDEPEND="
+ dev-python/requests[${PYTHON_USEDEP}]
+"
+
+distutils_enable_sphinx docs/source dev-python/sphinx-rtd-theme
diff --git a/dev-python/zc-lockfile/zc-lockfile-3.0_p1.ebuild b/dev-python/zc-lockfile/zc-lockfile-3.0_p1.ebuild
index 73c001433e90..9fc18ef91ba1 100644
--- a/dev-python/zc-lockfile/zc-lockfile-3.0_p1.ebuild
+++ b/dev-python/zc-lockfile/zc-lockfile-3.0_p1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
@@ -18,7 +18,7 @@ HOMEPAGE="
LICENSE="ZPL"
SLOT="0"
-KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ppc ppc64 ~riscv ~sparc x86"
+KEYWORDS="~alpha amd64 arm arm64 ~hppa ~ia64 ~loong ~m68k ppc ppc64 ~riscv ~sparc x86"
BDEPEND="
test? (
diff --git a/dev-python/zconfig/Manifest b/dev-python/zconfig/Manifest
index 09e749602a70..2555384ea9fe 100644
--- a/dev-python/zconfig/Manifest
+++ b/dev-python/zconfig/Manifest
@@ -1 +1 @@
-DIST ZConfig-4.0.tar.gz 126072 BLAKE2B 7057151267f9b481d3cded72a22dc8fe505f1eac78d156595eb6ba5ff6217b57713ae2ef307358d86320986181bbbb3c1862901297e645bf69dc4893a3e60dbc SHA512 03e3c34f8af9de8bedd98bbdf0c968fdd2fb0c1bb8d62a73c286b804a8841e0e7d9b647f5f3bb37a6d52dc2a5cea7cdce21cd204536399d43203c18e0c204ca7
+DIST zconfig-4.1.tar.gz 146996 BLAKE2B fd4299121b418ba7517ef17c2f9be9e0f0a975199a0fb59bd45f54338becb921c2bf0fd87344e08b21734b80dc11abd64d7bef27d7d17313197d9c781b5e5017 SHA512 71dd5a9ce5f72eda76fde19fa2bec4aaf542ebe4b617753b14c07239366d934d9d635aa63407c76bc00edfb305c85c1cecdd187ee7f2b85f25acaa7682839363
diff --git a/dev-python/zconfig/files/zconfig-4.0-py312.patch b/dev-python/zconfig/files/zconfig-4.0-py312.patch
deleted file mode 100644
index 6f8c53ed18a0..000000000000
--- a/dev-python/zconfig/files/zconfig-4.0-py312.patch
+++ /dev/null
@@ -1,37 +0,0 @@
-From 390ce89cfd4bf1a60d8d67ee20106288cbfa0e51 Mon Sep 17 00:00:00 2001
-From: =?UTF-8?q?Petr=20Van=C4=9Bk?= <arkamar@atlas.cz>
-Date: Fri, 23 Jun 2023 08:10:09 +0200
-Subject: [PATCH] Fix tests for Python 3.12 (#91)
-
-In the tests, remove the assertRaisesRegexp method, deprecated since
-Python 3.2, to prevent test failures following the method's removal in
-Python 3.12.
----
- src/ZConfig/tests/support.py | 7 -------
- 1 file changed, 7 deletions(-)
-
-diff --git a/src/ZConfig/tests/support.py b/src/ZConfig/tests/support.py
-index 959f2b9..559c015 100644
---- a/src/ZConfig/tests/support.py
-+++ b/src/ZConfig/tests/support.py
-@@ -17,7 +17,6 @@
- import contextlib
- import os
- import sys
--import unittest
- from io import StringIO
- from urllib.request import pathname2url
-
-@@ -79,12 +78,6 @@ def f2(self):
- class TestHelper:
- """Utility methods which can be used with the schema support."""
-
-- # Not derived from unittest.TestCase; some test runners seem to
-- # think that means this class contains tests.
--
-- assertRaisesRegex = getattr(unittest.TestCase, 'assertRaisesRegex',
-- unittest.TestCase.assertRaisesRegexp)
--
- def load_both(self, schema_url, conf_url):
- schema = self.load_schema(schema_url)
- conf = self.load_config(schema, conf_url)
diff --git a/dev-python/zconfig/zconfig-4.0.ebuild b/dev-python/zconfig/zconfig-4.0.ebuild
deleted file mode 100644
index e33522f6853f..000000000000
--- a/dev-python/zconfig/zconfig-4.0.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN="ZConfig"
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Configuration library supporting a hierarchical schema-driven model"
-HOMEPAGE="
- https://github.com/zopefoundation/ZConfig/
- https://pypi.org/project/ZConfig/
-"
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="~amd64 ~arm64"
-
-BDEPEND="
- test? (
- dev-python/docutils[${PYTHON_USEDEP}]
- dev-python/manuel[${PYTHON_USEDEP}]
- dev-python/zope-exceptions[${PYTHON_USEDEP}]
- dev-python/zope-interface[${PYTHON_USEDEP}]
- )
-"
-
-DOCS=( CHANGES.rst README.rst )
-
-distutils_enable_tests unittest
-distutils_enable_sphinx docs \
- dev-python/sphinxcontrib-programoutput
-
-PATCHES=(
- # https://github.com/zopefoundation/ZConfig/commit/390ce89cfd4bf1a60d8d67ee20106288cbfa0e51
- "${FILESDIR}/${P}-py312.patch"
-)
-
-python_test() {
- eunittest -s src/ZConfig/tests
-}
diff --git a/dev-python/zconfig/zconfig-4.1.ebuild b/dev-python/zconfig/zconfig-4.1.ebuild
new file mode 100644
index 000000000000..3b8070cc1689
--- /dev/null
+++ b/dev-python/zconfig/zconfig-4.1.ebuild
@@ -0,0 +1,39 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYPI_PN="ZConfig"
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Configuration library supporting a hierarchical schema-driven model"
+HOMEPAGE="
+ https://github.com/zopefoundation/ZConfig/
+ https://pypi.org/project/ZConfig/
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
+
+BDEPEND="
+ test? (
+ dev-python/docutils[${PYTHON_USEDEP}]
+ dev-python/manuel[${PYTHON_USEDEP}]
+ dev-python/zope-exceptions[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+ )
+"
+
+DOCS=( CHANGES.rst README.rst )
+
+distutils_enable_tests unittest
+distutils_enable_sphinx docs \
+ dev-python/sphinxcontrib-programoutput
+
+python_test() {
+ eunittest -s src/ZConfig/tests
+}
diff --git a/dev-python/zeep/zeep-4.2.1.ebuild b/dev-python/zeep/zeep-4.2.1.ebuild
index 9dd3236bf311..3649b03531c9 100644
--- a/dev-python/zeep/zeep-4.2.1.ebuild
+++ b/dev-python/zeep/zeep-4.2.1.ebuild
@@ -1,10 +1,10 @@
-# Copyright 1999-2023 Gentoo Authors
+# 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} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/zenlib/Manifest b/dev-python/zenlib/Manifest
new file mode 100644
index 000000000000..026eb6c288e7
--- /dev/null
+++ b/dev-python/zenlib/Manifest
@@ -0,0 +1,2 @@
+DIST zenlib-2.1.2.tar.gz 17293 BLAKE2B 3d5067b9796f31d28d0ca04c842b4ef1807e0557a77c5b6ec5798cfa2aa04ee5e7eafa3549df6add4228e7c3014ca33eb1584c0aee6db9c0acc882f170972b36 SHA512 a0a53ed63a3efe83dc8f49fd512685b82ed383494f404072a47734c02a1955e0a4c9a6c9df48503419c82cb7479783669b6de8deef174a597ab73cad61da5c3e
+DIST zenlib-2.2.0.tar.gz 17727 BLAKE2B 073bbaa252ab000a30602e0a603a8293b8c3a322374ad4172758a6c95d52483b03cc84d4b72aa868168bde03796defb3efca85682ca8f7b7fce6243d8112198f SHA512 4b324e1b56d757536a80d4d5fe31d4087ee8e1a0aa1ff8a19a43252033ea6e5115c55c5c6d69bcae8594bc36c84625b75df2ce93a2f49f7b885179aa05b45d80
diff --git a/dev-python/zenlib/metadata.xml b/dev-python/zenlib/metadata.xml
new file mode 100644
index 000000000000..7fd3c269bca0
--- /dev/null
+++ b/dev-python/zenlib/metadata.xml
@@ -0,0 +1,15 @@
+<?xml version="1.0" encoding="UTF-8"?>
+<!DOCTYPE pkgmetadata SYSTEM "https://www.gentoo.org/dtd/metadata.dtd">
+<pkgmetadata>
+ <maintainer type="person" proxied="yes">
+ <email>dev@pyl.onl</email>
+ <name>Zen</name>
+ </maintainer>
+ <maintainer type="person" proxied="proxy">
+ <email>andrewammerlaan@gentoo.org</email>
+ <name>Andrew Ammerlaan</name>
+ </maintainer>
+ <upstream>
+ <remote-id type="github">desultory/zenlib</remote-id>
+ </upstream>
+</pkgmetadata>
diff --git a/dev-python/zenlib/zenlib-2.1.2.ebuild b/dev-python/zenlib/zenlib-2.1.2.ebuild
new file mode 100644
index 000000000000..901021ca3bc9
--- /dev/null
+++ b/dev-python/zenlib/zenlib-2.1.2.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+inherit distutils-r1
+
+DESCRIPTION="Useful python decorators and utilities"
+HOMEPAGE="https://github.com/desultory/zenlib"
+SRC_URI="https://github.com/desultory/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
diff --git a/dev-python/zenlib/zenlib-2.2.0.ebuild b/dev-python/zenlib/zenlib-2.2.0.ebuild
new file mode 100644
index 000000000000..901021ca3bc9
--- /dev/null
+++ b/dev-python/zenlib/zenlib-2.2.0.ebuild
@@ -0,0 +1,16 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+inherit distutils-r1
+
+DESCRIPTION="Useful python decorators and utilities"
+HOMEPAGE="https://github.com/desultory/zenlib"
+SRC_URI="https://github.com/desultory/${PN}/archive/${PV}.tar.gz -> ${P}.tar.gz"
+
+LICENSE="GPL-2"
+SLOT="0"
+KEYWORDS="~amd64 ~arm64"
diff --git a/dev-python/zenlib/zenlib-9999.ebuild b/dev-python/zenlib/zenlib-9999.ebuild
new file mode 100644
index 000000000000..032dbf828303
--- /dev/null
+++ b/dev-python/zenlib/zenlib-9999.ebuild
@@ -0,0 +1,15 @@
+# Copyright 2023-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{11..12} )
+inherit distutils-r1 git-r3
+
+DESCRIPTION="Useful python decorators and utilities"
+HOMEPAGE="https://github.com/desultory/zenlib"
+EGIT_REPO_URI="https://github.com/desultory/zenlib.git"
+
+LICENSE="GPL-2"
+SLOT="0"
diff --git a/dev-python/zeroconf/Manifest b/dev-python/zeroconf/Manifest
index 67971bd6cb2f..b74d654ade46 100644
--- a/dev-python/zeroconf/Manifest
+++ b/dev-python/zeroconf/Manifest
@@ -1,2 +1 @@
-DIST zeroconf-0.127.0.tar.gz 161143 BLAKE2B ee560845016ab1de0b065aaae8cd6791ddc847417241c7f2477301948945e938a2ff68206d30166a6049a7ad5919d15bcc6acac9fd9d33d17d5e77154b9f9c0c SHA512 7c8aef766dcc0f3411c4230decd5a0af18ae795e0e4253be2dc69af6ba314271a336807ace1458bb0a081455afa8cc9d8769413bbc97f024e3d3e877cd1e6f2f
-DIST zeroconf-0.128.0.tar.gz 161199 BLAKE2B 7526c6f4a242e7ab0035ea3f2b29b3b43bbb6235950e7b2899472986e4186584275a39e6341c661203499528f47b2d255d4df3e2e092b0c864a1cf6b5c09a379 SHA512 d058828691a97c7634319fedcf688401d01ae372521d48b3749570975a5afbde839d14a4e34463c20fd267d006bf708c098a4f180844398a64fd96d1538edfa4
+DIST zeroconf-0.132.2.tar.gz 170698 BLAKE2B 7c76e2a00571a19b23f288dc1183da6ce274ebdf3f64f323e282f444011f7cbf90a63e02a991936a2cfa2d227568b31444b8f61f1110588638d4e888dd8749a6 SHA512 686cdfd2f32c6bad03fb5fd287b1e22f2f0b5099a8971dcff1d9fca7e63bc8069b195feb97be710c20fae8c524ab92143e395cdfec26ede103295d1aa4d32a8f
diff --git a/dev-python/zeroconf/zeroconf-0.127.0.ebuild b/dev-python/zeroconf/zeroconf-0.127.0.ebuild
deleted file mode 100644
index 4305169d6e62..000000000000
--- a/dev-python/zeroconf/zeroconf-0.127.0.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)"
-HOMEPAGE="
- https://github.com/python-zeroconf/python-zeroconf/
- https://pypi.org/project/zeroconf/
-"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="amd64 ~arm ~arm64 x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/async-timeout-3.0.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-# the build system uses custom build script that uses distutils to build
-# C extensions, sigh
-BDEPEND="
- >=dev-python/cython-3[${PYTHON_USEDEP}]
- >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export REQUIRE_CYTHON=1
-
-python_test() {
- local -x SKIP_IPV6=1
- local EPYTEST_DESELECT=(
- # network
- tests/test_core.py::Framework::test_close_multiple_times
- tests/test_core.py::Framework::test_launch_and_close
- tests/test_core.py::Framework::test_launch_and_close_context_manager
-
- # fragile to timeouts (?)
- tests/services/test_browser.py::test_service_browser_expire_callbacks
- tests/utils/test_asyncio.py::test_run_coro_with_timeout
- )
-
- epytest -o addopts=
-}
diff --git a/dev-python/zeroconf/zeroconf-0.128.0.ebuild b/dev-python/zeroconf/zeroconf-0.128.0.ebuild
deleted file mode 100644
index b3ff07347a6d..000000000000
--- a/dev-python/zeroconf/zeroconf-0.128.0.ebuild
+++ /dev/null
@@ -1,56 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_EXT=1
-DISTUTILS_USE_PEP517=poetry
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)"
-HOMEPAGE="
- https://github.com/python-zeroconf/python-zeroconf/
- https://pypi.org/project/zeroconf/
-"
-
-LICENSE="LGPL-2.1"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~x86 ~amd64-linux ~x86-linux"
-
-RDEPEND="
- >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}]
- $(python_gen_cond_dep '
- >=dev-python/async-timeout-3.0.0[${PYTHON_USEDEP}]
- ' 3.10)
-"
-# the build system uses custom build script that uses distutils to build
-# C extensions, sigh
-BDEPEND="
- >=dev-python/cython-3[${PYTHON_USEDEP}]
- >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}]
- test? (
- dev-python/pytest-asyncio[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-export REQUIRE_CYTHON=1
-
-python_test() {
- local -x SKIP_IPV6=1
- local EPYTEST_DESELECT=(
- # network
- tests/test_core.py::Framework::test_close_multiple_times
- tests/test_core.py::Framework::test_launch_and_close
- tests/test_core.py::Framework::test_launch_and_close_context_manager
-
- # fragile to timeouts (?)
- tests/services/test_browser.py::test_service_browser_expire_callbacks
- tests/utils/test_asyncio.py::test_run_coro_with_timeout
- )
-
- epytest -o addopts=
-}
diff --git a/dev-python/zeroconf/zeroconf-0.132.2.ebuild b/dev-python/zeroconf/zeroconf-0.132.2.ebuild
new file mode 100644
index 000000000000..014d1b6ea1d2
--- /dev/null
+++ b/dev-python/zeroconf/zeroconf-0.132.2.ebuild
@@ -0,0 +1,56 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+EAPI=8
+
+DISTUTILS_EXT=1
+DISTUTILS_USE_PEP517=poetry
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Pure Python Multicast DNS Service Discovery Library (Bonjour/Avahi compatible)"
+HOMEPAGE="
+ https://github.com/python-zeroconf/python-zeroconf/
+ https://pypi.org/project/zeroconf/
+"
+
+LICENSE="LGPL-2.1"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 x86 ~amd64-linux ~x86-linux"
+
+RDEPEND="
+ >=dev-python/ifaddr-0.1.7[${PYTHON_USEDEP}]
+ $(python_gen_cond_dep '
+ >=dev-python/async-timeout-3.0.0[${PYTHON_USEDEP}]
+ ' 3.10)
+"
+# the build system uses custom build script that uses distutils to build
+# C extensions, sigh
+BDEPEND="
+ >=dev-python/cython-3.0.8[${PYTHON_USEDEP}]
+ >=dev-python/setuptools-65.6.3[${PYTHON_USEDEP}]
+ test? (
+ dev-python/pytest-asyncio[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+export REQUIRE_CYTHON=1
+
+python_test() {
+ local -x SKIP_IPV6=1
+ local EPYTEST_DESELECT=(
+ # network
+ tests/test_core.py::Framework::test_close_multiple_times
+ tests/test_core.py::Framework::test_launch_and_close
+ tests/test_core.py::Framework::test_launch_and_close_context_manager
+
+ # fragile to timeouts (?)
+ tests/services/test_browser.py::test_service_browser_expire_callbacks
+ tests/utils/test_asyncio.py::test_run_coro_with_timeout
+ )
+
+ epytest -o addopts=
+}
diff --git a/dev-python/zipp/Manifest b/dev-python/zipp/Manifest
index 6942cb4dbabf..7623e6b2f039 100644
--- a/dev-python/zipp/Manifest
+++ b/dev-python/zipp/Manifest
@@ -1 +1 @@
-DIST zipp-3.17.0.tar.gz 20367 BLAKE2B d1b21b7692e77a019769cd0ab93c850a409bc1eea22e2e6eb0ecaf0c14b5c42a11110b272ee73afb111675f15dfab32aceae6515c05fd4e0c4749352e4be3c90 SHA512 efd100add7e8face19a6163d07b5efbef6f896d1f3ed2dbdd443ed7e523428bd779d1f05dfe806d4d2bbe10c17c21136f2a0b6f0cbe6000dd8a6abb86dede725
+DIST zipp-3.19.2.tar.gz 22922 BLAKE2B 8f4a115079b6faa730a3502592983c13b2db27541cdbd91723fd20f320d22678f3740b01f24b46f7049607c49953ea64fa8e4855d26f28f0683d330b625a2d0b SHA512 3f1b663c4befef774e076845a8a2d2fc414cb768af0e3bccc57b6b694e9ef28e8dd8ae59b596b269f610b082e9c7a92ec3dcd465aad4e5ebe250ea96df89b2cf
diff --git a/dev-python/zipp/zipp-3.17.0.ebuild b/dev-python/zipp/zipp-3.17.0.ebuild
deleted file mode 100644
index ab0918f12400..000000000000
--- a/dev-python/zipp/zipp-3.17.0.ebuild
+++ /dev/null
@@ -1,52 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
-EAPI=8
-
-DISTUTILS_USE_PEP517=flit
-PYTHON_COMPAT=( pypy3 python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Backport of pathlib-compatible object wrapper for zip files"
-HOMEPAGE="
- https://github.com/jaraco/zipp/
- https://pypi.org/project/zipp/
-"
-
-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"
-
-# big_o is only used in test_complexity, that we ignore
-BDEPEND="
- test? (
- dev-python/jaraco-functools[${PYTHON_USEDEP}]
- dev-python/jaraco-itertools[${PYTHON_USEDEP}]
- dev-python/more-itertools[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests pytest
-
-EPYTEST_IGNORE=(
- # performance tests are flaky by design
- tests/test_complexity.py
-)
-
-src_configure() {
- grep -q 'build-backend = "setuptools' pyproject.toml ||
- die "Upstream changed build-backend, recheck"
- # write a custom pyproject.toml to ease setuptools bootstrap
- cat > pyproject.toml <<-EOF || die
- [build-system]
- requires = ["flit_core >=3.2,<4"]
- build-backend = "flit_core.buildapi"
-
- [project]
- name = "zipp"
- version = "${PV}"
- description = "Backport of pathlib-compatible object wrapper for zip files"
- EOF
-}
diff --git a/dev-python/zipp/zipp-3.19.2.ebuild b/dev-python/zipp/zipp-3.19.2.ebuild
new file mode 100644
index 000000000000..217e9c381f22
--- /dev/null
+++ b/dev-python/zipp/zipp-3.19.2.ebuild
@@ -0,0 +1,53 @@
+# Copyright 1999-2024 Gentoo Authors
+# Distributed under the terms of the GNU General Public License v2
+
+# please keep this ebuild at EAPI 8 -- sys-apps/portage dep
+EAPI=8
+
+DISTUTILS_USE_PEP517=flit
+PYTHON_COMPAT=( pypy3 python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Backport of pathlib-compatible object wrapper for zip files"
+HOMEPAGE="
+ https://github.com/jaraco/zipp/
+ https://pypi.org/project/zipp/
+"
+
+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"
+
+# big_o is only used in test_complexity, that we ignore
+BDEPEND="
+ test? (
+ dev-python/jaraco-functools[${PYTHON_USEDEP}]
+ dev-python/jaraco-itertools[${PYTHON_USEDEP}]
+ dev-python/jaraco-test[${PYTHON_USEDEP}]
+ dev-python/more-itertools[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+EPYTEST_IGNORE=(
+ # performance tests are flaky by design
+ tests/test_complexity.py
+)
+
+src_configure() {
+ grep -q 'build-backend = "setuptools' pyproject.toml ||
+ die "Upstream changed build-backend, recheck"
+ # write a custom pyproject.toml to ease setuptools bootstrap
+ cat > pyproject.toml <<-EOF || die
+ [build-system]
+ requires = ["flit_core >=3.2,<4"]
+ build-backend = "flit_core.buildapi"
+
+ [project]
+ name = "zipp"
+ version = "${PV}"
+ description = "Backport of pathlib-compatible object wrapper for zip files"
+ EOF
+}
diff --git a/dev-python/zope-component/zope-component-6.0.ebuild b/dev-python/zope-component/zope-component-6.0.ebuild
index 37d75b2d1d9b..6ac7504ed420 100644
--- a/dev-python/zope-component/zope-component-6.0.ebuild
+++ b/dev-python/zope-component/zope-component-6.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/zope-configuration/Manifest b/dev-python/zope-configuration/Manifest
index e729f177cd12..0809e5cfb478 100644
--- a/dev-python/zope-configuration/Manifest
+++ b/dev-python/zope-configuration/Manifest
@@ -1 +1 @@
-DIST zope.configuration-5.0.tar.gz 83357 BLAKE2B 8fa72cda6abf663d8dcf7b168c1a6c84401c1a93d6395b96eb2c691efab1395b56631aa92c95cc7401974832249c1ec734d49952a489be50b2eaf82252e919bb SHA512 59a720b9062ba5254b8a0c9b7dd4f44ab709ac29050c9f2eeb05827ed34f74940eed52ce5ec551bc0c8292f5ed0921a4d07c110f1b68baedcc6c02cd5edd9e00
+DIST zope.configuration-5.0.1.tar.gz 83327 BLAKE2B 665687d49e77c43e08293d5e7816a1f1abc9ff0c97dcfa83a90693d6da9d5767ebc24512dd7593316464103c38655c41909949bb1c8bb3f5db272e3637066284 SHA512 58fec7b330a4ee5f9bb71238fbcb8f07fdd7b6767cb2d8e054699ffcb915973b9dfead33e5515f40049f6aede233d31624d09d7f84d75b96318e63f8ab454147
diff --git a/dev-python/zope-configuration/zope-configuration-5.0.1.ebuild b/dev-python/zope-configuration/zope-configuration-5.0.1.ebuild
new file mode 100644
index 000000000000..a7118f2481f5
--- /dev/null
+++ b/dev-python/zope-configuration/zope-configuration-5.0.1.ebuild
@@ -0,0 +1,54 @@
+# 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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Zope Configuration Architecture"
+HOMEPAGE="
+ https://pypi.org/project/zope.configuration/
+ https://github.com/zopefoundation/zope.configuration/
+ https://zopeconfiguration.readthedocs.io/en/latest/
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
+
+RDEPEND="
+ dev-python/zope-i18nmessageid[${PYTHON_USEDEP}]
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+ >=dev-python/zope-schema-4.9[${PYTHON_USEDEP}]
+ !dev-python/namespace-zope
+"
+BDEPEND="
+ test? (
+ dev-python/manuel[${PYTHON_USEDEP}]
+ dev-python/zope-testing[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # strip rdep specific to namespaces
+ sed -i -e "/'setuptools'/d" setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ distutils_write_namespace zope
+ eunittest
+}
diff --git a/dev-python/zope-configuration/zope-configuration-5.0.ebuild b/dev-python/zope-configuration/zope-configuration-5.0.ebuild
deleted file mode 100644
index f3ff3f642fea..000000000000
--- a/dev-python/zope-configuration/zope-configuration-5.0.ebuild
+++ /dev/null
@@ -1,54 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Zope Configuration Architecture"
-HOMEPAGE="
- https://pypi.org/project/zope.configuration/
- https://github.com/zopefoundation/zope.configuration/
- https://zopeconfiguration.readthedocs.io/en/latest/
-"
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="amd64 ~arm arm64 ~ppc64 ~riscv x86"
-
-RDEPEND="
- dev-python/zope-i18nmessageid[${PYTHON_USEDEP}]
- dev-python/zope-interface[${PYTHON_USEDEP}]
- >=dev-python/zope-schema-4.9[${PYTHON_USEDEP}]
- !dev-python/namespace-zope
-"
-BDEPEND="
- test? (
- dev-python/manuel[${PYTHON_USEDEP}]
- dev-python/zope-testing[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # strip rdep specific to namespaces
- sed -i -e "/'setuptools'/d" setup.py || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- distutils_write_namespace zope
- eunittest
-}
diff --git a/dev-python/zope-deprecation/zope-deprecation-5.0.ebuild b/dev-python/zope-deprecation/zope-deprecation-5.0.ebuild
index ab964272a711..bbeefa401af4 100644
--- a/dev-python/zope-deprecation/zope-deprecation-5.0.ebuild
+++ b/dev-python/zope-deprecation/zope-deprecation-5.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/zope-event/zope-event-5.0.ebuild b/dev-python/zope-event/zope-event-5.0.ebuild
index 99db81ced810..b9e576d375dc 100644
--- a/dev-python/zope-event/zope-event-5.0.ebuild
+++ b/dev-python/zope-event/zope-event-5.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/zope-exceptions/Manifest b/dev-python/zope-exceptions/Manifest
index 4b2e75c65297..a187ef8b60e9 100644
--- a/dev-python/zope-exceptions/Manifest
+++ b/dev-python/zope-exceptions/Manifest
@@ -1 +1 @@
-DIST zope.exceptions-5.0.1.tar.gz 30435 BLAKE2B 66775ace483da20614aa4db31d106f70af5a118cd7b5f3cc3458515cf443cd6c6e0bda26b0817adf063c52ded25ffcc09b722840e90f4975976e54c48763bbf1 SHA512 46ab45feb81682b62f4ab0df31e39b8b438af593d8880eb095fb2994ce6aced5aceb2cb08973234077d9c3846adc57658e06e04aecf55443bf3af691d728291a
+DIST zope.exceptions-5.1.tar.gz 31416 BLAKE2B 62e5ddc72f36349a6e4810ee6932dbe9e80fb3c3ac5171cebcb4433832d593bf01edfbd573a5f2dc7546599d018144d28a2968598c3c43e72e3b7639e96f13bf SHA512 08e0b3b895089b35805519002f11302e6529d12257a5582f682257c4b5313c4e183d2b06241729fe542fcd407b1f29fbd6798605930b759daca335ed3df84652
diff --git a/dev-python/zope-exceptions/files/zope-exceptions-5.1-py313.patch b/dev-python/zope-exceptions/files/zope-exceptions-5.1-py313.patch
new file mode 100644
index 000000000000..623b53b32376
--- /dev/null
+++ b/dev-python/zope-exceptions/files/zope-exceptions-5.1-py313.patch
@@ -0,0 +1,24 @@
+diff --git a/src/zope/exceptions/tests/test_exceptionformatter.py b/src/zope/exceptions/tests/test_exceptionformatter.py
+index 92ea79a..0e18d8d 100644
+--- a/src/zope/exceptions/tests/test_exceptionformatter.py
++++ b/src/zope/exceptions/tests/test_exceptionformatter.py
+@@ -24,6 +24,7 @@ from urllib.error import HTTPError
+
+
+ IS_PY39_OR_GREATER = sys.version_info >= (3, 9)
++IS_PY313_OR_GREATER = sys.version_info >= (3, 13)
+
+
+ class TextExceptionFormatterTests(unittest.TestCase):
+@@ -763,8 +764,10 @@ class Test_format_exception(unittest.TestCase):
+ </ul><p> File "&lt;string&gt;", line 1<br />
+ import<br />
+ ^<br />
+- SyntaxError: invalid syntax<br />
++ SyntaxError: {error}<br />
+ </p>""").format(
++ error="Expected one or more names after 'import'"
++ if IS_PY313_OR_GREATER else 'invalid syntax',
+ module='zope.exceptions.tests.test_exceptionformatter',
+ fn='test_format_exception_as_html',
+ )
diff --git a/dev-python/zope-exceptions/zope-exceptions-5.0.1.ebuild b/dev-python/zope-exceptions/zope-exceptions-5.0.1.ebuild
deleted file mode 100644
index 7ec748a89678..000000000000
--- a/dev-python/zope-exceptions/zope-exceptions-5.0.1.ebuild
+++ /dev/null
@@ -1,45 +0,0 @@
-# Copyright 1999-2023 Gentoo Authors
-# Distributed under the terms of the GNU General Public License v2
-
-EAPI=8
-
-DISTUTILS_USE_PEP517=setuptools
-PYPI_NO_NORMALIZE=1
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="General purpose exceptions for Zope packages"
-HOMEPAGE="
- https://pypi.org/project/zope.exceptions/
- https://github.com/zopefoundation/zope.exceptions/
-"
-
-LICENSE="ZPL"
-SLOT="0"
-KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
-
-RDEPEND="
- dev-python/zope-interface[${PYTHON_USEDEP}]
- !dev-python/namespace-zope
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # strip rdep specific to namespaces
- sed -i -e "/'setuptools'/d" setup.py || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- distutils_write_namespace zope
- eunittest
-}
diff --git a/dev-python/zope-exceptions/zope-exceptions-5.1.ebuild b/dev-python/zope-exceptions/zope-exceptions-5.1.ebuild
new file mode 100644
index 000000000000..956910d21e15
--- /dev/null
+++ b/dev-python/zope-exceptions/zope-exceptions-5.1.ebuild
@@ -0,0 +1,50 @@
+# 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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="General purpose exceptions for Zope packages"
+HOMEPAGE="
+ https://pypi.org/project/zope.exceptions/
+ https://github.com/zopefoundation/zope.exceptions/
+"
+
+LICENSE="ZPL"
+SLOT="0"
+KEYWORDS="~amd64 ~arm ~arm64 ~ppc64 ~x86"
+
+RDEPEND="
+ dev-python/zope-interface[${PYTHON_USEDEP}]
+ !dev-python/namespace-zope
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ local PATCHES=(
+ # https://github.com/zopefoundation/zope.exceptions/issues/34
+ "${FILESDIR}/${P}-py313.patch"
+ )
+
+ # strip rdep specific to namespaces
+ sed -i -e "/'setuptools'/d" setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ distutils_write_namespace zope
+ eunittest
+}
diff --git a/dev-python/zope-hookable/zope-hookable-6.0.ebuild b/dev-python/zope-hookable/zope-hookable-6.0.ebuild
index f251bb3e7a33..d4a9005dcd36 100644
--- a/dev-python/zope-hookable/zope-hookable-6.0.ebuild
+++ b/dev-python/zope-hookable/zope-hookable-6.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 2022-2023 Gentoo Authors
+# Copyright 2022-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} )
+PYTHON_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi
diff --git a/dev-python/zope-i18nmessageid/zope-i18nmessageid-6.1.0.ebuild b/dev-python/zope-i18nmessageid/zope-i18nmessageid-6.1.0.ebuild
index 486a85e5fec4..613b9cc6ca4a 100644
--- a/dev-python/zope-i18nmessageid/zope-i18nmessageid-6.1.0.ebuild
+++ b/dev-python/zope-i18nmessageid/zope-i18nmessageid-6.1.0.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -7,7 +7,7 @@ DISTUTILS_EXT=1
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/zope-interface/Manifest b/dev-python/zope-interface/Manifest
index d399f6b078bf..8ba8be0e1f6c 100644
--- a/dev-python/zope-interface/Manifest
+++ b/dev-python/zope-interface/Manifest
@@ -1 +1 @@
-DIST zope.interface-6.1.tar.gz 293914 BLAKE2B e0285c381bbd241be24aef60a59a70d268852dd99113e890d67f6e371792d2c8d19b3bf42d60b04f2a94259c144ec191c1baaca171ece1adf49d0558574152cc SHA512 04305eaf98fb40269d417c6894a6e154340669b66033c50e130d58bf6166cabc0a8979e1ba80dda47cb2bc508dde01ea2175628f89cbfd44cc2f59ac3cdce2c0
+DIST zope.interface-6.4.post2.tar.gz 294539 BLAKE2B c6d892357e2ead04841cc5dde924b560e0cd968d84c607e3d1d2ebd804c2d1fbc764a721e8182ffd373a6339967b5230153e3e4934359028e98a0ad4e26c92a9 SHA512 da53c2136a6057de49374a428e855ad731288e45f27787d255073adb188680cb46a7b493258da01d6bbce5d7c7181306b64eb90609520aab361ac07dfba00d4b
diff --git a/dev-python/zope-interface/zope-interface-6.1.ebuild b/dev-python/zope-interface/zope-interface-6.1.ebuild
deleted file mode 100644
index f2dd4c57224d..000000000000
--- a/dev-python/zope-interface/zope-interface-6.1.ebuild
+++ /dev/null
@@ -1,51 +0,0 @@
-# Copyright 1999-2023 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
-PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
-
-inherit distutils-r1 pypi
-
-DESCRIPTION="Interfaces for Python"
-HOMEPAGE="
- https://github.com/zopefoundation/zope.interface/
- https://pypi.org/project/zope.interface/
-"
-
-LICENSE="ZPL"
-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"
-
-RDEPEND="
- !dev-python/namespace-zope
-"
-BDEPEND="
- test? (
- dev-python/zope-event[${PYTHON_USEDEP}]
- dev-python/zope-testing[${PYTHON_USEDEP}]
- )
-"
-
-distutils_enable_tests unittest
-
-src_prepare() {
- # strip rdep specific to namespaces
- sed -e "/'setuptools'/d" -i setup.py || die
- distutils-r1_src_prepare
-}
-
-python_compile() {
- distutils-r1_python_compile
- find "${BUILD_DIR}" -name '*.pth' -delete || die
-}
-
-python_test() {
- cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
- distutils_write_namespace zope
- eunittest
-}
diff --git a/dev-python/zope-interface/zope-interface-6.4_p2.ebuild b/dev-python/zope-interface/zope-interface-6.4_p2.ebuild
new file mode 100644
index 000000000000..916494add5b1
--- /dev/null
+++ b/dev-python/zope-interface/zope-interface-6.4_p2.ebuild
@@ -0,0 +1,51 @@
+# 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
+PYPI_PN=${PN/-/.}
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1 pypi
+
+DESCRIPTION="Interfaces for Python"
+HOMEPAGE="
+ https://github.com/zopefoundation/zope.interface/
+ https://pypi.org/project/zope.interface/
+"
+
+LICENSE="ZPL"
+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"
+
+RDEPEND="
+ !dev-python/namespace-zope
+"
+BDEPEND="
+ test? (
+ dev-python/zope-event[${PYTHON_USEDEP}]
+ dev-python/zope-testing[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests unittest
+
+src_prepare() {
+ # strip rdep specific to namespaces
+ sed -e "/'setuptools'/d" -i setup.py || die
+ distutils-r1_src_prepare
+}
+
+python_compile() {
+ distutils-r1_python_compile
+ find "${BUILD_DIR}" -name '*.pth' -delete || die
+}
+
+python_test() {
+ cd "${BUILD_DIR}/install$(python_get_sitedir)" || die
+ distutils_write_namespace zope
+ eunittest
+}
diff --git a/dev-python/zope-schema/zope-schema-7.0.1.ebuild b/dev-python/zope-schema/zope-schema-7.0.1.ebuild
index 6a614c85eca1..da92b805752a 100644
--- a/dev-python/zope-schema/zope-schema-7.0.1.ebuild
+++ b/dev-python/zope-schema/zope-schema-7.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/zope-testing/zope-testing-5.0.1.ebuild b/dev-python/zope-testing/zope-testing-5.0.1.ebuild
index 27d99d2cd56f..a87572e875ce 100644
--- a/dev-python/zope-testing/zope-testing-5.0.1.ebuild
+++ b/dev-python/zope-testing/zope-testing-5.0.1.ebuild
@@ -1,4 +1,4 @@
-# Copyright 1999-2023 Gentoo Authors
+# Copyright 1999-2024 Gentoo Authors
# Distributed under the terms of the GNU General Public License v2
EAPI=8
@@ -6,7 +6,7 @@ EAPI=8
DISTUTILS_USE_PEP517=setuptools
PYPI_NO_NORMALIZE=1
PYPI_PN=${PN/-/.}
-PYTHON_COMPAT=( python3_{9..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1 pypi
diff --git a/dev-python/zstandard/Manifest b/dev-python/zstandard/Manifest
index fdbd0080f3d1..b7eea7e0b7c9 100644
--- a/dev-python/zstandard/Manifest
+++ b/dev-python/zstandard/Manifest
@@ -1 +1,2 @@
DIST python-zstandard-0.22.0.gh.tar.gz 707644 BLAKE2B ce400120f9106d729b50ae091a581f4a9fb2e796ec0872cb7db393aa7a55cf6e22cbff79c3ff780b4f609fbd8289a9744cbdfc730ba51cb09ee4e7c56b1dac9e SHA512 b3041217ad4b6297d0727dd5d22bc83645d43fa591985bef43e8633feb960310a3f2eb1edaa133595941a6932683af91d565266f312c987e6b6c514ce70c9ddb
+DIST python-zstandard-0.23.0.gh.tar.gz 732448 BLAKE2B 920b53dc4a221059411062229ddf0ff51c478c2212e5599dec21298fef8e30b7a160c2f7d958ef95251ce5fb1357eaf4a8c3e4eca37304ef7a43176f723f3394 SHA512 06d799f8c5e89e5cc2f5b8ff100aeb3c3ff938757ce39852affb075487f65406d7d3f6d611b1864ec025fff86a51bf15b80c8af6260beda050b4fef5b7edd206
diff --git a/dev-python/zstandard/zstandard-0.22.0-r1.ebuild b/dev-python/zstandard/zstandard-0.22.0-r1.ebuild
new file mode 100644
index 000000000000..ef506d368106
--- /dev/null
+++ b/dev-python/zstandard/zstandard-0.22.0-r1.ebuild
@@ -0,0 +1,80 @@
+# 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..13} pypy3 )
+
+inherit distutils-r1
+
+MY_P=python-zstandard-${PV}
+DESCRIPTION="Zstandard Bindings for Python"
+HOMEPAGE="
+ https://github.com/indygreg/python-zstandard/
+ https://pypi.org/project/zstandard/
+"
+SRC_URI="
+ https://github.com/indygreg/python-zstandard/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+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"
+
+DEPEND="
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.14.0-r2:=[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ local PATCHES=(
+ "${FILESDIR}/${P}-build.patch"
+ )
+
+ # the C backend is repeatedly broken, so force CFFI instead
+ sed -e '/PYTHON_ZSTANDARD_IMPORT_POLICY/s:default:cffi:' \
+ -i zstandard/__init__.py || die
+ # unbundle zstd
+ rm zstd/* || die
+ > zstd/zstd.c || die
+ # it does random preprocessing on that, so we can't use #include
+ local f
+ for f in zdict.h zstd.h; do
+ cp "${ESYSROOT}/usr/include/${f}" "zstd/${f}" || die
+ done
+ sed -i -e '/include_dirs/a libraries=["zstd"],' make_cffi.py || die
+
+ distutils-r1_src_prepare
+
+ DISTUTILS_ARGS=(
+ --no-c-backend
+ )
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # unreliable, fails on x86
+ tests/test_data_structures.py::TestCompressionParameters::test_estimated_compression_context_size
+ # check for bundled zstd version, fails on other system zstd
+ tests/test_module_attributes.py::TestModuleAttributes::test_version
+ )
+
+ rm -rf zstandard || die
+ epytest
+}
diff --git a/dev-python/zstandard/zstandard-0.22.0.ebuild b/dev-python/zstandard/zstandard-0.22.0.ebuild
index 4a85fdd1cc8c..0e2f77551573 100644
--- a/dev-python/zstandard/zstandard-0.22.0.ebuild
+++ b/dev-python/zstandard/zstandard-0.22.0.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
-PYTHON_COMPAT=( python3_{10..12} pypy3 )
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
inherit distutils-r1
@@ -21,8 +21,8 @@ SRC_URI="
"
S=${WORKDIR}/${MY_P}
-SLOT="0"
LICENSE="BSD"
+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"
DEPEND="
@@ -67,6 +67,8 @@ python_test() {
local EPYTEST_DESELECT=(
# unreliable, fails on x86
tests/test_data_structures.py::TestCompressionParameters::test_estimated_compression_context_size
+ # check for bundled zstd version, fails on other system zstd
+ tests/test_module_attributes.py::TestModuleAttributes::test_version
)
rm -rf zstandard || die
diff --git a/dev-python/zstandard/zstandard-0.23.0.ebuild b/dev-python/zstandard/zstandard-0.23.0.ebuild
new file mode 100644
index 000000000000..f29d8f355012
--- /dev/null
+++ b/dev-python/zstandard/zstandard-0.23.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_EXT=1
+DISTUTILS_USE_PEP517=setuptools
+PYTHON_COMPAT=( python3_{10..13} pypy3 )
+
+inherit distutils-r1
+
+MY_P=python-zstandard-${PV}
+DESCRIPTION="Zstandard Bindings for Python"
+HOMEPAGE="
+ https://github.com/indygreg/python-zstandard/
+ https://pypi.org/project/zstandard/
+"
+SRC_URI="
+ https://github.com/indygreg/python-zstandard/archive/${PV}.tar.gz
+ -> ${MY_P}.gh.tar.gz
+"
+S=${WORKDIR}/${MY_P}
+
+LICENSE="BSD"
+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"
+
+DEPEND="
+ app-arch/zstd:=
+"
+RDEPEND="
+ ${DEPEND}
+ $(python_gen_cond_dep '
+ >=dev-python/cffi-1.14.0-r2:=[${PYTHON_USEDEP}]
+ ' 'python*')
+"
+BDEPEND="
+ test? (
+ dev-python/hypothesis[${PYTHON_USEDEP}]
+ )
+"
+
+distutils_enable_tests pytest
+
+src_prepare() {
+ # the C backend is repeatedly broken, so force CFFI instead
+ sed -e '/PYTHON_ZSTANDARD_IMPORT_POLICY/s:default:cffi:' \
+ -i zstandard/__init__.py || die
+ # unbundle zstd
+ rm zstd/* || die
+ > zstd/zstd.c || die
+ # it does random preprocessing on that, so we can't use #include
+ local f
+ for f in zdict.h zstd.h; do
+ cp "${ESYSROOT}/usr/include/${f}" "zstd/${f}" || die
+ done
+ sed -i -e '/include_dirs/a libraries=["zstd"],' make_cffi.py || die
+
+ distutils-r1_src_prepare
+
+ DISTUTILS_ARGS=(
+ --no-c-backend
+ )
+}
+
+python_test() {
+ local EPYTEST_DESELECT=(
+ # unreliable, fails on x86
+ tests/test_data_structures.py::TestCompressionParameters::test_estimated_compression_context_size
+ # check for bundled zstd version, fails on other system zstd
+ tests/test_module_attributes.py::TestModuleAttributes::test_version
+ )
+
+ rm -rf zstandard || die
+ epytest
+}
diff --git a/dev-python/zstd/zstd-1.5.5.1.ebuild b/dev-python/zstd/zstd-1.5.5.1.ebuild
index 90718da39e70..7e8b1b988440 100644
--- a/dev-python/zstd/zstd-1.5.5.1.ebuild
+++ b/dev-python/zstd/zstd-1.5.5.1.ebuild
@@ -1,11 +1,11 @@
-# Copyright 2020-2023 Gentoo Authors
+# Copyright 2020-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_COMPAT=( python3_{10..13} )
inherit distutils-r1 pypi